1
dingwen07 2022-03-29 04:49:25 +08:00 via iPhone
你确定是作为“智能卡”? Bio FIDO 没有这个功能啊
如果你说的是 Azure AD 的 FIDO 登录,考虑到在云端更改密码之后只要本地联网就可以正常登录并且解锁凭据,应该是用于解密凭据存储的密钥是由 AD 域管理的。 |
2
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 与私钥是否安全无关。 |
3
gollwang 2022-03-29 09:30:21 +08:00
@baobao1270 UV 和 UP ,哈哈
|
4
rv54ntjwfm3ug8 OP @dingwen07 #1 是安全密钥( Security Key ),我打成智能卡了
@baobao1270 #2 仅支持 FIDO 的 YubiKey 也可以通过 Windows Hello 来登录 Windows ,是否说明了 Windows 凭据管理器没有加密? |
5
baobao1270 2022-03-29 11:50:56 +08:00
@theklf4 我已经说了“Windows 凭据管理器是否加密与 YubiKey 无关。
Windows 凭据管理器的加密是依靠 Windows 账户完成的。不管是输入 Windows 密码,还是使用 YubiKey ,本质上都是解密账户、然后用 Windows 账户本身的证书去解密凭据管理器。这个与 FIDO/U2F 无关。 |
6
qbqbqbqb 2022-03-29 14:58:40 +08:00 1
@theklf4 Windows 凭据管理器是否加密的情况是比较复杂的。
1 ) 如果 Windows 账户是纯密码登录的话那就是有正常的加密,是安全的。 2 ) Win8 的“图片密码”是不安全的,加密 key 明文保存在注册表里。 3 ) 如果启用了 Windows hello (包括 PIN ,指纹,人脸等),加密会由一个叫 Next Generation Cryptography (简称 NGC 或者 CNG )的组件负责,这个安全性要看电脑是否有 TPM ,有 TPM 时会用 TPM 生成和保护相应的加密 key ,没 TPM 就是明文保存了。 参考资料: https://www.insecurity.be/blog/2020/12/24/dpapi-in-depth-with-tooling-standalone-dpapi/ |
7
qbqbqbqb 2022-03-29 15:09:12 +08:00
另外 FIDO2 也不是完全不能用来加解密。最简单的方法就是可以用 FIDO2 设备签名一段特定的明文数据来派生出一个加密密钥(这样如果你不持有相应的 FIDO2 设备就不能签出同样的签名,从而就不能得到密钥)。其实就是 HMAC 的方案。
用这种方法的话,只要 FIDO2 设备的芯片是安全的不会泄露内部签名私钥,同时加密软件也不把派生出来的密钥写入硬盘,就和普通的纯软件纯密码对称加密一样安全了。 |