CHƯƠNG 2 KIỂM SOÁT TRUY CẬP DỰA TRÊN PHÂN VAI
2.1. Giới thiệu tổng quan, khái niệm kiểm soát truy cập dựa trên phân vai
2.1. Giới thiệu tổng quan, khái niệm kiểm soát truy cập dựa trên phân vai phân vai
Mục đích chính của RBAC là làm thuận tiện cho quá trình quản trị bảo mật và kiểm duyệt. Rất nhiều các hệ thống điều khiển truy cập tốt trong thương mại dành cho các máy tính lớn hiện nay đã cài đặt các vai trò để quản trị bảo mật.
Trong quá khứ và cho đến ngày nay, nhiều ứng dụng đã được xây dựng với RBAC được mã hóa bên trong bản thân ứng dụng đó. Các hệ điều hành và các môi trường hiện tại cũng đã cung cấp một vài sự hỗ trợ RBAC ở mức độ ứng dụng. Tuy nhiên một nhiệm vụ khó khăn đặt ra là làm thế nào để nhận biết các điều kiện ứng dụng thực sự độc lập, thực sự linh hoạt, thực sự đơn giản để cài đặt và sử dụng, để hỗ trợ rộng rãi cho các ứng dụng với một sự tùy chỉnh nhỏ nhất.
Những sự biến đổi phức tạp của RBAC bao gồm khả năng thiết lập mối quan hệ giữa các vai trò, giữa các quyền với các vai trò và giữa những người sử dụng và các vai trò. Lấy ví dụ, hai quyền có thể được thiết lập để triệt tiêu lẫn nhau, do đó cùng là một người sử dụng thì không thể cùng ở trong hai vai trò này được.
Các vai trò cũng có thể đảm nhiệm các quan hệ kế thừa, nhờ vào đó mà một vai trò có thể kế thừa toàn bộ các quyền của một vai trò khác. Các mối quan hệ vai trò - vai trò này có thể được sử dụng để đảm bảo các chính sách bảo mật, các chính sách này bao gồm sự phân biệt giữa các trách nhiệm và sự ủy thác của thẩm quyền. Cho đến nay, các quan hệ này đã được mã hóa bên trong các phần mềm ứng dụng; cùng với RBAC, chúng có thể được chỉ định cho một trong các miền bảo mật.
Với RBAC, có thể định nghĩa lại các quan hệ quyền-vai trò, tạo nên sự đơn giản trong việc gán người sử dụng vào trong các vai trò được định nghĩa lại đó. Chính sách kiểm soát truy cập là hiện thân trong các thành phần khác nhau của RBAC giống như các mối quan hệ vai trò - quyền, người sử dụng - vai trò, vai trò- vai trò. Các thành phần này sẽ quyết định xem một người sử dụng có được phép truy cập đến một khối dữ liệu riêng trong hệ thống hay không. Các thành phần RBAC có thể được cấu hình trực tiếp bởi các chủ nhân của hệ thống hoặc gián tiếp thông qua các vai trò xấp xỉ được ủy thác bởi các chủ nhân của hệ thống. Hơn thế nữa, chính sách kiểm soát truy cập có thể làm tăng thêm vòng đời của hệ thống. Khả năng thay đổi chính sách khi cần thiết của một tổ chức là một lợi thế của RBAC.
Mặc dầu vậy RBAC là một chính sách tự nhiên, nó hỗ trợ chính xác ba nguyên lý bảo mật nổi tiếng: đặc quyền tối thiểu, phân chia trách nhiệm, và trừu tượng hóa dữ liệu. Đặc quyền tối thiểu được hỗ trợ vì RBAC có thể được cấu hình sao cho chỉ có các quyền cho các nhiệm vụ được chỉ đạo bởi các thành viên của vai trò mới được gán vào vai trò đó. Sự phân chia trách nhiệm được hỗ trợ để chắc chắn rằng các vai trò loại bỏ lần nhau có thể được gọi để hoàn thành các nhiệm vụ nhạy cảm, giống như sự cần thiết một tài khoản thư ký và một tài khoản quản lý để tham gia vào việc kiểm tra. Trừu tượng hóa dữ liệu được hỗ trợ bởi tính chất của các quyền trừu tượng giống như
credit (cho vay) và debit (ghi nợ) của một đối tượng account (tài khoản),
đúng hơn là đọc, ghi, và thực thi các quyền đặc trưng được cung cấp bởi hệ điều hành. Tuy nhiên, RBAC không thể ép buộc ứng dụng của các nguyên lý đó phải tuân theo. Một nhân viên bảo mật không thể cấu hình RBAC để nó vi phạm các nguyên lý đó. Ngoài ra mức độ của sự trừu tượng hóa dữ liệu có thể được xác định bởi sự cài đặt chi tiết.
RBAC không phải là giải pháp cho toàn bộ các kiểm soát truy cập được đưa ra. RBAC không cố gắng kiểm soát trực tiếp các quyền như một chuỗi các sự kiện. Các dạng khác của kiểm soát truy cập có thể được đặt ở tầng trên của RBAC cũng chính vì mục đích này.
Một cách tổng quát nhất, RBAC có thể được định nghĩa như sau:
U, R, PRMS và S trình bày theo thứ tự tập hợp Users - những người sử dụng, Roles - các vai trò, Permisstions - các quyền, và Sessions - các phiên.
RH R X R là một phần t rên các vai trò, được gọi là mối quan hệ ưu thế, được viết tắt là , và định nghĩa một thứ tự các vai trò, đó là r1 r2, với (r1, r2) R.
UA U X R là mối quan hệ gán những người sử dụng với các vai trò.
assign_roles(u:U) , là ánh xạ của một người sử dụng lên trên một tập các vai trò mà cô ta/anh ta được gán. Chính xác hơn: assign_roles(u) = {r R | (u, r) UA}.