『数据库』无聊到爆炸的数据库文章--数据库的安全性
『數(shù)據(jù)庫』 樸實無華且枯燥的數(shù)據(jù)庫教程–入門必看!(不收藏,真的吃虧了)
文章目錄
- 計算機安全性概述
- 數(shù)據(jù)庫安全性控制
- 視圖機制
- 審計(Audit)
- 數(shù)據(jù)加密
- 統(tǒng)計數(shù)據(jù)庫安全性
問題的提出
- 數(shù)據(jù)庫的一大特點是數(shù)據(jù)可以共享
- 數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的安全性問題
- 數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)共享不能是無條件的共享
計算機安全性概述
一、計算機安全性
計算機系統(tǒng)安全性
為計算機系統(tǒng)建立和采取的各種安全保護措施,以保護計算機系統(tǒng)中的硬件、軟件及數(shù)據(jù),防止其因偶然或惡意的原因使系統(tǒng)遭到破壞,數(shù)據(jù)遭到更改或泄露等。
三類計算機系統(tǒng)安全性問題
- 技術安全類
- 管理安全類
- 政策法律類
二、安全標準簡介
1. TCSEC/TDI標準的基本內容
從四個方面來描述安全性級別劃分的指標
?安全策略
?責任
?保證
?文檔
2.TCSEC/TDI安全級別劃分
? 按系統(tǒng)可靠或可信程度逐漸增高
? 各安全級別之間:偏序向下兼容
B2以上的系統(tǒng):還處于理論研究階段
CC
? 提出國際公認的表述信息技術安全性的結構
? 把信息產品的安全要求分為:安全功能要求、安全保證要求
CC文本組成
? 簡介和一般模型
? 安全功能要求
? 安全保證要求
數(shù)據(jù)庫安全性控制
概述
1. 非法使用數(shù)據(jù)庫的情況
? 用戶編寫一段合法的程序繞過DBMS及其授權機制,通過操作系統(tǒng)直接存取、修改或備份數(shù)據(jù)庫中的數(shù)據(jù);
? 直接或編寫應用程序執(zhí)行非授權操作
? 通過多次合法查詢數(shù)據(jù)庫從中推導出一些保密數(shù)據(jù)
? 破壞安全性的行為可能是無意的,故意的,惡意的
2. 數(shù)據(jù)庫安全性控制的常用方法
? 用戶標識和鑒定
? 存取控制
? 視圖
? 審計
? 密碼存儲
一、用戶標識與鑒別
系統(tǒng)提供的最外層安全保護措施
基本方法
? 系統(tǒng)提供一定的方式讓用戶標識自己的名字或身份;
? 系統(tǒng)內部記錄著所有合法用戶的標識;
? 每次用戶要求進入系統(tǒng)時,由系統(tǒng)核對用戶提供的身份標識;
? 通過鑒定后才提供機器使用權。
? 用戶標識和鑒定可以重復多次
用戶標識自己的名字或身份
? 簡單易行,容易被人竊取
? 系統(tǒng)提供一個隨機數(shù)
? 用戶根據(jù)自己預先約定的計算過程或者函數(shù)進行計算
? 系統(tǒng)根據(jù)用戶計算結果是否正確鑒定用戶身份
二、 存取控制
1. 存取控制機制組成
? 定義用戶權限
? 合法權限檢查
2. 用戶權限定義和合法權限檢查機制一起組成了DBMS的安全子系統(tǒng)
3.常用存取控制方法
? 自主存取控制(Discretionary Access Control ,簡稱DAC): C2級;靈活
? 強制存取控制(Mandatory Access Control,簡稱 MAC):B1級;嚴格
4.自主存取控制方法
5.強制存取控制方法
三、自主存取控制方法
?數(shù)據(jù)對象
?操作類型
四、授權與回收
1.GRANT
1)一般格式:
2)語義:
將對指定操作對象的指定操作權限授予指定的用戶
發(fā)出GRANT:
?DBA
?數(shù)據(jù)庫對象創(chuàng)建者(即屬主Owner)
?擁有該權限的用戶
按受權限的用戶
?一個或多個具體用戶
?PUBLIC(全體用戶)
WITH GRANT OPTION子句:
? 指定:可以再授予
? 沒有指定:不能傳播
不允許循環(huán)授權
2.REVOKE
1)授予的權限可以由DBA或其他授權者用REVOKE語句收回
2)REVOKE語句的一般格式為:
SQL靈活的授權機制
? 不同的權限授予不同的用戶
? GRANT:授予其他用戶
? “繼續(xù)授權”許可:再授予
3.創(chuàng)建數(shù)據(jù)庫模式的權限
1)DBA在創(chuàng)建用戶時實現(xiàn)
2)CREATE USER語句格式
五、數(shù)據(jù)庫角色
被命名的一組與數(shù)據(jù)庫操作相關的權限
? 角色是權限的集合
? 可以為一組具有相同權限的用戶創(chuàng)建一個角色
? 簡化授權的過程
1. 角色的創(chuàng)建
CREATE ROLE <角色名>2. 給角色授權
GRANT <權限>[,<權限>]… ON <對象類型>對象名 TO <角色>[,<角色>]3.將一個角色授予其他的角色或用戶
GRANT <角色1>[,<角色2>]… TO <角色3>[,<用戶1>]… [WITH ADMIN OPTION]4.角色權限的收回
REVOKE <權限>[,<權限>]… ON <對象類型> <對象名> FROM <角色>[,<角色>]…六、強制存取控制方法
自主存取控制缺點
1. 強制存取控制(MAC)
? 保證更高程度的安全性
? 用戶不能直接感知或進行控制
? 適用于對數(shù)據(jù)有嚴格而固定密級分類的部門:軍事部門;政府部門
2. 主體是系統(tǒng)中的活動實體
? DBMS所管理的實際用戶
? 代表用戶的各進程
3. 客體是系統(tǒng)中的被動實體,是受主體操縱的
? 文件
? 基表
? 索引
? 視圖
4. 敏感度標記(Label)
? 絕密(Top Secret)
? 機密(Secret)
? 可信(Confidential)
? 公開(Public)
主體的敏感度標記稱為許可證級別(Clearance Level)
客體的敏感度標記稱為密級(Classification Level)
5.強制存取控制規(guī)則
(1)僅當主體的許可證級別大于或等于客體的密級時,
該主體才能讀取相應的客體
(2)僅當主體的許可證級別等于客體的密級時,該主體
才能寫相應的客體
修正規(guī)則
主體的許可證級別 <=客體的密級 → 主體能寫客體
規(guī)則的共同點
禁止了擁有高許可證級別的主體更新低密級的數(shù)據(jù)對象
6.MAC與DAC
1)DAC與MAC共同構成DBMS的安全機制
2)實現(xiàn)MAC時要首先實現(xiàn)DAC
? 原因:較高安全性級別提供的安全保護要包含較低級別的所有保護
DAC + MAC安全檢查示意圖
視圖機制
? 主要功能是提供數(shù)據(jù)獨立性,無法完全滿足要求
? 間接實現(xiàn)了支持存取謂詞的用戶權限定義
審計(Audit)
一、什么是審計
? 審計日志(Audit Log)
將用戶對數(shù)據(jù)庫的所有操作記錄在上面
? DBA利用審計日志
找出非法存取數(shù)據(jù)的人、時間和內容
? C2以上安全級別的DBMS必須具有
二、審計分類
1.用戶級審計
?針對自己創(chuàng)建的數(shù)據(jù)庫表或視圖進行審計
?記錄所有用戶對這些表或視圖的一切成功和(或)不成功的訪問要求以及各種類型的SQL操作
2.系統(tǒng)級審計
?DBA設置
?監(jiān)測成功或失敗的登錄要求
?監(jiān)測GRANT和REVOKE操作以及其他數(shù)據(jù)庫級權限下的操作
三、審計功能的可選性
? 審計很費時間和空間
? DBA可以根據(jù)應用對安全性的要求,靈活地打開或關閉審計功能。
AUDIT語句:設置審計功能
NOAUDIT語句:取消審計功能
數(shù)據(jù)加密
防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的
有效手段
一、加密的基本思想
? 根據(jù)一定的算法將原始數(shù)據(jù)(術語為明文,Plain text)變換為不可直接識別的格式(術語為密文,Cipher text)
? 不知道解密算法的人無法獲知數(shù)據(jù)的內容
二、加密方法
1.替換方法
?使用密鑰(Encryption Key)將明文中的每一個字符轉換為密文中的一個字符
2.置換方法
將明文的字符按不同的順序重新排列
3.混合方法
美國1977年制定的官方加密標準:數(shù)據(jù)加密標準(Data Encryption Standard,簡稱DES)
三、DBMS中的數(shù)據(jù)加密
? 有些數(shù)據(jù)庫產品提供了數(shù)據(jù)加密例行程序
? 有些數(shù)據(jù)庫產品本身未提供加密程序,但提供了
接口
數(shù)據(jù)加密功能通常也作為可選特征,允許用戶自由選擇
? 數(shù)據(jù)加密與解密是比較費時的操作
? 數(shù)據(jù)加密與解密程序會占用大量系統(tǒng)資源
? 應該只對高度機密的數(shù)據(jù)加密
統(tǒng)計數(shù)據(jù)庫安全性
一、統(tǒng)計數(shù)據(jù)庫的特點
? 允許用戶查詢聚集類型的信息(例如合計、平均
值等)
? 不允許查詢單個記錄信息
二、 統(tǒng)計數(shù)據(jù)庫中特殊的安全性問題
? 隱蔽的信息通道
? 從合法的查詢中推導出不合法的信息
規(guī)則1:任何查詢至少要涉及N(N足夠大)個以上的記錄
規(guī)則2:任意兩個查詢的相交數(shù)據(jù)項不能超過M個
規(guī)則3:任一用戶的查詢次數(shù)不能超過1+(N-2)/M
數(shù)據(jù)庫安全機制的設計目標:
試圖破壞安全的人所花費的代價 >> 得到的利益
寫在最后:
本數(shù)據(jù)庫專欄是由愛吃老談酸菜的DV一同完成的,博客鏈接在主頁友鏈,是我的好哥們?
Name:風骨散人,目前是一名雙非在校大學生,預計考研,熱愛編程,熱愛技術,喜歡分享,知識無界,希望我的分享可以幫到你!名字的含義:我想有一天我能有能力隨心所欲不逾矩,不總是向生活低頭,有能力讓家人擁有富足的生活而不是為了生計而到處奔波。“世人慌慌張張,不過是圖碎銀幾兩。偏偏這碎銀幾兩,能解世間惆悵,可讓父母安康,可護幼子成長 …”
文章主要內容:
Python,C++,C語言,JAVA,C#等語言的教程
ACM題解、模板、算法等,主要是數(shù)據(jù)結構,數(shù)學和圖論
設計模式,數(shù)據(jù)庫,計算機網(wǎng)絡,操作系統(tǒng),計算機組成原理
Python爬蟲、深度學習、機器學習
計算機系408考研的所有專業(yè)課內容
目前還在更新中,先關注不迷路。微信公眾號,cnblogs(博客園),CSDN同名“風骨散人”
如果有什么想看的,可以私信我,如果在能力范圍內,我會發(fā)布相應的博文!
感謝大家的閱讀!😘你的點贊、收藏、關注是對我最大的鼓勵!
總結
以上是生活随笔為你收集整理的『数据库』无聊到爆炸的数据库文章--数据库的安全性的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为2023年首场发布会定档2月8日 超
- 下一篇: 『数据库』这篇数据库的文章真没人看--数