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