baobao1270
2022-03-29 05:12:53 +08:00
Windows 凭据管理器可以脱离 YubiKey 运行。其本身是否加密,与 Windows Hello 、YubiKey 无关。如果我没记错,在没有其他保护的情况下是使用 Windows 账户进行加密的——意味着只要你登录了 Windows 且 Windows 密码被人知道,那么凭据管理器就不安全了。
FIDO/U2F 本质是非对称加密,私钥始终保存在 YubiKey 里。私钥的安全性并不靠 YubiKey PIN 保证。是否需要输入密码,只是一个逻辑判断,取决于请求认证的一方的代码实现。
在 WebAuthn 协议中,将 publicKey.userVerification 设置为 "discouraged" 即可禁止在进行 FIDO/U2F 验证时输入密码;设置为 "required" 即可强制在进行 FIDO/U2F 验证时输入密码。也就是说,网站可以通过 JavaScript 控制验证时是否需要输入 PIN 。Cloudflare 、Microsoft 官网使用的是前者,而 Namecheap 、Google 使用的是后者。这意味着是否输入 PIN 与私钥是否安全无关。