一种基于属性的模糊访问控制计算方法

文档序号:7984990阅读:227来源:国知局
一种基于属性的模糊访问控制计算方法
【专利摘要】一种基于属性的模糊访问控制计算方法属于网络安全【技术领域】,特别是一种基于属性的模糊访问控制计算方法。本发明采用两级加权方式对对象及其属性分别赋予不同权值,然后基于模糊评判矩阵和加权平均模型进行综合评判,计算访问请求对授权策略的满足程度,最后基于模糊推理规则得出得到权限策略集合。本发明基于主体、资源、环境三类属性信息的不同权重,对访问控制的策略决策过程进行模糊处理,得到模糊授权策略集合,能够处理在访问请求信息部分满足评判条件下的访问控制授权问题,对于提升访问控制的完备性具有重要意义。
【专利说明】一种基于属性的模糊访问控制计算方法
【技术领域】
[0001]本发明属于网络安全【技术领域】,特别是一种基于属性的模糊访问控制计算方法。【背景技术】
[0002]面向服务体系架构由于复用性和兼容性好、开发复杂性低等特点,受到了广泛的关注。为了实现更细粒度的资源信息安全保护,系统基于资源的多种属性制定大量的访问策略。ABAC (Attribute based Access Control)模型直接制定与用户属性和资源属性相关的策略访问规则,用户根据其对应的属性值和相应规则,判断得到资源的访问权限。但现有的ABAC模型中,策略判决是一个精确匹配的过程,根据主体、资源、环境等各种属性信息进行精确匹配,满足条件则允许,不满足条件则拒绝。而在实际情况中,访问请求者、上下文环境、被访问的资源可能分别都包括多种属性,那么进行策略匹配的数量级就会达到O(n3),在属性值较多的情况下,会影响授权速度。另外,在实际运行中,属性信息往往在不断动态变化,精确匹配模型无法动态进行调整。为解决授权速度和模型动态调整问题,本专利提出了基于属性的,可以快速匹配属性值,并能动态调整模型的分布式的访问控制方法。

【发明内容】

[0003]本发明就是为了解决上述问题,提出一种基于属性的模糊访问控制方法,采用两级加权方式对对象及其属性分别赋予不同权值,然后基于模糊评判矩阵和加权平均模型进行综合评判,计算访问请求对授权策略的满足程度,最后基于模糊推理规则得出得到权限策略集合。
[0004]基于属性的访问控制涉及主体、资源、环境三种因素,属性可分为主体属性、资源属性和环境属性。
[0005]本发明的技术方案是在一个由互联网中的模糊式访问控制器和多个分布式策略执行处理器共同构成的模糊式访问控制服务系统中依次按以下步骤完成的:
[0006]步骤(I)
[0007]模糊式访问控制服务系统初始化:
[0008]策略执行处理器,设有=XACML语言文件提供模块,
[0009]模糊式访问控制器,设有:属性权限模块、策略决策模块以及权限策略库,其中:
[0010]属性权威模块,设有:主体属性子模块、资源属性子模块和环境因素属性子模块,其中:
[0011]主体属性子模块,设有:
[0012]主体集合S, S = {s1; s2,..., sn,..., sN}, n e N,表示访问控制的主体,所述主体是指通过身份鉴定的访问请求者,η表示主体s的序号,N表示主体的数量;
[0013]主体属性集合X, X = {x1; x2,..., xm,..., XM}, m e Μ, xm是主体属性,至少包括身份、角色、年龄、邮政编码、常住地址、IP地址、雇员职位和已验证的公钥构架PKI证书,m是主体属性的序号,M是主体属性的数量;[0014]资源属性子模块,设有:
[0015]资源集合O, O = {o1; o2,..., og,..., oj , g e G, ο表示访问请求者需要访问的资源,至少包括数据、服务和系统设备,g是资源的序号,G是资源的数量;
[0016]资源属性集合Y, Y = Iy17Y2,..., yq,..., yQ} , q e Q,q e Q,y 是资源的属性,q 是资源属性的序号,Q是资源属性的数量,资源属性至少包括资源的身份、标准资源地址URL、资源的大小和数值;
[0017]环境因素属性子模块,设有:
[0018]环境因素集合T,T = It1, t2,...,te,...,tE},e e E,表示访问时的上下文环境影响因素,至少包括时间、条件和状态;
[0019]环境因素属性集合Z, Z = Iz1, z2,..., zv,..., zv}, V e V, zv是环境属性,至少包括当前时间、日期、每日的时间段、安全级别和系统状态;
[0020]策略决策模块,输入是所述策略执行处理器输入的授权请求,依次执行输入信息处理、权重调整建立评判矩阵,综合评判和模糊推理各步骤,输出是权限决策;
[0021]设置访问请求信任度集合M = (HiljlH2,m3,m4},分别表示“完全信任”、“强信任”、“弱信任”、“不信任”集合;
[0022]权限策略库,设有:模糊授权策略集合P,P = {Pl,p2, p3, p4},P e P,依次表示完全授权策略集、强授权策略集、弱授权策略集和不授权策略集;
[0023]根据对服务请求的综合评判结果,分配相应的授权策略;其中,一个策略库存储多条访问控制策略,每条策略可以包括多条规则,一条规则用于判定主体S能否在环境T下访问资源0,可表示成以S、O、T的属性为参数的函数,返回信任度值;
[0024]Rule:can_access (s, o, t) — f (X,Y, Z)
[0025]f(X,Y,Z)采用函数矩阵实现,其中子函数An(X1JpZ1)用于计算X1, Y1, Z1的信任度,以此类推,fm-t-v(Xm,Yt, Zv)用于计算Xm,Yt, Zv的信任度;我们需要建立个信任度函数;看上去,计算很多,依次计算完成需要很长时间,但是,由于采用多个子函数实现信任度计算,并且,各子函数的信任度计算是完全独立的,因此,该信任度计算完全可以由多服务器并发完成计算,因此,计算时间约为通讯时间加上单一子函数最长的运行时间,这样就大大提高了信任度计算速度;同时,可以建立缓存机制,很多具有相同属性的计算,可以直接引用以前的结果,可以大大减少运算量;当判别的主体属性、资源属性、环境属性有变化时,只需要动态调整相关的信任度子函数,而无须考虑不相关的其他子函数;
[0026]对于给定的S、O、T的所有属性值,如果函数的返回值为完全信任,则应该允许对资源进行访问,否则拒绝访问;
[0027]分布式的评判函数矩阵可以解决信任度问题,但还是存在计算量较大,资源使用率高的现象;实际上,对所有的属性组合进行精确信任度计算是没有必要的,很多情况下,只需要进行部分的属性组合信任度计算就可以完成信任度评估的工作;因此,我们在最终进行信任度计算之前,设置评判因素集通过U= {S, O, Tl模糊算法筛选出部分属性参与计算,由于参与属性计算的属性减少,f(x,Y,Z)的子函数计算量也会相应的减少;采用模糊算法进行筛选,而不是精确匹配筛选,主要是因为属性众多,各属性组合之间的信任度相关性不适合用精确函数描述;
[0028]对评判目标(访问请求信任度)的因素可分为2个层次,包括评判对象和评判对象属性级;即访问请求信任度受到主体、资源、环境三种评判因素的影响,而各个评判对象分别受到其属性的影响;
[0029]步骤⑵
[0030]①策略执行模块负责解析用户的访问请求,抽取其中的主体属性,并将授权请求和主体属性发送给策略决策模块;策略执行模块可以是分布在整个网络环境中多个位置,而且请求主体不能绕过策略执行模块而直接访问资源;
[0031]②策略决策模块进行模糊策略判决,具体步骤如下:
[0032]I):输入信息处理;
[0033]由于部分访问请求信息和策略信息不是数值形式,需要进行数据格式转换;转化为属性类型,属性名称,属性值的对象描述;例如,主体的职称属性值为:助理工程师、工程师、高级工程师、研究员,属性名称为“职称”,属性类型“文本”,属性值为“助理工程师、工程师、高级工程师、研究员”之一;同理,将环境属性和访问对象属性也都需要按标准输入信息进行处理;
[0034]2):属性筛选;通过分析输入数据,根据具体应用需求,对主体、资源、环境属性进行模糊筛选;
[0035]3):使用信任度函数进行信任度计算;首先获取筛选后的属性,进行对应的信任度计算,对于信任度值,再进行处理,得到访问许可值;例如,A-H(HZ1)的Xl是主体职称是资源密级是系统状态;系统状态分为系统闲和系统忙;则工程师系统闲时访问一个公开资料的信任度和系统忙时访问一个公开资料的信任度值是不一样的,综合考虑其他信任度函数的返回,平时可能允许工程师访问的资源,在系统忙时,可能限制工程师访问.Y1, Z1)最初可以人工初始化,在积累一定经验数据,可以根据经验数据调整信任度系数。
[0036]本发明方法的具体步骤可以描述为:
[0037]步骤1:策略执行模块接受主体发送的web访问请求,并从属性权威获取相关的主体属性、资源属性以及环境属性,构建一个基于属性的访问请求发送给策略决策模块。基于属性的访问请求采用XACML语言对访问主体、资源和环境属性进行了描述,其自然语义为“在当前环境下,主体对资源进行访问”,主体、资源、环境都是通过属性值描述,可形式化描述为 ReqA(S,0,E)。
[0038]步骤2:策略决策模块根据基于属性的访问请求中给定的主体、资源、环境的属性值,查找策略库中适用的策略和规则,对访问请求按照特定的匹配算法进行比较评估,得到评估结果。将授权结果以XACML响应格式返回给策略执行模块。若需更多的属性信息就从属性权威获取相关的属性信息。
[0039]其中,策略决策的具体步骤包括:步骤I):进行输入信息获取与处理;步骤2):属性筛选调整;步骤3):输入评判矩阵计算信任度;步骤4):综合评判。
[0040]步骤3:策略执行模块根据策略决策结果对资源实施访问控制与授权。
[0041]本发明基于主体、资源、环境三类属性信息的不同权重,对访问控制的策略决策过程进行模糊处理,得到模糊授权策略集合,能够处理在访问请求信息部分满足评判条件下的访问控制授权问题,对于提升访问控制的完备性具有重要意义。【专利附图】

【附图说明】
[0042]图1属性权威框图;
[0043]图2本发明软件框图;
[0044]图3综合评判流程图;
[0045]图4本发明主流程图。
【具体实施方式】
[0046]下面结合流程图,对优选实施例作详细说明,应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。
[0047]步骤1:策略执行模块负责解析用户的访问请求,抽取其中的主体属性,并将授权请求和主体属性发送给策略决策模块。策略执行模块可以是分布在整个网络环境中多个位置,而且请求主体不能绕过策略执行模块而直接访问资源。
[0048]步骤2:策略决策模块进行模糊策略判决,具体步骤如下:
[0049]步骤I):输入信息处理。
[0050]由于部分访问请求信息和策略信息不是数值形式,需要进行数据格式转换。转化为属性类型,属性名称,属性值的对象描述。例如,主体的职称属性值为:助理工程师、工程师、高级工程师、研究员,属性名称为“职称”,属性类型“文本”,属性值为“助理工程师、工程师、高级工程师、研究员”之一。同理,将环境属性和访问对象属性也都需要按标准输入信息进行处理。
[0051]步骤2):属性筛选。通过分析输入数据,根据具体应用需求,对主体、资源、环境属性进行模糊筛选。
[0052]步骤3):使用信任度函数进行信任度计算。如图所示,首先获取筛选后的属性,进行对应的信任度计算,对于信任度值,再进行处理,得到访问许可值。
[0053]例如,fi+JXp Y1, Z1)的xl是主体职称;yl是资源密级;zl是系统状态;系统状态分为系统闲和系统忙;则工程师系统闲时访问一个公开资料的信任度和系统忙时访问一个公开资料的信任度值是不一样的,综合考虑其他信任度函数的返回,平时可能允许工程师访问的资源,在系统忙时,可能限制工程师访问.Af1(XpYpZ1)最初可以人工初始化,在积累一定经验数据,可以根据经验数据调整信任度系数。
【权利要求】
1.一种基于属性的模糊式访问控制方法,其特征在于,是在一个由互联网中的模糊式访问控制器和多个分布式策略执行处理器共同构成的模糊式访问控制服务系统中依次按以下步骤完成的: 步骤(1) 模糊式访问控制服务系统初始化: 策略执行处理器,设有=XACML语言文件提供模块, 模糊式访问控制器,设有:属性权限模块、策略决策模块以及权限策略库,其中: 属性权威模块,设有:主体属性子模块、资源属性子模块和环境因素属性子模块,其中: 主体属性子模块,设有: 主体集合s, S = (S1, S2,..., Sn,..., sN}, n ∈ N,表示访问控制的主体,所述主体是指通过身份鉴定的访问请求者,η表示主体s的序号,N表示主体的数量; 主体属性集合X,X = (X1, x2,...,xm,...,xM},m ∈ Μ, xm是主体属性,至少包括身份、角色、年龄、邮政编码、常住地址、IP地址、雇员职位和已验证的公钥构架PKI证书,m是主体属性的序号,M是主体属性的数量; 资源属性子模块,设有: 资源集合O, O = {1, O2,..., Og,..., o} , g ∈ G, O表示访问请求者需要访问的资源,至少包括数据、服务和系统设备,g是资源的序号,G是资源的数量;
资源属性集合Y, Y = {y1, y2,..., yq,..., yQ}, q ∈ Q, q ∈ Q, y是资源的属性,q是资源属性的序号,Q是资源属性的数量,资源属性至少包括资源的身份、标准资源地址URL、资源的大小和数值; 环境因素属性子模块,设有: 环境因素集合T,T = {t1, t2,...,te,...,tE},e e E,表示访问时的上下文环境影响因素,至少包括时间、条件和状态; 环境因素属性集合Z, Z = {z1, z2,..., zv,..., zv}, V e V, zv是环境属性,至少包括当前时间、日期、每日的时间段、安全级别和系统状态; 策略决策模块,输入是所述策略执行处理器输入的授权请求,依次执行输入信息处理、权重调整建立评判矩阵,综合评判和模糊推理各步骤,输出是权限决策; 设置访问请求信任度集合M = Im1, m2, m3, m4},分别表示“完全信任”、“强信任”、“弱信任”、“不信任”集合; 权限策略库,设有:模糊授权策略集合P,P = {pi,p2,p3,p4},p e P,依次表示完全授权策略集、强授权策略集、弱授权策略集和不授权策略集; 根据对服务请求的综合评判结果,分配相应的授权策略;其中,一个策略库存储多条访问控制策略,每条策略可以包括多条规则,一条规则用于判定主体S能否在环境T下访问资源0,可表示成以S、O、T的属性为参数的函数,返回信任度值;
Rule:can_access (s, o, t) ← f (X,Y, Z) f(x,Y,z)采用函数矩阵实现,其中子函数f HjX1, Y1, Z1)用于计算X1, Y1, Z1的信任度,以此类推,fm-t-v(Xm,Yt, Zv)用于计算Xm,Yt, Zv的信任度;我们需要建立个信任度函数;看上去,计算很多,依次计算完成需要很长时间,但是,由于采用多个子函数实现信任度计算,并且,各子函数的信任度计算是完全独立的,因此,该信任度计算完全可以由多服务器并发完成计算,因此,计算时间约为通讯时间加上单一子函数最长的运行时间,这样就大大提高了信任度计算速度;同时,可以建立缓存机制,很多具有相同属性的计算,可以直接引用以前的结果,可以大大减少运算量;当判别的主体属性、资源属性、环境属性有变化时,只需要动态调整相关的信任度子函数,而无须考虑不相关的其他子函数; 对于给定的S、O、T的所有属性值,如果函数的返回值为完全信任,则应该允许对资源进行访问,否则拒绝访问; 分布式的评判函数矩阵可以解决信任度问题,但还是存在计算量较大,资源使用率高的现象;实际上,对所有的属性组合进行精确信任度计算是没有必要的,很多情况下,只需要进行部分的属性组合信任度计算就可以完成信任度评估的工作;因此,我们在最终进行信任度计算之前,设置评判因素集通过U= {S,0,T}模糊算法筛选出部分属性参与计算,由于参与属性计算的属性减少,f(x, Y,Z)的子函数计算量也会相应的减少;采用模糊算法进行筛选,而不是精确匹配筛选,主要是因为属性众多,各属性组合之间的信任度相关性不适合用精确函数描述; 对评判目标(访问请求信任度)的因素可分为2个层次,包括评判对象和评判对象属性级;即访问请求信任度受到主体、资源、环境三种评判因素的影响,而各个评判对象分别受到其属性的影响; 步骤(2) ①策略执行模块负责解析用户的访问请求,抽取其中的主体属性,并将授权请求和主体属性发送给策略决策模块;策略执行模块可以是分布在整个网络环境中多个位置,而且请求主体不能绕过策略执行模块而直接访问资源; ②策略决策模块进行模糊策略判决,具体步骤如下: 1):输入信息处理;` 由于部分访问请求信息和策略信息不是数值形式,需要进行数据格式转换;转化为属性类型,属性名称,属性值的对象描述;例如,主体的职称属性值为:助理工程师、工程师、高级工程师、研究员,属性名称为“职称”,属性类型“文本”,属性值为“助理工程师、工程师、高级工程师、研究员”之一;同理,将环境属性和访问对象属性也都需要按标准输入信息进行处理; 2):属性筛选;通过分析输入数据,根据具体应用需求,对主体、资源、环境属性进行模糊筛选; 3):使用信任度函数进行信任度计算;首先获取筛选后的属性,进行对应的信任度计算,对于信任度值,再进行处理,得到访问许可值;例如,^(X1, Y1, Z1)的Xl是主体职称;yl是资源密级是系统状态;系统状态分为系统闲和系统忙;则工程师系统闲时访问一个公开资料的信任度和系统忙时访问一个公开资料的信任度值是不一样的,综合考虑其他信任度函数的返回,平时可能允许工程师访问的资源,在系统忙时,可能限制工程师访问.Y1, Z1)最初可以人工初始化,在积累一定经验数据,可以根据经验数据调整信任度系数。
【文档编号】H04L29/06GK103795688SQ201210424262
【公开日】2014年5月14日 申请日期:2012年10月31日 优先权日:2012年10月31日
【发明者】毛俐旻, 段翼真, 陈志浩, 王斌, 王晓程 申请人:中国航天科工集团第二研究院七○六所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1