歡迎光臨
每天分享高質量文章

使用 PGP 保護代碼完整性(三):生成 PGP 子密鑰 | Linux 中國

在第三篇文章中,我們將解釋如何生成用於日常工作的 PGP 子密鑰。
— Konstantin Ryabitsev


致謝
編譯自 | https://www.linux.com/blog/learn/pgp/2018/2/protecting-code-integrity-pgp-part-3-generating-pgp-subkeys 
 作者 | Konstantin Ryabitsev
 譯者 | geekpi ? ? 共計翻譯:708 篇 貢獻時間:1652 天

在第三篇文章中,我們將解釋如何生成用於日常工作的 PGP 子密鑰。

在本系列教程中,我們提供了使用 PGP 的實用指南。在此之前,我們介紹了基本工具和概念[1],並介紹瞭如何生成並保護您的主 PGP 密鑰[2]。在第三篇文章中,我們將解釋如何生成用於日常工作的 PGP 子密鑰。

清單

☉ 生成 2048 位加密子密鑰(必要)   2. 生成 2048 位簽名子密鑰(必要)   3. 生成一個 2048 位驗證子密鑰(推薦)   4. 將你的公鑰上傳到 PGP 密鑰服務器(必要)   5. 設置一個掃清的定時任務(必要)

註意事項

現在我們已經創建了主密鑰,讓我們創建用於日常工作的密鑰。我們創建 2048 位的密鑰是因為很多專用硬體(我們稍後會討論這個)不能處理更長的密鑰,但同樣也是出於實用的原因。如果我們發現自己處於一個 2048 位 RSA 密鑰也不夠好的世界,那將是由於計算或數學有了基本突破,因此更長的 4096 位密鑰不會產生太大的差別。

創建子密鑰

要創建子密鑰,請運行:

  1. $ gpg --quick-add-key [fpr] rsa2048 encr

  2. $ gpg --quick-add-key [fpr] rsa2048 sign

用你密鑰的完整指紋替換 [fpr]

你也可以創建驗證密鑰,這能讓你將你的 PGP 密鑰用於 ssh:

  1. $ gpg --quick-add-key [fpr] rsa2048 auth

你可以使用 gpg --list-key [fpr] 來查看你的密鑰信息:

  1. pub rsa4096 2017-12-06 [C] [expires: 2019-12-06]

  2. 111122223333444455556666AAAABBBBCCCCDDDD

  3. uid [ultimate] Alice Engineer <[email protected].org>

  4. uid [ultimate] Alice Engineer <[email protected].net>

  5. sub rsa2048 2017-12-06 [E]

  6. sub rsa2048 2017-12-06 [S]

上傳你的公鑰到密鑰服務器

你的密鑰創建已完成,因此現在需要你將其上傳到一個公共密鑰服務器,使其他人能更容易找到密鑰。 (如果你不打算實際使用你創建的密鑰,請跳過這一步,因為這隻會在密鑰服務器上留下垃圾資料。)

  1. $ gpg --send-key [fpr]

如果此命令不成功,你可以嘗試指定一臺密鑰服務器以及端口,這很有可能成功:

  1. $ gpg --keyserver hkp://pgp.mit.edu:80 --send-key [fpr]

大多數密鑰服務器彼此進行通信,因此你的密鑰信息最終將與所有其他密鑰信息同步。

關於隱私的註意事項:密鑰服務器是完全公開的,因此在設計上會泄露有關你的潛在敏感信息,例如你的全名、昵稱以及個人或工作郵箱地址。如果你簽名了其他人的鑰匙或某人簽名了你的鑰匙,那麼密鑰服務器還會成為你的社交網絡的泄密者。一旦這些個人信息發送給密鑰服務器,就不可能被編輯或刪除。即使你撤銷簽名或身份,它也不會將你的密鑰記錄刪除,它只會將其標記為已撤消 —— 這甚至會顯得更顯眼。

也就是說,如果你參與公共專案的軟體開發,以上所有信息都是公開記錄,因此通過密鑰服務器另外讓這些信息可見,不會導致隱私的凈損失。

上傳你的公鑰到 GitHub

如果你在開發中使用 GitHub(誰不是呢?),則應按照他們提供的說明上傳密鑰:

◈ 添加 PGP 密鑰到你的 GitHub 賬戶[3]

要生成適合粘貼的公鑰輸出,只需運行:

  1. $ gpg --export --armor [fpr]

設置一個掃清定時任務

你需要定期掃清你的鑰匙環,以獲取其他人公鑰的最新更改。你可以設置一個定時任務來做到這一點:

  1. $ crontab -e

在新行中添加以下內容:

  1. @daily /usr/bin/gpg2 --refresh >/dev/null 2>&1

註意:檢查你的 gpg 或 gpg2 命令的完整路徑,如果你的 gpg 是舊式的 GnuPG v.1,請使用 gpg2。

通過 Linux 基金會和 edX 的免費“Introduction to Linux[4]” 課程瞭解關於 Linux 的更多信息。


via: https://www.linux.com/blog/learn/pgp/2018/2/protecting-code-integrity-pgp-part-3-generating-pgp-subkeys

作者:Konstantin Ryabitsev[6] 譯者:geekpi 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

赞(0)

分享創造快樂