What is the significance of this session ID and can it be used to resume the session?
Hai sempre un ID.
È possibile stabilire più di una sessione con un server. L'ID li distingue. È fondamentalmente un indice in una tabella in cui il server troverà tutte le chiavi necessarie / ecc. per quella sessione.
Il client può PROVARE la ripresa della sessione fornendo il vecchio ID durante l'handshake. Ma il server può semplicemente ignorare quel tentativo e rilasciare un nuovo ID. Il che è esattamente ciò che accade quando quel particolare ID è scaduto dalla tabella ID del server (cache di sessione). Non costa nulla al client per provare la ripresa.
Ulteriori letture
- Sezione "Ripresa della sessione TLS" qui: link
- Domanda correlata qui
Aggiornamento 1. ID vuoti
Non lo capisco davvero. Forse alcuni utenti SE possono espandersi su questo.
Non capisco davvero l'interazione quando sono abilitati sia gli ID che i Ticket. Così ho deciso di leggere quella sezione nella mia copia di " Bulletproof SSL e TLS ": < br>
(citazione tratta da Capitolo 2. Protocollo | Estensioni | Biglietti di sessione )
Note
When a server decides to use session tickets for session resumption, it sends back an empty session ID field (in its ServerHello
message). At this point, the session does not have a unique identifier. However, the ticket specification allows the client to select and submit a session ID (in its ClientHello
) in a subsequent handshake that uses the ticket. A server that accepts the ticket must also respond with the same session ID. This is why the session ID appears in the TLS web server logs even when session tickets are used as the session-resumption mechanism.
E dopo aver letto questo, ora non sono più così sicuro di aver capito il concetto dell'ID di sessione.
In ogni caso, la sezione pertinente dalla RFC del ticket di sessione è 3.4. Interazione con ID sessione TLS .
E questo sembra per dire che gli ID di sessione non esistono o non importano quando i biglietti sono in uso. Boh.