La disattivazione dei ciprocondri CBC non impedisce a Chrome di negoziare l'utilizzo di cifrari CBC

0

Ricevo un messaggio su "obsoleta crittografia" da Chrome.

Your connection to (site) is encrypted with obsolete cryptography.

The connection is encrypted using AES_256_CBC...

Per questa risposta , sto provando a disabilitare CBC a favore dei cifrari GCM.

Tuttavia, se rimuovo i cifrari non GCM tramite '!' blacklist o semplicemente non li include in primo luogo, Chrome negozia sempre un codice CBC .

Dopo i documenti OpenSSL , ho ridotto il mio elenco di cifrari al seguente:

'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256'

o, più facilmente:

"ECDHE-RSA-AES256-GCM-SHA384",
"ECDHE-ECDSA-AES256-GCM-SHA384",
"ECDHE-RSA-AES128-GCM-SHA256",
"ECDHE-ECDSA-AES128-GCM-SHA256",
"DHE-DSS-AES256-GCM-SHA384",
"DHE-RSA-AES256-GCM-SHA384",
"DHE-RSA-AES128-GCM-SHA256",
"DHE-DSS-AES128-GCM-SHA256"

(quindi unire l'array per creare la stringa)

A quale openssl sembra piacere:

openssl ciphers -V 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:DHE-DSS-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256'
          0xC0,0x30 - ECDHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(256) Mac=AEAD
          0xC0,0x2C - ECDHE-ECDSA-AES256-GCM-SHA384 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(256) Mac=AEAD
          0xC0,0x2F - ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=RSA  Enc=AESGCM(128) Mac=AEAD
          0xC0,0x2B - ECDHE-ECDSA-AES128-GCM-SHA256 TLSv1.2 Kx=ECDH     Au=ECDSA Enc=AESGCM(128) Mac=AEAD
          0x00,0xA3 - DHE-DSS-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(256) Mac=AEAD
          0x00,0x9F - DHE-RSA-AES256-GCM-SHA384 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(256) Mac=AEAD
          0x00,0x9E - DHE-RSA-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=RSA  Enc=AESGCM(128) Mac=AEAD
          0x00,0xA2 - DHE-DSS-AES128-GCM-SHA256 TLSv1.2 Kx=DH       Au=DSS  Enc=AESGCM(128) Mac=AEAD

Tuttavia, dopo aver riavviato il server con questi codici, Chrome ancora dice:

The connection is encrypted using AES_256_CBC

Come posso escludere correttamente i cifrari CBC da openssl?

Modifica: Chrome 44 negozia correttamente. Chrome 42 (la stable corrente) non:

Modifica 2: Sì, honorCipherOrder è abilitato.

    
posta mikemaccana 06.05.2015 - 18:37
fonte

2 risposte

1

Non spetta al cliente non negoziare quello. Il server ha l'ultima parola in questo. Chrome non può scegliere nulla che il server non offre.

Controlla il tuo server con SSL Labs (assicurati di selezionare la casella di controllo "Non mostrare i risultati nelle schede")
link

    
risposta data 06.05.2015 - 20:28
fonte
0

Le suite di crittografia dei nostri server erano corrette, ma Le risorse incorporate attivano anche gli avvisi - nel nostro caso, Mixpanel (un'azienda di analisi) utilizza CBC sui loro server:

Qualsiasi cosa diversa da AES- GCM o CHACHA20_POLY1305, ovvero CBC è contrassegnato come obsoleto da Chrome :

In order for the message to indicate “modern cryptography”, the connection should use forward secrecy and either AES-GCM or CHACHA20_POLY1305. Other cipher suites are known to have weaknesses.

La disattivazione di Mixpanel rimuove l'avviso in Chrome 42 . Ho sollevato il problema al supporto di Mixpanel in modo che possano risolvere.

    
risposta data 06.05.2015 - 22:16
fonte

Leggi altre domande sui tag