YubiKey 怎么玩:认识 YubiKey Manager

By | 2023年1月11日

在之前的文章为 WordPress 添加支持无密码登录认证中 reizhi 曾经简单的提了一嘴 YubiKey 配合 Webauthn 实现无密码登陆的玩法,算是个开胃小菜。不过 Webauthn 并不一定需要独立的 USB 安全密钥,其他生物识别硬件也是可以的。后面 reizhi 会正式围绕 YubiKey 发布一系列文章,介绍这个十美元小玩具的各种玩法。

今天的第一篇就让我们先来认识一下官方配套软件 YubiKey Manager 。

图1

YubiKey Manager 的主功能位于 Applications 菜单之下,分别为 OTP ,FIDO2 和 PIV 。下面我们逐个来说。

1.OTP

OTP 的全称是 One Time Password 即一次性密码,可以理解为按感应按钮(图1上中间圆形黄色的部分)生成一次性密码。此处可以看到两个快捷槽位,分别对应的是短触(槽1)和长触(槽2)操作。在出厂时 Yubikey 已经配置好了短触动作,这里可以直接点击 Delete 删除或者 Configure 重新配置。

中间的 Swap 按钮可以交换短触和长触的响应功能。

点击 Configure 之后可以看到四个选项,其中 Yubico OTP 和 OAUTH-HTOP 主要面向开发者,对于个人而言基本用不到,本文就直接略过了。

2.1 Staitc password

Staitc password 也比较好理解,就是输出固定的密码,点击 Next 即可进行设置。在设置好后,短触或者长触感应按钮即可自动填充预设好的密码,并按下回车。

用例示范:

设置短触(槽1)类型为 Static password ,密码内容为 123abc#$% 。将 QQ 密码设置为 qq123abc#$% ,微博密码设置为 wb123abc#$% ,以此类推。

登录 QQ 时手动输入 qq 随后短触 YubiKey 即可完成登录,同理登录微博时手动输入 wb 随后短触即可。

Challenge-response 模式在按下按钮后并不输出任何密码,而是配合第三方软件用来进行身份验证。这里我们以 WinAuth 为例进行简单的示范。

2.2 Challenge-response

点击 Next 之后再点击 Generate 创建一个随机密钥(Secret key),并且将其复制后保存在安全可靠的地方。最后勾选 Require touch 并点击 Finish 。YubiKey 这边的 Challenge-response 槽位就设置好了。

然后转到 WinAuth 这边,勾选 Lock with a YubiKey 。其中槽1和槽2分别对应 YubiKey 中的短触和长触。勾选 Require button press 最后点击 Use Slot 。如果不出意外 WinAuth 会提示短触或长触 YubiKey ,按提示操作后即可看到验证成功的信息。

设置成功后每次启动 WinAuth 都会要求验证 YubiKey 并短触或长触。如果需要设置多个 YubiKey 都能够验证的话,只要在 YubiKey Manager 的 OTP 页面中配置相同的 Secret key 即可。

注意:Secret key 在设置完成后就不会再次显示,务必做好备份。

除了 WinAuth 之外,开源密码管理器 KeePassXC 也支持 YubiKey 的 Challenge-response 。

2.FIDO2

FIDO2 部分相对简单,主要是用于 web 相关的身份认证。此处只需要设置一个 PIN 即可开始使用了。FIDO2 的应用场景主要有无密码登录(如微软)和两步验证登录(如 Google Cloudflare 等)。在之前文章中所提到的 WordPress 无密码登录就是使用了 FIDO2 部分的功能。

除了上面提到的网站之外,AWS, 1Password, Lastpass, Bitwarden 等网站也支持 FIDO2 。只需要在对应网站设置页面激活启用即可,如果有多个 YubiKey 需要逐一进行绑定。篇幅限制就不详细介绍绑定方法了,按照网页提示一般不会有什么问题。

如果忘记 PIN 或者连续输错8次,FIDO2 模块会被锁定,此时可以点击 reset 恢复出厂。但相应的之前绑定过 YubiKey 的网站都会失效。

注意:绑定 YubiKey 之后建议同时开启另一种两步验证,如邮箱或短信。

3.PIV

图2

PIV 部分类似传统的网银盾,YubiKey 内置了数个槽位用于存放不同类型的数字证书,可以用于身份验证、数字签名以及加密等。篇幅所限本文暂时只介绍如何来设置 PIN PUK 和 Management Key ,后续其他文章再详细介绍 PIV 部分的使用方法。

PIN 和 PUK 的设置都相对简单,点击 Configure PINs 后分别进入 PIN 和 PUK 进行设置即可,长度限制为 6-8 位。出厂默认的 PIN 和 PUK 可以勾选 Use default 自动填充。PIN 有三次输入机会,连错三次后需要输入 PUK 才能解锁。

当然,如果你不小心把 PIN 和 PUK 都锁住了,可以点击图2中的 Reset 完全重置 PIV 功能。此时不仅会恢复 PIN 和 PUK 为出厂值,同时也会删除所有存储的证书。所以建议将 PUK 备份在安全的地方以备不时之需。

最后是 Management key 部分,同样勾选 Use default 后再点击 Generate 生成一个随机密钥,并勾选 Protect with PIN 。因为 Management key 后续不会再显示,所以务必将其复制后备份在安全的地方,再点击 Finish 。

Management key 主要负责私钥的生成,相对而言 AES 安全性更好,TDES 属于过时的加密算法。不过对于个人而言应该不算是太大的问题。

4.总结

其实也没什么好总结的,YubiKey Manager 里的三个模块依次是:快捷操作,在线验证和数字证书。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

滑动到最右以进行验证 *