(chap7 确保WEB安全的HTTPS) HTTPS通信步骤
step1. 客戶端通過發送 Client Hello 報文開始 SSL通信。 報文中包含客戶端支持的 SSL的指定版本、 加密組件(Cipher Suite) 列表(所使用的加密算法及密鑰長度等) 。
step2. 服務器可進行 SSL通信時, 會以 Server Hello 報文作為應答。 和客戶端一樣, 在報文中包含 SSL版本以及加密組件。 服務器的加密組件內容是從接收到的客戶端加密組件內篩選出來的。
step3. 之后服務器發送 Certificate 報文。 報文中包含公開密鑰證書。
step4. 最后服務器發送 Server Hello Done 報文通知客戶端, 最初階段的 SSL握手協商部分結束。
step5. SSL第一次握手結束之后, 客戶端以 Client Key Exchange 報文作為回應。 報文中包含通信加密中使用的一種被稱為 Pre-master secret 的隨機密碼串。 該報文已用步驟 3 中的公開密鑰進行加密。
step6. 接著客戶端繼續發送 Change Cipher Spec 報文。 該報文會提示服務器, 在此報文之后的通信會采用 Pre-master secret 密鑰加密。
step7. 客戶端發送 Finished 報文。 該報文包含連接至今全部報文的整體校驗值。 這次握手協商是否能夠成功, 要以服務器是否能夠正確解密該報文作為判定標準。
step8. 服務器同樣發送 Change Cipher Spec 報文。
step9. 服務器同樣發送 Finished 報文。
step10. 服務器和客戶端的 Finished 報文交換完畢之后, SSL連接 就算建立完成。 當然, 通信會受到 SSL的保護。 從此處開始進行應用層協議的通信, 即發送 HTTP 請求。
step11. 應用層協議通信, 即發送 HTTP 響應。
step2. 最后由客戶端斷開連接。 斷開連接時, 發送 close_notify 報文。 上圖做了一些省略, 這步之后再發送 TCP FIN 報文來關閉與 TCP的通信。
HTTPS的通信速度由于多次傳輸、加密解密等會受到影響,比HTTP慢2~100倍,因此敏感數據使用HTTPS,一般數據使用HTTP即可。
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀總結
以上是生活随笔為你收集整理的(chap7 确保WEB安全的HTTPS) HTTPS通信步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (chap7 确保WEB安全的HTTP
- 下一篇: (chap8 确认访问用户身份的认证)