用于更新安全模塊的固件的方法和系統(tǒng)的制作方法
【技術領域】
[0001]本發(fā)明一般涉及移動通信,并且具體涉及一種用于更新安全模塊的固件的方法和系統(tǒng)。
【背景技術】
[0002]安全模塊包括系統(tǒng)資源,特別是用于數(shù)據(jù)輸入和輸出數(shù)據(jù)的數(shù)據(jù)接口、一個或多個中央處理單元CPU、作為RAM的易失性存儲器、以及特別是ROM、EEPROM或FLASH的非易失性存儲單元。安全模塊上的應用和文件需要在它們的執(zhí)行期間訪問那些系統(tǒng)資源。通過固件管理這些系統(tǒng)資源。因此,固件是安全模塊的應用與安全模塊的系統(tǒng)資源之間的接口。
[0003]如果在固件中發(fā)現(xiàn)錯誤、或者確定不包括固件中的特定功能性(例如,函數(shù)、方法或程序代碼庫),固件的那些部分在發(fā)行后被加載并在現(xiàn)場被安裝。此方法是公知的并且稱為打補丁(patching)。打補丁(即,固件的部分交換)可以通過為了安裝目的將補丁完全寫入到安全模塊的存儲器中來實現(xiàn)。此過程需要安全模塊中的相應存儲量,這通常由于成本原因而無法獲得。因此,打補丁是昂貴的并且僅導致固件的錯誤(bug)的修正和/或小部分的擴展。
[0004]不時地開發(fā)更新版本的固件。當前,未預見到安全模塊的固件的完全交換。然而,由于安全模塊具有較長壽命并且在它們的技術環(huán)境中技術不斷發(fā)展的事實,需要保持安全模塊的固件為最新。這個必要性的一個原因是安全模塊中包含的應用必須在安全模塊的壽命期間具有關于攻擊或安全模塊的加密算法的可靠安全機制。
[0005]從DE10336568A1可知,提供用于安全模塊的操作系統(tǒng),其包含用于在常規(guī)條件下操作安全模塊的主操作系統(tǒng)。此外,在操作系統(tǒng)中,提供了緊急服務,通過其可以代替主操作系統(tǒng)而操作安全模塊。
[0006]DE102004013904A1公開了包含具有用于將程序代碼發(fā)送至移動安全模塊的介質(zhì)的終端和接收所發(fā)送的代碼的接口的系統(tǒng)。該終端具有用于驗證代碼的驗證器,所述代碼將經(jīng)驗證的程序代碼提供給載體。該終端具有處理單元,其中,設計該終端和驗證器以使得僅在驗證之后將代碼加載至載體。
【發(fā)明內(nèi)容】
[0007]本發(fā)明的目的是提供一種用于更新安全模塊的固件的方法和系統(tǒng),其使得可以進行固件的完全或部分交換,其需要盡可能小的存儲足跡(footprint)。
[0008]通過根據(jù)權利要求1的特征的方法以及根據(jù)權利要求15的特征的系統(tǒng)實現(xiàn)以上目的。在從屬權利要求中陳述了優(yōu)選實施例。
[0009]根據(jù)本發(fā)明,提供了一種用于更新設備中的安全模塊的固件的方法。該設備包括裝置和安全模塊。布置該裝置和安全模塊以使得可以在安全模塊與裝置之間交換數(shù)據(jù)。該方法包括步驟:
[0010]a)由安全模塊接收第一消息,其中第一消息指示由提供商提供的固件更新的可用性,并且其中第一消息包含對于該安全模塊獨有的(individual)交易號;
[0011]b)將第二消息從設備傳送至提供商,利用第二消息從提供商請求固件更新,其中第二消息包含獨有的交易號以使得提供商能夠進行對安全模塊的識別;
[0012]c)基于對獨有的交易號的評估將固件更新從提供商傳送至設備,并將固件更新存儲在裝置的存儲器中;以及
[0013]d)由設備或安全模塊的引導加載器對固件解壓縮。
[0014]根據(jù)本發(fā)明,安全模塊是尺寸縮小的模塊,并且資源包括中央處理單元、至少一個用于與裝置和存儲區(qū)域通信的數(shù)據(jù)接口。此存儲區(qū)域可包括密文(secret)數(shù)據(jù)。安全模塊包括禁止操縱和/或防止讀出密文數(shù)據(jù)的企圖的特征。安全模塊中的密文數(shù)據(jù)用于用戶在裝置、終端或網(wǎng)絡系統(tǒng)中的識別和/或認證。
[0015]安全模塊例如是諸如UICC、SM、U-SIM, R-UIM或ISM卡的智能卡、諸如eID或ePassport的電子身份文件、電子駕照、電子車輛登記、或者諸如信用卡或借記卡的支付卡。
[0016]特別地,安全模塊是訂戶在移動無線電網(wǎng)絡環(huán)境中的認證/識別的訂戶身份模塊。這樣的訂戶身份模塊使用終端中的卡讀取器單元操作,并且原則上可以從終端移除以被另一智能卡替換、或者操作在不同終端中。替代地,安全模塊是終端內(nèi)的組成部分,諸如硬接線電子模塊。這樣的安全模塊也稱為ncc、eUICC或嵌入式安全元件。
[0017]替代地,安全模塊是機器對機器模塊。這些模塊用于諸如機器、設備和系統(tǒng)的裝置或設備的遠程監(jiān)控、控制和維護。替代地,這些模塊用于諸如電表、水表、所謂的智能電表的計數(shù)單元。
[0018]替代地,安全模塊是操作系統(tǒng)的可信部分(稱為設備的可信執(zhí)行環(huán)境(TEE))中的軟件組件。然后例如在安全運行時環(huán)境中設計安全模塊。
[0019]安全模塊可以通過裝置操作。根據(jù)本發(fā)明的裝置包括用于與通信網(wǎng)絡通信的部件,以便接收固件更新。裝置可以是如智能電話、平板式PC、筆記本、PDA的移動設備。替代地,裝置是諸如數(shù)碼相框、音頻設備、TV、機頂盒、電子書閱讀器等的多媒體裝置。通過舉例,術語“裝置”還包括任何類型的機器,如自動售貨機、車輛、智能電表等。固件更新特別經(jīng)由諸如OTA的空中接口接收,空中接口可以實施為在蜂窩信令層或GPRS層上的基于SMS的通信。替代地,經(jīng)由諸如OTI (例如WLAN)的基于因特網(wǎng)協(xié)議的信道接收固件更新。替代地,經(jīng)由例如基于LTE的信道的分組交換服務接收固件更新。
[0020]這里使用的術語“固件”等效于術語“操作系統(tǒng)”,因為對于每個定義,固件都是專有操作系統(tǒng)??梢愿鶕?jù) IS0/IEC 7816-4,ETSI TS 10222UETSI TS 101 220,ETSI TS 102241和ETSI TS 102 226設計固件。固件管理安全模塊的系統(tǒng)資源之間的數(shù)據(jù)處理和數(shù)據(jù)傳送。固件管理數(shù)據(jù)處理和從安全模塊到外部單元/從外部單元到安全模塊的數(shù)據(jù)傳輸。固件管理指令命令的控制流。固件管理存儲區(qū)域的物理存儲地址。固件管理運行在安全模塊上的應用和文件系統(tǒng)的執(zhí)行。因此,固件包括I/O管理器、命令解釋器、返回代碼管理器、固件內(nèi)核、資源管理器和/或指令集。關于安全模塊的固件的更多信息可以在被全文引用的作者是 Wolfgang Eff ing 和 Wolfgang Rankle 的書“Handbuch der Chipkarten”的第 13章中找到。
[0021]固件的更新導致具有帶有附加的和/或改進的功能性的替代開發(fā)階段的實際固件的另一版本。替代地和/或附加地,固件更新是提供附加的和/或不同的功能性的實際固件的另一變型。在本說明書中,更新安全模塊的固件包括固件的完全交換和固件的部分交換,其可以是安全模塊的實際固件的更新。
[0022]該方法通過確保最小存儲足跡而實現(xiàn)安全模塊的固件的容易且便宜的更新。特別地,該方法適合于嵌入在裝置中的這種安全模塊。
[0023]可以在不需要使用不對稱加密方法的情況下實現(xiàn)安全模塊的固件的更新。因此,根據(jù)本發(fā)明的方法僅需要關于安全模塊和裝置的小資源。
[0024]根據(jù)優(yōu)選實施例,第一消息還包括第一解鎖密文,并且,在步驟c)之后,該方法還包括步驟:
[0025]d)將第二解鎖密文從提供商傳送至設備;
[0026]e)由設備驗證第二解鎖密文是否對應于第一解鎖密文;以及
[0027]f