在 Linux 中保護 GPG 金鑰的 5 個技巧

在 Linux 中保護 GPG 金鑰的 5 個技巧
筆記型電腦鍵盤頂部黃銅鎖的照片。

因此,保護它免受不良行為者的侵害,可以確保沒有人可以在與其他人的通訊中冒充您。在這裡,我們向您展示有關如何在 Linux 中保護 GPG 金鑰的五個簡單技巧。

1. 為每個 GPG 函數建立子項

在 Linux 中保護 GPG 金鑰的最簡單方法之一是為每個金鑰功能建立一個單獨的子金鑰。子金鑰是附加到您的主主金鑰的附加加密身分部分。這使得不良行為者更難竊取您的主私鑰,因為您不將其用於常見的關鍵操作。

為此,請開啟主金鑰的 GPG 金鑰提示:

運行change-usage以更改主鍵的預設功能。

鍵入“S”,然後Enter按 停用主金鑰的簽章功能。

終端機突出顯示主鍵功能的選擇提示。

運行addkey為主鍵建立第二個子鍵。

終端機突出顯示

在按鍵演算法提示中選擇“8”,然後按Enter

終端突出顯示子項的演算法選項。

在提示符號下鍵入“=S”,然後按 將Enter子項目的功能設定為“僅簽名”。

在金鑰大小提示中提供“4096”,然後按 將EnterRSA 子金鑰的大小設定為 4096 位元。

終端機突出顯示子項的密鑰大小提示。

為您的子密鑰設定合理的有效期限。就我而言,我會將子密鑰設定為 1 年後過期。

終端機突出顯示子密鑰的密鑰有效長度。

鍵入“y”以建立新子項,然後Enter按確認提示。

重新運行該addkey命令並為加密和身份驗證功能建立其他兩個子項。

透過執行子命令確認您的 GPG 金鑰具有針對每種功能的子金鑰list

顯示主鍵中可用的不同子鍵的終端。

2. 設定密鑰的到期日期

在 Linux 中保護 GPG 金鑰的另一種簡單方法是為主金鑰和子金鑰指定到期日期。雖然這不會影響金鑰的簽署、加密和身份驗證的能力,但設定一項可以讓其他 GPG 用戶始終根據金鑰伺服器驗證您的金鑰。

首先在 GPG CLI 工具中開啟主金鑰:

輸入“expire”,然後按Enter編輯主金鑰的到期日期。就我而言,我將其設定為 10 年後到期。

終端機突出顯示主鍵的密鑰大小有效性提示。

提供 GPG 金鑰的密碼,然後按Enter提交新的到期日。

執行以下命令來選擇 GPG 金鑰的內部子金鑰:

終端機突出顯示用於子項選擇的指示器。

運行expire,然後提供子項的到期日期。在大多數情況下,這些密鑰應該會比您的主密鑰更早過期。對我來說,我會將它們設定為八個月後到期。

終端機突出顯示密鑰有效長度,用於批次更新一組子密鑰。

輸入“儲存”,然後按Enter將變更提交到 GPG 金鑰環。

透過執行以下命令確認您的金鑰具有正確的到期日:gpg --list-keys

顯示主鍵及其子鍵的更新到期日的終端。

3. 將您的 GPG 金鑰儲存到安全金鑰

安全金鑰是專門為保存私人身份驗證資料而設計的小型裝置。在這方面,您還可以使用它們來儲存您的 GPG 金鑰,而不會影響您的整體安全。

首先將安全金鑰插入您的計算機,然後執行以下命令來檢查 GPG 是否偵測到它:

打開主密鑰上的 GPG 提示符,然後運行list以列印密鑰環的所有詳細資訊:

找到使用值為「S」的子項,然後執行 key 並在子項清單中輸入其順序號。例如,我的“S”子鍵是列表中的第一個鍵,因此我將運行key 1.

終端機突出顯示子項

將您的「S」子金鑰移至安全金鑰的內部儲存:

在傳輸提示中選擇“1”,提供主 GPG 金鑰的密碼,然後key再次執行該命令以取消選擇第一個子金鑰。

終端機反白顯示將子金鑰移至安全金鑰的選擇提示。

找到使用值為「A」的子項,然後執行指令key,後面接著子項的索引號。

使用命令將“A”子項目傳輸到安全設備keytocard,在傳輸提示上選擇“3”,然後重新執行鍵盤命令,取消選擇“A”子項目。

終端機反白顯示身份驗證子金鑰的選擇提示並將其移至安全金鑰。

找到使用值為“E”的子項,然後使用key命令選擇它。

使用 keytocard 指令將「E」子金鑰傳輸到您的安全設備,然後在提示中選擇「2」。

終端機反白顯示加密子金鑰的選擇提示並將其移至安全金鑰。

運行save,然後按Enter將變更提交至 GPG 金鑰環。

最後,確認您已透過執行從電腦正確匯出子項gpg --list-secret-keys YOUR-GPG@EMAIL.ADDRESS。執行此操作應在子項的「ssb」標籤旁邊列印一個大於 (>) 符號。

終端突出顯示子密鑰指示器,表明它現在在安全密鑰中可用。

4. 將您的主私鑰備份到紙上

除了安全金鑰之外,您還可以透過將 GPG 金鑰匯出到可列印的文字檔案來保護 Linux 中的 GPG 金鑰。 Paperkey 是一個簡單的命令列實用程序,它會取得您的私鑰並將其剝離到其核心秘密位元組。如果您正在尋找一種在數位裝置之外保存 GPG 金鑰的方法,這會非常有用。

首先,從 Linux 發行版的軟體套件儲存庫安裝 paperkey:

匯出主要私鑰和公鑰的二進位版本:

將您的二進制私鑰轉換為其核心秘密資料:

確認您可以從 paperkey 備份重建您的主私鑰:

使用您最喜歡的圖形文字編輯器開啟您的核心秘密文件。就我而言,我使用的是 GNOME 的預設文字編輯器。

顯示使用 paperkey 從 GPG 私鑰提取秘密資料的螢幕截圖。

點擊視窗右上角的“選項”選單,然後選擇“列印”子選單項目。

螢幕截圖突出顯示

5. 從系統中刪除您的主私鑰

當您產生新的 GPG 金鑰時,您的電腦會在檔案系統中儲存公鑰和私鑰的副本。雖然很方便,但如果您使用的是連網或共用存取計算機,這可能會成為問題。

解決此問題的一種方法是刪除您自己的 GPG 金鑰環的私鑰。這將確保任何惡意行為者無法從您的電腦中提取您的私鑰來簽署和驗證任何子金鑰。

首先備份您的原始主 GPG 私鑰和子金鑰:

使用對稱加密對您的主私鑰區塊輸出進行加密:

為您的私鑰資料提供一個相對強的密碼,然後按Enter

顯示 GPG 中對稱加密的密碼提示的螢幕截圖。

將加密的 GPG 私鑰儲存到外部儲存裝置。

從 GPG 金鑰對中刪除所有私鑰資料:

將秘密子金鑰區塊匯入回您的 GPG 金鑰對:

執行以下命令檢查您的主私鑰是否仍然存在於您的系統中:

執行此操作應在主鍵的「sec」標籤旁顯示井號 (#)。這表示您的 GPG 金鑰環上不再存在您的私鑰。

終端機顯示 GPG 金鑰環內不再存在私有金鑰。

了解如何使用這些簡單的技巧來保護您的 GPG 金鑰只是探索龐大的公鑰加密生態系統的一部分。透過使用 GPG 登入 SSH 伺服器來更深入地了解該程式。

圖片來源:FlyD,來自 Unsplash。所有修改和螢幕截圖均由 Ramces Red 進行。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *