網(wǎng)站索引量暴增什么叫軟文推廣
03.HTTPS的實(shí)現(xiàn)原理-HTTPS的工作流程
- 簡(jiǎn)介
- 1. HTTPS的工作流程
- 1.1. TCP的工作流程
- 1.1.1. 三次握手的詳細(xì)步驟
- 1.1.2. 三次握手的作用
- 1.2. HTTPS的工作流程
- 1.2.1. HTTPS與TCP的關(guān)系
- 1.2.2. HTTPS的工作流程
- 2. 公鑰和私鑰的作用
- 3. 對(duì)稱(chēng)密鑰的生成和交換
- 4. 對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密的區(qū)別
簡(jiǎn)介
主要講述了HTTP與HTTPS工作流程比較,以及服務(wù)器與客戶機(jī)資源分配與初始化流程。首先,HTTP和HTTPS都基于TCP,但在三次握手后,HTTP直接發(fā)送請(qǐng)求,而HTTPS還需進(jìn)行SSL/TLS握手。此外,服務(wù)器資源分配和初始化流程也包括檢查資源情況、分配資源、創(chuàng)建連接和初始化等步驟。如果服務(wù)器回復(fù)丟失,客戶機(jī)未收到確認(rèn),可能導(dǎo)致服務(wù)器資源耗盡。然后,重點(diǎn)解釋了HTTPS中的TLS/SSL握手過(guò)程,強(qiáng)調(diào)了公鑰和私鑰的概念及其重要性。
1. HTTPS的工作流程
HTTPS的工作流程主要是關(guān)于S的部分,即安全部分(secure)。
HTTP本身是基于TCP的,包括其語(yǔ)法語(yǔ)義和請(qǐng)求方式等。
HTTPS與HTTP的區(qū)別主要在于安全性的增強(qiáng),我們主要關(guān)注與安全相關(guān)的部分。
1.1. TCP的工作流程
TCP的工作流程包括三次握手和四次揮手
1.三次握手:客戶機(jī)發(fā)送請(qǐng)求,服務(wù)器進(jìn)行監(jiān)聽(tīng)并響應(yīng),客戶機(jī)進(jìn)行確認(rèn)。
2.四次揮手:服務(wù)器發(fā)送FIN包,客戶機(jī)進(jìn)行確認(rèn),然后客戶機(jī)發(fā)送FIN包,服務(wù)器進(jìn)行確認(rèn)。
1.1.1. 三次握手的詳細(xì)步驟
1.第一次握手:客戶機(jī)發(fā)送請(qǐng)求報(bào)文段,序列號(hào)為x。
2.第二次握手:服務(wù)器收到請(qǐng)求后,發(fā)送確認(rèn)報(bào)文段,序列號(hào)為y,確認(rèn)號(hào)為x+1。
3.第三次握手:客戶機(jī)收到確認(rèn)報(bào)文段后,發(fā)送確認(rèn)報(bào)文段,序列號(hào)為x+1,確認(rèn)號(hào)為y+1。
1.1.2. 三次握手的作用
1.第三次握手的作用是確認(rèn)客戶機(jī)是否已收到服務(wù)器的確認(rèn)報(bào)文段。
2.如果沒(méi)有第三次握手,服務(wù)器無(wú)法確認(rèn)客戶機(jī)是否收到確認(rèn)報(bào)文段,可能導(dǎo)致資源浪費(fèi)或服務(wù)器崩潰。
3.泛洪攻擊(SYN Flooding)就是利用沒(méi)有第三次握手導(dǎo)致的服務(wù)器資源被快速分配完畢的漏洞進(jìn)行攻擊。
1.2. HTTPS的工作流程
1.2.1. HTTPS與TCP的關(guān)系
1.HTTP和HTTPS都是基于TCP協(xié)議的。
2.HTTPS在TCP之上添加了SSL/TLS安全協(xié)議來(lái)提供加密和身份驗(yàn)證。
1.2.2. HTTPS的工作流程
1.HTTPS首先建立TCP連接,然后進(jìn)行SSL/TLS握手。
2.握手過(guò)程包括客戶端發(fā)起請(qǐng)求,服務(wù)器返回公鑰證書(shū),客戶端驗(yàn)證證書(shū),生成對(duì)稱(chēng)密鑰并用公鑰加密發(fā)送給服務(wù)器。
3.服務(wù)器用私鑰解密收到對(duì)稱(chēng)密鑰,客戶端和服務(wù)器都用對(duì)稱(chēng)密鑰進(jìn)行加密和解密。
2. 公鑰和私鑰的作用
1.公鑰用于加密對(duì)稱(chēng)密鑰,私鑰用于解密。
2.公鑰可以發(fā)給任何客戶端,私鑰由服務(wù)器保留。
3.公鑰加密的內(nèi)容可以用私鑰解密,反之亦然。
3. 對(duì)稱(chēng)密鑰的生成和交換
1.客戶端生成對(duì)稱(chēng)密鑰,并用公鑰加密后發(fā)送給服務(wù)器。
2.服務(wù)器用私鑰解密收到對(duì)稱(chēng)密鑰,客戶端和服務(wù)器都用對(duì)稱(chēng)密鑰進(jìn)行加密和解密。
4. 對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密的區(qū)別
1.對(duì)稱(chēng)加密:加密和解密用同一個(gè)密鑰。
2.非對(duì)稱(chēng)加密:加密用公鑰,解密用私鑰,或反之。
3.HTTPS結(jié)合使用了對(duì)稱(chēng)加密和非對(duì)稱(chēng)加密,數(shù)據(jù)傳輸前進(jìn)行密鑰交換,使用非對(duì)稱(chēng)加密;數(shù)據(jù)傳輸使用對(duì)稱(chēng)加密。
往期文章參考:
01.HTTPS的實(shí)現(xiàn)原理-HTTPS的概念
02.HTTPS的實(shí)現(xiàn)原理-HTTPS與HTTP的區(qū)別詳解