FIDO U2F认证器简明原理

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,注册/认证成功

原文发布于微信公众号 - 安智客(china_safer)

原文发表时间:2018-05-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏冰霜之地

Ghost博客搭建日记

今年7月阴错阳差的给自己买了一台阿里云服务器,当时是想着自己折腾折腾后台,看能否打通前端和后端之间的任督二脉。直到我发现我原来放在GitPage上的博客访问速度...

3.6K40
来自专栏北京马哥教育

运维需要懂的那些安全技能

运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法 以前的认知 以前刚接触IT行业,而我身为运维,我以为我所需要做的安全就是修改服务器密码为复...

65650
来自专栏乐百川的学习频道

用本机电脑搭建网站(域名、DNS解析)

最近又准备瞎捣鼓一下个人网站。本来呢,如果是自己玩玩的话,用花生壳或者NAT123这样的动态DNS解析就可以了。但是最近花生壳这个吊玩意不知道怎么又没办法解析了...

1.7K90
来自专栏申龙斌的程序人生

零基础学编程035:群发邮件并不难

我是GTD的重度用户,GTD中讲究将所有事情先收集起来再说,所以收集操作越快越好,这样才不至于把手边的工作打断。很多老牌的GTD工具软件支持发邮件实现快速收集,...

53860
来自专栏好好学java的技术栈

java实现支付宝支付完整过程(沙箱测试环境,下篇整合ssm)

37230
来自专栏玄魂工作室

实战-Fluxion与wifi热点伪造、钓鱼、中间人攻击、wifi破解

Fluxion是一个无线破解工具,这款软件可以帮你挤掉WiFi主人的网络让你自己登陆进去,而且WiFi主人怎么挤也挤不过你。这个工具有点像是Lin...

81460
来自专栏FreeBuf

Linux爆新漏洞,长按回车键70秒即可获得root权限

按住回车70秒,黑客就能在linux系统绕过认证,进而获取root权限,并能远程控制经过加密的linux系统。 漏洞来源 这个安全问题来源于Cryptsetu...

33650
来自专栏北京马哥教育

Linux主机被入侵后的处理案例

IT行业发展到现在,安全问题已经变得至关重要,从“棱镜门”事件中,折射出了很多安全问题,信息安全问题已变得刻不容缓,而做为运维人员,就必须了解一些安全运维准则,...

737120
来自专栏LeoXu的博客

XCode 中引入目录的两种区分 原

XCode中引入文件资源,可以在要引入的节点上右键选择 “Add Files to XXXX”的选项,这时候会弹出来一个对话框,供你选择需要添加的目录或者文件。

14410
来自专栏云计算教程系列

如何在Ubuntu 16.04上安装和配置ownCloud

ownCloud是一个文件共享服务器,允许您将个人内容(如文档和图片)存储在集中位置,就像Dropbox一样。ownCloud的不同之处在于它是免费的开源软件,...

41700

扫码关注云+社区

领取腾讯云代金券