La clave trasera de la NSA en Lotus Notes en 2002
(cypherspace.org)- Antes de que se eliminaran las restricciones de exportación de criptografía en EE. UU., la edición de exportación de Lotus Notes incluía una estructura de escrow de claves/puerta trasera llamada differential cryptography
- Este método obtenía autorización de exportación cifrando 24 bits de un cifrado de 64 bits con la clave pública de la NSA, y la NSA podía acceder al texto plano probando por fuerza bruta solo los 40 bits restantes
- Durante el proceso de ingeniería inversa, el identificador de la clave pública de la NSA dentro de la aplicación aparecía como
O=MiniTruth CN=Big Brother, lo que revela un nombre intencionalmente orwelliano - El material de la clave pública fue reconstruido a partir de notas varios años después, por lo que existe posibilidad de errores; el módulo parecía estar en little endian y, en representación big endian, era
e = 3, de 760 bits - El ID de usuario en formato de clave PGP
Director, NSA <dirnsa@nsa.gov>fue creado de forma arbitraria y no es una clave autofirmada (self-signed)
La estructura de puerta trasera en la edición de exportación de Lotus Notes
- Antes de que se eliminaran las restricciones de exportación de criptografía en EE. UU., la edición de exportación de Lotus Notes incluía una función de escrow de claves/puerta trasera llamada differential cryptography
- La idea central era una estructura que obtenía autorización de exportación cifrando 24 bits de una clave de 64 bits con la clave pública de la NSA
- La NSA podía obtener el texto plano probando por fuerza bruta solo los 40 bits restantes
- Los usuarios comunes tenían que enfrentarse al espacio completo de claves de 64 bits, pero incluso en ese momento seguía existiendo la posibilidad de que la NSA pudiera asumir el mayor costo de un ataque por fuerza bruta
- Se realizó ingeniería inversa partiendo de la suposición de que en algún lugar dentro de la aplicación debía existir una clave pública de la NSA correspondiente a la clave privada de la NSA
Identificador de clave y datos de clave pública encontrados
- En el depurador, el nombre de la organización y el nombre común de la clave pública de la NSA aparecían así
O=MiniTruth CN=Big Brother
MiniTruthyBig Brotherse relacionan con expresiones de la novela 1984 de George Orwell- El Ministry of Truth es la institución encargada de la propaganda y la supresión de la verdad en el libro
- Big Brother aparece como el líder malvado de ese gobierno
- Los datos de la clave pública se organizaron a partir de notas varios años después de la ingeniería inversa, por lo que existe posibilidad de errores
- El módulo raw de la clave pública es el valor obtenido en el depurador y, tras prueba y error, se consideró que estaba en formato little endian
- En representación big endian,
e = 3 - El módulo era de 760 bits
- En representación big endian,
- La clave pública también se presenta en formato de clave PGP
pub 760/13629D8D 1998/10/25 Director, NSA <dirnsa@nsa.gov>- Este ID de usuario fue creado de forma arbitraria y no es una clave autofirmada
- En la salida de
pgpacket, se confirma como un paquete de clave pública RSA- Version Byte: 3
- Key Created: 25 Oct 1998 01:12:02
- Algorithm: 1 (RSA)
- Key ID:
0xA703EFD313629D8D
1 comentarios
Comentarios de Hacker News
Sobre este tema, vale la pena leer el comentario de Ray Ozzie (creador de Lotus Notes) en una discusión de HN de 2013
https://news.ycombinator.com/item?id=5846189
Antes de que se lanzara el software, Ray Ozzie y Kauffman explicaron públicamente en la conferencia RSA lo que estaban haciendo. No era una puerta trasera secreta, sino cumplimiento de controles de exportación, algo a lo que toda la industria tuvo que responder. Unos comentarios más abajo, también vale la pena leer el comentario de barrkel
https://en.m.wikipedia.org/wiki/Crypto_Wars
En pocas palabras, el gobierno de EE. UU. prácticamente prohibía lanzar productos de distribución internacional que incluyeran cifrado fuerte. Eso aplicaba en general a casi todos los productos comerciales, aunque ya existieran implementaciones open source de cifrado fuerte como PGP. Hoy a nadie le importa si distribuyes cifrado tan seguro como quieras, pero en aquel entonces era una época en la que había una probabilidad más o menos de 50/50 de que se activara todo el aparato legal del gobierno estadounidense. Fue una época realmente disparatada y contradictoria
https://www.youtube.com/watch?v=vjkBAl84PJs
Todavía no es algo completamente trivial de romper, pero en el tiempo que toma probar una sola contraseña en un documento moderno de Office, se pueden probar millones de contraseñas en una entrada de archivo ZIP
(2002)
Discusiones anteriores con Lotus Notes en el título:
Hace 4 años
https://news.ycombinator.com/item?id=21859581
Hace 8 años
https://news.ycombinator.com/item?id=9291404
Hace 10 años
https://news.ycombinator.com/item?id=5846189
NSA's Backdoor Key from Lotus Notes (2002) - https://news.ycombinator.com/item?id=21859581 - diciembre de 2019 (87 comentarios)
NSA's Backdoor Key from Lotus Notes - https://news.ycombinator.com/item?id=9291404 - marzo de 2015 (51 comentarios)
NSA's Backdoor Key from Lotus Notes - https://news.ycombinator.com/item?id=5846189 - junio de 2013 (85 comentarios)
El viejo y querido NOBUS. Otros errores más entretenidos de la NSA:
https://en.wikipedia.org/wiki/Clipper_chip
https://en.wikipedia.org/wiki/Dual_EC_DRBG
Al FBI no le importa demasiado que la gente lo sepa, porque los criminales a los que apunta no aplican bien la seguridad operacional (OPSEC)
Me sorprende que la gente de la NSA tuviera suficiente introspección como para reconocer que esto era una conducta al estilo Big Brother, pero no para darse cuenta de por qué eso era malo
Pero MiniTruth… wow, eso sí sorprende
Por contexto, en la novela 1984, el Ministry of Truth es el organismo encargado de la propaganda, y toda la sociedad está sumergida en esa propaganda. Todo en la sociedad en la que viven es mentira. Esto destruye cualquier última esperanza de que pudieran tener buenas intenciones. La última vez que recuerdo un ejemplo así de cuánto desprecio cínico sienten por la gente a la que dicen servir, y de lo descuidados que son, fue cuando se reveló que el chat interno de FTX se llamaba “Wirefraud”
¿La puerta trasera original no estaba en los ejemplos de código que la NSA les proporcionaba a las empresas que querían usar criptografía? Recuerdo algo así como que les daban una semilla de ejemplo, y que la mayoría de las empresas, en vez de generar sus propios primos, la copiaban y pegaban, lo que hacía que para la NSA fuera muy fácil romperlo
Mi memoria está borrosa y me cuesta encontrar la fuente original
Me pregunto qué tan difícil sería encontrar por fuerza bruta la clave privada a partir de una clave pública RSA de 760 bits de 1998. ¿Alguien sabe?
Luego, en 2019, se factorizó una clave de 795 bits, y se dice que el tiempo de CPU fue de “aproximadamente 900 años-núcleo” tomando como referencia un CPU Intel Xeon Gold 6130 de 2.1 GHz. En comparación con la factorización de RSA-768, los autores estimaron que mejores algoritmos aceleraron el cálculo entre 3 y 4 veces, y computadoras más rápidas entre 1.25 y 1.67 veces.
Así que, suponiendo que los algoritmos mejorados también se apliquen a números más pequeños, alguien que sepa manejar eso probablemente podría hacerlo en unos meses con unas cuantas decenas de máquinas modernas. Aunque factorizar números grandes parece mucho más difícil que ejecutar CADO-NFS y apuntarlo a un número y a un clúster.
Por ejemplo, usando el valor del segundo paper de factorización que dice que “el cálculo de 795 bits debería ser 2.25 veces más difícil que el de 768 bits”, se podría estimar que romper la clave más pequeña con software moderno requeriría 900/2.25 = 400 años-núcleo de CPU en términos de Xeon. Ese CPU ya tiene 6 años. Con 24 servidores de 64 núcleos de rendimiento equivalente, tomaría un poco más de 3 meses. Es mucho para hacerlo como hobby por diversión, pero para una empresa con un interés económico razonable sería perfectamente factible, suponiendo que tenga personal capaz de entender y reproducir el trabajo.
https://crypto.stackexchange.com/a/1982
Ahora que existe la nube, todo esto ya no hace falta. Por las leyes sobre datos almacenados, todos los correos de más de 6 meses quedan disponibles para que hagan con ellos lo que quieran.
Relacionado: https://github.com/goshacmd/nsa_panel