https通訊原理

2022-03-01 11:45:48 字數 2512 閱讀 6907

https通訊原理

https在傳輸資料之前需要客戶端(瀏覽器)與服務端(**)之間進行一次握手,在握手過程中將確立雙方加密傳輸資料的密碼資訊。tls/ssl協議不僅僅是一套加密傳輸的協議,更是一件經過藝術家精心設計的藝術品,tls/ssl中使用了非對稱加密,對稱加密以及hash演算法。握手過程的具體描述如下:

1.瀏覽器(a)將自己支援的一套加密規則(jhg)傳送給**(b)。

2.**(b)從中選出一組加密演算法(j)與hash演算法(h),並將自己的身份資訊以證書(ca)的形式發回給瀏覽器(a)。證書(ca)裡面包含了**位址,公鑰(p),以及證書的頒發機構等資訊。

3.瀏覽器(a)獲得**(b)證書(ca)之後瀏覽器(a)要做以下工作:

a) 驗證證書(ca)的合法性(頒發證書的機構是否合法,證書中包含的**位址是否與正在訪問的位址一致等),如果證書受信任,則瀏覽器欄裡面會顯示乙個小鎖頭,否則會給出證書不受信的提示。

b) 如果證書(ca)受信任,或者是使用者接受了不受信的證書(ca),瀏覽器(a)會生成一串隨機數的密碼(r),並用證書(ca)中提供的公鑰(p)加密(rp)。

c) 使用約定好的hash演算法計算握手訊息(wsh),並使用生成的隨機數對訊息進行加密(wsr),最後將之前生成的所有資訊傳送給**。

4.**(b)接收瀏覽器(a)發來的資料(d=rp+wsh+wsr)之後要做以下的操作:

a) 使用自己的私鑰(s)將資訊(rp)解密取出密碼(r),使用密碼(r)解密瀏覽器(a)發來的握手訊息(wsr)(ws),並驗證hash是否與瀏覽器發來的(wsh)一致。

b) 使用密碼(r)加密一段握手訊息(ws2r),傳送給瀏覽器(a)。

5.瀏覽器(a)解密(ws2r)並計算握手訊息(ws2)的hash(ws2h),如果與服務端發來的hash一致,此時握手過程結束,之後所有的通訊資料將由之前瀏覽器生成的隨機密碼並利用對稱加密演算法進行加密。

參考:

符號說明:

1、a:客戶端,如瀏覽器。

2、b:伺服器端,如**。

3、jhg:a支援的一套加密規則,包括加密演算法、hash演算法。

4、j:b選出的一組加密演算法。

5、h:b選出的hash演算法。

6、ca:b的證書。

7、p:證書中的公鑰。

8、s:b的私鑰,和證書中的公鑰相對應。

9、r:a生成的隨機數密碼。後面對稱加密中的秘鑰。

10、ws:a生成的握手訊息。

11、rp:用p加密後的r。

12、wsr:用r加密後的ws。

13、wsh:用h簽名後的ws。

14、d:a傳送給b的第一次握手相關資料。rp+wsr+wsh。

15、ws2:b生成的握手訊息。

16、ws2r:用r加密後的ws2。

17、ws2h:用h簽名後的ws2。

18、d2:b傳送給a的第二次握手相關資料。ws2r+ws2h。

如何驗證證書的合法性?

根證書即權威機構的證書,目前權威機構指的是ca。

有效的證書就是要由權威機構ca簽名,ca就會用自己的私鑰對相關機構進行數字簽名生成有效的證書。客戶端瀏覽器會安裝ca的根證書,由ca簽名的證書是被ca所信任的,即該機構是可以被信任的,不是釣魚**。這就是信任鏈。

當客戶端與服務端進行連線時,服務端會將自己的證書傳送給客戶端,此時客戶端需要校驗這個證書的合法性

1.伺服器將自身的證書services.cer傳輸給客戶端​.

2.客戶端從自己的信任根證書列表查詢是否存在ca證書。

3.用ca證書中提供的公鑰去驗證services.cer,如果公鑰能夠解開services.cer,則可以說明該證書是被ca所信任的,隨後再去驗證是否過程等等

這時候只能說明這個證書是合法的,如何保證通訊過程中,雙方身份都是合法性的。

4.​取得services.cer中的公鑰進行伺服器身份的驗證。

5.​客戶端生成隨機數,傳輸給服務端,服務端使用公鑰對隨機數進行簽名,並且回傳給客戶端,客戶端用services.cer中的公鑰對隨機數的簽名進行驗證,如果驗證通過,就說明該伺服器確實擁有對應伺服器的私鑰,此時就可以判定該伺服器的身份是合法的。

​通訊的雙方身份合法之後,就要建立安全的會話。

6.​客戶端會生成會話金鑰,使用伺服器公鑰加密。伺服器用自己的私鑰解密後,用會話金鑰加密資料進行傳輸

參考:

符號說明:

1、a:客戶端,如瀏覽器。

3、ca:ca證書簽發機構。

4、p:ca機構的公鑰,所有人可見,並且直接嵌入瀏覽器內了。

5、sca:ca機構的私鑰,僅有ca機構自己可見。用來簽名自己簽發的證書。

7、c'a':冒充ca機構的一方,有ca的公鑰p,可是沒有ca的私鑰sca,無法簽名。

https通訊原理

了解https之前,先了解http 是乙個應用層協議,由請求和響應構成,是乙個標準的客戶端伺服器模型。是乙個無狀態的協議 http協議通常承載於tcp協議之上,有時也承載於tls或ssl協議層之上,這個時候,就成了我們常說的https。https有兩種基本的加解密演算法型別 1 對稱加密 金鑰只有乙...

HTTP通訊原理和HTTPS通訊原理

本博主參加位元組跳動第一次面試的時候,發現自己對於網路協議這方面欠缺很嚴重,並且在資訊保安課程中學到了部分數字證書的概念,故特意整理部落格以加強自己對於部分協議體系的理解。http 協議 hypertext transfer protocol,超文字傳輸協議 是客戶端瀏覽器或其他程式與web伺服器之...

Https安全通訊原理

是什麼?是基於安全目的的http 通道,其安全基礎由ssl 層來保證。最初由netscape 2.與http 主要區別 協議基礎不同 https 在http 下加入了ssl層,通訊方式不同 https 在資料通訊之前需要客戶端 伺服器進行握手 身份認證 建立連線後,傳輸資料經過加密,通訊埠443。傳...