欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于具有快閃大容量存儲存儲器的安全裝置的安全而靈活的系統(tǒng)結(jié)構(gòu)的制作方法

文檔序號:6568948閱讀:279來源:國知局
專利名稱:用于具有快閃大容量存儲存儲器的安全裝置的安全而靈活的系統(tǒng)結(jié)構(gòu)的制作方法
用于具有快閃大容量存儲存儲器的安全裝置的安全而靈活的系統(tǒng)結(jié)構(gòu) 技術(shù)領(lǐng)域本申請案大體上涉及基于快閃的大容量存儲裝置的操作,且明確地說,涉及對安全 內(nèi)容具有拷貝保護(hù)的裝置。
背景技術(shù)
基于快閃的大容量存儲裝置用于存儲非常大量的內(nèi)容,例如圖片和音樂或軟件程序。 這些大容量存儲裝置的實(shí)例包含存儲卡、通用串行總線("USB")快閃驅(qū)動(dòng)器、基于快 閃的音樂和/或視頻播放器和其它依賴于快閃來對內(nèi)容或文件進(jìn)行大容量存儲的便攜式 計(jì)算裝置。頻繁地對用戶文件進(jìn)行更新和修改。當(dāng)處理照片、音樂和文檔時(shí)尤其是這樣的情況。 快閃存儲器具有有限數(shù)目的讀取/寫入循環(huán),且已經(jīng)進(jìn)行了大量研究和開發(fā)來在快閃存儲 器單元之間分配所述循環(huán),以便將裝置的使用壽命和可靠性增到最大。舉例來說,通常 在這些裝置中實(shí)施例如以下文獻(xiàn)中教示的損耗平衡技術(shù)頒給洛夫格蘭(Lofgren)等人 的題為"用于快閃EEPROM系統(tǒng)的損耗平衡技術(shù)(Wear Leveling Techniques For Flash EEPROM Systems)"的第6,230,233號美國專利;頒給哈拉里(Harari)的題為"快閃 EEPROM系統(tǒng)和其智能編程和擦除方法(Flash EEPROM System and Intelligent Programming and Erasing Methods Therefore)"的第5,268,870號美國專利;張(Chang) 等人的題為"非易失性存儲系統(tǒng)中的損耗平衡(Wear Leveling In Non-Volatile Storage Systems)"的第WO2004040578A2號PCT公開案;和岡薩雷斯(Gonzalez)等人的題為 "非易失性存儲系統(tǒng)中的自動(dòng)化損耗平衡(Automated Wear Leveling In Non-Volatile Storage Systems)"的第20040083335A1號美國專利公開案,以上文獻(xiàn)以全文引用的方式 并入本文中。這些技術(shù)通常涉及改變邏輯/物理映射,使得以大概相同的量使用存儲器的 物理位置。另外,隨著基于快閃的大容量存儲裝置的使用在激增,可用其進(jìn)行的不同活動(dòng)的數(shù) 目也在增加。因此,需要一種新的裝置操作系統(tǒng)結(jié)構(gòu),其提供用以存儲和運(yùn)行大范圍固件的靈活 性,所述固件可經(jīng)更新和改變以適應(yīng)不斷增加的功能性范圍。除了靈活之外,這種結(jié)構(gòu) 還必須為固件和內(nèi)容兩者提供高度安全和可靠的環(huán)境。按照慣例,所有這些應(yīng)當(dāng)是盡可能使用標(biāo)準(zhǔn)組件并以盡可能低的成本來進(jìn)行的。 發(fā)明內(nèi)容本發(fā)明允許裝置既在操作方面安全又在功能性方面靈活。這意味著可根據(jù)用戶需要 來調(diào)整功能性,并隨著時(shí)間添加功能性,同時(shí)維持高級別的安全性。因此,所述裝置可 用于存儲機(jī)密和受限存取信息,例如交易數(shù)據(jù)和具有版權(quán)的藝術(shù)作品。本發(fā)明還允許裝置快速并可靠地啟動(dòng),同時(shí)仍然通過在適當(dāng)時(shí)使用損耗平衡技術(shù)來 提供可靠的長期數(shù)據(jù)存儲。那些不可靠和可能會(huì)危及裝置安全性的固件將不被執(zhí)行。在執(zhí)行之前檢驗(yàn)可靠性指 示。在優(yōu)選實(shí)施例中,提供多個(gè)不同級別的此類指示,并將其與裝置的創(chuàng)建所述指示的 特定控制器相關(guān)聯(lián)。在此優(yōu)選實(shí)施例中,可檢驗(yàn)所述不同級別的指示中的一者或一者以 上。如果沒有恰當(dāng)關(guān)聯(lián)的指示,將不執(zhí)行固件。本發(fā)明的另一方面在于,雖然裝置利用容易獲得的沒有內(nèi)建式安全性的存儲器來對 數(shù)據(jù)(包含固件)進(jìn)行大容量存儲,但仍可實(shí)現(xiàn)這種安全性。


圖1A是本發(fā)明實(shí)施例的安全裝置100A的示意圖。圖1B是本發(fā)明實(shí)施例的安全裝置100B的示意圖。圖2是說明存儲器空間108的一部分中的各個(gè)固件片段的圖。圖3是說明根據(jù)本發(fā)明實(shí)施例的軟件結(jié)構(gòu)和硬件存取的示意圖。圖4是說明固件完整性檢驗(yàn)的一些步驟的流程圖。圖5是本發(fā)明實(shí)施例的操作的流程圖。圖6是說明對例如固件200等物理存儲的數(shù)據(jù)進(jìn)行完整性檢查的流程圖。 圖7是說明對例如用戶文件和應(yīng)用程序固件202A、 B、……、X等邏輯存儲的數(shù)據(jù)進(jìn)行完整性檢查的流程圖。
具體實(shí)施方式
并入有快閃存儲器以用于大容量存儲用途的裝置必須存儲大量相對經(jīng)常地被寫入和 讀取的內(nèi)容。舉例來說,此類裝置的用戶有規(guī)律地對數(shù)字照片和音樂庫進(jìn)行更新。隨著 受保護(hù)內(nèi)容的增加和對大體上保護(hù)內(nèi)容的需要,此類裝置還必須提供穩(wěn)固的安全性,以 防止此類"安全"或受保護(hù)內(nèi)容遭受未授權(quán)拷貝。同時(shí),安全性不應(yīng)以犧牲靈活性為代 價(jià)。本發(fā)明提供一種允許隨著時(shí)間添加功能性且同時(shí)維持高級別安全性的裝置。這種靈 活性在期望裝置提供不斷增加的功能性的世界中是必需的。安全裝置是保護(hù)裝置內(nèi)容不受未授權(quán)拷貝或更改的裝置。安全內(nèi)容包含任何需要受 到保護(hù)以防遭受未授權(quán)拷貝或竄改的內(nèi)容或數(shù)據(jù)。除了記帳、交易和其它傳統(tǒng)上機(jī)密的 個(gè)人信息之外,藝術(shù)內(nèi)容也必須受保護(hù)以免由除所有者或其它經(jīng)授權(quán)人員以外的人員進(jìn) 行存取和拷貝。依據(jù)裝置的結(jié)構(gòu)而定,黑客可能試圖經(jīng)由數(shù)據(jù)總線或通過直接存取所述大容量存儲 存儲器來存取內(nèi)容。在一些先前裝置中,直接存取存儲器存儲單元較為困難,因?yàn)橥ǔ?通過將存儲器存儲單元放置在邏輯上難以存取的環(huán)境中來保護(hù)存儲器存儲單元。舉例來 說,智能卡利用并入有少量非易失性存儲器的可編程只讀存儲器(PROM),其中部分通 過在物理上隔離所述非易失性存儲器以免受存取來使所述非易失性存儲器安全。然而,需要利用非安全大容量存儲存儲器,其尤其是更加標(biāo)準(zhǔn)化、容易獲得且/或經(jīng) 濟(jì)的。非安全存儲器或存儲單元是這樣的存儲器或存儲單元其中不需要授權(quán)即可對存 儲在其中的(經(jīng)加密的或未經(jīng)加密的)數(shù)據(jù)進(jìn)行(讀取/寫入)存取,或者其中沒有任何 內(nèi)建的防止對所存儲數(shù)據(jù)進(jìn)行拷貝的保護(hù)機(jī)制。盡管這種存儲器可與其它非存儲器組件 (例如處理器) 一起封裝在多功能封裝中,但其通常采用具有一個(gè)或一個(gè)以上存儲器芯片 的專用存儲器封裝的形式。通常,并入有大容量存儲快閃存儲器的裝置或系統(tǒng)利用處理器來控制存儲器的數(shù)據(jù) 存儲和檢索操作。此處理器是控制器的一部分,且通常稱為控制器??刂破鲌?zhí)行軟件指 令來控制裝置。運(yùn)行和控制裝置硬件的軟件通常稱為固件。通常在已經(jīng)從正常存儲所述 固件的其它某個(gè)存儲器處拷貝所述固件之后從隨機(jī)存取存儲器(RAM)執(zhí)行所述固件。 投影或拷貝到RAM是有利的,因?yàn)殡m然快閃容易被更新,但其較緩慢且本質(zhì)上不可執(zhí)行, 因?yàn)槠洳⒉痪哂须S機(jī)存取能力,而且因?yàn)橹蛔x存儲器不容易更新。在將在固件中提供某種量的安全性的情況下,必須存在某種用以防止執(zhí)行除具有必 備安全性機(jī)制的恰當(dāng)固件之外的固件的機(jī)制。在固件存儲在非安全存儲器中時(shí),尤其是 這樣。如上文提到的,固件控制裝置的操作,因此讓固件本質(zhì)上自我保護(hù)不是一件簡單 的事。在此固件存儲在另外非安全存儲器封裝中時(shí)防止執(zhí)行受到危害的或不可靠的固件 也不是一件簡單的事。本發(fā)明提供一種具有大容量存儲能力的安全系統(tǒng),雖然其使用非安全存儲器來用于 大容量存儲單元。此外,其創(chuàng)建安全系統(tǒng),其中用于運(yùn)行安全系統(tǒng)的固件存儲在非安全 存儲器中。為了能夠?qū)⒐碳鎯υ诜前踩笕萘看鎯Υ鎯ζ髦?,本發(fā)明采用一種防止執(zhí) 行不可靠固件的系統(tǒng)。現(xiàn)在將參看圖中描繪的優(yōu)選實(shí)施例。圖1A說明本發(fā)明實(shí)施例的安全裝置("SD") 100A。 SD 100A包括安全控制器104和非安全存儲器108。存儲器108優(yōu)選是快閃型存儲器,且用于大容量存儲用途。這意味著所述存儲器用 于對用戶文件(例如音頻、視頻和圖片文件等)進(jìn)行通用存儲。其是裝置108的主要存 儲器存儲單元,且可用于存儲用戶希望存儲在其中的任何類型的文件。其經(jīng)設(shè)計(jì)以允許 用戶頻繁地更新和存取他的文件庫。大容量存儲存儲器通常大于SD IOOA還可在此和其 它實(shí)施例中包括的其它隨機(jī)存取存儲器("RAM")和只讀存儲器("ROM")(未圖示)。 而且,作為普通文件存儲裝置,大容量存儲存儲器與代碼存儲裝置截然不同,代碼存儲 裝置經(jīng)設(shè)計(jì)以存儲相對少量的不頻繁更新的操作代碼。ROM或快閃存儲器可用作代碼存 儲裝置,但應(yīng)了解,代碼存儲裝置在用途上不同于大容量存儲裝置,且在大小上大體上 也不同于大容量存儲裝置。SD 100A還包括數(shù)據(jù)或存儲器總線106和主機(jī)總線102。SD IOOA可以是完整的電子 裝置,例如數(shù)字相機(jī)或音樂播放器、蜂窩式電話等。其也可具有經(jīng)設(shè)計(jì)以結(jié)合任何類型 的由處理器控制的電子裝置而使用的存儲卡或通用串行總線("USB")驅(qū)動(dòng)器的形狀因 數(shù)。為了簡化描述SD IOOA和圖中描繪的其它實(shí)施例,所述實(shí)施例通常可稱為存儲卡, 但應(yīng)了解,這是指優(yōu)選實(shí)施例,且不應(yīng)限制本發(fā)明的范圍,而本發(fā)明的范圍由所附權(quán)利 要求書界定。目前,本發(fā)明特別適用的存儲卡的優(yōu)選形狀因數(shù)是眾所周知的安全數(shù)字 ("SD")卡。經(jīng)由主機(jī)總線102將數(shù)據(jù)和命令傳送到SD IOOA和從其傳送數(shù)據(jù)和命令。主機(jī)(未 圖示)可以是個(gè)人計(jì)算機(jī)或其它電子裝置。安全控制器104控制經(jīng)由存儲器總線106對 非安全存儲器108進(jìn)行的讀取和寫入操作。這樣做時(shí),其也限制對非安全存儲器108的 內(nèi)容的存取。如上文提到的,運(yùn)行裝置的固件存儲在非安全存儲器108中。稍后將關(guān)于 圖2到7更詳細(xì)地描述此固件,所述固件結(jié)合控制器104提供使得裝置IOOA成為安全裝 置的安全性。因此,必不可少的是,由安全控制器104執(zhí)行的固件是可靠的,否則可能 會(huì)危及系統(tǒng)的安全性。當(dāng)固件處于非安全存儲器中時(shí),確保固件的可靠性更加困難得多。然而,假定非安 全存儲器108用于大容量存儲用途,那么其是相當(dāng)大的且容易被更新。因此,使用非安 全存儲器的容量來存儲固件是有意義的。這可消除專用于存儲固件的代碼存儲裝置,或 者至少減小其大小?;蛘?,其減少對在控制器內(nèi)進(jìn)行此存儲的需要。這種成本節(jié)省在競 爭市場中是重要的。存在三條到達(dá)存儲在存儲器108中的內(nèi)容的主要路徑直接讀取存儲器108的內(nèi)容;監(jiān)視總線102上的信號;以及監(jiān)視總線106上的信號。即使非安全存 儲器108中或總線102和106上的任何或所有信息可能具有加密格式,但始終存在加密 密鑰可能受到危害的危險(xiǎn)。假如所述固件受到危害或被缺少可靠固件的安全性特征的另 一固件替換且接著被系統(tǒng)執(zhí)行,那么大容量存儲存儲器上的限制性或受限存取文件和私 有數(shù)據(jù)可能會(huì)被拷貝或竄改。舉例來說,用戶的銀行業(yè)務(wù)或社會(huì)保障信息可能會(huì)被未經(jīng) 授權(quán)地拷貝或更改,因而產(chǎn)生顯而易見的不良后果。在另一實(shí)例中,具有版權(quán)或以其它 方式受到保護(hù)的內(nèi)容也可能會(huì)被未經(jīng)授權(quán)地拷貝。數(shù)字版權(quán)管理方案可能會(huì)受到阻撓。 作為另一實(shí)例,密碼或用戶口令也可能會(huì)受到危害。圖1B說明安全裝置100B。安全控制器104包括密碼引擎110、存儲在控制器104 的非易失性存儲器中的一個(gè)或一個(gè)以上加密密鑰112以及也存儲在控制器104的非易失 性存儲器中的裝置操作狀態(tài)指示114。在本發(fā)明的某些實(shí)施例中,在卡的壽命期間會(huì)進(jìn)入 并經(jīng)過許多狀態(tài)或壽命循環(huán)階段。依據(jù)階段而定,卡中的邏輯啟用或停用加密引擎,控 制對硬件(在卡組合件前面或后面)和軟件測試機(jī)制的存取,并控制密鑰產(chǎn)生。這些階 段不但允許在制造之前和之后對卡的硬件和軟件兩者進(jìn)行徹底測試,而且導(dǎo)致在卡處于 安全階段時(shí)幾乎不可能存取經(jīng)加密的密鑰且因此不可能存取經(jīng)加密的內(nèi)容,所述安全階 段是卡送達(dá)用戶時(shí)所處的操作階段。關(guān)于狀態(tài)或壽命循環(huán)階段的更多信息,請參看米 奇-霍爾茨曼(Micky Holtzman)等人的代理人案號為SNDK.383US3的題為"具有壽命 循環(huán)階段的安全存儲卡(Secure Memory Card With Life Cycle Phases)"的申請案,所述 申請案以全文引用的方式并入本文中。密碼引擎IIO是基于硬件的,且可在數(shù)據(jù)穿過安全控制器104時(shí)對數(shù)據(jù)進(jìn)行加密和/ 或解密。舉例來說,用第一加密算法進(jìn)行加密的數(shù)據(jù)可在從主機(jī)總線102到達(dá)控制器時(shí) 被解密,且接著用第二算法進(jìn)行加密,之后才被經(jīng)由數(shù)據(jù)總線106發(fā)送到快閃存儲器108。 當(dāng)然,在存儲器108中加密的數(shù)據(jù)可由引擎110解密,并且以解密狀態(tài)在主機(jī)總線102 上傳遞,但是其優(yōu)選地在穿過主機(jī)總線102時(shí)采用加密格式以免數(shù)據(jù)受到潛在的未授權(quán) 拷貝。密碼引擎110也稱為加密引擎110,其可包括許多子引擎,且能夠利用許多加密標(biāo)準(zhǔn) 和算法。各種加密技術(shù)和算法的實(shí)例包含消息鑒別代碼("MAC");數(shù)據(jù)加密標(biāo)準(zhǔn) ("DES")、三重DES、高級加密標(biāo)準(zhǔn)("AES")、 RSA和迪飛-赫爾曼(Diffie-Helman), 這些在公用密鑰基礎(chǔ)設(shè)施("PKI")中經(jīng)常使用;以及其它基于散列的加密,例如SHA-1 和MD5。加密引擎可使用其它目前可用的算法和技術(shù)以及其它尚待開發(fā)或普遍接受的算法和技術(shù),且前述列舉只是打算提供一些實(shí)例。消息鑒別代碼是從消息和某些秘密數(shù)據(jù)計(jì)算的散列。其難以在不知道秘密數(shù)據(jù)的情 況下偽造。使用基于DES或AES暗號的算法來計(jì)算MAC,所述暗號使用秘密密鑰。秘 密密鑰112或從所述秘密密鑰導(dǎo)出的一個(gè)或一個(gè)以上密鑰存儲在控制器104中,且因此 由控制器創(chuàng)建的散列或消息鑒別代碼與所述控制器相關(guān)聯(lián),且不能被另一控制器復(fù)制。 因此,來自特定控制器的散列值與控制器相關(guān)聯(lián),且可充當(dāng)控制器和裝置的一種類型的 簽名,因?yàn)樗龊灻俏ㄒ坏那也荒鼙粡?fù)制。雖然前述標(biāo)準(zhǔn)和其它各種算法和/或標(biāo)準(zhǔn)對于密碼領(lǐng)域的技術(shù)人員是眾所周知的,但 以下出版物可提供相關(guān)資料,并且以全文引用的方式并入本文中《RFC 3566—— AES-XCBC-MAC-96算法和其用于IPsec》(RFC 3566 - The AES-XCBC-MAC-96 Algorithm and Its Use With IPsec),希拉.弗蘭克爾(Sheila Frankel),美國國家標(biāo)準(zhǔn)與技 術(shù)研究院(NIST - National Institute of Standards and Technology),西菱大街820號,677 室,蓋瑟斯堡,馬里蘭20899 (West Diamond Ave, Room 677, Gaithersburg, MD 20899), 可在http:〃www.faqs.org/rfcs/rfc3566.html處獲得;《用于因特網(wǎng)協(xié)議安全性(IPSEC)的消 息鑒別代碼(MAC)的性能比較》(Performance Comparison of Message Authentication Code (MAC) Algorithms for the Internet Protocol Security (IPSEC)),賈納卡'迪帕庫瑪爾 (Janaka Deepakumara)、霍華德.M'海斯(Howard M. Heys)和R'溫卡特山(R. Venkatesan), 電子與計(jì)算機(jī)工程系,紐芬蘭紀(jì)念大學(xué),圣約翰,NL,加拿大,A1B3S7 (Electrical and Computer Engineering, Memorial University of Newfoundland, St. John's, NL, Canada, A1B3S7),可在http:〃www.engr.mun.ca/"-howard/PAPERS/necec一2003b.pdf處獲得;以及 《給NIST關(guān)于AES操作模式的評論用CBC MAC處理任意長度消息的建議》(Comments to NIST concerning AES Modes of Operations: A Suggestion for Handling Arbitrary-Length Messages w"h the CBC MAC),約翰.布萊克(John Black),內(nèi)華達(dá)州大學(xué),里諾(University of Nevada, Reno),菲利普.羅佳威(Phillip Rogaway),加州大學(xué)戴維斯分校(University of California at Davis ) , 可 在http:〃csrc.nist.gov/CryptoToolkit/modes/proposedmodes/xcbc-mac/xcbc-mac-spec.pdf 處獲得。圖2是對快閃存儲器108的存儲器空間的說明,所述快閃存儲器108包含運(yùn)行裝置 100A或100B的固件200。系統(tǒng)固件200包括啟動(dòng)加載程序(BLR)部分200a,其駐 存在快閃存儲器108中且優(yōu)選不可改變;以及系統(tǒng)固件200b,其駐存在快閃存儲器108 中,且如果必要的話可不時(shí)地改變。系統(tǒng)固件200的大小大于從中對其執(zhí)行的RAM模塊,所以將系統(tǒng)固件劃分成稱為疊層的較小部分。每個(gè)疊層優(yōu)選地具有其自身的散列值,且 在系統(tǒng)固件200內(nèi)是具有這些散列值的表200c。表200c不是加載作為系統(tǒng)固件200b的 一部分,而是如下文將更詳細(xì)論述的那樣將預(yù)先存儲的值與計(jì)算得的值進(jìn)行比較??墒?用任何散列值,但MAC或SHA-1值目前是優(yōu)選的。 一般來說,可代替MAC值而替代 地使用SHA-1摘要,且反之亦然。使用MAC值的優(yōu)點(diǎn)是其與硬件和創(chuàng)建其的硬件密鑰 相關(guān)聯(lián)。盡管可簡單地基于數(shù)據(jù)本身針對給定數(shù)據(jù)組創(chuàng)建SHA-l值,但不能在沒有密鑰 的情況下重新創(chuàng)建MAC值,且因此提供更加穩(wěn)固的安全性。具體地說,因?yàn)楸仨毷褂么?儲在加密引擎110的非易失性存儲器中的密鑰104(或從其導(dǎo)出的密鑰)來創(chuàng)建MAC值, 所以不能利用另一處理器來重新創(chuàng)建MAC值。舉例來說,黑客不能使用系統(tǒng)外部的另-一 處理器來復(fù)制固件和相關(guān)聯(lián)的MAC值。作為進(jìn)一步的安全性預(yù)防措施,可將散列值本身加密一次或一次以上。在MAC值的 實(shí)例中,創(chuàng)建保護(hù)MAC表200c2的MAC條目,所以即使黑客能夠切換或更改固件并重 新計(jì)算出適當(dāng)?shù)腗AC,他仍然面臨著問題,因?yàn)樗仨氂?jì)算MAC的MAC (或SHA-1 的MAC)。此外,在一個(gè)實(shí)施例中,MAC的MAC被再次加密并存儲在另一 (不同的) 存儲器區(qū)域(例如,加密引擎IIO或控制器104的非易失性存儲器)中。此多級別分布 式層級確保不能偽造簽名,或者將不會(huì)承認(rèn)所偽造的簽名是可靠的。作為說明,假如有 人存取了快閃存儲器108并替換掉固件和表200c,那么系統(tǒng)接著會(huì)檢查層級中的上一級 別,并查看表200c的MAC是否指示表200c尚未被竄改。如果表的所存儲MAC與計(jì)算 得的MAC不匹配,那么這指示可靠性存在問題。然而,如果表200c的MAC也已被更 改以與所替換的表200c匹配,那么系統(tǒng)將會(huì)錯(cuò)誤地檢驗(yàn)簽名。通過以下方式來避免此錯(cuò) 誤在另一 (不可存取的)存儲器中存儲表200C的MAC的拷貝,并將所述另一 (不可 存取的)存儲器中的拷貝與快閃存儲器108中的值進(jìn)行比較。如果所述值不匹配,那么 這指示可靠性有問題。雖然只說明了幾個(gè)級別,但這個(gè)多級別分布式結(jié)構(gòu)可依據(jù)待保護(hù) 的固件的大小和復(fù)雜性而具有許多級別且并入有許多不同存儲器。結(jié)合固件的疊層結(jié)構(gòu)而采用的這種多級別分布式層級還產(chǎn)生一個(gè)非常高效且快速的 鑒別過程。將固件劃分成多個(gè)疊層并為每個(gè)疊層簽名大大加速了整個(gè)鑒別過程。這是因 為檢驗(yàn)較小量的代碼的簽名要快速得多。為了計(jì)算散列值,必須讀取將針對其計(jì)算散列 的所有數(shù)據(jù)。固件的待讀取部分越大,計(jì)算簽名將花費(fèi)的時(shí)間就越長,且接著檢驗(yàn)簽名 是可靠的。為大量數(shù)據(jù)計(jì)算簽名可能是非常耗時(shí)且低效的。存儲在快閃存儲器內(nèi)的還有各種固件應(yīng)用程序202A……X(展示為APPFW 1、2……X)且當(dāng)然還有用戶文件(未圖示)。固件應(yīng)用程序可針對各種產(chǎn)品配置而以不同方式進(jìn) 行配置。這些應(yīng)用程序的數(shù)目和類型將隨著產(chǎn)品而改變。如果固件應(yīng)用程序大于RAM模 塊,那么也優(yōu)選地將所述應(yīng)用程序劃分成多個(gè)疊層。應(yīng)用程序固件疊層的映射201A指示 各個(gè)疊層在存儲器中的位置。各個(gè)固件應(yīng)用程序的用秘密密鑰加密的散列值(SHA-1摘 要或MAC值等)表201B也存儲在快閃存儲器中,所述秘密密鑰可以是秘密密鑰104或 從秘密密鑰104導(dǎo)出的密鑰。固件應(yīng)用程序類似于在基礎(chǔ)系統(tǒng)上運(yùn)行的其它應(yīng)用程序, 例如在Windows⑧操作系統(tǒng)上運(yùn)行的Windows⑧環(huán)境中的文字處理應(yīng)用程序。如在背景技術(shù)中所論述,快閃存儲器單元具有有限的使用壽命且單元隨著每個(gè)讀取 和寫入操作而降級。因此,快閃存儲器中的數(shù)據(jù)-…般會(huì)不時(shí)地移動(dòng),以便在單元間均勻 地分配讀取和寫入操作,并在單元間均勻地分配"損耗"。這種損耗平衡連同所有讀取/ 寫入操作由固件200控制,且明確地說,由系統(tǒng)固件200B控制。為了能夠容易地移動(dòng)數(shù) 據(jù),將數(shù)據(jù)以邏輯方式進(jìn)行存儲。這意味著將邏輯地址映射到物理地址,且盡管邏輯地 址保持不變,但其可被映射到不同的物理地址。同樣,此邏輯到物理映射是由系統(tǒng)固件 來執(zhí)行的。如果固件負(fù)責(zé)移動(dòng)其自身的話,會(huì)出現(xiàn)某種困難。當(dāng)固件負(fù)責(zé)對快閃存儲器中的數(shù) 據(jù)進(jìn)行拷貝保護(hù)且因此應(yīng)當(dāng)優(yōu)選地在執(zhí)行之前被檢驗(yàn)為可靠的時(shí),尤其是這樣。而且, 盡管系統(tǒng)固件確實(shí)可能被不時(shí)地更新,但其與存儲在快閃存儲器108中的其它數(shù)據(jù)相比 被寫入的頻率將非常低。因此,將固件200 (包含啟動(dòng)加載程序200a)以物理方式(沒 有邏輯映射)寫入到快閃存儲器108和從快閃存儲器108讀取。應(yīng)用程序固件提供系統(tǒng)固件中沒有的額外功能性,且可在任何時(shí)間被加載到裝置中。 并不知道可將多少應(yīng)用程序固件加載到裝置中以及何時(shí)可加載每個(gè)應(yīng)用程序。因此,不 分派物理分區(qū)內(nèi)的空間,且將應(yīng)用程序固件存儲在邏輯分區(qū)214中,并且像快閃存儲器 108中的其它任何用戶文件和數(shù)據(jù)那樣對所述應(yīng)用程序固件進(jìn)行邏輯尋址。圖3說明裝置的軟件的功能結(jié)構(gòu)以及其如何存取大容量存儲存儲器108。如上文提 到的,優(yōu)選實(shí)施例包括用于大容量存儲存儲器108的快閃型存儲器,且為了簡單起見, 在對優(yōu)選實(shí)施例的此描述期間可互換地使用所述術(shù)語。大體上將與快閃存儲器操作有關(guān) 的軟件部分稱為后端,而將涉及應(yīng)用程序和用戶界面的軟件部分稱為前端。固件應(yīng)用程序202A、 202B......202X在固件200上面運(yùn)行,固件200包含系統(tǒng)固件200B。雖然BLR200a是固件200的單獨(dú)組成部分,但BLR啟動(dòng)系統(tǒng)固件,且本質(zhì)上可大體上被看作是系 統(tǒng)固件200的一部分。系統(tǒng)固件200具有物理扇區(qū)地址例行程序或區(qū)塊206和邏輯/物理映射器或映射例行程序208。將大容量存儲存儲器108分割成物理存儲區(qū)域212和邏輯 存儲區(qū)域214。物理/邏輯分區(qū)216用于說明將大容量存儲存儲器108劃分或分割成區(qū)域 212和214。區(qū)域212和216中的每一者可被進(jìn)一步分割成多個(gè)較小區(qū)域,且在此項(xiàng)技術(shù) 中通常也使用術(shù)語"分區(qū)"來指代這些較小區(qū)域。物理扇區(qū)存取例行程序或功能區(qū)塊206 控制物理區(qū)域或分區(qū)212中的讀取和寫入,且邏輯/物理映射器區(qū)塊控制邏輯存儲區(qū)域214 中的讀取和寫入。將包含系統(tǒng)固件200B的固件200存儲在物理區(qū)域212中。將應(yīng)用程序固件202A…… X存儲在邏輯區(qū)域214中,用戶文件也存儲在這個(gè)區(qū)域中。不時(shí)地通過系統(tǒng)固件的損耗 平衡例行程序到處移動(dòng)邏輯區(qū)域214中的應(yīng)用程序固件和其它所有數(shù)據(jù)。所有固件的可靠性優(yōu)選地在執(zhí)行固件之前進(jìn)行檢查。之所以這樣做是因?yàn)椋缭缦?論述的,大容量存儲存儲器108沒有其自身的內(nèi)建式保護(hù)機(jī)制。圖4的流程圖適用于固 件的任何片段,其中包含應(yīng)用程序固件。在步驟304中,對固件簽名。這通常在加載固 件時(shí)進(jìn)行,但可通過用新的記錄復(fù)寫己簽名的記錄來更新所述己簽名的記錄。簽名包括 所述固件的至少一部分的一個(gè)或一個(gè)以上散列值。散列值優(yōu)選地是MAC種類的,因?yàn)槿?早先論述的,MAC值是用密鑰創(chuàng)建的且不能被另一處理器重新創(chuàng)建,所述密鑰與創(chuàng)建 MAC值的控制器一起使用且/或存儲在所述控制器內(nèi)。固件的每個(gè)部分或片段可使用不 同密鑰來簽名。舉例來說,BLR 200A可用第一密鑰簽名,而系統(tǒng)固件200B用第二密鑰 簽名。固件200的各個(gè)部分(例如,疊層)也可用各種不同密鑰來簽名。作為另一實(shí)例, 應(yīng)用程序固件202A……X的每個(gè)片段可用不同密鑰來簽名。BLR 200A的散列值用獨(dú)特的過程來存儲和計(jì)算,在米奇'霍爾茨曼(Micky Holtzman) 等人的題為"存儲卡控制器固件的硬件驅(qū)動(dòng)器完整性檢查(Hardware Driver Integrity Check Of Memory Card Controller Firmware)"且代理人案號為SNDK.408US2的共同待決 的申請案中描述了所述過程。關(guān)于所述過程的更多信息,請參看所述申請案。在涉及前述壽命循環(huán)階段或狀態(tài)的一個(gè)優(yōu)選實(shí)施例中,只可在某些狀態(tài)下對固件簽 名,且不能執(zhí)行未經(jīng)簽名的固件。明確地說,在狀態(tài)150 (未圖示)下將不允許進(jìn)行固 件更新和簽名,其中狀態(tài)150是裝置一般將在交托給消費(fèi)者時(shí)所處的安全操作狀態(tài)。這 防止安裝可能不可靠的替代固件。所述實(shí)施例中的系統(tǒng)只使加密引擎能夠在除安全狀態(tài) 之外的狀態(tài)下對固件簽名。在其它實(shí)施例中,只要固件在加載之前經(jīng)過簽名且所述簽名 可由卡檢驗(yàn),就允許在所述區(qū)域(即,當(dāng)處于狀態(tài)150時(shí))中更新固件。也可識別和檢 驗(yàn)固件的來源,以及檢驗(yàn)固件本身的簽名。固件在加載之前應(yīng)當(dāng)由可信的實(shí)體供應(yīng),且在優(yōu)選實(shí)施例中,使用公共密鑰基礎(chǔ)設(shè)施("PKI")證書來建立信任。這個(gè)證書可作為基 于散列的簽名的補(bǔ)充或替代。舉例來說,如果建立了信任(在這個(gè)說明性實(shí)施例中是通 過證書),那么加密引擎將對固件簽名。作為另一附加預(yù)防措施,可與固件的供應(yīng)者建立 安全連接。將對安全連接進(jìn)行加密,以便保護(hù)在裝置與供應(yīng)者之間傳遞的數(shù)據(jù)。將優(yōu)選 地根據(jù)前述AES標(biāo)準(zhǔn)對安全連接進(jìn)行加密,但可采用任何己知的加密標(biāo)準(zhǔn)。如先前提到的,將系統(tǒng)固件分成多個(gè)大小較小的疊層,使得每個(gè)疊層可被加載到 RAM中以供執(zhí)行。將各個(gè)疊層的映射200cl存儲在快閃存儲器中。單獨(dú)對每個(gè)疊層簽名。 所述簽名(其優(yōu)選地是MAC值)的表200c2也作為固件200的一部分存儲在快閃存儲器 中。系統(tǒng)或裝置200在RAM中分派足夠的空間以加載完整的表200c2,且整個(gè)表在裝置 操作期間加載并駐存在RAM中。也將每個(gè)固件應(yīng)用程序202A……X分成多個(gè)疊層,且同樣地對每個(gè)疊層簽名。目前, 如同系統(tǒng)固件一樣,優(yōu)選的是計(jì)算依賴于密鑰的散列(例如,MAC)值以對固件應(yīng)用程 序簽名,但是如先前提到的,可使用其它散列值。表201B含有映射201A中的每個(gè)應(yīng)用 程序固件疊層的簽名。在RAM中預(yù)先分派具有一個(gè)扇區(qū)的緩沖區(qū)作為應(yīng)用程序固件簽名 的工作空間。雖然優(yōu)選的是對固件的任何部分的每個(gè)疊層進(jìn)行簽名,因?yàn)檫@會(huì)防止替換固件中可 能具有進(jìn)行關(guān)鍵決策的功能性的片段,但任何量的固件均可依賴于一個(gè)簽名。舉例來說, 雖然不是優(yōu)選的,但可對所有固件使用一個(gè)簽名。此外,待簽名的疊層或部分的大小也 可改變。再次參看圖4,在如上所述在步驟304中對固件進(jìn)行簽名之后,在步驟308中 檢驗(yàn)每個(gè)簽名。當(dāng)從快閃存儲器讀取固件的每個(gè)片段(例如,每個(gè)疊層)時(shí),所述片段 經(jīng)過加密引擎110,且由加密引擎"在運(yùn)行中"創(chuàng)建所述片段的散列值。將這個(gè)計(jì)算出的 值與存儲的值進(jìn)行比較,且如果所述值不匹配,那么固件的所述片段的可靠性存在問題。 如果匹配,那么將優(yōu)選地檢査早先相對于圖2描述的層級結(jié)構(gòu)的下一級別。優(yōu)選地與將 檢査存儲在額外存儲器中的拷貝一樣,將檢查所有級別。如先前提到的,此分布式層級 結(jié)構(gòu)確保固件和簽名是可靠的。圖5是說明固件執(zhí)行的流程圖。在步驟504中,系統(tǒng)檢驗(yàn)啟動(dòng)加載程序部分("BLR") 的簽名。這可如上文相對于系統(tǒng)固件提到的那樣進(jìn)行,但是優(yōu)選地在米奇.霍爾茨曼 (Micky Holtzman)等人的題為"存儲卡控制器固件的硬件驅(qū)動(dòng)器完整性檢查(Hardware Driver Integrity Check Of Memory Card Controller Firmware )" 且代理人案號為 SNDK.408US2的共同待決的申請案中描述的另 一過程中進(jìn)行。在已經(jīng)檢驗(yàn)了 BLR的簽名之后,在步驟506中執(zhí)行所述BLR。接下來,在步驟508中,系統(tǒng)檢驗(yàn)系統(tǒng)固件的簽 名。其接著在步驟510中執(zhí)行系統(tǒng)固件。如果存在任何應(yīng)用程序固件,那么在步驟512 中檢驗(yàn)其簽名,且接著一旦經(jīng)過檢驗(yàn),便在步驟514中執(zhí)行所述固件。針對應(yīng)用程序固 件的每個(gè)片段進(jìn)行此操作。如上文提到的,優(yōu)選地對在加載到RAM中之前或之時(shí)進(jìn)行檢 驗(yàn)的實(shí)體的每個(gè)疊層進(jìn)行檢驗(yàn)步驟506、 508和510中的任一者。圖6是說明對固件200進(jìn)行讀取和檢驗(yàn)的流程圖,所述固件200存儲在物理存儲區(qū) 域212中。這對應(yīng)于圖5的步驟504和508。在步驟604中,從存儲所述數(shù)據(jù)(在此情 況下為固件)的物理地址中讀取所述數(shù)據(jù)。同樣,在事先不進(jìn)行任何邏輯映射的情況下 執(zhí)行此物理讀取。接下來,在步驟604中,針對所述固件創(chuàng)建散列值。將這些值暫時(shí)存 儲在控制器的寄存器中。接下來,在步驟608中,將在步驟606中計(jì)算出的值與存儲的 散列值進(jìn)行比較。在所描述的實(shí)施例中,所存儲的值位于快閃存儲器的表中,且其自身 可能經(jīng)過加密。圖7是說明對固件應(yīng)用程序202A……X進(jìn)行讀取和檢驗(yàn)的流程圖。在步驟704中, 從存儲所述數(shù)據(jù)的邏輯地址處讀取所述數(shù)據(jù)。這包括在步驟704A中從系統(tǒng)固件請求邏輯 上尋址的數(shù)據(jù)。這還包括步驟704B,其中系統(tǒng)固件接著在所述給定時(shí)間用相應(yīng)的物理地 址來映射邏輯地址。在讀取數(shù)據(jù)(在此情況下為固件)之后,在步驟706中針對固件的 疊層或另一量計(jì)算散列值。接著在步驟708中,將計(jì)算得的散列值與存儲的散列值進(jìn)行 比較。同樣,在所描述的實(shí)施例中,所存儲的散列值位于快閃存儲器的表中,且其自身 可能經(jīng)過加密。雖然已經(jīng)相對于本發(fā)明的示范性實(shí)施例描述了本發(fā)明的各種方面,但將了解,本發(fā) 明有權(quán)在所附權(quán)利要求書的整個(gè)范圍內(nèi)受到保護(hù)。
權(quán)利要求
1.一種基于快閃存儲器的裝置,其包括一大容量存儲存儲庫,其包括快閃存儲器;一固件的第一級別,其存儲在所述大容量存儲存儲庫的物理存取分區(qū)中;一固件的第二級別,其存儲在所述大容量存儲存儲庫的邏輯存取分區(qū)中;一邏輯到物理接口程序,其在所述邏輯存取分區(qū)中將邏輯地址映射到物理地址;以及一控制器,其在不使用所述邏輯到物理接口程序的情況下執(zhí)行所述物理存取分區(qū)中的所述第一級別的固件,但通過所述邏輯到物理接口程序執(zhí)行所述第二級別的固件。
2. 根據(jù)權(quán)利要求1所述的基于快閃存儲器的裝置,其中所述邏輯到物理接口程序是所 述第一級別的固件的一部分。
3. 根據(jù)權(quán)利要求2所述的基于快閃存儲器的裝置,其中所述第二級別的固件的存儲位 置由所述第一級別的固件映射。
4. 一種具有大容量存儲能力的裝置,其包括大容量存儲裝置,其包括快閃存儲器單元; 一控制器,其具有加密硬件; 隨機(jī)存取存儲器以及一第一級別的固件,其存儲在所述大容量存儲快閃存儲器單元中,且控制向所述 快閃存儲器單元寫入數(shù)據(jù)和從所述快閃存儲器單元讀取數(shù)據(jù);其中用與所述裝置的所述控制器相關(guān)聯(lián)的散列值來檢驗(yàn)所述第一級別的固件的 可靠性。
5. 根據(jù)權(quán)利要求4所述的裝置,其中需要用所述控制器內(nèi)的密鑰來創(chuàng)建所述散列值, 且其中所述散列值與所述控制器的所述密鑰相關(guān)聯(lián)。
6. 根據(jù)權(quán)利要求4所述的裝置,其中所述第一級別的固件以經(jīng)加密格式進(jìn)行存儲。
7. 根據(jù)權(quán)利要求6所述的裝置,其中所述固件由所述加密硬件使用存儲在所述控制器 的非易失性存儲器中的密鑰進(jìn)行加密。
8. 根據(jù)權(quán)利要求4所述的裝置,其進(jìn)一步包括與所述第一級別的固件相關(guān)聯(lián)的所述散 列值的第一表,所述表存儲在所述大容量存儲快閃存儲器單元內(nèi)。
9. 根據(jù)權(quán)利要求8所述的裝置,其進(jìn)一步包括第二表,所述第二表包括所述第一表的所述數(shù)據(jù)的一個(gè)或一個(gè)以上散列值。
10. 根據(jù)權(quán)利要求9所述的裝置,其中所述第二表的所述散列值中的一者或一者以上與 所述裝置的所述控制器相關(guān)聯(lián)。
11. 根據(jù)權(quán)利要求9所述的裝置,其中所述第二表的拷貝存儲在所述控制器的非易失性 存儲器中。
12. 根據(jù)權(quán)利要求11所述的裝置,其中如果所述第二表的所述拷貝與所述第二表不匹 配,那么可靠性將不會(huì)通過檢驗(yàn)。
13. 根據(jù)權(quán)利要求4所述的裝置,其進(jìn)一步包括第二級別的固件,所述第二級別的固件 包括一個(gè)或一個(gè)以上固件應(yīng)用程序,所述第二級別的固件存儲在所述大容量存儲快 閃存儲器單元中。
14. 根據(jù)權(quán)利要求13所述的裝置,其進(jìn)一步包括第三表,所述第三表包括與所述第二 級別的固件相關(guān)聯(lián)的散列值。
15. 根據(jù)權(quán)利要求14所述的裝置,其中所述第三表經(jīng)過加密。
16. 根據(jù)權(quán)利要求15所述的裝置,其中所述第三表由所述控制器加密硬件使用存儲在 所述控制器的非易失性存儲器中的密鑰進(jìn)行加密。
17. 根據(jù)權(quán)利要求14所述的裝置,其中所述第三表的所述散列值中的一者或一者以上 與所述裝置的控制器相關(guān),且其中除非所述散列值中的一者或一者以上與所述控制 器相關(guān),否則所述裝置將不會(huì)起作用。
18. —種裝置,其包括一大容量存儲存儲庫,其包括快閃存儲器; 隨機(jī)存取存儲器;系統(tǒng)固件,其存儲在所述大容量存儲存儲庫的第一區(qū)域中;以及 應(yīng)用程序固件,其存儲在所述大容量存儲存儲庫的第二區(qū)域中,其中所述系統(tǒng)固件控制對所述第二區(qū)域中的數(shù)據(jù)的讀取和寫入,其中包含對所述應(yīng)用程序固件的讀取和寫入。
19. 根據(jù)權(quán)利要求18所述的裝置,其進(jìn)一步包括加密機(jī)制,所述加密機(jī)制檢驗(yàn)所述系 統(tǒng)固件和所述應(yīng)用程序固件。
20. 根據(jù)權(quán)利要求18所述的裝置,其進(jìn)一步包括加密硬件,所述加密硬件計(jì)算散列值, 所述散列值可追溯到創(chuàng)建所述值的特定硬件。
21. —種安全系統(tǒng),其包括一非安全大容量存儲存儲器 一安全控制器;以及固件,其包括所述安全系統(tǒng)的安全性機(jī)制,所述固件存儲在所述非安全大容量存 儲存儲器中,其中所述控制器可操作以在不使用所述固件的所述安全性機(jī)制的情況下檢驗(yàn)所 述固件的至少一部分的完整性,進(jìn)而盡管所述固件存儲在所述非安全大容量存儲存 儲器中也可防止對所述固件進(jìn)行未授權(quán)更改。
22. 根據(jù)權(quán)利要求21所述的安全系統(tǒng),其屮所述固件與所述系統(tǒng)的所述控制器相關(guān), 且其中除非建立了所述固件與所述控制器之間的相關(guān)性,否則所述裝置將不會(huì)起作用。
23. 根據(jù)權(quán)利要求21所述的安全系統(tǒng),其中所述固件包括一群組的層,且其中至少一 個(gè)層的可靠性由硬件進(jìn)行檢驗(yàn)。
24. 根據(jù)權(quán)利要求21所述的系統(tǒng),其進(jìn)一步包括多個(gè)狀態(tài),所述多個(gè)狀態(tài)中的一者或 一者以上是在生產(chǎn)期間使用的,且所述狀態(tài)中的一者或一者以上是由消費(fèi)者用來進(jìn) 行安全操作的。
25. 根據(jù)權(quán)利要求24所述的系統(tǒng),其中如果所述系統(tǒng)處于安全狀態(tài)下,那么在可將所 述固件存儲在所述非安全大容量存儲存儲器中之前,必須先識別所述固件的來源。
26. 根據(jù)權(quán)利要求24所述的系統(tǒng),其中所述多個(gè)狀態(tài)中的一者或一者以上可用于進(jìn)行 故障分析,且其中在所述多個(gè)狀態(tài)中的故障分析狀態(tài)下,來自未經(jīng)識別的來源的固 件可存儲在所述非安全大容量存儲存儲器中,且其中所述安全控制器在所述多個(gè)狀 態(tài)中的安全狀態(tài)下將不允許所述系統(tǒng)操作。
27. —種操作基于快閃存儲器的存儲裝置的方法,其包括提供快閃存儲器陣列; 保留所述快閃存儲器陣列的第一部分;將應(yīng)用程序固件存儲在所述快閃存儲器陣列的第二部分中,所述存儲包括向所述數(shù)據(jù)分配第一邏輯地址;將所述第一邏輯地址映射到第一物理地址;以及不時(shí)地將所述第一邏輯地址重新映射到第二物理地址; 將系統(tǒng)固件存儲在所述快閃存儲器陣列的所述第一部分中,其中在不首先從邏輯 地址映射所述系統(tǒng)固件的情況下將所述系統(tǒng)固件存儲到物理地址;在不首先從邏輯地址映射所述系統(tǒng)固件的情況下,有條件地用所述基于快閃存儲器的存儲裝置的處 理器來執(zhí)行所述系統(tǒng)固件;以及在首先從邏輯地址映射所述應(yīng)用程序固件之后,有條件地用所述基于快閃存儲器 的存儲裝置的處理器執(zhí)行所述應(yīng)用程序固件。
28. 根據(jù)權(quán)利要求27所述的方法,其進(jìn)一步包括將用戶內(nèi)容存儲在所述快閃存儲器陣 列的所述第二部分中。
29. 根據(jù)權(quán)利要求28所述的方法,其進(jìn)一步包括通過首先從邏輯地址映射所述用戶內(nèi) 容來讀取所述內(nèi)容。
30. 根據(jù)權(quán)利要求27所述的方法,其中將所述系統(tǒng)固件存儲在所述快閃存儲器陣列的 所述第一部分中進(jìn)一步包括存儲所述固件的可靠性指示。
31. 根據(jù)權(quán)利要求30所述的方法,其進(jìn)一步包括讀取所述系統(tǒng)固件的所述可靠性指示。
32. 根據(jù)權(quán)利要求31所述的方法,其進(jìn)一步包括確定所述系統(tǒng)固件的可靠性。
33. 根據(jù)權(quán)利要求32所述的方法,其中只有首先確定所述系統(tǒng)固件是可靠的,才在不 首先從邏輯地址映射所述系統(tǒng)固件的情況下通過存取所述物理地址來執(zhí)行所述系 統(tǒng)固件。
34. 根據(jù)權(quán)利要求28所述的方法,其進(jìn)一步包括通過讀取所述應(yīng)用程序固件的所存儲 的可靠性指示來確定所述應(yīng)用程序固件的可靠性。
35. 根據(jù)權(quán)利要求34所述的方法,其中只有首先確定所述應(yīng)用程序固件是可靠的,才 執(zhí)行所述應(yīng)用程序固件。
36. 根據(jù)權(quán)利要求34所述的方法,其中將所述指示綁定到所述裝置的控制器。
37. 根據(jù)權(quán)利要求30所述的方法,其中用加密引擎來創(chuàng)建所述指示。
38. 根據(jù)權(quán)利要求37所述的方法,其中所述系統(tǒng)固件包括第一部分,且其中用第一密 碼密鑰來創(chuàng)建所述第一部分的簽名。
39. 根據(jù)權(quán)利要求37所述的方法,其中所述系統(tǒng)固件包括第二部分,且其中用第二密 碼密鑰來創(chuàng)建所述第二部分的簽名。
40. —種操作基于快閃存儲器的裝置的方法,所述裝置將所述快閃存儲器用于大容量存 儲用途,所述裝置具有存儲在所述快閃存儲器內(nèi)的用于操作所述裝置的固件,所述 方法包括存取以物理格式存儲在所述快閃存儲器中的所述固件的第一級別;以及 存取以邏輯格式存儲在所述快閃存儲器中的所述固件的第二級別。
41. 根據(jù)權(quán)利要求40所述的方法,其中可由所述固件更新所述固件的所述第二級別的 邏輯到物理映射。
42. 根據(jù)權(quán)利要求41所述的方法,其中由所述固件的所述第一級別控制所述固件的所 述第二級別的所述邏輯到物理映射。
43. —種制作或操作大容量存儲裝置的方法,其包括提供快閃存儲器庫以對內(nèi)容和軟件進(jìn)行大容量存儲; 提供管理所述裝置的操作的控制器;用所述裝置的所述控制器將固件寫入在所述快閃存儲器庫內(nèi);當(dāng)所述固件由所述控制器寫入時(shí),用所述控制器特有的一個(gè)或一個(gè)以上簽名對所 述固件簽名;以及檢驗(yàn)所述固件的所述一個(gè)或一個(gè)以上簽名。
44. 根據(jù)權(quán)利要求43所述的方法,其進(jìn)一步包括如果所述一個(gè)或一個(gè)以上簽名通過檢 驗(yàn),那么執(zhí)行所述固件。
全文摘要
本發(fā)明提供一種具有大容量存儲能力的裝置,其使用容易獲得的非安全存儲器來進(jìn)行大容量存儲,但具有提供防止對數(shù)據(jù)進(jìn)行未授權(quán)拷貝的安全性的固件(和硬件)。即使所述固件本身存儲在所述非安全大容量存儲存儲器中且因此可能容易受到剽竊也是這樣。在所述固件將由所述裝置執(zhí)行所述固件之前,必須存在所述固件的可靠性指示。這保護(hù)裝置內(nèi)容免受未授權(quán)復(fù)制或竄改。可通過額外的固件應(yīng)用程序向所述裝置添加額外的功能性,且在將執(zhí)行所述額外的應(yīng)用程序之前,也將檢驗(yàn)其可靠性。這進(jìn)一步防止通過任何可能不擇手段引入的機(jī)制來對安全內(nèi)容進(jìn)行未授權(quán)拷貝或竄改。也可對所述大容量存儲存儲器內(nèi)的任何數(shù)據(jù)進(jìn)行加密。
文檔編號G06F21/00GK101273363SQ200680033896
公開日2008年9月24日 申請日期2006年9月13日 優(yōu)先權(quán)日2005年9月14日
發(fā)明者哈加伊·巴-埃爾, 羅內(nèi)恩·格林斯潘, 羅尼·夏皮羅, 邁克爾·霍爾茨曼 申請人:桑迪士克股份有限公司;迪斯克雷蒂克斯科技公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
1
沐川县| 龙江县| 泽普县| 深州市| 通城县| 闻喜县| 石楼县| 德庆县| 且末县| 乐清市| 巴东县| 嘉善县| 宜章县| 咸阳市| 库车县| 丰宁| 庆云县| 泾阳县| 南昌市| 洪湖市| 永州市| 贵南县| 同德县| 济源市| 湘西| 西峡县| 禄劝| 大田县| 堆龙德庆县| 肥城市| 遵义县| 永登县| 盐津县| 苍溪县| 阿坝县| 佛山市| 罗甸县| 云梦县| 舟曲县| 宁国市| 丽江市|