【正文】
系統(tǒng)正常運(yùn)行,保證系統(tǒng)內(nèi)的數(shù)據(jù) 不增加、不丟失、不泄露 。* An Introduction to Database System 1 數(shù)據(jù)庫系統(tǒng)概論 An Introduction to Database System 第四章 數(shù)據(jù)庫安全性 * An Introduction to Database System 2 第四章 數(shù)據(jù)庫安全性 ? 問題的提出 – 數(shù)據(jù)庫的一大特點(diǎn)是數(shù)據(jù)可以 共享 – 但數(shù)據(jù)共享必然帶來數(shù)據(jù)庫的 安全性問題 – 數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù) 共享不能是無條件的共享 例:軍事秘密 、 國家機(jī)密 、 新產(chǎn)品實(shí)驗(yàn)數(shù)據(jù) 、 市場需求分析 、 市場營銷策略 、 銷售計(jì)劃 、 客戶檔案 、 醫(yī)療檔案 、 銀行儲(chǔ)蓄數(shù)據(jù) * An Introduction to Database System 3 數(shù)據(jù)庫安全性(續(xù)) – 數(shù)據(jù)庫中數(shù)據(jù)的共享是在 DBMS統(tǒng)一的嚴(yán)格的控制之下的共享 , 即 只允許有合法使用權(quán)限 的用戶訪問允許他存取的數(shù)據(jù) – 數(shù)據(jù)庫系統(tǒng)的 安全保護(hù)措施是否有效 是數(shù)據(jù)庫系統(tǒng)主要的性能指標(biāo)之一 * An Introduction to Database System 4 數(shù)據(jù)庫安全性(續(xù)) ?什么是數(shù)據(jù)庫的 安全性 – 數(shù)據(jù)庫的安全性是指 保護(hù) 數(shù)據(jù)庫 , 防止因用戶非法使用數(shù)據(jù)庫造成 數(shù)據(jù)泄露 、 更改或破壞 。 * An Introduction to Database System 12 計(jì)算機(jī)系統(tǒng)的三類安全性問題(續(xù)) ?管理安全 –軟硬件意外故障、場地的意外事故、管理不善導(dǎo)致 的計(jì)算機(jī)設(shè)備和數(shù)據(jù)介質(zhì)的物理破壞、丟失等安全問題 * An Introduction to Database System 13 計(jì)算機(jī)系統(tǒng)的三類安全性問題(續(xù)) ?政策法律類 –政府部門建立的有關(guān)計(jì)算機(jī)犯罪、數(shù)據(jù)安全保密的 法律道德準(zhǔn)則和政策法規(guī)、法令 * An Introduction to Database System 14 計(jì)算機(jī)安全性概論 計(jì)算機(jī)系統(tǒng)的三類安全性問題 可信計(jì)算機(jī)系統(tǒng)評(píng)測標(biāo)準(zhǔn)(安全標(biāo)準(zhǔn)) * An Introduction to Database System 15 可信計(jì)算機(jī)系統(tǒng)評(píng)測標(biāo)準(zhǔn) ?為降低進(jìn)而消除對(duì)系統(tǒng)的安全攻擊,各國引用或制定了一系列安全標(biāo)準(zhǔn) – TCSEC (Trusted Computer System Evaluation Criteria)(桔皮書 ) – TDI (Trusted Database Interpretation)(紫皮書 ) * An Introduction to Database System 16 可信計(jì)算機(jī)系統(tǒng)評(píng)測標(biāo)準(zhǔn)(續(xù)) ? 1985年美國國防部( DoD)正式頒布 《 DoD可信計(jì)算機(jī)系統(tǒng)評(píng)估標(biāo)準(zhǔn) 》 (簡稱 TCSEC或 DoD85) – TCSEC又稱桔皮書 – TCSEC標(biāo)準(zhǔn)的目的 ?提供一種標(biāo)準(zhǔn),使 用戶 可以對(duì)其計(jì)算機(jī)系統(tǒng)內(nèi)敏感信息安全操作的 可信程度 做 評(píng)估 。 – TDI中定義了數(shù)據(jù)庫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)中需滿足和用以進(jìn)行安全性級(jí)別評(píng)估的標(biāo)準(zhǔn)。 * An Introduction to Database System 26 可信計(jì)算機(jī)系統(tǒng)評(píng)測標(biāo)準(zhǔn)(續(xù)) ?C2級(jí) – 安全產(chǎn)品的最低檔次 – 提供受控的存取保護(hù) ,將 C1級(jí)的 DAC進(jìn)一步細(xì)化,以 個(gè)人身份注冊(cè)負(fù)責(zé),并實(shí)施審計(jì)和資源隔離 – 達(dá)到 C2級(jí)的產(chǎn)品在其名稱中往往 不突出“安全” (Security)這一特色 * An Introduction to Database System 27 可信計(jì)算機(jī)系統(tǒng)評(píng)測標(biāo)準(zhǔn)(續(xù)) – 典型例子 ? 操作系統(tǒng) – Microsoft的 Windows NT , – 數(shù)字設(shè)備公司的 Open VMS VAX ? 數(shù)據(jù)庫 – Oracle公司的 Oracle 7 – Sybase公司的 SQL Server * An Introduction to Database System 28 可信計(jì)算機(jī)系統(tǒng)評(píng)測標(biāo)準(zhǔn)(續(xù)) ?B1級(jí) – 標(biāo)記安全保護(hù)。 – 該級(jí)的 TCB必須滿足訪問監(jiān)控器的要求,審計(jì)跟蹤能力更強(qiáng),并提供系統(tǒng)恢復(fù)過程。 * An Introduction to Database System 37 第四章 數(shù)據(jù)庫安全性 計(jì)算機(jī)安全性概論 數(shù)據(jù)庫安全性控制 視圖機(jī)制 審計(jì) 數(shù)據(jù)加密 統(tǒng)計(jì)數(shù)據(jù)庫安全性 小結(jié) * An Introduction to Database System 38 數(shù)據(jù)庫安全性控制 數(shù)據(jù)庫安全性控制概述 用戶標(biāo)識(shí)與鑒別 存取控制 自主存取控制( DAC)方法 授權(quán)( Authorization)與回收( Revoke) 數(shù)據(jù)庫角色 強(qiáng)制存取控制( MAC)方法 * An Introduction to Database System 39 數(shù)據(jù)庫安全性控制概述 ?非法使用數(shù)據(jù)庫的情況 – 用戶編寫一段合法的程序 繞過 DBMS及其授權(quán)機(jī)制,通過操作系統(tǒng)直接存取、修改或備份數(shù)據(jù)庫中的數(shù)據(jù); – 直接或編寫應(yīng)用程序 執(zhí)行非授權(quán)操作 ; * An Introduction to Database System 40 數(shù)據(jù)庫安全性控制概述(續(xù)) – 通過多次合法查詢數(shù)據(jù)庫從中推導(dǎo)出一些保密數(shù)據(jù) 例:某數(shù)據(jù)庫應(yīng)用系統(tǒng)禁止查詢單個(gè)人的工資,但允許查任意一組人的平均工資。 – 檢查存取權(quán)限 ?對(duì)于通過鑒定獲得上機(jī)權(quán)的用戶(即合法用戶),系統(tǒng)根據(jù)他的存取權(quán)限定義對(duì)他的各種操作請(qǐng)求進(jìn)行控制,確保他只執(zhí)行合法操作。 * An Introduction to Database System 61 自主存取控制 ( DAC) 方法(續(xù)) 例:擴(kuò)充后的授權(quán)表 用戶名 數(shù)據(jù)對(duì)象名 允許的操作類型 存取謂詞 王平 關(guān)系 Student SELECT Sdept=?CS? 張明霞 關(guān)系 Student UPDATE Sname=?張明霞張明霞 關(guān)系 Course ALL 空 * An Introduction to Database System 62 自主存取控制 ( DAC) 方法(續(xù)) ?自主存取控制小結(jié) – 定義存取權(quán)限 ?用戶 – 檢查存取權(quán)限 ?DBMS * An Introduction to Database System 63 自主存取控制 ( DAC) 方法(續(xù)) ?自主存取控制小結(jié) (續(xù) ) – 授權(quán)粒度 ?數(shù)據(jù)對(duì)象粒度:數(shù)據(jù)庫、表、屬性列、行 – 數(shù)據(jù)值粒度:存取謂詞 ?授權(quán)粒度越細(xì),授權(quán)子系統(tǒng)就越靈活,能夠提供的安全性就越完善。 ?DBMS的功能是保證這些決定的執(zhí)行。 ?沒有指定 WITH GRANT OPTION子句 : 獲得某種權(quán)限的用戶只能使用該權(quán)限,不能傳播 該權(quán)限 * An Introduction to Database System 72 例題 例 1 把查詢 Student表權(quán)限授給用戶 U1 GRANT SELECT ON TABLE Student TO U1。 * An Introduction to Database System 76 例題(續(xù)) 例 5 把對(duì)表 SC的 INSERT權(quán)限授予 U5用戶 ,并允許他再將此權(quán)限授予其他用戶 GRANT INSERT ON TABLE SC TO U5 WITH GRANT OPTION。 U5 U6 U7 * An Introduction to Database System 78 例題(續(xù)) 例 6 DBA把在數(shù)據(jù)庫 S_C中建立表的權(quán)限授予用戶 U8 GRANT CREATETAB ON DATABASE S_C TO U8。 * An Introduction to Database System 82 例題(續(xù)) 例 9 把用戶 U5對(duì) SC表的 INSERT權(quán)限收回 REVOKE INSERT ON TABLE SC FROM U5。 * An Introduction to Database System 85 數(shù)據(jù)庫角色 ?角色的創(chuàng)建 * An Introduction to Database System 86 數(shù)據(jù)庫角色 ?角色授權(quán) Grant 權(quán)限 [, 權(quán)限 ]… on對(duì)象類型 對(duì)象名 TO 角色 [, 角色 ]… * An Introduction to Database System 87 數(shù)據(jù)庫角色 ?例題 使用角色 R1擁有 Student表的Select,Update,Insert權(quán)限。 Revoke R1 From U1 * An Introduction to Database System 92 數(shù)據(jù)庫安全性控制 用戶標(biāo)識(shí)與鑒別 存取控制 自主存取控制( DAC)方法 授權(quán)( Authorization)與回收( Revoke) 數(shù)據(jù)庫角色 強(qiáng)制存取控制( MAC)方法 * An Introduction to Database System 93 強(qiáng)制存取控制方法 ?什么是強(qiáng)制存取控制 – 強(qiáng)制存取控制 (MAC)是指系統(tǒng)為保證更高程度的安全性,按照 TDI/TCSEC標(biāo)準(zhǔn)