发明名称 一种基于信任度的访问控制方法及其系统
摘要 本发明公开了一种基于信任度的访问控制方法及其系统,属于计算机访问控制领域。本方法为:1)建立一角色-信任度描述模型,2)对于某自治域B中的每一角色r,确定其与其他自治域A中角色映射到角色r映射关系,使A中角色到B角色映射满足满射关系;3)根据映射关系将角色r的权限集合划分到不同的子权限集合中;将划分后的子集合关联到相应的信任度值上;4)当A中主体角色访问B中资源时,首先分析访问主体角色信息,然后将其映射到自治域B中的角色,并获取信任值;5)自治域B根据该访问主体角色的角色信息和信任度值,确定本次访问请求所具有的资源访问权限。本发明有效弥补了传统角色访问控制无法适用分布式协同开发环境的不足。
申请公布号 CN102664888B 申请公布日期 2015.08.26
申请号 CN201210116988.9 申请日期 2012.04.19
申请人 中国科学院软件研究所 发明人 张文博;吴恒;黄涛;何海
分类号 H04L29/06(2006.01)I;H04L29/08(2006.01)I 主分类号 H04L29/06(2006.01)I
代理机构 北京君尚知识产权代理事务所(普通合伙) 11200 代理人 余长江
主权项 一种基于信任度的访问控制方法,其步骤为:1)建立一角色‑信任度描述模型,用于描述每一自治域内主体的权限;2)对于某自治域B中的每一角色role,确定角色role与其他自治域A中角色映射到角色role映射关系,使自治域A中角色到自治域B角色映射满足满射关系;其方法为:21)初始化一数组RoleArray,用于记录自治域A中角色Role<sub>A</sub>访问自治域B中资源候选角色集合;其中,自治域B中的角色集合为Role[N],N为角色个数,每一角色对应的权限集合为PS[N],自治域B约束自治域A中角色Role<sub>A</sub>请求者具有的权限集为PS<sub>promise</sub>;自治域A中角色Role<sub>A</sub>访问自治域B中资源应该具有的角色表示为r<sub>map</sub>;22)设置一遍变量Num,初始化为Num=0,用于记录所述候选角色的个数;23)遍历权限集合PS[N]的每一元素j,如果<img file="FDA0000661718770000011.GIF" wi="378" he="78" />则确定Role[j]是候选角色,RoleArray[i++]=Role[j];24)令Num等于数组RoleArray中候选角色的个数,如果Num≤0,则算法结束;如果Num=1,则在自治域B中有且存在一个角色RoleArray[0]满足满射约束,输出r<sub>map</sub>=RoleArray[0];25)如果Num>1,则自治域B中存在多个角色满足满射约束,设置一变量k,k初始化为数组RoleArray第一个元素对应的权限个数;然后遍历候选角色数组RoleArray中前Num个数组元素的每一候选角色,如果候选角色RoleArray[m]所对应的权限集合个数size小于k,则更新被选角色的下标m=j,更新最小权限集数k=size,输出r<sub>map</sub>=RoleArray[k];3)根据所述映射关系将该角色role的权限集合划分到不同的子权限集合中;将划分后的子集合关联到相应的信任度值上;其中,根据所述映射关系将该角色role的权限集合划分到不同的子权限集合中的方法为:a)初始化一数组Array[0]=φ,Array[M+1]=PS<sub>role</sub>;其中,自治域B中角色role的权限集合为PS<sub>role</sub>,角色role的权限划分需求为(M+2),其它自治域映射到自治域B后的权限集合为PS<sub>domian_r</sub>,1≤r≤M;b)依次遍历PS<sub>domain_1</sub>到PS<sub>domain_M</sub>,按照PS<sub>domain_r</sub>权限数目升序存放在数组Array中1到M的位置;若权限数相同,则根据domain<sub>r</sub>,1≤r≤M标识从小到大的顺序排列,得到数组Array[M+2],其包括一空集和角色role在自治域B对应的权限全集PS<sub>role</sub>;c)令PS<sub>base</sub>表示数组Array前j个权限集的合集,并初始化PS<sub>base</sub>=Array[0];d)遍历数组Array中元素j并计算每一元素Array[j]的权限集合,使其满足角色访问控制中的角色具有继承性的约束,0&lt;j≤M+1;所述计算每一元素Array[j]的权限集合,使其满足角色访问控制中的角色具有继承性的约束的方法为:将集合Array[j]具有的而集合PS<sub>base</sub>不具有的权限进行并操作转换;将集合PS<sub>base</sub>具有的而集合Array[j]不具有的权限进行差操作转换;e)更新PS<sub>base</sub>为<img file="FDA0000661718770000021.GIF" wi="625" he="85" />4)当自治域A中主体角色请求访问自治域B中资源时,首先分析访问请求中包含的访问主体角色信息,然后将该访问主体角色映射到自治域B中的角色,并获取该访问主体角色的信任值;5)自治域B根据该访问主体角色的角色信息和信任度值,确定本次访问请求所具有的资源访问权限。
地址 100190 北京市海淀区中关村南四街4号