Linux中國

用 PGP 保護代碼完整性(三):生成 PGP 子密鑰

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

清單

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

注意事項

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

創建子密鑰

要創建子密鑰,請運行:

$ gpg --quick-add-key [fpr] rsa2048 encr
$ gpg --quick-add-key [fpr] rsa2048 sign

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

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

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

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

pub rsa4096 2017-12-06 [C] [expires: 2019-12-06]
 111122223333444455556666AAAABBBBCCCCDDDD
uid [ultimate] Alice Engineer <alice@example.org>
uid [ultimate] Alice Engineer <allie@example.net>
sub rsa2048 2017-12-06 [E]
sub rsa2048 2017-12-06 [S]

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

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

$ gpg --send-key [fpr]

如果此命令不成功,你可以嘗試指定一台密鑰伺服器以及埠,這很有可能成功:

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

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

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

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

上傳你的公鑰到 GitHub

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

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

$ gpg --export --armor [fpr]

設置一個刷新定時任務

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

$ crontab -e

在新行中添加以下內容:

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

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

通過 Linux 基金會和 edX 的免費「Introduction to Linux」 課程了解關於 Linux 的更多信息。

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

作者:Konstantin Ryabitsev 譯者:geekpi 校對:wxy

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


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的郵箱地址不會被公開。 必填項已用 * 標註

    這個站點使用 Akismet 來減少垃圾評論。了解你的評論數據如何被處理

    More in:Linux中國

    Linux中國

    關於Linux防火牆iptables的面試問答

    Nishita Agarwal是Tecmint的用戶,她將分享關於她剛剛經歷的一家公司(印度的一家私人公司Pune)的面試經驗。在面試中她被問及許多不同的問題,但她是iptables方面的專家,因此她想分享這些關於iptables的問題和相應的答案給那些以後可能會進行相關面試的人。 所有的問題和相應的答案都基於Nishita Agarwal的記憶並經過了重寫。 嗨,朋友!我叫Nishita Agarwal。我已經取得了理學學士學位,我的專業集中在UNIX和它的變種(BSD,Linux)。它們一直深深的吸引著我。我在存儲方面有1年多的經驗。我正在尋求職業上的變化,並將供職於印度的P
    Linux中國

    Lets Encrypt 已被所有主流瀏覽器所信任

    旨在讓每個網站都能使用 HTTPS 加密的非贏利組織 Lets Encrypt 已經得了 IdenTrust的交叉簽名,這意味著其證書現在已經可以被所有主流的瀏覽器所信任。從這個裡程碑事件開始,訪問者訪問使用了Lets Encrypt 證書的網站不再需要特別配置就可以得到 HTTPS 安全保護了。 Lets Encrypt 的兩個中級證書 ...
    Linux中國

    SSL/TLS 加密新紀元 – Lets Encrypt

    根據 Let's Encrypt 官方博客消息,Let's Encrypt 服務將在下周(11 月 16 日)正式對外開放。 Let's Encrypt 項目是由互聯網安全研究小組(ISRG,Internet Security Research Group)主導並開發的一個新型數字證書認證機構(CA,Certificate ...