13 ms·
It should read "then compares the generated hash to the hash that was received from the client to verify that it matches" Or something along those lines.
by goochtek 7y ago
It should read "then compares the generated hash to the hash that was received from the client to verify that it matches"
Or something along those lines.
- turtles 7y agoI assume the reason for doing this is to confirm the symmetric key now in use is known between both parties?
- tialaramex 7y agoI wrote it above, but more relevant here maybe: No. There's no need to confirm that, if the keys don't match everything will fail anyway and the connection aborts because everything either party sends appears to be gibberish. The description linked over-simplifies, the hash they're calculating is a summary of the handshake process by which keys are agreed, we want to prove that both saw the _same_ process happen to reach this state. Suppose I am willing to use archaic method A because I'm a simpleton, although I do know methods C and E which are safer. The wise people running www.google.com only allow method A if you don't know methods B, C, D or E. Now, I try to connect to www.google.com and unknown to me a Bad Guy is in the middle. I say "Hello, I know methods A, C and E", but the bad guy changes that message to say "Hello, I know method A only". Google replies "OK I guess we can do method A then" and we use method A. The Bad Guy knows how to break method A and now my security is ruined! But with this Finished message in TLS, www.google.com and I will calculate different hashes, since I know I said "I know methods A, C and E" but www.google.com got a message from me saying "I know method A only" and those don't hash the same. This proves somebody is tampering with our connection, we must abort.
- turtles 7y agoah, cheers.