TX A081025: Délégation de l authentification pour les Services Web



Documents pareils
Tour d horizon des différents SSO disponibles

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Par KENFACK Patrick MIF30 19 Mai 2009

Oauth : un protocole d'autorisation qui authentifie?

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

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

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

Les technologies de gestion de l identité

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

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

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

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

Comment utiliser mon compte alumni?

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

CAS, la théorie. R. Ferrere, S. Layrisse

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

Sécurisation des architectures traditionnelles et des SOA

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

Authentifications à W4 Engine en.net (SSO)

SITE WEB E-COMMERCE ET VENTE A DISTANCE

SAML et services hors web

Devenez un véritable développeur web en 3 mois!

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

Guide Share France. Web Single Sign On. Panorama des solutions SSO

Single Sign-On open source avec CAS (Central Authentication Service) Vincent Mathieu Pascal Aubry Julien Marchal

JOSY. Paris - 4 février 2010

DESCRIPTION DU PLUGIN D AUTHENTIFICATION AVEC CAS POUR SPIP

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

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

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

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

Sécurité des réseaux sans fil

Application web de gestion de comptes en banques

ASP.NET MVC 4 Développement d'applications Web en C# - Concepts et bonnes pratiques

Serveurs de noms Protocoles HTTP et FTP

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

TUTORIEL RADIUS. I. Qu est-ce que RADIUS? II. Création d un groupe et d utilisateur

Secure Java Card for Federate Identity Management

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

d authentification SSO et Shibboleth

Conception d'un système d'information WEB avec UML Par Ass SERGE KIKOBYA

REAUMUR-ACO-PRES. Wifi : Point et perspectives

Protocole SSH-2.0. Tuan-Tu, TRAN. Janvier 2009

les techniques d'extraction, les formulaires et intégration dans un site WEB

Formation SSO / Fédération

Introduction. aux architectures web. de Single Sign-On

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

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

Formation en Logiciels Libres. Fiche d inscription

Sécurisation d une application ASP.NET

Maarch Framework 3 - Maarch. Tests de charge. Professional Services. 11, bd du Sud Est Nanterre

Chapitre 1 Windows Server

4. SERVICES WEB REST 46

Mise en oeuvre d un intranet à partir de logiciels Open Source avec intégration des certificats numériques et login unique

PASS v2.0 : solution d authentification unique basée sur les composants Shibboleth Service Provider v2.5.1 et Identity Provider v2.3.

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

Joomla! Création et administration d'un site web - Version numérique

1. Présentation de WPA et 802.1X

Construire un réseau social avec Symfony Xavier Lacot Clever Age. Symfony Live 11 et 12 juin 2009 Clever Age Xavier Lacot

Groupe de travail Gestion des identités Les usages et les services ATELIER 2

Présentation de la solution Open Source «Vulture» Version 2.0

Présentation SafeNet Authentication Service (SAS) Octobre 2013

CAHIER DES CHARGES D IMPLANTATION

Objectif : Passer de l analyse métier et fonctionnelle à la définition des applications qui

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Dossier Technique. Détail des modifications apportées à GRR. Détail des modifications apportées à GRR Le 17/07/2008. Page 1/10

arcopole Studio Annexe 7 Architectures Site du programme arcopole :

Introduction à Sign&go Guide d architecture

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

WebSSO, synchronisation et contrôle des accès via LDAP

Archivage numérique de documents SAP grâce à DocuWare

WEB & DÉVELOPPEMENT LES BASES DU WEB LE LANGAGE HTML FEUILLES DE STYLES CSS HISTORIQUE D INTERNET ET DU WEB LES DIFFÉRENTS LANGAGES

Cours 14. Crypto. 2004, Marc-André Léger

PortWise Access Management Suite

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

Emmanuel Dreyfus, janvier 2011 Emmanuel Dreyfus, janvier 2011

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.

L3 informatique TP n o 2 : Les applications réseau

IPS-Firewalls NETASQ SPNEGO

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

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

Formation Webase 5. Formation Webase 5. Ses secrets, de l architecture MVC à l application Web. Adrien Grand <jpountz@via.ecp.fr> Centrale Réseaux

Internet Information Services (versions 7 et 7.5) Installation, configuration et maintenance du serveur Web de Microsoft

Perso. SmartCard. Mail distribution. Annuaire LDAP. SmartCard Distribution OCSP. Codes mobiles ActivX Applet. CRLs

La sécurité dans les grilles

DEMARREZ RAPIDEMENT VOTRE EVALUATION

Architecture et infrastructure Web

Groupe Eyrolles, 2004 ISBN :

ENVOLE 1.5. Calendrier Envole

DMZ... as Architecture des Systèmes d Information

FileMaker Server 14. Guide de démarrage

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Programmation Web. Introduction

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

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Infrastructure RDS 2012

Activité Architecture VDI & Migration de Serveur

Transcription:

TX A081025: Délégation de l authentification pour les Services Web Jérémy Vauchelle Enseignant: Aurélien Bénel Intervenants: Chao Zhou Arnaud Pagnier

Plan 1. Présentation du sujet 2. Présentation du protocole OpenID 3. Présentation du protocole OAuth 4. Architecture de services reposant sur OAuth et OpenID 5. Argos, Agorae et l authentification par OpenID 6. Vers des clients lourds? Limites du projet 7. Conclusion TX : Délégation de l authentification pour les Services Web 2

1. Présentation du sujet Sujet Délégation de l authentification pour les services Web Problématique Sites Internet: consommateurs de services Web (SOA) Comment s authentifier auprès de ces services? Comment proposer un accès sécurisé à ces services? Protocoles OpenID et OAuth permettent aux sites web de déléguer la gestion de l authentification et des autorisations Sécuriser une architecture de services web Organisation de la TX Etudier les protocoles OAuth et OpenID Proposer une architecture de test implémentant OAuth et OpenID Proposer une architecture compatible avec les problématiques des outils du laboratoire (Argos et Agorae) TX : Délégation de l authentification pour les Services Web 3

2. Présentation du protocole OpenID (1/2) Généralités Protocole libre/spécifications 2.0 en 2007 But: Ralentir la prolifération des identifiants multiples (SSO) Identification décentralisée Qu est ce qu une OpenID? Une URL: http://jvauchelle.pip.verisignlabs.com Principe On se créé une OpenID sur un site fournisseur spécialisé MyOpenID.com, Verisignlabs.com Un site implémentant les spécifications du protocole délègue l authentification au site fournisseur de l OpenID proposée Avantages du protocole OpenID Sites: Délégation de la problématique d authentification Utilisateurs: Utilisation de la même identité sur des sites différents TX : Délégation de l authentification pour les Services Web 4

2. Présentation du protocole OpenID (2/2) Détails du protocole Etape 1: initiation User présente son OpenID (USI) à un site (RP) via son User-Agent (navigateur) Normalisation de l USI => Claimed Identifier Etape 2: découverte de l OpenID Provider Protocole Yadis ou LinkRel Obtention de l OpenID Provider EndPoint URL Etape 3: association du RP et du OP Génération d un secret partagé Diffie-Hellman Key Exchange Etape 4: Requête d authentification Redirection vers OP Etape 5: Authentification OP vérifie que l User est bien celui qui il prétend être Etape 6: Réponse d authentification Redirection vers le RP Etape 7: Vérification Grâce au secret partagé ou en interrogeant directement le OP TX : Délégation de l authentification pour les Services Web 5

3. Présentation du protocole OAuth (1/2) Généralités Protocole libre/spécifications 1.0 en 2007 Comment accéder aux API de manière sécurisée? Principe Utilisateur navigant sur un site souhaite accéder de manière sécurisée à des services Web situés sur un autre site sans fournir ses identifiants au premier Fonctionne par jetons OAuth/OpenID: vous ne voyez pas la différence? OAuth Fournir un accès sécurisé à un service Web OpenID Vérifier qu un utilisateur est bien celui qu il prétend être OAuth: guide des bonnes pratiques TX : Délégation de l authentification pour les Services Web 6

3. Présentation du protocole OAuth (2/2) Pré requis Confiance entre le C et le SP Consumer Key + Consumer Secret Protected Resources hébergées sur le SP Détails du protocole Etape A: Demande Request Token C demande un RT au SP Etape B: Redirection C redirige User vers SP Etape C: Autorisation utilisateur User s authentifie sur SP User autorise C à utiliser les ressources du SP Marquage du RT comme autorisé SP redirige User vers C Etape D: Demande Access Token C demande un AT Etape E: Accord Access Token SP donne au C un AT Etape F: Accès aux ressources Grâce au AT TX : Délégation de l authentification pour les Services Web 7

4. Architecture de services basée sur OAuth/OpenID (1/6) Problématique Mettre en place une architecture combinant OAuth et OpenID Sécurité Authentification d un utilisateur par OpenID sur un site consommateur d un service Web Service Web consommé s authentifie grâce à l OpenID de l utilisateur Echange d infos entre le Service Web et le site consommateur sécurisé par OAuth TX : Délégation de l authentification pour les Services Web 8

4. Architecture de services basée sur OAuth/OpenID (2/6) Périmètre technologique Serveur Apache HTML/PHP5/MySQL Nécessité d une connexion à Internet Librairies OAuth-PHP Implémentation des services OAuth en PHP5 PHP-OpenID Implémentation des services OpenID en PHP5 Système Deux sites Web Site consommateur de services Web: consumer Site fournissant le service Web: provider Fournisseur OpenID Base de données MySQL TX : Délégation de l authentification pour les Services Web 9

4. Architecture de services basée sur OAuth/OpenID (3/6) Architecture TX : Délégation de l authentification pour les Services Web 10

4. Architecture de services basée sur OAuth/OpenID (4/6) Première utilisation Etablissement du contrat de confiance entre le Consumer et le Provider Etapes S identifier par OpenID sur le Consumer Enregistrer le Consumer sur le Provider Récupérer le Consumer Key et le Consumer Secret Configurer Service.php Description du serveur OAuth $server = array( 'consumer_key' => '1b0f4a22314e7afd8131ed61237f3cc4049085db1', 'consumer_secret' => '6885b4817c443cc63c383c04d894803d', 'server_uri' => 'http://localhost/provider/hello.php', 'signature_methods' => array('hmac-sha1', 'PLAINTEXT'), 'request_token_uri' => 'http://localhost/provider/request_token.php', 'authorize_uri' => 'http://localhost/provider/try_auth.php', 'access_token_uri' => 'http://localhost/provider/access_token.php' ); TX : Délégation de l authentification pour les Services Web 11

4. Architecture de services basée sur OAuth/OpenID (5/6) Scénario d utilisation normale :User :Consumer :Service Provider Identification via OpenId (déconseillé) Demande d'utilisation du WS (Request Token) Réception du Request Token Demande d'authentification via OpenId Authentification Redirection Demande d'autorisation d'utilisation des ressources Autorisation donnée Redirection Demande d'échange du Request Token contre un Access Token Reception de l'acces Token Accès aux ressources TX : Délégation de l authentification pour les Services Web 12

4. Architecture de services basée sur OAuth/OpenID (6/6) Conclusion Evolutions de la sécurité en matière d authentification et d autorisations Faire confiance à des services tiers = défaut de sécurité? Jusqu à quel point faire confiance et à qui? OAuth : partage d images Technologies à surveiller Vers les outils du laboratoire Problématique de la seconde partie axées sur l authentification Utilisation de OpenID uniquement TX : Délégation de l authentification pour les Services Web 13

5. Argos, Agorae et l authentification par OpenID (1/5) Contexte Hypertopic Protocole/modèle pour l organisation de connaissances Service web REST Lié à une grammaire XML, un modèle d URL, des requêtes HTTP Argos Serveur web d application Hypertopic Agorae Serveur web d application consommateur du service d Argos Framework Zend (PHP) Modèle MVC Problématique Authentifier les utilisateurs du service Argos navigant sur Agorae TX : Délégation de l authentification pour les Services Web 14

5. Argos, Agorae et l authentification par OpenID (2/5) Périmètre technologique Serveur Apache pour le composant développé HTML/PHP5 Nécessité d une connexion à Internet Machine virtuelle pour Argos Librairies Zend Framework pour compatibilité avec Agorae 3 niveaux d authentification Au niveau du composant Utilisateur s authentifie par OpenID A chaque requête, au niveau d Argos Composant envoie à Argos l OpenID de l utilisateur connecté 2 niveaux d authentification Argos s authentifie auprès de l OpenID Provider grâce à l OpenID de l utilisateur connecté Argos vérifie les droits de l utilisateur en fonction de son OpenID (gestion des autorisations) TX : Délégation de l authentification pour les Services Web 15

5. Argos, Agorae et l authentification par OpenID (3/5) Architecture Extrait de actors.xml <actors> <actor href="http:// argos.vmware.hypertopic.org /actor/jeremy/" openid= http://jvauchelle.pip.verisignlabs.com >Jérémy Vauchelle</actor> </actors> TX : Délégation de l authentification pour les Services Web 16

5. Argos, Agorae et l authentification par OpenID (4/5) Schéma d utilisation du système :User :WS Consumer :WS Provider :OID Provider Fournit OID Authentication OID Identification ok Affichage du formulaire d'intéraction avec le WS provider Requête d'utilisation du WS Demande d'authentification du WS Provider Authentification (1st and 2nd part) Service authentifié Authentification ok Construction de la requête Requête avec envoi de l'oid et du fait que le service ait bien été authentifié Affichage du résultat à l'utilisateur Renvoi du résultat Vérification des droits de l'utilisateur TX : Délégation de l authentification pour les Services Web 17

5. Argos, Agorae et l authentification par OpenID (5/5) Conclusion But de la TX Prototype d une solution d authentification sur Agorae/Argos Utilisation d une technologie novatrice: OpenID Délégation de l authentification Quelles améliorations? Actors.xml OpenID Provider en interne Avenir Intégration à Agorae et Argos? TX : Délégation de l authentification pour les Services Web 18

6. Vers des clients lourds? Limites du projet Spécifications OpenID axées sur les clients légers HTTP Sessions utilisateurs Redirections Passage de paramètres par URL Clients lourds? Spécifications précisent que le client est un navigateur web Solution? Associer un client lourd à un client léger Les forces d OpenID en font ses faiblesses en matière de flexibilité TX : Délégation de l authentification pour les Services Web 19

Conclusion Rappel des problématiques Délégation de l authentification et des autorisations pour les services Web OpenID/OAuth Solutions recherchées Etude des protocoles OAuth et OpenID Mise en place d une architecture de test Application au système Argos/Agorae Perspectives d amélioration Protocoles récents A mûrir encore un peu OpenID : Avenir du SSO 160 millions de comptes déjà créés TX : Délégation de l authentification pour les Services Web 20