Todos los artículos
Publicado Actualizado 6 min de lectura

Almacenar contraseñas correctamente: por qué Argon2

Por El equipo de Alt Auth

primer plano de una puerta metálica con cerradura
Foto por David Trinks en Unsplash

Una base de datos de contraseñas acabará siendo leída por alguien que no debería tenerla. Esa es la suposición en la que se apoya todo lo demás. La cuestión no es si el archivo se filtrará, sino qué puede hacer un atacante en las semanas posteriores.

El hashing no es cifrado

El cifrado es reversible por diseño: todo lo que ciframos se puede descifrar, y también quien se quede con la clave. El hashing de contraseñas es deliberadamente unidireccional. Nunca recuperas la contraseña: vuelves a aplicar el hash a lo que escribió el usuario y comparas. Si tu sistema puede enviarle a alguien su contraseña actual por email, entonces no la está hasheando.

Por qué Argon2 y no SHA-256

Los hashes de propósito general se diseñaron para ser rápidos, y eso es precisamente lo incorrecto aquí: rápido significa miles de millones de intentos por segundo en hardware corriente. Argon2 es deliberadamente lento y deliberadamente exigente en memoria, así que un atacante no puede simplemente lanzar más GPUs al problema. Es la recomendación actual, y lo es desde hace años.

  • Una sal única por usuario, siempre; si no, contraseñas idénticas producen hashes idénticos.
  • Ajusta los parámetros de coste a tu hardware y revísalos después: el hardware se vuelve más rápido, tus ajustes no.
  • Nunca registres la contraseña, ni siquiera en una rama de depuración, ni siquiera una vez.
  • Compara en tiempo constante. Una comparación que devuelve antes de tiempo filtra información.

Alt Auth usa Argon2 en todos los planes, incluido el gratuito. Los valores de seguridad por defecto que solo aparecen en un nivel empresarial no son valores por defecto.

SeguridadArgon2Contraseñas