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òđó
([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:
- Chuong_3_Khoi_phuc_va_an_toan_du_lieu_phan_2_update.pdf