HTTPS 之共享祕鑰 公鑰 及 私鑰

2022-09-23 05:02:05 字數 1276 閱讀 3924

https 之共享祕鑰 公鑰 及 私鑰

一 共享祕鑰

1.1 概念

共享祕鑰和我們生活中同一把鎖的鑰匙概念類似,對同一把鎖來說,加鎖時使用什麼鑰匙,解鎖也必須使用同樣的鑰匙。

1.2 共享祕鑰在http傳輸中的缺點

以共享金鑰方式加密時必須將金鑰也發給對方。在網際網路上**金鑰時,如果通訊被監聽,那麼金鑰就可會落入攻擊者之手,同時也就失去了加密的意義。另外還得設法安全地保管接收到的金鑰。

二 ssl(secure socket layer)公開祕鑰加密

2.1 概念

公開金鑰加密使用一對非對稱的金鑰。一把叫做私有金鑰(private key),另一把叫做公開金鑰(public key)。顧名思義,私有金鑰不能讓其他任何人知道,而公開金鑰則可以隨意釋出,任何人都可以獲得。

傳送密文的一方使用對方的公開金鑰進行加密處理,對方收到被加密的資訊後,再使用自己的私有金鑰進行解密。利用這種方式,不需要傳送用來解密的私有金鑰,也不必擔心金鑰被攻擊者竊聽而盜走。

另外,要想根據密文和公開金鑰,恢復到資訊原文是異常困難。

三 https的加密機制—混合祕鑰(公開祕鑰加密技術和共享祕鑰加密技術結合)

3.1 原因

https 採用共享金鑰加密和公開金鑰加密兩者並用的混合加密機制。公開金鑰加密很安全。但是公開金鑰加密與共享金鑰加密相比,其處理速度要慢。

所以應充分利用共享金鑰加密和公開金鑰加密各自的優勢,將共享金鑰加密和公開金鑰加密組合起來用於通訊。在交換金鑰環節使用公開金鑰加密方式,之後的建立通訊交換報文階段則使用共享金鑰加密方式。

四 公鑰加密的問題

無法證明公開金鑰本身就是貨真價實的公開金鑰。比如,正準備和某臺伺服器建立公開金鑰加密方式下的通訊時,無法證明收到的公開金鑰就是原本伺服器發行的公開金鑰。或許在公開金鑰傳輸途中,真正的公開金鑰已經被攻擊者替換掉了。

解決辦法:第三方可信機構認證,參考:傳送門

五 證書的基本原理

1 首先,客戶端向伺服器發出加密請求

2 伺服器將自己的證書傳送給請求的客戶端,這個證書中包含伺服器的公鑰,而這個證書本身被頒發證書的可信機構的私鑰加密。並且可信機構的公鑰一般會儲存於請求的客戶端電腦上。

3 請求的客戶端利用儲存於本電腦上的可信機構的公鑰,來驗證該證書是否正確,這樣就驗證了伺服器身份,同時得到了伺服器的公鑰

4 客戶端利用伺服器的公鑰加密共享祕鑰,伺服器收到客戶端的共享祕鑰後,二者就可以通過共享祕鑰完成接下來的加密通訊