PGP代表了Pretty Good Privacy。是一種加密軟體,旨在為線上通訊系統提供隱私性、安全性和身分驗證保護。 Phil Zimmerman是首個PGP程式背後的開發者,如他所述,現如今對隱私的需求不斷增長,該軟體已供人們免費使用。
自1991年創立以來,市面上已經出現了許多版本的PGP軟體。 1997年,Phil Zimmerman向網路工程任務小組(IETF)提出了一項關於創建開源PGP標準的建議。該建議馬上被接受,隨後開創了OpenPGP協議,該協議定義了加密金鑰和訊息的標準格式。
雖然PGP最初僅用於保護電子郵件和相關附件,但現在已應用於各大領域,包括數位簽名,磁碟加密完整性校驗和網路防護。
PGP軟體版權最初由PGP公司所擁有,該公司後來被Network Associates收購。 2010年,賽門鐵克公司又以3億美元收購了PGP,該商標一直被用於其OpenPGP相容產品。
PGP是第一個實現公鑰密碼學的大規模應用軟體之一。它使用了混合密碼系統架構,使用對稱加密和非對稱加密來實現高水準的安全性。
在對內容進行加密的基本過程中,明文(可以被清楚理解的資料)被轉換成密文(不可讀的資料)。但在進行加密之前,大多數PGP系統都會執行資料壓縮。 PGP軟體在傳輸純文字檔案之前對其進行壓縮,可以節省磁碟空間和傳輸時間,同時也能夠提高安全性。
在檔案被壓縮之後,接下來開始進行實際的加密。在此階段,被壓縮的明文檔案使用一次性金鑰進行加密,稱之為會話金鑰。此金鑰是使用對稱加密隨機產生的,並且每次PGP通訊會話都具有唯一的會話金鑰。
接下來,使用非對稱加密對會話金鑰(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連線來存取純文字格式的郵件。
然而,自1990年代末期以來,PFA社群已經意識到EFAIL所描述的一系列問題,事實上,這些漏洞的產生與電子郵件用戶端的實現方式有關,而與PGP本身無關。因此,儘管產生了令人震驚和誤導性的爆炸性新聞,但PGP加密功能並沒有被破解,它仍然保持高度的安全性。
自1991年開發以來,PGP一直被用作資料保護的重要工具,現在也廣泛應用於各個領域,為多數通訊系統和數位服務提供者提供隱私,安全和認證保護。
雖然2018年EFAIL漏洞的發現引發了對協議安全性的重大擔憂,但其核心技術仍然是健壯且加密的。值得注意的是,不同的PGP實作方式也能夠提供不同等級的安全性。