SSO
Single Sign-On
Présentation
Le SSO consiste à centraliser les authentifications; on uniformise la sécurité de l'authentification, quelle que soit la plateforme. On peut ensuite appliquer une politique de mdp et gérer l'authentification via des protocoles normalisés et sécurisés (LDAP, Kerberos, CAS, RADIUS, etc). Le SSO est un début pour passer ensuite à l'authentification multi-facteurs. Les buts sont :
- Amélioration de la sécurité
- Simplifier l'utilisation
- Faciliter les opérations pour les gestionnaires
AAA :
- Authentification : Prouver son identité
- Authorization : Qu'est-ce que j'ai le droit de faire
- Accounting : Qu'est-ce que je fais
On a aussi une notion de single logout : je me peut me loguer et me déloguer de manière globale, ce qui est moins évident, parce que chaque application gère son authentification de façon globale. Il faut donc gérer une base centrale des applications qui ont une session d’authentification avec l’utilisateur et mémoriser une URL de déconnexion.Le single logoutest complexe donc peu implémenté...
Technos utilisées
- HTTP header : Pour les application proxifiées. On protège les apps, contrôle les urls, et on crée des variables multiples... (???) On a pas besoin de SLO.
- SAML (Security Assertion Markup Language) :standard informatique définissant un protocole pour échanger des informations liées à la sécurité. Basé sur le langage XML, SAML a été développé par OASIS. SAML propose l'authentification unique (en anglais single sign-on ou SSO) sur le web. De cette manière, un utilisateur peut naviguer sur plusieurs sites différents en ne s'authentifiant qu'une seule fois, sans pour autant que ces sites aient accès à des informations trop confidentielles. (wikipédia)
- Authentification formulaire : Elle est utilisée par les applications sans SSO possible, ne permet pas de SLO, et lente et non recommandée. De plus, on doit stocker les mdp utilisateurs...
- Il reste aussi CAS, OpenID, WS-federation...
LDAP
cf : Protocoles
Un annuraire LDAP contient de nombreuses informations relatives aux personnes : compte, mdp, etc; mais aussi aux structures. Il sert au contrôle d'accès (en donnant différents droits sur différents services). Un tas de services s'appuient sur LDAP, chez Windows comme chez Unix.
Recommandations
Recommandations nationales SUPANN (juin 2003), pour que les annuaires de la communauté 'Education Recherche' partagent un modèle identique:
- assurer l'interopérabilité des différents annuaires (ENT),
- faciliter la mise en place d'un méta-annuaire national
LDAP a une structure arborescente :
Exemple d'une entrée 'personnel' :
dn: uid=declercq,ou=people,dc=univ-lille1,dc=fr objectClass: inetOrgPerson (classe d'objet par défaut qui caractérise une personne) objectClass: supannPerson(recommandations SUPANN) objectClass: posixAccount (authentification type Unix) objectClass: sambaAccount (ouverture de session Windows) objectClass: ustlPerson (interne à l'établissement) objectClass: radiusProfile (authentification WiFi) cn: Declercq Patricksn: Declercq givenName: Patrick uid: declercquser Password:: {CRYPT}ZZZZZZZZZZZZZ mail: Patrick.Declercq@univ-lille1.fr telephoneNumber: + 33 3 20 43 44 26 supannCivilite: M. supannAffectation: CRI – Centre de Ressources Informatiques supannListeRouge: FALSE uidNumber: 6304 gidNumber: 5000 lmPassword: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ntPassword: YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY ustlDepartement: CRI ustlRole: Correspondant annuaire de l'USTL radiusGroupName: personnel
Les alimentations et les màj peuvent se faire par une base (de scolarité pour les étudiants...), cela permet un changement de mdp interactif, etc. Les personnels passent par Harpège, et par le bouton "mise à jour" de la page annuaire de l'université.
Données nominatives :
- publiées avec l’accord de la personne,
- utilisées dans le cadre d ’un objectif précis,
- durée de conservation raisonnable,
- sécurité physique et logique des données,
- accessibles qu’aux seules personnes autorisées.
- http://www.cnil.fr
- http://www.educnet.education.fr/legamedia