Tuesday, January 1, 2013

SSL Handshake (443)


SSL Handshake (443 port of server at which SSL connection is made)
                                                                       
Client  (Browser)    ---------------------Client Hello Msg.------------------------------------> Server
·         Highest SSL Version
·         Compression (SHA1, SHA1-DES)
·         Cipher (zip, gzip..)
·         Random Data
·         MAC of client

Client  (Browser)   < ---------------------Server Hello Msg.---------------------------------- Server
·         Highest SSL Version
·         Cipher + Compression
·         Session ID
·         Random Data ( Key Generation )


Client  (Browser)   < ---------------------Certificate-------------------------------------------- Server
·         Digital Signature
·         Public Key (Identify by Web Page)
·         Issued To, Issued By
·         Valid From , Valid To

Client  (Browser)   < ---------------------Server Hello Done Msg.--------------------------- Server


Client  (Browser)    --------------------------Certificate Verify Msg.------------------------> Server
 ·         Browser Verifies Server Certificate


Client  (Browser)    -------------------Change Cipher Spec (Command)-------------------> Server
·         Now the Browser will send every Data Encrypted in this Session

Client  (Browser)    -----------------------------Finished---------------------------------------> Server
·         Digest of all Messages (till now)



Client  (Browser)   <--------------------- Change Cipher Spec Msg.--------------------------- Server                    
 ·         Data send will be Encrypted


Client  (Browser)  < ---------------------------- Finish Msg.------------------------------------ Server
·         Digest of all msg. (exchanged b/w )
·         Public Key


Client  (Browser)    -----------------------------Symmetric SSL Key--------------------------> Server
                                                            Encrypted using Public Key


·         Client key + Server Public Key ==> DATA===> Lock( Encrypted )


Now SSL Handshake Complete; Browser sends data (encrypted) over network to server
Client  (Browser)    -----------------------------Data Encrypted-------------------------------> Server
·         Server Decrypts by Private Key

·         If any msg. dropped; the SSL response breaks & Browser shows ERROR msg


No comments:

Post a Comment