專利名稱:通過軟件限制保護(hù)計(jì)算機(jī)系統(tǒng)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通過數(shù)據(jù)的邏輯限制來(lái)保護(hù)計(jì)算機(jī)系統(tǒng)的方法。
背景技術(shù):
特別是,本發(fā)明涉及保護(hù)計(jì)算機(jī)系統(tǒng),提供執(zhí)行用于操作必須被單獨(dú)地處理的數(shù)據(jù)的代碼的可能性。所述單獨(dú)處理一般是為了安全需要而規(guī)定的。例如,調(diào)節(jié)平臺(tái)的正確操作的操作系統(tǒng)的數(shù)據(jù)必須不能被任何應(yīng)用程序所改變。此外,在允許執(zhí)行多個(gè)應(yīng)用程序的系統(tǒng)中,一個(gè)應(yīng)用程序的數(shù)據(jù)一般應(yīng)當(dāng)被保護(hù)不受其它應(yīng)用程序的影響。
在某些情況下,這些需要假定一個(gè)關(guān)鍵特性(critical character),例如,可以以不受限制的方式設(shè)想芯片卡型、支付終端、數(shù)字助理或便攜電話的多應(yīng)用程序嵌入系統(tǒng),尤其是當(dāng)嵌入的系統(tǒng)允許應(yīng)用程序的遠(yuǎn)程下載時(shí)。確實(shí),這些被下載的應(yīng)用程序可以從多個(gè)地點(diǎn)發(fā)出,這些地點(diǎn)提供有各種不同的可靠性保證。
一般地,已知為滿足這個(gè)需要用于分開所述操作系統(tǒng)數(shù)據(jù)和應(yīng)用程序的數(shù)據(jù)的普遍采用的方案依賴于使用借助于硬件提供的機(jī)構(gòu)。一般地說,用于管理存儲(chǔ)器的(物理)單元(存儲(chǔ)器管理單元(MMU))使物理空間和應(yīng)用程序相關(guān)聯(lián),并保護(hù)它們不被其它應(yīng)用程序訪問。不過,當(dāng)可利用這個(gè)解決方案時(shí),其不是非常靈活的,并且難于使其和系統(tǒng)關(guān)聯(lián),以便動(dòng)態(tài)地分配數(shù)據(jù),(物理空間的量是固定的),尤其是在具有少的資源并受到強(qiáng)的安全性限制的嵌入系統(tǒng)的情況下。
發(fā)明內(nèi)容
和
具體實(shí)施例方式
因此本發(fā)明的目的更具體地說是尋找一種克服這些缺點(diǎn)的方法。
為此目的,提出了要使數(shù)據(jù)的保護(hù)更加靈活,并將其延伸到存儲(chǔ)器的動(dòng)態(tài)分配的情況。
其主要涉及-至少一個(gè)存儲(chǔ)器管理器,用于管理存儲(chǔ)器分配單元,其一般可以是一個(gè)具有固定的尺寸的頁(yè),或一個(gè)具有可變尺寸的塊,-存儲(chǔ)器分配單元的至少處理器和請(qǐng)求器,其一般是計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)的用戶的應(yīng)用程序,或者是操作系統(tǒng)本身。
按照本發(fā)明,通過數(shù)據(jù)的邏輯限制保護(hù)計(jì)算機(jī)系統(tǒng)的方法包括分開每個(gè)處理器的所述數(shù)據(jù)和利用規(guī)定的密鑰對(duì)所述數(shù)據(jù)進(jìn)行加密;所述分開和加密處理通過包括以下步驟的處理進(jìn)行-根據(jù)來(lái)自向所述存儲(chǔ)器管理器傳送請(qǐng)求者的身份的操作系統(tǒng)的另一個(gè)部件的請(qǐng)求,由所述存儲(chǔ)器管理器進(jìn)行存儲(chǔ)器分配。這個(gè)請(qǐng)求者將成為被分配的存儲(chǔ)器的處理器。請(qǐng)求者的身份的傳送可以或者借助于管理當(dāng)前的上下文,或者借助于把各參數(shù)傳送給存儲(chǔ)器管理器的功能來(lái)實(shí)現(xiàn);-由前述的存儲(chǔ)器管理器檢查全部的存儲(chǔ)器分配單元,每個(gè)分配單元和該存儲(chǔ)器分配單元的處理器相關(guān)聯(lián)。每個(gè)存儲(chǔ)器分配單元可以只具有一個(gè)處理器;然而,幾個(gè)存儲(chǔ)器分配單元可以具有同一個(gè)處理器;-利用和該處理器相關(guān)聯(lián)的密鑰對(duì)每個(gè)處理器的數(shù)據(jù)加密;-可選擇地,由存儲(chǔ)器管理器使用和每個(gè)處理器關(guān)聯(lián)的秘密。所述秘密一般可以通過操作系統(tǒng)在把處理器引入系統(tǒng)時(shí)的時(shí)刻和每當(dāng)訪問存儲(chǔ)器分配單元時(shí)被提供給存儲(chǔ)器管理器;-可選擇地,由存儲(chǔ)器管理器使用每個(gè)處理器的密鑰。這個(gè)密鑰例如可以從和處理器關(guān)聯(lián)的秘密以及只有存儲(chǔ)器管理器才能對(duì)其訪問的所謂的“主(master)”密鑰得到;-由存儲(chǔ)器管理器對(duì)于每個(gè)訪問存儲(chǔ)器分配單元的請(qǐng)求來(lái)檢查請(qǐng)求者的身份;如果這個(gè)身份和所述存儲(chǔ)器分配單元的處理器的身份不一致,則由存儲(chǔ)器管理器拒絕對(duì)存儲(chǔ)器分配單元的訪問;-由存儲(chǔ)器管理器利用和處理器關(guān)聯(lián)的密鑰對(duì)相關(guān)數(shù)據(jù)進(jìn)行加密(在寫請(qǐng)求的情況下)或者解密(在讀請(qǐng)求的情況下),借以使得這個(gè)密鑰可由存儲(chǔ)器管理器重新計(jì)算。
因而,因?yàn)椴煌幚砥鞯臄?shù)據(jù)利用一個(gè)秘密被自動(dòng)地加密,所述秘密只有存儲(chǔ)器管理器知道,所以一個(gè)應(yīng)用程序不能利用另一個(gè)處理器的數(shù)據(jù)。
當(dāng)?shù)谌皆噲D訪問不屬于它的存儲(chǔ)器分配單元時(shí),可能發(fā)生兩種情況-這個(gè)試圖可能通過存儲(chǔ)器管理器觸發(fā)在這種情況下,由存儲(chǔ)器管理器進(jìn)行的檢查自動(dòng)地導(dǎo)致拒絕所述請(qǐng)求;-這個(gè)試圖可能通過直接訪問物理存儲(chǔ)器被非法地觸發(fā)而不通過存儲(chǔ)器管理器,如果由硬件進(jìn)行的檢查不足以排除這種可能性的話第三方可以進(jìn)行讀,但是,因?yàn)槠錄]有解密密鑰,其將獲得不能使用的數(shù)據(jù)。
只要主密鑰被存儲(chǔ)在被保護(hù)的區(qū)域,便可以在兩種情況下保持?jǐn)?shù)據(jù)的機(jī)密性。
有利的是,按照本發(fā)明的方法不依賴于這樣的事實(shí)存儲(chǔ)器分配單元是一個(gè)具有固定尺寸的邏輯頁(yè),或者是一個(gè)具有可變尺寸的塊。如果分配單元是頁(yè),則該方法用下述方式限定當(dāng)存儲(chǔ)器管理器收到一個(gè)請(qǐng)求(該請(qǐng)求用于代表一個(gè)處理器分配一個(gè)塊)時(shí),其首先利用同一個(gè)處理器檢索頁(yè);因此,由存儲(chǔ)器分配單元的處理器分配的所有的塊被發(fā)現(xiàn)分組在一個(gè)或多個(gè)規(guī)定的頁(yè)中。
按照本發(fā)明的方法可以用幾種(非排它的)方式改進(jìn)代替使唯一的密鑰和一個(gè)給定的處理器關(guān)聯(lián),存儲(chǔ)器管理器可以使密鑰和每組處理器以及存儲(chǔ)器分配單元關(guān)聯(lián)。這種改進(jìn)具有兩個(gè)優(yōu)點(diǎn)一方面在密碼攻擊的情況下,因?yàn)槊總€(gè)密鑰將不被經(jīng)常地使用,減少了發(fā)現(xiàn)被使用的密鑰的可能性;另一方面,在發(fā)現(xiàn)密鑰的情況下,也減少風(fēng)險(xiǎn),因?yàn)橹粫?huì)危害相關(guān)聯(lián)的存儲(chǔ)器分配單元。
-存儲(chǔ)器管理器也可以被結(jié)合在每個(gè)存儲(chǔ)器單元內(nèi),在允許例如根據(jù)一個(gè)簡(jiǎn)單的有符號(hào)的校驗(yàn)和或者一種密碼算法來(lái)檢查其完整性的區(qū)域內(nèi)。在每當(dāng)對(duì)存儲(chǔ)器單元進(jìn)行寫訪問時(shí),在這個(gè)區(qū)域內(nèi)包含的數(shù)據(jù)被存儲(chǔ)器管理器更新。其可被存儲(chǔ)器管理器用來(lái)進(jìn)行檢查,或者在每當(dāng)對(duì)單元進(jìn)行訪問時(shí)有系統(tǒng)地檢查,或者定期地檢查。在被請(qǐng)求的訪問之前的檢查簡(jiǎn)單地包括根據(jù)單元的內(nèi)容(明文數(shù)據(jù))重新計(jì)算完整性數(shù)據(jù),并將其和在完整性區(qū)域中包含的數(shù)據(jù)比較。在單元的內(nèi)容中的不適時(shí)的或者非法的改變可被檢測(cè)到,這將加強(qiáng)數(shù)據(jù)管理的安全性。
-借助于使不同的安全等級(jí)和應(yīng)用程序關(guān)聯(lián),并借助于按照關(guān)聯(lián)的安全等級(jí)使用不同的加密方法(一般為算法、密鑰的長(zhǎng)度),可以均衡關(guān)于安全性的實(shí)施成本(特別是執(zhí)行時(shí)間)使之達(dá)到追求的目標(biāo)。
作為一個(gè)非限制性的例子,保留最強(qiáng)大的(因而成本最高)加密方法以用于保護(hù)旨在接收加密密鑰或訪問權(quán)限的存儲(chǔ)器單元,可能是合理的。
-按照本發(fā)明的方法與物理保護(hù)機(jī)構(gòu)(MMU)的組合提供具有更細(xì)的粒度的保護(hù)。例如,應(yīng)用程序可被劃分成幾個(gè)大類(可選擇地,并以一種非限制的方式,按照可以對(duì)其分配的置信度,第一個(gè)自然目的地可以在用戶的應(yīng)用程序和操作系統(tǒng)的應(yīng)用程序之間),每一類由物理機(jī)構(gòu)保護(hù)不受其它類的影響,并利用按照本發(fā)明的軟件限制方法保護(hù)應(yīng)用程序使得相互之間不發(fā)生影響。
權(quán)利要求
1.一種通過軟件限制來(lái)保護(hù)計(jì)算機(jī)系統(tǒng)的方法,該計(jì)算機(jī)系統(tǒng)執(zhí)行操作數(shù)據(jù)的代碼,該方法涉及-至少一個(gè)存儲(chǔ)器管理器,用于管理存儲(chǔ)器分配單元,該存儲(chǔ)器分配單元典型地是一個(gè)具有固定的尺寸的頁(yè)或一個(gè)具有可變尺寸的塊,-存儲(chǔ)器分配單元的至少處理器和請(qǐng)求器,其典型地是計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)的用戶的應(yīng)用程序,或者是操作系統(tǒng)本身,其特征在于,該方法包括下述步驟-根據(jù)來(lái)自向所述存儲(chǔ)器管理器傳送請(qǐng)求者的身份的操作系統(tǒng)的另一個(gè)部件的請(qǐng)求,由所述存儲(chǔ)器管理器進(jìn)行存儲(chǔ)器的分配;-由前述的存儲(chǔ)器管理器檢查全部的分配單元,每個(gè)分配單元和該存儲(chǔ)器分配單元的處理器相關(guān)聯(lián);-利用和該處理器相關(guān)聯(lián)的密鑰對(duì)每個(gè)處理器的數(shù)據(jù)加密;-由存儲(chǔ)器管理器為每個(gè)訪問存儲(chǔ)器分配單元的請(qǐng)求檢查請(qǐng)求者的身份;如果這個(gè)身份和所述存儲(chǔ)器分配單元的處理器的身份不同,則由存儲(chǔ)器管理器拒絕對(duì)該存儲(chǔ)器分配單元的訪問;-由存儲(chǔ)器管理器利用和處理器關(guān)聯(lián)的密鑰對(duì)相關(guān)數(shù)據(jù)在寫請(qǐng)求的情況下進(jìn)行加密或者在讀請(qǐng)求的情況下解密,該密鑰由存儲(chǔ)器管理器至少重新計(jì)算。
2.如權(quán)利要求1所述的方法,其特征在于,分配單元是頁(yè),并且存儲(chǔ)器管理器當(dāng)收到用于代表存儲(chǔ)器分配單元的處理器分配塊的請(qǐng)求時(shí),首先利用同一個(gè)處理器檢索頁(yè),從而由所述處理器分配的所有塊被發(fā)現(xiàn)分組在一個(gè)或幾個(gè)規(guī)定的頁(yè)中。
3.如權(quán)利要求1所述的方法,其特征在于,請(qǐng)求者的身份的傳送或者借助于管理當(dāng)前的上下文,或者借助于把各參數(shù)傳送給存儲(chǔ)器管理器的功能來(lái)實(shí)現(xiàn)。
4.如權(quán)利要求1所述的方法,其特征在于,存儲(chǔ)器管理器根據(jù)和處理器相關(guān)聯(lián)的秘密以及只允許存儲(chǔ)器管理器訪問的所謂的主密鑰來(lái)動(dòng)態(tài)地計(jì)算所述處理器的密鑰。
5.如權(quán)利要求1所述的方法,其特征在于,存儲(chǔ)器管理器使密鑰和每一組處理器和存儲(chǔ)器分配單元相關(guān)聯(lián),而不是使唯一的密鑰和每個(gè)處理器相關(guān)聯(lián)。
6.如權(quán)利要求1所述的方法,其特征在于,存儲(chǔ)器管理器結(jié)合在每個(gè)存儲(chǔ)器分配單元內(nèi),在一個(gè)可檢查后者的完整性的區(qū)域內(nèi)。
7.如權(quán)利要求1所述的方法,其特征在于,其使不同的安全等級(jí)和各應(yīng)用程序相關(guān)聯(lián),并按照相關(guān)聯(lián)的安全等級(jí)使用不同的加密方法。
8.如權(quán)利要求1所述的方法,其特征在于,其和物理保護(hù)機(jī)構(gòu)相結(jié)合。
9.如權(quán)利要求1所述的方法,其特征在于,其在諸如便攜電話型的終端、銀行支付終端、便攜式支付終端、數(shù)字助理或PDA、芯片卡的嵌入系統(tǒng)上被實(shí)現(xiàn)。
全文摘要
本發(fā)明涉及一種保護(hù)計(jì)算機(jī)系統(tǒng)安全的方法,涉及數(shù)據(jù)的邏輯限制。更具體地說,本發(fā)明涉及一種保護(hù)計(jì)算機(jī)系統(tǒng)的方法,其提供用于執(zhí)行操作必須被單獨(dú)處理的數(shù)據(jù)的代碼的可能性。本發(fā)明的方法本質(zhì)上涉及使用以下部分(i)存儲(chǔ)器管理器,用于管理存儲(chǔ)器分配單元,其典型地可以是固定尺寸的頁(yè)或可變尺寸的盒,以及(ii)存儲(chǔ)器分配所有者和請(qǐng)求者,其典型地可以是計(jì)算機(jī)系統(tǒng)的操作系統(tǒng)的用戶應(yīng)用程序,或是實(shí)際操作系統(tǒng)。該系統(tǒng)涉及由所述所有者分離前述數(shù)據(jù),以及用規(guī)定的密鑰加密所述數(shù)據(jù)。
文檔編號(hào)G06F21/62GK1732483SQ200380107490
公開日2006年2月8日 申請(qǐng)日期2003年12月23日 優(yōu)先權(quán)日2002年12月24日
發(fā)明者派特瑞司·海密尤, 丹尼爾·勒米泰爾, 塞德瑞克·米斯尼爾 申請(qǐng)人:信誠(chéng)邏輯公司