Luận văn: Nghiên cứu Điều khiển Truy Cập sử dụng Mô hình RBAC Mở Rộng

RBAC mở rộng là gì? Nghiên cứu chuyên sâu về điều khiển truy cập dựa trên vai trò (RBAC). Tìm hiểu cách RBAC nâng cao bảo mật hệ thống và quản lý quyền hiệu quả.

Chuyên ngành

Công nghệ thông tin

Người đăng

Ẩn danh

Thể loại

Luận văn thạc sĩ

2013

61
2
0

Phí lưu trữ

30 Point

Mục lục chi tiết

MỤC LỤC

Danh mục hình vẽ

Danh mục bảng

Danh mục ký hiệu, từ viết tắt

MỞ ĐẦU

1. CHƯƠNG 1: ĐIỀU KHIỂN TRUY CẬP THEO VAI TRÒ

1.1. Điều khiển truy cập

1.1. Điều khiển truy cập bắt buộc

1.2. Điều khiển truy cập tuỳ quyền

1.3. Điều khiển truy cập theo vai trò

1.4. Điều khiển truy cập theo luật

1.2. Các mô hình tham chiếu RBAC

1.1. Mô hình RBAC cơ sở

1.2. RBAC phân cấp

1.3. RBAC ràng buộc

1.4. Ưu nhược điểm của RBAC

1.3. Định danh dựa trên tuyên bố (Claims-based identity)

1.1. Kiểm tra vai trò dựa trên khai báo

1.2. Kiểm tra vai trò trong mã nguồn

1.3. RBAC với ứng dụng ASP

1.4. RBAC với ứng dụng ASP

1.5. Các hạn chế của RBAC trong

21. MỞ RỘNG ĐIỀU KHIỂN TRUY CẬP RBAC VỚI LUẬT

2.1. Đặc tả điều khiển truy cập RBAC

2.2. Điều khiển truy cập theo luật

2.3. Mở rộng điều khiển truy cập RBAC với luật

2.4. Khiển khai RBAC mở rộng với luật

2.4.1. Kiến trúc tổng quát

2.4.2. Biểu đồ thành phần

2.4. Biểu diễn và lượng giá luật với cây biểu thức

2.4.1. Bài toán chia sẻ tệp

2.4.2. Phân tích, thiết kế hệ thống

2.4.2.1. Hiện trạng hệ thống
2.4.2.2. Phân tích hoạt động hệ thống
2.4.2.3. Lựa chọn nền tảng, công nghệ
2.4.2.4. Kiến trúc ứng dụng

2.4.6. Biểu đồ trình tự

2.4.7. Điều khiển truy cập trong trong ứng dụng chia sẻ tệp

TÀI LIỆU THAM KHẢO

Tóm tắt

I. RBAC Mở Rộng Tổng Quan Về Điều Khiển Truy Cập Mới

Các hệ thống phần mềm hiện đại đòi hỏi sự an toàn và bảo mật cao, đặc biệt khi có nhiều người dùng với vai trò và đặc quyền khác nhau. Điều khiển truy cập (Access Control) là yếu tố then chốt để đảm bảo mỗi người dùng chỉ có thể thực hiện các tác vụ được phép. Điều khiển truy cập là sự cho phép hay hạn chế sự truy cập của chủ thể (subject/user) với tài nguyên máy tính (resource). Kiểm soát truy cập đề cập đến việc kiểm soát quyền truy cập vào tài nguyên hệ thống sau khi thông tin tài khoản của người dùng đã được xác thực. Với RBAC (Role-Based Access Control), mỗi người dùng được gán một hoặc nhiều vai trò, mỗi vai trò có một tập các quyền truy xuất. Quyền truy cập của người dùng là tổng hợp các quyền của tất cả các vai trò mà họ thuộc về. RBAC là một phương pháp đơn giản, trực quan và hiệu quả, tuy nhiên vẫn tồn tại hạn chế khi có hai người dùng có cùng vai trò nhưng quyền truy xuất khác nhau do thông tin ngữ cảnh khác nhau. Do đó, việc bổ sung thông tin ngữ cảnh là cần thiết để đưa ra quyết định cho phép hoặc từ chối truy cập. Các Framework như EJB hay .Net Framework đều hỗ trợ RBAC, tuy nhiên khi cần điều khiển truy cập theo vai trò kết hợp với các thông tin ngữ cảnh khác của người dùng thì mỗi ứng dụng phải tự xây dựng module điều khiển truy cập, việc này nghĩa là ngoài việc cài đặt nghiệp vụ của ứng dụng, họ còn phải lo phần bảo mật của ứng dụng. Việc tự cài đặt module điều khiển truy cập có thể bị sai sót, dẫn đến các kết quả đáng tiếc. Do vậy, tác giả đã đề xuất phương pháp mở rộng RBAC theo ngữ cảnh bằng phương sử dụng luật và triển khai đề xuất trên . Theo đó, các ứng dụng sẽ không cần phải xây dựng module điều khiển truy cập riêng, mà chỉ cần mô tả tài nguyên cần bảo vệ trong chương trình và định nghĩa các vai trò, các luật trong file điều khiển truy cập.

1.1. Phân Loại Cơ Bản của Điều Khiển Truy Cập

Điều khiển truy cập bắt buộc (Mandatory Access Control - MAC) là khắt khe nhất, với việc điều khiển truy cập được thiết lập bởi quản trị hệ thống. Trong MAC, mỗi đối tượng trong hệ thống được gán một mức nhạy cảm. Điều khiển truy cập tuỳ quyền (Discretionary Access Control - DAC) cho phép người chủ tài nguyên thiết lập quyền truy cập. Trong DAC, mỗi tài nguyên hệ thống có một danh sách truy cập (Access Control List-ACL). Điều khiển truy cập theo vai trò (Role Based Access Control – RBAC) các quyết định truy cập dựa trên vai trò (role) mà người dùng thuộc về. Điều khiển truy cập theo luật (Rule Based Access Control), quyết định cho phép hay từ chối truy cập được xác định bởi một tập các luật (rules) được định nghĩa bởi quản trị hệ thống.

1.2. Ưu Điểm Nhược Điểm Của RBAC Truyền Thống

RBAC phù hợp với hầu hết các ứng dụng trong thực tế do tính đơn giản và hiệu quả của mô hình. Nó đơn giản hóa việc quản trị quyền truy cập và hỗ trợ phân cấp vai trò. Tuy nhiên, RBAC không phù hợp với các ứng dụng có tài nguyên cần bảo vệ chưa biết trước hoặc khi quy tắc điều khiển truy cập phức tạp, phụ thuộc vào thông tin ngữ cảnh. Hơn nữa, RBAC khó xử lý khi một người dùng có thể mang nhiều vai trò mâu thuẫn nhau. SoD (Separation of Duty) được sử dụng để tránh xung đột về quyền hạn khi một người thuộc về các vai trò khác nhau. Mô hình RBAC ràng buộc được chia thành hai loại: Ràng buộc tĩnh (Static Separation of Duty Relations - SSD) vàràng buộc động (Dynamic Separation of Duty Relations - DSD).

II. Các Mô Hình RBAC Mở Rộng Phổ Biến Nhất Hiện Nay

Các mô hình tham chiếu RBAC bao gồm các phần tử cơ bản: người dùng (USERS), vai trò (ROLES), các đối tượng (OBS), các thao tác (OPS), các quyền hạn (PRMS) và mỗi quan hệ giữa chúng. Có bốn mô hình tham chiếu RBAC: RBAC cơ sở (Core RBAC), RBAC phân cấp (Hierarchical RBAC), RBAC ràng buộc tĩnh (Static Separation of Duty Relations) và RBAC ràng buộc động (Dynamic Separation of Duty Relations). RBAC cơ sở bao gồm các phần tử cơ bản: người dùng (USERS), vai trò (ROLES), các đối tượng (OBS), các thao tác (OPS), các quyền hạn (PRMS) và mỗi quan hệ giữa chúng. Ngoài ra, mô hình RBAC cơ sở còn bao gồm một tập các phiên làm việc (SESSIONS), mỗi phiên làm việc là một ánh xạ giữa một người dùng và một tập con các vai trò được phân công cho người dùng[4]. RBAC phân cấp thêm khái niệm về phân cấp vai trò vào RBAC cơ sở. RBAC ràng buộc thêm các quan hệ phân chia trách nhiệm (Separation of Duty - SoD) vào mô hình RBAC cơ sở. Một trong những cách tiếp cận là sử dụng Claims-based identity cung cấp một cách tiếp cận thống nhất cho các ứng dụng khi cần thông tin nhận diện về người dùng trong tổ chức của họ hoặc trong tổ chức khác hoặc trên môi trường Internet.

2.1. Claims based Identity Định Danh Dựa Trên Tuyên Bố

Claims-based identity là một cách phổ biến cho các ứng dụng khi cần thông tin nhận diện về người dùng trong tổ chức của họ hoặc trong tổ chức khác hoặc trên môi trường Internet.Nó cung cấp một cách tiếp cận thống nhất cho các ứng dụng. Một Claim là một phát biểu (Statement) về một thực thể (con người, tổ chức) được thực hiện bởi chính nó hoặc một người khác. Chủ thể cung cấp claim được gọi là provider hay issuer. Identity là một tập thông tin về một người dùng hoặc một thực thể được xác thực. Trong Claim based identity, mỗi Identity là một tập các claim của người dùng. Principallà một đối tượng đặc biệt nó gắn với ngữ cảnh bảo mật (security context) của người dùng, trong khi Identity là thông tin định danh người dùng. Mỗi thread có chứa một đối tượng Principal (Thread.CurrentPrincipal), thread này sẽ thực thi trong ngữ cảnh bảo mật của đối tượng Principal.

2.2. .Net Framework Hỗ Trợ RBAC Như Thế Nào

.Net Framework hỗ trợ RBAC thông qua hai hình thức: khai báo (Declarative) và lập trình (Imperative). PrincipalPermissionAttribute cho phép chỉ định người dùng nào có vai trò nào đó mới có quyền thực thi phương thức. Kiểm tra vai trò trong mã nguồn thông qua IPrincipal, đảm bảo chỉ những role xác định được quyền truy cập tới một tài nguyên nào đó. ASP.Net Framework cho phép điều khiển truy cập theo URL thông qua việc thiết lập trong tệpweb.config. ASP.NET MVC bổ sung lớp AuthorizeAttribute cho phép điều khiển truy cập cho các action của controller. Tuy nhiên, .Net Framework chỉ cho phép điều khiển truy cập RBAC bằng cách chèn mã điều khiển truy cập vào trong chương trình.

III. Phương Pháp Mở Rộng RBAC Với Luật Ngữ Cảnh Chi Tiết

RBAC có tính phổ dụng cao, điều khiển truy cập theo vai trò. Tuy nhiên, nó cũng có một vài hạn chế: Không phù hợp với các ứng dụng có tài nguyên cần bảo vệ là chưa biết trước. Không phù hợp khi quy tắc điều khiển truy cập phức tạp, việc điều khiển truy cập không chỉ dựa vào thông tin về vai trò, mà còn phụ thuộc vào các thông tin ngữ cảnh khác. - Không phù hợp với các ứng dụng mà một người dùng có thể mang nhiều vai trò mâu thuẫn nhau. Điều này phần nào được giải quyết với mô hình RBAC ràng buộc tĩnh hay động. Tuy nhiên, khi các quy tắc đảm bảo tính loại trừ là phức tạp và chưa biết trước thì RBAC ràng buộc không đáp ứng được hoặc khó cài đặt. Vì thế cần tách biệt hoàn toàn logic điều khiển truy cập ra khỏi code (điều khiển truy cập nên được xác định trong tệp xml). Việc này cho phép code gọn hơn, linh hoạt hơn khi thay đổi quyền truy cập mà không cần sửa code và biên dịch lại chương trình.Hơn nữa việc điều khiển truy cập cần hướng tới đối tượng được bảo vệ hơn là phương thức.

3.1. Đặc Tả Điều Khiển Truy Cập RBAC Bằng XML

Đặc tả này độc lập với code, lưu trữ trong file hoặc CSDL. Nó định nghĩa các tài nguyên cần bảo vệ, các thao tác trên tài nguyên và vai trò được phép thực hiện thao tác. Ưu điểm là chương trình không có các chỉ thị để xác định vai trò nào được phép, chỉ có chỉ thị xác định thao tác và tài nguyên, linh hoạt hơn khi muốn thay đổi quyền truy cập và hướng đến tài nguyên được bảo vệ. Ta định nghĩa các tài nguyên cần bảo vệ, các thao tác trên tài nguyên và vai trò nào được phép thực hiện thao trên tài nguyên. Ưu điểm của cách tiếp cận này là chương trình sẽ không có các chỉ thị để xác định xem vai trò nào được phép thực thi mà chỉ có chỉ thị để xác định đây là thao tác gì, trên tài nguyên nào, vì thế nó linh hoạt hơn khi ta muốn thay đổi quyền truy cập.Hơn nữa, nó hướng đến tài nguyên được bảo vệ hơn là phương thức.

3.2. Điều Khiển Truy Cập Theo Luật Kết Hợp Thông Tin

Điều khiển truy cập theo luật cho phép quyết định chấp nhận hay từ chối truy cập bằng cách kết hợp các thông tin của người. Mỗi luật là một phát biểu dưới dạng nếu - thì. Net Framework không hỗ trợ điều khiển truy cập theo luật. Đặc tả điều khiển truy cập theo luật định nghĩa các luật. Mỗi luật có hai thuộc tính là Id và Description. Thuộc tín Id là duy nhất. Conditions Định nghĩa biểu thức điều khiện của luật. Thuộc tính Operator của Condition cho biết phép toán được thực hiện. Coditions được biểu diễn dạng cây biểu thức.

IV. Triển Khai RBAC Mở Rộng Giải Pháp Toàn Diện Thực Tiễn

Để triển khai RBAC mở rộng với luật và ngữ cảnh, cần một giải pháp không phụ thuộc vào loại ứng dụng cụ thể. Việc triển khai này sử dụng WIF (Windows Identity Foundation) trên nền .Net Framework, với ba thành phần chính: Authentication, ClaimMembership, và Authorization. ExtensibilityRBACInfrastructure bao gồm 3 thành phần: Authentication: Thành phần này cung cấp dịch vụ xác thực người dùng, nó được sử dụng cho các ứng dụng web. Tuy nhiên, ứng dụng web có thể sử dụng một module xác thựckhác.ClaimMembership: Thành phần này cung cấp dịch vụ quản lý thông tin người dùng, nó được sử dụng bởi module Authentication. Tuy nhiên, ứng dụng có thể sử dụng trình quản lý thông tin người dùng khác. Authorization: Điều khiển truy cập RBAC mở rộng với luật. Đây là thành phần chính của ExtensibilityRBAC. Nó được sử dụng trong bất cứ ứng dụng nào (kể cả web lẫn desktop) muốn điều khiển truy cập RBAC mở rộng.

4.1. Kiến Trúc Tổng Quát Biểu Đồ Thành Phần

Kiến trúc này đảm bảo rằng ứng dụng có thể sử dụng các dịch vụ xác thực khác (như Google, Facebook) và vẫn tích hợp điều khiển truy cập dựa trên vai trò mở rộng. Thành phần Authorization độc lập với Authentication và ClaimMembership. Ứng dụng có thể không sử dụng cả hai thành phần này.

4.2. Biểu Diễn Lượng Giá Luật Với Cây Biểu Thức

.Net Framework cho phép ta biểu diễn và lượng giá một Expression tree khá dễ dàng. Vì thế, ta chỉ cần phân tích file cấu hình để chuyển thành cây biểu thức tương ứng. Việc xây dựng cây biểu thức được thực hiện theo thuật toán đệ quy. Cây biểu thức cho phép biểu diễn và lượng giá luật một cách hiệu quả và dễ dàng.

V. Ứng Dụng RBAC Mở Rộng Vào Hệ Thống Chia Sẻ Tệp Ngân Hàng

Để chứng minh tính khả thi, áp dụng RBAC mở rộng vào một hệ thống chia sẻ tệp số liệu trong ngân hàng, nơi yêu cầu bảo mật cao và phân quyền chi tiết. Các nhân viên của chi nhánh này không thể xem báo cáo của chi nhánh khác, mỗi chi nhánh có nhiều tệp số liệu liên quan tới các loại báo cáo tài chính khác nhau. Ví dụ, các tệp số liệu liên quan đến tài khoản tiền gửi, sổ tiết kiệm thì chỉ có giao dịch viên mới có quyền xem. Tuy nhiên, người quản lý (manager) của mỗi chi nhánh được quyền xem tất cả các tệp số liệu của chi nhánh mình để làm báo cáo tổng hợp. Quản trị viên hệ thống là người phân bổ các tệp số liệu vào các thư mục tương ứng của mỗi chi nhánh. Chỉ có quản trị viên hệ thống mới có quyền upload tệp số liệu, chỉnh sửa thư mục, quản lý tài khoản người dùng. Ngoài chức năng chính là chia sẻ tệp, ứng dụng chia sẻ file còn bao gồm chức năng quản lý người dùng, chức năng này cho phép quản trị viên có thể thêm mới, cập nhật và xóa người dùng.

5.1. Phân Tích Hệ Thống Chia Sẻ Tệp Yêu Cầu An Ninh

Hệ thống chia sẻ tệp tin hiện tại sử dụng CSDL để lưu trữ tổ chức thư mục, tệp tin và thông tin người dùng (bao gồm cả thông tin về vai trò, chi nhánh làm việc). Việc đảm bảo an ninh trong ứng dụng được cài đặt bằng chương trình, hay nói cách khác người ta phải chèn đoạn chương trình kiểm tra quyền truy cập tài nguyên vào mỗi phương thức.

5.2. Biểu Đồ Use Case Lựa Chọn Nền Tảng Công Nghệ

Các tác nhân của hệ thống bao gồm Quản trị (Admin), Quản lý chi nhánh (Manager), Giao dịch viên (Teller), và Tín dụng viên (AO), tương ứng với bốn vai trò khác nhau. Sử dụng nền web, triển khai theo mô hình MVC trên ASP.NET MVC Framework, database, hệ thống file trên đĩa cứng và Authentication, Authorization module.Sử dụng Entity Framework để truy cập database

VI. Kết Luận Triển Vọng Hướng Nghiên Cứu RBAC Mở Rộng

RBAC mở rộng, bằng cách kết hợp các thông tin ngữ cảnh và luật, cung cấp một giải pháp linh hoạt và mạnh mẽ hơn cho điều khiển truy cập trong các ứng dụng hiện đại. Các hệ thống có thể được thiết kế với khả năng mở rộng cao, bảo mật tốt và dễ dàng quản lý quyền truy cập. Do đó, một số hướng nghiên cứu tiềm năng là phát triển các công cụ tự động hóa việc tạo ra và quản lý các luật điều khiển truy cập, tích hợp các cơ chế học máy để dự đoán và điều chỉnh quyền truy cập dựa trên hành vi người dùng và tiếp tục khám phá các mô hình RBAC mở rộng phù hợp với các loại ứng dụng khác nhau.

6.1. Tóm Tắt Các Ưu Điểm Của RBAC Mở Rộng

Khả năng linh hoạt cao, bảo mật tốt hơn và khả năng quản lý quyền truy cập một cách hiệu quả. RBAC mở rộng là một bước tiến quan trọng trong lĩnh vực điều khiển truy cập.

6.2. Các Hướng Nghiên Cứu Tiếp Theo Phát Triển

Phát triển các công cụ tự động hóa việc tạo ra và quản lý các luật điều khiển truy cập. Tích hợp các cơ chế học máy để dự đoán và điều chỉnh quyền truy cập dựa trên hành vi người dùng. Tiếp tục khám phá các mô hình RBAC mở rộng phù hợp với các loại ứng dụng khác nhau.

24/09/2025

Trích đoạn nội dung tài liệu

Chương 1. ĐIỀU KHIỂN TRUY CẬP THEO VAI TRÒ 1.1 Điều khiển truy cập Điều khiển truy cập là một phương thức dùng để hạn chế hoặc cho phép người dùng thực hiện thao tác nào đó trên tài nguyên[4]. Các tài nguyên ở đây được hiểu theo nghĩa rộng, nó có thể là các mục dữ liệu trong CSDL, tệp, máy in v. Các thao tác có thể là đọc, ghi, cập nhật v.

Điều khiển quyền truy cập bao gồm các bước cơ bản:  Định danh người dùng (Identification): bước này xác định người dùng hệ thống là ai thông qua việc đưa ra thông tin định danh như username, số chứng minh thư nhân dân…  Xác thực người dùng (Authentication): bước này xác định xem người dùng có thực sự có định danh như bước trước hay không thông qua việc đưa ra thông tin xác thực như mật khẩu, vân tay mà chỉ người dùng đó biết hoặc sở hữu.  Kiểm soát quyền truy cập (Authorization): bước này xác định xem người dùng được làm gì trong hệ thống. Có nhiều phương pháp điều khiển truy cập khác nhau, song chúng được chia thành hai loại cơ bản: điều khiển truy cập bắt buộc (Mandatory Access Control - MAC) vàđiều khiển truy cập tuỳ quyền (Discretionary Access Control - DAC)[4].1 Điều khiển truy cập bắt buộc Điều khiển truy cập bắt buộc là khắt khe nhất trong tất cả các cấp kiểm soát[6]. Ban đầu MAC được thiết kế để sử dụng bởi chính phủ.

MAC có một cách tiếp cận phân cấp để kiểm soát truy cập vào các nguồn tài nguyên. Với MAC, việc điều khiển truy cập tới tất cả các tài nguyên hệ thống được thiết lập bởi người quản trị hệ thống, hay nói cách khác người dùng không có khả năng thay đổi quyền truy cập trên các tài nguyên hệ thống. Trong MAC, mỗi đối tượng trong hệ thống được gán một mức nhạy cảm. Mức nhạy cảm của một chủ thể xác định khả năng truy cập của chủ thể.Để truy cập một đối tượng nào đấy, chủ thể phải có một mức độ nhạy cảm tương đồng hoặc cao hơn mức độ của đối tượng yêu cầu.

8 TIEU LUAN MOI download : skknchat@gmail.2 Điều khiển truy cập tuỳ quyền Với MAC, điều khiển truy cập được thiết lập bởi quản trị viên hệ thống (system administrator), thì vớiDAC, điều khiển truy cập trên một tài nguyên được thiết lập bởi người chủ của tài nguyênđó. DAC là cơ chế kiểm soát truy cập mặc định cho hầu hết các hệ điều hành máy tính cá nhân[6]. Trong DAC, mỗi tài nguyên hệ thống có một danh sách truy cập (Access Control List-ACL). ACL chứa danh sách người dùng, nhóm và quyền truy xuất cho mỗi người dùng, nhóm đó.

Ví dụ, người dùngA có quyền read-only, người dùng có quyền read và write, nhóm quản trị có toàn quyền. Cơ chế của DAC linh hoạt hơn nhiều so với MAC, nhưng cũng làm tăng nguy cơ mất an toàn do không được quản lý tập trung bởi quản trị viên hệ thống.3 Điều khiển truy cập theo vai trò Với điều khiển truy cậptheo vai trò, các quyết định truy cập dựa trên vai trò (role) mà người dùng thuộc về.Ví dụ, một kế toán trong một công ty sẽ được giao cho vai trò kế toán, được phép thực hiện các công việc liên quan đến kế toán.Tương tự như vậy, một kỹ sư phần mềm có thể được giao cho các vai trò nhà phát triển[6]. Khái niệm vai trò ở đây có điểm tương đồng với khái niệm nhóm.Nhóm người dùng thường được xem như như một tập hợp người dùng chứ không phải là một tập hợp các quyền hạn, trong khi một vai trò một mặt vừa là một tập hợp người dùng mặt khác lại là một tập hợp các quyền hạn. Trong RBAC mỗi người dùng được gắn với các vai trò, các vai trò được gán một tập quyền.

Dongười dùng không được cấp phép quyền một cách trực tiếp, chỉ nhận được những quyền hạn thông qua vai trò (hoặc các vai trò) của họ, việc quản lý quyền hạn của người dùng trở thành một việc đơn giản, và người ta chỉ cần chỉ định những vai trò thích hợp cho người dùng mà thôi.4 Điều khiển truy cập theo luật Điều khiển truy cập theo luật (Rule Based Access Control), quyết định cho phép hay từ chối truy cập được xác định bởi một tập các luật (rules) được định nghĩa bởi quản trị hệ thống. Tương tự như DAC, mỗi tài nguyên hệ thống sẽ có một danh sách các luật, khi người dùng truy cập đến tài nguyên, 9 TIEU LUAN MOI download : skknchat@gmail.com hệ thống sẽ kiểm tra tất cả các luật trên tài nguyên đó để quyết định cho phép hay từ chối truy cập. Tương tự như MAC, người dùng không thể thay đổi được luật (quyền truy cập), chỉ có quản trị hệ thống mới có thể thay đổi được tập luật trên mỗi tài nguyên[6].2 Các mô hình tham chiếu RBAC Các mô hình tham chiếu RBAC bao gồm các phần tử cơ bản: - User (người dùng) - Role (vai trò) - Objects (các đối tượng): Là những đối tượng mà người dùng muốn truy xuất, ta còn gọi Object là những tài nguyên hệ thống (system resource). Ví dụ, như tệp, máy in, bản ghi trong cơ sở dữ liệu… - Operations (thao tác): Là các thao tác mà người dùng thực hiện trên Object.

Ví dụ như read, write, print… - Permissions (quyền hạn): Quyền thực thi Operation của chủ thể trên Object. Có bốn mô hình tham chiếu RBAC: - RBAC cơ sở (Core RBAC), - RBAC phân cấp (Hierarchical RBAC), - RBAC ràng buộc tĩnh (Static Separation of Duty Relations) - RBAC ràng buộc động (Dynamic Separation of Duty Relations).1 Mô hình RBAC cơ sở Mô hình này (Hình 1.1) bao gồm các phần tử cơ bản: người dùng (USERS), vai trò (ROLES), các đối tượng (OBS), các thao tác (OPS), các quyền hạn (PRMS) và mỗi quan hệ giữa chúng.Ngoài ra, mô hình RBAC cơ sở còn bao gồm một tập các phiên làm việc (SESSIONS), mỗi phiên làm việc là một ánh xạ giữa một người dùng và một tập con các vai trò được phân công cho người dùng[4]. 10 TIEU LUAN MOI download : skknchat@gmail.com (UA) (PA) User Assignment Permission Assignment USERS ROLES OPS OBS PRMS SESS- IONS Hình 1.1:Mô hình RBAC[4] Một user được hiểu là một người dùng. Tuy nhiên khái niệm người dùng cần được hiểu theo nghĩa rộng, vì nó có thể là máy tính, tác nhân (agent) hay một hệ thống khác.

Để đơn giản ta gọi chung là người dùng. Một role là một chức năng công việc trong ngữ cảnh của một tổ chức với một số ngữ nghĩa có liên quan về quyền hạn và trách nhiệm. Một permission là một quyền hạn được phê duyệt để thực hiện một hoạt động trên một hoặc nhiều đối tượng được bảo vệ. Một operationlà hành động của người dùng trên tài nguyên.Các operation có thể có phụ thuộc vào mỗi hệ thống cụ thể, mỗi loại tài nguyên cụ thể.

Ví dụ, trong một hệ thống tập tin, các hoạt động có thể là read, write và execute; trong một hệ quản trị cơ sở dữ liệu, các hoạt động có thể là insert, update, và delete. Mục đích của bất kỳ cơ chế điều khiển truy cập nào là để bảo vệ tài nguyên hệ thống. Tuy nhiên, trong RBAC chúng ta sử dụng thuật ngữ đối tượng được bảo vệ để nói đến các đối tượng chứa thông tin cần được bảo vệ như tệp, thư mục, hệ điều hành, bản ghi trong cơ sở dữ liệu hoặc cũng có thể là máy in, ổ cứng, CPU. Mỗi phiên là một ánh xạ của một người dùng tới các vai trò có thể, một người dùng thiết lập một phiên trong đó người dùng kích hoạt một số tập con của vai trò mà họ được phân công.Mỗi phiên được liên kết với một người dùng duy nhất và mỗi người dùng kết hợp với một hoặc nhiều phiên.

Đặc tả RBAC cơ sở[4]: 11 TIEU LUAN MOI download : skknchat@gmail.com - USERS, ROLES, OPS, vàOBS (users, roles, operations, và objects). - UA ⊆ USERS × ROLES, là quan hệ nhiều-nhiều giữa tập người dùng với tập vai trò, một người dùng có thể có nhiều vai trò, một vai trò có thể có nhiều người dùng. - assigned_users(r:ROLES)→2USERS, ánh xạ của vai trò r trên một tập người dùng: assigned_users(r) = {u∈USERS | (u, r )∈ UA}. - PRMS = 2(OPS × OBS), tập các quyền hạn.

- PA ⊆ PRMS × ROLES, là quan hệ nhiều-nhiều giữa tập quyền với tập vai trò, một vai trò có thể được cấp nhiều quyền, một quyền có thể được cấp cho nhiều vai trò. - assigned_permissions(r: ROLES)→2PRMS, ánh xạ của vai trò r lên một tập các quyền hạn: assigned_permissions(r) = {p∈ PRMS | (p,r) ∈ PA}. - Ob(p:PRMS) →{op ⊆ OPS}, ánh xạ quyền hạn tới hoạt động, một tập các hoạt động liên kết với quyền p. - Ob(p: PRMS) →{ob⊆ OBS}, ánh xạ quyền hạn tới đối tượng, một tập các đối tượng liên kết với quyền p.

- SESSIONS, tập các phiên. - user_sessions(u: USERS) → 2SESSIONS, ánh xạ của người dùng u tới một tập các phiên. - session_roles(s: SESSIONS) → 2ROLES, ánh xạ của phiên s trên một tập các vai trò: session_roles(si) ⊆ {r ∈ ROLES | (session_users(si), r)∈ UA}. - avail_session_perms(s: SESSIONS)→2PRMS, các quyền hạn có thể đối với một người dùng trong một phiên.2 RBAC phân cấp RBAC phân cấp (Hình 1.2) thêm khái niệm về phân cấp vai trò vào RBAC cơ sở.Đó là những vai trò có quyền thừa kế từ các vai trò khác.Ví dụ, nếu vai trò r2 được thừa kế từ r1, và r1 có quyền thiết lập p1 khi đó r2 cũng sẽ có quyền thiết lập p1.

12 TIEU LUAN MOI download : skknchat@gmail.com Hierarchy (UA) (PA) User Assignment Permission Assignment USERS ROLES OPS OBS PRMS SESS- IONS Hình 1.2: Mô hình RBAC[4] Điểm mấu chốt của mô hình này là giữa các vai trò có thể có quan hệ kế thừa, nó cho phép một role con kế thừa tất cả các quền hạn của role cha.Có hai kiểu kế thừa đó là: Mô hình phân cấp vai trò tổng quát (General Role Hierarchies) và Mô hình phân cấp vai trò hạn chế (Limited Role Hierarchies)[4]. Mô hình phân cấp vai trò tổng quáthỗ trợ đa kế thừa (multiple inheritance). Điều này có nghĩa là một role có thể kế thừa từ nhiều role khác Định nghĩa hình thức[4]: 1. RH ROLES × ROLES được gọi là quan hệ kế thừa, viết tắt là , r1 r2 chỉ khi tất cả các quyền của r2 cũng là các quyền của r1 và tất cả người sử dụng của r1 cũng là những người sử dụng của r2.

authorized_users(r: ROLES) → 2USERS, ánh xạ vai trò r lên trên một tập người dùng, authorized_users(r) = {u USERS | r’ r , (u, r’)  UA}. authorized_permissions(r: ROLES) → 2PRMS, ánh xạ vai trò r lên trên một tập các quyền. authorized_permissions(r) = {p PRMS | r’ r, (p, r’)  PA}. Mô hình phân cấp vai trò hạn chế chỉ hỗ trợ kế thừa đơn, nghĩa là mỗi role chỉ có thể kế thừa từ một role khác.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ