APP下载

基于信任度与策略相似度的访问策略合成研究*

2022-04-07张亚萍郭银章

计算机与数字工程 2022年3期
关键词:算子信任度租户

张亚萍 郭银章

(太原科技大学计算机科学与技术学院 太原 030024)

1 引言

云计算环境下资源分布的特殊性及信息共享的必要性,决定了我们需要一种安全的访问控制机制,解决分布式环境下多个安全域之间信息共享的需求,并且能够适应云用户和云资源动态变化的需求,同时在多个安全域资源协同工作时能够进行不同策略之间的合成。基于属性的访问控制是利用属性条件对访问请求进行评估,实体状态的动态变化可以通过属性来描述,满足云环境下对资源细粒度访问的需求。

最早提出用代数方法来合成访问控制策略的是Mclean[1],该代数合成方法最先应用于强制访问控制模型中,该模型对访问主体的安全等级有很高的要求,不适合对主体安全等级要求较低的访问控制模型。Bonatti[2]将访问控制策略合成转化为数学当中的集合问题,利用集合间的运算关系对访问控制策略进行了合成,该方法为访问控制策略合成代数的研究奠定了基础,但是该方法只能计算属性值之间的交集,并集,无法解决属性值的复杂计算。比如一条策略要求安全等级为7 的用户可以获得一级护理,另一条策略的安全级别为5 的用户可以获得一级护理,如果双方协商安全级别为6 的主体可以获得一级护理,对于这样的问题,该文献中提出的合成算子无法进行合成。文献[3]在已有的研究基础之上,提出了基于属性且支持策略协商的访问控制策略合成代数,使得合成的策略语义更加明确,表达能力更强。但是在策略合成当中通过协商来选择算子存在合成效率低下等问题,并且在算子的设计过程中没有考虑一方网络异常等情况下策略的合成,同时在更进一步的细粒度授权方面还有待研究。

本文在文献[3]的基础之上,通过引入异常算子,首次使用算子,弱一致算子对访问控制策略合成算子进行扩充,使得合成的策略能够表达丰富的语义。同时提出利用策略之间主体信任度和访问控制策略相似性相结合的自动算子选择机制,给出了云计算环境下策略合成流程。对文献[4]当中的策略相似性计算方法及文献[5]当中的主体信任度[6~8]计算方法进行了改进,并用实验验证了策略相似性分析算法的可行性。

2 基于属性的访问控制策略合成代数机制

2.1 算子设计

本文在前人的研究基础之上,引入了弱一致算子⊗,异常算子∠,首次匹配算子≻,相关算子的定义如下,所有定义中,AC代表访问请求,PAC代表合成的访问控制策略。

定义1弱一致性算子⊗

PAC=PAC1⊗PAC2该算子表示的含义为

1)若AC被PAC1评估为允许且PAC2的评估结果为不拒绝,或PAC2评估为允许且PAC1的评估结果为不拒绝,则该AC被新合成的策略PAC评估为允许;

2)若AC被PAC1评估为拒绝且PAC2的评估结果为不允许,或被PAC2评估为拒绝且PAC1的评估结果为不允许,则该AC被新合成的策略PAC评估为拒绝;

3)若AC被PAC1和PAC2评估为不确定,则被新合成的策略PAC评估为不确定;

4)其余情况下,其他情况下,该访问请求AC被新合成的策略PAC评估为使用。

其中P 表示评估结果为允许,R 表示评估结果为拒绝,UN 表示评估结果为不确定,NA 表示评估结果为不使用;

⊗算子的含义评估结果可以用如表1 的矩阵来表示。

表1 PAC=PAC1 ⊗PAC2 的合成矩阵

定义2异常算子∠

PAC=PAC1∠PAC2该算子表示的含义为

在策略合成的过程当中,由于网络异常,数据库操作异常等原因造成访问控制策略PAC2的评估结果出现错误,那么对该访问请求AC的评估结果由PAC1的评估结果决定,其他情况下,访问请求AC被新合成的策略PAC评估为不确定。

∠算子的含义评估结果可以用如表2 的矩阵来表示。

表2 PAC=PAC1∠PAC2 的合成矩阵

定义3首次匹配算子ϖ

PAC=PAC1ϖPAC2该算子表示的含义为

1)若访问请求AC满足访问控制策略PAC1,那么新合成的策略PAC对该请求的评估结果和PAC1对该请求的评估结果相同;

2)若该请求不满足访问控制策略PAC1,但满足访问控制策略PAC2,则新合成策略PAC对该访问请求AC的评估结果与PAC2的评估结果相同;

3)若该访问请求既不满足访问控制策略PAC1也不满足访问控制策略PAC2,那么该请求被新合成的访问控制策略评估为不适用;

4)其他情况下,访问请求被新合成的策略评估为不确定。

ϖ算子的含义评估结果可以用如表3 的矩阵来表示。

表3 PAC=PAC1ϖPAC2 的合成矩阵

2.2 基于信任度属性相似性度量的租户域间信任度算法

对于策略的相似性分析,目前业界研究主要集中在以下两个方面:一种是利用逻辑推理或者布尔函数的方法进行计算,但是逻辑推理及布尔函数在计算策略相似性过程中涉及复杂的推理过程和计算,不适合云计算环境下大量策略的相似性计算。文献[9]基于模型检测的方法就是利用了布尔函数进行策略相似性计算,文献[10]则是利用逻辑推理方法对访问控制策略相似性进行研究。另一种策略相似性是基于语义的分析方法。该方法重点研究具有相同描述语言的策略相似性分析,对于异构策略的相似性分析效果不佳,要想提高异构策略相似性分析的准确性,需要对异构访问控制策略进行统一化描述。Lin Dan[11]首次提出了用XACML 语言描述的策略相似度匹配算法。Liu Yi[12]等提出了一种基于特征提取的文本相似性方法,提取文本中若干特征并为每个特征赋予不同的值组成权值集合,然后根据权值算得文本是否相似。然而,该方法没有考虑多特征在句子中的所占权重问题。文献[4]基于语义相似性分析对访问控策略相似性分析进行了研究,但是该方法没有考虑资源环境属性的相似性,并且属性权重的确定依据利用属性使用记录计算缺乏一定的客观性。

本文对域间信任度的计算引入了主体信任度属性相似性度量,简称信任度相似度,该方法可以减少对主体信任度的复杂计算,提高了访问控制策略的执行速度。思想是首先利用文献[5]当中租户域间信任度的计算公式计算某个租户的域间信任度,如果该请求主体的信任度属性满足访问控制策略需求,那么该为绝对安全租户,然后计算其他租户和该绝对安全租户的信任度相似度,利用该租户的信任度值和信任度相似度计算其他租户的信任度值,当计算出的租户信任度满足访问控制策略对信任度的要求时,可以允许对其进行授权,低于某个访问控制策略需求时,则利用文献[5]当中的方法计算该租户的信任度值,或者对该访问租户进行权限的限制和拆分,具体步骤如下。

定义4信任度属性表明主体在当前系统环境或外界因素下的安全等级,信任特征是用来反应用户在当前上下文环境中安全等级的属性,信任度属性用符号Ta表示。

为了在计算机中进行存储和处理,信任度值用二进制数1或0来表示,1代表安全,0代表不安全。

定义5信任度属性特征向量a=(Ta1,Ta2,…,Tam)。其中m 为信任度属性的维数,系统将主体在当前环境下及上下文所处的信任度作为信任度属性向量。

定义6绝对安全信任度属性特征向量a*=(1,1,…,1),向量的维数为m,在该向量中,每一维度信任度属性的值全为1,表示所有信任度属性均满足当前系统的安全需求。如果一个主体拥有绝对安全信任度属性特征向量,那么该主体称为一个绝对安全主体。

定义7信任度属性相似度是指主体的信任度属性特征向量与绝对安全信任度属性特征向量之间的相似度。文中用符号α表示,α的取值范围为[0,1]。

pnm是一个n×m的主体-信任度属性特征矩阵,第一行为绝对安全信任度属性特征向量,剩余每行代表着一个普通主体的信任度属性特征向量。

信任相似度计算方法如下:

Tiju'是通过绝对安全主体的信任度值和信任度相似度计算得出的租户信任度。

2.3 访问控制策略相似性计算方法设计

由于访问控制策略的制定缺乏统一标准,同时资源属性在访问控制策略当中有着不可替代的作用,本文对属性权重的计算采用层次分析法,同时在相似性分析中加入环境因素,使得对策略的相似性分析更加准确。

主体属性相似性计算:由于访问控制策略的主体可以通过角色来描述,角色之间又存在继承的层次关系,所以对于主体相似度的计算采用如下方法计算:

该式当中,Patlen(N1,N2)的含义为层次树中两个主体N1和N2之间的路径长度,Max(Patlen)为层次关系树中的最长距离,属性间最长距离为树高度的二倍,因此Max(Patlen)≈2Height。主体之间距离越近,说明两个主体之间的继承性越强,其相似度也就越高。

数值范围性性属性之间相似性计算:由于数值范围性属性之间不存在层次关系,所以对于该类属性的计算采用集合间的交集和并集来完成。

对于值为常量的数值性属性和字符串属性,其值相等则相似度为1,不等相似度值则为0。

对于主体、资源、操作等会有相应的条件对其进行限制,所以在计算主体、资源、操作等属性的相似度时需要将条件属性考虑在内。

访问控制策略中属性权重的计算:本文对属性权重的计算采用层次分析法[13],访问控制策略相似性计算公式如下:

3 基于属性的访问控制策略合成机制

3.1 算子优先级及作用域的确定

按照算子设计原则计及安全域对访问控制策略条件的需求程度,对访问控制策略的合成算子设置相应的优先级,算子优先级越高,说明安全域对访问控制策略的执行限制条件越严格。按照这一原则,本文将算子的优先级和作用域设置如表4。

表4 合成算子的优先级与作用域

其中算子的优先级数越大,优先级越高,作用域区间表示算子作用范围。

3.2 合成算子选择

访问控制策略合成过程中策略协商[14~15]扮演着重要的作用,协商的过程就是对聚合资源进行最大限度共享的过程。文献[3]提出的代数合成方法中支持属性的协商,对复杂策略的合成奠定了一定的基础,将策略合成转化为对属性授权项的合成,通过属性协商产生了更加丰富的提案,但是通过协商进行算子选择效率低下,没法满足云计算环境对实时性的要求,并且协商过程中可能出现权限的放大,使得不满足条件的主体进行非法访问,对云系统的安全性造成一定程度的破坏。

本文尝试给出一种云计算环境下自动算子选择机制,利用策略的相似性和域间信任度计算得出算子执行力常量,将该常量与算子的作用域区间进行比较,如果该值落在某一个算子的作用域区间,那么该算子被选中。

算子执行力常量计算公式:

其中δ+γ=1,本文中,我们将δ和γ的值都定为0.5。

3.3 访问控制策略合成流程

流程如图1所示。

图1 访问控制策略合成流程

实验分析:为了对本文提出的访问控制策略相似性计算方法进行验证,实验中随机地从访问控制策略当中获取200 条策略,为了方便实验分析,我们将200条策略分成10组进行相似性分析,每一组策略中由于相似值较多,所以我们用平均相似度来描述组类策略的相似性,将该方法与余弦相似度方法和文献[4]中的计算方法进行了比较,实验结果表明,本文提出的方法是可行的。

为了进一步验证该方法比其他两种方法在计算策略相似性上更好,设计了如下实验对其计算方法进行验证。在策略相似性分析中,对于同一组策略,不同的相似度阈值对应的相似策略数目是不同的,本实验中,我们将相似性阈值分别设置为0.7和0.85,统计该阈值下相似策略的数目,与两种方法进行对比。

图2 几种策略相似性计算方法相似值比较

图3 相似度阈值为0.7时的相似策略数

从实验结果可以看出,随着相似度阈值的增大,本文提出的方法检测的相似策略数目多于其他两种方法,这是因为余弦相似度计算方法只关注属性的相似性,并没有考虑属性值之间的相似关系,文献[4]的方法对策略的相似性计算忽略了资源属性,不支持资源异构的策略相似性分析,本文的方法改进了属性权重计算方法并且支持资源异构的策略相似性分析,所以该方法对相似度阈值越高的策略能够进行更细粒度的划分。

图4 相似度阈值为0.85时的相似策略数

4 结语

本文对云计算当中的跨域访问控制策略合成进行了研究,重点研究了访问控制策略合成算子的自动选择问题,对原有的访问控制策略相似性计算方法进行了改进,改进的方法还可以消除合成策略当中的冗余策略,在策略相似性计算中考虑了资源环境属性的重要性,同时为了避免对主体信任度的复杂计算,提出了主体信任度属性相似度计算方法,最后提出了利用策略之间主体信任度属性相似度和访问控制策略相似性结合的自动算子选择机制。但是算子的作用域区间划分仅仅依据主体信任度属性和算子的设计原则人为划分缺乏一定的合理性,算子的作用域区间划分需要进一步的研究。

猜你喜欢

算子信任度租户
日本租房歧视跟种族有关
多租户管理技术在运营管理系统的应用研究
Domestication or Foreignization:A Cultural Choice
全球民调:中国民众对政府信任度最高
QK空间上的叠加算子
一种基于安全标记的多租户访问控制方法
我国公租房保障的退出机制研究
逼近论中的收敛性估计
2014,如何获得信任