Google Chrome bizzarra random Cipher Suite

3

Questo sito web fornisce informazioni sulle suite di crittografia SSL supportate dal browser per proteggere le connessioni HTTPS.

Se lo sfogli con Google Chrome, probabilmente vedrai alcune strane suite Cipher nell'elenco di Cipher Suites supportato dal tuo browser. (Li vedrai nella prima posizione Cipher Suite suggerita e anche nella sezione delle estensioni):

guarda baba nell'immagine sottostante (e anche 3a3a nelle estensioni):

Sembrachequestonumerosiacasuale.Vogliodire,seaggiornilapagina,quelnumerocambierà:

guardadadanell'immaginesottostante(eanche1a1anelleestensioni):

Quali sono questi strani numeri casuali? Se si tratta di suite di crittografia proprietarie di Chrome (quelle non sono suite di cifratura comuni), perché il chrome dovrebbe cambiarle casualmente?

    
posta Abraham 07.01.2018 - 09:35
fonte

1 risposta

7

Questa è una funzione che impedisce ai server di essere bacati. Da GREASE per TLS :

TLS clients offer lists of 16-bit code points (e.g. cipher suites) that servers select from. To remain extensible, servers must ignore unknown values. However, servers may have bugs and reject unknown values. These servers will interoperate with existing clients, so the mistake may spread unnoticed, breaking extensibility for the whole ecosystem. We will reserve some values to advertise at random, to prevent such mistakes before broken servers are widespread.

E una volta che sai come si chiama, puoi anche trovare la funzione nel codice sorgente di BoringSSL (la forcella OpenSSL utilizzata da Chrome).

  // Add a fake cipher suite. See draft-davidben-tls-grease-01.
  if (ssl->ctx->grease_enabled &&
      !CBB_add_u16(&child, ssl_get_grease_value(ssl, ssl_grease_cipher))) {
    return 0;
  }

E i valori che annuncerà possono essere trovati nel progetto Internet :

  |       Value       | Description | DTLS-OK |    Reference    |
  +-------------------+-------------+---------+-----------------+
  | {TBD} {0x0A,0x0A} |   Reserved  |    Y    | (this document) |
  | {TBD} {0x1A,0x1A} |   Reserved  |    Y    | (this document) |
  | {TBD} {0x2A,0x2A} |   Reserved  |    Y    | (this document) |
  | {TBD} {0x3A,0x3A} |   Reserved  |    Y    | (this document) |
  ...
  | {TBD} {0xEA,0xEA} |   Reserved  |    Y    | (this document) |   
  | {TBD} {0xFA,0xFA} |   Reserved  |    Y    | (this document) |   

Si noti che questa risposta qui è basata sulla mia risposta a una domanda simile in stackoverflow.com .

    
risposta data 07.01.2018 - 09:57
fonte

Leggi altre domande sui tag