Hachez / Salez / Poivrez

Publié le 12 mars 2020 par Adrien Saint

Contrairement aux apparences, rangez vos tabliers, cet article n’a rien à voir avec de la cuisine!

Ces trois techniques (hacher, saler et poivrer) sont utilisées en sécurité, ce sont des méthodes qui permettent de crypter les données sensibles, principalement les mots de passes et les tokens. L’objectif est de compliquer au maximum la tâche des hackers qui voudraient tenter un décryptage.

Une bonne façon de savoir si votre mot de passe est bien protégé est de cliquer sur « J’ai oublié mon mot de passe », si votre mot de passe vous est retourné en clair, c’est qu’il est très mal protégé. Quand un mot de passe crypté est vraiment sécurisé, même le développeur qui a conçu l’application ne dois pas être en mesure de le décrypter pour vous le retourner en clair.

Hacher

Les techniques de hachage « Hash » en anglais sont nombreuses. Elles sont basées sur des algorithmes mathématiques qui se complexifient eux-mêmes de manière successive. Le fonctionnement de cryptage quant à lui reste basic; vous prenez un paquet de données, vous le passez par la fonction cryptographique et vous obtenez un code illisible.

C’est ce code crypté qui sera enregistré dans la base de données, il n’est pas possible de le décrypter, la seule possibilité est de ré encoder le même paquet de données avec la même fonction cryptographique et de comparer les résultats. De cette façon on peut déterminer si le mot de passe que vous avez entré est le même que celui qui à été enregistré dans la base de données.

Un hacker qui parviendrait à dérober des données utilisateur et qui voudrait identifier les mots de passe va devoir créer un algorithme qui encode un à un tous les mots possibles et comparer le résultat. Un mot couramment utilisé ou une simple suite de chiffre sera très vite trouvé. Plus le mot de passe est long et plus il est illisible, plus il prendra du temps au pirate pour l’identifier.

Pour se faciliter la tâche, les pirates ont créé ce que l’on appel des tables arc-en-ciel. Ce sont des bases de données où ils ont stocké tous les hash précalculés des mots du dictionnaire de chaque langue et de la plupart des termes les plus couramment employés. De cette façon ils n’ont plus qu’à faire les comparaisons.

L’objectif devient alors de compliquer d’avantage la tâche au pirate en ajoutant ce que nous allons voir dans le chapitre suivant, c’est-à-dire le salage.

Saler

Afin de compliquer encore plus la tâche aux pirates, les développeurs créent aléatoirement une suite de caractères uniques pour chaque utilisateur, appelée « Clé de salage », qui se voit ajoutée au mot de passe avant de le crypter.
De cette façon même si deux utilisateurs entrent le même mot de passe, la base de données comportera des mots de passe différents. Cette clé de salage est enregistrée dans la base de données à coté du mot de passe lui-même.

Cette technique rend inutilisable les tables arc-en-ciel et rallonge encore le temps de calcul pour un pirate qui serait parvenu à dérober le contenu de la base de données.

Dès lors que vos données personnelles sont compromises, le propriétaire de l’application ou du site se doit de vous informer immédiatement afin que les utilisateurs procèdent à la modification de leur mot de passe. Malgré cela, il existe encore une étape possible pour complexifier encore plus le travail des pirates: poivrer.

Poivrer

Poivrer un mot de passe se fait comme le salage, à la différence que la clé est unique pour tous les utilisateurs et qu’elle n’est pas enregistrée dans la base de données, mais dans un fichier.

Ce fichier est généralement stocké au sein de l’application elle-même, dans un répertoire bien protégé. Il ne devrait pouvoir être lu que par l’application elle-même et jamais depuis l’extérieur de l’environnement où elle est hébergée.

Il est effectivement extrêmement difficile à une personne de dérober à la fois ce fichier et le contenu de la base de données.

Conclusion

Un développeur en sécurité partira toujours du principe que le pirate trouvera une parade pour voler et décrypter les mots de passe. C’est pourquoi l’objectif visé est de lui complexifier la tâche de tel sorte que l’investissement en temps et en puissance de calcul soit si démesuré qu’il devienne physiquement impossible de son vivant à une personne mal intentionnée d’identifier la chaine de caractère qui a été saisie par l’utilisateur lors de l’enregistrement du mot de passe.

« Hacher / saler / poivrer » est aujourd’hui devenu un standard pour la sécurisation des mots de passes. Les méthodes de cryptage continuent d’évoluer régulièrement, il en va de même pour la puissance de calcul des processeurs et les pirates s’adaptent de plus en plus rapidement.

Aussi est-il fort possible que nous voyions un jour s’ajouter une nouvelle façon de complexifier l’encodage des mots de passes. Peut-être que prochainement nous allons les hacher / saler / poivrer / pimenter…

 

sources:

– image de bannière: https://icones8.fr

– https://questionsecu.fr/hachez-salez-poivrez/

SUR LE MÊME
THèME

restez
informés

Abonnez-vous à notre newsletter pour être certain d’avoir un autre regard sur le numérique, vu dans haut, en panoramique !