Identication & Authentication 1
Principes généraux
Policy Enforcement Model ( 1 / 7 ) basé sur le "Policy Enforcement Model" générique Acronymes Policy Enforcement Point (PEP) Policy Decision Point (PDP) Policy Information Point (PIP) Policy Administration Point (PAP) Principes de contrôle d'accès Role Based Access Control (RBAC) Attribute Based Access Control (ABAC) AuthoriZation Based Access Control (ZBAC)
Policy Enforcement Model ( 2 / 7 ) Un utilisateur souhaite obtenir accès à une application
Policy Enforcement Model ( 3 / 7 ) Le PEP contacte le PDP et demande: Quels sont les attributs de l'utilisateur X avec les attributs d'identification Y, Z ? Quels sont les rôles de l'utilisateur X avec les attributs d'identification Y, Z ? L'utilisateur X avec les attributs d'identification Y,Z a-t-il accès au DTW ?
Policy Enforcement Model ( 4 / 7 ) Le PDP répond à la question posée par le PEP
Policy Enforcement Model ( 5 / 7 ) sur la base des réponses fournies par le PDP le PEP détermine si l'utilisateur a accès à l'application
Policy Enforcement Model ( 6 / 7 )
Policy Enforcement Model ( 7 / 7 ) gestion des diverses policies géré par du personnel qualifié environnement sécurisé
SSO pour services web
Principes généraux SSO (1/2) But Complète la gestion intégrée des accès et des utilisateurs Accès à divers services au cours d'une même session. Principales caractéristiques soutien des principes ABAC et ZBAC basé sur le protocole SAML1.1 Notions WSC : web service consumer WSP : web service provider STS : Secure Token Service
Principes généraux SSO (2/2)
STS Request/Response (1/7) Description du flow (1) et (2) Illustration à partir des attributs suivants Médecin reconnu
STS Request/Response (2/7) Structure générale de la requête header contient toutes les informations nécessaires au STS pour l'aspect sécurité. x509 certificat d'identification eID certificat eHealth Exemple: x509: eID du médecin
STS Request/Response (3/7) Request : éléments SAML Confirmation method: Holder-of-Key Subject SAML assertion Attributs d'identification AttributeDesignator Tous les attributs demandés Exemple certified: médecin reconnu
STS Request/Response (4/7) Structure générale de la réponse Caractéristiques générales Statut global Assertion signée par eH Réponse aux attributs demandés Exemple certified: médecin reconnu TRUE
STS Request/Response (5/7) Remarques Attributs par exemple certified: médecin reconnu TRUE certified infirmier reconnu FALSE Erreurs techniques Lorsqu'une erreur survient pendant le traitement d'une requête La requête est interrompue Un message d'erreur est envoyé au WSC. REQ-01: Checks on ConfirmationMethod failed Durée de validité Tout attribut certifié a une durée de validité
WSC/WSP communication (1/3) Description du flow (3) et (2) Illustration à partir des attributs suivants Médecin reconnu
WSC/WSP communication (2/3) Structure générale de la requête 'header' contient toutes les informations nécessaires au WSP pour l'aspect sécurité Identification basée sur SAML assertion Exemple: SAML assertion fournie par eHealth
WSC/WSP communication (3/3) Contrôles à effectuer par le WSP Validation du certificat x509 Certificate Revocation List (CRL) Trusted Certificate Authority Contrôle de SAML assertion Signée par eHealth L'assertion est-elle toujours valable (cf. durée de validité) contrôle profile Holder-Of-Key SAML assertion & x509 et évidemment les autres règles d'accès
Principes de base
Mécanismes d'identification carte d'identité électronique certificat eHealth (prestataire de soins) certificat eHealth (propriétaire du logiciel) token de chiffrement certificat d'authentification token de chiffrement certificat d'authentification
Lancer une session Certificat d'identification: eID certificat eHealth (prestataire de soins) certificat HOK: certificat eHealth (logiciel) Attributs: Attributs de l'application par exemple: APP1 urn:be:fgov:person:ssin:ehealth:1.0:doctor:nihii11 APP2 urn:be:fgov:person:ssin:ehealth:1.0:doctor:boolean
Demande d'un Token SAML Pas à pas
Etape 1: génération d'une assertion Ajout des attributs “subject assertion” Issuer subject DN de l'eID IssuerInstant heure actuelle Ajout de subject samlConditions NotBefore heure actuelle NotOnOrAfter longueur souhaitée du SAMLToken Ajout de subject attributeStatements SAMLNameIdentifiers subject DN de l'eID Confirmation method: holder-of-key Attributs d'identification
Etape 2: génération d'un SAMLrequest Création d'un SAMLAttributeQuery Subject Key info certificat Holder-Of-Key certificat eHealth (logiciel) subjectConfirmationData SAMLAssertion (étape 1) AttributeDesignator Signature du SAMLAttributeQuery sur la base du certificat HOK
Etape 3: envoi du SAMLquery SAMLquery est placé dans le body. Attention: ne rien modifier au SAMLquery Les éléments de sécurité suivants doivent être appliqués Ajout d'un timestamp Ajout du certificat de l'eID Signature au moyen de l'eID body timestamp BinarySecurityToken (certificat)
Etape 4: réception de la SAMLresponse La SAMLassertion reçue ne peut PAS être modifiée
Documentation WSP
Documentation WSP Bibliothèque technique 1 document par WSP https://www.ehealth.fgov.be/fr/page/website/home/platform/technicallibrary.html Spécification SecureTokenService Appeler STS pas à pas en Java 1 document par WSP Description complète de la manière dont le WSP doit être appelé WSDL / XSD / URL de tous les services STS : aperçu des attributs nécessaires y compris first testcases y compris procédure de test
Evolutions futures
Evolutions futures Soutien de SAMLv2 Soutien de WS-Trust
Merci ! Questions?