Sessione sessione SSL / TLS con ticket di sessione

6

Abbiamo già attivato la ripresa della sessione SSL utilizzando una cache di sessione. Sulla base di un rapporto sul rendimento interno, si consiglia di abilitare la ripresa della sessione utilizzando i ticket di sessione.

L'aumento delle prestazioni ottenuto da questo valore rappresenta un ulteriore rischio per la sicurezza? (Da quello che ho capito, c'è solo un problema se il client è compromesso. Un compromesso tra uno o più client potrebbe compromettere tutto il traffico crittografato?)

Ci sarebbero errori / problemi se non tutti i client lo supportassero? (Da quello che posso vedere il client lo pubblicizzerà che supporta i ticket di sessione e quindi il server reagirà di conseguenza, i client che non lo supportano non saranno interessati)

    
posta rudolfv 27.11.2014 - 12:16
fonte

1 risposta

12

Se un client è compromesso, quel client è compromesso. I ticket di sessione non cambiano in un modo o nell'altro ...

I ticket di sessione sono un'estensione TLS mediante la quale il server trasferisce il contesto di sessione nel client. Dal punto di vista del cliente, il biglietto è opaco. Per prevenire la contraffazione dei biglietti o l'alterazione da parte di client dannosi, il server dovrebbe impiegare alcuni controlli di crittografia e integrità quando costruisce il ticket. Se il server esegue correttamente il suo lavoro (ad es. Come raccomandato nell'RFC ), i ticket di sessione non vengono introdotti qualsiasi debolezza extra. Un client compromesso / malintenzionato non apprenderà nulla che gli consenta di decifrare le sessioni TLS di altri client o falsificare i ticket.

L'unica situazione in cui i ticket di sessione non sono raccomandati è quando i server vogliono un controllo preciso sulla durata massima della sessione per ciascun client, indipendentemente dagli altri client (ad esempio se la sessione di gestione del sito Web fa affidamento sulla sessione TLS invece di qualche cookie a livello HTTP o qualcosa di simile). Quando il contesto di sessione viene salvato sul lato server, è facile per il server semplicemente dimenticare quel contesto. Con i ticket di sessione, non è possibile imporre l'oblio sul lato client. Ma non stiamo parlando di debolezze , solo funzionalità.

Poiché i ticket di sessione TLS sono un'estensione TLS , non hanno alcun impatto sui client che non ne sono a conoscenza. Una determinata connessione TLS utilizzerà un ticket solo se il client annuncia esplicitamente il supporto per l'estensione nel messaggio ClientHello . Se un client non supporta i ticket di sessione TLS (ad es. IE su Windows 7), quindi non parlerà di ticket di sessione nella sua ClientHello , e neanche il server dirà nulla sui ticket di sessione.

La conseguenza, tuttavia, è che anche se attivi i ticket di sessione, questa è un'ottimizzazione opportunistica. Il server deve essere ancora in grado di gestire sessioni "normali" per i client che non supportano ticket di sessione. Non disabilitare le sessioni non ticket finché tutti i client non hanno implementato il nuovo supporto. Dal momento che l'implementazione TLS in Windows 7 non conosce i ticket di sessione, probabilmente dovrai continuare a supportare sessioni non-ticket ancora per alcuni anni.

    
risposta data 27.11.2014 - 13:19
fonte

Leggi altre domande sui tag