Cómo almacenan realmente las contraseñas los sitios web
Un sitio bien hecho no guarda contraseñas en texto plano. En su lugar usa hashing, sal y mecanismos modernos de protección.
Por qué los sitios web no necesitan contraseñas en texto plano
Un servicio no necesita poder leer su contraseña para iniciar sesión. Sólo tiene que comprobar si la entrada coincide con la evidencia previamente almacenada.
Por este motivo, lo ideal es que las contraseñas no se almacenen de forma reversible, sino que se conviertan mediante procedimientos adecuados en valores de comparación seguros.
El procedimiento seguro habitual.
- Al configurar la contraseña, se agrega una sal y se crea un hash.
- No es la contraseña en sí la que termina en la base de datos, sino sólo el valor derivado de ella más los metadatos necesarios.
- Cuando inicia sesión, el mismo proceso se ejecuta nuevamente y se compara con el hash almacenado.
Donde fallan las implementaciones
Los problemas surgen cuando las aplicaciones utilizan algoritmos obsoletos, muy pocos parámetros o incluso almacenamiento reversible. Entonces las filtraciones de bases de datos se vuelven significativamente más peligrosas.
Desde la perspectiva del usuario, esta es otra razón para no reutilizar nunca las contraseñas. Incluso si un proveedor está mal implementado, es posible que el daño no se extienda a otras cuentas.
Lista rápida
Las acciones más importantes de esta guía, resumidas.
- Utilice únicamente procedimientos modernos de hash de contraseñas en sus propios proyectos.
- Como usuario, utilice contraseñas únicas y seguras porque nunca controlará completamente la implementación del servidor.
- Verifique las cuentas antiguas con regularidad y actualícelas si no está seguro.
Preguntas frecuentes
Crea una contraseña fuerte ahora
Usa el generador de Zenkey.click para crear al instante una contraseña aleatoria fuerte o una frase de paso segura.
Hashing y cifrado de contraseñas: ¿cuál es la diferencia?
Si quieres seguir leyendo, esta es la siguiente guía recomendada.
A menudo se confunden el hashing y el cifrado. Para las contraseñas, el hash es el enfoque correcto porque el servidor no debería poder recuperar la contraseña original.