Sobes.tech
Middle+

Qu'est-ce que HMAC?

sobes.tech IA

Réponse de l'IA

HMAC (Code d’authentification de message basé sur une fonction de hachage) est un mécanisme pour vérifier l’authenticité et l’intégrité d’un message en utilisant une fonction de hachage et une clé secrète.

Il fonctionne comme suit :

  1. Le message et la clé secrète sont traités via une fonction de hachage d’une manière spécifique.
  2. En résultat, un code de hachage unique (HMAC) est généré.
  3. Ce HMAC est envoyé avec le message.
  4. Le destinataire, ayant le même message et la même clé secrète, calcule à nouveau le HMAC.
  5. Si le HMAC calculé correspond à celui reçu, on considère que le message n’a pas été modifié et provient d’une source possédant la clé secrète.

HMAC_K(m) = Hash((K ⊕ opad) || Hash((K ⊕ ipad) || m))

Où :

  • K — clé secrète.
  • m — message.
  • Hash — fonction de hachage utilisée (par exemple, SHA-256).
  • || — concaténation.
  • — opération XOR.
  • ipad (tampon intérieur) et opad (tampon extérieur) — constantes utilisées dans l’algorithme.

La différence avec une fonction de hachage normale est que HMAC utilise une clé secrète, ce qui le rend résistant à certains types d’attaques visant à falsifier le hash.

Applications en développement web :

  • Tokens Bearer : Pour créer et vérifier des tokens d’authentification.
  • Signature des requêtes : Pour vérifier l’authenticité des requêtes à l’API.
  • Vérification des données : Garantie que les données n’ont pas été modifiées lors de la transmission.

Avantages :

  • Haute résistance cryptographique.
  • Compatible avec différentes fonctions de hachage.
  • Facile à implémenter.