Saltar al contenido

BlogPrivacidad y seguridad6 min de lectura

¿Cuánto se tarda en descifrar una contraseña?

La fuerza de una contraseña depende de cuántas contraseñas se podrían haber elegido, no de lo complicada que parezca. Calculamos cuánto resisten los tipos comunes de contraseña frente a una tarjeta gráfica moderna, y por qué caen primero las que inventa la gente.

Un candado, un campo de contraseña oculto, un medidor de fuerza y un cronómetro.

Todas las páginas de consejos sobre contraseñas te dicen que mezcles mayúsculas, dígitos y símbolos. Muy pocas te dicen por qué, ni cuánto aporta de verdad cada paso. La respuesta es un poco de aritmética, y una vez vista, la elección correcta resulta evidente: la longitud y el azar importan mucho más que las sustituciones ingeniosas.

Este artículo hace las cuentas con cifras reales. Los tiempos de abajo son lo que se tarda en probar todas las contraseñas posibles de un tipo dado, a las velocidades que los bancos de pruebas públicos dan para el hardware actual.

Cómo se atacan realmente las contraseñas

Hay dos situaciones muy distintas. En un ataque en línea, alguien escribe intentos en un formulario de inicio de sesión. Los sitios lo frenan, bloquean cuentas y piden segundos factores, así que un atacante consigue quizá unos pocos intentos por minuto. Casi cualquier contraseña que no esté en una lista de contraseñas comunes sobrevive a eso.

El caso peligroso es un ataque sin conexión. Cuando se filtra un sitio, el atacante se lleva a casa una copia de la base de datos de contraseñas. Las contraseñas deberían guardarse como hashes, huellas de un solo sentido que no se pueden revertir, así que el atacante calcula el hash de sus intentos en su propio hardware y compara. No hay bloqueos ni límites de velocidad, solo la velocidad de sus tarjetas gráficas.

Esa velocidad depende enormemente del hash que usó el sitio. En bancos de pruebas publicados, una sola tarjeta gráfica actual de gama alta prueba bastante más de 100 000 millones de intentos por segundo contra un hash rápido como MD5 o NTLM, pero menos de 200 000 por segundo contra bcrypt, que es lento a propósito. No puedes ver cuál usa un sitio, así que es prudente prepararse para el caso rápido.

Entropía: contar las posibilidades

La medida útil de una contraseña es la entropía, expresada en bits. Es el logaritmo en base 2 del número de contraseñas que podrían haber salido del método que usaste. Cada bit extra duplica el número de intentos que necesita un atacante.

Para una contraseña hecha de caracteres aleatorios, la cuenta es sencilla: el número de caracteres posibles elevado a la longitud. Las minúsculas dan 26 opciones por carácter, así que 8 dan 26 elevado a 8, unos 209 000 millones de posibilidades, o 37,6 bits. Usar los 94 caracteres imprimibles de un teclado (mayúsculas y minúsculas, dígitos y 32 símbolos) da 6100 billones de posibilidades para los mismos 8 caracteres, o 52,4 bits.

Para una frase de contraseña hecha de palabras aleatorias, cuenta palabras en lugar de caracteres. La lista larga de palabras de la EFF que usa nuestro generador de contraseñas tiene 7776 palabras, así que cada palabra añade unos 12,9 bits. Cuatro palabras dan 51,7 bits, seis palabras dan 77,5 bits.

Las cifras

Este es el tiempo necesario para probar todas las contraseñas posibles de cada tipo con una tarjeta gráfica. En promedio, un atacante encuentra una contraseña dada en la mitad de ese tiempo.

Tipo de contraseñaEntropíaHash rápido (100 000 millones por segundo)bcrypt (200 000 por segundo)
8 letras minúsculas37,6 bits2 segundos12 días
8 caracteres, todos los tipos52,4 bits17 horas966 años
12 letras minúsculas56,4 bits11 días15 000 años
4 palabras aleatorias51,7 bits10 horas579 años
5 palabras aleatorias64,6 bits9 años5 millones de años
12 caracteres, todos los tipos78,7 bits151 000 años75 000 millones de años
6 palabras aleatorias77,5 bits70 000 años35 000 millones de años
16 caracteres, todos los tipos104,9 bits12 billones de añosmucho más
Peor caso para una tarjeta gráfica. Los atacantes con muchas tarjetas dividen estos tiempos por el número de tarjetas; un rack de 100 tarjetas convierte 17 horas en unos 10 minutos.
Bits de entropía por tipo de contraseña
  • 8 minúsculas37,6 bits
  • 4 palabras aleatorias51,7 bits
  • 8 de todos los tipos52,4 bits
  • 12 minúsculas56,4 bits
  • 5 palabras aleatorias64,6 bits
  • 6 palabras aleatorias77,5 bits
  • 12 de todos los tipos78,7 bits
  • 16 de todos los tipos104,9 bits

Cada bit duplica el trabajo. Los tipos resaltados quedan fuera del alcance de una sola tarjeta incluso contra un hash rápido.

Dos cosas destacan. Primero, la longitud gana a la variedad: 12 letras minúsculas (56,4 bits) superan a 8 caracteres de todos los tipos (52,4 bits), y son mucho más fáciles de escribir en un teléfono. Segundo, el salto de «se descifra en un día» a «se descifra en la vida del universo» ocurre con solo unos pocos caracteres o dos palabras más, porque las cifras crecen de forma exponencial.

Por qué tu propia contraseña es más débil de lo que dice la tabla

La tabla supone que la contraseña se eligió al azar. Las contraseñas que inventa la gente no lo son. Las herramientas de descifrado empiezan con listas de miles de millones de contraseñas filtradas y luego aplican reglas que imitan cómo las construye la gente: una palabra, una mayúscula inicial, un año, un signo de exclamación al final, letras cambiadas por dígitos parecidos.

Una contraseña como Summer2024! tiene 11 caracteres de cuatro tipos, lo que parece dar 72 bits. En la práctica es una estación, un año y un símbolo, y un ataque por reglas la prueba entre los primeros miles de millones de intentos, lo que lleva bastante menos de un segundo contra un hash rápido. P@ssw0rd123 está en todas las listas. Una longitud hecha de piezas previsibles aporta muy poco.

Por eso también los medidores de fuerza de los formularios de registro pueden engañar. Un medidor que cuenta tipos de caracteres le da la nota máxima a Summer2024! y no valora más a quietly-orbit-lantern-pebble-fossil, aunque la segunda es mucho más fuerte.

Qué hace buena a una contraseña hoy

  • Deja que la elija una computadora. Caracteres aleatorios o palabras aleatorias, desde un gestor de contraseñas o un generador que use la fuente aleatoria criptográfica de tu navegador.
  • Apunta a al menos 12 caracteres, o 16 si nunca la escribes. Un gestor de contraseñas la rellena por ti, así que la longitud no cuesta nada.
  • Usa una frase de contraseña donde debas escribirla. Cinco o seis palabras aleatorias son largas pero fáciles de escribir y recordar, lo que encaja con el inicio de sesión de una laptop o con el propio gestor de contraseñas.
  • Nunca reutilices una contraseña. La mayoría de los robos de cuentas hoy no descifran nada: prueban en un sitio contraseñas filtradas de otro.
  • Activa un segundo factor en el correo, el banco y todo lo que pueda restablecer otras cuentas. Hace inútil por sí sola una contraseña robada.

Sigue valiendo la pena incluir símbolos cuando un sitio los permite, porque aumentan el número de opciones por carácter. Simplemente no sustituyen a la longitud, y no valen nada cuando aparecen donde todo el mundo los pone.

Cómo funciona el generador de este sitio

El generador de contraseñas de Tooloat saca cada carácter o palabra de crypto.getRandomValues, el generador de números aleatorios criptográfico del navegador, y funciona por completo en tu dispositivo: nada de lo que generas se envía a ningún sitio. Muestra la entropía del método elegido y tres estimaciones de descifrado, de un ataque en línea a un gran clúster, para que veas el efecto de cada ajuste antes de copiar el resultado.

Para la mayoría de las cuentas, el valor por defecto de 20 caracteres aleatorios es la respuesta correcta. Para la única contraseña que escribes todos los días, elige Frase de contraseña y cinco o seis palabras.

Preguntas y respuestas

¿Una contraseña más larga siempre es más fuerte?

Solo si la longitud extra es aleatoria. Doce letras minúsculas aleatorias superan a ocho caracteres aleatorios de todos los tipos, pero una frase larga de una canción o de un libro se puede adivinar con listas de frases.

¿Siguen importando los símbolos?

Aumentan el número de opciones por carácter, así que ayudan cuando se colocan al azar. Una mayúscula inicial y un signo de exclamación al final no añaden casi nada, porque las herramientas de descifrado prueban ese patrón primero.

¿Cada cuánto debo cambiar mi contraseña?

Las recomendaciones actuales de organismos de seguridad como el NIST son cambiar una contraseña cuando hay motivos para pensar que se filtró, no en un calendario fijo. Los cambios obligatorios tienden a producir variaciones previsibles.

¿Las frases de contraseña son tan fuertes como los caracteres aleatorios?

Por carácter son más débiles, pero por cosa que recuerdas son más fuertes. Seis palabras aleatorias tienen más o menos la misma entropía que 12 caracteres aleatorios de todos los tipos, y a la mayoría de la gente le resultan mucho más fáciles de escribir.

Herramientas de este artículo

Más del blog

Privacidad y seguridad6 min de lectura

Cómo quitar la ubicación y otros metadatos de las fotos

Cada foto lleva datos ocultos sobre la cámara, la hora y a menudo el lugar. Leímos lo que aún revelaban nueve fotos publicadas, añadimos una ubicación para mostrar su precisión y comprobamos que quitarla deja la imagen intacta.

Privacidad y seguridad6 min de lectura

MD5 o SHA-256: ¿qué hash deberías usar?

MD5 y SHA-256 convierten un archivo en una huella corta, pero solo uno de los dos sigue siendo fiable cuando alguien intenta engañarte. Cronometramos siete funciones hash y vimos qué significa de verdad «roto».

Privacidad y seguridad6 min de lectura

¿Los conversores en línea suben tus archivos?

La mayoría de los conversores en línea envían tu archivo a un servidor; algunos hacen el trabajo en tu navegador. Así puedes saber en un minuto de qué tipo es un sitio, y así fue cada petición cuando convertimos una foto en el nuestro.

Esc