專利名稱:數據一次寫入方法和基于該方法的數據庫安全管理方法
技術領域:
本發(fā)明涉及信息安全技術,特別涉及一種利用多重數字簽名機制來保證數據庫系統內數據不被篡改的數據一次寫入方法以及基于該方法的數據庫安全管理方法。
背景技術:
在互聯網尚未普及的時代,只有內部人員能夠訪問本企業(yè)的數據庫,并且數據庫不是唯一和最重要的數據管理工具,因此數據庫被非法訪問或使用的可能性不大,而且即使有人篡改了其中的數據,那些重要的文檔資料(尤其是有法律效應的合同、協議、委托書、授權書等)因為都有書面材料備份,因此也有據可查。但是隨著互聯網和電子商務的迅猛發(fā)展,網上服務和交易正在成為主流業(yè)務渠道,書面材料作為記錄載體,已經遠遠不能滿足現代商業(yè)速度的需要,因此人們越來越多地依賴數據庫系統,尤其是利用大型數據庫提供的功能來管理所有數據。此外,企業(yè)的內部網絡都通過互聯網與外部相連,本企業(yè)的數據庫不僅可被內部人員訪問,而且外部的任何人也可能通過互聯網訪問,這大大增加了數據庫受到非法侵入和破壞的機率。
在現代信息社會,保護好機密和重要信息是一個企業(yè)賴以生存的必要條件,為此,必須為數據庫提供強有力的安全保護機制。在安全保護機制中,數據庫記錄的不可否認性或一次寫入性是一個非常重要的方面,這不僅因為這些記錄的非法篡改有可能導致商業(yè)糾紛或重大的經濟損失,而且因為這些記錄如果要在商業(yè)糾紛或訴訟案件中作為法律證據使用則必須具備不可否認性,例如證券交易系統內的交易記錄、合同文本內容和雙方的電子簽名以及診斷書上化驗內容和醫(yī)生診斷結論等。在本說明書中,所謂數據庫記錄的不可否認性或一次寫入性應理解為,每條記錄一俟寫入數據庫,則不論是其內容的改動還是記錄之間相對順序的改變都將被嚴格跟蹤和完整地記錄下來。
現有數據庫系統一般都通過提供強制性機制來確保數據修改(例如插入、更改或刪除操作)后的數據庫滿足如下的完整性要求1)涉及任一數據庫操作的每個數據域的數據類型必須符合數據庫設計方案中的規(guī)定。
2)涉及任一數據庫操作的每個數據域的取值必須在數據庫設計方案配置的數值范圍之內。
3)在每次數據庫操作中,必須確保所有數據都插入到數據庫內正確的位置上。
但是上述強制性機制不能阻止合法授權用戶對數據的篡改(即在不被察覺的情況下修改數據)。例如,假設某一數據庫包含一個專用于存儲日期的表格,根據上述強制性機制,只要數據類型為日期,則擁有最高權限的數據庫管理員對表格內數據域的任何修改操作都將被數據庫接受。因此,該數據庫管理員完全可以將已經生成的數據域數據改為其他值而又不被察覺,換句話說,雖然數據已經被該數據庫管理員篡改,但是上述強制性機制卻無法捕捉到這類事件。
由上可見,為了滿足不可否認性或一次寫入性的要求,必須對數據庫完整性的含義作進一步的拓展,即,在上述強制性機制的基礎上增加如下的安全保護條件1)數據庫內任何數據域數據的改變都將使數據庫其它部分發(fā)生某種變化從而導致數據庫完整性的破壞。
2)被篡改的數據可被輕易地檢測定位。
3)任何人(包括擁有最高權限的數據庫管理員)都無法篡改數據(即修改數據而又不導致數據庫其它部分發(fā)生變化),除非系統的所有用戶與數據庫管理員共同參與數據篡改。
發(fā)明內容
本發(fā)明的目的是提供一種數據一次寫入方法,它為數據庫系統提供了不可否認性或一次寫入性的安全機制,保證數據不被篡改(包括合法和非法)。
本發(fā)明的上述目的通過以下技術方案實現一種數據一次寫入方法,數據庫系統按照下列步驟將數據一次寫入數據庫(1)利用散列算法生成當前寫入數據與至少一個先前寫入數據的系統數字簽名的組合的消息摘要;(2)利用當前寫入數據用戶的私鑰對所述消息摘要進行處理以生成當前寫入數據的用戶數字簽名;(3)利用系統私鑰對當前寫入數據的用戶數字簽名與至少一個先前寫入數據的系統數字簽名的組合進行處理以生成當前寫入數據的系統數字簽名;以及(4)將當前寫入數據、當前寫入數據的用戶數字簽名和系統數字簽名存入數據庫。
比較好的是,在上述數據一次寫入方法中,在步驟(1)中,按照下列步驟生成消息摘要(1a)按照預先設定的方式將寫入數據庫記錄分解為數據域組并將部分或全部數據域選定為一次寫入數據;(1b)為選定的數據域和至少一個先前寫入數據的系統數字簽名構造Merkle散列樹并將所述Merkle散列樹的根摘要作為消息摘要。
比較好的是,在上述數據一次寫入方法中,步驟(1)中所述至少一個先前寫入數據的系統數字簽名為前第n個先前寫入數據的系統數字簽名,n為正整數。更好的是,在步驟(1)中,如果當前寫入記錄屬于數據庫內寫入的前n條記錄,則由數據庫系統提供字符串作為所述至少一個先前寫入數據的系統數字簽名。
比較好的是,在上述數據一次寫入方法中,步驟(3)中所述至少一個先前寫入數據的系統數字簽名為前一個先前寫入數據的系統數字簽名。
本發(fā)明的另一個目的是提供一種基于上述一次寫入方法的數據庫安全管理方法,它提供了不可否認性或一次寫入性的安全功能,保證數據不被篡改(包括非法和合法)。
本發(fā)明的上述發(fā)明目的通過以下技術方案實現一種數據庫安全管理方法,數據庫系統包括客戶端計算機、一次寫入數據庫、普通數據庫以及位于客戶端計算機與數據庫之間的接口模塊,其特征在于,用戶按照下列步驟將數據寫入數據庫(a)客戶端計算機將寫入數據劃分為一次寫入數據和非一次寫入數據,并且利用散列算法生成當前一次寫入數據與至少一個先前一次寫入數據的系統數字簽名的組合的消息摘要;(b)客戶端計算機利用該用戶的私鑰對所述消息摘要進行處理以生成當前一次寫入數據的用戶數字簽名,并將當前寫入數據、該用戶數字簽名和身份證書發(fā)送至接口模塊;(c)接口模塊根據該用戶數字簽名和身份證書驗證當前一次寫入數據的真實性和完整性,如果驗證通過,則利用系統私鑰對該用戶數字簽名與至少一個先前一次寫入數據的系統數字簽名的組合進行處理以生成當前一次寫入數據的系統數字簽名;以及(d)接口模塊將當前一次寫入數據、該用戶數字簽名和當前寫入數據的系統數字簽名存入一次寫入數據庫,而將非一次寫入數據存入普通數據庫。
比較好的是,在上述數據庫安全管理方法中,步驟(a)包括下列步驟(a1)按照預先設定的模板將寫入數據庫記錄分解為數據域組并且選定部分或全部數據域作為一次寫入數據;(a2)為選定的數據域和至少一個先前寫入數據的系統數字簽名構造Merkle散列樹并將所述Merkle散列樹的根摘要作為消息摘要。
比較好的是,在上述數據庫安全管理方法中,客戶端計算機通過定期向接口模塊發(fā)送請求獲得步驟(a)中所述至少一個先前一次寫入數據的系統數字簽名。
比較好的是,在上述數據庫安全管理方法中,步驟(1)中所述至少一個先前一次寫入數據的系統數字簽名為前第n個先前一次寫入數據的系統數字簽名,n為正整數。更好的是,如果當前寫入記錄屬于數據庫內寫入的前n條記錄,則將預先確定的字符串作為所述至少一個先前一次寫入數據的系統數字簽名。
比較好的是,在上述數據庫安全管理方法中,步驟(a3)中所述至少一個先前一次寫入數據的系統數字簽名為前一個先前一次寫入數據的系統數字簽名。
在本發(fā)明的數據一次寫入方法和數據庫安全管理方法中,當前寫入的數據不僅與當前的用戶數字簽名和系統數字簽名直接地聯結在一起,而且還與先前的用戶數字簽名和系統數字簽名間接地聯結在一起,從而形成一個將數據庫內的數據環(huán)環(huán)相扣起來并且寫入時間排序非常巧妙的鏈條,這使得對數據庫內任何數據域的篡改都將導致數字簽名發(fā)生錯綜復雜的變化,因此提供了極強的安全時間戳或安全追蹤審計能力。此外,由于引入了基于公開密鑰基礎設施(PKI)的數字簽名技術,因此也為數據的完整性和不可否認性提供了有力保障。最后,利用Merkle散列樹來生成消息摘要特別適合處理寫入數據由多個數據域構成的情況,便于在數據庫系統中推廣應用。
通過以下結合附圖對本發(fā)明較佳實施例的描述,可以進一步理解本發(fā)明的目的、特征和優(yōu)點,其中圖1涉及按照本發(fā)明的數據一次寫入方法,它示出了該方法一個較佳實施例的流程圖。
圖2示出了采用本發(fā)明的數據安全管理方法的數據庫系統示意圖。
圖3涉及按照本發(fā)明的數據庫安全管理方法,它示出了該方法一個較佳實施例的流程圖。
具體實施例方式
為了保證寫入數據的不可否認性或一次寫入性,一方面,必須確保數據不被非法用戶篡改(即確保某一用戶對其它用戶寫入數據庫數據進行的任何修改都能被跟蹤監(jiān)測到),另一方面,還必須確保數據不被合法用戶篡改(即確保某一用戶對自己已寫入數據庫數據進行的任何修改也能被跟蹤監(jiān)測到)。
對于前者,可利用基于公開密鑰基礎設施(PKI)的用戶數字簽名實現,例如用戶在向數據庫寫入數據時還提供用自己私鑰對數據摘要進行加密處理的數字簽名,日后,為了驗證數據是否被篡改,只要將根據數據庫內存儲數據生成的摘要與用該用戶公鑰解密數字簽名后得到的摘要進行比較即可,如果二者不相同,則表明數據肯定被篡改。
上述這種安全機制的前提條件是非法用戶無法獲得被篡改的數據的用戶的私鑰,但是對于合法用戶,由于其掌握著自己的私鑰,因此僅利用用戶的數字簽名無法判斷數據是否已經被其篡改。為此,在本發(fā)明中引入系統數字簽名的概念。所謂系統數字簽名,也就是數據庫系統以其私鑰所作的數字簽名,在本發(fā)明中,其簽名對象不僅包括當前寫入數據的用戶數字簽名,而且還與先前寫入數據的用戶數字簽名間接地關聯起來。此外,在本發(fā)明中,用戶數字簽名的對象不僅涉及寫入數據,而且還包含先前寫入數據的系統數字簽名。因此,任何數據的修改將不僅導致寫入該數據時生成的數字簽名發(fā)生改變,而且還將導致其后寫入數據庫數據時生成的數字簽名改變,雖然合法用戶可以使修改的數據與自己的數字簽名自洽,但是卻無法使后續(xù)寫入的數據與相應的數字簽名自洽,除非該用戶獲得全部后續(xù)寫入數據、相應的用戶私鑰以及數據庫系統的私鑰,顯然,這種情況發(fā)生的概率幾乎為零,可見本發(fā)明提供的安全機制具有極高的可靠性和強壯性,并且具有很好的跟蹤追溯能力,能夠迅速定位被篡改的數據。
在上述原理的基礎上,本發(fā)明采用如下方式將用戶數字簽名和系統數字簽名有機地結合在一起對于每次當前一次寫入的數據,以寫入該數據用戶的私鑰對消息摘要進行處理以得到當前一次寫入數據的用戶數字簽名,該消息摘要利用散列算法從當前一次寫入數據和至少一個先前一次寫入數據的系統數字簽名的組合生成;數據庫系統以自己的私鑰對當前一次寫入數據的用戶數字簽名和至少一個先前一次寫入數據的系統數字簽名的組合進行處理以得到當前一次寫入數據的系統數字簽名。
值得指出的是,這里參與生成用戶數字簽名和系統數字簽名的系統數字簽名并不一定要相同或不同,而且參與的系統數字簽名數量也無限制,對于本領域的普通技術人員來說,在理解上述基本原理之后,如何通過選擇合適數量和種類的系統數字簽名以在系統安全性要求與處理負荷之間取得折衷是顯而易見的事情而且也與本發(fā)明的原理無關。此外,由上可見,本發(fā)明的原理不依賴于具體的用于生成消息摘要的散列算法和生成數字簽名的簽名算法,對于本領域的普通技術人員來說,在理解上述基本原理之后,根據具體的應用環(huán)境來選擇合適的算法應該是毫無困難的事情。因此,下述較佳實施例中具體的細節(jié)描述不應理解為是對本發(fā)明保護范圍的限定。
以下借助附圖描述本發(fā)明的較佳實施例。
第一實施例在本實施例中,我們假設寫入數據庫的記錄包含數據域C1~C10,(這個發(fā)明與XML格式無關)其中數據域C1~C4被選定為存入一次寫入數據庫,其它數據域寫入普通數據庫,但是也完全可以將其它數據域選定為一次寫入數據,這取決于業(yè)務邏輯而與本發(fā)明無關。
圖1為按照本發(fā)明一個實施例的數據一次寫入方法的示意圖。如圖1所示,當向數據庫寫入第i條記錄Ri時,進入步驟1。在步驟1中,按照繪制模板的定義,該記錄被分解為一組數據域C1~C10并且其中的C1~C4被選定為需要一次寫入的數據,假設選定數據域的順序為C1、C2、C3和C4。
隨后進入步驟2,按照上述繪制模板定義的順序為數據域C1~C4建立Merkle散列樹,例如可將散列函數作用于串接在一起的數據域C1和C2從而形成散列值,然后將該散列值與C3串接在一起并應用散列函數,所生成的新的散列值再與C4串接并繼續(xù)應用散列函數以得到該散列樹的根摘要。
接著進入步驟3a,判斷寫入記錄編號i是否大于一個預先設定的正整數n,如果判斷結果為是,則轉入步驟3b,否則,進入步驟3c。
在步驟3b中,將前第n個寫入數據的系統數字簽名Si-n加入步驟2中的Merkle散列樹以構造出最終的Merkle散列樹,即,步驟2中所述根摘要與系統數字簽名Si-n串接在一起并應用散列函數,從而得到最終的Merkle散列樹的根摘要并將其作為下列步驟4中進行數字簽名用的消息摘要Di。
在步驟3c中,由于前第n個寫入數據的系統數字簽名Si-n不存在,因此在本實施例中,由數據庫系統提供一個字符串替代系統數字簽名Si-n,該字符串被加入步驟2中的Merkle散列樹以構造出最終的Merkle散列樹,從而得到最終的Merkle散列樹的根摘要并將其作為下列步驟4中進行數字簽名用的消息摘要Di。另外一種做法是在前第n個寫入數據的系統數字簽名Si-n不存在時直接用數據域的Merkle散列樹的根摘要作為消息摘要,這種方式更為簡便,但是以降低數據安全性為代價。
值得指出的是,在步驟3b和3c中,為簡單起見,僅采用一個系統數字簽名與一次寫入的數據域組合,但是實際上也可以采用更多的系統數字簽名與一次寫入數據組合,這可以提高安全性,但是系統的開銷將會增加。
接著轉入步驟4,利用當前用戶的私鑰Qi對消息摘要Di進行處理以生成當前寫入數據的用戶數字簽名Ui。在步驟4和下述步驟5中,進行數字簽名的算法可以有多種。
隨后進入步驟5,利用數據庫系統的私鑰Q對當前寫入數據的用戶數字簽名Ui與前一個先前寫入數據的系統數字簽名Si-1的組合進行處理以生成當前寫入數據的系統數字簽名Si。這里最簡單的組合方式就是將用戶數字簽名Ui與系統數字簽名Si-1串接在一起,但是也可以采用其它的方式進行組合。
最后,在步驟6中,將當前一次寫入數據域C1~C4、相應的數字簽名和系統數字簽名都存入一次寫入數據庫,數據域C5~C10則寫入普通數據庫。
值得指出的是,當采用客戶機/服務器架構的數據庫系統時,比較好的是,上述步驟1~4在客戶機上完成,而步驟5在服務器上完成,但是這并非實現本發(fā)明上述數據一次寫入方法的必要條件。
第二實施例以下描述基于上述數據一次寫入方法的數據庫安全管理方法的實施例。本實施例應用于圖2所示的數據庫系統,該數據庫系統采用客戶機/服務器架構,其中,數據庫1包括存儲一次寫入數據的一次寫入數據庫11和存儲非一次寫入數據的普通數據庫12,并且客戶端計算機21和22通過接口模塊3訪問數據庫1。值得指出的是,一次寫入數據庫11與普通數據庫12既可以分布于不同的物理位置,也可以是同一臺存儲設備上不同的存儲區(qū)域,這些對本發(fā)明的實現都沒有任何本質上的影響。
在本實施例中,我們仍然假設寫入數據庫的記錄包含數據域C1~C10,其中數據域C1~C4被選定為存入一次寫入數據庫11,其它數據域則寫入普通數據庫12。
圖3為數據庫安全管理方法的流程示意圖。如圖3所示,當客戶機21向數據庫1寫入第i條記錄Ri時,即開始執(zhí)行本實施例的處理流程。
在步驟1中,客戶端計算機21按照繪制模板的定義將該記錄分解為一組數據域C1~C10,將其中的C1~C4選定為寫入一次寫入數據庫11的數據而其余的數據域C5~1C10則寫入普通數據庫12,這里仍然假設一次寫入數據域的順序為C1、C2、C3和C4。
隨后,在步驟2中,客戶機21按照上述第一實施例中步驟2相同的方式為數據域C1~C4建立Merkle散列樹。
接著進入步驟3a,客戶機21判斷寫入記錄編號i是否大于一個預先設定的正整數n,如果判斷結果為是,則轉入步驟3b,否則,進入步驟3c。
在步驟3b中,客戶機21采用與第一實施例中步驟3b相同的方式,通過加入前第n個一次寫入數據的數字簽名Si-n構造出最終的Merkle散列樹,從而得到最終的Merkle散列樹的根摘要并將其作為下列步驟4中進行數字簽名用的消息摘要Di。前第n個一次寫入數據的系統數字簽名Si-n可以下列方式獲得,即,客戶端計算機21在后臺運行一個定期向接口模塊3發(fā)送請求的線程,而接口模塊3在接收到請求后向該客戶端計算機21返回先前一次寫入數據的系統數字簽名。另一種方式為,在步驟1中,客戶端計算機21在完成數據分解后才向接口模塊3發(fā)送請求,而接口模塊3在接收到請求后向該客戶端計算機21返回先前一次寫入數據的系統數字簽名。
在步驟3c中,客戶機21也采用與第一實施例中步驟3c相同的方式構造出最終的Merkle散列樹,從而得到最終的Merkle散列樹的根摘要作為下列步驟4中進行數字簽名用的消息摘要Di。
接著,在步驟4中,客戶端計算機21利用當前寫入數據用戶的私鑰Qi對消息摘要Di進行處理以生成當前一次寫入數據(包含數據域C1~C4)的用戶數字簽名Ui。
隨后,在步驟5中,客戶端計算機21將當前寫入記錄Ri(包含數據域C1~C10)、用戶身份證書Ci和用戶數字簽名Ui打包為報文Mi并發(fā)送至接口模塊3。
接著,在步驟6中,接口模塊3根據接收到的報文Mi中的用戶身份證書Ci確定用戶身份,并以該用戶的公鑰Pi解密報文中的用戶數字簽名Ui從而得到消息摘要Di。
隨后,在步驟7中,接口模塊3采用與步驟1、步驟3b或步驟3c中相同的散列算法從接收報文Mi中的當前寫入記錄生成消息摘要D′i,并且將其與步驟6得到的消息摘要Di進行比較,如果一致,則表明數據的真實性和完整性驗證通過,因此轉入步驟8,否則,終止數據寫入。
在步驟8中,接口模塊采用數據庫系統的私鑰Q對當前一次寫入數據的用戶數字簽名Ui與前一個先前寫入數據的系統數字簽名Si-1的組合進行處理以生成當前一次寫入數據的系統數字簽名Si。同樣,這里最簡單的組合方式就是將用戶數字簽名Ui與系統數字簽名Si-1串接在一起,但是也可以采用其它的方式進行組合。
最后,在步驟9中,將當前一次寫入數據域C1~C4、相應的用戶數字簽名Ui和系統數字簽名Si都存入一次寫入數據庫11,數據域C5~C10則寫入普通數據庫系統12。
權利要求
1.一種數據一次寫入方法,其特征在于,數據庫系統按照下列步驟將數據一次寫入數據庫(1)利用散列算法生成當前寫入數據與至少一個先前寫入數據的系統數字簽名的組合的消息摘要;(2)利用當前寫入數據用戶的私鑰對所述消息摘要進行處理以生成當前寫入數據的用戶數字簽名;(3)利用系統私鑰對當前寫入數據的用戶數字簽名與至少一個先前寫入數據的系統數字簽名的組合進行處理以生成當前寫入數據的系統數字簽名;以及(4)將當前寫入數據、當前寫入數據的用戶數字簽名和系統數字簽名存入數據庫。
2.如權利要求1所述的數據一次寫入方法,其特征在于,在步驟(1)中,按照下列步驟生成消息摘要(1a)按照預先設定的方式將寫入數據記錄分解為數據域組并將部分或全部數據域選定為一次寫入數據;(1b)為選定的數據域和至少一個先前寫入數據的系統數字簽名構造Merkle散列樹并將所述Merkle散列樹的根摘要作為消息摘要。
3.如權利要求1或2所述的數據一次寫入方法,其特征在于,步驟(1)中所述至少一個先前寫入數據的系統數字簽名為前第n個先前寫入數據的系統數字簽名,n為正整數。
4.如權利要求3所述的數據一次寫入方法,其特征在于,在步驟(1)中,如果當前寫入記錄屬于數據庫內寫入的前n條記錄,則由數據庫系統提供字符串作為所述至少一個先前寫入數據的系統數字簽名。
5.如權利要求4所述的數據一次寫入方法,其特征在于,步驟(3)中所述至少一個先前寫入數據的系統數字簽名為前一個先前寫入數據的系統數字簽名。
6.一種數據庫安全管理方法,數據庫系統包括客戶端計算機、一次寫入數據庫、普通數據庫以及位于客戶端計算機與數據庫之間的接口模塊,其特征在于,用戶按照下列步驟將數據寫入數據庫(a)客戶端計算機將寫入數據劃分為一次寫入數據和非一次寫入數據,并且利用散列算法生成當前一次寫入數據與至少一個先前一次寫入數據的系統數字簽名的組合的消息摘要;(b)客戶端計算機利用該用戶的私鑰對所述消息摘要進行處理以生成當前一次寫入數據的用戶數字簽名,并將當前寫入數據、該用戶數字簽名和身份證書發(fā)送至接口模塊;(c)接口模塊根據該用戶數字簽名和身份證書驗證當前一次寫入數據的真實性和完整性,如果驗證通過,則利用系統私鑰對該用戶數字簽名與至少一個先前一次寫入數據的系統數字簽名的組合進行處理以生成當前一次寫入數據的系統數字簽名;以及(d)接口模塊將當前一次寫入數據、該用戶數字簽名和當前寫入數據的系統數字簽名存入一次寫入數據庫,而將非一次寫入數據存入普通數據庫。
7.如權利要求6所述的數據庫安全管理方法,其特征在于,步驟(a)包括下列步驟(a1)按照預先設定的模板將寫入數據庫記錄分解為數據域組并且選定部分或全部數據域作為一次寫入數據;(a2)為選定的數據域和至少一個先前寫入數據的系統數字簽名構造Merkle散列樹并將所述Merkle散列樹的根摘要作為消息摘要。
8.如權利要求6或7所述的數據庫安全管理方法,其特征在于,客戶端計算機通過定期向接口模塊發(fā)送請求獲得步驟(a)中所述至少一個先前一次寫入數據的系統數字簽名。
9.如權利要求8所述的數據庫安全管理方法,其特征在于,步驟(a)中所述至少一個先前一次寫入數據的系統數字簽名為前第n個先前一次寫入數據的系統數字簽名,n為正整數。
10.如權利要求9所述的數據庫安全管理方法,其特征在于,在步驟(a)中,如果當前寫入記錄屬于數據庫內寫入的前n條記錄,則將預先確定的字符串作為所述至少一個先前一次寫入數據的系統數字簽名。
全文摘要
一種數據一次寫入方法和基于該方法的數據庫安全管理方法,其按照下列步驟將數據一次寫入數據庫(1)利用散列算法生成當前寫入數據與至少一個先前寫入數據的系統數字簽名的組合的消息摘要;(2)利用當前寫入數據用戶的私鑰對所述消息摘要進行處理以生成當前寫入數據的用戶數字簽名;(3)利用系統私鑰對用戶數字簽名與至少一個先前寫入數據的系統數字簽名的組合進行處理以生成當前寫入數據的系統數字簽名;以及(4)將當前寫入數據、相應的用戶數字簽名和系統數字簽名存入數據庫。本發(fā)明是安全時間戳或安全追蹤審計的超強能力的核心,為數據的完整性和不可否認性提供了有力保障,適于在各種數據庫系統中推廣應用。
文檔編號G06F17/30GK1547136SQ200310109150
公開日2004年11月17日 申請日期2003年12月8日 優(yōu)先權日2003年12月8日
發(fā)明者李嫚, 陳少鵬, 李 申請人:李嫚, 陳少鵬, 李