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

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

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