WebAuthn无密码身份验证技术

您所在的位置:网站首页 阿迪达斯的包包多少钱 WebAuthn无密码身份验证技术

WebAuthn无密码身份验证技术

2023-11-10 16:05| 来源: 网络整理| 查看: 265

背景

WebAuthn全称是Web Authentication API,是由W3C和FIDO在 Google、Mozilla、Microsoft、Yubico 等公司的参与下编写的规范。WebAuthn是一组在服务器、浏览器和身份验证器之间启用无密码身份验证技术。一般使用非对称加密技术,用公钥代替传统的密码,来注册和验证用户。主流浏览器Chrome、Firefox、Edge 和 Safari 都支持 WebAuthn。

注册流程

用户进入注册页面,填写个人资料后,提交给服务端。

服务端收到个人资料后,生成Challenge(随机字符串)和凭证 ID(用户的userID)返回给客户端。

客户端将Challenge 、凭证 ID和服务器域名信息发送给验证器(Authenticator),验证器可以是FaceID、实体秘钥等认证设备,存在多个设备可以让用户选择一种验证器。

验证器判断域名+凭证 ID是否存在密钥对,不存在就创建新的密钥对(公私钥)。验证器将私钥存在域名+凭证 ID下,再用私钥签名Challenge,将签名结果、凭证 ID和公钥返回给客户端(浏览器)。

浏览器把结果传给服务器

服务器取出凭证 ID对应的Challenge,用公钥签名Challenge,将结果和浏览器返回的签名比较,一致表面验证通过。然后,把凭证 ID对应的公钥存下来。

认证流程

用户进入登录页面,输入用户名后点击登录

服务器返回凭证 ID(userID)和Challenge

浏览器将域名、凭证 ID(userID)和Challenge发给验证器

验证器通过域名、凭证 ID找到私钥,通过私钥签名Challenge,将签名结果返回给浏览器。

浏览器将将签名结果、凭证 ID发给服务器

服务器取出凭证 ID对应的Challenge,用公钥签名Challenge,将结果和浏览器返回的签名比较,一致表面验证通过,允许用户登录。

引用 接口文档: https://webauthn.guide/



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3