Introduction à HMAC

HMAC signifie Hash-based Message Authentication Code. Il existe différents algorithmes de résumé des messages. L'objectif derrière HMAC est de réutiliser ces algorithmes de résumé de message. Il est développé pour implémenter l'environnement de sécurité du protocole Internet. HMAC fonctionne avec n'importe quel algorithme de résumé de messages. Il utilise l'algorithme de résumé de message sur le message d'origine, il utilise également une clé symétrique pour crypter le résumé de message, qui produit le MAC (Message Authentication Code). HMAC est similaire à MAC, la différence est dans HMAC, il utilise un algorithme basé sur le hachage. Le code d'authentification de message basé sur le hachage est également utilisé dans le protocole SSL (Secure Socket Layer). De plus, HMAC est plus rapide à calculer. Même si la fonction de hachage sous-jacente est rompue, HMAC fournira toujours une meilleure sécurité. Dans cet article, nous allons discuter du concept de base du code d'authentification de message basé sur le hachage et cela fonctionne.

Comment fonctionne HMAC?

Voyons maintenant le fonctionnement du code d'authentification de message basé sur le hachage.

Étape 1: Rendez la longueur de la clé symétrique égale à plusieurs bits dans chaque bloc.

Il y a trois possibilités, basées sur chacune, nous devons agir pour égaler la longueur de la clé au nombre de bits. La longueur d'une clé est inférieure au nombre de bits dans chaque bloc. Dans ce cas, pour égaler la longueur d'une clé à plusieurs bits, nous devons étendre la longueur de la clé en ajoutant plusieurs 0 bits.

La longueur d'une clé est égale à plusieurs bits dans chaque bloc. En cela, nous n'avons besoin d'effectuer aucune action car la clé est égale au nombre de bits. La longueur d'une clé est supérieure au nombre de bits dans chaque bloc. Dans ce cas, pour égaler la longueur de la clé en nombre de bits, nous devons couper la clé en appliquant l'algorithme de résumé de message que nous utiliserons pour produire le HMAC.

Étape 2: XOR symétrique avec pad.

Dans cette étape, nous XOR le symétrique avec le pad pour produire une variable appelée S1.

Remarque : pad = Il s'agit d'une chaîne 00110110 répétée b / 8 fois.

Étape 3: ajoutez le message d'origine à S1.

Dans cette étape, nous ajoutons le message d'origine à la fin de S1.

Étape 4: appliquez l'algorithme de résumé de message.

Dans cette étape, nous appliquons l'algorithme de résumé de message sélectionné (MD5, SHA-1, SHA-512, etc.) à la sortie de l'étape 3. Supposons que la sortie de cette étape 4 soit H

Étape 5: Clé symétrique XOR avec pavé.

Dans cette étape, XOR la ​​clé symétrique avec pad pour produire la variable appelée S2.

Remarque : pad = Il s'agit d'une chaîne 01011010 répétée b / 8 fois.

Étape 6: Ajoutez H à S2.

Dans cette étape, nous prenons le résumé de message qui est calculé à l'étape 4 et l'ajoutons au et du S2 qui est dérivé à l'étape précédente, c'est-à-dire à l'étape 5.

Étape 6: algorithme de résumé des messages.

Dans cette étape, nous appliquerons l'algorithme de résumé de message sélectionné à la sortie de l'étape 6. le résumé de message généré de cette étape est le MAC final.

Inconvénients de HMAC

  • Laissez-nous discuter de certains problèmes que nous pouvons rencontrer dans le code d'authentification de message basé sur le hachage.
    Comme nous l'avons vu précédemment, le code d'authentification de message basé sur le hachage utilise une clé symétrique. La clé symétrique signifie la même clé utilisée par l'expéditeur et le destinataire. Le problème qui se pose ici est de savoir comment l'expéditeur et le destinataire échangeront la clé?.
  • D'une manière ou d'une autre le problème ci-dessus, l'échange de clé symétrique est résolu, nous ne pouvons pas utiliser le code d'authentification de message basé sur le hachage dans le cas de plusieurs récepteurs. cela est dû au fait que HMAC utilise la clé symétrique pour générer MAC. La clé symétrique ne doit être partagée que par deux parties, à savoir l'expéditeur et le destinataire.
  • Un autre problème est, si nous partageons la symétrie avec plusieurs parties, comment le destinataire sait que le message a été préparé et envoyé par l'expéditeur, pas les autres destinataires, les clés sont également partagées avec eux, il y a donc la possibilité de fraude que l'un des les récepteurs peuvent créer de faux messages.

Conclusion

Dans cet article, nous avons vu le concept de base du code d'authentification de message basé sur le hachage et cela fonctionne.

Article recommandé

Ceci est un guide de HMAC. Nous discutons ici de l'introduction au code d'authentification de message basé sur le hachage et de son fonctionnement avec des inconvénients. Vous pouvez également consulter nos articles suggérés pour en savoir plus -

  1. Cryptage à clé symétrique avec avantages
  2. Qu'est-ce que le test de protocole | Pourquoi est-il utilisé?
  3. Introduction aux 7 meilleurs outils IPS
  4. Introduction aux outils de test de régression