CyberGlossary

Criptografía

Pimienta (Pepper)

También conocido como: Clave del lado del servidor, Pepper secreto

Definición

Secreto del lado del servidor que se combina con cada contraseña antes del hashing y se guarda fuera de la base de datos para mitigar el cracking offline tras una filtración de hashes.

Una pimienta (pepper) es un secreto largo a nivel de aplicación (típicamente 32 bytes o más) que se añade a cada contraseña antes de procesarla con una función hash o KDF, junto con la sal por usuario. A diferencia de la sal, la pimienta se almacena fuera de la base de credenciales —en un fichero de configuración, una variable de entorno o un HSM— para que un atacante que obtenga solo la tabla de hashes no pueda crackearlos offline con facilidad. Las implementaciones suelen calcular HMAC(pepper, password) antes de pasar el resultado a Argon2id, o introducir la pimienta a través de una KDF como parte del material secreto. Es una medida de defensa en profundidad: no sustituye a KDF fuertes, sales o limitación de tasa, pero encarece las brechas que solo exponen la base de datos.

Ejemplos

  • HMAC-SHA-256(pepper, password) calculado en la aplicación y luego hasheado con Argon2id.
  • Guardar la pimienta en un HSM para que la aplicación no pueda exfiltrarla directamente.

Términos relacionados