Duo 中使用 Yubico OTP,即是使用下面「Duo 支持的验证方式」中所说的「硬件 Token」→「YubiKey 令牌」。要使用 YubiKey 硬件令牌,需要在 Duo 管理面板中导入 Yubikey 中存储的 OTP 密钥。如果不知道当前存储的密钥,则需要使用 YubiKey Manager 重新配置 YubiKey 的 OTP。
特别注意:重新配置 YubiKey 的 OTP 后,可能将您锁在使用旧 OTP 的服务账户之外,请确保您明白重置 YubiKey OTP 的后果。
Duo「硬件 Token」支持所有带一次性密码(OTP)功能的 YubiKey 钥匙,例如 YubiKey 5 系列、4 系列、FIPS 系列等。YubiKey 产品对比。
Duo 支持的验证方式
- Duo 推送(Duo Push):使用 Duo Mobile 应用程序推送通知
- Duo 短信(Duo SMS Passcode):使用发送给您电话号码的短信
- Duo 电话(Duo Phone Call):使用电话回拨(部分国家不支持)
- 硬件 Token(Hardware Token):使用在 Duo 管理面板中为用户设置的硬件 Token。支持 Duo 自家的 D-100 硬件令牌以及 HOTP、TOTP 和 YubiKey 令牌(Yubico OTP)
- 绕行代码(Bypass Code):使用在 Duo 管理面板中为用户设置的绕行代码,可以指定其过期时间和使用次数
- Duo U2F 安全钥匙:使用在 Duo 管理面板中为用户添加的 U2F 安全钥匙。支持任何经过 FIDO U2F 认证的钥匙,如 YubiKey、Titan 等支持 U2F 的安全钥匙
Duo 短信和 Duo 电话属于收费服务,每次使用将消耗一定的「电话积分」。Duo 免费计划和付费计划初始拥有 500 个永不过期的备用积分,Duo 付费计划将额外获得 100 积分/年/用户。要了解支持的国家和地区,以及更多关于「电话积分」的帮助,请参阅这里。
00-大致的步骤
- 获取您的 YubiKey 中的 OTP 密钥(或使用 YubiKey Manager 重新配置 OTP 密钥)
- 将 OTP 密钥添加到 Duo 管理面板中并分配给用户
- 在 Bitwarden 等服务中测试 Duo Token 方式的两步登录
01-获取/配置您的 YubiKey 中的 OTP 密钥
注意:
- 特别注意:重新配置 YubiKey 的 OTP 后,可能将您锁在使用旧 OTP 的服务账户之外,请确保您明白重置 YubiKey OTP 的后果。
- 无任何办法读取已写入到 YubiKey OTP 插槽中的 Public ID、Private ID 和 Secret Key 的值。所以在写入之前,您必须将它们记录下来,后面在 Duo 管理面板中添加 YubiKey Token 时需要使用这些值。
- Public ID 必须是 Modhex 格式的 12 个字符。(注:什么是 Modhex?为了尽可能不受系统键盘设置的限制而规定的一种类十六进制字母表。此字母表被称为 ModHex 或 Modified Hexadecimal,由字母
cbdefghijklnrtuv
组成,对应于十六进制数字0123456789abcdef
)
- 安装并打开 YubiKey Manager 应用程序(注意:Windows 10 系统下要选择使用管理员身份运行)
- 选择 Applications → OTP,点击要配置的插槽下的 Configure 按钮,然后选中 Yubico OTP
- 生成 Public ID、Private ID 和 Secret Key
- 先记录下他们的值,再将其写入到 YubiKey 中
- 如果您的 YubiKey OTP 只用在 Duo 中,可以不用将其上传到 YubiCloud,Duo 可以独立于 YubiCloud 来验证 OTP 密钥
02-在 Duo 管理面板中添加 Token
- 进入 Duo 管理面板
- 导航到 2FA Devices → Hardware Tokens
- 点击 Import Hardware Tokens 按钮
- Token type 选择 YubiKey AES
- CSV token data 字段输入刚才生成的 Public ID、Private ID 和 Secret Key,格式为
<serial number>,<private identity>,<secret key>
- 将导入的 YubiKey Token 分配给用户
03-在 Bitwarden 中测试 Duo Token 方式的两步登录
在 Bitwarden 的 Duo 两步登录验证界面,Device 类型选 Token。如图: