webauthn提供服务器端的任何身份验证吗?
或者不同的问题是,是否有任何防御措施来对抗假装是X站点的中间人攻击,对该站点执行看起来像webauthn登录,总是授予访问权限,而现在用户认为他们刚刚登录到站点X,却在和中间人交谈呢?(我知道中间人无法获得密码或令牌。)
发布于 2023-03-26 01:28:55
正如问题是中所讨论的@SteffenUllrich链接,webauthn的安全模型基于这样的假设,即它仅在“安全”上下文中使用,对于浏览器来说,这意味着“页面及其上的所有内容都通过HTTPS加载”,而HTTPS需要服务器身份验证(有些旧的SSL/TLS密码套件不需要服务器身份验证,但浏览器不允许使用它们)。因此,webauthn规范要求webauthn只能通过HTTPS公开。
引用规格的话:
客户端通过为每个操作向依赖方's 原点和RP ID提供鉴定人来简化这些安全措施。由于这是WebAuthn安全模型的一个组成部分,用户代理只向安全上下文中的调用方公开该API。特别是对于web上下文,这只包括那些通过建立的安全传输(例如TLS)访问的用户。
因此,虽然webauthn本身在技术上不支持相互身份验证,但它只能在服务器已经通过身份验证的上下文中使用,因此它只需要提供客户端身份验证。
https://security.stackexchange.com/questions/269318
复制相似问题