基于改进RBAC模型的电子文件生成流程中的安全控制研究
徐飞+夏敏捷+张慎武
摘 要:现在电子文件安全控制在档案管理中越来越重要,大多数的电子文件管理研究都是针对归档后电子文件如何进行安全控制,而对电子文件生成中的安全控制问题研究较少。本文结合某省电子文件管理系统对系统权限控制的需求,研究通过改进的RBAC模型解决在电子文件生成过程中如何对电子文件进行安全控制。文章最后,给出了相关项目应用中的部分界面截图和结果。
关键词:电子文件,RBAC模型,电子文件安全,安全控制
电子文件是指在机关、团体、企事业单位和其他组织在处理公务过程中,通过计算机等电子设备形成、办理、传输和存储的文字、图表、音频、视频等不同形式的信息记录[1]。随着时代的发展,现在政府生成的电子文件越来越多,政府部门为了管理的方便也对传统文档进行了电子化、数字化处理,由此形成了海量的电子文件。如何在生成电子文件过程中或生成后,对电子文件的阅读、传播、打印等进行权限控制,防止非授权的用户对一些电子文件进行非法的操作,成为电子文件管理中一个十分难以解决的问题,本文采用计算机安全控制中比较著名的RBAC模型,并对RBAC模型进行了改进,来解决电子文件管理中用户授权复杂,权限难以控制等难题。
1 电子文件安全控制的国内外研究
电子文件的管理通常按照实施时间被分为电子文件形成阶段的管理、电子文件归档阶段的管理和电子文件长期保存阶段的管理[1]。目前国内外的论文中,大多数谈到的电子文件的安全管理要集中到电子文件长期保存阶段或电子文件归档阶段的安全管理。例如,近两年来关于电子文件长期保存的论文有:钱毅老师发表的《我国可信电子文件长期保存规范研究》[2]、刘越男等老师发表的《电子文件的长期保存:多维互动的领域》[3]和谢永宪等发表的《澳大利亚电子文件长期保存策略和启示》[4]等。关于电子文件归档方面管理的论文有:黄新荣等老师发表的《网络时代电子文件归档方式研究——兼论逻辑归档的可行性》[5]和宋青霞发表的《加强电子文件归档管理的措施》[6]等论文。也有一些论文提到电子文件形成阶段的管理,例如,赵丽发表的《我国电子文件管理系统研究进展和方向》[7]、孙海燕发表的《浅谈美国电子文件管理及开发》[8]、付正刚和秦荆华发表的《电子文件安全技术刍析》[9]、张文元发表的《电子文件全过程管理中的监管研究》[10]等。但这些论文只是从理论方面对电子文件形成阶段的安全控制进行了简单的论述和讨论,没有具体地提出如何对形成阶段的电子文件安全进行控制,特别是如何对电子文件形成阶段的每个流程进行安全控制。
2 RBAC模型
Ferraiolo和Juhn于1992年提出了基于角色的访问控制RBAC(Role-Based Access Conrol)模型[11],该模型克服了自主存取控制DAC(Discretionary Access Control)和强制存取控制MAC(Mandatory Access Control)等控制技术安全控制不严、授权复杂、代价高、容易出错等缺点[12]。RBAC具有以下优点:(1)授权简单、开销较小;(2)权限控制灵活等。由于其具有的这些优点,其迅速在政府和企业的资源控制等方面得到广泛应用。最初所指的RBAC模型主要讲的是RBAC96模型[13],它是一个模型集,它包括:RBAC0、RBAC1、RBAC2和RBAC3[14],它如图1所示。
(1)RBAC0模型描述如下:分别用符号U、R、P、S、PA、UA表示用户集合Users、角色集合Roles、权限控制集合Privileges、会话集合Sessions、P×R表示权限与角色之间的多对多的指派关系、U×R表示用户与角色之间的多对多的指派关系。
(2)RBAC1模型描述如下:在RBAC0模型基础上引入了角色等级的概念RH,在分级模型中一个角色可以有上级角色和下级角色。角色在分级模型中是向下继承的,而权限在分级模型中是向上继承的。
(3)RBAC2模型描述如下:在RBAC0模型基础上增加一些约束条件,RBAC2中引入的限制可以施加到RBAC0模型中的所有关系和组件上。
(4)RBAC3模型描述如下: RBAC3是RBAC1和RBAC2相关功能和约束的融合,不但有角色的分级继承,也有一些相关约束。
RBAC模型中最重要的3个部分是:用户(User)、角色(Role)、权限(Privilege)。用户是指可以控制或使用系统资源的主体;角色是指一个或多个用户可以执行操作权限的集合;权限是指对系统中的资源等的操作能力[15]。RBAC中角色的引入,就是为了隔离用户和权限的直接关联。用户所拥有的权限由用户所处的角色来决定,角色作为一个用户与权限的代理层,解耦了权限和用户的关系,所有的授权应该给予角色而不是直接给用户,从而实现了用户与访问权限的逻辑分离。用户登录时,系统根据用户所属角色来决定其具有的权限,以此来判定该用户可以访问哪些应用模块以及对这些模块可以完成怎么样的操作。用户与角色之间以及角色与权限之间用双向箭头相连表示用户角色分配(UA)和角色权限分配(PA)关系是多对多的关系,一个用户可以属于多个角色,一个角色下也可以有多个用户。同样,一个角色可拥有多个权限,一个权限也可被多个用户所拥有。用户通过建立会话(Session)从而对资源进行控制,一个会话实际上是把一个用户与其角色建立映射关系,这个会话子集被称为激活的角色集。在这次会话中,用户可以执行的操作就是该被激活的角色集对应的权限所允许控制的功能和资源的集合。
2.1 RBAC模型的不足。RBAC模型有一系列的优点,但其也有相应的缺点:(1)权限粒度较大,有时授权把整个页面所有功能授予某一个角色。(2)授权调整困难,在RBAC 模型中,用户属于某一个角色后,便一直拥有该角色的权限,直到该角色被删除。而在实际应用中,有些应用部门和用户较多、角色变换频繁和业务繁杂,仅仅通过角色定义来授权,虽然减少了授权管理的复杂性,但还是难以适应大的复杂业务需求的变化[16]。本文在核心RBAC模型的基础上,提出了一种对角色和用户混合授权,并在授权时考虑优先级和继承约束等条件的改进模型,并把其应用到电子文件管理系统中。
2.2 RBAC模型的改进。本文针对RBAC模型进行了改进,改进后如图2所示,其所做的改进如下:
(1)改进了RBAC模型,增加了直接对用户授权,在对角色授权的基础上,增加了直接对用户的授权。既可以对角色进行授权,也可以对用户进行授权,但整个管理的核心还是角色授权,在此基础上,当一些角色授权应用难以实现时,或者有些临时性或特殊性的权限要求时,增加直接对用户的授权,减少了增加角色并对角色授权等处理的复杂性,增加了系统管理的灵活性。
(2)针对角色加入了优先级约束。当用户属于多个角色时,这几个角色所拥有的权限有时冲突,如,一个角色对某一个资源拥有控制权,而另一个角色不允许其对这个资源拥有控制权。为了解决用户拥有多个角色,并且角色冲突的这个问题,引入了角色优先级的概念,当角色冲突时,根据权重自动判断角色的优先级,不选择优先级时,默认为优先级最高的角色。也可以用户操作时直接指定所用角色。
(3)针对用户加入了优先级约束。在增加了直接对用户授权时,为了减少授权等整个操作的复杂性,对用户加入了优先级约束。如果是为了临时性的权限新增加的用户,直接对用户授权即可,但如果这个用户已经存在,并不需要重新增加用户时,如果这个用户已经有角色时,当给这个用户直接授权时,这些权限优先级是最高的,用户原来的角色自动失效。当对用户的直接授权撤销后,用户原来的角色自动变为有效。
通过增加对用户的直接授权,减少了调整权限的复杂度,而角色和用户优先级约束的引入,解决了多角色之间的冲突,并解决了已有用户直接授权时和角色之间的冲突,降低RBAC模型访问控制的复杂度,简化了编程实现权限管理的复杂性。
3 电子文件管理系统结构
分析本电子文件系统主要功能,并对这些功能进行划分,从图3可知,其划分为以下8个大功能模块。每个功能模块又可以划分更小的子系统,部分子系统是通过流程联系在一起。
3.1 电子文件系统流程。该电子文件管理系统的工作包括3个主要方面。一是与项目电子申报相关,主要内容包括:项目电子申报、项目电子评审、审查审批、项目下达;二是对项目实施过程进行管理,包括电子合同管理、过程管理、项目监理、变更管理等;三是对项目进行结题管理,包括:项目鉴定、成果登记、反馈评估等。整个项目的基本流程和所涉及的用户角色如图4所示。
在整个项目的流程中涉及一系列的用户角色。通过改进的基于角色的访问控制RBAC(Role Based Access Control)模型来对用户和角色进行权限功能的控制。本系统中按照项目的实际需要划分以下几个主要角色:项目申报人员、项目受理人员、项目评审人员、财政局人员、系统管理员等。不同的角色用户进入系统后,系统根据角色的不同,调出系统不同的权限和菜单,并把上一级提交过来的任务给下一级用户特殊标注提示,让其处理流程中涉及本级的任务。系统数据库中包括:用户信息表、角色表、系统模块表、权限表等。由于角色比较多,角色能够完成的整个电子文件生成流程也比较复杂,通过把角色和电子文件流程结合在一起,每个角色在流程中完成的功能十分明确。
3.2 系统实现。在本电子文件管理系统中,首先有系统管理员进行申报项目时间和项目类型的设定页面如图5所示,管理员还可以根据需要设置不同用户具有不同角色,改进的RBAC模型,可以解决用户有多个角色时的冲突,如果两个角色权限冲突时,不允许授权,而且当用户有多个角色时根据实际需要可以选择不同角色,如图6所示,而且还可以对角色权限控制,如图7所示。管理员设置后,项目的申报人员只能进行项目的申报,如图8所示,其他的所有流程中的内容其不可见。申报用户填写项目申报书和项目预算书,然后进行项目的提交,在项目提交后,申报用户可以下载申报项目的电子文档,下载后所填内容已经自动填入Word文档,本人下载后即可以打印。然后电子文件流转到下一个流程单位管理员处,单位管理员进入其页面即可看到其要处理的项目。接着电子文档流转到下一个角色用户阶段,这个阶段的用户就相应地具有所在阶段对电子文件的处理权限。
4 结语
本文提出了通过改进的RBAC模型来对系统生成过程中的电子文件进行安全控制,并根据改进的RBAC模型设计并实现了某省电子文件管理系统的开发。初步实现了预期的设计目标。通过这些技术的运用,某省的电子文件管理系统实现后,高效实现了电子文件在申报、评审、监理、实施和验收等全流程的安全控制,电子文件在处理过程中的安全性有了保证。但本安全控制模型还可以进一步细化,达到更高安全级别的细粒度的控制,这也是下一阶段要研究的重点。
*本文系河南省档案局项目“电子文件管理系统建设相关问题研究”(项目编号:2013-X-26)的研究成果之一及河南省高等学校重点科研项目基础研究“电子文件移交与接收平台关键技术研究”(项目编号:15A520111)研究基础之一。
参考文献:
[1]冯惠玲,刘越男,钱毅等.电子文件管理100问[M].北京:中国人民大学出版社,2014:3~5.
[2]钱毅.我国可信电子文件长期保存规范研究[J].档案学通讯,2014(3):75~79.
[3]刘越男,刘语叶,李雪君等.电子文件的长期保存:多维互动的领域[J].档案学研究,2014(4):56~60.
[4]谢永宪,刘杭,袁晓雪. 澳大利亚电子文件长期保存策略和启示[J].北京档案,2013(5):36~38.
[5]黄新荣,王晓杰,庞文琪.网络时代电子文件归档方式研究——兼论逻辑归档的可行性[J].档案学通讯,2014(5):49~53.
[6]宋青霞.加强电子文件归档管理的措施[J].山东冶金,2014,36(3):65~66.
[7]赵丽.我国电子文件管理系统研究进展和方向[J].档案学研究,2013(3):50~56.
[8]孙海燕.浅谈美国电子文件管理及开发[J].兰台世界,2015(S2):35~36.
[9]付正刚,秦荆华.电子文件安全技术刍析[J].档案与建设,2014(3):25~28.
[10]张文元.电子文件全过程管理中的监管研究[J].档案管理,2014(1):28~30.
[11]邵奇峰,韩玉民,郑秋生.一种混合授权的RBAC模型及其UML建模[J].武汉大学学报,2014,60(5):419~423.
[12]强振平,何丽波,陈旭等.基于RBA的复杂信息系统中访问控制模型的设计[J].计算机科学,2014,41(6A):429~432.
[13]Sandhu R,Coyne E,Feinstein H.Role-based Access control Models[J].IEEE Computer,1996,29(6):38~47.
[14]安沛,王春玲.OA系统中RBAC扩展模型的研究与实现[J].西安工程大学学报,2015,29(1):78~83.
[15]夏启寿. RBAC中基于信任的细粒度访问控制研究[J].计算机工程与应用,2012,(48):75~78.
[16]Khamis Abdual-latif Khamis,Zhong Luo,H.Z.Song.Modified Query-Roles Based Access Control Model (Q-RBAC) for Interactive Access of Ontology Data[J]. Journal of Information Engineering and Applications,2014,7(4):82~91.
(作者单位:中原工学院计算机学院 来稿日期:2015-09-14)