專利名稱:完整性保護(hù)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明是關(guān)于一種非揮發(fā)性存儲(chǔ)器數(shù)據(jù)有效性檢査的方法及機(jī)制,特別(但不 限于)是針對(duì)移動(dòng)性裝置內(nèi)的非揮發(fā)性存儲(chǔ)器。本文中所提到的"移動(dòng)性裝置"是 包括手機(jī)、個(gè)人數(shù)字助理、筆記本計(jì)算機(jī)及臺(tái)式計(jì)算機(jī)等等。
背景技術(shù):
移動(dòng)性裝置會(huì)遭受各類的破壞,比如說(shuō)小偷會(huì)想去改變偷來(lái)手機(jī)的IMEI (International Mobile Equipment Identifier)碼或者去規(guī)避手機(jī)被鎖定 SIM (Subscriber Identity Module)卡。此外駭客也想設(shè)法取出數(shù)字版權(quán)管理 DRM(digital rights management)的金鑰(key)去解密比如說(shuō)像音樂(lè)文件這樣的東 西,而產(chǎn)生一種不用付版權(quán)費(fèi)即可放錄及傳播的版本。移動(dòng)性裝置也暴露在惡意的 軟件下,比如說(shuō)計(jì)算機(jī)病毒及廣告軟件(adware)在未經(jīng)許可下會(huì)去存取甚至修改裝 置內(nèi)的程序代碼或數(shù)據(jù)。
如今這種威脅的一個(gè)典型解決方式是在移動(dòng)性裝置的處理器新增一個(gè)防護(hù)裝 置,此防護(hù)裝置配備著某種計(jì)數(shù)測(cè)量來(lái)達(dá)到所要求的防護(hù)標(biāo)準(zhǔn)。然而在提高性能及 減少耗能的趨勢(shì)下, 一個(gè)移動(dòng)性裝置往往內(nèi)含多個(gè)處理器。如果多個(gè)處理器及其個(gè) 別的防護(hù)裝置都共存于一個(gè)單一的移動(dòng)性裝置上,整個(gè)系統(tǒng)的安全性就會(huì)浮出弱 點(diǎn),因?yàn)樘幚砥魃系姆雷o(hù)裝置可能有不同的機(jī)能(特別是處理器是來(lái)自于不同廠家 時(shí))。
移動(dòng)性裝置的另一個(gè)設(shè)計(jì)趨勢(shì),尤指在手機(jī)的設(shè)計(jì)上,是使用大容量的非揮發(fā) 性儲(chǔ)存裝置(non-volatile storage device),比如畫(huà)D快閃存儲(chǔ)器(flash memory)。這一類的存儲(chǔ)器是不能隨機(jī)存取的,因此一個(gè)含此類存儲(chǔ)器的移動(dòng)性裝 置在使用存儲(chǔ)器內(nèi)的數(shù)據(jù)之前,移動(dòng)性裝置內(nèi)的一個(gè)處理器必須先行讀取存儲(chǔ)器的 數(shù)據(jù)然后再轉(zhuǎn)存至一隨機(jī)存取儲(chǔ)存裝置(RAM)
發(fā)明內(nèi)容
根據(jù)本發(fā)明的其中一目的,本發(fā)明是一數(shù)據(jù)處理單元、 一控制單元以及一包含 非揮發(fā)性儲(chǔ)存裝置的集成電路,其中,該控制單元被設(shè)于該集成電路與該數(shù)據(jù)處理 單元之間,并提供所有該數(shù)據(jù)處理單元對(duì)該集成電路的存取,當(dāng)該數(shù)據(jù)處理單元需 要該非揮發(fā)性儲(chǔ)存裝置的一信息時(shí),該控制單元是用以檢査該信息的有效性,并避 免該數(shù)據(jù)處理單元使用無(wú)效的該信息。
通過(guò)檢査該數(shù)據(jù)的有效性(該數(shù)據(jù)可為程序代碼、數(shù)據(jù)或是以上兩者的組合), 控制單元維護(hù)了該數(shù)據(jù)處理系統(tǒng)的運(yùn)作因而促進(jìn)維持該數(shù)據(jù)處理系統(tǒng)的安全。
控制單元不一定是在數(shù)據(jù)處理單元與集成電路間的物理位置上,控制單元也可
能是位于數(shù)據(jù)處理單元與集成電路間的傳達(dá)路徑上。
控制單元可阻止該數(shù)據(jù)被使用,比如說(shuō)控制單元可拒絕傳送該數(shù)據(jù)至該數(shù)據(jù)處
理單元或拒絕儲(chǔ)存該數(shù)據(jù)至該數(shù)據(jù)處理單元所屬的儲(chǔ)存裝置。
該包含非揮發(fā)性儲(chǔ)存裝置的集成電路可為一 NAND快閃存儲(chǔ)器。 該數(shù)據(jù)處理單元可包含一個(gè)或多個(gè)數(shù)據(jù)處理器。
在某些實(shí)施例中,數(shù)據(jù)處理單元及控制單元被整合至集成電路內(nèi)系統(tǒng)的一部份。
數(shù)據(jù)處理系統(tǒng)本身可能為一手機(jī)(例如一 3G手機(jī))或手機(jī)的一部份,當(dāng)然本數(shù) 據(jù)處理系統(tǒng)可用于其它的應(yīng)用上。
圖l是一手機(jī)的配置示意圖。
具體實(shí)施例方式
本發(fā)明的某些實(shí)施例及相關(guān)的附圖將通過(guò)下列范例來(lái)說(shuō)明,其中 圖l是一手機(jī)的配置示意圖。
圖1為手機(jī)10的圖解。該圖只顯示了描述本發(fā)明所需的組件,基于簡(jiǎn)潔清楚 的原因,手機(jī)的其它元件(例如天線、鍵盤(pán)、電源、顯示裝置及外殼)在此被省略了。
于圖1,手機(jī)10包括有數(shù)據(jù)處理器12及14 (亦即數(shù)據(jù)處理單元)、 一隨機(jī)存 取儲(chǔ)存裝置(RAM ) 16 (亦即隨機(jī)存取儲(chǔ)存單元)、 一快閃存儲(chǔ)器控制器18 (亦即 控制單元)以及一 NAND快閃存儲(chǔ)器20 (亦即包含非揮發(fā)性儲(chǔ)存裝置的集成電路)。 圖1內(nèi)的雙向箭頭顯示這些元件用于數(shù)據(jù)或指令流動(dòng)的路徑。數(shù)據(jù)處理器14是一數(shù)據(jù)處理器, 一方面解調(diào)來(lái)自天線端(未顯示)所接收的數(shù) 字化載頻信號(hào), 一方面調(diào)變預(yù)定送至天線端的數(shù)據(jù)成為數(shù)字化載頻信號(hào)。數(shù)據(jù)處理
器12是一應(yīng)用處理器,使用來(lái)自數(shù)據(jù)處理器14解調(diào)后的信息,傳送手機(jī)10欲傳 遞的信息至數(shù)據(jù)處理器14,控制手機(jī)10高階接收及傳送功能,并驅(qū)動(dòng)手機(jī)10顯 示屏幕(未顯示)及揚(yáng)聲器(未顯示)。
快閃存儲(chǔ)器控制器18控制數(shù)據(jù)處理器12及14對(duì)NAND快閃存儲(chǔ)器20內(nèi)容的 存取。比如說(shuō)當(dāng)數(shù)據(jù)處理器12及14欲存取NAND快閃存儲(chǔ)器20同一區(qū)塊時(shí),快閃 存儲(chǔ)器控制器18可扮演仲裁的角色??扉W存儲(chǔ)器控制器18包含只讀存儲(chǔ)器(ROM) 的兩個(gè)區(qū)塊其各包含數(shù)據(jù)處理器12及14的開(kāi)機(jī)碼26及28。
R認(rèn)16可被劃分為RAM區(qū)塊22及24。 RAM區(qū)塊22及24分別只能被數(shù)據(jù)處理 器12及14存取。
快閃存儲(chǔ)器控制器18、應(yīng)用處理器12、數(shù)據(jù)處理器14及RAM 16可被整合至 同一片芯片內(nèi)或稱為SoC (system on a chip,單芯片系統(tǒng))。如此一來(lái)元件12 至18間未經(jīng)許可的存取動(dòng)作出現(xiàn)的困難度便增高了。
稍早有提到,數(shù)據(jù)處理器12及14只能通過(guò)快閃存儲(chǔ)器控制器18去存取NAND 快閃存儲(chǔ)器20??扉W存儲(chǔ)器控制器18內(nèi)包含一 HMAC安全信息摘要機(jī)制30及 AES (Advanced Encryption Standard)加密機(jī)制。HMAC及AES的準(zhǔn)則分別在聯(lián)邦信 息處理標(biāo)準(zhǔn)(Federal Information Processing , FIPS)的198及197項(xiàng)有詳細(xì)介 紹。
當(dāng)數(shù)據(jù)處理器12及14其中之一欲從NAND快閃存儲(chǔ)器20擷取信息(可為數(shù)據(jù)、 指令或是以上兩者的組合)時(shí),快閃存儲(chǔ)器控制器18可利用HMAC安全信息摘要機(jī) 制30去檢查信息的完整性,如果此信息在NAND快閃存儲(chǔ)器20是以加密的型式存 在的話,可使用AES加密機(jī)制32去解密。擷取出來(lái)的信息通過(guò)快閃存儲(chǔ)器控制器 18以直接存儲(chǔ)器存取(direct memory access, DMA)的方式被存入提出存取要求的 數(shù)據(jù)處理器相對(duì)應(yīng)的RAM區(qū)塊,以確保該信息安全無(wú)慮的傳送至該數(shù)據(jù)處理器。
當(dāng)數(shù)據(jù)處理器12及14其中之一欲在NAND快閃存儲(chǔ)器20寫(xiě)入信息(可為數(shù)據(jù)、 指令或是以上兩者的組合)時(shí),快閃存儲(chǔ)器控制器18可利用HMAC安全信息摘要機(jī) 制30去產(chǎn)生該信息的數(shù)字簽章,如果需要的話,使用AES加密機(jī)制32去加密該信 息。HMAC安全信息摘要機(jī)制30及AES加密機(jī)制32所使用的金鑰是儲(chǔ)存在位于快 閃存儲(chǔ)器控制器18內(nèi)的一 ROM里(未顯示),數(shù)據(jù)處理器12及14都沒(méi)有權(quán)限至該 R0M存取。這些金鑰是手機(jī)IO特有的。NAND快閃存儲(chǔ)器20儲(chǔ)存著不同種類的數(shù)據(jù),比如說(shuō)NAND快閃存儲(chǔ)器20儲(chǔ)存 著手機(jī)10的IMEI碼、鎖定SIM卡(SIM lock)的數(shù)據(jù)以及DRM的金鑰。稍早有提 到,數(shù)據(jù)處理器12及14的開(kāi)機(jī)碼26及28儲(chǔ)存在快閃存儲(chǔ)器控制器18內(nèi)。所有 數(shù)據(jù)處理器12及14所需的其它程序代碼都被儲(chǔ)存在NAND快閃存儲(chǔ)器20。 NAND 快閃存儲(chǔ)器20是一標(biāo)準(zhǔn)的商業(yè)芯片。
快閃存儲(chǔ)器控制器18把NAND快閃存儲(chǔ)器20內(nèi)的信息劃分成數(shù)組別,各組別 分別有其存取、完整性及機(jī)密的設(shè)定。關(guān)于這些組別的設(shè)定及前述劃分法都儲(chǔ)存在 NAND快閃存儲(chǔ)器20內(nèi)。快閃存儲(chǔ)器控制器18把這些組別設(shè)定及劃分法視為一個(gè) 特別的組別,稱為組別定義表。每個(gè)組別的定義包括有
參一起始地址及該組別最大的容量,這兩項(xiàng)數(shù)據(jù)可顯示該組別在NAND快閃存 儲(chǔ)器20內(nèi)所占的范圍。
攀一完整性標(biāo)識(shí)以顯示該組別內(nèi)的信息是否有經(jīng)過(guò)一 HMAC數(shù)字簽章處理。
參一加密標(biāo)識(shí)以顯示該組別內(nèi)的信息是否有經(jīng)過(guò)AES加密。
參二個(gè)存取標(biāo)識(shí), 一個(gè)標(biāo)識(shí)用以顯示是否數(shù)據(jù)處理器12有權(quán)限存取該組別, 另一個(gè)標(biāo)識(shí)用以顯示是否數(shù)據(jù)處理器14有權(quán)限存取該組別。
兩個(gè)數(shù)據(jù)處理器都有權(quán)限去存取該組別定義表。該組別定義表包含一 HMAC數(shù) 字簽章,其是利用手機(jī)特有的HMAC金鑰并根據(jù)表內(nèi)的組別定義內(nèi)容而產(chǎn)生的。
開(kāi)機(jī)程序
快閃存儲(chǔ)器控制器18可用以控制數(shù)據(jù)處理器12及14的重置信號(hào)(reset signal)。當(dāng)圖1顯示的系統(tǒng)重開(kāi)機(jī)時(shí),快閃存儲(chǔ)器控制器18會(huì)保持?jǐn)?shù)據(jù)處理器 12及14處于重置模式下??扉W存儲(chǔ)器控制器18然后會(huì)自先初始化并讀取NAND快 閃存儲(chǔ)器20內(nèi)組別定義表的內(nèi)容,提交代表組別定義表的數(shù)據(jù)至HMAC安全信息摘 要機(jī)制30,并在一適當(dāng)金鑰的輔助下,通過(guò)HMAC安全信息摘要機(jī)制30產(chǎn)生該組 別定義表所對(duì)應(yīng)的數(shù)字簽章,并據(jù)此檢査組別定義表的真實(shí)性(authenticity)。若 組別定義表內(nèi)的數(shù)字簽章與HMAC安全信息摘要機(jī)制30產(chǎn)生的數(shù)字簽章相同,快閃 存儲(chǔ)器控制器18視該組別定義表為真。如果該組別定義表無(wú)法通過(guò)完整性檢查 (integrity check),快閃存儲(chǔ)器控制器18會(huì)中止開(kāi)機(jī)的程序。如果該組別定義表 被視為真,快閃存儲(chǔ)器控制器18會(huì)繼續(xù)對(duì)NAND快閃存儲(chǔ)器20內(nèi)被選定的組別做 相同的完整性檢査。如果有任何一組無(wú)法通過(guò)完整性檢査,快閃存儲(chǔ)器控制器18 會(huì)中止開(kāi)機(jī)的程序。
假如組別定義表及其它被選定的組別都通過(guò)了完整性檢査,快閃存儲(chǔ)器控制器18會(huì)通過(guò)移除數(shù)據(jù)處理器內(nèi)的重置信號(hào)以繼續(xù)重幵機(jī)的程序。然后并允許數(shù)據(jù)處
理器自R0M26內(nèi)讀取開(kāi)機(jī)碼。依相同的程序,快閃存儲(chǔ)器控制器18允許數(shù)據(jù)處理 器14利用R0M28內(nèi)的開(kāi)機(jī)碼來(lái)開(kāi)機(jī)。如此一來(lái),快閃存儲(chǔ)器控制器18能保證數(shù)據(jù) 處理器12及14能可靠的開(kāi)機(jī)。當(dāng)這一步完成后,為求充分的操作,數(shù)據(jù)處理器 12及14會(huì)請(qǐng)求快閃存儲(chǔ)器控制器18自NAND快閃存儲(chǔ)器20內(nèi)讀信息。通常在這 種情況下自NAND快閃存儲(chǔ)器20內(nèi)所擷取的多是程序代碼,而且是用讀取的方式, 于稍后會(huì)介紹讀取的步驟。如此一來(lái),數(shù)據(jù)處理器12及14的運(yùn)作是安全的。 讀取快閃計(jì)憶體
當(dāng)數(shù)據(jù)處理器12及14其中之一請(qǐng)求快閃存儲(chǔ)器控制器18去讀取NAND快閃存 儲(chǔ)器20內(nèi)某一組別內(nèi)的信息時(shí),快閃存儲(chǔ)器會(huì)執(zhí)行以下一連串的步驟,在此,在 此稱為讀取步驟
參快閃存儲(chǔ)器控制器18去讀取組別定義表內(nèi)該組別對(duì)應(yīng)該數(shù)據(jù)處理器的存取 標(biāo)識(shí),若該存取標(biāo)識(shí)顯示該數(shù)據(jù)處理器無(wú)權(quán)存取該組別的信息,則中止讀取步驟。
參若該存取標(biāo)識(shí)顯示該數(shù)據(jù)處理器有權(quán)存取,則繼續(xù)讀取步驟。接下來(lái)快閃存 儲(chǔ)器控制器18自組別定義表檢査該組別的加密標(biāo)識(shí),若該加密標(biāo)識(shí)顯示該組別是 機(jī)密并經(jīng)過(guò)加密的保護(hù),快閃存儲(chǔ)器控制器18通過(guò)AES加密機(jī)制32及一適當(dāng)?shù)慕?鑰去解密需求的信息。
參快閃存儲(chǔ)器控制器18自組別定義表檢査該組別的完整性標(biāo)識(shí),若該完整性 標(biāo)識(shí)顯示該組別并無(wú)該信息的數(shù)字簽章,則直接傳送該信息給該數(shù)據(jù)處理器;若該 完整性標(biāo)識(shí)顯示該組別有包含一該信息所對(duì)應(yīng)的一 HMAC數(shù)字簽章,則快閃存儲(chǔ)器 利用一適當(dāng)?shù)慕痂€向HMA麗AC安全信息摘要機(jī)制30申請(qǐng)?jiān)撔畔⒁粩?shù)字簽章,若以 上程序產(chǎn)生的數(shù)字簽章與該組別的數(shù)字簽章不同,則中止讀取步驟。
參若兩數(shù)字簽章相同,則傳送該信息給該數(shù)據(jù)處理器并結(jié)束讀取步驟。
寫(xiě)入快閃存儲(chǔ)器
當(dāng)數(shù)據(jù)處理器12及14其中之一請(qǐng)求快閃存儲(chǔ)器控制器18自NAND快閃存儲(chǔ)器 20內(nèi)的某一組別寫(xiě)入信息時(shí),數(shù)據(jù)處理器請(qǐng)求快閃存儲(chǔ)器控制器18執(zhí)行以下一連 串的步驟,在此稱為寫(xiě)入步驟
參快閃存儲(chǔ)器控制器18去檢査組別定義表內(nèi)標(biāo)示該數(shù)據(jù)處理器是否有權(quán)存取 該組別的存取標(biāo)識(shí),若該存取標(biāo)識(shí)顯示該數(shù)據(jù)處理器無(wú)權(quán)存取該組別,則中止寫(xiě)入 步驟。
參然而,若該數(shù)據(jù)處理器有權(quán)存取該組別,則快閃存儲(chǔ)器控制器18開(kāi)始讀取該數(shù)據(jù)處理器欲寫(xiě)入該組別的信息。
參接下來(lái)快閃存儲(chǔ)器控制器18自組別定義表檢查該組別的完整性標(biāo)識(shí)以決定
放置該組別內(nèi)的信息是否需要一 HMAC數(shù)字簽章。若該完整性標(biāo)識(shí)顯示需要一 面AC 數(shù)字簽章,快閃存儲(chǔ)器控制器18提交該信息至HMAC安全信息摘要機(jī)制30,并利 用一適當(dāng)金鑰產(chǎn)生該信息的HMAC數(shù)字簽章。
參快閃存儲(chǔ)器控制器18自組別定義表檢查該組別的加密標(biāo)識(shí)。若該加密標(biāo)識(shí) 顯示放置該組別內(nèi)的信息需要加密處理,快閃存儲(chǔ)器控制器18提交該信息至AES 加密機(jī)制32,并利用一適當(dāng)金鑰對(duì)該信息加密處理。
攀快閃存儲(chǔ)器控制器18自NAND快閃存儲(chǔ)器20內(nèi)的該組別寫(xiě)入該信息,若加 密處理己完成,則以加密后的形式寫(xiě)入;若HMAC處理已完成,則包含一數(shù)字簽章。
參結(jié)束寫(xiě)入步驟。
快閃存儲(chǔ)器起始模式
快閃存儲(chǔ)器控制器18有一起始模式是用以當(dāng)NAND快閃存儲(chǔ)器20有一起始產(chǎn) 生參考版(initial production image)且快閃存儲(chǔ)器控制器18還未建立起組別定 義表時(shí)。起始模式也用于當(dāng)手機(jī)欲更新一個(gè)或多個(gè)數(shù)據(jù)處理器的程序代碼,或是 NAND快閃存儲(chǔ)器20已無(wú)法提供多余容量時(shí)。
在起始模式下,快閃存儲(chǔ)器控制器18只允許數(shù)據(jù)處理器12能重新激活。此時(shí) 數(shù)據(jù)處理器12自SoC內(nèi)的ROM擷取重新激活所需的程序代碼,以確保在起始模式 下數(shù)據(jù)處理器12能正常運(yùn)作。在起始模式下,數(shù)據(jù)處理器12能更新NAND快閃存 儲(chǔ)器20內(nèi)的任何組別,包括組別定義表。因?yàn)槿ヒ种茢?shù)據(jù)處理器14重新激活,手 機(jī)10避免在起始模式下進(jìn)入了完全運(yùn)作模式(fully functional state)。
假設(shè)NAND快閃存儲(chǔ)器20己內(nèi)含一起始產(chǎn)生參考版,快閃存儲(chǔ)器控制器18可 讀取NAND快閃存儲(chǔ)器20內(nèi)那些在完整性標(biāo)識(shí)內(nèi)有顯示需要HMAC數(shù)字簽章的組別 信息,并替他們計(jì)算出HMAC數(shù)字簽章,如果需要的話,進(jìn)一步的以加密的型式寫(xiě) 回快閃存儲(chǔ)器控制器18。
當(dāng)某一程序代碼更新需要覆蓋(a卯ly)NAND快閃存儲(chǔ)器20某一組別時(shí),該程 序代碼應(yīng)經(jīng)過(guò)HMAC安全信息摘要機(jī)制30而產(chǎn)生一數(shù)字簽章,如果需要的話,也應(yīng) 經(jīng)過(guò)AES加密機(jī)制32的加密處理并送回NAND快閃存儲(chǔ)器20的該組別。
在起始模式下,數(shù)據(jù)處理器12檢査需要產(chǎn)生HMAC數(shù)字簽章的信息是否使用來(lái) 自可信賴的機(jī)構(gòu)(如該手機(jī)10的制造商)的金鑰產(chǎn)生數(shù)字簽章。
其它的實(shí)施例在主要實(shí)施例中,直到HMAC安全信息摘要機(jī)制30產(chǎn)生一與該信息對(duì)應(yīng)的數(shù)字 簽章,而且該數(shù)字簽章與該信息所含的數(shù)字簽章完全吻合,讀取步驟才會(huì)送回該信 息給數(shù)據(jù)處理器。在其它的實(shí)施例中,完整性檢查與傳送信息至數(shù)據(jù)處理器的動(dòng)作 可同時(shí)并行,萬(wàn)一完整性檢查沒(méi)有通過(guò),則只要在信息尚未傳送完畢之前有執(zhí)行一 適當(dāng)?shù)膭?dòng)作即可(如同時(shí)重新激活數(shù)據(jù)處理器12及14)。
在主要實(shí)施例中,若在開(kāi)機(jī)程序中沒(méi)有通過(guò)完整性檢査會(huì)導(dǎo)致手機(jī)io重新激 活。在某些實(shí)施例中,保留NAND快閃存儲(chǔ)器20內(nèi)某些重要組別的備份是有意義的, 因?yàn)槿绱艘粊?lái),這些組別在一些偶發(fā)的事件后(例如因宇宙射線引起)得以復(fù)制回 來(lái)。
主要實(shí)施例是使用NAND快閃存儲(chǔ)器20。然而,在其它的實(shí)施例中可用任何形 式的非揮發(fā)性存儲(chǔ)器來(lái)取代NAND快閃存儲(chǔ)器20??扉W存儲(chǔ)器控制器18是用以驅(qū) 動(dòng)單一的非揮發(fā)性存儲(chǔ)器,如果有多個(gè)存儲(chǔ)器元件,快閃存儲(chǔ)器控制器18可通過(guò) 讓快閃存儲(chǔ)器經(jīng)過(guò)一標(biāo)準(zhǔn)接口例如共有快閃存儲(chǔ)器接口 (co(common flash interface, CFI)的方式去決定快閃存儲(chǔ)器機(jī)制。
主要實(shí)施例是包含兩個(gè)數(shù)據(jù)處理器,在其它的實(shí)施例中可包含其它數(shù)目的數(shù)據(jù) 處理器。
主要實(shí)施例是使用單一個(gè)NAND快閃存儲(chǔ)器20,在其它的實(shí)施例中可使用其它 數(shù)目的存儲(chǔ)器而且一個(gè)或多個(gè)的數(shù)據(jù)處理器只能通過(guò)控制器18來(lái)存取。
在主要實(shí)施例中,RAM16內(nèi)的RAM區(qū)塊22及24分別對(duì)應(yīng)于數(shù)據(jù)處理器12及 14,在其它的實(shí)施例中單一個(gè)RAM就可能對(duì)應(yīng)于所有的數(shù)據(jù)處理器。
在主要實(shí)施例中,快閃存儲(chǔ)器控制器18傳遞一信息至處理器的方式是通過(guò)DMA 的方式儲(chǔ)存該信息至該數(shù)據(jù)處理器對(duì)應(yīng)的RAM區(qū)塊上。在其它的實(shí)施例中,可以用 其它的機(jī)制來(lái)避免其它非請(qǐng)求的數(shù)據(jù)處理器使用自NAND快閃存儲(chǔ)器20擷取出的信 息。比如說(shuō)把自NAND快閃存儲(chǔ)器20擷取出的信息傳至該請(qǐng)求數(shù)據(jù)處理器內(nèi)的緩存 器內(nèi),而非傳至RAM16上。
在主要實(shí)施例中,本發(fā)明是實(shí)施在一手機(jī)10。本發(fā)明當(dāng)然也可在其它的裝置 實(shí)施,比如說(shuō)PDA、筆記本計(jì)算機(jī)及臺(tái)式計(jì)算機(jī)等等。
在主要實(shí)施例中,快閃存儲(chǔ)器控制器18內(nèi)的ROM 26及28分別各包含數(shù)據(jù)處 理器12及14的開(kāi)機(jī)碼。在其它的實(shí)施例中,這些幵機(jī)碼可儲(chǔ)存在NAND快閃存儲(chǔ) 器20,通過(guò)快閃存儲(chǔ)器控制器18傳送至數(shù)據(jù)處理器12及14,由HMAC安全信息摘 要機(jī)制30來(lái)通過(guò)完整性的檢查。在主要實(shí)施例中,完整性檢査機(jī)制是依據(jù)HMAC的準(zhǔn)則來(lái)實(shí)施而加密機(jī)制是依 據(jù)AES的準(zhǔn)則來(lái)實(shí)施。在其它的實(shí)施例中,顯然可使用其它的完整性檢査機(jī)制及加 密機(jī)制。
在主要實(shí)施例中,快閃存儲(chǔ)器控制器18是全部被建置在一芯片上。在其它的 實(shí)施例中,快閃存儲(chǔ)器控制器18可用一僅具有簡(jiǎn)單功能的處理器來(lái)實(shí)施,原有更 高階的功能可用儲(chǔ)存在相關(guān)非揮發(fā)性存儲(chǔ)器內(nèi)的程序代碼來(lái)提供。如此一來(lái)可允許 快閃存儲(chǔ)器控制器18改變其機(jī)能(比如說(shuō)在快閃存儲(chǔ)器控制器18內(nèi)發(fā)現(xiàn)有病毒或 安全漏洞時(shí))。
在主要實(shí)施例中,元件12至18被建置在一 SoC上。其實(shí)不一定一定要這么做, 雖然不這么做會(huì)損失一些安全性。如果元件12至18須被建置在多個(gè)獨(dú)立的芯片上, 可用配置一多芯片的套裝組合來(lái)加強(qiáng)安全性。
在主要實(shí)施例中,數(shù)據(jù)處理器12在起始模式執(zhí)行Soc內(nèi)ROM里面的程序代碼。 在一變化例中,數(shù)據(jù)處理器12在起始模式可執(zhí)行來(lái)自其它來(lái)源的程序代碼,所推 薦的方式是該程序代碼先通過(guò)數(shù)據(jù)處理器12的確認(rèn)并在Soc內(nèi)ROM程序代碼的控 制下進(jìn)行。
但以上所述的實(shí)施例不應(yīng)用于限制本發(fā)明的可應(yīng)用范圍,本發(fā)明的保護(hù)范圍應(yīng) 以本申請(qǐng)的權(quán)利要求范圍內(nèi)容所界定技術(shù)精神及其等同的變化所含括的范圍為準(zhǔn)。 即凡是根據(jù)本申請(qǐng)權(quán)利要求范圍所作出的種種等同的改變或替換,仍將不失本發(fā) 明的要義所在,亦不脫離本發(fā)明的精神和范圍,故都應(yīng)視為本發(fā)明的進(jìn)一步實(shí)施狀 況。
權(quán)利要求
1. 一種數(shù)據(jù)處理系統(tǒng),包括一數(shù)據(jù)處理單元、一控制單元以及一包含非揮發(fā)性儲(chǔ)存裝置的集成電路,其中,該控制單元被設(shè)于該集成電路與該數(shù)據(jù)處理單元之間,并提供所有該數(shù)據(jù)處理單元對(duì)該集成電路的存取,當(dāng)該數(shù)據(jù)處理單元需要該非揮發(fā)性儲(chǔ)存裝置的一信息時(shí),該控制單元是用以檢查該信息的有效性,并避免該數(shù)據(jù)處理單元使用無(wú)效的該信息。
2. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該信息是以加密的形式 儲(chǔ)存在該非揮發(fā)性儲(chǔ)存裝置中,該控制單元是如同一前驅(qū)物對(duì)該信息解密以檢査該 信息的有效性。
3. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該數(shù)據(jù)處理單元包括一個(gè)以上的數(shù)據(jù)處理器。
4. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該數(shù)據(jù)處理單元所使用 的開(kāi)機(jī)碼由該集成電路以外所提供。
5. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于還包括一隨機(jī)存取儲(chǔ)存單 元,該控制單元得以自該集成電路傳送該信息至該隨機(jī)存取儲(chǔ)存單元以供該數(shù)據(jù)處 理單元存取。
6. 根據(jù)權(quán)利要求5所述的數(shù)據(jù)處理系統(tǒng),其特征在于,只有當(dāng)有效性檢査顯示 該信息為有效后,該控制單元才傳送該信息至該隨機(jī)存取儲(chǔ)存單元。
7. 根據(jù)權(quán)利要求5所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該控制單元只允許該數(shù) 據(jù)處理單元自該隨機(jī)存取儲(chǔ)存單元里存取經(jīng)有效性檢査為有效后而擷取的全部或 部分該信息。
8. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該集成電路是一快閃存 儲(chǔ)器集成電路。
9.根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該信息是下列其中之一: 數(shù)據(jù)、指令及數(shù)據(jù)和指令的組合。
10. 根據(jù)權(quán)利要求9所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該信息或部分該信息 是用以被該數(shù)據(jù)處理單元請(qǐng)求作為開(kāi)機(jī)之用。
11. 根據(jù)權(quán)利要求l所述的數(shù)據(jù)處理系統(tǒng),其特征在于,當(dāng)該數(shù)據(jù)處理單元要 求自該集成電路寫(xiě)入一信息時(shí),該控制單元自該信息中計(jì)算出一完整性指針以在取出該信息時(shí)作為有效性檢査之用。
12. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該數(shù)據(jù)處理單元及該 控制單元是整合至一集成電路內(nèi)的同一系統(tǒng)下以與該含非揮發(fā)性儲(chǔ)存裝置的集成 電路互動(dòng)。
13. 根據(jù)權(quán)利要求1所述的數(shù)據(jù)處理系統(tǒng),其特征在于,該數(shù)據(jù)處理單元、該控制單元及該隨機(jī)存取儲(chǔ)存單元是整合成一集成電路內(nèi)的一系統(tǒng)以與該含非揮發(fā) 性儲(chǔ)存裝置的集成電路互動(dòng)。
14. 一種包括有根據(jù)權(quán)利要求1至13中任一項(xiàng)所述的數(shù)據(jù)處理系統(tǒng)的無(wú)線通訊 網(wǎng)絡(luò)裝置。
15. —種包括有根據(jù)權(quán)利要求1至13中任一項(xiàng)所述的數(shù)據(jù)處理系統(tǒng)的手機(jī)。
全文摘要
本發(fā)明是一種數(shù)據(jù)處理系統(tǒng),包括一數(shù)據(jù)處理單元、一控制單元以及一包含非揮發(fā)性儲(chǔ)存裝置(non-volatile storage)的集成電路,其中,該控制單元被設(shè)于該集成電路與該數(shù)據(jù)處理單元之間,并提供所有該數(shù)據(jù)處理單元對(duì)該集成電路的存取,當(dāng)該數(shù)據(jù)處理單元需要該非揮發(fā)性儲(chǔ)存裝置的一信息時(shí),該控制單元是用以檢查該信息的有效性,并避免該數(shù)據(jù)處理單元使用無(wú)效的該信息。本發(fā)明并有關(guān)于一些相對(duì)應(yīng)的方法以及實(shí)施這些方法的程序。
文檔編號(hào)G06F21/79GK101427260SQ200780008130
公開(kāi)日2009年5月6日 申請(qǐng)日期2007年2月28日 優(yōu)先權(quán)日2006年3月9日
發(fā)明者J·D·莫許 申請(qǐng)人:開(kāi)曼晨星半導(dǎo)體公司