¿Qué garantías ofrece el secreto perfecto hacia delante con respecto al compromiso de una clave privada?

1

Con un perfecto secreto hacia adelante, si un atacante obtiene acceso a una clave privada de certificado, entiendo que todo el tráfico previamente cifrado con esa clave privada permanece a salvo del descifrado.

¿Pero el secreto hacia adelante perfecto proporciona alguna garantía con respecto al tráfico futuro encriptado utilizando la clave privada comprometida? ¿El grado de vulnerabilidad cambia con la regeneración periódica de los parámetros de Diffie-Hellman?

Por supuesto, el compromiso de una clave privada de certificado exacerba una variedad de ataques MITM y debe reemplazarse lo antes posible, pero en los casos en que el compromiso no se descubra por algún tiempo, ¿qué nivel de secreto se proporciona durante el período interino? entre el compromiso y el reemplazo de la clave privada?

    
pregunta Daniel Kauffman 24.09.2015 - 22:41
fuente

1 respuesta

5

Si la información se cifró directamente en la clave comprometida, no se enviará en secreto.

El secreto de reenvío generalmente funciona al tener las claves a largo plazo (las que tienen la mayor probabilidad de estar comprometidas) utilizadas solo para la autenticación. Estos se utilizan durante un protocolo de acuerdo de claves que genera un conjunto de claves efímeras que en realidad se utilizan para cifrar y descifrar datos. Estas claves efímeras se descartan después de su uso, y se generan otras nuevas cuando es necesario.

En TLS, las suites de cifrado que brindan secreto hacia adelante son las que tienen DHE o ECDHE en el nombre. Por ejemplo, TLS_RSA_WITH_AES_128_GCM_SHA256 no es secreto hacia adelante, mientras que TLS_DHE_RSA_WITH_AES_128_GCM_SHA256 es secreto hacia adelante. La diferencia es cómo se utiliza la clave RSA del certificado en la parte de intercambio de claves del protocolo de enlace.

En el TLS_RSA_WITH_AES_128_GCM_SHA256 secreto sin reenvío, el material de codificación se cifra a la clave RSA. Si esa clave RSA se compromete más tarde, ese material de clave se puede descifrar y el tráfico TLS queda expuesto.

En el secreto TLS_DHE_RSA_WITH_AES_128_GCM_SHA256, la clave RSA se usa para autenticar el intercambio de claves Diffie-Hellman, del cual se deriva el material de claves. Incluso si la clave RSA es robada, el material de claves para esa sesión es seguro, porque la clave privada RSA no se usó para encriptar el material de claves.

A partir de esto, debería ser fácil ver que si una clave RSA está comprometida pero no se detecta, aún puede usarse para interrumpir algunas sesiones futuras con el secreto de reenvío habilitado. Un cliente se conectaría al MITM, confíe en él porque tiene la clave correcta, y la clave de la sesión realmente se negociará con el MITM, y se filtrará información supuestamente privada. Si el cliente se conecta al servidor real con el secreto de reenvío activado, entonces el atacante no obtiene nada, porque aún no pueden usar la clave RSA robada para interrumpir el intercambio de claves Diffie-Hellman. Si el secreto de reenvío está desactivado, las conexiones a un servidor con una clave comprometida aún pueden ser rastreadas por el atacante con acceso a la clave RSA privada de la misma forma en que podrían descifrar las sesiones pasadas.

    
respondido por el William Morrison 24.09.2015 - 23:21
fuente

Lea otras preguntas en las etiquetas