WebAuthn 是什么

Fanly 2019-03-11 11:10:33
问答

WebAuthn(Web身份验证)是由万维网联盟(W3C)发布的Web标准。WebAuthn是FIDO联盟指导下的FIDO2项目的核心组成部分。该项目的目标是标准化用户对基于Web的应用程序和服务的公钥认证的接口。

WebAuthn(Web 身份验证)是由万维网联盟(W3C)发布的 Web 标准。WebAuthn 是 FIDO 联盟指导下的 FIDO2 项目的核心组成部分。该项目的目标是标准化用户对基于 Web 的应用程序和服务的公钥认证的接口。

WebAuthn

在客户端,可以通过多种方式实现对 WebAuthn 的支持。底层加密操作由验证器执行,验证器是一种抽象的功能模型,与关键材料的管理方式大多不相关。这使得可以纯粹在软件中实现对 WebAuthn 的支持,利用处理器的可信执行环境或可信平台模块(TPM)。敏感加密操作也可以卸载到漫游硬件验证器,而后者又可以通过 USB,蓝牙低功耗或近场通信(NFC)进行访问。漫游硬件验证器符合 FIDO 客户端到认证者协议(CTAP),使 WebAuthn 有效地向后兼容 FIDO 通用第二因子(U2F)标准。

与传统的 U2F 类似,Web 身份验证具有弹性到验证者模仿的能力,即它可以抵御主动的中间人攻击,但与 U2F 不同,WebAuthn 不需要传统的密码。此外,漫游硬件验证器可抵抗恶意软件,因为私有密钥材料在主机上运行的软件不会被访问。

WebAuthn 1 级标准于 2019 年 3 月 4 日作为 W3C 建议书发布。正在制定 2 级规范。

了解

与其前身 FIDO U2F 一样,W3C Web 身份验证(WebAuthn)涉及网站,Web 浏览器和身份验证器:

  • 该网站是一个符合 WebAuthn 的依赖方
  • 浏览器是符合 WebAuthn 的客户端
  • 验证者是 FIDO2 验证者,也就是说,它被认为与 WebAuthn 客户端兼容

WebAuthn 指定了索赔人如何向称为 WebAuthn 依赖方的验证者证明拥有和控制 FIDO2 验证者。身份验证过程由称为 WebAuthn Client 的实体调解,该实体仅仅是一个符合 Web 的浏览器。

出于说明的目的,我们假设验证器是漫游硬件验证器(参见下面的其他选项)。在任何情况下,身份验证器都是一个多因素加密身份验证器,它使用公钥加密来签署针对 WebAuthn 信赖方的身份验证断言。假设验证者使用 PIN 进行用户验证,验证者本身就是您所拥有的,而 PIN 是您所知道的。

WebAuthn 依赖方通过 JavaScript 向 WebAuthn 客户端(即浏览器)表明其意图。WebAuthn 客户端使用浏览器中实现的 JavaScript API 与身份验证器进行通信。验证器符合 FIDO 客户端到验证器协议。

WebAuthn 并不严格要求漫游硬件验证器。或者,可以使用软件认证器(例如在智能手机上实现)或平台认证器(即,直接在 WebAuthn 客户端设备上实现的认证器)。平台验证器的相关示例包括 Windows Hello 和 Android 操作系统。

所示流程依赖于基于 PIN 的用户验证,就可用性而言,其仅是对普通密码认证的适度改进。在实践中,使用生物识别技术进行用户验证可以显着提高 WebAuthn 的可用性。然而,生物识别背后的后勤仍然知之甚少。用户之间存在一种常见的误解,即生物识别数据以与密码相同的方式通过网络传输,但实际情况并非如此。

支持

WebAuthn Level 1 标准于 2019 年 3 月 4 日由 Web 身份验证工作组作为 W3C 推荐标准发布。WebAuthn 受以下 Web 浏览器支持:Google Chrome,Mozilla Firefox,Microsoft Edge 和 Apple Safari(预览版)。Opera Web 浏览器也支持 WebAuthn 。

自版本 67 以来,桌面版 Google Chrome 一直支持 WebAuthn。Firefox 已经完全支持以前的 FIDO U2F 标准,它包括并启用了 2018 年 5 月 9 日发布的 Firefox 60 版 WebAuthn。早期版本 Windows Insider 版本的 Microsoft Edge(Build 17682)实现了一个版本的 WebAuthn,它既适用于 Windows Hello,也适用于外部安全密钥。

现有的 FIDO U2F 安全密钥在很大程度上与 WebAuthn 标准兼容,尽管 WebAuthn 添加了引用唯一的每个帐户“用户句柄”标识符的功能,旧标识符无法存储。首批与 FIDO2 兼容的验证器之一是 Yubico 的第二代安全密钥,于 2018 年 4 月 10 日宣布。

Dropbox 于 2018 年 5 月 8 日宣布支持 WebAuthn 登录(作为第二因素)。

0个人收藏 收藏

评论交流

泪雪默认头像 请「登录」后参与评论
  1. 加载中..

相关推荐

  • JWT JSON Web Token

    JWT是什么

    JWT(JSON Web Token)是一种用于网络身份验证和授权的标准工具,由头部、载荷和签名三部分组成。它轻量、安全、可扩展,通过签名确保信息完整性,无需服务器存储,适用于分布式系统和跨域应用。尽管具备众多优点,但需小心保管密钥,避免存储敏感信息,以确保安全使用。
  • Nginx

    Nginx节点的作用是什么

    Nginx节点是关键的网络中介,充当Web服务器、反向代理、负载均衡器和缓存服务器等多重角色。它提供高性能、高可用性、安全性和灵活性,适用于各种网络场景。配置Nginx节点是通过编辑文本文件,支持负载均衡策略、缓存设置、SSL加速等性能调优策略。
  • Proxmox VE 虚拟机

    Proxmox是什么

    Proxmox是一个支持小规模和企业级虚拟化的开源平台。 它基于Debian Linux,在一个平台下结合了两种虚拟化技术:使用 KVM 的完全虚拟化和轻量级Linux容器。 Proxmox VE具有内置的Web界面,可轻松管理多个节点和集群上的虚拟机和容器以及相关资源。
  • HTTP 代理 HTTP proxy

    HTTP代理是什么

    HTTP代理是一种在客户端和Web服务器之间转发HTTP请求和响应的网络代理。它可以使客户端在发送HTTP请求时将其流量通过代理服务器转发到目标服务器,并在接收到目标服务器的HTTP响应后再将其传输回客户端。
  • WSS 协议 WebSocket SSL

    WSS协议是什么

    WSS协议是WebSocket协议的加密版本,它使用TLS/SSL协议对WebSocket连接进行加密。wss协议可以在不安全的网络环境中提供安全的WebSocket连接,保护数据的机密性和完整性,防止被恶意拦截、篡改或窃听。
  • WS 协议 WS WebSockets

    WS协议是什么

    WebSocket(简称WS)是一种在单个TCP连接上提供全双工通信信道的网络协议,允许服务器和客户端进行实时数据推送和交互。它最初是在HTML5规范中提出的,并且已经成为标准化的协议。WebSocket协议提供了一种新的通信方式,它的实现方式与HTTP有很大的不同。