¿Cómo se puede descifrar una sesión SSL / TLS? Además de la clave privada, ¿qué más se necesita?

4

Supongamos que tengo una sesión TLS no basada en DHE almacenada en una traza de Wireshark o Netmon. ¿Qué se requiere para descifrar estos datos?

  • ¿Es la clave privada del certificado todo lo que se necesitaría?
  • ¿Qué herramientas permiten este descifrado?

Yendo un paso más allá, ¿qué se necesita para descifrar una sesión TLS basada en DHE?

    
pregunta random65537 29.11.2012 - 18:37
fuente

3 respuestas

9

Para los conjuntos de cifrado RSA o DH (no DHE), solo necesita la clave privada del servidor, del tipo RSA o DH, respectivamente (los certificados DH son extremadamente raros).

Para las suites de cifrado DHE, necesitaría la clave privada Diffie-Hellman generada dinámicamente. Esta clave nunca se almacena en ninguna parte, y eso es por diseño. En consecuencia, no puede descifrar los datos después. Esto se llama Perfect Forward Secrecy .

Para el conjunto de cifrado TLS con un secreto precompartido : los conjuntos de cifrado PSK sin formato se pueden descifrar con el conocimiento del secreto compartido; Las suites RSA_PSK necesitan conocimiento tanto del secreto compartido como de la clave privada RSA; Las suites DHE_PSK brindan un perfecto secreto hacia adelante.

SRP Las suites de cifrado también brindan un perfecto secreto hacia adelante. Una vez más, esto es por diseño: si el conocimiento de la contraseña fuera suficiente para descifrar una conexión registrada, entonces permitiría ataques de diccionario sin conexión , precisamente lo que SRP pretende frustrar.

    
respondido por el Thomas Pornin 29.11.2012 - 19:22
fuente
2

Para descifrar datos SSL en Wireshark

  1. Haz clic en Editar: Preferencias
  2. Expandir Protocolos: Seleccione SSL
  3. Edite la "Lista de claves RSA" con los nombres de ruta y la contraseña, según corresponda
respondido por el random65537 29.11.2012 - 19:06
fuente
0

Una forma de ver el contenido de una sesión HTTPS es usar Fiddler como un proxy local. Solo asegúrese de iniciar la herramienta, abrir las opciones y habilitar el monitoreo SSL (esto agregará un certificado raíz y muchos certificados adicionales a su tienda de confianza)

Aunque esto no responde directamente a la pregunta sobre cómo descifrar una sesión TLS capturada, puede ser de utilidad para algunas personas.

    
respondido por el random65537 29.11.2012 - 18:47
fuente

Lea otras preguntas en las etiquetas