FIDO(快速在线身份认证)双因子身份认证

FIDO(快速在线身份认证)双因子身份认证

🗨

暴力破解攻击可被各种形式的双因子身份认证缓解,比如基于时间的令牌、短信和使用手机的身份认证。如今,新的竞争者出现了:通用双因子身份认证(U2F)。

U2F是线上快速身份认证(FIDO)联盟支持的一个身份认证标准。FIDO联盟成员涵盖了技术产业顶级公司和厂商。

U2F协议通过一键激活的USB令牌设备实现。U2F结合了质询-响应身份认证和公钥加密。服务器向客户端Web浏览器发送质询请求,浏览器再向USB设备发出请求。

该USB设备随即亮灯,敦促用户按下按钮激活设备。一旦被激活,设备便会签署质询,向浏览器返回被签名的数据,再交回给服务器。

U2F机制以多种方式提供更强壮的安全。顶级制造商透露,该设备主打硬件随机数产生功能,用于在注册阶段创建随机数。注册过程中,服务器会向设备提供一个“AppId”。然后,该随机数和AppId,成为使用设备中所存私钥的散列消息认证函数(HMAC)的输入参数。

HMAC的输出,是特定于该个人服务的私钥。该新产生的私钥随后与AppId一起,再行HMAC,其产生的MAC与上述随机数组合形成“密钥句柄”。一个公钥便经由该新私钥产生,并连同该密钥句柄被返回至服务器。

通过身份认证,该服务向设备发送AppId、密钥句柄和质询,设备使用这些数据来产生同样的私钥以签署质询。然后,服务器与公钥比对被签署的质询,确保是经由正确的密钥签署的。令牌也有计数器,防止重放攻击——服务器需认证计数器数值大于之前收到的数字。

这就是确保U2F免遭网络钓鱼的过程。因为攻击者必须知道AppId和密钥句柄才可以成功冒充服务。另外,即便攻击者入侵了不同服务的多个身份认证数据库,因为每个服务都创建唯一的密钥,攻击者也就无法关联设备用户了。这种做法可有效减小数据泄露漏洞的影响,比如心脏滴血、云滴血和行锤击(Rowhammer)。

厂商还写了设备认证证书,可用于认证令牌生产厂商。该证书由数字证书认证机构签发,包含厂商和模型信息。

U2F为基于时间的令牌提供了几个优势。不需要电池(除了基于蓝牙的设备),不会因时间漂移而同步失败。私钥存储在无法抽取的设备上,不会被克隆。

U2F加密狗价格普遍在10-20美元之间,有特殊安全需求的人士,也可以自己制作,成本大约5美元。DIY方式让用户可以对私钥和认证证书生成拥有控制权。

仅使用USB令牌的方式只针对计算机有效,限制了其在移动设备上的使用。市场上也有一些U2F设备除USB外还用近场通讯(NFC)或蓝牙。对这些令牌仅有的担忧,就是遗失。因此,建议多注册几个以备不时之需。

目前,谷歌Chrome和Opera都支持U2F。火狐浏览器需要装插件才支持U2F。测试中发现,有些服务器端实现只支持Chrome。

对U2F标准的采纳,加速了很多使用它的Web服务,比如Facebook、整个谷歌平台、Dropbox和GitHub。U2F还能以 Linux PAM 模块的形式实现。

U2F当然不能解决所有网络安全问题,但肯定是在正确的方向上迈进。

 


 

 

FIDO(快速在线身份认证),作为有可能因为其更好的安全性、便捷性、适配性以及隐私保护,并结合日趋成熟的生物特征识别技术,作为最有可能替代传统的静/动态口令验证方式替代的行业最佳实践,已经从由联想、PayPal等6家企业创立之初,扩大到现在的252家成员企业(注:截止到2016年7月),近乎囊括业界所有领先IT厂商。

cover

为何FIDO会如此受行业欢迎?它在技术实现上又有哪些优势?

什么是FIDO

随着指纹、人脸、虹膜识别等生物特征识别技术的日益成熟,移动身份认证技术的种类也趋于多样化。同时,移动设备碎片化严重、接口不统一(没有兼容多种认证手段的统一认证协议)、兼容多应用困难等问题也日益凸显。而FIDO(Fast Identity Online)作为业内创新的移动端身份认证最佳实践,通过“将认证方式与认证协议分离,利用硬件设备内嵌的安全能力,对多设备多应用的不同身份认证方式提供同样的支持”这一技术实现思路,可以很好地解决上述问题。

fido%e7%9a%84%e8%8c%83%e7%95%b4fido%e7%9a%84%e8%8c%83%e7%95%b42

2012年7月成立的FIDO联盟,在2014年12月推出了其1.0版本的技术规范,包括致力于“无密码体验”(生物特征)的UAF标准,和“双因子体验”(口令和特定设备)的U2F标准。除了在解决不同身份认证技术领域“技术孤岛”问题上的优势外,FIDO还可以解决口令或短信验证码等传统移动端认证方式风险过于集中、输入不方便等问题。

UAF协议的技术实现

在工作原理上,UAF协议利用移动端的认证器(例如TEE、TPM等芯片),解锁不同认证方式的特定密钥,生成一公私钥对。私钥存储在认证器的内部,公钥则通过UAF的标准化鉴别协议,代表用户向服务器认证。即完成设备对人,服务端对设备的“两步认证”。而移动端上认证器组件的安全性在整个UAF协议实现的过程中就变得尤为重要。认证器的底层将完成这一公私密钥对的维护和管理工作。

在应用的服务器端,FIDO服务器将要保管认证器元数据(包括认证器基本属性、制造商、根证书、加密算法等信息),以及用户公钥的安全存储;同时,在数据传输过程中,将会强制使用TLS加密通道。

uaf%e4%bd%93%e7%b3%bb%e6%9e%b6%e6%9e%84uaf%e9%83%a8%e7%bd%b2%e6%96%b9%e6%a1%88%e5%ae%9e%e4%be%8b

在UAF协议的流程上,主要包括用户注册、认证器鉴证、鉴别、交易确认、注销这五种流程实现。

uaf%e6%b3%a8%e5%86%8c%e6%b5%81%e7%a8%8buaf%e6%b3%a8%e5%86%8c%e6%b5%81%e7%a8%8b%e6%97%b6%e5%ba%8f%e5%9b%beuaf%e8%ae%a4%e8%af%81%e5%99%a8%e9%89%b4%e8%af%81uaf%e8%ae%a4%e8%af%81%e5%99%a8%e6%9e%b6%e6%9e%84%e7%a4%ba%e6%84%8f%e5%9b%be

uaf%e9%89%b4%e5%88%ab%e6%b5%81%e7%a8%8buaf%e4%ba%a4%e6%98%93%e7%a1%ae%e8%ae%a4%e6%b5%81%e7%a8%8b

交易确认流程是UAF鉴别流程的一个特定应用场景。相较于“鉴别流程”,“交易确认”加入了“交易文本”,并需要用户最终进行人工的“交易确认”。在整个交易过程中还有一个关键点,就是需要移动端可以实现对文本的安全显示(屏幕显示的文本内容可被恶意代码篡改),现在主流的方式是通过TEE(可信执行环境)提供的TUI(可信用户界面)来实现。

fido%e7%bb%88%e7%ab%af%e6%9c%batee%e6%9e%b6%e6%9e%84%e5%ae%9e%e4%be%8b

uaf%e6%b3%a8%e9%94%80%e6%b5%81%e7%a8%8b

UAF中的安全设计

在安全性设计方面,UAF协议主要遵从以下三点:

1. 认证手段与认证协议分离

手段与协议分离的主要目的,是通过标准化的身份认证协议,实现用户移动端对任意身份认证方式的对接。UAF协议除了解决生物特征的“不可撤销性”(即难以像口令一样重置)以外,其生物特征数据由移动端认证器进行安全存储、服务端只保存用户公钥等特点,使得用户的敏感信息在数据安全性方面也得到了一定程度的保障。

2. 认证协议无第三方参与

UAF框架是典型的C/S架构,只由客户端和服务端组成,且均向上层提供标准化接口。UAF协议中没有引入任意诸如可信应用管理(TAM)、可信服务管理(TSM)等平台,从而实现降低运营成本的同时,减少产业链环节带来的安全干扰因素。

3. 不可链接性的实现

UAF不提供全局性的设备唯一标识符,而是通过一个二元组或是三元组,来唯一确定用户设备身份,实现用户身份凭证的碎片化。移动端认证器的鉴证密钥也不是每设备唯一的,而是由至少10万台设备共享,这也是为了防止因为“唯一性”而导致的“可追踪性”被恶意利用。

%e5%b1%82%e6%ac%a1%e5%8c%96%e5%ae%89%e5%85%a8%e8%ae%be%e8%ae%a1

FIDO中国组以及技术标准的本土化工作

FIDO联盟目前有十一个工作组,大致分为“标准与技术”和“市场相关”两个大类。目前区域性的FIDO工作组只有中国、印度和日本。而中国工作组则主要致力于FIDO在中国的落地、市场推广以及相关技术协议的标准化工作。

%e7%9b%ae%e5%89%8d%e5%9b%bd%e5%86%85%e7%bb%88%e7%ab%af%e8%ae%be%e5%a4%87%e5%af%b9fido%e7%9a%84%e6%94%af%e6%8c%81%e5%9b%bd%e5%86%85%e5%ba%94%e7%94%a8%e5%af%b9fido%e7%9a%84%e6%94%af%e6%8c%81

据国民认证首席架构师李俊介绍,在FIDO协议的本土化方面,目前已经完成了UAF 1.0的技术文档的翻译工作,以及对国密算法的支持。目前正在尝试与PKI证书的结合,以及推动同时符合中国市场需求和政府监管要求的安全技术标准的制定。


频道:硬件