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

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

Utilisation d’algorithmes normalisés produisant des hashcodes dont l’un des usages est de signer une donnée lors de son transport.

Calcul algorithmique de la valeur cryptographique d'une donnée pure, totalement indépendamment de son enveloppe :

  1. Nom du fichier qui la contient
  2. Format du fichier
  3. Attributs du fichier
  4. Hiérarchie dans laquelle le fichier est contenu
  5. Etc.

L'un des usages de cette valeur est appelé, le plus couramment, « clé de signature », qui est employée pour s'assurer que le contenu du fichier, lors de sa duplication ou de son déplacement, est strictement identique à l'original, sans aucune perte ou altération.

Les termes suivants sont plus ou moins synonymes et souvent utilisés indifféremment. La valeur obtenue par l'algorithme de hach coding est toujours la même, quel que soit le nom qu'on lui donne. Le moment où l'un de ces termes est utilisé peut, parfois, préciser l'étape ou l'usage dont il est parlé.

  1. Clés de signature.
  2. Clés de hachage.
  3. Valeurs de hachage.
  4. Code de hachage.
  5. Résumés de hachage.
  6. Hachage.
  7. Hach.

En contrôle d'intégrité, on utilisera, de préférence, « Clés de signature ».

Une imbécilité dramatique avec les « clés de hachage » courtes utilisées en « clés de signature » fut l’antivirus « Viguard » qui déboucha sur la non détection de virus connus, la détection en « virus » de chaines de caractères inoffensives et une infinité de batailles juridiques, procès et escroqueries.




Si un algorithme de hachage donne un condensat (clés de hachage) identique pour des données (chaînes de caractères) différentes, les clés de hachage n’ont aucune organisation alphanumérique. Les trier pour les trouver et tenter de remonter aux chaînes originelles ne donnera strictement rien. Le principe est de ne surtout pas pouvoir remonter de la clé à la chaîne initiale. La clé sert uniquement à dire que deux (ou plusieurs) chaînes sont strictement identiques, sans que l’on puisse savoir quelle est la chaîne ni quoi que ce soit sur son contenu.

Par contre, créer une table de clés de hachages triées (technologie du « séquentiel indexé ») peut permettre de trouver rapidement, dans une base de données privée des clés de hachage, si l'on dispose de la clé, donc si l'on dispose de la donnée (sans jamais dire où elle se trouve, ni donner son contenu – la clé n’est pas faite pour cela – la signature est aveugle, anonyme).

L’algorithme choisi doit simplement ne pas générer de clés identiques pour des données différentes. Plus le nombre de bits de la clé est grand (512, 1024…), moins les collisions sont probables, mais elles ne sont jamais impossibles.

Les fonctions de hachage ne sont pas :

  • Des sommes de contrôle.
  • Des chiffres de contrôle.
  • Des compressions avec pertes.
  • Des codes de correction d'erreurs.
  • Des chiffrements de données.

La fonction de hachage sert à vérifier l’intégrité d’une duplication, c'est tout.

Autre usage :
La fonction de hachage sert également à cacher une donnée, par exemple la vérification d’un mot de passe, en ne transférant que la clé de hachage à comparer à la clé de hachage stockée d’origine, sans jamais courir le risque de révéler le mot de passe en lui-même (même en utilisant un cryptage, souvent primitif et cassable pour des raisons de vitesse ce calcul).