新四季網

存儲卡控制器固件的硬體驅動器完整性檢查的製作方法

2023-09-21 19:12:30

專利名稱:存儲卡控制器固件的硬體驅動器完整性檢查的製作方法
技術領域:
本發明大體上涉及具有安全內容的存儲卡和所述內容的加密,且具體涉及運行安 全存儲卡的固件的完整性的檢驗。
背景技術:
至關重要的是能夠在商業上可購得的存儲卡離開工廠之前對其功能性進行檢驗, 且確保所述卡一旦離開工廠就沒有受黑客襲擊的危險。隨著數字版權管理的出現和受保護 內容(例如音樂和電影等)的傳播,需要確保卡的內容不能被隨意複製。黑客可能試圖這 樣做的一種方式是更改或甚至替換運行存儲卡的固件,以便能夠非法翻印卡的內容。因此, 必需提供一種系統,其一直確保在卡上運行的固件的完整性和可靠性兩者。

發明內容
檢驗固件的完整性是運行安全且可靠的存儲卡的一個重要方面。本發明檢驗運行 存儲卡、通用串行總線(USB)快閃驅動器或其它存儲器系統的固件的完整性。在固件被執 行之間檢驗固件的完整性。這防止執行非工廠固件的固件。此特別重要之處在於,工廠固 件包括安全機制,其包含意在保護內容不被隨意複製的加密算法。本發明在存儲卡中實施 時,防止所述卡運行可能允許複製安全內容的非工廠固件或經更改的工廠固件。因此,黑客 不能「誘使」所述卡運行錯誤的固件。所述檢驗過程還可用來檢驗任何所存儲數據的完整 性。本發明的一個方面涉及一種用於啟動存儲器存儲裝置的操作的方法,其包括在裝 置的大容量存儲單元中提供固件,使所述固件通過加密引擎,用所述加密引擎計算固件的 散列值,將計算出的散列值與所存儲的散列值進行比較,且如果計算出的散列值與所存儲 的散列值匹配,那麼執行所述固件。本發明的另一方面涉及大容量存儲裝置,其包括快閃記憶體;只讀存儲器;第一 組指令,其控制所述大容量存儲裝置的數據存儲操作,所述第一組存儲在快閃記憶體中;第 二組指令,其將第一組指令從快閃記憶體投影到可執行的隨機存取存儲器,所述第二組駐存在只 讀存儲器中。加密引擎在大容量存儲裝置的硬體電路中實施,且能夠對將要存儲在快快閃記憶體 儲器中和從快閃記憶體讀取的數據進行加密和解密。加密引擎可操作以檢驗第一組指令的 完整性。本發明的又一方面涉及另一種用於啟動存儲器存儲裝置的操作的方法。所述方法 包括在裝置的大容最存儲單元中提供固件;以及在只讀存儲器中執行第一組指令,其將固件從大容量存儲單元複製到隨機存取存儲器。所述方法還包括使用加密引擎來檢驗引導 固件的完整性,且在完整性被檢驗之後,用微處理器執行來自隨機存取存儲器的固件。本發明的額外方面、優勢和特徵包含在本發明的示範性實例的以下描述內容中, 所述描述內容應結合附圖考慮,且其中在圖中始終使用相同標號來描述相同特徵,除非另 有指示。本文所參考的所有專利、專利申請案、文章和其它出版物的全文出於所有目的以引 用的方式併入本文中。


圖IA是根據本發明實施例的系統10的示意圖。圖IB是根據本發明另一實施例的系統10的示意圖。圖2是圖1中所示的快閃記憶體的存儲器空間的圖。圖3是引導載入程序200a的示意性說明。圖4是包含對固件的基於硬體的完整性檢查的引導過程的一部分的流程圖。圖5是圖4的完整性檢驗過程410的流程圖。圖6是引導期間硬體迴路的流程圖。圖7是引導期間固件迴路的流程圖。
具體實施例方式消息認證碼(「MAC」)是從一些內容(或消息)計算出的用於證實內容的完整性 的編號。其目的是檢測內容是否已經被更改。消息認證碼是從消息和一些機密數據計算出 的散列(hash)。在不知道機密數據的情況下,難以進行偽造。使用基於DES或AES加密法 (其使用密鑰)的算法來計算MAC。接著使MAC與消息一起存儲或發送。接收者使用同一 算法和密鑰來重新計算MAC,並將其與所存儲或發送的一者進行比較。如果它們是相同的, 那麼假定內容或消息尚未被篡改。DES(數據加密標準)是使用56位密鑰的NIST標準密碼加密法。1977年由NIST 所採用,其在2001年被AES取代作為官方標準。DES是以四種不同的操作模式對64位區塊 進行處理的對稱區塊加密法,其中電子代碼書(ECB)是最普遍的。三重DES通過添加若干多遍方法來增加安全性;舉例來說,用一個密鑰進行加密, 用第二密鑰對結果進行解密,且用第三密鑰再次對其進行加密。然而,額外的遍數給過程增 添了相當多的計算時間。在不要求最強安全性的應用中仍使用DES。高級加密標準(「AES」)是使用1 位的區塊長度和1觀、192或256位的密鑰長 度的NIST標準密碼加密法。在2001年正式取代三重DES方法,AES使用由比利時的Joan Daemen和Vincent Rijmen開發的Rijndael算法。可在一遍而不是三遍中對AES進行加 密,且其密鑰大小大於三重DES的168個位。安全散列算法(SHA-I)產生20位元組輸出。NIST和NSA將其設計為與數字籤名標 準一起使用,且其現在被廣泛使用。MD5是可與本發明一起使用的另一散列函數。前面提及 的標準和各種其它算法是可與本發明一起利用的散列函數和值的說明性實例。如今可用且 將來會開發的其它類型的散列函數和值可與本發明一起利用。儘管前面提及的標準和各種其它算法和/或標準是密碼學領域的技術人員眾所周知的,但以下出版物是提供信息的,且全文以引用的方式併入本文中RFC 3566-TheAE S-XCBC-MAC-96A1gorithm and Its Use With IPsec,Sheila Franke1, NIST-National Institute of Standards and Technology, Gaithersburg,West Diamond 路 820 號,677 室,MD 20899,詳見 http://www. faqs. org/rfcs/rfc3566. html -Performance Comparison of Message Authentication Code (MAC)Algorithms for the Internet Protocol Security (IPSEC),Janaka Deepakumara、Howard M. Heys 禾口 R. Venkatesan,Electrical and Computer Engineering,Memorial University of Newfoundland, St. John' s,NL, Canada,A1B3S7,詳見 http://www. engr. mun. ca/ howard/PAPERS/necec 2003b.pdf ; 以及 Comments to NIST concerning AES Modes of Operations :A Suggestion for Handling Arbitrary-Length Messages with the CBC MAC,University of Nevada,Reno, Phillip Rogaway,University of California at Davis,詳見 http: //csrc. nist. gov/ CryptoTooIkit/modes/proposedmodes/xcbc-mac/xcbc-mac-spec. pdf。存儲器系統結構圖IA的框圖說明可實施本發明的各個方面的示範性存儲器系統。如圖IA所示, 存儲器系統10包含中央處理單元(CPU)或「控制器」 12、緩衝管理單元(BMU) 14、主機接口 模塊(HIM) 16、快閃接口模塊(FIM) 18、快閃記憶體20和外圍存取模塊22。存儲器系統10 通過主機接口總線沈和埠 26a與主機裝置M通信。快閃記憶體20(其可以是「與非」 型)為主機裝置M提供數據存儲。用於CPU 12的軟體代碼也可存儲在快閃記憶體20中。 FIM 18通過快閃接口總線28且在一些情況下(如果快閃記憶體20是可移除組件)通過 埠(未圖示)連接到快閃記憶體20。HIM 16適合連接到主機系統,例如數字相機、個人 計算機、個人數字助理(PDA)和MP-3播放器、蜂窩式電話或其它數字裝置。外圍存取模塊 22選擇適當的控制器模塊(例如FIM、HIM和BMU)來與CPU12通信。在一個實施例中,系 統10的在虛線框內的所有組件可被封圍在單個單元中,例如封圍在存儲卡中,且優選封圍 在所述卡中。緩衝管理單元14包括主機直接存儲器存取單元(HDMA) 32、快閃直接存儲器存取 單元(FDMA) 34、仲裁器36、CPU總線仲裁器35、寄存器33、固件完整性電路(FWIC)31、緩衝 隨機存取存儲器(BRAM) 38和密碼引擎40 (也被稱為加密引擎40)。仲裁器36是共享總線 仲裁器,使得任何時候都只有一個主裝置或起始器(其可以是HDMA 32.FDMA 34或CPU 12) 可活動,且從屬裝置或目標是BRAM 38。仲裁器負責將適當的起始器請求引導到BRAM 38。 HDMA 32和FDMA 34負責在HIM 16,FIM 18和BRAM 38或RAM 11之間輸送的數據。CPU總 線仲裁器35允許數據經由系統總線15直接從密碼引擎40和快閃DMA 34傳送到RAM 11, 系統總線15在某些情況下使用,例如當需要繞過密碼引擎時。HDMA 32和FDMA 34的操作 是常規的,且不需要在本文中詳細描述。使用BRAM 38來存儲主機裝置M與快閃記憶體20 之間傳遞的數據。HDMA 32和FDMAiM負責在HIM 16/FIM 18與BRAM 38或CPU RAM 1 之 間傳遞數據,且負責指示區段完成。當來自快閃記憶體20的數據由主機裝置M讀取時,通過總線^、FIM 18,FDMA 34 和密碼引擎40來獲取存儲器20中的經加密數據,其中經加密數據被解密並存儲在BRAM38 中。接著,經解密數據從BRAM 38通過HDMA 32,HIM 16和總線沈發送到主機裝置Μ。從 BRAM 38獲取的數據在被傳遞到HDMA 32之前,可再次藉助密碼引擎40進行加密,使得發送到主機裝置M的數據再次被加密,但所藉助的密鑰和/或算法與存儲在存儲器20中的數 據藉以加密的密鑰和/或算法不同。或者,不是在上文所述的過程中將經解密的數據存儲 在BRAM 38中(所述數據可能變得易於遭受未經授權的存取),而是在將來自存儲器20的 數據發送到BRAM 38之前可對其進行解密並再次由密碼引擎40加密。接著,像之前那樣, 將BRAM 38中的經加密數據發送到主機裝置M。這說明讀取過程期間的數據流。當數據由主機裝置M寫入到存儲器20時,數據流的方向顛倒。舉例來說,如果未 經加密的數據由主機裝置發送,通過總線^、HIM 16, HDMA 32,到達密碼引擎40,那麼所述 數據可在存儲在BRAM 38中之前由引擎40加密。或者,未經加密的數據可存儲在BRAM 38 中。接著,在數據被發送到FDMA 34之前在其去往存儲器20的途中,對所述數據進行加密。圖IB說明系統10的另一實施例。在此優選實施例中,將加密引擎40和固件完整 性電路31展示為控制器12的一部分。雖然這些組件作為控制器的一部分是優選的,但在 某些實施例中,它們可以不集成在控制器封裝中。如先前所述,RAM 11、快閃記憶體20和控 制器12全部連接到系統總線15。主機接口總線沈與主機裝置M(未圖示)通信。固件完整性檢驗圖2說明包含運行系統10的固件200的快閃記憶體的存儲器空間。系統固件200 包括引導載入程序(BLR)部分200a,其駐存在快閃記憶體20中,且優選是不可改變的,且系 統固件200b駐存在快閃記憶體20中,且可在需要時不時地改變。在一些實施例中,額外固 件可存在於ROM 13中,當其直接被執行或從投影複製被執行時,指向BLR部分200a。系統 固件200的大小大於從其執行的RAM模塊,所以將系統固件分成較小的部分,被稱為覆蓋。 在優選實施例中,BLR的完整性檢驗利用獨特的動態計算,其中所預期的值存儲在數據本身 中,且複製臨時存儲在除快閃記憶體20之外的存儲器中的寄存器中。然而,在某些實施例 中,用來檢驗BLR的完整性的技術可用來檢驗系統固件200b的完整性。如先前所提及,可 使用任何散列值和散列技術,但MAC或SHA-I值目前是優選的,且為了簡單起見,在優選實 施例中將描述一個或其它值的使用。一般來說,可替代地使用SHA-I摘要來取代MAC值,且 反之亦然。使用MAC值的優勢是它們與硬體和生成它們的硬體的密鑰相關聯。雖然可針 對給定數據集簡單地基於數據本身來生成SHA-I值,但在沒有密鑰的情況下不能重新生成 MAC值,且因此提供更穩固的安全性。具體地說,因為必須使用存儲在加密引擎40的非易失 性存儲器中的密鑰99來生成MAC值,所以不能利用另一處理器來重新生成MAC值。舉例來 說,黑客不能使用系統外部的另一處理器來複製固件和相關聯的MAC值。各種用戶數據文件204也存儲在快閃記憶體內。未圖示的各種其它程序和數據可 存儲在快閃記憶體(未圖示)內。也可以類似或其它方式對這些文件進行加密並檢驗其完 整性。圖3說明處於完整性檢查模式時系統10所利用的一些數據區段的結構。BLR尤 其優選利用此結構。可看出,BLR代碼307本身夾在其它數據之間,以組成BLR 201a。在加 載BLR代碼307之前,加載一些配置信息。配置信息包含在文件識別(FID)區段1和7中。 BLR代碼307之後是消息認證代碼區段309。MAC區段309內是BLR代碼307的對應部分的 MAC值。這是與圖5中所計算出的值(下文更詳細地對此進行論述)相比較的MAC值。用 0對MAC區段進行填補,以適應不同長度的數據,使得MAC總是佔據區段的最後1 個位。 BLR代碼307存儲在快閃記憶體20中,位於BLR部分200a中,且配置信息也可存儲在快閃記憶體20中。圖4說明引導和運行系統10的過程,其包含檢驗BLR代碼和固件的完整性。具體 地說,圖4包含如與固件200的BLR部分200a有關的完整性檢驗過程的一般概述。在優 選實施例中,系統固件200b和應用固件的檢驗與BLR的檢驗是分開的,且在BLR的檢驗之 後發生。值得注意的是,固件不是由BLR —次性加載的。BLR只加載幾個模塊(RAM駐存固 件),且其它模塊(覆蓋)基於需要進行加載,且交換到RAM中的相同位置中。當系統10啟動時,其將在完整性檢查模式下啟動,如步驟404中可見。一般來說, 在此模式下,加密引擎40計算所有傳入數據的MAC值,如上文所論述且在圖5中詳細況明。 此過程確保了傳入數據可具有可變長度,且存儲在「與非」快閃記憶體20的任意位置中。在 優選實施例中,將以與寫入數據的次序相同的次序讀取所述數據,且讀取的最後一個區塊 將含有MAC。MAC比較的結果可供固件在任何時候進行檢查。現將描述圖4中可見的個別 步驟。在步驟410中,系統再次根據圖5的流程表中詳細可見的過程來檢查BLR的完整 性。當BLR經過密碼引擎40時,以與檢驗來自快閃記憶體20的其它數據(當系統處於完 整性檢查模式時)相同的方式來完成上述步驟。在步驟420中,系統對步驟410中所執行 的完整性檢查的結果進行檢查。通過對在步驟270中存儲的圖5中可見的過程200的完整 性檢查的結果(旗標或其它指示符)進行檢查來完成上述步驟,所述結果指示是否存在問 題。如果BLR不是0K,那麼系統將等待主機命令(如步驟430中可見),以使系統處於稱 作商品退回授權(RMA)狀態的故障分析狀態。對於這種和其它操作狀態或模式的更多細 節,請查閱 Holtzman 等人的標題為 「SECURE MEMORY CARD WITH LIFE CYCLE PHASES」 的 第11/053,273號共同待決的美國專利申請案,其全文以引用的方式併入本文中。然而,如 果BLR為0K,那麼系統將在步驟440中執行BLR。當引導完成時,系統將基於BLR本身中所 含有的指令而離開完整性檢查模式,如圖4的步驟440中可見。BLR包括大量的指令或「步 驟」。其中有步驟440a,在步驟440a中,BLR將密碼引擎40重新配置到正常模式,或換句話 說,使密碼引擎40退出完整性檢查模式。BLR還含有指令(如由步驟440b表示),其致使 系統檢查系統固件200b的完整性。圖5是如關於圖4所論述的完整性檢驗過程410的流程圖。其說明當系統處於完 整性檢查模式時,讀取並散列存儲在快閃記憶體20中的數據的一般過程。雖然出於示範 性目的將描述對「與非」型快閃記憶體的讀取,但本發明可與用於大容量存儲目的的任何類 型的存儲器或媒體一起使用。同樣,雖然說明並描述了 MAC值的使用,但還可使用其它散列 值。圖2B的表通常將包含每個條目(未圖示)的對應的開始字節和字節數目。一般來說, 在優選實施例中,使用整個過程來逐頁地檢驗所述「與非」的完整性。所述過程將檢驗存儲 在所述「與非」中的任何數據的完整性。當所述數據碰巧是固件時,檢驗固件完整性。雖然 這種逐頁的比較是優選的,但可進行較小或較大單位的比較。在優選實施例中,完整性檢驗過程利用獨特的計算和控制迴路,如圖5中所示。所 述迴路涉及連續的計算與比較操作。通常,在檢驗方案中,一些類型的「正確」或預期值被 預先存儲,並與計算出的值進行比較。在具有圖5所示的過程的優選實施例中,「正確」或 預期值存儲在「被測試的數據」本身內。具體地說,在所描述的優選實施例中,其位於數據 區塊的最後1 個位中。當讀取正確的區段時,正被讀取的區段的最後1 個位出於實用目的將只對應於所存儲的MAC(或其它散列值)一次。出於實用目的,可低估(錯誤肯定) 匹配將出現在非最後頁的頁上的非常小的可能性。在步驟210中,讀取「與非」區塊⑴。接下來在步驟215中,用ECC電路對所述區 塊進行檢查並視情況進行校正。ECC是眾所周知的,且可用來校正數據中的實際錯誤。雖然 使用結合完整性檢驗過程的ECC是優選的,但這並不是必需的,且在包含或不包含步驟215 的情況下檢驗完整性。在步驟220中,計算散列值(在優選實施例中,優選是MAC值)。盡 管計算區塊(i)的MAC,但在完整性檢驗過程410中,所得的MAC涵蓋區塊0到(i),且在數 學上可表達為MAC
= MAC [MAC
,block (i)]在步驟220中的計算之後,在步驟沈0中執行比較。在步驟沈0中,控制器的應將 (特別是FWIC 31)將區塊⑴的最後1 位與先前存儲的MAC(即,MAC
)進 行比較。在步驟270中,將比較的結果存儲在系統的存儲器中。當首次執行步驟沈0的比 較時,MAC寄存器中的「所存儲」值實際上不會是適當的所存儲MAC值,而將是碰巧在寄存 器中的任何值,且因此可被視為隨機。接著,將在步驟270中存儲比較的結果。對於第一區 塊,比較將不會被檢查。在步驟230中,步驟220中計算出的MAC值將存儲在控制器的寄存 器中,優選存儲在FWIC 31的寄存器中。接下來在步驟235中,計數器將遞增,使得(i)的 值遞增1,且將再次在步驟210中讀取下一個區塊。所述迴路將繼續,直到所有區塊(i)都 被讀取為止。當最後一個區塊被讀取,且因此由加密引擎處理時,如果最後1 個位與步驟 230中所存儲的MAC匹配,那麼所述比較將產生匹配,且步驟270中所存儲的結果將反映出 已由硬體檢驗出完整性。只有在BLR的最後一頁已經被讀取時,才會使用匹配來指示已經 檢驗出完整性。所有先前的匹配(錯誤真值)將被忽略。如果所述值不同,那麼這將指示 數據的完整性存在問題。相反,如果所述值相同,那麼確保數據的完整性。在匹配已經出現之後,將再次在步驟230中更新MAC值,但這是所述迴路的冗餘操 作,其不具有任何作用。這種連續的計算過程允許硬體檢驗未定義的內容大小。換句話說, 硬體可在不必首先確定區塊的數目或區塊所包括的文件的大小的情況下,適當地計算MAC 值並檢驗其完整性。針對駐存在存儲卡的快閃記憶體20中的任何數據,在一定的操作狀態或模式(尤 其是完整性檢查模式)下使用上文所述的過程。在根據本發明的存儲卡的優選實施例中, 所述數據中的一些是在執行時運行存儲器卡的固件。具體地說,在系統10加電時,當系統 處於其常規操作狀態或測試狀態時,加密引擎40本身進行初始化(通過在完整性檢查模式 下開始),以檢驗任何傳入數據的完整性。當數據碰巧是固件時,在固件傳遞通過BMU 14且 尤其是加密引擎40時,固件的完整性得以檢驗。所存儲的結果(不是完整性本身)可由軟 件檢查,所述軟體在一個實施例中涉及存儲在ROM 13中的代碼中的指令。應注意,儘管存 儲在ROM 13中的代碼對結果進行檢查,且可起始數據的流動,但其不包括在對快閃記憶體 中的固件的完整性進行檢驗的過程中。換句話說,所述代碼不負責執行所述固件的任何數 值計算或數據操作以便對其進行檢驗。是控制器12或BMU 14、FWIC 31和加密引擎40的 硬體對固件(包含引導載入程序(BLR)部分和在一些實施例中固件的其它部分)的完整性 進行檢驗。圖5中所描述的過程涉及硬體(HW)和固件(FW)兩者。如所提及,硬體實行完整性檢查,而固件只是對冊完整性檢查結束時所設置的旗標進行檢查。分別在圖6和圖7中 更詳細地展示冊和SW功能或「迴路」。參看圖6,在步驟320中對系統加電。在步驟322中,控制器硬體起始FW完整性模 式。這包括兩個主要行為。第一個行為是激活圖IWFWIC 31。FffIC 31—旦被激活,就將 配合圖6的其餘步驟,且從而對固件的BLR部分以及加密引擎40的完整性進行檢查。第二 個行為涉及選擇密碼學算法以供加密引擎40使用。如先前所提及,加密引擎40的硬體經 配置以用各種不同算法對數據進行加密和解密。在步驟328中,控制器硬體計算傳入區塊的摘要。此計算由加密引擎40執行。接 下來,在步驟330中,將步驟328中計算出的摘要與先前摘要的值進行比較。如早先所論 述,將在所述迴路的每一迭代中檢查並比較保存所述值的寄存器,但在第一迭代時,所述寄 存器中的值將是隨機的。接著,在步驟332中設置指示完整性的旗標。此旗標將由系統的 固件進行檢查,以便確認冊已經檢驗出固件的BLR部分的完整性。圖7說明圖6中當冊檢查完整性時所發生的固件迴路。在系統在步驟320中被 加電之後,在步驟340中,CPU經初始化。接著,在步驟342中,從第一有效頁讀取配置數 據(在優選實施例中,其為圖3的FID 1)。接下來,在步驟344中,系統提取BLR 201A的 開始和結束頁。一旦這是已知的,就讀取所有的BLR頁。當讀取每個頁時,產生誤差校正碼 (ECC)。如先前所提及,ECC電路操作是眾所周知的,且可用來校正數據中的實際錯誤,至多 達某一限制。雖然使用結合完整性檢驗過程的ECC是優選的,但這並不是必需的,且在使用 或不使用ECC的情況下檢驗完整性。在頁被讀取之後,在步驟348中用ECC電路對所述頁 進行檢查,且如果不是0K,那麼在步驟352中,將用ECC校正機制來校正所述頁,或檢索替代 頁。如果在步驟354中確定經校正的或新的頁為0K,那麼在步驟350中,系統將進行檢查, 看是否存在更多要讀取的頁。如果是這種情況,那麼系統將返回到步驟346,並讀取另一頁。 如果步驟3M指示在步驟354中經校正的或替代的複製不是0K,那麼在步驟356中,將指 示故障情況。如果步驟350中確定不存在更多頁,且不指示故障,那麼在步驟360中,系統 將檢查完整性旗標(其由硬體設置,如圖6中可見)。如果在步驟360中,旗標指示BLR為 0K,如由冊檢驗那樣,那麼在步驟362中,將執行BLR。此執行與圖4的步驟440中所描繪 的相同。雖然只針對固件的一部分(即BLR)執行此完整性檢查,但應了解,也可以此方式 檢查所有固件,且此闡釋涉及採用固件引導程序的優選實施例。另外,如本申請案中所使 用,術語存儲卡意在還包含USB快閃驅動器之類的結構因子。儘管已相對於本發明的示範性實施例描述了本發明的各個方面,但將了解,本發 明在所附權利要求書的整個範圍內受到保護。
權利要求
1.一種用於啟始操作以及操作存儲器存儲裝置的方法,其包括在所述存儲器存儲裝置的大容量存儲單元中提供所述存儲器存儲裝置的固件;傳遞所述固件通過所述存儲器存儲裝置的硬體實施的加密引擎;用所述硬體實施的加密引擎計算所述固件的散列值將所計算出的散列值與所存儲的散列值進行比較;以及如果所述計算出的散列值與所述存儲的散列值匹配,那麼執行所述固件。
2.根據權利要求1所述的方法,其中提供所述固件包括提供複數個固件覆蓋。
3.根據權利要求2所述的方法,其進一步包括在所述複數個覆蓋的每一者中存儲一散 列值,所述散列值預期等於包含含有所述散列的覆蓋的固件的量的所計算出的散列值。
4.根據權利要求3所述的方法,其中當讀取含有預期散列值的區段時,讀取的所述量 的所述計算出的散列值將僅對應於所述預期散列值。
5.根據權利要求3所述的方法,其進一步包括忽略在不同於包含所述預期散列值的區 段區塊或者頁的區段區塊或者頁上的錯誤肯定匹配。
6.根據權利要求1所述的方法,其中計算散列值包括計算區塊(i)的MAC值,但其中所 得的 MAC 值覆蓋區塊 0 至Ij ⑴,以致於 MAC
= MAC [MAC
,區塊(i)]。
7.根據權利要求6所述的方法,其進一步包括將計算出的區塊(i)的MAC值存儲在 所述存儲器存儲裝置的存儲器控制器中的寄存器中,所述寄存器不在所述大容量存儲單元 中。
8.根據權利要求6所述的方法,其中計算區塊⑴的散列值,其中所得的MAC 值覆蓋區塊0到(i),以致於針對所述固件的引導載入程序實施MAC
= MAC [MAC
,區塊(i)]。
9.根據權利要求6所述的方法,其中計算區塊(i)的散列值,其中所得的MAC值覆蓋區 塊0到(i),以致於針對所述固件的引導載入程序而並非整個所述固件實施MAC
=MAC [MAC
,區塊(i)]。
10.根據權利要求6所述的方法,其中計算區塊(i)的散列值,其中所得的MAC值覆蓋區塊0到(i),以致於針對整個所述固件實施MAC
=MAC [MAC
,區塊 ⑴]。
11.一種用於啟始存儲器存儲裝置的操作的方法,其包括在所述存儲器存儲裝置的大容量存儲單元中提供固件,所述固件控制所述存儲器存儲 裝置的操作;在只讀存儲器中執行第一組指令,其將所述固件從所述存儲器存儲裝置的所述大容量 存儲單元複製到所述存儲器存儲裝置的隨機存取存儲器;在所述固件從所述大容量存儲單元傳遞通過在所述存儲器存儲裝置的存儲器控制器 中的硬體實施的加密引擎時,檢驗所述固件的完整性;以及在檢驗了完整性之後,用微處理器從隨機存取存儲器中執行所述固件。
12.根據權利要求11所述的方法,其中所述固件含有從所述大容量存儲單元獲取額外 固件的指令。
13.根據權利要求12所述的方法,其中所述方法進一步包括執行所述額外固件。
全文摘要
一種存儲器系統包括在控制器的硬體中實施的加密引擎。在啟動所述存儲器系統的過程中,實施引導程序機制,其中固件的第一部分在被執行時引入固件的將要執行的另一部分。所述加密引擎的硬體用於檢驗所述固件的至少所述第一部分的完整性。因此,將只執行既定用以運行所述系統的固件。
文檔編號G06F21/57GK102142070SQ20111005931
公開日2011年8月3日 申請日期2006年9月13日 優先權日2005年9月14日
發明者尼夫·科亨, 羅恩·巴爾齊萊, 麥可·霍爾茨曼, 魯文·埃爾哈米亞斯 申請人:桑迪士克股份有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀