數據庫安全性指保護數據庫,防止因用戶非法使用數據庫造成數據泄露、更改或破壞。
數據保密是指用戶合法的訪問到機密數據后能否對這些數據保密。
計算機系統安全性。為計算機系統建立和采取的各種安全保護措施,以保護計算機系統中的硬件、軟件及數據,防止其因偶然或惡意的原因使系統遭到破壞,數據遭到更改或泄露等。
計算機安全涉及問題。計算機系統本身技術問題:計算機安全理論與策略,計算機安全技術。管理問題:安全管理,安全評價,安全產品。政策法規。
可信計算機評測標準。為降低進而消除對系統的安全攻擊,各國引用或制定了一系列安全標注:TCSEC(桔皮書),TDI(紫皮書)。TCSEC/TDI安全級別劃分:A1,驗證設計;B3,安全域;B2,結構化保護;B1標記安全保護;C2,受控的存取保護;C1,自主安全保護;D,最小保護。四組七個等級;按系統可靠或可信程度逐漸增高;各安全級別之間具有一種偏序向下兼容的關系,即較高安全性級別提供的安全防護要包括較低級別的所有要求,同時提供更完善的保護能力。
非法使用數據庫的情況。用戶編寫一段合法的程序繞過DBMS及其授權機制,通過操作系統直接存取、修改或備份數據庫中的數據;直接或編寫應用程序執行非授權操作;通過多次合法查詢數據庫從中推導出一些保密數據;破壞安全性的行為可能是無意的,故意的,惡意的。
數據庫安全性控制的常用方法:用戶標識和鑒定;存取控制;視圖;審計;密碼存儲。
用戶標識與鑒別,系統提供的最外層安全保護措施。用戶表示自己的名字或身份:用戶名/口令,簡單易行,容易被人竊??;每個用戶預先約定好的計算過程或者函數,系統提供一個隨機數,用戶根據自己預先預定好的計算過程進行計算,系統根據用戶計算結果是否正確鑒定用戶身份。
存取控制。組成:定義存取權限,檢查存取權限。用戶權限定義和合法權檢查機制一起組成了DBMS的安全子系統。常用存取控制方法:自主存取控制(DAC),C2級,靈活;強制存取控制(MAC),B1級,嚴格。存取權限由數據對象和操作類型兩個要素組成。
自主存取控制——授權與回收。通過SQL語句GRANT和REVOKE定義。GRANT語義功能:將對指定操作對象的指定操作權限授予指定的用戶。指定了WITH GRANT OPTION字句,獲得某種權限的用戶還可以把這種權限再授予別的用戶;沒有指定,獲得權限的用戶只能使用該權限,不能傳播該權限。REVOKE語句功能:從指定用戶那里收回對指定對象的指定權限。后面跟CASCADE可以進行權限的級聯回收,系統將收回直接或間接從指定用戶處獲得的對指定表的權限。
強制存取控制指系統為保證更高程度的安全性,按照TDI/TCSEC標準中安全策略的要求,所采取的的強制存取檢查手段。MAC不是用戶能直接感知或進行控制的,適用于對數據有嚴格而固定密級分類的部門。MAC中,主體是系統中的活動實體,客體是系統中的被動實體,受主體操縱。對于主體和客體,DBMS為它們每個實例指派了一個敏感度標記,標記分成若干級別:絕密,機密,可信,公開。主體的敏感度標記稱為許可證級別,客體的稱為密級。通過對比主體和客體的Label,確定主題是否能夠存取客體。僅當主體的許可證級別大于或等于客體的密級時,主體才能讀取相應客體;僅當主體的許可證級別等于客體的密級時,才能寫相應客體。
視圖機制。把要保密的數據對無權存取這些數據的用戶隱藏起來,更主要的功能在于提供數據獨立性,其安全保護功能不太精細,往往達不到要求。視圖機制與授權機制配合使用,首先用視圖機制屏蔽掉一部分保密數據,視圖上面再進一步定義存取權限,間接實現了支持存取謂詞的用戶權限定義。
審計。啟用一個專用的審計日志,將用戶對數據庫的所有操作記錄在上面,C2以上安全級別的DBMS必須具有審計功能。強制性機制:用戶識別和鑒定、存取控制、視圖。預防監測手段:審計技術。
數據加密。防止數據庫中數據在存儲和傳輸中失密的有效手段。加密方法:替換方法,使用密鑰將明文中的每一個字符轉換為密文中的每一個字符;置換方法,將明文的字符按不同的順序重新排列;混合方法,DES。
統計數據庫特點:允許用戶查詢聚集類型的信息,不允許查詢單個記錄信息。特殊的安全性問題:隱蔽的信息通道;從合法的查詢中推導出不合法的信息。
TCSEC/TDI從安全策略、責任、保證、文檔四個方面描述了安全性級別的指標。
最主要的是存取控制技術和審計技術。C2級的DBMS必須具有自主存取控制功能和初步的審計功能。B1級的DBMS必須具有強制存取控制和增強的審計功能。