France Connect est un nouvel outil mis en œuvre par la DISIC et visant à améliorer l'accès aux administrations françaises en facilitant l'authentification et l'identification des usagers ainsi que l'échange de données. Pour cela, nous avons utilisé le protocole OpenID Connect.
Ce protocole ouvert basé sur OAuth2, successeur de OpenID, et soutenu par des grands acteurs, permet à une application cliente d'utiliser n'importe quel fournisseur d'identité pourvu qu'il implémente aussi ce standard.
contact : fpetitit@octo.com, @francoispetitit
Nous verrons dans cette présentation quels sont les cas d'usages de ce protocole (authentification sur le web, sur des applications mobiles…), quels sont ses avantages et inconvénients, et comment le mettre en oeuvre.
2. 2
François Petitit
Consultant chez OCTO
Technology
Technical leader du projet
FranceConnect pour la DISIC
depuis septembre 2014
Refcard « Tests sur tous les
fronts », l’état de l’art des
tests front-end
bientôt disponible
sur http://blog.octo.com
11. 11
Cinématique de la récupération des données
complémentaires
Fournisseurs
de services
Fournisseurs
de données
FranceConnectDemande l’autorisation
d’accès à des données
Demande les données
complémentaires
Vérifie l’autorisation
d’accès aux données
1
2
3
12. 12
Mode 2 en 1
Fournisseurs
de services
Fournisseurs
d’identités
FranceConnectDemande l’identité de
la personne et
l’autorisation d’accès à
des données
Délègue l’authentification
et récupère l’identité
1
2
Fournisseurs
de données
Demande les données
complémentaires3
Vérifie l’autorisation
d’accès aux données
4
15. 15
FS FC
Client_id, redirect_uri,
scope, …
Authorization Code, …
Access Token
Diagramme de séquence entre Fournisseur de Service et FranceConnect
Web Service
JSON/HTTPS
Redirections 302
via le navigateur
/token/authorization
User agent
Access Token
User infos (nom, prénom…)
/userinfo
s
Authorization Code, Client_secret
Client_id, redirect_uri, scope, …
Authorization Code, …
Authentificatio
n de
l’utilisateur
302
302
17. 17
https://openid.net
Créée en 2007 pour spécifier OpenID
OpenID décrété obsolète
OpenIDConnect est désormais la seule norme
Certification de librairies, de produits et d’outils
Soutenu par de nombreux acteurs majeurs :
OpenID Foundation
18. 18
Version 1.0 de OIDC Core finalisée fin 2014
Déjà en production
Google depuis mai 2015
Microsoft Azure
…
La norme OpenIDConnect
20. 20
« JSON Web Tokens are an open, industry standard RFC 7519
method for representing claims securely between two parties. »
JSON Web Tokens – JWT.IO
22. 22
Protocole robuste et sécurisé, validé par l’ANSSI sous réserve de
l’utilisation de champs de sécurité optionnels dans le protocole
Eco-système de qualité : documentation complète, nombreuses
librairies, supporté par de + en + d’acteurs majeurs…
Vraiment simple à mettre en œuvre : en moyenne 1j de
développement seulement pour brancher un nouveau client !
Pourrait être encore plus normatif
Certains paramètres de sécurité sont optionnels
Il existe plusieurs variantes de chacune des séquences d’échanges
Retour d’expérience
23. 23
Bientôt disponible !
http://blog.octo.com
Merci !
Pour aller plus loin :
http://openid.net
http://dev-franceconnect.fr