Crittografia pre-negoziata su TCP

1

La mia azienda utilizza HTTPS per far dialogare i terminali con i server. Abbiamo ottimizzato il più possibile (utilizzando ID di sessione e ticket di sessione). Il problema è che la latenza è così alta che qualsiasi richiesta HTTP costa ~ 4 solo per stabilire una connessione sicura! Se usassimo un semplice TCP, la connessione sarebbe avvenuta in ~ 1.5s!

Quindi la mia domanda è: esiste un modo per stabilire la sessione di crittografia in modo che possiamo pagare solo il tempo di connessione TCP?

    
posta Igor Gatis 13.04.2017 - 04:19
fonte

1 risposta

2

Attualmente una stretta di mano TLS richiede almeno 2 viaggi di andata e ritorno per l'intera stretta di mano o un round trip per riprendere una sessione stabilita in precedenza. Ciò significa che attualmente esiste sempre un overhead di round trip con TLS che può influire pesantemente sull'impostazione della connessione se si dispone di un ampio round trip time, come sembra essere nel tuo caso.

Con il nuovo TLS 1.3 questo overhead sarà notevolmente ridotto fino a un handshake 0-RTT se si riprende una sessione. Attualmente TLS 1.3 non è ancora completamente standardizzato (si spera quest'anno) e anche dopo che sarà standardizzato probabilmente ci vorranno diversi anni prima che sia supportato dalla maggioranza di client e server. Ma se ora hai bisogno di un protocollo 0-RTT e hai pieno controllo su client e server, potresti iniziare a utilizzare TLS 1.3 già nel tuo ambiente. Anche se non è completamente standardizzato, probabilmente è meglio che progettare il tuo protocollo.

Per maggiori dettagli vedi Una panoramica di TLS 1.3 e Q & A che descrive sia gli handshake TLS 1.2 sia gli handshake TLS 1.3.

    
risposta data 13.04.2017 - 07:17
fonte

Leggi altre domande sui tag