物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  支付  >  正文

HCE技术在移动支付中的应用与安全分析

作者:本站收录
来源:《中国金融电脑》杂志
日期:2016-06-13 08:38:19
摘要:由于HCE方案软件卡支付应用不再要求移动终端中必须存在安全单元,因而需要应设计一套完整的安全加固方案以保护支付应用数据的安全。本文将对HCE技术在移动支付的应用安全进行分析,并提出典型的技术解决方案。

  在非接触式移动设备进行现场支付业务时,一般是利用NFC技术的卡模拟方式来实现,即把移动设备模拟成一张非接触式的金融IC卡,与支持非接触式受理的POS终端进行交互。在这种传统的卡模拟方案中,需在移动设备内加载安全单元(SEcure E1ement,SE),用于支付应用及其数据的安全存储和安全运算,为支付过程提供了芯片级的可靠安全保障。该安全单元的载体形式可以是智能SD卡、智能SIM卡或者移动终端内部的嵌入式独立单元。这些安全单元的存在确实保障了金融数据安全,但同时也在卡的发行运营方面增加了移动支付的复杂性。

中国银联李伟:HCE技术在移动支付中的应用与安全分析

中国银联股份有限公司技术部助理总经理 李伟

  2013年底,安卓操作系统4.4以上版本支持了主机卡模拟(Host-baSEd Card Emulation,HCE)技术,该技术使基于操作系统应用软件直接实现卡模拟技术成为可能,不再要求手机中必须存在安全单元。HCE技术的应用可以大幅降低支付应用的门槛,减少移动支付的推广成本,因而引起了业界的广泛关注。但是,由于HCE方案软件卡支付应用不再要求移动终端中必须存在安全单元,因而需要应设计一套完整的安全加固方案以保护支付应用数据的安全。本文将对HCE技术在移动支付的应用安全进行分析,并提出典型的技术解决方案。

  一、基于HCE的软件卡技术方案整体架构

  图1给出了一个较为全面的能够涵盖多种具体解决方案的整体架构,其关键模块介绍如下。

中国银联李伟:HCE技术在移动支付中的应用与安全分析

  1.移动终端

  移动终端是用户支付应用的载体,具体形态可以为支持NFC功能的手机、平板或者可穿戴设备等。移动终端应具备用于支撑各类应用运行的执行环境,执行环境为上层应用提供运算、存储管理、输入输出界面等一系列功能和服务。通过移动终端,用户可以下载、安装基于HCE技术实现的软件卡支付应用软件(如数字钱包应用等)。通过支付应用软件,实现支付应用的管理、非接触式支付或远程支付等功能。可信执行环境(Trusted Execution Environment,TEE)技术被视为是未来进一步提升移动终端执行环境安全的一个重要方向。

  2.软件卡支付应用

  软件卡支付应用是解决方案中最为核心的组成要素,一般而言,其主要功能如下:

  用户软件卡账户信息的管理,如申请、下载、删除、暂停、恢复等功能;用户账户信息的保存和处理,如账户参数的保存和更新等;支付过程中的数据运算,如非接触支付中对终端指令的处理和响应、远程支付中交易验证数据的生成或验证等;可提供账户信息查询、余额查询、圈存等操作入口。

  软件卡支付应用可以有多种实现形式,可以作为独立的移动应用软件存在,也可以作为插件的形式集成在其他服务提供商的移动应用软件中。

  3.移动应用平台

  移动应用平台是移动应用软件接入的既有或新建的后台管理系统,提供移动应用的下载和管理功能。在云端支付解决方案中,它还可负责移动应用与云端支付平台之间的数据转发或路由。

  4.云端支付平台

  云端支付平台是云端支付解决方案中使用到的后台系统,可提供云账户生命周期的管理服务,包括云账户为创建和初始化、活跃账户管理、交易验证、交易处理、生命周期管理及后交易处理。除了这些基础功能外,云端支付平台可同时提供一些辅助功能,例如账单服务、报告服务等。

  5.标记化服务提供商系统

  标记化服务提供商系统是指在符合EMVCo标记化规范架构下,能够完成从标记生成和发布功能的系统,并在标记请求者发出请求时维护已建立的“标记一主账号”的映射关系。

  6.安全单元

  在某些应用场景下,如果移动终端中存在安全芯片,软件卡解决方案也可以结合SE,由其来提供更为安全的支付应用数据存储和运算功能。

  7.远程支付网关

  用于处理远程支付交易的系统前置平台。

  二、安全性分析

  相比于传统基于SE实现的支付应用(主要由SE提供安全存储和安全运算保障),软件卡支付应用的安全防护需要由整体解决方案来提供。在软件卡支付解决方案中,每一个部件都分担了系统安全的一些责任,同时实现了系统安全的一些功能。安全性不再以某单独部件的安全与否进行衡量,而是以多部件系统整体为单位进行衡量。

  软件卡解决方案的安全性可以从两个角度来衡量,一方面是发现漏洞以及利用漏洞的难易程度,另一方面是一旦漏洞被利用之后造成损失的大小。由于软件卡支付应用所处的移动终端操作系统能提供的安全防护较为薄弱,软件卡支付应用一般在整体解决方案中不是独立存在的,它一般与其它安全环境或者云端支付系统架构紧密结合。总体看来,软件卡解决方案的安全性可以从前端和后端两个方面来考虑:前端包含移动终端能提供的安全环境及软件卡支付应用,后端主要是移动应用平台、云端支付平台等。

  在前端的安全考虑中,由移动终端操作系统自身提供的安全防护在目前阶段往往存在安全漏洞。因此,建议应用提供方在实现软件卡支付应用时,应该着重分析会有哪些可能存在的风险,然后采用相应的防护技术降低风险。比如,针对支付应用自身,可采用白盒加密、代码混淆等技术手段来提升安全防护能力,减少漏洞,降低漏洞暴露的可能性,提升漏洞被利用的难度;另一方面,尽量降低漏洞被利用之后造成的损失,如可采用账号标记化、限制密钥使用等手段。

  在后端的系统实现中,从安全的角度看,一个关键前提是在设计服务器端时不应该假设前端是安全的,应该要考虑到前端安全有被攻破的可能性。基于这个思想,系统做支付授权时,不应只根据前端信息做决定,而应根据前端和后端的信息做出综合决定。另外,服务器端应该实现一些远程管理的功能,保障一旦前端出现安全漏洞服务器能采取一定的措施去修复。同时,应充分利用移动终端和前端支付应用提供的信息,比如位置服务(LBS、指纹识别、交易频次、设备指纹等,建立模型进行综合风险监控。

  因此,就软件卡支付应用作为单个部件而言,和基于SE的支付应用实现相比,其风险无疑大幅增加。但如果能合理结合多种安全加固措施和后台服务平台,从系统整体上来看,其安全性能够得到保障。此外,在实现软件卡支付的安全解决方案后,相应的检测与认证也将面临一个新的挑战,此时,检测和认证的对象不再只是系统内的某个部件,而应针对整个解决方案进行综合的评估。

  三、典型解决方案示例

  以下列出几个典型的软件卡解决方案,重点描述实现过程中需充分考虑的安全要点。

  1.云端支付解决方案

  云端支付产品是目前基于HCE实现的软件卡主流解决方案。在本方案中,支付应用的核心数据在服务器云端(云端支付平台),软件卡支付应用的管理模块、支付运算模块以及存储模块都基于移动终端的操作系统实现,与POS终端交互,实现非接触式移动支付。移动终端需支持基于HCE实现的NlFC功能。

  由于本方案中前端支付应用运行在普通移动设备的操作系统之下,所以在服务器端需采取较为严格的参数管理、交易风险控制策略,比如,不允许基于本模型实现线下脱机交易、减少交易参数的有效次数和缩短有效周期、控制基于该模型实现的支付应用单次交易限额和累计交易限额等。通过较为严格的后台风险控制,可以降低系统性攻击的风险。

  后台服务器应对用户身份、移动设备及移动应用等进行全方位的验证。在验证通过后,软件卡支付应用与后台服务器之间的数据通信建立在安全连接的基础上,敏感数据通过安全通道进行传输。

  2.标记化技术在云端支付解决方案中的应用

  在云端支付解决方案的基础上,后台服务器为了进一步加强风险控制力度,可以进一步增加标记化服务器(Token ServICe Provider,TSP)的角色,云端支付平台可向标记化服务器申请标记(Token),进一步解决在手机中存放卡号等敏感数据形成潜在风险的问题。国际金融IC卡联合组织EMVCo统一在全球范围对TSP进行了编号,并通过各卡组织分别建立技术业务体系,管理卡组织自身银行卡对应Token的注册、标记库、标记提取、生命周期管理等功能。

  相比于普通的云端支付解决方案,叠加标记(Token)技术后,对软件卡支付应用中所存储的支付卡信息的保护和管控得到进一步加强,后台服务器可基于标记化技术有效控制因前端安全漏洞所造成的卡信息泄露带来的损失,同时也进一步提高了对持卡人各类交易风险的综合管控。

  3.TEE技术在云端支付解决方案中的应用

  由于以上解决方案的前端应用客户端仍处于安全级较低的操作系统环境下,理论上仍存在一定的安全漏洞,为进一步增强安全,还可进一步引进TEE技术。

  通过运用移动终端所提供的TEE环境,可有效提升前端应用的安全防护水平。TEE是移动终端中一个与通用环境相隔离的执行环境,能够提供例如应用隔离运行、可信应用及其资源完整性和保密性保护等安全功能。不过,TEE的安全除了需要自身软件保障以外,还需要依赖于移动终端平台硬件的保障。

  利用TEE提供的安全环境,软件卡应用可以通过多种方式提升自身安全防护能力,比如,可将软件卡应用中的敏感数据如交易参数、与后台服务器的通信密钥等存储在TEE环境下;软件卡应用与NFC芯片之间的通信信道可通过TEE环境进行安全隔离保护;将软件卡应用的支付运算模块以可信应用(TA)的方式运行在TEE环境下;对用户身份的认证(例如指纹识别)可通过TEE内置的安全服务来实现等。

  四、总结

  通过云端存储和控制、Token技术、TEE环境等技术的运用,基于HCE技术的移动支付应用成为安全可行的业务模式。当然,软件卡支付应用还可以直接利用移动设备中已有的SE提供的安全环境来存放敏感数据,从而进一步提升自身的安全防护能力,对此,发行方需根据实际具体情况进行综合考量。

  基于HCE技术的软件卡方案可降低NFC支付的门槛,减少NFC技术的推广成本,已成为支付产业界的新热点,相信在卡组织和发卡机构的创新推动下,相关的移动支付产品不久即将为持卡人广泛使用。