Oauth et open id connect (oidc)
-
Upload
pascal-flamand -
Category
Technology
-
view
206 -
download
4
Transcript of Oauth et open id connect (oidc)
OAUTH et OpenID Connect (OIDC) Cas d'usages
18 Mai 2015Cyril GrosjeanCTO JANUA
Généralités sur OAUTH 2 et OIDC● Permettre à une application cliente (Web, mobile,..) d'accéder à des
ressources appartenant à un utilisateur et détenues sur un serveur tiers, en demandant éventuellement le consentement de l'utilisateur, mais sans que celui-ci ait à nécessairement à donner à l'application cliente son mot de passe
● Permettre la révocation d'une application cliente (et des jetons déjà émis)
● Très récents : (OAuth v1: 2010, v2: 2012, OIDC: 2014)...
● … mais adoption rapide (mobilité, objets connectés, réseaux sociaux ...)
● Focus sur la facilité de déploiement et d'intégration, la mobilité ..
● .. et la sécurité : HTTPS, signature et/ou chiffrement (JWT), permissions (scope), anti-rejeu de jeton, révocation d'un client, d'un jeton, authentification du client, consentement de l'utilisateur, flux ne passant pas forcément par le navigateur, client publique/privé
OAUTH 2 : jeton de rafraichissement
OAUTH 2 : principe général accès à une ressource protégée
OAUTH 2 : jeton de rafraichissement
OAUTH 2 : exemples de requêtes
Autorisation par code
Autorisation par assertion SAML
OIDC : principe général
Différences entre OAUTH 1 et 2
● OAUTH 1.0 obsolète
● OAUTH 2.0 généralisé avec des différences d'implémentations d'où l'émergence d'une offre commerciale visant à simplifier l'interaction avec différents types de serveur OAUTH 2 : OAuth.io
● Pas d'expiration / expiration des jetons (mais possibilité de les renouveler)
● Pas de notion de scope / apparition du scope (ce à quoi un jeton donne droit)
● Signature des requêtes (problèmes d'inter-opérabilités) / utilisation d'HTTPS à la place
● Pas de serveur d'autorisation / serveur d'autorisation externe
Apports d'OIDC● En OIDC, le serveur cible (qui détient les ressources) est aussi celui qui délivre les jetons
● mode déconnecté: permet à une application de continuer à accéder àdes ressources d'une autre application alors que l'utilisateur s'est déconnecté
● nouveau flux (hybride) : compromis performances/sécurité (cf. diapo. suivante)
● nouveaux services (découverte, auto-enregistrement, session)
● un jeton en plus (id_token), qui plus est dans un format normalisé et sécurisé
● utilisation de JWT possible dans les requêtes, les réponses, ou à l'authentification du client: facilite le développement, augmente la sécurité
● possibilité de demander des champs (claims) particuliers plutôt que la totalité
● possibilité de distribuer les sources (distributed & aggregated claims)
● auto-génération de jeton
● authentification à l'initiative d'une application tierce
Cas d'usages et cinématiques OAUTH 2 et OIDC
● Autorisation par code : mode le + sûr mais 2 requêtes
● Autorisation implicite : mode optimisé pour le mobile, si l'on privilégie les performances (une seule requête et pas de jeton de rafraichissement)
● Autorisation par code et flux hybride (OIDC): compromis entre performanceset sécurité pour le mobile (1 ou 2 requêtes, jeton de rafraichissement et authentification du client possibles)
● Autorisation par fourniture au client de l'identifiant/mot de passe de l'utilisateur : si modes précédents ne conviennent pas et que le clientest "sûr" (exemple : OS). OAUTH2 uniquement (pas de sens en OIDC)
● Autorisation par fourniture de l'identifiant/mot de passe de l'application: cas où le client OAUTH2 doit accéder à son propre compte (scénario sans utilisateur)
● Cinématique à l'initiative d'une application tierce : permet d'avoir différents sens de navigation
Janua est une société de service et de consulting qui se propose de vous accompagner vers le monde de la gestion des identités, de la sécurité et des logiciels libres.
● ENL (Entreprise du Numérique Libre – SS2L) fondée en 2004 à Sophia
Antipolis (Alpes-Maritimes, région Paca)
● Nos domaines d’expertise : Gestion des Identités et Open Source.
● Nos prestations : audit, consulting, intégration, AMOA, MEP,
accompagnement, développement au forfait et support.
● Notre approche : les processus itératifs, les maquettes (POC) et l’utilisation de
méthodologies « agiles ».
http://www.janua.fr