Image of an arrow

Retour sur le thème Sécurité des RMLL 2015

OpenID Connect: un nouveau standard de SSO

Par Clément Oudot (@clementoudot)Diapositives (PDF – 2,1 Mo)

Pour ma part, j’ai donné une présentation sur OpenID Connect, un nouveau standard de SSO basé sur OAuth 2.0 qui va être utilisé dans la prochaine plate-forme d’authentification gouvernementale nommée France Connect.

OAuth 2.0 est un framework utilisant REST pour les communications et JSON pour la formalisation des données. Il définit les rôles qui distinguent les propriétaires des ressources (utilisateurs finaux), des clients (applications) et des serveurs d’autorisation et de ressources. Les notions de jeton d’accès (access token) et jetons de rafraîchissement (refresh tokens) sont également présentes dans le cadriciel. Ces jetons permettent l’accès, autorisé par l’utilisateur, à une ressource par un client sans que celui-ci n’utilise directement le mot de passe de l’utilisateur.

L’accès à une ressource en OAuth 2.0, en suivant le flux « authorization code » se déroule comme suit:

  1. L’utilisateur se connecte à une application (client) qui a besoin d’accéder à une ressource possédée par l’utilisateur sur un autre service (par exemple, sa photo sur un service de stockage de fichiers).
  2. L’utilisateur est redirigé sur le serveur d’autorisation protégeant l’accès au serveur de ressources. L’utilisateur s’authentifie si nécessaire et donne son accord pour l’accès à sa photo par le client.
  3. L’utilisateur revient sur le client avec un code. Ce code est transmis par le client au serveur d’autorisation qui lui donne en échange un jeton d’accès.
  4. Le jeton d’accès est transmis au serveur de ressources lors de l’accès à la ressource par le client. Si le jeton est valide, le client peut alors récupérer la ressource.

OpenID Connect suit la même philosophie, sauf que la ressource est alors l’identité de l’utilisateur (date d’authentification et informations personnelles). Les données d’authentification sont transmises dans un jeton JWT signé (et pouvant aussi être chiffré), ce qui garantit au client la non altération des ses données.

La présentation se poursuit avec une comparaison entre OpenID Connect et SAML: ces deux protocoles ont de nombreuses similitudes et permettent, en résumé, de répondre aux mêmes exigences. D’un point de vue technique, cependant, SAML est basé sur XML et OpenID Connect sur JSON, ce qui fera pencher certains développeurs vers ce nouveau protocole.

Pour conclure, quelques diapositives décrivent le support du protocole OpenID Connect au sein de LemonLDAP::NG, à la fois comme client (Relying Party) et comme fournisseur (OpenID Provider).


Articles similaires

Image of an arrow

La LDAPCon est une conférence internationale autour de la technologie LDAP et des enjeux de gestion des identités, d’authentification et d’habilitation. L’événement qui se déroulera cette année à Bruxelles du 19 au 20 octobre, se tient tous les deux ans dans un pays différent : 2007 à Cologne en Allemagne 2009 à Portland aux États-Unis […]

Savez-vous comment automatiser l’installation ainsi que la configuration de Nexus Repository Manager version 3.x avec Ansible ? Pas encore ? On vous donne un coup de pouce ici ! Pour rappel, Ansible est un outil de déploiement qui permet à des playbooks d’automatiser les déploiements d’applications et d’infrastructure. L’avantage clé d’Ansible est sa flexibilité puisqu’il […]

         Nous sommes heureux de vous annoncer la sortie d’une vidéo promotionnelle produite par Microsoft eux-même ! Fruit d’une collaboration autour de la plateforme Azure, cette vidéo souligne la pertinence et l’essor des technologies open source dans l’environnement infonuagique Azure de Microsoft ainsi que notre capacité d’innovation en combinant technologies open source […]

Thumbnail image

L’authentification unique (en anglais Single Sign On ou SSO) est aujourd’hui bien implantée dans les systèmes d’information, grâce à une large offre de produits et surtout de nombreux standards comme CAS, SAML ou OpenID Connect, pour ne citer que les plus importants. Cependant, ce domaine reste difficile d’accès car chaque nouvelle norme demande un temps […]

Thumbnail image

La Ville de Villeurbanne mise sur l’Open Source et choisit LemonLDAP::NG pour contrôler les droits d’accès de ses utilisateurs. La Ville de Villeurbanne possédait plusieurs applications Web dont l’authentification était déjà déléguée à un serveur central CAS (Central Authentification Services), modifié pour les besoins de Villeurbanne pour donner accès à la fois aux utilisateurs internes […]