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