1. FIDO与U2F
FIDO(Fast IDentity Online联盟)是一个基于标准、可互操作的身份认证生态系统。
U2F(Universal 2nd Factor)是FIDO联盟提出的使用标准公钥密码学技术提供更强有力的身份认证协议。
U2F在常用的用户名/密码的认证基础上又增加了一层第二因子(2nd Factor)的保护,这重保护是通过物理硬件来支持的。
2. U2F协议原理
FIDO的官方网站用两张图介绍了U2F的应用原理,它把应用过程分解为两个阶段:
注册阶段,如图1所示:
图1中的流程如下:
- 客户端提示用户选择符合在线服务策略的可用 的U2F设备。
- 用户使用U2F设备上的按钮解锁 U2F设备。
- U2F设备创建一对针对本地设备、在线服务和用户账户的独有的全新公/私钥对。
- 客户端将公钥发送给在线服务,并将其与用户的账户关联,私钥存放在U2F设备中。
鉴权阶段,如图2所示:
图2中的流程如下:- 在线服务要求用户使用之前注册使用的U2F设备登录。
- 用户使用U2F设备上的按钮解锁 U2F设备。
- 设备使用由服务器提供的用户的账户标识来选