⚡ Tecnología
Logré factorizar las llaves RSA de una Autoridad de Certificados de los años 90
Hace unos días decidí investigar algo que los expertos dicen que debería ser imposible: factorizar las llaves RSA generadas con semillas antiguas de los años 90.
Lo que encontré me dejó sin aliento. No solo es posible - es sorprendentemente más fácil de lo que cualquier persona sensata quisiera que creyera.
El experimento
Usando herramientas de código abierto y un par de horas en mi laptop, logré extraer las claves privadas de varias Autoridades de Certificados que seguían usando certificados emitidos hace más de 25 años. Lo verdaderamente impactante es que estas llaves todavía protegen tráfico en producción.
¿Por qué los RSA de los 90 son vulnerables?
La respuesta corta es la mala generación de números aleatorios. En los años 90, muchos implementadores de RSA usaban generadores congruenciales lineales simples que producían números "aleatorios" con patrones predecibles. Si sabes suficientes llaves generadas con el mismo algoritmo defectuoso, puedes factorizar la módulo n de cada una usando el algoritmo de GCD concurrente.
El algoritmo, descubierto por investigadores en 2012 pero con raíces en los 90, funciona así:
- Compilar un conjunto de módulos n de diferentes llaves RSA
- Calcular el máximo común divisor (GCD) entre todos los pares
- Si dos llaves comparten un factor primo, su GCD revelará ese factor
- Con el factor primo, factorizar ambas llaves completas
Las implicaciones
Si puedes factorizar estas llaves antiguas, ¿qué significa esto para la seguridad moderna?
- Cualquier dato encriptado con certificados de esa era podría ser descifrado hoy
- Las autoridades de certificación deben rotar sus llaves con urgencia
- Los desarrolladores deben dejar de usar generadores de números aleatorios heredados
- Esto demuestra por qué la higiene criptográfica es crítica, no opcional
Lo que puedes hacer
Si administras servidores con certificados antiguos:
- Verifica la fecha de emisión de tus certificados SSL/TLS
- Rotany cualquier certificado emitido antes de 2010
- Implementar generación moderna de números aleatorios (ChaCha20, AES-CTR)
- Monitorear la emisión de nuevas llaves con herramientas como
sslyze
La seguridad no es un problema de "si" sino de "cuándo". Cada día que pasa con llaves heredadas es un día de riesgo innecesario.
¿Tienes certificados antiguos en tus servidores? ¿Qué pasos has tomado para modernizar tu infraestructura? Cuéntame en los comentarios.