Rencontres Mondiales Du Logiciel Libre CAS, OpenID, SAML : concepts, différences et exemples Clément OUDOT 13 juillet 2011.

Slides:



Advertisements
Présentations similaires
Le mécanisme de Single Sign-On CAS (Central Authentication Service)
Advertisements

Installation d’un fournisseur d’identités Shibboleth
1 / Univnautes Projet de portail captif de L'UNPiDF Pierre Cros
Single Sign On et Web SSO Page 1 Nicolas Dewaele Single Sign On.
Logiciel Assistant Gestion d’Événement Rémi Papillié (Chef d’équipe) Maxime Brodeur Xavier Pajani Gabriel Rolland David St-Jean.
JRES FÉDÉRATION D'IDENTITÉS ET PROTECTION DES DONNÉES À CARACTÈRE PERSONNEL Béatrice CASTETBON - UNIVERSITÉ DE PAU ET DES PAYS DE L’ADOUR CORRESPONDANT.
Guide Share France Web Single Sign On Panorama des solutions SSO.
Séminaire EOLE Dijon Octobre 2008 Eole SSO.
30 oct Installation d’un fournisseur de services Shibboleth Formation CRU 30 octobre 2008, Paris UPMC Formateurs : Vincent Carpier
Clément OUDOT LINAGORA. Sommaire ● Gestion et Fédération des identités ● Le projet FederID ANR ● InterLDAP ● Le logiciel FederID.
GeoPrisma GeoPrisma Boréal Information Stratégiques Inc. Mapgears Inc.
Accès distant aux ressources documentaires Carole Letrouit SCD Paris Descartes Couperin.
1 Administration ESCO-Portail Les environnements numériques de travail Administration du socle de l'ENT Les applications.
SSO : Single Sign ON Authentification unique Il y a 10 ans : Un luxe Il y a 3 ans : Un composant à part entiere Aujourd'hui : Incontournable Demain : Le.
Vers les usages... Le projet EnvOLE séminaire EOLE novembre 2006, Dijon Accueil Orientations Architecture Socle > EnvOLE Services > Centre de ressources.
1 Observer le paramétrage d’un réseau. 2 Dans notre réseau téléphonique habituel, les postes, reliés à un auto-commutateur... …peuvent dialoguer, car.
Février 2006X. Belanger / Guilde Introduction à. Février 2006X. Belanger / Guilde Qu'est ce que Samba ? ● Implémentation libre du protocole CIFS/SMB (client.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
1 Identifier les composants d’un réseau local. 2 Les composants d’un réseau Des ordinateurs, appelés stations... …munis d’une carte réseau leur permettant.
Recevoir les messages de ma boite mail professionnelle sur mon adresse académique ACADEMIE MARTINIQUE Cellule TICE SVT Novembre.
Framework EHop/Ecenvir
Chapitre10 Prise en charge des utilisateurs distants
Comment garantir la sécurité des accès externes à votre système d’information ? Xavier Hameroux – Directeur Commercial SYSTANCIA.
Le nouveau bouquet de services aux partenaires des Allocations familiales Présentation aux partenaires- 9 mai 2017.
Le réseau pédagogique de l’établissement
ABES - Réunion des centres régionaux du SUDOC-PS – 12 mai 2017
Roland Dirlewanger CNRS Délégation Aquitaine et Poitou-Charentes
Phishing : Techniques et sensibilisation
Qualité de Web Services (QoS ou QdS)
Quels outils collaboratifs pour mon association ?
Présentation Scribe NG Serveur pédagogique.
Sécurité - VPN - Configurer la mise à jour du client
Utentomatic - Gestion des comptes Unix sous Active Directory
Sécurisation de l’accès Internet
Identication & Authentication
Les Tests de performances
SIG 2.3 Identité numérique
Gestion Administrative
Séminaire EOLE Dijon Octobre 2010
Centralisation de logs
Sécurité - Configuration de
Les technologies AJAX.
Sécurité - Configuration de -
Comment fonctionne RADIUS?
Présentation du projet FederID ■ ■ ■
INTERNET.
Bureau distant sur Windows Vista /2008 Server
A. DAAIF ENSET Mohammedia Université Hassan II Casablanca.
EPREUVE E4: PPE Mise en place d’un portail captif
Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni Service web Réalise par: Latifa Gamoun Mariem jridi Majdouline Hassni 1.
Expose : Web Application Firewall.
Outils et principes de base. Exemple d’application  Gestion de données d’enquête : Interface de saisie en ligne  insère directement les données dans.
Les protocoles de la couche application Chapitre 7.
Mise en place d'un Serveur Radius pour la sécurité d'un réseau Wireless sous Windows Serveur Présenter par le Stagiaire : Etienne Mamadou Guilavogui.
Retour d’expérience: OBM solution d’agendas partagés à l’IPNO
Catherine Cyrot - bibliothèques numériques - Cours 5
Single Sign-On open source avec CAS (Central Authentication Service)
La gestion des habilitations par le partenaire
Exposé de système / réseaux IR3
Retour d’expérience CEVIF ESUP Day
Le portail Mon Compte Partenaire
L’architecture du gestionnaire de profils
SSO : de l’utilisateur à la donnée
Remote Authentication Dial In User Service RADIUS GAUTHIER Julien.
Single Sign-On open source avec CAS (Central Authentication Service)
Conception de sites web marchands: TD 2
Présentation PISTE pour les partenaires raccordés en API
Qu’est ce qu’une page web? Comment fonctionne un site web?
App Inventor trucs Afficher une image depuis le Web ou Google Drive.
Internet Stage – Semaine 5.
Transcription de la présentation:

Rencontres Mondiales Du Logiciel Libre CAS, OpenID, SAML : concepts, différences et exemples Clément OUDOT 13 juillet 2011

2 27/09/2016 Sommaire ● WebSSO, contrôle d'accès et fédération d'identité ● Les protocoles ● CAS ● OpenID ● SAML ● Que choisir ?

3 27/09/2016 Présentations

4 27/09/2016 Clément OUDOT ● Contributeur LemonLDAP::NG depuis 2007, Leader depuis 2011, en relais de Xavier GUIMARD ● Leader du projet LDAP Tool Box ● Actif dans les communautés OpenLDAP et LDAP Synchronization Connector ● Membre de la cellule Identité / Sécurité du Groupe LINAGORA depuis 2003

5 27/09/2016 Quelques mots sur LemonLDAP::NG ● Logiciel libre de WebSSO, contrôle d'accès et fédération d'identité ● Compatibilité CAS, OpenID et SAML 2.0 ● Écrit en Perl, exécuté dans mod_perl d'Apache ● Version sortie le 8 juillet 2011

6 27/09/2016 WebSSO, contrôle d'accès et fédération d'identité

7 27/09/2016 WebSSO ● SSO signifie « Single Sign On », qui peut se traduire en français par « authentification unique » ● Le WebSSO se consacre à l'authentification unique pour les applications Web, c'est-à-dire des applications client-serveur dont le client est un navigateur Web (IE, Firefox, etc.) ● Le principe de base est d'intercepter les requêtes entre le client et le serveur, et indiquer au serveur que le client est bien authentifié

8 27/09/2016 Intérêt du WebSSO : éviter la multiplication des identités

Utilisateur Application Web Portail WebSSO Cinématique simple

Contrôle d'accès ● Une fois l'utilisateur authentifié, il faut récupérer ses habilitations : ● Des rôles ● Des groupes ● Des attributs divers (âge, nationalité, etc.) ● Les habilitations donnent accès à des ressources ou des fonctions ● Plusieurs modèles existent, le principal étant RBAC (Role Based Access Control) ● Le protocole XACML permet de déléguer les demandes d'habilitations à des points de décision (PDP)

Fédération d'identités ● Notions de cercle de confiance, fournisseur d'identités (IDP) et fournisseur de service (SP) ● L'utilisateur qui possède plusieurs identités numériques peut les fédérer au sein d'un cercle de confiance ● Le résultat visible est l'accès transparent aux fournisseurs de service, mais d'autres avantages existent, comme la déconnexion unique (SLO)

Intérêt de la fédération d'identités : protection de la vie privée Fournisseur de service Fournisseur d'identité Fournisseur de service Fournisseur d'attribut

/09/2016 Protocoles

CAS ● Central Authentication Service ● Documentation du protocole pour 1.0 et 2.0 ● Utilisation de tickets de service dans l'URL, avec validation par un lien dorsal ● Possibilité de tickets proxy ● Pas de partage d'attributs

Cinématique CAS 1. Premier accès à l'application Serveur CAS Application « CASsifiée » 2. Authentification sur CAS et récupération d'un ticket 3. Transmission du ticket 4. Validation du ticket et récupération de l'identifiant

CAS ● Requête ticket de service CAS : ● Réponse ticket de service CAS : f5d3ddb33df6fd79529e2d626a6d

CAS ● Requête validation ticket CAS : cas.pl&ticket=ST-6096f5d3ddb33df6fd79529e2d626a6d ● Réponse validation ticket CAS version 1 : yes coudot ● Réponse validation ticket CAS version 2 : coudot

OpenID ● L'identifiant de l'utilisateur contient l'adresse du service d'authentification ● Aussi basé sur les redirections HTTP ● Permet le partage d'attributs (mais plusieurs normes possibles...) ● Pas de notion de cercle de confiance

Cinématique OpenID 1. Premier accès à l'application Serveur OpenID Site Web 3. Authentification sur le serveur OpenID choisi par l'utilisateur 4. Réponse OpenID 5. Validation de la réponse (facultatif) Serveur OpenID 2. Récupération d'informations OpenID

Requête OpenID om/%3Fopenid%3D1%26lmAuth%3D2OpenID%26oic.time%3D dab6b201beda &openid.claimed_id= gora.com/openidserver/coudot&openid.identity= nagora.com/openidserver/coudot&openid.mode=checkid_setup&openid.real m= 670:2TKNyP679ZL6J1S9i0TH:3e0d127809&openid.sreg.optional=nickname,fullname,

Réponse OpenID = dab6b201beda &openid.mode=id_res&openid.claimed_id= th.vm2.lemonsaml.linagora.com/openidserver/coudot&openid.identity= auth.vm2.lemonsaml.linagora.com/openidserver/coudot&openid.op_endpoint = OpenID%26oic.time%3D dab6b201beda &openid.response_nonce= T15:56:03ZW3EeYE&openid.assoc_handle= :2TKNyP679ZL6 J1S9i0TH:3e0d127809&openid.ns= signed=mode,claimed_id,identity,op_endpoint,return_to,response_nonce,as soc_handle&openid.sig=tOO9kHJgQKajdnb6qTLMCSREdO0%3D

SAML ● Security Assertion Markup Language ● XML, XML Security ● Cercle de confiance : enregistrement préalable des fournisseurs de services et des fournisseurs d'identités ● Plusieurs méthodes : GET / POST / Artefact GET / Artefact POST ● Gestion de conditions, contextes d'authentification,...

SAML, gloire et beauté SAML 1.0 WS-* ID-FF 1.2 ID-WSF 1.2 Shibboleth 1 SAML 2.0 ID-WSF 2.0

Cinématique SAML Premier accès à l'application IDP SAML SP SAML 2. Authentification sur le serveur SAML choisi par l'utilisateur et autorisé dans le cercle de confiance 3. Réponse SAML IDP SAML

Requête SAML <samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" ID="_d7607d551380ac97853a6ff4907c4ef01219be97dd" Version="2.0" IssueInstant=" T07:46:06Z" ForceAuthn="true" IsPassive="false" Destination=" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" AssertionConsumerServiceURL=" ssertionConsumerService.php"> <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid- format:transient" AllowCreate="true"/>

Réponse SAML <samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:xs=" xmlns:xsi=" ID="_162f441d28cff78e3bb1d3c2bf3e48b5ed532605fd" InResponseTo="_ae b5baa4b13c79ffdb2baa fd9a3" Version="2.0" IssueInstant=" T07:49:23Z" Destination=" <samlp:StatusCode xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" Value="urn:oasis:names:tc:SAML:2.0: status:Success "/> <saml:Assertion Version="2.0" ID="pfxb27555d8-8c06-a339-c7ae-f544b2fd1507" IssueInstant=" T07:49:23Z"> <ds:Transform Algorithm=" WUaqPW4nZ8uPyv+sf8qXsaKhHmk= CRq1VvptjNHenZ5aWkyD6GqQX+XLgNiqElJnyLbMUgiwrFZ5J8IEGtC8h2YiwID15ScxVt6tjQc8R3gXkP967PIlemmhYQ4US7V3oPczu4MECamj+07wAg7BCp05UVU3RI3pvi/2dQGRRX4tlXgkzUMzx8+cBeyZaI/BXKjhKEY= MIICizCCAfQCCQCY8tKaMc0BMjANBgkqhkiG9w0BAQUFADCBiTELMAkGA1UEBhMCTk8xEjAQBgNVBAgTCVRyb25kaGVpbTEQMA4GA1UEChMHVU5JTkVUVDEOMAwGA1UECxMFRmVpZGUxGTAXBgNVBAMTEG 9wZW5pZHAuZmVpZGUubm8xKTAnBgkqhkiG9w0BCQEWGmFuZHJlYXMuc29sYmVyZ0B1bmluZXR0Lm5vMB4XDTA4MDUwODA5MjI0OFoXDTM1MDkyMzA5MjI0OFowgYkxCzAJBgNVBAYTAk5PMRIwEAYDVQQIEwlUcm9uZGhlaW0xED AOBgNVBAoTB1VOSU5FVFQxDjAMBgNVBAsTBUZlaWRlMRkwFwYDVQQDExBvcGVuaWRwLmZlaWRlLm5vMSkwJwYJKoZIhvcNAQkBFhphbmRyZWFzLnNvbGJlcmdAdW5pbmV0dC5ubzCBnzANBgkqhkiG9w0BAQEFAAOBjQAwgYkCgY EAt8jLoqI1VTlxAZ2axiDIThWcAOXdu8KkVUWaN/SooO9O0QQ7KRUjSGKN9JK65AFRDXQkWPAu4HlnO4noYlFSLnYyDxI66LCr71x4lgFJjqLeAvB/GqBqFfIZ3YK/NrhnUqFwZu63nLrZjcUZxNaPjOOSRSDaXpv1kb5k3jOiSGECAwEAATANBgkq hkiG9w0BAQUFAAOBgQBQYj4cAafWaYfjBU2zi1ElwStIaJ5nyp/s/8B8SAPK2T79McMyccP3wSW13LHkmM1jwKe3ACFXBvqGQN0IbcH49hu0FKhYFM/GPDJcIHFBsiyMBXChpye9vBaTNEBCtU3KjjyG0hRT2mAQ9h+bkPmOvlEo/aH0xR68Z9h w4PF13w== <saml:NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient" SPNameQualifier="urn:mace:feide.no:services:no.feide.foodle" >_242f e639aab95dd9b92b1d04234ab84fd8 <saml:SubjectConfirmationData NotOnOrAfter=" T07:54:23Z" InResponseTo="_ae b5baa4b13c79ffdb2baa fd9a3" Recipient=" /> urn:mace:feide.no:services:no.feide.foodle <saml:AuthnStatement AuthnInstant=" T07:49:23Z" SessionIndex="_4f39c931b35a8dd4540b0a6929a361fa134ec8f7b5"> urn:oasis:names:tc:SAML:2.0:ac:classes:Password

Que choisir ?

Différents protocoles pour différents usages ● CAS : authentification seulement, applications déjà « CASsifiées » ● OpenID : applications grand public ● SAML : partage d'identité entre organismes

Des solutions libres dans le langage qui vous plaît ● Authentic, Authentic 2 : IDP en Python basé sur Lasso (attendez la 3e conférence...) ● OpenSSO / OpenAM : IDP / SP en Java (attendez la 2e conférence...) ● LemonLDAP::NG : IDP / SP en Perl basé sur Lasso pour la gestion de SAML 2.0 ● SimpleSAMLPHP : IDP / SP en PHP

/09/2016 Questions ?