[摘 要] 分布式數據庫系統是新近發展起來的一種技術,雖然其有效的維護和管理龐大的數據庫,提高了數據庫的可用性和可靠性,但由于分布式數據庫大多存放海量的重要數據,因此其安全性越來越重要。本文從分布式數據庫的特點入手,設計了一種分布式數據庫加密系統的密鑰管理模塊。最后指出了分布式數據庫安全現存的問題和將來研究的方向。
[關鍵詞] 分布式數據庫 加密 密鑰管理
一、分布式數據庫
分布式數據庫系統是在集中式數據庫系統的基礎上發展起來的,是計算機技術和網絡技術結合的產物。分布式數據庫系統適合于單位分散的部門,允許各個部門將其常用的數據存儲在本地,實施就地存放本地使用,從而提高響應速度,降低通信費用。分布式數據庫系統與集中式數據庫系統相比具有可擴展性,通過增加適當的數據冗余,提高系統的可靠性。
但是分布式數據庫的系統開銷相對較大,并且具有復雜的存取結構,原來在集中式系統中有效存取數據的技術,在分布式系統中都不再適用。更重要的是分布式數據庫的數據安全性和保密性較難處理。因此,在分布式數據庫中常采用加密手段保證數據安全。
數據庫加密系統的關鍵影響因素一般包括加密粒度、加密算法和密鑰管理三個方面。本文將重點對分布式數據庫加密系統的密鑰管理進行分析和設計。加密數據庫中的密鑰管理比其他系統的密鑰管理更為困難與復雜。而分布式數據庫中存儲著海量數據,已經加密的數據需要用原來的密鑰系統解密,且解密時間將會很長,加密密鑰不可能隨時更換。除此以外,根據加密粒度的不同,對不同的數據應該使用不同的密鑰。因此分布式數據庫中需要保存大量的密鑰信息。另外,分布式數據庫客體之間隱含著復雜的邏輯關系,一個邏輯結構可能對應著多個數據庫物理客體,所以數據庫加密不僅密鑰量大,而且組織和存儲工作比較復雜,需要對密鑰實現動態管理。因此如何生成、保存、替換數據庫加密密鑰,對數據庫加密中的密鑰管理提出了更為嚴格的要求。
二、密鑰管理模塊設計
1.系統分析。數據庫加密系統中密鑰管理通常利用兩種方法解決。方法之一是采用分級管理結構。無論哪種多級密鑰體制,主密鑰都是加密子系統的關鍵,多級密鑰管理體制的安全依賴于主密鑰的安全。另一種解決方法是集中密鑰管理方法。即在建立加密數據庫時,由密鑰管理中心負責產生加密密鑰并對數據加密。當一用戶訪問分布式數據庫時,密鑰管理機構核對用戶識別符和用戶密鑰,認為是合法用戶,則允許訪問。但必須由密鑰管理機構找到或計算出相應的數據加密密鑰,并由他們利用數據加密算法解密出相應的數據。由于加密粒度的不同,密鑰的種類和密鑰的數量不同。這些密鑰存儲在一張表中。這張表通過加密密鑰對其加密保存。目前針對于數據庫加密體系中密鑰管理的應用和研究大多是以“可信第三方”為基礎的。這種基于“可信第三方”的密鑰管理方法,認為存在一個可信任的第三方(如:PKI體系中的CA,DBMS中的DBA等),并將用戶密鑰交給他保存。“可信第三方”擁有獲取和更改用戶密鑰的權力。這種方法相對來說比較靈活。本文設計了一種基于“可信第三方”的密鑰管理機制,該機制既具有較高的安全性,又便于實現。
2.總體設計。本密鑰管理模塊包括三個部分:系統密鑰管理、數據密鑰管理和用戶密鑰管理。數據密鑰的管理為二級密鑰管理:一級密鑰為數據類根密鑰,二級密鑰為數據類密鑰。數據類密鑰用于對數據庫數據的加脫密。數據類密鑰由中央權威機構CA生成,數據類根密鑰則是將所有的數據類密鑰“集成”后形成的密鑰。當然,數據類根密鑰可以根據需要“分解”得到所有的數據類密鑰或所需要的數據類密鑰。將數據類密鑰“集成”,主要是為了方便密鑰的管理。為了保證數據類密鑰的安全,需對其進行加密保護,加密密鑰為系統主密鑰。系統主密鑰由運行在CA處的管理軟件在第一次運行時生成,其既為保護數據類根密鑰的加密密鑰,又為登錄CA處管理軟件(主要包括密鑰管理程序和認證程序)的登錄“口令”,以該“口令”登錄的用戶,對CA處的管理軟件有著完全控制的最高權限。鑒于此,必須采取最安全的手段保護它。為確保系統主密鑰的安全,采取基于(n,t)門限管理的方法來管理。用戶類密鑰由CA利用數據類密鑰來生成。當一個在CA處注過冊的用戶向CA申請密鑰時,CA管理軟件根據注冊信息決定用戶屬于哪個用戶類,然后根據用戶類型查詢用戶權限表以決定從解密的數據類根密鑰“分解”出哪些數據類的密鑰,接著再將這些剛“分解”出的數據類密鑰“集成”為該用戶所屬用戶類密鑰,最后該密鑰發送給用戶。通常用戶密鑰較長,為了方便用戶保管,可以用口令將密鑰加密存入加密卡,用戶只需記住位數較少的口令,這和銀行卡原理很相似。
一般來說,一個密鑰主要經歷生成與存儲、密鑰分發、密鑰啟用與停用、密鑰替換與更新、密鑰銷毀以及密鑰撤銷幾個階段。密鑰分發(或密鑰分配)既是密鑰管理的核心問題,也是密碼體制中非常困難的一個問題。接下來,本文將重點介紹一種基于公鑰密碼體制的密鑰分發模塊的設計。
本文就一種分布式數據庫密鑰管理模塊的設計進行了討論。可以預見隨著分布式數據庫應用范圍的擴大,分布式數據庫將面臨新的安全問題,這必然促使人們對分布式數據庫安全研究從各個方面向前推進。
參考文獻:
[1]陳永強:分布式數據庫系統安全策略分析.武漢工業學院學報,2003;63~67
[2]馮朝勝 秦志光 袁 丁:數據庫加密系統密鑰管理模塊的設計.電子科技大學學報,2007;830~833