SSL證書認證方式分為單向認證和雙向認證,SSL單向認證的是服務端的合法性,服務器是合法的就繼續(xù)通訊,不管客戶端是不是合法。SSL證書雙向認證和單向認證原理基本差不多,SSL證書單向認證客戶端僅需要認證服務端,而在SSL證書雙向認證中增加了服務端對客戶端的認證。
互聯網上幾乎的Web應用都是采用SSL證書單向認證方式,因為客戶端數目廣泛,所以無需做在通訊層做用戶身份驗證,一般都在應用邏輯層來保證用戶的合法登入和數據安全。
先了解SSL證書單向認證的過程:

依據上圖可以看出,服務器端擁有一對非對稱密鑰:B_公鑰和B_私鑰。
詳細過程如下:
1、客戶端發(fā)起HTTPS請求,將SSL協(xié)議版本的信息發(fā)送給服務端。
2、服務端去CA機構申請來一份CA證書,將CA證書發(fā)送給客戶端。
3、客戶端讀取CA證書的明文信息,采用相同的hash散列函數計算得到信息摘要,對比證書中的信息摘要。如果一致,則證明證書是可信的,然后取出了服務端公鑰;
4、客戶端生成一個隨機數(密鑰F),用剛才等到的服務端B_公鑰去加密這個隨機數形成密文,發(fā)送給服務端。
5、服務端用自己的B_私鑰去解密這個密文,得到了密鑰F
6、服務端和客戶端在后續(xù)通訊過程中就使用這個密鑰F進行通信了。和之前的非對稱加密不同,這里開始就是一種對稱加密的方式
在一些是企業(yè)應用對接,情況就不一樣,可能會要求對客戶端做身份驗證,這時就需要做雙向認證。
先了解SSL證書雙向認證的過程:

SSL證書雙向認證詳細過程如下:
1、客戶端發(fā)起HTTPS請求,將SSL協(xié)議版本的信息發(fā)送給服務端。
2、服務端去CA機構申請來一份CA證書,證書里面有服務端公鑰和簽名,將CA證書發(fā)送給客戶端。
3、客戶端讀取CA證書的明文信息,采用相同的hash散列函數計算得到信息摘要(hash目的:驗證防止內容被修改),然后用操作系統(tǒng)帶的CA的公鑰去解密簽名(因為簽名是用CA的私鑰加密的),對比證書中的信息摘要。如果一致,則證明證書是可信的,然后取出了服務端公鑰
4、客戶端發(fā)送自己的客戶端證書給服務端,證書里面有客戶端的公鑰:C_公鑰
5、客戶端發(fā)送支持的對稱加密方案給服務端,供其選擇
6、服務端選擇完加密方案后,用剛才得到的C_公鑰去加密選好的加密方案
7、客戶端用自己的C_私鑰去解密選好的加密方案,客戶端生成一個隨機數(密鑰F),用剛才等到的服務端B_公鑰去加密這個隨機數形成密文,發(fā)送給服務端。
8、服務端和客戶端在后續(xù)通訊過程中就使用這個密鑰F進行通信了。和之前的非對稱加密不同,這里開始就是一種對稱加密的方式
掃碼贊賞,鼓勵支持
相關問題
Centos 7.x 下做端口映射/端口轉發(fā)Windows server 2008/2012/2016/2019 服務器桌面不顯示我的電腦(計算機)的解決方案No input file specified的解決方法網站如何添加工信部網站備案號和鏈接代碼騰訊云對象存儲內網與外網地址訪問Windows遠程桌面多個用戶如何同時使用Chrome谷歌瀏覽器?