Mô hình điều khiển truy nhập mở rộng

Một phần của tài liệu Khung Cộng Tác Đa Dụng Trong Môi Trường Tính Toán Lưới (Trang 120)

2. Tầng Điều Phối Tài nguyên (Resource Coordination Layer): nhiệm vụ chính của

4.3.2.2 Mô hình điều khiển truy nhập mở rộng

Phần này sẽ giới thiệu về mô hình mở rộng được đề xuất trong luận án có tên gọi:

“compound attributed based access control model” (CABAC).

Trong phần sau sẽ đưa ra định nghĩa cho các thành phần của mô hình. Sau đó, vấn đề áp dụng mô hình vào việc biểu diễn các quy tắc và chính sách phân quyền (authorization rules and policies).

Định nghĩa mô hình CABAC:

Một mô hình CABAC M là một bộ gồm các thành phần {S, R, E, AS, AR, AE, F, P}, ký hiệu M = {S, R, E, AS, AR, AE, F, P }, với các ý nghĩa như sau:

- S, R, E: tương ứng là tập các chủ thể (subjects), tập các tài nguyên (resources) và tập các yếu tố môi trường (environments).

S = {s1, s2,..., sn} R = {r1, r2,..., rp} E = {e1, e2,..., eq}

• AS, AR, AE: tương ứng là các tập các thuộc tính của các chủ thể, của các tài nguyên và của các yếu tố môi trường. Mỗi thuộc tính của các thực thể này có thể nhận giá trị nguyên tố (còn gọi là giá trị đơn), hoặc giá trị phức hợp (tức là nó có thể chứa một hay nhiều thuộc tính khác).

• F: là tập các hàm tiện ích được sử dụng để định nghĩa các quy tắc (rules). Tập hàm này hoàn toàn phụ thuộc vào cấu trúc cụ thể của mô hình, ví như số lượng và kiểu dữ liệu của các thuộc tính. Một số hàm tiêu biểu được liệt kê trong Bảng 4-2.

• P: tập các quy tắc truy nhập (rules), biểu diễn cho chính sách (Policy) an ninh của hệ thống. Phần biểu diễn các quy tắc sẽ được trình bày chi tiết hơn ở phần sau.

Biểu diễn các chính sách an ninh

Trong mô hình CABAC được đề xuất bởi luận án, mỗi quy tắc (rule) sẽ xác định một điều kiện mà nếu thỏa mãn thì một chủ thể không thể truy nhập vào một tài nguyên nào đó trong một môi trường cụ thể nào đó. Điều đó cũng có nghĩa là chủ thể chỉ có thể truy nhập vào tài nguyên trong điều kiện môi trường, nếu nó không thỏa mãn quy tắc. Mỗi quy tắc r là một biểu thức có dạng:

r: cannot_access(s, r, m, e) ← B1, B,….., Bm,,

not C1, not C2, …., not Cn; m, n ≥ 0 (4.1)

Trong đó: s, r, m, e tương ứng ký hiệu cho một chủ thể, một tài nguyên, một mode (một tập các thao tác của r) và một yếu tố môi trường; B1, B2,…, Bm, not C1, not C2, …, not Cn là các toán hạng nguyên tố (atoms) và not ký hiệu cho phép phủ định (negation).

Nếu giá trị vế phải của biểu thức trên là đúng (TRUE), thì chủ thể s không thể truy nhập tài nguyên r ở mode m trong ngữ cảnh e. Trong một quy tắc, giá trị của các tham số s, r, m và e có thể NULL (được ký hiệu bằng "_"), với ý nghĩa là quy tắc này áp dụng cho mọi giá trị có thể của tham số NULL đó (xem thêm Ví dụ 4-2).

Ví dụ 4-2: Sau đây là một số biểu thức có giá trị NULL và ý nghĩa của nó:

- cannot_access(s, r, m,_): có nghĩa là s không thể truy nhập r ở mode m trong mọi ngữ cảnh;

- cannot_access(s, r, _, _): có nghĩa là s không thể truy nhập r ở mọi thao tác của r và trong mọi ngữ cảnh.

Bảng 4-8: Các hàm tiện ích được sử dụng trong CABAC

Hàm Ý nghĩa

isAtomic(e, a) Kiểm tra xem thuộc tính a của thực thể e có phải là nguyên tố không.

card(s) Trả về số lượng phần tử (lực lượng) của tập s. Get AttName (e) Trả về giá trị của thuộc tính AttName của thực thể e.

getCurrentTask(r) Nếu r là một workflow, nó trả về nhiệm vụ hiện tại (current task) cần phải làm.

isRun(s, r, t) Nếu r là một workflow, nó kiểm tra xem nhiệm vụ t trong r có phải được thực hiện bởi chủ thể s. Nó trả về TRUE nếu đúng và FALSE nếu trái lại.

Ví dụ 4-3: Ví dụ này minh họa việc sử dụng mô hình được đề xuất trong luận án để biểu diễn một số quy tắc truy nhập cho một tổ chức ảo trong môi trường lưới. Để có thể đăng nhập (login) và truy nhập vào các tài nguyên trong tổ chức này, mỗi người dùng (user) cần phải có ít nhất một certificate (là một tệp xác thực có chữ ký điện tử của một tổ chức cấp chứng chỉ). Quy tắc này và một số quy tắc khác nữa được minh họa trong Bảng 4-3.

Bảng 4-9: Biểu diễn các quy tắc trong Ví dụ 4-3

Quy tắc Biểu thức

Các chủ thể có chứng chỉ (certificate) không hợp lệ thì không thể truy nhập vào bất cứ tài nguyên nào.

r1: cannot_access(s, _, _,_) ← getInValidCertificate(s);

Chỉ các chủ thể thuộc trường ĐHBK Hà Nội (HUST) mới có thể truy nhập vào các luồng công việc với đầy đủ các quyền thao tác của họ.

r2: cannot_access(s, r, _, _) ← getOrganization(s) ≠ 'HUST', type(r) = 'workflow';

Chỉ người dùng Bob có thể truy nhập vào các luồng công việc để thực thi (RUN) chúng.

r3: cannot_access(s, r, {RUN},_) ← getName(s) ≠ 'Bob';

Ví dụ 4-4: Ví dụ này minh họa việc sử dụng mô hình được đề xuất trong luận án trong các hệ thống luồng công việc. Luồng công việc được sử dụng ở đây là tiến trình gửi bài cho hội nghị, được minh họa ở Hình 4-7. Tiến trình này có thể được tóm tắt như sau:

Đầu tiên, ở nhiệm vụ T1, các bài báo được gửi đến sẽ do một nhân viên trong Ban Tổ chức hội nghị tiếp nhận. Nhân viên này sẽ kiểm tra các điều kiện ban đầu của các bài báo (như chủ đề, định dạng,v.v), loại bớt các bài không hợp lệ (nhiệm vụ T2). Sau đó, các bài báo hợp lệ sẽ được gửi đi phản biện (review), mỗi bài sẽ gửi cho hai người phản biện độc lập (nhiệm vụ T3 và T4). Kết quả phản biện sẽ được gửi cho một người thứ ba để đưa ra quyết định cuối cùng: chấp nhận (accept) hay từ chối (reject) bài báo (nhiệm vụ T5).

Hệ thống luồng công việc có thể sử dụng mô hình M = {S, R, E, AS, AR, AE, F, P}, với các thành phần có ý nghĩa như sau:

- S: tập các chủ thể là những người sử dụng của hệ thống luồng công việc và của môi trường lưới.

- R: tập các tài nguyên, ví như các luồng công việc trong hệ thống.

- E: tập các yếu tố môi trường.

- AS: tập các thuộc tính của chủ thể (người dùng), ví như: user-name, certificate(kiểu phức hợp), roles (tập các vai trò gán cho người dùng. Thuộc tính được đưa vào nhằm hỗ trợ khả năng như của mô mình RBAC [7]).

- AR: tập các thuộc tính của luồng công việc, ví như: workflow-name, tasks (tập các nhiệm vụ (kiểu phức hợp)), roles (tập các vai trò mà có thể truy nhập vào workflow). Thuộc tính phức hợp tasks lại bao gồm các thuộc tính sau: task-name, roles (tập các vai trò mà có thể thực thi nhiệm vụ này).

- AE: tập các thuộc tính về môi trường, ví như: current-date, current-time.

- F: tập các hàm tiện ích. Ngoài các hàm tiện ích như ở Bảng 4-2, hệ thống luồng công việc còn cần cung cấp thêm các hàm tiện ích liên quan đến luồng công việc

- P: danh sách các quy tắc truy nhập, được liệt kê ở Bảng 4-4.

Một phần của tài liệu Khung Cộng Tác Đa Dụng Trong Môi Trường Tính Toán Lưới (Trang 120)

Tải bản đầy đủ (DOCX)

(168 trang)
w