是否可以将多个YubiKey添加到.kdbx文件中



我正在测试Yubico YubiKey 5 NFC。我使用KeePassXC来保存合理的信息。KeePassXC接受YubiKeys,但只有一个。是否可以在一个.kdbx文件中添加多个?

在两个独立的YubiKeys中拥有两个不同的种子是不可能的。您需要将相同的种子添加到另一个YubiKey中以保留其副本。文档说明:

如果我的YubiKey坏了会发生什么?我可以创建备份密钥吗?

您应该始终复制存储在YubiKey上的HMAC机密,并将其保存在安全的位置。这可以是一份模拟纸质副本,但由于YubiKey个性化工具允许您将自定义密钥编程到密钥中,您也可以使用相同的密钥编程第二个密钥

我可以在KeePassXC数据库中注册多个YubiKey吗?

您只能使用一个密钥来加密数据库。所以你可以使用多个YubiKey,但它们都必须用相同的秘密进行编程(见上面的问题(。

在两个YubiKeys的插槽2中设置相同id的解释如下。您必须将&粘贴相同的种子。

建议在YubiKeys&定期保存数据库以生成新的质询/响应对。远非完美,但比一个密码要好。以下方法(HMAC-SHA1的挑战响应(适用于带有KeePassXC v2.6.2和2x YubiKey 5 NFC的Ubuntu固件v.4.3:

  1. 安装ykman(Yubiky经理的一部分(
$ sudo apt-get install yubikey-manager        
  1. 检查钥匙#1和钥匙#2中的插槽#2是否为空。您将覆盖两个键上的插槽#2
$ ykman otp info 
Slot 1: programmed
Slot 2: empty
  1. 生成一个base32编码的秘密种子(例如:"SECRETSEED"(,该种子将被编程到两个密钥中。RFC2104建议您的种子与底层哈希函数一样长(SHA1为20字节(
$ base32
SECRETSEED<Enter>
CTRL+D
BASE32SECRETSEED
$

请注意,上述方法将CR添加到种子中。将SECRETSEED存储在安全的地方(最好不是数字(,以防您丢失两个密钥

  1. 对产生的";BASE32SECRETSEED";到键#1和键#2
$ ykman otp chalresp -t 2
Enter a secret key: BASE32SECRETSEED
Program a challenge-response credential in slot 2? [y/N]: y
  1. 使用两个键验证相同的挑战是否给您相同的响应
$ ykman otp calculate 2 
Enter a challenge (hex): deadbeef
Touch your YubiKey...
aabbccdd11223344556677889900aabbccdd1122
  1. 将您的一个密钥添加到KeePassXC数据库

数据库>数据库安全>添加额外保护>添加YubiKey挑战响应

  1. 现在两个键都可以解锁/保存数据库

参考:

  • https://developers.yubico.com/Developer_Program/Guides/Touch_triggered_OTP.html
  • https://github.com/Yubico/python-yubico/blob/master/examples/rolling_challenge_response
  • https://wiki.archlinux.org/title/YubiKey
  • https://www.rfc-editor.org/rfc/rfc2104

最新更新