Zum Hauptinhalt springen

3.4. Interaktion mit der TLS Session ID

Wenn ein Server plant, einem Client ein Sitzungsticket auszustellen, der keines vorlegt, SOLLTE (SHOULD) er eine leere Session ID in das ServerHello aufnehmen. Wenn der Server das Ticket zurückweist und auf den vollständigen Handshake zurückfällt, dann kann er eine nicht leere Session ID aufnehmen, um seine Unterstützung für zustandsbehaftete Sitzungswiederaufnahme (stateful session resumption) anzuzeigen. Wenn der Client ein Sitzungsticket vom Server empfängt, dann verwirft er jede Session ID, die im ServerHello gesendet wurde.

Beim Vorlegen eines Tickets KANN (MAY) der Client eine Session ID im TLS ClientHello erzeugen und aufnehmen. Wenn der Server das Ticket akzeptiert und die Session ID nicht leer ist, dann MUSS (MUST) er mit derselben Session ID antworten, die im ClientHello vorhanden war. Dies ermöglicht es dem Client, leicht zu unterscheiden, wann der Server eine Sitzung wiederaufnimmt und wann er auf einen vollständigen Handshake zurückfällt. Da der Client eine Session ID erzeugt, DARF der Server NICHT (MUST NOT) darauf vertrauen, dass die Session ID einen bestimmten Wert hat, wenn er das Ticket validiert. Wenn ein Ticket vom Client vorgelegt wird, DARF der Server NICHT (MUST NOT) versuchen, die Session ID im ClientHello für zustandsbehaftete Sitzungswiederaufnahme zu verwenden. Alternativ KANN (MAY) der Client eine leere Session ID in das ClientHello aufnehmen. In diesem Fall ignoriert der Client die im ServerHello gesendete Session ID und bestimmt anhand der nachfolgenden Handshake-Nachrichten, ob der Server eine Sitzung wiederaufnimmt.