馮 娜 張振霞 陳成華
【摘 要】本文對數據庫安全的內涵和要求及數據庫管理系SQL Serer的安全防護機制,如身份認證、訪問控制、完整性保障、訪問審計、數據加密與視圖、存儲過程等進行了詳細分析和研究。
【關鍵詞】數據庫 數據庫安全機制 SQL serer
1 數據庫安全的內涵
數據庫安全是指保護數據庫以防止非法用戶的越權使用、竊取、更改或破壞數據。與其它計算機系統(如操作系統)的安全要求類似,數據庫系統的安全要求可以歸納為完整性、保密性和可用性三個方面。
(1)完整性
數據庫的完整性主要包括物理完整性和邏輯完整性。物理完整性是指保證數據庫的數據不受物理故障(如硬件故障、突然斷電等)的影響,并有可能在災難性毀壞時重建和恢復數據庫,邏輯完整性是指對數據庫邏輯結構的保護,包括數據的語義完整性和操作完整性。前者是指數據存取在邏輯上滿足完整性約束,后者主要是指在并發事務中保證數據的一致性。
(2)保密性
保密性指保護數據庫中的數據不被泄露和未授權的獲取,一般要求對用戶進行訪問授權,同一組數據的不同用戶可以被授予不同的存取權限.同時還要求能夠對用戶的訪問操作行為進行跟蹤和審計。
(3)可用性
數據庫的可用性是指數據庫不應拒絕授權用戶對數據的正常操作,同時保證系統的運行效率并提供用戶良好的人機交互。
2 SQL SERVER的數據庫安全機制
2.1身份驗證
對用戶的身份認證是數據庫管理系統提供的最外層安全保護措施,其方法是用戶進入系統時通過輸入ID和密碼,向系統出示自己的身份證明,系統通過嚴格的認證機制對用戶身份進行審查核實,經過確認后才提供與之相對應的系統服務。SQL serer支持windows NT認證模式和混合認證模式兩種身份認證模式。
2.2訪問控制
為了保證用戶只能存取有權存取的數據,數據庫系統要求對每個用戶定義存取權限.在SQL SERVER中,用戶是屬于特定的數據庫的,數據庫用戶與登錄標識相關聯,一個應用程序使用登錄標識SQL Serer登錄成功后,能否對某個數據庫進行操作,由該數據庫中是否有相應的數據庫用戶來決定。SQL serer可根據訪問用戶所屬的用戶類型,利用GRANT等語句來對數據庫或數據庫對象作權限的控制,能夠較為完善地支持自主訪問控制策略。SQL SERVER將用戶分為四個類型:系統管理員用戶、數據庫所有者用戶、數據庫對象擁有者用戶和普通用戶,不同的用戶具有不同的權限。為了達到管理的便利和靈活,SQL Serer引入了角色的概念,可以支持基于角色的訪問控制策略。對于具有相同權限的用戶,可以創建一個角色并對其賦予權限,然后將這些用戶添加到該角色中使它們成為這個角色的成員。若要改變這些用戶的權限,只需對角色的權限進行設置,不必對每一個用戶進行權限設置。
2.3審計功能
數據庫審計是監視和記錄用戶對數據庫所施加的各種操作的機制。通過審計機制,可以自動記錄用戶操作,利用審計跟蹤的信息,便于追查有關責任,也有助于發現系統安全方面的弱點和漏洞。對于MS SQL SERVER,它能提供較為完善的審計功能,用來監視各用戶對數據庫施加的動作。SOL SERVER審計方式具體分用戶審計和系統審計2種,審計工作一般通過SQL事件探查器完成。啟用用戶審計功能時,審計系統可記下所有對該數據庫表或視圖進行訪問的企圖(包括成功的和不成功的)及每次操作的用戶名、時間、操作代碼等信息;系統審計由系統管理員進行,其審計內容主要是系統一級命令以及數據庫客體的使用情況。
2.4數據庫加密
數據庫加密通過將數據用密文形式存儲或傳輸的手段保證高敏感數據的安全,這樣可以防止那些企圖通過不正常途徑存取數據的行為.SQL serer也提供了加密的功能,以強化對分布式數據庫的安全管理。SQL serer使用名為pwdencrypt的哈希函數來加密隱藏用戶存儲在Master數據庫中系統表內的密碼,將已定義的視圖、存儲過程、觸發器等都存儲在系統表syscomments中,SQL Serer提供了內部加密機制,可以使用WITH ENCRYPTION語句來進行加密。在條件允許情況下,可以通過啟動相應加密功能讓SQL Serer在通過網絡傳輸數據時將數據按照SSL協議加密處理后傳輸。
2.5視圖和存儲過程機制
視圖是從一個或幾個基本表(視圖)中導出的虛表.在數據庫系統中,可以利用視圖通過授予用戶操作特定視圖的權限,限制用戶訪問表的特定行和特定列來保證數據的安全,防止用戶對基本表的操作,實現行級或列級的安全性。在SQL serer中,系統較好地支持了視圖定義和訪問機制,如何利用CREATEVIEW語句建立視圖,利用SELECT子句進行視圖訪同等,通過建立視圖以及將視圖表中的不同記錄分成不同的保密級別,甚至將同一字段中的不同值分成不同的保密級別,控制用戶可以看到的數據,實現安全性。在SQL Serer中存儲過程是存儲于數據庫內部經過編譯可執行的SQL語句,它可被其他應用程序調用執行,徹底隱藏了用戶可用的數據和數據操作中涉及的某些保密處理。存儲過程可用來保護基表的數據。為了禁止用戶直接更改基表,可通過存儲過程來更改基表,然后授予用戶具有執行該存儲過程的權力,這就限制了用戶對基表的不當操作,從而保證了數據的安全。
2.6備份、恢復和并發控制機制
為防止系統發生故障導致重要數據的丟失或損壞,保證數據庫系統在最短時間內恢復運行,數據庫管理系統應具備備份和恢復機制。SQL serer支持靜態備份和動態備份,并提供了四種備份方案,即完全備份、差異數據庫備份、事務日志備份、文件備份.而在系統恢復方式上,SQL serer可以選擇三種模型進行恢復:簡單恢復、完全恢復、批量日志記錄恢復。在SQL serer中,無論是備份或恢復均可方便地通過Transact—SQL語句或企業管理器來設置。作為網絡數據庫管理系統,SQL Serer可以提供完善的并發控制機制,通過支持事務機制來管理多個事務,保證數據的一致性,并使用事務日志保證修改的完整性和可恢復性。SQL Serer遵從三級封鎖協議,從而有效的控制并發操作可能產生的丟失更新、讀錯數據、不可重復讀等錯誤。SQL serer具有多種不同粒度的鎖,允許事務鎖定不同的資源,并能自動使用與任務相對應的等級鎖來鎖定資源對象,以使鎖的成本最小化。
3 結論
本文就SQL serer數據庫管理系統的安全機制進行了全面的探索和研究,數據庫的安全是一個非常復雜的課題,它的實現不僅是純粹的技術問題,而且還需要法律、管理、社會因素的配合,相信隨著信息安全技術的持續改進、信息安全管理水平的不斷提高和有關人員的防范意識的不斷增強,數據庫的安全將越來越有保障。
參考文獻:
[1]王珊,薩師煊.數據庫系統概論[M].北京:高等教育出版社,2006.
[2]鄭振楣,于戈,郭敏.分布數數據庫[M].北京:科學出版社,1998.
[3]鄒?。形陌鍿QL serer 2000開發與管理應用實例[M].北京:人民郵電出版社,2005.
[4]韓衛,張艷蘇.MIs中數據庫安全性研究[J].計算機工程.(作者單位:山東省青州市濰坊教育學院;山東省濰坊衛生學校;陜西省西京學院)