專利名稱:在微控制器中用于數(shù)據(jù)安全性處理的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明通常涉及數(shù)據(jù)處理電路,更具體地說,涉及用于提高微控 制器中數(shù)據(jù)安全性的裝置和方法。
背景技術(shù):
典型地,計算機系統(tǒng)具有三個主要模塊中央處理單元(CPU)、 存儲器、和輸入/輸出電路。也被稱為是微計算機或嵌入式控制器的微 控制器可將這三個模塊合并到單塊集成電路芯片上。微控制器用于多 種控制應(yīng)用,例如蜂窩電話和其它移動設(shè)備、電視遙控、微波爐等。 根據(jù)應(yīng)用,微控制器或者可以能使其所有數(shù)據(jù)都在芯片上,或者可以 使部分?jǐn)?shù)據(jù)在芯片上而部分?jǐn)?shù)據(jù)在芯片外。對于數(shù)據(jù)存儲在芯片外的 這些應(yīng)用,典型地,微控制器設(shè)計成在"擴展模式"中運行,在所述模 式中,地址和數(shù)據(jù)信號出現(xiàn)在集成電路管腳上。所述管腳允許微控制 器經(jīng)由外部數(shù)據(jù)總線訪問外部存儲器中的數(shù)據(jù)。通常,限制對使用微控制器的移動設(shè)備中的數(shù)據(jù)的訪問是重要 的。根據(jù)它們的屬性,比起非便攜設(shè)備,這些移動設(shè)備更容易丟失和 被偷竊。此外,在有復(fù)雜的軟件的許多應(yīng)用(例如蜂窩電話)中,所 需的數(shù)據(jù)通常太大而不合適完全在芯片上。因此,典型地,至少部分 數(shù)據(jù)將位于芯片外,并且微控制器必須在擴展模式中訪問所述數(shù)據(jù)。 結(jié)果, 一旦這樣的設(shè)備在未授權(quán)的用戶手中,其數(shù)據(jù)變得很容易被訪 問和濫用。訪問存儲在外部存儲器中數(shù)據(jù)的普通方法是簡單地從其 插口中拔出外部存儲器芯片,并且使用分離的硬件讀取已存儲的數(shù) 據(jù)。此外,通過以逆向工程方式探測外部數(shù)據(jù)總線以及分析內(nèi)部數(shù)據(jù) 流和存儲器狀態(tài),甚至可頻繁讀取內(nèi)部存儲的數(shù)據(jù)。為了保護這些可以部分是芯片外的敏感數(shù)據(jù),某些微控制器已經(jīng)實現(xiàn)地址和數(shù)據(jù)加密技術(shù)。地址加密通常包括對微控制器中的內(nèi)部存 儲器的物理位置加擾,從而未授權(quán)用戶不能通過確定存儲器單元的邏 輯狀態(tài)和獲知由于存儲器單元的物理位置而產(chǎn)生的順序來讀出數(shù)據(jù)。而數(shù)據(jù)加密包括當(dāng)從CPU或內(nèi)部存儲器向外部存儲器傳數(shù)據(jù)時加 密數(shù)據(jù),和當(dāng)從外部存儲器將數(shù)據(jù)讀取到CPU或內(nèi)部存儲器時解密 數(shù)據(jù)。已有許多公知的使用數(shù)學(xué)變換的加密方案,并且甚至可使用數(shù) 據(jù)的地址位置作為變換的一部分。但是,盡管上述方法提供了改良的數(shù)據(jù)安全性,至少還存在一個 重要的弱點。在微控制器中,軟件應(yīng)用將頻繁地?zé)o限制地訪問貯存在 微控制器中的存儲器的、內(nèi)部的或外部的所有數(shù)據(jù)。結(jié)果,軟件進程 可用作惡意訪問貯存在存儲器內(nèi)的敏感數(shù)據(jù)的手段。不幸的是,雖然 個人計算機通過使用例如虛擬機或仿真器的技術(shù)可對這樣的威脅作 出響應(yīng),但是所述技術(shù)一般在嵌入式微控制器應(yīng)用中是不可用的。為了上述原因,需要更好地保護與微控制器關(guān)聯(lián)的敏感數(shù)據(jù),以 防止設(shè)備內(nèi)運行的惡意軟件進程和未授權(quán)的嘗試從外部數(shù)據(jù)總線和/ 或外部存儲器來讀取數(shù)據(jù)。發(fā)明內(nèi)容本發(fā)明提出了用于保護微控制器中的數(shù)據(jù)以防止設(shè)備內(nèi)運行的 惡意軟件進程和未授權(quán)的嘗試從外部數(shù)據(jù)總線和/或外部存儲器來讀 取數(shù)據(jù)的裝置和方法。部分地,本發(fā)明的示例性實施例通過利用增強 的存儲器管理單元(MMU )完成這些安全性的改進.所述增強的MMU 被配置為防止在所述微控制器上運行的一個軟件進程訪問與運行在 相同微控制器上的不同軟件進程關(guān)聯(lián)的數(shù)據(jù)。此外,通過外部數(shù)據(jù)總 線傳輸?shù)幕虼鎯υ谕獠看鎯ζ魃系臄?shù)據(jù)被加密,因此將減少未授權(quán)用 戶從所述數(shù)據(jù)取得可利用信息的機會。根據(jù)本發(fā)明的一方面, 一種裝置包括CPU、存儲器和MMU,其 中,所述存儲器和所述MMU耦合到所述CPU。所述CPU用于至少 執(zhí)行利用第 一組數(shù)據(jù)的第 一軟件進程和利用第二組數(shù)據(jù)的第二軟件進程。此外,所述存儲器可用于將笫一組數(shù)據(jù)存儲在第一存儲器部分 中和將第二組數(shù)據(jù)存儲在第二存儲器部分中。為了實現(xiàn)改進的數(shù)據(jù)安全性,所述MMU會用于允許中央處理單元僅當(dāng)執(zhí)行第一軟件進程時 訪問第 一存儲器部分以及僅當(dāng)執(zhí)行第二軟件進程時訪問第二存儲器 部分。此外,第一組數(shù)據(jù)的至少一部分和第二組數(shù)據(jù)的至少一部分被 加密,并且根據(jù)與第二組數(shù)據(jù)的加密部分不同的加密密鑰來加密第一 組數(shù)據(jù)的加密部分。在示例性實施例中,微控制器經(jīng)由外部數(shù)據(jù)總線耦合到外部存儲 器。此外,微控制器耦合到外部密鑰儲存存儲器。接著,微控制器包 括CPU、 MMU、密碼單元和密鑰管理器。所述外部存儲器包括多個 存儲器部分,每個存儲器部分和運行在微控制器上的一個軟件進程關(guān) 聯(lián)。當(dāng)CPU執(zhí)行特定的軟件進程時,所述MMU僅允許CPU訪問與 所述特定軟件進程關(guān)聯(lián)的特定存儲器部分。此外,所述MMU、密碼 單元、密鑰管理器和外部密鑰儲存存儲器相互協(xié)作以便當(dāng)數(shù)據(jù)在寫操 作中被發(fā)送到外部存儲器之前對數(shù)據(jù)加密,以及當(dāng)在讀取操作中從外 部存儲器接收到數(shù)據(jù)時對數(shù)據(jù)進行解密。有利的是,關(guān)于防止設(shè)備內(nèi)運行的惡意軟件進程和未授權(quán)的嘗試 從外部數(shù)據(jù)總線和/或外部存儲器來讀取數(shù)據(jù)方面來說,根據(jù)本發(fā)明各 個方面的裝置和方法提高了微控制器中的數(shù)據(jù)安全性。根據(jù)結(jié)合附圖閱讀的以下的詳細描述,本發(fā)明的這些和其它特點以及優(yōu)點將變得明 顯。
圖1示出根據(jù)本發(fā)明的示例性實施例的數(shù)據(jù)處理電路的框圖。 圖2示出圖1中數(shù)據(jù)處理電路的示例性讀操作的流程圖。 圖3示出圖1中數(shù)據(jù)處理電路的示例性寫操作的流程圖。
具體實施方式
下面將結(jié)合數(shù)據(jù)處理電路的示例性實施例對本發(fā)明進行闡述。然而,應(yīng)理解,本發(fā)明不限于示例性實施例的具體電路布置和元件。對 本發(fā)明的范圍內(nèi)的示例性實施例的其它可能的修改和改進將對本領(lǐng) 域的技術(shù)人員來說是明顯的。應(yīng)注意,這里所用的詞語"微控制器"期望包含任意包括CPU和 存儲器的設(shè)備。此外,這里所用的詞語"數(shù)據(jù)"期望包含可由CPU利 用以實現(xiàn)一個或多個CPU所駐留的數(shù)據(jù)處理電路的目的任意形式的 信息。因此,數(shù)據(jù)包括程序代碼(例如,將由CPU執(zhí)行的指令)以 及CPU執(zhí)行操作所根據(jù)和借助的信息。為了說明的目的,將由包含微控制器的實施例來說明本發(fā)明,所 述微控制器至少在一定程度上依靠用于數(shù)據(jù)存儲的外部存儲器。此 外,示例性實施例中的微控制器將可運行多個不同的軟件進程。這些 特征對例如在移動設(shè)備(如蜂窩電話和個人數(shù)字助理)中所利用的微 控制器來說是典型的。此外,所述示例性實施例的這些特征對于示出 根據(jù)本發(fā)明的裝置和方法的使用可如何用于在這樣的電路中提高數(shù) 據(jù)安全性是有用的。圖1示出根據(jù)本發(fā)明的示例性實施例的數(shù)據(jù)處理電路100的框 圖。所述數(shù)據(jù)處理電路包括微控制器110和外部存儲器120。所述微 控制器和外部存儲器通過外部數(shù)據(jù)總線130連接。外部密鑰儲存存儲 器140位于微控制器之外,并且耦合到微控制器中的元件。圖1進一步示出微控制器110和外部存儲器120中的一些元件。 更具體地,微控制器包括CPU 112和MMU 114。此外,微控制器包 括兩個在微控制器中不是典型出現(xiàn)的元件,即密碼單元116和密鑰管 理器118。微控制器中的四個元件中的每一個都與其它元件通信。此 夕卜,外部存儲器120包括多個存儲器部分,各自被標(biāo)記為122-i,其中, i=l, 2, 3......N,并且N是所述CPU所能執(zhí)行的軟件進程數(shù)目。應(yīng)注意,圖1并非期望示出執(zhí)行示例性實施例功能所需的每個元 件。此外,為了便于理解,僅示出那些為了示出本發(fā)明的特定功能和 優(yōu)點的所需要的元件。本領(lǐng)域人員將理解所需要的其它元件。例如, 微控制器110可能需要其它元件,例如內(nèi)部存儲器、數(shù)據(jù)高速緩沖存儲器、指令高速緩沖存儲器、轉(zhuǎn)換旁視緩沖器,寫緩沖器和總線接口 電路,但不限于此。此外,本領(lǐng)域人員將理解這些附加的元件所提供 的各種功能。外部存儲器120可由任意類型的存儲器電路實現(xiàn),但優(yōu)選地可用 動態(tài)隨機存取存儲器(DRAM)實現(xiàn)。當(dāng)和其它存儲器技術(shù)相比時, 典型地,DRAM具有高存儲密度、快速的訪問時間和每存儲單元相對 低的成本。此外,DRAM可在低功率下操作。這樣的低功率操作在追 求長電池壽命的移動設(shè)備中是關(guān)鍵的。有利的是,關(guān)于通過微控制器110內(nèi)運行的惡意軟件進程訪問和 未授權(quán)地嘗試從外部數(shù)據(jù)總線130和/或外部存儲器120來讀取數(shù)據(jù), 在圖1中的示例性實施例具有增強的數(shù)據(jù)安全性。所述示例性實施例 以兩種方式處理由惡意軟件進程引起的威脅。第一,MMU 114被配 置為僅當(dāng)CPU 112正執(zhí)行對應(yīng)的軟件進程(軟件進程i )時才允許CPU 訪問特定的存儲器部分122-i。例如,這說明MMU將僅當(dāng)CPU正執(zhí) 行對應(yīng)的軟件進程1時允許CPU訪問第一存儲器部分122-1,但當(dāng) CPU正執(zhí)行不是軟件進程1的軟件進程(例如軟件進程2 )時,將不 允許CPU訪問所述存儲器部分。第二,所述MMU和密鑰管理器118 以及外部加密密鑰儲存存儲器140共同合作,為運行在CPU上的每 個軟件進程進一步確定不同的加密密鑰。這些加密密鑰用于在寫操作 期間加密數(shù)據(jù),并且用于在讀操作期間解密數(shù)據(jù)。結(jié)果,根據(jù)與關(guān)聯(lián) 于不同軟件進程的數(shù)據(jù)不同的加密密鑰來加密與運行在CPU上的特 定軟件進程關(guān)聯(lián)的數(shù)據(jù)。關(guān)于未授權(quán)地嘗試從外部數(shù)據(jù)總線130和/或外部存儲器120來 讀取數(shù)據(jù),上述密碼方法確保對存儲在外部存儲器中的和通過外部數(shù) 據(jù)總線傳輸?shù)拿舾袛?shù)據(jù)進行加密。這樣的密碼方法使得未授權(quán)用戶很 難從所述數(shù)據(jù)得到可利用的信息。通過示例性的讀和寫操作流程圖在圖2和圖3中進一步描述圖1 數(shù)據(jù)處理電路IOO中的這些數(shù)據(jù)電路特征的實現(xiàn)。首先參照圖2中的 步驟202,通過使CPU112請求讀取數(shù)據(jù)來發(fā)起讀操作,將在執(zhí)行特定軟件進程(軟件進程i)中利用所述數(shù)據(jù)。在接收到來自所述CPU 的請求之后,MMU 114至少執(zhí)行兩個操作。在第一操作中,如步驟 204所示,MMU確定在外部存儲器120中特定進程i存儲器部分122-i 的位置。在第二操作中,步驟206, MMU確定與軟件進程i關(guān)聯(lián)的加 密密鑰標(biāo)記?,F(xiàn)進一步描述這些操作中的每一操作。在步驟204中,由MMU 114確定特定進程i存儲器部分122-i 的位置是MMU執(zhí)行的典型的操作,并且因此為本領(lǐng)域人員所熟悉。 MMU將優(yōu)選地通過參照一個或多個表確定特定存儲器部分的位置, 所述表通常指"轉(zhuǎn)換表"或"頁面表",當(dāng)由CPU 112執(zhí)行新的軟件進程 時將經(jīng)常更新所述表。為了增加查表的速度,轉(zhuǎn)換表可以可選地在微 控制器110上存儲在轉(zhuǎn)換旁視緩沖器,轉(zhuǎn)換旁視緩沖器允許MMU在 物理存儲器中提前訪問轉(zhuǎn)換表。如前所描述并且根據(jù)本發(fā)明的一方 面,通過使所述MMU運行為允許所述CPU僅當(dāng)執(zhí)行特定的軟件進 程i時訪問特定的存儲器部分122-i來增強數(shù)據(jù)安全性。因此所述 MMU將存儲器部分分配給各個軟件進程,并且對每個存儲器部分的 訪問被限制到特定擁有的軟件進程。另一方面,MMU 114的第二操作(即在步驟206中確定加密密 鑰標(biāo)記)不是MMU典型執(zhí)行的操作,并且因此需要將新的屬性添加 到典型的MMU和其所關(guān)聯(lián)的一個或多個轉(zhuǎn)換表中。根據(jù)本發(fā)明的一 方面,MMU為將由微控制器IIO執(zhí)行的每一個軟件進程確定不同的 加密密鑰標(biāo)記。為了增加安全性,所述加密密鑰標(biāo)記優(yōu)選地不是加密 密鑰本身,而是可用于識別加密密鑰的一串?dāng)?shù)據(jù)。 一旦確定,這些加 密密鑰標(biāo)記優(yōu)選地在相同的轉(zhuǎn)換表中被存儲為添加的元素,其中,存 儲器部分122-i映射到每一個軟件進程。因此,"增強的"MMU變得 能夠?qū)⒂蒀PU 112執(zhí)行的每一個軟件進程映射到關(guān)聯(lián)的存儲器部分 和關(guān)聯(lián)的加密密鑰標(biāo)記。再次參照圖2,步驟208包括密鑰管理器118使用由MMU 112 確定的加密密鑰標(biāo)記以獲得加密密鑰。根據(jù)本發(fā)明的另一方面,用于 運行在微控制器110中的各種軟件進程的加密密鑰存儲在外部密鑰儲存存儲器140中。所述密鑰管理器優(yōu)選地取得由所述MMU提供的加 密密鑰標(biāo)記,并且使用所述標(biāo)記的內(nèi)容用以對查找表尋址。與所述 MMU的轉(zhuǎn)換表類似的方式,查找表告知密鑰管理器合適的加密密鑰 在物理上被存儲在外部密鑰儲存存儲器中的什么位置。 一旦獲得所述 信息,密鑰管理器就從外部密鑰儲存存儲器讀取特定的加密密鑰。應(yīng)注意,根據(jù)本發(fā)明的另一方面,外部密鑰儲存存儲器140優(yōu)選 地在與微控制器110分離的集成電路上實現(xiàn)。例如,所述外部密鑰儲 存存儲器可在閃存中實現(xiàn)。閃存具有非易失和相對便宜的優(yōu)點。然而, 所述外部密鑰儲存存儲器可在任意類型的存儲器電路中實現(xiàn),并且仍 在本發(fā)明范圍之內(nèi)。每一類型的存儲器電路的優(yōu)點和缺點為本領(lǐng)域人 員所熟悉。可選地,通過將存儲在外部加密密鑰儲存存儲器140的加密密鑰 本身加密,可進一步增強安全性。這種密碼方法的使用降低了外部密 碼密鑰儲存存儲器可被移除和用其它硬件成功分析的機會。對應(yīng)地, 如果外部密碼密鑰儲存存儲器的內(nèi)容確實被加密,則密鑰管理器118 將具有在步驟208中從外部密碼密鑰儲存存儲器讀出加密密鑰之后對 其解密的額外的任務(wù)。所述加密密鑰本身可通過本領(lǐng)域人員所熟悉的許多不同的技術(shù) 確定。例如,可基于秘密的根密鑰來確定所述加密密鑰。另外并且可 選地,所述秘密的根密鑰可由密鑰管理器118在微控制器110啟動時 再生,或,甚至為了更安全,微控制器運行時周期性地再生。因此, 存儲在外部密鑰儲存存儲器140的對應(yīng)的加密密鑰將周期性再生,基 本上降低了它們可被危害和使用的可能性。在步驟210中,從由MMU 114指定的存儲器部分1224最終讀 取由CPU112請求的數(shù)據(jù)。當(dāng)存儲在存儲器中,所述數(shù)據(jù)被加密,其 已經(jīng)在一次或多次的寫操作期間被加密,以下將更詳細地討論其細 節(jié)。 一旦已加密的數(shù)據(jù)到達微控制器110,在步驟212中,密碼單元 116就利用由密鑰管理器118確定的加密密鑰對數(shù)據(jù)進行解密。在步 驟214,未加密的數(shù)據(jù)傳到CPU,因此實現(xiàn)完整的讀操作。寫操作類似于上述的讀操作,并且參照圖3更詳細地描述寫操 作。與讀操作相同,寫操作由CPU112發(fā)起。在步驟302,結(jié)合特定 軟件進程(軟件進程i)的執(zhí)行,CPU請求將數(shù)據(jù)寫入到存儲器中。 在接下來的步驟304,如前所述,MMU114確定具體指定用于存儲與 軟件進程i關(guān)聯(lián)的數(shù)據(jù)的存儲器部分122-i的位置。在進行所述確定 之后,在步驟306,所述MMU進一步確定用于所述類型的數(shù)據(jù)的加 密密鑰。在步驟308中由密鑰管理器118利用所述加密密鑰從外部密 鑰儲存存儲器140讀取對應(yīng)的加密密鑰。如前所述,如果加密密鑰以 加密的形式存儲于外部密鑰儲存存儲器140,則密鑰管理器還對所述 加密密鑰進行解密。接下來,在圖3的步驟310繼續(xù)寫操作,其中,密碼單元116 得到由密鑰管理器118確定的加密密鑰,并且在步驟312在將數(shù)據(jù)寫 到合適的存儲器部分122-i之前使用所述加密密鑰對數(shù)據(jù)加密。因此, 實現(xiàn)了根據(jù)本發(fā)明各個方面的完整的寫操作。諸如圖1實施例中的數(shù)據(jù)處理電路100的數(shù)據(jù)處理系統(tǒng)中的對數(shù) 據(jù)的加密技術(shù)是公知的,并且因此為本領(lǐng)域技術(shù)人員所熟悉。例如, 密碼單元116可執(zhí)行流密碼算法或塊密碼算法。作為另一示例,基于 塊密碼算法的加密方案可基于數(shù)據(jù)加密標(biāo)準(zhǔn)、高級加密標(biāo)準(zhǔn)或RSA 算法。A. Menezes等人的Handbook of Applied Cryptography, CRC Press, 1996中更詳細地描述了這些和其它加密算法,其在此引入作 為參考。此外,應(yīng)注意,可使用任意的數(shù)據(jù)加密方法,并且任意的數(shù) 據(jù)加密方法仍然落入本發(fā)明的保護范圍。然而,優(yōu)選地,不應(yīng)使得加 密技術(shù)過于復(fù)雜以致基本上降低了密碼單元的數(shù)據(jù)吞吐量性能并從 而導(dǎo)致數(shù)據(jù)處理電路的整個數(shù)據(jù)處理性能減緩??蛇x地,應(yīng)理解,外部存儲器120還可包含共享存儲器部分,用 于充當(dāng)在微控制器110上運行的多于一個軟件進程之間使用的數(shù)據(jù)的 存儲介質(zhì)。因此,軟件程序器可指定將特定的數(shù)據(jù)存儲于所述共享存 儲器部分,由其它軟件進程使用。類似于存儲器的其它部分那樣,共 享存儲器部分內(nèi)的數(shù)據(jù)將優(yōu)選地被加密。相應(yīng)地,將需要MMU 114確定和存儲用于共享存儲器部分的加密密鑰標(biāo)記。接下來,將由密鑰管理器118和密碼單元116結(jié)合外部加密密鑰儲存存儲器140使用所 述加密密鑰標(biāo)記,從而分別在讀操作期間解密數(shù)據(jù)和在寫操作期間加 密數(shù)據(jù),如先前參照圖2和圖3所描述的那樣。重要地,可在一個或多個集成電路中實現(xiàn)本發(fā)明所描述的許多元 件。結(jié)果,包括本發(fā)明的特征的集成電路落入本發(fā)明的范圍之內(nèi)。集 成電路的形成為本領(lǐng)域所公知。 一般地,以重復(fù)的方式在半導(dǎo)體晶片 的表面上形成相同的管芯。每個管芯包括這里描述的元件,并且可包 括其它結(jié)構(gòu)或電路。從晶片上剪切或切割各個管芯,然后封裝成集成 電路。本領(lǐng)域技術(shù)人員應(yīng)知道如何切割晶片和封裝管芯以生產(chǎn)集成電 路。應(yīng)再次強調(diào),上述本發(fā)明的實施例僅是為了進行說明。其它實施 例可使用元件和步驟的不同類型和布置以實現(xiàn)所描述的功能。本領(lǐng)域 技術(shù)人員應(yīng)理解,這些多個可選實施例落入所附權(quán)利要求的范圍。1權(quán)利要求
1. 一種裝置,包括中央處理單元,所述中央處理單元用于至少執(zhí)行使用第一組數(shù)據(jù)的第一軟件進程和使用第二組數(shù)據(jù)的第二軟件進程;存儲器,耦合到所述中央處理單元,所述存儲器包括第一存儲器部分,可用于存儲第一組數(shù)據(jù);以及第二存儲器部分,用于存儲第二組數(shù)據(jù);以及存儲器管理單元,耦合到所述中央處理單元,所述存儲器管理單元用于允許中央處理單元僅當(dāng)執(zhí)行第一軟件進程時訪問第一存儲器部分以及僅當(dāng)執(zhí)行第二軟件進程時訪問第二存儲器部分;其中,第一組數(shù)據(jù)的至少一部分和第二組數(shù)據(jù)的至少一部分被加密,根據(jù)與第二組數(shù)據(jù)的加密部分不同的加密密鑰來加密第一組數(shù)據(jù)的加密部分。
2、 如權(quán)利要求l所述的裝置,進一步包括數(shù)據(jù)總線,至少部 分地用于在中央處理單元和存儲器之間發(fā)送第一組和第二組數(shù)據(jù)。
3、 如權(quán)利要求2所述的數(shù)據(jù)軟件處理單元,其中,在數(shù)據(jù)總線 上發(fā)送的數(shù)據(jù)的至少一部分被加密。
4、 如權(quán)利要求l所述的裝置,進一步包括密碼單元,所述密 碼單元用于加密和解密第一組和第二組數(shù)據(jù)的部分?jǐn)?shù)據(jù)。
5、 如權(quán)利要求l所述的裝置,進一步包括加密密鑰儲存存儲 器,所述加密密鑰儲存存儲器用于存儲用于第一組和第二組數(shù)據(jù)的加 密部分的加密密鑰。
6、 如權(quán)利要求5所述的裝置,其中,存儲于加密密鑰儲存存儲 器的所述加密密鑰也被加密。
7、 如權(quán)利要求5所述的裝置,其中,所述加密密鑰儲存存儲器 至少部分地在閃存電路中實現(xiàn)。
8、 如權(quán)利要求l所述的裝置,其中,存儲器管理單元進一步用 于確定用于第一和第二軟件進程中的各個進程的加密密鑰標(biāo)記,所述加密密鑰標(biāo)記指示哪些加密密鑰與第一和笫二組數(shù)據(jù)的加密部分關(guān) 聯(lián)。
9、 如權(quán)利要求l所述的裝置,其中,所述裝置至少部分地在微 控制器中實現(xiàn)。
10、 如權(quán)利要求l所述的裝置,其中,所述存儲器至少部分地在 隨機存取存儲器中實現(xiàn)。
11、 如權(quán)利要求l所述的裝置,其中,所述中央處理單元在集成 電路中實現(xiàn)。
12、 如權(quán)利要求11所述的裝置,其中,所述存儲器在一個或多 個集成電路中實現(xiàn),所述一個或多個集成電路中的至少一個與包括中 央處理單元的集成電路分離。
13、 如權(quán)利要求11所述的裝置,進一步包括存儲器密鑰儲存 存儲器,所述存儲器密鑰儲存存儲器用于存儲用于笫一和第二組數(shù)據(jù) 的加密部分的加密密鑰,所述存儲器密鑰儲存存儲器在一個或多個集 成電路中實現(xiàn),所述一個或多個集成電路中的至少一個與包括中央處 理單元的集成電路分離。
14、 如權(quán)利要求l所迷的裝置,其中,所迷裝置包括移動設(shè)備。
15、 如權(quán)利要求14所述的裝置,其中,所述移動設(shè)備包括蜂窩電話。
16、 如權(quán)利要求14所述的裝置,其中,所述移動設(shè)備包括個人 數(shù)字助理。
17、 如權(quán)利要求14所述的裝置,其中,所述移動設(shè)備用于發(fā)送 和接收電子郵件。
18、 一種集成電路,包括中央處理單元,所述中央處理單元用于至少執(zhí)行使用第 一組數(shù)據(jù) 的第一軟件進程和使用第二組數(shù)據(jù)的第二組軟件進程;其中,所述中央處理單元耦合到存儲器和存儲器管理單元,所迷 存儲器包括笫一存儲器部分,用于存儲第一組數(shù)據(jù);以及第二存儲 器部分,用于存儲第二組數(shù)據(jù),所述存儲器管理單元用于允許中央處理單元僅當(dāng)執(zhí)行第一軟件進程時訪問第一存儲器部分以及僅當(dāng)執(zhí)行第二軟件進程時訪問第二存儲器部分;其中,第一組數(shù)據(jù)的至少一部分和第二組數(shù)據(jù)的至少一部分被加 密,根據(jù)與第二組數(shù)據(jù)加密部分不同的加密密鑰來加密第一組數(shù)據(jù)的 加密部分。
19、 一種在下述裝置中處理數(shù)據(jù)的方法,所述裝置包括中央處理 單元和存儲器,所述存儲器包括第一存儲器部分和第二存儲器部分, 所述方法包括以下步驟執(zhí)行使用笫 一組數(shù)據(jù)的第 一軟件進程和使用第二組數(shù)據(jù)的第二 軟件進程;將第 一組數(shù)據(jù)存儲到第 一存儲器部分并將第二組數(shù)據(jù)存儲到第 二存儲器部分;以及允許中央處理單元僅當(dāng)執(zhí)行第 一軟件進程時訪問第 一存儲器部 分以及僅當(dāng)執(zhí)行第二軟件進程時訪問第二存儲器部分;其中,存儲在存儲器中的第 一組數(shù)據(jù)的至少 一部分和第二組數(shù)據(jù) 的至少一部分被加密,根據(jù)與第二組數(shù)據(jù)的加密部分不同的加密密鑰 來加密第一組數(shù)據(jù)的加密部分。
20、 如權(quán)利要求19所述的方法,其中,所述裝置至少部分地在 微控制器中實現(xiàn)。
全文摘要
提出了一種裝置和方法,用于保護微控制器中數(shù)據(jù)的以防止設(shè)備內(nèi)運行的惡意軟件進程和未授權(quán)的嘗試從外部數(shù)據(jù)總線和/或外部存儲器來讀取數(shù)據(jù)。本發(fā)明的示例性實施例部分地通過利用增強的存儲器管理單元(MMU)實現(xiàn)這些安全性改進。所述增強的MMU被配置為防止在所述微控制器上運行的一個軟件進程訪問與運行在相同微控制器上的不同軟件進程關(guān)聯(lián)的數(shù)據(jù)。此外,通過外部數(shù)據(jù)總線傳輸?shù)幕虼鎯υ谕獠看鎯ζ魃系臄?shù)據(jù)被加密,因此將減少未授權(quán)用戶從所述數(shù)據(jù)取得可利用信息的機會。
文檔編號H04L9/00GK101268650SQ200680003096
公開日2008年9月17日 申請日期2006年7月25日 優(yōu)先權(quán)日2005年12月8日
發(fā)明者海 王, 肯奈斯·A·圖赫曼, 邁克爾·J·錢伯斯, 邁克爾·吉斯靈 申請人:艾格瑞系統(tǒng)有限公司