基于FIDO协议双因素eID实名认证方案

2020-04-22 20:27吴淼严则明黄俊
微型电脑应用 2020年3期

吴淼 严则明 黄俊

摘 要:为解决当前传统在线认证方案的缺陷,提出一种基于FIDO协议的双因素eID(公民网络电子身份标识)实名认证方案。对当前传统认证方案进行分析,结合移动终端特点,设计了一种基于移动终端的高效可靠的eID双因素实名认证方案,研究FIDO协议特点,设计了一种改进的FIDO U2F协议,将FIDO协议与公民网络电子身份标识eID相结合,实现本地生物特征和eID双因素认证。实验结果表明,该认证方案更加安全便捷,同时能有效保护用户隐私。

关键词:公民网络电子身份标识; FIDO协议; 在线实名认证; 双因素认证

中图分类号: TP309

文献标志码: A

Abstract:In order to resolve the problems of traditional online authentication, a two-factor real-name authentication solution of eID based on FIDO protocol is proposed. The traditional authentication solution is analyzed. An effective and reliable two-factor real-name authentication solution based on eID and FIDO is designed. FIDO protocol is researched and an improved FIDO U2F protocol is designed. A solution which is integrated FIDO protocol and eID is proposed by using the two-factor real-name authentication, biometric technique and eID. The results show that the solution is safer and more convenient than the traditional system. The user privacy can be protected by using the solution.

Key words:EID; FIDO; Online real-name authentication; Two-factor authentication

0 引言

近几年随着我国互联网产业的飞速发展,电子商务、电子政务已经日益成为人们日常生活中必不可少的部分。在线身份认证作为网络空间安全的基石,同样需要与时俱进,提供用户更安全、更快捷的在线身份认证方案。在线身份认证是验证用户身份的真实性、防止身份伪造的重要手段,也是网络安全体系的基础,无论是数据加密、访问控制,还是其他网络安全技术都必须基于有效的在线身份认证[1]

最为传统的在线身份认证基于用户名和密码,其缺点不言而喻,用户名和密码及易伪造、丢失和被暴力破解,并且用户名和密码数据存放于云端,很容易发生数据泄露的安全事故。近期很多撞库攻击、酒店、电商的用户数据泄露充分说明了这种在线认证方式已经无法满足公民对在线认证及公民个人隐私的安全需求。针对用户名和密码的在线认证缺陷,业界也提出了硬件令牌(如银行的U盾)、動态密码技术(包括硬件、软件及手机短信多种方式)等增强方案。虽然这些方案在安全性方面有很大提升,但是在使用成本及易用性方面不尽人意,导致用户依然面临身份验证信息被泄露的风险。面对这一状况,FIDO(Fast Identity Online)联盟开发了FIDO在线快速身份验证标准,该标准在安全及易用性方面有很大提升,基本能满足用户对在线认证安全和快捷的诉求。但是FIDO协议存在着一个问题,当前的FIDO协议无法满足在线实名认证的需求。比如在乘坐高铁,网吧上网,寄快递,住酒店,在线购买机票等场景下都需要用到实名认证。目前二代居民身份证读取设备容易被不法分子利用,第三方服务大量存储用户实名信息,具有隐私泄露的风险[2],同时个人隐私无法得到有效地保护,随着云计算、大数据时代的到来,整个社会变得更加透明[3]。设计一种既能保护用户身份信息,又能完成实名认证的技术方案迫在眉睫。在线实名认证不同于普通的在线匿名认证,在线实名认证必须依赖国家认可的权威机构颁发的网络身份标识,并且用户实名信息不能存储在各家第三方服务的服务器中。

针对上述问题,设计了一种基于FIDO协议的双因素eID(公民网络电子身份标识)实名认证方案,有效解决此问题。

1 相关技术

1.1 eID技术

我国的eID是以密码技术为基础、以智能安全芯片为载体、由“公安部公民网络身份识别系统”签发给公民的网络电子身份标识,能够在不泄露身份信息的前提下在线远程识别身份。

目前根据载体类型的不同,eID目前主要有通用eID与SIMeID两种,其中通用eID常加载于银行金融IC卡、社保卡、USBkey、手机安全芯片等,SIMeID主要加载于支持SIM/USIM功能的载体,常见的有SIM卡、USIM卡、SIM贴膜卡、eSIM芯片等。

eID在权威性、安全性、普适性、隐私性方面具有其他技术不可比拟的优势,可满足公民在个人隐私、网络交易及虚拟财产等多方面的安全保障需求:

权威性:eID基于面对面的身份核验,由“公安部公民网络身份识别系统”统一签发,可进行跨地域、跨行业的网络身份服务;

安全性:eID含有一对由智能安全芯片内部产生的非对称密钥,通过高强度安全机制确保其无法被非法读取、复制、篡改或使用;

普适性:eID不受载体物理形态的限制,只要载体中的安全智能芯片符合eID载体相关标准即可;

隐私性:eID的唯一性标识采用国家商用密码算法生成,不含任何个人身份信息,有效保护了公民身份信息[4]。

1.2 FIDO协议

FIDO(Fast Identity Online),是一个第三方、非营利性、专门研究身份认证框架模型的国际行业联盟。FIDO成立于2013年2月,由Nok Nok Labs、Google、BlackBerry、ARM、英特尔、PayPal、Lenovo、Synaptics和 MasterCard、CFCA等多家企业推动创立的联盟。

秉承简单易用、隐私安全及兼容通用三大原则,FIDO联盟开发了FIDO线上快速身份验证标准,该标准中包含两种用户验证协议:U2F和UAF。

U2F,通用第二因素协议(Universal 2nd Factor Protocol[5])。在兼容现有密码验证体系的基础上,当用户进行在线认证时,FIDO提供U2F设备作为第二身份完成双因素认证。图1为标准的FIDO U2F框架。

UAF,通用认证框架协议(Universal Authentication Framework Protocol[6])支持指纹、语言、虹膜、脸部识别等生物身份识别方式,无需密码接入。该协议利用移动端的认證器(如TEE、TPM等芯片)解锁特定密钥,生成一对公私钥对。私钥存储在认证器中,公钥通过UAF的标准化鉴别协议,代表用户向服务器认证,随即完成设备对人,服务端对设备的两步认证[7]。图2为标准FIDO UAF框架。

2 方案设计

基于FIDO协议双因素eID实名认证方案结合了标准的FIDO UAF协议和改进后的U2F协议(文中称为eID U2F协议)。方案先使用标准的FIDO UAF协议执行匿名认证,完成移动终端设备对人和服务端对移动终端设备的两步认证,在完成FIDO UAF匿名认证之后,使用eID U2F协议执行实名认证,方案使用移动终端设备内置的注册了eID网络身份标识的安全芯片(例如华为的inSE芯片)作为eID U2F设备,通过eID U2F设备及eID U2F协议完成实名认证。同时为了保障eID的自主可控、安全可信,采用自主可控的国产安全芯片和密码算法[8]。方案中的标准FIDO UAF和eID U2F协议都包括2个主要的步骤:注册和认证。

该方案有2个关键之处:一是使用eID技术改进U2F协议;二是FIDO UAF协议和eID U2F协议的结合。

3.1 使用eID技术改进U2F协议

在标准FIDO U2F协议基础上,设计一种改进的支持在线实名认证的eID U2F协议:

图3为eID U2F协议的逻辑图。为了实现eID U2F协议,方案使用移动终端设备内置的inSE芯片作为eID U2F设备,该设备用于独立存储eID U2F载体公私钥、eID公私钥对和eID身份信息。用户需要2个步骤就能使用eID U2F设备进行在线实名身份验证:

第一步:eID U2F设备注册

(1)在拥有一个eID U2F设备之后(即将商用的支持eID U2F设备有华为P20、P20 PRO手机),用户在手机专用APP侧(该APP是eID U2F设备厂商专属APP,下文简称端侧)向eID U2F设备(方案使用inSE安全芯片)主动发起将该设备作为eID U2F实名验证因素的注册申请,向公安部公民网络身份识别系统申请开通eID网络身份标识功能;

(2)eID U2F设备厂商在inSE芯片中灌入一对由公安部公民网络身份识别系统预制的SM2载体公私钥对,同时在inSE芯片中实时生成一对SM2公私钥对作为eID公私钥对;

(3)端侧提示用户将身份证件贴在手机的NFC区域上,在云端解密电子身份证件身份信息,通过甄别证件真伪后,端侧会生成一个唯一的用户标识(该用户标识非证件号码,所有数据交互通过这个唯一用户标识进行,用户真实的个人信息对端侧及eID U2F设备厂商都是不可见的),端侧将相关数据及用户标识发送到eID U2F设备厂商的后台服务;

(4)eID U2F设备厂商服务端向公安部公民网络身份识别系统查询该用户是否有注册过eID,若没有注册过eID,则可以继续下面的eID注册流程,反之提示已经注册eID,从而保证用户eID的唯一性;

(5)端测进行活体检测,采取安全手段防止端侧摄像头被劫持,确保用户本人(活体)在操作自拍,而不是使用照片等非正常手段;

(6)端侧将用户的自拍照加密后通过eID U2F设备厂商的服务发送至公安部公民网络身份识别系统进行自拍照和身份证件解密照片进行比对,确定当前手机操作用户与身份证件的“人证合一”;

(7)eID U2F设备厂商后台服务器发送注册eID请求到公安部公民网络身份识别系统,公安部公民网络身份识别系统完成eID注册,并返回eID电子身份标识及注册指令;

(8)eID U2F设备厂商收到eID电子身份标识及注册指令后,将其发送到端侧,端侧通过注册指令将eID电子身份标识及相关加密的身份信息数据写入eID U2F inSE芯片中用作后续eID U2F实名认证。至此完成eID U2F设备的注册。

第二步:eID U2F实名身份认证

(1)在进行需要实名认证的高危操作(例如实名购买机票,实名寄送快递,银行实名开户等)的时候,第三方的APP(例如购买机票的“航旅纵横APP”等)会唤醒端侧,端侧会先主动发起FIDO UAF认证,通过生物特征,例如指纹完成匿名认证后,端侧随即会发起eID U2F实名认证;

(2)端侧在inSE安全芯片中使用SM2 eID私钥对用于身份验证的待签名数据进行SM2签名,并通过eID U2F设备厂商后台服务器推送给公安部公民网络身份识别系统;

(3)公安部公民网络身份识别系统在接收到实名认证请求后,使用第一步注册eID U2F设备时保存的设备的eID SM2公钥对签名进行验证,并将验证结果发回eID U2F设备厂商后台;

(4)eID U2F设备厂商后台服务器收到公安部公民网络身份识别系统发回的认证结果后,将结果推送到端侧,端侧将最终结果返回给第三方APP,至此完成eID U2F用户实名认证。

3.2 FIDO UAF和eID U2F认证的结合

图4为FIDO UAF协议和eID U2F协议结合的逻辑图。FIDO UAF匿名认证和eID U2F实名认证构成了双因素eID实名认证方案。

(1)端侧发起申请UAF身份验证申请,通知UAF客户端接收并推送待签名数据;

(2)UAF客户端通过接口调用UAF身份验证器(TEE等),在得到用户确认后,即用户的信息与注册时的信息匹配(例如指纹、虹膜、人脸等生物特征),利用私钥签名需要认证的数据;

(3)UAF客户端通过端侧将签名数据发送到UAF后台服务器;

(4)UAF后台服务器验证签名数据通过后,完成UAF匿名認证,到此就表明用户本人同意进行下一步的eID U2F实名认证,并且已经合法授权端侧进行eID U2F实名认证;

(5)端侧发起eID U2F实名认证,使用设计的eID U2F协议完成eID实名认证;

(6)至此基于FIDO协议双因素eID实名认证全部完成。

3 安全性分析

(1)数据传输报文安全:在传输数据报文的时候,发送方使用自己的SM2私钥对报文做签名,接收方使用发送方的SM2公钥验证报文签名,这样能确保报文传输的完整及防止假冒。

(2)存储的安全性:公安部公民网络身份识别系统的密钥存放在加密机中,并且不可导出,确保密钥的安全,公安部公民网络身份识别系统核心数据库部署在安全级别最高的屏蔽机房中的安全存储区,同时数据库中不保存任何明文的隐私信息,所有信息都进过加密机加密或者HASH处理。端侧的密钥全部存放在eID U2F设备中,不可导出及随意读取,确保不受上层恶意APP的影响。

(3)eID数据存放在手机的安全芯片中。当某个第三方手机APP需要验证人员身份时,验证过程在端侧,eID U2F生产厂商及公安部公民网络身份识别系统之间完成,同时明文的个人信息隐私数据对端侧及eID U2F生产厂商是不可见的,更不会把隐私信息上传至第三方APP的服务器上,第三方APP只能从端侧获取到认证结果,最大程度保证用户身份隐私数据安全。

(4)当用户需要进行高危的eID U2F实名认证的时候,需要先进行FIDO UAF匿名认证,确保用户本人授权进行实名认证,彻底杜绝eID U2F实名认证被冒用。

4 总结

文中设计了基于FIDO协议双因素eID实名认证方案,提出了改进的eID U2F协议及FIDO UAF和eID U2F结合的方法,并对方案的安全性做了分析。结果表明该方案具有很高的安全性和实用性,对移动互联网更加友好,能够高效完成在线实名身份认证,同时有效保证用户的隐私安全。

参考文献

[1]

杨明慧,刘孟占,邹翔, 等. 德国eID机制对我国网络身份管理的启示[J]. 计算机技术与发展, 2014, 24(7) :158-161.

[2]

胡卫,吴邱涵,刘胜利, 等. 基于国密算法和区块链的移动端安全eID及认证协议设计[J].信息网络安全,2018(7) :8-15.

[3] 严则明. eID:以网络身份制取代网络实名制[J].国家治理,2015(12) :47-48.

[4] eID介绍[EB/OL].[--]. http://eid.cn/knoweid/whatiseid.html.

[5] Universal 2nd Factor (U2F) Overview[EB/OL].[--]. https://fidoalliance. org/specs/fido-u2f-v1.2-ps-20170411/fido-u2f-overview-v1.1-v1.2-ps-20170411.html.

[6] FIDO UAF Architectural Overview[EB/OL](2017-02-02). FIDO Alliance, https://fidoalliance.org/specs/fido-uaf-v1.1-id-20170202/fido-uaf-overview-v1.1-id-20170202.html.

[7] FIDO UAF protocol specification v1.0[EB/OL](2014-12-08). FIDO Alliance, https://fidoalliance.org/specs/fidouafv1.0-ps-20141208/fido-uaf-protocol-v1.0-ps-20141208.html.

[8] 倪光南. eID是保障网络主权、安全和发展的需要[J]. 国家治理,2015(12) :49-52.

(收稿日期: 2019.01.09)