Debilidades de seguridad al usar el hash MD5 cifrado RSA del contenido del certificado

0

Supongamos que tiene un sitio de banca por Internet basado en un servidor web seguro que ejecuta el protocolo HTTPS a través del puerto 443.

El servidor se autentica ante los clientes a través de un certificado X.509 firmado por una CA. La firma se construye utilizando el cifrado RSA del hash MD5 del contenido del certificado. La clave utilizada para el cifrado es una clave privada de 512 bits de la CA.

¿Cuál es la debilidad más obvia en tal "configuración"? Pensé que el uso de MD5 para la integridad sería un punto débil, ya que MD5 se ha roto. Pero como está encriptado con RSA usando una clave privada de 512 bits, ¿supongo que el MD5 no puede ser realmente manipulado?

    
pregunta DSF 26.05.2014 - 19:28
fuente

2 respuestas

3

Hay dos grandes debilidades en lo que describe, y una fuente de confusión.

La fuente de confusión es que está hablando de "cifrado con la clave privada", que es una analogía defectuosa. Realmente, esta es una firma digital . Históricamente, las firmas digitales con RSA se explicaron por primera vez como "cifrado con la clave privada", pero esto solo resulta confuso porque tal explicación evoca imágenes de datos confidenciales, que no se aplican a este caso. Además, es incorrecto: las firmas RSA que cumplen con el estándar (según PKCS # 1 ) son no "cifrado con la clave privada".

En la situación que describe, la debilidad que espera el examinador (supongo que es una tarea) es que el MD5 es débil contra las colisiones; esto permitiría a un atacante elaborar un par de contenidos de certificado, uno con su nombre, el otro con el nombre del sitio del banco, de manera que ambos tengan el mismo valor. Luego obtendría un certificado para el primer caso (legítimamente) y luego usaría la firma resultante en el segundo certificado. Consulte esta página para ver una demostración y muchas explicaciones (¡léala!). El punto conceptual importante aquí es que el valor del hash MD5 puede ser predicho por el atacante, ya que todo lo que ingresa al MD5 es conocido, por lo tanto, pensar en él en términos de "el valor MD5 fue encriptado" desencadena exactamente las ideas equivocadas.

La otra debilidad evidente es que el RSA de 512 bits es débil. Una clave RSA de 512 bits se rompió en 1999 . Varias otras llaves de tamaño similar se han roto desde entonces; en un caso (en 2012), esto se realizó con software de código abierto y 75 $ en CPU alquilada basada en la nube.

    
respondido por el Thomas Pornin 26.05.2014 - 19:47
fuente
0

La clave RSA de 512 bits es, con mucho, la debilidad más fácil de explotar en esta configuración.

Sí, el MD5 se rompe en el sentido de que no proporciona resistencia a la colisión, pero en realidad convertirlo en un ataque práctico no es trivial. Para hacerlo, es necesario calcular las distintas colisiones de prefijos elegidos y para encontrar una CA que no asigne al azar los números de serie de los certificados. Este ataque se demostró en la práctica, pero tan pronto como se publicara, la AC objetivo cambió sus prácticas para que repetir el exploit significara encontrar otra CA con malas prácticas similares.

El RSA de OTOH de 512 bits se puede factorizar con recursos de nivel de aficionados y este proceso no requiere ninguna interacción con un CA.

    
respondido por el Peter Green 05.06.2017 - 14:21
fuente

Lea otras preguntas en las etiquetas