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