陳琛
【摘要】分布式數據庫系統將數據庫系統與計算機網絡有機的結合起來,為互聯網中的信息資源共享和應用提供了有力保障,其安全問題受到廣泛關注。本文針對分布式數據庫系統的安全性要求,分析了系統的體系結構和不安全因素,對安全策略和安全機制中的身份驗證、保密通信、訪問控制、庫文加密、密碼體制等方面進行了綜合分析。
【關鍵詞】分布式數據庫系統:安全策略:網絡
【中圖分類號】TP313 【文獻標識碼】A 【文章編號】1672-5158(2013)04-0403-01
0、引言
分布式數據庫系統(Distributed Database System,DDBS)是指物理上分布于多個網絡站點而邏輯上統一的數據庫系統。分布式數據庫系統邏輯上屬于同一系統,而地址上它們又分散在用計算機網絡連接的各個場地上,并統一由分布式數據庫管理系統(DDBMS)管理。隨著Internet的高速發展,分布式數據庫系統也得到了迅猛發展,同時也對分布式數據庫系統的安全性提出了挑戰。數據庫系統在為用戶提供完善方便的信息和數據服務,實現數據信息共享的同時,還要保證合法用戶對數據的有效存儲,拒絕非法用戶的攻擊企圖。
1、分布式數據庫系統
分布式數據庫系統使用計算機網絡將地理位置分散而管理和控制又需要不同程度集中的若干個站(節點)連接起來,組成統一的數據庫系統。這些站通過網絡互聯在一起,每個站都擁有各自的數據庫、中央處理機以及局部數據庫管理系統,因此分布式數據庫系統可以看作若干個集中式數據庫系統的聯合,是計算機網絡與數據庫系統的有機結合,它具有物理分布性、邏輯整體性、站點自治性等特點。
2、分布式數據庫系統的不安全因素
雖然現有的數據庫軟件在保障數據安全方面可以提供不同程度的服務,但再優秀的軟件也難以防范計算機環境中的所有不安全因素,或多或少存在缺陷,因此正確識別不安全因素所帶來的威脅對于抵抗網絡攻擊和防止數據侵害是至關重要的。分布式數據庫系統主要具有以下不安全因素:竊聽、重發攻擊、假冒攻擊、越權攻擊、迂回攻擊。
3、分布式數據庫系統的安全策略
3.1 身份驗證
為了防止各種假冒攻擊,在進行數據訪問操作前,需要在用戶和數據庫服務器間進行雙向身份驗證。識別系統授權的合法用戶,防止非法用戶訪問數據庫系統,從而進一步判斷該用戶的訪問權限。另外,由于分布式數據庫系統的服務器之間要進行數據傳輸、分配事物處理等活動,因此在服務器與服務器之間也要進行相互身份驗證。
3.2 保密通信
為了防止黑客在網絡信道上監聽竊取數據、對抗報文重發攻擊,可以采用保密通信技術。即在通信雙方之間建立保密信道,對數據進行加密傳輸。應用于各協議層的加密技術有:加密機,加密卡;IPSEC協議規范的安全路由器和通信軟件;安全套接字協議(SSL);安全代理軟件等。
3.3 訪問控制
在一般的數據庫管理系統中,為了抗擊越權攻擊,任何用戶不能直接操作數據庫數據。用戶的數據訪問請求要先發送到訪問控制模塊進行審查,然后系統的訪問控制模塊代理有訪問權限的用戶區完成相應的數據操作。這個過程是系統根據合適的訪問控制模型和機制對用戶的數據訪問請求進行是否授權檢查,通過檢查的請求才能被系統執行相應的操作。訪問控制模型主要有自主訪問授權控制和強制訪問授權控制;常見的訪問控制機制有用戶驗證機制、主存隔離訪控機制、數據庫內部的訪控機制等。
3.4 庫文加密
為了對抗黑客利用網絡協議、操作系統安全漏洞繞過數據庫的安全機制而直接訪問數據庫文件,可以采用庫文加密技術。庫文加密是將需要保護的數據在密鑰的作用下按照一定的加密算法變換成他人無法識別和偽造的密碼文。只需要選擇具有一定強度的加密算法并保管好密鑰,就可以有效提高分布式數據庫系統中重要數據的安全性。
3.4.1 加密算法選擇
系統應同時提供幾種不同安全強度、速度的加/解密算法,這樣用戶可以根據數據對象的重要性程度和訪問速度要求來設置適當的算法。
3.4.2 加密粒度
系統應能調整被加密數據時象的粒度,這樣能夠在保證重要數據對象安全性的同時提高訪問速度。例如一個關系中有某個字段或記錄的數據重要,那么就可以針對該字段、記錄進行加密,而沒有必要加密整個關系。
3.4.3 密文索引
數據庫的加密不能過分降低對數據庫的訪問速度,加快訪問速度的關鍵是加快檢索的速度。對加密的數據巧妙地建立加密的密文索引,就可以利用索引進行密文的快速檢索。
3.4.4 加密方式
對于依賴于操作系統進行數據管理(包括文件管理)的數據管理系統來說,庫外加密是大多數數據庫管理系統采取的策略。庫外加密方式的優點是,對數據庫管理系統DBMS的特殊要求較少,實現時只要增加一個中間層次負責加解密數據即可。相對于其它加密方式,密鑰的管理也簡單得多,與操作系統內部文件加密的密鑰管理基本相同。但是,由于數據在查找時必須全部進行解密操作,因此往往需要付出較大的時空代價。此外,在實現數據完整性約束條件時,數據字典中的數據和數據庫內的數據的同步問題也需要額的代價,必須在算法或系統內部處理上加以安排。為了提高時空效率,可以采用庫內加密的方式。實現方法是在數據庫的內模式和存儲模式之間增加一個加密層負責加解密數據。庫內加密依賴于數據庫管理系統,實現復雜,但安全性更高。不論采用哪種加密方式,均可以用硬件加密的方式來實現。硬件加密主要解決靜態數據加密問題。總之,分布式數據庫系統加密的主要特點是字段加密、多級密鑰結構和密鑰動態管理等。
4、結束語
本文針對分布式數據庫系統的不安全因素,研究并介紹了一系列解決這些安全問題的關鍵技術。對于分布式數據庫系統的安全策略的后續研究,可以從以下三方面進行:一是將一般數據庫的安全理論進行修正后移植到分布式數據庫系統中;二是著重研究分布式數據庫系統中數據安全的焦點問題;三是對分布式數據庫系統的安全策略的具體實施進行重點研究。