第四章數(shù)據(jù)庫(kù)的安全性._第1頁(yè)
第四章數(shù)據(jù)庫(kù)的安全性._第2頁(yè)
第四章數(shù)據(jù)庫(kù)的安全性._第3頁(yè)
第四章數(shù)據(jù)庫(kù)的安全性._第4頁(yè)
第四章數(shù)據(jù)庫(kù)的安全性._第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余58頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

計(jì)算機(jī)安全性概論數(shù)據(jù)庫(kù)安全性控制視圖機(jī)制審計(jì) Audit 數(shù)據(jù)加密統(tǒng)計(jì)安全性小結(jié) 第四章數(shù)據(jù)庫(kù)的安全性 數(shù)據(jù)庫(kù)的特點(diǎn)之一是DBMS提供統(tǒng)一的數(shù)據(jù)保護(hù)功能來(lái)保證數(shù)據(jù)的安全性可靠性和正確有效 數(shù)據(jù)庫(kù)的數(shù)據(jù)保護(hù)主要包括數(shù)據(jù)的安全性和數(shù)據(jù)的完整性 這一章我們討論數(shù)據(jù)的安全性問(wèn)題 4 1計(jì)算機(jī)安全性概述 數(shù)據(jù)安全性是指保護(hù)數(shù)據(jù)庫(kù)以防止不合法的使用造成的數(shù)據(jù)泄露 更改或破壞 數(shù)據(jù)庫(kù)的安全性和計(jì)算機(jī)系統(tǒng)的安全性 包括操作系統(tǒng) 網(wǎng)絡(luò)系統(tǒng)的安全性是緊密聯(lián)系 相互支持的 因此在討論數(shù)據(jù)庫(kù)的安全性之前首先討論一下計(jì)算機(jī)系統(tǒng)安全性問(wèn)題 4 1計(jì)算機(jī)安全性概述 一 計(jì)算機(jī)系統(tǒng)的三類安全性問(wèn)題計(jì)算機(jī)系統(tǒng)的安全性是指計(jì)算機(jī)系統(tǒng)建立和采取的各種安全保護(hù)措施 以保護(hù)計(jì)算機(jī)系統(tǒng)中的硬件 軟件及數(shù)據(jù) 防止因偶然或惡意的原因使系統(tǒng)遭到破壞 數(shù)據(jù)遭到更改或泄露等 計(jì)算機(jī)系統(tǒng)的安全性問(wèn)題可分為技術(shù)安全類 管理安全類和政策法律類三類 4 1計(jì)算機(jī)安全性概述 技術(shù)安全性是指計(jì)算機(jī)系統(tǒng)中采用具有一定安全性的硬件 軟件來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)系統(tǒng)及其所存數(shù)據(jù)的安全保護(hù) 當(dāng)計(jì)算機(jī)系統(tǒng)受到無(wú)意或惡意的攻擊時(shí)仍能保證系統(tǒng)正常運(yùn)行 保證系統(tǒng)能的數(shù)據(jù)不增加 不丟失 不泄露 管理安全性是指由于管理不善導(dǎo)致的計(jì)算機(jī)設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞 丟失等軟硬件意外故障以及場(chǎng)地的意外事故等安全問(wèn)題 政策法規(guī)則是指政府部門建立的有關(guān)計(jì)算機(jī)犯罪 數(shù)據(jù)安全保密的法律道德準(zhǔn)則和政策法規(guī) 法令 4 1計(jì)算機(jī)安全性概述 二 計(jì)算機(jī)系統(tǒng)安全標(biāo)準(zhǔn)簡(jiǎn)介在計(jì)算機(jī)安全技術(shù)方面逐步建立了一套可信標(biāo)準(zhǔn) 在目前各國(guó)所引用或制定的一系列安全標(biāo)準(zhǔn)中 最有影響的是TCSEC和CC 4 1計(jì)算機(jī)安全性概述 二 計(jì)算機(jī)系統(tǒng)安全標(biāo)準(zhǔn)簡(jiǎn)介TCSEC是1985年美國(guó)國(guó)防部 DoD 正式頒布的 DoD可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn) TrustedComputerSystemEvaluationCriteria 簡(jiǎn)稱TCSEC或DoD85 制定這個(gè)標(biāo)準(zhǔn)的目的主要有 提供一種標(biāo)準(zhǔn) 使用戶可以對(duì)其計(jì)算機(jī)系統(tǒng)內(nèi)敏感信息安全操作的可信程度作評(píng)估 給計(jì)算機(jī)行業(yè)的制造商提供一種可循的指導(dǎo)規(guī)則 使其產(chǎn)品能夠更好地滿足敏感應(yīng)用的安全需求 4 1計(jì)算機(jī)安全性概述 1991年4月美國(guó)NCSC 國(guó)家計(jì)算機(jī)安全中心 頒布了 可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn)關(guān)于可信數(shù)據(jù)庫(kù)系統(tǒng)的解釋 TrustedDatabaseInterpretation 簡(jiǎn)稱TDI 將TCSEC擴(kuò)展到數(shù)據(jù)庫(kù)管理系統(tǒng) TDI中定義了數(shù)據(jù)庫(kù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中需要滿足和用以進(jìn)行安全性級(jí)別評(píng)估的標(biāo)準(zhǔn) TDI TCSEC標(biāo)準(zhǔn)從以下四個(gè)方面描述安全性級(jí)別劃分標(biāo)準(zhǔn) 安全策略 責(zé)任 保證和文檔 每個(gè)方面又細(xì)分為若干項(xiàng) TDI TCSEC將系統(tǒng)劃分為四組 division 七個(gè)等級(jí) 依次是D C C1 C2 B B1 B2 B3 A A1 安全級(jí)別之間具有一種偏序向下兼容的關(guān)系 即較高安全性級(jí)別提供的安全保護(hù)要包含較低級(jí)別的所有保護(hù)要求 同時(shí)提供更多或更完善的保護(hù)能力 4 1計(jì)算機(jī)安全性概述 D級(jí)最低級(jí)別 如DOS就是操作系統(tǒng)中安全標(biāo)準(zhǔn)為D的典型例子 它具有操作系統(tǒng)的基本功能 如文件系統(tǒng) 進(jìn)程調(diào)度等 但在安全方面幾乎沒(méi)有什么專門的機(jī)制來(lái)保障 C1級(jí)只提供非常初級(jí)的自主安全保護(hù) 能夠?qū)崿F(xiàn)對(duì)用戶和數(shù)據(jù)的分離 進(jìn)行自主存取控制 DAC 保護(hù)或限制用戶權(quán)限的傳播 C2級(jí)是安全產(chǎn)品的最低檔次 提供受控的存取保護(hù) 即將C1級(jí)的DAC進(jìn)一步細(xì)化 以個(gè)人身份注冊(cè)負(fù)責(zé) 并實(shí)施審計(jì)和資源隔離 如操作系統(tǒng)中Microsoft的Windows2000 數(shù)據(jù)庫(kù)產(chǎn)品有Oracle公司的Oracle7等 4 1計(jì)算機(jī)安全性概述 B1級(jí)標(biāo)記安全保護(hù) 對(duì)系統(tǒng)的數(shù)據(jù)加以標(biāo)記 并對(duì)標(biāo)記的主體和客體實(shí)施強(qiáng)制存取控制 MAC 以及審計(jì)等安全機(jī)制 B1級(jí)能夠較好地滿足大型企業(yè)或一般政府部門對(duì)數(shù)據(jù)的安全需求 這一級(jí)別的產(chǎn)品才認(rèn)為是真正意義上的安全產(chǎn)品 例如 操作系統(tǒng)方面有惠普公司的HP UXBLSrelease9 0 9 等 數(shù)據(jù)庫(kù)方面擇優(yōu)Qracle公司的TrustedOracle7 Sybase公司的SecureSQLSever11 0 6B2級(jí)結(jié)構(gòu)化保護(hù) 建立形式化的安全策略模型并對(duì)系統(tǒng)內(nèi)的所有主體和客體實(shí)施自主存取控制DAC和強(qiáng)制存取控制MAC 4 1計(jì)算機(jī)安全性概述 B3級(jí)安全域 該級(jí)的TCB 可信計(jì)算基礎(chǔ) 必須滿足訪問(wèn)監(jiān)控器的要求 審計(jì)跟蹤能力更強(qiáng) 并提供系統(tǒng)恢復(fù)過(guò)程 A1級(jí)驗(yàn)證設(shè)計(jì) 即提供B3級(jí)保護(hù)的同時(shí)給出系統(tǒng)的形式化設(shè)計(jì)說(shuō)明和驗(yàn)證以確信各安全保護(hù)真正實(shí)現(xiàn) 4 1計(jì)算機(jī)安全性概述 CC是在上述各評(píng)估準(zhǔn)則及具體實(shí)踐基礎(chǔ)上 通過(guò)相互總結(jié)和互補(bǔ)發(fā)展而來(lái)的 和早期的評(píng)估準(zhǔn)則相比 CC只有結(jié)構(gòu)開放 表達(dá)方式通用等特點(diǎn) CC提出了目前國(guó)際上公認(rèn)的表述信息技術(shù)安全性的結(jié)構(gòu) 即把對(duì)信息產(chǎn)品的安全要求分為安全功能要求和安全保證要求 安全功能要求用以規(guī)范產(chǎn)品和系統(tǒng)的安全行為 安全保證要求解決如何正確有效地實(shí)施這些功能 安全功能要求和安全保證要求都以 類 子類 組件 的結(jié)構(gòu)表達(dá) 組件是安全要求的最小構(gòu)件塊 4 1計(jì)算機(jī)安全性概述 CC的文本由三都分組成 三個(gè)部分相互依存 缺一不可 第一部分是 簡(jiǎn)介和一般模型 介紹CC中的有關(guān)術(shù)語(yǔ) 基本概念和一般模型以及與評(píng)估有關(guān)的一些框架 CC的附錄部分主要介紹 保護(hù)輪廓 ProtectionProfile 簡(jiǎn)稱PP 和 安全目標(biāo) SecurityTarget 簡(jiǎn)稱ST 的基本內(nèi)容 4 1計(jì)算機(jī)安全性概述 第二都分是安全功能要求 列出了一系列功能組件 子類和類 具體來(lái)說(shuō)有11類 分別是安全審計(jì) FAU 通信 FCO 密碼支持 FCS 用戶數(shù)據(jù)保護(hù) FDP 標(biāo)識(shí)和鑒別 FIA 安全管理 FMT 隱私 FPR TSF保護(hù) FPT 資源利用 FRU TOE訪問(wèn) FTA 可信路徑和通信 FTP 這11大類分為66個(gè)子類 由135個(gè)組件構(gòu)成 4 1計(jì)算機(jī)安全性概述 第三部分是安全保證要求 列出了一系列保證組件 子類和類 包括7個(gè)類 分別是配置管理 ACM 交付和運(yùn)行 ADO 開發(fā) ADV 指導(dǎo)性文檔 AGD 生命周期支持 ALC 測(cè)試 ATE 脆弱性評(píng)定 AVA 這7大類分為26個(gè)子類 由74個(gè)組件構(gòu)成 另外 第三部分中根據(jù)系統(tǒng)對(duì)安全保證要求的支持情況提出了評(píng)估保證級(jí) EvaluationAssuranceLevel EAL 并定義了保護(hù)輪廓PP和安全目標(biāo)ST的評(píng)估準(zhǔn)則 用于對(duì)PP和ST的評(píng)估 4 1計(jì)算機(jī)安全性概述 這三部分的有機(jī)結(jié)合具體體現(xiàn)在PP和ST中 CC提出的安全功能要求和安全保證要求都可以在具體的PP和ST中進(jìn)一步細(xì)化和擴(kuò)展 這種開放式的結(jié)構(gòu)更適應(yīng)信息安全技術(shù)的發(fā)展 CC的具體應(yīng)用也是通過(guò)PP和ST這兩種結(jié)構(gòu)來(lái)實(shí)現(xiàn)的 4 1計(jì)算機(jī)安全性概述 PP用于表達(dá)一類產(chǎn)品或系統(tǒng)的用戶需求 是CC在某一領(lǐng)域的具體化 CC針對(duì)不同領(lǐng)域產(chǎn)品的評(píng)估 就體現(xiàn)在開發(fā)該類產(chǎn)品的PP上 例如 針對(duì)操作系統(tǒng)產(chǎn)品的PP OSPP 針對(duì)數(shù)據(jù)庫(kù)產(chǎn)品的PP DBMSPP 等 CC并沒(méi)有專門針對(duì)DBMS的解釋 DBMSPP是CC在DBMS領(lǐng)域的具體化 相當(dāng)于是對(duì)DBMS的解釋 換句話說(shuō) CC的DBMSPP就相當(dāng)于TCSEC的TDl CC中規(guī)定了PP應(yīng)包含的基本內(nèi)容和格式 例如必須指明該P(yáng)P符合哪一種評(píng)估保證級(jí)別 目前國(guó)外已開發(fā)多種不同EAL的DBMSPP ST是對(duì)特定的一種產(chǎn)品進(jìn)行描述 參加CC評(píng)估的產(chǎn)品必須提供自己的ST 4 1計(jì)算機(jī)安全性概述 PP的編制有助于提高安全保護(hù)的針對(duì)性和有效性 ST在PP的基礎(chǔ)上 將安全要求進(jìn)一步具體化 解決安全要求的具體實(shí)現(xiàn) 通過(guò)PP和ST這兩種結(jié)構(gòu) 能夠方便的將CC的安全性要求具體應(yīng)用到信息產(chǎn)品的開發(fā) 生產(chǎn) 測(cè)試 評(píng)估和信息系統(tǒng)的集成 運(yùn)行 評(píng)估 管理中 4 1計(jì)算機(jī)安全性概述 除了PP和ST之外 還有一個(gè)重要的結(jié)構(gòu)是包 包是組件的特定組合 用來(lái)描述一組特定的安全功能和保證要求 評(píng)估保證級(jí) EAL 是在CC第三部分中預(yù)先定義的由保證組件組成的保證包 每一保證包描述了一組特定的保證要求 對(duì)應(yīng)著一種評(píng)估保證級(jí)別 從EALl至EAL7共分為七級(jí) 按保證程度逐漸增高 4 1計(jì)算機(jī)安全性概述 目前有許多信息產(chǎn)品 操作系統(tǒng)如Windows2000 SunSolaris8等 數(shù)據(jù)庫(kù)管理系統(tǒng)如Oracle9i DB2V8 2 SybaseAdaptiveSeverEnterpriseVl2 5 2等 都已通過(guò)了CC的EAL4 4 2數(shù)據(jù)庫(kù)安全性控制 在一般計(jì)算機(jī)系統(tǒng)中 安全措施是一級(jí)一級(jí)層層設(shè)置的 例如可以有如下的模型 用戶 DBMS OS DB 用戶標(biāo)識(shí)和鑒別存取控制操作系統(tǒng)安全保護(hù)數(shù)據(jù)密碼存儲(chǔ) 計(jì)算機(jī)系統(tǒng)的安全模型 系統(tǒng)首先根據(jù)輸入的用戶標(biāo)識(shí)進(jìn)行用戶身份鑒定 只有合法的用戶才準(zhǔn)許進(jìn)入計(jì)算機(jī)系統(tǒng) 對(duì)已進(jìn)入系統(tǒng)的用戶 DBMS還要進(jìn)行存取控制 只允許用戶執(zhí)行合法操作 操作系統(tǒng)一級(jí)也會(huì)有自己的保護(hù)措施 數(shù)據(jù)還可以以密碼形式存儲(chǔ)到數(shù)據(jù)庫(kù)中 4 2數(shù)據(jù)庫(kù)安全性控制 一 用戶標(biāo)識(shí)與鑒定 Identification Authentication 用戶標(biāo)識(shí)和鑒訂是系統(tǒng)提供的最外層安全措施 其方法是由系統(tǒng)提供一定的方式讓用戶標(biāo)識(shí)自己的名字或身份 每次用戶要求進(jìn)入系統(tǒng)時(shí) 由系統(tǒng)進(jìn)行核對(duì) 通過(guò)鑒定后才提供機(jī)器使用權(quán) 二 存取控制數(shù)據(jù)庫(kù)安全最重要的一點(diǎn)就是確保只授權(quán)給有資格的用戶訪問(wèn)數(shù)據(jù)庫(kù)的權(quán)限 同時(shí)令所有未被授權(quán)的人員無(wú)法接近數(shù)據(jù) 這主要是通過(guò)數(shù)據(jù)庫(kù)系統(tǒng)的存取控制機(jī)制實(shí)現(xiàn) 4 2數(shù)據(jù)庫(kù)安全性控制 存取控制機(jī)制主要包括兩部分 1 定義用戶權(quán)限 并將用戶權(quán)限登記到數(shù)據(jù)字典中 用戶權(quán)限是指不同用戶對(duì)于不同的數(shù)據(jù)對(duì)象允許執(zhí)行的操作權(quán)限 系統(tǒng)必須提供適當(dāng)?shù)恼Z(yǔ)言定義用戶權(quán)限 這些定義經(jīng)過(guò)編譯后存放在數(shù)據(jù)字典中 被稱作安全規(guī)則或授權(quán)規(guī)則 2 合法權(quán)限檢查 每當(dāng)用戶發(fā)出存取數(shù)據(jù)庫(kù)的操作請(qǐng)求后 DBMS查找數(shù)據(jù)字典 根據(jù)安全規(guī)則進(jìn)行合法權(quán)限檢查 若用戶的操作請(qǐng)求超出了定義的權(quán)限 系統(tǒng)將拒絕執(zhí)行此操作 用戶權(quán)限定義和合法權(quán)限檢查機(jī)制一起組成了DBMS的安全子系統(tǒng) 4 2數(shù)據(jù)庫(kù)安全性控制 三 自主存取控制 DAC 方法在自主存取控制方法中 用戶對(duì)于不同的數(shù)據(jù)對(duì)象有不同的存取權(quán)限 不同的用戶對(duì)同一對(duì)象也有不同的權(quán)限 而且用戶還可以將其擁有的存取權(quán)限轉(zhuǎn)授予其他用戶 因此自主存取控制非常靈活 大型的數(shù)據(jù)庫(kù)管理系統(tǒng)幾乎都支持自主存取控制 在SQL中用GRANT語(yǔ)句和REVOKE語(yǔ)句來(lái)實(shí)現(xiàn) 用戶權(quán)限是有兩個(gè)要素組成的 數(shù)據(jù)對(duì)象和操作類型 定義一個(gè)用戶的存取權(quán)限就是要定義這個(gè)用戶可以在那些數(shù)據(jù)對(duì)象上進(jìn)行哪些類型的操作 在數(shù)據(jù)庫(kù)系統(tǒng)中 定義存取權(quán)限稱為授權(quán) Authorization 4 2數(shù)據(jù)庫(kù)安全性控制 在非關(guān)系系統(tǒng)中 用戶只能對(duì)數(shù)據(jù)進(jìn)行操作 存取控制的數(shù)據(jù)對(duì)象也僅限于數(shù)據(jù)本身 在關(guān)系系統(tǒng)中 DBA可以把建立 修改基本表的權(quán)限授予用戶 用戶獲得此權(quán)限后可以建立和修改基本表 索引 視圖 因此關(guān)系系統(tǒng)中存取控制的數(shù)據(jù)對(duì)象不僅有數(shù)據(jù)本身 如表 屬性列等 還有模式 外模式 內(nèi)模式等數(shù)據(jù)字典中的內(nèi)容 四授權(quán) Authorization 與回收語(yǔ)句SQL語(yǔ)言用GRANT語(yǔ)句向用戶授予操作權(quán)限 REVOKE語(yǔ)句收回授予的權(quán)限 一 授權(quán)語(yǔ)句GRANT語(yǔ)句的一般格式為 GRANT ON TO WITHGRANTOPTION 其語(yǔ)義為 將對(duì)指定操作對(duì)象的指定操作權(quán)限授予指定的用戶 4 2數(shù)據(jù)庫(kù)安全性控制 4 2數(shù)據(jù)庫(kù)安全性控制 接受權(quán)限的用戶可以是一個(gè)或多個(gè)具體用戶 也可以是PUBLIC即全體用戶 如果指定了WITHGRANTOPTION子句 則獲得某種權(quán)限的用戶還可以把這種權(quán)限再授予別的用戶 如果沒(méi)有指定WITHGRANTOPTION子句 則獲得某種權(quán)限的用戶只能使用該權(quán)限 但不能傳播該權(quán)限 例1把查詢Student表權(quán)限授給用戶U1GRANTSELECTONTABLEStudentTOU1例2把對(duì)Student表和Course表的全部權(quán)限授予用戶U2和U3GRANTALLPRIVILIGESONTABLEStudent CourseTOU2 U3例3把對(duì)表SC的查詢權(quán)限授予所有用戶GRANTSELECTONTABLESCTOPUBLIC 4 2數(shù)據(jù)庫(kù)安全性控制 例4把查詢Student表和修改學(xué)生學(xué)號(hào)的權(quán)限授給用戶U4這里實(shí)際上要授予U4用戶的是對(duì)基本表Student的SELECT權(quán)限和對(duì)屬性列Sno的UPDATE權(quán)限 授予關(guān)于屬性列的權(quán)限時(shí)必須明確指出相應(yīng)屬性列名 完成本授權(quán)操作的SQL語(yǔ)句為 GRANTUPDATE Sno SELECTONTABLEStudentTOU4 4 2數(shù)據(jù)庫(kù)安全性控制 例5把對(duì)表SC的INSERT權(quán)限授予U5用戶 并允許他再將此權(quán)限授予其他用戶GRANTINSERTONTABLESCTOU5WITHGRANTOPTION 執(zhí)行此SQL語(yǔ)句后 U5不僅擁有了對(duì)表SC的INSERT權(quán)限 還可以傳播此權(quán)限 即由U5用戶發(fā)上述GRANT命令給其他用戶 例如U5可以將此權(quán)限授予U6 GRANTINSERTONTABLESCTOU6WITHGRANTOPTION同樣 U6還可以將此權(quán)限授予U7 GRANTINSERTONTABLESCTOU7因?yàn)閁6未給U7傳播的權(quán)限 因此U7不能再傳播此權(quán)限 4 2數(shù)據(jù)庫(kù)安全性控制 由上面的例子可以看到 GRANT語(yǔ)句可以一次向一個(gè)用戶授權(quán) 如例1所示 這是最簡(jiǎn)單的一種授權(quán)操作 也可以一次向多個(gè)用戶授權(quán) 如例2 例3等所示 還可以一次傳播多個(gè)同類對(duì)象的權(quán)限 如例2所示 甚至一次可以完成對(duì)基本表 視圖和屬性列這些不同對(duì)象的授權(quán) 如例4所示 4 2數(shù)據(jù)庫(kù)安全性控制 二 收權(quán)語(yǔ)句授予的權(quán)限可以由DBA或其他授權(quán)者用REVOKE語(yǔ)句收回 REVOKE語(yǔ)句的一般格式為 REVOKE ON FROM 4 2數(shù)據(jù)庫(kù)安全性控制 例7把用戶U4修改學(xué)生學(xué)號(hào)的權(quán)限收回REVOKEUPDATE Sno ONTABLEStudentFROMU4 例8收回所有用戶對(duì)表SC的查詢權(quán)限REVOKESELECTONTABLESCFROMPUBLIC 4 2數(shù)據(jù)庫(kù)安全性控制 例9把用戶U5對(duì)SC表的INSERT權(quán)限收回REVOKEINSERTONTABLESCFROMU5 在例5中 U5又將對(duì)SC表的INSERT權(quán)限授予了U6 而U6又將其授予了U7 執(zhí)行此REVOKE語(yǔ)句后 DBMS在收回U5對(duì)SC表的INSERT權(quán)限的同時(shí) 還會(huì)自動(dòng)收回U6和U7對(duì)SC表的INSERT權(quán)限 即收回權(quán)限的操作會(huì)級(jí)聯(lián)下去的 但如果U6或U7還從其他用戶處獲得對(duì)SC表的INSERT權(quán)限 則他們?nèi)跃哂写藱?quán)限 系統(tǒng)只收回直接或間接從U5處獲得的權(quán)限 4 2數(shù)據(jù)庫(kù)安全性控制 三 創(chuàng)建數(shù)據(jù)庫(kù)模式的權(quán)限GRANT和REVOKE語(yǔ)句向用戶授予或收回對(duì)數(shù)據(jù)的操作權(quán)限 對(duì)數(shù)據(jù)庫(kù)模式的授權(quán)則由DBA在創(chuàng)建用戶時(shí)實(shí)現(xiàn) CREATEUSER語(yǔ)句一般格式如下 CREATEUSER WITH DBA RESOURCE CONNECT 4 2數(shù)據(jù)庫(kù)安全性控制 對(duì)CREATEUSER語(yǔ)句說(shuō)明如下 只有系統(tǒng)的超級(jí)用戶才有權(quán)創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù)用戶 新創(chuàng)建的數(shù)據(jù)庫(kù)用戶有三種權(quán)限 CONNECT RESOURCE和DBA CREATEUSER命令中如果沒(méi)有指定創(chuàng)建的新用戶的權(quán)限 默認(rèn)該用戶擁有CONNECT權(quán)限 擁有CONNECT權(quán)限的用戶不能創(chuàng)建新用戶 不能創(chuàng)建模式 也不能創(chuàng)建基本表 只能登錄數(shù)據(jù)庫(kù) 然后由DBA或其他用戶授予他應(yīng)有的權(quán)限 根據(jù)獲得的授權(quán)情況他可以對(duì)數(shù)據(jù)庫(kù)對(duì)象進(jìn)行權(quán)限范圍內(nèi)的操作 4 2數(shù)據(jù)庫(kù)安全性控制 對(duì)CREATEUSER語(yǔ)句說(shuō)明如下 擁有RESOURCE權(quán)限的用戶能創(chuàng)建基本表和視圖 成為所創(chuàng)建對(duì)象的屬主 但是不能創(chuàng)建模式 不能創(chuàng)建新的用戶 數(shù)據(jù)庫(kù)對(duì)象的屬主可以使用GRANT語(yǔ)句把該對(duì)象上的存取權(quán)限授予其他用戶 擁有DBA權(quán)限的用戶是系統(tǒng)中的超級(jí)用戶 可以創(chuàng)建新的用戶 創(chuàng)建模式 創(chuàng)建基本表和視圖等 DBA擁有對(duì)所有數(shù)據(jù)庫(kù)對(duì)象的存取權(quán)限 還可以把這些權(quán)限授予一般用戶 4 2數(shù)據(jù)庫(kù)安全性控制 一個(gè)DBA用戶可以擁有CREATEUSER CREATESCHEMA和CREATETABLE權(quán)限 一個(gè)RESOURCE用戶可以擁有CREATETABLE權(quán)限 有關(guān)CREATESCHEMA和CREATETABLE的語(yǔ)句在第3章中已經(jīng)講解了 4 2數(shù)據(jù)庫(kù)安全性控制 五 數(shù)據(jù)庫(kù)角色數(shù)據(jù)庫(kù)角色是被命名的一組與數(shù)據(jù)庫(kù)操作相關(guān)的權(quán)限 角色是權(quán)限的集合 因此 可以為一組具有相同權(quán)限的用戶創(chuàng)建一個(gè)角色 使用角色來(lái)管理數(shù)據(jù)庫(kù)權(quán)限可以簡(jiǎn)化授權(quán)的過(guò)程 在SQL中首先用CREATEROLE語(yǔ)句創(chuàng)建角色 然后用GRANT語(yǔ)句給角色授權(quán) 4 2數(shù)據(jù)庫(kù)安全性控制 一 角色的創(chuàng)建創(chuàng)建角色的SQL語(yǔ)句格式是CREATEROLE剛剛創(chuàng)建的角色是空的 沒(méi)有任何內(nèi)容 可以用GRANT為角色授權(quán) 二 給角色授權(quán)GRANT ON對(duì)象名TO DBA和用戶可以利用GRANT語(yǔ)句將權(quán)限授予某一個(gè)或幾個(gè)角色 4 2數(shù)據(jù)庫(kù)安全性控制 三 將一個(gè)角色授子其他的角色或用戶GRANT TO WITHADMINOPTION 該語(yǔ)句把角色授予某用戶 或授予另一個(gè)角色 這樣 一個(gè)角色 例如角色3 所擁有的權(quán)限就是授予它的全部角色 例如角色1和角色2 所包含的權(quán)限的總和 授予者或者是角色的創(chuàng)建者 或者擁有在這個(gè)角色上的ADMINOPTION 如果指定了WITHADMINOPTION子句 則獲得某種權(quán)限的角色或用戶還可以把這種權(quán)限再授予其他的角色 一個(gè)角色包含的權(quán)限包括直接授予這個(gè)角色的全部權(quán)限加上其他角色授予這個(gè)角色的全部權(quán)限 4 2數(shù)據(jù)庫(kù)安全性控制 四 角色權(quán)限的收回REVOKE ONFROM 用戶可以回收角色的權(quán)限 從而修改角色擁有的權(quán)限 REVOKE動(dòng)作的執(zhí)行者或者是角色的創(chuàng)建者 或者擁有在這個(gè) 些 角色上的ADMINOPTION 4 2數(shù)據(jù)庫(kù)安全性控制 例11 通過(guò)角色來(lái)實(shí)現(xiàn)將一組權(quán)限授予一個(gè)用戶 步驟如下1 首先創(chuàng)建一個(gè)角色Rl CREATEROLERl2 然后使用GRANT語(yǔ)句 使角色Rl擁有Student表的SELECT UPDATE INSERT權(quán)限GRANTSELECT UPDATE INSERTONTABLEStudentTOR13 將這個(gè)角色授予王平 張明 趙玲 使他們具有角色Rl所包含的全部權(quán)限GRANTRlTO王平 張明 趙玲4 當(dāng)然 也可以一次性的通過(guò)R1來(lái)回收王平的這3個(gè)權(quán)限REVOKERlFROM王平 4 2數(shù)據(jù)庫(kù)安全性控制 例12 角色的權(quán)限修改GRANTDELETEONTABLEStudentTORl使角色Rl在原來(lái)的基礎(chǔ)上增加了Student表的DELETE權(quán)限 例13 收回R1對(duì)Student表的查詢權(quán)限REVOKESELECTONTABLEStudentFROMRl可以看出 通過(guò)角色的使用可以使自主授權(quán)的執(zhí)行更加靈活 方便 4 2數(shù)據(jù)庫(kù)安全性控制 4 2數(shù)據(jù)庫(kù)安全性控制 自主存取控制能夠通過(guò)授權(quán)機(jī)制有效地控制其他用戶對(duì)敏感數(shù)據(jù)的存取 但仍可能造成數(shù)據(jù)的 無(wú)意泄露 造成這一問(wèn)題的根本原因就在于這種機(jī)制僅僅通過(guò)對(duì)數(shù)據(jù)的存取權(quán)限來(lái)進(jìn)行安全控制 而數(shù)據(jù)本身并無(wú)標(biāo)記 要解決這一問(wèn)題 就需要對(duì)系統(tǒng)控制下的所有主客體實(shí)施強(qiáng)制存取策略 4 2數(shù)據(jù)庫(kù)安全性控制 六 強(qiáng)制存取控制 MAC 方法在強(qiáng)制存取方法中 每一個(gè)數(shù)據(jù)對(duì)象被標(biāo)以一定的密級(jí) 每一個(gè)用戶也被授予某一級(jí)別的許可證 對(duì)于任一對(duì)象 只有具有合法許可證的用戶才可以存取 強(qiáng)制存取控制因此比較嚴(yán)格 MAC適用于那些對(duì)數(shù)據(jù)有嚴(yán)格而固定密級(jí)分類的部門 例如軍事部門或政府部門 在MAC中 DBMS所管理的全部實(shí)體被分為主體和客體兩大類 主體是系統(tǒng)中的活動(dòng)實(shí)體 既包括DBMS所管理的實(shí)際用戶 也包括代表用戶的各進(jìn)程 客體是系統(tǒng)中被動(dòng)的實(shí)體 是受主體操縱的 包括文件 基表 索引 視圖等 4 2數(shù)據(jù)庫(kù)安全性控制 對(duì)于主體和客體 DBMS為它們每個(gè)實(shí)例 值 指派一個(gè)敏感度標(biāo)記 Label 敏感度標(biāo)記 Label 被分成若干級(jí)別 例如絕密 TopSecret 機(jī)密 Secret 可信 Confidential 公開 Public 等 主體的敏感度標(biāo)記稱為許可證級(jí)別 ClearanceLevel 客體的敏感度標(biāo)記稱為密級(jí) ClassificationLevel MAC機(jī)制就是通過(guò)對(duì)比主體的Level和客體的Level 最終確定主體是否能夠存取客體 4 2數(shù)據(jù)庫(kù)安全性控制 當(dāng)某一用戶 或某一主體 以標(biāo)記Label注冊(cè)入系統(tǒng)時(shí) 系統(tǒng)要求他對(duì)任何客體的存取必須遵守如下規(guī)則 僅當(dāng)主體的許可證級(jí)別大于或等于客體的密級(jí)時(shí) 該主體才能讀取客體 僅當(dāng)主體的許可證級(jí)別等于客體的密級(jí)時(shí) 該主體才能寫相應(yīng)客體 對(duì)于第二條規(guī)則在某些系統(tǒng)中規(guī)定 僅當(dāng)主體的許可證級(jí)別小于或等于客體的密級(jí)時(shí) 該主體才能寫相應(yīng)客體 即用戶可以為寫入的數(shù)據(jù)對(duì)象賦予高于自己的許可證級(jí)別的密級(jí) 這樣一旦數(shù)據(jù)被寫入 該用戶自己也不能再讀該數(shù)據(jù)對(duì)象了 4 2數(shù)據(jù)庫(kù)安全性控制 寫規(guī)則禁止了擁有高許可證級(jí)別的主體更新密級(jí)低的數(shù)據(jù)對(duì)象 強(qiáng)制存取控制 MAC 是對(duì)數(shù)據(jù)本身進(jìn)行密級(jí)標(biāo)記 無(wú)論數(shù)據(jù)如何復(fù)制 標(biāo)記與數(shù)據(jù)是一個(gè)不可分的整體 只有復(fù)合密級(jí)標(biāo)記要求的用戶才可以操縱數(shù)據(jù) 從而提供了更高級(jí)別的安全性 4 2數(shù)據(jù)庫(kù)安全性控制 因較高安全性級(jí)別提供的安全保護(hù)要包含較低級(jí)別的所有保護(hù)要求 因此在實(shí)現(xiàn)MAC時(shí)要首先實(shí)現(xiàn)DAC 即DAC與MAC共同構(gòu)成DBMS的安全機(jī)制 系統(tǒng)首先進(jìn)行DAC檢查 對(duì)通過(guò)DAC檢查的允許存取的數(shù)據(jù)對(duì)象再由系統(tǒng)自動(dòng)進(jìn)行MAC檢查 只有通過(guò)MAC檢查的數(shù)據(jù)對(duì)象方可存取 SQL語(yǔ)法分析 語(yǔ)義檢查 DAC檢查MAC檢查 繼續(xù)語(yǔ)義檢查 安全檢查 DAC MAC安全檢查示意圖 4 3視圖機(jī)制 進(jìn)行存取權(quán)限控制時(shí)可以為不同的用戶定義不同的視圖 把數(shù)據(jù)對(duì)象限制在一定的范圍內(nèi) 也就是說(shuō) 通過(guò)視圖機(jī)制把要保密的數(shù)據(jù)對(duì)無(wú)權(quán)存取的用戶隱藏起來(lái) 從而自動(dòng)地對(duì)數(shù)據(jù)提供一定程度的安全保護(hù) 例如只允許王平檢索計(jì)算機(jī)系學(xué)生的信息 則可以先建立計(jì)算機(jī)系學(xué)生的視圖 然后把對(duì)視圖的查詢權(quán)限授予王平 CREATEVIEWCS StudentASSELECT FROMStudentWHERESdept CS GRANTSELECTONCS StudentTo王平 4 4審計(jì) Audit 審計(jì)功能把用戶對(duì)數(shù)據(jù)庫(kù)的所有操作自動(dòng)記錄下來(lái)放入審計(jì)日志 AuditLog 中 DBA可以利用審計(jì)跟蹤的信息 重現(xiàn)導(dǎo)致數(shù)據(jù)庫(kù)現(xiàn)狀的一系列事件 找出非法存取數(shù)據(jù)的人 時(shí)間和內(nèi)容等 審計(jì)通常是很費(fèi)時(shí)間和空間的 所以DBMS往往都將其作為可選特征 允許DBA根據(jù)應(yīng)用對(duì)安全性要求靈活地打開或關(guān)閉審計(jì)功能 審計(jì)功能一般主要用于安全性要求較高的部門 審計(jì)一般可分為用戶級(jí)審計(jì)和系統(tǒng)級(jí)審計(jì) 用戶審計(jì)是任何用戶可設(shè)置的審計(jì) 主要是用戶針對(duì)自己創(chuàng)建的數(shù)據(jù)庫(kù)表或視圖進(jìn)行審計(jì) 記錄所有用戶對(duì)這些表或視圖的一切成功和 或 不成功的訪問(wèn)要求以及各種類型的SQL操作 4 4審計(jì) Audit 系統(tǒng)級(jí)審計(jì)只能由DBA設(shè)置 用以監(jiān)測(cè)成功或失敗的登錄要求 監(jiān)測(cè)GRANT和REVOKE操作以及其他數(shù)據(jù)庫(kù)級(jí)權(quán)限下的操作 AUDIT語(yǔ)句用來(lái)設(shè)置審計(jì)功能 NOAUDlT語(yǔ)句取消審計(jì)功能 例15 對(duì)修改SC表結(jié)構(gòu)或修改SC表數(shù)據(jù)的操作進(jìn)行審計(jì) AUDITALTER UPDATEONSC 例16 取消對(duì)SC表的一切審計(jì) NOAUDITALTER UPDATEONSC審計(jì)設(shè)置以及審計(jì)內(nèi)容一般都存放在數(shù)據(jù)字典中 必須把審計(jì)開關(guān)打開 即把系統(tǒng)參數(shù)audit trail設(shè)為true 才可以在系統(tǒng)表SYS AUDITTRAIL中查看審計(jì)信息 4 5數(shù)據(jù)加密 對(duì)于高度敏感數(shù)據(jù) 例如財(cái)務(wù)數(shù)據(jù) 軍事數(shù)據(jù) 國(guó)家機(jī)密 除以上安全性措施外 還可以采用數(shù)據(jù)加密技術(shù) 數(shù)據(jù)加密是防止數(shù)據(jù)庫(kù)中數(shù)據(jù)在存取和傳輸中失密的有效手段 加密的基本思想是根據(jù)一定的算法將原始數(shù)據(jù) 術(shù)語(yǔ)為明文 Plaintext 變換為不可直接識(shí)別的格式 術(shù)語(yǔ)為密文 Ciphertext 從而使得不知道解密算法的人無(wú)法獲知數(shù)據(jù)內(nèi)容 加密方法有兩種 一種是替換法 該方法使用密匙 EncryptionKey 將明文中的每個(gè)字符轉(zhuǎn)換為密文中的一個(gè)字符 另一種方法是置換法 該方法僅將明文的字符按不同的順序重新排列 單獨(dú)使用這兩種方法的任意一種都是不夠安全的 但是將這兩種方法結(jié)合起來(lái)就能提供相當(dāng)高的安全程度 4 5數(shù)據(jù)加密 采用這種結(jié)合算法的例子是美國(guó)1977年制定的官方加密標(biāo)準(zhǔn) 數(shù)據(jù)加密標(biāo)準(zhǔn) DataEncryptionStandard 簡(jiǎn)稱DES 目前有些數(shù)據(jù)庫(kù)產(chǎn)品提供了數(shù)據(jù)加密例行

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論