摘要
研究屬性、屬性謂詞、屬性名值對的抽象與描述;提出一種基於屬性的訪問控制策略模型,對策略、策略評估進行形式化定義;描述在設置策略合並算法和系統缺省授權下的訪問控制判決過程;設計一種改進的策略管理框架。
概述
基於屬性的訪問控制(Attribute—Based Access Control,ABAC),利用與主體、客體、環境相關的屬性作為授權策略制定的基礎。
XACML是一種基於ABAC策略和請求的標准描述語言,它提供多種邏輯算法對授權過程進行控制。
策略模型
1、屬性attr :是具有指定數據類型和值域的變量,可抽象定義為三元組< attr,VAL,R(VAL)>,分別表示屬性名、值域和不同取值間的關系。
- 用sattr,oattr,eattr分別表示主體屬性、客體屬性和環境屬性;
- 屬性的值域VAL有連續型和離散型之分
- 取值連續的屬性,其不同取值通常表現出數值比較關系 ,R(VAL)可表示為{(val1~val2)|val1~val2∈VAL,~∈{=,≠,≤,>,≥}
- 取值離散的屬性,其不同取值相互獨立或者表現為偏序關系,R(VAL)通常表示為{((val1~val2)|val1~val2∈VAL,~∈{=,≠,>,<},其中>表示“優先於”、“繼承”等偏序關系,<含義與>相反
2、屬性謂詞ap :定義為三元組 < attr,∝,val>,其中,為操作符,用以限定屬性的取值范圍.
- 用sap、oap、eap分別表示主體、客體和環境屬性謂詞,SAP=sap1∧sap2∧…∧sapi,OAP,EAP以此類推。
3、ABAC策略p:定義為sign←(SAP,OAP,EAP,ACT)
- ACT={act1,act2,… ,actm}表示操作的集合。
- sign取值為permit或deny,分別表示正向、負向授權。
- 授權系統中訪問控制策略的集合記為P={p1,p2,…,pn}
策略評估
1、屬性名值對avp:表示屬性的具體取值,定義為二元組<attr,val>,即attr=val。savp、oavp、eavp分別表示主體、客體和環境屬性名值對。
2、屬性謂詞評估:
-
給定屬性名值對avp=(attr=value) 和屬性謂詞ap=(attr∝va1),ap對avp的評估結果‖ap‖avp為真,當且僅當兩者的屬性名相同且avp的取值屬於ap限定的范圍,形式化定義:
-
給定屬性名值對集合AVP={avp1,avp2,…,avpm},屬性謂詞ap對AVP的評估結果‖ap‖AVP為真, 當且僅當存在avp∈AVP使得‖ap‖AVP為真,否則為假。形式化定義:
-
給定屬性名值對集合和屬性謂詞組合AP=ap1∧ap2∧…∧apn,AP對AVP的評估結果‖AP‖AVP為真, 當且僅當對於任意ap∈AP有‖ap‖AVP為真,形式化如下:
3、用戶的訪問請求Req:抽象定義為四元組<S,O,E,act>
- S={savp1,savp2,…,savpRI}為主體屬性名值對集合;O為客體屬性名值對集合 ;E為環境屬性名值對集合;act為用戶請求的操作。
4、訪問控制策略評估:
- 給定訪問控制策略P=sign←(SAP,OAP,EAP,ACT)和用戶請求Req=<S,O,E,act>,當‖SAP‖s、‖OAP‖o、‖EAP‖E均為真且act∈ACT時,策略P適用此用戶請求,策略評估結果‖P‖Req即為其授權標識sign,否則,‖P‖Req為not—applicable
5、策略集評估:
- 給定用戶請求Req和策略集P={p1,p2,…,pn},P對Req的評估結果仍為一個集合,即 ‖P‖Req={‖p1‖Req,‖p2‖Req,…,‖pn‖Req}。將相同元素合並后,‖P‖Req有以下取值:
- {permit}:P中所有策略均為正向授權策略且都適用於Req,系統的判決結果應為permit;
- {deny}:P中所有策略均為負向授權策 略且都適用於Req,系統的判決結果應為deny;
- {not—applicable}:P中所有策略均不適用於用戶請求Req,系統將根據缺省授權給出最終判決結果。缺省授權通常設置為deny。
- {permit,deny}:</spanP中的所有正、負向策略均適用於Req,系統將根據策略合並算法得到最終結果。如采用允許覆蓋(permit—override)、拒絕覆蓋(deny—override)、首次適用(first—applicable)等合並算法
- 存在permit或deny時,not—applicable將自動被屏蔽;
策略管理框架
XACML在IETF策略框架的基礎上提出了面向策略實施的數據流模型。