ðiều khiển truy cập nhiệm ý là ñiều khiển việc truy cập của chủ thể vào ñối tượng thông qua ñịnh danh của chủ thể và các luật ñịnh... View và và ssự ự phân quy phân quyề ề n d n dự ự a
Trang 1An
An toàn toàn và và b bả ảo o m mậ ậtt d dữ ữ li liệ ệu u
1. Cơ chế ñịnh danh
2. Các phương pháp ñiều khiển truy xuất
3. Mã hóa dữ liệu
Trang 3ðiều khiển truy cập nhiệm ý là ñiều khiển việc truy cập của chủ thể
vào ñối tượng thông qua ñịnh
danh của chủ thể và các luật ñịnh
Trang 4Quyền truy xuất (Privilege)
◦ ðối với table : Select, Insert, Delete, Update
◦ ðối với procedure : run, modify, viewsource
Trang 7View
và
và ssự ự phân quy phân quyề ề n d n dự ự a trên n a trên nộ ộ i dung
Trong các RDBMS, view là một cơ chế thường ñược dùng ñể hỗ trợ việc ñiều khiển truy cập dựa trên nội dung
Dùng các vị từ (predicate) ñể giới
Dùng các vị từ (predicate) ñể giới hạn nội dung dữ liệu cần cấp
quyền.
Chỉ những bộ của quan hệ thỏa mãn vị từ ñược xem là các ñối tượng ñể cấp quyền.
7
Trang 8Sử ử d dụ ụ ng ng View View
chọn ra các dòng dữ liệu muốn cấp cho chủ thể S
Ví dụ
CREATE VIEW NHANVIEN_IT AS
SELECT * FROM NHANVIEN
WHERE MSPB=“IT”;
GRANT Select ON NHANVIEN_IT TO B;
Trang 9DAC
DAC – – Quy Quyề ề n n kh khẳ ẳ ng ng ñ ñịịnh nh & & Ph Phủ ủ ñ ñịịnh nh
mà một chủ thể S có thể thực hiện trênmột ñối tượng O
◦ Hạn chế: Việc thiếu quyền truy xuất
không ngăn cấm chủ thể sẽ nhận
quyền này từ chủ thể khác
◦ Ví dụ: S không ñược quyền truy xuất
trên ñối tượng o, nhưng một chủ thể S’
có quyền cấp quyền truy xuất trên o
vô tình cấp quyền cho S
một chủ thể S không thể thực hiện với
Trang 10Câu llệ ệ nh nh DENY DENY
DENY {ALL [PRIVILEGES] |
permission[,…n]} { [(column[,…n])] ON { table | view} |
ON {table | view} [( column[,…n])] | {procedure | extended_procedure}
Trang 11Thu hồi quyền ñã cấp
Trang 12DAC
DAC Ràng Ràng bu buộ ộ c c ng ngữ ữ c cả ả nh
Thực tế, người dùng chỉ ñược phép truy cập dữ liệu trong 1 khoảng thời gian nhất ñịnh
Cần phải có một cơ chế hỗ trợ việc truy xuất trong
khoảng thời gian cho trước
◦ Ví dụ: cơ chế chỉ cho phép những người làm việc bán thời gian chỉ ñược phép truy cập dữ liệu vào khoảng từ 9am ñến 1pm từ ngày 1/1/98
Trong hầu hết các hệ quản trị cơ sở dữ liệu chính sách này thường triển khai ở chương trình ứng dụng
◦ Hạn chế: khi xác nhận và thay ñổi chính sách ñiều khiển truy cập, không bảo ñảm rằng chính sách này thực thi
12
Trang 13DAC
DAC Ràng Ràng bu buộ ộ c c ng ngữ ữ c cả ả nh
Thời gian hiệu lực:
◦ Mỗi quyền truy xuất ñều có khoảng thời gian hiệu lực
◦ Khi hết thời gian hiệu lực thì quyền truy xuất tự ñộng bị thu hồi mà
không cần người quản trị thu hồi
Chu kỳ sử dụng quyền truy xuất:
Chu kỳ sử dụng quyền truy xuất:
◦ Quyền truy xuất theo chu kỳ có thể là quyền khẳng ñịnh hay quyền
phủ ñịnh
◦ Nếu trong cùng một khoảng thời gian mà người dùng vừa có quyền khẳng ñịnh vừa có quyền phủ ñịnh trên cùng một ñối tượng và cùng phương thức truy cập thì ưu tiên cho quyền phủ ñịnh
13
Trang 14(B,o1, read, +, C) : C gán quyền cho B có thể
read ñối tượng o1.
(B, o1, write, -, C) : C không cho phép B ñược quyền write trên ñối tượng o1
14
Trang 15DAC
DAC Ràng Ràng bu buộ ộ c c ng ngữ ữ c cả ả nh
Quyền truy xuất theo chu kỳ là bộ ba
([begin,end], P, auth)
- begin là ngày bắt ñầu
- end là ngày kết thúc và lớn hơn
ngày bắt ñầu hay có thể là
Trang 16◦ Giả sử rằng có 2 quyền truy xuất
A2 = ([1/1/95, ], Working-days, (A, o1, read, -, B))
A1= ([1/1/94, ], Mondays, (A, o1, read, +, B))
◦ Lúc này bắt ñầu từ ngày 1/1/95 thì A vừa
có quyền phủ ñịnh vừa có quyền khẳng
ñịnh trên cùng ñối tượng o1 và cùng
phương thức read
◦ Hiện tượng xung ñột ñược giải quyết
bằng cách ưu tiên quyền phủ ñịnh. 16
Trang 17DAC
DAC Ràng Ràng bu buộ ộ c c ng ngữ ữ c cả ả nh
Quy tắc suy diễn ñược ñịnh nghĩa là bộ ba
([begin, end], P, A <OP> A )
◦ begin là ngày bắt ñầu
◦ end là ngày kết thúc và lớn hơn ngày bắt ñầu hay có thể là
◦ P là biểu thức chu kỳ,
◦ A là quyền truy xuất.
◦ E là biểu thức Bool của các quyền truy xuất.
◦ OP là một trong các toán tử WHENEVER, ASLONGAS, UPON
◦ OP là một trong các toán tử WHENEVER, ASLONGAS, UPON
Ngữ nghĩa của từng toán tử trong quy tắc suy diễn:
([begin, end], P, A WHENEVER E ) : quyền truy xuất A có hiệu lực vào thời ñiểm
t ∈ chu kỳ P và t ∈ [ tb, te] khi E có hiệu lực.
Ví dụ:
A1 = ([1/1/95,1/1/96], Working-days, (M, o1, read, B))
R1= ([1/1/95,], Summer-time, (S, o1, read, +, Bob) WHENEVER (M, o1,
read, +, B)).
M ñược read trên ñối tượng này
17
Trang 18RBAC (Role based Access
Control)
RBAC
hoặc MAC hoặc ñược dùng ñộc lập
ñơn giản (flat RBAC)
18
Trang 19Vai trò trò và và nhóm nhóm
◦ Một ñặc quyền có thể ñược gán cho một hay
nhiều nhóm hoặc một hay nhiều vai trò, và một
nhóm hay vai trò thì ñược kết hợp với một hay
nhiều ñặc quyền
◦ Việc gán một người dùng cho một nhóm hay một
vai trò cho phép người dùng thực thi những ñặc
quyền của nhóm hay vai trò ñó.
◦ ðiểm khác nhau chính giữa nhóm và vai trò ñó là
nhóm thì coi như ñặc trưng một tập hợp người
dùng và không là tập hợp quyền hạn Một vai trò
thì một mặt là tập hợp người dùng và một mặt là
ñể mang hai tập hợp này lại với nhau
19
Trang 20MAC (Mandatory Access
Control)
ðiều khiển truy xuất dựa trên sự
phân lớp chủ thể truy xuất và ñối
tượng dữ liệu.
MAC ñược dùng trong môi trường
MAC ñược dùng trong môi trường cần tính chất an ninh cao: như
chính phủ, quân ñội, …
MAC ñược ORACLE cài ñặt.
20
Trang 21Security class (or level, or labels)
◦ Top Secret (TS), Secret (S), Confidential (C),
◦ Top Secret (TS), Secret (S), Confidential (C),
Unclassified (U), where TS > S > C > U