Algorithmes de hachage SHA1, SHA2 et le SHA256

SSILEX utilise nativement dans sa première version SHA-512, mais qu’est-ce que le SHA ?

SHA – secure hash algorithm – est un algorithme de hashing que les autorités de certification utilisent pour s’assurer de l’authenticité d’une signature. SHA0 fut Introduit en 1993 par la NSA pour générer des condensats uniques de fichiers. SHA0 est aujourd’hui abandonné car devenu totalement vulnérable.

Par exemple, une ressource hachée en :

  • SHA-1 : 86f7e437faa5a7fce15d1ddcb9eaeaea377667b8
  • SHA-2 : ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48bb
  • SHA-2512  : 1f40fc92da241694750979ee6cf582f2d5d7d28e18335de05abc54d0560e0f5302860c652bf08d560252aa5e74210546f369fbbbce8c12cfc7957b2652fe9a75
  • SHA-3 512 : 697f2d856172cb8309d6b8b97dac4de344b549d4dee61edfb4962d8698b7fa803f4f93ff24393586e28b5b957ac3d1d369420ce53332712f997bd336d09ab02a

Il existe donc plusieurs versions de SHA : SHA1 (1995, actuellement le plus utilisé), SHA2 (2006, qui nous intéresse) et enfin le tout dernier SHA3 né en 2012.

SHA2

Le SHA2, encore peu répandu, est le successeur de SHA1 et comprend 4 types de hash : SHA224, SHA256, SHA384 et SHA512.

Il fonctionne sur le même principe que SHA1 mais est plus résistant aux attaques et donne un condensat plus long.

Il existe 2 types d’attaques spécifiques à SHA :

  • La collision : une collision se produit lorsque 2 fichiers différents produisent le même condensat. Dans ce cas il est alors possible de substituer un fichier à un autre. Dans notre secteur on pourrait dès lors imaginer remplacer un certificat officiel par un autre produisant les même valeurs de hash. SHA0 est vulnérable à la collision, c’est la raison pour laquelle il n’est plus utilisé aujourd’hui.
  • la pré-image : Il faut distinguer la pré-image et la pré-image secondaire. La première consiste à déterminer la valeur d’un fichier à partir de son condensat. La seconde à utiliser un condensat pour produire une valeur différente de celle à l’origine du hash.

Aucune collision complète n’a encore abouti avec SHA1, mais l’évolution des capacités de calculs le rendra bientôt obsolète. SHA2 est quant à lui totalement hermétique à la collision, il est donc temps de passer à SHA2 !

Nous savons que SHA1 est en cours de dépréciation par les navigateurs Internet (Internet Explorer, Google Chrome, …) et que la date butoire prévue pour sa disparition est à ce jour le 31/12/2016.

AuthorEmmanuel PESENTI

Directeur associé SSILEX