Qu’est-ce que SHA ? Guide au sujet de l’algorithme de hachage sécurisé.

Dans le monde moderne, les informations ne sont sécurisées que si elles ont été cryptées. Cela signifie prendre n’importe quel texte, graphique ou vidéo que vous avez et appliquer des processus mathématiques pour les rendre impénétrables aux tiers. À moins qu’ils aient la clé du calcul qui l’enferme en toute sécurité. Dans le monde du cryptage, les fonctions de hachage jouent un rôle clé. Ces algorithmes permettent aux outils de chiffrement de prendre du code ou du texte arbitraire et de les transformer en blocs fixes de données sécurisées. Et dans le monde du hachage de sécurité, aucun n’est plus important que la famille SHA.

Vous avez peut-être rencontré SHA lorsque vous utilisez des VPN ou tentez de sécuriser vos communications professionnelles. Ce n’est pas surprenant, car ce hachage est la méthode de cryptage standard utilisée sur le Web. Donc, si vous êtes intéressé par la sécurité en ligne, vous devez vous renseigner à ce sujet. Approfondissons ce sujet pour savoir comment fonctionne l’algorithme SHA et s’il est toujours aussi sûr qu’il l’était auparavant.


Une introduction rapide à l’algorithme SHA (Secure Hashing Algorithm)

Premièrement, SHA signifie Secure Hashing Algorithm (algorithme de hachage sécurisé). Ce sont les deux derniers mots qui nécessitent un peu de décompression avant que nous puissions passer aux variétés de l’algorithme de hachage sécurisé, alors allons-y.

Le hachage est un processus clé dans toutes les formes de cryptage. Fondamentalement, lorsque vous commencez avec un message qui doit être crypté, il doit passer par une fonction de hachage avant d’être entièrement crypté.

Les hachages sont des processus irréversibles, et ils sont généralement utilisés comme outils d’authentification. Pourquoi ? Parce que lorsque vous appliquez un hachage comme SHA, vous pouvez le comparer aux fichiers source, en veillant à ce que les deux correspondent. Lorsque cela se produit, vous pouvez être certain que les données n’ont pas été altérées pendant le transit.

Par conséquent, SHA et des algorithmes similaires sont souvent appelés fonctions de «vérification de fichier». Sans eux, nous ne saurions pas si les fichiers que nous cryptons et transmettons sont correctement reçus, et s’ils ont été endommagés ou corrompus délibérément.

La section «algorithme» de SHA a identifié le hachage comme une fonction mathématique. C’est-à-dire que cela fonctionne en appliquant un ensemble de règles mathématiques assurant un résultat uniforme. Cela ne signifie pas que les gens peuvent anticiper le résultat de la fonction de hachage. Cela signifie que les personnes qui utilisent cette fonction peuvent être assurées que cela fonctionne à chaque fois.


Un bref historique de l’algorithme de hachage sécurisé

Depuis 1993, le SHA est développé, mis à jour et distribué par l’Institut national des normes de la technologie (NIST). Il s’agit d’un organisme gouvernemental des États-Unis qui définit bon nombre des normes mondiales régissant l’utilisation d’Internet. Comme le montre l’histoire de SHA, l’institut élabore une politique depuis la création du WWW.

Cependant, il est important de savoir que l’algorithme SHA a évolué au cours de son histoire. En fait, la première version (SHA-0) a été retirée de la circulation presque immédiatement après sa sortie lorsque le NIST a détecté des faiblesses dans son intégrité. Il a été suivi par SHA-1, qui avait une durée de vie beaucoup plus longue. SHA-1 a été approuvé par la National Security Agency et est devenu un élément essentiel des protocoles populaires tels que IPSec et SSL. Mais même dans ce cas, à mesure que les défauts apparaissaient, le hash était progressivement supprimé.

En 2010, la NSA recommandait l’utilisation de SHA-2. Introduite en 2001, la troisième incarnation de SHA a maintenant été rejointe par SHA-3, parue en 2012. Ces deux versions sont le plus couramment utilisées par les agences gouvernementales et les entreprises, bien que les versions précédentes continuent à être appliquées, malgré des failles de sécurité.


À quoi sert SHA ?

Les agences gouvernementales utilisent régulièrement SHA-2 et SHA-3 pour s’assurer que les informations classifiées sont transmises sans être altérées de manière illicite ou corrompues en cours de route. C’est parce que le hachage permet d’identifier de manière presque étanche les données authentiques, ce qui empêche les utilisateurs de lire des données sans les détecter.

Le hachage de cryptage a également été utilisé par des entreprises pour protéger leur propriété intellectuelle. Par exemple, Nintendo a utilisé une version de l’algorithme SHA avec ses consoles Wii, leur permettant de s’assurer que seuls les téléchargements authentifiés peuvent être utilisés par les joueurs.

Les crypto-monnaies ont également adopté les algorithmes SHA. Bitcoin utilise le hachage pour s’assurer que chaque transaction de la blockchain peut être authentifiée, ce qui donne confiance à l’intégrité de la monnaie. En général, tout système utilisant des identifiants de «preuve de participation» aura tendance à utiliser une variante de SHA.


Comprendre les différents types d’algorithme SHA

Comme nous l’avons noté ci-dessus, l’algorithme de hachage sécurisé est passé par un certain nombre de versions différentes et il est probablement utile de passer en revue les différences. Le passage de SHA-1 à SHA-2 était particulièrement important du point de vue de la cybersécurité, nous allons donc nous concentrer sur cela plus en détail.

  • SHA-0 – La première version de l’algorithme de hachage, SHA-0 a été rapidement abandonnée, mais le projet s’est poursuivi malgré cet échec initial.
  • SHA-1 – Développé dans le cadre d’un projet du gouvernement américain appelé Capstone, SHA-1 a remplacé techniquement SHA-0 en 1995. Il n’a apporté qu’une modification mineure au fonctionnement réel de l’algorithme SHA, mais la NSA a assuré aux utilisateurs que ces modifications étaient fondamentales, et la nouvelle norme est devenue la norme dans le monde entier. Cependant, les experts en sécurité n’ont jamais développé une confiance totale dans le hash. En 2017, dans un article, Computerworld décrivait SHA-1 comme «complètement dangereux» et signalait qu’il était possible de créer deux fichiers .pdf avec la même signature de hachage. Heureusement, SHA-1 était sur le point de sortir.
  • SHA-2 – Créé en 2001, SHA-2 est une bête beaucoup plus complexe. Depuis sa sortie, il a également connu diverses évolutions, en ajoutant des variantes avec des condensés de bits 224, 256, 384, 512, 224/512 et 512/256 (par conséquent, de nombreuses personnes qualifient SHA-2 de “famille” de hachages). La plupart du temps, SHA-256 et SHA-512 sont une option de choix et sont maintenant couramment utilisés avec des navigateurs tels que Chrome ou Firefox pour authentifier des pages Web.
  • SHA-3 – SHA-2 existe depuis longtemps, mais la transition de SHA-1 n’est toujours pas terminée. Même dans ce cas, SHA-3 est désormais à l’ordre du jour depuis son introduction en 2015. La raison du développement d’un algorithme de hachage sécurisé de nouvelle génération était simple : SHA-2 n’a toujours pas effacé les vulnérabilités de hachage détectées avec SHA-1. SHA-3 se veut beaucoup plus sécurisé, rapide et flexible. Cependant, son support matériel et logiciel est bien plus faible que SHA-2, ce qui a considérablement ralenti son adoption. Son heure viendra, bien sûr, mais dans un avenir proche, son petit frère sera l’algorithme de hachage dominant. De plus, le NIST n’a pas encore recommandé de passer à SHA-3, considérant que des algorithmes tels que SHA-256 sont parfaitement sains.

Comment fonctionne l’algorithme SHA ?

Avant de parler de certaines des vulnérabilités potentielles liées aux algorithmes SHA, il est utile de récapituler ce que sont les hachages et leur fonctionnement, car toutes les versions répertoriées ci-dessus fonctionnent selon des lignes plus ou moins similaires.

Les hachages prennent les messages et les convertissent en ASCII, puis en code binaire, avant de convertir ce code binaire en un hachage de la bonne longueur (par exemple 512 bits). Cela implique généralement d’ajouter suffisamment de zéros pour compenser la différence.

Ensuite, la fonction de hachage crée une grille de termes binaires, qui sont «transformés» via des rotations et des opérations XOR. À la fin de la série de transformations (qui varie en fonction de la version que vous utilisez), il vous reste cinq variables binaires.

Ces variables peuvent ensuite être traduites en hexadécimal et combinées dans le hachage final. Vous avez probablement déjà vu ces codes, qui ressemblent à quelque chose comme ceci : 8463d4bf7f1e542d9ca4b544a9713350e53858f0.

Le processus est théoriquement irréversible (et doit l’être si la fonction de hachage doit fonctionner). Il utilise également beaucoup de données, nécessitant de nombreuses opérations de traitement. Cela a conduit à une recherche constante d’équilibre entre sécurité et efficacité, un domaine dans lequel SHA-3 est censé obtenir d’excellents résultats.

Même SHA-1 était autrefois considéré comme hautement sécurisé. En fait, les experts ont calculé que les attaquants «en force brute» nécessiteraient deux tentatives pour pouvoir mener une attaque efficace. C’est une sacrée quantité de puissance de traitement.

Néanmoins, le hachage n’est pas aussi sécurisé que vous le pensez. Bien que ce processus de base ait bien fonctionné au fil des ans, des fonctions de hachage telles que l’algorithme SHA ont été ciblées par les pirates informatiques depuis leur création et de nombreuses vulnérabilités ont été détectées.


Les algorithmes SHA sont-ils vulnérables aux cyber-attaques ?

Bien qu’elles aient été adoptées par la National Security Agency et le NIST, presque toutes les versions de l’algorithme de hachage sécurisé ont déjà été critiquées pour leurs faiblesses potentiellement fatales. Ces vulnérabilités doivent être connues des utilisateurs.

En 2005, les experts ont signalé deux vulnérabilités de SHA-1 qui indiquaient effectivement que l’ancienne norme devenait obsolète. De 2005 à 2017, les chercheurs ont réduit le nombre d’opérations nécessaires pour casser un hachage SHA-1, ce qui démontre qu’il était plus vulnérable aux hackers qu’on ne le pensait.

La preuve la plus célèbre a été offerte par le projet SHAttered, qui a présenté deux fichiers .pdfs avec le même hash. L’équipe devait encore utiliser une grande quantité de puissance de traitement (fournie en grande partie par Google), mais le résultat était clair : avec la vitesse de l’ordinateur, les hachages plus anciens étaient extrêmement vulnérables à la force brute et aux attaques par collision.

Les mêmes problèmes découverts avec SHA-1 s’appliquent à SHA-2. Ainsi, en théorie, les signatures de pages Web, de courriels, de pièces jointes et même de vidéos peuvent être manipulées, ce qui les rend risquées pour les utilisateurs. Google et Mozilla l’ont reconnu, supprimant progressivement SHA-1 et introduisant des contrôles pour s’assurer que les certificats SSL soient légitimes. Mais cela ne fournit pas de protection totale contre les signatures illégitimes.


Avez-vous besoin d’assurer votre sécurité contre les attaques SHA ?

Depuis que les révélations de collision SHA-1 sont apparues en 2017, un débat est en cours sur la manière de protéger les internautes ordinaires et les sites Web contre les potentielles attaques SHA.

Comme nous l’avons noté, les principaux navigateurs ont introduit des contrôles supplémentaires pour protéger les utilisateurs contre les faiblesses de SHA-1, mais vous pouvez prendre d’autres mesures. Par exemple, l’utilisation d’un VPN peut aider à éviter les attaques, à condition que le cryptage de ce dernier ne soit pas affecté par des problèmes SHA.

De nombreux VPN ont réagi à des projets tels que SHAttered en s’éloignant de SHA-1 et en adoptant SHA-2, qui constitue une étape de sécurité positive et montre que le monde des VPN prend l’affaire au sérieux. Ils peuvent également renforcer leurs procédures de modification des hachages lors de la création de tunnels de cryptage.

Cependant, certains fournisseurs de VPN sont à la traîne en ce qui concerne les algorithmes de hachage et n’ont pris aucune mesure. Ils soulignent souvent la puissance informatique nécessaire pour mener des attaques telles que SHAttered et le risque relativement faible que leur cryptage soit ciblé.

Cela semble être complaisant. Nous savons que la capacité de traitement augmente et que des technologies telles que l’informatique quantique pourraient l’accroître encore plus rapidement. Combiné aux modifications apportées aux méthodes utilisées par les pirates informatiques, les algorithmes anciens et les VPN qui les utilisent pourraient être exposés.

Ainsi, même si vos données sont actuellement sécurisées, tous les utilisateurs de réseaux VPN doivent migrer vers des services conscients des risques liés à SHA. Recherchez des fournisseurs qui utilisent SHA-2 en standard et qui envisagent d’intégrer SHA-3 dans la mesure du possible. Et évitez tous les services qui dépendent de SHA-1. Cela ne vaut tout simplement plus le risque.

Si vous avez des questions concernant SHA, vous pouvez nous les poser dans la section des commentaires ci-dessous.

 

Ecrire un commentaire