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

保護(hù)靜態(tài)和動(dòng)態(tài)數(shù)據(jù)免遭未授權(quán)操作的系統(tǒng)的制作方法

文檔序號(hào):6472675閱讀:341來源:國(guó)知局
專利名稱:保護(hù)靜態(tài)和動(dòng)態(tài)數(shù)據(jù)免遭未授權(quán)操作的系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及防止電子存儲(chǔ)器操作的系統(tǒng),更具體地說,涉及防止對(duì)電子設(shè)備中需要保密的存儲(chǔ)器內(nèi)容的未授權(quán)操作的方法和裝置。
本文中公開的本發(fā)明涉及所有需要維護(hù)存儲(chǔ)器內(nèi)容的安全或不允許改變其狀態(tài)的電子設(shè)備。這種需求可能是出于安全考慮提出的,例如,防止蜂窩式電話存儲(chǔ)器的欺詐性操作,或者在一些重要應(yīng)用中,例如航空控制或醫(yī)藥設(shè)備的操作,維護(hù)電子設(shè)備運(yùn)行的整體性目的。正如本文中公開的和說明的,本發(fā)明的示范性方面是從用于加密蜂窩式電話中的一個(gè)或多個(gè)電子存儲(chǔ)器的系統(tǒng)和方法方面著手的。本文中還說明一種系統(tǒng),所述系統(tǒng)允許在訪問電子存儲(chǔ)器之前,利用經(jīng)過鑒別的數(shù)據(jù)傳送設(shè)備訪問和操作電子設(shè)備中的一個(gè)或多個(gè)電子存儲(chǔ)器。后一種系統(tǒng)也在蜂窩式電話的應(yīng)用中說明。即使本文說明的本發(fā)明的示范性實(shí)施例,在保密蜂窩式電話存儲(chǔ)器以及用于安全訪問和修改蜂窩式電話存儲(chǔ)器內(nèi)容的裝置方面作了說明,本專業(yè)的技術(shù)人員容易理解,本發(fā)明的系統(tǒng)也可以用于具有一個(gè)或多個(gè)存儲(chǔ)器的任何電子系統(tǒng),這些存儲(chǔ)器內(nèi)容要保持不變,或者其存儲(chǔ)器只有通過授權(quán)裝置才能被訪問和修改。所以,本發(fā)明的范圍不局限于本文中給出的示范性實(shí)施例,而是由后附的權(quán)利要求書和等價(jià)內(nèi)容規(guī)定。
在許多固定的和移動(dòng)的計(jì)算和通信系統(tǒng)中,例如個(gè)人數(shù)字助理(PDA)和蜂窩式電話,需要保護(hù)某些存儲(chǔ)在系統(tǒng)存儲(chǔ)器中的數(shù)據(jù)。這些數(shù)據(jù)可能是與文檔、數(shù)據(jù)庫(kù)或程序?qū)?yīng)的數(shù)據(jù)。在蜂窩式電話的內(nèi)容中,這些數(shù)據(jù)可能表示有關(guān)信息,例如,國(guó)際移動(dòng)式設(shè)備身份碼(IMEI)編號(hào)(由ETSI GSM規(guī)范確定),無線電校正數(shù)據(jù)以及加密訪問代碼。一旦存入存儲(chǔ)器中,這類數(shù)據(jù)就不想改變,因此,本文中將它稱作為靜態(tài)數(shù)據(jù)。其它類型數(shù)據(jù)也可以存儲(chǔ)在存儲(chǔ)器中,例如,表示GSM電話是否被鎖定在規(guī)定的操作員網(wǎng)絡(luò)的狀態(tài)標(biāo)記的數(shù)據(jù)。這類數(shù)據(jù)(本文中將它稱作為動(dòng)態(tài)數(shù)據(jù))具有被用戶修改的可能,但是只有用戶被授權(quán)才可能修改。在所有其它情況下,動(dòng)態(tài)數(shù)據(jù)是不允許修改的。
已經(jīng)對(duì)確保靜態(tài)數(shù)據(jù)完整性的技術(shù)(即,防止靜態(tài)數(shù)據(jù)被竄改)作了說明,例如在美國(guó)專利No.5442645和No.6026693中給出的說明,所述專利通過引用被全部包括在本文中。這些方法廣泛應(yīng)用密碼技術(shù),用于從靜態(tài)數(shù)據(jù)產(chǎn)生所謂“特征”。密碼技術(shù)已眾所周知,并在象《應(yīng)用密碼學(xué)手冊(cè)》(A.Menezes,P.C.an Orrshot和S.A.Vanstone,CRC出版社,1996)一類的出版物中作了說明,所述內(nèi)容通過引用被全部包括在本文中。當(dāng)已知所述靜態(tài)數(shù)據(jù)為可信的時(shí),則產(chǎn)生特征同時(shí)保存。然后,在允許用戶使用靜態(tài)數(shù)據(jù)之前,再次計(jì)算特征,并與前一次保存的版本進(jìn)行比較。如果發(fā)現(xiàn)任何不匹配,則證明靜態(tài)數(shù)據(jù)發(fā)生了變化就不使用所述靜態(tài)數(shù)據(jù)。
在美國(guó)專利5442645中,需要保存秘密密鑰以便實(shí)現(xiàn)整體性保護(hù)。在美國(guó)專利6026293中說明了一種更完善的技術(shù)?,F(xiàn)在,參照?qǐng)D1的方框圖簡(jiǎn)要說明。在所述系統(tǒng)中,包括處理電路100的ASIC與快速程序存儲(chǔ)器101、隨機(jī)訪問存儲(chǔ)器(RAM)103和電可擦可編程只讀存儲(chǔ)器(EEPROM)105通過系統(tǒng)總線107相互連接在一起。處理電路100包括微處理器109、定時(shí)器和控制器邏輯電路111以及兩種形式的存儲(chǔ)器保護(hù)靜態(tài)RAM(PSRAM)113和內(nèi)部只讀存儲(chǔ)器(IROM)115。除了傳統(tǒng)的引導(dǎo)代碼117外,IROM 115存儲(chǔ)公開密鑰119、散列算法的程序代碼(用散列碼121表示)和設(shè)備驗(yàn)證代碼123的程序代碼。靜態(tài)數(shù)據(jù)125存儲(chǔ)在EEPROM 105中。靜態(tài)數(shù)據(jù)125由存儲(chǔ)在EEPROM 105中的審查散列值127保護(hù)。審查散列值127由存儲(chǔ)在處理電路的IROM115中的散列碼121實(shí)現(xiàn)的散列算法計(jì)算得到。外部數(shù)據(jù)傳送設(shè)備對(duì)EEPROM的內(nèi)容的訪問是利用存儲(chǔ)在IROM 115中的公開密鑰119和驗(yàn)證代碼123、通過使用驗(yàn)證程序來控制的。驗(yàn)證程序要求數(shù)據(jù)傳送設(shè)備占有對(duì)應(yīng)的公用/專用加密方案的秘密密鑰,所述秘密密鑰用于實(shí)現(xiàn)驗(yàn)證程序。由定時(shí)器和控制邏輯電路111實(shí)現(xiàn)的定時(shí)機(jī)制用于觸發(fā)處理電路的性能,以便在一組計(jì)數(shù)器確定的某一瞬間實(shí)現(xiàn)整體性檢查。
現(xiàn)有方法的缺點(diǎn)在于,由于任何修改整體性檢查軟件的方法可以用來饒過加密機(jī)制,因此,實(shí)現(xiàn)整體性檢查的軟件本身必須加密。在美國(guó)專利6026293說明的技術(shù)中,通過固定處理電路ASIC的IROM中的軟件代碼可以滿足這種要求。然而,為了能夠應(yīng)用所述技術(shù),系統(tǒng)開發(fā)者必須能夠定義一部分ASIC。這種能力會(huì)增加所述部件的成本。
這些現(xiàn)有技術(shù)的另一個(gè)缺點(diǎn)在于,不適合用來確保動(dòng)態(tài)數(shù)據(jù)的完整性。
在美國(guó)專利5606315中描述了一種機(jī)制,對(duì)動(dòng)態(tài)數(shù)據(jù)對(duì)象的訪問是通過存儲(chǔ)在EEPROM中的口令控制的。然而,用戶很容易從EEPROM中讀取口令并獲得對(duì)動(dòng)態(tài)數(shù)據(jù)的修改權(quán)力。而且,在該文件描述的系統(tǒng)中,不對(duì)動(dòng)態(tài)數(shù)據(jù)進(jìn)行完整性檢查??獞?yīng)該強(qiáng)調(diào),當(dāng)在本說明書中使用術(shù)語“包括”和“包含”時(shí),意指存在確定的特征、整體、步驟或部件;但是使用這些術(shù)語并不排除存在或附加一個(gè)或多個(gè)特征、整體、步驟、部件或它們的組合。
根據(jù)本發(fā)明的一個(gè)方面,在確保包括一個(gè)或多個(gè)數(shù)據(jù)項(xiàng)的動(dòng)態(tài)數(shù)據(jù)對(duì)象完整性的方法和裝置中實(shí)現(xiàn)前述的和其它目的。完成這一點(diǎn)包括將動(dòng)態(tài)數(shù)據(jù)對(duì)象和動(dòng)態(tài)授權(quán)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中。分別產(chǎn)生動(dòng)態(tài)數(shù)據(jù)對(duì)象和動(dòng)態(tài)授權(quán)數(shù)據(jù)的不同散列特征,并將其存儲(chǔ)在存儲(chǔ)器中。當(dāng)用戶希望修改動(dòng)態(tài)數(shù)據(jù)對(duì)象時(shí),必須確定所述用戶是否被授權(quán)修改動(dòng)態(tài)數(shù)據(jù)對(duì)象。如果所述用戶被授權(quán),那么,動(dòng)態(tài)授權(quán)數(shù)據(jù)被修改(例如,失敗嘗試計(jì)數(shù)器加”,并產(chǎn)生新的動(dòng)態(tài)授權(quán)數(shù)據(jù)的散列特征。然后,存回到存儲(chǔ)器中。
如果所述用戶被授權(quán)修改動(dòng)態(tài)數(shù)據(jù)對(duì)象,那么,就允許進(jìn)行修改。然后重新計(jì)算對(duì)應(yīng)的散列特征并將其存回到存儲(chǔ)器中。只有新產(chǎn)生的兩個(gè)散列特征值與預(yù)先存入存儲(chǔ)器中的值相匹配時(shí),才認(rèn)為所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是可信的。
詳細(xì)說明現(xiàn)在將參照


本發(fā)明的各種特征,其中,用相同的參考符號(hào)來標(biāo)識(shí)相同的部件。
現(xiàn)在將結(jié)合幾個(gè)示范性實(shí)施例更詳細(xì)說明本發(fā)明的各個(gè)方面。為了便于理解本發(fā)明,我們借助于用計(jì)算機(jī)系統(tǒng)單元執(zhí)行一系列操作來說明本發(fā)明的許多方面。在每一個(gè)實(shí)施例中將可以看出,各種操作可以通過專用電路(例如,實(shí)現(xiàn)專用功能的互連的分立邏輯門)、通過由一個(gè)或多個(gè)處理器執(zhí)行的程序指令、或者通過兩者組合來完成。而且,本發(fā)明還可以考慮在任何形式的計(jì)算機(jī)可讀載體、例如固體存儲(chǔ)器、磁盤、光盤或載波(例如,無線電頻率,音頻或光頻載波)中完整地實(shí)施,這些載體包含可以使處理器實(shí)現(xiàn)所述技術(shù)的相應(yīng)的計(jì)算機(jī)指令集。因此,本發(fā)明的各個(gè)方面可以用許多不同形式實(shí)現(xiàn),并且所有這些形式都屬于本發(fā)明的范圍。對(duì)于本發(fā)明的每一方面,任何這種形式的實(shí)施例都可以稱為“配置”成完成所述操作的“邏輯”,或者稱為完成所述操作的“邏輯”。
在本發(fā)明的一個(gè)方面,提供使系統(tǒng)免遭對(duì)存儲(chǔ)在系統(tǒng)內(nèi)部存儲(chǔ)器中的數(shù)據(jù)的未授權(quán)修改的方法和裝置。具體地說,本發(fā)明的技術(shù)針對(duì)為兩類數(shù)據(jù)(靜態(tài)數(shù)據(jù)和動(dòng)態(tài)數(shù)據(jù))提供保護(hù)的問題。如前所述,靜態(tài)數(shù)據(jù)是裝入系統(tǒng)后不應(yīng)該修改的數(shù)據(jù)。(在某些例子中,可能期望允許修改靜態(tài)數(shù)據(jù),例如,所討論的設(shè)備的授權(quán)的服務(wù)中心。這種可能性不改變?cè)O(shè)備的用戶決不允許修改所述數(shù)據(jù)這一事實(shí)。)相反,動(dòng)態(tài)數(shù)據(jù)則是設(shè)備用戶可能允許修改的數(shù)據(jù),但是只有他或她被賦予修改數(shù)據(jù)的權(quán)利(例如,系統(tǒng)操作員)時(shí)才能這樣做。兩類數(shù)據(jù)都應(yīng)該防止未授權(quán)的修改。然而,當(dāng)授權(quán)后,數(shù)據(jù)完整性機(jī)制不應(yīng)該防止用戶修改動(dòng)態(tài)數(shù)據(jù)。此外,可能還希望防止兩類數(shù)據(jù)被復(fù)制(即,克隆)到其它設(shè)備上。
為了便于說明本發(fā)明的各種基本原理,我們用Ms表示一個(gè)或多個(gè)需要保護(hù)的靜態(tài)數(shù)據(jù)項(xiàng),用Md表示一個(gè)或多個(gè)需要保護(hù)的動(dòng)態(tài)數(shù)據(jù)項(xiàng)。一種授權(quán)機(jī)制應(yīng)該是允許對(duì)動(dòng)態(tài)數(shù)據(jù)Md進(jìn)行授權(quán)修改。在這樣一種授權(quán)機(jī)制的示范性實(shí)施例中,要求用戶正確提供訪問代碼,以便允許修改動(dòng)態(tài)數(shù)據(jù)。在所述示范性實(shí)施例中,訪問代碼以不可讀形式作為靜態(tài)數(shù)據(jù)存儲(chǔ)在系統(tǒng)的存儲(chǔ)器中。訪問代碼本身是一個(gè)隨機(jī)選取的字符串??梢酝ㄟ^借助于加密算法E、利用秘密秘密密鑰Ke對(duì)其數(shù)據(jù)加密來使訪問代碼成為不可讀的。E的合適選擇可以是例如上面引用的書(A.Menezes等著)所描述的三模式數(shù)據(jù)加密標(biāo)準(zhǔn)(DES)算法。但是,也可以選擇應(yīng)用任何其它加密算法。秘密密鑰Ke的大小應(yīng)足夠長(zhǎng),以便防止窮舉密鑰搜索。使用當(dāng)前技術(shù)至少要應(yīng)用64位。對(duì)于三重DES,密鑰的大小為112位。由于訪問代碼可以通過系統(tǒng)用戶手工輸入,所以其大小(用輸入的符號(hào)數(shù)目表示)可以比較小。例如,在由GSM確定的動(dòng)態(tài)數(shù)據(jù)的情況下,這種代碼可以由最多8個(gè)十進(jìn)制數(shù)字組成。
由于訪問代碼比較小,所以,所述授權(quán)方法可能容易受到窮舉猜試的攻擊。為了防止這種野蠻的攻擊,最好還要提供一種限制用戶連續(xù)輸入不正確訪問代碼次數(shù)的機(jī)制。這可以通過提供一種保持跟蹤輸入錯(cuò)誤訪問代碼次數(shù)的偽嘗試計(jì)數(shù)器(false-attempt counter)實(shí)現(xiàn)。設(shè)TryCnt表示輸入正確訪問代碼的失敗次數(shù)。系統(tǒng)可以設(shè)計(jì)成當(dāng)計(jì)數(shù)器達(dá)到預(yù)定的限制時(shí)則鎖定。系統(tǒng)能否從所述鎖定狀態(tài)退出取決于設(shè)計(jì)的系統(tǒng)所需的安全等級(jí)。例如,用戶可以使系統(tǒng)接入專門的服務(wù)中心,在那里,系統(tǒng)可以在安全控制條件下執(zhí)行解鎖。
在上述討論中,確保靜態(tài)數(shù)據(jù)Ms完整性的某些機(jī)制不僅需要保護(hù)確定系統(tǒng)參數(shù)屬性(例如,在GSM中的IMEI)的靜態(tài)數(shù)據(jù)部分,而且還要保護(hù)構(gòu)成動(dòng)態(tài)數(shù)據(jù)授權(quán)方法的不變數(shù)據(jù)單元,例如,表示將允許輸入訪問代碼不成功的最大次數(shù)(“預(yù)定的限制”),以及授權(quán)方法本身的程序代碼的執(zhí)行。
也可以看到,保護(hù)動(dòng)態(tài)數(shù)據(jù)完整性的某些機(jī)制不僅需要保護(hù)確定系統(tǒng)參數(shù)屬性的動(dòng)態(tài)數(shù)據(jù)部分(例如,GSM電話是否鎖定到操作員網(wǎng)絡(luò)上的狀態(tài)標(biāo)記),而且還要保護(hù)過時(shí)變化的授權(quán)機(jī)制方面的數(shù)據(jù),例如,必須隨每一次輸入訪問代碼嘗試失敗而調(diào)整的失敗嘗試計(jì)數(shù)器TryCnt(例如,加1)。如果變量TryCnt沒有被保護(hù),不守紀(jì)律的用戶可能相當(dāng)容易對(duì)計(jì)數(shù)器復(fù)位,由此達(dá)到能夠無限次輸入嘗試代碼。存儲(chǔ)在擴(kuò)展存儲(chǔ)器中的失敗嘗試計(jì)數(shù)器(TryCnt)和所有其它變量是隨訪問次數(shù)變化的,統(tǒng)稱為動(dòng)態(tài)授權(quán)數(shù)據(jù),并用Md_auth表示。
可以按如下方法實(shí)現(xiàn)數(shù)據(jù)對(duì)象Ms,Md和Md_auth的完整性。首先討論數(shù)據(jù)對(duì)象Ms,我們把靜態(tài)審查散列值或特征Ss與數(shù)據(jù)對(duì)象Ms聯(lián)系在一起。審查散列值Ss是對(duì)Ms(或者至少對(duì)其一部分)利用表示為Hs的散列算法計(jì)算出來的。Ss值存儲(chǔ)在非易失性存儲(chǔ)器中。在某些實(shí)施例中,Ss值可以與數(shù)據(jù)對(duì)象Ms一起在生產(chǎn)過程期間存儲(chǔ)在快速程序存儲(chǔ)器中。在另一些實(shí)施例中,正如在后面的說明中將假設(shè),數(shù)據(jù)對(duì)象Ms和Ss存儲(chǔ)在EEPROM中。這樣做的優(yōu)點(diǎn)是使得有可能在生產(chǎn)過程結(jié)束后安裝保護(hù)的數(shù)據(jù)對(duì)象Ms。
為了使用戶免于執(zhí)行相同操作,系統(tǒng)的處理電路最好包括驗(yàn)證機(jī)制,例如,上面認(rèn)定的美國(guó)專利No.6026293中公開的一種驗(yàn)證機(jī)制與美國(guó)專利No.4748668中公開的算法相結(jié)合,所述專利通過引用被全部包括在本文中。因此,根據(jù)本發(fā)明的一個(gè)方面,驗(yàn)證機(jī)制不僅用于控制對(duì)存儲(chǔ)器內(nèi)容的訪問(正如美國(guó)專利No.6026293中指出的),而且也用于控制執(zhí)行散列算法Hs的能力。
如前所述,還需要防止數(shù)據(jù)從一臺(tái)設(shè)備復(fù)制(即,克隆)到另一臺(tái)設(shè)備。為了實(shí)現(xiàn)這方面的保護(hù),進(jìn)一步使通過算法Hs從數(shù)據(jù)對(duì)象Ms計(jì)算出來的Ss值是靜態(tài)參數(shù)的函數(shù),所述靜態(tài)參數(shù)最好是存儲(chǔ)在處理電路或快速存儲(chǔ)器中的設(shè)備序列號(hào)(用SerNo表示)。在最佳實(shí)施例中,系統(tǒng)的每一種實(shí)現(xiàn)方案被給予唯一的SerNo值。在另一些實(shí)施例中,可以給系統(tǒng)的有限數(shù)目的實(shí)現(xiàn)方案分配相同的SerNo值,同時(shí),將唯一的SerNo值分配給許多不同系統(tǒng)。把SerNo值作為散列算法Hs的輸入?yún)?shù)之一實(shí)際上不可能防止數(shù)據(jù)被系統(tǒng)重使用或者被克隆到另一個(gè)相似的系統(tǒng)中。應(yīng)當(dāng)指出,實(shí)現(xiàn)數(shù)據(jù)完整性保護(hù)的這種方法不需要存儲(chǔ)秘密密鑰。這是一個(gè)重要的優(yōu)點(diǎn),因?yàn)橐员C芊绞酱鎯?chǔ)秘密密鑰要求用昂貴的技術(shù)實(shí)現(xiàn)反竄改。
現(xiàn)在,轉(zhuǎn)到動(dòng)態(tài)數(shù)據(jù)的保護(hù),這里使用了兩種動(dòng)態(tài)審查散列值。第一動(dòng)態(tài)審查散列值(用Sd表示)保護(hù)動(dòng)態(tài)數(shù)據(jù)對(duì)象Md,并用第一動(dòng)態(tài)散列算法(用Hd表示)計(jì)算。第二審查動(dòng)態(tài)散列值(用S’d表示)保護(hù)動(dòng)態(tài)授權(quán)數(shù)據(jù)(用Md_auth表示)并用第二動(dòng)態(tài)散列算法(用Hd_auth表示)計(jì)算。對(duì)于Hd和Hd_auth可以使用不同的散列算法。因此,在其它實(shí)施例中,只要它們產(chǎn)生不同的特征值,它就可以更有效地應(yīng)用相同算法(Hd=Hd_auth)。所述最新結(jié)果可以利用不同的輸入?yún)?shù)產(chǎn)生第二動(dòng)態(tài)審查散列值(S’d)而不是產(chǎn)生第一動(dòng)態(tài)審查散列值(Sd)來實(shí)現(xiàn)。例如,第一動(dòng)態(tài)審查散列值可以由確定的Sd=Hd(Md)產(chǎn)生,而第二動(dòng)態(tài)審查散列值可以由確定的S’d=Hd(Md_auth)產(chǎn)生。本發(fā)明的這一方面還將在下面結(jié)合一些示范性實(shí)施例加以說明。
具有兩個(gè)完全不同的審查散列值的目的如下。每一次,一個(gè)用戶試圖獲得對(duì)非組合動(dòng)態(tài)數(shù)據(jù)Md的修改權(quán)利時(shí),他或她需要輸入所要求的訪問代碼。但是,在可以使用授權(quán)機(jī)制前,Md和Md-auth值的完整性(例如,TryCnt)必須首先確認(rèn)。如果Md和Md_auth通過了這一檢查但是用戶輸入的訪問代碼錯(cuò)誤,則數(shù)據(jù)對(duì)象Md_auth將調(diào)整(例如,變量TryCnt可以加1)。由于第二動(dòng)態(tài)審查散列值S’d是Md_auth的函數(shù),那么,就必須重新計(jì)算并將計(jì)算結(jié)果存儲(chǔ)回到非易失性存儲(chǔ)器中。如果它不是動(dòng)態(tài)數(shù)據(jù)對(duì)象Md_auth的函數(shù),那么,第一動(dòng)態(tài)審查散列值Sd就不必重新計(jì)算。
另外,如果Md和Md_auth通過了完整性檢查,用戶輸入了正確的訪問代碼,那么,用戶就可以修改Md構(gòu)成的動(dòng)態(tài)數(shù)據(jù)。由于第一動(dòng)態(tài)審查散列值Sd是Md的函數(shù),因此必須重新計(jì)算Sd。正如下面將看到的,在某些實(shí)施例中,第二動(dòng)態(tài)審查散列值S’d也是Md的函數(shù),因而在這些情況下,也必須重新計(jì)算這時(shí)的S’d。
不知道訪問代碼就想修改Md值的惡意用戶可能試圖通過反復(fù)訪問嘗試并記錄在動(dòng)態(tài)數(shù)據(jù)Md、動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth以及它們相關(guān)的動(dòng)態(tài)審查散列值(Sd和S’d)中出現(xiàn)的任何變化來繞過完整性機(jī)制。用這些知識(shí),這類用戶可能能了解保護(hù)機(jī)制的特征。然而,極大多數(shù)這類用戶將看到與第二動(dòng)態(tài)審查散列值S’d的產(chǎn)生相關(guān)聯(lián)的特征,但是,不能看到第一動(dòng)態(tài)審查散列值Sd中的任何變化,因?yàn)檫@種情況直到輸入正確的訪問代碼才會(huì)出現(xiàn)。(假設(shè)用戶被授權(quán)輸入正確的訪問代碼,因此不會(huì)知到第一動(dòng)態(tài)審查散列值Sd是如何變化的任何事情。)本發(fā)明的這一方面添加到保護(hù)機(jī)制的安全性中并且是既設(shè)置動(dòng)態(tài)數(shù)據(jù)對(duì)象Md的審查散列值又設(shè)置動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth的審查散列值的原因。
圖2是說明根據(jù)本發(fā)明的實(shí)施例、確保只有授權(quán)才能對(duì)動(dòng)態(tài)數(shù)據(jù)對(duì)象Md進(jìn)行修改的技術(shù)的流程圖。在所述示范性實(shí)施例中,不允許做任何修改,如果未授權(quán)就對(duì)動(dòng)態(tài)數(shù)據(jù)對(duì)象進(jìn)行修改,那么要做的第一件事情就是產(chǎn)生第一和第二動(dòng)態(tài)審查散列值的期望值,將這些值分別與存儲(chǔ)值Sd和S’d進(jìn)行比較(步驟201)。如果期望值中的任何一個(gè)與對(duì)應(yīng)的存儲(chǔ)值不匹配(判定模塊203中的“NO”路徑),則表明是未授權(quán)的修改并采取相應(yīng)的步驟,例如鎖定系統(tǒng)(步驟205)。
或者,如果兩個(gè)期望動(dòng)態(tài)審查散列值都與對(duì)應(yīng)的存儲(chǔ)值匹配(判定模塊203中的“YES”路徑),那么,動(dòng)態(tài)數(shù)據(jù)對(duì)象Md和動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth(例如,TryCnt)都通過了完整性檢查,并允許修改例程繼續(xù)進(jìn)行。
下面,例程確定用戶是否被授權(quán)進(jìn)行修改。在所述實(shí)施例中,它包括確定前面進(jìn)行的失敗嘗試的次數(shù),獲得修改動(dòng)態(tài)數(shù)據(jù)對(duì)象的授權(quán)是否超過預(yù)先確定的限制(決策模塊207)。因此,動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth在本發(fā)明中包括計(jì)數(shù)器的值TryCnt。如果TryCnt的當(dāng)前值比預(yù)先確定的限制大(決策模塊207中的“YES”路徑),那么不允許再進(jìn)行嘗試,并使系統(tǒng)進(jìn)入鎖定狀態(tài)(步驟205)。
如果訪問失敗嘗試的次數(shù)沒有超過預(yù)定的限制(決策模塊207中的“NO”路徑),則通過確定用戶是否被授權(quán)修改使授權(quán)例程繼續(xù)(決策模塊209)。這可以以任何方式進(jìn)行。例如,如上所述,用戶可以提供一個(gè)與預(yù)先存入值進(jìn)行比較的訪問代碼。然而,使用的具體授權(quán)技術(shù)不是本發(fā)明的實(shí)質(zhì)方面,可以選擇應(yīng)用其它技術(shù)。例如,可以要求用戶插入一張有效的密鑰卡或其它硬件保密卡。在其它選擇中,可以檢查用戶的一些物理屬性,例如指紋,以便確認(rèn)所述用戶已被授權(quán)。
如果用戶沒有通過授權(quán)檢查(判定模塊209中的“NO”路徑),就調(diào)整動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth,這時(shí),失敗嘗試計(jì)數(shù)器(TryCnt)加1(步驟211),因此它表示已經(jīng)進(jìn)行了另一次失敗的嘗試。由于第二個(gè)動(dòng)態(tài)審查散列值S’d是失敗嘗試計(jì)數(shù)器的函數(shù),所以它也將重新計(jì)算并存回到存儲(chǔ)器中(步驟213)。
如果用戶通過了授權(quán)檢查(判定模塊209中的“YES”路徑),那么,就允許修改動(dòng)態(tài)數(shù)據(jù)對(duì)象Md(步驟215)。在所述修改之后,由于它是動(dòng)態(tài)數(shù)據(jù)對(duì)象Md的函數(shù),所以重新計(jì)算第一動(dòng)態(tài)審查散列值Sd并存回到存儲(chǔ)器中(步驟217)。在某些實(shí)施例中,最好第二動(dòng)態(tài)審查散列值S’d不僅是動(dòng)態(tài)授權(quán)數(shù)據(jù)的函數(shù)、而且也是動(dòng)態(tài)數(shù)據(jù)對(duì)象Md的函數(shù)。這可能是有用的,例如,它將使惡意的用戶確定動(dòng)態(tài)授權(quán)數(shù)據(jù)和第二動(dòng)態(tài)審查散列值之間的映射更加困難。在這種情況下,或者如果TryCnt被調(diào)整(例如,復(fù)位到初始值),那么,每當(dāng)對(duì)動(dòng)態(tài)數(shù)據(jù)對(duì)象Md進(jìn)行授權(quán)的修改,第二動(dòng)態(tài)審查散列值S’d就需要重新計(jì)算并且將結(jié)果存回到存儲(chǔ)器中(選擇步驟219)。
上述技術(shù)僅僅是參照本發(fā)明所有實(shí)施例的許多可能的實(shí)施例中的一個(gè)。例如,在確定用戶是否授權(quán)進(jìn)行修改之前對(duì)動(dòng)態(tài)數(shù)據(jù)對(duì)象Md和動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth的完整性進(jìn)行檢查不是必不可少的??梢援a(chǎn)生另一個(gè)實(shí)施例,在所述實(shí)施例中,完整性的檢查可以在進(jìn)行確定用戶所需的修改前的那一刻執(zhí)行,例如,在用戶已經(jīng)證明自已被授權(quán)之后、或者在發(fā)現(xiàn)TryCnt還沒有達(dá)到其預(yù)定限制之后而用戶已經(jīng)證明自已被授權(quán)之前。
上述技術(shù)可以用一些不同方法實(shí)現(xiàn)。下面將結(jié)合圖3的方框圖說明第一個(gè)實(shí)施例。在所述系統(tǒng)中,包括處理電路300的ASIC通過系統(tǒng)總線307與快速程序存儲(chǔ)器301、RAM 303和EEPROM 305互連。處理電路300包括微處理器309、定時(shí)器和控制器的邏輯電路311以及兩種形式的存儲(chǔ)器PSRAM 313和IROM 315。IROM 315存儲(chǔ)引導(dǎo)代碼317以及在下面將更詳細(xì)說明的其它數(shù)據(jù)。
現(xiàn)在將集中討論本實(shí)施例與確保靜態(tài)數(shù)據(jù)Ms完整性相關(guān)的那些方面,其中Ms與其它相關(guān)的靜態(tài)審查散列值Ss一起存儲(chǔ)在EEPROM305中。如前所述,靜態(tài)審查散列值Ss由靜態(tài)散列算法Hs產(chǎn)生,其程序代碼319存儲(chǔ)在IROM 315中。存儲(chǔ)在EEPROM 305中的靜態(tài)審查散列值Ss的值可以在系統(tǒng)外、在將靜態(tài)數(shù)據(jù)Ms轉(zhuǎn)移到EEPROM 305中之前產(chǎn)生,或者,在靜態(tài)數(shù)據(jù)對(duì)象Ms首先轉(zhuǎn)移到EEPROM 305時(shí)通過處理電路300產(chǎn)生。在后一種情況下,最好通過授權(quán)程序?qū)υL問執(zhí)行散列算法Hs的程序代碼319并且將其計(jì)算值存儲(chǔ)到處理電路300外面的非易失性存儲(chǔ)器(例如,EEPROM 305)中的能力進(jìn)行控制。公用/專用密鑰加密方案可用于此目的。程序代碼323和用于授權(quán)程序的公開密鑰321存儲(chǔ)在處理電路300的IROM 315中。
如前所述,通過靜態(tài)散列算法Hs計(jì)算的靜態(tài)審查散列代碼Ss的值不僅僅隨使用哪一種靜態(tài)散列算法而變而且與輸入?yún)?shù)的值有關(guān)??梢砸造o態(tài)數(shù)據(jù)Ms的函數(shù)的形式嚴(yán)格計(jì)算Ss。但是,在本實(shí)施例中,最好還有防止復(fù)制的保護(hù)。為了實(shí)現(xiàn)這種保護(hù),向靜態(tài)散列算法Hs輸入的參數(shù)為靜態(tài)數(shù)據(jù)Ms和唯一的(或幾乎是唯一的)靜態(tài)參數(shù),例如,上述參數(shù)SerNo。這可以表示為以下形式Ss=Hs(Ms,SerNo)SerNo的值可以在生產(chǎn)快速程序存儲(chǔ)器301時(shí)存儲(chǔ)到快速程序存儲(chǔ)器301中,并要用不能改變其值的方法完成。
在靜態(tài)審查散列值Ss被存儲(chǔ)到EEPROM 305中后,執(zhí)行靜態(tài)散列算法Hs的程序代碼319,無論何時(shí)都需要確保存儲(chǔ)在EEPROM 305中的靜態(tài)數(shù)據(jù)Ms不被修改。例如,這可以在定時(shí)器和控制器邏輯電路311的指導(dǎo)下定期地進(jìn)行。將靜態(tài)數(shù)據(jù)Ms和SerNo作為輸入信號(hào)提供給靜態(tài)散列算法Hs。新產(chǎn)生的絕不會(huì)出現(xiàn)在處理電路300外的靜態(tài)審查散列值與存儲(chǔ)在EEPROM 305中的靜態(tài)審查散列值進(jìn)行比較。任何不匹配都表示靜態(tài)數(shù)據(jù)Ms被修改了。
現(xiàn)在,集中討論包含在確保動(dòng)態(tài)數(shù)據(jù)Md完整性的那些方面。動(dòng)態(tài)數(shù)據(jù)對(duì)象Md與動(dòng)態(tài)授權(quán)數(shù)據(jù)(此時(shí)為失敗嘗試計(jì)數(shù)器(TryCnt))、以及第一和第二動(dòng)態(tài)審查散列值Sd和S’d一起存儲(chǔ)在EEPROM 305中。其程序代碼325存儲(chǔ)在IROM 315中的單個(gè)動(dòng)態(tài)散列算法Hd根據(jù)接收的輸入?yún)?shù)計(jì)算預(yù)期的第一或第二動(dòng)態(tài)審查散列值Sd或S’d。
在將動(dòng)態(tài)數(shù)據(jù)Md轉(zhuǎn)移到系統(tǒng)存儲(chǔ)器(例如,EEPROM 305)中之前,可以在系統(tǒng)外面計(jì)算第一第二動(dòng)態(tài)審查散列值Sd和S’d的初始值,或者當(dāng)動(dòng)態(tài)數(shù)據(jù)對(duì)象Md被轉(zhuǎn)移到系統(tǒng)的存儲(chǔ)器中、但是在靜態(tài)數(shù)據(jù)對(duì)象Ms和Ss也已經(jīng)保存之后,可以在處理電路300內(nèi)計(jì)算。
通過動(dòng)態(tài)散列算法Hd計(jì)算的第一動(dòng)態(tài)審查散列值Sd的值是動(dòng)態(tài)數(shù)據(jù)對(duì)象Md的函數(shù),但最好不是失敗嘗試計(jì)數(shù)器值TryCnt的函數(shù)。在最佳實(shí)施例中,第一動(dòng)態(tài)審查散列值Sd取決于Hd本身和Md以及Ss的值。這可以表示為以下形式Sd=Hd(Md,Ss)將可以看到,由于Ss是SerNo本身的函數(shù),所以Sd也是SerNo的函數(shù)。
類似地,通過動(dòng)態(tài)散列算法Hd來計(jì)算第二動(dòng)態(tài)審查散列值S’d,后者至少是動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth的函數(shù),在此情況下所述動(dòng)態(tài)授權(quán)數(shù)據(jù)Md_auth是失敗嘗試計(jì)數(shù)器值TryCnt。然而,為了使保護(hù)方案更難反演,第二動(dòng)態(tài)審查散列值S’d最好依賴于Hd本身和Md、SerNo以及TryCnt的值。這可以表示為以下形式S’d=Hd(Md,SerNo,TryCnt)為了表明其有效性,動(dòng)態(tài)數(shù)據(jù)Md必須通過兩種測(cè)試。一種測(cè)試是,保存的數(shù)據(jù)由處理電路300通過計(jì)算給定控制瞬間的期望的第一審查散列值來檢查。把決不會(huì)出現(xiàn)在處理電路300外的所述計(jì)算值與預(yù)先存儲(chǔ)在EEPROM 305中的第一動(dòng)態(tài)審查散列值Sd進(jìn)行比較。如果兩個(gè)值相互不同,那么,表明動(dòng)態(tài)數(shù)據(jù)Md已被修改。
在第二種測(cè)試中,存儲(chǔ)的數(shù)據(jù)由處理電路300通過計(jì)算給定瞬間的期望的第二動(dòng)態(tài)審查散列值來檢查。把也決不會(huì)出現(xiàn)在處理電路300外的所述計(jì)算值與預(yù)先存儲(chǔ)在EEPROM 305中的第二動(dòng)態(tài)審查散列值S’d進(jìn)行比較。同樣,如果兩個(gè)值相互不同,那么,表明動(dòng)態(tài)數(shù)據(jù)Md已被修改。應(yīng)當(dāng)指出,即使第二動(dòng)態(tài)審查散列值S’d不是動(dòng)態(tài)數(shù)據(jù)對(duì)象Md的函數(shù),所述不匹配也表示動(dòng)態(tài)授權(quán)數(shù)據(jù)(例如,失敗嘗試計(jì)數(shù)器值TryCnt)被竄改。因此,也可以設(shè)想,動(dòng)態(tài)數(shù)據(jù)對(duì)象Md已經(jīng)在未授權(quán)的情況下被修改。
只有兩種測(cè)試都成功地通過時(shí)動(dòng)態(tài)數(shù)據(jù)對(duì)象Md才看作為可信的(即沒有出現(xiàn)未授權(quán)的修改)。如果動(dòng)態(tài)數(shù)據(jù)對(duì)象Md已被證實(shí)為可信的,那么,用戶可以通過成功地完成訪問過程來獲得通向修改動(dòng)態(tài)數(shù)據(jù)對(duì)象Md的權(quán)力的入口。在這里說明的示范性實(shí)施例中,訪問過程包括用戶通過輸入設(shè)備,例如鍵盤(未示出),輸入訪問代碼。期望的訪問代碼327以加密形式被存儲(chǔ)在EEPROM 305中并且隨后在處理電路300內(nèi)利用秘密密鑰Ke 329和解密算法進(jìn)行加密,,所述解密算法的程序代碼331存儲(chǔ)在IROM 315中。
如果用戶成功地完成了訪問過程并修改了動(dòng)態(tài)數(shù)據(jù)對(duì)象Md,那么,就執(zhí)行動(dòng)態(tài)散列算法325,計(jì)算第一和第二動(dòng)態(tài)審查散列值Sd和S’d的新值。(在第二動(dòng)態(tài)審查散列值不是動(dòng)態(tài)數(shù)據(jù)對(duì)象Md的函數(shù)的實(shí)施例中,如果動(dòng)態(tài)授權(quán)數(shù)據(jù)一例如,失敗嘗試計(jì)數(shù)器的值TryCnt-還沒有被修改,那么,僅僅需要計(jì)算第一動(dòng)態(tài)審查散列值的新值。)然后,將這些新值存儲(chǔ)到EEPROM 305中,供以后的動(dòng)態(tài)數(shù)據(jù)完整性檢查使用。如前所述,由于用戶已經(jīng)確認(rèn),他或她被授權(quán),因而沒有惡意,因此總線307上的這些值的表示被看作是安全的。
如果用戶的訪問嘗試失敗了,就需要修改存儲(chǔ)在EEPROM 305中的動(dòng)態(tài)授權(quán)數(shù)據(jù)(在本實(shí)施例中為失敗嘗試計(jì)數(shù)器TryCnt)。在進(jìn)行這種修改時(shí),由于S’d是TryCnt的函數(shù),所以,保存的第二動(dòng)態(tài)審查散列值S’d將不再有效。因此,必須執(zhí)行動(dòng)態(tài)散列算法Hd以便重新計(jì)算第二動(dòng)態(tài)審查散列值S’d的新值。然后,將所述新值存入EEPROM305中。在進(jìn)行這些操作時(shí),把第二動(dòng)態(tài)審查散列值S’d送入總線307,因此有可能把第二動(dòng)態(tài)審查散列值暴露給惡意用戶,由于他或她仍將沒有足夠的信息指明如何可以計(jì)算第一動(dòng)態(tài)審查散列值Sd,這時(shí),用戶將沒有足夠的信息去確定如何繞過動(dòng)態(tài)數(shù)據(jù)完整性檢查機(jī)制。由于第一和第二動(dòng)態(tài)審查散列值都需要成功地完成動(dòng)態(tài)數(shù)據(jù)完整性檢查機(jī)制,因此系統(tǒng)是安全的。
在圖4的方框圖中說明了本發(fā)明的可供選擇的實(shí)施例。在所述實(shí)施例中,與使用秘密密鑰Ke相關(guān)聯(lián)的有價(jià)值的加密配置方案避免使用公用/專用密碼系統(tǒng)保護(hù)訪問代碼。所述實(shí)施例不同于圖3所示的實(shí)施例之處在于第二公開密鑰401存儲(chǔ)在IROM 215中。允許將第二公開密鑰401存儲(chǔ)在IROM 215中是第二公開密鑰401的公開特征。相反,保持圖3的秘密密鑰Ke 329的秘密需要將所述密鑰存儲(chǔ)在安全的不希望讀出的地方。
可以在不泄漏由生產(chǎn)廠家使用的匹配的秘密密鑰的的情況下使第二公開密鑰401成為公開的。因此,在所述實(shí)施例中,有可能避免為安全地存儲(chǔ)秘密密鑰需要的昂貴技術(shù)。
一種系統(tǒng)和方法(例如,在美國(guó)專利No.4405829的中公開的)可以用來有效地對(duì)圖4所示實(shí)施例的訪問系統(tǒng)進(jìn)行加密。美國(guó)專利No.4405829通過引用而被全部包括在本文中。
由于要求使用非標(biāo)準(zhǔn)的處理電路(例如,所述電路不僅包括標(biāo)準(zhǔn)的微處理器,而且還包括特殊的程序代碼和存儲(chǔ)在ASIC的IROM中的參數(shù)),上述實(shí)施例可能要承擔(dān)一些附加的費(fèi)用才能實(shí)現(xiàn)。在圖5的方框圖中說明的另一個(gè)可選擇的實(shí)施例中可避免所述成本。在所述實(shí)施例中,所有的程序代碼和與靜態(tài)和動(dòng)態(tài)數(shù)據(jù)完整性機(jī)制相關(guān)聯(lián)的參數(shù)都存儲(chǔ)在快速程序存儲(chǔ)器501中,而不是IROM 315中。為了消除惡意用戶在快速程序存儲(chǔ)器中對(duì)所述數(shù)據(jù)進(jìn)行簡(jiǎn)單編程的可能性,在編程后,應(yīng)對(duì)快速程序存儲(chǔ)器的內(nèi)容使用部分凍結(jié)或瑣定(即設(shè)置為非重編程的)功能。在圖5中,示出了存儲(chǔ)在快速程序存儲(chǔ)器501的可鎖定部分503中的所述程序代碼和相關(guān)參數(shù)。
已經(jīng)參考具體的實(shí)施例對(duì)本發(fā)明進(jìn)行了說明。但是,本專業(yè)的技術(shù)人員將容易明白,用特殊形式而不是上述最佳實(shí)施例能夠?qū)崿F(xiàn)本發(fā)明??梢栽诓幻撾x本發(fā)明精神的情況下這樣做。最佳實(shí)施例僅僅是說明,并沒有考慮任何限制。本發(fā)明的范圍由所附權(quán)利要求書限定,而不是前面的描述,所有屬于所述權(quán)利要求書范圍內(nèi)的修改和等價(jià)內(nèi)容都包括在內(nèi)。
權(quán)利要求
1.一種確保動(dòng)態(tài)數(shù)據(jù)對(duì)象完整性的方法,所述動(dòng)態(tài)數(shù)據(jù)對(duì)象包括一個(gè)或多個(gè)數(shù)據(jù)項(xiàng),所述方法包括將所述動(dòng)態(tài)數(shù)據(jù)對(duì)象存入存儲(chǔ)器中;將動(dòng)態(tài)授權(quán)數(shù)據(jù)存入所述存儲(chǔ)器中;應(yīng)用第一動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的一個(gè)或多個(gè)參數(shù)產(chǎn)生初始的第一動(dòng)態(tài)審查散列值;應(yīng)用第二動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)授權(quán)數(shù)據(jù)的一個(gè)或多個(gè)參數(shù)產(chǎn)生初始的第二動(dòng)態(tài)審查散列值;將所述初始的第一動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中;將所述初始的第二動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中;確定用戶是否被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象;如果用戶未被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象,那么調(diào)整所述動(dòng)態(tài)授權(quán)數(shù)據(jù);將所述調(diào)整后的動(dòng)態(tài)授權(quán)數(shù)據(jù)存入所述存儲(chǔ)器中;應(yīng)用第二動(dòng)態(tài)散列算法、從包括所述調(diào)整后的動(dòng)態(tài)授權(quán)數(shù)據(jù)的一個(gè)或多個(gè)參數(shù)產(chǎn)生調(diào)整后的第二動(dòng)態(tài)審查散列值;以及將所述調(diào)整后的第二動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中;以及如果用戶被授權(quán)修改動(dòng)態(tài)數(shù)據(jù)對(duì)象,那么允許用戶修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象;將所述修改后的動(dòng)態(tài)數(shù)據(jù)對(duì)象存入所述存儲(chǔ)器中;應(yīng)用第一動(dòng)態(tài)散列算法、從包括所述修改后的動(dòng)態(tài)數(shù)據(jù)對(duì)象的一個(gè)或多個(gè)參數(shù)產(chǎn)生調(diào)整后的第一動(dòng)態(tài)審查散列值;以及將所述調(diào)整后的第一動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中。
2.如權(quán)利要求1所述的方法,其特征在于所述從其中產(chǎn)生所述第二動(dòng)態(tài)審查散列值的一個(gè)或多個(gè)參數(shù)還包括與所述動(dòng)態(tài)數(shù)據(jù)對(duì)象有關(guān)的參數(shù);以及所述方法還包括如果用戶被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象,那么利用所述第二動(dòng)態(tài)散列算法,從包括所述修改后的動(dòng)態(tài)數(shù)據(jù)對(duì)象、預(yù)先確定的值以及靜態(tài)參數(shù)的一個(gè)或多個(gè)參數(shù)產(chǎn)生調(diào)整后的第二動(dòng)態(tài)審查散列值;以及將所述調(diào)整后的第二動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中。
3.如權(quán)利要求1所述的方法,其特征在于還包括在允許所述用戶修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象之前,確定所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是否為未授權(quán)的修改結(jié)果,其中,進(jìn)行所述確定的方法是利用所述第一動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的所述一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第一動(dòng)態(tài)審查散列值;應(yīng)用第二動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)授權(quán)數(shù)據(jù)的所述一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第二動(dòng)態(tài)審查散列值;將所述期望的第一動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第一動(dòng)態(tài)審查散列值進(jìn)行比較,如果所述期望的第一動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第一動(dòng)態(tài)審查散列值不匹配,則表明所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果;以及將所述期望的第二動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第二動(dòng)態(tài)審查散列值進(jìn)行比較,如果所述期望的第二動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第二動(dòng)態(tài)審查散列值不匹配,則表明所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果。
4.如權(quán)利要求3所述的方法,其特征在于所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是否為未授權(quán)的修改結(jié)果的所述確定是在確定所述用戶是否被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象之前進(jìn)行的。
5.如權(quán)利要求1所述的方法,其特征在于所述第一動(dòng)態(tài)散列算法與第二動(dòng)態(tài)散列算法相同。
6.如權(quán)利要求1所述的方法,其特征在于所述動(dòng)態(tài)授權(quán)數(shù)據(jù)包括失敗嘗試計(jì)數(shù)器值,后者表示為獲得修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的授權(quán)已經(jīng)進(jìn)行了多少次失敗嘗試。
7.如權(quán)利要求1所述的方法,其特征在于所述方法在第一設(shè)備中實(shí)現(xiàn);以及從其中產(chǎn)生所述第一動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括靜態(tài)參數(shù)。
8.如權(quán)利要求7所述的方法,其特征在于所述靜態(tài)參數(shù)是把所述第一設(shè)備與第二設(shè)備區(qū)別開的序列號(hào)。
9.如權(quán)利要求8所述的方法,其特征在于從其產(chǎn)生中所述第二動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括靜態(tài)參數(shù)。
10.如權(quán)利要求1所述的方法,其特征在于所述方法在第一設(shè)備中實(shí)現(xiàn);以及從其中產(chǎn)生所述第二動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括靜態(tài)參數(shù)。
11.如權(quán)利要求10所述的方法,其特征在于所述靜態(tài)參數(shù)是把所述第一設(shè)備與第二設(shè)備區(qū)別開的序列號(hào)。
12.如權(quán)利要求1所述的方法,其特征在于從其中產(chǎn)生所述第一動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括通過靜態(tài)散列算法產(chǎn)生作為靜態(tài)數(shù)據(jù)對(duì)象的函數(shù)的靜態(tài)審查散列值。
13.如權(quán)利要求12所述的方法,其特征在于所述靜態(tài)散列算法與所述第一動(dòng)態(tài)散列算法相同。
14.如權(quán)利要求13所述的方法,其特征在于所述第一動(dòng)態(tài)散列算法與所述第二動(dòng)態(tài)散列算法相同。
15.如權(quán)利要求1所述的方法,其特征在于確定所述用戶是否被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的操作包括接收所述用戶的訪問代碼;以及確定所述訪問代碼是否為授權(quán)的訪問代碼。
16.如權(quán)利要求15所述的方法,其特征在于所述確定訪問代碼是否為授權(quán)的訪問代碼的操作包括從存儲(chǔ)器檢索加密的授權(quán)訪問代碼;將所述加密的授權(quán)訪問代碼解密;以及將所述解密的授權(quán)訪問代碼與從所述用戶接收到的所述訪問代碼比較。
17.如權(quán)利要求15所述的方法,其特征在于所述確定訪問代碼是否為授權(quán)的訪問代碼的操作包括從存儲(chǔ)器檢索被加密的授權(quán)訪問代碼;對(duì)從所述用戶接收到的所述訪問代碼加密;以及將所述檢索的加密的授權(quán)訪問代碼與從所述用戶接收到的加密的訪問代碼進(jìn)行比較。
18.一種確定存儲(chǔ)在存儲(chǔ)器中的動(dòng)態(tài)數(shù)據(jù)對(duì)象是否為未授權(quán)修改結(jié)果的方法,所述方法包括從所述存儲(chǔ)器檢索初始的第一動(dòng)態(tài)審查散列值;從所述存儲(chǔ)器檢索初始的第二動(dòng)態(tài)審查散列值;應(yīng)用第一動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第一動(dòng)態(tài)審查散列值;應(yīng)用第二動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)授權(quán)數(shù)據(jù)的一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第二動(dòng)態(tài)審查散列值;將所述期望的第一動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的所述初始的第一動(dòng)態(tài)審查散列值進(jìn)行比較,如果所述期望的第一動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的所述初始的第一動(dòng)態(tài)審查散列值不匹配,那么,表明所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果;以及將所述期望的第二動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的所述初始的第二動(dòng)態(tài)審查散列值進(jìn)行比較,如果所述期望的第二動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的所述初始的第二動(dòng)態(tài)審查散列值不匹配,那么,表明所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果。
19.一種用于確保包括一個(gè)或多個(gè)動(dòng)態(tài)數(shù)據(jù)項(xiàng)的動(dòng)態(tài)數(shù)據(jù)對(duì)象完整性的裝置,所述裝置包括將所述動(dòng)態(tài)數(shù)據(jù)對(duì)象存入存儲(chǔ)器的邏輯部件;將動(dòng)態(tài)授權(quán)數(shù)據(jù)存入所述存儲(chǔ)器的邏輯部件;應(yīng)用第一動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的一個(gè)或多個(gè)參數(shù)產(chǎn)生初始的第一動(dòng)態(tài)審查散列值的邏輯部件;應(yīng)用第二動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)授權(quán)數(shù)據(jù)的一個(gè)或多個(gè)參數(shù)產(chǎn)生初始的第二動(dòng)態(tài)審查散列值的邏輯部件;將所述初始的第一動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器的邏輯部件;將所述初始的第二動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器的邏輯部件;確定用戶是否被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的邏輯部件;如果所述用戶未被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象、則執(zhí)行以下操作的邏輯部件調(diào)整所述動(dòng)態(tài)授權(quán)數(shù)據(jù);將所述調(diào)整后的動(dòng)態(tài)授權(quán)數(shù)據(jù)存入所述存儲(chǔ)器中;應(yīng)用第二動(dòng)態(tài)散列算法、從包括所述調(diào)整后的動(dòng)態(tài)授權(quán)數(shù)據(jù)的一個(gè)或多個(gè)參數(shù)產(chǎn)生調(diào)整后的第二動(dòng)態(tài)審查散列值;以及將所述調(diào)整后的第二動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中;以及如果所述用戶被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象,則執(zhí)行以下操作的邏輯部件允許所述用戶修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象;將所述修改后的動(dòng)態(tài)數(shù)據(jù)對(duì)象存入所述存儲(chǔ)器中;應(yīng)用所述第一動(dòng)態(tài)散列算法、從包括所述修改后的動(dòng)態(tài)數(shù)據(jù)對(duì)象的一個(gè)或多個(gè)參數(shù)產(chǎn)生調(diào)整后的第一動(dòng)態(tài)審查散列值;以及將所述調(diào)整后的第一動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中。
20.如權(quán)利要求19所述的裝置,其特征在于從其中產(chǎn)生所述第二動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括與所述動(dòng)態(tài)數(shù)據(jù)對(duì)象有關(guān)的參數(shù);以及所述裝置還包括如果所述用戶被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象,則執(zhí)行以下操作的邏輯部件應(yīng)用所述第二動(dòng)態(tài)散列算法、從包括所述修改后的動(dòng)態(tài)數(shù)據(jù)對(duì)象的所述一個(gè)或多個(gè)參數(shù)、所述預(yù)確定值以及所述靜態(tài)參數(shù)產(chǎn)生調(diào)整后的第二動(dòng)態(tài)審查散列值;以及將所述調(diào)整后的第二動(dòng)態(tài)審查散列值存入所述存儲(chǔ)器中。
21.如權(quán)利要求19所述的裝置,其特征在于還包括邏輯部件,它在允許所述用戶修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象之前運(yùn)行、以便確定所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是否為未授權(quán)的修改結(jié)果,其中,執(zhí)行所述確定操作的步驟如下應(yīng)用所述第一動(dòng)態(tài)散列算法、從包括所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的所述一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第一動(dòng)態(tài)審查散列值;應(yīng)用所述第二動(dòng)態(tài)散列算法,從包括所述動(dòng)態(tài)授權(quán)數(shù)據(jù)的所述一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第二動(dòng)態(tài)審查散列值;將所述期望的第一動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第一動(dòng)態(tài)審查散列值進(jìn)行比較,如果所述期望的第一動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第一動(dòng)態(tài)審查散列值不匹配,那么,表明所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果;以及將所述期望的第二動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第二動(dòng)態(tài)審查散列值進(jìn)行比較,如果所述期望的第二動(dòng)態(tài)審查散列值與存儲(chǔ)在所述存儲(chǔ)器中的所述初始的第二動(dòng)態(tài)審查散列值不匹配,那么,表明所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果。
22.如權(quán)利要求21所述的裝置,其特征在于所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是否為未授權(quán)的修改結(jié)果的確定是在確定所述用戶是否被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象之前進(jìn)行的。
23.如權(quán)利要求19所述的裝置,其特征在于所述第一動(dòng)態(tài)散列算法與所述第二動(dòng)態(tài)散列算法相同。
24.如權(quán)利要求19所述的裝置,其特征在于所述動(dòng)態(tài)授權(quán)數(shù)據(jù)包括失敗嘗試計(jì)數(shù)器值,后者表示為獲得修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的授權(quán)已經(jīng)進(jìn)行了多少次失敗嘗試。
25.如權(quán)利要求19所述的裝置,其特征在于所述裝置在第一設(shè)備中實(shí)現(xiàn);以及從其中產(chǎn)生所述第一動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括靜態(tài)參數(shù)。
26.如權(quán)利要求25所述的裝置,其特征在于所述靜態(tài)參數(shù)是將所述第一設(shè)備與第二設(shè)備區(qū)別開的序列號(hào)。
27.如權(quán)利要求26所述的裝置,其特征在于從其中產(chǎn)生所述第二動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括所述靜態(tài)參數(shù)。
28.如權(quán)利要求19所述的裝置,其特征在于所述裝置在第一設(shè)備中實(shí)現(xiàn);以及從其中產(chǎn)生所述第二動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括靜態(tài)參數(shù)。
29.如權(quán)利要求28所述的裝置,其特征在于所述靜態(tài)參數(shù)是將所述第一設(shè)備與第二設(shè)備區(qū)別開的序列號(hào)。
30.如權(quán)利要求19所述的裝置,其特征在于從其中產(chǎn)生所述第一動(dòng)態(tài)審查散列值的所述一個(gè)或多個(gè)參數(shù)還包括靜態(tài)審查散列值,所述靜態(tài)審查散列值是通過靜態(tài)散列算法、作為靜態(tài)數(shù)據(jù)對(duì)象的函數(shù)產(chǎn)生的。
31.如權(quán)利要求30所述的裝置,其特征在于所述靜態(tài)散列算法與所述第一動(dòng)態(tài)散列算法相同。
32.如權(quán)利要求31所述的裝置,其特征在于所述第一動(dòng)態(tài)散列算法與所述第二動(dòng)態(tài)散列算法相同。
33.如權(quán)利要求19所述的裝置,其特征在于確定所述用戶是否被授權(quán)修改所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的所述邏輯部件包括從所述用戶接收訪問代碼的邏輯部件;以及確定所述訪問代碼是否為授權(quán)的訪問代碼的邏輯部件。
34.如權(quán)利要求33所述的裝置,其特征在于確定所述訪問代碼是否為所述授權(quán)的訪問代碼的所述邏輯部件包括從存儲(chǔ)器檢索加密的授權(quán)訪問代碼的邏輯部件;對(duì)所述加密的授權(quán)訪問代碼進(jìn)行解密的邏輯部件;以及將所述解密的授權(quán)訪問代碼與從所述用戶接收到的所述訪問代碼進(jìn)行比較的邏輯部件。
35.如權(quán)利要求33所述的裝置,其特征在于確定所述訪問代碼是否為所述授權(quán)的訪問代碼的所述邏輯部件包括從存儲(chǔ)器檢索加密的授權(quán)訪問代碼的邏輯部件;對(duì)從所述用戶接收到的所述訪問代碼加密的邏輯部件;以及將所述檢索的加密的授權(quán)訪問代碼與從所述用戶接收到的所述加密的訪問代碼進(jìn)行比較的邏輯部件。
36.一種用于確定存儲(chǔ)在存儲(chǔ)器中的動(dòng)態(tài)數(shù)據(jù)對(duì)象是否為未授權(quán)的修改結(jié)果的裝置,所述裝置包括從存儲(chǔ)器中檢索初始的第一動(dòng)態(tài)審查散列值的邏輯部件;從存儲(chǔ)器中檢索初始的第二動(dòng)態(tài)審查散列值的邏輯部件;應(yīng)用第一動(dòng)態(tài)散列算法從包括所述動(dòng)態(tài)數(shù)據(jù)對(duì)象的一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第一動(dòng)態(tài)審查散列值的邏輯部件;應(yīng)用第二動(dòng)態(tài)散列算法從包括所述動(dòng)態(tài)授權(quán)數(shù)據(jù)的一個(gè)或多個(gè)參數(shù)產(chǎn)生期望的第二動(dòng)態(tài)審查散列值的邏輯部件;將所述期望的第一動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的所述初始的第一動(dòng)態(tài)審查散列值進(jìn)行比較、如果所述期望的第一動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的所述初始的第一動(dòng)態(tài)審查散列值不匹配、則指示所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果的邏輯部件;以及將所述期望的第二動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的初始的第二動(dòng)態(tài)審查散列值進(jìn)行比較、如果所述期望的第二動(dòng)態(tài)審查散列值與從所述存儲(chǔ)器中檢索的所述初始的第二動(dòng)態(tài)審查散列值不匹配、則指示所述動(dòng)態(tài)數(shù)據(jù)對(duì)象是未授權(quán)的修改結(jié)果的邏輯部件。
全文摘要
通過把動(dòng)態(tài)數(shù)據(jù)對(duì)象和動(dòng)態(tài)授權(quán)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中來確保包括一個(gè)或多個(gè)動(dòng)態(tài)數(shù)據(jù)項(xiàng)的動(dòng)態(tài)數(shù)據(jù)對(duì)象的完整性。例如,動(dòng)態(tài)授權(quán)數(shù)據(jù)可以是為獲得授權(quán)進(jìn)行了多少次失敗嘗試的記數(shù),并且在任何時(shí)候進(jìn)行了另一次失敗嘗試至少要修改所述記數(shù)。無論何時(shí)都可以修改動(dòng)態(tài)數(shù)據(jù)對(duì)象和動(dòng)態(tài)授權(quán)數(shù)據(jù),其對(duì)應(yīng)的散列值就要重新計(jì)算并存回到存儲(chǔ)器中。只有新產(chǎn)生的兩個(gè)散列特征值與預(yù)先存儲(chǔ)在存儲(chǔ)器中的值匹配時(shí),動(dòng)態(tài)數(shù)據(jù)對(duì)象才被看作為可信的。對(duì)動(dòng)態(tài)數(shù)據(jù)對(duì)象的修改只能在用戶已經(jīng)執(zhí)行并通過授權(quán)程序后才能進(jìn)行。
文檔編號(hào)G06F21/00GK1466710SQ01816218
公開日2004年1月7日 申請(qǐng)日期2001年9月25日 優(yōu)先權(quán)日2000年9月26日
發(fā)明者B·斯梅茨, B 斯梅茨 申請(qǐng)人:艾利森電話股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
信阳市| 清流县| 衢州市| 南溪县| 鸡泽县| 锡林郭勒盟| 镇坪县| 土默特右旗| 天门市| 清苑县| 长春市| 和平县| 自治县| 宝山区| 博兴县| 蓬溪县| 府谷县| 乐都县| 西华县| 西吉县| 九江市| 乌鲁木齐市| 黔西县| 射阳县| 阳泉市| 新营市| 从化市| 镇平县| 武冈市| 宁陕县| 常熟市| 山阴县| 易门县| 莒南县| 望城县| 来宾市| 屯门区| 巴马| 新宾| 徐闻县| 益阳市|