0

TLS 1.2 session tickets are encrypted by the server with the session ticket encryption key (STEK). This key is shared with all the servers doing TLS termination. The session ticket contains all the information the server needs to resume the connection without having to store any state.

In TLS 1.3 the server creates the session ticket and this serves as one of the pre-shared keys (PSK) the client can use to resume the session. This ticket is also encrypted. In TLS 1.3:

  • is the PSK also encrypted with a key similar to the STEK? Or can the PSK be encrypted/decrypted without having a shared key, thus having no need to share a key with all servers?
  • does the ticket contain all the information needed to resume the connection? Or does the server need to associate the ticket with extra information internally?

1 Answer 1

2

According to RFC8446 section 4.6.1:

ticket: The value of the ticket to be used as the PSK identity. The ticket itself is an opaque label. It MAY be either a database lookup key or a self-encrypted and self-authenticated value.

i.e. the content of the ticket is an implementation detail.

This is actually the same as TLS 1.2 session tickets:

The format of the ticket is an opaque structure used to carry session-specific state information.

Ticket as a database lookup key

In the first case,

a database lookup key

the TLS session state in store in a share database.

Ticket as a self-encrypted and self-authenticated value

In the second case i.e.

self-encrypted and self-authenticated value.

all server instances must of course use some shared secrets in order to:

  1. validate the MAC ("self-authenticated");
  2. decrypt the ticket ("self-encrypted").

Failing to share this secret, a ticket received by one server instance won't be able to be processed by another server instance: the second server won't be able to validate the MAC and won't be able to decrypt the ticket.

This is true for both TLS v1.2 tickets and TLS v1.3 tickets.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .