XẾP LOẠI CHÍNH SÁCH BẢO MẬT TRONG SQL 1.Giới thiệu Trong các tiêu chuẩn SQL2 [6], các tính năng ngôn ngữ bảo mật cụ thể đề xuất để bảo vệ dữ liệu trong một cơ sở dữ liệu quan hệ hạn chế đến CẤP đơn giản và thu hồi báo cáo (mặc dù quan điểm cũng có thể được sử dụng để giúp cung cấp bảo mật). Mô hình CẤP thu hồi cho phép một quản trị viên an ninh chỉ để đại diện cho một nhóm nhỏ của các chính sách kiểm soát ứng dụng cụ thể truy cập cần thiết trong thực tế; SQL không cho phép các chính sách mở [5] được thể hiện (ví dụ,bất cứ điều gì không rõ ràng cấm được phép) cũng không thể áp đặt các hạn chế về việc sử dụng một đặc quyền cấp [16]. Ngày nay, nhiều tổ chức đang sử dụng điều khiển truy cập dựa trên vai trò (RBAC) chính sách [10]. Trong RBAC, người dùng được giao với vai trò trong một tổ chức trên cơ sở (thông thường) của trình độ và chuyên môn của họ, và cho phép truy cập chức năng hoặc các đối tượng trong cơ sở dữ liệu và máy chủ khác được giao cho những vai trò này. Bằng cách chỉ định các điều khoản trên các đối tượng với vai trò thay vì trực tiếp đến người dùng cá nhân, như trường hợp với chính sách truyền thống, RBAC giúp đơn giản hóa đặc điểm kỹ thuật và quản lý an ninh cơ sở dữ liệu. Trong khi RDBMS sản phẩm và tiêu chuẩn SQL3 bao gồm một số hỗ trợ cho vai trò, vẫn còn nhiều quan trọng chính sách sản phẩm hiện có và SQL không thể diễn tả. Để có được nhiều quyền lực hơn ý nghĩa, các chương trình ứng dụng được typ-ically sử dụng. Tuy nhiên, cách tiếp cận này làm phức tạp việc duy trì một chính sách kiểm soát truy cập và gây khó khăn cho các người quản trị an ninh đến lý do về hành vi của họ. Do đó chúng tôi dự tính sử dụng làm của một chính sách cấp cao đặc tả ngôn ngữ, khoản logic hình thức [12], cho phép một loạt các chính sách kiểm soát truy cập vào được xây dựng một cách đơn giản, và có thể được dịch ra một thực hiện chính sách sử dụng SQL điểm (bao gồm cả đệ quy views) và gây nên. Hơn nữa, chúng tôi nhằm mục đích cho các ranslation t từ đặc điểm kỹ thuật để thực hiện được tự động giao phối, có lẽ ngoại trừ cung cấp các gợi ý thực hiện mà không ảnh hưởng đến tính chính xác của việc thực hiện. Cách tiếp cận chúng tôi mô tả làm cho nó có thể hỗ trợ một loạt các chính sách trong bất kỳ sản phẩm quan hệ đó thực hiện các truy vấn hợp lý mạnh mẽ như SQL2 cơ bản cộng với một VỚI tuyên bố đệ quy và gây ra (như là đề xuất để đưa vào SQL3). Với phương pháp này, người ta có thể đại diện cho một loạt các chính sách kiểm soát truy cập mà không cần phải sử dụng hoặc mã ứng dụng hoặc các ngôn ngữ truy vấn cấu trúc an ninh. (Các thiếu sót sau có thể được đặc biệt có lợi nếu có một cách tiếp cận để thích ứng với XML thay vì cơ sở dữ liệu SQL; XQuery cung cấp một số đệ quy và làm tổ nhưng không Grant / Thu hồi). Một vấn đề với việc sử dụng Grant / Thu hồi và an ninh xem là các điều khiển truy cập được biểu diễn trong hai cách riêng biệt (tài trợ và định nghĩa xem), nên rất khó để lý do về hiệu ứng ròng của họ. Trong cách tiếp cận của chúng tôi quy luật của logic được khai thác để làm cho nó dễ hiểu hơn đại diện chính sách. Một mục tiêu tiếp tục công việc của chúng tôi là để chỉ ra cách tiếp cận chính sách kiểm soát có thể được biểu diễn trong một chính thức được xác định rõ Bằng cách đó, nhưng mà không yêu cầu các học viên có một sự hiểu biết phát triển của các khái niệm kỹ thuật mà chúng tôi phương pháp tiếp cận dựa vào. Để đạt được mục tiêu thứ hai, ảnh minh hoạ được sử dụng để giúp người quản trị hệ thống để xác định điều khiển truy cập chính sách mà họ muốn thực hiện. Phức tạp của cú pháp SQL làm cho nó khó xử để cung cấp các công cụ để từng bước chỉnh sửa chính sách. Trong cách tiếp cận của chúng tôi, chức năng miễn phí, phân tầng khoản logic [2] được sử dụng để xây dựng chính sách
Trang 1XẾP LOẠI CHÍNH SÁCH BẢO MẬT TRONG SQL
Tóm tắt Chúng tôi tìm cách hiển thị nhiều chính sách kiểm soát truy nhập dựa trên quy định chính thức của các nhóm phân tầng của khoản logic hình thức Sau đó chúng tôi tìm cách hiểm thị các thông số kỹ thuật chính thức có thể được tự động dịch sang một tập con nhỏ của SQL được sử dụng để liên tục bảo vệ một CSDL quan hệ từ các yêu cầu đọc trái phép và cập nhật được chứng thực bởi người dùng thực hiện Chúng tôi chứng tỏ sức mạnh của cách tiếp cận của chúng tôi bằng cách tìm cách hiển thị một loạt các chính sách truy cập đại diện có thể được kiểm soát.
Ngày nay, nhiều tổ chức đang sử dụng điều khiển truy cập dựa trên vai trò (RBAC) chính sách [10] Trong RBAC, người dùng được giaovới vai trò trong một tổ chức trên cơ sở (thông thường) của trình độ vàchuyên môn của họ, và cho phép truy cập chức năng hoặc các đối tượng trong cơ sở dữ liệu và máy chủ khác được giao cho những vai trò này Bằng cách chỉ định các điều khoản trên các đối tượng với vai trò thay vì trực tiếp đến người dùng cá nhân, như trường hợp với chính sách truyền thống, RBAC giúp đơn giản hóa đặc điểm kỹ thuật
và quản lý an ninh cơ sở dữ liệu
Trong khi RDBMS sản phẩm và tiêu chuẩn SQL3 bao gồm một số hỗ trợ cho vai trò, vẫn còn nhiều quan trọng chính sách sản phẩm hiện có
và SQL không thể diễn tả Để có được nhiều quyền lực hơn ý nghĩa, các chương trình ứng dụng được typ-ically sử dụng Tuy nhiên, cách tiếp cận này làm phức tạp việc duy trì một chính sách kiểm soát truy cập và gây khó khăn cho các người quản trị an ninh đến lý do về hành
vi của họ Do đó chúng tôi dự tính sử dụng làm của một chính sách cấp cao đặc tả ngôn ngữ, khoản logic hình thức [12], cho phép một loạt các chính sách kiểm soát truy cập vào được xây dựng một cách đơn giản, và có thể được dịch ra một thực hiện chính sách sử dụng
Trang 2SQL điểm (bao gồm cả đệ quy views) và gây nên Hơn nữa, chúng tôi nhằm mục đích cho các ranslation t từ đặc điểm kỹ thuật để thực hiện được tự động giao phối, có lẽ ngoại trừ cung cấp các gợi ý thực hiện
mà không ảnh hưởng đến tính chính xác của việc thực hiện Cách tiếpcận chúng tôi mô tả làm cho nó có thể hỗ trợ một loạt các chính sách trong bất kỳ sản phẩm quan hệ đó thực hiện các truy vấn hợp lý mạnh
mẽ như SQL2 cơ bản cộng với một VỚI tuyên bố đệ quy và gây ra (như là đề xuất để đưa vào SQL3) Với phương pháp này, người ta cóthể đại diện cho một loạt các chính sách kiểm soát truy cập mà không cần phải sử dụng hoặc mã ứng dụng hoặc các ngôn ngữ truy vấn cấu trúc an ninh (Các thiếu sót sau có thể được đặc biệt có lợi nếu có mộtcách tiếp cận để thích ứng với XML thay vì cơ sở dữ liệu SQL;
XQuery cung cấp một số đệ quy và làm tổ nhưng không Grant / Thu hồi) Một vấn đề với việc sử dụng Grant / Thu hồi và an ninh xem là các điều khiển truy cập được biểu diễn trong hai cách riêng biệt (tài trợ và định nghĩa xem), nên rất khó để lý do về hiệu ứng ròng của họ Trong cách tiếp cận của chúng tôi quy luật của logic được khai thác đểlàm cho nó dễ hiểu hơn đại diện chính sách Một mục tiêu tiếp tục công việc của chúng tôi là để chỉ ra cách tiếp cận chính sách kiểm soát có thể được biểu diễn trong một chính thức được xác định rõ Bằng cách đó, nhưng mà không yêu cầu các học viên có một sự hiểu biết phát triển của các khái niệm kỹ thuật mà chúng tôi phương pháp tiếp cận dựa vào Để đạt được mục tiêu thứ hai, ảnh minh hoạ được
sử dụng để giúp người quản trị hệ thống để xác định điều khiển truy cập chính sách mà họ muốn thực hiện Phức tạp của cú pháp SQL làm cho nó khó xử để cung cấp các công cụ để từng bước chỉnh sửa chính sách Trong cách tiếp cận của chúng tôi, chức năng miễn phí, phân tầng khoản logic [2] được sử dụng để xây dựng chính sách bảo mật RBAC xác địnhtập hợp các hành động có thẩm quyền có thể được thực hiện trên cơ sở dữ liệu Chúng tôi tin rằng thực tế hầu hết các chính sách an ninh có thể được thể hiện trong tập hợp con của logic hình thức khoản Trong khi chúng tôi nhận ra rằng các ngôn ngữ khác có thể được dùng để xác định chính sách bảo mật, chúng tôi tin rằng có một số lý do tốt để xây dựng chính sách an ninh là điều khoảnphân tầng hình thức lý thuyết Ví dụ, khoản logic phân tầng (có nguồn gốc trực tiếp từ các cấu trúc giao diện trình bày cho người sử dụng)
có thể đại diện cho một loạt các yêu cầu an ninh trong một ngôn ngữ khai báo rất cao cấp Một số nhỏ các khoản có thể thể hiện chính sáchkiểm soát truy cập thực tế, đại diện cho các chính sách trực tiếp trong SQL là khó khăn hơn nhiều Succinctness và đều đặn làm cho các cú pháp lý và bảo trì dễ dàng hơn Giống như SQL, logic này có được xác định và uncon-troversial ngữ nghĩa mô hình lý thuyết (mô hình ngữ nghĩa hoàn hảo [15]) Tài sản của một chính sách kiểm soát truy
Trang 3toán viên Ví dụ, một bằng chứng rằng các chính sách không cho phép bất kỳ yêu cầu truy cập trái phép sẽ được thực hiện là một hậu quả trực tiếp của tính đúng đắn của các tính toán phương pháp được
sử dụng trong SQL để tính toán mô hình ngữ nghĩa hoàn hảo của một
cơ sở dữ liệu quan hệ Cuối cùng, phân tầng logic có bảo quản đơn giản tương đương dịch sang SQL [1] Hơn nữa, bản dịch của các điềukhoản thể hiện trong phân tầng logic vào SQL có thể được tự động
Có chắc chắn các tùy chọn tính toán đến một trong những chúng tôi
đề xuất, ví dụ, bằng cách sử dụng một động cơ logic, lai của
SQL và logic, và thậm chí cả các bộ phận thực hiện hiệu quả cao trong C + + Tuy nhiên, có một số lý do tại sao phương pháp dịch thuật có vẻ như đáng điều tra Nó là tự nhiên để xem xét việc quản lý
hệ thống ủy quyền cho một quan hệ bằng cách sử dụng cơ sở dữ liệu quan hệ và SQL Nó là hấp dẫn để thực hiện chỉ SQL, thay vì thêm một thi logic động cơ Nó là hấp dẫn để cung cấp an ninh và bảo vệ cho dữ liệu giao dịch chính sách bảo mật bằng cách sử dụng các DBMS thông thường cơ sở vật chất Cuối cùng, bằng cách tránh các
hệ thống phần mềm bổ sung (ngoài các dịch), chúng tôi tránh yêu cầu các chuyên gia để quản lý và duy trì chúng Các mô hình RBAC bảo mật mà chúng tôi chỉ định trong điều khoản logic thông thường được dựa trên những gia đình của các mô hình được mô tả trong[17] Đó là,chúng tôi giả định rằng một lý thuyết RBAC bao gồm vai trò và sự cho phép tập (theRBAC0 model), và thêm vào đó có thể bao gồm thông số
kỹ thuật của một trong hai vai trò phân cấp (RBAC1) và một số loại ràngbuộc (RBAC2) RBAC3 subsumesRBACandRBAC2 và do đó vai trò hỗ trợ cả hai hệ thống thứ bậc và các loại ràng buộc men-ioned trong [17].Từ nay trở đi bất kỳ tài liệu tham khảo cho SQL và cơ sở dữ liệu cần được, tương ứng, hiểu là đề cập đến SQL2 (cộng với một
VỚI đệ quy xây dựng và kích hoạt) và cơ sở dữ liệu quan hệ Trong phần tiếp theo, chúng tôi sẽ sử dụng kiểu chữ hoa đậm để chỉ ra các
từ dành riêng của SQL và chữ thường nghiêng loại thông tin người dùng cung cấp trong câu lệnh SQL Phần còn lại của bài báo này được tổ chức như vậy Trong phần 2, chúng tôi cung cấp một giới thiệu cơ bản để các cú pháp của bình thường khoản logic (với sự nhấn mạnh đặc biệt vào các nhóm phân tầng), và thảo luận về một số khái niệm có liên quan từ cơ sở dữ liệu và an ninh lý thuyết Trong phần 3, chúng tôi mô tả việc xây dựng một genericRBAC1security mô hình lý thuyết được thể hiện bằng logic khoản phân tầng Trong phần
4, chúng tôi hiển thị như thế nào dưới hình thức đại diện cho khoản
RBAC1security lý thuyết có thể được dịch sang SQL thẳng thắn và được sử dụng để kiểm soát truy cập vào cơ sở dữ liệu Trong Phần 5,
Trang 4chúng tôi chứng minh sức mạnh của phương pháp tiếp cận của chúngtôi bằng cách hiển thị như thế nào một loạt các chính sách kiểm soát truy cập có thể được thể hiện trong một tập hợp con nhỏ
SQL Trong phần 6, chúng tôi tiếp tục mở rộng đại diện của chúng tôi của RBAC1models trong logic hình thức điều khoản và SQL để bao gồm các ràng buộc trên RBAC3security lý thuyết, và chúng tôi xem xét việc thực hiện những khó khăn này Trong phần 7, một số kết luận được rút ra và đề xuất cho việc tiếp tục được thực hiện
2 Chuẩn
hạn chế onRBAC3security lý thuyết, và chúng tôi xem xét việc thực hiện những khó khăn này Trong 7 mục, một số SQL Trong phần 6, chúng tôi tiếp tục mở rộng ofRBAC1models đại diện trong logic hình thức điều khoản và SQL của chúng tôi bao gồm thất bại [19], và sự phủ định của nguyên tử A được ký hiệu là không A Một lý thuyết thông thường là một tập hợp hữu hạn các khoản bình thường Kết luận được rút ra và đề xuất cho việc tiếp tục đượcthực hiện RBAC lý thuyết an ninh có thể được chính thức quy định tại một tập hợp các chức năng logic khoản phí bình thường Một điều khoản bình thường một biểu hiện của các hình thức sau đây: H L1, L2 , , Lm (m 0) Người đứng đầu của điều khoản, H, là một nguyên tử và L1, L2 , , Lm
quan hệ bằng cách sử dụng cơ sở dữ liệu quan hệ và SQL Nó là hấp dẫn để thực hiện chỉ SQL, thay vì thêm một thi logic Phần còn lại của bài báo này được tổ chức như vậy Trong phần 2, chúng tôi cung cấp một giới thiệu cơ bản để các cú pháp của bình thường bảo quản đơn giản tương đương dịch sang SQL [1] Hơn nữa, bản dịch của các điều khoản thể hiện trong phân tầng
Trang 5xuất hiện trong các trường hợp trên SPC-đại số là SPCU-đại số mà không có
sự điều hành công đoàn Descartes sản phẩm, công đoàn và sự khác biệt lập Các đại số SPCU-là SPCUD-đại số mà không có sự điều hành khác nhau quy định; SPCUD-đại số là một ngôn ngữ bao gồm năm điều hành nguyên thủy của đại số quan hệ tức là: dự án, lựa chọn,.Kể từ khi RBAC lý thuyết bảo mật
mà chúng tôi xem xét là phân tầng, các học thuyết an ninh có một mô hình độc đáo hoàn hảoTrong phần tiếp theo chúng tôi sẽ liên quan các cuộc thảo luận của logic hình thức điều khoản và SQL để tập hợp con của đại số-
SPCUD [1] Các được xác định bởi các lý thuyết an ninh Những phép được quy định bởi một vị cho phép (U, P, O) mà U được sử dụng để bảng bao gồmchèn, xóa, cập nhật và chọn (đọc) Các đối tượng được bảo hộ là các bảng cơ bản, quan điểm và thuộc tính trong cơ sở biểu thị một người sử dụng cơ sở dữliệu, P biểu thị một sự cho phép và O là một đối tượng trong cơ sở dữ liệu Các điều khoản chúng tôi xem xét[15] Mô hình này bao gồm các thiết lập củatất cả các hậu quả hợp lý của lý thuyết, bao gồm các thiết lập của các truy cập được ủy quyền ngữ nghĩa thực thi là:Với một lý thuyết bảo mật RBAC và yêucầu của U để thực hiện một hoạt động P về O, các phương pháp tiếp cận cho hạn chế
3 Đại diện RB AC 1 như một học thuyết phân tầng
kiểm soát truy cập liên quan đến việc quyết định có một thể hiện của phép (U,
P, O) được ủy quyền của Thức, các mong muốn phác thảo của đại diện và tham khảo người đọc [4] để biết chi tiết đại diện Các ofRBAC1as một lý thuyết điều khoản bình thường đã được mô tả trong [4] Trong phần này chúng tôi cung cấp một Nếu được phép (U, P, O) THÌ thực hiện các hành động P về O cho U ELSE cung cấp thông báo lỗi thông tin và hủy bỏ Các yêucầu tối thiểu của bất kỳ mô hình RBAC là nó cung cấp phương tiện để xác định rằng điều khoản cho một hoạt động P vào một đối tượng cơ sở dữ liệu O
ri là trực tiếp cấp cao của các rolerj trong một hệ thống phân cấp vai trò
cao cấp "); ds là một mối quan hệ irreflexive, nội và đối xứng không Các ví
dụ ds (ri, RJ) ghi rằng vai trò ('' Là một "không quan tâm" / vô danh biến):senio-to (R1, R1) ds (R1,)
senio-to (R1, R1) ds (, R1)
phân công; trường hợp của RPA trong lý thuyết 1 anRBAC được sử dụng để xác định rằng R vai trò được phân công sự cho phép để thực hiện
Các cấp cao đến vị được sử dụng trong định nghĩa của phép sau đây:
cho phép (U, P, O) ura (U, R1), cao cấp-to (R1, R2), RPA (R2, P, O)
Các thiết lập sau đây của các điều khoản định nghĩa một cấp cao, để mối quan
hệ như việc đóng cửa phản-transitive của mối quan hệ ds nơi kế thừa cho phép P về O.hoạt động trên một đối tượng O nếu U là giao cho một vai trò R1
đó là cao cấp để một R2 vai trò trong vai trò theory'sRBAC1 hệ thống phân
Trang 6cấp và R2 đã được chỉ định cho phép P về O Đó là, U có sự cho phép P về O nếu U là giao cho một vai trò mà Các điều khoản cho phép thể hiện rằng, trong một thể hiện của anRBAC1 lý thuyết, một U người dùng được phép thực hiện các P Như chúng ta sẽ thấy, cách tiếp cận chúng tôi áp dụng để đánh giá yêu cầu truy cập dựa trên truy vấn sửa đổi [18] Điều đó là, chúng tôi
sử dụng thông tin bảo mật để thay đổi của người sử dụng truy vấn như vậy màhình thức sửa đổi của truy vấn có đủ an ninh Việc chuyển nhượng của người
sử dụng và quyền cho vai trò có thể được đại diện trong logic hình thức bao gồm các điều khoản của mặt đất trường hợp của ura (U, R) xác nhận và định nghĩa của RPA (R, P, O) vị.cao cấp-to (R1, R2) ds (R1, R2) Định nghĩa của phép ở trên ngụ ý rằng một chính sách truy cập đóng cửa [5] được sử dụng để bảo vệ một cơ sở dữ liệu Đó là,cao cấp-to (R1, R2) ds (R1, R3), cao cấp-to (R3, R2)Một thể hiện của hệ thống phân cấp anRBAC1role có thể được đại diện bằng cách sử dụng một tập hợp các sự kiện ds (nơi ds là viết tắt của "trựctiếp Trong ura (U, R) có liên quan, các ura tên vị là viết tắt cho người sử dụngvai trò phân công; trường hợp được sử dụng ura trong anRBAC1theory để đạidiện cho rằng U người dùng được phân công vai trò R Tương tự như vậy, RPA (R, P, O) là viết tắt cho phép-vai trò của người dùng được phép truy cập thông tin phải được cụ thể uỷ quyền trong một lý thuyết, an ninh; người dùng không có quyền truy cập thực hiện các hoạt động trên các đối tượng cơ sở dữ liệu được liên kết với vai trò một, và cho người sử dụng phải được giao cho vai trò
Trang 7các đặc điểm kỹ thuật của các điều khoản chính sách truy cập có thể được thểhiện trong cách tiếp cận của chúng tôi bằng cách làm thay đổi đơn giản để định nghĩa về phép và thông tin trong trường hợp không từ chối mà cấm như vậy truy cập (một chính sách mở [5]) Tuy nhiên, bất kỳ số lượng
viết tắt của "vai trò bị từ chối cho phép chuyển nhượng" andRBAC1is AC 1 với chối bỏ quyền truy cập hiện? qua RPA-d một người sử dụng U có sự cho phép P vào một đối tượng O nếu U đã không được rõ ràng từ chối sự cho phép này Đối với chính sách này,định nghĩa của một RPA-d (R, P, O) vị được bao gồm trong anRB? ACRB1theory thay vì trường hợp của RPA Ở đây, RPA-d là vị Các trường hợp của RPA-d được bao gồm trong
anRBAC1theory được sử dụng để xác định rằng vai trò R là bị từ chối P đượcphép vào O (tức là, R không được chuyển nhượng cho phép P về O) Các chính sách truy cập cần thiết có thể được đại diện bởi các điều khoản sau đó thay thế các định nghĩa của phép inRBAC1: cho phép (U, P, O) không bị từ chối (U, P, O)
Để xem cách các chính sách truy cập khác nhau có thể được đại diện, cho rằng một chính sách truy cập mở là yêu cầu như vậy mà Định nghĩa của các
từ chối quan hệ inRBAC1is phụ như sau: Định nghĩa của? từ chối xác định rằng quyền phủ định được kế thừa xuống trong anRBAC bị từ chối (U, P, O) ura (U, R1), đến cao cấp (R2, R1), d-RPA (R2, P, O) RBAC chính sách an ninh là quan trọng vì nó làm cho các đại diện của một chính sách kiểm soát truy cập, lý luận về rằng sẽ ghi đè các giả định mặc định cho phép (U, P, O) đúng vai trò là hệ thống phân cấp theo quy định inRBAC1) Đó là, nếu U được phân công vai trò R1, R2 vai trò là cấp cao các chính sách và duy trì cácchính sách tương đối đơn giản Hơn nữa, những điều khoản có thể tương đương để R1 trong hệ thống phân cấp anRBAC1role, và R2 đã bị từ chối cho phép P về O sau đó? R1 và do đó bị từ chối U P truy cập vào O Một ví dụ của phép (U, P, O) sẽ tổ chức tại anRBAC lý thuyết 1 khi và chỉ khi không cótrường hợp của bị từ chối (U, P, O) đại diện chỉ sử dụng một số lượng nhỏ cáccâu lệnh SQL.vai trò của mình khi yêu cầu truy cập Một số trong những vai trò có thể bị ngừng hoạt động khi người dùng hoàn thành một nhiệm vụ Trong của chúng tôi để quản lý các tình huống mà một cá thể của một (U, P, O) ba là cả hai được phép và bị từ chối) Ngoài việc phân công người dùng thông qua các định nghĩa vai trò của ura, RBAC thường yêu cầu người dùng kích hoạt một số đại diện ofRBAC1as một lý thuyết phân tầng, các phiên có thể được mô hình bằng cách sử dụng một kích hoạt (U, R1) vị Một mặt đất được phép vào O.4RBAC1in SQL
Ví dụ của kích hoạt (U, R1) được nối vào theRBAC1 lý thuyết nếu người dùng kích hoạt thành công vai trò U R1.cho phép (U, P, O) ura (U, R1), kích hoạt (U, R1), cao cấp-to (R1, R2), RPA (R2, P, O) Mỗi tổ chức sẽ xác định hệthống phân cấp vai trò của mình và vai trò cho phép Chúng tôi đại diện cho các vị logic như là Kể từ khi được phép, cấp cao và ds được quy định sử dụng
Trang 8điều khoản xác định và ura là một tập các khẳng định mặt đất, nó sau rằng nếucác định nghĩa của điều khoản RPA trong một thể hiện của anRBAC1theory được thể hiện trong logic mệnh xác định sau đó 1 lý thuyết sẽ được xác định
Nó cũng được biết rằng chức năng miễn phí, các lý thuyết dạng không đệ quy định tại khoản AnRBAC Đó là, U có sự cho phép P về O đối tượng nếu U là giao cho một vai trò R1, U đang hoạt động trong R1, R1 kế thừa và PSQL là
đủ mạnh để đại diện cho bất kỳ biểu hiện bằng một ngôn ngữ relationally hoàn thành [14], nó sau đó SQL Datalog lý thuyết đệ quy không [19]) có thể được dịch ra một bộ tương đương với các báo cáo trong đại số-SPCU [1] Kể
từ Bất kỳ số lượng xe hybrid (mở / đóng cửa) các chính sách có thể được thể hiện theo cách tương tự, và các chính sách mở cửa và đóng cửa có thể
được quy định như cùng tồn tại trong một lý thuyết bảo mật duy nhất (với nhiều chính sách giải quyết cuộc xung đột [11] được đại diện Nếu kích hoạt (U, R1) các vị được bao gồm trong anRBAC1 lý thuyết sau đó cho phép có thể được định nghĩa như sau:SQL điểm có một sự tương ứng một-đối-một với bảng SQL Có một vị (và bảng) để trực tiếp cấp cao và một cho vai trò hệ thống phân cấp RB AC Cần lưu ý rằng ngoài những điều khoản xác định cho phép (hoặc bị từ chối) tất cả các điều khoản trong một lý thuyết RBAC
cho phép các bài tập cụ thể cho các vai trò Intensional truy cập xác định vị ngầm, chúng được dịch sang được ứng dụng cụ thể Thực tế là chỉ một số nhỏcác khoản ứng dụng không cụ thể được yêu cầu phải thể hiện tương đương có thể được thể hiện trong SQL bằng cách sử dụng các-SELECT FROM-
WHERE xây dựng, và điều hành của UNION là đủ mạnh mẽ để cho phép bất
kỳ công thức trong đại số-SPCU được thể hiện Từ [1], SPC-đại số các biểu thức
Trang 9SQL tương ứng với các nhà điều hành công đoàn của đại số quan hệ Đối với đại diện các định nghĩa đệ quy của cấp cao tại
4.1RBAC1 trong SQL: biểu hiện các vấn đề
EXISTS (hoặc NOT IN) có thể được sử dụng [1]
định mệnh Nếu an toàn [19], chức năng miễn phí và miễn phí đệ quy bình thường logic điều khoản được sử dụng để đại diện cho ura và RPA
các khoản xuất hiện trong anRBAC1 lý thuyết sau đó lý thuyết tương đương
có thể được đại diện trong đại số-SPCUD [1] Để SQL, các VỚI đệ quy xây dựng là đủ từ cao cấp đến được xác định bởi một tập hợp các đệ quy tuyến tính [3] và khẳng định, thiết lập có thể được đại diện bởi một bảng
Trong phần này, chúng tôi thảo luận về các đại diện của anRBAC1theory trong SQL Từ ura là một tập hợp các nguyên tử mặt đất đại diện cho n
literals tiêu cực có thể xuất hiện trong các điều khoản trong anRBAC1 lý thuyết, các câu lệnh SQL bao gồm không Đại diện, trong SQL, một hình thức điều khoản định nghĩa của RPA với một tập không rỗng của các chữ trong cơ thể của mình để bảo vệ một mối quan hệ, một định nghĩa CREATE VIEW được sử dụng để xác định các tập hợp con của r là thành viên của một vai trò nhất định được phép truy cập Một câu lệnh CREATE TABLE RPA được sử dụng để ghi lại các thiết lập của người sử dụng điều khoản có trong quan điểm và cơ sở các bảng trong cơ sở dữ liệu Trong trường hợp quan hệ ura nhịphân, chúng ta sẽ giả định rằng các tên thuộc tính được sử dụng trong Một roleRBpublic đặc biệt có thể được sử dụng để xác định quyền truy cập công cộng trên các đối tượng Cho rằng, chúng ta có thể bao gồm một ds (ri, công cộng)các tên thuộc tính được R, P và O đó R là cho vai diễn, P là viết tắt của
sự cho phép và đứng O cho một đối tượng Một TẠO Bảng báo cáo cũng được yêu cầu để tạo ra một bảng cơ sở 2-thuộc tính tương ứng với các mối quan hệ ds.khẳng định trong anAC1 lý thuyết cho mỗi roleri 2 Vai trò (X) (có vai trò (X) là tập hợp các vai diễn xuất hiện trong anRBAC1
Như chúng tôi đã nói, các quan chức cao để quan hệ được định nghĩa trong điều khoản của VỚI đệ quy và xác định các phản xạ,
transitive đóng cửa mối quan hệ ds irreflexive và nội Trong các cuộc thảo luận tiếp theo chúng ta sẽ cho rằng cao cấp đến cần thiết để đại diện cho phép là:SELECT ura: U; RPA: P; RPA: O
Cuối cùng, để đại diện cho các điều khoản cho phép trong lý thuyết 1
anRBAC mô tả trước đây, một định nghĩa xem SQL được sử dụng
CREATE VIEW cho phép (U, P, O) AS để xác định các thiết lập của (U, P, O) gấp ba như vậy mà người sử dụng U có sự cho phép P về O Ví dụ,
forRBAC1 SQL bao gồm các cặp thuộc tính (cấp cao, cơ sở) Mỗi tuple (ri, RJ) ở cấp cao để ghi lại rằng roleri là cao cấp để rolerj tại Điều kiện trong việc xây dựng điều khoản thông thường có liên quan đến toán tử so sánh tiêu chuẩn (ví dụ,>) có thể được biểu điều kiện lựa chọn trên P vị trong đặc tả hình
Trang 10thức điều khoản có c không đổi là một trong những đối số của nó.Trong cái nhìn tổng quan, bản dịch của các điều khoản liên quan đến việc bình thường vào SQL bao gồm cả một điều kiện tham gia PX = QX trong SQL xem định nghĩa cho mỗi cặp của các vị P và Q trong đặc tả hình thức điều khoản đó có một biến phổ biến trong Y sử dụng các toán tử giống nhau trong SQL, và một điều kiện tồn tại không được sử dụng trong SQL để tương đương đại diện chomỗi tiêu cực nghĩa đen xuất hiện trong cơ thể của một khoản Như chúng ta sẽthấy, trong các đại diện của một đặc tả SQL khoản bình thường,điều kiện mô phỏng qua các giá trị thay thế cho các biến từ một trong những điều khoản khác cũng có thể được yêu cầu.Để thực hiện phương pháp tiếp cận của chúng tôi, cho phép có thể được lưu giữ như là một cái nhìn hiện thực [1] mà là tính lại (trong một trong DBMSs hiện tại không cung cấp bảo trì hiệu quả gia tăng của các đệ quy được xác định quan điểm hiện thực - hơn nữa cremental cách) bất cứ khi nào thay đổi được thực hiện cho các quan hệ trong điều khoản trong đó cho phép được xác định (Thật không may, của các xác nhận ds đượcsửa đổi.tuyên bố là cần thiết để ghi lại các o đặt lý thuyết) sao cho: 9rj [ri RJ] nắm giữ trong hệ thống phân cấp anRBAC1 vai trò (whererj 2 Vai trò (X)) Vai trò nào là Đại diện cho SQL cho phép trong khi kích hoạt xác nhận được bao gồm trong anRBAC1theory, một CREATE TABLE TỪ ura, RPA, cao cấp được phép vào O được phân công công cộng.độc đáo nhất là phần tử theo thứ tự từng phần của vai trò đó bao gồm hệ thống cấp bậc anRBAC vai trò 1 (tức là, 8rk2Role (X) cấp cao các cá thể của hệ thống phân cấp theRBAC1 vaitrò là đại diện CREATE TABLE tuyên bố là U và R, cho người sử dụng và vai trò tương ứng Đối với các RPA quan hệ tam phân, chúng tôi giả định có thể được mô phỏng trong SQL bằng cách sử dụng một điều kiện PX = 'c' trong đó X là tên thuộc tính trong các đại diện của SQL điều khoản mẫu đại diện) Hiệu quả của một hằng số c xuất hiện trong một Phan vị trong đặc tả hình thức khoản mối quan hệ để tránh recomputation của nó mỗi khi một yêu cầu truy cập được đánh giá; cấp cao để được tính lại mỗi lần cài đặt
WHERE ura: R = cao cấp: cấp cao và cao cấp: cơ sở = RPA: R;
để (RK, công)) trường hợp thích hợp của RPA (công cộng, P, O) được thêm vào các đặc điểm kỹ thuật bảo mật để ghi lại rằng Phong nghiên cứu là cần thiết về kỹ thuật tốt nhất để sử dụng với các sản phẩm hiện hành) Tương tự như vậy., cao cấp, để được lưu giữ như là một hiện thực
P và Q vị (X là tên thuộc tính phổ biến ở P và Q tương ứng với các biến Y phổ biến ở