Las WordPress Security Keys (también llamadas Authentication Unique Keys and Salts) son un conjunto de claves criptográficas secretas que WordPress utiliza para proteger la autenticación de los usuarios y las cookies de sesión.
No son contraseñas ni claves de acceso a la base de datos; su función es hacer que las sesiones de los usuarios sean seguras y difíciles de falsificar.
¿Qué claves existen?
En wp-config.php encontrarás estas ocho constantes:
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
define('LOGGED_IN_KEY', '...');
define('NONCE_KEY', '...');
define('AUTH_SALT', '...');
define('SECURE_AUTH_SALT', '...');
define('LOGGED_IN_SALT', '...');
define('NONCE_SALT', '...');
Se dividen en dos grupos:
Keys
AUTH_KEYSECURE_AUTH_KEYLOGGED_IN_KEYNONCE_KEY
Son claves secretas utilizadas como base para generar firmas criptográficas.
Salts
AUTH_SALTSECURE_AUTH_SALTLOGGED_IN_SALTNONCE_SALT
Las salts («sales criptográficas») añaden entropía aleatoria a las claves, haciendo que los valores generados sean mucho más difíciles de predecir o reproducir.
¿Para qué sirven?
1. Proteger las cookies de inicio de sesión
Cuando un usuario inicia sesión, WordPress genera cookies como:
wordpress_logged_in_*wordpress_sec_*
Estas cookies no almacenan la contraseña. En su lugar contienen un identificador firmado criptográficamente utilizando las Keys y Salts.
Si un atacante copiara la cookie pero no conociera las claves del servidor, no podría generar cookies válidas.
2. Evitar la falsificación de sesiones
Las cookies llevan una firma (HMAC) calculada mediante estas claves.
Cuando llega una petición:
- WordPress lee la cookie.
- Calcula nuevamente la firma.
- Si coincide, la sesión es válida.
- Si no coincide, obliga al usuario a iniciar sesión otra vez.
3. Proteger los Nonces
Los Nonces son tokens temporales que WordPress utiliza para evitar ataques CSRF (Cross-Site Request Forgery).
Por ejemplo:
- borrar una entrada
- actualizar un usuario
- instalar un plugin
- guardar una configuración
Cada formulario incluye un nonce generado usando NONCE_KEY y NONCE_SALT.
4. Invalidar todas las sesiones
Si cambias cualquiera de estas claves:
- todas las cookies dejan de ser válidas;
- todos los usuarios deben volver a iniciar sesión.
Por eso regenerarlas es una medida habitual tras una incidencia de seguridad.
¿Qué ocurre si alguien obtiene estas claves?
Si un atacante consiguiera:
- el archivo
wp-config.php, o - las ocho claves,
podría, junto con otra información necesaria sobre las sesiones, facilitar la falsificación o validación de cookies de autenticación. Por ese motivo es fundamental que wp-config.php permanezca protegido y nunca sea accesible públicamente.
¿Por qué son tan largas y aleatorias?
El generador oficial de WordPress crea cadenas con decenas de caracteres que incluyen:
- letras mayúsculas y minúsculas,
- números,
- símbolos.
El objetivo es disponer de una entropía muy alta para que sea prácticamente imposible adivinarlas mediante fuerza bruta.
Resumen
| Elemento | Función |
|---|---|
AUTH_KEY | Firma de autenticación estándar |
SECURE_AUTH_KEY | Firma para conexiones HTTPS |
LOGGED_IN_KEY | Firma de las cookies de usuarios autenticados |
NONCE_KEY | Generación de nonces |
*_SALT | Añaden aleatoriedad y fortalecen las firmas criptográficas |
¿Cómo se regeneran?
En conjunto, las Security Keys y Salts son uno de los mecanismos fundamentales de seguridad de WordPress. Protegen la autenticación, las cookies y los nonces, y permiten invalidar inmediatamente todas las sesiones activas simplemente regenerando las claves.
Las WordPress Security Keys (AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY y sus SALTs) pueden regenerarse de varias formas. Al hacerlo, se cerrarán todas las sesiones activas de los usuarios, que deberán volver a iniciar sesión.
El método recomendado es el Generador oficial de WordPress
Accede al generador oficial de claves:
Obtendrás un bloque similar a este:
define('AUTH_KEY', '...');
define('SECURE_AUTH_KEY', '...');
define('LOGGED_IN_KEY', '...');
define('NONCE_KEY', '...');
define('AUTH_SALT', '...');
define('SECURE_AUTH_SALT', '...');
define('LOGGED_IN_SALT', '...');
define('NONCE_SALT', '...');
Simplemente:
- Abre el archivo
wp-config.php. - Localiza las ocho líneas existentes.
- Sustitúyelas por las nuevas.
- Guarda el archivo.
No es necesario realizar ninguna otra acción.


