基于粒度的访问控制冲突分析及解决办法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

总第158期2007年第2期 舰船电子工程

Ship E l ectronic Eng i nee ri ng

V o.l27N o.2

95

基于粒度的访问控制冲突分析及解决办法*

邬小鲁 沈 琳

(武汉大学国际软件学院 武汉 430079)

摘 要 访问控制规范了安全域中合法用户访问与操作资源的行为,保证资源不被非授权用户使用,从而起到保护资源的作用。访问控制粒度指明系统为用户授权的层次,如目录级授权与文件级授权等。当不同粒度安全域的用户进行资源互访时,则易造成访问权限的缩放以及授权的冲突等问题。分析不同粒度访问控制的特点,指出冲突产生的原因。同时,提出跨域资源访问应遵守的规则。根据这些原则,给出因访问控制粒度而引起的冲突解决方法。

关键词 访问控制;粒度;证书;授权;策略

中图分类号 TP31

1 引言

随着I n ter net的高速发展以及计算机技术的普及,单安全域的资源管理越来越满足不了日愈增加的资源分布式共享需求。访问控制为安全域的资源共享提供了一种良好的安全机制,规范了合法用户对域中资源访问与操作的行为,避免非法用户对资源的非授权访问[1]。

访问控制粒度指定了用户访问资源的层次,以及系统记录用户访问行为的程度,如基于目录的授权粒度(即访问某个目录的所有文件)、基于菜单的授权粒度、基于文件的授权粒度等。按照粒度的级别,将安全系统分为细粒度访问控制系统与粗粒度访问控制系统。访问控制粒度的选择,对用户行为跟踪、审计等具有重要影响。

在分布式环境下,当用户进行跨域资源访问时,若交互域具有不同的访问控制粒度[2],则很容易造成权限缩放问题,甚至无法访问,如当目录级授权粒度的用户访问文件级授权粒度的系统时,则权限缩小;反过来,可能造成权限扩大,或者因没有对应的文件而无法访问。另一方面,当允许用户跨域资源访问时,用户可以通过连接对方安全域在返回来访问本安全域的资源,这样会造成权限的扩散或不一致现象。

本文针对访问控制粒度造成的冲突问题进行研究,分析不同粒度访问控制系统特征,指出冲突产生的原因。同时,根据安全域访问控制特征,提出跨域资源共享应遵守的原则,在此基础上,提出解决因访问控制粒度而造成冲突的解决方法。

2 基于粒度的访问控制冲突

在这一节了,介绍了访问控制粒度访问产生的原因,以及如何产生,总结了不同粒度访问控制系统的特征。

2.1 访问控制描述

在实际访问控制系统中,各单位根据具体的应用,制定不同访问控制规则,这就形成访问控制粒度的多样化与复杂性。访问控制列表(A ccess Con tro lL is,t ACL)[3]一直是各类访问控制系统中广泛使用的安全机制。ACL采用列表的方式描述用户对安全域资源的访问粒度与权限,其形式简单,易于实现,因而被各分布式系统所采用。ACL的访问授权方式为:,其中,S表示访问资源的主体,如用户、进程等;O表示被访问的客体,可为具体的资源,也可为一个目录,一个网页等;A表示授权,如{r,a,w}表示允许读、访问、写权限。

ACL满足部分访问控制系统的需求,但由于其定义比较固定,许多授权无法描述,如在某某时段内允许某用户对哪些资源进行不同的操作等。在实际应用中,往往对其进行扩充,一种有效扩展

*收稿日期:2006年10月9日,修回日期:2006年10月23日

作者简介:邬小鲁,男,硕士研究生,主要研究方向为软件工程。沈琳,男,硕士研究生,主要研究方向为软件工程。

形式为:E ACL=,其中C表示具体的授权环境。如描述 允许用户To m在7:00-9:00间以会计角色录入报帐数据,允许To m在15:00-16:00以出纳角色核实帐目为:(To m,fi n ance sys te m,{access,read,w rite},role=accountant ac cess per i o d= 7:00-9:00)(To m,fi n ance sys te m,{access,read},ro le=cash i e r access period = 15:00-16:00)。

2.2 不同粒度访问控制系统对比

ACL的扩展,带来了访问控制粒度的差异,这样,当不同安全域的用户进行跨域资源访问时,便会产生授权上的冲突以及对同一客体权限的不一致。因此,从描述角度来看,粗粒度的访问授权可描述为:

f!D irectory,i f u!U∀u.o w es R ole(so m e role)then u.access(f)=True

而细粒度的访问授权则描述为:

f!D irectory,i f u!U∀u.o w es R ole(so m e role)then u.access(f)=True

访问控制系统粗细粒度描述的差异,决定了授权的差异与不一致:当粗粒度访问控制系统的用户进入到细粒度访问控制系统中,访问的对象减少,权限缩小;反过来,细粒度系统中的用户在粗粒度系统中,会存在权限扩大或找不到资源等现象。

另一方面,从安全级别角度来看,访问控制的粗细粒度是相对的,一般地,对安全要求不高的系统,采用粗粒度访问控制方式比较实际,而对军事等高安全级别的系统,则更倾向于进行细粒度访问控制。

第三,访问控制粒度对用户行为跟踪、审计、应用等具有较大的影响。粗粒度访问控制系统对匿名访问支持较好,可用于选举、投票等,保护了极好地保护了用户的隐私;系统易于实现,应用广泛;然而,系统的安全级别一般较低,易被攻击,难查源头。细粒度在财务管理、金融管理、企业ERP等领域具有极好的应用,这样的系统安全级别较高,便于跟踪恶意用户行为与审计,不足之处在于操作、管理不灵活。

3 访问粒度冲突的解决方法

访问控制系统中,访问粒度的划分依赖于实际的应用。当不同访问控制粒度域的用户进行资源互访时,会带来授权冲突问题。在这一节里,提出域互操作的基本规则,并针对粒度冲突问题给出一种解决方案。

3.1 规则约定

跨域访问实现域之间的资源共享,目的在于提高资源的利用率,避免重复投入。在设计跨域资源访问时,必须遵守一些规则,否则会造成本域用户无法正常访问域内资源。

规则1:当高优先级策略与低优先级策略或普通策略发生冲突时,按优先级的顺序来解决冲突。即:

p1,p2!P olicy,conf lict(p1,p2),if p1.pr iorit y >p2.p rior it y,thenex ec(p1)(1)规则2:域外用户访问本子资源时,必须服从本地策略。即:

u!U ser B, r!R e sourc A,p!P o licy A,i f u. m eet(r,p),then u.access(r)(2)规则3:本地用户不允许通过外域关联/定向访问本地资源。

u1!User A,u2!User B,M ap(u1,u2);!u3 !User A,s.t.M ap(u2,u3)(3) 3.2 角色映射

图1 域间资源共享结构图

为实现域间的资源

共享,当A域中的用户

u1访问B域中的资源r

时,u1必须具有B域的

角色,并由B域的授权

系统为u1授权。当A域

与B域为不同机构,即具有不同角色时,则必须通过一些函数实现域间的角色映射。这些函数包括:

#String ro le Designate(Ro le r):角色指派函数,当两域具有相同的角色,或按照某种规则由人工关联角色时,则使用角色指派函数。

#Stri n g r o le N ego tiate(Role r):角色协商函数,对于智能型系统,不需要过多的人工参与,用户通过提交证书或信任凭证,以协商的方式获得另一域的角色。

#Boo lean m apRo l e ToRole(Ro l e r1,Ro le r2):角色关联函数,如用户在域A中使用r1角色,在域B中则使用r2角色。

3.3 授权描述

在用户跨域资源共享时,访问控制系统的粒度不一致,其授权也不尽相同。为了实现统一的授权,避免因授权而引起的各类冲突,借鉴SPK I/SD SI证书[4],[5]的形式,对其进行改造,作为统一的授权凭证,如图2所示。

96

邬小鲁等:基于粒度的访问控制冲突分析及解决办法总第158期

相关文档
最新文档