https://en.wikipedia.org/wiki/Transport_Layer_Security#Protocol_details
I was studying how SSL/TSL handshakes work, and though I get the gist of the asymmetric encryption part, I do not understand the Cipher Suite information during the handshake.
Below is a brief summary of what I make of the handshake.
Client Hello
Sends session info, available cipher suites, and a random string.Server Hello
Sends its certificate info, chooses a cipher suite and a random string.Client
- Extracts Public Key from the certificate
- Puts together the two random strings and creates a pre mastered secret with them
- Encrypts the pre mastered secret with the Public Key
- Sends the encrypted pre mastered secret
Server
- Uses private key to decrypt the pre mastered secret
Client & Server
- Both on their own generate master secret from the pre mastered secret
- With the Master secret, both generate a symmetric key to be used
Client Change Cipher Suite
- "(unencrypted)Ok changing the cipher suite now", "(encrypted)Done." type of message
Server Change Cipher Suite
- "(unencrypted)Ok changing the cipher suite now", "(encrypted)Done." type of message
Secure Connection
How is the initial cipher suite information relevant in this exchange?
And if there is any mistaken understanding about TSL/SSL Handshake I have, please do correct me. Thank you!