資料庫系統概論 資料庫安全性

2021-06-28 03:14:22 字數 4137 閱讀 3690

資料庫的安全性是指保護資料庫以防止不合法的使用所造成的資料洩露、更改或破壞。

所謂計算機系統安全性,是指為計算機系統建立和採取的各種安全保護措施,以保護計算機系統中的硬體、軟體及資料,防止其因偶然或惡意的原因使系統遭到破壞,資料遭到更改或洩露等。

計算機系統的安全性問題可以分為三大類:技術安全類、管理安全類、政策法律類。

計算機以及資訊保安技術方面有一系列的安全標準,最有影響的當推tcsec和cc這兩個標準。

tcsec/tdi從以下四個方面來描述安全性級別劃分:安全策略、責任、保證、文件

d級:最低級別。保留d級是為了將一切不符合更高標準的系統,統統歸於d級。

c1級:只提供了非常初級的自主安全保護。能夠實現使用者資料分離,進行自主訪問控制(dac),保護或限制使用者許可權的傳播。

c2級:安全產品的最低檔次,提供受控的訪問保護,即將c1級的dac進一步細化,以個人身份註冊負責,並實施審計和資源隔離。

b1級:標記安全保護。對系統的資料加以標記,並對標記的主體和客體實施強制訪問控制(mac)以及審計等安全機制。

b2級:結構化保護。

b3級:安全域。

a1級:驗證設計,提供b3級保護的同時給出系統的形式化設計說明和驗證以確信個安全保護真正實現。

cc提出了目前國際上公認的表述資訊科技安全性的結構,即把對資訊產品的安全要求分為安全功能要求和安全保證要求。

安全功能要求用以規範產品和系統的安全行為,安全保證要求解決如何正確有效地實施這些功能。

使用者標識與鑑別是系統提供的最外層安全保護措施。

使用者標識

用乙個使用者名稱或者使用者標識號來標明使用者身份。系統內部記錄所有合法使用者標識,系統鑑別此使用者是否是合法使用者。

口令

為了進一步核實使用者,系統常常要求使用者輸入口令。系統核對口令以鑑別使用者身份。

資料庫安全的最重要的一點就是確保只授權給有資格的使用者訪問資料庫的許可權。

1、定義使用者許可權,並將使用者許可權登記到資料字典中

使用者對某一資料物件的操作權力稱為許可權。某個使用者應該具有哪種許可權是乙個管理問題而不是技術問題。dbms的功能是保證這些決定的執行。

2、合法許可權檢查

每當使用者發出訪問資料庫的操作請求後,dbms查詢資料字典,根據安全規則進行合法許可權檢查,若使用者操作請求超出了定義的許可權,系統拒絕執行此操作。

(1)自主訪問控制,使用者對於不同的資料庫物件有不同的訪問許可權,不同的使用者對同一物件也有不同的許可權,而且使用者還可以將其擁有的訪問許可權轉授給其他使用者。

(2)強制訪問控制,每乙個資料庫物件唄標以一定的密級,每乙個使用者也被授予某乙個級別的許可證。

主要通過sql的grant和revoke語句來實現。

使用者許可權是由兩個要素組成:資料庫物件和操作型別。定義乙個使用者的訪問許可權就是要定義這個使用者可以在哪些資料庫物件上進行哪些型別的操作。資料庫系統中,定義訪問許可權稱為授權

授權(authorization)與**

grant語句向使用者授予許可權,revoke語句**授予的許可權。

一、grant

grant 《許可權》[,《許可權》]...

on 《物件型別》 《物件名》[, 《物件型別》 《物件名》]...

to 《使用者》[,《使用者》]...

[with grant option];

其語義為:將對指定操作物件的指定操作許可權授予指定的使用者。

發出該grant語句的可以是dba,也可以是該資料庫物件建立者,也可以是已經擁有該許可權的使用者,接受許可權的使用者可以是乙個或多個使用者,也可以是public,即全體使用者。

如果指定了with grant option子句,則獲得某種許可權的使用者還可以把這種許可權再授予其他使用者。否則不能傳播。

二、revoke

授予的許可權可以由dba或其他授權者用revoke語句**,revoke語句一般格式為:

revoke 《許可權》[,《許可權》]...

on 《物件型別》 《物件名》[,《物件型別》 《物件名》]...

from 《使用者》[,《使用者》]...

[cascade | resrect]

使用者可以「自主」地決定將資料的訪問許可權授予何人,決定是否也將「授權」的許可權授予別人,因此我們稱這樣的訪問控制是自主訪問控制

三、建立資料庫模式的許可權

/*建立使用者*/

create user 《使用者名稱》

[with] [dba | resource | connect]

擁有connect許可權的使用者不能建立新使用者,不能建立模式,也不能建立基本表;只能登入資料庫。

擁有resource許可權的使用者能建立基本表和檢視,成為所建立物件的屬主。但是不能建立模式,不能建立新使用者。

擁有dba許可權的使用者是系統中的超級使用者。

資料庫角色是被命名的一組與資料庫操作相關的許可權,角色是許可權的集合。

一、角色的建立

create role 《角色名》

二、給角色授權

grant 《許可權》[,《許可權》]...

on 《物件型別》 《物件名》[, 《物件型別》 《物件名》]...

to 《角色》[,《角色》]...

[with grant option];

三、將乙個角色授予其他的角色或使用者

grant 《角色》[,《角色》]...

to 《角色》[,《使用者》]...

[with admin option]

四、角色許可權的收回

revoke 《許可權》[,《許可權》]...

on 《物件型別》 《物件名》

from 《角色》[,《角色》]...

mac是指系統為保證更高程度的安全性,按照tdi/tcsec標準中安全策略的要求,所採取的強制訪問檢查手段。

dbms所管理的全部試題被分為主體和客體兩大類。

主體是系統中的活動實體,包括dbms所管理的實際使用者,也包括代表使用者的各程序。

客體是系統中的被動實體,是受主體操縱的,包括檔案、基本表、索引、檢視等。對於主體和客體,dbms為它們每個例項指派乙個敏感度標記

敏感度標記分為多個級別:絕密、機密、可信、公開

(1)僅當主體的許可證級別大於或等於客體的密級時,該主體才能讀取相應的客體內容。

(2)僅當主體的許可證級別等於客體的密級時,該主體才能寫相應的客體。

使用者可以為寫入的資料物件賦予高於自己的許可證級別的密級。較高安全性級別提供的安全保護要包含較低階別的所有保護。因此,在實現mac時要首先實現dac,即dac與mac共同構成dbms的安全機制。

可以為不同的使用者定義不同的檢視,把要保密的資料對無權訪問的使用者隱藏起來。檢視機制間接地實現支援訪問謂詞的使用者許可權定義。

「審計」功能就是dbms達到c2以上安全級別必不可少的一項指標。

審計功能把使用者對資料庫的所有操作自動記錄下來放入審計日誌中。審計一般可以分為使用者級審計和系統級審計。

使用者級審計是任何使用者可設定的審計,主要是使用者針對自己建立的資料庫表或檢視進行審計,記錄所有使用者對這些表或檢視的一切成功和不成功的訪問要求以及各種型別的sql操作

系統及審計只能由dba設定,用以檢測成功或失敗的登入要求、檢測grant和revoke操作以及其他資料庫級許可權下的操作。

資料加密是防止資料庫中的資料在儲存或傳輸中失密的有效手段。

可以規定任何查詢至少要設計n個以上的記錄。

可以對頂任何查詢的相交資料項不能超過m個。

資料庫系統概論之資料庫安全性

第四章資料庫安全性 1.資料庫的不安全性 非授權使用者對資料庫的惡意訪問和破壞 資料庫中重要或敏感的資料被洩漏 安全環境的脆弱性 2.資料庫安全性控制 使用者身份鑑別 訪問控制 自主訪問控制方法 3.授權 授予與收回 把查詢student表的許可權授給使用者u1 grant select on ta...

資料庫系統概論 資料庫安全性概述

資料庫安全性指的是保護資料庫以防止不合法使用所造成的資料洩露 更改或破壞,系統安全保護措施是否有效是資料庫系統主要的效能指標之一 美國國防部可信計算機系統評估準則 安全級別 定義a1 驗證設計 b3安全域 b2結構化保護 b1標記安全保護 c2受控的訪問保護 c1自主安全保護 d最小保護 加拿大可信...

《資料庫系統概論》 4 資料庫安全性

非授權使用者對資料庫的惡意訪問和破壞 資料庫中重要或敏感資料被洩露 安全環境的脆弱性 保護資料庫以防止不合法使用所造成的資料洩露 更改或破壞 1985 tcsec trusted computer system evaluation criteria 1996 cc common criteria ...