Nivel 1 · 1A Contraseñas · Lección 1 de 3
Por qué una clave corta cae en segundos
Una contraseña no se "adivina" como en las películas: un programa prueba combinaciones a toda velocidad. Eso se llama fuerza bruta. Una computadora común prueba millones de claves por segundo, y una con placas gráficas, miles de millones.
Por eso importa tanto el largo. Cada carácter extra multiplica el trabajo del atacante: un código de 3 dígitos tiene 1.000 combinaciones, uno de 4 dígitos tiene 10.000. Con letras, números y símbolos, cada carácter multiplica por decenas.
Lo primero que prueban
Antes de recorrer todas las combinaciones, los atacantes prueban listas de claves comunes (123456, qwerty, contraseña), nombres, equipos de fútbol y fechas con año (Mateo2015, Boca1905). Si tu clave es de esas, cae en el primer segundo aunque tenga mayúscula y número.
Dos defensas que valen oro
Una clave distinta en cada cuenta: si una web se hackea y filtra tu clave, los atacantes la prueban en tu mail, tu banco y tus redes. Y la verificación en dos pasos (2FA): aunque roben tu clave, les falta el código de tu celular.
Para ir más a fondo
Qué hace la web con tu clave
Una web bien hecha NO guarda tu clave tal cual la escribiste, sino una "huella" matemática llamada hash. Además mezcla un dato al azar, la sal, distinto para cada persona. Así, dos personas con la misma clave tienen huellas distintas y el atacante no puede reutilizar el trabajo.
const sal = crypto.getRandomValues(new Uint8Array(16));
const base = await crypto.subtle.importKey(
'raw', new TextEncoder().encode(clave), 'PBKDF2', false, ['deriveBits']);
const huella = await crypto.subtle.deriveBits(
{ name: 'PBKDF2', hash: 'SHA-256', salt: sal, iterations: 100000 },
base, 256);- Línea 1: fabrica 16 bytes al azar. Esa es la sal.
- Líneas 2-3: convierte tu clave en un formato que el navegador o el servidor entiende.
- Líneas 4-6: calcula la huella repitiendo el cálculo 100.000 veces. Es lento A PROPÓSITO: para vos es una fracción de segundo, para un atacante que prueba millones de claves lo vuelve mucho más lento.
Esta misma app guarda tu clave así. Si querés verlo, está en el archivo src/util.js, función derivarClave. Hoy se recomiendan unas 600.000 vueltas o algoritmos como Argon2; esta app usa 100.000 porque es el máximo que permite su servidor (Cloudflare Workers).
Preguntas de repaso
Un atacante prueba claves numéricas. ¿Cuánto más trabajo tiene con un código de 5 dígitos que con uno de 4?
Respuesta: Diez veces más combinaciones. Cada dígito extra multiplica por 10 las combinaciones: de 10.000 se pasa a 100.000. Con las claves pasa igual: cada carácter extra multiplica el trabajo.
¿Cuál de estas claves cae primero?
Respuesta: Boca1905. Equipo más año está en todas las listas que los atacantes prueban primero. Las otras dos son largas y al azar.
¿Para qué sirve la verificación en dos pasos?
Respuesta: Para que robar la clave no alcance para entrar. Pide un segundo dato, como un código en tu celular. Aunque alguien tenga tu clave, le falta ese paso.