雙向認證
更新時間 2024-11-02 08:50:13
最近更新時間: 2024-11-02 08:50:13
分享文章
本文介紹HTTPS雙向認證功能原理。
功能介紹
雙向認證,顧名思義,即客戶端與服務器雙方均需認證對方的身份,在確認對方身份后才可以建立HTTPS連接。在標準的HTTPS中,通常采用單向認證的方式,即服務器向客戶端證明自己的身份以建立一個安全加密的通信連接;雙向認證在服務器向客戶端證明身份的基礎上,還需要客戶端也提供客戶端證書,供服務器驗證客戶端的身份,客戶端與服務器雙方都驗證通過對方的身份后,才建立HTTPS連接。
單向認證流程:
- 客戶端向邊緣加速節點發起HTTPS請求。
- 邊緣加速節點將對應域名的SSL證書公鑰發送給客戶端。
- 客戶端驗證對應證書公鑰正確后,隨機生成一個密鑰,并使用公鑰進行加密后發送給邊緣加速節點。
- 邊緣加速節點使用對應私鑰進行解密,得到密鑰。
- 客戶端與邊緣加速節點在后續通信過程中使用該密鑰對傳輸的數據加密。
- 客戶端與邊緣加速節點使用對應密鑰對收到的數據進行解密,獲取對應數據。
雙向認證流程:
- 客戶端向邊緣加速節點發起HTTPS請求。
- 邊緣加速節點將對應域名的SSL證書公鑰發送給客戶端,并發送證書請求標記要求獲取客戶端證書。
- 客戶端驗證域名的SSL證書公鑰正確后,隨機生成一個密鑰A,并使用SSL證書公鑰進行加密后發送給邊緣加速節點。同時客戶端收到證書請求標記,將發送對應的客戶端證書給邊緣加速節點,同時計算歷史消息的hash值,將該hash值通過客戶端私鑰簽名,并將簽名結果也發送給邊緣加速節點。
- 邊緣加速節點使用域名SSL證書對應的私鑰進行解密,得到密鑰A。同時獲取客戶端的證書和簽名后,驗證客戶端證書是否可信,并使用客戶端證書公鑰和歷史消息的hash值校驗簽名是否正確,存儲驗證結果。
- 客戶端與邊緣加速節點在后續通信過程中使用該密鑰A對傳輸的數據加密。
- 客戶端與邊緣加速節點使用對應密鑰A對收到的數據進行解密,獲取對應數據。
- 后續客戶端發送請求,如果之前驗證是通過的則正常處理,否則立即返回錯誤響應,告訴客戶端雙向認證失敗。
適用場景
適用于對數據安全要求比較高的系統,確保通信雙方安全可信。
注意事項
使用雙向認證的前置條件:
- 當前域名已配置HTTPS證書。
- 擁有客戶端證書。
配置說明
如您需要配置雙向認證功能,請通過提交工單給天翼云客服,由其幫您配置。