Cada formulario de registro tiene un medidor de fuerza y rara vez están de acuerdo. Uno se vuelve verde para Summer2024!, otro lo llama débil y un tercero quiere un símbolo que ya escribiste. El desacuerdo no es aleatorio. Cada medidor es un pequeño modelo de cómo adivina un atacante, y cada modelo tiene puntos ciegos.
Esta guía explica cómo se estima la solidez de la contraseña, con la fórmula de entropía elaborada con contraseñas reales, qué asumen las cifras de tiempo de crack, qué patrones puede detectar un verificador y cuáles no, y qué guía actual del NIST recomienda en lugar de reglas de símbolos. Los ejemplos utilizan el Comprobador de fuerza de contraseña, y cada número a continuación es lo que esa herramienta informa para la contraseña que se muestra.
TL;Dr: La intensidad de la contraseña es el número de conjeturas que necesita un atacante, generalmente expresadas como entropía en bits: longitud × log2 (tamaño del grupo de caracteres). Cada bit extra duplica el trabajo. El verificador de intensidad de contraseñas calcula esa cifra, la corta para contraseñas comunes, patrones repetidos, secuencias y ejecuciones de teclado, y califica el resultado de Muy débil (menos de 28 bits) a Muy fuerte (128 bits en adelante), con estimaciones de tiempo de crack de 10 mil millones de conjeturas por segundo sin conexión y 1000 por segundo en línea. Las fórmulas de entropía no pueden ver palabras del diccionario con sustituciones, por lo que
P@ssw0rd1todavía puntúa Justo. La duración y la aleatoriedad son lo que ayuda. La verificación se ejecuta en el lado del cliente, es gratuita, no hay registro y la contraseña nunca se carga.
¿qué significa la fuerza de la contraseña?
La intensidad de la contraseña es una medida de cuántas conjeturas necesitaría un atacante, en promedio, para encontrar una contraseña. No es una medida de lo complicada que parece la contraseña. Una contraseña es sólida cuando es impredecible, y es impredecible cuando se eligió entre un conjunto muy grande de opciones igualmente probables.
Por eso la fuerza suele citarse en bits. Una contraseña con 40 bits de entropía es tan difícil de adivinar como elegir un elemento entre 2^40, alrededor de 1,1 billones, opciones igualmente probables. Cada bit adicional duplica la búsqueda.
¿cómo se calcula la entropía de la contraseña?
La estimación estándar multiplica la longitud de la contraseña 's por la cantidad de bits que aporta cada carácter, que depende de cuántos caracteres posibles se extrajeron:
entropy (bits) = length × log2(pool size)
El verificador crea el grupo a partir de los tipos de caracteres presentes en la contraseña:
| Tipo de personaje | Agregado a la piscina | Bits por carácter si se usan solos |
|---|---|---|
| Minúsculas de la a a la z | 26 | 4.70 |
| Mayúsculas de la A a la Z | 26 | 4.70 |
| Dígitos 0 a 9 | 10 | 3.32 |
| Símbolos ASCII y espacio | 33 | 5.04 |
| Cualquier cosa fuera de ASCII (acentos, emoji) | 100 | 6.64 |
Una contraseña que utiliza los cuatro tipos ASCII tiene un grupo de 26 + 26 + 10 + 33 = 95 y log2(95) = 6,57 bits por carácter.
Ejemplo trabajado: una contraseña aleatoria de 16 caracteres
- Grupo: los cuatro tipos, 95 caracteres.
- Bits por carácter: log2(95) = 6,5699.
- Entropía: 16 × 6,5699 = 105,1 bits.
El verificador califica eso como Fuerte. Una contraseña aleatoria de 20 caracteres del mismo grupo da 20 × 6,5699 = 131,4 bits, que cruza la línea de 128 bits en Muy fuerte.
La fórmula sólo es honesta cuando la contraseña realmente se generó aleatoriamente a partir de ese grupo. Una contraseña elegida por humanos utiliza una porción pequeña y predecible del espacio, y ahí es donde entran las comprobaciones de patrones.
¿qué bandas de puntuación utiliza el verificador?
Después de ajustar por patrones, el verificador convierte la entropía en una de cinco etiquetas.
| Entropía ajustada | Etiqueta | Lo que significa en la práctica |
|---|---|---|
| Menos de 28 bits | Muy débil | Encontrado casi inmediatamente por cualquier ataque |
| 28 a menos de 36 bits | Débil | Sin conexión rápida; protección limitada en línea |
| 36 a menos de 60 bits | Feria | Sobrevive a las conjeturas en línea; vulnerable fuera de línea a un hash rápido |
| 60 a menos de 128 bits | Fuerte | Fuera del alcance de la fuerza bruta a las velocidades actuales |
| 128 bits y más | Muy fuerte | Más allá de cualquier fuerza bruta previsible |
¿qué patrones reducen la puntuación?
Tratamientos de entropía cruda aaaaaaaaaaaa como contraseña en minúscula de 12 caracteres con un valor de 56 bits. Nadie lo llamaría fuerte. El verificador aplica cuatro ajustes antes de calificar:
- Contraseñas comunes. La contraseña, en minúsculas, se compara con una lista incorporada de 53 de las contraseñas más filtradas, incluidas
123456,password,qwerty,letmeinyp@ssw0rd. Una coincidencia limita la entropía a 8 bits. - Repetición de contraseña completa. Si la contraseña completa es una unidad corta repetida, como por ejemplo
abcabcinvestigaciones operacionalesaaaaaa, la entropía colapsa aproximadamente a la entropía de una unidad más unos pocos bits. - Ejecuciones del mismo personaje. Tres o más caracteres idénticos seguidos, como por ejemplo
zzz, multiplica la entropía por 0,75. - Secuencias. Cualquier ejecución de tres caracteres desde el alfabeto, los dígitos o las filas del teclado
qwertyuiop,asdfghjklyzxcvbnm, hacia adelante o hacia atrás, multiplica la entropía por 0,75.
También advierte, sin cambiar el número, cuando una contraseña tiene menos de 8 caracteres, utiliza un solo tipo de carácter o solo dígitos.
¿qué dice el verificador sobre las contraseñas reales?
Esto es lo que informa la herramienta para un conjunto de contraseñas que las personas suelen usar o que se recomienda usar. Los tiempos de crack utilizan el verificador 's dos modelos de atacante.
| contraseña | Longitud | Entropía ajustada | Calificación | Tiempo de crack sin conexión | Hora del crack en línea | Advertencias planteadas |
|---|---|---|---|---|---|---|
password |
8 | 8,0 bits | Muy débil | instantáneamente | instantáneamente | Contraseña común; un tipo de carácter |
qwerty123 |
9 | 6,0 bits | Muy débil | instantáneamente | instantáneamente | Contraseña común; secuencia |
aaaaaaaaaaaa |
12 | 8,3 bits | Muy débil | instantáneamente | instantáneamente | Patrón repetido; un tipo de carácter |
4829 |
4 | 13,3 bits | Muy débil | instantáneamente | 5 segundos | Demasiado corto; sólo dígitos; un tipo |
P@ssw0rd1 |
9 | 59,1 bits | Feria | 12 meses | siglos | nadie |
Summer2024! |
11 | 72,3 bits | Fuerte | siglos | siglos | nadie |
Tr0ub4dor&3 |
11 | 72,3 bits | Fuerte | siglos | siglos | nadie |
correct horse battery staple |
28 | 164,7 bits | Muy fuerte | siglos | siglos | nadie |
Algunos de ellos se pueden comprobar a mano. qwerty123 coincide con la lista común, limitándola a 8 bits, y contiene una ejecución de teclado y una secuencia de dígitos, por lo que 8 × 0,75 = 6,0. Para 4829, el grupo tiene 10 dígitos, por lo que 4 × 3,32 = 13,3 bits. El número medio de conjeturas es la mitad del espacio: 2^13,3 / 2 = 5.000. A 1.000 conjeturas por segundo, es decir, 5 segundos en línea.
P@ssw0rd1 es la fila interesante. Utiliza los cuatro tipos de caracteres, por lo que 9 × 6,57 = 59,1 bits, y no está en la lista común porque la lista contiene p@ssw0rd sin el dígito final. El verificador no tiene forma de saber que es la palabra "contraseña" Con las sustituciones más predecibles, una herramienta de cracking lo intenta primero.
¿qué suponen las estimaciones del tiempo de crack?
Las dos figuras modelan a dos atacantes muy diferentes, y ambas parten del mismo número: las conjeturas promedio necesarias, que es la mitad de 2 elevadas a la entropía.
| Modelo | Adivinaciones por segundo | Representa |
|---|---|---|
| Sin conexión (rápido) | 10.000.000.000 | Una base de datos robada de hashes rápidos y sin sal atacados en hardware de GPU |
| En línea (estrangulado) | 1.000 | Adivinando contra un formulario de inicio de sesión en vivo |
La cifra fuera de línea es el caso pesimista y es la correcta para planificar, porque una vez que se filtra una base de datos de contraseñas de site's, el atacante ya no tiene una velocidad limitada. Qué tan realista es 10 mil millones por segundo depende completamente de cómo almacenó el sitio las contraseñas. Un hash deliberadamente lento como bcrypt reduce la tasa de un atacante 's en muchos órdenes de magnitud, que guía del generador bcrypt explica en detalle, mientras que un hash rápido como MD5 o SHA-1 sin sal permite velocidades en este rango. El guía del generador de hash cubre la diferencia entre esos algoritmos.
Vale la pena conocer dos límites de la pantalla:
- A 60 bits o más, el verificador deja de calcular y muestra "centuries". Según su propia suposición fuera de línea, 60 bits promediarían 2^59 / 10^10 = alrededor de 58 millones de segundos, aproximadamente 1,8 años, y la cifra no llega a un siglo hasta alrededor de 66 bits. Tratar "siglos" en una contraseña de los 60 años como "años, no siglos".
- Las estimaciones no dicen nada sobre las infracciones. Una contraseña que apareció en una filtración se adivina primero a partir de la lista de filtraciones, cualquiera que sea su entropía.
¿Por qué mi contraseña larga todavía está calificada como débil?
Porque la longitud sólo ayuda cuando los personajes son impredecibles. El verificador reduce la puntuación de los patrones que los atacantes intentan primero: un bloqueo repetido, una carrera como 1111, una secuencia como abcd investigaciones operacionales 9876o un paseo en teclado como asdfgh. abcabcabcabc tiene 12 caracteres, pero es una unidad de tres letras repetida y contiene una secuencia alfabética, por lo que el verificador la califica con 13,3 bits: menos que una contraseña aleatoria de 3 caracteres del grupo completo de 95 caracteres, que vale 19,7 bits.
También ocurre lo contrario, y es más importante. Algunas contraseñas obtienen buenos resultados y son débiles, porque una fórmula de grupo de caracteres no puede reconocer:
- palabras, nombres y lugares del diccionario con letras intercambiadas por dígitos o símbolos parecidos, como
Tr0ub4dor&3; - una estación o mes más un año más un símbolo, como por ejemplo
Summer2024!; - información personal como una mascota & #39;s nombre y año de nacimiento;
- frases de contraseña construidas a partir de una cita famosa o un ejemplo bien conocido, incluido
correct horse battery staple, que viene de cómic xkcd 936 y ahora aparece en listas de palabras descifradas.
La entropía honesta de una frase de contraseña depende de cómo se eligieron las palabras, no de sus caracteres. Cuatro palabras elegidas al azar de una lista de 2048 palabras dan 4 × log2(2048) = 4 × 11 = 44 bits. Seis de esas palabras dan 66 bits. Eso es más bajo que lo que informa la fórmula de los caracteres, pero es real, y es por eso que los generadores de frases de contraseña eligen palabras con un proceso aleatorio en lugar de permitir que la gente elija.
¿qué recomienda el NIST para las contraseñas?
El Instituto Nacional de Estándares y Tecnología de EE. UU. establece la guía de contraseñas en Publicación especial del NIST 800-63B, Pautas de Identidad Digital. Se recomiendan sus recomendaciones para servicios que verifican contraseñas con varios hábitos de medidores de fuerza más antiguos:
- No imponga reglas de composición como "debe contener un símbolo y una letra mayúscula" Empujan a las personas hacia sustituciones predecibles.
- Compare nuevas contraseñas con listas de valores que se sabe que están comprometidos, comunes o esperados, y rechace coincidencias.
- No fuerce cambios periódicos de contraseña sin evidencia de compromiso.
- Permita contraseñas largas, incluidos espacios y todos los caracteres imprimibles, para que las frases de contraseña funcionen.
La revisión actual, SP 800-63B-4, mantiene esos principios y aumenta la longitud mínima de las contraseñas utilizadas como único factor de autenticación.
La lectura práctica para una persona que elige una contraseña: la longitud y la aleatoriedad hacen el trabajo, un administrador de contraseñas hace que las contraseñas aleatorias sean utilizables y una verificación de incumplimiento importa tanto como un medidor de fuerza. ¿me han asignado contraseñas de Pwned & #39;s el servicio le permite verificar si una contraseña ha aparecido en una infracción conocida mediante una consulta de rango de anonimato k, que envía solo los primeros cinco caracteres del hash SHA-1 de contraseña 's en lugar de la contraseña en sí.
Cómo verificar una contraseña's fuerza, paso a paso
- Abre el comprobador de fuerza de contraseña gratuito y escriba o pegue la contraseña en el campo. Utilice el botón ocular para mostrarlo u ocultarlo.
- Lea la calificación, la entropía ajustada en bits y la longitud.
- Compare los dos tiempos de crack, recordando que "centuries" comienza en 60 bits.
- Mire los recuentos de composición para minúsculas, mayúsculas, dígitos y símbolos. Los caracteres que no son ASCII se cuentan con los símbolos de esta fila.
- Lea las advertencias, que nombran problemas específicos como una secuencia o una contraseña común.
- Siga las sugerencias y vea cómo se actualizan las cifras mientras escribe. Cuando una contraseña obtiene una puntuación fuerte o mejor sin advertencias, la sugerencia cambia a un recordatorio para usarla en un solo lugar y almacenarla en un administrador de contraseñas.
Una pequeña peculiaridad: la longitud cuenta las unidades de código UTF-16, la forma en que JavaScript mide las cadenas, por lo que la mayoría de los emoji cuentan como dos caracteres.
¿es seguro escribir una contraseña real en un verificador de fuerza?
Con este verificador, el análisis se realiza completamente en su navegador en JavaScript simple. La contraseña no se envía a través de la red, no se registra ni se almacena, y la página sigue funcionando con la red desconectada. La herramienta sólo registra que se realizó una verificación, no lo que se verificó.
El hábito general sigue siendo sólido: no escriba contraseñas reales en sitios en los que no confíe, porque no puede ver lo que hace un código de page's con ellas. Si desea probar la forma de una contraseña sin exponer la real, pruebe una contraseña de la misma estructura: la misma longitud, los mismos tipos de caracteres, el mismo tipo de palabras.
¿Cómo se hace que una contraseña sea segura?
Los enfoques que generan fuerza real, en orden de impacto:
| acceso | Ejemplo de entropía | notas |
|---|---|---|
| Contraseña aleatoria de un administrador, 20 caracteres, todo tipo | 131 bits | Único por sitio; nada que recordar |
| Frase de contraseña aleatoria, 6 palabras de una lista de 7.776 palabras | 6 × 12,9 = 77,5 bits | Fácil de escribir; bueno para una contraseña maestra |
| Contraseña aleatoria, 12 caracteres, todo tipo | 78,8 bits | Difícil de memorizar |
| Palabra elegida por el hombre + sustituciones + año | Mucho inferior a su puntuación | Aparece en reglas de craqueo |
La lista de 7.776 palabras tiene el tamaño de una lista de dados estándar, donde cinco tiradas de dados eligen cada palabra y log2(7776) = 12,9 bits por palabra.
Para crear contraseñas aleatorias, el generador de contraseñas dibuja caracteres con el navegador 's Web Crypto fuente de números aleatorios, y el guía del generador de contraseñas cubre opciones de longitud y conjunto de caracteres. El centro de herramientas de seguridad enumera herramientas relacionadas, incluida la generador bcrypt para desarrolladores que almacenan contraseñas.
Alternativas a este corrector de fuerza
- zxcvbn, el estimador de código abierto publicado por Dropbox en GitHub, compara contraseñas con diccionarios, nombres, fechas y sustituciones comunes, y es mejor para atrapar
P@ssw0rd-contraseñas de estilo. Es una biblioteca para desarrolladores más que una página. - Auditorías del administrador de contraseñas verifique las contraseñas guardadas para ver si hay reutilización, debilidades e incumplimientos conocidos en todas sus cuentas a la vez.
- Verificaciones de incumplimiento como Pwned Passwords responde a una pregunta diferente: no qué tan adivinable es una contraseña en teoría, sino si los atacantes ya la tienen.
Este verificador 's puntos fuertes son la transparencia y la privacidad: muestra la entropía, el modelo del atacante y las advertencias exactas, y la contraseña nunca sale de su dispositivo.



