[英]WebauthN and Yubikey to generate keys for symmetric encryption in a browser. Is this hack secure?
我了解 WebauthN 旨在执行身份验证,但我想使用我的 Yubikey 创建对称加密密钥来加密我的 web 浏览器上的内容,而不依赖后端服务器。
这是我的方法:
navigator.credentials.get({ publicKey })
)期间,Yubikey 对客户端发送给验证者的挑战字符串进行签名。为了能够解密web浏览器上的内容。 我必须拥有 Yubikey 和挑战字符串才能进行 2 因素身份验证。
这种方法有什么问题吗?
为什么不使用Web 加密 API ?
此 API 专为客户端的 cypher 操作而设计,适用于您的用例(客户端加密)。 所有最近的浏览器都支持它。
请注意,您可能主要担心的是此 API 不支持硬件设备(智能卡、安全令牌...) 。
但是,您的 Yubikey 肯定能够生成安全的 static 密码,您可以将其用作您将派生的用于加密/解密数据的主密钥。
不,这是一个坏主意,原因如下:
您可以(错误)使用公钥请求有效负载的user.id
参数,即此处示例中的user
object: Web Authentication API
navigator.credentials.create({ user: {id: YOUR_KEY } })
中的 user.id 将密钥存储在身份验证器中要检索密钥,您可以通过提供 rawId 使用navigator.credentials.get({ publicKey })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.