Jai lu quelque chose selon lequel la construction HMAC est capable de réduire le problème des collisions dans le hachage sous-jacent.

Cela signifie-t-il que quelque chose comme HMAC-MD5 peut toujours être considéré comme sûr pour authentifier les données chiffrées?

Commentaires

Réponse

Oui, il ny a actuellement aucune attaque connue sur HMAC-MD5.

En particulier, après les premières attaques par collision sur MD5, Mihir Bellare (lun des inventeurs de HMAC) a proposé une nouvelle preuve de sécurité pour HMAC qui ne nécessite pas de résistance aux collisions:

«  Résumé: Bellare, Canetti et Krawczyk (1996) ont prouvé que HMAC était un PRF en supposant que (1) la fonction de compression sous-jacente est une PRF, et (2) la fonction de hachage itérée est faiblement résistante aux collisions. Cependant, des attaques récentes montrent que lhypothèse (2) est fausse pour MD5 et SHA-1, supprimant la prise en charge basée sur la preuve pour HMAC dans ces cas. Cet article prouve que HMAC est un PRF sous la seule hypothèse que la fonction de compression est un PRF. Cela récupère une garantie basée sur la preuve puisquaucune attaque connue ne compromet la pseudo-aléatoire de la fonction de compression, et cela aide également à expliquer la résistance à lattaque que HMAC a montré même lorsquil est implémenté avec des fonctions de hachage dont la (faible) résistance aux collisions est compromise. Nous montrons également quune condition encore plus faible que PRF sur la fonction de compression, à savoir quil sagit dun MAC préservant la confidentialité, suffit à établir que HMAC est un MAC sécurisé tant que la fonction de hachage répond à lexigence très faible dêtre presque universel, où encore une fois la valeur réside dans le fait que les attaques connues ninvalident pas les hypothèses formulées. « 

Cependant, cela non signifie que vous devez utiliser HMAC-MD5 dans les nouvelles conceptions de systèmes de cryptage. Pour paraphraser Bruce Schneier, «  les attaques ne font que saméliorer, jamais pires. « Nous avons déjà des attaques par collision pratiques pour MD5, montrant quil ne remplit pas ses objectifs de sécurité dorigine; il est possible que, dun jour à lautre, quelquun trouve un moyen de les étendre à une nouvelle attaque qui compromettrait la sécurité du HMAC-MD5. Un bien meilleur choix serait dutiliser HMAC avec une fonction de hachage nayant aucune attaque connue, telle que SHA-2 ou SHA-3.

Commentaires

  • SHA-2 a des attaques connues: en.wikipedia.org/wiki/SHA-2
  • @baptx Tout la primitive cryptographique a " attaques connues ". La question est de savoir sils cassent le nombre total de tours de manière significative. Pour SHA-2, ils ne sont actuellement pas ' t. À moins que vous ne puissiez prouver que SHA-2 a été interrompu de manière significative, je voudrais supprimer ces commentaires de la réponse.
  • " les attaques récentes montrent cette hypothèse (2) est faux pour MD5 " quelles attaques récentes? lattaque du préfixe choisi? pourquoi cela signifie-t-il cela?

Réponse

La réponse dIlmari Karonen est correcte lorsque HMAC est utilisé pour son mais cela ne signifie pas que le HMAC n’est pas du tout affecté par les collisions de MD5:

hmac

Étant donné une clé spécifique, notez que K xor opad et K xor ipad sont indépendants du message m. Cela signifie que toute collision dans H((K xor ipad) || m) entraînera une collision HMAC, même avec deux messages différents.

Pour HmacMd5, K xor ipad aurait une longueur de 64 octets. Donc, si vous trouvez deux messages m1 et m2 avec au moins un préfixe commun de 64 octets pre, vous pouvez calculer une clé K = pre xor ipad qui créera une collision entre H((K xor ipad) || m1) et H((K xor ipad) || m2), leadi ng à une collision complète dans tout le HMAC.

Ceci peut être exploité de deux manières:

  • Vous ne faites pas confiance à la personne qui a généré la clé, et HMAC est mal utilisé comme une sorte de somme de contrôle.
  • Un attaquant accède à la clé, et peut utiliser lattaque de préfixe choisie par MD5 pour provoquer des collisions.

Mais comme le La réponse indique que si la clé est secrète et contrôlée par vous ou des parties de confiance, HmacMd5 est toujours sécurisé.

Commentaires

  • Oui, il y avait déjà ce genre de réponse jusquà ce quil soit supprimé. La question indique explicitement " pour authentifier les données chiffrées ". Lutilisation pour calculer les sommes de contrôle et la disponibilité de la clé sont perpendiculaires à cette partie de la question. Bienvenue dans crypto de toute façon, ce genre de réponses bien écrites sont les bienvenues ici!
  • Je suis daccord, cependant ces informations seront utiles à beaucoup de personnes arrivant sur cette page et elles ne donnent pas dinformations incorrectes avec respect à la question initiale. Il indique clairement que hmacmd5 est toujours sécurisé sil est utilisé correctement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *