1、FIDO 线上身份验证标准介绍UAF 协议FIDO 的另一身份验证协议 UAF,全称为通用认证框架协议(Universal Authentication Framework Protocol)。如下图所示,借助功能强大的智能设备以及最新的生物识别技术(如指纹识别、语音识别、人脸识别或虹膜识别等),UAF 为用户提供一个无密码、安全性能高、使用方便以及隐私性好的在线身份验证方案。如示意图所示,在整体上看,UAF 与 U2F 的技术原理大致相同,但具体实现流程更加符合智能设备特征。它也可以分为两大步:第一步:用户设备注册。如图所示,用户进行 UAF 注册大致分为 5 个步骤:(1)用户终端通过 A
2、PP 向应用提供方提交用户名和其它必要用户数据,申请启动 UAF 注册程序。(2)应用提供方服务器收到用户请求后,通过用户应用向智能设备中的 UAF 客户端发出注册申请。(3)UAF 客户端收到注册申请后,通过应用接口调用 UAF 身份验证器,并向用户提供本设备支持的本地确认方式供用户选择与确认;在用户确认后,UAF 身份验证器生成新的公私钥对。这里需要注意的是,用户在获得一个支持 UAF 协议的智能终端(如手机)后,需要像日常使用那样先在设备上录入用户设备识别信息完成本地认证。例如利用指纹识别模块采集用户的指纹信息、利用麦克采集用户的语音信息、或者利用摄像头采集用户的面部或虹膜信息等,完成用
3、户与设备之间的认证信息采集,并存储在本设备的安全单元中。UAF协议只是调用这些信息用于所必须的用户确认操作,不需要上传服务器或用作其它用途。(4)UAF 客户端将 UAF 身份验证器生成的公钥与相关数据借助用户应用发送给应用服务器。(5) 应用提供方 UAF 服务器验证收到公钥信息的真实性并保存供后续交易使用。第二步:身份验证或交易授权(1) 按照 UAF 协议完成注册后,当需要用户身份验证或交易授权时,应用提供方向用户应用发起 UAF 申请身份验证或交易授权指令;(2) 用户应用收到指令后,通知 UAF 客户端收并一并推送待签名数据;(3) UAF 用户端通过接口调用 UAF 身份验证器,在
4、得到用户批准确认后(即当前用户信息与注册时的用户信息相匹配),利用私钥签名需要认证的数据;(4) UAF 用户端通过用户应用将签名数据推送回后台服务器;(5) UAF 服务器验证签名数据通过后,完成身份验证或交易授权,批准此次操作;反之,身份验证或交易授权失败。在协议框架设计过程中,同 U2F 协议,UAF 协议同样采用了功能分层设计理念,将整个协议实现分为了 UAF 客户端与 UAF 身份验证器两个功能层。UAF 客户端又被成为 UAF 适配层(UAF Authenticator Abstraction Layer),为用户应用提供 UAF 协议提供身份验证实现接口,但屏蔽实现细节,支持不同的操作系统与应用,提升 UAF 的兼容性; UAF 身份验证器则负责 UAF 用户身份验证协议具体实现。