由信誉评估上升到信任管理的跨域访问控制策略生成方法
技术领域
本发明属于计算机网络安全领域,特别属于多信任域环境下的访问控制领域,具体涉及一种由信誉评估上升到信任管理的跨域访问控制策略生成方法。
背景技术
合理的授权和访问控制是当前云计算、物联网等新型互联网应用迫切需要解决的问题,也是这些新型计算模式能否承载核心业务的关键。传统的以身份认证为基础的授权只适用于封闭的、熟识用户群体和相对静态的环境,很难适应开放的、公共可访问的动态环境。近年来,大量国内外学者从如何在实体间动态建立信任关系的角度研究开放环境下的安全访问问题。信任是某一实体对其他实体未来可能行为的主观评价,具有不确定性和可传递性,因此基于信任的授权机制能够更好地适应开放的有大量陌生实体的动态环境。
目前,信任关系的建立主要有信誉评估与信任管理两种方式。信誉评估从信任的主观性和非理性出发,以一种相对的方式对信任的程度进行划分。信誉评估利用熟识实体的推荐和自身的经验信息通过数学模型对实体的信任度进行自动度量,度量结果被用于授权决策。代表系统有BetaReputation、EigenTrust等。信任管理以一种精确的(完全信任或完全不信任)、理性的方式来描述和处理复杂的信任关系。信任管理采用第三方签发的安全凭证以及本地制定的安全策略,通过严格的逻辑推导来验证访问请求是否得到许可。信任管理本质上是一类基于属性的访问控制模型,根据实体的属性、对象的属性以及环境的属性信息进行授权决策,非常适用于分布式应用中的跨域授权管理。代表系统有RT、dRBAC和CaDABRA。但信任管理过于严格,无法描述实体间信任关系的程度以及“足够”满意的授权策略。因此需要一些“柔性”机制,来达到安全性与方便访问之间的平衡,满足个性化细粒度访问控制的需要。信誉评估与信任管理优势互补,如果以适当的方式将二者融合起来,提供一种可证明的而又具有柔性的访问控制,就能够更好地适应动态开放环境。
国内外对信誉评估与信任管理融合的研究还比较少。经过对现有技术的文献检索发现,中国专利申请号为:CN200910272316.5,公开号为CN101692676A:名称为:《一种开放环境下的混合信任管理系统及其信任评估方法》。该方法将信誉评估与信任管理平行使用,根据交易风险的高低在这两种系统中选择一种。其不足在于很难保证两种信任关系评估系统策略的一致性,并不是两种系统的真正融合。
中国专利申请号为:CN200810104325.9,公开号为CN101561913A:名称为:《一种融合凭证式和声望式特点的信任管理系统》。该系统将凭证作为索引某类服务提供者的一种属性来,然后统计该类服务提供者的平均信任度,然后与声望式信誉系统计算出的单个服务提供者的信任度进行加权平均来得到该服务提供者的综合信誉度。但其不足在于该系统本质上仍然是一种信誉评估系统,并没有利用凭证式信任管理系统的严格推导进行信任关系评估。
另外,有一些文献将信誉评估结果作为信任管理策略中的阈值参数,根据信誉度的不同来授权。这种以信任管理为核心,将信誉评估作为调整机制的方法并没有从根本上解决问题,对动态环境的适应也仅限于预先设定的信任管理策略所规定的范围内,很难动态制定符合具体应用实体行为特点的更细粒度的策略。
发明内容
本发明的目的在于克服现有技术中的不足,提供了一种由信誉评估上升到信任管理的跨域访问控制策略生成方法,能够根据实体的行为和环境属性动态生成授权策略,具有很好的自适应性,可以应用在有大量陌生实体的云计算等跨域环境中。
本发明是通过如下技术方案实现的,本发明包括如下步骤:
步骤一:建立信誉评估模型,实现相应的信誉评估子系统,根据交互实体给出的评价信息对被评价实体的信誉度进行不确定性评估;
步骤二:根据信誉评估的结果应用分类关联规则挖掘方法,提取出评估实体的属性、被评估实体的属性、资源属性、行为属性、环境属性与实体信誉度之间的关联关系;
步骤三:根据步骤二得到的关联关系生成基于属性的访问控制策略,并用可扩展访问控制标记语言XACML进行描述;
步骤四:将步骤三中生成的通用访问控制策略转化为具体信任管理系统的策略。
步骤二所述的关联关系挖掘包括两个步骤:
1)根据实体的行为信誉度,挖掘出被评估实体的属性、资源属性、行为属性、环境属性与实体信誉度之间的关联关系;
2)针对每一个信誉度关联关系,计算出实体的评估准确度,然后挖掘出可信评估实体的属性与被评估实体的属性、资源属性、行为属性、环境属性之间的关联关系。
对于上述两次挖掘,所述的分类关联规则挖掘方法的分类项目分别是行为信誉度的等级和信誉度关联规则标识,非分类项目是相关实体的属性和/或环境属性;信誉度的取值区间划分成多个子区间,每一个子区间对应一个等级。
所挖掘出的两种关联关系的格式如下:
实体信誉度关联规则ID:(被评估实体属性1,被评估实体属性值1),(资源属性1,资源属性值1),(行为属性1,行为属性值1),(环境属性1,环境属性值1)→信誉度等级。
评估准确度关联规则ID:(评估实体属性1,值1)→实体信誉度关联规则标识ID。
根据实际情况,关联规则的前件可以增加多种属性。
步骤三所述的基于属性的访问控制策略包括两种类型,分别对应步骤二中生成的两种关联关系;一种描述了具有特定属性的实体在特定的环境属性下对具有特定属性的资源所允许或不允许的访问操作;另一种描述了是否允许具有特定属性的实体推荐具有特定属性的其它实体。
步骤三所述的访问控制策略用XACML语言描述时,将每一个信誉度关联规则及相关的准确度关联规则转换成一个策略集,该策略集包括两个具有委托关系的策略,策略的<Target>字段中的属性匹配描述了关联规则中的项目。
第一个策略描述了对实体推荐(委托)行为的授权,是一个可信的管理策略(Administrative Policy),该策略的<Target>元素含有urn:oasis:names:tc:xacml:3.0:attribute-category:delegate类别的属性匹配,用于描述推荐实体(策略发布者)的属性。该策略的<Target>元素还含有所推荐(委托)的内容,即被评估实体属性、资源属性、行为属性和环境属性,这些属性类别都具有urn:oasis:names:tc:xacml:3.0:attribute-category:delegated:<anyURI>格式。被评估实体属性对应的属性类别是urn:oasis:names:tc:xacml:3.0:attribute-category:delegated:urn:oasis:names:tc:xacml:1.0:subject-category:access-subject、资源属性对应的属性类别是urn:oasis:names:tc:xacml:3.0:attribute-category:delegated:urn:oasis:names:tc:xacml:3.0:attribute-category:resource、行为属性对应的属性类别是urn:oasis:names:tc:xacml:3.0:attribute-category:delegated:urn:oasis:names:tc:xacml:3.0:attribute-category:action、环境属性对应的属性类别是urn:oasis:names:tc:xacml:3.0:attribute-category:delegated:urn:oasis:names:tc:xacml:3.0:attribute-category:environment。这个策略的最大委托深度设置为1,即加入属性MaxDelegationDepth=″1″。
第二个策略描述了对实体访问行为的授权,是一个委托的访问策略(access policy),该策略的<PolicyIssuer>元素指出推荐实体,它对应第一个策略中的urn:oasis:names:tc:xacml:3.0:attribute-category:delegate属性值,其<Target>元素中含有被推荐实体的属性、资源属性、行为属性和环境属性,对应的属性类别分别是urn:oasis:names:tc:xacml:1.0:subject-category:access-subject、urn:oasis:names:tc:xacml:3.0:attribute-category:resource、urn:oasis:names:tc:xacml:3.0:attribute-category:action、urn:oasis:names:tc:xacml:3.0:attribute-category:environment。
两个策略的委托关系通过第一个策略<Target>字段中的urn:oasis:names:tc:xacml:3.0:attribute-category:delegate属性和第二个策略<PolicyIssuer>字段中的属性来体现。策略中的具体授权(Permit或Deny)需要根据系统的实际情况由信誉度等级来决定。
步骤四所述的具体信任管理系统的策略虽然采用不同的自定义格式来表达委托授权关系,但所涉及的授权方、被授权方和访问权限三个方面分别与通用访问控制策略中的推荐实体、被推荐实体、访问权限相对应。
与现有技术相比,本发明具有如下有益效果:
(1)主流的访问控制技术本质上是基于身份的授权,无法满足开放的跨域环境中大量陌生实体的访问需求。本发明从建立信任关系的角度出发,提出一种基于属性的访问控制策略生成方法。
(2)现有信任管理策略是预先设定的,无法达到动态反映具体应用实体行为特点的更细的粒度,借助信誉评估结果也只能在预设范围内进行微调。本发明所提出的策略生成方法来源于信誉评估这种最能反映实体行为特点的系统,用关联规则挖掘算法提炼出信任管理策略。
(3)用标准的访问控制策略语言XACML来描述所生成的策略,便于转化为其它格式的策略,方便与现有遗留系统中的访问控制机制无缝集成。
附图说明
图1是本发明中基于信誉评估的信任管理策略生成步骤图。
具体实施方式
下面结合附图对本发明的实施例作详细说明:本实施例在以本发明的技术方案为前提下进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
本实施例包括如下步骤:
步骤一:建立并实现不确定性信誉评估模型。针对信誉的随机性和模糊性,本实施例将李德毅等提出的云模型和贝叶斯网络结合起来,用于信誉的表示和评估。
信誉T是论域空间U=[0,n](n为任意正整数)上的一个定量概念,用信誉云T(Ex,En,He)表示,其中,Ex是期望值,En是熵,He是超熵。来自其它实体的评价r∈U是T的一个随机实例,即信誉云的一个云滴。实际的评价系统一般采用离散值,即r∈{1,2,…,n},1表示非常不满意,n表示非常满意。
信誉云的Ex的计算采用贝叶斯网络,云滴对应根节点Trust,每一种上下文信息对应一个叶结点,云滴的期望值就是Ex。云滴r的取值为n个离散值,用level
1,…,level
n表示。上下文信息有m种,每种上下文有k
m种取值。用
表示第i种下文的第j个值,每次交互的上下文信息用元组
来表示。
完整的信誉评估算法如下:
输入:含有上下文信息的评价集R
输出:信誉云的三个参数:Ex,En,He
具体步骤如下:
1)将所有的CPT初始化为均匀分布;
2)利用R中的所有评价对贝叶斯网络进行更新,具体步骤如下:
a)i=1;
b)从R中读入评价ri和相关上下文信息C;
c)如果需要,定期启动时间衰减过程,对节点“Trust”的CPT采用下列公式进行更新:
λ=e-En∈[0,1]
其中,P(m)(m≥0)是第m轮衰减时采用的概率,λ是衰减因子,En是当前的熵。
d)用评价ri更新CPT;
e)i=i+1;
f)重复执行步骤b)到e),直到读入R中所有的评价。
3)计算在不同上下文C中实体服务质量处在levelk的概率P(Trust=levelk|C),k∈{1,2,…,n})
4)计算期望值
在得到了每一个被评估实体的信誉云以后,就能够对评估实体的准确度进行计算。对于每一个被评估实体来说,每一个评价过它的实体都能够利用上述信誉评估算法计算出该实体的信誉云。被评估实体的综合信誉云与由具体评估实体给出的信誉云的三个参数的余弦距离可以衡量两个信誉云的相似程度,相似度越高,实体的评估准确度也就越高。
步骤二:评估实体的属性与被评估实体的属性、资源属性、行为属性、环境属性之间的关联关系挖掘。具体步骤如下:
1)信誉度关联规则挖掘使用基于Aprior的分类关联规则挖掘算法,项目采用(属性,值)格式。非分类项目是被评估实体的属性、资源属性、行为属性和和环境属性,分类项目是信誉度的等级。信誉度的等级由Ex、En和He三个参数共同决定,Ex越大,En和He越小,则信誉度的等级越高。将该系统中所有信誉云的Ex的取值区间平均划分成m-1等份,相关边界值记为X1,X2…,Xm,将所有信誉云的En+He的平均值记为Y,则当Xm-1<Ex<=Xm,且En+He<=Y时,信誉度的等级为m,当Xm-1<Ex<=Xm,且En+He>Y时,信誉度的等级为m-1。
2)对于所生成的每一条信誉度关联规则,找到能够对该规则所描述实体给出准确评价的可信实体。可信实体必须具备两个特征:对该类实体足够熟悉,即评价过的实体数占该规则相关实体总数的比例大于阈值λ1;评估准确度高,即被评估实体的信誉云对的相似度的平均值大于阈值λ2。
3)准确度关联规则挖掘使用基于Aprior的分类关联规则挖掘算法,项目采用(属性,值)格式。非分类项目是评估实体的属性,分类项目是对应的信誉度关联规则标识(包含了被评估实体属性、环境属性和信誉度等级)。
步骤三:根据步骤二中挖掘出的准确度关联规则及相关的信誉度关联规则,生成XACMLv3.0访问控制策略。
步骤四:将步骤三中生成的XACML访问控制策略转化为典型信任管理系统dRBAC(distributed Role Based Access Control基于角色的分布式访问控制)的策略。
dRBAC用角色定义受控行为,用角色委托实现对受控行为的授权,用PKI公钥标识实体和信任域,通过搜索访问实体所具有的角色进行授权决策。dRBAC策略的基本格式是[Subject->Object]Issuer,其含义是Issuer将Object角色授予Subject。该策略与步骤三中所生成策略的对应关系是:Subject对应被评估实体(访问实体),Object对应访问权限,Issuer对应评估实体(推荐实体)。dRBAC策略的语法是将Subject、Object和Issuer都定义为角色,分别为Subject、Object和Signer。dRBAC没有给出有关角色具体含义的格式和语法,由应用系统自定义。本实施例沿用XACML语法进行表示,内容包括:Subject角色包含的访问实体属性、Object角色包含的资源属性、行为属性和环境属性、Signer角色包含的推荐实体属性。