Zum Hauptinhalt springen

3.2. SessionTicket TLS-Erweiterung

Die SessionTicket TLS-Erweiterung basiert auf [RFC4366]. Das Format des Tickets ist eine undurchsichtige (opaque) Struktur, die verwendet wird, um sitzungsspezifische Zustandsinformationen zu transportieren. Diese Erweiterung kann im ClientHello und im ServerHello gesendet werden.

Wenn der Client ein Ticket besitzt, das er zur Wiederaufnahme einer Sitzung verwenden möchte, dann nimmt er das Ticket in die SessionTicket-Erweiterung im ClientHello auf. Wenn der Client kein Ticket hat und bereit ist, eines in der NewSessionTicket-Handshake-Nachricht zu empfangen, dann MUSS (MUST) er ein Ticket der Länge null in die SessionTicket-Erweiterung aufnehmen. Wenn der Client nicht bereit ist, ein Ticket in der NewSessionTicket-Handshake-Nachricht zu empfangen, dann DARF der Client NICHT (MUST NOT) eine SessionTicket-Erweiterung aufnehmen, es sei denn, er sendet ein nicht leeres Ticket, das er auf einem anderen Weg vom Server erhalten hat.

Der Server verwendet eine SessionTicket-Erweiterung der Länge null, um dem Client anzuzeigen, dass er ein neues Sitzungsticket unter Verwendung der in Abschnitt 3.3 beschriebenen NewSessionTicket-Handshake-Nachricht senden wird. Der Server MUSS (MUST) diese Erweiterung im ServerHello senden, wenn er dem Client unter Verwendung der NewSessionTicket-Handshake-Nachricht ein neues Ticket ausstellen möchte. Der Server DARF NICHT (MUST NOT) diese Erweiterung senden, wenn er keine im ClientHello empfängt.

Wenn es dem Server nicht gelingt, das Ticket zu verifizieren, dann fällt er auf die Durchführung eines vollständigen Handshakes zurück. Wenn das Ticket vom Server akzeptiert wird, der Handshake aber fehlschlägt, SOLLTE (SHOULD) der Client das Ticket löschen.

Der SessionTicket-Erweiterung wurde die Nummer 35 zugewiesen. Das Feld extension_data der SessionTicket-Erweiterung enthält das Ticket.