Ở mức tổng quát mô hình A AC, nhƣ minh họa trong Hình 2.3., cơ chế kiểm soát truy cập sẽ xác định hành động nào của chủ thể có thể thực hiện đối với đối tượng gồm 03 bước [7].
ình 2.3. ịch bản cơ bản củ mô hình C.
ƣớc 1: Chủ thể yêu cầu truy cập vào đối tƣợng.
ƣớc 2: Cơ chế kiểm soát truy cập sẽ đánh giá 4 thành phần. Thứ nhất là các quy tắc – Rules, là những ràng buộc được quy định trước đó. Thứ hai là các thuộc tính của chủ thể – Subject Attributes, thể hiện những yếu tố liên quan đến chủ thể yêu cầu truy cập. Thứ ba là các thuộc tính đối tƣợng – Object Attributes, thể hiện những yếu tố liên quan đến đối tƣợng đƣợc truy cập tới. Cuối cùng là điều kiện môi trường, là các yếu tố liên quan tới thông số hệ thống. Từ đó sẽ đưa ra quyết định.
ƣớc 3: Chủ thể sẽ đƣợc truy cập đối tƣợng nếu nhƣ đƣợc xác thực đủ điều kiện.
Định nghĩa 1. (Mô hình A AC) Một mô hình A AC là một bộ gồm các thành phần {S, R, E, A S , A R , A E , P}:
S: tập các chủ thể (subjects); S {s 1 , s 2 , …, s n } R: tập các tài nguyên (resources); R = {r 1 , r 2 , …, r m }
E: tập các yếu tố môi trường (environments); S = {e 1 , e 2 , …, e k }
A S , A R , A E : lần lƣợt là tập các thuộc tính của các chủ thể, các tài nguyên và của các yếu tố môi trường.
A S : tập thuộc tính nhƣ user-name, roles, certificate (chứng chỉ) A R : tập thuộc tính nhƣ workflow-name, tasks, roles
A E : tập thuộc tính nhƣ current-date, current-time, concurrent-user, max- thread
P: tập các quy tắc biểu diễn cho các chính sách (policies) của hệ thống.
Trong mô hình A AC, mỗi quy tắc (rule) đƣợc xác định một điều kiện nếu thỏa mãn thì một chủ thể sẽ đƣợc truy cập vào một tài nguyên (đối tƣợng) trong một môi trường (hệ thống) cụ thể. Điều đó đồng nghĩa chủ thể (người sử dụng) chỉ có thể truy cập vào tài nguyên trong điều kiện môi trường nếu nó thỏa mãn quy tắc. iểu thức biểu diễn quy tắc là:
r: granted (s, r, e) A 1 , A 2 , …, A n (n ≥ 0)
Trong đó: s, r, e lần lượt tương ứng cho một chủ thể, một tài nguyên và một yếu tố môi trường; A 1 , A 2 , …, A n là các toán hạng logic.
Nếu giá trị vế phải của biểu thức trên là đúng (TRUE) thì chủ thể s đƣợc gán quyền truy cập tài nguyên r trong ngữ cảnh e. Trong hàm trên có quy tắc, giá trị của các tham số s, r, e có thể NULL (ký hiệu là “_”) với ý nghĩa là với mọi giá trị. Ví dụ:
granted (s, r, _): chủ thể s có thể truy cập tài nguyên r trong mọi ngữ cảnh granted (_, r, _): mọi chủ thể có thể truy cập tài nguyên r trong mọi ngữ cảnh.
Từ các yêu cầu của mô hình A AC, ta đƣa ra thiết kế chi tiết cho các module của mô hình, đƣợc minh họa nhƣ Hình 2.4.
ình 2.4. Thiết kế chi tiết mô hình.
Thành phần trong thiết kế này là “Security component”, theo tiêu chuẩn kiến
Policy set (P)
PDP/
Authorization Engine
PEP Activiti Engine Security component
PIP
Data 5
1
2 3
4
PEP (Policy Enforcement Point): module thực hiện các điều khiển truy cập gồm một số bước. Đầu tiên, (1) nó được gọi từ thân hàm Activiti Engine, sau đó nó chuyển sang cho module PDP (2).
PDP (Policy Decision Point): module đánh giá dựa các chính sách an ninh (P) sau khi tiếp nhận yêu cầu từ PEP. Sau khi có quyết định (từ chối, chấp nhận hay cấp quyền nào đó), PDP trả về cho PEP (3).
PIP (Policy Information Point): module này là một nguồn giá trị cho các thuộc tính, nó là một tập các hàm của hệ thống.
Tóm lại, các bước trong mô hình được diễn đạt như sau:
(1) Từ một tiến trình trong Activiti Engine sẽ gọi tới thành phần an ninh, qua PEP
(2) PEP tiếp nhận thông tin và lấy các thông tin cần thiết khác
(3) PDP đƣa ra quyết định trả lời cho PEP, quyết định này là chấp nhận gán quyền hoặc không. Nếu chấp nhận, thông tin sẽ được lưu trữ trong Data (4).
Nếu từ chối sẽ trả lại trạng thái không chấp nhận.
(4) Lưu thông tin trong trường hợp chấp nhận gán quyền truy cập.
(5) Trả lại thông tin từ chối, kết thúc xử lý.