軟件水平考試網(wǎng)絡(luò)工程師復(fù)習(xí)指導(dǎo):PGP簡介(3)

字號(hào):

每個(gè)密匙有它們自己的標(biāo)識(shí)(keyid), keyid是一個(gè)八位十六進(jìn)制數(shù),兩個(gè)密匙具有相同keyid的可能性是幾十億分之 一,而且pgp還提供了一種更可靠的標(biāo)識(shí)密匙的方法:“密匙指紋” (key’s fingerprint)。 每個(gè)密匙對(duì)應(yīng)一串?dāng)?shù)字(十六個(gè)八位十六進(jìn)制數(shù)),這個(gè)數(shù) 字重復(fù)的可能就更微乎其微了。而且任何人無法指定生成一個(gè)具有某個(gè)指紋的 密匙,密匙是隨機(jī)生成的,從指紋也無法反推出密匙來。這樣你拿到某人的公 匙后就可以和他在電話上核對(duì)這個(gè)指紋, 從而認(rèn)證他的公匙。 如果你無法和 alice通電話的話,你可以和david通電話認(rèn)證david的公匙,從而通過david認(rèn) 證了alice的公匙,這就是直接認(rèn)證和間接介紹的結(jié)合。 這樣又引出一種方法,就是把具有不同人簽名的自己的公匙收集在一起, 發(fā)送到公共場合,這樣可以希望大部分人至少認(rèn)識(shí)其中一個(gè)人,從而間接認(rèn)證 了你的公匙。 同樣,你簽了朋友的公匙后應(yīng)該寄回給他,這樣就可以讓他可以通過你被 你其他朋友認(rèn)證。有點(diǎn)意思吧,和現(xiàn)實(shí)社會(huì)中人們的交往一樣。 pgp會(huì)自動(dòng)為 你找出你拿到的公匙中有哪些是你的朋友介紹來的,那些是你朋友的朋友介紹 來的,哪些則是朋友的朋友的朋友介紹的……它會(huì)幫你把它們分為不同的信任 級(jí)別,讓你參考決定對(duì)它們的信任程度。你可以指定某人有幾層轉(zhuǎn)介公匙的能 力,這種能力是隨著認(rèn)證的傳遞而遞減的。 轉(zhuǎn)介認(rèn)證機(jī)制具有傳遞性,這是個(gè)有趣的問題。pgp的作者phil zimmermann。 有句話:“ 信賴不具有傳遞性:我有個(gè)我相信決不撒謊的朋友, 可是他是個(gè) 認(rèn)定總統(tǒng)決不撒謊的傻瓜,可很顯然我并不認(rèn)為總統(tǒng)決不撒謊?!?關(guān)于公匙的安全性問題是pgp安全的核心,我在這里就不細(xì)說了。 和傳統(tǒng) 單密匙體系一樣,私匙的保密也是決定性的。相對(duì)公匙而言,私匙不存在被篡 改的問題,但存在泄露的問題。 rsa的私匙是很長的一個(gè)數(shù)字,用戶不可能將 它記住, pgp的辦法是讓用戶為隨機(jī)生成的rsa私匙指定一個(gè)口令(pass phase)。只有通過給出口令才能將私匙釋放出來使用,用口令加密私匙的方法保密程度 和pgp本身是一樣的。所以私匙的安全性問題實(shí)際上首先是對(duì)用戶口令的保密。
    當(dāng)然私匙文件本身失密也很危險(xiǎn),因?yàn)槠谱g者所需要的只是用窮舉法試探出你 的口令了,雖說很困難但畢竟是損失了一層安全性。在這里只用簡單地記住一 點(diǎn),要像任何隱私一樣保藏你的私匙,不要讓任何人有機(jī)會(huì)接觸到它。 pgp在安全性問題上的精心考慮體現(xiàn)在pgp的各個(gè)環(huán)節(jié)。比如每次加密的實(shí) 際密匙是個(gè)隨機(jī)數(shù),大家都知道計(jì)算機(jī)是無法產(chǎn)生真正的隨機(jī)數(shù)的。 pgp程序 對(duì)隨機(jī)數(shù)的產(chǎn)生是很審慎的, 關(guān)鍵的隨機(jī)數(shù)像rsa密匙的產(chǎn)生是從用戶瞧鍵盤 的時(shí)間間隔上取得隨機(jī)數(shù)種子的。對(duì)于磁盤上的randseed.bin文件是采用和郵 件同樣強(qiáng)度的加密的。這有效地防止了他人從你的 randseed.bin文件中分析出 你的加密實(shí)際密匙的規(guī)律來。 在這里我提一下pgp的加密前預(yù)壓縮處理, pgp內(nèi)核使用pkzip算法來壓縮 加密前的明文。
    一方面對(duì)電子郵件而言,壓縮后加密再經(jīng)過7bits編碼密文有 可能比明文更短,這就節(jié)省了網(wǎng)絡(luò)傳輸?shù)臅r(shí)間。另一方面,明文經(jīng)過壓縮,實(shí) 際上相當(dāng)于經(jīng)過一次變換,信息更加雜亂無章,對(duì)明文攻擊的抵御能力更強(qiáng)。 pgp中使用的pkzip算法是經(jīng)過原作者同意的。 pkzip算法是一個(gè)公認(rèn)的壓縮率 和壓縮速度都相當(dāng)好的壓縮算法。在pgp中使用的是pkzip 2.0版本兼容的算法。 在今天的internet上隨處可見用pgp簽名的文章,pgp的版本也在飛快地更 新,據(jù)說pgp 3.0 再有幾個(gè)月就要推出了。世界上越來越多的人們?cè)谑褂胮gp, 我們中國人也應(yīng)該重視保護(hù)自己合法的隱私權(quán)。我翻譯整理這篇文章就是為了 在國內(nèi)宣傳推廣pgp的使用。 盡管它還是個(gè)新生事物,可是我們要看到在網(wǎng)際 空間(cyber space)中它肯定能迅速成長起來, 中國雖然起步晚,但比美國 也差不太多,我們應(yīng)該迎頭趕上。