專利名稱:確保數(shù)據(jù)記錄集合完整性的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及確保記錄在數(shù)據(jù)庫或類似的信息存儲(chǔ)裝置中的數(shù)據(jù)記錄集合的完整性的方法、系統(tǒng)和計(jì)算機(jī)程序。
背景技術(shù):
很多計(jì)算機(jī)化的應(yīng)用產(chǎn)生要加以存儲(chǔ)的海量數(shù)據(jù)。典型地,要將計(jì)算機(jī)化應(yīng)用的事件登記到日志文件中。日志文件是系統(tǒng)操作員、軟件開發(fā)人員、保安人員和各種其它群體最重要的信息來源之一。
傳統(tǒng)上,要以連續(xù)方式將日志數(shù)據(jù)文件寫入到日志文件中。最常見類型的日志文件的基本元素是日志記錄,這些日志記錄通常表現(xiàn)為日志文件中的行。非常重要的一點(diǎn)是,日志文件的結(jié)構(gòu)和內(nèi)容要保持真實(shí)可信。尤其對(duì)于安全監(jiān)控來說,很重要的一點(diǎn)是不能以管理員覺察不到做出了改變的任何方式修改或刪除這些行。
目前已經(jīng)有了確保日志文件的完整性的公知方法。例如,可以使用信息驗(yàn)證碼(MAC)或數(shù)字簽名來將密碼與各個(gè)日志文件聯(lián)系起來。之后可以檢測(cè)未授權(quán)的修改,因?yàn)槿绻募?nèi)容改變了,數(shù)字簽名或驗(yàn)證碼也改變了。不過,這些類型的方法并不能在將數(shù)字簽名或另一種類型的驗(yàn)證碼分配給所要保護(hù)的文件之前對(duì)完整性加以保護(hù)。
不過,在很多應(yīng)用中,需要存儲(chǔ)的數(shù)據(jù)量是很龐大的。因此,有必要將日志數(shù)據(jù)或類似數(shù)據(jù)存儲(chǔ)到關(guān)系數(shù)據(jù)庫中。在這種情況下,完整性保護(hù)的問題有點(diǎn)難。在關(guān)系數(shù)據(jù)庫中,數(shù)據(jù)是存儲(chǔ)在由屬性元組(即所謂的記錄)構(gòu)成的表格中的。典型地,日志條目被存儲(chǔ)在數(shù)據(jù)庫中,使各個(gè)日志行對(duì)應(yīng)于某一數(shù)據(jù)庫表格的一個(gè)記錄。
關(guān)系數(shù)據(jù)庫中的完整性保護(hù)傳統(tǒng)上依賴于嚴(yán)格限制數(shù)據(jù)庫用戶的訪問權(quán)限,使未授權(quán)用戶不能改變數(shù)據(jù)庫的內(nèi)容。訪問控制是由關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS)實(shí)施的。另一種確保數(shù)據(jù)庫完整性的方式是將其保存為盤文件并且如上所述那樣為其附上密碼。
這種途徑通常不太實(shí)用,因?yàn)楹芏鄶?shù)據(jù)庫表格本質(zhì)上是動(dòng)態(tài)的并且要經(jīng)常更新。在日志數(shù)據(jù)庫中,例如,一天之內(nèi)產(chǎn)生的日志條目必須要隨時(shí)插入到相應(yīng)的數(shù)據(jù)庫表格中,因?yàn)樗鎯?chǔ)的數(shù)據(jù)量可能非常龐大,比如銀行交易。凍結(jié)數(shù)據(jù)庫表格的內(nèi)容并且利用密碼校驗(yàn)和來保護(hù)其完整性只有在人們確認(rèn)表格的內(nèi)容不會(huì)再加以更新之后才可用。在日志數(shù)據(jù)庫中,這意味著人們不得不使用每日數(shù)據(jù)庫表格來存儲(chǔ)信息。這種解決方案的一個(gè)缺點(diǎn)是,訪問數(shù)天數(shù)據(jù)的查詢不得不進(jìn)行數(shù)個(gè)表格的查找才能執(zhí)行一次查詢。
US5978475(Schneier等人)公開了一種檢驗(yàn)日志文件的完整性的方法。不過,前面提到的專利并沒有公開任何在管理員具有修改數(shù)據(jù)記錄中的數(shù)據(jù)的完全能力的數(shù)據(jù)庫中安排數(shù)據(jù)的手段。
傳統(tǒng)解決方案的主要不足還在于,它們不能應(yīng)用于使用數(shù)據(jù)庫系統(tǒng)并且數(shù)據(jù)庫管理員不能得到完全信任的環(huán)境中。在大多數(shù)RDBM系統(tǒng)中,數(shù)據(jù)庫管理員(DBA)幾乎具有不受限制的修改數(shù)據(jù)庫及其內(nèi)容的權(quán)限。插入到數(shù)據(jù)庫中的任何數(shù)據(jù)都可能遭到心懷叵測(cè)的管理員的修改,即使在數(shù)據(jù)受到防止未授權(quán)修改的加密保護(hù)之前。
現(xiàn)有技術(shù)的主要缺點(diǎn)是控制對(duì)數(shù)據(jù)庫的訪問權(quán)限的問題。另一個(gè)缺點(diǎn)是,數(shù)據(jù)不能存儲(chǔ)在要進(jìn)行數(shù)字簽名的文件中,因?yàn)檫@些文件是隨時(shí)變化著的。第三個(gè)主要缺點(diǎn)是,數(shù)據(jù)庫管理員必須要得到信任?,F(xiàn)今,管理員一般來說是實(shí)際上根本不需要知道存儲(chǔ)在數(shù)據(jù)庫中的信息的技術(shù)人員。因此,需要一種方法,使多人能夠查看和檢查數(shù)據(jù)庫內(nèi)容的完整性,同時(shí)具有將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中的訪問權(quán)限。
發(fā)明內(nèi)容
本發(fā)明公開了一種確保數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)完整性的方法。本發(fā)明公開了一種使公共可見的數(shù)據(jù)庫具有可用于完整性檢驗(yàn)的公共可用的完整性校驗(yàn)和的解決方案。按照本發(fā)明,完整性校驗(yàn)和是使用加密方法由所要存儲(chǔ)的數(shù)據(jù)、前一記錄的校驗(yàn)和以及存儲(chǔ)密鑰計(jì)算出來的。存儲(chǔ)密鑰僅僅發(fā)給被許可對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行簽字的實(shí)體。簽字實(shí)體可以并且應(yīng)當(dāng)不同于數(shù)據(jù)庫管理員。一種解決方案是使用公開密鑰加密法,其中簽字實(shí)體用他/她的私人密鑰計(jì)算完整性校驗(yàn)和,并且希望對(duì)完整性進(jìn)行檢驗(yàn)的人可以使用他/她的公開密鑰來進(jìn)行檢驗(yàn)。然后將計(jì)算出來的完整性校驗(yàn)和附加到數(shù)據(jù)記錄上。第一記錄可以是產(chǎn)生出來的初始記錄,或者它可以利用計(jì)算它自己的校驗(yàn)和所需的、之前協(xié)商的前一校驗(yàn)和。在檢驗(yàn)過程中,采用類似方式計(jì)算完整性校驗(yàn)和,并且將其與附加在具體數(shù)據(jù)記錄上的之前計(jì)算出來的校驗(yàn)和進(jìn)行比較。
本發(fā)明的益處是,利用完整性檢查獲得一個(gè)可信數(shù)據(jù)庫。利用按照本發(fā)明的方法,可以對(duì)數(shù)據(jù)庫進(jìn)行簽字,以致只有簽字負(fù)責(zé)人可以改變數(shù)據(jù)庫的內(nèi)容。按照本發(fā)明,在不破壞所計(jì)算出來的完整性校驗(yàn)和鏈的前提下,不可能刪除和修改存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)記錄。
為了提供對(duì)本發(fā)明的進(jìn)一步理解而包含進(jìn)來并且構(gòu)成本說明書的一部分的附解說明了本發(fā)明的實(shí)施方式,并且與說明書一起幫助解釋說明本發(fā)明的原理。在附圖中附圖1是圖解說明按照本發(fā)明的完整性檢驗(yàn)的基本原理的流程圖,附圖2是圖解說明按照本發(fā)明對(duì)數(shù)據(jù)記錄進(jìn)行存儲(chǔ)的一種實(shí)施方式的流程圖,附圖3是圖解說明按照附圖2中所表達(dá)的系統(tǒng)的實(shí)施方式的框圖。
具體實(shí)施例方式
現(xiàn)在將詳細(xì)引述本發(fā)明的實(shí)施方式,在附圖中圖解說明了這些實(shí)施方式的實(shí)例。
附圖1公開了圖解說明完整性檢驗(yàn)的基本原理的流程圖。按照附圖1,可以以任何適當(dāng)?shù)男问浇邮蛰斎霐?shù)據(jù)。不過,在有大量快速到達(dá)的數(shù)據(jù)條目的情況下,本發(fā)明是最有效的。適當(dāng)?shù)臈l目可以是例如一般來說存儲(chǔ)在大數(shù)據(jù)庫中的銀行交易的日志文件的數(shù)據(jù)記錄。這些日志文件必須是可信的,并且它們必須包括每個(gè)事件,以便在需要時(shí)在法庭上會(huì)被認(rèn)可。
按照附圖1,數(shù)據(jù)到達(dá)簽字實(shí)體10。簽字實(shí)體10有它自己的管理員,它的管理員具有對(duì)數(shù)據(jù)記錄簽字的權(quán)限。簽字可以具有數(shù)字簽名、加密或單向混編的形式。在本說明書中,簽字指的是計(jì)算校驗(yàn)和并且將求得的校驗(yàn)和附加在數(shù)據(jù)記錄上的處理。在下文中,將簽字密鑰稱為存儲(chǔ)密鑰,存儲(chǔ)密鑰可以是任何類型的簽字密鑰。另一方面,使用傳統(tǒng)的公開密鑰加密方法來將簽字人的名字包含到各個(gè)被簽字的記錄中,會(huì)是比較有益的??梢灶愃朴诎踩]件系統(tǒng)中那樣將密鑰插入到系統(tǒng)中,在安全郵件系統(tǒng)中,密鑰包括秘密密鑰文件和要鍵入到加密裝置中的秘密口令部分。也可以用智能卡或類似的東西插入密鑰,或者用任何其它的適當(dāng)裝置插入密鑰。
按照本發(fā)明的方法使用由所要簽字的數(shù)據(jù)記錄、前一記錄的完整性校驗(yàn)和以及存儲(chǔ)密鑰計(jì)算出來的完整性校驗(yàn)和對(duì)各個(gè)數(shù)據(jù)記錄簽字。然后將所計(jì)算出來的完整性校驗(yàn)和附加到數(shù)據(jù)記錄上??梢詫⑵涓郊拥綌?shù)據(jù)本身上,或者數(shù)據(jù)庫11可以包含用于完整性校驗(yàn)和的獨(dú)立字段。由于計(jì)算出來的完整性校驗(yàn)和取決于前一完整性校驗(yàn)和,因此不可能從這些記錄中間除掉一個(gè)或多個(gè)行而不破壞完整性,因?yàn)闄z驗(yàn)需要完整的完整性校驗(yàn)和鏈。將具有完整性校驗(yàn)和的簽字?jǐn)?shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫11中。數(shù)據(jù)庫管理員可以對(duì)所存儲(chǔ)的數(shù)據(jù)執(zhí)行各種作業(yè),但是他/她不能秘密地改變數(shù)據(jù)的內(nèi)容,也不能秘密地除掉數(shù)據(jù)記錄。
結(jié)果得到的數(shù)據(jù)記錄的完整性的檢驗(yàn)是類似于簽字那樣進(jìn)行的。檢驗(yàn)實(shí)體12根據(jù)所要簽字的數(shù)據(jù)記錄、前一完整性校驗(yàn)和以及存儲(chǔ)密鑰來計(jì)算完整性校驗(yàn)和。然后將所求得的完整性校驗(yàn)和與存儲(chǔ)在數(shù)據(jù)庫11中的校驗(yàn)和進(jìn)行比較。如果校驗(yàn)和不相同,則數(shù)據(jù)庫已經(jīng)遭到更改并且是不可信的。該方法是很有益處的,因?yàn)榭梢匝杆俚貦z查數(shù)據(jù)記錄的完整性,而不需要檢查整個(gè)數(shù)據(jù)庫的完整性??梢栽谶B續(xù)數(shù)據(jù)記錄流中的任何一點(diǎn)開始檢驗(yàn)。應(yīng)當(dāng)注意,不能保證從中得出前一完整性校驗(yàn)和的記錄的可信性。因此,檢驗(yàn)處理必須通過取得在所要檢驗(yàn)的數(shù)據(jù)記錄之前的數(shù)據(jù)記錄的完整性校驗(yàn)和來開始。
如果使用公開密鑰加密法來進(jìn)行簽字,則簽字負(fù)責(zé)人在簽字實(shí)體10中用他/她的私人密鑰對(duì)記錄進(jìn)行簽字。該密鑰可以是為了對(duì)特定數(shù)據(jù)庫進(jìn)行簽字而創(chuàng)建的,并且可以由具有簽字授權(quán)的受信任團(tuán)體共用。在完整性的檢驗(yàn)過程中,使用簽字負(fù)責(zé)人的公開密鑰來對(duì)校驗(yàn)和進(jìn)行解密。
有多種不同的開始數(shù)據(jù)庫的方式。對(duì)于數(shù)據(jù)庫的第一行,可以使用初始化向量代替前一完整性校驗(yàn)和,因?yàn)闆]有可用的前一完整性校驗(yàn)和。第一行可以包括實(shí)際數(shù)據(jù)或與初始化相關(guān)的數(shù)據(jù)。例如,初始化向量可以包括與初始化相關(guān)的信息(比如日期)和負(fù)責(zé)人的數(shù)字簽名作為校驗(yàn)和使用。這樣,對(duì)于第一個(gè)真正的數(shù)據(jù)記錄,就有了前一校驗(yàn)和。初始化向量或行也可以用在數(shù)據(jù)庫的中間,以便能夠?qū)崿F(xiàn)將數(shù)據(jù)排列成塊。將數(shù)據(jù)排列成塊并不改變檢驗(yàn)處理過程。
附圖2圖解說明存儲(chǔ)數(shù)據(jù)記錄的一種實(shí)施方式的流程圖。在步驟20中,從任何適當(dāng)?shù)男畔⑾到y(tǒng)接收數(shù)據(jù)。該數(shù)據(jù)與按照附圖1的實(shí)施方式中的數(shù)據(jù)類似。在接收到數(shù)據(jù)之后,在步驟21中計(jì)算完整性校驗(yàn)和??梢杂闷谕墓椒▉碛?jì)算完整性校驗(yàn)和,比如按照附圖1的實(shí)施方式中公開的方法。完整性校驗(yàn)和是根據(jù)前一校驗(yàn)和(指的是附加在前一數(shù)據(jù)記錄上的校驗(yàn)和)、所要簽字的數(shù)據(jù)和存儲(chǔ)密鑰計(jì)算出來的。只有具有對(duì)數(shù)據(jù)記錄進(jìn)行簽字的權(quán)限的人知道存儲(chǔ)密鑰。前一校驗(yàn)和是從簽字裝置的存儲(chǔ)器中讀出的。如果完整性校驗(yàn)和一直是從數(shù)據(jù)庫中讀出的,那么心懷叵測(cè)的數(shù)據(jù)庫管理員就可以刪除數(shù)據(jù)庫的最后一行,而不會(huì)有任何問題,因?yàn)椴粫?huì)破壞完整性檢驗(yàn)和鏈。還有其它的確保最后一行的可信性的手段,例如用運(yùn)行序號(hào)作為校驗(yàn)和參數(shù)的一部分。
如步驟22所示,通過將求得的完整性校驗(yàn)和附加到數(shù)據(jù)記錄上來對(duì)數(shù)據(jù)記錄進(jìn)行簽字。把簽字?jǐn)?shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中。該數(shù)據(jù)庫可以包含用于數(shù)據(jù)和完整性校驗(yàn)和的獨(dú)立字段。該數(shù)據(jù)庫還可以包含也可以用于計(jì)算完整性校驗(yàn)和的附加信息字段,例如簽名人的名字。在將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫中之后,將完整性校驗(yàn)和存儲(chǔ)到簽字裝置的存儲(chǔ)器中,如步驟24所示。這是為了確保后面要使用的前一完整性校驗(yàn)和在計(jì)算出來之后就不再發(fā)生變動(dòng)。
附圖3圖解說明按照本發(fā)明的一種實(shí)施方式的框圖。在附圖3中,所有的組成部分都是已經(jīng)分別公開過的,但是對(duì)于本領(lǐng)域技術(shù)人員來說,顯然,這些組成部分也可以以計(jì)算機(jī)程序的形式來實(shí)現(xiàn)。該系統(tǒng)按照附圖2中所表達(dá)的方法進(jìn)行運(yùn)作。因此,不再對(duì)功能詳加介紹。
按照本發(fā)明的系統(tǒng)包括數(shù)據(jù)源30、簽字實(shí)體31、數(shù)據(jù)庫32、數(shù)據(jù)庫管理控制臺(tái)33和檢驗(yàn)實(shí)體34。數(shù)據(jù)源30可以是產(chǎn)生需要存儲(chǔ)到數(shù)據(jù)庫32中的數(shù)據(jù)的任何信息系統(tǒng)。簽字實(shí)體31是例如在與數(shù)據(jù)庫系統(tǒng)32或數(shù)據(jù)庫系統(tǒng)32中的程序模塊相連的計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)程序。數(shù)據(jù)庫32和數(shù)據(jù)庫管理控制臺(tái)33可以是任何通用數(shù)據(jù)庫系統(tǒng),比如Oracle數(shù)據(jù)庫系統(tǒng)。檢驗(yàn)實(shí)體34類似于簽字實(shí)體31。如果使用的是公開密鑰基礎(chǔ)結(jié)構(gòu),則簽字實(shí)體31具有秘密密鑰并且檢驗(yàn)實(shí)體34具有相應(yīng)的公開密鑰。
對(duì)于本領(lǐng)域的技術(shù)人員來說,顯然,隨著技術(shù)的進(jìn)步,本發(fā)明的基本理念可以以各種不同的方式來加以實(shí)現(xiàn)。因此本發(fā)明及其實(shí)施方式并不局限于上面介紹的實(shí)例;相反,它們可以在權(quán)利要求的范圍之內(nèi)發(fā)生變化。
權(quán)利要求
1.一種將數(shù)據(jù)記錄存儲(chǔ)在數(shù)據(jù)庫系統(tǒng)中的方法,在該方法中,使用簽字實(shí)體來對(duì)數(shù)據(jù)記錄進(jìn)行簽字,該方法包括接收要存儲(chǔ)到數(shù)據(jù)庫中的數(shù)據(jù)記錄;取得與所要存儲(chǔ)的數(shù)據(jù)記錄之前的數(shù)據(jù)記錄一起存儲(chǔ)的第一完整性校驗(yàn)和;根據(jù)存儲(chǔ)密鑰、所取得的第一完整性校驗(yàn)和以及所要存儲(chǔ)的數(shù)據(jù)記錄,利用加密方法為所要存儲(chǔ)的數(shù)據(jù)記錄計(jì)算第二完整性校驗(yàn)和;以及將數(shù)據(jù)記錄和第二完整性校驗(yàn)和存儲(chǔ)到數(shù)據(jù)庫中。
2.按照權(quán)利要求1所述的方法,其中存儲(chǔ)密鑰是公開密鑰基礎(chǔ)結(jié)構(gòu)的秘密密鑰。
3.按照權(quán)利要求1所述的方法,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是產(chǎn)生出來的初始化向量。
4.按照權(quán)利要求1所述的方法,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是簽字實(shí)體的數(shù)字簽名。
5.按照權(quán)利要求1所述的方法,其中第一完整性校驗(yàn)和是從簽字實(shí)體的存儲(chǔ)器中取得的。
6.按照權(quán)利要求1所述的方法,其中將第二完整性校驗(yàn)和存儲(chǔ)在簽字實(shí)體的存儲(chǔ)器中。
7.按照權(quán)利要求1所述的方法,其中完整性校驗(yàn)和包括運(yùn)行序號(hào)。
8.一種檢驗(yàn)數(shù)據(jù)庫中的數(shù)據(jù)記錄的完整性的方法,在該方法中,使用檢驗(yàn)實(shí)體來檢驗(yàn)數(shù)據(jù)記錄的完整性,該方法包括從數(shù)據(jù)庫中取得所要檢驗(yàn)的數(shù)據(jù)記錄;從數(shù)據(jù)庫中取得所要檢驗(yàn)的數(shù)據(jù)記錄的完整性校驗(yàn)和;取得在所取得的數(shù)據(jù)記錄之前的數(shù)據(jù)記錄的第一完整性校驗(yàn)和;根據(jù)所取得的數(shù)據(jù)記錄、第一完整性校驗(yàn)和以及存儲(chǔ)密鑰為所取得的數(shù)據(jù)記錄計(jì)算第二完整性校驗(yàn)和;和將第二完整性校驗(yàn)和與所要檢驗(yàn)的數(shù)據(jù)記錄的完整性校驗(yàn)和進(jìn)行比較,其中如果所要檢驗(yàn)的數(shù)據(jù)記錄的完整性校驗(yàn)和與第二完整性校驗(yàn)和是相同的,則認(rèn)為該數(shù)據(jù)記錄是可信的。
9.按照權(quán)利要求8所述的方法,其中存儲(chǔ)密鑰是公開密鑰基礎(chǔ)結(jié)構(gòu)的秘密密鑰。
10.按照權(quán)利要求8所述的方法,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是產(chǎn)生出來的初始化向量。
11.按照權(quán)利要求8所述的方法,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是簽字負(fù)責(zé)人的數(shù)字簽名。
12.按照權(quán)利要求8所述的方法,其中第一完整性校驗(yàn)和是從檢驗(yàn)實(shí)體的存儲(chǔ)器中取得的。
13.按照權(quán)利要求8所述的方法,其中將第二完整性校驗(yàn)和存儲(chǔ)在檢驗(yàn)實(shí)體的存儲(chǔ)器中。
14.按照權(quán)利要求8所述的方法,其中完整性校驗(yàn)和包括運(yùn)行序號(hào)。
15.一種用于將數(shù)據(jù)記錄存儲(chǔ)在數(shù)據(jù)庫系統(tǒng)中的系統(tǒng),在該系統(tǒng)中,使用簽字實(shí)體來對(duì)數(shù)據(jù)記錄進(jìn)行簽字并且使用檢驗(yàn)實(shí)體來檢驗(yàn)數(shù)據(jù)記錄的完整性,其中該系統(tǒng)包括數(shù)據(jù)庫,被配置用于存儲(chǔ)和提供被簽字的數(shù)據(jù);數(shù)據(jù)源,被配置用于提供要存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)記錄;簽字實(shí)體,被配置用于使用根據(jù)數(shù)據(jù)記錄、處于所要簽字的數(shù)據(jù)記錄之前的數(shù)據(jù)記錄的完整性校驗(yàn)和以及存儲(chǔ)密鑰而計(jì)算出來的完整性校驗(yàn)和對(duì)要存儲(chǔ)在數(shù)據(jù)庫中的數(shù)據(jù)記錄進(jìn)行簽字;和檢驗(yàn)實(shí)體,被配置用于通過根據(jù)數(shù)據(jù)記錄、處于所要檢驗(yàn)的數(shù)據(jù)記錄之前的數(shù)據(jù)記錄的完整性校驗(yàn)和以及存儲(chǔ)密鑰來計(jì)算完整性密鑰并且將所計(jì)算的完整性校驗(yàn)和與存儲(chǔ)在數(shù)據(jù)庫中的完整性校驗(yàn)和進(jìn)行比較來檢驗(yàn)所選數(shù)據(jù)記錄的完整性。
16.按照權(quán)利要求15所述的系統(tǒng),其中簽字實(shí)體和檢驗(yàn)實(shí)體運(yùn)用公開密鑰基礎(chǔ)結(jié)構(gòu)來計(jì)算和檢驗(yàn)校驗(yàn)和。
17.一種用于將數(shù)據(jù)記錄存儲(chǔ)在數(shù)據(jù)庫系統(tǒng)中的計(jì)算機(jī)程序,在該計(jì)算機(jī)程序中,使用簽字實(shí)體來對(duì)數(shù)據(jù)記錄進(jìn)行簽字,其中當(dāng)該計(jì)算機(jī)程序在計(jì)算機(jī)裝置上運(yùn)行時(shí),執(zhí)行下列步驟接收要存儲(chǔ)到數(shù)據(jù)庫中的數(shù)據(jù)記錄;取得與所要存儲(chǔ)的數(shù)據(jù)記錄之前的數(shù)據(jù)記錄一起存儲(chǔ)的第一完整性校驗(yàn)和;根據(jù)存儲(chǔ)密鑰、所取得的第一完整性校驗(yàn)和以及所要存儲(chǔ)的數(shù)據(jù)記錄,利用加密方法為要添加的數(shù)據(jù)記錄計(jì)算第二完整性校驗(yàn)和;以及將數(shù)據(jù)記錄和第二完整性校驗(yàn)和存儲(chǔ)到數(shù)據(jù)庫中。
18.按照權(quán)利要求17所述的計(jì)算機(jī)程序,其中存儲(chǔ)密鑰是公開密鑰基礎(chǔ)結(jié)構(gòu)的秘密密鑰。
19.按照權(quán)利要求17所述的計(jì)算機(jī)程序,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是產(chǎn)生出來的初始化向量。
20.按照權(quán)利要求17所述的計(jì)算機(jī)程序,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是簽字實(shí)體的數(shù)字簽名。
21.按照權(quán)利要求17所述的計(jì)算機(jī)程序,其中第一完整性校驗(yàn)和是從簽字實(shí)體的存儲(chǔ)器中取得的。
22.按照權(quán)利要求17所述的計(jì)算機(jī)程序,其中將第二完整性校驗(yàn)和存儲(chǔ)在簽字實(shí)體的存儲(chǔ)器中。
23.按照權(quán)利要求17所述的計(jì)算機(jī)程序,其中完整性校驗(yàn)和包括運(yùn)行序號(hào)。
24.一種用于檢驗(yàn)數(shù)據(jù)庫中的數(shù)據(jù)記錄的完整性的計(jì)算機(jī)程序,其中當(dāng)該計(jì)算機(jī)程序在計(jì)算機(jī)裝置上運(yùn)行時(shí),執(zhí)行下列步驟從數(shù)據(jù)庫中取得所要檢驗(yàn)的數(shù)據(jù)記錄;從數(shù)據(jù)庫中取得所要檢驗(yàn)的數(shù)據(jù)記錄的完整性校驗(yàn)和;取得處于所取得的數(shù)據(jù)記錄之前的數(shù)據(jù)記錄的第一完整性校驗(yàn)和;根據(jù)所取得的數(shù)據(jù)記錄、第一完整性校驗(yàn)和以及存儲(chǔ)密鑰為所取得的數(shù)據(jù)記錄計(jì)算第二完整性校驗(yàn)和;以及將第二完整性校驗(yàn)和與所要檢驗(yàn)的數(shù)據(jù)記錄的完整性校驗(yàn)和進(jìn)行比較,其中如果所要檢驗(yàn)的數(shù)據(jù)記錄的完整性校驗(yàn)和與第二完整性校驗(yàn)和是相同的,則認(rèn)為該數(shù)據(jù)記錄是可信的。
25.按照權(quán)利要求24所述的計(jì)算機(jī)程序,其中存儲(chǔ)密鑰是公開密鑰基礎(chǔ)結(jié)構(gòu)的秘密密鑰。
26.按照權(quán)利要求24所述的計(jì)算機(jī)程序,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是產(chǎn)生出來的初始化向量。
27.按照權(quán)利要求24所述的計(jì)算機(jī)程序,其中對(duì)于數(shù)據(jù)庫的第一行,所取得的完整性校驗(yàn)和是簽字負(fù)責(zé)人的數(shù)字簽名。
28.按照權(quán)利要求24所述的計(jì)算機(jī)程序,其中第一完整性校驗(yàn)和是從檢驗(yàn)實(shí)體的存儲(chǔ)器中取得的。
29.按照權(quán)利要求24所述的計(jì)算機(jī)程序,其中將第二完整性校驗(yàn)和存儲(chǔ)在檢驗(yàn)實(shí)體的存儲(chǔ)器中。
30.按照權(quán)利要求24所述的計(jì)算機(jī)程序,其中完整性校驗(yàn)和包括運(yùn)行序號(hào)。
全文摘要
本發(fā)明公開了以之后可以檢驗(yàn)數(shù)據(jù)庫的完整性和可信性的方式將數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫中的方法、系統(tǒng)和計(jì)算機(jī)程序。按照本發(fā)明,用由前一校驗(yàn)和、所要存儲(chǔ)的數(shù)據(jù)記錄和存儲(chǔ)密鑰計(jì)算出來的校驗(yàn)和對(duì)數(shù)據(jù)記錄進(jìn)行簽字。
文檔編號(hào)G06F21/64GK1894671SQ200480037538
公開日2007年1月10日 申請(qǐng)日期2004年12月17日 優(yōu)先權(quán)日2003年12月18日
發(fā)明者M·米蒂寧, K·海特寧 申請(qǐng)人:諾基亞有限公司