數據庫的安全性算法
目錄:數據庫
1.安全性問題安全
2.SQL中的安全機制網絡
3.經常使用的安全措施加密
1.安全性問題spa
1.數據庫安全性的定義日誌
定義:數據庫的安全性是指保護數據庫,防止不合法的使用,以避免數據的泄密、更改或破壞。code
完整性和安全性的區別:安全性是保護數據以防止非法用戶故意形成的破壞;而完整性是保護數據以防止合法用戶無心中形成的破壞。對象
2.安全性級別索引
①環境級
②職員級
③OS級
④網絡級
⑤DBS級
3.權限問題
定義:用戶(或應用程序)使用數據庫的方式稱爲「權限」。
權限有兩種,訪問數據的權限和修改數據庫結構的權限。
(1)訪問數據的權限有4個
①讀權限
②插入權限
③修改權限
④刪除權限
(2)修改數據庫模式的權限也有4個
①索引權限
②資源權限
③修改權限
④撤銷權限
2.SQL中的安全機制
SQL中有4個機制提供了安全性:視圖(View)、權限(Authorization)、角色(Role)和審計(Audit)。
1.視圖
視圖是從一個或多個基本表導出的表。但視圖僅是一個定義,視圖自己沒有數據,不佔磁盤空間。視圖一經定義就能夠和基本表同樣被查詢,也能夠用來定義新的視圖,但更新操做將有必定限制。
優勢:數據安全性、邏輯數據獨立性和操做簡便性。
2.權限
DBMS的受權子系統容許有特定存取權限的用戶有選擇地和動態地把這些權限授予其餘用戶。
①用戶權限
SELECT INSERT DELETE UPDATE REFERENCES USAGE
前4類權限分別容許用戶對關係或試圖執行查、插、刪、修操做。
REFERENCES權限容許用戶定義新關係時,引用其餘關係的主鍵做爲外鍵。
USAGE權限容許用戶使用已定義的域。
②受權語句
GRANT <權限表> ON <數據庫元素> TO <用戶名錶> [WITH GRANT OPTION]
WITH GRANT OPTIONO表示得到權限的用戶還能得到傳遞權限,把得到的權限轉授給其餘用戶。
③回收語句
REVOKE <權限表> ON <數據庫元素> FROM <用戶名錶> [RESTRICT|CASCADE]
CASCADE表示回收權限時要引發連鎖回收。
RESTRICT則當不存在連鎖回收現象時,才能回收權限,不然系統會拒絕回收。
3.角色
在大型DBS中,用戶的數量可能很是大,使用數據庫的權限也各不相同。爲了便於管理,引入了角色的概念。
定義:在SQL中,用戶是實際的人或者是訪問數據庫的應用程序。而角色是一組具備相同權限的用戶,實際上角色是屬於目錄一級的概念。
4.審計
定義:用於安全性目的的數據庫日誌稱爲審計追蹤。
3.經常使用的安全措施
1.強制存取控制
這個方法的基本思想在於爲每一個數據對象(文件、記錄或字段等)賦予必定的密級,級別從高到低有:絕密級、機密級、祕密級和公用級。每一個用戶也具備相應的級別,稱爲許可證級別。密級和許可證級別都是嚴格有序的,如:絕密>機密>祕密>公用。
在系統運行時,採用以下兩條簡單規則:
①用戶i只能查看比它級別低或同級的數據。
②用戶i只能修改和它同級的數據
第②條中,用戶不能修改比它級別低的數據,爲了防止用戶將高級別的數據複製到較低級別的文件中。
2.統計數據庫的安全性
有一類數據庫稱爲「統計數據庫」,例如人口調查數據庫,它包含大量的數據,但其目的只是向公衆提供統計、彙總信息,而不是提供單個記錄的內容。
雖然不容許用戶查詢單個記錄的信息,可是用戶能夠用過足夠多的彙總信息來分析出單個記錄的信息,這就給統計數據庫的安全性帶來嚴重的威脅。
在統計數據庫中,對查詢應做下列限制。
①一個查詢查到的記錄個數至少是n。
②兩個查詢查到的記錄的」交」數目至可能是n。
另外一個方法——「數據污染」:也就是在回答查詢時,提供一些偏離正確值的數據,以避免數據泄露,固然,這個偏離要在不破壞統計數據的前提下進行。
3.數據加密法
普通加密法和明鍵加密法。
①普通加密法:
加密算法的輸入是源文和加密鍵,輸出是密碼文。加密算法能夠公開,但加密鍵是必定要保密的。
②明鍵加密法:
能夠隨意公開加密算法和加密鍵,可是相應的解密鍵時保密的,所以明鍵法有兩個鍵,一個用於加密,一個用於解密。