Question d'origine :
Bonjour,
La double authentification permet de se connecter à l'aide d'un mot de passe et d'une clé USB compatible U2F.
Malgré l'ensemble de mes recherches, je n'arrive pas à trouver une explication simple sur la façon donc le serveur valide la clé ... Quel est le secret partagé ?
Il est question d'un échange d'un paquet de données qui est chiffré par HMAC-SHA1 mais rien d'assez précis pour ma compréhension.
Merci
Réponse du Guichet
gds_db
- Département : Equipe du Guichet du Savoir
Le 27/05/2019 à 13h39
Bonjour,
Le code d'authentification HMAC utilise une fonction de hachage cryptographique en combinaison avec une clé secrète.
Il est combiné à une " fonction itérative de hachage qui découpe un message en blocs de taille fixe et itère dessus avec une fonction de compression. Par exemple, MD5 et SHA-1 opèrent sur des blocs de 512 bits. La taille de la sortie HMAC est la même que celle de la fonction de hachage (128 ou 160 bits dans les cas du MD5 et SHA-1), bien qu'elle puisse être tronquée si nécessaire."
source : Wikipedia
" L’algorithme HMAC est une alternative de l’algorithme MAC, consistant à protéger l’intégrité d’un message ainsi que l’authenticité de l’expéditeur, par l’utilisation d’un mécanisme de protection de l’intégrité qu’est la fonction de Hash. Le processus d’authentification de l’expéditeur suppose le partage d’une clé secrète partagée.
Le but de MAC est d’authentifier à la fois la source d’un message et son intégrité sans l’utilisation de mécanismes additionnels. HMAC possède deux paramètres fonctionnellement différents,un message en entrée et une clé secrète connue uniquement par l’expéditeur du message et son récipiendaire .
Des applications additionnelles des fonctions de hachage par clé (keyed-hash functions) comprennent leur utilisation dans des protocoles de challenge-response pour calculer les réponses.
Une fonction HMAC est utilisée par l’expéditeur d’un message pour produire une valeur, le Code d’Authentification de Message (MAC, Message Authentication Code) formé en condensant la clé secrète et le message en entrée.
Le code est typiquement envoyé au destinataire du message en même temps que le message. Le destinataire traite le code MAC du message reçu en utilisant la même clé et la fonction HMAC de la même façon que l’expéditeur. Il va comparer les résultats obtenus. Si les deux valeurs de hash sont identiques, le message a été correctement reçu (sans altération) et le destinataire est assure que l’expéditeur est un membre de la communauté d’utilisateurs partageant la même clé.
Il faut noter que HMAC traite la fonction de hash comme une boîte noire dont il ignore tout. La raison est de permettre de remplacer le module contenant la fonction de hash par n’importe quel autre algorithme qui serait plus sûr ou plus pertinent. Rappelons que la robustesse d’un algorithme MAC dépend de la « force cryptographique » de l’algorithme de hash embarqué.
La taille des blocs dépend de la fonction de hash implémentée. "
Nous vous laissons poursuivre la lecture de cet article du site Secuinfo.fr qui semble présenter de manière claire le fonctionnement du code d'authentification HMAC.
La référence technique du HMAC : RFC 2104 sur IETF.
Un complément d'information sur le SHA :
" Le SHA - secure hash algorithm - est un algorithme de hachage utilisé par les autorités de certification pour signer certificats et CRL (certificate revocation list). Introduit en 1993 par la NSA avec le SHA0, il est utilisé pour générer des condensats uniques (donc pour "hacher") de fichiers.
Exemple : Un fichier haché en SHA1 pourrait donner :
752c14ea195c369bac3c3b7896975ee9fd15eeb7
Comme toute solution cryptographique, le SHA se doit d'évoluer en même temps que les capacités de calcul de nos ordinateurs et éviter de devenir vulnérable.
Il existe donc plusieurs versions de SHA : SHA0 (obsolète puisque totalement vulnérable), SHA1 (actuellement le plus utilisé) , SHA2 (qui nous intéresse) et enfin le tout dernier SHA3 né en 2012. "
source : Tout sur les algorithmes de hachage SHA1, SHA2 et le SHA256 / TBS certificats
Le fonctionnement de SHA-1 est décrit sur Wikipedia.
Vous pouvez vous amuser à crypter et décrypter des messages sur des sites spécialisés comme par exemple md5decrypt.net .
Nous vous laissons décrypter ce message :
f087465f7f26a52075ef32aa360c523c76a1745d
En espérant que ces quelques informations vous aient aidées à mieux comprendre le fonctionnement de l'Authentification HMAC-SHA1.
Bonne journée.
Le code d'authentification HMAC utilise une fonction de hachage cryptographique en combinaison avec une clé secrète.
Il est combiné à une " fonction itérative de hachage qui découpe un message en blocs de taille fixe et itère dessus avec une fonction de compression. Par exemple, MD5 et SHA-1 opèrent sur des blocs de 512 bits. La taille de la sortie HMAC est la même que celle de la fonction de hachage (128 ou 160 bits dans les cas du MD5 et SHA-1), bien qu'elle puisse être tronquée si nécessaire."
source : Wikipedia
" L’algorithme HMAC est une alternative de l’algorithme MAC, consistant à protéger l’intégrité d’un message ainsi que l’authenticité de l’expéditeur, par l’utilisation d’un mécanisme de protection de l’intégrité qu’est la fonction de Hash. Le processus d’authentification de l’expéditeur suppose le partage d’une clé secrète partagée.
Le but de MAC est d’authentifier à la fois la source d’un message et son intégrité sans l’utilisation de mécanismes additionnels. HMAC possède deux paramètres fonctionnellement différents,
Le code est typiquement envoyé au destinataire du message en même temps que le message. Le destinataire traite le code MAC du message reçu en utilisant la même clé et la fonction HMAC de la même façon que l’expéditeur. Il va comparer les résultats obtenus. Si les deux valeurs de hash sont identiques, le message a été correctement reçu (sans altération) et le destinataire est assure que l’expéditeur est un membre de la communauté d’utilisateurs partageant la même clé.
Il faut noter que HMAC traite la fonction de hash comme une boîte noire dont il ignore tout. La raison est de permettre de remplacer le module contenant la fonction de hash par n’importe quel autre algorithme qui serait plus sûr ou plus pertinent. Rappelons que la robustesse d’un algorithme MAC dépend de la « force cryptographique » de l’algorithme de hash embarqué.
La taille des blocs dépend de la fonction de hash implémentée. "
Nous vous laissons poursuivre la lecture de cet article du site Secuinfo.fr qui semble présenter de manière claire le fonctionnement du code d'authentification HMAC.
La référence technique du HMAC : RFC 2104 sur IETF.
Un complément d'information sur le SHA :
" Le SHA - secure hash algorithm - est un algorithme de hachage utilisé par les autorités de certification pour signer certificats et CRL (certificate revocation list). Introduit en 1993 par la NSA avec le SHA0, il est utilisé pour générer des condensats uniques (donc pour "hacher") de fichiers.
Exemple : Un fichier haché en SHA1 pourrait donner :
752c14ea195c369bac3c3b7896975ee9fd15eeb7
Comme toute solution cryptographique, le SHA se doit d'évoluer en même temps que les capacités de calcul de nos ordinateurs et éviter de devenir vulnérable.
Il existe donc plusieurs versions de SHA : SHA0 (obsolète puisque totalement vulnérable),
source : Tout sur les algorithmes de hachage SHA1, SHA2 et le SHA256 / TBS certificats
Le fonctionnement de SHA-1 est décrit sur Wikipedia.
Vous pouvez vous amuser à crypter et décrypter des messages sur des sites spécialisés comme par exemple md5decrypt.net .
Nous vous laissons décrypter ce message :
f087465f7f26a52075ef32aa360c523c76a1745d
En espérant que ces quelques informations vous aient aidées à mieux comprendre le fonctionnement de l'Authentification HMAC-SHA1.
Bonne journée.
DANS NOS COLLECTIONS :
Ça pourrait vous intéresser :
Commentaires 0
Connectez-vous pour pouvoir commenter.
Se connecter