1. Trang chủ
  2. » Luận Văn - Báo Cáo

Luận văn thạc sĩ Khoa học máy tính: Phát triển cơ chế phân tích chính sách bảo mật trong mô hình điều khiển truy xuất GeoXACML

114 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Phát triển cơ chế phân tích chính sách bảo mật trong mô hình điều khiển truy xuất GeoXACML
Tác giả Dang Tuan Anh
Người hướng dẫn PGS. TS. Dang Tran Khanh
Trường học Trường Đại học Bách Khoa, ĐHQG-HCM
Chuyên ngành Khoa học máy tính
Thể loại Luận văn thạc sĩ
Năm xuất bản 2013
Thành phố Tp. Hồ Chớ Minh
Định dạng
Số trang 114
Dung lượng 22,5 MB

Nội dung

Nó hỗ trợ người thiết kế chính sách trong việc định nghĩa, quản lý cácchính sách dé giảm công sức, tối thiểu lỗi, tăng hiệu suất quá trình đánh giá.1.2 Mục đích nghiên cứuNhững bat thườn

Trang 1

DE TAI LUAN VAN THAC SI

PHAT TRIEN CO CHE PHAN TICHCHINH SACH BAO MAT TRONG MO HINH

DIEU KHIEN TRUY XUAT GEOXACML

Chuyén nganh : Khoa hoc máy tínhMã số : 604801

LUẬN VĂN THẠC SĨ

TP Hồ Chí Minh — Tháng 12 năm 2013

Trang 2

TRUONG ĐẠI HOC BACH KHOA — ĐHQG-HCMCán bộ hướng dẫn khoa hoc: PGS TS Đặng Tran Khánh

Cán bộ chấm nhận xét1 : TS Nguyễn Chánh ThànhCán bộ chấm nhận xét2 : PGS.TS Vũ Thanh Nguyên

Luận văn thạc sĩ được bảo vệ tại Trường Dai học Bách Khoa, DHQG Tp.HCM ngày25 tháng 12 năm 2013

Thành phan hội đồng đánh giá luận văn thạc sĩ gồm:

1.23.

Trang 3

TR ONG ĐẠI HOC BACH KHOA Độc lập - Tự do - Hanh phúc

NHIEM VỤ LUẬN VĂN THẠC SĨ

Họ tên học viên: BANG TUẦN ANH 55s se «2 MSHV: 11076001

Ngày, tháng, năm sinh: 25/03/1988 5S S S2 Nơi sinh: Quảng Bình

Chuyên ngành: Khoa học máy tính -«<+- Mã số : 604801 I TÊN DE TÀI: PHÁT TRIEN CƠ CHE PHAN TÍCH CHÍNH SÁCH BAOMAT TRONG MÔ HÌNH DIEU KHIỂN TRUY XUẤT GEOXACML II NHIỆM VỤ VÀ NOI DUNG:

e Tìm hiéu và phân loại các bat thường trong tập chính sách.e Tìm hiểu những phương pháp đã được đề xuất dé phát hiện bất thường của tập

chính sách và tìm những điểm yếu, điểm mạnh của từng phương pháp.e Phân tích những đặc trưng riêng của tập chính sách trong mô hình

GeoXACML so với những mô hình khác Từ đó cải tiến những phương phápđã tìm hiểu, hoặc đưa ra những phương pháp mới

e Đánh giá phương pháp mới được đề xuất trong luận văn

HI NGÀY GIAO NHIỆM VU : 02/07/2(012 22 +E<+E‡EE£ESEEEEEEEEEEEErkerkrkrredIV NGÀY HOÀN THÀNH NHIỆM VU: 22/11/2013 - 2 2+52cs+es£szesre2V CANBOH ONG DAN: PGS.TS DANG TRAN KHÁNH .-5-

Tp HCM, ngày thang năm 2013

CAN BOH ONG DAN CHU NHIEM BO MON DAO TAO

PGS.TS DANG TRAN KHANH PGS.TS DANG TRAN KHANH

TR ONG KHOA KH&KT MAY TINH

PGS.TS THOAI NAM

Trang 4

Em xin gửi lời cảm on sâu sắc đến thay Dang Tran Khánh đã tận tình giúp đỡvà hướng dẫn em trong suốt thời gian em thực hiện dé tài.

Em xin gửi lời cảm ơn tới thầy Nguyễn Chánh Thành và thầy Vũ ThanhNguyên về những lời khuyên bồ ích để em hoàn thiện luận văn trước khi ra bảo vệ

Em cũng xin cảm ơn sự giúp đỡ và hỗ trợ của các anh chị D-STAR lab trongsuốt thời gian em thực hiện dé tài

Cuối cùng, tôi xin chân thành cảm ơn đến gia đình, bạn bè vì sự giúp đỡ, ủnghộ và khuyến khích tôi hoàn thành dé tài luận văn

Trang 5

Tom tat luan van

Hệ thông thông tin địa lý (GIS) đang ngày càng phát triển mạnh mẽ cả về số

lượng và chất lượng, và được áp dụng trong nhiều lĩnh vực Dữ liệu trong các hệ

thống này có thể chứa những thông tin nhạy cảm, bí mật, vì vậy việc điều khiến truyxuất trên những dữ liệu này là rất quan trọng GeoXACML ra đời nham hỗ trợ choviệc giải quyết những yêu câu điều khiến truy xuất này Nó là ngôn ngữ dựa trênXML được dùng để định nghĩa những chính sách điều khiến truy xuất, đặt biệt lànhững chính sách có các yếu tô về không gian Trong tập chính sách được mô tả bởingôn ngữ GeoXACML, có chứa nhiều luật, những luật này có thể xung đột hoặc dưthừa lẫn nhau, được gọi chung là bất thường GeoXACML không có bất kỳ cơ chếnào giúp phát hiện những bat thường này Hiện nay đã có nhiều công trình nghiên cứuvề việc phát hiện bất thường trong ngôn ngữ XACML, một phần của ngôn ngữGeoXACML Tuy nhiên, những nghiên cứu này chỉ giải quyết bài toán phát hiện bấtthường đối với các ràng buộc trên kiểu dữ liệu co bản như: số nguyên, số thực, chuỗi,ngày tháng Hiện nay, chưa có bất kì nghiên cứu nào nhắm đến kiểu dữ liệu khônggian, và các ràng buộc về không gian Vì vậy trong luận văn này, tôi tập trung vàoviệc phát triển cơ chế dé phát hiện bat thường trên các ràng buộc về không gian trongtập chính sách GeoXACML.

HV:DANG TUẦN ANH

Trang 6

Geographic information system (GIS) is more and more developed incessantlyin both quantity and quality, and is applied in many fields Data in these systemsmaybe contain sensitive and/or confidential information, so ensuring accessrestrictions to these data is very important GGOXACM.L is used for that purpose It isan XML based policy language to express spatial access rights In policy repositorywhich is expressed by GeoXACML, there are many rules These rules can beconflicting or redundant each other, called anomalies GGOXACML does not have anysystem mechanism to detect anomalies in polices Currently, there is a lot ofresearches focusing on anomaly detection in XACML from which GeoXACML isextended However, these researches just solve anomaly detection with basic datatype such as integer, real number, date time No research directly solves anomalydetection problem in the spatial aspect with spatial data types and functions.Therefore, in this thesis, I will focus on building a mechanism to detect anomalies inspatial constraints of GGoXACML policies.

Trang 7

Loi cam doan

Tôi xin cam đoan day là công trình nghiên cứu cua bản than.Các số liệu, kết quả trình bày trong luận văn là trung thực và chưa từng được aicông bố trong bat kỳ công trình nào trước đây

Học viên

DANG TUẦN ANH

HV:DANG TUẦN ANH iii

Trang 8

Muc lucTĩm tắt luận VĂ¡n << E9 9993 Sư 0 909090909895 5 1 4 4 s40 iASÍTACÍ QG G00 9 Họ HH 004 0000040000004 0600004000001 40000000040 000004060 8080 iiLời Cam 041 GGG G0 5 5 599 00 00004.000.000 4 00004 0600000460000 40600000406 00 iilNMục ÌỤC ee iv

\)/1019810190.)).): 011 1 h.Ố.Ố.ỐốỐ.ẻ.ẻ.ẻ.ẻ.ẻ.ẻ.ẻ Vi

Chương 1: Mở đầu << << << << É 955 9 9 933911 0905055 525 sex 11.1 Giới thiệu để tài - G11 ST 1111 TT H11 reg |1.2 Mục đích nghiÊn CỨU GĂ G0009 21.3 Giới hạn dé tài cv 11121 1E 1110101111 11g TT HT ng ng rke 214 Ý nghĩa khoa học và thực tiễn ¿ ¿+ E22 S2 E51 EEEEE E511 1E E1 EEEEEcred 31.4.1 Ý nghĩa khoa hỌc - - + 25656 S9 2E SE E915 E5 E5E1E115 15151121 1151511 1111k 31.4.2 Ý nghĩa thực tiễn + 5S 1 S1 1 11151311 111111 1111511111111 11 111.1 rk 3Chương 2: Cơ sở lý (UYẾT 2 < << << << 9 9E 9 93331 699595959555 sssex 42.1 Hệ thống thơng tin địa lý ¿ - - 52522123 15 E1 1211151111111 11 11111110111 ccy 42.2 Bảo mật dữ liệu khơng ø1ạn - - << 5G 100000 nọ ngờ 52.3 Ngơn ngữ XACCML, - - - << 000 nọ vớ 524 Ngơn ngữ CŒeoX AC ML,, << 99000 0 82.5 Mơ hình điều khiến truy xuất GEOXACML o.e.cecccescscsessssesessesesessesesssecseseeseseseees 102.6 Phân loại bat thường trong tập chính sách - - 2 + 55+ s+x+£zezxezscxd II2.7 Giải quyết xung đột quyền trong GeoXACMIL, ¿52555252 S2+e+ececxsrsred 12Chương 3: Cac cơng trình nghiên cứu liÊn qUAI << << 5 5 5555563 183.1 Phương pháp hình hoc - - c1 13991010101 111 00 ngờ 193.1.1 Việc chuyển đổi XACML Target vào khơng gian n chiều 203.1.2 Các kiểu dữ liệu được chuyển thành Integer - - 2 c2 s+s+s+sscze: 203.1.3 Các kiểu dữ liệu được chuyển đối thành kiểu Double - 213.1.4 Các kiểu dữ liệu được chuyền đối thành kiểu String - 213.1.5 Các kiểu dữ liệu được chuyển đối thành máy trang thái hữu hạn 213.1.6 Thuật tốn xác định xung đỘTI 1v vn ng ng 223.1.7 Phân tích độ phức tạp tính tốn - - HH ng 23

Trang 9

3.2 Phuong pháp sử dung Binary Decision Diagram (BDD) «<- 253.2.1 Biểu diễn chính sách ở dạng sơ đồ BDD - ¿2-2-2522 +s+E+x+Ezxrxzescez 253.2.2 Thuật toán xác định xung đỘT[ - 1 1v vn ng y 26Chương 4: Hướng tiếp cận và thuật toán 5-5-< << << es se sseseseseseseseses 294.1 Các cơ chế phát hiện bất thường và hướng tiếp cận - 55255552 294.2 Thuật toán xác định bất thường cho các ràng buộc không gian - 304.2.1 RCC8 và suy luận hình học - (<< 009 ng 1v ke 304.2.2 Consistency và path-COnsistency sc eeesssseeceeceeseessseeeeceeessseeeeeceesssaaeees 324.2.3 Thuật toán xác định bất thường cscscsessscssssesessscssssesesssssesesees 334.3 Phân tích tính đúng đắn và hiệu năng - ¿+ - + 52 2 S2+E£E+E#££E£EzEzeererered 35Chương 5: Thực nghiỆTm << < 6 S 5 S 6 6 9999 999999.9Á 9.9 99908 960808955969688869999999999966 375.1 Case Study <11 375.2 Hiện thựC cọ Thọ TT 385.3 Đánh giá thực nghiỆm - - 0119990010119 ngờ 40Chương 6: Tổng kkẾT << << sư 9 9 9 890959295 44 4 sex 436.1 TOng T - ‹+¬1- 436.2 Hướng phát triỀn - - ©6252 S139 SEEE9EE 33212111111 2111 111111111111 k0 44

Tài liệu tham IkhảOO o5 << << G 6 659999 9 9996899949 996999999494 9988 98099495986689999996 9606596 45

Phụ LUC G555 9 9 9.9 9.9.9.9 00090000000 66688899000004904.0499996000666666688660696 47[1] Dang Tuan Anh, Dang Tran Khanh: A Path-Consystency Based Algorithm For

Anomaly Detection of Spatial Constraints in GeoXACML Policie Journal of Scienceand Technology, Vietnamese Academy of Science and Technology, ISSN 0866-708X, Vol 51, No 4B, 2013, pp 143-152 (a Special Issue on ACOMP2013)

[2] Nguyen Ngoc Tuan, Le Thi Kim Tuyen, Dang Tuan Anh, Van Duc Son Ha,Dang Tran Khanh: Towards a Flexible Framework to Support a GeneralizedExtension of XACML for Spatio-Temporal RBAC Model with Reasoning Ability InProceedings of the International Conference on Computational Science and ItsApplications ICCSA2013), Part V, LNCS 7975, Springer Verlag, 24-27 June, 2013,Ho Chi Minh City, Vietnam, pp 437-451

[3] Van Duc Son Ha, Dang Tuan Anh, Dang Tran Khanh: Supporting AuthorizationReasoning Based on Role and Resource Hierarchies in an Ontology-enriched XACMLModel International Journal of Computer and Communication Engineering (JCCE),IACSIT Press, ISSN: 2010-3743, 2014 (to be accepted)

HV:DANG TUAN ANH V

Trang 10

[4] Dang Tran Khanh, Le Thi Kim Tuyen, Dang Tuan Anh, Van Duc Son Ha:Towards a Flexible Framework to Support a Generalized Extension of XACML forSpatio-Temporal RBAC Model with Reasoning Ability, International Journal of WebInformation Systems (IJWIS), ISSN: 1744-0084, 2014 (to be accepted)

Muc luc hinh

Hình 1: Các thành phần của GIS w.c.cccccsccccsessssssessescsessesssessesesessesssessssssesseseseseeees 4Hình 2: Cú pháp cua Subject trong chính sách « -«« sec k2 6Hình 3: Cú pháp của Target trong chính sách - << sessssssssks 6Hình 4: Cú pháp cua Rule trong chính sách «+5 + 1 ke 6Hình 5: Cú pháp cua Policy trong chính sách - << «s2 7Hình 6: Cú pháp cua PolicySet trong chính sách «««« «s22 7Hình 7: Các kiểu dữ liệu hình học trong GeoXACML, ««««««2 SHình 8: Các hàm không gian trong GEOXACML - «<< «s2 9Hình 9: Trực quan các hàm không gian trong GŒeoXACML - 9Hình 10: Một ví dụ về thành phần GeoXACML <Condition> - 10Hình 11: Mô hình GeoXACML - XACML, S3 se 10Hình 12: Một chính sách GŒeoXACML, << c1 13S*sssssssse 12Hình 13: Cac giải thuật kết hợp chính sách, luật ««««««««+ 13Hình 14: Bảng sự thật đánh g1á ruÏ€ - 5G S019 ngư 14Hình 15: Bảng sự thật đánh g1á policy c1 ngư 15Hình 16: Bảng sự thật đánh giá PolicySet << - c9 gey 15Hình 17: Ví dụ về xung đột trong chính sách XACML, «<5 20Hình 18: Các biểu thức logic nguyên tỐ +2 + 2 2 5s+s£++s+xezezxvxerscree 26Hình 19: Sơ đồ BDD của 2 luật RI và R'2 ¿óc + xxx eEseseeees 26Hình 20: Thuật toán xác định xung đỘt 55c S2 27Hình 21: Quan hệ không gian OGC và tương đương trong RCC8 và 9IM 30Hình 22: Bảng quan hệ kết hợp - - ¿+ 5+2 £E£EeEEEekerxrkrrrrrrerree 32Hình 23: Bảng quan hệ đảo ngƯỢC - << 5 1100 99 ng ke 32Hình 24: Thuật toán Path-COnsISf€'nCy - cư 33Hình 25: Ma trận mang ràng buộc lR - - «s99 11 ke 38Hình 26: Kiến trúc chung của ứng dụng demo 2 - 2 s+s+sz s52 39Hình 27: Cách sử dụng thư viện JTS Topology SuIe «««««+<<2 39Hình 28: Cách sử dụng thư viện PyRCS << S S9 1 ngư 40Hình 29: Biểu đồ thời gian thực thi khi số lượng chính sách thay đổi 41Hình 30: Biểu đồ thời gian thực thi khi số đối tượng tăng - 42

Trang 11

Chuong 1: Mé dau1.1 Giới thiệu đề tài

Hiện nay, các hệ thống GIS đang phát triển rất mạnh và ứng dụng trong nhiềulĩnh vực như: nghiên cứu quan ly tài nguyên thiên nhiên và môi trường, nghiên cứuđiều kiện kinh tế - xã hội, nghiên cứu hỗ trợ các chương trình qui hoạch pháttriển, Trong các hệ thống này, dữ liệu là yếu tố quan trọng nhất, và tốn nhiều chi phíxây dựng nhất, thông thường chiếm khoảng 80% chi phí của một dự án GIS [1].Những dữ liệu này thường được dùng chung bởi nhiều ứng dụng khác nhau Trongmỗi ứng dụng, người dùng được chia làm nhiễu nhóm khác nhau và mỗi nhóm sẽ cónhững đặc quyên riêng trong việc truy xuất dữ liệu GIS Vì vậy cần có những mô hìnhđiều khiến truy xuất nhằm đảm bảo dữ liệu GIS chỉ được cung cấp cho những ngườidùng có quyền sử dụng nó.Và GeoXACML là một mô hình điều khiến truy xuất chodir liệu GIS đã được chấp nhận rộng rãi và đã trở thành chuẩn công nghiệp [2]

GeoXACML được mở rộng từ mô hình điều khiến truy xuất XACML [3].Trong mô hình này, các luật điều khiến truy xuất được biểu diễn trong ngôn ngữXML theo một cú pháp được quy định rõ Dựa vào tập luật này, các yêu cầu truy xuất

dữ liệu sẽ được đánh giá và trả về một kết quả thích hợp Trong một hệ thống, có thé

chứa rất nhiều luật, và khi một yêu cầu truy xuất được gửi lên hệ thống, có thể cónhiều luật cùng được áp dụng cho yêu cầu đó Những luật này có thể trả về những kếtquả trái ngược nhau Vì vậy, GeoXACML, đã sử dụng các thuật toán kết hợp dé đưa rakết quả cuối cùng từ những luật được áp dụng cho một yêu cầu nào đó Đây là cáchmà GeoXACML giải quyết xung đột giữa các luật Một loại bất thường khác trong tậpluật GeoXACML đó là dư thừa Hai luật được gọi là dư thừa, khi chúng có thé cùngáp dụng chung cho một yêu cầu truy xuất nao đó, và trả về cùng kết quả Bởi vì thờigian đánh giá cho một yêu cầu truy xuất phụ thuộc lớn vào số lượng luật trong khochính sách, vì vậy sự dư thừa có thể ảnh hưởng tới hiệu suất của quá trình đánh giá.Do đó, dư thưa cần được xem như một loại bất thường và cần được giải quyết để tốiưu quá trình đánh giá.

Đáng tiếc, GeoXACML không có bất kì co chế nào dé phát hiện bất thườngtrong chính sách Hơn nữa, dé giải quyết xung đột người thiết kế chính sách phải lựachọn các thuật toán kết hợp Việc lựa chọn thuật toán kết hợp phụ thuộc chủ yếu vàokiến thức và kinh nghiệm của người thiết kế chính sách và không có bất kì sự hỗ trợnào từ hệ thống Do đó, nếu không có bat kỳ thông tin nào về sự xung đột thi sự hiệuquả của việc lựa chọn thuật toán kết hợp này sẽ không được đảm bảo

HV: ĐĂNG TUẦN ANH 1

Trang 12

Như vậy, việc phat hiện bất thường trong chính sách GeoXACML là ratcần thiết Nó hỗ trợ người thiết kế chính sách trong việc định nghĩa, quản lý cácchính sách dé giảm công sức, tối thiểu lỗi, tăng hiệu suất quá trình đánh giá.1.2 Mục đích nghiên cứu

Những bat thường trong tập chính sách có thé đưa đến những kết quả khôngchính xác trong quá trình đánh giá yêu cầu truy xuất, và dẫn đến những vẫn đề

nghiêm trọng về bảo mật đối với hệ thống Mặt khác, những bất thường này cũng làm

giảm hiệu suất quá trình đánh giá yêu cầu truy xuất Vì vậy, mục đích của luận vănnày là xây dựng một cơ chế tự động phát hiện ra những bất thường trong tậpchính sách, từ đó đưa ra những cảnh báo thích hợp đến người thiết kế chính sách,giúp giảm công sức, hạn chế tối đa những bất thường có thể sinh ra trong quá trìnhđịnh nghĩa và quản lý các chính sách Đồng thời, luận văn này cũng sẽ đưa ra nhữngđánh giá về tính đúng dan, cũng như hiệu suất của cơ chế đã được đề xuất

1.3 Giới hạn đề tài

Việc phát hiện bất thường trong tập chính sách bảo mật có hai chiến thuậtchính được phân chia dựa vào thời gian mà quá trình phát hiện được áp dụng, đó là:cơ chế phát hiện tĩnh và cơ chế phát hiện động Mỗi phương pháp đều có những ưunhược điểm riêng (sẽ được phân tích ở phần 4.1) và một hệ thống điều khiến truy xuấtcần phải sử dụng cả hai cơ chế này để đạt được hiệu quả tốt nhất Tuy nhiên, đề tàinày chỉ tập trung vào cơ chế phát hiện tĩnh Nghĩa là việc phát hiện bất thường nàyđược thực hiện ngay ở giai đoạn thiết kế chính sách, khi người quản lý chính sách

thêm mới một chính sách hoặc chỉnh sửa một chính sách đang ton tại trong hệ thống

Hiện nay, việc phát hiện bất thường trong tập chính sách điều khiến truy xuất,đặc biệt là các tập chính sách dựa trên chuẩn ngôn ngữ như XACML đã được nhiềunhà nghiên cứu quan tâm Tuy nhiên, trong những nghiên cứu này, không có nghiêncứu nào trực tiếp giải quyết bài toán phát hiện bất thường đối với các loại dữ liệukhông gian, cũng như các ràng buộc dựa trên các hàm không gian trong ngôn ngữGeoXACML Vi vậy, dé tài này sẽ tập trung vào việc phát hiện bất thường trên

các ràng buộc không gian trong ngôn ngữ GeoXACML.

Trang 13

1.4 Ynghia khoa hoc và thực tiễn1.4.1 Y nghĩa khoa học

Những bat thường trong tập chính sách có thé gây ra những van đề về bảo mậtcũng như hiệu năng của hệ thống Cho tới thời điểm hiện nay, đã có nhiễu công trìnhnghiên cứu liên quan đến vấn đề phát hiện bất thường Tuy nhiên, các nghiên cứu nàychủ yếu là thực hiện cho các tập chính sách bảo mật cho tường lửa, và gần đây làXACML Đề tài này là công trình đầu tiên nghiên cứu van dé phát hiện bất

thường trong tập chính sách cho ngôn ngữ GeoXACML Vì vậy, trong lĩnh vực

bảo mật dữ liệu không gian cho các hệ thống GIS, dé tài này có những ý nghĩa khoahọc sau:

e Nghiên cứu va tong kết các cơ chế phát hiện bất thường trong tập chínhsách bảo mật hiện có.

e Dé xuất cơ chế phát hiện bất thường đặc trưng cho các ràng buộc khônggian của ngôn ngữ GeoXACML Phân tích tính đúng đắn và độ hiệu quảcủa cơ chế đề xuất

e Phân tích những hướng phát triển tiếp theo dé giải quyết bài toán phát hiệnbất thường đối với ngôn ngữ GeoXACML một cách tổng quát

1.4.2 Y nghĩa thực tiễn

Từ những lợi ích to lớn ma GIS mang lại mà các hệ thong GIS đang được đầu

tư phát triển cả về số lượng và chất lượng Do đó, việc bảo mật dữ liệu không gian

cho các ứng dụng này trong khi vẫn đảm bảo ứng dụng hoạt động hiệu quả là van déquan trọng cần được giải quyết Dé đáp ứng yêu cầu đó, bên cạnh việc xây dựng cáchệ thống điều khiến truy xuất, thì việc phát hiện bất thường trong các tập chính sáchđiều khiến truy xuất cần được quan tâm Nó giúp giảm thiểu chi phí xây dựng, bảo trítập chính sách, hạn chế lỗi xảy ra trong hệ thống, đồng thời nâng cao hiệu quả hoạtđộng của hệ thống

Đề tài mang những ý nghĩa thực tiến như sau:e_ Vẻ phía người dùng: với cơ chế phát hiện bat thường, giúp cho dữ liệu của

người dùng được bảo vệ tốt hơn, tránh sai sót, mất mát dữ liệu, cũng nhưgiảm thời gian đáp ứng, vì giảm được thời gian đánh giá yêu cầu truy xuất.e Về phía người quan trị: người quản trị có thé dễ dàng hơn trong việc xây

dựng và quản ly các chính sách điều khiến truy xuất Hạn chế những sai sóttrong việc mô tả những chính sách bao mật cho hệ thống

HV: ĐĂNG TUẦN ANH 3

Trang 14

Chương 2: Cơ sở ly thuyết2.1 Hệ thống thông tin địa lý

Hệ thống thông tin địa lý (Geographical Information System - GIS): là hệ

thống sử dụng máy tính để lập bản đồ và phân tích các sự vật hiện tượng trên trái đất

Một định nghĩa khác, GIS là tổ chức tong thé của năm phan: phan cứng, phần mém,cơ sở dữ liệu địa lý, con người và phương pháp phân tích nhằm tiếp nhận lưu trữ,điều khiến, phân tích, hiển thị toàn bộ các dữ liệu địa lý

CON NGƯỜI

PHẦN CỨNG PHƯƠNG PHÁP

Hình 1: Các thành phần của GISNgày nay, GIS là công cụ trợ giúp quyết định trong nhiều hoạt động kinh tế -xã hội, quốc phòng của nhiều quốc gia trên thé giới [4][5] GIS có khả năng trợ giúpcác cơ quan chính phủ, các nhà quản lý, các doanh nghiệp, các cá nhân đánh giáđược hiện trạng của các quá trình, các thực thể tự nhiên, kinh tế - xã hội thông qua cácchức năng thu thập, quản lý, truy van, phân tích và tích hợp các thông tin được ganvới một nền hình học (bản đồ) nhất quán trên cơ sở toạ độ của các dữ liệu đầu vào

Phần cơ sở dữ liệu địa lý (Data) có thé được coi thành phân quan trọng nhấttrong một hệ GIS Các dữ liệu địa lý và dữ liệu thuộc tính liên quan có thé được ngườisử dụng tự tập hợp hoặc được mua từ nhà cung cấp dữ liệu thương mại Hệ GIS sẽ kếthop dữ liệu không gian với các nguén dữ liệu khác, thậm chí có thé sử dụng hệ quảntri cơ sở dữ liệu (Database Management System - DBMS) để tô chức lưu giữ và quảnlý dữ liệu.

Hiện nay công nghệ GIS đang được sử dụng rộng rãi, ở Việt Nam nó cũngđược thí điểm khá sớm và đến nay đã được ứng dụng trong khá nhiều ngành như quyhoạch nông lâm nghiệp, quản lý rừng, lưu trữ tư liệu địa chất, đo đạc bản dé, địachính, quản lý đô thị Tuy nhiên các ứng dụng có hiệu quả nhất mới giới hạn ở các

Trang 15

lĩnh vực lưu trữ, in ấn các tu liệu bản đồ bằng công nghệ GIS Các ứng dung GISthuộc lĩnh vực quản lý, điều hành, trợ giúp quyết định hầu như mới dừng ở mức thửnghiệm còn cân thời gian và đầu tư mới có thể đưa vào ứng dụng chính thức.

2.2 Bảo mật dir liệu không gian

Bảo mật dữ liệu không gian thường bao gồm ba khía cạnh chính: tính bí mật(confidentiality), tính toàn ven (integrity) và điều khiến truy xuất (access control) [6]

e Tính bí mật: khi dữ liệu được truyền tải, chỉ những người dùng hop phatmới có thé hiểu được nội dung truyền tải Thông thường, dé đảm bảo tínhbí mật, các gói tin sẽ được mã hóa trước khi đưa lên đường truyền

e Tính toàn vẹn: dữ liệu không gian không được phép bi giả mạo (thêm, xóahay thay đổi) bởi người dùng bất hợp pháp Đề đảm bảo tính toàn vẹn, ta cóthé dùng kỹ thuật chữ ký số, hoặc chữ ký điện tử

e Điều khiến truy xuất: bao gồm hai thành phan chính (1) xác thực(authentication) và (2) phan quyền (authorization) Xác thực là việc đảmbảo người dùng đăng nhập là người dùng hợp pháp của hệ thống Có nhiềucách để xác thực người dùng của hệ thông chắng hạn như: dựa trên nhữnggi họ biết (tên, mật khẩu truy cập), dựa trên những gi họ có (thẻ xác thực)hoặc dựa vào bản thân người dùng (dấu vân tay, giọng nói) Sau khi ngườidùng đăng nhập thành công vào hệ thống, họ sẽ được phân quyển và xácthực là điều kiện tiên quyết của phân quyên

Trong luận văn này, tôi chỉ quan tâm tới vẫn đề điều khiến truy xuất Trong đó,mô hình XACML và GeoXACML là sẽ được quan tâm trong dé tài này

2.33 Ngôn ngữ XACMLXACML viết tắt của eXtensible Access Control Markup Language là một tiêu chuẩnđược định bởi tổ chức OASIS (Organization for the Advancement of StructuredInformation Standards) XACML là một ngôn ngữ quy định chính sách bao mật, cho

phép người quản trị định nghĩa những luật điều khiến truy xuất (cho phép hoặc từ chối

truy xuất của một nhóm người dùng nào đó) [7].Subject, Resource, Action va Environment Các thành phan Subject, Resource,Action, Environment là danh sách các Subject thực hiện truy xuất, Resource được yêucầu và Action mà Subject muốn thực hiện trên Resource, Environment là điều kiệnmôi trường khi truy xuất Cú pháp của Subject như sau:

HV: ĐĂNG TUẦN ANH 5

Trang 16

<SubjectMatch MatchId=" tén ham ">

những thuộc tinh cần dùng

</SubjectMatch></Subject>

</Subjects>

Hình 2: Cú pháp của Subject trong chính sách

Các thành phân còn lại cũng có cú pháp tương tự.Target Target được sử dụng trong XACML để nhóm các Subject, Resource, Actionvà Environment Có 2 nơi có Target Thứ nhất là trong một Policy.Target này ap dụngchung cho toàn bộ policy Thứ hai là trong một Rule (Rule nằm trong Policy) Targetnày chỉ áp dụng tới Rule chứa nó Cú pháp của Target như sau:

<Target>

<Subjects> cu pháp cho Subject ở trén </Subjects>

<Resources> </Resources><Actions> </Actions></Target>

Hinh 3: Cu phap cua Target trong chinh sach

Rule Một Rule mô tả một luật truy xuất Nó quyết định Effect (cho phép hay từ chối)tác động lên một Request nếu như Target của Rule phù hợp với Request va Conditionđược thỏa mãn Condition cho phép các hàm không liên quan trực tiếp tới Subject,Resource, Action hay Environment Thành phan Condition có thé có hoặc không.Cúphap cua Rule nhu sau:

<Rule Ruleld=” Rule name " Effect="Permit/Deny">

<Target>

cu pháp Target ở trên <Target/>

<Condition FunctionId=" tén ham ">

những thuộc tinh cho Condition

</Condition>

</Rule>

Hinh 4: Cu phap cua Rule trong chinh sachPolicy Policy có một Target chung va một danh sách các Rule bên trong Cú pháp cuaPolicy như sau:

Trang 17

<Policy Policyld=” tên policy " RuleCombiningAIgld=” thuật toan ">

<Target>

cu pháp target ở trên </Target>

<Rule RuleId=" Rule name " Effect=" Permit/Deny ">

cu pháp Rule ở trên </Rule>

<Rule RuleId=" Rule name " Effect=" Permit/Deny ">

cu pháp ở trên </Rule>

</Policy>

Hình 5: Cú pháp cua Policy trong chính sách

PolicySet PolicySet có một Target chung và một danh sách các Policy hoặc PolicySetbên trong Cú pháp của PolicySet như sau:

<PolicySet PolicySetId=" tén PolicySet " PolicyCombiningAl gId=" ">

<Target>

cu pháp target ở trên </Target>

<Policy Policyld=” tên policy " RuleCombiningAlgld=” ">

cú pháp cua Policy ở trên </Policy>

<Policy Policyld=” tên policy " RuleCombiningAlgld=” ">

cú pháp cua Policy ở trên </Policy>

</PolicySet>

Hình 6: Cú pháp của PolicySet trong chính sách

So sánh với những ngôn ngữ đặc tả khác, XACML có những lợi thế khiến ngôn ngữnày trở nên phô biến [7]:

e Tính tiêu chuẩn (standard): XACML là chuẩn được xem xét bởi một cộngđồng lớn các chuyên gia và người dùng Điều này có nghĩa là người dùng khôngcần phải suy nghĩ về tất cả các van dé khó khăn liên quan đến việc thiết kế mộtngôn ngữ mới Thêm vào đó, XACML ngày càng được triển khai rộng rãi hơn.Do đó, sẽ dễ dàng hơn để tương thích với các ứng dụng khác băng cách sửdụng cùng một ngôn ngữ tiêu chuẩn

e Tính tổng quát (generic): XACML có thể được sử dụng trong bat kỳ môitrường nào Một chính sách bảo mật có thé được sử dụng bởi nhiều ứng dụng

khác nhau và khi dùng chung một ngôn ngữ, việc quản lý chính sách sẽ trở nên dễ

dàng hơn.

HV: ĐĂNG TUẦN ANH 7

Trang 18

e Tinh phân bố (distributed): một chính sách bảo mật có thể tham khảo đếnnhững chính sách khác; vì vậy, những người dùng hoặc các nhóm khác nhau cóthé quan lý những phần nhỏ tương ứng của chính sách.

e Tính mạnh mẽ (powerful): XACML hé trợ rất nhiều loại dữ liệu và hàm khácnhau cũng như các quy định về cách kết hợp kết quả đánh giá của các chính sáchkhác nhau Bên cạnh đó, đã có những nhóm tiêu chuẩn liên kết với XACML tạothành các tiêu chuẩn khác (như SAML và LDAP), từ đó làm tăng khả năng sửdụng cho XACML.

2.4 Ngôn ngữ GeoXACML

GeoXACML được dé xuất bởi Andreas Matheus [8], là phan mo rong cua XACMLvà hiện tại đã trở thành một chuẩn của Open Geospatial Consortium (OGC) Phiênban dau tiên của GeoXACML cung cấp một dé nghị về cách khai báo và thực thi cácquyên truy cập hiệu quả và linh hoạt tùy thuộc vào nhu cầu bảo mật cho các hệ thôngGIS Dựa vào các điểm mở rộng của XACML, các tag <AttributeValue> được sửdụng để thêm các dữ liệu mới cho GeoXACML như sau:

e Gan giá tri tương ứng vào thuộc tính DataType, vàe Bảo đảm sự đúng dan về cú pháp, theo định nghĩa của GML phiên bản 2.1.2Một số kiểu dữ liệu hình học của GML sẽ được thêm vào GeoXACML:

Geometry type URN GML 2.1 elementPoint http://www opengis.net/gml#point gml:Point

LineString http://www.opengis.net/gml#linestring | gml:LineStringLinearRing http://www.opengis.net/gml#linearring | gml:LinearRingPolygon http://www.opengis.net/gml#polygon | gml:PolygonBox http://www opengis.net/gml#box gml:Box

Hình 7: Các kiểu dữ liệu hình học trong GeoXACMLBên cạnh những dữ liệu không gian, dé mô tả các giới hạn không gian, ta cần phảidùng đến các hàm không gian để kiểm tra mối quan hệ hình học giữa hai thực thékhông gian, mỗi hàm yêu cau hai thông số (có thé là bất kỳ kiểu dữ liệu không giannào) và trả về kết qua là True hoặc False Mỗi ham không gian dojoc xác định băngmột URN duy nhất và URI có cùng tiền tố htfp://www.andreas-matheus.de/geoxacml/1.0/function Hình 3.14 biểu diễn một vài hàm va URI tươngứng cua chúng trong GeoXACML

Trang 19

Spatial URN

FunctionDisjoint http://www andreas-matheus.de/geoxacml/1 0/function#disjointTouches http://www andreas-matheus.de/geoxacml/1 0/function#touches

Crosses http://www andreas-matheus.de/geoxacml/1 0/function#crossesWithin http://www andreas-matheus.de/geoxacml/1 0/function#withinOverlaps http://www andreas-matheus.de/geoxacml/1 0/function#overlaps

Intersects http://www andreas-matheus.de/geoxacml/1 0/function#intersects

Equals http://www andreas-matheus.de/geoxacml/1 0/function#equals

Hình 8: Các hàm không gian trong GeoXACMLHình bên dưới thể hiện, ý nghĩa một cách trực quan của các hàm không gian trong

Nf LOL 6

contains crosses’ disjoint equals intersect overlaps touches’ within

Hình 9: Trực quan các ham không gian trong GeoXACML

Ví dụ, với chính sách “người dùng Bob không được phép ghi thông tin đối tượngkhông gian của lớp Intersection nếu vị trí của Bob năm trong vùng giới hạn {foo, 3 0,6 1,65, 15, 0 2, 3 0}”, thành phần <Condition> của chính sách này sẽ dùng cáchàm không gian để biểu diễn điều kiện nhơi trong hình 3.15 [9] Thanh phan<Condition> sẽ trả về true nếu có bất ky vi trí nào của điểm giao được xác định nằmtrong vùng đa giác.

<Condition FunctionId="urn:oasis:names:tc:xacml:1.0:function:any-of"><Function FunctionId="http://www andreas-matheus.de

/geoxacml/1 0/function#within"/>

<AttributeValue DataT ype="http://www.opengis.net/gml#polygon">

<Polygon gid="P2" srsName="foo"><outerBoundaryls>

<LinearRing><coordinates>3 0,6 1,6 5,1 5,0 2,3 0</coordinates></LinearRing>

</outerBoundaryls></Polygon>

</AttributeValue>

HV: ĐĂNG TUẦN ANH 9

Trang 20

2.5 Mô hình điều khiến truy xuất GeooXACMLHình 11 cho thấy các khối chức năng chính và quy trình đánh giá yêu cầu truy xuấtcủa XACML và GeoXACML bao gồm các thành phan sau:

Policy te QC ' 'cục 5, Query attribute Context 9 Include resource | P \

Decsion = 4 contex esource

”> 10 Return attributes Handler in Context : Ị

sách bảo mật đã được định nghĩa trong hệ thống,

e Policy Repository: chứa các Rule, Policy, PolicySet trong mối quan hệ phâncấp được định nghĩa bởi thành phan Policy Administrator Point (PAP) và đượcContext Handler truy xuất dé lay thông tin cần cho việc đánh giá của PDP

Trang 21

e Policy Access Point (PAP): là thành phan hỗ trợ viết các chính sách và tập cácchính sách đồng thời bảo đảm chúng được sẵn sàng cho PDP dé đánh giá Cautrúc chính sách đã được trình bày chi tiết trong 2.3 và 2.4.

e Policy Information Point (PIP): có nhiệm vụ lay các giá tri cho các thuộctính được yêu câu và gửi trả về cho Context Handler Context Handler có thểnam giữ tài nguyên trong file context

2.6 Phan loại bất thường trong tập chính sáchTrong tập chính sách GeoXACML, bất thường có thé chia làm 2 loại như sau:Xung đột (Conflicting):m6t Rule là xung đột với những Rule khác nếu như Rule naychồng lap với những Rule khác nhưng có Effect khác nhau

Dư thừa (Redundant): một Rule là xung đột với những Rule khác nếu như Rule nàychồng lấp với những Rule khác nhưng có Effkct giống nhau

Như vậy sự bất thường xảy ra khi có sự chồng lấp của các Rule

Ví dụ: Giả sử ta có một tập chính sách sau:

<PolicySet PolicySetld=”"PSI” PolicyCombiningAIgId="First-A pplicable">

<Target/><Policy PolicyId="P1" RuleCombiningAlgId="Deny-Overrides">

<Target/><Rule Ruleld="rl” EffectE”Deny”>

</Rule><Rule Ruleld="r2” Effect=”Permit”>

Trang 22

<Action> Change </Action>

</Actions></Target>

<Condition> 8:00 < Time < 17:00 </Condition></Rule>

<Rule Ruleld=’r3” Effect=”Permit”>

<Condition> 12:00 < Time < 13:00</Rule>

</Poicy>

</PolicySet>

Hinh 12: Mot chinh sach GeoXACMLRule 1 xung đột với Rule 2 bởi vi Rule 2 cho phép một người thiết kế (designer) thayđổi (change) mã nguồn (code) trong khoảng thời gian [8:00, 17:00] trong khi Rule 1thì luôn luôn từ chối

Rule 3 là dư thừa bởi vi Rule 2 cũng cho phép người thiết kế (designer) thay đôi(change) mã nguồn (code) trong khoảng thời gian [12:00, 13:00]

2.7 Giải quyết xung đột quyền trong GeoXACMUL

Quy trình đưa ra một quyết định cấp phép cho mô hình điều khiến truy xuấtdựa trên rule phụ thuộc vào hai yếu tố: kết quả đánh giá của một rule và giải thuật kếthợp Các kết quả đánh giá của các rule liên quan sẽ được kết hợp lại thành một quyếtđịnh cấp phép duy nhất và việc kết hợp này sẽ dựa trên các giải thuật kết hợp dé giảiquyết các trường hợp xung đột giữa các quyền nếu có Phụ thuộc vào tính chất củagiải thuật kết hop mà một hay nhiều rule sẽ được đánh giá để quyết định khả năngtương đồng (matching) giữa rule và request và đưa ra kết quả Một vài giải thuật kếthợp trả về kết quả cấp phép là kết quả của rule tương đồng đầu tiên Một số giải thuậtkết hợp khác sẽ phụ thuộc vào thứ tự đánh giá các rule Do đó, kết quả quyết định cấpphép tong quát sẽ phụ thuộc ba yếu tố: giải thuật kết hợp, thứ tự các rule đánh giá và

Trang 23

kết quả đánh giá của các rule Một số các giải thuật kết hợp phô biến được dùng déđưa ra kết quả cấp phép cuối cùng như được liệt kê trong hình 13 [3]:

Giải thuật kết hợp Ý nghĩadeny-overrides Giải thuật kết hop này trả về Deny (từ chối) trong

trường hop có ít nhất một rule có kết quả là Deny.Giải thuật sẽ làm gián đoạn quá trình xử lý sau khimột rule có kết quả là Deny đầu tiên

permit-overrides Giải thuật kết hợp này trả về Permit (được phép)

trong trường hơp có ít nhất một rule có kết quả làPermit Giải thuật sẽ làm gián đoạn quá trình xử lýsau khi một rule có kết quả là Permit đầu tiên

first-applicable Giải thuật kết hop này tra về kết quả của rule đầu tiên

được đánh giá và vì vậy làm gián đoạn các quá trìnhxử lý các rule còn lại.

only-one-applicable Giải thuật này xử lý tất cả các rule trong một chính

sách Nêu có nhiêu hơn một rule có khả năng áp dụngthì giải thuật kêt hợp sẽ trả về lôi xử lý.

ordered-deny-overrides Tương tự với deny-overrides ngoại trừ việc xử lý các

rule dựa vào thứ tự của chúng

ordered-permit-overrides Tương tự với permit-overrides ngoại trừ việc xu lý

các rule dựa vào thứ tự của chúng

specific-general Giải thuật kết hợp có cùng tính chất với giải thuật

first-applicable nhưng nó có ngữ nghĩa khác Các ruleđược kết hợp bởi giải thuật có liên quan với nhau vàđược khai báo trong mối quan hệ tổng quát / ngoại lệ.Hình 13: Các giải thuật kết hợp chính sách, luật

Tuy nhiên, mô hình được đề xuất được dựa trên GeoXACML để đặc tả cácchính sách truy xuất Do đó, ngoại trừ quá trình kết hợp rule, còn có quá trình kết hợpcác chính sách So với các ngôn ngữ chính sách như XACL, EPAL, SPL, hay firewallpolicy, GeoXACML cho phép cách tiếp cận xử lý khi đánh giá các quyền một cáchlinh hoạt nhất với 6 chiến thuật: deny-overrides, permit-overrides, ordered-deny-overrides, ordered-permit-overrides, first-applicable, và only-one-applicable như đượcđịnh nghĩa trong bảng Hình 13.

Một file chính sách GeoXACML bao gồm 3 phan tử: rule, policy, va policyset Một rule là một thành phan chính sách cơ bản nhất, gồm 3 thành phan chính làtarget, condition và effect Target xác định một tập các chủ thể (subject), tài nguyên(resource) và các hành động (action) mà rule đó được áp dụng Condition xác định cácràng buộc trên thuộc tinh trong target và giới hạn lại phạm vi áp dung rule Effect xácđịnh nếu request thỏa mãn các điều kiện áp dụng trong Target và Condition thì kết

HV: ĐĂNG TUẦN ANH 13

Trang 24

quả là Permit hay Deny Nếu effect là permit, rule đó còn gọi là rule được phép (haypositive rule) Ngược lại, rule đó là rule cấm truy xuất (hay negative rule) Nếurequest không thỏa mãn các điều kiện trong target và condition thì rule đó không théáp dung được đến request và kết quả đánh giá sẽ là NotA pplicable.

Một chính sách bao gồm 4 thành phân chính: target, giải thuật kết hợp rule, tậpcác rule và các obligation Target của chính sách quyết định xem một request có théáp dụng đến chính sách hay không Thành phan này cũng tương tự target của rule.Giải thuật kết hợp rule xác định cách đưa ra quyết định cho chính sách từ các ruleđược kết hợp với nhau trong chính sách Obligation thé hiện chức năng sẽ được thựcthi cùng với việc thi hành quyết định cấp phép

Một policy-set cũng có 4 thành phan: target, giải thuật kết hợp chính sách, tậpcác chính sách con và obligation Một chính sách con có thé là một policy hoặc mộtpolicy-set Giải thuật kết hợp chính sách sẽ xác định cách kết hợp các kết quả đánhgiá của các chính sách con thành kết quả cuối cùng

Trong GeoXACML, một rule, một policy hoặc một policy-set sẽ trả về mộttrong 4 quyết định tương ứng khi đánh giá request: Permit, Deny, NotApplicable và

Indeterminate Giá trị Indeterminate xảy ra khi quá trình đánh giá chính sách bị lỗi Ví

dụ nếu giải thuật kết hợp chính sách là only-one-applicable mà trong policy set cónhiều hơn một policy có khả năng áp dụng thì kết quả kết hợp các policy trong policy-set đó là Indeterminate.

Việc đánh giá các rule, policy va policy-set dé đưa ra quyết định cấp phép cuốicùng dựa trên các giá trị đánh giá từng thành phân và giải thuật kết hợp được diễn tảchỉ tiết trong các bang sự thật (Hình 14)

GeoXACML sẽ đánh giá các rule trong từng policy trước Kết quả đánh giámột rule sẽ dựa trên việc đánh giá Target và Condition trong rule đó Nếu các thànhphân request tương ứng với thành phần trong Target thì việc đánh giá Target có kếtquả gọi là Match, nghĩa là Rule đó có thể áp dụng cho request đó Biểu thứcCondition sẽ trả về True nếu request đó thỏa mãn các điều kiện kiểm tra, ngược lại làfalse Nếu việc kiểm tra điều kiện không thể đánh giá do thiếu thông tin, quá trìnhđánh giá bị lỗi, v.v kết quả trả về là Indeterminate Cụ thể bảng đánh giá như sau:

Target Condition Gia tri rule

Match True Tuy gia tri Effect (Permit hayMatch False NotA pplicable

Match Indeterminat Indeterminate

No-match Không quan NotA pplicable

Indeterminat Không quan Indeterminate

Hinh 14: Bang sw that danh gia rule

Trang 25

Sau khi đánh giá các rule trong policy, kết qua đánh giá một policy sẽ dựa trênviệc đánh giá Target của Policy (tương tự Rule), kết quả đánh giá các rule và giảithuật kết hợp rule Cụ thể như sau:

Targe Giá trị các rule Giá trị policy

Match Có ít nhất một rule giá trị là Effect | Xác định bởi giải thuật kethợp rule

Match Tắt cả các rule là “NotApplicable” | NotApplicable

Có ít nhất một rule có giá trị là | Xác định bởi giải thuật kếtMatch

Indeterminate hop ruleNo-match Không quan tâm NotApplicable

Indeterminate | Không quan tam Indeterminate

Hình 15: Bang sự thật đánh gia policy“Có ít nhất một rule có giá trị là Effect” nghĩa là hoặc phan tử Rule bị văngmặt trong Policy hoặc có một hoặc nhiều hơn một rule chứa trong policy là khả ápdụng cho request Lúc này, các rule sẽ trả về các giá trị Permit hoặc Deny Kết quả kếthợp sẽ phụ thuộc vào giải thuật kết hợp rule

Sau khi đánh giá Policy, PolicySet sẽ được đánh giá để quyết định khả năng ápdụng của PolicySet Việc đánh giá cũng phụ thuộc vào phan tử Target, các policy vàPolicySet chứa bên trong và giải thuật kết hợp chính sách Cụ thể như bảng sau:

Target Giá trị các policy Giá tri policy set

Có ít nhất một policy giá | Xác định bởi giải thuật

Match on - F

tri la Decision két hop policyTat cả các policy là Match “NotApplicable” NotApplicableMatch Có ít nhất một policy có | Xác định bởi giải thuật

giá tri là Indeterminate kêt hợp policyNo-match Không quan tâm NotApplicable

Indeterminate Không quan tam Indeterminate

Hinh 16: Bang sw that danh gia PolicySet“Có ít nhất một policy giá trị là Decision” nghĩa là nếu không có policy haypolicy-set được chứa hoặc tham khảo đến; hoặc nếu có một hoặc nhiều hơn mộtpolicy hay policy-set được chứa hoặc tham khảo trong policy-set đang đánh giá là khảáp dụng đến request thì kết quả sẽ trả về được quyết định bởi giải thuật kết hợp

Các phần sau sẽ mô tả chỉ tiết hơn về các giải thuật kết hợp sẽ được quyết địnhnhư thế nào trong các trường hợp trên

Deny-overrides

HV: ĐĂNG TUAN ANH 15

Trang 26

Giải thuật kết hop ruleTrong toàn bộ các rule trong policy, nếu có bất kỳ rule nào được đánh giá làDeny, vậy thì kết quả kết hợp sẽ là Deny Nếu bất kỳ rule nào đánh giá là Permit vàtat các những rule còn lại đánh giá là NotApplicable thì kết quả kết hợp là Permit Nóicách khác, Deny sẽ đóng vai trò ưu tiên khi đưa ra kết quả kết hợp Nếu có một lỗixảy ra khi đánh giá target hoặc condition của một rule chứa giá trị Effect là Deny vậythì việc đánh giá sẽ được tiếp tục cho các rule tiếp theo, để tìm kiếm kết quả Deny.Nếu không còn rule nào được đánh giá là Deny vậy thì kết quả kết hợp sẽ làIndeterminate với trạng thái lỗi đi kèm Nếu có ít nhất một rule được đánh giá làPermit, tất cả các rule còn lại không có lỗi, được đánh giá là Permit hoặcNotApplicable và các rule mà có lỗi khi đánh giá nhưng giá trị Effect là Permit thì kếtquả kết hợp sẽ là Permit.

s% Giải thuật kết hop policyTrong toàn bộ các policy của policy-set, nếu bat kỳ policy được đánh giá làDeny, vậy thì kết quả kết hợp sẽ là Deny Nếu một lỗi xảy ra trong khi đánh giáTarget của policy hoặc policy tham khảo là không hợp lệ hoặc kết quả đánh giá làIndeterminate, vậy thì policy-set đó có giá trị là Deny.

Orderred-deny-overrides

Giải thuật kết hợp này tương tự deny-overrides ngoại trừ một điểm khác biệt làthứ tự trong tập các rule hay chính sách được đánh giá sẽ tương ứng với thứ tự đượcliệt kê trong policy hay policy-set.

Permit-overridesGiải thuật kết hop rule

Trong toàn bộ các rule trong policy, nếu có bất kỳ rule nào được đánh giá làPermit, vậy thì kết quả kết hợp sẽ là Permit Nếu bat ky rule nao đánh giá là Deny vatat các những rule còn lại đánh giá là NotApplicable thì kết quả kết hop là Deny Nóicách khác, Permit sẽ đóng vai trò ưu tiên khi đưa ra kết quả kết hợp Nếu có một lỗixảy ra khi đánh giá target hoặc condition của một rule chứa giá tri Effect là Permitvậy thì việc đánh giá sẽ được tiếp tục cho các rule tiếp theo, để tìm kiếm kết quảPermit Nếu không còn rule nào được đánh giá là Permit vậy thì kết quả kết hop sẽ làIndeterminate với trạng thái lỗi đi kèm Nếu có ít nhất một rule được đánh giá làDeny, tất cả các rule còn lại không có lỗi, được đánh giá là Deny hoặc NotApplicablevà các rule mà có lỗi khi đánh giá nhưng giá trị Effect là Deny thì kết quả kết hợp sẽlà Deny.

s% Giải thuật kết hop policy

Trang 27

Trong toàn bộ các policy của policy-set, nếu bat ky policy được đánh giá làPermit, vậy thì kết quả kết hợp sẽ là Permit Nếu một lỗi xảy ra trong khi đánh giáTarget của policy hoặc policy tham khảo là không hợp lệ hoặc kết quả đánh giá làIndeterminate và không có policy nào được đánh giá là Permit hay Deny, vậy thì

policy-set đó có giá trị là Indeterminate với trạng thái lỗi đi đèm

Orderred-permit-overrides

Giai thuat két hợp nay tương tu permit-overrides ngoại trừ một điểm khác biệtlà thứ tự trong tập các rule hay chính sách được đánh giá sẽ tương ứng với thứ tựđược liệt kê trong policy hay policy-set.

First-applicableGiải thuật kết hop rule

Mỗi rule được đánh giá theo thứ tự được liệt kê trong policy Với một rule nàođó mà target được thỏa va condition được đánh giá là True vậy thì việc đánh giapolicy đó sẽ dừng và kết quả kết hop trả về là giá trị Effect của rule đó Nếu target củarule đó là không thỏa hoặc condition trả về False, vậy thì rule kế tiếp sẽ được đánhgiá Nếu không có rule nào nữa thì policy sẽ trả về NotApplicable

Nếu một lỗi xảy ra khi đánh giá Target và Condition của một rule, vậy thì việcđánh giá sẽ dừng, policy sẽ trả về là Indeterminate với một trang thái lỗi tương ứng

s% Giải thuật kết hop policyMỗi policy được đánh giá theo thứ tự xuất hiện trong policy-set Với mộtpolicy nào đó mà target được thỏa và policy được đánh giá là Permit hay Deny vậy thìviệc đánh giá policy-set đó sẽ dừng và kết quả kết hợp trả về là giá trị Effect củapolicy đó Nếu target của rule đó là không thỏa hoặc policy đánh giá làNotApplicable, vậy thì policy kế tiếp sẽ được đánh giá Nếu không có policy nào nữathì policy-set sẽ trả về NotApplicable

Nếu một lỗi xảy ra khi đánh giá Target hoặc khi đánh giá một policy nao đó,policy tham khảo không hợp lệ hoặc policy đó được đánh giá là Indeterminate, vậy thìviệc đánh giá sẽ dừng, poslicy-set sẽ trả về là Indeterminate với một trạng thái lỗitương ứng.

Only-one-applicable

Giải thuật kết hợp này chỉ được áp dụng cho policy-set Trong tập các policycủa policy-set, nếu không có policy nào là khả áp dụng do Target của nó vậy thì kếtqua của việc kết hợp policy sẽ là NotApplicable Nếu có nhiều hơn một policy là khảáp dụng vậy thì kết quả kết hợp sẽ là Indeterminate Nếu chỉ có duy nhất một policy làkhả áp dụng vậy thì kết quả kết hop sẽ trả về kết quả đánh giá policy đó Nếu có lỗi

HV: ĐĂNG TUẦN ANH 17

Trang 28

xảy ra khi đánh gia Target cua mot policy, hoặc một tham khảo là không hợp lệ hoặcviệc đánh giá policy trả về kết quả là Inderterminate, vậy thì policy-set sẽ trả về là

Indeterminate với một trạng thái lỗi tương ứng

Tóm lại, với 6 chỉ thị cho việc kết hợp các kết quả đánh giá cho từng rule,policy và policy-set, XACML đã hé trợ việc đưa ra kết quả quyết định cấp phép cuốicùng một cách tự động dựa vào từng chiến thuật trong trường hợp các quyên xung độtlẫn nhau Việc kế thừa những tinh năng nay của XACML đã giảm chi phí hiện thựcdé xử lý quá trình đánh giá các chính sách một cách đáng kể

Những thuật toán này giải quyết xung đột nhưng không quan tâm vẻ tính đúngdan của việc giải quyết Nó dựa hoàn toàn vào trách nhiệm của người quan trị (ngườithiết kế chính sách)

Chương 3: Các công trình nghiên cứu liên quan

Van dé phát hiện bất thường trong tập chính sách điều khiến truy xuất và cácvấn đề liên quan đã được nhiều nhà khoa học tập trung nghiên cứu Tuy nhiên, chưacó nghiên cứu nào trực tiếp giải quyết bài toán phát hiện bất thường đối với ngôn ngữGeoXACML mà đặc biệt là phát hiện bất thường trong các ràng buộc không gian

Trang 29

trong tập chính sách của GeoXACML O phan nay, một số công trình nghiên cứu liênquan, tiêu biéu sẽ được trình bày.

Huonder [10] đã đề xuất cơ chế phát hiện xung đột trong XACML Trong đó,tác giả đã xây dựng thuật toán phát hiện xung đột tong quát, có nghĩa là nó có thé pháthiện bất kỳ xung đột nào.Thuật toán này có thể cải tiến để phát hiện cả dư thừa Tuynhiên, tác giả đã loại bỏ thành phần Condition trong quá trình phát hiện xung đột Tácgiả cũng dé xuất 2 cách để giải quyết xung đột Cách thứ nhất tương tự với cáchXACML đã làm Cách thứ hai là thay thế tập luật hiện tại với một tập luật tươngđương Nghĩa là kết quả của việc đánh giá mọi Request bang tập luật cũ va tap luậtmới là hoàn toàn giống nhau Tuy nhiên tập luật mới không có bất kỳ sự giao nhaunào, vì vậy nó không chứa xung đột Và mỗi Request chỉ có nhiễu nhất là một Rulephù hợp với nó.

Hongxin Hu và các đồng nghiệp trong bài báo [11] đã đề xuất một kỹ thuậtphân mảnh chính sách sử dụng sơ đồ Binary Decision Diagram (BDD) để biểu diễnchính sách XACML và thuật toán của họ sẽ sử dụng các toán tử tập hợp như Hợp (VU),Giao (ñ) và Hiệu (\ trên các sơ đỗ BDD dé phát hiện các xung đột

Trong bài báo [12], Agrawal và các đồng nghiệp đã giới thiệu một phươngpháp để phát hiện xung đột chung cho các ngôn ngữ biểu diễn chính sách điều khiếntruy xuất và có thé áp dụng cho ngôn ngữ XACML Một số nghiên cứu khác khôngtrực tiếp giải quyết bài toán phát hiện bat thường mà là những bai toán liên quan nhưVIỆC kết hợp các chính sách XACML trong các bai báo [13, 14, I5], và tối ưu hóaXACML [16, 17].

Phan tiếp theo là chi tiết của một số nghiên cứu quan trọng liên quan trực tiếptới dé tài này

3.1 Phuong pháp hình học

Trong công trình của Hounder [10], ông chỉ quan tâm tới van dé phát hiệnxung đột trong thành phần Target của chính sách, thành phần Condition sẽ khôngđược xét đến Mỗi một chính sách XACML sé được chuyền thành một hình chữ nhậtn chiêu trong không gian n chiều Mỗi thuộc tính trong Target hình thành nên 1 chiêu.Các hàm XACML có thể xuất hiện trong phân Target là =, <, <=, >, >= và *-match.Trong kho chính sách có thể có nhiều chính sách sẽ tương ứng với nhiều hình chữnhật Những hình chữ nhật này có thé chồng lap lên nhau Các chồng lap này sẽ xácđịnh một xung đột nếu giá trị Effect của chúng khác nhau

Chúng ta xem xét một ví dụ đơn giản gồm 3 chính sách sau:e _ Chính sách 1: ((1 <x < 4)AND (2 <y <5))—Permit

HV: ĐĂNG TUẦN ANH 19

Trang 30

e Chinh sách 2: (3 <x < 6)AND (1 <y <4))>Denye Chính sách 3: (5 <x < 7)AND (6 < y < 8))—Permit

6

Biểu hiện các luật trên trong không gian 2 chiều như hình 17 Xung đột trongví dụ này xảy ra khi một Request chứa thuộc tính x nam trong đoạn [3,4] và y namtrong đoạn [2.4] Khi đó, cả 2 chính sách P1 và P2 đều có thé áp dụng cho Requestnày, nhưng Effect của chúng trái ngược nhau.

3.1.1 Việc chuyển đổi XACML Target vào không gian n chiều

Ý tưởng cơ ban là chuyển đối tất cả các thuộc tính vào không gian n chiềubang cách chuyển đối chúng thành các kiểu co ban integer, double, string, và máytrạng thái hữu hạn Tat cả các kiểu của XACML đều dễ dàng chuyền về 4 kiểu này.Việc chuyển đổi này sẽ giúp chúng ta dé dàng xử lý cho các kiểu dữ liệu Việc chuyểnđối thành một máy trạng thái hữu hạn là trường hợp đặc biệt khi có thuộc tính nào đóđược so sánh băng hàm *-match Khi đó Target của một chính sách không hình thànhmột khoảng trong một chiều nào đó, khi đó chúng ta sử dụng máy trạng thái hữu hạnđể xử lý trường hợp đặc biệt này

3.1.2 Các kiểu dữ liệu được chuyển thành Integerhttp://www.w3.org/2001/XMLSchema#integerKhông can chuyên đôi vi đã là kiêu integer

Trang 31

http://www.w3.org/2001/XMLSchema#booleanKiểu dit liệu này chỉ có 2 giá tri: true va false Ta chuyển đổi false—>0 và true—1http://www.w3.org/2001/XMLSchema#time

Kiểu dữ liệu này được chuẩn hóa thành múi giờ GMT và được chuyển thành sốinteger biểu diễn số mili giây kế từ 00:00 GMT

http://www.w3.org/2001/XMLSchema#dateĐược chuyển đổi thành số integer biểu diễn số mili giây kế từ 01/01/1970 00:00:00GMT Ngày trước 01/01/1970 sẽ được biểu diễn bằng số âm Thanh phan thời gianluôn luôn là 00:00:00, chỉ xem xét phân ngày tháng

urn:oasis:names:tc:xacml:2.0:data-type:day TimeDurationSố integer biểu diễn số giây của khoảng thời gian

urn:oasis:names:tc:xacml:2.0:data-type:yearMonthDurationSố integer biểu diễn số tháng của khoảng thời gian

3.1.3 Cac kiểu dữ liệu được chuyền đổi thành kiểu DoubleChỉ có một kiểu dữ liệu cần chuyền thành kiểu Double làhtfp://www.w3.org/2001/XMLSchema#double

3.1.4 Các kiểu dữ liệu được chuyền đổi thành kiểu StringVới các kiểu dữ liệu được liệt kê bên dưới, nêu ham áp dụng lên các kiểu dữ liệu nàylà các hàm so trùng *-match thì các kiểu dữ liệu này cần được chuyền đổi thành máytrạng thái hữu hạn Trong trường hợp còn lại thì sẽ được chuyển đổi thành kiểu Stringhtfp://www.w3.org/2001/XMLSchema#string

http://www.w3.org/2001/XMLSchema#anyURIhttp://www.w3.org/2001/XMLSchema#hex Binaryhttp://www w3.org/2001/XMLSchema#base64Binaryurn:oasis:names:tc:xacml: | 0:data-type:xSOONameurn:oasis:names:tc:xacml: | 0:data-type:rfc322Name3.1.5 Các kiéu dữ liệu được chuyển đổi thành máy trạng thai hữu hanCác kiểu dữ liệu sau đây cần được chuyển thành máy trạng thái hữu hạn khi có ít nhất1 hàm *-match giữa tat cả các chính sách mà chứa cùng thuộc tính

htfp://www.w3.org/2001/XMLSchema#stringhttp://www.w3.org/2001/XMLSchema#anyURI

HV: ĐĂNG TUAN ANH 21

Trang 32

urn:oasis:names:tc:xacml: | 0:data-type:x500Name2urn:oasis:names:tc:xacml: | 0:data-type:rfc322Nameurn:oasis:names:tc:xacml:2.0:data-type:ipAddressurn:oasis:names:tc:xacml:2.0:data-type:dnsName3.1.6 Thuật toán xác định xung đột

Ý tưởng chính là biểu diễn các chính sách như những siêu chữ nhật n chiêu.Thuật toán sau đó chạy trên mỗi chiều và xác định sự giao nhau giữa các chính sách.Việc xác định này phụ thuộc vào kiểu dữ liệu của thuộc tính trong mỗi chiều Thuậttoán có những bước sau:

1 Chuyển đổi tat cả các chính sách vào không gian n chiều2 Xác định điểm đầu và điểm cuối của khoảng mà mỗi chính sách bao phủ3 Trên mỗi chiêu:

a/ Xác định các cặp giao nhau sử dung | trong 3 thuật toán sau- Thuật toán Plane Sweep

- Thuật toán AABB - AABB Intersection- Thuật toán Regex Intersection

b/ Loại bỏ những chính sách không thể conflict với những cái khác4 Báo tat cả các cặp conflict

Xác định điểm đầu và điểm cuối:Có 3 trường hợp:

- Khoảng đóng: [x; y], (x; y), (x; y| hoặc [x; y) Ví dụ x > 5 vax < 10—(5; 10].- Khoảng mở: (œ; y] Có cau trúc giỗng khoảng đóng nhưng cận trên hoặc cận dưới làtoo, Vi du x <2—(—øœ; 2].

- Một điểm: [x:x] Một khoảng mà cận trên cận dưới băng nhauVi dụ: x = I0—[10;10].

Biểu thức chính quy không thé biểu diễn ở dang một khoảng mà sẽ được biến đổithành máy trạng thái hữu hạn.

Xác định các cặp giao nhau:

1 Thuật toán Plane Sweep:Bước |: sap xêp theo diém dau và diém cuôi của tat cả các chính sách

Bước 2: duyệt các điểm theo thứ tự đã sắp xép Dat mot chinh sach vao tap S khi gap

điểm dau của chính sách đó Xóa chính sách khỏi tập S nếu gặp điểm cuối của chính

Trang 33

sách Nêu có 2 chính sách trở lên trong tap S ta xác định được có sự giao nhau của cácchính sách đó.

Bước 3: thông báo các cặp giao nhau2 Thuật toán AABB - AABB IntersectionBước 1: lay 2 chính sách có giá trị Effect khác nhauBước 2: nêu cận dưới của | chính sách nhỏ hon cận trên của chính sách còn lại thì 2chính sách đó giao nhau

Bước 3: thông báo các cặp giao nhau

3 Thuật toán Regular Intersection

Một biéu thức chính quy là tương đương với một máy trạng thái hữu hạn Vì vậy ta sẽchuyển biểu thức chính quy thành máy trạng thái bởi vì việc xác định sự giao nhaucủa 2 máy trạng thái hữu hạn là dễ dàng Thuật toán để xác định 2 máy trạng thái hữuhạn FI và F2 có giao nhau không sẽ có các bước sau:

1.Tao ra một máy trạng thái hữu han mới F Trong đó F là tích Décac của Fl và F22 Trạng thái bắt đầu của F là trạng thái mà giữ trạng thái bắt đầu của F1 và F23 Trạng thái chấp nhận của F là những trạng thái chấp nhận của F1 và F2

4 Với mỗi trạng thái của F

a) Lap qua tat cả các thành phan của bộ từ điển 3.b) Bắt đầu đồng thời trên cả 2 máy trạng thái gốc F1 và F2 đỗ và vào các thànhphan của >

c) Tạo một kết nối trong F tới trạng thái đang giữ trạng thái đích mà đã đạt tớibang việc vào các thành phân của > trong F1 và E2

5 Thực hiện tìm kiếm theo chiều sâu từ trạng thái khởi đầu của F Giữ lại tất cả cácđường đi mà kết thực ở một trạng thái chấp nhận của F

Nếu tôn tại ít nhất một đường đi tới trạng thái chấp nhật thì những máy trạng thái vànhững biéu thức chính quy có giao nhau

3.1.7 Phan tích độ phức tạp tính toánCác tham số sử dụng trong phân tích:

e n:số chính sáche = d: số chiều (thuộc tính)e Dp: số chính sách có Effect là Permit

HV: ĐĂNG TUẦN ANH 23

Trang 34

Thuật toán Plane Sweep thuật toán Plane Sweep bao gồm 3 bước Bước 1, sắp xếp,chi phi trong trường hợp xấu nhất là : O(n * log (n)) Bước 2 và 3 chạy đồng thời vàchỉ phí trong trường hợp xấu nhất là O(n) Bởi vì những thuật toán này chạy trên từngchiêu trong tat cả d chiều vì vậy chi phí tong cộng:

O(d * n * log(n)) + O(d * n) & O(d *n *log (n))Thuật toán AABB-AABB Intersection thuật toán AABB-AABB Intersection bao

gdm 3 bước Bước |, tao ra các tập biên, chi phí trong trường hợp xấu nhất là : O(n).Bước 2 và bước 3, kiểm tra các phan giao và báo kết quả, chạy đồng thời và chi phítrong trường hợp xấu nhất là O(p * (n-p)) Bởi vì những thuật toán này chạy trên từngchiêu trong tat cả d chiều vì vậy chi phí tong cộng:

O(d * n)+O(d * p * (n—p)) & O(d # p * (n-p)).

Thuật toán Regex Intersection

Chi phí cuối cùng trong trường hợp xấu nhất như sau:¢ Chuyên từ biéu thức chính quy sang máy trang thái hữu hạn bat định:

5 Xây dựng tích dé-cac của các cặp máy trạng thái hữu hạn xác định tối thiểu hóa:

Chi tiết việc đánh giá độ phức tạp được trình bày chỉ tiết trong [10]

Trang 35

3.2 Phương pháp sử dung Binary Decision Diagram (BDD)3.2.1 Biểu diễn chính sách ở dạng sơ đồ BDD

Kĩ thuật phân mảnh dựa trên policy được giới thiệu trong phan tiếp theo yêucầu được chuyển sang dạng Binary Decision Diagram (BDD) Cấu trúc này sẽ đượcsử dụng để biểu diễn các chính sách XACML Một chính sách XACML, có thé đượcphân tích để xác định các Subject, Action, Resource và các thuộc tinh Condition Mộtkhi những thuộc tinh này được xác định, tat cả các luật XACML có thé được chuyểnđổi thành biểu thức logic Mỗi biéu thức logic của một luật là kết hợp của những biểuthức logic nguyên tô bang các toán từ V va A Một biểu thức nguyên tô như một ràng

buộc băng, hoặc một ràng buộc khoảng ví dụ như Subject = “student” hoặc

8:00<=Time <=17:00 Biéu thức logic cho mỗi luật XACML có thể chứa những biểuthực với khoảng giá trị chồng lấp lên nhau Trong trường hợp như vậy, những biểuthức logic nguyên tố sẽ được chuyển đổi thành một chuỗi những biểu thức logicnguyên tố mới mà có khoảng giá trị tách rời nhau Và gán mỗi biểu thức logic nguyêntố như một biến Ta xem xét một ví dụ sau:

Rule 1: (Subject = “Designer” V Subject = “ester”) A (Resource = “Codes”) A(Action = “Change”)

Rule 2: (Subject=“Designer” V SubJect=““Iester”) A (Resource=“Reports” V Resource= “Codes”) A (Action = “Read” VAction = “Change”) A (8 : 00 < Time < 17 : 00)Các biểu thức logic nguyên tô tương ứng và biến logic

Biéu thức logic nguyên tố | Biến logicSubject = “Designer” S1

Subject = “Tester” S2Subject = “Developer” S3Subject = “Manager” S4Resource = “Reports” RlResource = “Codes” R2Action = “Read” AlAction = “Change” A28 : 00 < Time < 12 : 00 Cl12: 00 < Time < 13 : 00 C2

HV: ĐĂNG TUAN ANH 25

Trang 36

13 : 00 < Time < 17 : 00 C3Hình 18: Cac biểu thức logic nguyên tổVậy ta sẽ có một biéu thức logic sau khi đã được gán biến cho Rule | là(SIVS2)A(R2)A(A2)

Và cho Rule 2 là(SIVS2)A(RIVE2)A(AIVA2)A (C1 VC2 VC3)Các sơ đồ BDD là những đồ thị có hướng biểu diễn các biểu thức logic Mỗi nốtkhông phải nốt kết thúc là một biến logic, và có 2 cạnh với nhãn nhị phân, 0 va 1tương ứng với không tổn tại và ton tại Nhưng nốt kết thúc biểu diễn 2 giá trị logicTrue và False Hình sau thé hiện so đồ BDD của 2 luật R1 và R2:

(a) BDD,; (b) BDD„;

Hình 19: Sơ đồ BDD của 2 luật R1 và R2Một khi những cây BDD được xây dựng cho các luật XACML, thì việc thực hiện cácphép toán như Hợp (U), Giao (M), Hiệu), được yêu cầu bởi thuật toán phân manhdựa trên chính sách sẽ được thực thi một cách hiệu quả [30]

3.2.2 Thuật toán xác định xung độtCơ chế phát hiện xung đột này xem xét những xung đột ở cả mức Policy và mứcPolicy Set cho các chính sách XACML Dé xác định xung đột, các tác giả giới thiệukỹ thuật phân mảnh dựa trên chính sách để phân mảnh toàn bộ không gian phânquyên của chính sách vào trong những mảnh không gian phân quyên tách biệt Sau đónhững mảnh không gian phân quyển xung đột sẽ được xác định Mỗi một mảnh khônggian phân quyên xung đột chỉ ra một xung đột chính sách

Trang 37

Một thành phan chính sách trong chính sách XACML bao gồm một tập cácluật Mỗi luật định nghĩa một vùng không gian phân quyên với Effect hoặc là Permithoặc Deny Các tác giả gọi một vùng không gian phân quyển với Effect Permit làPermited Space và vùng không gian phân quyên với Effect Deny là Denied Space.

Input: A policy P with a set of rules.Output: A set of disjoint conflicting authorization spaces C'S for P./* Partition the entire authorization space of P into disjoint spaces*/

S.New();S <— Partition_P(P);/* Identify the conflicting segments */CS.New():

foreach s € S do/* Get all rules associated with a segment s */

14 8> —— AuthorizationSpace(r);

15 | S —— Partition(S, s,.);

16 return S:17 Partition(S, s„)18 foreach s € S do19 /* s, is a subset of s*/20 ifs, C s then21 S.Append(s \ s;,-):22 S — S,;}

23 Break;24 /* s, is a superset of s*⁄25 else if s„ > s then

26 L Sp — 8, \ 8;

27 /* §, partially matches s*/

28 else if s„ f1 s 4 @ then29 S.Append(s \ s„):

30 8 — 8,Ns:;:32 S.Append(s,.);

33 return S;

Hinh 20: Thuat toan xac dinh xung dotThuật toán ở hình 20 thé hiển mã giả của việc sinh ra các vùng không gianxung đột cho một thanh phan chính sách P Một vùng không gian phân quyền day đủđược suy ra từ một thành phân chính sách đầu tiên sẽ được phân mảnh thành một tậpcác mảnh tách biệt Nhu được thé hiện trong dong 16-32 trong thuật toán trên một

HV: ĐĂNG TUẦN ANH 27

Trang 38

hàm được gọi là Partition() sé làm chức năng nay Ham nay thực hiện băng cách thêmmột vùng không gian phân quyển s của Rule R to tập các vùng không gian phânquyền S Một cặp vùng không gian phân quyên phải thỏa mãn những quan hệ sau:subset (dòng 19), superset (dòng 24), partial match (dòng 27) va disjoint (dong 31).Khi đó có thé sử dung các toán tử tập hợp dé phân những vùng không gian chong lapthành các vùng không gian tách biệt.

Các mảnh xung đột được thể hiện trong dòng 6-9 trong thuật toán Một tậpmảnh xung đột CS:ƒes1, cs2, esn} từ những luật xung đột có những tính chất sau:

- Tat cả mảnh xung đột là tách biệt từng đôi một- Hai request q va q’ trong cùng một mảnh xung đột (csi) sẽ cùng so trùng

với cùng tập luật- Effect của những luật so trùng trong bat kỳ mảnh xung đột nào đều chứa cả

Permit và Deny

Trang 39

Chương 4: Hướng tiếp cận và thuật toán4.1 Các cơ chế phát hiện bất thường và hướng tiếp cận

Những chiến lược khác nhau trong việc phát hiện xung đột có thể phân loạibăng việc xem xét thời điểm của quá trình phát hiện được áp dụng Phụ thuộc vào thờigian 4p dụng, hai lớp khác nhau của những cách tiếp cận phát hiện xung đột có théđược định nghĩa: (1) phát hiện ở thời điểm thiết kế (được gọi là cơ chế phát hiện tĩnh)và (2) phát hiện ở thời điểm chạy (gọi là cơ chế phát hiện động)

Cơ chế phát hiện tĩnh được dùng trước khi triển khai hệ thông Loại phát hiệnnày có để loại bỏ tất cả các xung đột giữa các chính sách ở thời điểm thiết kế Trongkhi, cơ chế phát hiện động được thực hiện khi hệ thong đang hoạt động va người dùngđang sử dụng hệ thống Ưu điểm của việc sử dụng phát hiện tĩnh là cách giải quyếtxung đột là được biết trước khi nó xảy ra Việc xem xét cách giải quyết được cungcấp ở thời điểm của việc phát hiện xung đột tĩnh bởi người quản lý chính sách Ưuđiểm chính của phương pháp phát hiện động là thông tin có thể được thu nhận từ hệthong khi đang chạy Thong thường với loại phát hiện nay có một số chiến thuật mặcđịnh được định nghĩa để xử lý với những xung đột Tuy nhiên, một vài bất thườngkhông thé được giải quyết sẽ cần được báo cáo lại với người quản lý hệ thống

Một nhược điểm của việc dùng phương phát phát hiện tĩnh là bởi vì hệ thốngchưa chạy nên một số xung đột được phát hiện có thể sẽ không bao giờ phát hiện vàdo đó không cần phải giải quyết chúng Tuy nhiên, mặt khác đây cũng là một đặctrưng được xem như ưu điểm của phương pháp phát hiện tĩnh Nếu như phương phápphát hiện tĩnh không thé tìm thay bất kì xung đột nào thì hệ thống có thể xem nhưkhông có bất thường nào Trong khi việc phát hiện động là dựa trên từng trường hợpcụ thé ở thời điểm thực thi và sử dụng một vài luật được định nghĩa trước để vượt quanhững trường hợp xung đột ở thời điểm chúng xảy ra Nên việc phát hiện động có théđược dùng tốt nhất với một hệ thống log những bất thường và cảnh bảo tới ngườiquản trị về những bất thường nay dé trách xảy ra trong tương lai

Mỗi phương pháp đều có những ưu nhược điểm riêng và một hệ thông điềukhiến truy xuất cần phải sử dụng cả hai cơ chế này dé đạt được hiệu quả tốt nhất Tuynhiên, đề tài này chỉ tập trung vào cơ chế phát hiện tĩnh

HV: ĐĂNG TUẦN ANH 29

Trang 40

4.2 Thuật toán xác định bất thường cho các ràng buộc không gian

4.2.1 RCC8 và suy luận hình học

RCCS8 là một đại số quan hệ phục vụ cho việc biểu diễn và suy luật về các mỗiquan hệ nhị phân giữa các đối tượng hình học trong lý thuyết RCC [19] Trong lýthuyết này, các đôi tượng hình học là không trống (non-empty regular), tập con đóngcủa miền không gian hình học (closed subset of a topological space), và có nhiềumảnh (multi-piece) RCC-8 có tam quan hệ day du và tach biệt từng đôi một được kyhiệu: DC(disconnected), EC(external connected), PO(partially overlap), EQ(equal),TPP(tangential proper part), NT PP(non-tangential proper part) va những quan hệngược của chúng TPPi, NTPPi Tat cả những quan hệ khác là hợp của hai hay nhiềumôi quan hệ cơ bản, hoặc mối quan hệ rỗng (empty relation) Do đó, có tat cả 256quan hệ RCC-8 khác nhau Một mồ hình quan hệ không gian tương tự là mồ hình 9-Intersection Method (9IM) của Egenhofer [20] Trong mồ hình nay, tác gia cũng địnhnghĩa 8 quan hệ với những cái tên khác: disjoint, meet, equals, overlaps, covers,coveredBy, contains, inside Hình 21 thể hiện mỗi quan hệ tương quan giữa các môhình.

OGC equals (disjoint [intersects jtouches Jwithin contains overlaps _ [crosses

spatialrelation

RCC8 [FQ IDC ¬ DC EC INTPP,TPP |INTPPi, (PO

-TPP

SIM Equals |disjoint disjoint [Meet [inside contains loverlaps

-coveredBy |coversHình 21: Quan hệ không gian OGC và tương đương trong RCC8 va 9IM

Một câu hỏi cơ bản trong việc suy luận RCC8 là ta có thé biết được mối quanhệ giữa hai đối tượng không gian x, z nếu ta biết được mối quan hệ giữa x,y và mốiquan hệ giữa y, z Một kỹ thuật để trả lời cho loại câu hỏi này là bảng kết hợp(Composition Table) Nó cũng tương tự như bảng chuyền đổi (Transition Table) đượcsử dụng trong công trình của Allen [21] trong việc suy luận về thời gian Bang nàybiểu diễn toán tử kết hợp của 2 quan hệ RCC8 cơ bản R và S, và được viết là R s S.Mối quan hệ kết hợp là mối quan hệ RCC8 mà chứa tat cả những quan hệ RCC8 cơ

ban T sao cho R(x, y) A S(y, z) A T(x, Zz) nhat quan (consistent) Tat ca những quan hệ

kết hợp cho những quan hệ cơ bản được tong két trong bang két hop RCC8 (hinh 22).Bảng này xuất hiện lần đầu tiên trong bai báo [22] trong ngữ cảnh GIS Một quan hệRCC8 có thé được biểu diễn như một tập của những quan hệ RCC8 cơ bản {BI,B2 Bn Ví dụ như {EQ, DC, EC} nghĩa là hợp của 3 quan hệ cơ bản: EQ, DC và

Ngày đăng: 24/09/2024, 07:16