Hash Salting
Le salage de hachage consiste à ajouter un sel aléatoire à l'entrée du hachage afin que des entrées identiques produisent des hachés différents, vainquant les tables arc-en-ciel et la détection de collisions.
Objectif
Rendre les sorties de hachage uniques, empêchant les attaques par précalcul et la comparaison d'entrées identiques.
Mécanisme
On génère un sel aléatoire, calcule H(entrée || sel) et stocke (sel, haché). À la vérification, on re-hache avec le sel stocké et on compare. Le sel n'a pas besoin d'être secret mais doit être unique. Utilisé pour le hachage de mots de passe, HMAC (bien que HMAC intègre déjà une clé) et scénarios similaires.
Cas d’usage
- Stockage sécurisé des mots de passe
- Déduplication de génération de jetons
- Déduplication d'empreintes de données
- Prévention des attaques par précalcul
Exemples
- entrée
pass1 + saltA → hashA; pass1 + saltB → hashBOutputSame password, different hashesUnique salt
Erreurs courantes
- Salt too short (<16 bytes)
- Use at least 16 random bytes
Termes associés
Salt
Un sel est une valeur aléatoire ajoutée lors du hachage de mots de passe afin que des mots de passe identiques produisent des hachés différents, ce qui neutralise les tables arc-en-ciel et la détection de mots de passe identiques. GLOSSAIRE
Pepper
Un pepper est un secret côté serveur ajouté lors du hachage de mots de passe (contrairement au sel, il est partagé globalement et gardé secret), augmentant la difficulté des attaques hors ligne. GLOSSAIRE
Rainbow Table
Une table arc-en-ciel est une table précalculée améliorant la méthode de Martin Hellman pour inverser les fonctions de hachage, échangeant de l'espace contre du temps pour casser des hachés de mots de passe. GLOSSAIRE
PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) est le KDF normalisé dans PKCS#5 qui dérive des clés de mots de passe via un HMAC itéré, largement utilisé pour le hachage de mots de passe et la dérivation de clés. GLOSSAIRE
Outils associés
Dérivation de clé PBKDF2
Derive a key from a password using PBKDF2 (RFC 2898) with Web Crypto API. Gratuit, privé et 100% côté client. OUTIL
Dérivation de clé scrypt
Derive a key from a password using scrypt (memory-hard KDF). Gratuit, privé et 100% côté client. OUTIL
Générateur de hash bcrypt
Hash passwords with bcrypt or verify bcrypt hashes. Gratuit, privé et 100% côté client. OUTIL