日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

NFC手机上基于软件的卡模拟 重大利好还是安全噩梦?

發(fā)布時(shí)間:2024/3/26 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 NFC手机上基于软件的卡模拟 重大利好还是安全噩梦? 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

NFC手機(jī)上基于軟件的卡模擬 重大利好還是安全噩夢(mèng)?

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 修改部分翻譯錯(cuò)誤,另外為與移動(dòng)支付標(biāo)準(zhǔn)統(tǒng)一,將secure element的翻譯由安全模塊改為安全單元

2013-4-15 翻譯

(翻譯僅供參考。如有疑問(wèn)請(qǐng)參照原文)

?

詞匯表

Near Field Communication(NFC)近場(chǎng)通訊技術(shù)

Big players 業(yè)界巨頭們,指設(shè)備提供商或移動(dòng)運(yùn)營(yíng)商

Secure element?????? 安全單元,基于硬件的用于實(shí)現(xiàn)安全卡模擬的智能卡芯片

Google Wallet 谷歌錢(qián)包,一個(gè)谷歌的支付應(yīng)用

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

UICC(Universe Integrate Crcult Card) 多功能集成電路卡

Form factor 外觀形態(tài)

?

摘要

基于軟件的卡模擬是實(shí)現(xiàn)NFC手機(jī)與現(xiàn)存非接觸智能卡系統(tǒng)之間交互的一個(gè)新方法,最早是由RIM(Research In Motion)在黑莓手機(jī)上實(shí)現(xiàn)。該方法使復(fù)雜的,而且在嚴(yán)格控制下的卡模擬功能變得更加簡(jiǎn)單和開(kāi)放。通過(guò)這種方法,開(kāi)發(fā)者可以繞過(guò)安全單元(通常由“業(yè)界巨頭們”控制),為實(shí)現(xiàn)創(chuàng)新性的NFC應(yīng)用提供了機(jī)會(huì)。但與此同時(shí),該方法也可能使NFC應(yīng)用的安全性降低,并為惡意攻擊提供了可能。基于當(dāng)前的應(yīng)用情況以及最新的研究成果,本文評(píng)估了軟件卡模擬方法的利弊。

?

1,介紹

隨著NFC的出現(xiàn),越來(lái)越多的NFC設(shè)備和應(yīng)用出現(xiàn)在市場(chǎng)上。但是,NFC的全部潛力還不能被所有開(kāi)發(fā)者掌控。尤其是安全單元SE(secure element),一種用于實(shí)現(xiàn)安全的,基于硬件的卡模擬智能卡芯片,仍然在設(shè)備制造商和移動(dòng)運(yùn)營(yíng)商的嚴(yán)格控制之下。

同時(shí),為了與現(xiàn)存的RFID系統(tǒng),包括門(mén)禁,票卡和支付系統(tǒng)交互,NFC設(shè)備上必須實(shí)現(xiàn)某種方式的卡模擬。在NFC設(shè)備上,安全單元用于存儲(chǔ)重要的安全應(yīng)用,包括信用卡,門(mén)禁和公共交通應(yīng)用等。通過(guò)設(shè)備上的NFC控制器,可以像使用常規(guī)的非接觸智能卡一樣使用安全單元。

?

在支付領(lǐng)域,這個(gè)NFC技術(shù)最有希望獲得回報(bào)的地方,目前其應(yīng)用嚴(yán)重依賴于安全單元。很多公司希望能夠獲準(zhǔn)使用安全單元,以便在該領(lǐng)域分得一杯羹。因此,很多開(kāi)發(fā)者呼吁實(shí)現(xiàn)某種更簡(jiǎn)便的卡模擬功能。

?

其中一種方法就是RIM在黑莓平臺(tái)上實(shí)現(xiàn)的軟件卡模擬方法(簡(jiǎn)稱為軟件SE)。NFC手機(jī)上的應(yīng)用可以無(wú)需安全單元就可以與現(xiàn)存的RFID系統(tǒng)交互。對(duì)這個(gè)技術(shù)的第一感覺(jué)是它將為NFC設(shè)備帶來(lái)重大的進(jìn)展。首先,該技術(shù)為廣大開(kāi)發(fā)人員開(kāi)啟了實(shí)現(xiàn)卡模擬功能的大門(mén),該功能之前是被嚴(yán)格控制的。其次,這將會(huì)增加NFC技術(shù)使用的范圍,從而導(dǎo)致對(duì)NFC設(shè)備需求的增加。最后,它將推動(dòng)NFC成為一個(gè)真正的有著廣泛應(yīng)用的技術(shù)。然而在這些好處之外,隨之而來(lái)的是很多負(fù)面的問(wèn)題。

?

本文一開(kāi)始介紹NFC技術(shù)和它的操作模式,進(jìn)一步解釋了卡模擬的種類以及它們?cè)谀壳癗FC設(shè)備中的使用情況。最后基于當(dāng)前的應(yīng)用情況以及最新的研究成果,本文評(píng)估了軟件卡模擬的利弊,

?

2. NFC

Near FieldCommunication (NFC)近場(chǎng)通訊技術(shù),最早由 ECMA(ECMA-340, ECMA-352)進(jìn)行標(biāo)準(zhǔn)化,而后被ISO/IEC采納 (ISO/IEC18092, ISO/IEC 21481)。NFC為感應(yīng)耦合近距離射頻標(biāo)識(shí)(RFID)技術(shù)的一個(gè)進(jìn)步。基于ISO/IEC 14443 和FeliCa (JIS X 6319-4)標(biāo)準(zhǔn),NFC可以與現(xiàn)存的智能卡系統(tǒng)兼容。最近的標(biāo)準(zhǔn)化工作包括與ISO/IEC 15693 近距感應(yīng)耦合系統(tǒng)兼容。在標(biāo)準(zhǔn)化工作之外,更具體的數(shù)據(jù)格式,協(xié)議,互操作性,需求書(shū),設(shè)備認(rèn)證和NFC應(yīng)用等方面的工作由NFC論壇(NFC Forum:http://www.nfc-forum.org/)推動(dòng)。

?

NFC技術(shù)的一個(gè)基本原則是“在一次接觸時(shí)完成”。這意味著讓一個(gè)物體或NFC設(shè)備與另外一個(gè)NFC設(shè)備之間進(jìn)行簡(jiǎn)單的接觸就會(huì)觸發(fā)交互動(dòng)作。這些物體被稱為NFC標(biāo)簽(基于RFID感應(yīng)器的非接觸存儲(chǔ)芯片)。這些標(biāo)簽可以存儲(chǔ)類似互聯(lián)網(wǎng)地址URL, 電話號(hào)碼,文本短信SMS或電子商業(yè)卡等內(nèi)容。用戶可以使用標(biāo)簽接觸NFC設(shè)備來(lái)獲取這些信息。

?

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

1,卡模擬模式,NFC模擬為一張卡

2,讀寫(xiě)器模式,NFC模擬為讀寫(xiě)器,對(duì)卡進(jìn)行讀寫(xiě)

3,雙向數(shù)據(jù)分享模式,兩個(gè)NFC終端互相交換數(shù)據(jù),可以用于藍(lán)牙和無(wú)線連接的初始驗(yàn)證

?

圖1顯示了中NFC手機(jī)中NFC數(shù)據(jù)的傳輸。應(yīng)用處理器是手機(jī)的主處理單元,NFC控制器為設(shè)備中NFC功能的核心部件。它包括NFC調(diào)制解調(diào)器,以及進(jìn)行命令和數(shù)據(jù)的預(yù)處理。安全單元為一個(gè)智能卡芯片,能夠進(jìn)行安全的基于硬件的卡模擬。路徑1為應(yīng)用處理器與NFC控制器之間的命令和數(shù)據(jù)流,該路徑在點(diǎn)對(duì)點(diǎn)模式,讀卡器模式和軟件卡模擬這三種模式中都存在。路徑2為安全單元與NFC控制器之間的命令和數(shù)據(jù)交互,在安全的基于硬件的卡模擬方式中存在。安全單元不僅可以通過(guò)NFC接口與外部交互之外,也可以與主控制器進(jìn)行連接。這樣,安全單元中的信息可以通過(guò)手機(jī)或者蜂窩網(wǎng)絡(luò)控制。路徑4表示安全單元與主控制器連接,或通過(guò)路徑3與NFC接口連接。這路徑2和路徑3兩種方式通常只選擇其中一種,也就是說(shuō)這兩個(gè)模式在同一時(shí)間只有一個(gè)是被激活的。

?

譯者注:在NFC工作在卡模擬模式下時(shí),路徑1就是基于軟件的卡模擬,即Host Card(主機(jī)卡)模式。路徑2就是基于硬件的卡模擬,即Virtual Card(虛擬卡)模式。路徑3,4表示通過(guò)手機(jī)對(duì)安全單元的控制,使用哪個(gè)路徑取決于SE的硬件類型。手機(jī)訪問(wèn)SE即所謂的WIRED CARD模式,例如初始化或給SE下載應(yīng)用時(shí),就需要通過(guò)這種方式。在WIRED CARD模式下,虛擬卡模式或主機(jī)卡模式被屏蔽。

2.1 卡模擬

NFC卡模擬有多種方式可以選擇。模擬的方式可以通過(guò)通訊標(biāo)準(zhǔn),支持協(xié)議層,支持命令集以及具體進(jìn)行模擬操作的NFC設(shè)備部件上的不同而加以區(qū)分。

對(duì)于通訊標(biāo)準(zhǔn),有三種選擇,ISO/IEC 14443 Type A, ISO/IEC 14443 TypeB 和FeliCa (JIS X 6319-4),對(duì)這三種標(biāo)準(zhǔn)的支持取決于NFC控制器,安全單元和應(yīng)用的地理位置。例如,ISO/IEC 14443Type A, ISO/IEC 14443 TypeB在歐洲廣泛應(yīng)用,而FeliCa (JIS X 6319-4)主要用于日本。

另外一個(gè)區(qū)別在于具體進(jìn)行模擬操作的NFC設(shè)備部件,一方面,卡模擬可以在軟件,也就是設(shè)備應(yīng)用處理器上進(jìn)行,另外一方面,卡模擬可以由一個(gè)專用的智能卡芯片,即安全單元上進(jìn)行。

?

2.2 安全單元

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

很多安全單元(例如NXP的SmartMX)使用的是標(biāo)準(zhǔn)的智能卡芯片,包括接觸式或非接觸式智能卡。其軟件和硬件架構(gòu)是相同的。唯一的區(qū)別是它們對(duì)外的接口有所不同,普通的智能卡具有ISO/IEC 7816-3 (接觸式)或天線(非接觸式)接口,而安全單元在這些接口之外,還通過(guò)一個(gè)直接的接口與NFC控制器連接(例如NFC線接口NFC-WI,或單線協(xié)議SWP)。

?

安全單元具備與常規(guī)智能卡同樣的高安全標(biāo)準(zhǔn)。它可以提供安全存儲(chǔ),安全執(zhí)行環(huán)境和基于硬件的加密算法。安全單元芯片用于對(duì)存儲(chǔ)數(shù)據(jù)的讀取和操作,并可以抵御各種攻擊。其芯片,操作系統(tǒng)和設(shè)計(jì)流程都經(jīng)過(guò)高安全標(biāo)準(zhǔn)的評(píng)估和認(rèn)證。例如智能卡芯片通用標(biāo)準(zhǔn)保護(hù)條例(Common Criteria protection profiles for smartcardmicrochips)等。因此,安全單元滿足安全相關(guān)的應(yīng)用,例如支付和門(mén)禁管理系統(tǒng)。

?

智能卡中一個(gè)重要的未解決安全問(wèn)題是接力攻擊場(chǎng)景。“接力攻擊”是指與智能卡的通訊通過(guò)另一個(gè)載體接力傳播到一個(gè)比較遠(yuǎn)的距離。攻擊者可以在遠(yuǎn)程非法使用受害者的智能卡。這種對(duì)非接觸智能卡的接力攻擊最早被Hancke證實(shí),他通過(guò)智能卡和RFID讀卡器之間信號(hào)層通訊實(shí)現(xiàn)了接力攻擊。Kfir和Wool則顯著提高了通訊距離,可以在用戶不知情的情況下輕易使用其智能卡。Roland etal揭示了安全單元不僅能通過(guò)非接觸接口進(jìn)行攻擊,而且能夠通過(guò)手機(jī)應(yīng)用處理器上運(yùn)行的軟件進(jìn)行。Anderson 表明NFC手機(jī)是對(duì)非接觸智能卡進(jìn)行接力攻擊的理想場(chǎng)所。 Francis et顯示可以通過(guò)兩部NFC手機(jī)的藍(lán)牙或其它無(wú)線通訊方式組成的攻擊平臺(tái),對(duì)NFC點(diǎn)對(duì)點(diǎn)通訊和非接觸智能卡通訊進(jìn)行接力攻擊。

?

3. 基于軟件的卡模擬

軟件卡模擬是NFC手機(jī)上進(jìn)行卡模擬的新方法。最早由RIM公司在黑莓平臺(tái)上引入。在支持多種安全單元之外,黑莓7平臺(tái)支持通過(guò)手機(jī)應(yīng)用控制器模擬NFC標(biāo)簽和智能卡。

?

通過(guò)指定一條NDEF消息,應(yīng)用程序能夠模擬NFC Forum 類型4的標(biāo)簽,該消息可以保存在一個(gè)虛擬標(biāo)簽中。這種類型4標(biāo)簽協(xié)議由黑莓系統(tǒng)自動(dòng)處理。工作在該模式下的NFC設(shè)備可用于與另外一個(gè)工作在讀寫(xiě)器模式下的NFC設(shè)備交換數(shù)據(jù)。

?

應(yīng)用程序也可以全方位的模擬符合ISO/IEC 14443-4標(biāo)準(zhǔn)的智能卡,包括類型A和類型B。應(yīng)用程序可以指定模擬卡的靜態(tài)屬性(例如唯一ID(UID) 以及ISO/IEC 14443 Type A卡的歷史數(shù)據(jù)),并在ISO/IEC14443-4規(guī)定的塊交換協(xié)議基礎(chǔ)上進(jìn)行信息協(xié)議數(shù)據(jù)單元交換(盡管API允許應(yīng)用程序隨便定義UID,但考慮到安全因素,在現(xiàn)存設(shè)備上沒(méi)有提供該功能)。開(kāi)發(fā)人員可以通過(guò)在黑莓系統(tǒng)上進(jìn)行注冊(cè)將應(yīng)用程序模擬為智能卡。當(dāng)從外部RFID/NFC讀寫(xiě)器得到命令時(shí),系統(tǒng)通過(guò)一個(gè)回調(diào)函數(shù)通知該應(yīng)用程序,并將得到的命令作為參數(shù)傳遞給該回調(diào)函數(shù)。應(yīng)用程序可以通過(guò)參數(shù)進(jìn)行相應(yīng)的處理,該回調(diào)函數(shù)的返回值可以返回到讀寫(xiě)器。

圖2 演示了軟件卡模擬的命令流程,箭頭1到4顯示了RFID/NFC讀寫(xiě)器到應(yīng)用程序注冊(cè)的回調(diào)函數(shù)的命令流程,而箭頭5到8表明從應(yīng)用程序反饋給RFID/NFC讀寫(xiě)器的流程。

?

目前為止,黑莓手機(jī)是唯一能夠支持軟件卡模擬的手機(jī)。但是,最近發(fā)布的基于第三方固件CyanogenMod補(bǔ)丁包能夠讓帶有NXP PN544的NFC手機(jī)具有軟件卡模擬的功能。

?

除了NFC手機(jī)之外,其它設(shè)備,例如NFC讀寫(xiě)器,可以實(shí)現(xiàn)無(wú)安全單元的軟件卡模擬。例如ACS ACR 122U NFC讀寫(xiě)器,另外還有專用的卡模擬設(shè)備(例如Proxmark,OpenPICC, IAIK HF RFID DemoTag等)

?

3.1 軟件卡模擬的優(yōu)點(diǎn)

卡模擬被視為NFC技術(shù)中最具前景的領(lǐng)域。主要原因是相比其它工作模式,卡模擬最有盈利的前景。而且,現(xiàn)存的支付,票務(wù),門(mén)禁等智能卡系統(tǒng)一般由固定的讀寫(xiě)器設(shè)備和帶有智能卡/非接觸標(biāo)簽的用戶組成。因此將用戶端功能(智能卡/非接觸標(biāo)簽)加入手機(jī)中是一個(gè)現(xiàn)實(shí)和迫切的要求。

?

盡管NFC社區(qū)一直要求提供卡模擬功能,但是,卡模擬,特別涉及安全單元的卡模擬一直是個(gè)復(fù)雜的領(lǐng)域。到目前為止,嵌入式系統(tǒng)中的安全單元通常在手持設(shè)備制造商控制中或TSM的運(yùn)營(yíng)下。如果將UICC(SIM)作為安全單元,則是移動(dòng)網(wǎng)絡(luò)運(yùn)營(yíng)商(Mobile Network Operator MNO)控制著安全單元。NFC手機(jī)中的安全單元控制權(quán)之爭(zhēng)早已打響。因此實(shí)現(xiàn)對(duì)安全單元訪問(wèn)的第一個(gè)障礙就是不同的安全單元由不同的部門(mén)控制。另一個(gè)障礙是一個(gè)安全單元的運(yùn)營(yíng)商不太可能允許其競(jìng)爭(zhēng)對(duì)手在他們的模塊中運(yùn)行類似的服務(wù)。例如谷歌錢(qián)包不太可能與Isis錢(qián)包中一個(gè)手機(jī)中共存,尤其是共享一個(gè)安全單元。第三個(gè)障礙是應(yīng)用程序訪問(wèn)安全單元的開(kāi)銷。除了安全單元上存儲(chǔ)空間的開(kāi)銷外,共存在一個(gè)安全單元上的安全相關(guān)的應(yīng)用程序應(yīng)該需要某種模式的安全認(rèn)證。

?

所有這些障礙限制了一般開(kāi)發(fā)人員的應(yīng)用程序使用安全單元的可能性(也許在手機(jī)和支付領(lǐng)域的巨頭可以除外)。作為上述問(wèn)題的解決方案,RIM在其黑莓手機(jī)上提供了軟件卡模擬方法。在這種模式下,任何開(kāi)發(fā)者都可以開(kāi)發(fā)基于卡模擬技術(shù)的應(yīng)用程序,為開(kāi)發(fā)與現(xiàn)存具有固定讀寫(xiě)器的基礎(chǔ)設(shè)施交互的應(yīng)用程序的提供了可能。也就是說(shuō),開(kāi)發(fā)者可以開(kāi)發(fā)基于手機(jī)的門(mén)禁,支付,公共交通和票務(wù)應(yīng)用程序,用于使用RFID票卡和智能卡的系統(tǒng)中。

?

軟件卡模擬的另外一個(gè)好處是可以實(shí)現(xiàn)與不具備全功能點(diǎn)對(duì)點(diǎn)模式的NFC設(shè)備通訊。例如,Android系統(tǒng)僅支持Android Beam來(lái)實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通訊。然而Android Beam是基于谷歌的NDEF推協(xié)議 (NDEF Push Protocol NPP)和簡(jiǎn)單NDEF交換協(xié)議 (Simple NDEF ExchangeProtocol SNEP),在兩個(gè)NFC手機(jī)接觸時(shí)僅能實(shí)現(xiàn)單方向單條的消息通訊。因此,軟件卡模擬可以作為NFC手機(jī)之間點(diǎn)對(duì)點(diǎn)通訊的替代方式。另外許多基于PC平臺(tái)的非接觸智能卡讀寫(xiě)器也不支持點(diǎn)對(duì)點(diǎn)模式。例如 Reiner SCTcyberJack RFID basic (在新的德國(guó)身份證系統(tǒng)中使用)和HID OMNIKEY 5321。但是,這些設(shè)備可以與卡模擬方式下的NFC手機(jī)進(jìn)行通訊,因此,不需要增加額外的NFC硬件,軟件卡模擬方式能夠?qū)崿F(xiàn)了手機(jī)與這些PC系統(tǒng)的通訊。

?

更進(jìn)一步的好處是相比點(diǎn)對(duì)點(diǎn)模式,在PC平臺(tái)上對(duì)軟件卡模擬的軟件和驅(qū)動(dòng)支持更好。非接觸智能卡讀寫(xiě)器在PC/SC上已經(jīng)標(biāo)準(zhǔn)化,而且缺省的集成到大多數(shù)操作系統(tǒng)中。即使Java SE這樣的平臺(tái)也具有非接觸式智能卡的標(biāo)準(zhǔn)API。點(diǎn)對(duì)點(diǎn)模式則只有有限的支持,而且僅僅被有些第三方庫(kù),例如libnfc4和libnfc-llcp5支持。另外,NFC點(diǎn)對(duì)點(diǎn)模式協(xié)議棧為

?

應(yīng)用層協(xié)議(NDEF消息)

基于

NPP,SNEP (或者直接使用另外的應(yīng)用層協(xié)議)

基于

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

基于

NFC-DEP (NFC DataExchange Protocol NFC數(shù)據(jù)交換協(xié)議,例如符合ISO/IEC 18092的底層點(diǎn)對(duì)點(diǎn)通訊協(xié)議)

?

比較而言,下面的讀寫(xiě)器模式的協(xié)議棧更簡(jiǎn)單:

?

應(yīng)用層協(xié)議 (符合ISO/IEC 7816-4)

基于

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

?

總體來(lái)講,軟件卡模擬方式是一般開(kāi)發(fā)者,而不是那些“業(yè)界巨頭們”,能夠從簡(jiǎn)單的NFC標(biāo)簽應(yīng)用上進(jìn)行功能擴(kuò)展的很好契機(jī)。

?

3.2 缺點(diǎn)和安全問(wèn)題

所有上述的好處是有代價(jià)的。在當(dāng)前軟件卡模擬存在的技術(shù)限制之外,有重大的安全問(wèn)題。手機(jī)應(yīng)用處理器中運(yùn)行的應(yīng)用程序不具有安全單元中的數(shù)據(jù)安全存儲(chǔ)和可信度執(zhí)行環(huán)境。除非應(yīng)用處理器自己能夠提供某種形式的可信計(jì)算技術(shù)。但是目前的絕大多數(shù)手機(jī)沒(méi)有這個(gè)功能。

?

沒(méi)有安全存儲(chǔ)功能,因此卡模擬應(yīng)用程序不得不自行保存敏感的數(shù)據(jù)(例如門(mén)禁系統(tǒng)的口令,支付系統(tǒng)的私鑰,票卡帳號(hào)等)。而且沒(méi)有安全的執(zhí)行環(huán)境,導(dǎo)致其它應(yīng)用程序(包括惡意的應(yīng)用程序)的干擾。例如最近發(fā)現(xiàn)谷歌錢(qián)包存在重大安全隱患,盡管谷歌錢(qián)包使用安全單元,但是應(yīng)用程序?qū)⒅匾陌踩珨?shù)據(jù)作為應(yīng)用程序私有數(shù)據(jù)緩存到手機(jī)內(nèi)存中,攻擊者可以通過(guò)這些緩存得到信用卡號(hào),帳戶余額,卡持有人信息甚至錢(qián)包的PIN碼。

?

根據(jù)這些敏感信息的價(jià)值,也許在某些情況下值得冒險(xiǎn)。例如,公共交通中的單程票,或一張主題公園的門(mén)票。但是對(duì)于支付系統(tǒng)或門(mén)禁系統(tǒng),情況就不一樣了。例如信用卡或大樓的門(mén)禁卡的信息,就不能簡(jiǎn)單的存放在容易被竊取的手機(jī)內(nèi)存中了。

?

但是,使用軟件卡模擬也可以實(shí)現(xiàn)某種程度上的安全應(yīng)用。一個(gè)關(guān)鍵是將“虛擬卡(virtual card)”存放在一個(gè)安全的遠(yuǎn)程的地點(diǎn),而手機(jī)僅僅充當(dāng)一個(gè)訪問(wèn)代理。

?

圖3顯示了這種基于虛擬卡的在線卡模擬系統(tǒng)。手機(jī)將從POS機(jī)得到的命令轉(zhuǎn)發(fā)到存放在遠(yuǎn)程服務(wù)器中的虛擬卡,虛擬卡的回復(fù)通過(guò)手機(jī)反饋給POS終端。

?

虛擬卡的訪問(wèn)必須是安全的,可以防止通訊中的截獲已經(jīng)未經(jīng)授權(quán)的信用卡使用。例如,通過(guò)加密和認(rèn)證的通道,以及用戶輸入口令進(jìn)行保護(hù)。但是,鑒于在手機(jī)應(yīng)用程序中存放數(shù)據(jù)易于被竊取的現(xiàn)實(shí),創(chuàng)建不能被其它應(yīng)用竊取的安全信道是很困難的。另外,由于需要與遠(yuǎn)程服務(wù)建立安全連接,需要穩(wěn)定的互聯(lián)網(wǎng)連接,而并不是所有應(yīng)用環(huán)境有這個(gè)條件。

?

軟件卡模擬中的安全問(wèn)題不僅僅是數(shù)據(jù)存儲(chǔ)的問(wèn)題。另一個(gè)問(wèn)題是使用軟件卡模擬應(yīng)用的手機(jī)作為攻擊工具。Francis et al的研究表明具有NFC功能的手機(jī)能夠?qū)崿F(xiàn)遠(yuǎn)距離的點(diǎn)對(duì)點(diǎn)模式接力攻擊。類似的也可以攻擊非接觸智能卡系統(tǒng)。(cf. Hancke, Kr 和 Wool, Hanckeet al)。過(guò)去,攻擊者必須準(zhǔn)備專用的設(shè)備(例如,用于在RFID/NFC讀寫(xiě)器和接力處理器之間轉(zhuǎn)發(fā)智能卡信號(hào)的卡模擬器)。目前這些專用設(shè)備不具備一般NFC設(shè)備的外觀形態(tài)(例如智能卡或手機(jī)的外觀)。然而,支持軟件卡模擬的手機(jī)具有理想的外形,而且具備建立接力通道所需的多種網(wǎng)絡(luò)接口(藍(lán)牙,WIFI,GSM,UMTS等)。

?

Francis et al證明非接觸智能卡能夠輕易的被兩部NFC手機(jī)進(jìn)行接力攻擊:一個(gè)NFC手機(jī)作為智能卡和接力通道之間的代理,工作在讀寫(xiě)器模式。另一部NFC手機(jī)作為RFID/NFC讀寫(xiě)器(例如POS機(jī))和接力通道之間的代理,工作在卡模擬模式。Roland et al甚至演示了受害者手機(jī)中的純軟件應(yīng)用就足以充當(dāng)進(jìn)行安全單元和接力通道之間的代理。

?

軟件卡模擬還存在技術(shù)和安全相關(guān)的限制。在NXP的NFC控制器中,基于軟件的卡模擬只能使用一段范圍內(nèi)的UID(被保留為隨機(jī)號(hào)碼的UID號(hào)碼段)。在黑莓平臺(tái)上的API中,有使用指定UID的功能,但這個(gè)功能因?yàn)榘踩珕?wèn)題而被替換。因此在現(xiàn)存的設(shè)備中,也只能使用隨機(jī)的UID。該限制妨礙了軟件卡模擬在基于UID的系統(tǒng)中的應(yīng)用,但也防止了在純UID應(yīng)用系統(tǒng)(例如某些門(mén)禁系統(tǒng))中的卡克隆攻擊。

?

而且,黑莓的軟件卡模擬功能,包括Android的第三方CyanogenMod固件最近加入的功能,僅僅支持符合ISO/IEC 14443-4標(biāo)準(zhǔn)的智能卡。底層協(xié)議為專有協(xié)議的系統(tǒng),例如NXP的MIFARE Classic,就不能被模擬。因此,軟件卡模擬不能在所有的現(xiàn)存RFID?系統(tǒng)中使用。

4,結(jié)論

本文評(píng)估了基于軟件的卡模擬存在的優(yōu)缺點(diǎn)。軟件卡模擬突破了現(xiàn)有的基于安全單元解決方案的束縛,為開(kāi)發(fā)人員提供了新的機(jī)會(huì)。該技術(shù)可以方便的將具有NFC功能的手機(jī)和現(xiàn)存的非接觸智能卡系統(tǒng)集成在一起。而且與點(diǎn)對(duì)點(diǎn)模式相比,讀寫(xiě)器模式設(shè)備和卡模擬設(shè)備之間的通訊更具優(yōu)勢(shì),因?yàn)樽x寫(xiě)器模式的應(yīng)用比點(diǎn)對(duì)點(diǎn)模式更為普遍。這些優(yōu)點(diǎn)的代價(jià)是安全上的問(wèn)題。在這種情況下,模擬卡中的內(nèi)容更加難以保護(hù),而且,軟件卡模擬將NFC手機(jī)變成對(duì)智能卡或其它卡模擬設(shè)備實(shí)施接力工具的一個(gè)理想的工具平臺(tái)。最后,設(shè)備和芯片制造商對(duì)某些應(yīng)用上的軟件卡模擬進(jìn)行了限制。雖然大多數(shù)軟件卡模擬應(yīng)用都可以使用點(diǎn)對(duì)點(diǎn)方式實(shí)現(xiàn),但是使用點(diǎn)對(duì)點(diǎn)模式通常需要對(duì)現(xiàn)有基礎(chǔ)設(shè)施進(jìn)行大量升級(jí)改造。

?

本人認(rèn)為,在多個(gè)NFC設(shè)備之間通信上不需要通過(guò)軟件卡模擬實(shí)現(xiàn),因?yàn)閼?yīng)用程序可以使用點(diǎn)對(duì)點(diǎn)模式,這種模式是為NFC設(shè)備之間通信而特別設(shè)計(jì)的。然而,使用軟件卡模擬的優(yōu)勢(shì)是能夠支持現(xiàn)有的硬件系統(tǒng)。所以不能僅僅因?yàn)殚_(kāi)發(fā)人員會(huì)創(chuàng)建無(wú)安全的應(yīng)用,或者這種技術(shù)會(huì)被惡意使用,就將禁止軟件卡模擬功能的開(kāi)發(fā)。應(yīng)用的安全不能靠限制可能被惡意使用的技術(shù),而是應(yīng)該依靠提升系統(tǒng)對(duì)攻擊的抵抗力實(shí)現(xiàn)。畢竟,從CyanogenMod的補(bǔ)丁包上就能看出限制該功能的使用是不現(xiàn)實(shí)的。

?

5. 致謝

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

??

6,參考文獻(xiàn)(略)


總結(jié)

以上是生活随笔為你收集整理的NFC手机上基于软件的卡模拟 重大利好还是安全噩梦?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。