安裝使用PGP 本文參考文獻: ¾ 中央研究院 計算中心網路組 周獻彬 http://www.sinica.edu.tw/cc/netsrv/security/pgpguide/pgpguide.html ¾ 本節部份內容摘錄自工研院電通所樊國楨博士所撰「電子文件交換與公開金鑰基磐建設 (一)」 作者自述: ¾ 本篇文章主要參考中央研究院 計算中心網路組 周獻彬先生之大著,在依目前最新版之 PGP 6.5.8 來做為例子描述,冀望此安全之工具能更被大眾所使用與接受。 ¾ 若此篇文章有侵犯到您的著作權,請通知我。本文章僅做為網路教學之用,請勿移作商 業用途。 ¾ 清華大學 資工系 陳哲儀 http://www.chu.edu.tw/~jerry/
[email protected] 對稱式密碼系統◆ 對稱金鑰密碼系統,歷史悠久,加/解密速度快是其優點,但因其加密金鑰 與解 密金鑰為相同 一把金鑰,資訊的傳送方如何在加密之後,將該把加密金鑰以安全的方式 傳送給接收方,如 何使雙方能共享該把秘密金鑰,以利其解密,是此密碼 系統的一大問題, 因此,對稱金鑰密 碼系統較不適合多人使用的應用。著名的對稱金鑰密碼系統演算法有 DES、RC2、RC4、 IDEA、GOST、SAFER、FEAL、Skipjack、Blowfish等 ﹝Schneier,B.1996﹞,對稱金鑰密碼 系統所使用金鑰安全長度的選擇可參考Blaze等人的研 究﹝Blaze,M.et al.1996﹞。
圖 2.1 對稱金鑰密碼系統之問題
◆非對稱式密碼系統◆ 非對稱式密碼系統一般也稱之為「公開金鑰密碼系統」,則改善了對 稱金鑰密碼系統的缺 點,其加密金鑰與解密金鑰不是同一把。每一對金鑰(Key Pair)包含兩把 相互對應的金鑰,一 把為可以公開的加密金鑰(以下稱「公鑰」,Public Key)與一把必須保持 機密的解密金鑰(以下 稱「私鑰」,Private Key )。運算速度較慢是公開金鑰密碼系統的缺點, 以RSA為例,與對稱 金鑰密碼系統相較於加密部份大概慢了一千倍到五千倍 ﹝Pfleeger,C.P.1997﹞。
在使用時,任何人均可將其加密金鑰公開,讓可能與其通信的人知道,當任何人欲傳送訊息 予該接收方時,可將訊息使用該接收方所公佈的「公鑰」加密之後,再加以傳送。該加密後 的訊息,只有既定接收方所擁有與此把公鑰相對應之「私鑰」可以將該訊息解密,所以公開 金鑰密碼系統可以達到讓素昧平生的雙方,不需要事先交換金鑰即可從事秘密通訊的特性。
相反的,當訊息以傳送方的「私鑰」加密之後,任何擁有與該「私鑰」相對應之「公鑰」者 均可以將之解密,但因「私鑰」只有傳送方擁有,且保持機密不予公開,因此,以私鑰所加 密之訊息可視為傳送對該訊息之簽章。但公開金鑰密碼系統因運算速度較慢,實務上,簽章 時均以對該文件之「文件彙記」(Message Digest)加以簽章的方式,代替對整份文件簽章。 「文件彙記」必須可以將任意長度的訊息加以濃縮轉換為一固定長度的訊息摘要,且必須具 備足以分辨文件的特性,一般均是使用密碼學上具有「不可逆」與「抗碰撞(Collisionresistant)」特性的安全雜湊函數,來計算文件彙記。目前常見的文件彙記函數有 RSA公司MD 家族之MD2、MD4、MD5,美國國家標準局(NIST)的 SHA、SHA-1、與歐盟 RIPE專案之 RIPEMD 、RIPEMD-128、RIPEMD-160等。其中 RSA公司已公開宣稱\fs24 MD2、MD4與 MD5,均不完全適合使用於未來的電子文件簽章應用,其所推薦適合未來簽章使用的文件彙 記函數為SHA-1與RIPEMD-160﹝RSA Laboratories 1996b,1996c﹞。著名的公開金鑰密碼系 統與數位簽章演算法有Deffi-Hellman、RSA、DSA、ElGamal、Knapsack、Rabin等﹝RSA Laboratories 1996a﹞。 基於公開金鑰密碼系統不需要事先交換金鑰,即可從事秘密通訊的優點與實現數位簽章的特 性,目前在開放性的網路上,最常使用的方法就是利用所謂的公開金鑰密碼系統,來對所要 傳遞資料進行加密或簽章。 在實際應用上,基於效率的考量,一般均以公開金鑰密碼系統搭配對稱金鑰密碼系統使用,
即使用對稱金鑰密碼系統加密欲傳送的資訊,再將該把「對稱加密金鑰」以接收方公開金鑰 密碼系統之「公鑰」加密,組成所謂的「電子信封」,並將此金鑰交予公正第三者保管,然 後將此電子信封傳送給接收方。接收方必須先以自己的「私鑰」將電子信封拆封,以獲得 「對稱金鑰解密金鑰」,再以該對稱金鑰解密金鑰解出真正的訊息,兼顧方便與效率。由此 可見,公開金鑰密碼系統,在通訊中扮演重要的角色。圖 2.2是公開金鑰密碼系統與對稱金鑰 密碼系統整合應用示意。
圖 2.2 公開金鑰密碼系統與對稱金鑰密碼系統整合應用
關於PGP (Pretty Good Privacy) PGP 從 1991年由原作者 Philip Zimmermann 發表後,立刻非常引人注目,在近代密碼學相關 產品中,PGP 可說是最被廣泛採用的套裝軟體。因為一方面他採用被全世界密碼學專家公認 最安全而且最可信賴的幾種基本密碼演算法,例如 IDEA 對稱式文件加密演算法、RSA 或 Diffie-Hellman 的非對稱式加密演算法處理公開金鑰及私鑰之加解密、以及利用 SHA1 單向雜 湊函數應用在文件標註、電子簽章認證上。這些密碼演算法都是早已公開發表的,並且曾經 被學者反覆推算驗證過的加解密演算法。PGP 的作者將這幾種密碼學技術整合並程式化後, 成為一套極為好用的套裝軟體; 另一方面 PGP 作者採用一切公開(包含其程式原始碼在內),而 且是全球性的免費軟體(註)方式發行,不致讓人懷疑會有所謂的程式暗門(Trapdoor)存在,因 此更深獲全球廣大使用者的信任。
本文將針對下列部份作詳細介紹: 1. 2.
PGP 之下載與安裝過程 利用PGP來編碼
安裝過程 欲抓取最新版本的PGP請連至 http://www.pgpi.org/ 請依造你的作業系統版本抓取最新版本。
範例: 安裝 PGP 6.5.8 for Windows 2000 Server Download PGP 6.5.8
/* 若是要直接安裝請下載此檔案 */
Download PGP 6.5.8 source code for Windows
/*若是要研究PGP程式請下載此檔
案 */ PGP 6.5 documentation
/* 說明文件 */
下載 PGP 6.5.8 (PGPFW658Win32.zip) 後執行解壓縮,解開後當中會有四個檔案 ¾ ¾ ¾ ¾
WhatsNew.htm WhatsNew.txt Setup.exe Setup.exe.sig
執行安裝檔 Setup.exe 你將會看到下列圖示的安裝步驟,你可以一步一步的跟著下列步驟安 裝:
問你有關 License 問題,若接受則可按 「Yes」進行下一步。
現在執行版本 PGP 6.5.8 的簡單說明及所提供的新功能
要你填入你的名字及所屬單位名稱
選擇所要安裝之目錄,我將其修改至 D:\Program Files\PGPNT\,你可以依循原預設目錄,也 可像我一樣修改至自己所接受的目錄
選擇所安裝之套件
針對上面你所 寫的資料作最後的確認,若沒問題按 填
「Next」進行下一步
安裝時畫面(還蠻快的)
安裝結束,問你要不要執行 PGPkeys 來確認你的 PGP public and private key
執 PGPkeys (注意上圖中間部分需打勾才會有接下來的畫面)
注意! 此時所打的名字與e-mail是用來確認你的個人資料(辨別),可與前面的名字不同, 且需牢記,不要忘記你是用 麼名字及那個 什 e-mail來作註冊。
選擇編碼方式:PGP 5.0 以後建議編碼方式改用 Diffie-Hellman/DSS 演算法,安全性比較高。 而且在 PGP 6.0 以後將 支援 RSA 編碼了。請大家按 PGP 的建議吧!
選擇你所要的鑰匙長度:理論上,鑰匙編碼長度愈長,安全性愈高,但解密時間及檔案大小 也會相對增加。請自行衡量需要的加密長度。
決定現今所產生的鑰匙具有多久的時效性。因為我們可以隨時上線去更新我們的鑰匙,所以 不需自限其期限。
輸入最最最私密的「Private key」,底下兩空白欄在輸入時不會出現任何字(Hide Typing enable),但可由 Passphrase Quality 中紅色來顯示。在Passphrase 及 Confirmation 中各輸入一 次你的「Private key」 。
Public and Private Key 產生中…..
Public and Private Key 產生完成。
將你的個人資料及Public Key 送至 root Server 供網路上的使用者可以查詢你的公鑰。
連結上傳中。
終於完成了。
PGPkeys 的畫面,你可以發現你的名字將列於其中
轉出你的公鑰(Public key)供大家抓取使用
請注意下圖的下方有一選項可供勾選,若有勾選「Include Private Key」則所輸出之ASCii 檔 案中會同時包含公鑰及私鑰。
轉出的ASCii 運用 UltraEdit 來看,你也可以用Windows 內附的筆記本來開啟觀看 下圖中包 含私鑰及公鑰,上半部分為私鑰,下半部分為公鑰。因為這是我自己本身的私鑰所 以上半 部分我刪除了15行的內容,以保護我的私鑰。
例子: 如何運用 PGP 來編碼文章內容 1. 執行程式 PGPtools 會出現畫面
2.
選擇你的要編碼的內容,並儲存至剪貼簿中
3.
複製完後點選下列第二個按鍵
出現下列視窗
選擇 Clipboard (因為我們剛才已經將文章內容剪貼至Clipboard) 並選自己的公鑰來進行編碼
讓我們將剛才的處理結果給貼上的編輯器中觀看編碼後的結果 上半部為複製到 clipboard 的內容,下半部為用PGP編碼後的結果
接下來如何將別人所傳給你的編碼過的內容轉回成原本的文章 相同的將編碼過的內容複製到剪貼簿(Clipboard)中
執行上圖中由左邊算來第五個按鍵作解碼 (注意)複製編碼過的內容需從-----BEGIN PGP MESSAGE----- 一直到 -----END PGP MESSAGE----- 全部都要。 否則會出現
及
在正常的情形下會出現下面視窗,此時需輸入你的私鑰(Private key)於下面欄位
接著出現解碼後的文章內容
此時你可以選擇 「Copy to Clipboard」將解碼後的內容再存回剪貼簿中,以便轉到其他的檔 案或程式中。
結語: 相信經過上述步驟的練習後,你一定會用PGP來作編碼及解碼,加強個人通訊間的私 密性。 PGP 5.0i 之後的版本,操作方式已改成很親切的使用者圖形介面,使用者不必記憶 PGP 指 令,也能輕而易舉的運用 PGP 諸多技巧。而且增加了很多的功能,尤其是加強對鑰 匙管理、 與 Key Server 間自動連結、並提供部份電子郵件軟體的 Plug-In 程式,造福了全球 廣大的 PGP 愛用者。在此無法全部詳細介紹,煩請有興趣的讀者參考以下網站的內容,相信 會有更 多的收穫。 1.計算中心 PKI 網頁: http://www.sinica.edu.tw/cc/netsrv/pks.html PGP Key Server 網頁: http://pks.sinica.edu.tw 2.PGPi.com 網頁: http://www.pgpi.com 3.PGP-Users Mailing List 網頁: http://pgp.rivertown.net/index.html 4.帆毅網路工作室網頁: http://mouse.oit.edu.tw/pgp/ 5.台大資工Osil_Libra網頁: http://osil.csie.ntu.edu.tw/~jt/pgp/ 6.陳泰維整理之 PGP 中文 FAQ 網頁: http://www.isl.net.tw/~terry/pgp-faq/ 7.PGPi.com FAQ 網頁:http://www.pgpi.com/faq/ 8.RSA Labs FAQ - Question Index: http://www.rsa.com/rsalabs/faq/html/questions.html
最後我的公鑰為下列,若是要測試PGP功能你可以用PGP編碼後寄信給我 -----BEGIN PGP PUBLIC KEY BLOCK----Version: PGPfreeware 6.5.8 for non-commercial use
mQGiBD2rW3wRBADt9mO55Yxf762GLKTUqXVtv2YC734ZYUu8bs63uZGQbS9WOZm5 S8oGCTOag3ahTX8DBVXsDdtOiR5Wecl0X6LeetMxRaHbkJsnU7sARinACVmSJ1Bw 7XU47ZKLE3QEXqrwu6KoIB1XgTNWVBs0G1oapBbrpz5NZYf0nV8T069YhQCg/2xT B3yRJ1hNVSiMxitnKxFose0D/3sxZks+t38Yf40AK31OogK5Gi1NbsuW+LDXo1n6 UJtWbLv1rAaTRBrcf3EV8nd56QW+vpHwmr4/3YioRHJuZs1Q4MRhFeErjXa7jawJ E/fI2yghWJIk8GGB/O2vAWcgTVQdZ6kqqmJNIJferipOQUPgD5UyddlVj58Y1dyL 4U3+A/0a6toLsfCISJZmmsoIONKmHj2G04bxUzJSH5kNup/+2Kj06XLCHN7OU5om MP1AapzOmtZtxcPqNuox5QSGRkuuKQr7+G2PoqahR77HCrK6g1mk5m3+XEYXzLZn 5uzE/qBF8eN8BjO5ek4dZRZ0LY8sGl7QD+fcWyDmaFn2pnLEZbQdamVycnkgY2hl biA8amVycnlAY2h1LmVkdS50dz6JAE4EEBECAA4FAj2rW3wECwMCAQIZAQAKCRAl 8vrv0rokk7rIAJ4lowuBwnqVtdGyRkVSIE3C3k/pwwCghjJNBF47wM55HRJVLaV4 kOq1sNe5Ag0EPatbfBAIAPZCV7cIfwgXcqK61qlC8wXo+VMROU+28W65Szgg2gGn VqMU6Y9AVfPQB8bLQ6mUrfdMZIZJ+AyDvWXpF9Sh01D49Vlf3HZSTz09jdvOmeFX klnN/biudE/F/Ha8g8VHMGHOfMlm/xX5u/2RXscBqtNbno2gpXI61Brwv0YAWCvl 9Ij9WE5J280gtJ3kkQc2azNsOA1FHQ98iLMcfFstjvbzySPAQ/ClWxiNjrtVjLhd ONM0/XwXV0OjHRhs3jMhLLUq/zzhsSlAGBGNfISnCnLWhsQDGcgHKXrKlQzZlp+r 0ApQmwJG0wg9ZqRdQZ+cfL2JSyIZJrqrol7DVekyCzsAAgIH/2xrElBhHcubVh2O xt3u2VpotrpLKg2xKvQpRd2Kwezn0Xv11GREvc1t+k7gS8WSZwUP2FT4WlAunA+Q v4HCeIfZbrnwPKofTVuFzkGZvBOPwBuds7vuo0/KKrccllWhh9PZ2dI0dTEz6Qck 5XV3bKkzfYUIavyTQh0GcWTiGOhV6JbtJt8jSVCRDiZL/UI1UtR/3i+EgCM6ejji 57WLSaq7gC2X8+VSs2l94qPKPYUK9ryOJ41vik4Yh3FszPonv0/o70+UyXNOs92U Q6xRxOJhOnKlGo8ZcIO8UwGGYChtcAwnvj/eMCeRo2qlmJzUi0a83er5j82tIrfL L/HufsuJAEYEGBECAAYFAj2rW3wACgkQJfL679K6JJPaQwCfdjl6IbinOwq3yquk idO7rcpYIIIAn2GEXTDGu+vsWmW/tjaBf4v8YlNk =sp67 -----END PGP PUBLIC KEY BLOCK-----