Tamano de Llave Debil
Usar llaves criptograficas mas cortas que los minimos recomendados (RSA menor a 2048 bits, AES menor a 128 bits) hace la encriptacion vulnerable a ataques de fuerza bruta con hardware moderno.
Cómo Funciona
El tamano de la llave criptografica determina directamente que tan resistente es la encriptacion a ataques de fuerza bruta. Llaves RSA menores a 2048 bits pueden ser factorizadas con clusters de computacion modernos — una llave RSA de 1024 bits fue factorizada en 2010 y llaves de 768 bits son trivialmente rompibles. Para encriptacion simetrica, DES (llaves de 56 bits) y 3DES (112 bits efectivos) estan deprecados. AES-128 es el tamano de llave simetrica minimo aceptable, con AES-256 recomendado para proteccion a largo plazo. A medida que el poder de computo aumenta y la computacion cuantica avanza, tamanos de llave debiles se vuelven exponencialmente mas vulnerables. Llaves que son seguras hoy pueden ser rompibles manana si son de tamano insuficiente.
const crypto = require('crypto');
// RSA key too small
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
modulusLength: 1024
});
// AES key too small
const key = crypto.randomBytes(8); // 64-bit key
const cipher = crypto.createCipheriv('aes-128-gcm', key, iv);const crypto = require('crypto');
// RSA with adequate key size
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
modulusLength: 4096
});
// AES-256 with proper key size
const key = crypto.randomBytes(32); // 256-bit key
const cipher = crypto.createCipheriv('aes-256-gcm', key, iv);Ejemplo Real
En 2017, la vulnerabilidad ROCA (CVE-2017-15361) afecto la generacion de llaves RSA en chips TPM de Infineon usados en IDs gubernamentales y tokens de seguridad. Llaves de 1024 y 2048 bits generadas por estos chips podian ser factorizadas, comprometiendo tarjetas de identidad nacionales de Estonia y numerosos tokens de seguridad corporativos. El ataque costaba alrededor de $20,000 en computacion en la nube para llaves de 2048 bits.
Cómo Prevenirlo
- Usa tamanos de llave RSA de al menos 2048 bits, preferiblemente 4096 bits
- Usa AES-256 (llave de 32 bytes) para encriptacion simetrica
- Considera cambiar a criptografia de curva eliptica (Ed25519) para mejor seguridad con llaves mas pequenas
- Audita tamanos de llaves existentes y rota cualquier llave por debajo de los minimos recomendados
Tecnologías Afectadas
Data Hogo detecta esta vulnerabilidad automáticamente.
Escanea Tu Repo GratisVulnerabilidades Relacionadas
Modo ECB
mediumUsar modo ECB (Electronic Codebook) para encriptacion produce bloques de texto cifrado identicos para bloques de texto plano identicos, revelando patrones en los datos encriptados.
IV/Nonce Estatico
highUsar un Vector de Inicializacion (IV) o nonce hardcodeado o constante para encriptacion anula el proposito del IV y permite a los atacantes detectar patrones y desencriptar datos.
Validacion de Certificado Deshabilitada
criticalDeshabilitar la validacion de certificados TLS con NODE_TLS_REJECT_UNAUTHORIZED=0 o rejectUnauthorized: false permite ataques man-in-the-middle en todas las conexiones HTTPS.
PRNG Debil para Seguridad
highUsar Math.random() o Date.now() para generar tokens, IDs de sesion o codigos de reset produce valores predecibles que los atacantes pueden adivinar o reproducir.