您好, 访客   登录/注册

基于RBAC的RPMI系统模型的权限分配研究

来源:用户上传      作者:

  摘 要:介绍RPMI系统中两个关键部分:“权限分配处理过程”、“属性证书签发处理过程”的实现。提出了通过角色规格证书和角色分配证书进行权限分配。
  关键词:权限管理基础设施 RBAC 属性证书
  中图分类号:TP311 文献标识码:A 文章编号:1007-9416(2010)11-0057-01
  
  如何保证资源访问的过程是安全的,不会泄漏给某些恶意窃听的人;如何保护某些敏感的数据和信息不被本来不应该访问该信息的用户看到;如何知道访问的用户的确切身份以及其对应的访问权限;如何管理合法用户的资料以及在对用户的请求进行访问控制决策的时候应用什么策略等。以上的问题都可以通过一个基于角色的特权管理基础设施(RPMI, Role of Privilege Management Infrastructure)解决。下文详细介绍RPMI系统实现的两个关键部分:“权限分配过程”、“属性证书签发过程”。
  
  1 权限分配过程
  通过RPMI模型中角色规格证书和角色分配证书及实现角色-资源-操作、角色-角色-权限分配矩阵,实现了用户-角色的指派、角色-权限的分配、角色层次、角色代理,支持最小特权原则、静态约束及动态约束,对角色私有权限的保护及灵活的代理也提供了较好的支持[1]。
  1.1 角色-资源/角色-操作/权限的分配(RSOP处理)
  角色-权限的分配在RPMI系统实现中有两种方式,一种是角色-资源-操作的分配,另一种是角色-角色-权限的分配,两种分配方式在统一的RSOP处理中实现。角色的层次继承及私有权限的保护也在这里得到实现。
  定义四元组RSOP=(R角色,S资源,O操作,P权限):
  (1)角色-(资源-操作)的分配:
  assignRS(r,Pr)={r∈R|Pr=(O→S)}:对角色集合R中的任意元r都有它的权限是作用在资源S上的O操作;
  (2)角色-(角色-权限)的分配:
  assignRR(r,Pr)={r∈R|PrPRi,i=1,…,n}:对于角色集合R中元素r由于R被授予拥有其它角色R2,R3,…,Ri的全部或部分特权,因此r也同时拥有权限Pr1,Pr2,…;
  (3)角色-角色的完全继承:
  r∈R1, R1≥R2则Pr∈(Pr1∪ Pr2)(≥表示继承关系);
  (4)角色-角色的部分继承:r∈R1, R1≥R2则Pr part of (Pr1∪Pr2)并且去掉要保护的私有权限。
  对于(3)角色A完全继承角色B,将不对角色B的特权作选择,默认全部继承;对于(4)角色A不继承角色B的私有权限,将对Pr2集合进行选择,根据策略,去掉要保护的私有权限,这样角色B的私有权限将不被角色A继承。(3)、(4)实质上是(2)的特殊情况。在进行角色-角色的分配中,系统将自动监测是否有角色冲突发生。
  分配结束后,所得结果存入一个三维矩阵中,送交“角色分析处理”模块。“角色分析处理”提取矩阵中R角色,这将作为角色规格证书中的角色;对矩阵中对象O、权限P,根据OID号的分类,对角色和权限排序(实践证明这有利于提高“特权验证者”的验证效率),这将作为角色规格证书中的属性。角色规格证书通过AA私钥签名,发布到LDAP中。
  1.2 角色代理
  在X.509中规定只有SOA和AA有权发布证书,对权限的代理主要通过证书扩展项pathLenConstraints和delegatedNameConstraints分别从路径空间和命名空间上作了限制。我们没有完全遵照这个限制,或者说根本没作代理空间的限制,用户之间可以自由代理其所拥有的权限,但通过以下3条规则来保证系统的安全:
  (1)用户需要将它的角色或特权授予他人,需先产生授权申请;
  (2)只有AA有权颁发证书;
  (3)发生代理时必须有安全管理员的参与。
  代理是通过RSOP处理辅助实现的,这也是RSOP的一个特色,不但各级安全管理员可以使用,个人用户也可以使用,只是根据其PKC不同来授予不同的使用范围,也就是说他可以管理的只是他个人拥有的角色、特权和资源。通过选择要代理出去的角色/特权,生成信息交换文件,并用其私钥签名,送交SOA/AA。安全管理员根据策略检查许可后,签发新的角色分配证书,实现角色的委托代理,同时将信息交换文件备案。虽然,在分布式环境中,如果用户可以在没有安全管理员的参与下就可将自己的角色/权限代理出去在某些场合很适用,也确实可以做到根据预设策略,例如只要验证签名正确和权限是在代理范围内,就可由系统自动签发新的角色分配证书得到实现。但这里强调指出,用户进行角色代理不能没有安全管理员的参与,否则将产生严重安全漏洞。
  用户-角色的分配[2]。用户-角色的分配通过二维矩阵(X,Y)来完成,这里x为用户,y为角色。系统自动监测静态责权分离原则的实施。模型中动态责权分离在“特权验证者”中实施。在为角色分配权限时,有的复杂的角色的权限就是其他几个角色的权限的和,我们在做角色规范证书时,就不一一列举此角色的权限了,就只列举出他的角色组合就可以了。例如:角色Y他的权限就是由角色X,角色Z,角色W三者的权限简单相加组成,那么我们就在角色Y的角色规范证书的属性列中写上角色X、Z、W就可以了。不用写上他们的具体权限,简化了角色规范证书,便于权限的管理。
  最小特权原则。在每个受保护的资源处都有一个“特权验证者”,此模块在系统初始化时加载,装入所需角色/权限的OID。当有资源访问事件发生时,“特权验证者”只需查询角色证书中有无这些OID即可。OID可以是角色也可以是特权。这样,一方面实现了最小权限规则,同时保护了用户的权限不被滥用。
  
  2 属性证书的签发过程
  属性证书的签发流程:用户输入登陆信息,若不合法,则再输入,合法,就把用户请求属性证书所需要的信息如角色、资源、权限等写入请求文件中,并用自己的私钥进行签名,形成属性证书请求文件,把请求文件送给AA签名之前,要验证AA的合法性,特别是验证AA的私钥的合法性,若AA的私钥是合法的,那么就验证AC请求文件的合法性,如果也合法,就初始化AC请求文件,并设置证书中的各项参数,最后用前向安全数字签名方法使用AA的私钥签发AC,用户申请的AC就这样生成了[3]。
  
  3 结语
  本文详细介绍了RPMI系统中两个关键部分:“权限分配过程”、“属性证书签发过程”的实现。通过RPMI模型中角色规格证书和角色分配证书及实现角色-资源-操作、角色-角色-权限分配矩阵实现了权限分配,在证书签发过程中使用前向安全数字签名签发属性证书,整体提升RPMI系统性能。
  
  参考文献
  [1] 谭强,黄蕾.PMI原理及实现初探.计算机工程,2002,28(8):187.
  [2] 张大江,钱华林.一个利用教学证书实现的RBAC模型[J].小型微型计算机系统,2001,22(8):936-939.
  [3] 许长枫,刘爱江,何大可.基于属性证书的PMI及其在电子政务安全建设中的应用[J].计算机应用研究,2004,21(1):119-122.

转载注明来源:https://www.xzbu.com/8/view-9027398.htm