先理解兩個概念:對稱加密:即通信的雙?都使?同?個秘鑰進?加解密,對稱加密雖然很簡單性能也好,但是?法解決?次把秘鑰發給對?的問題,很容易被?客攔截秘鑰。
?對稱加密:1、私鑰 + 公鑰= 密鑰對
2、即?私鑰加密的數據,只有對應的公鑰才能解密,?公鑰加密的數據,只有對應的私鑰才能解密
3、因為通信雙?的??都有?套??的密鑰對,通信之前雙?會先把??的公鑰都先發給對?
4、然后對?再拿著這個公鑰來加密數據響應給對?,等到到了對?那?,對?再???的私鑰進?解密?對稱加密雖然安全性更?,但是帶來的問題就是速度很慢,影響性能。
解決?案:
結合兩種加密?式,將對稱加密的密鑰使??對稱加密的公鑰進?加密,然后發送出去,接收?使?私鑰進?解密得到對稱加密的密鑰,然后雙?可以使?對稱加密來進?溝通。
此時?帶來?個問題,中間?問題:如果此時在客戶端和服務器之間存在?個中間?,這個中間?只需要把原本雙?通信互發的公鑰,換成??的公鑰,這樣中間?就可以輕松解密通信雙?所發送的所有數據。
所以這個時候需要?個安全的第三?頒發證書(CA),證明身份的身份,防?被中間?攻擊。 證書中包括:簽發者、證書?途、使?者公鑰、使?者私鑰、使?者的HASH算法、證書到期時間等。
但是問題來了,如果中間?篡改了證書,那么身份證明是不是就?效了?這個證明就?買了,這個時候需要?個新的技術,數字簽名。
數字簽名就是?CA?帶的HASH算法對證書的內容進?HASH得到?個摘要,再?CA的私鑰加密,最終組成數字簽名。當別?把他的證書發過來的時候,我再?同樣的Hash算法,再次?成消息摘要,然后?CA的公鑰對數字簽名解密,得到CA創建的消息摘要,兩者??,就知道中間有沒有被?篡改了。這個時候就能最?程度保證通信的安全了。