更新安全元件上的軟件的制作方法
【技術(shù)領(lǐng)域】
[0001]本公開涉及向主機(jī)設(shè)備中包括的安全元件提供軟件更新的方法。另外,本公開涉及在主機(jī)設(shè)備中包括的安全軟件上安裝軟件更新的方法。另外,本公開涉及相應(yīng)的計算機(jī)程序產(chǎn)品和相應(yīng)的主機(jī)設(shè)備。
【背景技術(shù)】
[0002]當(dāng)今,安全在許多電子設(shè)備和計算環(huán)境中起到重要的作用。例如,傳統(tǒng)的移動電子設(shè)備可以用于支付業(yè)務(wù),所述支付業(yè)務(wù)要求將諸如用戶憑證之類的敏感支付相關(guān)數(shù)據(jù)輸入和/或存儲在所述設(shè)備中。例如,這些移動電子設(shè)備可以配備有基于射頻(RF)技術(shù)的近場通信(NFC)接口,以便與銷售點(diǎn)(POS)的支付終端設(shè)備交換支付相關(guān)數(shù)據(jù)。
[0003]通常,已經(jīng)將敏感的支付相關(guān)數(shù)據(jù)合并到諸如智能卡之類的專用安全令牌中,其中將數(shù)據(jù)固有地限制到相對信任的環(huán)境。然而,隨著集成解決方案的出現(xiàn),具體地將所謂的安全元件(SE)集成到移動設(shè)備中,經(jīng)常將支付相關(guān)數(shù)據(jù)暴露到可能敵對的環(huán)境,因此這些數(shù)據(jù)的機(jī)密性可能成為問題。
[0004]通常將安全軟件實(shí)現(xiàn)為嵌入式芯片,更具體地實(shí)現(xiàn)為具有(預(yù)先)安裝的智能卡級別應(yīng)用(例如支付應(yīng)用)的抗篡改集成電路,其具有規(guī)定的功能和規(guī)定的安全級別。替代地,所謂的用戶身份模塊(SIM)或通用用戶身份模塊(USIM)可以用作安全元件。另外,諸如傳統(tǒng)SD卡或微SD卡之類的安全數(shù)字(SD)卡可以用作安全元件。安全元件可以嵌入到移動設(shè)備或另一個主機(jī)設(shè)備中,例如作為直接焊接到印刷電路板上的小外形封裝。替代地,可以將安全元件包括在所述移動設(shè)備中作為可拆卸部件(例如,SIM或SD卡)。
[0005]盡管安全元件提供用于執(zhí)行應(yīng)用程序的相對安全的環(huán)境,然而例如當(dāng)需要安裝和/或配置安全元件的操作部件時,實(shí)現(xiàn)或保持這種安全級別相對困難。具體地,如果需要更新在安全元件上安裝的軟件,例如安全元件的操作系統(tǒng),那么安全元件可能易受攻擊。盡管存在提供安全軟件更新的許多技術(shù),這些技術(shù)通常不會解決所述種類的安全元件上的軟件更新。例如,WO 2012/109640A2描述了一種安全軟件更新,所述安全軟件更新向目標(biāo)設(shè)備提供具有更新定義、私有加密密鑰和公共簽名密鑰的更新功能。在便攜媒質(zhì)上準(zhǔn)備了軟件更新包,所述軟件更新包包括可執(zhí)行更新程序、用對稱密鑰加密的程序的檢驗(yàn)和、用公共加密密鑰加密的已加密對稱密鑰和用私有簽名密鑰準(zhǔn)備的數(shù)字簽名。更新過程認(rèn)證數(shù)字簽名,使用私有加密密鑰解密對稱密鑰,并且使用對稱密鑰解密檢驗(yàn)和。針對可執(zhí)行的更新程序產(chǎn)生新的檢驗(yàn)和,并且將新的檢驗(yàn)和與已解密的檢驗(yàn)和進(jìn)行比較。如果在更新過程期間檢測到不一致,終止過程。否則,可以以相對高的抗訛誤、抗病毒和抗第三方干擾保證來安裝軟件更新。
[0006]作為另一個示例,WO 2007/014314 A2描述了一種對已經(jīng)使用的電子設(shè)備中的軟件進(jìn)行更新的改進(jìn)技術(shù)。在一個實(shí)施例中,可以使用密碼術(shù)按照安全和受控的方式來更新軟件??梢栽诟轮按_認(rèn)已更新軟件的可靠性和針對具體電子設(shè)備的適當(dāng)性。也可以逐個模塊地更新軟件。在一個實(shí)施例中,服務(wù)器主持針對各種電子設(shè)備的軟件更新,并且經(jīng)由數(shù)據(jù)網(wǎng)絡(luò)向電子設(shè)備供應(yīng)適當(dāng)?shù)能浖隆?br>[0007]圖1示出了其中使用安全元件的傳統(tǒng)計算系統(tǒng)。計算系統(tǒng)100包括主機(jī)設(shè)備102、主機(jī)設(shè)備賣主108、受信服務(wù)管理方110和安全元件發(fā)行方112。例如,主機(jī)設(shè)備102可以是配備有如上所述的NFC技術(shù)的所謂的智能電話或平板設(shè)備。主機(jī)設(shè)備102包括中央處理單元104和安全元件106。為了準(zhǔn)備計算系統(tǒng)100來使用,安全元件發(fā)行方112發(fā)布用于集成到主機(jī)設(shè)備102中的安全元件106。此外,安全元件發(fā)行方112或者代表安全元件發(fā)行方112的安全元件生產(chǎn)者(未示出)在安全元件106上安裝操作系統(tǒng)的初始版本。應(yīng)該注意的是安全元件106的操作系統(tǒng)在該文檔的其余部分稱作“安全OS”。另外,主機(jī)設(shè)備賣主108在主機(jī)設(shè)備102中(典型地在所述主機(jī)設(shè)備102的閃存(未示出)中)安裝主機(jī)設(shè)備102的操作系統(tǒng)的初始版本。應(yīng)該注意的是主機(jī)設(shè)備102的操作系統(tǒng)在該文檔的其余部分中稱作“主機(jī)OS”。
[0008]在使用時,可能必須更新安全OS和主機(jī)OS,例如以便提供附加的安全特征或其他功能。典型地,主機(jī)設(shè)備賣主108負(fù)責(zé)在主機(jī)設(shè)備102上安裝主機(jī)OS的更新。例如,現(xiàn)今許多主機(jī)設(shè)備配置為自動地接收和安裝所廣播的主機(jī)OS的更新。這種規(guī)律更新的主機(jī)OS的示例是安卓操作系統(tǒng)。也必須規(guī)律地更新安全OS。然而在這種情況下,稱作受信服務(wù)管理方(TSM) 110的第三方典型地用作安裝安全OS的更新的媒介。具體地,因?yàn)榘踩l(fā)行方112不再訪問已經(jīng)在現(xiàn)場(即在使用中)的安全元件,安全元件發(fā)行方112向受信服務(wù)管理方110提供安全OS的更新。隨后,受信服務(wù)管理方110管理安全元件106上安全OS更新的安裝。
[0009]然而不幸地是,用于在安全元件106上安裝這些更新的機(jī)制典型地是相當(dāng)麻煩的。具體地,這些機(jī)制依賴于復(fù)雜且不靈活的硬件特定加密方法。同樣,這些機(jī)制典型地要求在安全元件和受信服務(wù)管理方之間建立安全的點(diǎn)對點(diǎn)通信信道。考慮到這些因素,需要促進(jìn)和簡化安全元件上操作系統(tǒng)更新的安裝。應(yīng)該注意的是如果必須在安全元件上安裝其他軟件更新,可能發(fā)生同樣的問題;換句話說,這種問題不局限于安全OS的更新。因此更一般地來說,需要促進(jìn)和簡化在所述種類的安全元件上軟件更新的安裝。
【發(fā)明內(nèi)容】
[0010]公開了一種向主機(jī)設(shè)備中包括的安全元件提供軟件更新的方法,包括:使用鏈?zhǔn)郊用芊桨笇④浖罗D(zhuǎn)換為密文塊的序列,以及將所述密文塊的序列傳輸至主機(jī)設(shè)備。
[0011]根據(jù)說明性實(shí)施例,轉(zhuǎn)換軟件更新包括:通過加密明文塊來產(chǎn)生所述序列中除了第一密文塊之外的每一個密文塊,所述明文塊包括軟件更新的一部分。
[0012]根據(jù)另一個說明性實(shí)施例,利用在序列的在先密文塊中包括的密鑰對明文塊進(jìn)行加密。
[0013]根據(jù)另一個說明性實(shí)施例,通過利用根密鑰對用于產(chǎn)生所述序列的第二密文塊的密鑰進(jìn)行加密來產(chǎn)生所述序列的第一密文塊。
[0014]根據(jù)另一個說明性實(shí)施例,在將密文塊的序列傳輸至主機(jī)設(shè)備之前,對密文塊的序列進(jìn)行加密簽名。
[0015]根據(jù)另一個說明性實(shí)施例,將所述密文塊的序列集成到針對主機(jī)設(shè)備的軟件更新中。
[0016]另外,公開了一種計算機(jī)程序產(chǎn)品,包括程序指令,當(dāng)通過處理單元執(zhí)行時,所述程序指令使所述處理單元執(zhí)行或控制所述種類的提供軟件更新的方法的步驟。
[0017]另外,公開了一種在主機(jī)設(shè)備包括的安全元件上安裝軟件更新的方法,包括:由主機(jī)設(shè)備接收對軟件更新加以表示的密文塊的序列,所述序列是通過所述種類的提供軟件更新的方法產(chǎn)生的;將所述密文塊的序列轉(zhuǎn)換為軟件更新;并且在安全元件上安裝軟件更新。
[0018]根據(jù)另外的說明性實(shí)施例,轉(zhuǎn)換密文塊的序列包括:從所述序列中除了第一密文塊之外的每一個密文塊提取明文塊,所述明文塊包括軟件更新的一部分。
[0019]根據(jù)另外的說明性實(shí)施例,從密文塊提取明文塊包括:利用在所述序列的在先密文塊中包括的密鑰來解密密文塊。
[0020]根據(jù)另外的說明性實(shí)施例,在從除了第一密文塊之外的每一個密文塊提取明文塊之前,用根密鑰解密第一密文塊,以便解鎖用于對所述序列的第二密文塊進(jìn)行解密的密鑰。
[0021]根據(jù)另外的說明性實(shí)施例,在轉(zhuǎn)換密文塊的序列之前,驗(yàn)證密文塊的序列的加密簽名。
[0022]根據(jù)另外的說明性實(shí)施例,從針對主機(jī)設(shè)備的軟件更新中提取所述密文塊的序列。
[0023]另外,公開了一種計算機(jī)程序產(chǎn)品,包括程序指令,當(dāng)通過處理單元執(zhí)行時,所述程序指令使所述處理單元執(zhí)行或控制所述種類的安裝軟件更新的方法的步驟。
[0024]另外,公開了一種包括安全元件的主機(jī)設(shè)備,所述主機(jī)設(shè)備設(shè)置為執(zhí)行所述種類的安裝軟件更新的方法。
【附圖說明】
[0025]將參考附圖更加詳細(xì)地描述實(shí)施例,其中:
[0026]圖1示出了使用安全元件的傳統(tǒng)計算系統(tǒng);
[0027]圖2示出