的地址生成時,它還將直接向AHB系統(tǒng)轉(zhuǎn)發(fā)CPU請求。為此,它將包含覆蓋整個閃存(即13比特)的計數(shù)器。
[0073]如以上所描述的,來自該單元的信號將控制:
[0074]密鑰選擇復(fù)用器-它將正確的密鑰賦予加密核。在正常模式,它依賴于地址來選擇R0M、閃存或SRAM。當正在計算MAC時,它將選擇0x0或ROM密鑰;
[0075]數(shù)據(jù)選擇復(fù)用器-在正常模式,它將選擇正確的隨機數(shù)246并集中到該地址。在MAC模式中,它將選擇與從閃存讀出的數(shù)據(jù)進行“異或”操作的前一 MAC值(最高有效位(MSB)寄存器)。在隨機數(shù)旋轉(zhuǎn)期間,它將得到解密的值,并將它存儲在閃存寄存器212中以供下次寫入。
[0076]在固件更新模式120中,當ROM編碼將MEU 200編程為固件更新模式120時,則MEU 200將創(chuàng)建來自隨機數(shù)發(fā)生器232的閃存加密密鑰。
[0077]ROM代碼將建立MAC設(shè)置(例如地址范圍、密鑰和初始化矢量(IV))。為了確保密鑰包裝是唯一的,可以使用芯片ID。例如大小等的參數(shù)將也是IV的一部分。一旦已經(jīng)寫入了所有要保護的代碼/數(shù)據(jù),則ROM代碼將指示MEU 200用MAC包裝密鑰。
[0078]ROM代碼將然后恢復(fù)包裝后的密鑰,并將ROM代碼寫入在閃存EEPROM或外部存儲器,并執(zhí)行冷重新引導(dǎo)。
[0079]在冷引導(dǎo)150之后,ROM代碼將用在非易失性存儲器中存儲的參數(shù)建立MAC,例如地址范圍、包裝后的密鑰、IV和密鑰,也可以是例如頻率的背景校驗參數(shù)。然后MEU將對密文執(zhí)行MAC,對密鑰去包裝,并經(jīng)由狀態(tài)比特向CPU發(fā)信號通知它已經(jīng)完成。
[0080]在熱重新引導(dǎo)170之后,將去包裝后的密鑰存儲在MEU閃存密鑰寄存器204中包裝后的,因此CPU可以使用密鑰來對閃存數(shù)據(jù)進行解密并且從閃存引導(dǎo)。在背景中,MEU200將在沒有在定義的頻率訪問計算機可讀存儲器/閃存時計算MAC,并通過對包裝后的密鑰去包裝來覆蓋密鑰。在修改計算機可讀存儲器的情況下,已經(jīng)使用其參數(shù)來計算MAC,這將導(dǎo)致MEU 200使用錯誤的密鑰。
[0081]如果冷引導(dǎo)時間是重要的,可以執(zhí)行兩個MAC操作:第一MAC用于校驗冷引導(dǎo)的完整性,并且第二 MAC操作用于背景校驗。將在計算機可讀存儲器中的有限區(qū)域(例如1KB)執(zhí)行第一 MAC操作(即基于閃存的有限大小根據(jù)參數(shù)生成MAC),而可以對整個閃存執(zhí)行第二MAC。該第二包裝后的密鑰還可以存儲在閃存中,并用于背景保護。這將要求修改狀態(tài)機以支持兩個密鑰包裝。一旦校驗了第一代碼,則CPU將引導(dǎo),并使用第二 MAC對背景保護進行編程來運行。這將確保明文密鑰從不離開MEU 200的閃存密鑰存儲器204,并確??焖僖龑?dǎo)。缺點是在第一背景校驗期間會執(zhí)行一些惡意代碼。
[0082]總之,本公開旨在揭露不想要或惡意代碼在啟動過程期間的執(zhí)行。提議是:按照這樣的方式重新連接存儲器加密單元(MEU)使得成本較低,并且在正常設(shè)備操作期間可以在背景中容易地執(zhí)行。
[0083]根據(jù)閱讀本公開,本領(lǐng)域技術(shù)人員將顯而易見其他變化和修改。這些變型和修改可以涉及已經(jīng)在加密領(lǐng)域已知的和可以替代于或附加于本文已經(jīng)描述的特征使用的等價物或其他特征。
[0084]盡管所附的權(quán)利要求針對特征的特定組合,應(yīng)當理解的是本發(fā)明公開的范圍還包括這里這里明顯或暗示公開的任意新穎的特征或任意新穎特征的組合或其任意概括,無論它是否涉及在任意權(quán)利要求中當前主張的相同發(fā)明,或無論是否減輕任意或所有與本發(fā)明的相同的技術(shù)問題。
[0085]還可以結(jié)合單個實施例提供分離的實施例中的上下文中描述的特征。相反,為了簡明,還可以單獨地或在任何合適的子組合提供單個實施例的上下文中描述的各種特征。申請人應(yīng)當注意,在本申請或任意從其導(dǎo)出的申請的存續(xù)期間,可以構(gòu)想出對于這些特征和/或這些特征的組合的新權(quán)利要求。
[0086]為了完整性,還陳述了術(shù)語“包括”不排除其他單元或步驟,術(shù)語“一個”不排除多個,單個處理器或其他單元可以滿足在權(quán)利要求中列舉的若干裝置的功能,并且權(quán)利要求中的參考符號將不構(gòu)建為對權(quán)利要求范圍的限制。
【主權(quán)項】
1.一種對在設(shè)備的計算機可讀存儲器內(nèi)存儲的數(shù)據(jù)進行加密的方法,所述方法包括以下步驟: 提供密鑰; 使用所述密鑰對在所述計算機可讀存儲器中存儲的數(shù)據(jù)進行加密; 基于在所述計算機可讀存儲器中存儲的參數(shù)生成驗證代碼; 使用所述驗證代碼來包裝所述密鑰以生成包裝后的密鑰;以及將所述包裝后的密鑰存儲在所述計算機可讀存儲器中,其中所述包裝后的密鑰的有效性與在所述計算機可讀存儲器中存儲的數(shù)據(jù)的可靠性相關(guān)聯(lián)。2.根據(jù)權(quán)利要求1所述的方法,其中對所述數(shù)據(jù)進行加密的步驟包括: 使用所述密鑰來生成針對位于所述計算機可讀存儲器內(nèi)的至少一個存儲器位置的密文。3.根據(jù)權(quán)利要求2所述的方法,其中所述參數(shù)包括所述存儲器中的至少一個存儲器位置的所述密文。4.根據(jù)權(quán)利要求3所述的方法,其中包裝所述密鑰的步驟包括:對由所述密鑰加密的密文執(zhí)行消息驗證代碼的步驟。5.根據(jù)前述權(quán)利要求中任一項所述的方法,其中包裝所述密鑰的步驟包括:使用所述消息驗證代碼來對所述密鑰進行加密的步驟。6.根據(jù)權(quán)利要求4或5所述的方法,其中所述消息驗證代碼是基于密文的、基于散列的或任意其他加密過程的消息驗證代碼。7.根據(jù)前述權(quán)利要求中任一項所述的方法,其中提供密鑰包括將密鑰存儲在稱為MEU的存儲器加密單元中的步驟。8.根據(jù)權(quán)利要求7所述的方法,其中通過MEU進行對所述數(shù)據(jù)進行加密的步驟。9.根據(jù)權(quán)利要求7或8所述的方法,其中在MEU上進行對所述密鑰進行包裝的步驟。10.根據(jù)前述權(quán)利要求中任一項所述的方法,其中所述計算機可讀存儲器是非易失性存儲器,例如EEPROM。11.一種對在設(shè)備的計算機可讀存儲器內(nèi)存儲的數(shù)據(jù)進行解密的方法,所述方法包括以下步驟: 從所述計算機可讀存儲器中獲取第一包裝后的密鑰; 基于所述計算機可讀存儲器中存儲的參數(shù)計來算第一驗證代碼; 使用所述驗證代碼對所述第一包裝后的密鑰去包裝以獲取密鑰;以及使用密鑰對加密的數(shù)據(jù)進行解密以提供解密的數(shù)據(jù),其中所述密鑰的有效性與在所述計算機可讀存儲器中存儲的所述數(shù)據(jù)的可靠性相關(guān)聯(lián)。12.根據(jù)權(quán)利要求11所述的方法,還包括以下步驟: 從所述計算機可讀存儲器獲取第二包裝后的密鑰; 基于依據(jù)所述計算機可讀存儲器的每個位置的參數(shù)來計算第二驗證代碼;以及對所述計算機可讀存儲器中存儲的所有數(shù)據(jù)進行解密,使得在所述計算機可讀存儲器中存儲的所有解密數(shù)據(jù)的有效性依賴于在所述計算機可讀存儲器中存儲的數(shù)據(jù)的可靠性。13.根據(jù)權(quán)利要求11或12所述的方法,其中通過權(quán)利要求1-10中任一項所述的加密方法提供所述第一和/或第二包裝后的密鑰。14.一種存儲器加密單元,用于對在計算機可讀存儲器中存儲的數(shù)據(jù)進行加密,所述存儲器加密單元包括: 多個緩沖器和多個單元,其中所述緩沖器包括: 密鑰寄存器,用于接收密鑰; 基于密文的消息驗證代碼寄存器,用于接收和存儲驗證代碼,所述驗證代碼與在所述計算機可讀存儲器中存儲的數(shù)據(jù)相關(guān)聯(lián);以及 包裝后的密鑰寄存器,用于接收和發(fā)送包裝后的密鑰,其中所述包裝后的密鑰是用驗證代碼進行加密的密鑰,并且所述單元包括: 加密核,用于使用密鑰對在所述計算機可讀存儲器中存儲的數(shù)據(jù)進行加密和解密;以及 操作模塊,用于實現(xiàn)所述驗證代碼。15.根據(jù)權(quán)利要求14所述的存儲器加密單元,還包括地址解碼和生成單元,用于向加密核提供所述密鑰,以及向數(shù)據(jù)和所述驗證代碼提供“異或”操作。
【專利摘要】描述了對在設(shè)備的計算機可讀存儲器內(nèi)存儲的數(shù)據(jù)進行安全加密和解密的方法。附加地,描述了存儲器加密單元體系結(jié)構(gòu)(200)。公開的加密方法包括以下步驟:提供(122)密鑰;使用密鑰對在計算機可讀存儲器中存儲的數(shù)據(jù)進行加密(126);基于在計算機可讀存儲器中存儲的參數(shù)生成(132)驗證代碼;使用驗證代碼來包裝(136)密鑰以生成包裝后的密鑰;以及將所述包裝后的密鑰存儲在計算機可讀存儲器(30)中,其中所述包裝后的密鑰的有效性與在計算機可讀存儲器中存儲的數(shù)據(jù)的可靠性相關(guān)聯(lián)。這在改變在計算機可讀存儲器中存儲的數(shù)據(jù)的更改或惡意代碼執(zhí)行的事件中,防止成功的解密。
【IPC分類】G06F21/60
【公開號】CN105279441
【申請?zhí)枴緾N201510427402
【發(fā)明人】于格·讓·瑪麗·迪佩爾蒂
【申請人】恩智浦有限公司
【公開日】2016年1月27日
【申請日】2015年7月20日
【公告號】EP2978158A1