NFC移动支付实现方案的安全性能分析
2017-11-29李智聪凌力复旦大学通信科学与工程系上海200243
李智聪, 凌力(复旦大学 通信科学与工程系, 上海 200243)
NFC移动支付实现方案的安全性能分析
李智聪, 凌力
(复旦大学 通信科学与工程系, 上海 200243)
移动支付是允许用户使用其移动终端(手机、可穿戴设备等)对所消费的商品或服务进行账务支付的一种服务方式。移动支付将终端设备、互联网、应用提供商以及金融机构相融合,为用户提供货币支付、缴费等金融业务。安全性能是移动支付的重要考量标准之一,而NFC移动支付因其便捷性和安全性越来越受到市场的青睐,主要讨论基于SE和HCE技术的NFC移动支付方案的安全性能,分析它们的技术特点,并探讨备受关注的TEE技术应用于NFC移动支付的可行性。
移动支付; 安全性; NFC; SE; HCE; TEE
0 引言
在移动支付领域,交易安全性是人们关注的热点话题,安全性主要指交易的有效性、机密性、完整性和不可抵赖性[1-2]。有效性要求交易各方进行身份认证,机密性要求交易信息加密处理,完整性要求交易信息不被篡改,不可抵赖性要求交易各方不可否认已完成的交易。通常来说,移动支付主要涉及3个部分:移动终端、网络和交易处理,支付安全问题也主要发生在这3个环节[3]。移动终端安全包含硬件安全、系统安全和终端应用安全,诸如信息泄露、恶意软件、操作系统被劫持等是常见的移动终端安全问题。移动支付通常会在移动无线网络环境下进行,因而容易受到各种的威胁与攻击,如重放攻击、中间人攻击、拒绝服务攻击等是常见的威胁到支付安全的网络漏洞。交易处理的安全性主要是指支付平台、交易系统的安全性,一般来说后端系统有成熟的病毒检测、防御系统和风险控制策略,不易受到恶意攻击。下文对NFC移动支付实现方案的安全性分析,主要也是从移动终端安全和网络安全这两方面出发。
1 NFC移动支付简介
NFC(Near Field Communication,近场通信)是一种由非接触式射频识别(Radio Frequency Identification,RFID)演变而来的短距离高频通信技术,具有使用距离短(0.1m以内)、建立连接迅速(0.1s以内)、安全性高、支持有源工作模式和无源工作模式等特点,非常适用于移动支付领域。
在传统的非现金支付领域,交易支付行为由消费者的银行卡和商家的POS机联合发起,通过网络经由通收单方、卡组织、发卡行等服务机构处理而完成。NFC移动支付流程与此相似[4],区别在于移动终端取代银行卡,扮演了银行卡在支付流程中的角色。智能终端结合NFC技术,使得NFC移动支付成为一种新兴的安全便捷的支付方式。
NFC移动支付方式也可称为卡模拟模式,目前,市面上应用的NFC移动支付主要有两种实现方案:基于SE(Secure Element,安全单元)技术的实现方案和基于HCE(Host-based Card Emulation,基于主机的卡模拟)技术的实现方案,下文将详细讨论这两种技术方案的安全性能。
而随着人们对移动终端安全的需求越来越强烈,TEE(Truested Execution Environment,可信执行环境)技术被认为是解决移动终端安全问题的有效方案,下文将会分析TEE技术应用于NFC移动支付的可行性。
2 基于SE的实现方案
2.1 实现原理
安全单元(SE)是一块存储密钥和加密数据的独立芯片,芯片中具有加密/解密逻辑电路,可防止外部恶意解析攻击,保护数据安全。SE提供硬件级别的安全性能,是移动终端中一个独立于操作系统的安全硬件环境,操作系统和移动终端应用都不能直接操作SE中的敏感数据,能有效地防范信息被窃取与篡改。
在基于SE实现NFC移动支付的方案中[5],密钥、数字证书、支付凭证等敏感数据均存储在SE中,如图1所示。
图1 基于SE技术的移动支付方案
支付操作发生时,NFC控制器通过SE提供的API向SE发送请求,并不直接操作私密数据,数据的存储和支付程序的执行由SE负责。支付程序及其相关数据由银行等服务提供商通过安全检测后固化到SE中,破解安全单元将会是一件非常艰难的事。
2.2 SE方案的分类
SE方案可进一步分为内嵌式SE和TSM(Trusted Service Manager,可信服务提供商)。在内嵌式SE方案中,SE由移动终端制造商直接安装在手机主板上,而对于TSM方案,SE安装在UICC卡(SIM卡)或者MicroSD上,作为可替换介质插入手机使用,使用上较为灵活。
2.3 SE方案的安全性
SE方案主要以移动终端的硬件安全为基础,为支付应用提供安全保护,安全性主要体现在数据的存储和操作保密性强,破解硬件的难度大,同时整个支付流程都是离线执行,消除了移动无线网络攻击带来的威胁。
基于SE的NFC移动支付方式与传统的刷卡支付相比,能有效地降低银行卡信息泄露、账户被盗用等风险。与常用的第三方支付平台的扫码支付方式相比可靠性更高,首先,NFC是一种较二维码更为安全的私密通信方式,其次,支付流程无需经过第三方支付平台,无需网络连接,减少了不必要的安全威胁。
我们熟悉的Apple Pay和Samsung Pay使用的就是内嵌式SE方案。在数据存储与传输环节,这些手机制造商应用EMV Tokenization技术[6](将银行卡信息作特殊处理生成一串特定的数字序列(Token)存放在SE中,作为银行卡账户的唯一标识在支付过程中使用)增强了敏感信息的机密性;在认证环节,应用指纹识别等生物识别技术取代静态口令,提高了支付过程的安全性。
所以,单纯考虑支付安全性,基于SE实现的NFC移动支付在线下支付领域可取代传统的刷卡支付方式,并且能够提供比第三方支付平台的扫码支付方式更安全的支付服务。
3 基于HCE的实现方案
3.1 实现原理
HCE是一种基于软件模拟银行卡的技术,即基于主机的卡模拟,如图2所示。
图2 基于云端HCE技术的移动支付方案
在HCE方案中,不需要提供安全单元,而是在移动终端运行一个本地或云端应用完成SE的功能。NFC芯片接收到的支付请求由操作系统发送至本地或云端应用处理,提供的是软件级别的安全保护。
3.2 HCE方案的分类
HCE方案根据实现SE功能的方式不同,可分为本地HCE方案和云端HCE方案[7]。对于本地HCE方案,敏感数据都存放在本地应用中,认证、交易处理等操作均由本地应用完成,安全性主要靠移动终端操作系统保障,极易受到恶意攻击。为了增强支付安全性能,在云端HCE方案中,关键的信息和支付操作移至云端,移动终端只需要向云端发送支付请求,因而应用于移动支付的方案通常是云端HCE方案,我们谈论HCE方案时,通常也是指云端HCE。
3.3 HCE的安全性
云端HCE方案的安全性体现在:一、可靠的云端服务器为敏感数据的存储和支付操作的执行提供安全保障。二、当移动终端被恶意软件劫持或者账户被盗用时,云端能通过实时的数据分析等手段甄别用户的异常行为,也能通过动态支付凭证、限制交易口令有效使用时间或有效使用次数等方式降低恶意攻击造成的损失。而存在安全隐患有[8]:一、身份认证、与云端交互等操作仍需本地应用参与,与此相关的敏感信息仍需存放在本地,移动终端安全是操作系统提供的软件级别安全,容易受到攻击。二、云端HCE方案需要移动无线网络连接,因而潜在各种与网络相关的安全隐患。
从技术架构来看,云端HCE方案的安全性比SE方案差,并且云端HCE方案的支付流程涉及的环节更多,因而潜在的安全漏洞也更多。但是云端HCE方案可以通过数据加密、数字签名、网络加密等技术手段提高支付流程的安全性,并且可以通过动态支付口令、实时监控等方式减少恶意攻击造成的损失。
由于云端HCE无需依赖具体的终端硬件平台,适用于在不同的移动终端搭建通用的支付应用,并且核心功能由云端提供,可维护性和可扩展性强,同时也能实现更丰富的支付功能和提供更多的增值服务。因而,对于如开发成本低、易于推广或者功能丰富这样的应用需求,云端HCE方案是一个不错的选择。
早在2013年11月1日,Google在发布的Android4.4操作系统中,就开始支持主机卡模拟HCE技术,并通过谷歌钱包将HCE应用到Nexus 5手机中。而银联公司推出的银联云闪付也是基于HCE和Tokenization技术的移动支付方案。
4 基于TEE的可行方案
4.1 TEE简介
可信执行环境(TEE)是GlobalPlatform提出的概念,是一门备受关注的可用于解决移动终端安全问题的技术,如图3所示。
图3 TEE的基本架构
TEE是与移动终端的操作系统(Rich OS)并存的运行环境,具有独立的硬件资源空间,为应用的运行提供可信执行环境,并给Rich OS提供安全服务。TEE具备以下的一些安全特性[9][10]:
(1)隔离的执行环境(Isolated Execution);运行在TEE上的可信应用(Trusted Application)与运行在Rich OS上的应用相互隔离,并且可信应用之间也互不影响。
(2)安全存储(Secure Storage);密钥、数字证书等敏感信息可存放在TEE上,避免被其它应用(未授权应用、恶意应用等)读取或篡改。
(3)远程证明(Remote Attestation);验证可信应用TCB(Truested Computing Base,可信计算基础)的完整性和合法性,如可信计算模块、可信软件执行栈、可信计算平台等内容。
(4)安全配置(Secure Provisioning);提供一种与特定平台上的特定应用交换信息的安全机制,保障数据的机密性和完整性。
(5)可信路径(Trusted Path);保证用户直接与可信应用交互,而不用经过如操作系统这样的第三方,消除伪造输入输出和信息篡改的漏洞。
4.2 TEE方案的可行性
SE方案安全性虽然很高,但是对硬件的依赖性高,功能较单一,应用成本高;HCE的方案无需依赖硬件资源,开发难度低,易于推广,灵活性好,但是安全性能不够好是其致命的缺点。考虑到TEE技术的安全特性,应用TEE实现NFC移动支付能弥补SE方案和HCE方案的不足,如图4所示。
基于TEE的实现方案从移动终端安全性出发为支付应用提供一个可信执行环境,并且能为敏感信息的安全存储提供保护。TEE综合考虑了移动终端的硬件安全、系统安全、终端应用安全,是一个以硬件为基础的软件硬件相结合的移动终端安全问题的解决方案[11-12],能为移动支付提供高于云端HCE方案、低于SE方案的足够安全保护。而且与SE简单的命令接口相比,TEE可用资源更多、接口功能(客户端API、内部核心API、可信UI API等)更丰富,实用性更强。虽然目前TEE技术仍在发展与完善,应用还较为局限,但是随着TEE技术的成熟和普及,应用TEE技术实现NFC移动支付或许会成为SE方案的替代选择。
图4 基于TEE技术的移动支付方案
4 一个可行的结合方案
在移动支付领域,随着移动支付的日益普及,支付安全的需求也越来越强烈。SE方案安全性高,但是易用性差、开发成本高;而云端HCE方案虽然易用性好、开发成本较低,但是安全性稍差;TEE方案虽然理论上可行,但是实际的应用还有待发展。
不妨考虑结合SE技术、云端技术和Tokenization技术实现NFC移动支付,移动终端可以用SE作为可信根保存关键的数据,交易处理相关的操作移至云端执行并由云端提供安全保护,并且应用Tokenization技术,进一步加强用户敏感信息的机密性和完整性,如图5所示。
SE存储支付应用的敏感数据,为本地支付应用提供身份认证、支付凭证生成等服务,增强了HCE方案中本地支付应用的安全性;复杂的交易处理操作由云端服务器负责,减少SE的负荷,强化风险控制,提高支付应用的灵活性;Tokenization技术为信息的存储和传输保驾护航。从理论上来说,支付应用的安全性能得到很好的保障,对移动终端的依赖性会降低,支付功能可以更丰富,开发和推广成本会减少,应用的更新和维护也更容易。
图5 一个可行的结合方案
5 总结
本文主要讨论了市面上NFC移动支付的两种技术实现方案,着重分析了两者的安全性能,并比较了它们的技术特点和适用场景,同时讨论了TEE技术实现NFC移动支付的可行性。在移动支付领域,安全是基础,如何保障支付安全是我们首要的关注点。技术日新月异,满足安全性和实用性是我们追求的目标,我们可以灵活地应用各种成熟的技术去提高移动支付的安全性与实用性。而对于移动支付领域相关的技术及其安全性的研究,文中只是作了简要的探讨,还有很多地方可以深究。
[1] 陈小梅. 移动支付体系的安全风险分析与研究[D]. 北京:北京邮电大学 2014.
[2] 姜文婕. 移动支付系统体系结构及安全分析[D]. 上海:上海交通大学 2007.
[3] Yong Wang, Christen Hahn, Kruttika Sutrave. Mobile payment security, threats, and challenges[C]. 2016 Second International Conference on Mobile and Secure Services (MobiSecServ).
[4] Ismail Turk, Ahmet Cosar. An Open, NFC Enabler Independent Mobile Payment and Identification Method: NFC Feature Box[C]. 2016 IEEE 17th International Symposium on A World of Wireless, Mobile and Multimedia Networks (WoWMoM).
[5] Emir Husni, Adrian Ariono. Development of integrated mobile money system using Near Field Communication (NFC)[C]. 2014 8th International Conference on Telecommunication Systems Services and Applications (TSSA).
[6] D. Ortiz-Yepes. A Critical Review of the EMV Payment Tokenisation Specification[J]. Computer Fraud amp; Security, 2014(10): 5-12.
[7] 张博. HCE技术在移动支付中的应用研究[D]. 西安:西安电子科技大学 2014.
[8] Sarah Abughazalah, Kostantinos Markantonakis, Keith Mayes. Secure Mobile Payment on NFC-Enabled Mobile Phones Formally Analysed Using CasperFDR[J]. 2014 IEEE 13th International Conference on Trust, Security and Privacy in Computing and Communications.
[9] Amit Vasudevan, Emmanuel Owusu, Zongwei Zhou, James Newsome, Jonathan McCune Trustworthy Execution on Mobile Devices: What Security Properties Can My Mobile Platform Give Me?[C]. Trust and Trustworthy Computing, Springer, 2012: 159-178.
[10] Jan-Erik Ekberg, Kari Kostiainen, N. Asokan. The Untapped Potential of Trusted Execution Environments on Mobile Devices[J]. IEEE Security amp; Privacy, 2014,12(4):
[11] 罗净. 基于智能终端可信操作系统的安全支付研究与实现[D]. 成都:电子科技大学, 2014.
[12] 郑显义,李文,孟丹. TrustZone技术的分析与研究[J]. 计算机学报, 2016,(9).
AnalysisofSecurityPerformanceabouttheImplementationsofNFCMobilePayment
Li Zhicong, Ling Li
(College of Information Science and Engineering, Fudan University, Shanghai 200433)
Mobile payment is one kind of service that allows a user to pay for a consumed commodity or service to use his / her mobile terminal (mobile phone, wearable device, etc.). Mobile payment combines terminal equipment, the Internet, application providers and financial institutions to provide users with monetary payment, fee payment and other financial services. Security is one of the most important performance metrics of mobile payment. Due to its convenience and security, NFC mobile payment method has become more and more favored by the market. This paper mainly discusses the security performance about the implementations of NFC mobile payment based on SE and HCE technology and analyzes their technical characteristics. Moreover, the feasibility of the application of the high-profile TEE technology in NFC mobile payment is also discussed.
Mobile payment; Security; NFC; SE; HCE; TEE
李智聪(1991-),男,广东,硕士研究生,研究方向:网络与数据通信。凌 力(1967-),男,浙江,副教授,研究方向:网络与数据通信。
1007-757X(2017)11-0061-04
TP311
A
2017.01.25)