Guide d'autodéfense numérique

Prenons un exemple : Alice a écrit un programme et le distribue sur des CD, que l’on peut trouver dans des clubs d’utilisateurs de GNU/Linux. Betty a envie d’utiliser le programme d’Alice, mais se dit qu’il aurait été très facile pour une administration mal intentionnée de remplacer un des CD d’Alice par un logiciel malveillant.

Elle ne peut pas aller chercher un CD directement chez Alice, qui habite dans une autre ville. Par contre, elle a rencontré Alice il y a quelque temps, et connaît sa voix. Elle lui téléphone donc, et Alice lui donne la somme de contrôle du contenu du CD :

CD d’Alice ⇻ 94d93910609f65475a189d178ca6a45f
             22b50c95416affb1d8feb125dc3069d0

Betty peut ensuite la comparer avec celle qu’elle génère à partir du CD qu’elle s’est procuré :

CD de Betty ⇻ 94d93910609f65475a189d178ca6a45f 22b50c95416affb1d8feb125dc3069d0

Comme les nombres sont les mêmes, Betty est contente, elle est sûre de bien utiliser le même CD que celui fourni par Alice.

Calculer ces sommes de contrôle ne prend pas beaucoup plus de temps que la lecture complète du CD… soit quelques minutes tout au plus.

Maintenant, mettons-nous dans la peau de Carole, qui a été payée pour prendre le contrôle de l’ordinateur de Betty à son insu. Pour cela, elle veut créer un CD qui ressemble à celui d’Alice, mais qui contient un logiciel malveillant.

Malheureusement pour elle, la fonction de hachage ne va que dans un sens. Elle doit donc commencer par se procurer le CD original d’Alice.

Ensuite, elle modifie ce CD pour y introduire le logiciel malveillant. Cette première version ressemble de très près à l’original. Cela pourrait duper plus d’une personne qui ne ferait pas attention, mais elle sait que Betty verifiera la somme de contrôle du CD qui lui permettra d’installer la nouvelle version.

Comme Alice utilise la fonction de hachage SHA256, qui n’a pas de défaut connu, il ne reste à Carole qu’à essayer un très grand nombre de variation des données de son CD, cela dans l’espoir d’obtenir une collision, c'est-à-dire la même somme de contrôle que celle d’Alice.

Malheureusement pour elle, et heureusement pour Betty, même avec de nombreux ordinateurs puissants, les chances de réussite de Carole dans un temps raisonnable (mettons, quelques années) sont extrêmement faibles.

Il suffit donc de se procurer une empreinte, ou somme de contrôle, par des intermédiaires de confiance pour vérifier l’intégrité de données. Tout l’enjeu est ensuite de se procurer ces empreintes par un moyen de confiance, c'est à dire pouvoir vérifier leur authenticité