概述
YubiKey 是一個硬體安全金鑰,可以安全地存儲 OpenPGP 密鑰。本指南將教您如何設置 YubiKey 與 OpenPGP,包括生成密鑰、備份和移動到 YubiKey。
前置需求
- 一個兼容的 YubiKey(推薦 YubiKey 5 系列)
- 安裝最新版本的 GnuPG 軟件
- 支援的操作系統:Linux、macOS 或 Windows
第一步:生成 OpenPGP 密鑰對
1.1 插入 YubiKey
將 YubiKey 插入 USB 端口,確保系統能識別設備。
1.2 生成主密鑰
在終端機中執行以下命令:
|
|
按照以下步驟操作:
- 選擇密鑰類型:輸入
9
選擇 “ECC and ECC” - 選擇曲線:輸入
1
選擇 “ed25519” - 設置到期日期:輸入有效期(例如
1y
表示一年) - 輸入用戶信息:
- 姓名
- 電子郵件地址
- 註釋(可選)
- 確認信息:輸入
O
確認 - 設置密碼:為密鑰設置強密碼
生成完成後,記下顯示的密鑰 ID(例如:ABC123DEF456
)。
1.3 添加子密鑰
添加身份驗證子密鑰
|
|
在 GPG 編輯器中執行:
|
|
選擇步驟:
- 輸入密鑰密碼
- 選擇
8
(ECC) - 選擇
A
(Authentication only) - 選擇
1
(ed25519) - 設置到期日期(與主密鑰相同)
- 確認並保存
添加簽名子密鑰
在相同的編輯會話中:
|
|
選擇步驟:
- 輸入密鑰密碼
- 選擇
8
(ECC) - 選擇
S
(Sign only) - 選擇
1
(ed25519) - 設置到期日期
- 確認並保存
添加加密子密鑰
|
|
選擇步驟:
- 輸入密鑰密碼
- 選擇
8
(ECC) - 選擇
E
(Encrypt only) - 選擇
1
(ed25519) - 設置到期日期
- 確認並保存
完成後輸入 quit
退出編輯器。
第二步:創建密鑰備份
在移動密鑰到 YubiKey 之前,務必創建備份:
|
|
重要:將 backup-key.asc
安全存儲在離線位置,如:
- 加密的 USB 設備
- 密碼管理器
- 打印並存放在保險箱
第三步:設置 YubiKey
3.1 設置 YubiKey PIN
首次使用需要設置 PIN:
|
|
在卡片編輯器中:
|
|
設置以下 PIN:
- User PIN:日常使用(預設:123456)
- Admin PIN:管理操作(預設:12345678)
- Reset Code:重置 PIN(可選)
3.2 移動密鑰到 YubiKey
|
|
移動主密鑰(簽名)
|
|
選擇 1
(Signature key)
移動加密子密鑰
|
|
選擇 2
(Encryption key)
移動身份驗證子密鑰
|
|
選擇 3
(Authentication key)
完成移動
|
|
當提示保存更改時,輸入 N
(否)以保留硬碟上的密鑰副本。
第四步:驗證設置
4.1 檢查密鑰狀態
|
|
應該看到密鑰標記為 ssb>
表示已移動到智慧卡。
4.2 測試簽名
|
|
4.3 測試加密
|
|
第五步:在其他設備上使用
要在其他電腦上使用 YubiKey:
- 安裝 GnuPG
- 導入公鑰:
1
gpg --import public-key.asc
- 插入 YubiKey
- 設置 gpg-agent(如果需要)
故障排除
常見問題
YubiKey 無法識別
- 檢查 USB 連接
- 確認驅動程式已安裝
- 嘗試重新插拔
PIN 錯誤
- 預設 User PIN:
123456
- 預設 Admin PIN:
12345678
- 如果忘記,可能需要重置
密鑰操作失敗
- 確認 YubiKey 已插入
- 檢查 PIN 是否正確
- 確認密鑰已正確移動到 YubiKey
重置 YubiKey
如果需要重置 OpenPGP 應用程式:
|
|
警告:此操作將清除所有 OpenPGP 數據!
安全建議
- 定期備份:定期更新密鑰備份
- PIN 安全:使用強 PIN,避免預設值
- 物理安全:妥善保管 YubiKey
- 備用方案:準備備用 YubiKey
- 定期測試:定期測試密鑰功能
進階用法
設置 gpg-agent
在 ~/.gnupg/gpg-agent.conf
中添加:
|
|
SSH 身份驗證
將身份驗證子密鑰用於 SSH:
|
|
總結
完成以上步驟後,您就成功設置了 YubiKey 與 OpenPGP。您的密鑰現在安全地存儲在硬體設備中,提供了額外的安全保護層。
記住:
- 妥善保管備份文件
- 定期測試密鑰功能
- 準備備用方案
- 遵循安全最佳實踐
如有問題,請參考 YubiKey 官方文檔 或相關社群資源。