¿Prueba RSA fuerte primordial similar a Phuctor?

2

Una de las formas en que las claves RSA se obtienen de forma consistente es cuando se generan sin suficiente entropía. Dan Kaminsky se refiere a un estudio que encontró que 1 de cada 200 claves RSA se generaron mal y estas fueron las que fueron encontrados , sin mencionar los millones de otros que no se encontraron.

Por lo tanto, se necesita un buen RNG correctamente sembrado durante la generación de par de claves RSA para GPG, SSL, SSH, etc. donde sea que ocurra la generación de claves RSA.

Phuctor es una herramienta en línea que busca pares de claves RSA de PGP y los factoriza. Sorprendentemente, incluso factorizaron una clave RSA de 4096 bits en el conjunto fuerte que se generó mal con el primer factor que es el número 231 (3 * 77). (Según Polinomio, solo factorizaron una subclave corrupta, que no debería tener un impacto en el mundo real).

Cuando estoy generando pares de llaves públicas / privadas RSA para SSL, SSH, GPG, etc., ¿hay alguna herramienta fuera de línea que pueda usar para determinar qué tan difíciles y grandes son los números primos? ¿Puedo estimar la dificultad computacional al factorizar este dado el par de claves RSA para poder determinar si se generaron correctamente?

Obviamente, utilizo una computadora de escritorio segura para la generación de pares de teclas (y opcionalmente /dev/random ), ya que el RNG de Linux se divide en "actividad del mouse y el teclado, operaciones de E / S del disco e interrupciones específicas" ( source, PDF ) que las máquinas virtuales a menudo no tienen. Si bien esto debería ser suficiente, me gustaría entender los métodos subyacentes y me gustaría probar mis pares de claves para garantizar la seguridad.

    
pregunta Naftuli Kay 20.05.2015 - 21:46
fuente

3 respuestas

3

En general, no hay una distinción clara entre las claves RSA "difíciles de factorizar" y "no difíciles de factorizar". Esto es un continuo. Por ejemplo, el algoritmo ECM (que utiliza curvas elípticas de manera inteligente para factorizar enteros) tiende a tener un costo computacional que depende del tamaño del factor más pequeño del entero objetivo. Si te esfuerzas más, puedes encontrar factores más grandes. La consecuencia es que incluso si pasa un día completo de cómputos para "probar" con ECM su módulo por pequeños factores, y no encuentra ninguno, entonces no sabe si un atacante con más paciencia podría no encontrar un factor al dedicar dos días. de computación.

No se conoce ningún método que pueda probar un número entero dado y devolver el tamaño de sus factores, sin volver a calcular los factores, lo que es (¡con suerte!) computacionalmente imposible para una clave RSA adecuada.

Probar las claves RSA después de la generación es una búsqueda tonta. Es bueno hacer esto para detectar algunas implementaciones deficientes, no claves deficientes. Además, solo detecta ciertas clases de claves deficientes (específicamente, aquellas con factores pequeños). No detecta el RNG mal sembrado utilizado en una generación de clave privada RSA correcta. Esto resalta un punto importante: aunque tener factores muy pequeños es un signo seguro de generación de clave defectuosa, tener solo factores grandes no garantiza una generación segura.

Para una seguridad adecuada, asegúrese de que las claves se generen correctamente mediante la auditoría del proceso de generación de claves, no del resultado.

    
respondido por el Tom Leek 20.05.2015 - 22:09
fuente
2

¿Qué hay de las otras claves que encontramos ? Algunos de ellos tienen autofirmas válidas. Al igual que en, un usuario ingenuo que consulta SKS para obtener una dirección de correo electrónico sin importar la huella digital se mostrará una de estas como el resultado de la búsqueda superior. Y, por lo que sabemos, mostrarán una huella digital válida en algún sistema roto compatible con PGP.

Si, como el Sr. Böck quisiera hacernos creer, hubiéramos encontrado que los "rayos cósmicos" o la "corrupción del disco" pueden generar autenticaciones de claves PGP válidas: estaríamos recolectando el oro en Estocolmo para esto Encuentra, en lugar de conformarte con este pequeño cambio.

    
respondido por el Stanislav Datskovskiy 20.05.2015 - 22:25
fuente
0
  

¿La prueba principal fuerte fuera de línea de RSA es similar a Phuctor?

Sí. enlace . Lo he probado con éxito contra claves de 128 bits. Todavía no he tenido tiempo de probarlo con claves de 1024 bits, pero funciona como se anuncia, los valores débiles durante la generación dan como resultado claves más débiles.

    
respondido por el h4ckNinja 05.08.2016 - 05:24
fuente

Lea otras preguntas en las etiquetas