PGP代表了Pretty Good Privacy。是一種加密軟件,旨在為在線通信系統(tǒng)提供隱私性、安全性和身份驗證保護(hù)。 Phil Zimmerman是首個PGP程序背后的開發(fā)者,如他所述,現(xiàn)如今對隱私的需求不斷增長,該軟件已供人們免費使用。
自1991年被創(chuàng)建以來,市面上已經(jīng)出現(xiàn)了許多版本的PGP軟件。1997年,Phil Zimmerman向互聯(lián)網(wǎng)工程任務(wù)組(IETF)提出了一項關(guān)于創(chuàng)建開源PGP標(biāo)準(zhǔn)的建議。該建議馬上被接受,隨后開創(chuàng)了OpenPGP協(xié)議,該協(xié)議定義了加密密鑰和消息的標(biāo)準(zhǔn)格式。
雖然PGP最初僅用于保護(hù)電子郵件和相關(guān)附件,現(xiàn)在已應(yīng)用于各大領(lǐng)域,包括數(shù)字簽名,磁盤加密完整性校驗和網(wǎng)絡(luò)防護(hù)。
PGP軟件版權(quán)最初由PGP公司所擁有,該公司后來被Network Associates收購。2010年,賽門鐵克公司又以3億美元收購了PGP,該商標(biāo)一直被用于其OpenPGP兼容產(chǎn)品。
工作原理
PGP是首個實現(xiàn)公鑰密碼學(xué)的大范圍應(yīng)用軟件之一。它使用了混合密碼系統(tǒng)架構(gòu),使用對稱加密和非對稱加密來實現(xiàn)高級別的安全性。
在對內(nèi)容進(jìn)行加密的基本過程中,明文(可以被清楚理解的數(shù)據(jù))被轉(zhuǎn)換成密文(不可讀的數(shù)據(jù))。但在進(jìn)行加密之前,大多數(shù)PGP系統(tǒng)都會執(zhí)行數(shù)據(jù)壓縮。PGP軟件在傳輸純文本文件之前對其進(jìn)行壓縮,可以節(jié)省磁盤空間和傳輸時間,同時還能夠提高安全性。
在文件被壓縮之后,接下來開始進(jìn)行實際的加密。在此階段,被壓縮的明文文件使用一次性密鑰進(jìn)行加密,稱之為會話密鑰。該密鑰是使用對稱加密隨機(jī)生成的,并且每次PGP通信會話都具有唯一的會話密鑰。
接下來,使用非對稱加密對會話密鑰(1)本身進(jìn)行加密:接收者(Bob)將其公鑰(2)提供給消息的發(fā)送者(Alice),以便她可以加密會話密鑰。無論二者所處的安全條件如何,該步驟都能夠讓Alice通過互聯(lián)網(wǎng)安全地與Bob共享會話密鑰。
會話密鑰的非對稱加密通常使用RSA算法來完成。許多其他的加密系統(tǒng)都使用RSA進(jìn)行加密,包括被用于保護(hù)大多數(shù)互聯(lián)網(wǎng)應(yīng)用的傳輸層安全(TLS)協(xié)議。
Bob在接收到消息的密文和加密的會話密鑰后,他就可以使用他的私鑰(3)來解密會話密鑰,然后再使用解密后的會話密鑰解密密文,從而獲得明文。
除了能夠進(jìn)行加密和解密的基本功能外,PGP還支持?jǐn)?shù)字簽名,它至少具有以下三個功能:
· 身份驗證:Bob可以驗證郵件的發(fā)件人是否的確為Alice。
· 完整性:Bob可以確定消息未被更改。
· 不可否認(rèn)性:在對郵件進(jìn)行數(shù)字簽名后,Alice不能夠否認(rèn)她沒有發(fā)送郵件。
使用案例
PGP最常見的用途之一就是保護(hù)電子郵件。受PGP保護(hù)的電子郵件將成為一串不可讀的字符(密文),并且只能使用相應(yīng)的解密密鑰對其解密。工作機(jī)制上,與對文本消息進(jìn)行加密是相同的,并且還有一些軟件應(yīng)用支持在其他應(yīng)用程序之上實現(xiàn)PGP功能,從而有效地在不可靠的安全通信中添加加密功能。
雖然PGP主要被用于保護(hù)互聯(lián)網(wǎng)通信,但它也可以應(yīng)用于加密各類設(shè)備。在本文中,PGP可用于對計算機(jī)或移動設(shè)備的磁盤分區(qū)進(jìn)行加密。通過加密硬盤,每次系統(tǒng)啟動時都要求用戶提供密碼。
優(yōu)缺點
由于結(jié)合使用對稱和非對稱加密,PGP支持用戶通過互聯(lián)網(wǎng)安全地共享信息和加密密鑰。作為混合系統(tǒng),PGP受益于非對稱加密的安全性和對稱加密的時效性。除了安全性和時效性之外,PGP還能夠提供數(shù)字簽名功能,以確保數(shù)據(jù)的完整性和發(fā)件人的真實性。
OpenPGP協(xié)議能夠用于標(biāo)準(zhǔn)化的環(huán)境中,PGP解決方案現(xiàn)在可由多家公司和組織提供技術(shù)支持。但是,所有符合OpenPGP標(biāo)準(zhǔn)的PGP程序都是相互兼容的。這意味著在一個程序中生成的文件和密鑰可以在另一個程序中使用。
缺點方面,對于PGP系統(tǒng)的使用和理解并非易事,尤其是對于技術(shù)知識了解很少的用戶。而且,公共密鑰的長度也被認(rèn)為是非常不便于用戶使用的。
2018年,電子前沿基金會(EFF)發(fā)布了名為EFAIL的關(guān)鍵性漏洞。 EFAIL使攻擊者可以利用加密電子郵件中的HTML連接來訪問純文本格式的郵件。
然而,自20世紀(jì)90年代末以來,PFA社區(qū)已經(jīng)意識到EFAIL所描述的一系列問題,事實上,這些漏洞的產(chǎn)生與電子郵件客戶端的實現(xiàn)方式有關(guān),而與PGP本身無關(guān)。因此,盡管產(chǎn)生了令人震驚和誤導(dǎo)性的爆炸性新聞,但PGP加密功能并沒有被破解,它仍然保持著高度的安全性。
總結(jié)思想
自1991年被開發(fā)以來,PGP一直被用作數(shù)據(jù)保護(hù)的重要工具,現(xiàn)在也廣泛應(yīng)用于各個領(lǐng)域,為多數(shù)通信系統(tǒng)和數(shù)字服務(wù)提供商提供隱私,安全和認(rèn)證保護(hù)。
雖然2018年EFAIL漏洞的發(fā)現(xiàn)引發(fā)了對協(xié)議安全性的重大擔(dān)憂,但其核心技術(shù)仍然是健壯且加密的。值得注意的是,不同的PGP實現(xiàn)方式也能夠提供不同級別的安全性。