[郭茂文]
Mobile Connect卡认证与FIDO认证技术方案比较研究
[郭茂文]
主要介绍了业界两种典型的移动认证解决方案:以运营商为代表的Mobile Connect卡认证方案和以互联网公司为代表的FIDO联盟认证方案,并从多个角度比较了这两种方案的差异及其优缺点,最后提出了在Mobile Connect卡认证方案中集成FIDO联盟认证方案的设想和思路。
移动认证 Mobile Connect 卡认证 FIDO认证
郭茂文
中国电信股份有限公司广东研究院。
当前,互联网+的发展趋势非常明显,各行各业都在进行互联网化转型升级,手机购物、移动金融、移动医疗、移动政务等,这些移动应用已经渗透到我们生活和工作的方方面面,这些移动应用在给我们带来便利的同时,也带来了个人隐私泄露问题。而且,移动应用用得越多,用户隐私泄露的概率就越大。2016年10月初,广东省公安机关开展的“安网7号”行动中缴获的非法个人信息达2.3亿条,这些个人信息主要来自电商、银行,甚至是一些政府网站等,可见,现在的隐私泄露问题已经非常严重了。目前,移动应用的登录和关键操作(如支付环节)基本是采用“账号+口令+短信验证码”方式实现对用户进行身份认证的。这种认证方式存在两个缺陷:一是安全性低,容易被恶意软件拦截,导致短信验证码泄露;二是存在网络延迟问题,它是在网络侧产生的,通过短信方式发送到移动终端上,用户在手机上输入后,又需要发送到网络侧验证,这样,耗费时间长,用户体验效果差。
随着智能终端和用户卡技术的发展,近两年,业界出现了新的移动认证技术以用于取代传统的“账号+口令+短信验证码”方式的身份认证技术。其中,比较典型的有两种,一种是以互联网公司为代表的基于指纹识别的FIDO联盟认证技术解决方案;另一种是以运营商为代表的基于用户卡的卡认证技术解决方案。
2015年,GSMA在个人数据项目中提出Mobile Connect移动互联身份认证业务。该业务以运营商优势资源用户卡为认证载体,向用户提供安全、简单、便捷的移动身份认证服务。而且,通过路由发现机制实现全球各运营商卡认证系统的互联互通,简化了SP应用的接入。
GSMA Mobile Connect卡认证方案如图1所示:
图1 GSMA Mobile Connect卡认证方案示意图
该方案主要功能模块包括:运营商认证平台、路由发现及寻址服务器、卡应用。其中,运营商认证平台主要实现Mobile Connect认证功能;路由发现及寻址服务器主要实现对不同运营商归属电话号码的判断,并将来自SP的认证请求转发给相应的运营商认证平台;卡应用位于用户卡中,完成卡认证算法逻辑处理等功能。
GSMA Mobile Connect卡认证方案的主要业务流程如下:
(1)用户在应用APP客户端认证页面输入自己的电话号码,并提交给SP;
(2)SP服务器将来自APP客户端的认证请求(含电话号码信息)转发给路由发现及寻址服务器;
(3)路由发现及寻址服务器解析用户电话号码,并将用户电话号码所属的运营商认证平台URL地址信息返回给SP服务器;
(4)SP服务器重定向将APP客户端的认证请求信息转发给运营商认证平台;
(5)运营商认证平台以短信方式将认证请求信息发送给用户卡;
(6)用户卡在用户手机上弹出认证确认窗口,用户点击确认按钮;
(7)用户卡以短信方式返回认证确认信息给运营商认证平台;
(8)认证平台对认证确认信息进行校验,核实后将认证通过的结果通知SP服务器;
(9)用户通过SP客户端进行后续操作。
FIDO联盟认证技术方案是FIDO联盟制定的在线与数码验证方面的首个开放行业标准,并于2014年12月发布,包括fdo-u2f-v1.0和fdo-uaf-v1.0两套协议。这两套协议可以很好地提高身份认证安全性、保护隐私及简化用户体验。其中,U2F(Universal Second Factor protocol)支持U盾、NFC芯片、TPM(可信赖平台模块)等硬件设备,使用双因子(密码和硬件设备)保护用户账户和隐私;UAF( Universal Authentication Framework protocol)支持指纹、语音、虹膜、脸部识别等生物身份识别方式。无需用户密码介入,直接进行认证。这里主要介绍UAF。
UAF协议主要利用了智能终端的生物特征识别技术,并通过本地身份识别与在线身份认证相结合的方式实现用户的安全身份认证。其中,在线身份认证技术采用非对称公私钥对来提供安全保障。基于UAF协议的FIDO联盟认证方案的总体架构如图2所示。
图2 基于UAF协议的FIDO联盟认证方案总体架构
该方案主要功能模块包括:网络侧的认证器服务器、终端侧的UAF认证器和UAF插件。其中,认证器服务器主要是实现FIDO认证校验功能;UAF认证器负责获取生物特征识别信息结果(一般是指纹信息),产生并管理非对称密钥对,完成各种密码学运算(例如签名、哈希、加解密等);UAF插件主要实现访问控制,建立应用APP、账号与认证器之间的对应关系,屏蔽认证器差异(一个移动终端可能有多个认证器)向应用APP提供统一接口。
具体来说,基于UAF协议的FIDO联盟方案在使用时涉及两个步骤:注册和认证。
当用户注册时,用户侧的UAF认证器产生一对非对称密钥对,并与用户本地的生物特征身份信息(如指纹等)进行关联。私钥在用户端本地设备中保留,公钥传给服务器,服务器将此公钥和用户对应的应用账户相关联。
当用户登录时,用户侧UAF认证器在经过本地用户身份识别后,采用私钥对服务器的挑战数据做签名,服务器使用对应的公钥做验证。
Mobile Connect卡认证方案和FIDO联盟认证方案均希望为用户提供更容易、更安全的在线身份认证,采用移动终端作为认证载体,其中卡认证方案利用了运营商的用户卡(手机号)作为用户的身份标识,而FIDO联盟认证方案则是利用了终端生物特征识别技术,并将用户生物特征作为身份标识。但是,这两种方案在应用场景、加密技术以及对终端与卡的要求方面均存在一定的差异,表1是二者的主要比较和分析情况。
表1 Mobile Connect卡认证和FIDO联盟认证方案比较
从表1的比较中可以看出,对于Mobile Connect卡认证方案来说,在适合的应用场景方面,可广泛用于PC应用和移动应用,而且,其认证器(即卡应用)存储在用户卡内,安全性较高,可适合于任何智能移动终端,当用户变更终端时,只需要将用户卡插入新的终端即可继续使用。但是,用户卡需要加载或提前预置认证器,其用户覆盖能力有赖于运营商及各运营商之间的互联互通情况,在用户体验方面也一般。对于FIDO联盟方案来说,只需要移动终端支持生物特征识别技术,对用户卡无要求,可广泛覆盖各运营商的用户,用户使用时,认证速度比较快,用户具有良好的客户体验,但是,这种方案只适用于移动应用,而且,在高安全需求情况下,需要终端通过TEE环境或者SE实现认证器功能。
综上所述,Mobile Connect卡认证和FIDO联盟认证方案各有自己的优缺点,其中,卡认证采用短信通道对用户的业务体验会有一定的影响,而FIDO联盟认证方案中的认证器如果需要安全存储,则对终端的要求较高,影响该方案的推广和普及。随着现在用户卡技术以及机卡通信技术的发展,终端和用户卡之间可直接通过OMA接口实现高效通信。卡认证和FIDO联盟认证这两种方案可以互相借鉴和融合,形成新的安全性高、用户体验良好的移动认证解决方案,如图3所示。
图3 卡认证和FIDO联盟认证方案示意图
集成的认证方案由终端侧的FIDO认证器、FIDO插件及认证APP,网络侧的Identity网关、FIDO认证服务器组成。其中,FIDO认证器位于SIM卡内,Identity网关与FIDO认证服务器连接,实现用户认证路由寻址功能,并发送消息通知给终端侧认证APP,以便发起FIDO认证服务。认证APP实现接收来自Identity网关的认证请求,并发送给FIDO插件。以下为该方案情况下的FIDO注册和认证主要流程。
FIDO注册流程:
(1)用户启动认证APP,选择要注册的新的FIDO认证器,认证APP请求Identity网关启动注册流程;
按照灌溉系统分为A系统、B系统和C系统,根据行间耕作方式分别确定为行间清耕、间作小麦、自然生草3种处理。行间清耕处理位于A灌溉系统,调查区域为距离防风林第12行~第17行。间作小麦处理位于B灌溉系统中间位置,调查区域为距离防风林第6行~第11行,间作的小麦被风沙掩埋。自然生草处理位于C灌溉系统,调查区域为距离防风林第7行~第12行。
(2)Identity网关对认证APP进行合法性验证。验证通过后,Identity网关发送FIDO注册请求(包含FIDO策略)给FIDO认证服务器;
(3)FIDO认证服务器检查FIDO策略后,返回FIDO注册请求消息给Identity网关;
(4)Identity网关返回FIDO注册请求响应消息给认证APP;认证APP将该消息转发给FIDO插件;
(5)FIDO插件根据FIDO策略发现FIDO认证器,用户通过生物特征识别和认证后选择SIM卡内的FIDO认证器进行注册;
(6)SIM卡内的FIDO认证器产生密钥对并返回公钥给FIDO插件,FIDO插件转发给认证APP;
(7)认证APP返回注册响应消息(包括公钥)给Identity网关,Identity网关转发给FIDO认证服务器;
FIDO认证(以应用客户端位于PC为例)流程:
(1)用户通过PC访问SP应用服务器,并点击FIDO认证按钮;
(2)SP应用服务器发送认证请求给Identity网关;
(3)Identity网关向用户获取MSISDN信息,根据策略选择FIDO认证器;
(4)Identity网关推送消息给认证APP;认证APP向Identity网关发起FIDO认证流程;
(5)Identity网关触发FIDO认证服务器产生FIDO认证请求消息;FIDO认证服务器响应认证请求消息给Identity网关;
(6)Identity网关返回FIDO认证请求响应消息给认证APP;认证APP将该消息转发给FIDO插件;
(7)FIDO插件根据FIDO策略选择相应的FIDO认证器,用户本地生物特征识别和认证后,SIM卡内的FIDO认证器采用私钥进行签名认证,并将签名认证结果发送给FIDO插件;
(8)FIDO插件转发签名认证结果给认证APP;
(9)认证APP返回签名认证结果给Identity网关,Identity网关转发给FIDO认证服务器;
(10)FIDO认证服务器通过公钥检验签名认证结果;并将校验结果返回给Identity网关;
(11)Identity网关返回校验结果给认证APP;
(12)Identity网关发送授权码给SP应用服务器,用户可正常访问SP应用。
当前,安全的移动认证解决方案是业界关注的焦点,可以大大降低用户隐私泄漏后的经济损失风险。互联网公司希望摆脱运营商的束缚,基于智能移动终端技术提供以生物特征识别为基础的安全便捷的认证解决方案。但是,这种方案对终端的安全存储要求较高,难以覆盖大多数互联网用户;而运营商则希望利用用户卡优势发展基于用户卡的安全认证解决方案,虽然这种方案不依赖终端,可以通过运营商互联互通实现全网互联网用户的覆盖,但是,在用户体验方面逊于互联网公司的解决方案。较好的解决方案是互联网公司和运营商彼此扬长避短进行合作,运营商开放用户卡空间作为安全的认证器载体,在卡认证解决方案中集成互联网公司的FIDO认证解决方案,从而为用户提供安全便捷、体验良好的身份认证解决方案,共同推动这种解决方案在互联网行业的应用和推广普及,保障用户安全。
1 FIDO Alliance,FIDO UAF Protocol Specifcation v1.0 2014年12月8日
2 GSMA, FIDO integration with Mobile Connect 2015年5月11日
2016-12-02)
10.3969/j.issn.1006-6403.2016.12.005