李智聰, 凌力(復(fù)旦大學(xué) 通信科學(xué)與工程系, 上海 200243)
NFC移動支付實現(xiàn)方案的安全性能分析
李智聰, 凌力
(復(fù)旦大學(xué) 通信科學(xué)與工程系, 上海 200243)
移動支付是允許用戶使用其移動終端(手機、可穿戴設(shè)備等)對所消費的商品或服務(wù)進行賬務(wù)支付的一種服務(wù)方式。移動支付將終端設(shè)備、互聯(lián)網(wǎng)、應(yīng)用提供商以及金融機構(gòu)相融合,為用戶提供貨幣支付、繳費等金融業(yè)務(wù)。安全性能是移動支付的重要考量標(biāo)準(zhǔn)之一,而NFC移動支付因其便捷性和安全性越來越受到市場的青睞,主要討論基于SE和HCE技術(shù)的NFC移動支付方案的安全性能,分析它們的技術(shù)特點,并探討備受關(guān)注的TEE技術(shù)應(yīng)用于NFC移動支付的可行性。
移動支付; 安全性; NFC; SE; HCE; TEE
在移動支付領(lǐng)域,交易安全性是人們關(guān)注的熱點話題,安全性主要指交易的有效性、機密性、完整性和不可抵賴性[1-2]。有效性要求交易各方進行身份認(rèn)證,機密性要求交易信息加密處理,完整性要求交易信息不被篡改,不可抵賴性要求交易各方不可否認(rèn)已完成的交易。通常來說,移動支付主要涉及3個部分:移動終端、網(wǎng)絡(luò)和交易處理,支付安全問題也主要發(fā)生在這3個環(huán)節(jié)[3]。移動終端安全包含硬件安全、系統(tǒng)安全和終端應(yīng)用安全,諸如信息泄露、惡意軟件、操作系統(tǒng)被劫持等是常見的移動終端安全問題。移動支付通常會在移動無線網(wǎng)絡(luò)環(huán)境下進行,因而容易受到各種的威脅與攻擊,如重放攻擊、中間人攻擊、拒絕服務(wù)攻擊等是常見的威脅到支付安全的網(wǎng)絡(luò)漏洞。交易處理的安全性主要是指支付平臺、交易系統(tǒng)的安全性,一般來說后端系統(tǒng)有成熟的病毒檢測、防御系統(tǒng)和風(fēng)險控制策略,不易受到惡意攻擊。下文對NFC移動支付實現(xiàn)方案的安全性分析,主要也是從移動終端安全和網(wǎng)絡(luò)安全這兩方面出發(fā)。
NFC(Near Field Communication,近場通信)是一種由非接觸式射頻識別(Radio Frequency Identification,RFID)演變而來的短距離高頻通信技術(shù),具有使用距離短(0.1m以內(nèi))、建立連接迅速(0.1s以內(nèi))、安全性高、支持有源工作模式和無源工作模式等特點,非常適用于移動支付領(lǐng)域。
在傳統(tǒng)的非現(xiàn)金支付領(lǐng)域,交易支付行為由消費者的銀行卡和商家的POS機聯(lián)合發(fā)起,通過網(wǎng)絡(luò)經(jīng)由通收單方、卡組織、發(fā)卡行等服務(wù)機構(gòu)處理而完成。NFC移動支付流程與此相似[4],區(qū)別在于移動終端取代銀行卡,扮演了銀行卡在支付流程中的角色。智能終端結(jié)合NFC技術(shù),使得NFC移動支付成為一種新興的安全便捷的支付方式。
NFC移動支付方式也可稱為卡模擬模式,目前,市面上應(yīng)用的NFC移動支付主要有兩種實現(xiàn)方案:基于SE(Secure Element,安全單元)技術(shù)的實現(xiàn)方案和基于HCE(Host-based Card Emulation,基于主機的卡模擬)技術(shù)的實現(xiàn)方案,下文將詳細(xì)討論這兩種技術(shù)方案的安全性能。
而隨著人們對移動終端安全的需求越來越強烈,TEE(Truested Execution Environment,可信執(zhí)行環(huán)境)技術(shù)被認(rèn)為是解決移動終端安全問題的有效方案,下文將會分析TEE技術(shù)應(yīng)用于NFC移動支付的可行性。
2.1 實現(xiàn)原理
安全單元(SE)是一塊存儲密鑰和加密數(shù)據(jù)的獨立芯片,芯片中具有加密/解密邏輯電路,可防止外部惡意解析攻擊,保護數(shù)據(jù)安全。SE提供硬件級別的安全性能,是移動終端中一個獨立于操作系統(tǒng)的安全硬件環(huán)境,操作系統(tǒng)和移動終端應(yīng)用都不能直接操作SE中的敏感數(shù)據(jù),能有效地防范信息被竊取與篡改。
在基于SE實現(xiàn)NFC移動支付的方案中[5],密鑰、數(shù)字證書、支付憑證等敏感數(shù)據(jù)均存儲在SE中,如圖1所示。

圖1 基于SE技術(shù)的移動支付方案
支付操作發(fā)生時,NFC控制器通過SE提供的API向SE發(fā)送請求,并不直接操作私密數(shù)據(jù),數(shù)據(jù)的存儲和支付程序的執(zhí)行由SE負(fù)責(zé)。支付程序及其相關(guān)數(shù)據(jù)由銀行等服務(wù)提供商通過安全檢測后固化到SE中,破解安全單元將會是一件非常艱難的事。
2.2 SE方案的分類
SE方案可進一步分為內(nèi)嵌式SE和TSM(Trusted Service Manager,可信服務(wù)提供商)。在內(nèi)嵌式SE方案中,SE由移動終端制造商直接安裝在手機主板上,而對于TSM方案,SE安裝在UICC卡(SIM卡)或者MicroSD上,作為可替換介質(zhì)插入手機使用,使用上較為靈活。
2.3 SE方案的安全性
SE方案主要以移動終端的硬件安全為基礎(chǔ),為支付應(yīng)用提供安全保護,安全性主要體現(xiàn)在數(shù)據(jù)的存儲和操作保密性強,破解硬件的難度大,同時整個支付流程都是離線執(zhí)行,消除了移動無線網(wǎng)絡(luò)攻擊帶來的威脅。
基于SE的NFC移動支付方式與傳統(tǒng)的刷卡支付相比,能有效地降低銀行卡信息泄露、賬戶被盜用等風(fēng)險。與常用的第三方支付平臺的掃碼支付方式相比可靠性更高,首先,NFC是一種較二維碼更為安全的私密通信方式,其次,支付流程無需經(jīng)過第三方支付平臺,無需網(wǎng)絡(luò)連接,減少了不必要的安全威脅。
我們熟悉的Apple Pay和Samsung Pay使用的就是內(nèi)嵌式SE方案。在數(shù)據(jù)存儲與傳輸環(huán)節(jié),這些手機制造商應(yīng)用EMV Tokenization技術(shù)[6](將銀行卡信息作特殊處理生成一串特定的數(shù)字序列(Token)存放在SE中,作為銀行卡賬戶的唯一標(biāo)識在支付過程中使用)增強了敏感信息的機密性;在認(rèn)證環(huán)節(jié),應(yīng)用指紋識別等生物識別技術(shù)取代靜態(tài)口令,提高了支付過程的安全性。
所以,單純考慮支付安全性,基于SE實現(xiàn)的NFC移動支付在線下支付領(lǐng)域可取代傳統(tǒng)的刷卡支付方式,并且能夠提供比第三方支付平臺的掃碼支付方式更安全的支付服務(wù)。
3.1 實現(xiàn)原理
HCE是一種基于軟件模擬銀行卡的技術(shù),即基于主機的卡模擬,如圖2所示。

圖2 基于云端HCE技術(shù)的移動支付方案
在HCE方案中,不需要提供安全單元,而是在移動終端運行一個本地或云端應(yīng)用完成SE的功能。NFC芯片接收到的支付請求由操作系統(tǒng)發(fā)送至本地或云端應(yīng)用處理,提供的是軟件級別的安全保護。
3.2 HCE方案的分類
HCE方案根據(jù)實現(xiàn)SE功能的方式不同,可分為本地HCE方案和云端HCE方案[7]。對于本地HCE方案,敏感數(shù)據(jù)都存放在本地應(yīng)用中,認(rèn)證、交易處理等操作均由本地應(yīng)用完成,安全性主要靠移動終端操作系統(tǒng)保障,極易受到惡意攻擊。為了增強支付安全性能,在云端HCE方案中,關(guān)鍵的信息和支付操作移至云端,移動終端只需要向云端發(fā)送支付請求,因而應(yīng)用于移動支付的方案通常是云端HCE方案,我們談?wù)揌CE方案時,通常也是指云端HCE。
3.3 HCE的安全性
云端HCE方案的安全性體現(xiàn)在:一、可靠的云端服務(wù)器為敏感數(shù)據(jù)的存儲和支付操作的執(zhí)行提供安全保障。二、當(dāng)移動終端被惡意軟件劫持或者賬戶被盜用時,云端能通過實時的數(shù)據(jù)分析等手段甄別用戶的異常行為,也能通過動態(tài)支付憑證、限制交易口令有效使用時間或有效使用次數(shù)等方式降低惡意攻擊造成的損失。而存在安全隱患有[8]:一、身份認(rèn)證、與云端交互等操作仍需本地應(yīng)用參與,與此相關(guān)的敏感信息仍需存放在本地,移動終端安全是操作系統(tǒng)提供的軟件級別安全,容易受到攻擊。二、云端HCE方案需要移動無線網(wǎng)絡(luò)連接,因而潛在各種與網(wǎng)絡(luò)相關(guān)的安全隱患。
從技術(shù)架構(gòu)來看,云端HCE方案的安全性比SE方案差,并且云端HCE方案的支付流程涉及的環(huán)節(jié)更多,因而潛在的安全漏洞也更多。但是云端HCE方案可以通過數(shù)據(jù)加密、數(shù)字簽名、網(wǎng)絡(luò)加密等技術(shù)手段提高支付流程的安全性,并且可以通過動態(tài)支付口令、實時監(jiān)控等方式減少惡意攻擊造成的損失。
由于云端HCE無需依賴具體的終端硬件平臺,適用于在不同的移動終端搭建通用的支付應(yīng)用,并且核心功能由云端提供,可維護性和可擴展性強,同時也能實現(xiàn)更豐富的支付功能和提供更多的增值服務(wù)。因而,對于如開發(fā)成本低、易于推廣或者功能豐富這樣的應(yīng)用需求,云端HCE方案是一個不錯的選擇。
早在2013年11月1日,Google在發(fā)布的Android4.4操作系統(tǒng)中,就開始支持主機卡模擬HCE技術(shù),并通過谷歌錢包將HCE應(yīng)用到Nexus 5手機中。而銀聯(lián)公司推出的銀聯(lián)云閃付也是基于HCE和Tokenization技術(shù)的移動支付方案。
4.1 TEE簡介
可信執(zhí)行環(huán)境(TEE)是GlobalPlatform提出的概念,是一門備受關(guān)注的可用于解決移動終端安全問題的技術(shù),如圖3所示。

圖3 TEE的基本架構(gòu)
TEE是與移動終端的操作系統(tǒng)(Rich OS)并存的運行環(huán)境,具有獨立的硬件資源空間,為應(yīng)用的運行提供可信執(zhí)行環(huán)境,并給Rich OS提供安全服務(wù)。TEE具備以下的一些安全特性[9][10]:
(1)隔離的執(zhí)行環(huán)境(Isolated Execution);運行在TEE上的可信應(yīng)用(Trusted Application)與運行在Rich OS上的應(yīng)用相互隔離,并且可信應(yīng)用之間也互不影響。
(2)安全存儲(Secure Storage);密鑰、數(shù)字證書等敏感信息可存放在TEE上,避免被其它應(yīng)用(未授權(quán)應(yīng)用、惡意應(yīng)用等)讀取或篡改。
(3)遠(yuǎn)程證明(Remote Attestation);驗證可信應(yīng)用TCB(Truested Computing Base,可信計算基礎(chǔ))的完整性和合法性,如可信計算模塊、可信軟件執(zhí)行棧、可信計算平臺等內(nèi)容。
(4)安全配置(Secure Provisioning);提供一種與特定平臺上的特定應(yīng)用交換信息的安全機制,保障數(shù)據(jù)的機密性和完整性。
(5)可信路徑(Trusted Path);保證用戶直接與可信應(yīng)用交互,而不用經(jīng)過如操作系統(tǒng)這樣的第三方,消除偽造輸入輸出和信息篡改的漏洞。
4.2 TEE方案的可行性
SE方案安全性雖然很高,但是對硬件的依賴性高,功能較單一,應(yīng)用成本高;HCE的方案無需依賴硬件資源,開發(fā)難度低,易于推廣,靈活性好,但是安全性能不夠好是其致命的缺點。考慮到TEE技術(shù)的安全特性,應(yīng)用TEE實現(xiàn)NFC移動支付能彌補SE方案和HCE方案的不足,如圖4所示。
基于TEE的實現(xiàn)方案從移動終端安全性出發(fā)為支付應(yīng)用提供一個可信執(zhí)行環(huán)境,并且能為敏感信息的安全存儲提供保護。TEE綜合考慮了移動終端的硬件安全、系統(tǒng)安全、終端應(yīng)用安全,是一個以硬件為基礎(chǔ)的軟件硬件相結(jié)合的移動終端安全問題的解決方案[11-12],能為移動支付提供高于云端HCE方案、低于SE方案的足夠安全保護。而且與SE簡單的命令接口相比,TEE可用資源更多、接口功能(客戶端API、內(nèi)部核心API、可信UI API等)更豐富,實用性更強。雖然目前TEE技術(shù)仍在發(fā)展與完善,應(yīng)用還較為局限,但是隨著TEE技術(shù)的成熟和普及,應(yīng)用TEE技術(shù)實現(xiàn)NFC移動支付或許會成為SE方案的替代選擇。

圖4 基于TEE技術(shù)的移動支付方案
在移動支付領(lǐng)域,隨著移動支付的日益普及,支付安全的需求也越來越強烈。SE方案安全性高,但是易用性差、開發(fā)成本高;而云端HCE方案雖然易用性好、開發(fā)成本較低,但是安全性稍差;TEE方案雖然理論上可行,但是實際的應(yīng)用還有待發(fā)展。
不妨考慮結(jié)合SE技術(shù)、云端技術(shù)和Tokenization技術(shù)實現(xiàn)NFC移動支付,移動終端可以用SE作為可信根保存關(guān)鍵的數(shù)據(jù),交易處理相關(guān)的操作移至云端執(zhí)行并由云端提供安全保護,并且應(yīng)用Tokenization技術(shù),進一步加強用戶敏感信息的機密性和完整性,如圖5所示。
SE存儲支付應(yīng)用的敏感數(shù)據(jù),為本地支付應(yīng)用提供身份認(rèn)證、支付憑證生成等服務(wù),增強了HCE方案中本地支付應(yīng)用的安全性;復(fù)雜的交易處理操作由云端服務(wù)器負(fù)責(zé),減少SE的負(fù)荷,強化風(fēng)險控制,提高支付應(yīng)用的靈活性;Tokenization技術(shù)為信息的存儲和傳輸保駕護航。從理論上來說,支付應(yīng)用的安全性能得到很好的保障,對移動終端的依賴性會降低,支付功能可以更豐富,開發(fā)和推廣成本會減少,應(yīng)用的更新和維護也更容易。

圖5 一個可行的結(jié)合方案
本文主要討論了市面上NFC移動支付的兩種技術(shù)實現(xiàn)方案,著重分析了兩者的安全性能,并比較了它們的技術(shù)特點和適用場景,同時討論了TEE技術(shù)實現(xiàn)NFC移動支付的可行性。在移動支付領(lǐng)域,安全是基礎(chǔ),如何保障支付安全是我們首要的關(guān)注點。技術(shù)日新月異,滿足安全性和實用性是我們追求的目標(biāo),我們可以靈活地應(yīng)用各種成熟的技術(shù)去提高移動支付的安全性與實用性。而對于移動支付領(lǐng)域相關(guān)的技術(shù)及其安全性的研究,文中只是作了簡要的探討,還有很多地方可以深究。
[1] 陳小梅. 移動支付體系的安全風(fēng)險分析與研究[D]. 北京:北京郵電大學(xué) 2014.
[2] 姜文婕. 移動支付系統(tǒng)體系結(jié)構(gòu)及安全分析[D]. 上海:上海交通大學(xué) 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技術(shù)在移動支付中的應(yīng)用研究[D]. 西安:西安電子科技大學(xué) 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] 羅凈. 基于智能終端可信操作系統(tǒng)的安全支付研究與實現(xiàn)[D]. 成都:電子科技大學(xué), 2014.
[12] 鄭顯義,李文,孟丹. TrustZone技術(shù)的分析與研究[J]. 計算機學(xué)報, 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-),男,廣東,碩士研究生,研究方向:網(wǎng)絡(luò)與數(shù)據(jù)通信。凌 力(1967-),男,浙江,副教授,研究方向:網(wǎng)絡(luò)與數(shù)據(jù)通信。
1007-757X(2017)11-0061-04
TP311
A
2017.01.25)