Assiste.com - Sécurité informatique - Vie privée sur le Web - Neutralité d'Internet

cr  03.08.2022      r+  16.05.2023      r-  20.04.2024      Pierre Pinard.         (Alertes et avis de sécurité au jour le jour)

En informatique et en cryptographie, une empreinte cryptographique est le résultat de l'application d'une fonction de hachage sur une donnée, ce qui permet d'obtenir un hashcode de cette donnée. C'est une empreinte cryptographique, un chiffre clé, court, de cette donnée, même si la donnée elle-même est infiniment longue.

On choisit une fonction de hachage irréversible :

  • Le hashcode obtenu ne peut pas être cassé (il ne permet pas de remonter à la donnée initiale).

  • La fonction de hachage ne produit pas de collision (jamais le même hashcode pour deux données différentes).

L'empreinte cryptographique obtenue permet des applications multiples. Citons les deux utilisations quotidiennes transparentes des empreintes cryptographiques :

  • Partout (réseaux sociaux, sites d'organisations gouvernementales, banques, caisses de retraite, Sécurité Sociale, Forums de discussion, etc.) et à longueur de journée, on vous demande de vous identifier. Lorsque vous vous êtes inscrit et avez choisi un mot de passe, une fonction de hachage choisie par l'opérateur (le webmaster) du site a calculé l'« empreinte cryptographique » de ce mot de passe et l'a stockée, sans stocker le mot de passe lui-même. Une bonne fonction de hachage ne permet pas de remonter de l'« empreinte cryptographique » au mot de passe d'origine (il y a des fonctions de hachage faibles, comme MD5, qui, avec des mécanismes comme les tables arc-en-ciel, sont cassées - les webmasters doivent choisir des fonctions de hachage fortes, comme SHA-256. Lorsque l'on vous demande de vous authentifier, vous saisissez votre mot de passe. La fonction de hachage calcule à nouveau le hashcode (l'« empreinte cryptographique ») et ce sont ces deux hashcodes qui sont comparés. Les mots de passe en clair sont totalement ignorés (ils n'existent pas) et ne peuvent être reconstitués (il faudrait implanter des malveillances telles que des spywares ou des keyloggers dans votre ordinateur (ou jouer à l'ingénierie sociale avec vous) pour les révéler.

  • Votre antivirus passe son temps à surveiller les fichiers exécutables que vous manipulez. Il cherche en permanence, dans sa base de signatures, s'il connaît ce fichier (ce code), en faisant des comparaisons. Il est évident que la base de signatures ne contient pas les fichiers eux-mêmes (il y a des centaines de millions de fichiers malveillants). La base de signatures ne contient que des hashcodes. L'antivirus calcule l'« empreinte cryptographique » du fichier à analyser et vérifie si cette « empreinte cryptographique » figure dans sa base de signatures. La base de signatures locale, dans votre ordinateur, est déjà monstrueusement grosse et, si le hashcode n'y figure pas alors que l'antivirus a un doute, il poursuit par une recherche dans une base de signatures étendue, déportée sur les serveurs de l'éditeur. Il tombe sous le sens que l'envoie d'un hashcode est bref alors que s'il fallait envoyer le fichier complet, cela écroulerait le temps de réponse de l'antivirus et consommerait une large part de la bande passante Internet.

Si l'empreinte cryptographique n'est pas encore répertoriée dans la base de signatures de l'antivirus, celui-ci n'a jamais rencontré cette donnée (ce fichier). Le service antivirus récupère alors le fichier complet pour l'analyser de manière approfondie. Il est évident que l'antivirus doit vous demander l'autorisation de cet envoi, car ce comportement peut dévoiler (révéler) des contenus privés ou confidentiels relevant de la vie privée ou de secrets industriels ou commerciaux, etc.

Il y a d'autres méthodes utilisées par les antivirus (calculs heuristiques, sandbox, etc.), mais ce n'est pas l'objet de cet article sur les empreintes cryptographiques.