Mối liên kết giữa một tiến trình và một miền bảo vệ có thể tĩnh hay động:
Liên kết tĩnh: Trong suốt thời gian sống của tiến trình, tiến trình chỉ hoạt động trong một miền bảo vệ. Trong trƣờng hợp tiến trình trải qua các giai đoạn xử lý khác nhau, ở mỗi giai đoạn tiến trình có thể thao tác trên những tập tài nguyên khác nhau bằng các thao tác khác nhau. Tuy nhiên, nếu sử dụng liên kết tĩnh, rõ ràng là ngay từ đầu miền bảo vệ đã phải đặc tả tất cả các quyền truy xuất qua các giai đoạn cho tiến trình, điều này có thể khiến cho tiến trình có dƣ quyền trong một giai đoạn nào đó và
vi phạm nguyên lý need-to-know. Để có thể tôn trọng nguyên lý này, khi đó cần phải có khả năng cập nhật nội dung miền bảo vệ để có thể phản ánh các quyền tối thiểu của tiến trình trong miền bảo vệ tại một thời điểm.
Liên kết động: Cơ chế này cho phép tiến trình chuyển từ miền bảo vệ này sang miền bảo vệ khác trong suốt thời gian sống của nó. Để tiếp tục tuân theo nguyên lý
need-to-know, thay vì sửa đổi nội dung của miền bảo vệ, có thể tạo ra các miền bảo vệ mới với nội dung thay đổi qua từng giai đoạn xử lý của tiến trình và chuyển tiến trình sang hoạt động trong miền bảo vệ phù hợp theo từng thời điểm.
Một miền bảo vệ có thể đƣợc xây dựng cho:
Một ngƣời sử dụng: Trong trƣờng hợp này, tập các đối tƣợng đƣợc phép truy xuất phụ thuộc vào định danh của ngƣời sử dụng, miền bảo vệ đƣợc chuyển khi thay đổi ngƣời sử dụng.
Một tiến trình: Trong trƣờng hợp này, tập các đối tƣợng đƣợc phép truy xuất phụ thuộc vào định danh của tiến trình, miền bảo vệ đƣợc chuyển khi quyền điều khiển đƣợc chuyển sang tiến trình khác.
Một thủ tục: Trong trƣờng hợp này, tập các đối tƣợng đƣợc phép truy xuất là các biến cục bộ đƣợc định nghĩa bên trong thủ tục, miền bảo vệ đƣợc chuyển khi thủ tục đƣợc gọi.
1.6.5. Cài đặt ma trận quyền truy xuất 1.6.5.1. Bảng toàn cục 1.6.5.1. Bảng toàn cục
Cách đơn giản nhất để cài đặt ma trận truy xuất là sử dụng một bảng bao gồm các bộ ba thứ tự < miền bảo vệ, đối tƣợng, các quyền truy xuất >. Mỗi khi thực hiện thao tác M trên đối tƣợng Oj trong miền bảo vệ Di, cần tìm trong bảng toàn cục một bộ ba < Di, Oj, Rk > mà M ∈ Rk. Nếu tìm thấy, thao tác M đƣợc phép thi hành, nếu không, xảy ra lỗi truy xuất.
Bảng 1.1 Bảng toàn cục
Object
Domain
F1 F2 F3 Laser D1 D2 D3 D4
D1 Real Real Switch
D2 Print Switch Switch
D3 Real
D4 Real
Write
Real
1.6.5.2. Danh sách quyền truy xuất (Access control list - ACL)
Có thể cài đặt mỗi cột trong ma trận quyền truy xuất nhƣ một danh sách quyền truy xuất đối với một đối tƣợng. Mỗi đối tƣợng trong hệ thống sẽ có một danh sách bao gồm các phần tử là các bộ hai thứ tự <miền bảo vệ, các quyền truy xuất>, danh sách này sẽ xác định các quyền truy xuất đƣợc qui định trong từng miền bảo vệ có thể tác động trên đối tƣợng. Mỗi khi thực hiện thao tác M trên đối tƣợng Oj trong miền bảo vệ Di, cần tìm trong danh sách quyền truy xuất của đối tƣợng Oj một bộ hai <
Di,Rk > mà M ∈ Rk. Nếu tìm thấy, thao tác M đƣợc phép thi hành, nếu không xảy ra lỗi truy xuất.
Ví dụ: Một miền bảo vệ trong hệ thống UNIX đƣợc xác định tƣơng ứng với một ngƣời sử dụng (uid) trong một nhóm (gid) nào đó. Giả sử có 4 ngƣời dùng: A,B,C,D thuộc các nhóm tƣơng ứng là system, staff, student, student. Khi đó các tập tin trong hệ thống có thể có các ACL nhƣ sau:
File0: (A,* ,RWX) File1: (A,system,RWX)
File2: (A,* ,RW-),(B,staff,R--),(D,* ,RW-) File3: (* ,student,R--)
File4: (C,* ,---),(* ,student,R--)
Thực tế, hệ thống tập tin trong UNIX đƣợc bảo vệ bằng cách mỗi tập tin đƣợc gán tƣơng ứng 9 bit bảo vệ, lần lƣợt từng 3 bit sẽ mô tả quyền truy xuất R(đọc), W(ghi) hay X(xử lý) của các tiến trình trên tập tin này theo thứ tự: tiến trình sở hữu các tiến trình cùng nhóm với tiến trình sở hữu, các tiến trình khác. Đây là một dạng ACL nhƣng đƣợc nén thành 9 bit.
1.6.5.3. Danh sách tiềm năng của miền bảo vệ (Capability list - C_List)
Mỗi dòng trong ma trận quyền truy xuất tƣơng ứng với một miền bảo vệ sẽ đƣợc tổ chức thành một danh sách tiềm năng (capabilities list):
Một danh sách tiềm năng của một miền bảo vệ là một danh sách các đối tƣợng và các thao tác đƣợc quyền thực hiện trên đối tƣợng khi tiến trình hoạt động trong miền bảo vệ này.
Một phần tử của C-List đƣợc gọi là một tiềm năng (capability) là một hình thức biểu diễn đƣợc định nghĩa một cách có cấu trúc cho một đối tƣợng trong hệ thống và các quyền truy xuất hợp lệ trên đối tƣợng này.
Kiểu đối tƣợng Quyền truy
xuất
Con trỏ đến đối tƣợng
Ví dụ: