I've tried to understand the content of the Finished
message of TLS. I'm using WireShark to capture the traffic between my browser and the internet. I noticed a "strangeness" when the chosen ciphersuite is AES_GCM
. Being it a stream-cipher, it has no padding, so, if I got it right, the data being sent in the Finished
message should be:
- 8 bytes Explicit Nonce
- 12 bytes verify_data
- 16 bytes authentication tag
That is, 36 bytes in total. The "problem" is that the Finished
message packet size is 40 bytes.
And here it is:
Server-to-client
Why is the message packet 40 bytes? And what are the red bytes?
And why does WireShark see two Hello Request
s?
And another this... the Client answers with a 176 bytes packet:
Client-to-server
What am I missing?
ChangeCipherSpec
is encrypted. Are you sure it's not just WireShark trying to interpret some binary garbage that it can't decrypt?