HCE技術在移動支付中的應用與安全分析
在非接觸式移動設備進行現(xiàn)場支付業(yè)務時,一般是利用NFC技術的卡模擬方式來實現(xiàn),即把移動設備模擬成一張非接觸式的金融IC卡,與支持非接觸式受理的POS終端進行交互。在這種傳統(tǒng)的卡模擬方案中,需在移動設備內(nèi)加載安全單元(SEcure E1ement,SE),用于支付應用及其數(shù)據(jù)的安全存儲和安全運算,為支付過程提供了芯片級的可靠安全保障。該安全單元的載體形式可以是智能SD卡、智能SIM卡或者移動終端內(nèi)部的嵌入式獨立單元。這些安全單元的存在確實保障了金融數(shù)據(jù)安全,但同時也在卡的發(fā)行運營方面增加了移動支付的復雜性。

中國銀聯(lián)股份有限公司技術部助理總經(jīng)理 李偉
2013年底,安卓操作系統(tǒng)4.4以上版本支持了主機卡模擬(Host-baSEd Card Emulation,HCE)技術,該技術使基于操作系統(tǒng)應用軟件直接實現(xiàn)卡模擬技術成為可能,不再要求手機中必須存在安全單元。HCE技術的應用可以大幅降低支付應用的門檻,減少移動支付的推廣成本,因而引起了業(yè)界的廣泛關注。但是,由于HCE方案軟件卡支付應用不再要求移動終端中必須存在安全單元,因而需要應設計一套完整的安全加固方案以保護支付應用數(shù)據(jù)的安全。本文將對HCE技術在移動支付的應用安全進行分析,并提出典型的技術解決方案。
一、基于HCE的軟件卡技術方案整體架構(gòu)
圖1給出了一個較為全面的能夠涵蓋多種具體解決方案的整體架構(gòu),其關鍵模塊介紹如下。

1.移動終端
移動終端是用戶支付應用的載體,具體形態(tài)可以為支持NFC功能的手機、平板或者可穿戴設備等。移動終端應具備用于支撐各類應用運行的執(zhí)行環(huán)境,執(zhí)行環(huán)境為上層應用提供運算、存儲管理、輸入輸出界面等一系列功能和服務。通過移動終端,用戶可以下載、安裝基于HCE技術實現(xiàn)的軟件卡支付應用軟件(如數(shù)字錢包應用等)。通過支付應用軟件,實現(xiàn)支付應用的管理、非接觸式支付或遠程支付等功能??尚艌?zhí)行環(huán)境(Trusted Execution Environment,TEE)技術被視為是未來進一步提升移動終端執(zhí)行環(huán)境安全的一個重要方向。
2.軟件卡支付應用
軟件卡支付應用是解決方案中最為核心的組成要素,一般而言,其主要功能如下:
用戶軟件卡賬戶信息的管理,如申請、下載、刪除、暫停、恢復等功能;用戶賬戶信息的保存和處理,如賬戶參數(shù)的保存和更新等;支付過程中的數(shù)據(jù)運算,如非接觸支付中對終端指令的處理和響應、遠程支付中交易驗證數(shù)據(jù)的生成或驗證等;可提供賬戶信息查詢、余額查詢、圈存等操作入口。
軟件卡支付應用可以有多種實現(xiàn)形式,可以作為獨立的移動應用軟件存在,也可以作為插件的形式集成在其他服務提供商的移動應用軟件中。
3.移動應用平臺
移動應用平臺是移動應用軟件接入的既有或新建的后臺管理系統(tǒng),提供移動應用的下載和管理功能。在云端支付解決方案中,它還可負責移動應用與云端支付平臺之間的數(shù)據(jù)轉(zhuǎn)發(fā)或路由。
4.云端支付平臺
云端支付平臺是云端支付解決方案中使用到的后臺系統(tǒng),可提供云賬戶生命周期的管理服務,包括云賬戶為創(chuàng)建和初始化、活躍賬戶管理、交易驗證、交易處理、生命周期管理及后交易處理。除了這些基礎功能外,云端支付平臺可同時提供一些輔助功能,例如賬單服務、報告服務等。
5.標記化服務提供商系統(tǒng)
標記化服務提供商系統(tǒng)是指在符合EMVCo標記化規(guī)范架構(gòu)下,能夠完成從標記生成和發(fā)布功能的系統(tǒng),并在標記請求者發(fā)出請求時維護已建立的“標記一主賬號”的映射關系。
6.安全單元
在某些應用場景下,如果移動終端中存在安全芯片,軟件卡解決方案也可以結(jié)合SE,由其來提供更為安全的支付應用數(shù)據(jù)存儲和運算功能。
7.遠程支付網(wǎng)關
用于處理遠程支付交易的系統(tǒng)前置平臺。
二、安全性分析
相比于傳統(tǒng)基于SE實現(xiàn)的支付應用(主要由SE提供安全存儲和安全運算保障),軟件卡支付應用的安全防護需要由整體解決方案來提供。在軟件卡支付解決方案中,每一個部件都分擔了系統(tǒng)安全的一些責任,同時實現(xiàn)了系統(tǒng)安全的一些功能。安全性不再以某單獨部件的安全與否進行衡量,而是以多部件系統(tǒng)整體為單位進行衡量。
軟件卡解決方案的安全性可以從兩個角度來衡量,一方面是發(fā)現(xiàn)漏洞以及利用漏洞的難易程度,另一方面是一旦漏洞被利用之后造成損失的大小。由于軟件卡支付應用所處的移動終端操作系統(tǒng)能提供的安全防護較為薄弱,軟件卡支付應用一般在整體解決方案中不是獨立存在的,它一般與其它安全環(huán)境或者云端支付系統(tǒng)架構(gòu)緊密結(jié)合??傮w看來,軟件卡解決方案的安全性可以從前端和后端兩個方面來考慮:前端包含移動終端能提供的安全環(huán)境及軟件卡支付應用,后端主要是移動應用平臺、云端支付平臺等。
在前端的安全考慮中,由移動終端操作系統(tǒng)自身提供的安全防護在目前階段往往存在安全漏洞。因此,建議應用提供方在實現(xiàn)軟件卡支付應用時,應該著重分析會有哪些可能存在的風險,然后采用相應的防護技術降低風險。比如,針對支付應用自身,可采用白盒加密、代碼混淆等技術手段來提升安全防護能力,減少漏洞,降低漏洞暴露的可能性,提升漏洞被利用的難度;另一方面,盡量降低漏洞被利用之后造成的損失,如可采用賬號標記化、限制密鑰使用等手段。
在后端的系統(tǒng)實現(xiàn)中,從安全的角度看,一個關鍵前提是在設計服務器端時不應該假設前端是安全的,應該要考慮到前端安全有被攻破的可能性?;谶@個思想,系統(tǒng)做支付授權(quán)時,不應只根據(jù)前端信息做決定,而應根據(jù)前端和后端的信息做出綜合決定。另外,服務器端應該實現(xiàn)一些遠程管理的功能,保障一旦前端出現(xiàn)安全漏洞服務器能采取一定的措施去修復。同時,應充分利用移動終端和前端支付應用提供的信息,比如位置服務(LBS、指紋識別、交易頻次、設備指紋等,建立模型進行綜合風險監(jiān)控。
因此,就軟件卡支付應用作為單個部件而言,和基于SE的支付應用實現(xiàn)相比,其風險無疑大幅增加。但如果能合理結(jié)合多種安全加固措施和后臺服務平臺,從系統(tǒng)整體上來看,其安全性能夠得到保障。此外,在實現(xiàn)軟件卡支付的安全解決方案后,相應的檢測與認證也將面臨一個新的挑戰(zhàn),此時,檢測和認證的對象不再只是系統(tǒng)內(nèi)的某個部件,而應針對整個解決方案進行綜合的評估。
三、典型解決方案示例
以下列出幾個典型的軟件卡解決方案,重點描述實現(xiàn)過程中需充分考慮的安全要點。
1.云端支付解決方案
云端支付產(chǎn)品是目前基于HCE實現(xiàn)的軟件卡主流解決方案。在本方案中,支付應用的核心數(shù)據(jù)在服務器云端(云端支付平臺),軟件卡支付應用的管理模塊、支付運算模塊以及存儲模塊都基于移動終端的操作系統(tǒng)實現(xiàn),與POS終端交互,實現(xiàn)非接觸式移動支付。移動終端需支持基于HCE實現(xiàn)的NlFC功能。
由于本方案中前端支付應用運行在普通移動設備的操作系統(tǒng)之下,所以在服務器端需采取較為嚴格的參數(shù)管理、交易風險控制策略,比如,不允許基于本模型實現(xiàn)線下脫機交易、減少交易參數(shù)的有效次數(shù)和縮短有效周期、控制基于該模型實現(xiàn)的支付應用單次交易限額和累計交易限額等。通過較為嚴格的后臺風險控制,可以降低系統(tǒng)性攻擊的風險。
后臺服務器應對用戶身份、移動設備及移動應用等進行全方位的驗證。在驗證通過后,軟件卡支付應用與后臺服務器之間的數(shù)據(jù)通信建立在安全連接的基礎上,敏感數(shù)據(jù)通過安全通道進行傳輸。
2.標記化技術在云端支付解決方案中的應用
在云端支付解決方案的基礎上,后臺服務器為了進一步加強風險控制力度,可以進一步增加標記化服務器(Token ServICe Provider,TSP)的角色,云端支付平臺可向標記化服務器申請標記(Token),進一步解決在手機中存放卡號等敏感數(shù)據(jù)形成潛在風險的問題。國際金融IC卡聯(lián)合組織EMVCo統(tǒng)一在全球范圍對TSP進行了編號,并通過各卡組織分別建立技術業(yè)務體系,管理卡組織自身銀行卡對應Token的注冊、標記庫、標記提取、生命周期管理等功能。
相比于普通的云端支付解決方案,疊加標記(Token)技術后,對軟件卡支付應用中所存儲的支付卡信息的保護和管控得到進一步加強,后臺服務器可基于標記化技術有效控制因前端安全漏洞所造成的卡信息泄露帶來的損失,同時也進一步提高了對持卡人各類交易風險的綜合管控。
3.TEE技術在云端支付解決方案中的應用
由于以上解決方案的前端應用客戶端仍處于安全級較低的操作系統(tǒng)環(huán)境下,理論上仍存在一定的安全漏洞,為進一步增強安全,還可進一步引進TEE技術。
通過運用移動終端所提供的TEE環(huán)境,可有效提升前端應用的安全防護水平。TEE是移動終端中一個與通用環(huán)境相隔離的執(zhí)行環(huán)境,能夠提供例如應用隔離運行、可信應用及其資源完整性和保密性保護等安全功能。不過,TEE的安全除了需要自身軟件保障以外,還需要依賴于移動終端平臺硬件的保障。
利用TEE提供的安全環(huán)境,軟件卡應用可以通過多種方式提升自身安全防護能力,比如,可將軟件卡應用中的敏感數(shù)據(jù)如交易參數(shù)、與后臺服務器的通信密鑰等存儲在TEE環(huán)境下;軟件卡應用與NFC芯片之間的通信信道可通過TEE環(huán)境進行安全隔離保護;將軟件卡應用的支付運算模塊以可信應用(TA)的方式運行在TEE環(huán)境下;對用戶身份的認證(例如指紋識別)可通過TEE內(nèi)置的安全服務來實現(xiàn)等。
四、總結(jié)
通過云端存儲和控制、Token技術、TEE環(huán)境等技術的運用,基于HCE技術的移動支付應用成為安全可行的業(yè)務模式。當然,軟件卡支付應用還可以直接利用移動設備中已有的SE提供的安全環(huán)境來存放敏感數(shù)據(jù),從而進一步提升自身的安全防護能力,對此,發(fā)行方需根據(jù)實際具體情況進行綜合考量。
基于HCE技術的軟件卡方案可降低NFC支付的門檻,減少NFC技術的推廣成本,已成為支付產(chǎn)業(yè)界的新熱點,相信在卡組織和發(fā)卡機構(gòu)的創(chuàng)新推動下,相關的移動支付產(chǎn)品不久即將為持卡人廣泛使用。