Firefox che invia i dati dell'applicazione nel mezzo dell'handshake SSL

2

Sto provando a scrivere il mio server web in Java 8 e sto incontrando un problema molto strano. Ogni volta che faccio una connessione SSL con Chrome, funziona bene. Quando provo con Firefox (59.0.2), avevo problemi di connessione, ma solo con pacchetti di crittografia che utilizzano GCM. Sembrava che dopo l'handshake SSL, la richiesta dal browser non fosse mai stata inviata. Usando wireshark, ho visto che Firefox stava inviando i dati dell'applicazione nel mezzo dell'handshake SSL: Da wireshark:

C = Client
S = Server

C —> S Client Hello
C <— S Server Hello, Certificate, Server Key Exchange, Server Hello Done
C —> S Client Key Exchange, Change Cipher Spec, Hello Request, Hello Request
C —> S Application Data
C <— S Change Cipher Spec
C <— S Hello Request, Hello Request

Per essere sicuro di non aver frainteso, l'ho verificato con Chrome e con Firefox senza suite di crittografia GCM, e nessuno di loro aveva i dati dell'applicazione inviati nel bel mezzo dell'handshake. Ho controllato altri siti, come google.com, cnn.com, ecc. E stanno utilizzando le suite di crittografia GCM senza problemi su Firefox, quindi ovviamente questo è un problema dalla mia parte.

Java 8 non supporta ALPN, quindi non è un TLS False Start. Qualche idea che cosa causerebbe il problema specifico con Firefox e non con Chrome?

    
posta user9058115 26.04.2018 - 05:05
fonte

1 risposta

5

In effetti stai vedendo TLS False Start. Il client invia i dati dell'applicazione subito dopo i propri messaggi ChangeCipherSpec e Fine, ma prima riceve i messaggi ChangeCipherSpec e Fine dal server.

Le specifiche ( RFC 7918 ) non richiedono l'estensione ALPN (o il suo predecessore, NPN), questo era un la politica che Google ha implementato per Chrome. Impone invece requisiti sulla suite di crittografia, sul metodo di scambio delle chiavi e sulla versione del protocollo. Non ha un elenco completo di combinazioni proibite o consentite, ma consiglia due suite di crittografia AES-GCM, utilizzate con il metodo di scambio di chiavi (EC) DHE.

Come per Firefox, in passato aveva una preferenza per richiedere ALPN / NPN, ma che era stato rimosso in link . Per disattivarlo ora, vai a about:config e security.ssl.enable_false_start preferenza a false .

    
risposta data 26.04.2018 - 11:33
fonte

Leggi altre domande sui tag