Oauth : un protocole d'autorisation qui authentifie?



Documents pareils
Drupal et les SSO Nicolas Bocquet < nbocquet@linalis.com >

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Formation SSO / Fédération

SÉCURITÉ POUR LES ENTREPRISES UN MONDE NUAGEUX ET MOBILE. Sophia-Antipolis 01/07/2013 Cyril Grosjean

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

WEB SSO & IDENTITY MANAGEMENT PARIS 2013

Tour d horizon des différents SSO disponibles

CAS, un SSO web open source. 14h35-15h25 - La Seine A

Sécurité des Web Services (SOAP vs REST)

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Les technologies de gestion de l identité

SAML et services hors web

LemonLDAP::NG / SAML2. Xavier GUIMARD (Gendarmerie Nationale) Clément OUDOT (Groupe LINAGORA)

Sécurisation des architectures traditionnelles et des SOA

Par KENFACK Patrick MIF30 19 Mai 2009

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

La fédération d identité Contexte, normes, exemples

La gestion de l'identité en ligne

Responsable du cours : Héla Hachicha. Année Universitaire :

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

Guide de configuration pour accès au réseau Wifi sécurisé 802.1X

ADMINISTRATION DE ADOBE LIVECYCLE MOSAIC 9.5

Solutions d accès sécurisées pour opérer une Market Place Saas multitenante

Authentifications à W4 Engine en.net (SSO)

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

Introduction. aux architectures web. de Single Sign-On

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Authentification et contrôle d'accès dans les applications web

4. SERVICES WEB REST 46

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

Single Sign-On open source avec CAS (Central Authentication Service)

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Sécurisation d une application ASP.NET

Implémentation libre de Liberty Alliance. Frédéric Péters

Exploration des technologies web pour créer une interaction entre Mahara et les plateformes professionnelles et sociales

educa.id Gestion d'identité et d'accès

plate-forme PaaS (Autorisation)

Protocoles utilisant des mécanismes d'authentification: TACACS+, RADIUS et Kerberos

Windows Server Chapitre 3 : Le service d annuaire Active Directory: Concepts de base

S28 - La mise en œuvre de SSO (Single Sign On) avec EIM (Enterprise Identity Mapping)

VMware Zimbra et la Sécurité

SuisseID Mon «moi numérique»

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Gestion des accès et des identités

Introduction aux architectures web de Single Sign-on

REAUMUR-ACO-PRES. Wifi : Point et perspectives

DAVION Didier 33 avenue Paul Cézanne HOUPLINES. Auditeur n NPC URBANISATION ET ARCHITECTURE DES SYSTEMES D INFORMATION DOSSIER SSO

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

JOSY. Paris - 4 février 2010

La fédération d identités, pourquoi et comment? Olivier Salaün, RENATER ANF Mathrice 2014

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

plate-forme PaaS (Authentification)

OZSSI NORD 4 JUIN LILLE. Conférence thématique: Sécurité des applications

Paris Airports - Web API Airports Path finding

DESCRIPTION DU COMPOSANT

Le cadre des Web Services Partie 1 : Introduction

st etienne.fr

Architectures de fédération d'identités et interopérabilité

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France

Gestion des utilisateurs et Entreprise Etendue

Retour d'expérience sur le déploiement de biométrie à grande échelle

Gestion des autorisations / habilitations dans le SI:

ENVOLE 1.5. Calendrier Envole

La sécurité des processus métiers et des transactions. Stéphane Marcassin Bull Services Sécurité

La suite logicielle Lin ID. Paris Capitale du Libre 25 septembre 2008

Présentation d Epicard

Le principe du moindre privilège appliqué aux systèmes Windows

Présentation SafeNet Authentication Service (SAS) Octobre 2013

Les différentes méthodes pour se connecter

Installation d'un serveur RADIUS

GOOGLE, OUTILS EN LIGNE

API SMS HTTP REST. Intégrer facilement le service Envoyer SMS Pro avec votre application métier. Version : Révision : 03/09/2014 Page 1/31

Didier Perrot Olivier Perroquin In-Webo Technologies

Gestion des identités

Open Source et gestion des identités (Annuaire Ldap, SSO et Provisionning) 11 Octobre 2011 TopTIC Pascal Flamand

Digital DNA Server. Serveur d authentification multi-facteurs par ADN du Numérique. L authentification de confiance

L'intégration de Moodle à l'université Rennes 2 Haute Bretagne

SSO : confort ou sécurité?

Table des matières. Préface Mathieu JEANDRON

Emmanuel Dreyfus, janvier 2011 Emmanuel Dreyfus, janvier 2011

Accès & Sécurité. edouard.lorrain@citrix.com Business Development Manager

Optimiser ses attaques Web avec Burp Suite

Cédric Ouvry Bibliothèque nationale de France Liberty Alliance Deployment Workshop Paris December 7, 2005

Retour d expérience Sénalia. Comment migrer progressivement vers Microsoft Office 365?

SHAREPOINT PORTAL SERVER 2013

Mon Service Public - Case study and Mapping to SAML/Liberty specifications. Gaël Gourmelen - France Telecom 23/04/2007

Architecture Orientée Service, JSON et API REST

Cedric Dumoulin (C) The Java EE 7 Tutorial

IIS, c est quoi? Installation de IIS Gestion de base de IIS Méthodes d authentification. Edy Joachim,

LemonLDAP::NG. LemonLDAP::NG 1.2. Clément OUDOT RMLL 9 juillet 2012

Installation du point d'accès Wi-Fi au réseau

IBM MobileFirst Security L approche d IBM pour la sécurité des terminaux mobiles. Serge RICHARD - CISSP Security Solution Architect, Security Systems

Gestion des identités Christian-Pierre Belin

Tutorial Authentification Forte Technologie des identités numériques

Paxton. ins Net2 desktop reader USB

La gestion des identités dans l'éducation Nationale, état des lieux et perspectives

Solutions Microsoft Identity and Access

Transcription:

Oauth : un protocole d'autorisation qui authentifie? Maxime Féroul Directeur Technique / KYOS IT SECURITY Application Security Forum - 2012 Western Switzerland 7-8 novembre 2012 - Y-Parc / Yverdon-les-Bains https://www.appsec-forum.ch

2 # who -m Ingénieur Informatique & Télécom (ESIGETEL / France) 15 ans d'expérience : web-hosting & sécurité Co-fondateur de Kyos IT Security (2002) : 10 ans ;) Pen-testing & intégration & IAM Recherche EU : SEINIT, DEMONS,... Spacecom : le wifi est correct? Domaines de prédilection : en ce moment J2ee & IAM

3 Agenda Contexte : Social Login Oauth 2.0 : Sous le capot Implicit Flow : ou Implicit Flaw? Mitigation : La bonne implémentation

4 Perturbation atmosphérique... Poursuite de la décentralisation des SI Utilisation de plateformes tierces, en dehors de son domaine de sécurité Nouveaux défis pour le contrôle d'accès Identités Multiples, BYOD, Information and user centric,...

...et toujours le même Graal SIMPLICITÉ UTILISATEUR, FACILITÉ DE MISE EN OEUVRE & SÉCURITÉ

6 Emergence du Social Login Utiliser les services d'authentification d'une plateforme de réseau social

Social Login Pourquoi? Pour l'utilisateur Moins de login & mot de passe Meilleure gestion de ses identités Facebook sites perso., linkedin sites pro., Meilleur «contrôle» : révoquer les applications

Social Login Pourquoi? Pour le fournisseur de service Enregistrement simplifié Information plus fiable Plus d'information!

Social Login Comment? Etablir un «lien de confiance», fédérer les identités Déléguer l'authentification et l'autorisation Echanger des informations sur l'identité

Standards : Maelström? Connotation Microsoft & IBM Framework / message Web Service Global & très modulaire WS-Security, WS- Federation, WS- Trust,... SOAP, XML SAML assertion Oauth 2.0 Web Centric API Délégation de l'autorisation User Centric REST, JSON UMA Connotation web / end-user Framework / service d'identité Profile, protocol, bindings,... couche identité au dessus de OAuth 2.0 Authentification, session, attributs d'identité,... Autorisation Authentification, SSO, Federation Connotation Standard Entreprise

Oauth 2.0 Emergence Facebook, Google, Salesforce,... REST, Simplicité, designed for the web...

12 Agenda Contexte : Social Login Oauth 2.0 : Sous le capot Implicit Flow : ou Implicit Flaw? Mitigation : La bonne implémentation

13 Password anti-pattern Bonjour BLOG, j'aimerais aussi que tu publies mes posts sur Facebook? Pas de problème, donne moi ton login et ton mot de passe Facebook, je m'y connecterais en ton nom pour mettre à jour ton profil... Tu m'excuses mais j'ai moyennement confiance en toi BLOG, tu ne peux pas faire autrement que stocker mes crédentiels?

14 Oauth 2.0 Framework d'autorisation Permettre à des applications et des fournisseurs de services d accéder à des données d un utilisateur en lui demandant sa permission.

Oauth 2.0 Rôles Resource Owner Client Authorization Server Resource Server Par exemple : Un internaute Utilise un blog En s'authentifiant via Facebook et pour également publier ses «posts» sur son profil

16 Oauth 2.0 Principe 2. S'authentifie et autorise l'application (client) Authorization Server 1. Accède au service 3. Délivre le token d'accès Délègue l'autorisation Client 4. Accède à la ressource protégée Resource Server

17 Oauth 2.0 Spécification Client type & profile Confidential, public & WebApp, user agent, native Endpoints Authorization, Token, Redirection Plusieurs types de «jeton d'autorisation» Authorization Code, Implicit, Resource Owner Password Credentials, Client Credentials Des requêtes et réponses pour chaque type

18 Oauth 2.0 Question de départ Oauth : un protocole d'autorisation qui authentifie? Ok pour le password anti-pattern et l'autorisation Mais alors quel rapport avec le social login? Comment authentifier? Authentifier c'est obtenir des attributs d'identité et prouver/valider qu'ils sont justes Oauth permet d'accéder à des données d'identité!

19 Oauth 2.0 Comment authentifier? 1.) BLOG demande à BORIS l'autorisation d'aller récupérer chez Facebook les données relatives à son identité pour l'authentifier. Profil Boris Nom Prénom Email Login 2.) BORIS s'authentifie chez Facebook et autorise BLOG à lire ses données d'identité.

20 Agenda Contexte : Social Login Oauth : Sous le capot Implicit Flow : ou Implicit Flaw? Mitigation : La bonne implémentation

21 Oauth 2.0 Implicit Flow RECHERCHE DE LA SIMPLICITÉ Délivrance «directe» du token d'accès Moins d'échanges Application mobile (native) Application JavaScript (user-agent)

22 Exemple Authentification Facebook Sign in via Facebook Redirect vers Facebook OAuth Implicit response Redirect vers redirecturi(blog.jsp) +AccessToken(xxxx) Get /blog.jsp?atoken=xxxx Welcome Boris! OAuth Implicit request AppId, redirecturi(blog.jsp) Get /graphapi?atoken=xxxx JSON object userid=boris Authentificatio n + Autorisation de AppId

23 Access Token Attention! «...This specification does not provide any methods for the resource server to ensure that an access token presented to it by a given client was issued to that client by the authorization server.» Source : draft-ietf-oauthv2-31

24 Implicit Flow Usurpation AccessToke n Get /ninjagame.jsp?ato ken=abxyz Welcome on NinjaGame Boris! Réutilisation du token! Get /graphapi?atoken=abxyz Get /blog.jsp?atoken =ABXYZ Auth.+ Auto. userid=boris Get /graphapi?atoke n=abxyz userid=boris Welcome Boris!

25 La «spec.» nous avais prévenu... «... Authenticating Resource Owners to clients is out of scope for this specification. Any specification that uses the authorization process as a form of delegated end-user authentication to the client (e.g. third-party sign-in service) MUST NOT use the implicit flow without additional security mechanisms such as audience restricting the access token that enable the client to determine if the access token was issued for its use.» Source : draft-ietf-oauthv2-31

26 Est ce que cela nous concerne? N'est ce pas plutôt un «problème» pour facebook, google, et consorts? Oui si nous implémentons nous-même ou sans les framework proposés Oui si nous vérifions des implémentations Oui pour notre culture et une meilleure compréhension d'oauth ;)

27 Agenda Contexte : Social Login Oauth : Sous le capot Implicit Flow : ou Implicit Flaw? Mitigation : La bonne implémentation

Mitigation Implicit Flow Restreindre l'audience / valider le token d'accès avant d'authentifier Signed request (Facebook JavaScript SDK) Service de validation du token

29 Mitigation Server Side Flow Sign in via Facebook Redirect vers Facebook OAuth Authorization request AppId, redirecturi(blog.jsp) OAuth Authorization response Redirect vers redirecturi(blog.jsp) +Code(xxxx) Authentification + Autorisation de AppId Get /blog.jsp?code=xxxx Lié à l'appid donc invalide pour une autre app! Welcome Boris! OAuth Access Token request AppId, Code, redirecturi(blog.jsp) AccessToken=yyyy Get /graphapi?atoken=yyyy JSON object userid=boris

30 Mitigation OpenId Connect Une extension de Oauth 2.0 IDENTITY Layer OAUTH 2.0 Layer UserInfo endpoint Fournisseur d'information d'identité ID token objects Informations sur les évenements d'authentification (i.e audience, contexte, temps,...)

31 Conclusion Un protocole d'autorisation... mais qui peut servir à authentifier... à condition de l'implémenter correctement. Les mécanismes de sécurité existent, il faut veiller à les utiliser et à les vérifier. au prix d'un peu de compléxité... «Il n'y a pas de simplicité véritable, il n'y a que des simplifications» Léon Paul Farge

32 Questions? Principales Sources http://www.thread-safe.com/2012/01/problem-with-oauth-for-authentication.html by John Bradley http://www.independentid.com/2011/04/oauth-does-it-authenticate-wellyes-and.html by Phil Hunt http://vennofidentity.org/ by Eve Maler http://oauth.net/2/ http://tools.ietf.org/html/draft-ietf-oauth-v2-31 http://openid.net/connect/ https://developers.facebook.com/docs/concepts/login/ https://developers.google.com/accounts/docs/oauth2

33 Merci/Thank you! Contact: maxime.feroul@kyos.ch http://www.kyos.ch Slides: http://slideshare.net/asf-ws/presentations