300 likes | 411 Views
Chap 13 GnuPG 安全性保護. 13-1 加密與 GnuPG 13-2 建立金鑰組與廢止憑證 13-3 匯出公開金鑰 13-4 用戶端匯入 Public Key 13-5 文件加密與數位簽章. 13-1 加密與 GnuPG. 專有名詞. 明文:傳送端和接收端所需的實際資料。 密文:明文經過加密機制運算後所產生的資料,這些資料也就是傳遞過程的資料型態。 加密金鑰:明文需使用加密金鑰,以將資料轉變成密文。 解密金鑰:密文需使用解密金鑰,以將資料還原成明文。. 加密運算. 0 XOR 0 = 0
E N D
Chap 13 GnuPG安全性保護 • 13-1 加密與GnuPG • 13-2 建立金鑰組與廢止憑證 • 13-3 匯出公開金鑰 • 13-4 用戶端匯入Public Key • 13-5 文件加密與數位簽章
專有名詞 • 明文:傳送端和接收端所需的實際資料。 • 密文:明文經過加密機制運算後所產生的資料,這些資料也就是傳遞過程的資料型態。 • 加密金鑰:明文需使用加密金鑰,以將資料轉變成密文。 • 解密金鑰:密文需使用解密金鑰,以將資料還原成明文。
加密運算 • 0 XOR 0 = 0 • 0 XOR 1 = 1 • 1 XOR 0 = 1 • 1 XOR 1 = 0
數位簽章 • 利用雜湊函數(Hash Function)將所傳輸文件運算出一組訊息摘要(Digest) • 利用Private Key對訊息摘要進行加密,以得到此訊息的數位簽章。 • 將原始與訊息摘要,傳送至接收端。
在接收端收到訊息及數位簽章後,會將訊息及數位簽章分開處理,其執行步驟如下: • 將訊息利用Hash Function,運算出一組訊息摘要。 • 將數位簽章利用Public Key,還原為原來的訊息摘要。 • 最後比對二個訊息摘要,若兩者相同即表示交易資料或數位簽章正確無誤。
建立金鑰組 • 以接收端使用者的身份執行gpg --gen-key指令 • 使用者金鑰資料庫(Keyring)已建立於「~/.gnupg」子目錄 • 選擇欲建立的金鑰類型 • 設定ELG-E金鑰組的長度 • 輸入金鑰組的有效期限
建立金鑰組 • 系統會開始要求個人資料 • 若一切資料均正確則按「O」鍵 • 輸入二次正確的密碼 • 系統將所有檔案儲存在先前建立的~/.gnupg目錄中
建立廢止憑證 • 輸入gpg指令及所需參數 • 系統詢問是否建立廢止憑證 • 系統詢問建立廢止憑證的原因 • 輸入有關廢止此憑證的原因 • 輸入先前建立金鑰時設定的密碼 • 系統建立廢止憑證 • 廢止憑證內容會儲存在 ~/revoke.asc檔案中
匯出Public Key 匯出公開金鑰必須使用gpg指令語法: gpg --armor –export ID > mykey.asc
在下載Public Key後,需將此Public Key加入本身的金鑰資料庫中(Keyring),此時使用的參數為「--import」。 • 若是成功的將此Public Key加入金鑰資料庫中,則系統會顯示以下的訊息,這也完成傳送端下載Public Key的所有步驟。
gpg: 目錄 `/home/may/.gnupg' 已建立 gpg: 新的設定檔 `/home/may/.gnupg/gpg.conf' 被建立了 gpg: 警告: 在 `/home/may/.gnupg/gpg.conf‘裡的選項於 這次執行期間並沒有被啟用 gpg: 鑰匙圈 `/home/may/.gnupg/secring.gpg' 已建立 gpg: 鑰匙圈 `/home/may/.gnupg/pubring.gpg' 已建立 gpg: /home/may/.gnupg/trustdb.gpg: 建立了信任資料庫 gpg: 金鑰 46FE0B1D: 公鑰 "Jack Li (System Security Officer) <jack@f8linux.com>" 已被匯入 gpg: 總共被處理的數量: 1 gpg: 已匯入: 1
文件加密及解密步驟 • 接收端建立金鑰組,並將Public Key發佈至金鑰伺服器。 • 傳送端由金鑰伺服器下載接收端發佈的Public Key,並匯入本身的金鑰資料庫中。 • 假設傳送端要將doc.txt檔案加密處理為doc.gpg,並指定接收端才能開啟。 • 將此加密後的檔案傳送至接收端 • 當接收端收到傳送端(may)的加密檔案後,則可以進行解密。 • 之後必須輸入建立金鑰組時設定的密碼,這也是用來確認接收端的依據。
數位簽章 • 假設簽署人Jack希望在catalog.txt文件中加入數位簽章,則可以使用以下的指令範例: [jack@ns1 ~]$ gpg --output catalog.sig --sign catalog.txt • 輸入建立金鑰組時設定的密碼 • 當接收端(May)收到文件簽署人(Jack)加上數位簽章的文件後,則可以進行驗證。