XACML中策略_规则组合算法优化

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(4) Ordered-permit-overrides(允许 按 顺序 覆 盖):与允 许 覆 盖
相同,只不过评估相关规则的顺序与规则添加到策略中的顺序
相同。
(5) First-applicable(最先 应 用):遇 到 的 第一 条 相 关 规 则 的 评
估结果作为最终授权决策的评估结果。
(6) Only-one-applicable(仅一 个 合 适):用 于 策 略 组 合 ,仅 一
2003 年 OASIS 制 定 了 基 于 XML 的 访 问 控 制 策 略 和 访 问
控 制 请 求/响 应 描 述语 言 规 范— ——XACML, 作 为 一 种 基 于 属 性
的通用访问控制策略和请求描述语言。 它能适应多种应用环
境 ,使 访 问 控 制 中 间 件 的 开 发 和 实 用 成 为 可 能 ,同 时 其 良 好 的
mit”,而 其 他 规 则 结 果 为 “NotApplicable”,则 整 个 策 略 的 结 果 为
“Permit”;如 果 所 有 的 规 则 的 评 估 结 果 为 “NotApplicable”,则 策
略 的 评 估 结 果 将 是 “NotApplicable”; 如 果 一 个 规 则 的 结 果 是
提供了一套规则组合算法来实现由多判断结果到单一判断结
果的合并。
在 XACML2.0 中 提 供了 6 种 标 准 的 组 合 算 法 ,基 本 上 能 解
决所有可能出现的判断合并问题,并且允许定义自己的组合算
法。 但是考虑到处理一定规模的请求时,缩短判断时间提高与
用户的交互性,有必要对这些算法进行优化。 随着高速信息网
软件时空
文 章 编 号 :1008-0570(2009)05-3-0230-03
《微计算机信息》(管控一体化 )2009 年第 25 卷第 5-3 期
XACML 中策略/规则组合算法优化
Optimize on Policy/Rule Combining Algorithm for XACML
(1.山东师范大学;2.滨州学院) 徐 金 芳 1 张 永 胜 1 隆 坤 2
络 的 飞 速 发 展 ,如 何 降 低 请 求/响 应 时 间 问 题 亟 待 重 视 ,但 是 在
这方面的研究较少, 文献中仅在用 XACML 解 决 冲突 问 题 上作
了一定的阐述,文献中仅分析了 XACML 策略的定 义 ,本文 参 照
相关领域标准如文献中作了相应研究。
1 背景知识
1.1 XACML 简介

引言

开 发 XACML (eXtensible Access Control Markup Language)
的初衷是创立一个访问控制和授权系统的标准,它提供了一种
新 策略描述语言和一种访问策略语言,后者用于描述运行时对资
源的请求,当确定了保护资源的策略后,利用相关函数将请求
中属性与包含在策略规则中的属性进行比较,最终生成一个许
terminate。
结果:是符合规则的预期后果,值可以为 Permit 或 Deny。
PDP(Policy Decision Point):评 估 可 用 策 略 并 提 供 授 权 决 定
的 系 统 主 体 。 这 个 组 件 负 责 对 访 问 授 权 的 决 策 , 使 用 从 PAP
(Policy Administration Point)获得 的 策 略 以 及 从 PIP(Policy Infor-
置 问 题 ,即 在 不 改 变 PDP 判 断 结 果 的 前 提 下 修 改 策 略 ,使 其 执
行期望时间缩短。
2.2 组合算法优化问题分析
一个策略由包含目标的规则集组成,每个策略只有一个目
标。 该目标有助于确定策略是否与请求有关。 策略和请求的相
关性决定了是否要为请求评估该策略。 这是通过定义目标中的
XU Jin-fang ZHANG Yong-sheng LONG Kun
摘 要: 在 访 问 控 制 领 域 , 基 于 XACML 的 组 合 算 法 是 解 决 策 略 / 规 则 冲 突 的 方 法 , 当 主 体 的 请 求 数 目 达 到 一 定 规 模 后 ,ቤተ መጻሕፍቲ ባይዱ为 了 将
PDP 模 块 进 行 评 估 的 时 间 缩 短 , 势 必 要 考 虑 该 算 法 的 优 化 问 题 。 在 对 XACML 研 究 的 基 础 上 对 XACML 的 规 则 组 合 算 法 进 行
“Deny” 但 在评 估 其 目标 和 条 件时 发 生 错误 时 将 继续 对 其 子 规
则 评 价来 寻 找 “Deny”, 在此 情 况 下如 果 没 有一 个 规 则 评 价 出
“Deny”,那 么 组 合 的 结 果 将 是 “Indeterminate”,即 在 这 种 算 法 中
拒绝的优先级最高。 部分算法如下:
的 请 求 势 必 相 对 集 中 (多 次 重 复 ),在 这 种 情 况 下 ,如 果 进 行 规
则组合算法优化,效果将非常明显。
3 相关算法
在 拒 绝 覆 盖 算 法 中 。 如 果 任 何 规 则 评 估 出 “Deny”,则 整 个 算
法对 策 略的 评 估 结果 是 “Deny”; 如 果任 意 的 规则 评 估 出 “Per-
Deny,最终授权决策也是 Deny。
(2) Ordered-deny-overrides(有 序 拒 绝 覆 盖 ): 与 拒 绝 覆 盖 相
同,只不过评估相关规则的顺序与将规则添加到策略中的顺序
相同。
(3) Permit-overrides(允许覆盖):只要有一条规则计算的评估
为 Permit,最终授权决策也是 Permit。
大时 λ 的值趋于稳定,故可以假设 λ 为一常数。 假设请求 出
现的概率为 ,
,可以通过对一段时间内的请求流量进
行统计来获取。 该请求通过第 条规则评估, 是请求的标
号到 策 略 中规 则 序 号的 函 数 , 的值 域 为{1,2,3,…,n},处 理 这
个请求一共耗时 ,有 = λ ,则 P 的执行期望时间为:
个策略被判断为 Applicable,最后结果才会出现 Applicable。
2 规则组合算法优化分析
2.1 优化目标
设某 系 统中 PDP 包 含 :
,其中 ∈ ,表示
徐金芳: 硕士研究生
某一策略 中第 i 条规则;请求
,是可能出现的
- 230 - 360元 / 年 邮局订阅号:82-946
《现场总线技术应用 200 例》
mation Point)获得的附加信息来进行决策。
规则组合算法:一个策略可以包含多条规则,然而,不同的
规则有可能得到冲突的结果。 规则组合算法负责解决这种冲
突,每一策略、每一请求都得到一个最终结果。 6 种算法如下:
(1) Deny-overrides (拒 绝 覆 盖): 只 要 有 一 条 规 则 的 评 估 为
了 优 化 。 通 过 模 拟 程 序 表 明 , 使 用 该 优 化 措 施 后 , 缩 短 了 PDP 进 行 评 估 的 时 间 , 改 善 了 系 统 的 交 互 性 。
关键词: 访问控制; 组合算法; 可扩展访问控制标志语言; 优化
中图分类号: TP311
文献标识码: A
Abstract: In the field of access control, Combining algorithms based XACML is a method of policy /rule conflict resolution, when the
您的论文得到两院院士关注
软件时空
请求集合。
定义 1:如 果两 个 策 略 与 ,对 任 意请 求 ∈Q 都 能 得 出
相同的结果,则称 为 的等效策略。
设 表示 在 PDP 上的判断期 望 时 间,是 评 估 出一 个 请 求
的平均时间消耗,则规则组合算法的优化目标为:求使得 最
小的 的等效的策略 ,其中关键问题为策略中规则的位置放
Decsion denyOverridesRuleCombiningAlgorithm(Rule rule[])
{…
for(i=0;i<lengthOf(rules);i++)
{Decision decision=evaluate(rule[i]);
if(decision==Deny) return Deny; if(decision==Permit)
将减少。 在有序拒绝覆盖组合算法中,要求评估规则的顺序与
添加到策略中的顺序一致,如果将所有规则添加到策略前计算
出各自的拒绝系数, 然后按照拒绝系数的大小依次加入策略
中,则可大大加速 PDP 判断的过程。 允许覆盖和 有 序允 许 覆 盖
组合算法亦然。 对某个具体系统而言,拥有的功能有限,被赋予
权限 的 角色 也 随 之有 限 (基 于角 色 的 访问 控 制 中[6]),因 而 主 体
subject's requests reach a certain magnitude, it is bound to consider the optimization problem for shorting the period of evaluation
with PDP. Based on the study of XACML, this paper optimized the rule combining algorithms. It is show that the optimization mea-
其中, 与规则组合算法无关,且在一段时间内不变。 定 义 2:对 规 则 组 合 算 法 中 的 两 条 规 则 , ( ),如 果 交 换 , 的位置,得到的策略 与原策略 , 等效,则称为可交 换的。
则有:
其中
, 新的映射关系为
其中,
如果
,则 策 略 得 到 优 化 ,实 际 上 K3,K4 均 可
技 sures do shorten the evaluation time of PDP and improved the system's interactive capability through simulation testing. Key words: access control; combining algorithm; XACML; optimization
扩展性,使其可以应用在一些特殊的环境中。
1.2 术语与概念
规则(rule):一 个策 略 可 以与 多 条 规则 相 关 联 。 每 条 规 则 由
条 件 (Condition)、结 果 (Effect)和 目 标 (Target)组 成 。
条 件 :是 关 于 属 性 的 陈 述 ,评 估 结 果 为 True, False 或 Inde-
三类属性(主体、资源、动作)及其属性值来实现的。 目标中不一
定都有这三类属性。 将这些属性的值与请求中具有相同属性的
值进行比较,如果匹配(对其应用某些函数之后,将会看到它们
是否匹配),则认为该策略是相关的,并对其进行评估。所有信息
都是基于属性的。
一个请求与某个规则匹配检测时耗时为 λ, 在请求数量较
可或拒绝决策。 一个策略表现为一个单一访问控制策略的引
用,它通过一套规则来表现。PDP(Policy Decision Point)模块作决
策时,需要对评估策略的各个规则 的 结果(effect)进 行 综合 ,因 为
这些 规 则 产生 的 访 问控 制 判 断结 果 不 一 定 相 同 , 为 此 XACML

{ atLeastOnePermit=true;Continue; } if(decision==NotApplicable)

continue; if(decision==Indeterminate)

{ atLeastOneError=true; if(effect(rule[i])==Deny)
通过策略/规则迭代处理得到。
以拒绝覆盖规则组合算法为例, 如果在策略等效的前提
下,交换两条规则的位置得到的请求的 发生变化,则称这
些请求出现概率之和为该规则对其可交换规则的拒绝系数。 上
式中, 为规则 对 的拒绝系数, 为规则 对 的拒绝
系数。
由此,可以得出结论,在拒绝覆盖规则组合算法中,将拒绝
系数较大的规则置于相对靠前的位置,该算法的执行期望时间
相关文档
最新文档