Después de acordar el secreto compartido inicial entre el cliente y un servidor a través del protocolo de enlace TLS, ¿el secreto compartido se rota periódicamente?
El cliente o el servidor pueden solicitar una renegociación en cualquier momento. Esa renegociación incluiría un nuevo secreto compartido.
El servidor puede enviar una Solicitud de saludo para activar la renegociación (énfasis mío):
El servidor PUEDE enviar el mensaje HelloRequest en cualquier momento.
Significado de este mensaje:
HelloRequest es una simple notificación de que el cliente debe comenzar a proceso de negociación de nuevo. En respuesta, el cliente debe enviar un Mensaje de ClientHello cuando sea conveniente.
Para citar RFC 5246 sobre el Cliente Hola (empasis mío):
Cuando un cliente se conecta por primera vez a un servidor, es necesario enviar el ClientHello como su primer mensaje. El cliente también puede enviar un ClientHello en respuesta a un HelloRequest o por iniciativa propia en Para renegociar los parámetros de seguridad en una existente conexión.
La probabilidad de que una aplicación solicite una renegociación va a variar, pero (no científicamente) espero que la respuesta sea "la mayoría no preguntará". Pero puede hacerse.
Entre un solo cliente y servidor, el "secreto compartido" (mastersecret) tendrá el último para la sesión.
Se puede permitir la reanudación de sesión a través de ID de sesión como se describe en RFC5247 y RFC4346 o La reanudación de la sesión de Seguridad de la capa de transporte (TLS) sin estado del lado del servidor se describe en RFC 5077 permite La duración del boleto puede ser más larga que la vida útil de 24 horas recomendada en [RFC4346]
RFC5247 (obsoleto RFC4346 pero dicen lo mismo) dice: "Se sugiere un límite superior de 24 horas para la duración de la ID de sesión"
-jim
Lea otras preguntas en las etiquetas key-management encryption tls