Shibboleth : la fédération d'identité en mode Open Source (par Thierry Albain, SQLI)

Shibboleth : la fédération d'identité en mode Open Source (par Thierry Albain, SQLI) Dans sa version 2, la solution atteint un niveau de maturité qui pourrait lui permettre de devenir une référence dans l'univers Open Souce. Elle repose sur la norme SAML 2.0

À l'origine, le mot hébreu Shibboleth permettait à un peuple de distinguer ses ennemis, incapables de le prononcer correctement. Grâce à ce mot, une confiance pouvait être établie au sein d'une population bien définie.

Aujourd'hui, Shibboleth désigne un logiciel Open Source, du consortium Internet 2, qui établit de la même manière une relation de confiance entre entités bien définies et identifiées. Il assure un accès filtré et sécurisé aux ressources de ces entités limité uniquement aux membres de ces mêmes entités.

Shibboleth, dans sa version 2, se place ainsi comme le logiciel Open Source de référence de fédération d'identité qui supporte la norme SAML 2.0.

SAML 2.0 

SAML 2.0 (lire l'article précédent sur SAML) a été établie comme une norme de fédération d'identité par l'OASIS, grâce aux travaux de la Liberty Alliance et du consortium Internet 2 qui développe et maintient le logiciel Shibboleth.

Shibboleth implémente les trois briques SAML 2 essentielles que sont le SP (Service Provider), l'IdP (l'Identity Provider) et le DS (Discovery Service).

La particularité du SP Shibboleth est qu'il est composé d'un service autonome et d'un module associé à un serveur Web. Prenons le cas d'une plate-forme LAMP, le SP est composé d'un démon Linux et d'un module Apache. Dans le cas d'une plate-forme WIMP, le SP est composé d'un service Windows et d'un filtre ISAPII. L'IdP et le DS sont des applications Web Java qui peuvent fonctionner par exemple sous Tomcat.

Les profils

Les profils SAML sont des cas d'utilisation bien définis en matière de protocole, de transport et d'assertion. Ils décrivent les principaux cas d'usage de la Fédération. Tous les profils SAML ne sont pas implémentés dans la version actuelle de Shibboleth, mais seulement les principaux.

Web Browser SSO est implémenté dans Shibboleth

Le protocole le plus utilisé dans le monde de la fédération est le profil "Web Browser SSO". Il est naturellement implémenté dans Shibboleth. Il permet, par le biais du navigateur Internet, le transfert des assertions SAML entre l'IdP et le SP.

Les autres protocoles implémentés permettent :
 La récupération des attributs. Il est essentiel dans une architecture où les référentiels d'identité et les référentiels d'authentification sont centralisés de pouvoir fournir aux ressources qui le demandent l'identité mais aussi les habilitations de l'utilisateur connecté. L'avantage est de ne plus implémenter les comptes applicatifs dans l'application mais seulement les permissions par rapport aux rôles transmis.
 Le service de découverte du fournisseur d'identité,
 La résolution des artefacts,
 L'échange des méta données.

Conclusion

Shibboleth est une solution parfaitement satisfaisante en termes de respect de la norme SAML 2.0.

Même si le logiciel s'installe facilement, il reste difficilement abordable sans un minimum d'expérience dans le domaine. En revanche, une fois installé et configuré, il reste stable en utilisation et donc permet, en production, l'ouverture sécurisée de son SI à faible coût.