如何使用 paperkey 在 Linux 中備份 GPG 密鑰
Paperkey 是一個 Linux 命令行程序,允許您以人類可讀的格式導出 GPG 私鑰。它的工作原理是刪除私鑰的冗餘部分,只留下關鍵的秘密位。
本文將指導您完成在 Ubuntu 上安裝和設置 paperkey 的過程,並向您展示如何將 paperkey 備份存儲為二維碼並在恢復期間提取它。
為什麼使用 Paperkey 來備份您的 GPG 密鑰
paperkey 的最大優點之一是其格式通常比常規 PGP 私鑰塊小。這使得以各種格式管理和存儲變得更加容易。例如,紙鑰匙備份足夠小,您可以將其寫在一張紙上。
因此,paperkey 為您提供了從任何電子設備中刪除 PGP 私鑰的機會。雖然當今的某些設備提供出色的“靜態數據”加密,但保持數據離線仍然是使您的密鑰無法被不良行為者訪問的可靠方法。
獲取並安裝 Paperkey
- 安裝 paperkey 的第一步是更新整個系統。這將確保您的系統存儲庫信息具有正確的 paperkey 包信息。
sudo apt updatesudo apt upgrade
- 運行以下命令安裝 paperkey 應用程序:
sudo apt install paperkey
- 檢查 paperkey 是否已正確安裝在您的系統中:
paperkey --version
配置 Paperkey 備份
安裝 paperkey 後,您可以開始備份您的 GPG 密鑰。對於本指南,我將備份通過運行gpg --full-gen-key
.
- 首先,列出 GPG 密鑰環中的所有可用密鑰:
gpg --list-keys
- 輸出要導出的私鑰的二進制副本:
gpg --export-secret-keys --output private.gpg your-gpg@email.address
- 與您的一起運行 paperkey 。gpg 文件以在純文本文件中提取其核心密鑰:
paperkey --secret-key private.gpg --output core-secret.asc
- 將您的公鑰上傳到知名的密鑰服務器。這將確保您能夠在恢復過程中重建密鑰:
gpg --keyserver keyserver.ubuntu.com --send-key YOUR-KEY-FINGERPRINT
- 之後,完全刪除您的私鑰文件:
shred -uvn 10. /private.gpg
將 Paperkey 轉換為 QR 碼
除了以文本文件導出之外,您還可以使用 paperkey 將您的機密轉換為機器可讀的格式。例如,您可以使用基本的 UNIX 管道將核心機密重定向到 QR 代碼生成器。這使得以可靠且防錯的方式恢復您的秘密變得更加容易。
qrencode
從包管理器安裝程序:
sudo apt install qrencode
- 以二進制格式導出您的 GPG 私鑰:
gpg --export-secret-key --output qr-private.gpg your-gpg@email.address
- 使用“qr-private.gpg”文件運行 paperkey 並將其輸出直接重定向到 qrencode:
paperkey --secret-key qr-private.gpg --output-type raw | qrencode --8bit --output /home/$USER/qr-private.png
- 打開系統的文件管理器並檢查 QR 圖像。
恢復您的 Paperkey 備份
此時,您已擁有 GPG 私鑰的正確紙質密鑰備份。您可以編寫人類可讀的文本文件,也可以將二維碼打印在一張紙上並將其存儲在安全的地方。
要恢復您的 GPG 密鑰:
- 在您將其發送到的密鑰服務器上搜索您的公鑰:
gpg --keyserver keyserver.ubuntu.com --search your-gpg@email.address
- 選擇您要從搜索結果列表中檢索的密鑰。
- 將您的公鑰導出為二進制格式:
gpg --export --output public.gpg your-gpg@email.address
- 使用paperkey 中的
--pubring
和標誌重建原始私鑰:--secrets
paperkey --pubring public.gpg --secrets core-secret.asc --output private.gpg
- 使用 GPG 導入新重建的密鑰:
gpg --import. /private.gpg
從 QR 碼恢復 Paperkey 備份
您還可以通過將紙質鑰匙 QR 圖像與現有的 GPG 公鑰相結合來檢索您的 GPG 私鑰以獲取您的身份。
- 安裝 zbar 實用程序以在計算機上啟用 QR 和條形碼掃描:
sudo apt install zbarcam-gtk zbar-tools
- 使用 zbarimg 解碼 QR 圖像並將其輸出通過管道傳輸到文件:
zbarimg --quiet --raw --oneshot -Sbinary. /qr-private.png > core-secret.bin
- 使用 paperkey 重建您的原始 GPG 私鑰:
paperkey --pubring public.gpg --secrets core-secret.asc --output private.gpg
- 將您的私鑰導入您的 GPG 密鑰環:
gpg --import. /private.gpg
經常問的問題
Paperkey 備份安全嗎?
默認情況下,paperkey 備份不會修改 GPG 密鑰的任何固有屬性。這意味著它的安全性取決於其加密密鑰和所使用的位數。
paperkey的優點之一是它不依賴電子設備來存儲私鑰數據。這可以提供很大的安全性,特別是當您使用其他用戶可以在線訪問的聯網計算機時。
當我備份 GPG 私鑰時,出現輸入損壞錯誤。
每當 paperkey 讀取數據類型不正確的文件時,就會出現此問題。造成這種不正確數據類型的最常見原因是 ASCII-armored GPG 私鑰。要解決此問題,您需要--armor
從 GPG 導出命令中刪除該選項。
是否可以將我的紙質鑰匙轉換為其他圖像格式?
由於 paperkey 僅提供原始二進制數據,因此可以使用不同的圖像生成程序來創建您自己的“paperkey 備份圖像”。
例如,您可以安裝 GNU 條形碼並運行:paperkey --secret-key qr-private.gpg --output-type raw | barcode -S > private.svg
來創建核心機密文件的 SVG 條形碼。
圖片來源:Sincerely Media,來自 Unsplash。所有修改和屏幕截圖均由 Ramces Red 進行。
發佈留言