一种基于多角色、多控制粒度的文档管理模型的设计与实现

2016-01-09 12:34郝桐
电脑知识与技术 2015年30期

郝桐

摘要:概述了三个访问模型即:自主访问控制模型(DAC)、强制访问控制模型(MAC)、基于角色的访问控制模型(RBAC)的文档管理系统模型,着重讲述了基于多角色、多种控制粒度的文档管理模型RDUP模型中的约束条件、规则的描述,以及特点。

关键词:文档管理;DAC;MAC;RBAC;RDPU

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)30-0045-02

近几年来,随着计算机信息技术的高速发展,使得传统的办公方式发生了大幅度的变化。许多政府机关、企事业单位的业务都实现了计算机化的管理,企业原有的纸质文档正在被电子文档所取代。电子文档愈来愈多,不同类别的电子文档需求的安全级别也不相同,如何实现安全、易用的系统才是目前电子文档访问控制所需要解决的重要问题[1]。

1 访问控制模型概述

在文档管理信息系统当中,怎样确保信息被合法访问,而不是非法入侵,此时系统的安全的重要性就体现出来了[2]。其中ISO在网络安全标准(ISO749822)中定义了五个层次的安全服务:第一个层次是身份认证服务,第二个层次是访问控制服务,第三个层次是数据保密服务[3],第四个层次是数据完整性服务,第五个层次是不可否认服务。其中在访问控制的研究领域取得了很多成果,人们提出了许多访问控制模型,自主访问控制模型(DAC):是目前很多访问系统中实现最多的控制机制。强制访问控制模型(MAC):是一种系统强制主体服从的访问控制策略。其中基于角色的访问控制模型(RBAC)在权限控制中被广泛使用。

2 RDPU模型的建模

2.1 RDPU模型的思想

RBAC访问控制模型是权限控制中使用是最广泛的,其核心部分是角色,权限是用户授予角色后才能得到,这大大简化了对用户授权的复杂度。但在RBAC模型当中也存在着不足,随着角色细化程度越来越高,相应的其授权复杂度也会增加;权限分配一般情况下只有管理员这个角色来完成,导致管理员的工作负担较重,角色权限的变化也不够灵活;在RBAC模型中控制粒度只能是相对粗的而非细微和精确的访问控制。

根据RBAC模型的不足,提出基于多角色、多种控制粒度的结构的RDPU模型,力求得到一个授权复杂度较低、细控粒度的控制模型。

2.2 RDPU的模型概述[6-7]

RDPU模型如图3.1,在此模型中,定义以下的概念:

1)用户(Users)可访问系统中的数据或者可用数据来表示其他资源,用U表示。[Ur]是角色r分配的集合,[Ud]是部门d分配的集合,[Up]是岗位p分配的集合,[Uu]是分配给用户u的集合。

图1 RDPU模型图

2)部门(Departments)是用户所在的部门,用D表示。例如:人力资源部门,营销部门,技术开发部门等。[Du]是分给用户的所有部门。

3)角色(Roles)是一个任务中的工作者或者用户的资格,代表着保障和权利,用R表示。例如管理员等。[Ru]是用户全部角色的集合。

4)岗位(Positions)是用户行政单位,用P表示。例如科长,主任,院长等。[Pu]是分配给用户u的所有岗位集合。

5)权限(Authorization)是文档管理系统当中的许可,用A表示。[Ardpu=Ar∧Ad∧Ap∧Au],[Ar]是表示给角色r的权限集合,[Ad]是表示给部门d的权限集合,[Ap]是表示给岗位p的权限集合,[Au]是表示给用户u的权限集合。 (6)对象(O)是被控制的,用O表示。

7)操作(OP)是用户对对象的操作,用OP表示。OP[rdpu]是给rdpu的操作,例如增加角色,删除角色,修改角色,查询事物等。

8)状态(State)是指在不同阶段中对象的变化,用S表示。[So]是对象O的状态集合。

9)约束(Constraint)由不同的约束条件组成的集合,每个约束条件可作用于上述的各个元素,这些元素的可接受性由这些条件决定,用C表示。

10)四层权限控制模型可表示为[RDPU=R∨D∨P∨U],它用来表示R,D,P,U的并集。[RDPUu]是用户的RDPU集合。

11)用户分配可表示为[UA?U×RDPU],是用户到RDPU的多对多关系的集合。

12)权限分配可表示为[AA?A×RDPU],是权限到RDPU的多对多关系的集合。

13)管理角色(MR),是用来完成UA和AA的角色。它是RDPU的子集。即:

[?mr:MR?rdpu:RDPU?mr∈RDPUrdpu]

14)[MRH?MR×MR]表示管理角色的偏序关系,即为管理角色层次关系,记为“[≥]”,它代表了管理角色中的一种继承关系。

2.3 约束的描述

先对一些记号给予说明,[Urdpu]:rdpu是分配的用户集合, E代表角色互斥,[Umr]代表管理角色mr用户集合。

描述1:RDPU模型当中,R、D、P、U之间不存在角色互斥关系。

以下给出证明。

由概念10知道,

[?u:Uu∈Urdpu?u∈Ur∨u∈Ud∨u∈Up∨u∈Uu] (1)

而角色互斥的概念为

[?u:U?r1,r2:Rr1,r2∈E∧u∈Ur1?u?Ur2],

若R,D,P,U之间存在互斥,则按互斥的概念,则有:[?u:U?r,d,p,u:RDPUr,d,p,u∈E∧u∈Ur?u?Ud∧u?Up∧u?Uu] (2)

由(1)式和(2)式看出存在矛盾,故R,D,P,U之间没有互斥关系。

描述2:R,D,P,U各层之间存在角色互斥的关系。

即:

[?u:U?r1,r2:Rr1,r2∈E∧u∈Ur1?u?Ur2];

[?u:U?d1,d2:Dd1,d2∈E∧u∈Ud1?u?Ud2];

[?u:U?p1,p2:Pp1,p2∈E∧u∈Up1?u?Up2];

[?u:U?u1,u2:Uu1,u2∈E∧u∈Uu1?u?Uu2]

描述3:管理角色(MR)的约束关系。

[?u,u1:U?mr:MRu≠u1∧u1∈Umr??u?Umr]

描述4:R,D,P,U之间的约束关系有优先级别。

[?u:Ur∈Ruu∈Ur??a:Aa∈Ar]

[?u:Ur∈Rud∈Duu∈Ur∨Ud??a:Aa∈Ad]

[?u:Ur∈Rud∈Dup∈Puu∈Ur∨Ud∨Up??a:Aa∈Ap]

[?u:Ur∈Rud∈Dup∈Puu∈Uuu∈Ur∨Ud∨Up∨Uu??a:Aa∈Au]

描述5:存在对象状态约束关系。

[?rdpu:RDPU?o:O?s1,s2,…,si∈So∧si=So?Ardpu=aj]

([i,j=0,1,…,n])。

2.4 规则描述[4-5]

在RDPU模型中,需要遵守如下规则:

规则1:一致性所遵循的规则,分给用户的RDPU集合的充要条件是用户属于该rdpu。

[?u:U?rdpu:RDPUrdpu∈RDPUu?u∈Urdpu]

规则2:分配所遵循的规则,某种权限只有属于rdpu的用户集合才能拥有。[?u:Uu∈Urdpu?Au≠?]

如果[u∈Urdpu],由描述4可知, [?a:Aa∈Au]故[Au≠?]

规则3:认证权限所遵循的规则,只有AA分配到的权限,属于rdpu的用户才能执行

[?rdpu:RDPU∧?a∈Ardpu??u∈Urdpu∧a=Au]

规则4:层次操作所遵循的规则,有对象的操作形成层次关系,这些对象的操作之间有继承关系。

[?o:O?op1,op2:OP∧op1≥op2OPo=op1?OPo=op1∨op2]

2.4 RDPU模型的优点[8]

RDPU模型主要是对RBAC模型的不足做出了如下改进:

1)加入了多用户,角色以及类型增多并且角色的细化越来越细。

2)不同角色拥有不同权限,不同权限决定其不同的可以执行的操作,在管理角色继承和操作继承关系中,通过继承,避免重复定义角色和操作,管理角色关系的引入,实现了对角色的权限进行控制。

3)RDPU中的优先级约束原则,大幅度降低了多角色下授权复杂度。

4)加入了对象状态的约束条件,以此来适应对象状态的权限要求。

5)采用细微控制粒度,达到精确的访问控制要求。

3.5 RDPU的授权描述

RDPU模型描述了(U,R,D,P,O,OP,S,A)之间的关系,模型通过用户分配(UA)和权限分配(AA),按约束条件C,来实现用户U和对象O之间的访问控制。

分配好角色的用户和获得其对应的权限,按照优先约束原则,用户即可得到对于一个对象的访问权限。

3 RDPU的实现

通过文档管理数据库表的具体设计,建立各个部门的表,由各个角色之间的联系形成新的表,RDPU具体用户分配和权限分配,得到访问控制表,就可以将系统中的权限描述为信息存储表示。根据操作对象的不同的权限建立不同的权值,则RDPU、对象和权限之间就建立了访问控制关系。这样就能得到既灵活而又安全的文档管理权限控制系统。

4 总结

文中通过概述现今流行的访问控制模型,在其缺点的基础上提出RDPU模型,使得访问控制对对象即灵活安全又能达到细微精确的访问控制要求,RDPU之间的优先级约束原则,降低了多角色情况下的授权复杂度,使得访问控制更加的精确和明了。

参考文献:

[1] 李琳. 基于B/S架构的文档管理系统的设计与实现[D]. 南京:南京理工大学,2007.

[2] 陈宏麟. 企业文档管理系统的研究与开发[D]. 南京:南京理工大学,2008.

[3] 庄严. 密级电子文档管理系统设计与实现[D].成都:电子科技大学,2013.

[4] 米庆龙. 企业文档管理系统的分析与设计[D]. 厦门:厦门大学,2013.

[5] 曹庆贺. 基于.NET的电子文档管理系统的设计与实现[D].济南:山东大学,2012.

[6] Kenneth H Rosen.Discrete Mathematics and Its Applications[M], 袁崇义,译. 北京:机械工业出版社,2011.

[7] 王珊,萨师煊. 数据库系统概论[M].4版. 北京:高等教育出版社,2006.

[8] 闫志强. 基于.NET的文档管理系统的设计与实现[D]. 西安:西安石油大学,2006