Code libéré : Authentification HMAC

Lucie Lesage25/08/2022


HMAC

de l’anglais "hash-based message authentication code" signifie code d’authentification de message basé sur le hachage

Code disponible sur notre GitHub

Ce code a été développé grâce au financement du département de la Haute-Vienne.

Il est disponible sous licence LGPLv3, sur notre GitHub, dans le répertoire "authentication-hmac".

Grâce à ce code, vous pouvez mettre en place une délégation d’authentification vers Alfresco.

Par exemple, l’application Zimbra se connecte à Alfresco "en tant que" l’utilisateur Lucie. Elle évite à l’application – ici Zimbra – de "stocker" en mémoire le mot de passe d’un utilisateur.

Question concernant son utilisation

Dans quel cas l’utiliser ? Dans quel cas ne pas l’utiliser ?

Pour s’authentifier sur Alfresco à partir d’une autre application, dans le cas où il est impossible de mettre en place une authentification unifiée (ou SSO pour Single Sign On).

C’est utilisé, par exemple, pour consulter les documents de Alfresco depuis Zimbra, dans le cas où l’on ne peut pas utiliser Kerberos ou une solution OAuth.

Ce mécanisme repose sur le partage d’un secret (clé), qui est détenu par les deux applications. Par conséquent, le HMAC ne doit pas être utilisé par une application ne pouvant pas protéger ce secret.

Par exemple les applications JavaScript, qui sont chargées sur le navigateur de l’utilisateur.

C’est pourquoi, on utilise ce mécanisme si et seulement si les deux applications sont sur le même réseau sécurisé.

Quels sont ces avantages ? Quelles sont ces contraintes ?

Cette solution est très facile à mettre en œuvre.

Il faut sécuriser très fortement la clé d’authentification, et planifier un renouvellement de la clé régulier.

Quel est le niveau de sécurité ? Alors, quand s’en servir ?

Bien que sécurisée cette solution expose un risque très important en cas de compromission de la clé. C’est une solution à utiliser en dernier recours et dans un environnement bien maitrisé.

Il faut privilégier cette solution pour l’intégration de logiciels anciens ne proposant pas encore de solutions modernes type Kerberos ou OAuth.

Qu’est-ce qu’un logiciel libre ? Consultez notre page dédié sur le sujet sur Pristy.fr.

Vous pouvez participer aux développements de ce code : utilisez GitHub, dans le répertoire "authentication-hmac" si vous avez des corrections, des suggestions, des questions, etc. Là est le principe du logiciel libre et open source !


A propos de JECI

Maintenance Logicielle, Conteneur (Docker, Kubernetes), Alfresco Community, Logiciels Libres
SARL - Capital : 100 000 €, immatriculée au RCS de Dijon

Nous contacter

+33 9 72 38 21 92 info@jeci.fr

2013-2022 Jeci | Mixed with v4.6.1 | Baked with JBake v2.6.7 | Photo by iMattSmart via Unsplash | Mentions légales