无需登录 数据私有 本地保存

WebAuthn模拟器 - 创建与验证凭据

8
0
0
0

WebAuthn 模拟器

模拟 Web Authentication API 的凭据创建与验证流程

已存储凭据:0
操作面板
填写注册信息 生成凭据 存储凭据
依赖方信息 (Relying Party)
通常是域名,不含协议和端口
用户信息 (User)
认证参数
选择已注册凭据 生成挑战 验证签名
凭据存储 0

暂无凭据

创建凭据后将在此显示

操作日志
就绪,等待操作...
WebAuthn 常见问题与知识点
什么是 WebAuthn?
WebAuthn(Web Authentication)是 W3C 和 FIDO 联盟制定的浏览器标准,允许网站使用公钥加密技术进行无密码认证。它利用设备内置的认证器(如指纹、面部识别、安全密钥等)来代替传统密码,提供更安全、更便捷的用户认证体验。WebAuthn 是 FIDO2 项目的核心组成部分。
创建凭据(Create)与验证凭据(Get)的区别?
创建凭据(navigator.credentials.create):用于注册阶段,用户首次在网站注册时,浏览器生成一对公私钥,公钥发送给服务器存储,私钥安全保存在用户设备中。
验证凭据(navigator.credentials.get):用于登录阶段,服务器发送挑战,用户设备使用私钥签名后返回断言,服务器用存储的公钥验证签名。
什么是依赖方(Relying Party / RP)?
依赖方就是使用 WebAuthn 进行用户认证的网站或应用。RP ID 通常是网站的域名(如 example.com),它限定了凭据的使用范围——一个凭据只能在与其 RP ID 匹配的网站上使用,这有效防止了钓鱼攻击。
什么是挑战(Challenge)及其作用?
挑战是服务器在认证过程中生成的一次性随机字节序列(通常 32 字节)。它的核心作用是防止重放攻击——每个认证请求的挑战都不同,即使攻击者截获了签名响应,也无法在不同会话中重复使用。挑战由服务器生成,客户端签名后返回,服务器验证签名时也会验证挑战是否匹配。
WebAuthn 支持哪些加密算法?
最常用的是 ES256(ECDSA with SHA-256,算法标识 -7),几乎所有认证器都支持。其他可选算法包括:RS256(-257)、ES384(-35)、ES512(-36)和 EdDSA(-8,即 Ed25519)。ES256 因其高效和广泛兼容性成为事实标准。
Platform 与 Cross-Platform 认证器有何不同?
Platform(平台认证器):集成在用户设备中,如 Touch ID、Face ID、Windows Hello、Android 指纹等。绑定到特定设备。
Cross-Platform(跨平台认证器):外部设备,如 USB 安全密钥(YubiKey)、蓝牙/NFC 密钥。可以在不同设备间移动使用,安全性更高。