数据库安全性控制及控制流程和常用方法
Hi,我是無丶味,這篇博客是我對數(shù)據(jù)庫安全性的一些總結(jié)以及記錄一下我的學(xué)習(xí)。
記得養(yǎng)好好習(xí)慣:先贊后看
文章目錄
- 數(shù)據(jù)庫安全性控制
- 非法使用數(shù)據(jù)庫的情況
- 計算機(jī)系統(tǒng)的安全模型
- 數(shù)據(jù)庫管理系統(tǒng)安全性控制模型
- 數(shù)據(jù)庫安全性控制流程及常用方法:
- ①用戶標(biāo)識和鑒定
- ②存取控制
- 自主存取控制
- 強(qiáng)制存取控制
- ③視圖
- ④審計
- ⑤數(shù)據(jù)加密
- 授權(quán):授予與回收
- 數(shù)據(jù)庫角色
數(shù)據(jù)庫安全性控制
非法使用數(shù)據(jù)庫的情況
①編寫合法程序繞過數(shù)據(jù)庫管理系統(tǒng)及其授權(quán)機(jī)制
②直接或編寫應(yīng)用程序執(zhí)行非授權(quán)操作
③通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù)
計算機(jī)系統(tǒng)的安全模型
系統(tǒng)根據(jù)用戶標(biāo)識鑒定用戶身份,合法用戶才準(zhǔn)許進(jìn)入計算機(jī)系統(tǒng)
數(shù)據(jù)庫管理系統(tǒng)還要進(jìn)行存取控制,只允許用戶執(zhí)行合法操作
操作系統(tǒng)有自己的保護(hù)措施
數(shù)據(jù)以密碼形式存儲到數(shù)據(jù)庫中
數(shù)據(jù)庫管理系統(tǒng)安全性控制模型
數(shù)據(jù)庫安全性控制流程及常用方法:
①用戶標(biāo)識和鑒定
用戶身份鑒別方法:
1.靜態(tài)口令鑒別
2.動態(tài)口令鑒別
3.生物特征鑒別
4.智能卡鑒別
②存取控制
常用存取控制方法:
自主存取控制
通過 SQL 的GRANT 語句和REVOKE 語句實(shí)現(xiàn)
用戶權(quán)限組成:數(shù)據(jù)對象、操作類型
定義用戶存取權(quán)限:定義用戶可以在哪些數(shù)據(jù)庫對象上進(jìn)行哪些類型的操作
定義存取權(quán)限稱為授權(quán)
關(guān)系數(shù)據(jù)庫系統(tǒng)中的存取權(quán)限
強(qiáng)制存取控制
強(qiáng)制存取控制規(guī)則
(1)僅當(dāng)主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應(yīng)的客體
例如銀行的高管可以看到別人的帳戶余額,而不能修改余額
(2)僅當(dāng)主體的許可證級別小于或等于客體的密級時,該主體才能寫相應(yīng)的客體
例如銀行的員工可以修改余額,但不能看到余額
強(qiáng)制存取控制(MAC)是對數(shù)據(jù)本身進(jìn)行密級標(biāo)記,無論數(shù)據(jù)如何復(fù)制,標(biāo)記與數(shù)據(jù)是一個不可分的整體,只有符合密級標(biāo)記要求的用戶才可以操縱數(shù)據(jù)。
實(shí)現(xiàn)強(qiáng)制存取控制時要首先實(shí)現(xiàn)自主存取控制
原因:較高安全性級別提供的安全保護(hù)要包含較低級別的所有保護(hù)
自主存取控制與強(qiáng)制存取控制共同構(gòu)成數(shù)據(jù)庫管理系統(tǒng)的安全機(jī)制
先進(jìn)行自主存取控制檢查,通過自主存取控制檢查的數(shù)據(jù)對象再由系統(tǒng)進(jìn)行強(qiáng)制存取控制檢查,只有通過強(qiáng)制存取控制檢查的數(shù)據(jù)對象方可存取。
③視圖
④審計
⑤數(shù)據(jù)加密
防止數(shù)據(jù)庫中數(shù)據(jù)在存儲和傳輸中失密的有效手段
加密的基本思想
根據(jù)一定的算法將原始數(shù)據(jù)—明文(Plain text)變換為不可直接識別的格式-—密文(Cipher text)
加密方法:
1.存儲加密
2.傳輸加密
存儲加密:
①透明存儲加密
內(nèi)核級加密保護(hù)方式,對用戶完全透明
將數(shù)據(jù)在寫到磁盤時對數(shù)據(jù)進(jìn)行加密,授權(quán)用戶讀取數(shù)據(jù)時再對其進(jìn)行解密
數(shù)據(jù)庫的應(yīng)用程序不需要做任何修改,只需在創(chuàng)建表語句中說明需加密的字段即可
內(nèi)核級加密方法: 性能較好,安全完備性較高
②非透明存儲加密
通過多個加密函數(shù)實(shí)現(xiàn)
傳輸加密
鏈路加密:
在鏈路層進(jìn)行加密
傳輸信息由報頭和報文兩部分組成
報文和報頭均加密
端到端加密:
在發(fā)送端加密,接收端解密
只加密報文不加密報頭
所需密碼設(shè)備數(shù)量相對較少,容易被非法監(jiān)聽者發(fā)現(xiàn)并從中獲取敏感信息
其他安全性保護(hù)
推理控制:
處理強(qiáng)制存取控制未解決的問題
避免用戶利用能夠訪問的數(shù)據(jù)推知更高密級的數(shù)據(jù)
常用方法:
基于函數(shù)依賴的推理控制
基于敏感關(guān)聯(lián)的推理控制
隱蔽信道:
處理強(qiáng)制存取控制未解決的問題
數(shù)據(jù)隱私保護(hù):
描述個人控制其不愿他人知道或他人不便知道的個人數(shù)據(jù)的能力
范圍很廣:數(shù)據(jù)收集、數(shù)據(jù)存儲、數(shù)據(jù)處理和數(shù)據(jù)發(fā)布等各個階段
授權(quán):授予與回收
1.GRANT
GRANT語句的一般格式:
語義:將對指定操作對象的指定操作權(quán)限授予指定的用戶
誰可以發(fā)出GRANT:
1.數(shù)據(jù)庫管理員
2.數(shù)據(jù)庫對象創(chuàng)建者(即屬主Owner)
3.擁有該權(quán)限的用戶
接受權(quán)限的用戶 :
1.一個或多個具體用戶
2.PUBLIC(即全體用戶)
WITH GRANT OPTION子句:
指定:可以再授予
沒有指定:不能傳播
不允許循環(huán)授權(quán)
例
2.REVOKE
授予的權(quán)限可以由數(shù)據(jù)庫管理員或其他授權(quán)者用REVOKE語句收回
REVOKE語句的一般格式為:
例
把用戶U4修改學(xué)生學(xué)號的權(quán)限收回REVOKE UPDATE(Sno)ON TABLE Student FROM U4;數(shù)據(jù)庫管理員:
擁有所有對象的所有權(quán)限
根據(jù)實(shí)際情況不同的權(quán)限授予不同的用戶
用戶:
擁有自己建立的對象的全部的操作權(quán)限
可以使用GRANT,把權(quán)限授予其他用戶
被授權(quán)的用戶:
如果具有“繼續(xù)授權(quán)”的許可,可以把獲得的權(quán)限再授予其他用戶
所有授予出去的權(quán)力在必要時又都可用REVOKE語句收回
數(shù)據(jù)庫角色
數(shù)據(jù)庫角色:被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限
角色是權(quán)限的集合
可以為一組具有相同權(quán)限的用戶創(chuàng)建一個角色
簡化授權(quán)的過程
1.角色的創(chuàng)建
例:
創(chuàng)建一個角色 R1:CREATE ROLE R1;2.給角色授權(quán)
GRANT <權(quán)限>[,<權(quán)限>]… ON <對象類型>對象名 TO <角色>[,<角色>]… 使用GRANT語句,使角色R1擁有Student表的 SELECT、UPDATE、INSERT權(quán)限GRANT SELECT, UPDATE, INSERT ON TABLE Student TO R1;3.將一個角色授予其他的角色或用戶
GRANT <角色1>[,<角色2>]… TO <角色3>[,<用戶1>]… [WITH ADMIN OPTION] 將這個角色授予王平,張明,趙玲。使他們具有角色R1所包含的全部權(quán)限GRANT R1 TO 王平,張明,趙玲;該語句把角色授予某用戶,或授予另一個角色
授予者是角色的創(chuàng)建者或擁有在這個角色上的ADMIN OPTION
指定了WITH ADMIN OPTION則獲得某種權(quán)限的角色或用戶還可以把這種權(quán)限授予其他角色
一個角色的權(quán)限:直接授予這個角色的全部權(quán)限加上其他角色
授予這個角色的全部權(quán)限
4.角色權(quán)限的收回
REVOKE <權(quán)限>[,<權(quán)限>]… ON <對象類型> <對象名> FROM <角色>[,<角色>]… 可以一次性通過R1來回收王平的這3個權(quán)限REVOKE R1 FROM 王平;用戶可以回收角色的權(quán)限,從而修改角色擁有的權(quán)限
REVOKE執(zhí)行者是
角色的創(chuàng)建者
擁有在這個(些)角色上的ADMIN OPTION
總結(jié)
以上是生活随笔為你收集整理的数据库安全性控制及控制流程和常用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Auto.js蚂蚁森林自动偷能量脚本
- 下一篇: [5分钟学会Katana Katana中