1. OpenID, OAuth, la délégation d’authentification, kézako ?
10 janvier 2012
Sébastien Brault, Gaël Gourmelen
2. Délégation d'authentification, Fédération d'identités, …
Kézaco ?
SP
SP
Accords opérationnels et
échange de méta-données
IdP (Identity Provider). Une
IdP entité à laquelle les SP
peuvent déléguer
l'authentification des
utilisateurs.
Accords opérationnels et
échange de méta-données
SP
3. Délégation d'authentification, Fédération d'identités, …
Kézaco ?
SP
SP
bob@lapage bob@urssaf
Accords opérationnels et
échange de méta-données
Alias Alias
123 456
IdP Identity federation
bob@msp Authentication
Accords Alias
opérationnels et
échange de méta-données
789
SP
bob@caf
4. Délégation d'authentification, Fédération d'identités, …
Kézaco ?
• Une fédération d'identités, c'est quoi ?
– C'est le fait d'établir un lien entre une identité
chez un fournisseur d'identité (IDP) et une identité
chez un fournisseur de service (SP), sur la base
d'un identifiant utilisateur (alias) transmis par l'IDP
au SP.
5. Fédération d'identités
Usager SP IdP
1) Connect to SP
Merci de saisir vos paramètres de 2) Display login page
connexion définis lors de votre
inscription
Votre
login
Votre mot de
passe
Valider
Vous pouvez
également vous
authentifier
via Mon Service
Public
6. Fédération d'identités
Usager SP IdP
1) Connect to SP
Ce service est réservé aux abonnés
Merci de saisir vos paramètres de 2) Display login page
connexion définis lors de votre
Entrez votre identifiant et votre
inscription
mot de passe 3) Choose MSP authn
Votre
Identifian 4) Redirect to IdP with <Authentication Request>
bob@msp
login
t
Mon mot de
Votre mot de 5) Display login page
************
passe
ValiderAnnuler
Valider
Vous pouvez
également vous
authentifier
via Mon Service
Public
7. Fédération d'identités bob@msp
Usager SP IdP
1) Connect to SP
Ce service est réservé aux abonnés
Bienvenue bob@msp ! 2) Display login page
Entrez votrefédérer votrevotre
Voulez-vous identifiant et
mot de passe
compte 3) Choose MSP authn
La Page avec votre compte MSP ?
Identifian 4) Redirect to IdP with <Authentication Request>
bob@msp
t Oui
Mon mot de 5) Display login page
************
passe 6) Send Login/Password
Valider Annuler Authenticat
e User
7) Display federation page
8. Fédération d'identités bob@msp
LaPage : 123
Usager SP IdP
Voulez-vous fédérer votre 1) Connect to SP
compte
Bienvenue bob@msp ! 2) Display login page
Voulez-vous fédérer votreMSP ?
La Page avec votre compte
Oui, je souhaite fédérer mon
compte 3) Choose MSP authn
compte
La Page avec mon compte MSP
La Page avec votre compte MSP ? 4) Redirect to IdP with <Authentication Request>
Merci de saisir vos paramètres de
connexion définis lors de votreOui
5) Display login page
inscription
Votre 6) Send Login/Password
login bob@lapage
Authenticat
Votre mot de e User
passe ************ 7) Display federation page
Valider 8) Consent to federate
9) Redirect to SP with <Authentication Response>
10) Display federation page
9. Fédération d'identités bob@lapage bob@msp
msp : 123 LaPage : 123
Usager SP IdP
Voulez-vous fédérer votre 1) Connect to SP
compte 2) Display login page
La Page avec votre compte MSP ?
Bienvenue bob@lapage !
Oui, je souhaite fédérer mon
3) Choose MSP authn
compte
La Page avec mon compte MSP
Votre compte La Page est fédéré
Merci de saisir vos paramètres de 4) Redirect to IdP with <Authentication Request>
avec votredéfinis lors de votre
connexion compte MSP 5) Display login page
inscription
Votre 6) Send Login/Password
login bob@lapage
Authenticat
Votre mot de e User
passe ************ 7) Display federation page
Valider 8) Consent to federate
9) Redirect to SP with <Authentication Response>
10) Display federation page
11) Send Login/password
Authenticat
e User
12) Display federation result
10. Délégation
bob@lapage
d'authentification msp : 123
bob@msp
LaPage : 123
Usager SP IdP
1) Connect to SP
Merci de saisir vos paramètres de 2) Display login page
connexion définis lors de votre
inscription
Votre
login
Votre mot de
passe
Valider
Vous pouvez
également vous
authentifier
via Mon Service
Public
11. Délégation
bob@lapage
d'authentification msp : 123
bob@msp
LaPage : 123
Usager SP IdP
1) Connect to SP
Ce service est réservé aux abonnés
Merci de saisir vos paramètres de 2) Display login page
connexion définis lors de votre
Entrez votre identifiant et votre
inscription
mot de passe 3) Choose MSP authn
Votre
Identifian 4) Redirect to IdP with <Authentication Request>
bob@msp
login
t
Votre mot de
Mon mot de 5) Display login page
************
passe
Valider
Valider Annuler
Vous pouvez
également vous
authentifier
via Mon Service
Public
12. Délégation
bob@lapage
d'authentification msp : 123
bob@msp
LaPage : 123
Usager SP IdP
Membre du cercle de confiance MSP
1) Connect to SP
Ce service est réservé aux abonnés
2) Display login page
Bienvenue bob@lapage ! et votre
Entrez votre identifiant
mot de passe 3) Choose MSP authn
Identifian 4) Redirect to IdP with <Authentication Request>
bob@msp
t
Mon mot de 5) Display login page
************
passe 6) Send Login/Password
Valider Annuler Authenticat
e User
9) Redirect to SP with <Authentication Response>
Authenticat
e User
12) Display welcome page
13. Délégation
bob@caf
d'authentification msp : 789
bob@msp
Caf : 789
Usager SP IdP
1) Connect to SP
Merci de saisir vos paramètres de 2) Display login page
connexion définis lors de votre
inscription
Votre
login
Votre mot de
passe
Valider
Vous pouvez
également vous
authentifier
via Mon Service
Public
14. Délégation
bob@caf
d'authentification msp : 789
bob@msp
Caf : 789
Usager SP IdP
1) Connect to SP
Merci de saisir vos paramètres de 2) Display login page
connexion définis lors de votre
inscription 3) Choose MSP authn
Votre 4) Redirect to IdP with <Authentication Request> and
login session cookie
Votre mot de
passe
Valider
Vous pouvez
également vous
authentifier
via Mon Service
Public
15. Délégation
bob@caf
d'authentification msp : 789
bob@msp
Caf : 789
Usager SP IdP
1) Connect to SP
Merci de saisir vos paramètres de 2) Display login page
connexion bob@caf !
Bienvenue définis lors de votre
inscription 3) Choose MSP authn
Votre 4) Redirect to IdP with <Authentication Request> and
login session cookie Authenticat
Votre mot de e User
passe 9) Redirect to SP with <Authentication Response>
Valider
Vous pouvez Authenticat
également vous e User
authentifier 12) Display welcome page
via Mon Service
Public
17. Etat de l'art
• Les principaux standards de SSO et fédération d'identité sont aujourd'hui :
– SAML 2.0 (Security Assertion Markup Language) : normalisé à l'OASIS et issu des
spécifications de l'Alliance Liberty.
– OpenID 2.0 : développé et maintenu par l'OpenID Foundation (Facebook,
Google, Microsoft, Yahoo, Paypal).
SP IDP
Authentication delegation
Authentication Request
Authentication phase User authentication
(out of scope of SSO and ID Federation specifications) [consent]
Authentication Response
[Local authentication at first time access]
Personalized service
18. Etat de l'art
• Les principaux «frameworks» standards d'accès aux APIs sont :
– OAuth 1.0 / 2.0 : standard maintenant spécifié à l'IETF qui permet à un
fournisseur de service de récupérer un jeton d'accès aux APIs en ayant au
préalable recueilli le consentement de l'utilisateur. OAuth définit un ensemble
de cinématiques pour récupérer le jeton (opaque), des bonnes pratiques
(révocation) ainsi que la façon de véhiculer ce jeton lors de l'accès aux APIs
(HTTP/REST).
Note : La prochaine version d'OpenID (OpenID Connect) sera spécifiée comme une surcouche à
OAuth 2.0 (l'identité pouvant être en partie considérée comme les autres APIs API
renvoyant une assertion d'authentification ou simplement un identifiant utilisateur).
19. Etat de l'art
• Autres modèles traités en normalisation : plus de traitements liés à la
gestion d'identité directement dans les terminaux.
– Liberty Alliance «Trusted Identity
Module» (représentation de l'IDP dans le
terminal de l'utilisateur)
– Workshop W3C «Identity in the
browser» (une des conclusions : «Future
Web standards should think beyond the
browser, including the entire flow between
applications, the browser, servers, the
operating system, and device capabilities»)
– Information Cards (Sélecteur d'Identité
instancié sur le terminal de l'utilisateur)
20. Nouvelles tendances
• Focus sur la notion de « Trust frameworks » :
– Certification des IDPs par des entités de confiance, selon 4 niveaux d'assurance (Levels
of Assurance) initialement définis par l'administration américaine mais aussi repris par
l'Union Européenne (QAA levels).
– Les audits sont réalisés sur la base d'une liste d'exigences définie pour chaque niveau
(critères techniques mais aussi organisationnels).