Protekto

The Protekto project consists in the development of a platform which enables security policy centralization by implementing authentication and authorization functions in the same platform. It uses the OrBAC model and standards like SAML 2.0, XACML 2.0 and OpenID 2.0. Open source libraries like OpenSAML, OpenID4Java and SunXACML have been used during development. The platform is composed of three principal entities:

  • Protekto IDP (Identity Provider)
  • Protekto SP (Service Provider)
  • Protekto PDP (Policy Decision Point)

Each component communicates with the others using SAML messages. The OpenID protocol is used in the Protekto IDP module which can authenticate a user using a password or OpenID. Protekto IDP is responsible for empowering subjects into roles and manages the subjects attributes.

Protekto can be used to download content hosted by the Protekto SP. In this case the Protekto PDP is interrogated to know if the user trying to download content is authorized to do so. In order to ensure that privacy is enforce

Le projet Protekto est le développement d’une plateforme qui permet une centralisation de la politique de sécurité en assurant à la fois les fonctions d´authentification et d´autorisation. Elle repose sur le modèle de contrôle d’accès OrBAC (Organization Based Access Control) et sur des standards comme SAML 2.0, XACML 2.0 et OpenID 2.0. Nous nous sommes appuyés lors de son développement sur des briques Open-Source telles que les librairies java OpenSAML, OpenID4Java ou SunXACML. Les trois principales entités de la plateforme : Protekto IDP (Identity Provider), Protekto SP (Service Provider) et Protekto PDP (Policy Decision Point) ont été conçues et implémentées. Celles-ci communiquent avec des messages SAML transportant des messages XACML pour l’authentification ainsi que pour l’autorisation. Le protocole OpenID intervient seulement au niveau de Protekto IDP qui propose à l’utilisateur une authentification avec mot de passe ou avec OpenID. Protekto IDP peut indiquer la méthode d’authentification retenue dans ses réponses SAML. Protekto IDP est responsable des affectations des sujets aux rôles ainsi que des informations (attributs) des utilisateurs. Protekto permet à un utilisateur de télécharger du contenu qui est hébergé chez Protekto SP, celui-ci délègue l’authentification de l’utilisateur à Protekto IDP puis interroge Protekto PDP pour savoir si cet utilisateur est autorisé. Pour assurer la protection de la vie privée de l’utilisateur, ce dernier est reconnu au niveau de la plateforme à l’aide d’identifiants opaques, cela étant possible grâce aux formats d’identifiants SAML. Protekto PDP gère des politiques en XACML, pour les générer nous utilisons un traducteur qui convertit une politique exprimée dans le modèle OrBAC avec MotOrBAC ou un éditeur de texte. Pour répondre à une requête d’autorisation, Protekto PDP a besoin de certaines informations sur l’utilisateur qu’il obtient avec des requêtes d’attributs SAML envoyées à Protekto IDP.