FIDO 联盟(Fast IDentity Online Alliance)简介
FIDO Alliance,成立于2012年7月。
FIDO的目标是创建一套开放的标准协议,保证各个厂商开发的强认证技术之间的互操作性,改变目前的主流在线验证的方式(即使用密码作为主要验证手段),消除或者减弱用户对密码的依赖。对于互联网公司来说,随着重大数据泄露事故的频发,过去基于密码的在线身份验证技术已经难以维持互联网经济的稳定发展,安全界关于"密码已死"的呼声越来越高。而FIDO联盟正是在这个背景下应运而生的一个推动去密码化的强认证协议标准的组织。
FIDO 基本原理
FIDO协议分为两大类:U2F和UAF。对应的也有两套规范(UAF Specifications,U2F Specifications),
下载地址:https://fidoalliance.org/specifications/download/
UAF: Universal Authentication Framework protocol.
UAF 支持指纹、语音、虹膜、脸部识别等生物身份识别方式。无需用户密码(Passwordless)介入,直接进行验证交易。用户在注册阶段,根据服务器支持的本地验证方式,选择一种验证方式,如:指纹识别,人脸识别,语音识别,等等,服务器也可保留密码验证方式,将密码和生物识别相结合,增强账户安全性。
U2F: Universal Second Factor (U2F) protocol.
U2F类似国内的二代U盾的保护机制,使用双因子(密码和能与用户交互的设备)保护用户账户和隐私。用户在注册阶段,使用服务器支持的加密设备,将账户和设备绑定。当进行登录验证操作时,服务器在合适的时候,提示用户插入设备并进行按键操作,加密设备对数据签名,发送给服务器,服务器做验证,如果验证成功,用户则可登录成功。由于有了第二因子(加密设备)的保护,用户可以选择不设置密码或者使用一串简单易记的4位密码。
FIDO 工作原理
FIDO协议使用标准的非对称公私钥对来提供安全保障。确切的说,FIDO草案中使用的是ECDSA。
- 当用户登录服务器注册信息时,用户的加密设备产生一对非对称密钥对,私钥在加密设备中保留,黑客无法读取,公钥传给服务器,服务器将此公钥和用户对应的账户相关联。
- 当用户登录服务器验证信息时,用户使用设备中的私钥对服务器的挑战数据做签名,服务器使用对应的公钥做验证。用户的设备中的私钥,必须经过用户解锁(如按键,按下指纹等),才能被用来做签名操作
本文来源:博客园 - 测试蝈蝈