首頁 > 常見問題 > 主體

https雙向認證如何開啟

爱喝马黛茶的安东尼
發布: 2019-07-26 11:31:37
原創
4665 人瀏覽過

https雙向認證如何開啟

一、Http

#HyperText Transfer Protocol,超文本傳輸協議,是網路上使用最廣泛的一種協議,所有WWW文件必須遵守的標準。 HTTP協定傳輸的資料都是未加密的,也就是明文的,因此使用HTTP協定傳輸隱私資訊非常不安全。

使用TCP埠為:80

二、Https

Hyper Text Transfer Protocol over Secure Socket Layer,安全的超文本傳輸協議,網景公式設計了SSL(Secure Sockets Layer)協定用於對Http協定傳輸的資料進行加密,確保會話過程中的安全性。

使用TCP埠預設為443

三、SSL協定加密方式

SSL協定即用到了對稱加密也用到了非對稱加密(公鑰加密),在建立傳輸鏈路時,SSL首先對對稱加密的金鑰使用公鑰進行非對稱加密,鏈路建立好之後,SSL對傳輸內容使用對稱加密。

對稱加密

速度高,可加密內容較大,用來加密會話過程中的訊息

公鑰加密

加密速度較慢,但能提供更好的身份認證技術,用來加密對稱加密的密鑰

相關推薦:《常見問題

四、雙向認證

雙向認證和單向認證原理基本上差不多,只是除了客戶端需要認證服務端以外,增加了服務端對客戶端的認證,具體過程如下:

https雙向認證如何開啟

1、客戶端向服務端發送SSL協定版本號、加密演算法種類、隨機數等資訊。

2、服務端給客戶端回傳SSL協定版本號、加密演算法種類、隨機數等信息,同時也傳回伺服器端的證書,也就是公鑰證書。

3、客戶端使用服務端傳回的資訊驗證伺服器的合法性,包括:

(1)憑證是否過期。

(2)髮型伺服器憑證的CA是否可靠。

(3)傳回的公鑰是否能正確解開傳回憑證中的數位簽章。

(4)伺服器憑證上的網域名稱是否和伺服器的實際網域名稱相符。

(5)驗證通過後,將繼續進行通信,否則,終止通信。

4、服務端要求客戶端發送客戶端的證書,客戶端會將自己的證書傳送至服務端。

5、驗證客戶端的證書,經過驗證後,會取得客戶端的公鑰。

6、客戶端向服務端發送自己所能支援的對稱加密方案,供伺服器端進行選擇。

7、伺服器端在客戶端提供的加密方案中選擇加密程度最高的加密方式。

8、將加密方案透過使用先前取得到的公鑰進行加密,並傳回給客戶端。

9、客戶端收到服務端回傳的加密方案密文後,使用自己的私鑰進行解密,取得具體加密方式,而後,產生該加密方式的隨機碼,用作加密過程中的金鑰,使用先前從服務端憑證取得的公鑰進行加密後,發送給服務端。

10、服務端收到客戶端傳送的訊息後,使用自己的私鑰進行解密,取得對稱加密的金鑰,在接下來的會話中,伺服器和用戶端將會使用該密碼進行對稱加密,確保通訊過程中資訊的安全。

以上是https雙向認證如何開啟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板