換一個角度看HCE安全、部署以及商業(yè)未來
2013年10月31日,Google發(fā)布了最新的Android4.4 操作系統(tǒng),這其中提到了一個新的NFC特性,即所謂的HCE(Host Card Emulation)。 自誕生之初,HCE就賺足了人們的眼球,這不僅僅因為這項令人耳目一新的新技術(shù)本身,更因為它讓業(yè)界的所有人都看到了一種脫離安全載體(SE)而部署NFC的可能性。作者相信,HCE的出現(xiàn)會使得NFC服務(wù)的部署更加的容易和便捷,這是因為HCE提供了一種簡單但是安全性稍差的模擬NFC卡片的能力。HCE對于Service Providers來說,具有著重大的意義,它使得SP們可以選擇一種較低安全性但是開發(fā)成本更低、更能在短時間內(nèi)推向市場的技術(shù)。SP們需要在安全性和便捷性之間做一個權(quán)衡,以確定是否要采用HCE技術(shù),完成產(chǎn)品向用戶的推廣。本文的內(nèi)容選自多家安全實驗室的報告,Google開發(fā)者文檔以及各安卓開發(fā)者論壇中的討論。作者匯總以上的所有信息,希望從安全、部署和商業(yè)的角度分析HCE技術(shù)帶來的相關(guān)影響。
1.簡單回顧一下現(xiàn)有的NFC技術(shù):
NFC是進場通信技術(shù)的簡稱,主要有三種模式:點對點,讀卡器和卡模擬。前面兩種模式目前在市面上的應(yīng)用還是比較多的,比如通過兩個手機對對碰后建立連接傳輸文件采用的是點對點模式,而把公交卡貼在手機背面就可以讀出余額和交易記錄采用的即是讀卡器模式??M模式則是我們所說的將手機模擬成為一張卡片,對于卡模擬模式來說,目前基于將所有敏感信息存放在一個叫做SE的安全芯片里,以確保整個環(huán)境的安全性。也正因為如此,產(chǎn)業(yè)的各方都意識到SE本身是通向“手機錢包”的一扇門,通過掌握SE,可以占據(jù)支付、會員卡、優(yōu)惠券、身份識別、交通和門禁等多種使用場景。
目前SE存在著三種方式,UICC(基于手機SIM卡,例如國內(nèi)移動的方案),嵌入式SE(Embeded SE,在手機中植入專門的SE芯片,主要由手機制造商所支持和采用),還有一種就是SD卡方案。
SD卡方案被證明是比較難于實施的,是因為SD卡經(jīng)常是由第三方SP提供的,SD卡方案需要支持SWP-SD方案的手機支持,而市面上相關(guān)款式的機型還是太少。另外如果用戶希望能使用多種服務(wù)的話,還必須在不同的SD卡中間切換。
對于UICC和eSE來說,雖然解決了多應(yīng)用的問題,但SP是沒有占有SE的能力的。這意味著SP們必須要同SE的發(fā)行者們進行溝通(多為移動通信運營商及設(shè)備制造商),而這已被證明是相當復(fù)雜和耗時的。
因此,HCE的出現(xiàn),讓大家看到了一絲解決這些問題的曙光。
2.HCE的技術(shù)特點:
正如第一部分鐘提到的,NFC有三種模式:讀卡器、點對點和卡模擬。為了增強安全性,卡模擬技術(shù)中使用到了SE。在移動設(shè)備中存在著一個叫做NFC控制器的芯片,該芯片的作用是根據(jù)NFC模式來做路由的決定。在卡模擬和點對點模式中,信息會被路由到主機CPU中,然而在卡模擬模式中,信息是被路由到SE芯片的。而在安卓4.4系統(tǒng)中,HCE的出現(xiàn)改變了這種傳統(tǒng)的路由方式??M模式中的命令可以被路由到CPU中所謂的HCE服務(wù)上,這就脫離了傳統(tǒng)的SE載體的限制,使得一個可以調(diào)動HCE服務(wù)的軟件就可以作為SE存在。如下圖所示,需要說明的是,即使采用了HCE技術(shù),傳統(tǒng)的路由到SE的通道,也是保留的。
不管是HCE也好,基于SE的服務(wù)也罷,都需要把應(yīng)用標識符(AID)進行注冊,而AID是在安裝的時候就已經(jīng)確定的。在安卓4.4系統(tǒng)中,默認的NFC路由是到Host CPU。這意味著如果要采用基于SE的NFC服務(wù),就需要在NFC控制器的的所謂路由表中注冊一個新的AID。當終端選擇AID的時候,通信數(shù)據(jù)就根據(jù)路由表中的記錄被路由至Host或者是SE。作為這種機制的一個影響,現(xiàn)有的已經(jīng)部署了SE的設(shè)備在升級至安卓4.4的過程中必須要做一次重新適配,這也意味著用戶可能需要到柜臺等地方去重新做一次升級。
安卓4.4定義了兩種NFC服務(wù)的類型,支付服務(wù)和其它服務(wù)。對于支付服務(wù),不管是基于HCE的還是基于SE的,都需要在操作系統(tǒng)中注冊為支付服務(wù)的類別。在安卓設(shè)置菜單里,有一個Tap&Pay的選項,在這里可以選擇默認的支付應(yīng)用。需要注意的是這個設(shè)置選項的位置和錢包應(yīng)用中選擇默認支付應(yīng)用的位置是不一樣的,這意味著開發(fā)者需要特別注意這點而避免不必要的默認應(yīng)用選擇的沖突。
3.HCE安全性的一些討論:
HCE場景下交易的路由還是通過了整個安卓系統(tǒng),這使得HCE的安全性基本是可以保證的。但是如果是一部終端已經(jīng)被root的終端,這種基本的安全性就被破壞了。相對于傳統(tǒng)的基于SE的方案來說,HCE具有如下一些可能的安全性風(fēng)險:
3.1 用戶可以對終端進行Root操作,通過Root用戶可以取得所有儲存在應(yīng)用中的信息,包括類似于支付憑證之類的敏感數(shù)據(jù),這就使得惡意軟件也有了獲取敏感信息的可乘之機。從統(tǒng)計數(shù)量上來說,只有很少一部分的安卓終端進行了Root操作,但是這仍然意味著數(shù)百萬級別的終端數(shù)量。
3.2 惡意軟件可以自行Root操作系統(tǒng)。對于前期安卓系統(tǒng)來說,由于存在著一些漏洞,導(dǎo)致不少的惡意軟件可以直接Root系統(tǒng)。雖然這些漏洞看起來影響范圍不是特別的大(比如如果用戶不安裝未知來源的安卓軟件就不會有這個問題),但在分析的過程中仍然需要考慮到這個問題。安卓系統(tǒng)的一個已知漏洞的彌補是很難的,這是因為安卓系統(tǒng)冗長的更新過程,需要花費很長的時間才能使得市面上的大部分終端都更新到最新的系統(tǒng)版本。如果在支持HCE的系統(tǒng)版本中也出現(xiàn)了缺陷,也需要花費足夠長的時間去解決現(xiàn)有終端上的缺陷問題;
3.3 如果手機丟失或者被盜取,一個惡意用戶可以Root終端或者通過其它方式訪問終端的存儲系統(tǒng),并且獲取各種存儲于應(yīng)用中的信息。這可能帶來致命的問題,比如惡意用戶可以使用這些敏感數(shù)據(jù)去完成一些偽卡的交易。
但是總的來說,如果手機不被Root的話,基本信息的安全還是可以保證的;
3.4 上面提到的三點主要是從操作系統(tǒng)和應(yīng)用層面本身來論證HCE是不安全的,但在作者看來,將支付數(shù)據(jù)存儲在云端并且采用一些技術(shù)(如Token或者非對稱密鑰等)確保從HCE Host到云端服務(wù)器的數(shù)據(jù)傳輸通道是安全的,HCE的安全性是可以得到提高和增強的,但采用這種方式會對交易的速度產(chǎn)生一定的影響。
4. HCE對于NFC生態(tài)的影響:
HCE提供了一種簡單但并非安全的可以替代現(xiàn)有NFC格局的方式,這有可能使得HCE成為加快NFC服務(wù)部署的一個因素。HCE對于那些愿意以較低安全性去換取較大市場份額、較快部署速度和較低投入的SP來說,具有重要的意義。HCE可能會讓SP們不需要過多關(guān)注于同SE的發(fā)行者們進行合作,而更加關(guān)注與利用HCE可能實現(xiàn)的業(yè)務(wù)本身。同時對于現(xiàn)有的TSM平臺來說,HCE的出現(xiàn)也使得TSM平臺需要做相應(yīng)的功能更改,從可以完成在SE上Applet的個人化,向?qū)崿F(xiàn)HCE服務(wù)個人化功能的演進。
由于沒有采用基于硬件的SE芯片,HCE的風(fēng)險會更大。我們可以考慮一個提供大金額服務(wù)并且使用范圍很廣的開環(huán)支付服務(wù)商采用HCE后可能產(chǎn)生的場景。使用了HCE意味著服務(wù)商可以更快并且更靈活的將自己的支付服務(wù)提供給廣大的用戶,但與此同時大量的用戶也意味著潛在的風(fēng)險非常之高。因此在采用HCE之前,服務(wù)商必須進行細致的成本估算以確認采用HCE技術(shù)的風(fēng)險是否為可控的或者可能的損失是否是可承受的。另外對于開環(huán)支付服務(wù)運營商來說,采用HCE還必須協(xié)調(diào)好參與各方的權(quán)力和責任,設(shè)計在出現(xiàn)可能風(fēng)險時應(yīng)當采取的策略和規(guī)則。這對于運營商來說也是一個不小的挑戰(zhàn)。支付組織對于HCE的態(tài)度對于HCE的推廣來說也至關(guān)重要。
對于閉環(huán)服務(wù)運營商來說,上面這些提到的這些問題所產(chǎn)生的影響就相對較小,閉環(huán)服務(wù)運營商的所有支付和結(jié)算過程均留存在體系的內(nèi)部,在規(guī)則設(shè)定和風(fēng)險策略上靈活性會更大。同時,如果閉環(huán)服務(wù)運營商主要運營小額交易的話,采用HCE的風(fēng)險就可能是可以接受的。
不可否認的一點是HCE的出現(xiàn)為NFC服務(wù)的進一步拓展提供了一個快捷但是不安全的方案。HCE能否得到發(fā)展需要找到合適的應(yīng)用場景,并且需要有較好的風(fēng)險控制機制,以確保服務(wù)的安全。同時,由于需要和云端服務(wù)器進行通訊和授權(quán),在采用了HCE技術(shù)以后,能否還保持傳統(tǒng)的基于SE的NFC技術(shù)在交易場景中快捷和迅速的特點,也是值得觀望的。HCE的出現(xiàn),對于傳統(tǒng)的卡廠、運營商來說都產(chǎn)生了一定的威脅和挑戰(zhàn),能否實現(xiàn)產(chǎn)業(yè)的共贏,亦是產(chǎn)業(yè)各方需要去權(quán)衡和考慮的。不管怎樣,我們會繼續(xù)關(guān)注HCE技術(shù)的發(fā)展,期待著這項技術(shù)對于NFC的普及所產(chǎn)生的積極作用。