本篇主要總結第4章資料庫安全性的后續部分——強制存取控制、視圖機制、審計、資料加密
一、強制存取控制
自主存取控制機制下,用戶可以自由地決定將資料的存取授予任何人,以及決定是否也將“授權”的權限授予別人,這種情況下仍可能存在資料的“無意泄露”,所以需要對系統控制下的主客體實施強制存取控制策略,在強制存取控制中,全部物體被分為主體和客體兩部分,
主體:系統中的活動物體,既包括資料庫管理系統所管理的實際用戶,也包括代表用戶的各行程,
客體:系統中的被動物體,受主體操控,包括檔案、基本表等,
敏感度標記(label):分為若干級別,絕密TS、機密S、可信C、公開P等,密級次序依次遞減,主體的敏感度標記稱為許可證級別,客體的敏感度稱為密級,
規則:
(1)僅當主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應的客體,
(2)僅當主體的許可證級別小于或等于客體的密級時,該主體才能寫相應的客體,
二、視圖機制
為不同的用戶定義不同的機制,把資料物件限制在一定范圍內,視圖機制間接地實作支持存取謂詞的用戶權限定義
例:建立計算機系學生的視圖,把對該視圖的select權限授予王平,把該視圖上的所有操作權限授予張明
-- 建立視圖
create view CS_Student
as
select *
from Student
where Sdept='CS';
-- 王平老師只能檢索計算機系學生的資訊
grant select
on CS_Student
to 王平;
-- 系主任具有檢索和增刪改計算系學生資訊的所有權限
grant all privileges
on CS_Student
to 張明;


三、審計
審計功能把用戶對資料庫的所有操作自動記錄下來放入審計日志中,審計員惡意利用審計日志監控資料庫中的各種行為,重現導致資料庫現在狀態的一系列事件,從而找出非法存取資料的人、事件和內容等,
audit陳述句用來設定審計功能,noaudit陳述句則取消審計功能,
例1:對修改SC表結構或修改SC表資料的操作進行審計
audit alter,update
on SC;
例2:取消對SC表的一切審計
noaudit alter,update
on SC;
四、資料加密
加密的基本思想是根據一定的演算法將原始資料——明文變換為不可直接識別的格式——密文,從而使得不知道解密演算法的人無法獲知資料的內容,
資料加密主要包括存盤加密和傳輸加密


五、拓展與感悟
課上老師還講了MD5加密技術,下課后我百度了關于這個加密技術的一些資訊,它已經過時了,因為有網站和一些碰撞演算法可以對其進行破解,之后想結合SQL注入試一下這個,我之前自己學Java JDBC的時候試過statement的SQL注入,它可以通過PrepareStatement進行預編譯來防止,但不是穩定的,有垂直加密的什么方式,比如Shiro,加密和資訊安全在當今這個互聯網時代,確實是一個熱門,希望我們的隱私在這個時代可以得到更好的保護,也希望自己能為此盡綿薄之力!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277465.html
標籤:其他
