用于在沒(méi)有內(nèi)部非易失性存儲(chǔ)器的設(shè)備中提供防回滾保護(hù)的方法
【專利說(shuō)明】
【背景技術(shù)】
[0001]本申請(qǐng)內(nèi)容的方面涉及具有近場(chǎng)通信(NFC)技術(shù)的設(shè)備。NFC技術(shù)可以通過(guò)將不同設(shè)備觸碰在一起或?qū)⑺鼈兎浅?拷谒鼈冎g建立無(wú)線通信。NFC允許雙向通信。例如,當(dāng)兩個(gè)設(shè)備都開(kāi)啟時(shí)可以進(jìn)行NFC點(diǎn)對(duì)點(diǎn)通信。另外,通信也可能是在NFC設(shè)備和無(wú)源的NFC芯片之間的。例如,NFC可以涉及發(fā)起者和目標(biāo),其中發(fā)起者生成能夠啟動(dòng)被動(dòng)目標(biāo)(例如、牌、鑰匙扣、卡)的射頻場(chǎng)。
[0002]NFC技術(shù)可以有助于安全業(yè)務(wù)(比如支付業(yè)務(wù))中的信息交換。具有NFC功能的移動(dòng)設(shè)備可以用于無(wú)接觸支付系統(tǒng),類似于那些當(dāng)前用在信用卡和電子票智能卡中的移動(dòng)設(shè)備。例如,具有NFC功能的移動(dòng)設(shè)備允許用戶將財(cái)務(wù)賬戶存儲(chǔ)在虛擬錢包中,然后在接受這樣的支付方法的終端處使用具有NFC功能的移動(dòng)設(shè)備。具有NFC功能的移動(dòng)設(shè)備還可以用作接入控制的標(biāo)識(shí),例如取代用于物理接入(例如,酒店房間)或控制(例如,發(fā)動(dòng)汽車)的傳統(tǒng)鑰匙。NFC能夠促進(jìn)其它類型的信息(例如,在移動(dòng)電話之間傳輸媒體、場(chǎng)地入口的門票)。
[0003]假定具有NFC功能的移動(dòng)設(shè)備會(huì)涉及到安全業(yè)務(wù)中,保護(hù)具有NFC功能的移動(dòng)設(shè)備不受惡意攻擊是很重要的。盡管軟件安全性一般是由在系統(tǒng)內(nèi)對(duì)多個(gè)方法進(jìn)行分層來(lái)提供的,但是關(guān)鍵的考慮是系統(tǒng)應(yīng)該運(yùn)行最新和最安全的軟件版本。
[0004]系統(tǒng)上通常使用的攻擊途徑是回滾攻擊,其中,使系統(tǒng)運(yùn)行更舊的、不安全的軟件版本而不是最新版本。運(yùn)行較舊的軟件版本可以使系統(tǒng)更容易受到潛在攻擊。因此,為了防止回滾攻擊,需要在更新或安裝軟件時(shí)安裝最新軟件版本。
[0005]防回滾保護(hù)的當(dāng)前方法是由移動(dòng)設(shè)備的操作系統(tǒng)來(lái)檢查安裝的或更新的軟件的版本號(hào)。但是,攻擊者能夠很容易地找到操作系統(tǒng)中的易攻擊點(diǎn)以操作代碼并覆蓋這一保護(hù)機(jī)制。
[0006]另一種方法是使用e-Fuse技術(shù)來(lái)提供“最近安裝的版本”信息。因?yàn)閑-Fuse無(wú)法被物理地重寫,它們是相當(dāng)安全的。但是,這一方法有一些缺點(diǎn),因?yàn)橥ǔS泄潭ǖ南鄬?duì)較低數(shù)量的電熔絲可用,并且一旦這些耗盡就無(wú)法再提供防回滾保護(hù)。因此,一旦無(wú)法用正確的版本號(hào)更新e-Fuse,則有回滾攻擊的潛在可能。
[0007]例如,每次有對(duì)版本號(hào)的更新,則用新的版本號(hào)更新e-Fuse。因此,如果e_Fuse技術(shù)允許十次更新,那么對(duì)于第十一次更新,新的版本號(hào)無(wú)法存儲(chǔ)在e-Fuse上。
[0008]另外,在e-Fuse方法中,要求對(duì)芯片的物理訪問(wèn),并且這只能實(shí)現(xiàn)在單個(gè)芯片上。因此,e-Fuse方法是無(wú)法擴(kuò)展的。在e_Fuse方法中,該實(shí)現(xiàn)需要在芯片制造工廠中進(jìn)行。
【發(fā)明內(nèi)容】
[0009]描述了在沒(méi)有內(nèi)部非易失性存儲(chǔ)器的設(shè)備中提供防回滾保護(hù)的某些實(shí)施例。
[0010]本發(fā)明的各個(gè)實(shí)施例確保被下載到設(shè)備上的新的固件版本高于先前版本,以便防止回滾攻擊。由于固件版本逐漸增加,通過(guò)將潛在的固件升級(jí)版本與安全元件環(huán)境中存儲(chǔ)的版本號(hào)進(jìn)行比較,可以防止該設(shè)備受到回滾攻擊。另外,由于該版本號(hào)存儲(chǔ)在移動(dòng)設(shè)備的安全元件環(huán)境中,因此本發(fā)明在啟動(dòng)階段就提供防回滾保護(hù),甚至當(dāng)設(shè)備沒(méi)有內(nèi)部非易失性存儲(chǔ)器時(shí)也提供防回滾保護(hù)。此外,本發(fā)明的實(shí)施例可以防止軟件和硬件攻擊。
[0011]一個(gè)實(shí)施例包括用于在設(shè)備中提供防回滾保護(hù)的方法,包括:獲取與針對(duì)所述設(shè)備的第一固件安裝相關(guān)聯(lián)的固件版本號(hào)(FVN),其中,所述設(shè)備是在不包括非易失性存儲(chǔ)器的基底上實(shí)現(xiàn)的;獲取最低可接受固件版本號(hào)(LAFVN),其中,所述LAFVN存儲(chǔ)在安全元件環(huán)境中,其中,所述安全元件環(huán)境利用獨(dú)立于所述基底的存儲(chǔ)器;以及比較所述FVN和所述LAFVN,其中,如果所述FVN小于所述LAFVN,則不允許所述第一固件安裝。
[0012]另一個(gè)實(shí)施例包括用于提供防回滾保護(hù)的設(shè)備,包括:一個(gè)或多個(gè)處理器;以及存儲(chǔ)計(jì)算機(jī)可讀指令的存儲(chǔ)器,當(dāng)所述計(jì)算機(jī)可讀指令由所述一個(gè)或多個(gè)處理器執(zhí)行時(shí),使得所述設(shè)備進(jìn)行以下操作:獲取與針對(duì)所述設(shè)備的第一固件安裝相關(guān)聯(lián)的固件版本號(hào)(FVN),其中,所述設(shè)備是在不包括非易失性存儲(chǔ)器的基底上實(shí)現(xiàn)的;獲取最低可接受固件版本號(hào)(LAFVN),其中,所述LAFVN存儲(chǔ)在安全元件環(huán)境中,其中,所述安全元件環(huán)境利用獨(dú)立于所述基底的存儲(chǔ)器;以及比較所述FVN和所述LAFVN,其中,如果所述FVN小于所述LAFVN,則不允許所述第一固件安裝。
[0013]另一個(gè)實(shí)施例包括存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì),當(dāng)所述計(jì)算機(jī)可執(zhí)行指令被執(zhí)行時(shí)使得設(shè)備進(jìn)行以下操作:獲取與針對(duì)所述設(shè)備的第一固件安裝相關(guān)聯(lián)的固件版本號(hào)(FVN),其中,所述設(shè)備是在不包括非易失性存儲(chǔ)器的基底上實(shí)現(xiàn)的;獲取最低可接受固件版本號(hào)(LAFVN),其中,所述LAFVN存儲(chǔ)在安全元件環(huán)境中,其中,所述安全元件環(huán)境利用獨(dú)立于所述基底的存儲(chǔ)器;以及比較所述FVN和所述LAFVN,其中,如果所述FVN小于所述LAFVN,則不允許所述第一固件安裝。
[0014]另一個(gè)實(shí)施例包括用于提供防回滾保護(hù)的設(shè)備,包括:一個(gè)或多個(gè)處理器;用于獲取與針對(duì)所述設(shè)備的第一固件安裝相關(guān)聯(lián)的固件版本號(hào)(FVN)的單元,其中,所述設(shè)備是在不包括非易失性存儲(chǔ)器的基底上實(shí)現(xiàn)的;用于獲取最低可接受固件版本號(hào)(LAFVN)的單元,其中,所述LAFVN存儲(chǔ)在安全元件環(huán)境中,其中,所述安全元件環(huán)境利用獨(dú)立于所述基底的存儲(chǔ)器;以及用于比較所述FVN和所述LAFVN的單元,其中,如果所述FVN小于所述LAFVN,則不允許所述第一固件安裝。
【附圖說(shuō)明】
[0015]以舉例說(shuō)明的方式示出本公開(kāi)內(nèi)容的方面。在附圖中,相同的引用序號(hào)指示相似的元件,并且:
[0016]圖1A示出了可以合并一個(gè)或多個(gè)實(shí)施例的有具有NFC功能的移動(dòng)設(shè)備的系統(tǒng)的簡(jiǎn)化圖;
[0017]圖1B示出了可以合并一個(gè)或多個(gè)實(shí)施例的有至少兩個(gè)具有NFC功能的移動(dòng)設(shè)備的對(duì)等通信系統(tǒng)的簡(jiǎn)化圖;
[0018]圖2A依照本發(fā)明的一個(gè)實(shí)施例示出了展示具有NFC功能的移動(dòng)設(shè)備的框圖;
[0019]圖2B依照本發(fā)明的另一個(gè)實(shí)施例示出了展示具有NFC功能的移動(dòng)設(shè)備的框圖;
[0020]圖2C依照本發(fā)明的另一個(gè)實(shí)施例示出了展示具有NFC功能的移動(dòng)設(shè)備的框圖;
[0021]圖3依照一些實(shí)施例示出了提供防回滾保護(hù)的示例方法;
[0022]圖4依照一些實(shí)施例示出了系統(tǒng)級(jí)流程圖的示例;
[0023]圖5依照一些實(shí)施例示出了 NFCC啟動(dòng)、固件安裝和簽名認(rèn)證的示例;
[0024]圖6是依照一些實(shí)施例的更新安全環(huán)境中存儲(chǔ)的最近安裝的固件版本號(hào)的示例性方法;
[0025]圖7是依照一些實(shí)施例的在強(qiáng)制更新之后更新安全環(huán)境中存儲(chǔ)的最近安裝的固件版本號(hào)的示例性方法;以及
[0026]圖8示出了可以實(shí)現(xiàn)一個(gè)或多個(gè)實(shí)施例的計(jì)算系統(tǒng)的示例。
【具體實(shí)施方式】
[0027]下面將針對(duì)附圖描述幾個(gè)解釋說(shuō)明性的實(shí)施例,附圖是實(shí)施例的一部分。下面雖然描述了可以在其中實(shí)現(xiàn)本申請(qǐng)內(nèi)容的一個(gè)或多個(gè)方面的特定實(shí)施例,但是也可以使用其它實(shí)施例并且可以在不脫離本申請(qǐng)內(nèi)容的范圍或所附權(quán)利要求的精神的前提下做出各種修改。
[0028]NFC技術(shù)可以要求NFC控制器(NFCC)用作對(duì)敏感的或有價(jià)值的信息(例如,支付業(yè)務(wù))的傳輸途徑。但是,NFC技術(shù)也可能容易被竊聽(tīng)。因此,NFCC需要不受竊聽(tīng)的安全性,比如被用作對(duì)其被用于傳輸?shù)臄?shù)據(jù)的攻擊途徑。具體來(lái)講,需要確保NFCC無(wú)法用作針對(duì)其傳輸?shù)臄?shù)據(jù)的中間人(MITM)攻擊的主機(jī)。
[0029]MITM攻擊是一種活躍的竊聽(tīng)形式,其中,攻擊者與受害者(例如,發(fā)起者、目標(biāo))進(jìn)行獨(dú)立連接并且在它們之間中繼消息,使受害者相相信它們?cè)谥苯酉嗷ソ徽?,但?shí)際上其對(duì)話是由攻擊者控制的。
[0030]如果該NFCC運(yùn)行較舊的固件版本,MITM攻擊可能是由NFCC控制的,尤其是在較舊版本具有已知的安全問(wèn)題時(shí)。例如,在固件升級(jí)過(guò)程中,運(yùn)行在移動(dòng)設(shè)備上的高等級(jí)應(yīng)用可以配置NFCC并請(qǐng)求在該NFCC上進(jìn)行固件安裝(例如,補(bǔ)丁)。但是,攻擊者可以使用該固件安裝請(qǐng)求將NFCC上的固件回滾到較舊的版本。該高等級(jí)應(yīng)用可以使用標(biāo)準(zhǔn)協(xié)議與NFCC(例如,NFC控制器接口(NCI))通信或者它可以使用專有機(jī)制。本發(fā)明可以提供固件安裝過(guò)程中的防回滾保護(hù)。
[0031]圖1A示出了可以合并一個(gè)或多個(gè)實(shí)施例的有具有NFC功能的移動(dòng)設(shè)備的系統(tǒng)的簡(jiǎn)化圖。
[0032]圖1A中示出的依照本發(fā)明的一個(gè)實(shí)施例的NFC模塊140可以被安裝在移動(dòng)設(shè)備110中。移動(dòng)設(shè)備110還可以包括應(yīng)用處理器120和用戶識(shí)別模塊(SM)卡130。NFC模塊140可以通過(guò)接觸或非接觸NFC來(lái)與讀卡器150通信。NFC模塊140可以包括NFC控制器(NFCC) 145。根據(jù)這一實(shí)施例,NFCC 145是嵌入在NFC模塊140中的。應(yīng)用處理器可以包括高級(jí)應(yīng)用(例如,支付處理應(yīng)用、操作系統(tǒng))以便與NFC模塊140和NFCC 145通信。
[0033]具有NFC功能的移動(dòng)設(shè)備通信的示例可以包括想要使用該移動(dòng)設(shè)備為所購(gòu)買的商品向零售商進(jìn)行支付的用戶。移動(dòng)設(shè)備可以向位于結(jié)賬臺(tái)處的銷售讀卡器150的點(diǎn)發(fā)送個(gè)人財(cái)務(wù)信息(例如,信用卡賬號(hào)信息)。用戶可以將配備有NFC模塊140的移動(dòng)設(shè)備110靠近讀卡器150以完成購(gòu)買。讀卡器150通過(guò)NFC接收用戶的信用卡細(xì)節(jié)(通常存儲(chǔ)在移動(dòng)設(shè)備110的安全環(huán)境中),并且用傳統(tǒng)方法處理該支付,并向用戶返回可以存儲(chǔ)在該移動(dòng)設(shè)備110中的電子收據(jù)。
[0034]此外,依照本發(fā)明的一個(gè)實(shí)施例,第二 NFC模塊190可以被安裝在第二移動(dòng)設(shè)備160中,并且能夠?qū)崿F(xiàn)與移動(dòng)設(shè)備110的對(duì)等通信,如圖1B中所示。類似于移動(dòng)設(shè)備110,第二移動(dòng)設(shè)備160還可以包括應(yīng)用處理器170、SIM卡180和第二 NFC模塊190。該第二 NFC模塊190可以包括第二 NFCC195。
[0035]點(diǎn)對(duì)點(diǎn)通信的例子可以包括:一個(gè)用戶通過(guò)NFC向第二用戶傳輸圖片、視頻和其它信息,這是由它們雙方將各自的具有NFC功能的移動(dòng)設(shè)備相互非??拷鼇?lái)進(jìn)行的。當(dāng)設(shè)備非常靠近時(shí),NFC模塊140可以嘗試向第二 NFC模塊190發(fā)送信息(包括認(rèn)證信息)。在第二 NFC模塊190接收該消息并執(zhí)行認(rèn)證之后,這兩個(gè)設(shè)備可以共享信息。
[0036]依照一些實(shí)施例,移動(dòng)設(shè)備110利用NFC模塊140來(lái)協(xié)同在安全環(huán)境中取回或存儲(chǔ)數(shù)據(jù)。例如,移動(dòng)設(shè)備I1可以獲取安全元件環(huán)境中存儲(chǔ)的信用卡數(shù)據(jù)并通過(guò)NFC模塊140來(lái)傳輸它。另外,具有NFC功能