How browser communicating with server using the Transport Layer Security (TLS) Handshake
How browser communicating with server using the Transport Layer Security (TLS) Handshake
- 1. Client Hello
-
The client will send the list of cipher suites supported by the browser .
The list of ciphers can be modified by the user
The Equivalent of ciphers in Firefox and RFC5246 as below
1. security.ssl3.rsa_aes_128_sha = TLS_RSA_WITH_AES_128_CBC_SHA
2. security.ssl3.rsa_aes_256_sha= TLS_RSA_WITH_AES_256_CBC_SHA
- 2.Server Hello
-
-
Cipher Suite(Supported Cipher Suite):
The server will match with its supported Ciphers list to the received cipher suite from the browser(Client Hello).
The first match of server cipher suite with browser cipher suite is acknowledged to the client as Cipher Suite:TLS_RSA_WITH_AES_128_CBC_SHA (0x002f) -
Server Certificate:
The server certificate details will be sent to browser as Common name ,public key etc.. -
Server Hello Done:
This message says that server is finished and awaiting the response from the browser
-
Cipher Suite(Supported Cipher Suite):
-
3.Client Key Exchange
-
The client will validate the certificate. if valid then gets the public key & creates the new pre master secret key, encrypt the secret key using the public key
-
4. Handshake Finished
-
The server will receive the encrypted secret key, server will decrypt the key with its private key and cache it so that the same key is used for the further communication.
The server will acknowledge the client for it.
This Cipher suites has two types of encryption .- Symmetric Encryption = AES (Advanced Encryption Standard )
- Asymmetric Encryption = RSA (Ron Rivest, Adi Shamir, and Leonard Adleman) TLS_RSA_WITH_AES_128_CBC_SHA
-
5. Application data
-
The client will start using the master secret key for the future communication to the server. All further messages will be encrypted using the agreed Cipher Suite parameters
Groups: