Posiblemente, a veces.
Lo que se intercambia en el protocolo inicial no es solo una clave simétrica, sino una "clave maestra" para la sesión desde la cual las implementaciones de cliente y servidor del conjunto de cifrado seleccionado pueden extraer claves para varios propósitos.
Un conjunto de cifrado se divide en varios algoritmos para diferentes funcionalidades:
- cambio de clave
- cifrado masivo
- Autenticidad del mensaje
Por ejemplo, TLS_DHE_RSA_AES_256_CBC_SHA256
usaría Diffie-Hellman y RSA efímeros para el intercambio de claves, AES-256 para el cifrado masivo y HMAC-SHA256 para la autenticidad del mensaje.
Cuando el intercambio de claves se produce al inicio, la clave RSA a largo plazo del certificado se utiliza para firmar los parámetros de intercambio de claves Diffie-Hellman. El intercambio de claves DH se utiliza para acordar una clave maestra. Luego, la clave maestra se utiliza para derivar otras claves, incluidos 256 bits para la clave AES (clave de cifrado) y varios bits para la clave de autenticación (utilizada en HMAC-SHA256, en este caso).
Cada registro se autentica utilizando el algoritmo de autenticación definido en el conjunto de cifrado. Por lo general, este es un hash HMAC.
Ahora, en términos de probar que los datos se recibieron después del hecho , hay dos casos:
- Si se usa un intercambio de claves no efímero (por ejemplo, intercambio de claves RSA, no DHE o ECDHE), el tráfico capturado puede recuperarse por completo, incluida la validez de los hashes de autenticidad, dada la clave privada del certificado del servidor.
- Si se usa un intercambio de clave efímero, incluso si obtiene la clave a largo plazo (clave privada del servidor) después de que se haya producido una conexión, no podrá recuperar la clave maestra y, por lo tanto, no podrá recuperar los mensajes. o probar la validez de los mensajes. Esto se debe a una propiedad conocida como "secreto hacia adelante", que surge debido al hecho de que los elementos privados del intercambio de claves se generan específicamente para esa sesión y se descartan cuando se completa el intercambio de claves.
Si, en el momento de la conexión, decide que do desea probar el contenido en una fecha posterior, puede guardar la clave maestra de la sesión en algún lugar. Al dar esta clave a la tercera parte que capturó la conversación, usted podría mostrarles el contenido y podrían ver que los registros de autenticidad eran válidos.