4.数据库安全性
目錄
4.1數(shù)據(jù)庫安全性概述
4.1.1數(shù)據(jù)庫地不安全因素
4.1.2安全標準簡介
4.2數(shù)據(jù)庫安全性控制
4.2.1用戶身份鑒別
1.靜態(tài)口令鑒別
2.動態(tài)口令鑒別
3.生物特征鑒別
4.智能卡鑒別
4.2.2存取控制
1.定義用戶權(quán)限,并將用戶權(quán)限登記到數(shù)據(jù)字典中
2.合法權(quán)限檢查
4.2.3自主存取控制方法
4.2.4授權(quán):授予與收回
1.GRANT
2.REVOKE
3.創(chuàng)建數(shù)據(jù)庫模式的權(quán)限
4.2.5數(shù)據(jù)庫角色
1.角色的創(chuàng)建
2.給角色授權(quán)
3.將一個角色授予其他的角色或用戶
4.角色權(quán)限的收回
4.2.6強制存取控制方法
4.3視圖機制
4.4審計
1.審計事件
2.審計功能
3.AUDIT和NOAUDIT語句
4.5數(shù)據(jù)加密
1.存儲加密
2.傳輸加密
4.6其它安全性保護
4.6.1推理控制
4.6.2隱蔽信道
4.6.3數(shù)據(jù)隱私
4.1數(shù)據(jù)庫安全性概述
數(shù)據(jù)庫地安全性時指保護數(shù)據(jù)庫以防止不合法使用所造成地數(shù)據(jù)泄露、更改或破壞。
4.1.1數(shù)據(jù)庫地不安全因素
1.非授權(quán)用戶對數(shù)據(jù)庫地惡意存取和破壞
2.數(shù)據(jù)庫中重要或敏感地數(shù)據(jù)被泄露
為防止數(shù)據(jù)泄露,數(shù)據(jù)庫管理系統(tǒng)提供的主要技術(shù)有強制存取控制、數(shù)據(jù)加密存儲和加密傳輸?shù)?。此?#xff0c;在安全性要求較高的部門提供審計功能,通過分析審計日志,可以對潛在的威脅提前采取措施加以防范,對非授權(quán)用戶的入侵行為及信息破壞情況能夠進行跟蹤,防止對數(shù)據(jù)庫安全責任的否認。
3.安全環(huán)境的脆弱性
4.1.2安全標準簡介
計算機以及信息安全技術(shù)方面有一系列的安全標準,具有影響的當推TCSEC和CC這兩個標準。
目前CC已經(jīng)基本取代了TSCEC。
TCSEC又稱桔皮書,分別從安全策略、責任、保證和文檔4個方面來描述安全性級別劃分的指標。
TCSEC/TDI將系統(tǒng)劃分為4組7個等級
| 安全級別 | 定義 |
| A1 | 驗證涉及 |
| B3 | 安全域 |
| B2 | 結(jié)構(gòu)化保護 |
| B1 | 標記安全保護 |
| C2 | 受控的存取保護 |
| C1 | 自主安全保護 |
| D最小保護 |
1)C1:該級只提供了非常初級的自主安全保護,能夠?qū)崿F(xiàn)對用戶和數(shù)據(jù)的分離,進行自主存取控制(DAC),保護或限制用戶權(quán)限的傳播。
2)C2:該級實際上是安全產(chǎn)品的最低檔,提供受控的存取保護,即將C1級的DAC進一步細化,以個人身份注冊負責,并實施審計和資源隔離。
3)B1:標記安全保護。對系統(tǒng)的數(shù)據(jù)加以標記,并對標記的主體和客體實施強制存取控制MAC以及審計等安全機制。B1級別的產(chǎn)品才被認為是真正意義上的安全產(chǎn)品。
4)B2:結(jié)構(gòu)化保護。建立形式化的安全策略模型,并對系統(tǒng)內(nèi)的所有主體和課題實施DAC和MAC。
5)B3:安全域。該級的TCB(Trusted Computing Base)必須滿足訪問監(jiān)控器的要求,審計跟蹤能力更強,并提供系統(tǒng)回復過程。
6)A1:驗證設計,即提供B3級保護的同時給出系統(tǒng)的形式化設計說明和驗證,以確信各安全保護真正實現(xiàn)。
CC提出了目前國際上公認的表述信息技術(shù)性的結(jié)構(gòu),即把對信息產(chǎn)品的安全要求分為安全功能要求和安全保證要求。安全功能要求用以規(guī)范產(chǎn)品和系統(tǒng)的安全行為,安全保證要求解決如何正確有效地實施這些功能。安全功能要求和安全保證要求都以“類-子類-組件”地結(jié)構(gòu)表述,組件是安全要求地最小構(gòu)件塊。
CC的文本由三部分組成:
1)簡介和一般模型,介紹CC中的有關(guān)術(shù)語、基本概念和一般模型以及與評估有關(guān)的一些框架。
2)安全功能要求,列出了一系列類、子類和組件。由11大類、66個子類和135個組件構(gòu)成。
3)安全保證要求,列出了一系列保證類、子類和組件。包括7大類、26個子類和135個組件構(gòu)成。
| 評估保證級 | 定義 | TCSEC安全級別(近似相當) |
| EAL1 | 功能測試 | |
| EAL2 | 結(jié)構(gòu)測試 | C1 |
| EAL3 | 系統(tǒng)地測試和檢查 | C2 |
| EAL4 | 系統(tǒng)地設計、測試和復查 | B1 |
| EAL5 | 半形式化設計和測試 | B2 |
| EAL6 | 半形式化驗證的設計和測試 | B3 |
| EAL7 | 形式化驗證的設計和測試 | A1 |
4.2數(shù)據(jù)庫安全性控制
數(shù)據(jù)庫有關(guān)的安全性主要包括用戶身份鑒別、多層存儲控制、審計、視圖和數(shù)據(jù)加密等技術(shù)。
4.2.1用戶身份鑒別
用戶身份鑒別是數(shù)據(jù)庫管理系統(tǒng)提供的最外層安全保護措施。每個用戶在系統(tǒng)中都有一個用戶標識。每個用戶標識由用戶名和用戶標識號(UID)兩部分組成。UID在系統(tǒng)的整個生命周期內(nèi)是唯一的。系統(tǒng)內(nèi)部記錄著所有合法用戶的標識,系統(tǒng)鑒別是指由系統(tǒng)提供一定的方式讓用戶標識自己的名字或身份。每次用戶進入系統(tǒng)時,由系統(tǒng)進行核對,通過鑒定后才提供使用數(shù)據(jù)庫管理系統(tǒng)的權(quán)限。
用戶鑒別的方法有多種,往往是多種方法結(jié)合。
1.靜態(tài)口令鑒別
靜態(tài)口令一i版由用戶自己設定,鑒別時只要按要求輸入正確的口令,系統(tǒng)將允許用戶使用數(shù)據(jù)庫管理系統(tǒng)。
2.動態(tài)口令鑒別
這種方式的口令是動態(tài)變化的,每次鑒別時均需使用動態(tài)產(chǎn)生的新口令登錄數(shù)據(jù)庫管理系統(tǒng),即采用一次一密的方法。常用的方式如短信密碼和動態(tài)令牌方式。
3.生物特征鑒別
它是通過生物特征進行認證的技術(shù)這種方式通過采用圖像處理和模式識別等技術(shù)實現(xiàn)了基于生物特征的認證。
4.智能卡鑒別
只能卡是一種不可復制的硬件,內(nèi)置集成電路的芯片,具有硬件加密功能。智能卡由用戶隨身攜帶,登錄數(shù)據(jù)庫管理系統(tǒng)時用戶將智能卡插入專用的讀卡器進行身份驗證。
4.2.2存取控制
存取機制主要包括定義用戶權(quán)限和合法權(quán)限檢查兩部分。
1.定義用戶權(quán)限,并將用戶權(quán)限登記到數(shù)據(jù)字典中
用戶對某一數(shù)據(jù)對象的操作權(quán)力稱為權(quán)限。數(shù)據(jù)庫管理系統(tǒng)提供適當?shù)恼Z言來定義用戶權(quán)限,這些定義經(jīng)過編譯后存儲在數(shù)據(jù)字典中,被稱作安全規(guī)則或授權(quán)規(guī)則。
2.合法權(quán)限檢查
每當用戶發(fā)出存取數(shù)據(jù)庫的操作請求后(請求一般包括操作類型、操作對象和操作用戶等信息),數(shù)據(jù)庫管理系統(tǒng)查找數(shù)據(jù)字典,根據(jù)安全規(guī)則進行合法權(quán)限檢查,若用戶的操作請求超出了定義的權(quán)限,系統(tǒng)將拒絕執(zhí)行此操作。
定義用戶權(quán)限和合法權(quán)限檢查機制一起組成了數(shù)據(jù)庫管理系統(tǒng)的存取控制子系統(tǒng)。
C2級的數(shù)據(jù)庫管理系統(tǒng)支持自主存取控制,B1級的數(shù)據(jù)庫管理系統(tǒng)支持強制存取控制。
這兩類方法的簡單定義是:
1)在自主存取控制方法中,用戶對于不同的數(shù)據(jù)庫對象由不同的存取權(quán)限,不同的用戶對同一對象也有不同的權(quán)限,而且用戶還可將其擁有的存取權(quán)限轉(zhuǎn)授給其他用戶。
2)在強制存取控制方法中,每一個數(shù)據(jù)庫對象被標記以一定的密級,每一個用戶也被授予某一個級別的去可證,對于任意一個對象,只有具有合法去可證的用戶才可以存取。
4.2.3自主存取控制方法
用戶權(quán)限由兩個要素組成:數(shù)據(jù)庫對象和操作類型。定義一個用戶的存取權(quán)限就是要定義這個用戶可以在哪些數(shù)據(jù)庫對象上進行哪些類型的操作。在數(shù)據(jù)庫系統(tǒng)中,定義存取權(quán)限稱為授權(quán)。
在非關(guān)系系統(tǒng)中,用戶只能對數(shù)據(jù)進行操作,存取控制的數(shù)據(jù)庫對象也僅限于數(shù)據(jù)本身。
在關(guān)系數(shù)據(jù)庫系統(tǒng)中,存取控制的對象不僅有數(shù)據(jù)本身(基本表中數(shù)據(jù)、屬性列上的數(shù)據(jù)),還有數(shù)據(jù)庫模式(包括模式、基本表、視圖和索引的創(chuàng)建等)。
| 對象類型 | 對象 | 操作類型 |
| 數(shù)據(jù)庫模式 | 模式 | CREATE SCHEMA |
| 基本表 | CREATE TABLE,ATER TABLE | |
| 視圖 | CREATE VIEW | |
| 索引 | CREATE INDEX | |
| 數(shù)據(jù) | 基本表和視圖 | SELECT,INSERT,UPDATE,DELETE,REFERENCES ,ALL PRIVILEGES |
| 屬性列 | SELECT,INSERT,UPDATE,REFERENCES,ALL? PRIVILEGES |
4.2.4授權(quán):授予與收回
SQL中用GRANT和REVOKE語句向用戶授予或收回對數(shù)據(jù)的操作權(quán)限。GRANT語句向用戶授予權(quán)限,REVOKE語句收回已經(jīng)授予用戶的權(quán)限。
1.GRANT
GRANT語句的一般形式為:
GRANT<權(quán)限>[,<權(quán)限>]... ON<對象類型><對象名>[,<對象類型><對象名>]... TO<用戶>[,<用戶>]... [WITH GRANT OPTION];其語義為:將對指定操作對象的指定操作權(quán)限授予指定的用戶。發(fā)出該GRANT語句的可以是數(shù)據(jù)庫管理員,也可以是該數(shù)據(jù)庫對象創(chuàng)建者,還可以是已經(jīng)擁有該權(quán)限的用戶。接受權(quán)限的用戶可以是一個或多個具體用戶,也可以是PUBLIC,即全體用戶。
如果制定了WITH GRANT OPTION子句,則獲得某種權(quán)限的用戶還可以把這種權(quán)限再授予其他用戶。如果沒有指定,則獲得某種權(quán)限的用戶只能使用該權(quán)限,不能傳播該權(quán)限。
SQL標準允許具有WITH GRANT OPTION的用戶把相應權(quán)限或其子集傳遞授予其他用戶,但不允許循環(huán)授予,即被授予者不能把權(quán)限再授回給授權(quán)者或其祖先。
例如,將查詢Student表的權(quán)限授給用戶U1:
GRANT SELECT ON TABLE Student TO U1;對屬性列授權(quán)時必須明確指出相應的屬性列名。
2.REVOKE
授予用戶的權(quán)限可以由數(shù)據(jù)庫管理員或其他授權(quán)者用REVOKE語句收回,REVOKE語句的一般形式為:
REVOKE<權(quán)限>[,<權(quán)限>]... ON<對象類型><對象名>[,<對象類型><對象名>]... FROM<用戶>[,<用戶>]...[CASCADE|RESTRICT];例如,把用戶U4修改學生學號的權(quán)限收回:
REVOKE UPDATE(Sno) ON TABLE Student FROM U4;3.創(chuàng)建數(shù)據(jù)庫模式的權(quán)限
GRANT和REVOKE語句向用戶授予或回收對數(shù)據(jù)的操作權(quán)限。對創(chuàng)建數(shù)據(jù)庫模式一類的數(shù)據(jù)庫對象的授權(quán)則由數(shù)據(jù)庫管理員在創(chuàng)建用戶時實現(xiàn)。
CREATE USER語句的一般格式如下:
CREATE USER<username>[WITH][DBA|RESOURSE|CONNECT];對CREATE USER語句說明如下:
1)只有系統(tǒng)的超級用戶才有權(quán)創(chuàng)建一個新的數(shù)據(jù)庫用戶。
2)新創(chuàng)建的數(shù)據(jù)庫用戶有三種權(quán)限:CONNECT、RESOURSE和DBA。
3)CREATE USER命令中如果沒有指定創(chuàng)建的新用戶的權(quán)限,默認該用戶擁有CONNECT權(quán)限。擁有CONNRCT權(quán)限的用戶不能創(chuàng)建新用戶,不能創(chuàng)建模式,也不能創(chuàng)建基本表,只能登錄數(shù)據(jù)庫。
4)擁有RESOURSE權(quán)限的用戶能創(chuàng)建基本表和視圖,成為所創(chuàng)建對象的屬主,但不能創(chuàng)建模式,不能創(chuàng)建新用戶。數(shù)據(jù)庫對象的屬主可以使用GRANT語句把該對象上的存取權(quán)限授予其他用戶。
5)擁有DBA權(quán)限的用戶是系統(tǒng)中的超級用戶,可以創(chuàng)建新用戶、模式、基本表和視圖等;DBA擁有對所有數(shù)據(jù)庫對象的存取權(quán)限,還可以把這些權(quán)限授予一般用戶。
注意:CREATE USER語句不是SQL標準,因此不同的關(guān)系數(shù)據(jù)庫管理系統(tǒng)的語法和內(nèi)容相差甚遠。
4.2.5數(shù)據(jù)庫角色
數(shù)據(jù)庫角色是被命名的一組與數(shù)據(jù)庫操作相關(guān)的權(quán)限,角色是權(quán)限的集合。因此,可以為一組具有相同權(quán)限的用戶創(chuàng)建一個角色,使用角色來管理數(shù)據(jù)庫權(quán)限可以簡化授權(quán)的過程。在SQL中首先用CREATE ROLE語句創(chuàng)建角色,然后用GRANT語句給角色授權(quán),用REVOKE語句收回授予角色的權(quán)限。
1.角色的創(chuàng)建
CREATE ROLE<角色名>2.給角色授權(quán)
GRANT<權(quán)限>[,<權(quán)限>]... ON<對象類型>對象名 TO<角色>[,<角色>]...;3.將一個角色授予其他的角色或用戶
GRANT<角色1>[,<角色2>]... TO<角色3>[,<用戶1>]... [WITH ADMIN OPTION];該語句把角色授予用戶,或授予另一個角色。授予者或者是角色的創(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<角色>[,<角色>]用戶可以收回角色的權(quán)限,從而修改角色擁有的權(quán)限。
4.2.6強制存取控制方法
在強制存取控制中,數(shù)據(jù)庫管理類系統(tǒng)所管理的全部實體被分為主體和客體兩大類。
主體是系統(tǒng)中的活動實體,既包括數(shù)據(jù)庫管理系統(tǒng)所管理的實際用戶,也包括代表用戶的各進程??腕w是系統(tǒng)中的被動實體,是受主體操縱的,包括文件、基本表、索引、視圖等。對于主體和客體,數(shù)據(jù)庫管理系統(tǒng)為它們每個實例(值)指派一個敏感度標記。
敏感度標記被分成若干級,例如絕密(Top Secret TS)、機密(Secret S)、可信(Confidential C)、公開(Pubilc P)等。密級的次序是TS>=S>=C>=P。主體的敏感度標記稱為許可證級別,客體的敏感度標記稱為密級。強制存取控制機制是通過對比主體的敏感度標記和客體的敏感度標記,最終確定主體是否能夠存取客體。
當某一用戶(或某一主體)以標記label注冊入系統(tǒng)時,系統(tǒng)要求他對任何客體的存取必須遵循以下規(guī)則:
1)僅當主體的許可證級別大于或等于客體的密級時,該主體才能讀取相應的客體。
2)僅當主體的許可證級別小于或等于客體的密級時,該主體才能寫相應的客體。
按照規(guī)則2),用戶可以為寫入的數(shù)據(jù)對象賦予高于子集的許可證級別的密級。這樣一旦數(shù)據(jù)被寫入,該用戶自己也不能再讀該數(shù)據(jù)對象了。如果違反了規(guī)則2),就有可能把數(shù)據(jù)的密級從高流向低,造成數(shù)據(jù)的泄露。
強制存取控制是對數(shù)據(jù)本身進行密級標記,文論數(shù)據(jù)如何復制,標記與數(shù)據(jù)是一個不可分的整體,只有符合密級標記要求的用戶才可以操縱數(shù)據(jù),從而提供了更高級別的安全性。較高安全性級別提供的安全保護要包含較低級別的所有保護,因此在實現(xiàn)強制存取控制時要首先實現(xiàn)自主存取控制,即自主存取控制與強制存取控制共同構(gòu)成數(shù)據(jù)庫管理系統(tǒng)的安全機制。其安全檢查的流程是,系統(tǒng)首先進行自主存取控制,對通過自主存取控制檢查的允許存取的數(shù)據(jù)庫對象再由系統(tǒng)自動進行強制存取控制檢查,只有通過強制存取控制檢查的數(shù)據(jù)庫對象方可存取。
4.3視圖機制
可以為不同的用戶定義不同的視圖,把數(shù)據(jù)對象限制在一定的范圍內(nèi)。也就是說,通過視圖機制把要保密的數(shù)據(jù)對無權(quán)存取的用戶隱藏起來,從而對數(shù)據(jù)提供一定程度的安全保護。
視圖機制間接地實現(xiàn)支持存取謂詞的用戶權(quán)限定義。
例如,建立計算機系學生的視圖,把對該視圖的SELECT權(quán)限授予王平,把該視圖上的所有操作權(quán)限授予張明:
CREATE VIEW CS_Student AS SELECT* FROM Student WHERE Sdept='CS';GRANT SELECT ON CS_Student TO 王平;GRANT ALL PRIVILEGES ON CS_Student TO 張明;4.4審計
審計功能就是數(shù)據(jù)庫管理系統(tǒng)達到C2以上安全級別必不可少的一項指標。審計功能把用戶對數(shù)據(jù)庫的所有操作自動記錄下來放入審計日記(audit log)中。審計員可以利用審計日記監(jiān)控數(shù)據(jù)庫中的各種行為,重現(xiàn)導致數(shù)據(jù)庫現(xiàn)有狀況的一系列事件,找出非法存取數(shù)據(jù)的人、時間和內(nèi)容等。
審計通常是很浪費空間和時間的,所有數(shù)據(jù)庫管理系統(tǒng)往往都將審計設置為可選特征,允許數(shù)據(jù)庫管理員u你根據(jù)具體應用對安全性的要求靈活地打開或關(guān)閉審計功能。
可審計時間有服務器時間、系統(tǒng)權(quán)限、語句事件及模式對象事件,還包括用戶鑒別、自主訪問控制和強制訪問控制事件。
1.審計事件
1)服務器事件:審計數(shù)據(jù)庫服務器發(fā)生的事件,包含數(shù)據(jù)庫服務器的啟動、停止、數(shù)據(jù)庫服務器配置文件的重新加載。
2)系統(tǒng)權(quán)限:對系統(tǒng)擁有的結(jié)構(gòu)或模式對象進行操作的審計,要求該操作的權(quán)限是通過系統(tǒng)權(quán)限獲得的。
3)語句事件:對SQL語句,如DDL、DML、DQL及DCL語句的審計。
4)模式對象事件:對待定模式對象上進行的SELECT或DML操作的審計。模式對象包括表、視圖、存儲過程、函數(shù)等。模式對象不包括依附于表的索引、約束、觸發(fā)器、分區(qū)表等。
2.審計功能
1)基本功能,提供多種審計查閱方式:基本的、可選的、有限的,等等。
2)提供多套審計規(guī)則,審計規(guī)則一般在數(shù)據(jù)庫初始化時設定,以方便審計員管理。
3)提供審計分析和報表功能。
4)審計日志管理功能,包括為防止審計員誤刪審計記錄,審計日志必須先轉(zhuǎn)儲后刪除;對轉(zhuǎn)儲的審計記錄文件提供完整性和保密性保護;只允許審計員查閱和轉(zhuǎn)儲審計記錄,不允許任何用戶新增和修改審計記錄等。
5)系統(tǒng)提供查詢審計設置及審計記錄信息的專門視圖。對于系統(tǒng)權(quán)限級別、語句級別及模式對象級別的審計記錄也可通過相關(guān)的系統(tǒng)表直接查看。
3.AUDIT和NOAUDIT語句
AUDIT語句用來設置審計功能,NOAUDIT語句則取消審計功能。
審計一般可以分為用戶級審計和系統(tǒng)審計。用戶審計是任何用戶可設置的審計,主要是用戶針對自己創(chuàng)建的數(shù)據(jù)庫表或視圖進行審計,記錄所有用戶對這些表或視圖的一切成功和不成功的訪問要求以及各種類型的SQL操作。
例如,對修改SC表結(jié)構(gòu)或修改SC表數(shù)據(jù)的操作進行審計:
AUDIT ALTER,UPDATE ON SC;例如,取消對SC表的一切審計:
NOAUDIT ALTER,UPDATE ON SC;審計設置以及審計日志一般都存儲在數(shù)據(jù)字典中。必須把審計開關(guān)打開(及把系統(tǒng)參數(shù)audit_trail設為true),才可以在系統(tǒng)表SYS_AUDITTRAIL中看到審計信息。
4.5數(shù)據(jù)加密
加密的基本思想是根據(jù)一定的算法將原始數(shù)據(jù)——明文(plain text)變換為不可直接識別的格式——密文(cipher text),從而使得不知道解密算法的人無法獲知數(shù)據(jù)的內(nèi)容。
數(shù)據(jù)加密主要包括存儲加密和傳輸加密。
1.存儲加密
對于存儲加密,一般提供透明和非透明兩種存儲加密方式。透明存儲加密是內(nèi)核級加密保護方式,對用戶完全透明;非透明存儲加密則是通過多個加密函數(shù)實現(xiàn)的。
透明存儲加密是數(shù)據(jù)在寫到磁盤時對數(shù)據(jù)進行加密,授權(quán)用戶讀取數(shù)據(jù)時再對其進行解密。由于數(shù)據(jù)加密對用戶透明,數(shù)據(jù)庫的應用程序不需要做任何修改,只需再創(chuàng)建表語句中說明需加密的阻斷即可。
2.傳輸加密
常用的傳輸加密方式如鏈路加密和端到端加密。其中鏈路加密對傳輸數(shù)據(jù)再鏈路層進行加密,它的傳輸信息由報頭和報文兩部分組成,前者時路由選擇信息,而后者是傳送的數(shù)據(jù)信息。這種方式對報文和報頭均加密。端到端加密對傳輸數(shù)據(jù)再發(fā)送端加密,接收端解密。它只加密報文,不加密報頭。與鏈路加密相比,它只在發(fā)送端和接收端需要密碼設備,而中間節(jié)點不需要密碼設備,因此它所需密碼設備數(shù)量相對較少。
4.6其它安全性保護
除自主存取控制和強制存取控制之外,還有推理控制以及數(shù)據(jù)應用中隱蔽信道和數(shù)據(jù)隱私保護等技術(shù)。
4.6.1推理控制
推理控制處理的是強制存取控制未解決的問題。例如,利用列的函數(shù)依賴關(guān)系,用戶能從低安全等級信息推導除其無權(quán)訪問的高安全等級信息。
數(shù)據(jù)庫推理控制機制用來避免用戶利用其能夠訪問的數(shù)據(jù)推知更高密級的數(shù)據(jù),即用戶利用其被允許的多次查詢的結(jié)果,結(jié)合相關(guān)的領域背景知識以及數(shù)據(jù)之間的約束,推導出其不能訪問的數(shù)據(jù)。
4.6.2隱蔽信道
隱蔽信道處理內(nèi)容也是強制存取控制未解決的問題。
通常,如果INSERT語句對UNIQUE屬性列寫入重復值,則系統(tǒng)會報錯且操作失敗。那么針對UNIQUE約束列,高安全等級用戶可先向該列插入數(shù)據(jù),而低安全等級用戶向該列插入相同數(shù)據(jù)。如果插入失敗,則表明發(fā)送者已向該列插入數(shù)據(jù),此時二者約定發(fā)送者傳輸信息位為0;如果插入成功,則表明發(fā)送者未向該列插入數(shù)據(jù),此時二者約定發(fā)送者傳輸信息位為1.
通過這種方式,高安全等級用戶按事先約定方式主動向低安全等級用戶傳輸信息,使得信息從高安全等級向低安全等級流動,從而導致高安全等級敏感信息泄露。
4.6.3數(shù)據(jù)隱私
所謂數(shù)據(jù)隱私是控制不愿被他人知道或他人不便知道的個人數(shù)據(jù)的能力。
總結(jié)
- 上一篇: three相机在模型上_threejs学
- 下一篇: w ndows安装,Win7旗舰版Wnd