Comment l'État protège vos mots de passe grâce au hachage et au SALT
Le stockage sécurisé des mots de passe repose sur des mécanismes cryptographiques sophistiqués qui vont bien au-delà d'une simple transformation de texte. Contrairement à une idée reçue, les identifiants ne sont jamais conservés en clair dans les bases de données, même par des entités publiques ou privées. Cette approche garantit qu'une éventuelle fuite de données ne permette pas la récupération immédiate des accès utilisateurs.
Le principe du hachage cryptographique
Le cœur de cette protection est la fonction de hachage, une transformation mathématique unidirectionnelle et irréversible. Elle prend une donnée d'entrée, comme un mot de passe, et génère une empreinte numérique de longueur fixe, souvent appelée hash. Cette empreinte est unique pour chaque donnée d'entrée, mais la même donnée produira toujours le même résultat. Lors de la connexion, le système ne compare pas le mot de passe saisi à celui stocké, mais calcule le hachage du mot de passe saisi et vérifie s'il correspond à l'empreinte enregistrée. Si les deux chaînes de caractères sont identiques, l'authentification est validée. Ce processus permet de vérifier l'intégrité de l'information sans jamais avoir besoin de révéler ou de stocker la valeur d'origine.
La vulnérabilité des tables arc-en-ciel
Malgré son efficacité, le hachage seul présente une faille majeure face aux attaques par tables arc-en-ciel. Ces tables sont des bases de données précalculées contenant des millions de mots de passe courants et leurs empreintes hachées correspondantes. Un attaquant disposant d'une base de données fuitée peut simplement croiser les empreintes trouvées avec sa table pour identifier instantanément les mots de passe génériques. Cette méthode est bien plus rapide et moins coûteuse en ressources que la force brute, car elle évite de recalculer les hachages pour chaque tentative. De plus, si plusieurs utilisateurs partagent le même mot de passe, leurs empreintes hachées seront identiques, ce qui facilite le piratage en masse et la reconnaissance de comptes compromis.
Le rôle crucial du sel (salt)
Pour neutraliser cette menace, les systèmes modernes utilisent le salage. Le sel est une valeur aléatoire unique ajoutée au mot de passe avant le processus de hachage. Cette opération garantit que même deux mots de passe identiques produiront des empreintes différentes, car l'entrée finale de la fonction de hachage est modifiée par le sel. Le sel n'est pas un secret et est généralement stocké à côté de l'empreinte hachée dans la base de données. Lors de la vérification, le système récupère le sel spécifique de l'utilisateur, le combine avec le mot de passe saisi, puis calcule le hachage pour le comparer à celui enregistré. Cette unicité rend les tables arc-en-ciel inutiles, car l'attaquant devrait créer une nouvelle table précalculée pour chaque combinaison possible de sel, ce qui est techniquement et économiquement irréalisable.
Au-delà du MD5: les bonnes pratiques actuelles
Il est important de noter que les algorithmes mentionnés dans la vidéo, comme le MD5, sont aujourd'hui considérés comme obsolètes et vulnérables. Leurs failles permettent des collisions et des inversions rapides, même avec des moyens limités. Les standards de sécurité actuels recommandent l'utilisation de fonctions de dérivation de clé lentes et spécifiques, telles que bcrypt, scrypt, Argon2 ou PBKDF2. Ces algorithmes sont conçus pour être coûteux en calcul, ce qui ralentit considérablement les attaques par force brute. L'ajout d'un sel cryptographiquement aléatoire, d'au moins 16 octets, est indispensable pour renforcer cette protection. En combinant un algorithme robuste, un sel unique par utilisateur et une gestion rigoureuse des données, les organisations peuvent offrir une sécurité solide, même en cas de compromission de leur infrastructure.
Sources
- Sécurité : Chiffrement, hachage, signature | CNIL
- Comprendre le Cryptage : Chiffrement, Hachage & Salage - laConsole
- Quelle est la différence entre le chiffrement et le hachage ?
- Qu'est-ce que le hachage et le salage des mots de passe ? | Proton
- Salage (cryptographie) — Wikipédia
- Qu’est-ce que le salage de mot de passe ? | NordPass
- Salage de mots de passe : renforcez votre sécurité
- Qu'est-ce qu'un salt en hachage de mots de passe ? · AIToolNode
- (PDF) S’attaquer au MD5 et SHA1 Quelles sont leurs vulnérabilités et comment s’en protéger ?
Cette vidéo explique comment les systèmes sécurisent les mots de passe grâce au hachage. Au lieu de stocker le mot de passe en clair, le serveur le transforme en une suite de caractères aléatoires via une fonction mathématique (comme MD5). Cette opération est irréversible : on ne peut pas retrouver le mot de passe original à partir du hachage. Lors d'une connexion, le serveur hache le mot de passe saisi et compare le résultat avec celui stocké. S'ils sont identiques, l'accès est autorisé. Si le mot de passe est différent, le hachage change complètement, bloquant l'accès. Cela protège les données même en cas de violation de la base de données, car les attaquants ne voient que des chaînes illisibles. Cependant, les mots de passe courants sont vulnérables car les hackers possèdent des listes pré-calculées de hachages. Pour contrer cela, on utilise un salt (sel), une valeur unique ajoutée au mot de passe avant le hachage, rendant les listes pré-calculées inutiles.
Exemple : Si le mot de passe est "azerty", le hachage MD5 produit une chaîne fixe. Un hacker qui vole cette chaîne peut la comparer à sa liste pour retrouver "azerty". Avec un salt "12345", le système hache "azerty12345", générant une chaîne différente que le hacker ne trouve pas dans sa liste standard.