Authentification par certificats : l'importance du gestionnaire de profils Roland Dirlewanger CNRS Délégation Aquitaine et Poitou-Charentes rd@dr15.cnrs.fr 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils Introduction Besoin d'authentification pour le WWW pages internes à l'établissement applications WWW Multiplication des sites WWW laboratoires, délégations, départements scientifiques, applications nationales universités, écoles, autres tutelles 17-21 novembre 2003 JRES 2003 - Gestion de profils
Authentification par adresse IP Configuration au niveau du serveur HTTP au niveau des équipements réseaux Difficultés : gestion fastidieuse adressage dynamique dans les sites externes 17-21 novembre 2003 JRES 2003 - Gestion de profils
Authentification par mot de passe Simple à configurer au niveau du serveur HTTP au niveau de l'application Difficultés : multiplication des mots de passe mots de passe en clair (sauf SSL) 17-21 novembre 2003 JRES 2003 - Gestion de profils
Authentification par certificats Utilisée dans de nombreux protocoles SSL : authentification obligatoire du serveur, optionnelle pour le client signature (S/MIME, documents XML, PDF, …) IPsec Difficulté : nécessite la mise en place d'un IGC 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils Quelques définitions Authentification apporter la preuve de son identité Habilitations ensemble des permissions accordées à un utilisateur vis à vis d'une ressource Contrôle d'accès vérification qu'une entité est autorisée à accéder à une ressource 17-21 novembre 2003 JRES 2003 - Gestion de profils
Certificats et contrôle d'accès Les certificats contiennent : coordonnées du titulaire nom, prénom, mél, établissement, labo, … coordonnées de l'autorité qui a émis le certificat Le contrôle d'accès sur ces critères est simple à mettre en œuvre. Quoique … 17-21 novembre 2003 JRES 2003 - Gestion de profils
Exemple 1 : Intranet de laboratoire Configuration d'un Intranet de laboratoire authentifié par certificats (Apache, mod_ssl) : <Location /Intranet> SSLVerifyClient require SSLRequireSSL SSLRequire %{SSL_CLIENT_S_DN_C} eq "FR" \ and %{SSL_CLIENT_S_DN_O} eq "CNRS" \ and %{SSL_CLIENT_S_DN_OU} eq "UMR1234" </Location> 17-21 novembre 2003 JRES 2003 - Gestion de profils
Exemple 2 : Accès à des dossiers individuels Consultation du paiement des missions extraction des nom et prénom du titulaire du certificat utilisation comme index dans la base de données des missions Problèmes : homonymies, nom ou prénom usuels différents de ceux de l'état civil impossibilité d'utiliser un numéro d'agent 17-21 novembre 2003 JRES 2003 - Gestion de profils
Exemple 3 : Extranet financier Accès aux données financières qui concernent le laboratoire pour les gestionnaires : compléments à Xlab pour les directeurs : présentation synthétique, ergonomie WWW Problèmes : comment identifier les certificats des directeurs ou des gestionnaires ? comment gérer le cas des directeurs ou gestionnaires de plusieurs laboratoires ? 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils Exemple 4 : Portail vers les applications authentifiées par mot de passe Remplacement du formulaire d'authentification de l'application par un bouton : accès via le certificat aux caractéristiques de l'application (nom de l'application, URL, identificateur, mot de passe) génération d'un formulaire HTML : mêmes action, méthode, éléments et leurs valeurs Problème : comment gérer les habilitations ? 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils La notion de profil Profil d'un utilisateur vis à vis d'une application liste des identificateurs avec lesquels l'utilisateur est autoriser à accéder à l'application exemples : liste des identités (prénom, nom) de l'utilisateur liste des laboratoires dont l'utilisateur est gestionnaire liste des applications auxquelles l'utilisateur peut accéder via le portail 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils La gestion de profils Création, modification, suppression de l'association entre le certificat d'un utilisateur et son profil Deux techniques : bases de données relationnelle annuaire LDAP 17-21 novembre 2003 JRES 2003 - Gestion de profils
La gestion de profils 1. avec une base de données relationnelle Table de description des profils application courriel identificateur application1 user1@domaine1.fr id1 id2 application2 id3 user2@domaine2.fr id4 17-21 novembre 2003 JRES 2003 - Gestion de profils
La gestion de profils 2. avec un annuaire LDAP ou=Applications, … ou=application1 ou=application2 mail=user1@domaine1.fr uid=id1 uid=id2 mail=user1@domaine1.fr uid=id3 mail=user2@domaine2.fr uid=id4 17-21 novembre 2003 JRES 2003 - Gestion de profils
Fonctionnalités du gestionnaire de profils 1. pour l'utilisateur final L'utilisateur peut : demander la création, la modification de son profil pour une application donnée cette demande est validée ou rejetée par l'administrateur de l'application Interface WWW authentifiée par certificats Notification automatique par mél 17-21 novembre 2003 JRES 2003 - Gestion de profils
Fonctionnalités du gestionnaire de profils 1. pour l'utilisateur final Interface avec saisie des identificateurs 17-21 novembre 2003 JRES 2003 - Gestion de profils
Fonctionnalités du gestionnaire de profils 1. pour l'utilisateur final Interface avec cases à cocher 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils Fonctionnalités du gestionnaire de profils 2. pour l'administrateur d'application L'administrateur de l'application valide les demandes d'accès à l'application créé, modifie, supprime des profils Interface avec l'annuaire de l'IGC recherche des utilisateurs avec certificats 17-21 novembre 2003 JRES 2003 - Gestion de profils
Fonctionnalités du gestionnaire de profils 3. pour l'administrateur L'administrateur du gestionnaire de profils créé, modifie, supprime des applications configure la liste des administrateurs de l'application configure les diverses contraintes sur les certificats des utilisateurs ou des autorités 17-21 novembre 2003 JRES 2003 - Gestion de profils
Fonctionnalités du gestionnaire de profils 4. interface applicative Fonction de l'application et du certificat. Retourne : la liste des identificateurs que l'utilisateur est autorisé à utiliser informations sur l'identité de l'utilisateur drapeaux : l'utilisateur est administrateur, … Cascade de profils : fonction de plusieurs applications et du certificat de l'utilisateur 17-21 novembre 2003 JRES 2003 - Gestion de profils
Ldapauth : un gestionnaire de profil Basé sur OpenLdap, interface avec l'IGC du CNRS N'utilise que des classes standard applicationProcess : description des applications inetOrgPerson : utilisateurs groupOfNames : listes diverses Classes PHP pour manipuler l'arbre LDAP 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils Ldapauth : arbre LDAP dn: ou=Extranet Financier, … objectClass: applicationProcess dn: Email=Aline.Un@labo1.cnrs.fr objectClass: inetOrgPerson cn: Aline Un cn: Aline Dix uid: UMR1111 dn: cn=Required CA Certificates objectClass: groupOfNames member: /C=FR/O=CNRS/CN=* dn: ou=Pending Requests objectClass: top dn: Email=Aline.Un@labo1.cnrs.fr objectClass: inetOrgPerson cn: Aline Un cn: Aline Dix uid: UMR1111 uid: UMR5899 dn: cn=Request Managers objectClass: groupOfNames member: Email=user1@dr15.cnrs.fr member: Email=user2@dr15.cnrs.fr dn: Email=Bernard.Deux@labo1.cnrs.fr objectClass: inetOrgPerson cn: Bernard Deux uid: UMR222 17-21 novembre 2003 JRES 2003 - Gestion de profils
Ldapauth : les points forts Facilite l'écriture des applications WWW Méthode unifiée pour toutes les applications Une seule requête LDAP pour extraire le profil de l'utilisateur qui se connecte Choix de l'adresse mél comme index : permet de gérer des certificats de plusieurs CA unique, pas de codage de caractères accentués 17-21 novembre 2003 JRES 2003 - Gestion de profils
Ldapauth : les faiblesses Implanté au niveau de l'application, pas du serveur HTTP fichiers d'inclusions PHP, problème pour les pages statiques module mod_ldap_auth d'Apache ne prévoit pas l'enrichissement de l'environnement des scripts une requête par le serveur HTTP contrôler l'accès une requête par l'application pour récupérer le profil 17-21 novembre 2003 JRES 2003 - Gestion de profils
JRES 2003 - Gestion de profils Conclusion Ldapauth : bien adapté pour un environnement très déconcentré et multi-tutelles en attendant que se confirment des technologies standards comme SSO (Single Sign On) ou les certificats d'attributs 17-21 novembre 2003 JRES 2003 - Gestion de profils