FIDO2硬件上架,但它带来的局限性是什么?
FIDO2 hardware hits the shelves, but what are the limitations it brings with it?
我阅读了 Yubico 的所有出版物并查看了网络研讨会,但出于某种原因他们保留了一些信息。
当使用 Yubikey 5 作为单一强因子时,他们声称验证器(我猜他们指的是物理密钥的 CPU)为您使用 [=30= 注册的每个站点生成一个密钥对] 方法。他们承认注册人数是有限制的,因为他们每个人都在密钥上占用一个插槽,所以它不像 U2F 那样是无限的。因此我想:
- 新5系的槽位上限是多少? (目前我不知道还有其他供应商提供 FIDO2)
- 是否可以手动重置旧的已用插槽以释放空间?
- 远程恶意站点是否可能创建多个密钥注册事件,导致密钥填满所有空闲槽?
- 当我进入我注册了多个帐户的服务的登录页面时,链的哪一部分要求我选择我希望用于登录的凭据?本地客户端(通常是 Web 浏览器)还是远程服务器?
- 远程服务器是否可以检测到两个帐户使用相同的密钥注册?这不是用户应该注意的隐私问题吗?
感谢您提供的任何信息,无论是一般的 FIDO2 还是具体的 Yubico 硬件。
(尝试标记此 FIDO2,但无法创建新标记)
我可以尝试回答您的一些问题:
- 硬件令牌基本上有两种选择:为每个注册生成和存储新的密钥对(称为驻留密钥)或使用密钥包装和依赖方服务器上的 "store" 密钥作为 credentialId(https://www.w3.org/TR/webauthn/#sctn-credential-storage-modality). YubiKey 5 supports both options: when relying party asks to use your key as MFA/passwordess (
"requireResidentKey": false
), then new key pair is generated and stored on device; when relying party asks to use your key as second factor only, then key-wrapping is used and no internal memory is used. YubiKey 5 can store only 25 key pairs (https://support.yubico.com/support/solutions/articles/15000014219-yubikey-5-series-technical-manual#FIDO2r09kph).
- 您只能将您的令牌恢复出厂设置(什么都不做)。这是由 CTAP2 (https://fidoalliance.org/specs/fido-v2.0-rd-20170927/fido-client-to-authenticator-protocol-v2.0-rd-20170927.html#authenticatorReset) 定义的。理论上 Yubico 可能会提供自定义工具来逐个管理凭据,但我不知道有这样的工具。
- 除非您每次都触摸按键(存在检测)。
- 这取决于依赖方。 WebAuthn (FIDO2) 允许这两种情况,Yubikey 5 支持这两种情况。如果网站仅将令牌用作第二个因素(如 U2F),则它会要求提供特定凭证。如果您的密钥用作无密码令牌并且依赖方不要求提供特定凭证,则平台(或浏览器)会收集所有链接到依赖方的凭证并显示选择对话框。
- 是也不是。依赖方可以向您的令牌提供已知凭据列表(CTAP2 中的 excludeList),然后如果您的令牌已经具有该列表中的凭据,则您的令牌必须拒绝注册。但这仅对防止将相同密钥分配给同一帐户有用。
对于问题2。
我已经使用 yubikey Manger CLI 工具“ykman.exe”
清除了 yubikey 5 系列的 FIDO 注册
# PowerShell
Set-Location -Path "$env:ProgramFiles\Yubico\YubiKey Manager"
.\ykman.exe
我阅读了 Yubico 的所有出版物并查看了网络研讨会,但出于某种原因他们保留了一些信息。
当使用 Yubikey 5 作为单一强因子时,他们声称验证器(我猜他们指的是物理密钥的 CPU)为您使用 [=30= 注册的每个站点生成一个密钥对] 方法。他们承认注册人数是有限制的,因为他们每个人都在密钥上占用一个插槽,所以它不像 U2F 那样是无限的。因此我想:
- 新5系的槽位上限是多少? (目前我不知道还有其他供应商提供 FIDO2)
- 是否可以手动重置旧的已用插槽以释放空间?
- 远程恶意站点是否可能创建多个密钥注册事件,导致密钥填满所有空闲槽?
- 当我进入我注册了多个帐户的服务的登录页面时,链的哪一部分要求我选择我希望用于登录的凭据?本地客户端(通常是 Web 浏览器)还是远程服务器?
- 远程服务器是否可以检测到两个帐户使用相同的密钥注册?这不是用户应该注意的隐私问题吗?
感谢您提供的任何信息,无论是一般的 FIDO2 还是具体的 Yubico 硬件。
(尝试标记此 FIDO2,但无法创建新标记)
我可以尝试回答您的一些问题:
- 硬件令牌基本上有两种选择:为每个注册生成和存储新的密钥对(称为驻留密钥)或使用密钥包装和依赖方服务器上的 "store" 密钥作为 credentialId(https://www.w3.org/TR/webauthn/#sctn-credential-storage-modality). YubiKey 5 supports both options: when relying party asks to use your key as MFA/passwordess (
"requireResidentKey": false
), then new key pair is generated and stored on device; when relying party asks to use your key as second factor only, then key-wrapping is used and no internal memory is used. YubiKey 5 can store only 25 key pairs (https://support.yubico.com/support/solutions/articles/15000014219-yubikey-5-series-technical-manual#FIDO2r09kph). - 您只能将您的令牌恢复出厂设置(什么都不做)。这是由 CTAP2 (https://fidoalliance.org/specs/fido-v2.0-rd-20170927/fido-client-to-authenticator-protocol-v2.0-rd-20170927.html#authenticatorReset) 定义的。理论上 Yubico 可能会提供自定义工具来逐个管理凭据,但我不知道有这样的工具。
- 除非您每次都触摸按键(存在检测)。
- 这取决于依赖方。 WebAuthn (FIDO2) 允许这两种情况,Yubikey 5 支持这两种情况。如果网站仅将令牌用作第二个因素(如 U2F),则它会要求提供特定凭证。如果您的密钥用作无密码令牌并且依赖方不要求提供特定凭证,则平台(或浏览器)会收集所有链接到依赖方的凭证并显示选择对话框。
- 是也不是。依赖方可以向您的令牌提供已知凭据列表(CTAP2 中的 excludeList),然后如果您的令牌已经具有该列表中的凭据,则您的令牌必须拒绝注册。但这仅对防止将相同密钥分配给同一帐户有用。
对于问题2。 我已经使用 yubikey Manger CLI 工具“ykman.exe”
清除了 yubikey 5 系列的 FIDO 注册# PowerShell
Set-Location -Path "$env:ProgramFiles\Yubico\YubiKey Manager"
.\ykman.exe