Strano Messaggio finito in TLS

4

Ho cercato di capire il contenuto del messaggio Finished di TLS. Sto usando WireShark per catturare il traffico tra il mio browser e Internet. Ho notato una "stranezza" quando il ciphersuite scelto è AES_GCM . Essendo un codice di streaming, non ha padding, quindi, se ho capito bene, i dati inviati nel messaggio Finished dovrebbero essere:

  • 8 byte Nonce esplicito
  • 12 byte verify_data
  • Tag di autenticazione 16 byte

Ovvero, 36 byte in totale. Il "problema" è che la dimensione del pacchetto di messaggi Finished è 40 byte .

Ed eccolo qui:

server-to-client

Perchéilpacchettodimessaggi40byte?Equalisonoibyterossi?

EperchéWireSharkvededueHelloRequests?

Eunaltro...ilclienterispondeconunpacchetto176byte:

client-server

Cosa mi manca?

    
posta Benny 12.05.2014 - 23:19
fonte

1 risposta

2

EDIT: non avevo capito quando ho risposto, ma questo è un dupe di Messaggio pazzo finito in TLS

Le decodifiche come HelloRequest sono effettivamente come @Stackz suggerisce perché Wireshark non può decodificare i record crittografati. Prova comunque, e solo se rileva un errore di decodifica sopprime la decodifica e visualizza "Messaggio crittografato di handshake". Qui non ha rilevato che la decodifica era completamente falsa.

Ogni messaggio di handshake (all'interno di un record di handshake) inizia con un prefisso di 1-byte msg_type e 3 byte di lunghezza, vedi link . Quindi hai:
* 8 byte netta esplicita
* Crittografia a 16 byte di 1byte = 0x14 type, 3bytes = 0x00000C len, 12bytes verify_data
* 16 byte authtag
TOTAL 40

Sul lato client, forse il client ha immediatamente avviato un altro handshake; 136 byte è plausibile per ClientHello, specialmente se "ottimizzato" con la conoscenza di ciò che il server ha appena accettato.

    
risposta data 27.06.2015 - 08:58
fonte

Leggi altre domande sui tag