信任網路,PGP,GPG

在PKI中,所有的信任都源自於對CA機構的信任,但是CA機構也有可能出錯。即使是那些目前還沒有出過錯誤的CA機構,也不能保證他們在以後也不會出錯。與PKI中對CA機構的無條件信任不同,另一種公鑰架構稱為「信任網路」,這裡沒有CA機構,而是一個靠一對一的信任所建立起來的網路。


我們為什麼認為一個公鑰是可信的?有以下幾種模式:

直接信任

直接信任

直接信任是最簡單的信任模式。在這個模式中,使用者因為知道一把密鑰從哪裡來而信任它是有效的。所有的密碼系統在某種程度上都使用了這樣的信任形式。例如在網頁瀏覽器上,CA機構的根證書直接被信任,這是因為它們被內置在了操作系統和瀏覽器中。

信任鏈/信任樹

信任鏈

在信任鏈中,會有許多來自」根證書」所延伸出來的信任。這些證書也許為他們自己擔保、或擔保更低層的證書。你可比這樣的情形想做是一個信任鏈。下游證書的真實性由簽發它的證書的真實性而得到證明,直到直接由根證書所信任為止。在個體的角度來看,這是一條信任鏈,而從整體的角度去看,這其實是一個信任樹。

信任網路

信任網路與以上兩種模式不同,信任網路可以被看作是若干個直接信任所連接起來的網路。在信任網路中,你相信一個密鑰是真實的,是因為你信任的人相信它是真實的。這個人被稱為引薦者

你也許聽說過六度分隔理論:世界上任何互不相識的兩人,最多只需要六個中間人就能夠建立起聯繫。

找到一個素不相識的人,中間只需要經過六個人

也就是說,你信任一個素不相識的人的證書,途中的引薦人可能不超過六個。

PGP的發明者菲利普·齊默曼曾說:

隨著時間過去,你累積到許多人的密鑰,其中有些人你也許願意簽署信賴他們,別人也會簽署一些他們自己信賴的他人密鑰。每個人都逐漸累積到一些他人已簽署信賴的密鑰,然後自己再簽署並散發出去。那麼便能期待,下一個拿到這把密鑰的人在簽署名單上總有一兩個是自己信賴的。這最終能形成所有公鑰的分散式防弊的信賴網路。

這就是信任網路的信任理念。當任何使用者使用了別人的公鑰,他就會成為那把公鑰的引薦者。當這樣的程序被持續地進行著,就會形成一張信任網路。

信任網路

在信任網路中,任何信任網路使用者都可以驗證其他信任網路使用者的公鑰憑證。然而這樣的憑證只有在第三方也認為驗證者是可信任的引薦者時,才會被信任。(也就是說,你若要信任我所認為有效的密鑰,得先認定我是可被信任的引薦者。不然的話我對於另一把密鑰的驗證對你來說是毫無意義的。)

儲存在每一個使用者的公鑰庫里的東西包含以下信息:

  • 使用者認為某把密鑰是否有效
  • 使用者對那把密鑰信任的程度,這關係著密鑰主人能否成為其他密鑰的驗證者
  • 你根據我的密鑰副本指出對我的評斷的計數。

這其實是一個聲望系統:有些人們因為被信任而有好的聲望,而人們因而信任他們對其他密鑰的驗證是有效的。


PGP

優良保密協議(PGP)就是這樣一種基於信任網路的安全協議[1]。PGP與其他安全協議最大的不同就是他驗證證書的方式——基於信任網路,而不是PKI和根證書。

PGP的加密與解密

在PGP中,對一把密鑰的信任有三個等級:

  1. 完全信任
  2. 半信半疑
  3. 不信任(或未信任)

只有一個引薦者完全信任的密鑰或者兩個引薦者半信任的密鑰才能被判定為有效的密鑰。


OpenPGP

1997年,PGP成為一項互聯網標準,稱為OpenPGP[2]。許多電子郵件系統都支持了OpenPGP[3][4]。實際上,PGP信任網路的理念非常適合電子郵件特點。2007年,PGP協議進行了加密演算法方面的更新[5],後來又加入了對Camellia[6], ECDSA, ECDH[7]和EdDSA[8]等加密演算法的支持。


GPG

OpenPGP標準有很多種實現,其中自由軟體基金會(FSF)所開發的的程序稱GNU Privacy Guard(GPG)

The GNU Privacy Guard?

gnupg.org圖標

GPG是著名的GNU計劃的一部分,以GPLv3許可協議開源。GPG使用命令行進行操作。

GPG - 維基教科書,自由的教學讀本?

zh.wikibooks.org

想要在Windows平台上使用帶圖形界面的GPG可以使用Gpg4win套件,包含了GPG加密,證書管理,電子郵件和文件加密的組件。

Secure email and file encryption with GnuPG for Windows?

www.gpg4win.org


在PGP中,我們不再依賴於CA機構幫我們檢查證書的真實性,我們只信任自己的判斷。其中蘊含的去中心化的理念將為我們帶來更可靠、更安全的加密通信。


[1](RFC-1991)PGP Message Exchange Formats:tools.ietf.org/html/rfc

[2](RFC-2440)OpenPGP Message Format:tools.ietf.org/html/rfc

[3](RFC-2015)MIME Security with Pretty Good Privacy (PGP):tools.ietf.org/html/rfc

[4](RFC-3156)MIME Security with OpenPGP:tools.ietf.org/html/rfc

[5](RFC-4880)OpenPGP Message Format:tools.ietf.org/html/rfc

[6](RFC-5581)The Camellia Cipher in OpenPGP:tools.ietf.org/html/rfc

[7](RFC-6637)Elliptic Curve Cryptography (ECC) in OpenPGP:tools.ietf.org/html/rfc

[8](RFC草案) EdDSA for OpenPGP:tools.ietf.org/html/dra


推薦閱讀:

「Trackmageddon」漏洞影響100+個GPS和定位跟蹤服務
美國知名業界良心視頻動漫平台CrunchyRoll被黑,強制用戶下載惡意軟體
使用MSF批量探測內網MS17-010漏洞
追蹤IP地址你需要這幾款工具加持
滲透測試中的Bypass技巧(I)之架構層繞過WAF

TAG:PGP | GNU | 信息安全 |