淺析非對稱加密的應用場景

1. 信息加密

收信者是唯一能夠解開加密信息的人,因此收信者手里的必須是私鑰。發(fā)信者手里的是公鑰,其它人知道公鑰沒有關(guān)系,因為其它人發(fā)來的信息對收信者沒有意義。

2. 登錄認證

客戶端需要將認證標識傳送給服務器,此認證標識(可能是一個隨機數(shù))其它客戶端可以知道,因此需要用私鑰加密,客戶端保存的是私鑰。服務器端保存的是公鑰,其它服務器知道公鑰沒有關(guān)系,因為客戶端不需要登錄其它服務器。

3. 數(shù)字簽名

數(shù)字簽名是為了表明信息沒有受到偽造,確實是信息擁有者發(fā)出來的,附在信息原文的后面。就像手寫的簽名一樣,具有不可抵賴性和簡潔性。

簡潔性:對信息原文做hash,得到digest。信息越短加密的耗時越少。

不可抵賴性:信息擁有者要保證簽名的唯一性,必須是唯一能夠加密digest的人,因此必須用私鑰加密(就像字跡他人無法學會一樣),得到簽名。如果用公鑰,那每個人都可以偽造簽名了。

4.數(shù)字證書

發(fā)信者怎么知道從網(wǎng)上獲取的公鑰就是真的?沒有遭受中間人攻擊?

這樣就需要第三方機構(gòu)來保證公鑰的合法性,這個第三方機構(gòu)就是CA(Certificate Authority),證書中心。

CA用自己的私鑰對信息原文所有者發(fā)布的公鑰和相關(guān)信息進行加密,得出的內(nèi)容就是數(shù)字證書。

信息原文的所有者以后發(fā)布信息時,除了帶上自己的簽名,還帶上數(shù)字證書,就可以保證信息不被篡改了。信息的接收者先用CA給的公鑰解出信息所有者的公鑰,這樣可以保證信息所有者的公鑰是真正的公鑰,然后就能通過該公鑰證明數(shù)字簽名是否真實了。