基于角色的访问控制系统设计

访问控制策略是大多数应用系统必须考虑的问题。本文提出的基于角色的访问控制是一种新型访问控制模型,它不仅能够实现传统访问控制的功能,同时还可以方便权限的管理,能够灵活地进行配置以适应系统的不同需求,提高系统的可扩展性,可资同类系统借鉴。

  基于角色的访问控制是一种新型访问控制模型,它的基本思想是将权限与角色联系起来,在系统中根据应用的需要为不同的工作岗位创建相应的角色,同时根据用户职务和责任指派合适的角色,用户通过所指派的角色获得相应的权限,实现对文件的访问。它支持最小特权、责任分离以及数据抽象三个基本的安全原则。

  这里的角色用一般业务系统中的术语来说,就是业务系统中的岗位、职位或者分工。它和用户组的最主要的区别在于,用户组是作为用户的一个集合来对待的,并不涉及它的授权许可;而角色则既是一个用户的集合,又是一个授权许可的集合。角色是指具有一定技能,可以执行某些工作的人员(或资源)集合。通过给成员赋予不同的角色,对成员的多职能进行表达,提供约束成员不同权限范围变化的依据。 为了满足企业内既存在信息共享又存在信息独立的实际情况,在角色体系中采用双枝生成模式,即整个角色体系的来源有两枝,其中一枝来自于相对固定的组织机构,是相对稳定的角色集合描述;另一枝在动态组合过程中动态创建,是更加依赖于动态项目和扩展需要而生成的,具有极大的时效性,随着项目或者企业扩展组合的变化会在活动态、冻结态和无效态之间变更。这样既保证了成员企业的相对独立性,又保证了与其他成员合作过程中的及时性和有效性。

  访问控制系统设计

  基于角色的访问控制设计需要一套既行之有效,又方便灵活的设计方案,要采用各种控制机制和保护技术。安全策略是设计安全可靠系统的准则,通常涉及下列几个方面:

  1. 安全保护策略

  安全策略是信息安全性的高级指导,策略出自对用户要求、设备环境、机构规则、法律约束等方面的详细研究。策略重要性在于指导作用。而机构是实现和执行各种策略的功能的集合。

  安全策略 安全管理人员根据需要定义各种角色,并设置合适的访问权限,而用户根据其责任和资历再被指派为不同的角色。如图1所示,角色可以看成是一个表达访问控制策略的语义结构,它可以表示承担特定工作的资格。


  安全保护机构 系统的安全保护机构基本上是与上面的安全策略相互适应的,保护机构应负责阻止一切物理破坏和用户可能的操作破坏,后者归结为主体可用何种方式访问哪些对象。

  安全管理的职责 安全管理有集中管理与分散管理两种。前者意指一切权利都由负责系统安全工作的专职人员或小组掌握,他(们)决定用户的访问权利,控制系统安全的一切方面。后者是指不同的管理员控制着系统安全的不同方面,管理系统的不同部分,决定不同用户的访问权利。

  访问控制策略 它提供决定用户访问权利的依据。其中最重要的一个普遍的原则是“需者方知策略”。按照这一原则授予用户的权利,是用户能完成工作的最小权利集合,故也称之为“最少特权策略”。

  信息流动控制 只限制用户的访问权利而不考虑数据流动是极其危险的,控制数据流动以防止无权用户在数据流动后获得访问权利。

  密码变换 对于非常机密数据可变换为密码存贮,使得不知道密码的入侵者无法破译所得到的数据密码。密码变换能防止泄密,但不能保护数据信息不被破坏。

  软硬结合保护 这是安全保护的基本策略,许多硬保护功能是软件难以实现的,有些即使能实现,效率也不高。

  对安全遭到破坏的响应 各种保护机构都有可能遭到破坏,因此系统必须制订检测破坏手段与处置措施。

  2. 基于角色的访问控制总体功能框架图



  安全管理控制核心是系统安全管理的核心控制部分,它在系统中控制整个系统的安全控制工作,由它决定系统是否启动安全管理,在什么情况下调用访问控制机构,根据情况编写访问规则,如何将已有的访问规则应用于控制存贮访问规则。

  基于角色的访问控制实例

  下面以一个办公自动化公文系统为例来具体介绍基于角色的访问控制系统的设计。这个即将建立的基于角色的访问控制的公文系统包括:电子公告牌系统、电子邮件系统和电子公文系统。

  1. 办公系统的角色定义

  根据分析,我们发现在办公系统中一个用户的角色,即其权限由以下几类信息组合而成:用户的行政级别、用户所属(辖)部门以及用户的业务角色。

  用户的级别从纵向以较粗的粒度来界定用户,级别的例子如局长、处长、一般员工,不同级别的用户具有不同的权限。

  用户所属(辖)部门则从另一个维度来定义用户的职权范围。在保密单位的办公系统的安全需求中,一个原则是用户只能查看和处理其业务范围内的事情,这个业务范围就是通过用户所属(辖)部门来表示的。

  系统提供的一种灵活的控制是通过业务角色这个概念来实施的。业务角色可以定义得相当细,用来描述上述级别和部门两种概念无法定义的权限。在某些具体的业务中,存在某些特殊的用户具有特殊的职权,如公文处理中的机要员,这种特殊的职权无法用上述的级别和范畴的概念来表达,比如机要员和外收发人员都属于一般工作人员,并且都属于同一个部门,但是他们在公文处理中的职权就有明显的不同,因此我们引入业务角色的概念。业务角色是针对某项具体业务的一个权限的集合,一个用户在不同的业务中可能负责不同的职能,因此允许一个用户具有多个业务角色。

  2. 具体实现

  如何根据应用的需求采用恰当的方式建立用户——角色——权限这三者之间多对多的映射关系,将是整个办公自动化系统安全可靠和高效运行的关键。此外,所建立的映射关系应提供灵活的配置功能,使映射关系具有可更改和可扩充性,以适应可能变化的应用需求,同时还可根据某些特殊需求来进行动态授权。

  为了实现基于角色的访问控制,这里定义了三张表来实现角色到用户、角色到权限的分配,如表1、2、3所示。



  在用户申请某操作时候,系统需要检测用户所拥有的角色集合,并且根据这些角色集合所包含的权限来判断该用户是否可以进行该操作,如果可行则置许可证发放标志为真,这种方式称为用户牵引方式。同时,系统为了执行某些静态约束,比如同一用户不能属于两个互斥的角色,还定义了互斥角色表。

  3. 相关权限管理

  (1) 动态授权与动态约束

  基于角色的访问控制中用户所拥有的权限具有相对的稳定性,但在公文处理中往往会出现某些特殊事件需要做特殊的处理,动态授权机制用来反映这一需求。

  例如,用户1出差,需要用户2在其出差期间代理其部分业务工作,这就需要用户2在限定的一段时间内获得他权限之外的权限。

  约束是基于角色的访问控制中重要的安全策略,是对用户执行权限的一些限制。静态约束在系统设计时定义,而动态约束在系统运行时执行。所谓动态授权就是系统在特殊工作状态下,将用户A的职权委托给用户B的特殊授权方式。动态约束其实是依照相关模型的安全策略对动态授权进行相应约束,防止动态授权滥用而带来安全隐患。

  (2) 集中授权管理

  集中授权管理是在多种业务系统组合的复杂系统中,每个业务系统集中在一个安全机构进行授权的管理方式。

  在基于角色的访问控制系统的基础上,可以进一步构建PMI系统,基于PMI(Privilege Management Infrastructure)的集中授权系统采用基于属性证书的授权模式,向各种应用系统提供与应用相关的授权服务管理,提供用户身份到应用授权的映射功能。

  授权管理基础设施PMI 在体系上可分为三级,分别是SOA中心、AA 中心和AA 代理点。在实际应用中这种分级体系可以灵活配置,可以是三级、二级或一级。

  一个中央授权框架将能够使管理得到大大简化。一个允许组织以集中方式对所有这些服务器的访问控制进行管理,并为用户在空间中提供单一登录的安全解决方案,可以使安全管理得到大大简化,并能够提升用户体验和提高工作效率。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值