gpg加密命令 linux_用 PGP 保护代码完整性(四):将主密钥移到离线存储中 | Linux 中国...
https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-4-moving-your-master-key-offline-storage?作者 | Konstantin Ryabitsev譯者 | qhwdw ?共計翻譯:175.5?篇 貢獻時間:421 天
如果開發者的 PGP 密鑰被偷了,危害非常大。了解一下如何更安全。
在本系列教程中,我們為使用 PGP 提供了一個實用指南。你可以從下面的鏈接中查看前面的文章:
??第一部分:基本概念和工具[1]??第二部分:生成你的主密鑰[2]??第三部分:生成 PGP 子密鑰[3]這是本系列教程的第四部分,我們繼續本教程,我們將談一談如何及為什么要將主密鑰從你的家目錄移到離線存儲中。現在開始我們的教程。
清單
??準備一個加密的可移除的存儲(必要)??備份你的 GnuPG 目錄(必要)??從你的家目錄中刪除主密鑰(推薦)??從你的家目錄中刪除吊銷證書(推薦)考慮事項
為什么要從你的家目錄中刪除你的主 [C] 密鑰 ?這樣做的主要原因是防止你的主密鑰失竊或意外泄露。對于心懷不軌的人來說,私鑰對他們具有很大的誘惑力 —— 我們知道有幾個惡意軟件成功地實現了掃描用戶的家目錄并將發現的私鑰內容上傳。
對于開發者來說,私鑰失竊是非常危險的事情 —— 在自由軟件的世界中,這無疑是身份證明失竊。從你的家目錄中刪除私鑰將幫你防范這類事件的發生。
備份你的 GnuPG 目錄
!!!絕對不要跳過這一步!!!
備份你的 PGP 密鑰將讓你在需要的時候很容易地恢復它們,這很重要!(這與我們做的使用 paperkey 的災難級備份是不一樣的)。
準備可移除的加密存儲
我們從取得一個(最好是兩個)小型的 USB “拇指“ 驅動器(可加密 U 盤)開始,我們將用它來做備份。你首先需要去加密它們:
加密密碼可以使用與主密鑰相同的密碼。
備份你的 GnuPG 目錄
加密過程結束之后,重新插入 USB 驅動器并確保它能夠正常掛載。你可以通過運行?mount?命令去找到設備掛載點的完全路徑。(在 Linux 下,外置介質一般掛載在?/media/disk?下,Mac 一般在它的?/Volumes?下)
你知道了掛載點的全路徑后,將你的整個 GnuPG 的目錄復制進去:
$ cp -rp ~/.gnupg [/media/disk/name]/gnupg-backup
(注意:如果出現任何套接字不支持的錯誤,沒有關系,直接忽略它們。)
現在,用如下的命令去測試一下,確保它們能夠正常地工作:
$ gpg --homedir=[/media/disk/name]/gnupg-backup --list-key [fpr]
如果沒有出現任何錯誤,說明一切正常。彈出這個 USB 驅動器并給它粘上一個明確的標簽,以便于你下次需要它時能夠很快找到它。接著,將它放到一個安全的 —— 但不要太遠 —— 的地方,因為從現在起,你需要偶爾使用它來做一些像編輯身份信息、添加或吊銷子證書、或簽署其它人的密鑰這樣的事情。
刪除主密鑰
我們家目錄中的文件并沒有像我們所想像的那樣受到保護。它們可能會通過許多不同的方式被泄露或失竊:
??通過快速復制來配置一個新工作站時的偶爾事故??通過系統管理員的疏忽或惡意操作??通過安全性欠佳的備份??通過桌面應用中的惡意軟件(瀏覽器、pdf 查看器等等)??通過跨境脅迫使用一個很好的密碼來保護你的密鑰是降低上述風險的一個很好方法,但是密碼能夠通過鍵盤記錄器、背后窺視、或其它方式被發現。基于以上原因,我們建議去配置一個從你的家目錄上可移除的主密鑰,將它保存在一個離線存儲中。
刪除你的主密鑰
請查看前面的節,確保你有完整的你的 GnuPG 目錄的一個備份。如果你沒有一個可用的備份,下面所做的操作將會使你的主密鑰失效!!!
首先,識別你的主密鑰的 keygrip:
$ gpg --with-keygrip --list-key [fpr]
它的輸出應該像下面這樣:
pub ? rsa4096 2017-12-06 [C] [expires: 2019-12-06]
? ? 111122223333444455556666AAAABBBBCCCCDDDD
? ? Keygrip = AAAA999988887777666655554444333322221111
uid ? ? ? ? ? [ultimate] Alice Engineer <alice@example.org>
uid ? ? ? ? ? [ultimate] Alice Engineer <allie@example.net>
sub ? rsa2048 2017-12-06 [E]
? ? Keygrip = BBBB999988887777666655554444333322221111
sub ? rsa2048 2017-12-06 [S]
? ? Keygrip = CCCC999988887777666655554444333322221111
找到?pub?行下方的?Keygrip?條目(就在主密鑰指紋的下方)。它與你的家目錄下?.gnupg?目錄下的一個文件是一致的:
$ cd ~/.gnupg/private-keys-v1.d
$ ls
AAAA999988887777666655554444333322221111.key
BBBB999988887777666655554444333322221111.key
CCCC999988887777666655554444333322221111.key
現在你做的全部操作就是簡單地刪除與主密鑰 keygrip 一致的?.key?文件:
$ cd ~/.gnupg/private-keys-v1.d
$ rm AAAA999988887777666655554444333322221111.key
現在,如果運行?--list-secret-keys?命令將出現問題,它將顯示主密鑰丟失(#?表示不可用):
$ gpg --list-secret-keys
sec# rsa4096 2017-12-06 [C] [expires: 2019-12-06]
111122223333444455556666AAAABBBBCCCCDDDD
uid [ultimate] Alice Engineer <alice@example.org>
uid [ultimate] Alice Engineer <allie@example.net>
ssb rsa2048 2017-12-06 [E]
ssb rsa2048 2017-12-06 [S]
刪除吊銷證書
你應該去刪除的另一個文件是吊銷證書(刪除之前,確保你的備份中有它),它是使用你的主密鑰自動創建的。吊銷證書允許一些人去永久標記你的證書為吊銷狀態,這意味著它無論在任何用途中將不再被使用或信任。一般是使用它來吊銷由于某些原因不再受控的一個密鑰 —— 比如,你丟失了密鑰密碼。
與使用主密鑰一樣,如果一個吊銷證書泄露到惡意者手中,他們能夠使用它去破壞你的開發者數字身份,因此,最好是從你的家目錄中刪除它。
cd ~/.gnupg/openpgp-revocs.d
rm [fpr].rev
在下一篇文章中,你將學習如何保護你的子密鑰。敬請期待。
從來自 Linux 基金會和 edX 的免費課程?“Linux 入門”[4]?中學習更多 Linux 知識。
via:?https://www.linux.com/blog/learn/pgp/2018/3/protecting-code-integrity-pgp-part-4-moving-your-master-key-offline-storage
作者:Konstantin Ryabitsev[6]?譯者:qhwdw?校對:wxy
本文由?LCTT?原創編譯,Linux中國?榮譽推出
總結
以上是生活随笔為你收集整理的gpg加密命令 linux_用 PGP 保护代码完整性(四):将主密钥移到离线存储中 | Linux 中国...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python代码测试工具模块_详解Pyt
- 下一篇: word2vec模型评估_特征工程(下)