前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >FIDO U2F认证器简明原理

FIDO U2F认证器简明原理

作者头像
安智客
发布2018-07-30 14:25:02
2.4K0
发布2018-07-30 14:25:02
举报
文章被收录于专栏:安智客安智客

U2F ( Universal 2nd Factor ) 是 Yubico, Yahoo 和 Google 联合开发的基于物理设备的双因素认证协议。这个物理设备就是U2F认证器。

U2F认证器类似国内的U盾保护机制,使用双因子(密码+硬件介质)保护用户账户和隐私。在各种网站中,我们经常要创建和记住多个用户名和密码,而且为了安全性还需把密码设置的死长死长。FIDO联盟就是通过规范和认证使基于认证器的生态系统,减少对密码的依赖,并防止钓鱼网站,中间人攻击和重放攻击。

U2F认证器特点:

1. 相较于各种银行U盾,无需驱动,无需浏览器插件。

2. APDU指令遵循ISO7816-4 规范。

3. 协议简单,只有获取版本、注册和认证3条指令。

4. 使用ECDSA算法(ECC-P256签名)实现注册和认证功能。

工作原理:

1.注册,用户登录服务器进行注册时,客户端生成注册信息发给认证器,注册信息=挑战数据+应用注册数据,如下:

认证器收到注册请求以后,产生一对非对称密钥(用于登录时的认证操作),私钥保存在认证器中,公钥传给服务器,并对上述数据进行签名(使用设备私钥进行签名,设备私钥由供应商预置),服务器将此公钥和用户对应的账户相关联。

2. 认证,用户登录服务器验证信息时,客户端生成挑战数据发给认证器,用户在认证器上按确认按键,认证器使用注册时产生的私钥对客户端发来的挑战数据做签名,服务器使用注册时认证器返回的公钥进行验签。

客户端发给认证器的数据,控制字段+挑战数据+应用数据+密钥句柄长度+句柄

以上是注册和认证的大致流程,如对技术细节感兴趣请参考《FIDO U2F Raw Message Formats》文档,下载地址:

https://fidoalliance.org/specs/fido-u2f-v1.0-ps-20141009/fido-u2f-raw-message-formats-ps-20141009.pdf

FIDO演示:

注册/认证:输入账号+密码(密码可以为空),插入U2F,注册/认证成功

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-05-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安智客 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
多因子身份认证
多因子身份认证(Multi-factor Authentication Service,MFAS)的目的是建立一个多层次的防御体系,通过结合两种或三种认证因子(基于记忆的/基于持有物的/基于生物特征的认证因子)验证访问者的身份,使系统或资源更加安全。攻击者即使破解单一因子(如口令、人脸),应用的安全依然可以得到保障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档