首頁 考試吧論壇 Exam8視線 考試商城 網(wǎng)絡(luò)課程 模擬考試 考友錄 實(shí)用文檔 求職招聘 論文下載
2011中考 | 2011高考 | 2012考研 | 考研培訓(xùn) | 在職研 | 自學(xué)考試 | 成人高考 | 法律碩士 | MBA考試
MPA考試 | 中科院
四六級(jí) | 職稱英語 | 商務(wù)英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT
新概念英語 | 成人英語三級(jí) | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學(xué)習(xí) | 法語 | 德語 | 韓語
計(jì)算機(jī)等級(jí)考試 | 軟件水平考試 | 職稱計(jì)算機(jī) | 微軟認(rèn)證 | 思科認(rèn)證 | Oracle認(rèn)證 | Linux認(rèn)證
華為認(rèn)證 | Java認(rèn)證
公務(wù)員 | 報(bào)關(guān)員 | 銀行從業(yè)資格 | 證券從業(yè)資格 | 期貨從業(yè)資格 | 司法考試 | 法律顧問 | 導(dǎo)游資格
報(bào)檢員 | 教師資格 | 社會(huì)工作者 | 外銷員 | 國際商務(wù)師 | 跟單員 | 單證員 | 物流師 | 價(jià)格鑒證師
人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業(yè)資格 | 廣告師職業(yè)水平
駕駛員 | 網(wǎng)絡(luò)編輯
衛(wèi)生資格 | 執(zhí)業(yè)醫(yī)師 | 執(zhí)業(yè)藥師 | 執(zhí)業(yè)護(hù)士
會(huì)計(jì)從業(yè)資格考試會(huì)計(jì)證) | 經(jīng)濟(jì)師 | 會(huì)計(jì)職稱 | 注冊(cè)會(huì)計(jì)師 | 審計(jì)師 | 注冊(cè)稅務(wù)師
注冊(cè)資產(chǎn)評(píng)估師 | 高級(jí)會(huì)計(jì)師 | ACCA | 統(tǒng)計(jì)師 | 精算師 | 理財(cái)規(guī)劃師 | 國際內(nèi)審師
一級(jí)建造師 | 二級(jí)建造師 | 造價(jià)工程師 | 造價(jià)員 | 咨詢工程師 | 監(jiān)理工程師 | 安全工程師
質(zhì)量工程師 | 物業(yè)管理師 | 招標(biāo)師 | 結(jié)構(gòu)工程師 | 建筑師 | 房地產(chǎn)估價(jià)師 | 土地估價(jià)師 | 巖土師
設(shè)備監(jiān)理師 | 房地產(chǎn)經(jīng)紀(jì)人 | 投資項(xiàng)目管理師 | 土地登記代理人 | 環(huán)境影響評(píng)價(jià)師 | 環(huán)保工程師
城市規(guī)劃師 | 公路監(jiān)理師 | 公路造價(jià)師 | 安全評(píng)價(jià)師 | 電氣工程師 | 注冊(cè)測(cè)繪師 | 注冊(cè)計(jì)量師
繽紛校園 | 實(shí)用文檔 | 英語學(xué)習(xí) | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲

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

  PGP——Pretty Good Privacy, 是一個(gè)基于RSA公匙加密體系的郵件加密 軟件,它可以用來對(duì)你的郵件加密以防止非授權(quán)者閱讀,還能對(duì)你的郵件加上 數(shù)字簽名而使收信人可以確信郵件是你發(fā)來的。它讓你可以安全地和你從未見 過的人們通訊,事先并不需要任何保密的渠道用來傳遞密匙。它采用了審慎的 密匙管理, 一種RSA和傳統(tǒng)加密的雜合算法,用于數(shù)字簽名的郵件文摘算法, 加密前壓縮等,還有一個(gè)良好的人機(jī)工程設(shè)計(jì)。它的功能強(qiáng)大有很快的速度, 而且它的源代碼是免費(fèi)的。 實(shí)際上PGP的功能還不止上面說的:PGP可以用來加密文件,還可以用PGP UUencode 生成 RADIX 64 格式(就是MIME BASE 64格式)的編碼文件。

  PGP 的創(chuàng)始人是美國的 Phil Zimmermann。他的創(chuàng)造性在于他把RSA公匙體 系的方便和傳統(tǒng)加密體系的高速度結(jié)合起來,并且在數(shù)字簽名和密匙認(rèn)證管理 機(jī)制上有巧妙的設(shè)計(jì)。因此PGP成為幾乎最流行的公匙加密軟件包。

  PGP是一種供大眾使用的加密軟件。加密是為了安全,隱私權(quán)是一種基本人 權(quán)。在現(xiàn)代社會(huì)里,電子郵件和網(wǎng)絡(luò)上的文件傳輸已經(jīng)成為生活的一部分,郵 件的安全問題日益突出,大家都知道在Internet上傳輸?shù)臄?shù)據(jù)是不加密的,如 果你自己不保護(hù)自己的信息,第三者就會(huì)輕易獲得你的隱私。還有一個(gè)問題就 是信息認(rèn)證,要讓收信人確信郵件沒有被第三者篡改,就需要使用數(shù)字簽名技 術(shù)。RSA公匙體系的特點(diǎn)使它非常適合用來滿足上述要求:保密性(Privacy 和認(rèn)證性(Authentication)。

  RSARivest-Shamir-Adleman)算法是一種基于大數(shù)不可能質(zhì)因數(shù)分解假 設(shè)的公匙體系。簡(jiǎn)單地說,其原理就是找兩個(gè)很大的質(zhì)數(shù),其中一個(gè)向外界公 開(公匙),另一個(gè)不告訴任何人(私匙)。這兩個(gè)密匙是互補(bǔ)的,用公匙加 密的密文可以用私匙解密,反過來也一樣。假設(shè)甲要寄信給乙,他們互相知道 對(duì)方的公匙。甲就用乙的公匙加密郵件寄出,乙收到后就可以用自己的私匙解密出甲的原文。由于沒別人知道乙的私匙所以即使是甲本人也無法解密那封信, 這就解決了信件保密的問題。另一方面由于每個(gè)人都知道乙的公匙,他們都可 以給乙發(fā)信,那么乙就無法確信是不是甲的來信。認(rèn)證的問題就出現(xiàn)了,這時(shí)候數(shù)字簽名就有用了。

  在說明數(shù)字簽名前先要解釋一下什么是郵件文摘message digest), 簡(jiǎn)單地說就是對(duì)一封郵件用某種算法算出一個(gè)能體現(xiàn)這封郵件精華的數(shù)來, 一旦郵件有任何改變這個(gè)數(shù)都會(huì)變化,那么這個(gè)數(shù)加上作者的名字(實(shí)際上在 作者的密匙里)還有日期等等,就可以作為一個(gè)簽名了。 確切地說,PGP是用 一個(gè)128位的二進(jìn)制數(shù)作為郵件文摘的,用來產(chǎn)生它的算法叫MD5message digest 5),MD5的提出者是Ron RivestPGP中使用的代碼是由Colin Plumb 編寫的,MD5本身是公用軟件。所以PGP的法律條款中沒有提到它。

  MD5是一種 單向散列算法, 它不像CRC校驗(yàn)碼,很難找到一份替代的郵件而與原件具有一 樣的精華。 回到數(shù)字簽名上來,甲用自己的私匙將上述的128位的精華加密, 加在郵件上,再用乙的公匙將整個(gè)郵件加密。這樣這份密文被乙收到以后,乙 用自己的私匙將郵件解密,得到甲的原文和簽名, 乙的PGP也從原文計(jì)算出一 個(gè)128位的精華來再用甲的公匙解密簽名得到的數(shù)比較, 如果符合就說明 這份郵件確實(shí)是甲寄來的。這樣兩個(gè)要求都得到了滿足。

[NextPage]
  PGP還可以只簽名而不加密,這適用于公開發(fā)表聲明時(shí), 聲明人為了證實(shí) 自己的身份(在網(wǎng)絡(luò)上只能如此了),可以用自己的私匙簽名。這樣就可以讓 收件人能確認(rèn)發(fā)信人的身份,也可以防止發(fā)信人抵賴自己的聲明。這一點(diǎn)在商 業(yè)領(lǐng)域有很大的應(yīng)用前途,它可以防止發(fā)信人抵賴和信件被途中篡改。 那么為什么說PGP用的是RSA和傳統(tǒng)加密的雜合算法呢? 因?yàn)?/SPAN>RSA算法計(jì)算 量極大,在速度上不適合加密大量數(shù)據(jù),所以PGP實(shí)際上用來加密的不是RSA 身,而是采用了一種叫IDEA的傳統(tǒng)加密算法。我先解釋一下什么叫傳統(tǒng)加密, 簡(jiǎn)單地說就是用一個(gè)密匙加密明文,然后用同樣的密匙解密。這種方法的代表 DESUS Federal Data Encryption Standard),也就是乘法加密,它的主 要缺點(diǎn)就是密匙的傳遞渠道解決不了安全性問題,不適合網(wǎng)絡(luò)環(huán)境郵件加密需 要。IDEA是一個(gè)有專利的算法, 專利持有者是ETH和一個(gè)瑞士公司Ascom-Tech AG。非商業(yè)用途的IDEA實(shí)現(xiàn)不用向他們交納費(fèi)用。IDEA的加(解)密速度比RSA 快得多, 所以實(shí)際上PGP是用一個(gè)隨機(jī)生成密匙(每次加密不同)用IDEA算法 對(duì)明文加密,然后用RSA算法對(duì)該密匙加密。這樣收件人同樣是用RSA解密出這 個(gè)隨機(jī)密匙,再用IDEA解密郵件本身。 這樣的鏈?zhǔn)郊用芫妥龅搅思扔?/SPAN>RSA體系 的保密性,又有IDEA算法的快捷性。 RSA體系70年代就已提出,但由于速度問 題一直沒有推廣應(yīng)用,PGP的正好解決了這個(gè)問題,PGP的創(chuàng)意有一半就在這一點(diǎn)上了。那么PGP創(chuàng)意的另一半在哪兒呢?下面我再談PGP的密匙管理。

  一個(gè)成熟的加密體系必然要有一個(gè)成熟的密匙管理機(jī)制配套。公匙體制的 提出就是為了解決傳統(tǒng)加密體系的密匙分配難保密的缺點(diǎn)。比如網(wǎng)絡(luò)hacker 常用的手段之一就是監(jiān)聽,如果密匙是通過網(wǎng)絡(luò)傳送就太危險(xiǎn)了。舉個(gè)例 子:Novell Netware 的老版本中,用戶的密碼是以明文在線路中傳輸?shù)模?/SPAN> 樣監(jiān)聽者輕易就獲得了他人的密碼。當(dāng)然 Netware 4.1中數(shù)據(jù)包頭的用戶密碼 現(xiàn)在是加密的了。對(duì)PGP來說公匙本來就要公開,就沒有防監(jiān)聽的問題。 但公 匙的發(fā)布中仍然存在安全性問題,例如公匙的被篡改(Public Key Tampering), 這可能是公匙密碼體系中最大的漏洞,因?yàn)榇蠖鄶?shù)新手不能很快發(fā)現(xiàn)這一點(diǎn)。 你必須確信你拿到的公匙屬于它看上去屬于的那個(gè)人。為了把這個(gè)問題說清楚, 我舉個(gè)例子,然后再說如何正確地用PGP堵住這個(gè)漏洞。 以你和Alice的通信為例,假設(shè)你想給Alice發(fā)封信,那你必須有Alice的公 匙, 你從BBS上下載了Alice的公匙,并用它加密了信件用BBSEmail功能發(fā)給 Alice。不幸地,你和Alice都不知道,另一個(gè)用戶叫Charlie的用戶潛入BBS 把他自己用Alice的名字生成的密匙對(duì)中的公匙替換了Alice的公匙。 那你用來 發(fā)信的公匙就不是Alice的而是Charlie的, 一切看來都很正常,因?yàn)槟隳玫降?/SPAN> 公匙的用戶名是“Alice”。于是Charlie就可以用他手中的私匙來解密你給Alice 的信, 甚至他還可以用Alice真正的公匙來轉(zhuǎn)發(fā)你給Alice的信,這樣誰都不會(huì) 起疑心,他如果想改動(dòng)你給Alice的信也沒問題。更有甚者,他還可以偽造Alice 的簽名給你或其他人發(fā)信,因?yàn)槟銈兪种械墓资莻卧斓,你們?huì)以為真是Alice 的來信。 防止這種情況出現(xiàn)的最好辦法是避免讓任何其他人有機(jī)會(huì)篡改公匙,比如 直接從Alice手中得到她的公匙,然而當(dāng)她在千里之外或無法見到時(shí), 這是很 困難的。PGP發(fā)展了一種公匙介紹機(jī)制來解決這個(gè)問題。 舉例來說:如果你和 Alice有一個(gè)共同的朋友David,而David知道他手中Alice的公匙是正確的(關(guān) 于如何認(rèn)證公匙,PGP還有一種方法,后面會(huì)談到,這里假設(shè)David已經(jīng)和Alice 認(rèn)證過她的公匙)。這樣David可以用他自己的私匙在Alice的公匙上簽名(就 是用上面講的簽名方法),表示他擔(dān)保這個(gè)公匙屬于Alice。當(dāng)然你需要用David 的公匙來校驗(yàn)他給你的Alice的公匙,同樣David也可以向Alice認(rèn)證你的公匙, 這樣David就成為你和Alice之間的介紹人。這樣AliceDavid就可以放心 地把David簽過字的Alice的公匙上載到BBS上讓你去拿, 沒人可能去篡改它而 不被你發(fā)現(xiàn),即使是BBS的管理員。這就是從公共渠道傳遞公匙的安全手段。

  有人會(huì)問:那你怎么安全地得到David的公匙呢, 這不是個(gè)先有雞還是先 有蛋的問題嗎?確實(shí)有可能你拿到的David的公匙也是假的, 但這就要求這個(gè) 搗蛋者參與這整個(gè)過程,他必須對(duì)你們?nèi)硕己苁煜,還要策劃很久,這一般 不可能。 當(dāng)然,PGP對(duì)這種可能也有預(yù)防的建議,那就是由一個(gè)大家普遍信任 的人或機(jī)構(gòu)擔(dān)當(dāng)這個(gè)角色。他被稱為密匙侍者認(rèn)證權(quán)威,每個(gè)由他 簽字的公匙都被認(rèn)為是真的,這樣大家只要有一份他的公匙就行了,認(rèn)證這個(gè) 人的公匙是方便的,因?yàn)樗麖V泛提供這個(gè)服務(wù),假冒他的公匙是很極困難的, 因?yàn)樗墓琢鱾鲝V泛。這樣的權(quán)威適合由非個(gè)人控制組織或政府機(jī)構(gòu)充 當(dāng),現(xiàn)在已經(jīng)有等級(jí)認(rèn)證制度的機(jī)構(gòu)存在。 對(duì)于那些非常分散的人們,PGP更贊成使用私人方式的密匙轉(zhuǎn)介方式, 為這樣有機(jī)的非官方更能反映出人們自然的社會(huì)交往,而且人們也能自由地選 擇信任的人來介紹?傊筒徽J(rèn)識(shí)的人們見面一樣。每個(gè)公匙有至少一個(gè) 戶名”(User ID),請(qǐng)盡量用自己的全名,最好再加上本人的Email地址,以免 混淆。 注意!你所必須遵循的一條規(guī)則是:在你使用任何一個(gè)公匙之前,一定要 首先認(rèn)證它。!無論你受到什么誘惑,當(dāng)然會(huì)有這種誘惑,你都不要,絕對(duì) 不要,直接信任一個(gè)從公共渠道(由其是那些看起來保密的)得來的公匙,記 得要用熟人介紹的公匙,或者自己與對(duì)方親自認(rèn)證。同樣你也不要隨便為別人 簽字認(rèn)證他們的公匙,就和你在現(xiàn)實(shí)生活中一樣,家里的房門鑰匙你是只會(huì)交 給信任的人的。 下面,我講講如何通過電話認(rèn)證密匙。


  每個(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ā)送到公共場(chǎng)合,這樣可以希望大部分人至少認(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者所需要的只是用窮舉法試探出你 的口令了,雖說很困難但畢竟是損失了一層安全性。在這里只用簡(jiǎn)單地記住一 點(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è)谑褂?/SPAN>PGP, 我們中國人也應(yīng)該重視保護(hù)自己合法的隱私權(quán)。我翻譯整理這篇文章就是為了 在國內(nèi)宣傳推廣PGP的使用。 盡管它還是個(gè)新生事物,可是我們要看到在網(wǎng)際 空間(Cyber Space)中它肯定能迅速成長起來, 中國雖然起步晚,但比美國 也差不太多,我們應(yīng)該迎頭趕上。

上一頁  1 2 3 4  下一頁
文章搜索
軟件水平考試欄目導(dǎo)航
版權(quán)聲明:如果軟件水平考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請(qǐng)與我們聯(lián)系800@exam8.com,我們將會(huì)及時(shí)處理。如轉(zhuǎn)載本軟件水平考試網(wǎng)內(nèi)容,請(qǐng)注明出處。