物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  新聞中心  >  行業動態  >  正文

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

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

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

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

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

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

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

  實現進場支付的軟硬雙模式

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

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

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

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

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

  面臨重重安全危機的HCE

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

  看看,問題來了!從數據安全、代碼安全到傳輸安全,基于HCE的支付業務所面臨的安全挑戰實在是夠多。

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

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

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

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

  保衛HCE需要從“始”到“終”

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

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

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

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

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