Saltar al contenido
TextArray

Cómo generar una contraseña segura (y qué la hace débil)

Blog /

Una contraseña segura es aquella que es difícil de adivinar o descifrar. Pero "difícil" no significa muchos símbolos y números mezclados; significa entropía: longitud aleatoria suficiente como para que incluso una computadora rápida que verifica miles de millones de combinaciones tomaría siglos. La forma más sencilla de lograrlo es utilizar un generador de contraseñas local, que garantiza que la aleatoriedad provenga de la criptografía, no de un algoritmo predecible.

¿Qué hace que una contraseña sea débil?

La mayoría de las contraseñas son débiles porque se basan en algo memorable: un nombre, una fecha, una palabra en mayúscula y un número al final. Si una contraseña se basa en un patrón (una palabra real, un cumpleaños, una frase), la primera herramienta de un atacante moderno es un diccionario de esos patrones, no la fuerza bruta. Incluso MyDog2024! Parece aleatorio para un humano pero se rompe instantáneamente porque sigue la receta de contraseña más común.

El segundo asesino: la reutilización. Si utiliza la misma contraseña en diez sitios y se viola uno de esos sitios, las diez cuentas caen. Mucha gente no tiene idea de cuántas bases de datos de "volcado de contraseñas" son públicas y se pueden buscar en línea.

La longitud importa más que los caracteres especiales

Un mito común: las contraseñas necesitan una combinación de mayúsculas y minúsculas, números y símbolos para ser seguras. En realidad, lo que importa es la longitud. Una contraseña de 16 caracteres con letras minúsculas solo tiene mucha más entropía (y es mucho más difícil de descifrar) que una contraseña de 8 caracteres con cada carácter especial. He aquí por qué: cada carácter agregado multiplica el espacio de búsqueda. Una contraseña de 8 caracteres únicamente en minúsculas tiene 26^8 posibilidades (alrededor de 200 millones). Una contraseña de 16 caracteres en minúscula tiene 26^16 (alrededor de 43 mil billones).

Por eso muchos expertos en seguridad recomiendan ahora frases de contraseña (secuencias de palabras aleatorias) sobre contraseñas "complejas" tradicionales. Son más fáciles de recordar y mucho más fuertes.

Frases de contraseña: el enfoque de Diceware

Una frase de contraseña es sólo una secuencia de palabras aleatorias. El ejemplo clásico es "correcto-caballo-batería-grapa": cuatro palabras aleatorias, más de 20 caracteres, absurdamente fuertes y no tan difíciles de recordar. Puede generar frases de contraseña aleatorias con el Generador de frases de contraseña, que los construye a partir de una lista de palabras comunes en inglés. Cinco palabras de una lista de 1000 le dan más entropía que una cadena aleatoria de 20 caracteres mezclando mayúsculas y minúsculas y símbolos.

Si necesita una contraseña tradicional (símbolos, mayúsculas y minúsculas, números), utilice la Generador de contraseñas en cambio. Pero para la mayoría de los relatos, una frase es más fuerte y práctica.

Deja de reutilizar contraseñas

El mejor hábito es: una contraseña por sitio. Si reutiliza contraseñas, está viviendo un tiempo prestado. Una vez que un sitio se filtra, sus otras cuentas quedan expuestas. Una contraseña segura será tan buena como el sitio más débil que la utilice. Para comprobar si alguna de sus contraseñas ha quedado expuesta en una infracción conocida, utilice el Comprobador de seguridad de contraseña — pega una contraseña (sólo tú la ves; nada sale de tu navegador) y te dirá si aparece en bases de datos públicas de violaciones.

PIN y contraseñas numéricas

Algunos sistemas solo requieren dígitos: cajeros automáticos, códigos PIN de teléfonos y ciertas cerraduras. Se aplica el mismo principio de entropía: más tiempo, más fuerte. Un PIN de 4 dígitos tiene sólo 10.000 posibilidades y se puede descifrar en milisegundos. Es mejor un PIN de 6 dígitos (1 millón de posibilidades); un PIN de 8 dígitos es sólido (100 millones). Si necesita un código numérico aleatorio, el generador de PIN los crea instantáneamente.

¿Por qué generar localmente?

Nunca confíes en un generador de contraseñas en el servidor de otra persona. Incluso si tiene buenas intenciones, no se puede verificar que esté utilizando aleatoriedad real o que no esté registrando lo que genera. Las herramientas TextArray se ejecutan completamente en su navegador: no hay servidor, ni carga, ni registro. El generador de contraseñas utiliza la información de su navegador. crypto.getRandomValues, que es genuinamente aleatorio, no Math.random, lo cual es predecible y nunca aceptable para la seguridad. Una vez que se carga la página, todo funciona sin conexión. Puedes confirmarlo tú mismo cerrando tu conexión a Internet y generando otra contraseña.

Una contraseña segura comienza con aleatoriedad real, longitud suficiente para tener entropía real y la disciplina para usar una diferente en todas partes. Deje que el navegador haga el trabajo duro.