1、前言
PGP(Pretty Good Privacy) 為利用公開鑰匙密碼學為基礎,原理為利用 PGP 產生一對 key pair (一把公鑰、私鑰),當 A 要傳一封保密信給 B 時必須要先有 B 的公鑰來加密信件,加密後的信件看起來只是一堆亂碼而以,而這封加密信件只有 B 的私鑰才能解開,其它人是無法解開的;而 PGP 也有提供專屬簽名,即當您要公開傳送訊息時只要加上專屬簽名後,任何人只要更改訊息內容或簽名的話,PGP 都會偵測到此文章已被他人動過而不是原作了。( 此版本若您是要使用在商業用途,請購買版權才可使用,本範例為使用在個人環境上,因此不在此限制內)。文章目錄
1、前言2、實作環境
3、安裝及設定
步驟1.下載 PGP 8.0.3
步驟2.安裝 PGP 8.0.3
步驟3.開始使用 PGP
步驟4.匯出公鑰 (Export Public PGP Key)
步驟5.匯入別人的公鑰(Import Public PGP Key)
步驟6.文件及訊息加密(Encrypt)
步驟7.專屬簽名 (Sign)
步驟8.將原始檔案刪除 (Wipe)
步驟9.替別人的公鑰簽名及建立信任度 (Trust)
步驟10.上傳 Key (Send To Server)
步驟11.找尋別人的公鑰 (Search)
步驟12.作廢原來的 Key (Revoke)
4、參考
2、實作環境
- Windows XP
- PGP 8.0.3
3、安裝及設定
步驟1.下載 PGP 8.0.3
1. 進入 PGP.org 官網 後請點選 PGP 選項進入 Freeware PGP versions 頁面。2. 點選目前使用的作業系統 (我使用的是 Windows XP)。
3. 進入後點選 PGP 8.0 進入 Win 系列選項。
4. 我們點選 English 版本(並無支援 Windows 95)。
5. 因為我們是要個人使用,因此請把授權條款選項打勾才能 Download。
6. 否則將出現警告訊息且無法 Download。
7. 下載後解開壓縮檔可看到 2 個檔案。
步驟2.安裝 PGP 8.0.3
1. 點選 PGP8.exe 2下後開始進入 PGP 安裝程序。2. 歡迎安裝 PGP 訊息,按下 Next 後進入下一個安裝階段。
3. 閱讀 PGP 授權條款,同意請按下 Yes 後進入下一個安裝階段。
4. 閱讀 PGP 讀我內容,按下 Next 後進入下一個安裝階段。
5. 因為我們是第 1 次安裝所以我們選 No,I`m a New User。
6. PGP 安裝路徑,按下 Next 後進入下一個安裝階段。
7. 選擇您要安裝 Plugin 模組,因為我沒有使用 ICQ, Outlook, Eudora 所以我沒勾選,按下 Next 後進入下一個安裝階段。
8. 列出剛才所選擇的方式,確定沒問題後按下 Next 開始安裝。
9. 安裝完成後按下 Finish 重新開機吧。
步驟3.開始使用 PGP
1. 執行 PGP。2. 填入姓名及組織 (因為是個人使用版本所以不用輸入 License Number) 按 Later 後進入下一個初始設定階段。
3. 輸入自已的名字與 Mail Address,按下一步後進入下一個初始設定階段。
4. 準備產生 PGP Keys Pair,請輸入您的私鑰密碼 (自訂) 二次 (若取消勾選 Hide Typing 的話,輸入的密碼將以明碼呈現),按下一步後進入下一個初始設定階段。
5. 按下下一步後開始產生 Keys Pair,按下一步後進入下一個初始設定階段。
6. 完成 PGP Key 安裝。
步驟4.匯出公鑰 (Export Public PGP Key)
1. 製造出自已的 Public PGP Key 以便散佈給其它人,方便別人傳加密信件給自已 (Keys --> Export)。2. 產生的自已公鑰檔名為 weithenn.asc。
步驟5.匯入別人的公鑰(Import Public PGP Key)
1. 匯入別人 (Clive Lin) 的 PGP 公鑰,以便傳加密信給他人 (Keys --> Import)。2. 選擇對方 (Clive Lin) 的公鑰檔案 (*.txt or *.asc)。
3. 看到匯入別人 (Clive Lin) 公鑰該擁有人的資訊。
4. 已經對方公鑰加入,以後可傳加密信給 Clive Lin 了。
步驟6.文件及訊息加密(Encrypt)
您可直接對所要傳送的檔案加密,也可單獨對文字內容加密,若您進行加密後會把原來的套碼內容編碼成一堆看不懂的亂碼,例如 明碼筆記本檔案 (test.txt) 加密成為 test.txt.pgp 可看到筆記本的 icon 從白紙黑字變成 鐵板加鎖頭。明碼筆記本檔案 (test.txt)
加密筆記本檔案 (test.txt.pgp)
步驟6-1.針對檔案加密
1. 對著您要加密的檔案按滑鼠右鍵,選擇 PGP 後選擇 Encrypt。2. 輸入收件人資訊 Recipients 即為收件人 (ta-wei) 欄位,也就是說對方要用它的私鑰才能打開這封加密過的檔案。
步驟6-2.針對純文字內容加密(明文-->一堆亂碼)
1. 開啟 PGP 選擇 Edit 後再選擇 Clipboard。2. 開啟 Text Viewer 後填入要加密的文字內容後按 Copy to Clipboard 來加密文字內容。
3. 開啟 PGP 選擇 Encrypt 後再選擇 Clipboard。
4. 輸入收件人資訊 (也就是用誰的公鑰來加密,也只有那個人的私鑰才能解這封加密內容)。
5. 勾選 Secure Viewer:限定只能用 PGP 的文字瀏覽工具來閱讀文件檔,若勾選 Conventional Encryption:不使用公鑰來加密,而用自訂的密碼來加密,開啟 PGP 選擇 Edit 後再選擇 Clipboard,觀看加密後的文字內容 (可把這段文字寄給對方,因此只有對方的私鑰能解開此加密內容)。
6. 對方開啟 PGP 選擇 Decrypt & Verify 後再選擇 Clipboard,貼入你寄給他的加密內容來進行解密。
步驟7.專屬簽名 (Sign)
PGP 也有提供專屬簽名,即當您要公開傳送訊息時只要加上專屬簽名後,任何人只要更改訊息內容或簽名的話,PGP 都會偵測到此文章已被他人動過而不是原作了,例如明碼筆記本檔案 (test.txt) 加入簽名成為 test.txt.sig 可看到筆記本的 icon 從白紙黑字變成鐵板加簽名。 補充: Sign 與 Encrypt 不同的地方在於 Encrypt 加密方式會把內容都編成亂碼,而 Sign 是在內容的 開頭跟結尾加上檢查字元來加密。步驟7-1.直接對檔案簽名(test.txt)
1. 對著您要簽名的檔案按滑鼠右鍵選擇 PGP 再選擇 Sign。2. 接著輸入您的私鑰以便輸出您的簽名檔。
3. 您可看到簽名資訊 (若 Signed 欄位出現訊息不是日期而是 Bad Signature 代表認證錯誤也就是被動過了)。
步驟7-2.直接對內容簽名 (開頭、結尾加檢查字元)
1. Sign 是在要簽名內容的開頭跟結尾加上檢查字元來加密,所以我們先輸入一段明碼文字。2. 然後輸入私鑰後會將明碼的內容,其頭、尾加上檢查字元。
3. 因此可看到原本明碼的文字內容,但頭、尾加上檢查字元。
步驟8.將原始檔案刪除 (Wipe)
1. 選擇 Wipe 將原始檔案刪除 (還沒刪除檔案)。2. 按下 Yes 後則進行將原始檔案刪除 (刪除檔案)。
步驟9.替別人的公鑰簽名及建立信任度 (Trust)
你可以利用您自已的私鑰幫別人簽名 (保證),不過由於幫別人簽名會用到自已的私鑰因此有一定的可信度,但別因此而胡亂簽名否則到時會產生連鎖反應變成自已的 Key 別人也不信任了,以下是幫別人簽名的說明:- 假設: A (幫人簽名)、B (被簽名)、C (得到 A 幫 B 簽名相信所得到的 Key 是 B 的 Key)
- 說明: A 幫 B 簽名並把信任度升到最高 (Complete) 而 C 拿到 Key 之後,因為相信 A 所以自動的認定拿到的是 B 的 Key,所以 C 可以傳加密信給 B。
1. 假設我幫 ta-wei 的 Key 簽名 (Keys --> Sign)。
2. 顯示 ta-wei 的資訊。
3. 輸入自已的私鑰。
4. 可看到未簽名前 Validity 為灰色圓點 (簽名後變綠色圓點,代表調整了信任度)。
5. 我們也可查看 ta-wei 的資訊可以看到信任度提升了 (Keys --> Properties)。
步驟10.上傳 Key (Send To Server)
散播 Key 資訊到 Domain Server,以便別人查尋並獲得您完整的 PGP 資訊。步驟11.找尋別人的公鑰 (Search)
1. 可利用 PGP 內附的 Search 功能來查尋別人的公鑰資訊。2. 尋找條件為 User ID (姓名)。
3. 尋找條件為 Key ID (0xXXXXXXXXX)。
步驟12.作廢原來的 Key (Revoke)
1. 把目前的 Key 作廢 (Revoke) (例如私鑰密碼被人盜用或其它因素)。2. 產生一組新的 Key (New Key)。