NFC手機上基於軟體的卡類比 重大利好還是安全噩夢?)

來源:互聯網
上載者:User

Software Card Emulation in NFC-enabled Mobile Phones:

GreatAdvantage or Security Nightmare?

Michael Roland

NFC Research Lab Hagenberg

University of Applied Sciences Upper Austria

Softwarepark 11, 4232 Hagenberg/Austria

michael.roland@fh-hagenberg.at

翻譯:

2013-5-16 修改部分翻譯錯誤,另外為與移動支付標準統一,將secure element的翻譯由安全模組改為安全單元

2013-4-15 翻譯

(翻譯僅供參考。如有疑問請參照原文)

詞彙表

Near Field Communication(NFC)近場通訊技術

Big players 業界巨頭們,指裝置供應商或行動電信業者

Secure element       安全單元,基於硬體的用於實現安全卡類比的智慧卡晶片

Google Wallet Google錢包,一個Google的支付應用

TSM(Trusted Service Manager) 可信服務管理者

UICC(Universe Integrate Crcult Card) 多功能整合電路卡

Form factor 外觀形態

摘要

基於軟體的卡類比是實現NFC手機與現存非接觸智慧卡系統之間互動的一個新方法,最早是由RIM(Research In Motion)在黑莓手機上實現。該方法使複雜的,而且在嚴格控制下的卡類比功能變得更加簡單和開放。通過這種方法,開發人員可以繞過安全單元(通常由“業界巨頭們”控制),為實現創新性的NFC應用提供了機會。但與此同時,該方法也可能使NFC應用的安全性降低,並為惡意攻擊提供了可能。基於當前的應用情況以及最新的研究成果,本文評估了軟體卡類比方法的利弊。

1,介紹

隨著NFC的出現,越來越多的NFC裝置和應用出現在市場上。但是,NFC的全部潛力還不能被所有開發人員掌控。尤其是安全單元SE(secure element),一種用於實現安全的,基於硬體的卡類比智慧卡晶片,仍然在裝置製造商和行動電信業者的嚴格控制之下。

同時,為了與現存的RFID系統,包括門禁,票卡和支付系統互動,NFC裝置上必須實現某種方式的卡類比。在NFC裝置上,安全單元用於儲存重要的安全應用,包括信用卡,門禁和公用交通應用等。通過裝置上的NFC控制器,可以像使用常規的非接觸智慧卡一樣使用安全單元。

在支付領域,這個NFC技術最有希望獲得回報的地方,目前其應用嚴重依賴於安全單元。很多公司希望能夠獲准使用安全單元,以便在該領域分得一杯羹。因此,很多開發人員呼籲實現某種更簡便的卡類比功能。

其中一種方法就是RIM在黑莓平台上實現的軟體卡類比方法(簡稱為軟體SE)。NFC手機上的應用可以無需安全單元就可以與現存的RFID系統互動。對這個技術的第一感覺是它將為NFC裝置帶來重大的進展。首先,該技術為廣大開發人員開啟了實現卡類比功能的大門,該功能之前是被嚴格控制的。其次,這將會增加NFC技術使用的範圍,從而導致對NFC裝置需求的增加。最後,它將推動NFC成為一個真正的有著廣泛應用的技術。然而在這些好處之外,隨之而來的是很多負面的問題。

本文一開始介紹NFC技術和它的操作模式,進一步解釋了卡類比的種類以及它們在目前NFC裝置中的使用方式。最後基於當前的應用情況以及最新的研究成果,本文評估了軟體卡類比的利弊,

2. NFC

Near FieldCommunication (NFC)近場通訊技術,最早由 ECMA(ECMA-340, ECMA-352)進行標準化,而後被ISO/IEC採納 (ISO/IEC18092, ISO/IEC 21481)。NFC為感應耦合近距離無線頻率識別 (RFID)(RFID)技術的一個進步。基於ISO/IEC 14443 和FeliCa (JIS X 6319-4)標準,NFC可以與現存的智慧卡系統相容。最近的標準化工作包括與ISO/IEC 15693 近距感應耦合系統相容。在標準化工作之外,更具體的資料格式,協議,互通性,需求書,裝置認證和NFC應用等方面的工作由NFC論壇(NFC Forum:http://www.nfc-forum.org/)推動。

NFC技術的一個基本原則是“在一次接觸時完成”。這意味著讓一個物體或NFC裝置與另外一個NFC裝置之間進行簡單的接觸就會觸發互動動作。這些物體被稱為NFC標籤(基於RFID感應器的非接觸儲存晶片)。這些標籤可以儲存類似互連網地址URL, 電話號碼,文本簡訊SMS或電子商業卡等內容。使用者可以使用標籤接觸NFC裝置來擷取這些資訊。

NFC終端可在主動、被和雙向三種方式下工作;

1,卡類比模式,NFC類比為一張卡

2,讀寫器模式,NFC類比為讀寫器,對卡進行讀寫

3,雙向資料分享模式,兩個NFC終端互相交換資料,可以用於藍芽和無線串連的初始驗證

圖1顯示了中NFC手機中NFC資料的傳輸。應用處理器是手機的主處理單元,NFC控制器為裝置中NFC功能的核心組件。它包括NFC數據機,以及進行命令和資料的預先處理。安全單元為一個智慧卡晶片,能夠進行安全的基於硬體的卡類比。路徑1為應用處理器與NFC控制器之間的命令和資料流,該路徑在點對點模式,讀卡機模式和軟體卡類比這三種模式中都存在。路徑2為安全單元與NFC控制器之間的命令和資料互動,在安全的基於硬體的卡類比方式中存在。安全單元不僅可以通過NFC介面與外部互動之外,也可以與主控制器進行串連。這樣,安全單元中的資訊可以通過手機或者蜂窩網路控制。路徑4表示安全單元與主控制器串連,或通過路徑3與NFC介面串連。這路徑2和路徑3兩種方式通常只選擇其中一種,也就是說這兩個模式在同一時間只有一個是被啟用的。

譯者註:在NFC工作在卡類比模式下時,路徑1就是基於軟體的卡類比,即Host Card(主機卡)模式。路徑2就是基於硬體的卡類比,即Virtual Card(虛擬卡)模式。路徑3,4表示通過手機對安全單元的控制,使用哪個路徑取決於SE的硬體類型。手機訪問SE即所謂的WIRED CARD模式,例如初始化或給SE下載應用時,就需要通過這種方式。在WIRED CARD模式下,虛擬卡模式或主機卡模式被屏蔽。

2.1 卡類比

NFC卡類比有多種方式可以選擇。類比的方式可以通過通訊標準,支援協議層,支援命令集以及具體進行類比操作的NFC裝置組件上的不同而加以區分。

對於通訊標準,有三種選擇,ISO/IEC 14443 Type A, ISO/IEC 14443 TypeB 和FeliCa (JIS X 6319-4),對這三種標準的支援取決於NFC控制器,安全單元和應用的地理位置。例如,ISO/IEC 14443Type A, ISO/IEC 14443 TypeB在歐洲廣泛應用,而FeliCa (JIS X 6319-4)主要用於日本。

另外一個區別在於具體進行類比操作的NFC裝置組件,一方面,卡類比可以在軟體,也就是裝置應用處理器上進行,另外一方面,卡類比可以由一個專用的智慧卡晶片,即安全單元上進行。

2.2 安全單元

安全單元為NFC裝置上專用的微處理晶片。該晶片可以與NFC控制器整合在一起。另外也可以整合在NFC裝置中的其它智慧卡/安全裝置中,這些整合的晶片可以是UICC多功能整合電路卡(大多數情況下是SIM卡)或SD安全數字記憶卡。

很多安全單元(例如NXP的SmartMX)使用的是標準的智慧卡晶片,包括接觸式或非接觸式智慧卡。其軟體和硬體架構是相同的。唯一的區別是它們對外的介面有所不同,普通的智慧卡具有ISO/IEC 7816-3 (接觸式)或天線(非接觸式)介面,而安全單元在這些介面之外,還通過一個直接的介面與NFC控制器串連(例如NFC線介面NFC-WI,或單線協議SWP)。

安全單元具備與常規智慧卡同樣的高安全標準。它可以提供安全儲存,安全執行環境和基於硬體的密碼編譯演算法。安全單元晶片用於對儲存資料的讀取和操作,並可以抵禦各種攻擊。其晶片,作業系統和設計流程都經過高安全標準的評估和認證。例如智慧卡晶片通用標準保護條例(Common Criteria protection profiles for smartcardmicrochips)等。因此,安全單元滿足安全相關的應用,例如支付和門禁管理系統。

智慧卡中一個重要的未解決安全問題是接力攻擊情境。“接力攻擊”是指與智慧卡的通訊通過另一個載體接力傳播到一個比較遠的距離。攻擊者可以在遠程非法使用受害者的智慧卡。這種對非接觸智慧卡的接力攻擊最早被Hancke證實,他通過智慧卡和RFID讀卡機之間訊號層通訊實現了接力攻擊。Kfir和Wool則顯著提高了通訊距離,可以在使用者不知情的情況下輕易使用其智慧卡。Roland etal揭示了安全單元不僅能通過非接觸介面進行攻擊,而且能夠通過手機應用處理器上啟動並執行軟體進行。Anderson 表明NFC手機是對非接觸智慧卡進行接力攻擊的理想場所。 Francis et顯示可以通過兩部NFC手機的藍芽或其它無線通訊方式組成的攻擊平台,對NFC點對點通訊和非接觸智慧卡通訊進行接力攻擊。

3. 基於軟體的卡類比

軟體卡類比是NFC手機上進行卡類比的新方法。最早由RIM公司在黑莓平台上引入。在支援多種安全單元之外,黑莓7平台支援通過手機應用控制器類比NFC標籤和智慧卡。

通過指定一條NDEF訊息,應用程式能夠類比NFC Forum 類型4的標籤,該訊息可以儲存在一個虛擬標籤中。這種類型4標籤協議由黑莓系統自動處理。工作在該模式下的NFC裝置可用於與另外一個工作在讀寫器模式下的NFC裝置交換資料。

應用程式也可以全方位的類比符合ISO/IEC 14443-4標準的智慧卡,包括類型A和類型B。應用程式可以指定類比卡的靜態屬性(例如唯一ID(UID) 以及ISO/IEC 14443 Type A卡的曆史資料),並在ISO/IEC14443-4規定的塊交換協議基礎上進行資訊協議資料單元交換(儘管API允許應用程式隨便定義UID,但考慮到安全因素,在現存裝置上沒有提供該功能)。開發人員可以通過在黑莓系統上進行註冊將應用程式類比為智慧卡。當從外部RFID/NFC讀寫器得到命令時,系統通過一個回呼函數通知該應用程式,並將得到的命令作為參數傳遞給該回呼函數。應用程式可以通過參數進行相應的處理,該回呼函數的傳回值可以返回到讀寫器。

圖2 示範了軟體卡類比的命令流程,箭頭1到4顯示了RFID/NFC讀寫器到應用程式註冊的回呼函數的命令流程,而箭頭5到8表明從應用程式反饋給RFID/NFC讀寫器的流程。

目前為止,黑莓手機是唯一能夠支援軟體卡類比的手機。但是,最近發布的基於第三方韌體CyanogenMod補丁包能夠讓帶有NXP PN544的NFC手機具有軟體卡類比的功能。

除了NFC手機之外,其它裝置,例如NFC讀寫器,可以實現無安全單元的軟體卡類比。例如ACS ACR 122U NFC讀寫器,另外還有專用的卡類比裝置(例如Proxmark,OpenPICC, IAIK HF RFID DemoTag等)

3.1 軟體卡類比的優點

卡類比被視為NFC技術中最具前景的領域。主要原因是相比其它工作模式,卡類比最有盈利的前景。而且,現存的支付,票務,門禁等智慧卡系統一般由固定的讀寫器裝置和帶有智慧卡/非接觸標籤的使用者組成。因此將使用者端功能(智慧卡/非接觸標籤)加入手機中是一個現實和迫切的要求。

儘管NFC社區一直要求提供卡類比功能,但是,卡類比,特別涉及安全單元的卡類比一直是個複雜的領域。到目前為止,嵌入式系統中的安全單元通常在手持功能製造商控制中或TSM的運營下。如果將UICC(SIM)作為安全單元,則是移動網路電訊廠商(Mobile Network Operator MNO)控制著安全單元。NFC手機中的安全單元控制權之爭早已打響。因此實現對安全單元訪問的第一個障礙就是不同的安全單元由不同的部門控制。另一個障礙是一個安全單元的電訊廠商不太可能允許其競爭者在他們的模組中運行類似的服務。例如Google錢包不太可能與Isis錢包中一個手機中共存,尤其是共用一個安全單元。第三個障礙是應用程式訪問安全單元的開銷。除了安全單元上儲存空間的開銷外,共存在一個安全單元上的安全相關的應用程式應該需要某種模式的安全認證。

所有這些障礙限制了一般開發人員的應用程式使用安全單元的可能性(也許在手機和支付領域的巨頭可以除外)。作為上述問題的解決方案,RIM在其黑莓手機上提供了軟體卡類比方法。在這種模式下,任何開發人員都可以開發基於卡類比技術的應用程式,為開發與現存具有固定讀寫器的基礎設施互動的應用程式的提供了可能。也就是說,開發人員可以開發基於手機的門禁,支付,公用交通和票務應用程式,用於使用RFID票卡和智慧卡的系統中。

軟體卡類比的另外一個好處是可以實現與不具備全功能點對點模式的NFC裝置通訊。例如,Android系統僅支援Android Beam來實現點對點通訊。然而Android Beam是基於Google的NDEF推協議 (NDEF Push Protocol NPP)和簡單NDEF交換協議 (Simple NDEF ExchangeProtocol SNEP),在兩個NFC手機接觸時僅能實現單方向單條的訊息通訊。因此,軟體卡類比可以作為NFC手機之間點對點通訊的替代方式。另外許多基於PC平台的非接觸智慧卡讀寫器也不支援點對點模式。例如 Reiner SCTcyberJack RFID basic (在新的德國身份證系統中使用)和HID OMNIKEY 5321。但是,這些裝置可以與卡類比方式下的NFC手機進行通訊,因此,不需要增加額外的NFC硬體,軟體卡類比方式能夠實現了手機與這些PC系統的通訊。

更進一步的好處是相比點對點模式,在PC平台上對軟體卡類比的軟體和驅動支援更好。非接觸智慧卡讀寫器在PC/SC上已經標準化,而且預設的整合到大多數作業系統中。即使Java SE這樣的平台也具有非接觸式智慧卡的標準API。點對點模式則只有有限的支援,而且僅僅被有些第三方庫,例如libnfc4和libnfc-llcp5支援。另外,NFC點對點模式協議棧為

應用程式層協議(NDEF訊息)

基於

NPP,SNEP (或者直接使用另外的應用程式層協議)

基於

LLCP (NFC LogicalLink Control Protocol NFC邏輯鏈路控制協議)

基於

NFC-DEP (NFC DataExchange Protocol NFC資料交換協議,例如符合ISO/IEC 18092的底層點對點通訊協議)

比較而言,下面的讀寫器模式的協議棧更簡單:

應用程式層協議 (符合ISO/IEC 7816-4)

基於

ISO-DEP (符合ISO/IEC 14443-4定義的通訊協議)

總體來講,軟體卡類比方式是一般開發人員,而不是那些“業界巨頭們”,能夠從簡單的NFC標籤應用上進行功能擴充的很好契機。

3.2 缺點和安全問題

所有上述的好處是有代價的。在當前軟體卡類比存在的技術限制之外,有重大的安全問題。手機應用處理器中啟動並執行應用程式不具有安全單元中的資料安全儲存和可信度執行環境。除非應用處理器自己能夠提供某種形式的可信計算技術。但是目前的絕大多數手機沒有這個功能。

沒有安全儲存功能,因此卡類比應用程式不得不自行儲存敏感的資料(例如門禁系統的口令,支付系統的私密金鑰,票卡帳號等)。而且沒有安全的執行環境,導致其它應用程式(包括惡意的應用程式)的幹擾。例如最近發現Google錢包存在重大安全隱患,儘管Google錢包使用安全單元,但是應用程式將重要的安全資料作為應用程式私人資料緩衝到手機記憶體中,攻擊者可以通過這些緩衝得到信用卡號,帳戶餘額,卡持有人資訊甚至錢包的數字 PIN 碼。

根據這些敏感資訊的價值,也許在某些情況下值得冒險。例如,公用交通中的單程票,或一張主題公園的門票。但是對於支付系統或門禁系統,情況就不一樣了。例如信用卡或大樓的門禁卡的資訊,就不能簡單的存放在容易被竊取的手機記憶體中了。

但是,使用軟體卡類比也可以實現某種程度上的安全應用。一個關鍵是將“虛擬卡(virtual card)”存放在一個安全的遠端地點,而手機僅僅充當一個訪問代理。

圖3顯示了這種基於虛擬卡的線上卡類比系統。手機將從POS機得到的命令轉寄到存放在遠程伺服器中的虛擬卡,虛擬卡的回複通過手機反饋給POS終端。

虛擬卡的訪問必須是安全的,可以防止通訊中的截獲已經未經授權的信用卡使用。例如,通過加密和認證的通道,以及使用者輸入口令進行保護。但是,鑒於在手機應用程式中存放資料易於被竊取的現實,建立不能被其它應用竊取的安全通道是很困難的。另外,由於需要與遠程服務建立安全連線,需要穩定的互連網串連,而並不是所有應用環境有這個條件。

軟體卡類比中的安全問題不僅僅是資料存放區的問題。另一個問題是使用軟體卡類比應用的手機作為攻擊工具。Francis et al的研究表明具有NFC功能的手機能夠實現遠距離的點對點模式接力攻擊。類似的也可以攻擊非接觸智慧卡系統。(cf. Hancke, Kr 和 Wool, Hanckeet al)。過去,攻擊者必須準備專用的裝置(例如,用於在RFID/NFC讀寫器和接力處理器之間轉寄智慧卡訊號的卡模擬器)。目前這些專用裝置不具備一般NFC裝置的外觀形態(例如智慧卡或手機的外觀)。然而,支援軟體卡類比的手機具有理想的外形,而且具備建立接力通道所需的多種網路介面(藍芽,WIFI,GSM,UMTS等)。

Francis et al證明非接觸智慧卡能夠輕易的被兩部NFC手機進行接力攻擊:一個NFC手機作為智慧卡和接力通道之間的代理,工作在讀寫器模式。另一部NFC手機作為RFID/NFC讀寫器(例如POS機)和接力通道之間的代理,工作在卡類比模式。Roland et al甚至示範了受害者手機中的純軟體應用就足以充當進行安全單元和接力通道之間的代理。

軟體卡類比還存在技術和安全相關的限制。在NXP的NFC控制器中,基於軟體的卡類比只能使用一段範圍內的UID(被保留為隨機號碼的UID號碼段)。在黑莓平台上的API中,有使用指定UID的功能,但這個功能因為安全問題而被替換。因此在現存的裝置中,也只能使用隨機的UID。該限制妨礙了軟體卡類比在基於UID的系統中的應用,但也防止了在純UID應用系統(例如某些門禁系統)中的卡複製攻擊。

而且,黑莓的軟體卡類比功能,包括Android的第三方CyanogenMod韌體最近加入的功能,僅僅支援符合ISO/IEC 14443-4標準的智慧卡。底層協議為專有協議的系統,例如NXP的MIFARE Classic,就不能被類比。因此,軟體卡類比不能在所有的現存RFID 系統中使用。

4,結論

本文評估了基於軟體的卡類比存在的優缺點。軟體卡類比突破了現有的基於安全單元解決方案的束縛,為開發人員提供了新的機會。該技術可以方便的將具有NFC功能的手機和現存的非接觸智慧卡系統整合在一起。而且與點對點模式相比,讀寫器模式裝置和卡類比裝置之間的通訊更具優勢,因為讀寫器模式的應用比點對點模式更為普遍。這些優點的代價是安全上的問題。在這種情況下,類比卡中的內容更加難以保護,而且,軟體卡類比將NFC手機變成對智慧卡或其它卡類比裝置實施接力工具的一個理想的工具平台。最後,裝置和晶片製造商對某些應用上的軟體卡類比進行了限制。雖然大多數軟體卡類比應用都可以使用點對點方式實現,但是使用點對點模式通常需要對現有基礎設施進行大量升級改造。

本人認為,在多個NFC裝置之間通訊上不需要通過軟體卡類比實現,因為應用程式可以使用點對點模式,這種模式是為NFC裝置之間通訊而特別設計的。然而,使用軟體卡類比的優勢是能夠支援現有的硬體系統。所以不能僅僅因為開發人員會建立無安全的應用,或者這種技術會被惡意使用,就將禁止軟體卡類比功能的開發。應用的安全不能靠限制可能被惡意使用的技術,而是應該依靠提升系統對攻擊的抵抗力實現。畢竟,從CyanogenMod的補丁包上就能看出限制該功能的使用是不現實的。

5. 致謝

該論文是歐盟RegionaleWettbewerbsfahigkeit OO 2007-2013 (Regio 13)計劃中“4EMOBILITY”項目的一部分,,由歐洲地區發展基金(Europeanregional development fund ERDF)和奧地利LandOberosterreich省贊助。

6,參考文獻(略)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.