web-dev-qa-db-fra.com

HMAC vs Hash MD5 simple

Quelqu'un peut-il indiquer l'avantage de l'utilisation de HMАC?

Par exemple, si j'ai un texte T et une clé K, je peux utiliser l'algorithme HMAC-MD5 Ou Md5(T + K) pour obtenir une signature.

46
user496949

Le article Wikipedia sur HMAC en donne une bonne explication.

Dans la section Sécurité du même article, il poursuit:

Les HMAC sont beaucoup moins affectés par les collisions que leurs algorithmes de hachage sous-jacents seuls.

Ainsi, l'ajout d'un HMAC à un hachage MD5 rendrait beaucoup plus difficile la rupture via une table Rainbow.

26
Evan M

HMAC n'est pas susceptible d'attaques d'extension de longueur.

md5 (T + K) devrait convenir à la plupart des utilisations, à moins que votre adversaire ne soit motivé à falsifier votre message et ait une très bonne puissance de calcul. Tant que vous contrôlez T, les attaques d'anniversaire ne sont pas applicables et vous n'avez que des attaques par force brute. Mais il est bon d'être conscient des limites. Si vous souhaitez suivre cette approche, vous pouvez utiliser SHA1 (T + K) au lieu de MD5.

md5 (T + K) est certainement meilleur que md5 (K + T) où un attaquant peut ajouter du texte à votre message et générer un autre MAC valide.

Avec md5 (T + K), le problème est que si un attaquant peut trouver une collision avec T2 telle que md5 (T) = md5 (T2), alors md5 (T + K) = md5 (T2 + K). Mais cela nécessite une attaque par force brute.

Remarque: je dis "tant que vous contrôlez T", car si des modifications peuvent être apportées à T (de telle manière que ce n'est pas évident), on peut essayer de générer 2 messages T1 et T2 où T1 peut passer pour T et md5 (T1) = md5 (T2). Maintenant, c'est relativement plus facile à faire (nous parlons de 2 ^ 64 au lieu de 2 ^ 128) et la raison en est le soi-disant paradoxe d'anniversaire ou l'attaque d'anniversaire.

Remarque: La conception de HMAC était motivée pour éviter ce type d'attaques d'extension. Il n'y a aucune attaque connue contre HMAC.

38
Babu Srinivasan

Je recommanderais de lire les documents HMAC par Bellare, Canetti et Krawczyk.

5
Zed