首頁 考試吧論壇 Exam8視線 考試商城 網絡課程 模擬考試 考友錄 實用文檔 求職招聘 論文下載 | ||
![]() |
2011中考 | 2011高考 | 2012考研 | 考研培訓 | 在職研 | 自學考試 | 成人高考 | 法律碩士 | MBA考試 MPA考試 | 中科院 |
|
![]() |
四六級 | 職稱英語 | 商務英語 | 公共英語 | 托福 | 雅思 | 專四專八 | 口譯筆譯 | 博思 | GRE GMAT 新概念英語 | 成人英語三級 | 申碩英語 | 攻碩英語 | 職稱日語 | 日語學習 | 法語 | 德語 | 韓語 |
|
![]() |
計算機等級考試 | 軟件水平考試 | 職稱計算機 | 微軟認證 | 思科認證 | Oracle認證 | Linux認證 華為認證 | Java認證 |
|
![]() |
公務員 | 報關員 | 銀行從業資格 | 證券從業資格 | 期貨從業資格 | 司法考試 | 法律顧問 | 導游資格 報檢員 | 教師資格 | 社會工作者 | 外銷員 | 國際商務師 | 跟單員 | 單證員 | 物流師 | 價格鑒證師 人力資源 | 管理咨詢師考試 | 秘書資格 | 心理咨詢師考試 | 出版專業資格 | 廣告師職業水平 駕駛員 | 網絡編輯 |
|
![]() |
衛生資格 | 執業醫師 | 執業藥師 | 執業護士 | |
![]() |
會計從業資格考試(會計證) | 經濟師 | 會計職稱 | 注冊會計師 | 審計師 | 注冊稅務師 注冊資產評估師 | 高級會計師 | ACCA | 統計師 | 精算師 | 理財規劃師 | 國際內審師 |
|
![]() |
一級建造師 | 二級建造師 | 造價工程師 | 造價員 | 咨詢工程師 | 監理工程師 | 安全工程師 質量工程師 | 物業管理師 | 招標師 | 結構工程師 | 建筑師 | 房地產估價師 | 土地估價師 | 巖土師 設備監理師 | 房地產經紀人 | 投資項目管理師 | 土地登記代理人 | 環境影響評價師 | 環保工程師 城市規劃師 | 公路監理師 | 公路造價師 | 安全評價師 | 電氣工程師 | 注冊測繪師 | 注冊計量師 |
|
![]() |
繽紛校園 | 實用文檔 | 英語學習 | 作文大全 | 求職招聘 | 論文下載 | 訪談 | 游戲 |
PGP——Pretty Good Privacy, 是一個基于RSA公匙加密體系的郵件加密 軟件,它可以用來對你的郵件加密以防止非授權者閱讀,還能對你的郵件加上 數字簽名而使收信人可以確信郵件是你發來的。它讓你可以安全地和你從未見 過的人們通訊,事先并不需要任何保密的渠道用來傳遞密匙。它采用了審慎的 密匙管理, 一種RSA和傳統加密的雜合算法,用于數字簽名的郵件文摘算法, 加密前壓縮等,還有一個良好的人機工程設計。它的功能強大有很快的速度, 而且它的源代碼是免費的。 實際上PGP的功能還不止上面說的:PGP可以用來加密文件,還可以用PGP代 替UUencode 生成 RADIX 64 格式(就是MIME 的 BASE 64格式)的編碼文件。
PGP 的創始人是美國的 Phil Zimmermann。他的創造性在于他把RSA公匙體 系的方便和傳統加密體系的高速度結合起來,并且在數字簽名和密匙認證管理 機制上有巧妙的設計。因此PGP成為幾乎最流行的公匙加密軟件包。
PGP是一種供大眾使用的加密軟件。加密是為了安全,隱私權是一種基本人 權。在現代社會里,電子郵件和網絡上的文件傳輸已經成為生活的一部分,郵 件的安全問題日益突出,大家都知道在Internet上傳輸的數據是不加密的,如 果你自己不保護自己的信息,第三者就會輕易獲得你的隱私。還有一個問題就 是信息認證,要讓收信人確信郵件沒有被第三者篡改,就需要使用數字簽名技 術。RSA公匙體系的特點使它非常適合用來滿足上述要求:保密性(Privacy) 和認證性(Authentication)。
RSA(Rivest-Shamir-Adleman)算法是一種基于大數不可能質因數分解假 設的公匙體系。簡單地說,其原理就是找兩個很大的質數,其中一個向外界公 開(公匙),另一個不告訴任何人(私匙)。這兩個密匙是互補的,用公匙加 密的密文可以用私匙解密,反過來也一樣。假設甲要寄信給乙,他們互相知道 對方的公匙。甲就用乙的公匙加密郵件寄出,乙收到后就可以用自己的私匙解密出甲的原文。由于沒別人知道乙的私匙所以即使是甲本人也無法解密那封信, 這就解決了信件保密的問題。另一方面由于每個人都知道乙的公匙,他們都可 以給乙發信,那么乙就無法確信是不是甲的來信。認證的問題就出現了,這時候數字簽名就有用了。
在說明數字簽名前先要解釋一下什么是“郵件文摘”(message digest), 簡單地說就是對一封郵件用某種算法算出一個能體現這封郵件“精華”的數來, 一旦郵件有任何改變這個數都會變化,那么這個數加上作者的名字(實際上在 作者的密匙里)還有日期等等,就可以作為一個簽名了。 確切地說,PGP是用 一個128位的二進制數作為“郵件文摘”的,用來產生它的算法叫MD5(message digest 5),MD5的提出者是Ron Rivest,PGP中使用的代碼是由Colin Plumb 編寫的,MD5本身是公用軟件。所以PGP的法律條款中沒有提到它。
MD5是一種 單向散列算法, 它不像CRC校驗碼,很難找到一份替代的郵件而與原件具有一 樣的“精華”。 回到數字簽名上來,甲用自己的私匙將上述的128位的“精華”加密, 附 加在郵件上,再用乙的公匙將整個郵件加密。這樣這份密文被乙收到以后,乙 用自己的私匙將郵件解密,得到甲的原文和簽名, 乙的PGP也從原文計算出一 個128位的“精華”來再用甲的公匙解密簽名得到的數比較, 如果符合就說明 這份郵件確實是甲寄來的。這樣兩個要求都得到了滿足。
[NextPage]
PGP還可以只簽名而不加密,這適用于公開發表聲明時, 聲明人為了證實 自己的身份(在網絡上只能如此了),可以用自己的私匙簽名。這樣就可以讓 收件人能確認發信人的身份,也可以防止發信人抵賴自己的聲明。這一點在商 業領域有很大的應用前途,它可以防止發信人抵賴和信件被途中篡改。 那么為什么說PGP用的是RSA和傳統加密的雜合算法呢? 因為RSA算法計算 量極大,在速度上不適合加密大量數據,所以PGP實際上用來加密的不是RSA本 身,而是采用了一種叫IDEA的傳統加密算法。我先解釋一下什么叫傳統加密, 簡單地說就是用一個密匙加密明文,然后用同樣的密匙解密。這種方法的代表 是DES(US Federal Data Encryption Standard),也就是乘法加密,它的主 要缺點就是密匙的傳遞渠道解決不了安全性問題,不適合網絡環境郵件加密需 要。IDEA是一個有專利的算法, 專利持有者是ETH和一個瑞士公司Ascom-Tech AG。非商業用途的IDEA實現不用向他們交納費用。IDEA的加(解)密速度比RSA 快得多, 所以實際上PGP是用一個隨機生成密匙(每次加密不同)用IDEA算法 對明文加密,然后用RSA算法對該密匙加密。這樣收件人同樣是用RSA解密出這 個隨機密匙,再用IDEA解密郵件本身。 這樣的鏈式加密就做到了既有RSA體系 的保密性,又有IDEA算法的快捷性。 RSA體系70年代就已提出,但由于速度問 題一直沒有推廣應用,PGP的正好解決了這個問題,PGP的創意有一半就在這一點上了。那么PGP創意的另一半在哪兒呢?下面我再談PGP的密匙管理。
一個成熟的加密體系必然要有一個成熟的密匙管理機制配套。公匙體制的 提出就是為了解決傳統加密體系的密匙分配難保密的缺點。比如網絡hacker們 常用的手段之一就是“監聽”,如果密匙是通過網絡傳送就太危險了。舉個例 子:Novell Netware 的老版本中,用戶的密碼是以明文在線路中傳輸的, 這 樣監聽者輕易就獲得了他人的密碼。當然 Netware 4.1中數據包頭的用戶密碼 現在是加密的了。對PGP來說公匙本來就要公開,就沒有防監聽的問題。 但公 匙的發布中仍然存在安全性問題,例如公匙的被篡改(Public Key Tampering), 這可能是公匙密碼體系中最大的漏洞,因為大多數新手不能很快發現這一點。 你必須確信你拿到的公匙屬于它看上去屬于的那個人。為了把這個問題說清楚, 我舉個例子,然后再說如何正確地用PGP堵住這個漏洞。 以你和Alice的通信為例,假設你想給Alice發封信,那你必須有Alice的公 匙, 你從BBS上下載了Alice的公匙,并用它加密了信件用BBS的Email功能發給 了Alice。不幸地,你和Alice都不知道,另一個用戶叫Charlie的用戶潛入BBS, 把他自己用Alice的名字生成的密匙對中的公匙替換了Alice的公匙。 那你用來 發信的公匙就不是Alice的而是Charlie的, 一切看來都很正常,因為你拿到的 公匙的用戶名是“Alice”。于是Charlie就可以用他手中的私匙來解密你給Alice 的信, 甚至他還可以用Alice真正的公匙來轉發你給Alice的信,這樣誰都不會 起疑心,他如果想改動你給Alice的信也沒問題。更有甚者,他還可以偽造Alice 的簽名給你或其他人發信,因為你們手中的公匙是偽造的,你們會以為真是Alice 的來信。 防止這種情況出現的最好辦法是避免讓任何其他人有機會篡改公匙,比如 直接從Alice手中得到她的公匙,然而當她在千里之外或無法見到時, 這是很 困難的。PGP發展了一種公匙介紹機制來解決這個問題。 舉例來說:如果你和 Alice有一個共同的朋友David,而David知道他手中Alice的公匙是正確的(關 于如何認證公匙,PGP還有一種方法,后面會談到,這里假設David已經和Alice 認證過她的公匙)。這樣David可以用他自己的私匙在Alice的公匙上簽名(就 是用上面講的簽名方法),表示他擔保這個公匙屬于Alice。當然你需要用David 的公匙來校驗他給你的Alice的公匙,同樣David也可以向Alice認證你的公匙, 這樣David就成為你和Alice之間的“介紹人”。這樣Alice或David就可以放心 地把David簽過字的Alice的公匙上載到BBS上讓你去拿, 沒人可能去篡改它而 不被你發現,即使是BBS的管理員。這就是從公共渠道傳遞公匙的安全手段。
有人會問:那你怎么安全地得到David的公匙呢, 這不是個先有雞還是先 有蛋的問題嗎?確實有可能你拿到的David的公匙也是假的, 但這就要求這個 搗蛋者參與這整個過程,他必須對你們三人都很熟悉,還要策劃很久,這一般 不可能。 當然,PGP對這種可能也有預防的建議,那就是由一個大家普遍信任 的人或機構擔當這個角色。他被稱為“密匙侍者”或“認證權威”,每個由他 簽字的公匙都被認為是真的,這樣大家只要有一份他的公匙就行了,認證這個 人的公匙是方便的,因為他廣泛提供這個服務,假冒他的公匙是很極困難的, 因為他的公匙流傳廣泛。這樣的“權威”適合由非個人控制組織或政府機構充 當,現在已經有等級認證制度的機構存在。 對于那些非常分散的人們,PGP更贊成使用私人方式的密匙轉介方式, 因為這樣有機的非官方更能反映出人們自然的社會交往,而且人們也能自由地選 擇信任的人來介紹?傊筒徽J識的人們見面一樣。每個公匙有至少一個“用 戶名”(User ID),請盡量用自己的全名,最好再加上本人的Email地址,以免 混淆。 注意!你所必須遵循的一條規則是:在你使用任何一個公匙之前,一定要 首先認證它。!無論你受到什么誘惑,當然會有這種誘惑,你都不要,絕對 不要,直接信任一個從公共渠道(由其是那些看起來保密的)得來的公匙,記 得要用熟人介紹的公匙,或者自己與對方親自認證。同樣你也不要隨便為別人 簽字認證他們的公匙,就和你在現實生活中一樣,家里的房門鑰匙你是只會交 給信任的人的。 下面,我講講如何通過電話認證密匙。
當然私匙文件本身失密也很危險,因為破譯者所需要的只是用窮舉法試探出你 的口令了,雖說很困難但畢竟是損失了一層安全性。在這里只用簡單地記住一 點,要像任何隱私一樣保藏你的私匙,不要讓任何人有機會接觸到它。 PGP在安全性問題上的精心考慮體現在PGP的各個環節。比如每次加密的實 際密匙是個隨機數,大家都知道計算機是無法產生真正的隨機數的。 PGP程序 對隨機數的產生是很審慎的, 關鍵的隨機數像RSA密匙的產生是從用戶瞧鍵盤 的時間間隔上取得隨機數種子的。對于磁盤上的randseed.bin文件是采用和郵 件同樣強度的加密的。這有效地防止了他人從你的randseed.bin文件中分析出 你的加密實際密匙的規律來。 在這里我提一下PGP的加密前預壓縮處理, PGP內核使用PKZIP算法來壓縮 加密前的明文。
一方面對電子郵件而言,壓縮后加密再經過7bits編碼密文有 可能比明文更短,這就節省了網絡傳輸的時間。另一方面,明文經過壓縮,實 際上相當于經過一次變換,信息更加雜亂無章,對明文攻擊的抵御能力更強。 PGP中使用的PKZIP算法是經過原作者同意的。 PKZIP算法是一個公認的壓縮率 和壓縮速度都相當好的壓縮算法。在PGP中使用的是PKZIP 2.0版本兼容的算法。 在今天的Internet上隨處可見用PGP簽名的文章,PGP的版本也在飛快地更 新,據說PGP 3.0 再有幾個月就要推出了。世界上越來越多的人們在使用PGP, 我們中國人也應該重視保護自己合法的隱私權。我翻譯整理這篇文章就是為了 在國內宣傳推廣PGP的使用。 盡管它還是個新生事物,可是我們要看到在網際 空間(Cyber Space)中它肯定能迅速成長起來, 中國雖然起步晚,但比美國 也差不太多,我們應該迎頭趕上。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |