我了解 WebauthN 旨在执行身份验证,但我想使用我的 Yubikey 创建对称加密密钥来加密我的网络浏览器上的内容,而不依赖于后端服务器。
这是我的方法:
- 在断言挑战(
navigator.credentials.get({ publicKey })
)期间,Yubikey 签署了一个挑战字符串,客户端发送给验证者。 - 我提取签名的质询,使用 SHA256 对其进行哈希处理,并将其用作我的新对称加密密钥以进行 AES256 加密。
- 只要向 Yubikey 发送相同的挑战字符串,加密密钥将始终相同。
为了能够解密网络浏览器上的内容。我必须拥有 Yubikey 和挑战字符串才能进行 2 因素身份验证。
这种方法有什么问题吗?