物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊

HCE便捷移動支付的背后 需要全生命周期的安全防護

作者:本站采編
來源:賽迪網(wǎng)
日期:2015-10-19 10:42:44
摘要:其實,使用擁有NFC功能的手機進行移動支付早已不是什么新鮮事兒了。在日本,NFC移動支付產(chǎn)業(yè)就獲得了很大的成功,對于很多日本人來說,手機就是他們的錢包。去商場,刷手機買衣服;到影院,刷手機買門票;在餐廳,刷手機來買單……刷、我刷、刷刷刷——沒錢了!這意味著你的手機錢包被刷爆了,但也可能是你手機錢包里的錢被人給偷光了。
關(guān)鍵詞:HCENFCRFID移動支付

  在商場,挑選完商品后的下一個動作是什么?“付錢啦!”沒錯!在挑選完商品后,我們需要拿出錢包、打開、掏錢、支付,或者拿出錢包、打開、取出信用卡、刷卡支付,再或者拿出手機、刷手機支付。

  美好的移動支付!美好的移動支付?

  等下,手機?刷手機支付?沒錯,確切的說,是刷具有NFC功能的智能移動設(shè)備——智能手機、智能手環(huán)、智能手表等等。NFC,Near Field Communication,也就是所謂的“近場通信”,是一種短距高頻的無線電技術(shù)。百度百科上對NFC的解讀是“由非接觸式射頻識別(RFID)及互聯(lián)互通技術(shù)整合演變而來,在單一芯片上結(jié)合感應式讀卡器、感應式卡片和點對點的功能,能在短距離內(nèi)與兼容設(shè)備進行識別和數(shù)據(jù)交換?!?/p>

  其實,使用擁有NFC功能的手機進行移動支付早已不是什么新鮮事兒了。在日本,NFC移動支付產(chǎn)業(yè)就獲得了很大的成功,對于很多日本人來說,手機就是他們的錢包。去商場,刷手機買衣服;到影院,刷手機買門票;在餐廳,刷手機來買單……刷、我刷、刷刷刷——沒錢了!這意味著你的手機錢包被刷爆了,但也可能是你手機錢包里的錢被人給偷光了。

  移動支付很美好,移動支付的安全更頭疼。

  實現(xiàn)進場支付的軟硬雙模式

  如今的移動支付(近場支付)主要通過兩種不同的卡模擬方式來實現(xiàn)支付,即SE方式和HCE方式。

  安全模塊SE(Secure Element)是一種基于硬件的卡模擬方式,能夠提供對敏感信息的安全存儲,并為交易事務提供一個安全的執(zhí)行環(huán)境。NFC芯片將從外部讀寫器接收到的命令轉(zhuǎn)發(fā)到SE,SE進行處理后,再通過NFC控制器回復。

  HCE(Host-based Card Emulation),即基于主機的卡模擬方式。HCE方式不需要SE安全模塊,由在手機中運行的一個應用或云端的服務器完成SE的功能,也就是說NFC芯片所接收到的數(shù)據(jù)會由操作系統(tǒng)發(fā)送至手機應用里,或者通過移動網(wǎng)絡發(fā)送至云端服務器中來完成交互。無論是本機應用還是云端服務器都繞過了手機內(nèi)置SE的限制。

  基于硬件的SE方式具有很高的安全性,不過從SE發(fā)卡、使用、管理等角度來看,其應用復雜,推廣較慢。實際上,正是由于各個相關(guān)機構(gòu)對SE控制權(quán)的爭奪,導致了NFC移動支付的發(fā)展緩慢。

  基于軟件的HCE方式,很明顯擁有較易實現(xiàn),易于推廣的優(yōu)勢。但同時,其也面臨著來自各個方面的安全威脅。

  面臨重重安全危機的HCE

  HCE方式之所以面臨重重安全問題,與其實現(xiàn)機制有著很大的關(guān)系。例如HCE的云端實現(xiàn)模式,在其云中發(fā)卡過程里,用戶的卡數(shù)據(jù)等信息會被保存在云端,NFC手機開啟HCE服務,并安裝電子錢包(由HCE發(fā)行者提供,如銀行等),而替代個人銀行主賬號信息的支付令牌Token則保存在本地,云端實現(xiàn)Token與主賬號的對應。在進行交易驗證過程里,用戶在電子錢包中選擇支付賬戶后,將手機靠近POS機實現(xiàn)支付,此時通常會要求用戶輸入PIN碼確認,Token及交易信息會傳遞給POS機,再由POS機提交信息給后臺系統(tǒng)進行認證和交易授權(quán)。另外,HCE方式還需要安卓4.4以上手機操作系統(tǒng)的支持。

  看看,問題來了!從數(shù)據(jù)安全、代碼安全到傳輸安全,基于HCE的支付業(yè)務所面臨的安全挑戰(zhàn)實在是夠多。

  如果模擬卡數(shù)據(jù)是保存在手機本地,那么脆弱的安卓系統(tǒng)很容易被黑客利用其弱點和漏洞進行攻擊獲得Root權(quán)限,進而輕松獲取支付憑證、交易密碼、加密密鑰等敏感信息,劫持交易,將用戶銀行里的錢劃到黑客的腰包里。如果手機丟失,那就更慘啦,由于不具備SE的抗攻擊特性,手機里的敏感數(shù)據(jù)存在“被看到、被拿走”的安全風險。

  而且,支付流程本身的業(yè)務邏輯代碼也面臨著被反編譯和逆向分析的威脅。近期爆發(fā)的Xcode事件,更讓人們驚訝的發(fā)現(xiàn),其實在軟件應用誕生之初就可能已經(jīng)感染病毒。

  如果模擬卡數(shù)據(jù)保存在了云端服務器,那么云端自身的可用性、安全性,以及第三方的可信性問題就不得不需要提前考慮了。在本地與云端進行數(shù)據(jù)通訊時所使用的加密密鑰更要極好的予以保管。

HCE便捷移動支付的背后 需要全生命周期的安全防護

  保衛(wèi)HCE需要從“始”到“終”

  現(xiàn)在許多的HCE支付方案會采用Token、一次一密、多重認證等安全機制來實現(xiàn)對業(yè)務的安全保護,但很顯然,這還遠遠不夠。在梆梆安全看來,既然HCE是基于軟件的方式,那么自然需要基于軟件生命周期維度的全方位安全防護:從應用規(guī)劃階段即開始,到應用設(shè)計、應用開發(fā)、應用發(fā)布,甚至是應用運維都需要將不同的安全能力融入其中。

  具體到HCE實現(xiàn)的關(guān)鍵組件和環(huán)節(jié),首先需要對Token、LUK、報文秘鑰、通訊證書等關(guān)鍵數(shù)據(jù)實施梆梆白盒加密,在身份認證方面加入設(shè)備、應用、用戶等多維度認證環(huán)節(jié)。通過對涉及支付核心邏輯的SO庫的源代碼進行一重加固,防止源碼在內(nèi)存運行中被竊取后進行逆向分析;然后對編譯后產(chǎn)生的支付SDK進行二重加固,防止SDK被反編譯和非法調(diào)用;最后對電子錢包APP進行三重加固,防止APP被非法破解和篡改。而且為了在安全的前提下保證用戶體驗,還要對應用本身的靜態(tài)數(shù)據(jù)及運行過程中產(chǎn)生的動態(tài)數(shù)據(jù)進行透明加密,對運行環(huán)境進行安全檢測,例如檢查系統(tǒng)安全、TEE安全、存儲安全、運行安全等等。

  采取這些安全措施就夠了么?當然……還不夠,除此之外,HCE的健康運行還需要相應的安全服務支撐。比如,對HCE客戶端進行安全測評,規(guī)范Visa云端支付。還要對NFC手機進行適配測試,包括適用主流NFC機型、系統(tǒng)版本及CPU架構(gòu)等。

  考慮到“人”這個安全體系里最為薄弱的環(huán)節(jié),梆梆安全還提供安全框架、安全設(shè)計、安全開發(fā)、漏洞監(jiān)測及響應等安全咨詢服務。

  移動支付極大的便利了人們的生活,而為了讓人們能夠快樂的享受移動支付,需要為其提供從“始”至“終”的安全防護。威脅無孔不入,安全更要無處不在。