Pepper
Un pepper es un secreto del lado servidor añadido durante el hash de contraseñas (a diferencia de una sal, se comparte globalmente y se mantiene en secreto), elevando la dificultad de los ataques offline.
Propósito
Añadir un secreto del servidor además de la sal, de modo que una fuga de la base de datos por sí sola no permita descifrar contraseñas offline.
Mecanismo
H(password || salt || pepper). El pepper se comparte globalmente pero es secreto (guardado en config/HSM, no en la base de datos). Ante una fuga de la base, atacantes sin el pepper no pueden hashear offline. La sal sigue siendo única por usuario. Si el pepper se filtra, la protección degrada a solo sal.
Casos de uso
- Hash de contraseñas reforzado
- Protección extra tras una fuga de base de datos
- Almacenamiento del pepper en un HSM
- Requisitos de cumplimiento
Ejemplos
- entrada
H(pass + salt + pepper)OutputThe pepper is required for verificationPepper kept secret
Errores comunes
- Storing the pepper in the database (the same one as the hashes)
- Keep the pepper in config/HSM, separate from the database
Términos relacionados
Salt
Una sal es un valor aleatorio que se añade durante el hash de contraseñas para que contraseñas idénticas produzcan hashes distintos, anulando las tablas arcoíris y la detección de contraseñas repetidas. GLOSARIO
Hash Salting
El salting de hash añade una sal aleatoria a la entrada del hash para que entradas idénticas produzcan hashes distintos, frustrando las tablas arcoíris y la detección de colisiones. GLOSARIO
PBKDF2
PBKDF2 (Password-Based Key Derivation Function 2) es el KDF estandarizado en PKCS#5 que deriva claves de contraseñas mediante HMAC iterado, muy usado para hash de contraseñas y derivación de claves. GLOSARIO
Herramientas relacionadas
Derivación de claves PBKDF2
Derive a key from a password using PBKDF2 (RFC 2898) with Web Crypto API. Gratis, privado y 100% del lado del cliente. HERRAMIENTA
Derivación de claves scrypt
Derive a key from a password using scrypt (memory-hard KDF). Gratis, privado y 100% del lado del cliente. HERRAMIENTA