https 認證通訊

2022-09-04 21:33:14 字數 1229 閱讀 2292

https認證流程

伺服器生成一對金鑰,私鑰自己留著,公鑰交給數字證書認證機構(ca)

ca進行審核,並用ca自己的私鑰對伺服器提供的公鑰進行簽名生成數字證書

將生成的數字證書部署到web伺服器

client在https建立連線時,需要先從伺服器獲取數字證書,在本機找到數字證書的簽發機構的ca的公鑰(根證書)對數字證書進行驗證,比對一致,說明該數字證書確實是ca頒發的(得此結論有乙個前提就是:客戶端的ca公鑰確實是ca的公鑰,即該ca的公鑰與ca對伺服器提供的公鑰進行簽名的私鑰確實是一對。),而ca又作為權威機構保證該公鑰的確是伺服器端提供的,從而可以確認該證書中的公鑰確實是合法伺服器端提供的。

注:為保證第4步中提到的前提條件,ca的公鑰必須要安全地轉交給客戶端**(ca根證書必須先安裝在客戶端)**,因此,ca的公鑰一般來說由瀏覽器開發商內建在瀏覽器或作業系統的內部。於是,該前提條件在各種信任機制上,基本保證成立。

https完整通訊過程

https在傳輸的過程中會涉及到三個金鑰:

伺服器端的公鑰和私鑰,用來進行非對稱加密

客戶端生成的隨機金鑰,用來進行對稱加密

乙個https請求實際上包含了兩次http傳輸,可以細分為8步。

1.客戶端向伺服器發起https請求,連線到伺服器的443埠

2.伺服器端有乙個金鑰對,即公鑰和私鑰,是用來進行非對稱加密使用的,伺服器端儲存著私鑰,不能將其洩露,公鑰可以傳送給任何人。

3.伺服器將自己的公鑰傳送給客戶端。

4.客戶端收到伺服器端的證書之後,會對證書進行檢查,驗證其合法性,如果發現發現證書有問題,那麼https傳輸就無法繼續。嚴格的說,這裡應該是驗證伺服器傳送的數字證書的合法性。如果公鑰合格,那麼客戶端會生成乙個隨機值,這個隨機值就是用於進行對稱加密的金鑰,我們將該金鑰稱之為client key,即客戶端金鑰,這樣在概念上和伺服器端的金鑰容易進行區分。然後用伺服器的公鑰對客戶端金鑰進行非對稱加密,這樣客戶端金鑰就變成密文了,至此,https中的第一次http請求結束。

5.客戶端會發起https中的第二個http請求,將加密之後的客戶端金鑰傳送給伺服器。

6.伺服器接收到客戶端發來的密文之後,會用自己的私鑰對其進行非對稱解密,解密之後的明文就是客戶端金鑰,然後用客戶端金鑰對資料進行對稱加密,這樣資料就變成了密文。

7.然後伺服器將加密後的密文傳送給客戶端。

8.客戶端收到伺服器傳送來的密文,用客戶端金鑰對其進行對稱解密,得到伺服器傳送的資料。這樣https中的第二個http請求結束,整個https傳輸完成。

基本認證 摘要認證 HTTPS

http提供了乙個原生的質詢 響應 challenge response 框架。1.請求質詢首部 www authenticate 伺服器發出 2.授權首部 authorization 客戶端發出 3.認證成功首部 authentication info 伺服器發出,可選 www authentic...

https認證詳解

最近公司準備提供一套類似第三方支付服務的系統。一提支付,少不了資訊保安,資料的安全是支付系統的鳥之翼,船之槳,重中之重。為了保證系統的安全,我們參考了https的安全模式,下面主要介紹一下https是怎麼保證資料安全的。ssl加密協議,ssl安全套接層,位於應用層和tcp層中間,應用要傳輸資料不是直...

HTTPS 單向認證

hyper text transfer protocol超文字傳輸協議 明文 傳輸的資料不加密 hyper text transfer protocol over secure socket layer 安全的超文字傳輸協議 ssl secure socket layer安全套接層協議 對稱加密 公...