RBAC ràng buộc

Một phần của tài liệu Nghiên cứu phương pháp điều khiển truy cập dựa vai trò trong việc đảm bảo an toàn cho các ứng dụng dựa thành phần (Trang 26)

RBAC ràng buộc (RBAC2) thêm các quan hệ phân chia trách nhiệm (Separation of Duty - SoD) vào mô hình RBAC0. SoD được sử dụng để thực thi các chính sách xung đột lợi ích mà các tổ chức có thể sử dụng để ngăn chặn người sử dụng vượt quá một mức độ hợp lý cho các quyền của họ.

Giống như một yếu tố an ninh cơ bản, SoD đã được công nhận một cách rộng rãi cho các ứng dụng trong kinh doanh, các ngành công nghiệp và chính phủ. Mục đích của nó là để đảm bảo rằng các sai sót và gian lận bên trong một tổ chức chỉ là kết quả của việc thông đồng giữa các cá nhân. Để giảm thiểu khả năng thông đồng, các cá nhân thuộc các nhóm kỹ năng khác nhau hoặc lợi ích khác nhau được phân công nhiệm vụ cần thiết và riêng biệt trong việc thực hiện các chức năng của một doanh nghiệp. Động lực ở đây chính là để đảm bảo rằng các sai sót và gian lận không xảy ra và cũng không có việc thông đồng của nhiều người sử dụng. Mô hình RBAC2 cho phép cả SoD tĩnh (Static Separation of Duty Relations - SSD) và SoD động (Dynamic Separation of Duty Relations - DSD).

Chúng ta biết rằng trong một hệ thống RBAC, một người sử dụng có thể ở trong một hoặc nhiều vai trò khác nhau. Như vậy, một câu hỏi đặt ra là liệu có sự xung đột về lợi ích của người sử dụng không trong trường hợp họ ở trong hai vai trò khác nhau mà hai vai trò này lại mâu thuẫn với nhau? Câu trả lời là điều này hoàn toàn có thể xảy ra. Giả sử, trong một ngân hàng, để thực hiện một giao dịch rút tiền từ tài khoản khách hàng. Hành động này cần hai vai trò cùng thực hiện, vai trò giao dịch viên thực hiện giao dịch và kiểm soát viên thực hiện phê duyệt giao dịch. Khi đó giao dịch rút tiền mới có thể hoàn tất. Rõ ràng, trong ví dụ này, giao dịch viên và giám sát viên là hai vai trò xung đột nhau và trong thực tế không thể có chuyện một người vừa là giao dịch viên vừa là kiểm soát viên.

SSD được đưa ra để giải quyết các vấn đề xung đột lợi ích như đã nói ở trên. Mô hình tổng quát các SoD tĩnh được minh họa trong hình 2.4.

Hình 2.4: Mô hình SSD

SSD ⊆ (2ROLES × N) là một tập hợp của cặp (rs, n) trong SoD tĩnh, trong đó

mỗi rs là một tập vai trò, t là một tập con của rs, và n là một số tự nhiên ≥ 2, với thuộc tính là không có người dùng nào được gán tới n hoặc nhiều hơn các vai trò từ tập hợp rs trong mỗi cặp (rs, n):

(rs, n) SSD, t rs : |t | ≥ n

t

rassigned_users(r) = Ø

Như vậy, các chính sách SSD ngăn ngừa các xung đột bằng cách đặt các ràng buộc lên các hoạt động quản lý mà qua đó giới hạn việc kết hợp các quyền của người dùng.

SoD động cũng giống SoD tĩnh ở chỗ cả hai đều được sử dụng để giới hạn các quyền có thể được cung cấp đến người dùng. Tuy nhiên, DSD khác với các quan hệ SSD ở ngữ cảnh mà trong đó những ràng buộc đó được áp đặt. SSD định nghĩa và đặt các ràng buộc dựa vào tổng số quyền của người sử dụng, còn DSD lại đặt các ràng buộc lên các vai trò có thể được kích hoạt trong một phiên làm việc của người sử dụng. DSD cho phép một người dùng được xác thực cho hai hoặc nhiều vai trò mà không tạo ra xung đột lợi ích giữa các vai trò khi chúng hoạt động độc lập. Điều này có nghĩa rằng nếu một vai trò thuộc một quan hệ DSD được kích hoạt trong phiên làm việc của người sử dụng thì các vai trò có liên quan khác không thể được kích hoạt trong cùng một phiên làm việc đó. Mô hình tổng quát của các quan hệ DSD được minh họa như trong hình 2.5.

Hình 2.5: Mô hình DSD DSD (2ROLES

× N) là tập của cặp (rs, n) trong DSD, trong đó mỗi rs

một tập các vai trò và n là một số tự nhiên ≥ 2, với thuộc tính là không có chủ thể nào có thể kích hoạt n hay nhiều vai trò từ tập rs trong mỗi dsd Î DSD:

rs 2ROLES

, n N, (rs, n) DSD n ≥ 2 |rs| ≥ n, và

s SESSIONS, rs 2ROLES

, role_subset 2ROLES

, n N, (rs, n)

DSD, role_subset rs, role_subset session_roles(s) |role_subset| < n

Một phần của tài liệu Nghiên cứu phương pháp điều khiển truy cập dựa vai trò trong việc đảm bảo an toàn cho các ứng dụng dựa thành phần (Trang 26)