FIDO杂记

这个世界正深受口令所带来的隐患和困扰。这些可能的危害已经显而易见。
——FIDO联盟执行理事 Brett McDowell

通过标准Web API——WebAuthn,Web应用开发者可以轻松调用FIDO基于生物特征、安全、快速的在线身份认证服务

关键词语句

免密认证

基于WebAuthn标准的FIDO2客户端能力

4

FIDO2注册

应用程序集成FIDO2客户端SDK,向FIDO服务器发起注册请求。

5

FIDO2认证

应用程序集成FIDO2 SDK,并向FIDO服务器发起认证请求。

FIDO2线上快速身份验证客户端:

  • USB、NFC、蓝牙漫游认证器。

  • 指纹和3D面容的平台认证器。

FIDO是什么?

FIDO全称为Fast Identity Online,是一套身份认证框架协议。它由FIDO联盟推出并持续维护。FIDO规范定义了一套在线身份认证的技术架构,FIDO2是FIDO系列规范的第2版。

2019年正式发布的FIDO2包含CTAP(Client to Authenticator Protocols)和W3C WebAuthn两部分,是1.x版本的演进,向后兼容1.x版本。

  • CTAP:允许通过USB、NFC或BLE使用外部身份验证器(比如FIDO安全密钥,移动设备)在启用FIDO2的浏览器和操作系统上进行身份验证,以提供无密码、二次身份验证或多重身份验证体验。

  • W3C WebAuthn:定义了内置在浏览器和平台中的标准Web API,以支持FIDO身份验证

FIDO2规范

FIDO2的组件

FIDO2包括3个组件:FIDO2认证器、FIDO2客户端和FIDO2服务器。

  • FIDO2认证器:用来进行本地认证的机制或设备,又分为FIDO2平台认证器和FIDO2漫游认证器两种。在面向最终用户时,认证器通常被称为安全密钥。

  • FIDO2平台认证器:集成在使用FIDO2的设备上的认证器,比如手机或笔记本电脑上的指纹认证器。

  • FIDO2漫游认证器:游离于使用FIDO2的设备,通过蓝牙、NFC或USB连接的认证器,比如形状类似于U盾或动态令牌的认证器。

  • FIDO2客户端:集成在平台(如Windows、MacOS和HMS Core)中,提供SDK给应用集成;或集成在浏览器中(如Chrome、Firefox和华为浏览器),提供JavaScript API给服务集成。FIDO2客户端是应用调用FIDO2服务器和FIDO2认证器完成认证的桥梁。

  • FIDO2服务器:在应用服务器需要发起FIDO2认证时,生成符合FIDO2规范的认证请求,发送给应用服务器;并在FIDO2认证器完成本地认证后,接收应用服务器返回的FIDO2认证响应,并进行校验。

目前流行的身份认证方式的问题

传统静态密码认证存在的安全问题:

  • 通过黑客技术盗取用户帐号密码,如:拖库、钓鱼、木马、暴力破解等。

  • 撞库:利用大多数人在所有服务使用同一套帐号密码的特点,使用已经获得的帐号密码尝试登录其他服务。

动态认证方式存在的安全问题:

  • 恶意应用可以读取短信验证码,在用户不知情的情况下进行盗刷。

  • 动态令牌、U盾在各个机构间不通用,用户需要持有多个硬件设备。

生物特征认证存在的安全问题:

  • 生物特征独一无二,被采集到服务端,无法像密码一样更改,泄露后果严重。

  • 只在移动端(手机和部分笔记本电脑)普及,桌面端基本无法使用。

华为HMS core的FIDO2客户端

  1. 应用程序集成FIDO2客户端SDK,向FIDO服务器发起注册请求。

  1. FIDO服务器将随机生成挑战值返回给应用程序,应用程序将挑战值发给FIDO客户端,FIDO客户端连接认证器,发起注册。

  1. 认证器验证通过,生成一对用户公私钥,并将私钥保存在本地。然后用其预置的私钥将生成的公钥及挑战值进行签名。

  1. 认证器返回签名给FIDO客户端,FIDO客户端返回给应用程序。应用程序发给FIDO服务器进行注册。

  1. FIDO服务验证签名,保存公钥,并将处理结果返回给应用程序。

传统的身份认证方式(密码,生物特征)的缺点:

几乎都要通过用户和服务器两侧的凭证匹配来完成。数据易于泄露,用户难以信任提供服务的企业,即使是著名的大的企业。

FIDO试图解决这些问题。

FIDO

与传统密码方式的不同点:

  • 只在本地的可信执行环境(TEE)中存储用户的生物特征信息

FIDO2.0体系架构

FIDO2分为WebAuthn和CTAP协议两部分:

  • Web Authentication(https://www.w3.org/TR/webauthn/)由W3C和FIDO联盟一起完成的标准制定,目前仅在Win10和安卓系统下,有三款主流浏览器Chrome、Edge、Firefox提供原生支持,可使用平台认证器(即内置在PC上)或漫游认证器(如手机,平板,智能手表等),通过WebAuthn接口调用FIDO服务,完成Web应用的强身份认证。

  • CTAP(客户端到认证器)协议。CTAP本质上是U2F的延伸。通过使用独立的手机、USB设备,或PC内置的平台认证器,完成Window 10系统上的身份认证。苹果也有类似的场景。比如没有指纹模组的MacBook,可以通过同一Apple ID使用iPhone完成macOS上App Store中应用的购买和支付确认操作。这也可以应用于Windows 10系统,如企业内部OA登陆的身份认证操作,就可以通过蓝牙连接的手机或其它合法的USB漫游身份认证器实现。也就是说,只要你随身携带你的手机或一个可作为漫游身份认证器的USB鼠标,你就可以在世界上任何一台联网的Win 10 PC上,使用指纹或其它生物特征,安全、便捷地完成企业内部办公系统登陆时的身份认证操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值