Yubikey 5 NFC 同 GPG 密钥的使用

我有两个 Yubikey,一个是功能有限的 Yubico Security Key NFC,和 Yubikey 5 NFC,我使用了两个的 U2F 功能,用来登录那些支持此协议的二步登录。

而对于 Yubikey 5 NFC,因为它还能当做一个 smart card 使用。

于是在生成了 GPG 主密钥,和具有三个单独用处的三个子密钥之后,我需要把子密钥的私钥存入到 Yubikey 中。

前提

这只是我的使用环境。在 Windows 10 上安装了 Git Bash,它所自带的 gpg 命令。目前的版本是 2.2.29.

此处略去相关代码,请查看桌面标准版文章。

在系统中,已经有了一个主密钥具有 certify 功能,三个子密钥分别有 Sign,Encrypt,Auth 功能。而主密钥的私钥已经藏好了,不再操作系统中了。

密钥的过期时间

主密钥我给的是10年。
子密钥是2年。


密钥的算法

主密钥是 RSA 4096
子密钥是 Curve 25519

实际操作

打开 Git Bash 窗口,插入Yubikey 5 NFC。

此处略去相关代码,请查看桌面标准版文章。

可以看到子密钥们的 ssb 字符之后有个大于号,表示私钥实际上不在电脑系统中,而是在 yubikey 中。如果我需要用到子密钥的私钥做一些事情,会提示插入 Yubikey 来完成操作。


安全保护

现在安全措施是这样的。
主密钥以及吊销证书,和三个子密钥,公钥,放在了两个 USB 加密盘中。离线储存,分别保存。
本机上,只有公钥,子密钥的私钥在 Yubikey 上,随时使用。
而Yubico Security key 也同其中的一个 USB 盘放在了一起。