溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

HTTPS的TSL握手流程是什么

發(fā)布時(shí)間:2023-04-18 15:21:42 來(lái)源:億速云 閱讀:132 作者:iii 欄目:開(kāi)發(fā)技術(shù)

本文小編為大家詳細(xì)介紹“HTTPS的TSL握手流程是什么”,內(nèi)容詳細(xì),步驟清晰,細(xì)節(jié)處理妥當(dāng),希望這篇“HTTPS的TSL握手流程是什么”文章能幫助大家解決疑惑,下面跟著小編的思路慢慢深入,一起來(lái)學(xué)習(xí)新知識(shí)吧。

HTTP一般基于TCP協(xié)議,而HTTPS就是在這之間加了SSL/TLS協(xié)議,那么在TCP三次握手建立TCP連接后,就需要TLS握手建立SSL/TLS連接。

TLS握手-流程

基于RSA算法

(1)首先,客戶端向服務(wù)器發(fā)起加密通信請(qǐng)求-ClientHello請(qǐng)求,該請(qǐng)求包括 

    ① 生成隨機(jī)數(shù)(用于后續(xù)會(huì)話密鑰);

    ② 客戶端支持的密碼套件列表,如RSA加密算法。

    ③ 客戶端支持的TLS協(xié)議版本;

(2)服務(wù)器收到后,作出響應(yīng)-ServerHello,響應(yīng)包括 

    ① 生成隨機(jī)數(shù)(用于后續(xù)會(huì)話密鑰)

    ② 確認(rèn)密碼套件列表;

     ③ 確認(rèn)TLS協(xié)議版本;

同時(shí)發(fā)送Certificate信息,攜帶服務(wù)器的數(shù)字證書(shū)。

(3)客戶端收到響應(yīng)后,先通過(guò)瀏覽器或OS中的CA公鑰確認(rèn)數(shù)字證書(shū)真實(shí)合法,再出數(shù)字證書(shū)中服務(wù)器的公鑰,使用其加密報(bào)文,發(fā)送往服務(wù)器:

    ① 一個(gè)隨機(jī)數(shù)

    ② 傳遞后續(xù)通信都以【會(huì)話密鑰】加密通信的信息;

    ③ 客戶端握手結(jié)束通知;

    ④ 把之前所有發(fā)送數(shù)據(jù)做個(gè)摘要,并用【會(huì)話密鑰】加密,以保證可用和信息未被篡改過(guò)。

綜上的三個(gè)隨機(jī)數(shù),通過(guò)前面雙方協(xié)商的加密算法,客戶端生成本次通信的【會(huì)話密鑰】

(4)服務(wù)器收到后,也會(huì)計(jì)算出本次通信的【會(huì)話密鑰】,然后向客戶端發(fā)送信息:

    ① 傳遞后續(xù)通信都以【會(huì)話密鑰】加密通信的信息;

    ② 服務(wù)器握手結(jié)束通知

    ③ 把之前所有發(fā)送數(shù)據(jù)做個(gè)摘要,并用【會(huì)話密鑰】加密,以保證可用和信息未被篡改過(guò)。

到這里TLS握手結(jié)束!

不,內(nèi)容還沒(méi)。

RSA比較傳統(tǒng)的密鑰交換算法不具前向安全的性質(zhì)目前使用較少
ECDHE
前向安全目前廣泛使用

Extra Summary

RSA 和 ECDHE 算法區(qū)別

(1)ECDHE支持前向保密

(2)使用ECDHE可不需等最后一次TLS握手,就可以提前發(fā)送加密的HTTP數(shù)據(jù),節(jié)省一個(gè)消息時(shí)間

(3)ECDHE在第2次握手,會(huì)出現(xiàn)服務(wù)器發(fā)出Server Key Exchange信息

以上RSA都達(dá)不到該效果。

Extra Question

第三次握手生成的【會(huì)話密鑰】是對(duì)稱的還是非對(duì)稱的?

考慮非對(duì)稱加密計(jì)算耗時(shí)量大,在HTTPS后續(xù)通信中使用的會(huì)話密鑰是對(duì)稱加密的。

前向保密是啥?

要求一個(gè)密鑰僅可訪問(wèn)它所保護(hù)的數(shù)據(jù);用來(lái)產(chǎn)生密鑰的元素一次一換,不能再產(chǎn)生其他密鑰;一個(gè)密鑰被破解,并不影響其他密鑰的安全性。

RSA為什么沒(méi)有前向保密性?

因?yàn)镽SA每次對(duì)稱加密傳遞信息,都是基于公鑰加密,私鑰解密的,若干服務(wù)器私鑰被截取了,那么通信數(shù)據(jù)將輕而易舉地被解密。

ECDHE怎么做到前向保密?

關(guān)鍵在于客戶端服務(wù)端都生成一對(duì)公私鑰,且密鑰是實(shí)時(shí)生成的??蛻舳朔?wù)器均為生成隨機(jī)數(shù)作為私鑰,據(jù)特殊公式算出各自的公鑰,然后雙方據(jù)持有的數(shù)據(jù)算出一個(gè)一樣隨機(jī)數(shù)用于后續(xù)對(duì)稱加密的密鑰。

讀到這里,這篇“HTTPS的TSL握手流程是什么”文章已經(jīng)介紹完畢,想要掌握這篇文章的知識(shí)點(diǎn)還需要大家自己動(dòng)手實(shí)踐使用過(guò)才能領(lǐng)會(huì),如果想了解更多相關(guān)內(nèi)容的文章,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI