Generador Contraseñas

Generar contraseñas aleatorias seguras

Tipo
16
Entendiendo Entropía y Seguridad de Contraseñas
TL;DR

La fortaleza de una contraseña se mide en bits de entropía — cuanto mayor la entropía, más tiempo toma descifrarla. Una contraseña aleatoria de 12 caracteres tiene ~72 bits de entropía.

¿Qué es la Entropía de Contraseñas?

La entropía es una medida de imprevisibilidad, expresada en bits. En el contexto de contraseñas, la entropía cuantifica cuántos intentos necesitaría un atacante para descifrar la contraseña por fuerza bruta. Cada bit de entropía duplica el número de combinaciones posibles.

Una contraseña con n bits de entropía significa que hay 2^n contraseñas igualmente probables que el atacante debe buscar. Por ejemplo, 50 bits de entropía significa 2^50 (aproximadamente 1.1 mil billones) combinaciones posibles, mientras que 80 bits significa 2^80 (aproximadamente 1.2 trillones) de combinaciones.

Cuanto mayor la entropía, más resistente es la contraseña a ataques de fuerza bruta y diccionario. Sin embargo, la entropía por sí sola no cuenta toda la historia — una contraseña que aparece en una base de datos de brechas tiene efectivamente cero entropía independientemente de su fortaleza teórica, porque los atacantes probarán contraseñas conocidas primero.

La entropía de contraseña es la métrica más importante para evaluar la fortaleza de una contraseña. La longitud, la diversidad de caracteres y la verdadera aleatoriedad contribuyen a una mayor entropía. Los patrones, palabras de diccionario e información personal reducen la entropía efectiva porque hacen que la contraseña sea más predecible.

Cálculo de la Entropía

La fórmula para la entropía de contraseñas depende del método utilizado para generar la contraseña:

Contraseñas de Caracteres Aleatorios

Para una contraseña de longitud L seleccionada uniformemente al azar de un conjunto de caracteres de tamaño C:

Entropía = L x log2(C)

Conjunto de CaracteresTamaño (C)EjemplosEntropía por Carácter
Solo dígitos100-93.32 bits
Letras minúsculas26a-z4.70 bits
Minúsculas + dígitos36a-z, 0-95.17 bits
Mayúsculas y minúsculas + dígitos62A-Z, a-z, 0-95.95 bits
Todos los ASCII imprimibles95A-Z, a-z, 0-9, símbolos6.57 bits

Una contraseña de 12 caracteres usando todos los caracteres ASCII imprimibles tiene 12 x 6.57 = ~79 bits de entropía.

Frases de Contraseña Diceware

Para una frase de contraseña de W palabras elegidas aleatoriamente de una lista de N palabras:

Entropía = W x log2(N)

La lista estándar de Diceware contiene 7,776 palabras (6^5, correspondiente a cinco lanzamientos de dados). Cada palabra agrega log2(7776) = ~12.9 bits de entropía.

PalabrasEntropíaNivel de Fortaleza
3 palabras~39 bitsDébil (solo en línea con limitación de intentos)
4 palabras~51 bitsModerado (adecuado para la mayoría de cuentas en línea)
5 palabras~64 bitsFuerte (mínimo recomendado para cuentas importantes)
6 palabras~77 bitsMuy fuerte (adecuado para contraseñas maestras)
7 palabras~90 bitsExcelente (billeteras de criptomonedas, claves de cifrado)

Entropía vs Tiempo de Descifrado

El tiempo para descifrar una contraseña depende tanto de la entropía como de la velocidad del atacante (medida en intentos por segundo). La siguiente tabla asume un ataque sin conexión contra un hash rápido (como SHA-256 sin sal) a 10 mil millones de intentos por segundo:

Entropía (bits)CombinacionesTiempo Estimado de Descifrado
40~1 billónSegundos
50~1 mil billonesHoras
60~1 trillónMeses
70~1 mil trillonesAños
80~1.2 x 10^24Siglos
90+~1.2 x 10^27Muerte térmica del universo
Password Cracking Time vs Entropy A horizontal bar chart illustrating how cracking time scales exponentially with entropy. Bars represent different entropy levels from 40 bits (seconds) to 90+ bits (heat death of the universe), with annotations showing common password types at each level. Cracking Time vs Entropy (10B guesses/sec) 40 bits 50 bits 60 bits 70 bits 80 bits 90 bits Seconds Hours Months Years Centuries Heat death 6-digit PIN 8-char random 12-char + symbols 16-char + symbols

Frase de Contraseña vs Aleatoria

Hay dos enfoques principales para generar contraseñas fuertes, cada uno con sus ventajas y desventajas.

Contraseñas de Caracteres Aleatorios

Las contraseñas de caracteres aleatorios maximizan la entropía por carácter. Una contraseña aleatoria de 16 caracteres usando el conjunto completo de ASCII imprimibles proporciona aproximadamente 105 bits de entropía — extremadamente fuerte. Sin embargo, cadenas como k7$Qm!xR9pL#vW2n son difíciles de memorizar y dolorosas de escribir en teclados móviles.

Las contraseñas aleatorias son más adecuadas para situaciones donde un gestor de contraseñas maneja el almacenamiento y el autocompletado. Si estás usando un gestor de contraseñas (y deberías hacerlo), las contraseñas de caracteres aleatorios son la opción óptima porque la memorización es irrelevante.

Frases de Contraseña Diceware

Las frases de contraseña usan múltiples palabras elegidas al azar, típicamente separadas por guiones o espacios. Una frase de contraseña Diceware de 5 palabras como lunar-fabric-ocean-timber-quartz tiene aproximadamente 64 bits de entropía — suficientemente fuerte para la mayoría de propósitos — y es dramáticamente más fácil de recordar y escribir.

La idea clave es que la seguridad de las frases de contraseña proviene de la aleatoriedad de la selección de palabras, no de la oscuridad de las palabras mismas. Cada palabra debe ser elegida por un proceso verdaderamente aleatorio (lanzamiento de dados o un generador de números aleatorios criptográfico), no por un humano eligiendo palabras que “parecen aleatorias”.

Las frases de contraseña son ideales para contraseñas maestras (bóvedas de gestores de contraseñas, cifrado de disco) donde debes escribir la contraseña de memoria y no puedes depender del autocompletado.

¿Cuál Deberías Elegir?

EscenarioRecomendación
Almacenada en un gestor de contraseñasAleatoria de 16+ caracteres
Debe memorizarse (contraseña maestra)Diceware de 5-6 palabras
Se debe escribir frecuentemente en móvilDiceware de 5-6 palabras
Alta seguridad (claves de cifrado)Aleatoria de 20+ caracteres o Diceware de 7+ palabras

Casos de Uso Comunes

  • Registro de cuentas: Cada cuenta nueva debería recibir una contraseña única generada aleatoriamente y almacenada en un gestor de contraseñas. Reutilizar contraseñas entre servicios es el error de seguridad más grande que la mayoría de personas comete
  • Creación de contraseña maestra: La única contraseña que debes memorizar — la contraseña maestra de tu gestor de contraseñas — debería ser una frase de contraseña Diceware fuerte (5+ palabras) ya que protege todas tus otras credenciales
  • Generación de claves API: Las claves API y tokens deben generarse usando generadores de números aleatorios criptográficamente seguros con suficiente entropía (128+ bits) para prevenir ataques de adivinación
  • Derivación de claves de cifrado: El cifrado de disco completo (BitLocker, LUKS, FileVault) y el cifrado de archivos (GPG, age) derivan sus claves de cifrado de tu frase de contraseña. Las frases de contraseña débiles socavan todo el cifrado
  • Contraseñas de Wi-Fi: Las claves precompartidas WPA2/WPA3 deben tener al menos 60 bits de entropía. Una frase de contraseña de 5 palabras o una contraseña aleatoria de 10+ caracteres es la recomendación mínima
  • Códigos de recuperación de dos factores: Los códigos de recuperación de respaldo deben tener suficiente entropía para que un atacante no pueda adivinarlos en un número razonable de intentos, incluso si tienen acceso a un factor

Prueba estos ejemplos

Contraseña Aleatoria Fuerte de 16 Caracteres Válido

Una contraseña de 16 caracteres usando mayúsculas, minúsculas, dígitos y símbolos (~95 caracteres ASCII imprimibles). Entropía: log2(95^16) = ~105 bits. A 10 mil millones de intentos por segundo, tomaría billones de años descifrarla por fuerza bruta.

k7$Qm!xR9pL#vW2n
Contraseña Común Débil Inválido

Esta contraseña aparece en todos los diccionarios de brechas importantes. Tiene efectivamente cero entropía porque los atacantes prueban palabras de diccionario y patrones comunes primero, antes de la fuerza bruta. Se descifraría en menos de un segundo.

password123
Frase de Contraseña Fuerte Válido

Una frase de contraseña de 4 palabras de una lista de ~7,776 palabras (Diceware). Entropía: log2(7776^4) = ~51 bits. Más fácil de recordar que caracteres aleatorios, y aún fuerte contra ataques en línea con limitación de intentos.

correct-horse-battery-staple