I. Giới thiệu
Trong bối cảnh phát triển nhanh chóng của khoa học máy tính, nhu cầu thu thập và phân tích dữ liệu ngày càng tăng trong các tổ chức. Kiểm soát truy xuất được coi là một trong những vấn đề quan trọng nhất trong hệ thống thông tin hiện đại. Để đảm bảo an toàn cho tài nguyên, cần có các cơ chế kiểm soát truy cập mạnh mẽ và linh hoạt. Kiểm soát truy cập dựa trên thuộc tính (ABAC) đã thu hút sự chú ý đáng kể từ các nhà nghiên cứu và tổ chức tiêu chuẩn như NIST. ABAC cho phép xác định quyền truy cập dựa trên các thuộc tính của chủ thể và tài nguyên, mang lại tính linh hoạt và khả năng mở rộng cao. Tuy nhiên, hiện vẫn còn thiếu các mô hình ABAC chính thức để hỗ trợ tốt hơn trong các môi trường phân tán.
1.1 Mục tiêu và phạm vi đề tài
Luận văn này tập trung vào việc xây dựng một hệ thống ABAC từ mô hình kiến trúc đến hiện thực và triển khai, nhằm cung cấp giải pháp kiểm soát truy xuất linh hoạt cho các ứng dụng. Hệ thống sẽ bao gồm các phương pháp phát hiện và giải quyết xung đột trong quá trình thiết kế chính sách, đồng thời bảo vệ quyền riêng tư của dữ liệu dựa trên thuộc tính. Hệ thống này có khả năng tương thích với nhiều nền tảng khác nhau thông qua việc sử dụng các API Service hoặc Core Engine.
1.2 Cấu trúc luận văn
Luận văn được chia thành các chương cơ bản: Chương 1 giới thiệu về đề tài, Chương 2 trình bày cơ sở lý thuyết về các mô hình kiểm soát truy cập, Chương 3 đề cập đến kiến trúc tổng thể của mô hình ABAC, Chương 4 phân tích vấn đề conflict rule trong ABAC, Chương 5 hiện thực hóa Core ABAC và đánh giá, và cuối cùng là Chương 6 kết luận về các kết quả đạt được.
II. Cơ sở lý thuyết
Kiểm soát truy cập là một thuật ngữ quan trọng trong khoa học máy tính, mô tả việc cho phép hoặc từ chối quyền truy cập vào tài nguyên. Trong phần này, các mô hình kiểm soát truy cập sẽ được phân tích, bao gồm DAC, MAC, và ABAC. DAC cho phép chủ sở hữu tài nguyên kiểm soát quyền truy cập, trong khi MAC sử dụng các chính sách bên ngoài để quyết định quyền truy cập. ABAC được xem là phương pháp tiên tiến hơn, cho phép quản lý quyền truy cập dựa trên các thuộc tính của chủ thể và tài nguyên, mang lại tính linh hoạt cao hơn cho hệ thống. Việc áp dụng các mô hình này giúp đảm bảo an toàn thông tin và bảo vệ quyền riêng tư trong môi trường số.
2.1 Các mô hình kiểm soát truy cập
Các mô hình kiểm soát truy cập chính bao gồm DAC, MAC và ABAC. DAC cho phép người dùng quyết định ai có thể truy cập tài nguyên mà họ sở hữu. MAC yêu cầu quản trị viên quyết định quyền truy cập, trong khi ABAC sử dụng các thuộc tính để xác định quyền truy cập. Mỗi mô hình có ưu điểm và nhược điểm riêng, nhưng ABAC nổi bật với khả năng linh hoạt và chi tiết trong việc quản lý quyền truy cập.
2.2 eXtensible Access Control Markup Language XACML
XACML là một ngôn ngữ mô tả chính sách kiểm soát truy cập, cho phép định nghĩa các quy tắc và điều kiện cho quyền truy cập vào tài nguyên. XACML hỗ trợ ABAC bằng cách cung cấp một cách tiếp cận có cấu trúc để quản lý các chính sách truy cập phức tạp. Việc sử dụng XACML giúp đơn giản hóa quá trình thiết lập và duy trì các quy tắc kiểm soát truy cập, đồng thời đảm bảo tính nhất quán và an toàn cho hệ thống.
III. Kiến trúc tổng thể của mô hình ABAC
Mô hình ABAC bao gồm các thành phần chính như chủ thể, tài nguyên và các thuộc tính liên quan. Kiến trúc này cho phép xác định quyền truy cập dựa trên các thuộc tính của chủ thể và tài nguyên, từ đó tạo ra các quy tắc truy cập linh hoạt. Hệ thống ABAC có thể được triển khai trên nhiều nền tảng khác nhau, từ ứng dụng web đến dịch vụ đám mây. Việc áp dụng mô hình này giúp cải thiện hiệu suất và bảo mật cho các hệ thống thông tin hiện đại.
3.1 Kiến trúc tổng quan mô hình ABAC
Kiến trúc tổng quan của mô hình ABAC bao gồm ba thành phần chính: Chủ thể, Tài nguyên và Chính sách. Chủ thể là thực thể yêu cầu quyền truy cập, tài nguyên là đối tượng cần được bảo vệ, và chính sách là các quy tắc xác định quyền truy cập dựa trên thuộc tính. Mô hình này cho phép linh hoạt trong việc xác định quyền truy cập, phù hợp với các yêu cầu bảo mật hiện đại.
3.2 ABAC Policy language
Ngôn ngữ chính sách trong ABAC cho phép định nghĩa các quy tắc và điều kiện cho quyền truy cập. Các chính sách này có thể được áp dụng cho nhiều loại tài nguyên và chủ thể khác nhau, từ đó giúp quản lý quyền truy cập một cách hiệu quả. Ngôn ngữ chính sách cũng hỗ trợ việc tạo ra các quy tắc phức tạp, cho phép xác định quyền truy cập dựa trên nhiều thuộc tính khác nhau.
IV. Vấn đề Conflict Rule trong ABAC
Trong mô hình ABAC, vấn đề xung đột giữa các quy tắc truy cập có thể xảy ra khi các quy tắc khác nhau đưa ra các quyết định trái ngược nhau về quyền truy cập của cùng một chủ thể đối với một tài nguyên. Việc nhận diện và xử lý các xung đột này là rất quan trọng để đảm bảo tính nhất quán và an toàn trong hệ thống. Các phương pháp xử lý xung đột sẽ được thảo luận trong phần này, nhằm cung cấp các giải pháp hiệu quả để quản lý quyền truy cập.
4.1 Nhận dạng vấn đề conflict
Nhận diện vấn đề conflict trong ABAC liên quan đến việc phát hiện các quy tắc truy cập trái ngược nhau. Điều này có thể xảy ra khi một chủ thể được cấp quyền truy cập bởi một quy tắc nhưng lại bị từ chối bởi quy tắc khác. Việc nhận diện sớm các xung đột này giúp giảm thiểu rủi ro và đảm bảo rằng các quyết định về quyền truy cập là chính xác và nhất quán.
4.2 Phương pháp xử lý conflict
Để xử lý các xung đột trong ABAC, có thể áp dụng một số phương pháp như ưu tiên quy tắc, sử dụng các thuật toán phân tích xung đột, hoặc tạo ra các quy tắc tổng hợp. Những phương pháp này giúp đảm bảo rằng các quyết định về quyền truy cập được thực hiện một cách chính xác và minh bạch, đồng thời bảo vệ tài nguyên khỏi các truy cập trái phép.
V. Hiện thực Core ABAC
Việc hiện thực hóa Core ABAC bao gồm xây dựng các lớp ngôn ngữ chính sách, triển khai cơ sở dữ liệu và các module cần thiết cho hệ thống. Quá trình này sẽ giúp đảm bảo rằng hệ thống ABAC hoạt động hiệu quả và đáp ứng được các yêu cầu về bảo mật và quyền riêng tư. Các phương pháp lưu trữ và truy xuất dữ liệu cũng sẽ được tối ưu hóa để hỗ trợ cho việc quản lý quyền truy cập.
5.1 Xây dựng các lớp class ngôn ngữ chính sách
Xây dựng các lớp ngôn ngữ chính sách trong ABAC là một bước quan trọng để đảm bảo rằng các quy tắc truy cập được xác định rõ ràng và có thể dễ dàng áp dụng. Các lớp này sẽ cung cấp một cấu trúc cho việc định nghĩa và quản lý các quy tắc, từ đó giúp cải thiện tính linh hoạt và hiệu quả của hệ thống.
5.2 Xây dựng lược đồ và triển khai database
Việc xây dựng lược đồ và triển khai cơ sở dữ liệu cho hệ thống ABAC là rất cần thiết để lưu trữ thông tin về các chủ thể, tài nguyên và quy tắc truy cập. Cơ sở dữ liệu này sẽ hỗ trợ cho việc truy xuất và quản lý quyền truy cập một cách hiệu quả, đồng thời đảm bảo tính nhất quán và an toàn cho dữ liệu.
VI. Kết luận
Luận văn đã trình bày một cách chi tiết về mô hình kiểm soát truy xuất dựa trên thuộc tính (ABAC), từ lý thuyết đến thực tiễn. Mô hình ABAC không chỉ mang lại sự linh hoạt trong quản lý quyền truy cập mà còn giúp bảo vệ quyền riêng tư của dữ liệu. Các phương pháp phát hiện và xử lý xung đột cũng đã được đề xuất nhằm nâng cao hiệu quả của hệ thống. Tương lai, nghiên cứu có thể mở rộng để phát triển các mô hình ABAC chính thức hơn, hỗ trợ tốt hơn cho các môi trường phân tán.