In che modo il server utilizza la chiave di sessione dopo l'handshake di tls?

2

Dopo l'handshake TLS sia il server che il client hanno concordato circa session key da utilizzare come chiave simmetrica. Quindi il server deve memorizzare diversi session keys che appartengono a un cliente specifico.

In che modo il server determina una richiesta ricevuta che session key deve essere utilizzata (cioè session key di quale client)? (È vero: il client aggiunge il session id in ogni richiesta (da qualche parte come header?) E il server ha una mappa tra session id e session key .)

Per quanto tempo un server utilizza session key ? È una cattiva pratica usare una chiave di sessione per molto tempo? Perché cambiano session key mentre vengono trasferiti in modo sicuro (cioè crittografato con chiave pubblica)?

    
posta Bonje Fir 29.09.2018 - 15:16
fonte

1 risposta

4

Normalmente, una volta completato l'handshake TLS, il client e il server possono scambiare il traffico crittografato sulla stessa connessione senza dover comunicare l'id di sessione. Questo perché il server associa le informazioni di contesto SSL (inclusa la chiave di sessione) con il socket TCP alla sua estremità. Puoi vedere questo in questo esempio semplificato di un server TCP: link

Tuttavia, ci sono due scenari in cui l'id della sessione viene comunicato dopo l'handshake iniziale: ripresa della sessione e rinegoziazione della sessione.

La ripresa della sessione consente la stessa sessione TLS (contenente tutti i parametri concordati nell'handshake) su una connessione TCP nuova dopo aver chiuso quella originale. Ciò significa che la connessione potrebbe scadere e il tuo browser potrebbe rilevare questo caso e riprendere la sessione TLS su una nuova connessione inviando l'id di sessione in un nuovo Client Hello. Maggiori dettagli sulla ripresa della sessione qui: link

La rinegoziazione della sessione viene utilizzata per modificare i parametri in modo che siano diversi dall'handshake iniziale, ma sulla stessa connessione TCP.

Come accennato, l'archiviazione di una cache di sessione sul server compromette la sicurezza. Un utente malintenzionato potrebbe ottenere l'accesso alla cache della sessione e quindi decrittografare il traffico. Maggiori dettagli su questo qui - link

    
risposta data 29.09.2018 - 23:28
fonte