用于安全元件中心式nfc架構(gòu)的nfc訪問(wèn)控制的系統(tǒng)和方法
【專(zhuān)利說(shuō)明】
【背景技術(shù)】
[0001]隨著諸如智能電話和平板之類(lèi)的移動(dòng)設(shè)備變得流行,用戶(hù)越來(lái)越多地采用移動(dòng)設(shè)備來(lái)發(fā)起和完成財(cái)務(wù)交易。例如,移動(dòng)設(shè)備可采用近場(chǎng)通信(NFC)標(biāo)準(zhǔn)通過(guò)將移動(dòng)設(shè)備與NFC使能設(shè)備觸碰在一起或者使得它們足夠鄰近來(lái)建立與NFC使能設(shè)備的無(wú)線電通信,從而交換諸如交易數(shù)據(jù)和支付信息之類(lèi)的數(shù)據(jù)。在一些情形中,移動(dòng)設(shè)備可從無(wú)電源的NFC芯片(被稱(chēng)作NFC標(biāo)簽)(例如,從信用卡)獲得信息。在一些實(shí)施例中,移動(dòng)設(shè)備的應(yīng)用處理器和NFC控制器之間的直接有線通信可增加移動(dòng)設(shè)備經(jīng)受硬件和/或軟件攻擊的易損性,該硬件和/或軟件攻擊可導(dǎo)致敏感信息在移動(dòng)設(shè)備的用戶(hù)不知道的情況下被第三方獲得。
【附圖說(shuō)明】
[0002]詳細(xì)描述是參考附圖提出的。相同的標(biāo)號(hào)用于指示類(lèi)似或相等的組件或元件;然而,不同的標(biāo)號(hào)也可被用于指示類(lèi)似或相等的組件或元件。本公開(kāi)的各種實(shí)施例可采用除了圖示中所描繪的那些組件或元件之外的元件和/或組件,并且一些元件和/或組件可能不存在于各種實(shí)施例中。依據(jù)上下文,用于描述元件或者組件的類(lèi)似術(shù)語(yǔ)可涵蓋多種這樣的元件或組件,并且反之亦然。
[0003]圖1是根據(jù)本公開(kāi)的一個(gè)或多個(gè)實(shí)施例,包括用于安全元件中心式架構(gòu)的NFC訪問(wèn)控制的示例性系統(tǒng)架構(gòu)的各種硬件和軟件組件的框圖。
[0004]圖2A-2B是根據(jù)本公開(kāi)的一個(gè)或多個(gè)實(shí)施例包括用于安全元件中心式架構(gòu)的NFC訪問(wèn)控制的各種架構(gòu)的示例性框圖。
[0005]圖3A是根據(jù)本公開(kāi)的一個(gè)或多個(gè)實(shí)施例的NFC訪問(wèn)控制小型應(yīng)用程序?qū)崿F(xiàn)的示例性實(shí)施例。
[0006]圖3B是根據(jù)本公開(kāi)的一個(gè)或多個(gè)實(shí)施例的NFC訪問(wèn)控制原生實(shí)現(xiàn)的示例性實(shí)施例。
[0007]圖3C是根據(jù)本公開(kāi)的一個(gè)或多個(gè)實(shí)施例的NFC訪問(wèn)控制Java卡0S擴(kuò)展實(shí)現(xiàn)的示例性實(shí)施例。
[0008]圖4是根據(jù)本公開(kāi)的一個(gè)或多個(gè)實(shí)施例,用于安全元件中心式架構(gòu)的NFC訪問(wèn)控制的示例性方法的流程圖。
【具體實(shí)施方式】
[0009]除了其他事物之外,本公開(kāi)涉及使能安全元件中心式近場(chǎng)通信(NFC)架構(gòu)以針對(duì)要求硬件和/或軟件篡改保護(hù)的場(chǎng)景(如支付驗(yàn)收、數(shù)字身份、物理和邏輯訪問(wèn)控制等)提供軟件和/或硬件篡改防護(hù)NFC子系統(tǒng)的系統(tǒng)、方法、計(jì)算機(jī)可讀介質(zhì)、技術(shù)和方法。在一些實(shí)施例中,安全元件被置于應(yīng)用處理器和NFC控制器之間,消除應(yīng)用處理器和NFC控制器之間的任何直接連接。通過(guò)消除應(yīng)用處理器和NFC控制器之間的直接連接,由NFC控制器提供的NFC接口與應(yīng)用處理器以及可由應(yīng)用處理器運(yùn)行的任何軟件(例如,移動(dòng)設(shè)備的操作系統(tǒng))物理隔離。應(yīng)用處理器和NFC控制器之間的所有NFC流量可被路由通過(guò)安全元件。
[0010]在一些實(shí)施例中,安全元件可包括NFC訪問(wèn)控制管理器,其可以是小型應(yīng)用程序(applet)、原生應(yīng)用程序、或Java卡操作系統(tǒng)擴(kuò)展。NFC訪問(wèn)控制管理器可分析NFC流量并確定哪些交易被允許由應(yīng)用處理器所執(zhí)行的主機(jī)操作系統(tǒng)服務(wù)并且哪些交易是特許的并且必須由在安全元件內(nèi)運(yùn)行的受信任應(yīng)用程序進(jìn)行服務(wù)。在一些實(shí)施例中,安全元件中的訪問(wèn)控制管理器可對(duì)由安全元件接收到的NFC流量進(jìn)行過(guò)濾以分離交易類(lèi)型并強(qiáng)制施行訪問(wèn)控制策略。訪問(wèn)控制策略可由受信任服務(wù)管理器生成并加密,該受信任服務(wù)管理器然后可將它們發(fā)送給移動(dòng)設(shè)備。應(yīng)用處理器可接收訪問(wèn)控制策略并將它們發(fā)送至安全元件。訪問(wèn)控制策略可由訪問(wèn)控制管理器使用安全密鑰進(jìn)行解密并且訪問(wèn)控制策略可被應(yīng)用于接收到的NFC流量以識(shí)別特許的流量和正常的流量。特許的流量可由安全元件處理,而正常的流量可由應(yīng)用處理器所運(yùn)行的主機(jī)操作系統(tǒng)處理。
[0011]安全元件可以是嵌入式安全元件、通用集成電路卡(UICC)、安全數(shù)字(SD)卡等等的形式。在一些實(shí)施例中,安全元件可以是經(jīng)評(píng)估保證級(jí)別(EAL)4+認(rèn)證的篡改防護(hù)設(shè)備。
[0012]在安全元件內(nèi)實(shí)現(xiàn)的訪問(wèn)控制管理器可分析NFC請(qǐng)求(例如,從應(yīng)用處理器接收的NFC控制器接口請(qǐng)求)并對(duì)NFC請(qǐng)求應(yīng)用一個(gè)或多個(gè)訪問(wèn)控制策略。訪問(wèn)控制策略可將NFC交易的類(lèi)型映射至訪問(wèn)級(jí)別。依據(jù)訪問(wèn)級(jí)別,訪問(wèn)控制管理器可至少部分地基于與交易發(fā)起者相關(guān)聯(lián)的訪問(wèn)級(jí)別來(lái)允許或拒絕交易。
[0013]上文已經(jīng)討論了各種示例性實(shí)施例。本公開(kāi)的這些和其他示例實(shí)施例將在后面參考附圖來(lái)進(jìn)行更詳細(xì)的描述。圖示和相應(yīng)描述僅被提供用于描述性目的而并不意圖以任何方式限制本公開(kāi)。應(yīng)當(dāng)認(rèn)識(shí)到,眾多的其他實(shí)施例、變更等等在本公開(kāi)的范圍之內(nèi)。
[0014]示例性系統(tǒng)架構(gòu)
[0015]圖1是根據(jù)本公開(kāi)的一個(gè)或多個(gè)實(shí)施例,包括用于安全元件中心式架構(gòu)的NFC訪問(wèn)控制的示例性系統(tǒng)架構(gòu)的各種硬件和軟件組件的框圖。盡管本公開(kāi)是在基于近場(chǎng)通信和/或NFC的交易的上下文中進(jìn)行描述的,這里所述的硬件、系統(tǒng)和方法可同等應(yīng)用于其他無(wú)線交易協(xié)議,例如Bluetooth?等等。示例性系統(tǒng)架構(gòu)100可包括可由一個(gè)或多個(gè)用戶(hù)操作的一個(gè)或多個(gè)移動(dòng)設(shè)備102、一個(gè)或多個(gè)受信任服務(wù)管理器(TSM)104、一個(gè)或多個(gè)NFC使能設(shè)備108、和/或一個(gè)或多個(gè)數(shù)據(jù)庫(kù)106。(一個(gè)或多個(gè))移動(dòng)設(shè)備102可包括任何適合的處理器驅(qū)動(dòng)的移動(dòng)計(jì)算設(shè)備,包括但不限于:膝上型計(jì)算設(shè)備、智能電話、平板等等。為了便于解釋?zhuān)?一個(gè)或多個(gè))移動(dòng)設(shè)備102在這里以單數(shù)形式進(jìn)行描述,然而應(yīng)當(dāng)認(rèn)識(shí)到可提供多個(gè)移動(dòng)設(shè)備102。(一個(gè)或多個(gè))TSM 104可包括任何適合的處理器驅(qū)動(dòng)的移動(dòng)計(jì)算設(shè)備,包括但不限于:臺(tái)式計(jì)算設(shè)備、膝上型計(jì)算設(shè)備、服務(wù)器、智能電話、平板等等。為了便于解釋?zhuān)?一個(gè)或多個(gè))TSM 104在這里以單數(shù)形式進(jìn)行描述,然而應(yīng)當(dāng)認(rèn)識(shí)到可提供多個(gè)TSM 104。
[0016]移動(dòng)設(shè)備102、(一個(gè)或多個(gè))TSM 104、(一個(gè)或多個(gè))NFC使能設(shè)備108、和/或(一個(gè)或多個(gè))數(shù)據(jù)庫(kù)106中的任一者可被配置為經(jīng)由一個(gè)或多個(gè)網(wǎng)絡(luò)110彼此通信以及與系統(tǒng)架構(gòu)100的任何其他組件通信。(一個(gè)或多個(gè))網(wǎng)絡(luò)110可包括但不限于:不同類(lèi)型的適合通信網(wǎng)絡(luò)(例如,有線網(wǎng)絡(luò)、公共網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))、私有網(wǎng)絡(luò)、無(wú)線網(wǎng)絡(luò)、蜂窩網(wǎng)絡(luò)、或者任何其他適合的私有和/或公共網(wǎng)絡(luò))中的任何一者或組合。另外,(一個(gè)或多個(gè))網(wǎng)絡(luò)110可具有與其相關(guān)聯(lián)的任何適合通信范圍并且例如可包括:全球網(wǎng)絡(luò)(例如,互聯(lián)網(wǎng))、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、或個(gè)域網(wǎng)(PAN)。此外,(一個(gè)或多個(gè))網(wǎng)絡(luò)110可包括可通過(guò)其載送網(wǎng)絡(luò)流量的任何類(lèi)型的介質(zhì),包括但不限于:同軸線纜、雙絞線、光纖、混合光纖(HFC)介質(zhì)、微波陸基收發(fā)器、無(wú)線電頻率通信介質(zhì)、衛(wèi)星通信介質(zhì)、或它們的任何組合。
[0017](一個(gè)或多個(gè))移動(dòng)設(shè)備102可包括一個(gè)或多個(gè)處理器132以及一個(gè)或多個(gè)存儲(chǔ)器136(這里被統(tǒng)稱(chēng)為存儲(chǔ)器136)。(一個(gè)或多個(gè))處理器132可包括能夠接受數(shù)字?jǐn)?shù)據(jù)作為輸入、基于存儲(chǔ)的計(jì)算機(jī)可執(zhí)行指令處理輸入數(shù)據(jù)以及生成輸出數(shù)據(jù)的任何適合處理單元。計(jì)算機(jī)可執(zhí)行指令例如可被存儲(chǔ)在數(shù)據(jù)存儲(chǔ)設(shè)備134中并且可包括(除了其他事物之外)操作系統(tǒng)軟件和應(yīng)用程序軟件。計(jì)算機(jī)可執(zhí)行指令可從數(shù)據(jù)存儲(chǔ)設(shè)備134中取回并按照?qǐng)?zhí)行的需要被加載至存儲(chǔ)器136中。(一個(gè)或多個(gè))處理器132可被配置為執(zhí)行計(jì)算機(jī)可執(zhí)行指令以使得各種操作被執(zhí)行。(一個(gè)或多個(gè))處理器132可包括任何類(lèi)型的處理器單元,包括但不限于:中央處理單元、微處理器、微控制器、精簡(jiǎn)指令集計(jì)算機(jī)(RISC)微處理器、復(fù)雜指令集計(jì)算機(jī)(CISC)微處理器、專(zhuān)用集成電路(ASIC)、片上系統(tǒng)(SoC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)等等。
[0018]數(shù)據(jù)存儲(chǔ)設(shè)備134可存儲(chǔ)可由(一個(gè)或多個(gè))處理器132加載和執(zhí)行的程序指令以及由(一個(gè)或多個(gè))處理器132在程序指令的運(yùn)行期間操縱和生成的數(shù)據(jù)。程序指令可按照?qǐng)?zhí)行的需要被加載到存儲(chǔ)器136中。依據(jù)(一個(gè)或多個(gè))移動(dòng)設(shè)備102的配置和實(shí)現(xiàn)方式,存儲(chǔ)器136可以是諸如隨機(jī)存取存儲(chǔ)器(RAM)之類(lèi)的易失性存儲(chǔ)器(被配置為在不供電時(shí)不保留所存儲(chǔ)的信息的存儲(chǔ)器)和/或諸如只讀存儲(chǔ)器(R0M)、閃存等等非易失性存儲(chǔ)器(被配置為即使在不供電時(shí)也保留所存儲(chǔ)的信息的存儲(chǔ)器)。在各種實(shí)現(xiàn)方式中,存儲(chǔ)器136可包括許多不同類(lèi)型的存儲(chǔ)器,例如各種形式的靜態(tài)隨機(jī)存取存儲(chǔ)器(SRAM)、各種形式的動(dòng)態(tài)隨機(jī)存取存儲(chǔ)器(DRAM)、不可更改R0M、和/或ROM的可寫(xiě)入變體(例如,電可擦寫(xiě)可編程只讀存儲(chǔ)器(EEPR0M))、閃存等等。
[0019](—個(gè)或多個(gè))移動(dòng)設(shè)備102還可包括諸如可移除的存儲(chǔ)設(shè)備和/或不可移除的存儲(chǔ)設(shè)備之類(lèi)的附加數(shù)據(jù)存儲(chǔ)設(shè)備134,包括但不限于:磁性存儲(chǔ)設(shè)備、光盤(pán)存儲(chǔ)設(shè)備、和/或磁帶存儲(chǔ)設(shè)備。數(shù)據(jù)存儲(chǔ)設(shè)備134可提供計(jì)算機(jī)可執(zhí)行指令和其他數(shù)據(jù)的非易失性存儲(chǔ)。存儲(chǔ)器136和/或數(shù)據(jù)存儲(chǔ)設(shè)備134(可移除和/或不可移除的)是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)(CRSM)的示例。
[0020](一個(gè)或多個(gè))移動(dòng)設(shè)備102還可包括(一個(gè)或多個(gè))網(wǎng)絡(luò)接口140,其輔助(一個(gè)或多個(gè))移動(dòng)設(shè)備102與示例性系統(tǒng)架構(gòu)100中的其他設(shè)備(例如,(一個(gè)或多個(gè))TSM 104、(一個(gè)或多個(gè))數(shù)據(jù)庫(kù)106等等)或應(yīng)用程序軟件經(jīng)由(一個(gè)或多個(gè))網(wǎng)絡(luò)110的通信。(一個(gè)或多個(gè))網(wǎng)絡(luò)接口 140可包括一個(gè)或多個(gè)天線172和一個(gè)或多個(gè)無(wú)線電裝置170,其可包括用于通過(guò)上面所述的各種類(lèi)型的網(wǎng)絡(luò)110發(fā)送和/或接收無(wú)線信號(hào)的硬件和軟件。(一個(gè)或多個(gè))網(wǎng)絡(luò)接口 140可包括使得移動(dòng)設(shè)備102能夠接收和/或發(fā)送無(wú)線信號(hào)到(一個(gè)或多個(gè))NFC使能設(shè)備108和/或(一個(gè)或多個(gè))受信任服務(wù)管理器104的一個(gè)或多個(gè)無(wú)線電裝置170和天線172。移動(dòng)設(shè)備102還可包括可接收和發(fā)送無(wú)線電頻率信號(hào)的無(wú)線電收發(fā)器(未示出)。收發(fā)器(或者接收器和/或發(fā)送器)可被耦合到一個(gè)或多個(gè)天線(例如,與移動(dòng)設(shè)備102相關(guān)聯(lián)的天線172)。
[0021](—個(gè)或多個(gè))移動(dòng)設(shè)備102可以可選地包括一個(gè)或多個(gè)輸入/輸出(I/O)接口138(以及可選地,諸如設(shè)備驅(qū)動(dòng)器之類(lèi)的相關(guān)聯(lián)的軟件組件),該一個(gè)或多個(gè)I/O接口可支持用戶(hù)和多種I/O設(shè)備(例如,鍵盤(pán)、鼠標(biāo)、筆、指向設(shè)備、語(yǔ)音輸入設(shè)備、觸摸輸入設(shè)備、顯示器、揚(yáng)聲器、相機(jī)、麥克風(fēng)、打印機(jī)等等)之間的交互。
[0022]再次參考數(shù)據(jù)存儲(chǔ)設(shè)備134,各種程序模塊、應(yīng)用程序等等可被存儲(chǔ)在其中,這可包括當(dāng)被(一個(gè)或多個(gè))處理器132執(zhí)行時(shí)使得各種操作被執(zhí)行的計(jì)算機(jī)可執(zhí)行指令。存儲(chǔ)器136可能已經(jīng)從數(shù)據(jù)存儲(chǔ)設(shè)備134加載了一個(gè)或多個(gè)操作系統(tǒng)(0/S)142,該一個(gè)或多個(gè)操作系統(tǒng)142可提供在移動(dòng)設(shè)備142上運(yùn)行的各種其他應(yīng)用程序軟件(例如,專(zhuān)用應(yīng)用程序、瀏覽器應(yīng)用程序、基于web的應(yīng)用程序、分布式客戶(hù)端-服務(wù)器應(yīng)用程序等等)與移動(dòng)設(shè)備102的硬件資源的接口連接。更具體地,0/S 142可包括用于管理(一個(gè)或多個(gè))移動(dòng)設(shè)備102的硬件資源并且用于向其他應(yīng)用程序提供通用服務(wù)(例如,管理各種應(yīng)用程序間的存儲(chǔ)器分配)的一組計(jì)算機(jī)可執(zhí)行指令。0/S 142可包括現(xiàn)在已知或者可在將來(lái)被研發(fā)出來(lái)的任何操作系統(tǒng),包括但不限于:任何移動(dòng)操作系統(tǒng)、臺(tái)式或膝上型操作系統(tǒng)、大型機(jī)操作系統(tǒng)、或者任何其他專(zhuān)屬或開(kāi)源操作系統(tǒng)。
[0023]數(shù)據(jù)存儲(chǔ)設(shè)備134還可包括一個(gè)或多個(gè)數(shù)據(jù)庫(kù)管理