【技术实现步骤摘要】
一种访问控制系统用户授权查询请求问题的快速求解方法
本专利技术涉及访问控制领域,具体涉及一种基于zchaff的RBAC系统用户授权查询请求问题的快速求解方法。
技术介绍
网络和信息技术的快速发展使得我们可以通过网络应用共享资源和服务,有效地提高了数据的利用率。然而,网络自身的开放性、匿名性、数据传输透明性等特征对保障信息的机密性和完整性提出了许多新的挑战,严重阻碍了网络技术的进一步普及和应用。访问控制是保证网络安全最重要的核心技术之一,它允许被授权的主体对某些客体的访问,同时拒绝向非授权的主体提供服务。基于角色的访问控制RBAC(RoleBasedAccessControl)这一概念最早由Ferraiolo等人于1992年提出。RBAC策略的基本思想是通过引入角色这一中介,权限直接指派给角色而不是指派给用户,用户通过角色指派从而间接获取对客体的操作权限,实现了用户与权限的逻辑分离。驱动RBAC发展的动力是在简化安全策略管理的同时,允许灵活地定义安全策略。这一优点使得在过去的二十年中,无论是RBAC理论研究还是实际应用都有了很大的发展。目前,RBAC已被广泛应用到各个领域,包括操作系统、数据库管理系统、PKI、工作流管理系统和Web服务等领域。用户授权查询请求UAQ(UserAuthorizationQuery)问题是RBAC系统中的一个关键问题,即在某个会话中,用户请求授予一个完成某项特定任务所需要的权限集合,问题的关键在于如何寻找一个优化的角色集合,用户激活该角色集合从而能够得到所请求的权限集合。该问题在复杂的协同系统中十分普遍,例如,在一个基于web的 ...
【技术保护点】
一种访问控制系统用户授权查询请求问题的快速求解方法,其特征在于:包括下列步骤:步骤(1)用户请求登录系统;步骤(2)系统接收登录请求用户的属性证书;步骤(3)系统利用公密钥机制验证属性证书的真伪,若鉴定证书为伪造,则结束;否则,系统从属性证书中获取用户的合法身份信息,进入步骤(4);步骤(4)判断用户输入的角色层次结构是否为平坦分布方式,若是则进入步骤(5),否则将其转化为平坦分布方式;步骤(5)用户输入所请求访问的权限集合的上限和下限;步骤(6)设定安全约束以及用户的安全目标;步骤(7)对用户输入数据进行合法性判断,如果合法则进入步骤(8),否则返回步骤(5);步骤(8)通过静态裁剪缩小所需考虑的请求权限的规模;步骤(9)通过预处理削减不包含请求权限的角色的数量;步骤(10)通过调用外部程序对用户所给出的用户授权查询请求进行计算,首先用户所请求的数据会被外部程序转化成合取范式的格式,并被保存在当前程序的根目录下,然后再通过调用zchaff求解器来计算合取范式,根据求解器返回的值再进行相应的转换,并反馈回用户当前可激活的角色数量,以及可激活的权限数量;步骤(11)返回计算结果,并对计算 ...
【技术特征摘要】
1.一种访问控制系统用户授权查询请求问题的快速求解方法,其特征在于:包括下列步骤:步骤(1)用户请求登录系统;步骤(2)系统接收登录请求用户的属性证书;步骤(3)系统利用公密钥机制验证属性证书的真伪,若鉴定证书为伪造,则结束;否则,系统从属性证书中获取用户的合法身份信息,进入步骤(4);步骤(4)判断用户输入的角色层次结构是否为平坦分布方式,若是则进入步骤(5),否则将其转化为平坦分布方式;步骤(5)用户输入所请求访问的权限集合的上限和下限;步骤(6)设定安全约束以及用户的安全目标;步骤(7)对用户输入数据进行合法性判断,如果合法则进入步骤(8),否则返回步骤(5);步骤(8)通过静态裁剪缩小所需考虑的请求权限的规模;步骤(9)通过预处理削减不包含请求权限的角色的数量;步骤(10)通过调用外部程序对用户所给出的用户授权查询请求进行计算,首先用户所请求的数据会被外部程序转化成合取范式的格式,并被保存在当前程序的根目录下,然后再通过调用zchaff求解器来计算合取范式,根据求解器返回的值再进行相应的转换,并反馈回用户当前可激活的角色数量,以及可激活的权限数量;步骤(11)返回计算结果,并对计算结果进行相应处理并最终反馈给用户;步骤(12)判断用户是否结束系统,如果选择是则系统结束,选择否则转入步骤(5)。2.根据权利要求1所述的一种访问控制系统用户授权查询请求问题的快速求解方法,其特征在于:在步骤(4)中,当判断用户输入的角色层次结构不为平坦分布方式,依照如下方法将用户设定的角色层次转化为平坦分布方式:当满足以下条件时:rm和rn分别表示编号为m和n的两个角色;将一种单调的权限继承层次HI称为混合层次H的I分解,其中在HI中,高级角色自动继承低级角色的所有权限,记为≥i,而在H中既包含了单调的权限继承层次HI,也包含单调的权限激活层次HA,记为≥;当满足以下条件时:将HA称作H的A分解,其中在HA中,高级角色能够激活低级角色,记为≥a;当计算某个角色的可用权限时,必须考虑HI层次,通过HI层次可能获得更多的权限;HA层次则用来计算可以被用户激活的角色;如果权限-角色指派关系(p,r)∈PA,那么角色r被授权拥有权限p,假设存在另外一个角色r'使得r≥ir'∨r≥r',并且(p,r')∈PA;r1通过继承r3获得授权拥有权限集合{p2},通过继承r5获得授权拥有权限集合{p3,p4};如果用户-角色指派关系(u,r)∈UA或另外一个角色r'使得r'≥ar∨r'≥r,且(u,r')∈UA那么角色r可以被用户激活,如果用户被指派给角色r1,那么就可以激活{r1,r3,r5};用PermHI(r)表示角色r∈R中通过单调的权限继承层次HI被授权的权限集合,用ActiveHA(r)表示可以被任何用户通过单调的权限继承层次HA激活角色r∈R而激活的角色集合;则有:假定角色层次通过基于用户-角色,权限-角色指派和角色层次的关系被编码为平坦的,则令:对于角色集合R,令Perm(R)=Ur∈RPerm(r)。3.根据权利要求1所述的一种访问控制系统用户授权查询请求问题的快速求解方法,其特征在于:步骤(6)通过以下步骤设定安全约束以及用户的安全目标:(6.1).输入安全约束,安全约束是指在用户给出的角色集合R中,有n个角色不能同时存在于一组解中,(6.2).设置关于权限、角色数量的用户目标,用户可以选择期望所求出的解能够激活的权限数量最大化:尽可能的接近PUB,即给用户u授予尽可能多的权限,侧重于保障系统的安全性或是最小化:尽可能接近PLB,即尽可能少的给用户u授权,侧重于保障系统的可用性,或者是角色数量最大化或最小化;或设定一个目标k值,这个k值表示用户希望求出的解中的权限或角色集合的个数必须小于或者大于k,否则系统就返回解不存在,此操作实现对用户需求进行细粒度的控制,能够根据用户不同需求进行弹性扩展。4.根据权利要求1所述的一种访问控制系统用户授权查询请求问题的快速求解方法,其特征在于:步骤(8)通过静态裁剪缩小所需考虑的请求权限的规模,对于权限冗余或缺失各种复杂情形进行如下处理,基于给定的角色集合R,权限集合P,以及所请求的权限集上限与下限(PLB,PUB),分以下四种不同的情形分别进行相应处理:情形A:最小化匹配且冗余权限数量最少(a)构造角色集合R',该集合中的所有角色其权限集合不包含于所请求的权限集,即(b)构造角色集合R”,令(c)构造权限集合P',令(d)令Rsat∈R,且|Perm(Rsat)|最小化,令且|Perm(R'sat)|最小化,则Perm(Rsat)=Perm(R'sat)∪Perm(R")从而得到一个角色集合是在满足可用性情形下,冗余权限最小的角色集合;情形B:最小化匹配且限定冗余权限数量为t(a)构造角色集合R',令(b)构造角色集合R”,令(c)构造权限集合P',令(d)令且|Perm(...
【专利技术属性】
技术研发人员:鲁剑锋,韩建民,彭浩,唐长兵,闫轩,刘一丁,王正,
申请(专利权)人:浙江师范大学,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。