SSL ¿Cuál es la clave de escritura del cliente utilizada en la capa de aplicación?

0

He utilizado wireshark para ver el tráfico SSL3.0 del servidor y descifrar los mensajes transferidos entre el cliente y amp; servidor.

Y lo que acabo de encontrar es muy extraño:

AFAIK, la clave de encriptación, MAC y el algoritmo de encriptación utilizados en el cálculo del cliente finalizado y los datos de aplicación enviados por el cliente son exactamente los mismos.

Pero, cuando uso la misma clave de escritura de cliente utilizada para cifrar el cliente finalizado (derivado de MasterSecret) para cifrar los datos de la aplicación, obtengo el resultado diferente de lo que calculó el cliente (firefox).

El comportamiento extraño también ocurrió con el servidor: puedo usar la clave de escritura del servidor (derivada de MasterSecret) para descifrar con éxito el mensaje "servidor terminado", pero no se pudo descifrar ningún otro mensaje cifrado del servidor.

Entonces, ¿puede decirme qué pasó con el cliente-write-key & servidor-escribir-clave? ¿Tanto el cliente como el servidor cambiaron su clave de escritura después de enviar el mensaje "finalizado"?

PS: Forcé al cliente (Firefox) a usar SSL V3.0, cipherSuite = TLS_RSA_WITH_RC4_128_MD5

    
pregunta vantrung -cuncon 07.12.2013 - 05:59
fuente

1 respuesta

2

Descubrí la respuesta yo mismo: la función RC4 que usé no guardaba el estado del cifrado, mientras que el cifrado SSL lo requería. ¡He usado una clase RC4 y el problema se resolvió!

    
respondido por el vantrung -cuncon 10.12.2013 - 10:11
fuente

Lea otras preguntas en las etiquetas