接下來,使用非對稱加密對會話金鑰(1)本身進行加密:接收者(Bob)將其公鑰(2)提供給訊息的傳送者(Alice),以便她可以加密會話金鑰。無論二者所處的安全條件如何,該步驟都能夠讓Alice透過網際網路安全地與Bob共享會話金鑰。
會話金鑰的非對稱加密通常使用RSA演算法來完成。許多其他的加密系統都使用RSA進行加密,包括被用於保護大多數網際網路應用的傳輸層安全(TLS)協議。
Bob在接收到訊息的密文和加密的會話金鑰後,他就可以使用他的私鑰(3)來解密會話金鑰,然後再使用解密後的會話金鑰解密密文,從而獲得明文。
除了能夠進行加密和解密的基本功能外,PGP還支援數字簽名,它至少具有以下三個功能:
身份驗證:Bob可以驗證郵件的發件人是否的確為Alice。
完整性:Bob可以確定訊息未被更改。
不可否認性:在對郵件進行數字簽名後,Alice不能夠否認她沒有傳送郵件。
使用案例
PGP最常見的用途之一就是保護電子郵件。受PGP保護的電子郵件將成為一串不可讀的字元(密文),並且只能使用相應的解密金鑰對其解密。工作機制上,與對文字訊息進行加密是相同的,並且還有一些軟體應用支援在其他應用程式之上實現PGP功能,從而有效地在不可靠的安全通訊中新增加密功能。
雖然PGP主要被用於保護網際網路通訊,但它也可以應用於加密各類裝置。在本文中,PGP可用於對計算機或移動裝置的磁碟分割槽進行加密。透過加密硬碟,每次系統啟動時都要求使用者提供密碼。
優缺點
由於結合使用對稱和非對稱加密,PGP支援使用者透過網際網路安全地共享資訊和加密金鑰。作為混合系統,PGP受益於非對稱加密的安全性和對稱加密的時效性。除了安全性和時效性之外,PGP還能夠提供數字簽名功能,以確保資料的完整性和發件人的真實性。
OpenPGP協議能夠用於標準化的環境中,PGP解決方案現在可由多家公司和組織提供技術支援。但是,所有符合OpenPGP標準的PGP程式都是相互相容的。這意味著在一個程式中生成的檔案和金鑰可以在另一個程式中使用。
缺點方面,對於PGP系統的使用和理解並非易事,尤其是對於技術知識瞭解很少的使用者。而且,公共金鑰的長度也被認為是非常不便於使用者使用的。
2018年,電子前沿基金會(EFF)釋出了名為EFAIL的關鍵性漏洞。 EFAIL使攻擊者可以利用加密電子郵件中的HTML連線來訪問純文字格式的郵件。
然而,自20世紀90年代末以來,PFA社羣已經意識到EFAIL所描述的一系列問題,事實上,這些漏洞的產生與電子郵件客戶端的實現方式有關,而與PGP本身無關。因此,儘管產生了令人震驚和誤導性的爆炸性新聞,但PGP加密功能並沒有被破解,它仍然保持著高度的安全性。
總結思想
自1991年被開發以來,PGP一直被用作資料保護的重要工具,現在也廣泛應用於各個領域,為多數通訊系統和數字服務提供商提供隱私,安全和認證保護。
雖然2018年EFAIL漏洞的發現引發了對協議安全性的重大擔憂,但其核心技術仍然是健壯且加密的。值得注意的是,不同的PGP實現方式也能夠提供不同級別的安全性。