您好,登錄后才能下訂單哦!
本文小編為大家詳細介紹“HTTPS的TSL握手流程是什么”,內容詳細,步驟清晰,細節處理妥當,希望這篇“HTTPS的TSL握手流程是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來學習新知識吧。
HTTP一般基于TCP協議,而HTTPS就是在這之間加了SSL/TLS協議,那么在TCP三次握手建立TCP連接后,就需要TLS握手建立SSL/TLS連接。
(1)首先,客戶端向服務器發起加密通信請求-ClientHello請求,該請求包括
① 生成隨機數(用于后續會話密鑰);
② 客戶端支持的密碼套件列表,如RSA加密算法。
③ 客戶端支持的TLS協議版本;
(2)服務器收到后,作出響應-ServerHello,響應包括
① 生成隨機數(用于后續會話密鑰);
② 確認密碼套件列表;
③ 確認TLS協議版本;
同時發送Certificate信息,攜帶服務器的數字證書。
(3)客戶端收到響應后,先通過瀏覽器或OS中的CA公鑰確認數字證書真實合法,再取出數字證書中服務器的公鑰,使用其加密報文,發送往服務器:
① 一個隨機數;
② 傳遞后續通信都以【會話密鑰】加密通信的信息;
③ 客戶端握手結束通知;
④ 把之前所有發送數據做個摘要,并用【會話密鑰】加密,以保證可用和信息未被篡改過。
綜上的三個隨機數,通過前面雙方協商的加密算法,客戶端生成本次通信的【會話密鑰】
(4)服務器收到后,也會計算出本次通信的【會話密鑰】,然后向客戶端發送信息:
① 傳遞后續通信都以【會話密鑰】加密通信的信息;
② 服務器握手結束通知
③ 把之前所有發送數據做個摘要,并用【會話密鑰】加密,以保證可用和信息未被篡改過。
到這里TLS握手結束!
不,內容還沒。
RSA | 比較傳統的密鑰交換算法 | 不具前向安全的性質 | 目前使用較少 |
ECDHE | 前向安全 | 目前廣泛使用 |
(1)ECDHE支持前向保密
(2)使用ECDHE可不需等最后一次TLS握手,就可以提前發送加密的HTTP數據,節省一個消息時間
(3)ECDHE在第2次握手,會出現服務器發出Server Key Exchange信息
以上RSA都達不到該效果。
第三次握手生成的【會話密鑰】是對稱的還是非對稱的?
考慮非對稱加密計算耗時量大,在HTTPS后續通信中使用的會話密鑰是對稱加密的。
要求一個密鑰僅可訪問它所保護的數據;用來產生密鑰的元素一次一換,不能再產生其他密鑰;一個密鑰被破解,并不影響其他密鑰的安全性。
因為RSA每次對稱加密傳遞信息,都是基于公鑰加密,私鑰解密的,若干服務器私鑰被截取了,那么通信數據將輕而易舉地被解密。
關鍵在于客戶端服務端都生成一對公私鑰,且密鑰是實時生成的。客戶端服務器均為生成隨機數作為私鑰,據特殊公式算出各自的公鑰,然后雙方據持有的數據算出一個一樣隨機數用于后續對稱加密的密鑰。
讀到這里,這篇“HTTPS的TSL握手流程是什么”文章已經介紹完畢,想要掌握這篇文章的知識點還需要大家自己動手實踐使用過才能領會,如果想了解更多相關內容的文章,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。