https

冰凉小手發表於2024-05-17

https: 保證資料傳輸過程中資訊不被竊取與篡改

  • 客戶端與伺服器透過對稱加密演算法保證傳輸資訊保安

  • 對稱加密演算法的金鑰只有建立方知曉,如何安全的傳遞金鑰?

  • 伺服器使用非對稱加密演算法建立一對金鑰key2;並將公鑰key2傳遞給客戶端,自身保留私鑰key2;
    客戶端使用對稱加密演算法建立金鑰key1,使用公鑰key1加密金鑰key2傳遞給伺服器,伺服器使用私鑰key2解密拿到金鑰key1

  • 第三方可以偽裝成伺服器與客戶端互動獲取金鑰key2,且知曉伺服器的公鑰key1可以模擬客戶端與伺服器互動。。。

  • 第三方權威機構(CA)公開自身的公鑰key3與證書籤名演算法,伺服器將自身域名與公鑰key2使用key3加密傳送給第三方權威機構,第三方權威機構頒發證書(DC)給伺服器。

證書 = 伺服器域名 + 權威機構 + 權威機構私鑰key3加密的伺服器公鑰key1 + 權威機構私鑰key3加密的證書籤名

證書籤名 = 伺服器域名 + 權威機構公鑰key3 + 伺服器公鑰key1

簽名是指用私鑰對某個檔案或資料進行加密,從而生成數字簽名,數字簽名包含了檔案或資料的摘要和私鑰加密後的密文,用於驗證檔案或資料的完整性和真實性。

  • 伺服器將證書發給客戶端,客戶端驗證證書是否正確。保證正確的拿到伺服器的公鑰

攻擊者偽造的證書無法使用私鑰key3加密,客戶端使用公鑰key3解密會得到的簽名與偽造的證書籤名會不一致