《資料庫系統概論》 4 資料庫安全性

2022-04-11 07:21:42 字數 4221 閱讀 3540

非授權使用者對資料庫的惡意訪問和破壞

資料庫中重要或敏感資料被洩露

安全環境的脆弱性

保護資料庫以防止不合法使用所造成的資料洩露、更改或破壞

1985--tcsec (trusted computer system evaluation criteria)

1996--cc (common criteria)

1999--cc v2.1成為國際標準

tssec

4組7個等級

d、c(c1,c2)、b(b1,b2,b3)、a(a1)

安全程度由低到高

cc三部分組成:簡介和一般模型、安全功能要求、安全保證要求

安全保證要求:7大類、26個子類和74個元件。

根據系統對安全保證的要求提出了7級評估保證級(evaluation assurance level)

eal2、eal3對應c1、c2;

eal4、eal5、eal6對應b1、b2、b3;

eal7對應a1

靜態口令鑑別、動態口令鑑別、生物特徵鑑別、智慧卡鑑別

(智慧卡:一種不可複製的硬體,內建積體電路晶元,具有硬體加密的功能)

理解包括定義使用者許可權和合法許可權檢查兩部分;

c2級的dbms支援自主訪問控制(discretionary access control)和強制訪問控制(mandatory access control)

dac--許可權管理grant、revoke、role

建立使用者

格式create user [with] [dba|resource|connect];

說明dba--系統中的超級使用者,可以建立使用者、模式、基本表、檢視,擁有所有資料庫物件的訪問許可權,還可以授權給一般使用者

resource--可以建立基本表和檢視,成為所建立物件的屬主,不能建立模式,不能建立使用者

connect--只能登入資料庫,許可權由資料庫管理員或其他使用者授予

授權

格式grant 《許可權》[,《許可權》...]

on 《物件型別》 《物件名》[,《物件型別》 《物件名》...]

[when 《條件表示式》]

to 《使用者|角色》[,《使用者|角色》...]

[with grant option];

說明使用者可以是public,即全體使用者

with grant option表明使用者可以將他所得到的許可權繼續授權給其他人,但是不允許再授回給授權者或祖先授權者

在授予使用者在屬性列的insert權時,必須要包含主碼

sql中,user()代表當前使用者

舉例把查詢student表的許可權授給使用者u1

grant select

on table student

to u1;

把對student表和course表的全部操作許可權授予u2和u3

grant all privileges

on table student, course

to u2, u3;

把對sc表的查詢許可權授予所有使用者

grant select

on table sc

to public;

把查詢student表和修改學生學號的許可權授予u4

grant select, update(sno)

on table student

to u4;

把對錶sc的insert許可權授予u5使用者,並允許將此許可權再授予其他使用者

grant insert

on table sc

to u5

with grant option;

取消授權

格式revoke 《許可權》[,《許可權》...]

on 《物件型別》 《物件名》[,《物件型別》 《物件名》...]

from 《使用者|角色》[,《使用者|角色》...] [cascade|restrict];

說明cascade--如果使用者已經授權給了其他使用者,則必須使用cascade,否則系統拒絕執行

舉例把使用者u4修改學生學號的許可權收回

revoke update(sno)

on table student

from u4;

收回所有使用者對錶sc的查詢許可權

revoke select

on table sc

from public;

把使用者u5對sc表的insert許可權收回

revoke insert

on table sc

from u5 cascade;

角色

建立create role 《角色名》;

使用將乙個角色授予其他的角色或使用者

grant 《角色》[,《角色》...]

to 《使用者|角色》[,《使用者|角色》...]

[with admin option]

去掉使用者的某角色

revoke 《角色》[,《角色》...]

from 《使用者》[,[使用者]...]

舉例角色r1擁有student表的select、update、insert許可權,授予王平、張明、趙玲三人r1角色,之後取消角色r1的insert和update許可權,之後收回王平的r1角色

create role r1;

grant select, update, insert on table student to r1;

grant r1 to 王平,張明,趙玲;

revoke insert, update on table student from r1;

revoke r1 from 王平;

mac(強制訪問控制策略)

概念主體--系統中的活動實體,既包括實際使用者,也包括使用者的各程序

客體--系統中的被動實體,受主體操縱的檔案、基本表、索引、試圖等

理解系統為主體和客體的每個例項都指派乙個敏感度標記(label)

敏感度標記級別:絕密ts、機密s、可信c、公開p

主體的label稱為許可證級別,客體的label稱為密級

mac的規則

僅當主體的許可證級別高於客體的密級時,主體才能讀取該客體;

僅當主體的許可證級別低於客體的密級時,主體才能寫入該客體;

為不同的使用者定義不同的檢視,把資料物件限制在一定的範圍內

理解審計功能把使用者對資料庫的所有操作自動記錄下來放到審計日誌audit log中。

可以審計的事件包括伺服器事件、系統許可權、語句事件、模式物件事件、使用者鑑別、自主訪問控制和強制訪問控制事件

既能審計成功的操作,也可以審計失敗的操作

開啟審計功能,必須開啟系統審計開關(系統引數audit_trail=true)

舉例對修改sc表結構或修改sc表資料的操作進行審計

audit alter, update on sc;

取消對sc表的一切審計

noaudit alter, update on sc;

儲存加密

透明儲存加密(核心級加密)

在建立表語句中說明需要加密的字段,即可實現:資料操作(增刪改查)由dbms實現自動對資料進行加密解密工作

非透明儲存加密(通過多個加密函式實現)

傳輸加密

鏈路加密

在資料鏈路層進行加密,對報頭和報文都加密

端到端加密

與https原理相同,採用安全套接層協議ssl,是一種端到端的加密

1.通過ca證書確認通訊雙方端點的可靠性

2.通過pki協商加密演算法和金鑰

3.傳輸可信資料

推理控制:避免使用者利用其能夠訪問的資料推知更高密級的資料。如函式依賴推知他人工資

隱蔽通道:

資料隱私保護技術

資料庫系統概論 資料庫安全性

資料庫的安全性是指保護資料庫以防止不合法的使用所造成的資料洩露 更改或破壞。所謂計算機系統安全性,是指為計算機系統建立和採取的各種安全保護措施,以保護計算機系統中的硬體 軟體及資料,防止其因偶然或惡意的原因使系統遭到破壞,資料遭到更改或洩露等。計算機系統的安全性問題可以分為三大類 技術安全類 管理安...

資料庫系統概論之資料庫安全性

第四章資料庫安全性 1.資料庫的不安全性 非授權使用者對資料庫的惡意訪問和破壞 資料庫中重要或敏感的資料被洩漏 安全環境的脆弱性 2.資料庫安全性控制 使用者身份鑑別 訪問控制 自主訪問控制方法 3.授權 授予與收回 把查詢student表的許可權授給使用者u1 grant select on ta...

資料庫系統概論 資料庫安全性概述

資料庫安全性指的是保護資料庫以防止不合法使用所造成的資料洩露 更改或破壞,系統安全保護措施是否有效是資料庫系統主要的效能指標之一 美國國防部可信計算機系統評估準則 安全級別 定義a1 驗證設計 b3安全域 b2結構化保護 b1標記安全保護 c2受控的訪問保護 c1自主安全保護 d最小保護 加拿大可信...