Comité Réseau des Universités - Authentification web, SSO et fédération d'identités1 Authentification web, Single Sign-On et fédération didentités
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités2 Plan Contrôle daccès et authentification web –Rappels –Fonctionnement –Mise eu oeuvre avec Apache –Limites de ces solutions Le Single Sign-On web –Principes –Architecture –Apports –Lexemple CAS La fédération didentités –Principe –Solutions techniques –Lexemple Shibboleth
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités3 L'importance de la plateforme web Le web propose des outils standards Le navigateur web est disponible sur tous les postes utilisateurs Les applications classiques client/serveur deviennent des applications web Il faut pouvoir sécuriser laccès à ces applications
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités4 Contrôle daccès et authentification web
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités5 Quest-ce que le web ? Un protocole : HTTP Un format de document : HTML Un format dadressage : les URL ( Le client : navigateur web (Firefox, IE,…) Le serveur : Apache, IIS, Tomcat,… Programmes côté client : Javascript Interface côté serveur : CGI (Common Gateway Interface )
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités6 Fonctionnement du serveur web Le serveur transmet des documents au navigateur web Le document peut être le résultat de l'exécution d'une application (CGI) Documents (HTML ou autre) Serveur web requête HTTP navigateur Application (CGI)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités7 Comment gérer le contrôle daccès Objectif –restreindre laccès à une partie du serveur pour une population identifiée Identification de lutilisateur : 1.Adresse IP du poste client (pas suffisant) 2.Authentification de lutilisateur
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités8 Les méthodes dauthentification Authentification par mot de passe : –Lutilisateur saisie un identifiant et un mot de passe –Le serveur vérifie le mot de passe Authentification avec certificat : –Lutilisateur possède un certificat X509 –Le serveur doit vérifier la validité du certificat (autorité de certification +période de validité + liste de révocation + usage)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités9 Lauthentification HTTP Lauthentification de lutilisateur est prévue dans le protocole HTTP Solution peu utilisée : –Problème dintégration des formulaires de login dans les interfaces –Les navigateurs ne proposent pas de fonction de logout Techniques de remplacement : –Formulaires HTML
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités10 Gestion des sessions Authentification native HTTP : –Le navigateur renvoie au serveur les éléments dauthentification à chaque requête Utilisation de formulaires HTML : –Une session attachée à une adresse IP, côté serveur –Plus courant : le navigateur positionne des cookies HTTP Possibilité de gérer une table des sessions
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités11 Les cookies HTTP Permet au serveur de gérer les états entre 2 requêtes Un cookie est une variable, positionné par le serveur, stockée dans la client, puis renvoyée par le client lors des requêtes suivantes Contraintes sur les cookies : –Portée restreinte –Durée de vie limitée
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités12 Les cookies HTTP Réponse HTTP Set-Cookie: variable=valeur; path=/ Content-type: text/html …. Requête suivante Cookie: var1=val1; var2=val2 GET /prog.php HTTP/1.1
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités13 Apache et les modules dauthentification On peut étendre les fonctionnalités du serveur web Apache en ajoutant des modules Authentification gérée par des modules : –mod_auth : utilisation des fichiers htpasswd et htgroup –mod_ssl : gestion SSL et authentification avec certificats –mod_authldap : authentification LDAP –mod_authZldap : authentification avec certificats puis autorisation basée sur LDAP –…beaucoup dautres (
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités14 Configuration du serveur Apache Fichier htpasswd –Mots de passe cryptés –Syntaxe /etc/passwd Fichier htgroup –Composition groupes –Syntaxe /etc/group salaun:2GxaEBB0vU/.Q dupont:pJnCOcjPuWsd blejean:zuL9.Cs1BvjU6 …. admin: salaun dupont dev: salaun blejean durand …
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités15 Exemple 1 Contrôle daccès IP Ressource protégée Apache Contrôle daccès Order deny,allow Deny from all Allow from.cru.fr
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités16 Exemple 2 htpasswd+htgroup Ressource protégée Apache authentificationContrôle daccès htpasswdhtpgroup ID + mot de passe AuthType Basic AuthUserFile /etc/httpd/conf/htpasswd AuthGroupFile /etc/httpd/conf/htgroup Require user dupont Require group gestion
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités17 Exemple 3 certificats + base LDAP Ressource protégée Apache authentificationContrôle daccès Autorités de certifications LDAP Certificat X509 SSLEngine on SSLRequireSSL … SSLCACertificatePath /etc/httpd/ssl.crt AuthzLDAPEngine on AuthzLDAPServer ldap.cru.fr … Require filter (gestionMember=Yes)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités18 Authentification VS autorisation Deux processus disjoints Authentification –« prouver son identité » Autorisation (ou contrôle daccès) –« déterminer les droits daccès »
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités19 Les mauvais usages… Les pages cachées => 1 lien suffit pour que la page soit indexée par google ! Le compte partagé par un groupe dutilisateurs : (on fait léconomie de la gestion de compte) => à chaque modification du groupe on devrait changer le mot de passe…
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités20 Les limites / multiplication des référentiels Autant de fichiers htaccess et htgroup que de serveurs Pas de relation avec les comptes système –risques dinconsistance (anciens comptes non désactivés) Utilisation de LDAP ou dun autre référenciel (NIS) résout ce problème
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités21 Les limites / sécurisation des échanges Le mot de passe utilisateur circule : 1.Entre le navigateur et le serveur web 2.Entre le module dauthentification et la base dauthentification (si la base est distante) (1) et (2) sécurisable par SSL
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités22 Les limites / ergonomie utilisateur Multiplication des comptes donc des mots de passe –pb de mémorisation des mots de passe –contournement des consignes de sécurité (penses bêtes) –utilisation systématique du même mot de passe (sur voila.fr et pour les applications sensibles) Lutilisateur peut être amené à sauthentifier très souvent
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités23 Single Sign-On Authentification unique
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités24 Single Sign-On… définition Authentifier 1 seule fois un utilisateur pour accéder à un ensemble dapplications Session dauthentification partagée par plusieurs applications web (sur plusieurs serveurs)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités25 Architecture simplifiée Application Utilisateur Usagers / Groupes Application Usagers / Groupes Serveur SSO Session dAuthentification PKI NIS LDAP
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités26 Architecture dun SSO les briques Le serveur dauthentification –Élément central Les agents dauthentification –Devant chaque ressource à protéger
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités27 Le serveur dauthentification Élément central du SSO : –Authentification utilisateur –Persistance connexion –Propagation identité vers applications Repose sur un ou des référentiels dauthentification (NIS,LDAP,…)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités28 Lagent dauthentification Interface entre serveur authentification et application : –Redirection de lutilisateur vers le serveur dauthentification –Transmission de lidentité de lutilisateur à lapplication Implémenté sous plusieurs formes –Librairies clientes –Module intégré au serveur web
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités29 Scénario dauthentification Serveur Authentification Agent Authentification Application Utilisateur Accès initial
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités30 Scénario dauthentification Serveur Authentification Utilisateur Accès suivants Agent Authentification Application
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités31 Les flux Navigateur Agent Auth Serveur AuthBase Auth Requête application Demande authentification Formulaire login Vérif. Mot de passe Appli. Jeton authentification Réponse appli
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités32 Single Sign-On Les techniques utilisées Communication via lutilisateur utilisant : –Requêtes HTTP (GET) ou formulaires (POST) –Redirections HTTP –Javascript Persistence des sessions : –Cookies HTTP Protection des échanges : –SSL –Portée et durée de validité des cookies –Jetons non rejouables
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités33 Gestion des sessions à deux niveaux Avec le serveur dauthentification –évite de se ré-authentifier à chaque application Avec lagent dauthentification –évite de renvoyer lutilisateur vers le serveur dauthentification à chaque requête
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités34 Apports du SSO Ergonomie 1 seul mot de passe saisi 1 seule fois à 1 seul endroit => lutilisateur est sensibilisé et ne doit fournir son mot de passe que sur la page de Login.
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités35 Exemple de page de Login
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités36 Apports du SSO Sécurité Limite laccès et la circulation des mots de passe (uniquement entre le navigateur et serveur dauthentification) Politique de gestion des mots de passe possible ( Changement, complexité minimum, accounting) Extension des méthodes dauthentification envisageable
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités37 Apports du SSO pour les applications Utilisation des même librairies dauthentification dans toutes les applications : –Meilleur intégration des applications dans l'environnement informatique –Rapidité de développement –Même niveau de sécurité partout
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités38 Solutions de Single Sign-On lembarras du choix… Pas de standardisation des techniques de SSO pour le web Besoins pressants dès lors que les applications web se multiplient Multiplication des solutions : –Libres ou propriétaires –Utilisant une terminologie propre –Solutions techniques très variables (plus ou moins sûres)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités39 CAS, un exemple de SSO CAS (Central Authentication Service) –SSO web développé par luniversité de Yale(USA) Très utilisé par les universités françaises Une architecure simple et robuste –Code léger –Lidentité de lutilisateur est transmise via un ticket (à la Kerberos) –Permet un fonctionnement en mode proxy Cas dexemple : webmail, portail web.
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités40 Larchitecture CAS
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités41 CAS / fonctionnement multi-tiers
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités42 Demo CAS ENT Serveur de listes
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités43 Single Sign-On Les limites Technique des redirections HTTP pose problème si le service est indisponible => utilisateur bloqué Les applications "multi-tiers" (web services) Les applications propriétaires (« legacy ») Gestion dattributs pour le contrôle daccès Les utilisateurs doivent toujours avoir dautres comptes pour les applications extérieures
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités44 Le Single Logout… Si lutilisateur sest « logué » globalement, il doit pouvoir se « délogué » globalement Plus difficile que le SSO car chaque application gère sa propre session avec lutilisateur. Il faut donc gérer une base centrale des applications qui ont une session dauthentification avec lutilisateur et mémoriser une URL de déconnexion. Le single logout est complexe donc peu implémenté…
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités45 La fédération didentités
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités46 Constat… Les limites dun service dauthentification / autorisation apparaissent lorsquon veut ouvrir les accès à des personnes extérieures… Comment reconnaître localement lidentité et/ou les privilèges dun utilisateur enregistré ailleurs ?
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités47 Des cas dutilisation Contrôle daccès en fonction du profil de lutilisateur –Exemple : étudiant en pharmacie Intranet pour un groupe de travail –Chercheur, étudiants, association, informaticiens Accès aux périodiques électroniques depuis un ENT –Science Direct, JSTOR, …
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités48 Les solutions techniques de fédération didentités
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités49 SAML SAML=Security Assertion Markup Language Standard OASIS en 2002 Répond à un besoin dinteropérabilité Echanges dassertions de sécurité entre services Indépendant des mécanismes dauthentification
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités50 Types dassertions SAML Authentification Échange dattributs Décisions dautorisation SAML
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités51 Exemple dassertion SAML SAML <saml:Assertion MajorVersion=1 MinorVersion=0 AssertionID= Issuer=Comite Reseau des Universites IssueInstant= T10:02:00Z> <saml:Conditions NotBefore= T10:02:00Z NotAfter= T10:07:00Z /> <saml:AuthenticationStatement AuthenticationMethod=password AuthenticationInstant= T10:02:00Z> <saml:NameIdentifier SecurityDomain= Name=osalaun />
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités52 Liberty Alliance SAML Liberty Alliance Liberty Alliance nest pas un produit Consortium dindustriels produisant des spécifications sur la gestion didentités Sappuie sur SAML Implémenté dans de nombreux produits SourceID Sun LASSO
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités53 Shibboleth SAML ShibbolethLiberty Alliance Shibboleth SourceID Sun LASSO Norme et produit développé par Internet2 Open source Première version en 2002 Basé sur SAML (bibliothèque OpenSAML) Utilisé surtout par des universités –en Allemagne, Danemark, Finlande, France, Grande-Bretagne, Suède, Suisse, USA, Australie, Chine
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités54 Shibboleth SAML ShibbolethLiberty Alliance Shibboleth SourceID Sun LASSO Conçu pour interconnecter les SSO des universités Fonctionnalités –Délégation dauthentification –WAYF pour orienter lutilisateur –Propagation des attributs utilisateur –Partage de méta données –Définition de règles de confiance
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités55 WS-Federation SAML ShibbolethLiberty Alliance Shibboleth SourceID Sun LASSO Oblix WS-* WS-Federation ADFS Draft porté par Microsoft et IBM, 2003 Basée sur les spécifications WS-* –WS-Security, WS-Trust, WS-Policy, WS- MetadataExchange Définit léchange didentités et dattributs entre domaines de sécurité
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités56 Autres initiatives CardSpace (Microsoft) OpenID OAuth Bandit (IBM et Novell)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités57 Card Space (Microsoft) Principe : sélecteur didentités Projet anciennement nommé « infoCard » Intégré dans IE 7 –Point fort car aucune autre technologie nest intégrée dans les client web
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités OpenID Protocole de délégation d'authentification Origine : authentification sur les blogs Principe : 1.Saisie de lURI de son OpenID provider 2.Redirection vers lOpenID provider 3.Authentification –Développement rapide de la technologie –Nombreux services compatibles –Nombreuses implémentations
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités59 Oauth Standard récent (version 1.0, décembre 2007) Définit un standard permettant la délégation d'un utilisateur pour l'accès à un service Exemple d'utilisation –Un utilisateur autorise un service d'impression à accéder à ses photos sur un site de gestion de photos Oauth est complémentaire de OpenID
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités60 Bandit Initiative IBM + Novell Palette doutils « open source » Bandit = Higgins + CASA + ARF + Role engine Higgins : aggrégateur didentités –Liberty Alliance, Cardspace, LDAP CASA : porte-clefs
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités61 Shibboleth
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités62 Logiciel « open source » Issu du monde universitaire –USA, Internet 2 Basé sur la norme SAML Utilisé surtout dans le monde universitaire –France, Suisse, USA, Angleterre, Finlande, Australie, Suède, Belgique, Allemagne, Danemark, Slovénie, République Tchèque
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités63 Fonctionnement de Shibboleth Cours en ligne dans une autre université Université de rattachement de létudiant Tentative daccès à la ressource Redirection vers le SSO de luniversité de rattachement Authentification sur le SSO Redirection vers la ressource avec une preuve dauthentification SSO
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités64 Fonctionnement de Shibboleth Cours en ligne dans un autre université Université de rattachement de létudiant Demande dattribut sur lutilisateur 6. Extraction des attributs 7. Propagation vers la ressource Référentiels
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités65 Briques techniques de Shibboleth Cours en ligne dans un autre université Université de rattachement de létudiant 1.Le fournisseur didentités 2.Le fournisseur de services 3.Le service de découverte 4.Échanges au format SAML Référentiels SSO IdP 1 WAYF 3 SP 2
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités66 Shibboleth Demo Sourcesup
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités67 Le Service de découverte ou Where Are You From (WAYF) La partie visible de liceberg –La seul brique de Shibboleth avec laquelle lusager interagit directement Objectif –Orienter lutilisateur vers son fournisseur didentités Localisation –Au plus près du fournisseur de services
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités68 Fonctionement du WAYF WAYF IdP 1 IdP 2 IdP 3 SP
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités69 Létablissement choisit les attributs quil propage, selon la ressource Intranet dun groupe de travail Établissement de rattachement Cours en ligne dans un autre établissement Périodiques électroniques (prestataire privé) Nom Prénom Etape Discipline Statut (étudiant, Personnel)
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités70 Cercle de confiance –Regroupe un ensemble de SP et dIdP La confiance repose sur : –Méta données + certificats X.509 –Nommage dattributs utilisateurs + nomenclature –Qualité de la gestion des utilisateurs –Bonne utilisation des données transmises Les relations de confiance IdP SP
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités71 Apports de la fédération didentités Pour lutilisateur –Il nutilise que le mot de passe de son SSO –Adapté aux utilisateurs nomades Pour létablissement de rattachement –Niveau de sécurité constant (SSO) –Meilleure maîtrise des données personnelles Pour les gestionnaires de ressources –Plus besoin de gérer des comptes utilisateurs –Accès à des données utilisateurs fiables
Comité Réseau des Universités - Authentification web, SSO et fédération d'identités72 Quelques liens Site du CRU : CAS : SAML : Liberty Alliance : Shibboleth : Fédération du CRU :