Phục hồi dữ liệu và an toàn dữ liệu - Phần 2: An toàn dữ liệu

 DAC (Discretionary Access Control)

– Cho biếtchủthểnào có thểtruy cậpkiểugìđến cácđối

tượng CSDL.

–Cónhững nguyên tắcđể1 chủthểcó thểtùy ý cấp quyền

hay lấylạiquyền cho/ từ1 chủthểkhác.

• MAC (Mandatory Access Control)

–Định trước các nguyên tắcđểchủthể(thuộc1 lớp) truy cập

trựctiếphoặcgiántiếpđếncáclớpdữliệu.

• RBAC (Role-based Access Control

–Vaitròlà1 tập các quyền. Không thựchiệncấp quyềncho

từng chủthểmà gán cho chủthể1 vai trò, khiđóchủthểsẽ

có tấtcảcác quyềnthuộcvaitròđó

pdf35 trang | Chuyên mục: SQL Server | Chia sẻ: dkS00TYs | Lượt xem: 1828 | Lượt tải: 5download
Tóm tắt nội dung Phục hồi dữ liệu và an toàn dữ liệu - Phần 2: An toàn dữ liệu, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
([begin, end], P, A A )
Trong đó: 
– 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.
– A 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. 
• Ngữ nghĩa của từng toán tử trong quy tắc suy diễn:
([begin, end], P, A WHENEVER A ) : 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 A 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)).
ÆS chỉ được read trên đối tượng o1 vào thời điểm mùa hè, từ ngày 1/1/95 khi
M được read trên đối tượng này.
24
47
DAC - Nhận xét
• Ưu điểm:
– DAC linh động trong chính sách nên được hầu hết các
HQT CSDL ứng dụng.
• Khuyết điểm:
– Không thể điều khiển được dòng thông tin (information 
flow control) để có thể chống lại tấn công dạng Trojan 
Horse.
48
• RBAC (Role based Access Control)
– Hầu hết các HQT CSDL đều hỗ trợ RBAC.
– RBAC có thể dùng kết hợp với DAC hoặc MAC 
hoặc được dùng độc lập.
– Đa số các HQT CSDL chỉ hỗ trợ RBAC đơn giản
(flat RBAC).
25
49
Vai trò và nhóm
• Mức cơ bản, vai trò có thể được xem tương đương như
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à tập hợp quyền hạn. Vai trò là đối tượng
trung gian để mang hai tập hợp này lại với nhau. 
50
RBAC
• Được áp dụng vào đầu những năm 1970s.
• Khái niệm chính của RBAC là những quyền hạn được liên kết với những vai
trò.
• Khi số lượng chủ thể và đối tượng lớnÆ số lượng quyền hạn có thể trở nên vô
cùng lớn.
• Nếu người dùng có nhu cầu cao, số lượng cấp và thu hồi quyền diễn ra thường
xuyên.
• Với RBAC thì có thể giới hạn trước các mối quan hệ vai trò – quyền hạn, làm
cho việc phân công người dùng đến các vai trò được xác định trước dễ dàng
hơn. 
• Không có RBAC sẽ khó khăn cho việc xác định quyền hạn nào được quy định
đến người dùng nào.
• Những người dùng được chỉ định những vai trò thích hợp. Điều này làm đơn
giản cho việc quản lí quyền hạn. 
• Trong một tổ chức, những chức năng công việc khác nhau được phân thành
những vai trò và người dùng được chỉ định vai trò dựa vào trách nhiệm và năng
lực của họ.
26
51
RBAC – Các mô hình
• Mô hình RBAC gồm 4 mô hình: RBAC0 , RBAC1 , RBAC2 , 
RBAC3.
– RBAC0 là nền tảng.
– RBAC1 thêm vào khái niệm kế thừa của hệ thống phân cấp vai trò. Vai trò có thể
kế thừa quyền hạn từ vai trò khác.
– RBAC2 thêm vào các ràng buộc.
– RBAC3 là tổng hợp của 3 mô hình.
52
RBAC – Các mô hình
• Mô hình nền tảng RBAC0 thì ở dưới cùng, nó là yêu
cầu tối thiểu cho bất kỳ hệ thống nào có hỗ trợ RBAC.
• Mô hình RBAC1 , RBAC2 được phát triển từ mô hình
RBAC0 nhưng có thêm các điểm đặc trưng cho từng
mô hình. 
– RBAC1 thêm vào khái niệm của hệ thống phân cấp vai trò
(các trạng thái trong đó vai trò có thể thừa kế quyền hạn từ
vai trò khác). 
– RBAC2 thêm vào các ràng buộc (áp dụng ràng buộc để có
thể thừa nhận cấu hình của các thành phần khác nhau của
RBAC). RBAC1 , RBAC2 không liên quan nhau.
• RBAC3 là mô hình tổng hợp của ba mô hình RBAC0 , 
RBAC1 và RBAC2. 
27
53
Ví dụ
54
Ví dụ
28
55
Ví dụ
56
MAC
• MAC (Mandatory Access Control)
29
57
MAC
• Đ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 cần tính chất
an ninh cao: như chính phủ, quân đội, …
• MAC được ORACLE cài đặt.
58
MAC
• Đối tượng dữ liệu (Object): tables, views, tuples.
• Chủ thể truy cập (Subject): users, user programs.
• Security class (or level, or labels)
– Top Secret (TS), Secret (S), Confidential (C), Unclassified 
(U), where TS > S > C > U
• Mỗi chủ thể và mỗi đối tượng được xếp vào một class.
– No read – up: Chủ thể S có thể Đọc đối tượng O nếu Class(S) 
>= Class(O).
– No write – down: Chủ thể S có thể Ghi đối tượng O nếu
class(S) <= Class (O).
• Tuy nhiên, thực tế các hệ thống không cho phép write up, mà chỉ cho
phép write cùng mức. Hãy kiểm tra điều này trên Oracle?
30
59
MAC
TS
S
C
U
In
fo
rm
at
io
n 
flo
w
Subjects Objects
TS
C
U
S
w
rit
es
w
rit
es
w
rit
es
w
rit
es
reads
reads reads reads
60
MAC – Nhận xét
• Nguyên lý về đơn vị dữ liệu của đối tượng bảo mật.
– Là toàn bộ CSDL, hay tập tin, ở các thuộc tính hay từng
item.
• Không có kỹ thuật tự động cho việc gán nhãn bảo 
mật.
• Nhiều người cùng truy cập tại một thời điểm.
– Vì áp dụng chính sách dòng thông tin nên những người có
mức bảo mật cao hơn bị hạn chế ghi xuống các hạng mục 
dữ liệu có sự phân loại thấp hơn. Ví dụ có chủ thể s1 và s2 
có nhãn(s1)>nhãn(s2), mục dữ liệu d với nhãn(d) = 
nhãn(s2), và luật thương mại cho rằng để ghi dữ liệu lên d 
của s2 cần sự chấp thuận của s1. Điều này thì không thích 
hợp cho các ứng dụng thương mại của công nghệ CSDL 
MLS.
31
61
MAC
• MAC còn được gọi là điều khiển truy cập đa
cấp (Multilevel security – MLS), ứng dụng trên
CSDL quan hệ, có CSDL quan hệ đa cấp
(Multilevel Relational Model - MLR).
• Hệ thống quản lý dữ liệu đáp ứng các thuộc tính
của việc bảo mật đa cấp được thiết kế dựa trên
mô hình nền tảng là Bell và LaPadula.
62
MLR
• Trong mô hình dữ liệu đa cấp, những mục dữ liệu
và chủ thể có lớp truy cập riêng của chúng (hay 
các mức), ví dụ TS(Top Secret), S(Secret), 
U(Unclassified) v.v… gồm sự phân loại và sự
cho phép sử dụng thông tin bí mật(clearance). 
• Chủ thể khi truy cập bị giới hạn bởi những điều
khiển truy cập bắt buộc, là “no read up, no write 
down”, theo mô hình của Bell và LaPadula. 
32
63
MLR
• Một quan hệ đa cấp được mô tả bởi hai thành phần:
• R(A1,C1,…., An,Cn, TC) trong đó:
– Ai là một thuộc tính trong miền Di.
– Ci là một thuộc tính phân loại cho Ai; miền của nó là một tập hợp của
lớp truy cập mà có thể được kết hợp với giá trị của Ai.
– TC là thuộc tính phân loại của bộ. (TC=TUPLE-CLASS), là lớp truy
cập lớn nhất trong các ci.
• Thuộc tính phân loại không chấp nhận giá trị rỗng.
HighHigh150KLowDept1LowS
HighHigh200KHighDept2HighB
LowLow100KLowDept1LowA
TCCDept#SalaryCDept#Dept#CNameName
64
MLR
– Thể hiện quan hệ tại lớp c chứa tất cả dữ liệu mà chủ thể tại lớp c thấy được. Do đó, nó chứa tất
cả dữ liệu mà các lớp truy cập ≤ c.
– Tất cả các phần tử với lớp truy cập cao hơn c, hoặc không thể so sánh được thì được che giấu bởi
giá trị rỗng.
LowLownullLowDept1LowSam
LowLow100KLowDept1LowBob
TCCDept#SalaryCDept#Dept#CNameName
HighHigh150KLowDept1LowSam
HighHigh200KHighDept2HighAnn
LowLow100KLowDept1LowBob
TCCDept#SalaryCDept#Dept#CNameName
High instance
Low instance
33
65
MLR
• Các điều kiện bắt buộc:
– Quan hệ đa cấp phải thỏa mãn các điều kiện sau:
• Với mỗi bộ trong một quan hệ đa cấp, các thuộc tính của khóa chính
phải có cùng lớp truy cập.
• Với mỗi bộ trong một quan hệ đa cấp, lớp truy cập kết hợp với một
thuộc tính không phải là khóa phải lớn hơn hoặc bằng lớp truy cập
của khóa chính.
– Các khóa và đa thể hiện:
• Trong mô hình quan hệ chuẩn, mỗi bộ được xác định duy nhất bởi
khóa của nó.
• Khi kết hợp với lớp truy cập, có thể có đồng thời các bộ với giá trị
như nhau tại các thuộc tính khóa nhưng với sự phân loại khác nhau, 
hiện tượng này được gọi là đa thể hiện. 
66
MLR
– Đa thể hiện:
• Đa thể hiện xảy ra theo hai trạng thái sau:
– Đa thể hiện vô hình: Khi một người sử dụng ở mức thấp chèn dữ
liệu vào một field mà đã chứa dữ liệu tại mức cao hơn hay mức
không thể so sánh được.
– Đa thể hiện hữu hình: Khi một người sử dụng ở mức cao chèn
dữ liệu vào một field mà đã chứa dữ liệu tại mức thấp hơn.
LowLow100KLowDept1LowB
HighHigh150KLowDept1LowS
HighHigh200KHighDept2HighB
LowLow100KLowDept1LowA
TCCDept#SalaryCDept#Dept#CNameName
Các bộ khóa là “B” là đa thể hiện
34
67
MLR
• Đa thể hiện vô hình:
– Giả sử một người sử dụng ở mức thấp yêu cầu chèn một bộ với
khóa chính giống nhau tại một bộ tồn tại ở mức cao hơn; DBMS 
có ba lựa chọn:
1. Thông báo cho người dùng rằng một bộ với khóa chính giống nhau đã tồn tại ở
mức bảo mật cao và từ chối chèn vào. 
2. Thay thế bộ tồn tại ở mức cao hơn với bộ mới được chèn ở mức thấp hơn.
3. Chèn bộ mới ở mức thấp hơn mà không thay đổi bộ tồn tại ở mức cao hơn (tức là
thực thể đa thể hiện).
• Chọn 2) cho phép người sử dụng ở mức thấp ghi đè dữ liệu mà anh ta không nhìn
thấy và vì vậy làm mất đi tính toàn vẹn.
• Chọn 3) là một lựa chọn hợp lý; vì tầm quan trọng của nó là giới thiệu một thực
thể đa thể hiện.
68
MLR
• Đa thể hiện hữu hình:
– Giả sử một người sử dụng ở mức cao yêu cầu chèn một bộ
với khóa chính giống nhau tại một bộ tồn tại ở mức thấp
hơn; DBMS có ba lựa chọn:
1. Thông báo cho người sử dụng rằng một bộ với khóa chính tồn tại
giống nhau và từ chối chèn vào. 
2. Thay thế bộ tồn tại ở mức thấp hơn với bộ mới được chèn ở mức
cao hơn.
3. Chèn bộ mới ở mức cao hơn mà không thay đổi bộ tồn tại ở mức
thấp hơn (tức là thực thể đa thể hiện).
• Chọn 3) là một lựa chọn hợp lý; vì tầm quan trọng
của nó là giới thiệu một thực thể đa thể hiện.
35
69
MLR
• Gồm 5 ràng buộc: 
– Entity integrity (tính toàn vẹn thực thể)
– Polyintantiation integrity (tính toàn vẹn đa thể hiện), 
– Data-borrow integrity (tính toàn vẹn dữ liệu-mượn),
– Foreign key integrity (tính toàn vẹn khóa ngoại)
– Referential integrity (tính toàn vẹn quan hệ) 
• Và 5 câu lệnh (insert, delete, select, update, 
UPLEVEL) thao tác trên quan hệ đa cấp. 
• Tham khảo: Ravi Sandhu, Fang Chen, The multilevel Relational (MLR) data Model, ACM, 1998.
70
• Hết chương 3.

File đính kèm:

  • pdfChuong_3_Khoi_phuc_va_an_toan_du_lieu_phan_2_update.pdf
Tài liệu liên quan