Intégrité ET authenticité
Un simple hachage ne suffit pas
Le hachage cryptographique offre l'intégrité : la moindre modification du message change complètement l'empreinte. Mais cette garantie a une limite que l'on oublie souvent.
Ce que le hachage protège vraiment
Une fonction de hachage comme SHA-256 est publique. N'importe qui peut l'appliquer à n'importe quel message. C'est justement sa force pour vérifier un téléchargement : vous comparez l'empreinte affichée sur le site à celle que vous calculez chez vous.
Mais cette ouverture est aussi sa faiblesse dès qu'un attaquant actif entre en scène, c'est-à-dire quelqu'un capable non seulement d'écouter le canal, mais de modifier ce qui y transite.
L'attaque contre « message + empreinte »
Imaginons qu'Alice envoie à Bob son message accompagné de son empreinte, sans aucun secret :
Alice ---> [ message M ] [ H(M) ] ---> Bob
Mallory intercepte au milieu
et remplace tout par M' :
Alice ---> Mallory ---> [ M' ] [ H(M') ] ---> Bob
Mallory forge un faux message M', recalcule lui-même H(M') avec la même fonction publique, et transmet le couple à Bob. Ce dernier vérifie : l'empreinte reçue correspond bien au message reçu. Tout semble intact. Pourtant le message a été entièrement remplacé.
Le hachage seul a échoué non pas parce qu'il est cassé, mais parce que rien ne lie l'empreinte à l'identité d'Alice. Tout le monde sait calculer H.
Il manque une clé
La solution est d'introduire un secret partagé entre Alice et Bob, une clé que Mallory ne connaît pas. Si l'empreinte ne peut être calculée qu'avec cette clé, alors Mallory ne peut plus la reforger.
On distingue ainsi deux propriétés :
| Propriété | Question posée | Assurée par |
|---|---|---|
| Intégrité | Le message a-t-il été modifié ? | hachage |
| Authenticité | Vient-il bien du bon émetteur ? | clé secrète |
Un simple hachage donne l'intégrité contre les accidents (erreurs de transmission, disque corrompu), mais pas contre un adversaire déterminé. Pour résister à un attaquant actif, il faut les deux propriétés à la fois, et cela impose une clé partagée entre les deux correspondants.
Autrement dit, le hachage répond à la question « ce message est-il cohérent ? », mais pas à la question « ce message vient-il vraiment d'Alice ? ». Seul un secret connu d'elle seule (et de Bob) permet de répondre à la seconde.
En résumé
Une empreinte seule ne prouve rien sur l'origine du message : la fonction de hachage étant publique, un attaquant actif qui modifie le message peut recalculer l'empreinte correspondante. Il faut distinguer l'intégrité (message non modifié) de l'authenticité (bon émetteur). Garantir les deux face à un adversaire exige un secret partagé : c'est l'objet du MAC.

