基于角色访问控制的OA系统的设计与实现

<div id="cnblogs_post_body" class="blogpost-body "> 摘要:随着电子政务的快速发展和全面普及,办公自动化(OA)系统的安全性显得愈来愈重要。对基于Web 的B/S 结构的OA 系统结构和安全需求进行了分析,为了加强用户身份鉴别和受权控制的安全性,分析了基于角色的安全访问控制的核心思想和模型。在OA 系统中进行了基于角色的安全访问控制设计,给出用户、角色和权限的划分,提出安全访问控制流程。<p style="border: 1px solid #333333; padding: 7px; line-height: 110%; font-size: 14px;"><em><strong>广告插播信息</strong><br>维库最新热卖芯片: <a href="http://www.dzsc.com/stock-ic/SLVU2.8-4.html" target="_blank">SLVU2.8-4</a> <a href="http://www.dzsc.com/icstock/294/HA3-2605-5.html" target="_blank">HA3-2605-5</a> <a href="http://www.dzsc.com/icstock/904/74LVC16244ADGG.html" target="_blank">74LVC16244ADGG</a> <a href="http://www.dzsc.com/icstock/671/TC55V1325FF-8.html" target="_blank">TC55V1325FF-8</a> <a href="http://www.dzsc.com/stock-ic/P181.html" target="_blank">P181</a> <a href="http://www.dzsc.com/stock-ic/KVT22.html" target="_blank">KVT22</a> <a href="http://www.dzsc.com/stock-ic/CY62126BVLL-55ZI.html" target="_blank">CY62126BVLL-55ZI</a> <a href="http://www.dzsc.com/icstock/408/LT1820-8595.html" target="_blank">LT1820-8595</a> <a href="http://www.dzsc.com/icstock/475/2SK1120.html" target="_blank">2SK1120</a> <a href="http://www.dzsc.com/icstock/116/AD7840AQ.html" target="_blank">AD7840AQ</a> </em></p> <p>  1 引言</p> <p>  随着计算机和Internet 的快速发展,OA 系统,即办公自动化系统,已经成为政府、企业和高校等单位办公的得力助手,不少平常工做都必须使用OA 系统才能完成,所以,OA系统的安全问题显得尤其重要。某些信息涉及到单位的机密,这些信息的访问权限须要受到保护。另外,一些用户越权访问信息资源、篡 改重要数据的事件时有发生,形成管理混乱。</p> <p>  针对这些状况,本文对OA 系统进行了基于角色的安全访问控制设计。</p> <p>  2 OA 系统结构</p> <p>  为了便于用户的使用和维护,节约系统维护成本,目前OA系统应用较普遍的是基于Web的B/S(Browser/Server)结构,客户端只 需带有浏览器软件,可以最大程度地实现资源共享,避免了资源的浪费。OA系统的B/S结构是三层体系结构,即交互层、服务层和数据访问层[1],如图1所 示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150718517-1131906177.png" border="0" alt=""></p> <p><br></p> <p>  图1 B/S三层体系结构图</p> <p>  位于顶层的是交互层,负责逻辑表达,经过浏览器完成系统与用户的交互。位于中间的是服务层,负责为上层的应用提供相应的服务平台。位于底层的是 数据访问层,主要由数据库服务器提供对整个OA 系统的功能支持,同时负责与数据库管理系统进行交互,提供对专门数据资源的存储、管理和维护等服务。</p> <p>  3 OA 系统安全需求</p> <p>  设计开发一个OA系统通常要考虑如下7个方面的安全需求[2][3]:</p> <p>  (1)身份鉴别。用户和后台服务器可以相互确认身份的合法性和真实性。</p> <p>  (2)受权控制。根据鉴别的用户真实身份肯定对信息资源或应用的访问权限,不能随意扩大访问权限或越权访问信息。</p> <p>  (3)防止信息泄漏。保证信息在通讯传输中和存储介质中不被有意或无心地泄漏、丢失或窃取。</p> <p>  (4)完整性。确保敏感信息不被非受权用户恶意或无心篡改。</p> <p>  (5)信息流安全。保证用户与服务器之间的路由正确可靠。</p> <p>  (6)信源确认。确保不一样信息来自正确的服务器。</p> <p>  (7)抗抵赖性。创建责任机制,确保任何用户都不可否认其所进行的操做。</p> <p>  4 基于角色的安全访问控制模型</p> <p>  通常OA系统应采用Lotus Domino/Notes做为应用系统开发平台和应用支撑平台。LotusDomino/Notes提供多层次的方法以确保应用的安全性,能够保护域、区 段、表单、视图、数据库、服务器和网络域的安全[4]。经过Lotus Domino/Notes不一样层次模型的安全设置,可以对网络信息存取权限进行有效的管理和控制,能够保障系统具备强大的安全性。尽管Lotus Domino/Notes系统自己拥有比较完善的安全机制,为了进一步提升系统的总体安全等级,还需补充另外的安全措施。身份鉴别和受权控制的安全是OA 系统安全需求中很是重要的方面, 本文针对此安全需求, 采用基于角色的安全访问控制技术RBAC(Role-Based Access Control)进行设计。</p> <p>  1. 访问控制方式种类</p> <p>  对访问控制方式,国内外已经进行了多年的研究。有三种访问控制方式影响较大, 它们是:DAC(Discretionary Access Control)自主访问控制,MAC(Mandatory Access Control)强制访问控制和RBAC(Role-Based Access Control)基于角色的访问控制[5]。</p> <p>  自主访问控制DAC是指用户能够自主地将访问权限或者访问权限的某个子集授予其余用户,但极可能会由于权限的传递而出现失控,致使信息的泄漏。强制访问控制MAC严格控制了用户的权限,可是它的受权过程却十分复杂,因此多用于军事领域,其余方面不多使用。</p> <p>  基于角色的访问控制RBAC是目前最为流行的访问控制策略。它经过引入“角色”的概念,使得受权管理变得简单。它比传统的自主访问控制和强制访问控制更优越, 同时也提供了更高的灵活性和可扩展性。</p> <p>  2. RBAC的核心思想与模型</p> <p>  管理用户对资源的访问和存取控制的传统方法一般是直接给每一个用户必定的权限许可,可是随着单位内部人员发生离职、升职或离开岗位,管理员必须根 据单位的人事变更对人员数据库作相应的调整,从而给数据库管理带来不便,系统开销大,基于角色的访问控制技术RBAC是解决此问题的合理选择[6]。 RBAC的核心思想就是将访问权限与角色相联系,经过给用户分配合适的角色,使用户与访问权限相联系。角色是根据各单位内为完成各类不一样的任务须要设置 的,根据用户在单位中的职责和责任来设定他们的角色。</p> <p>  关于RBAC模型,比较著名的是美国George Mason大学的R. Sandhu教授的RBAC96模型[7],本文也是基于此模型进行基于角色的安全访问控制设计,基于角色的安全访问控制模型图如图2所示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150738097-1541510634.png" border="0" alt=""></p> <p><br></p> <p>  图2 基于角色的安全访问控制模型图</p> <p>  用户是对数据对象操做的主体。角色是对应于组织中的某一特定的职能岗位,表明了一个特定的任务范畴。角色做为中间桥梁将用户和权限联系起来。约 束是附加于RBAC系统中各元素之上,用来表达许可执行的条件。会话是一个动态概念,用户激活角色及时创建会话。权限是用户对系统中的对象进行某种特定模 式访问的操做许可。</p> <p>  3. Domino数据库的存取控制列表</p> <p>  Domino数据库有个存取控制列表ACL(Access Control List),它用来指定什么人能够以什么方式(例如建立、读、写、删除等)对数据库进行访问,要控制Notes系统用户的存取权限[4],就要在ACL中 为用户设定适当的存取级别、用户类型等。</p> <p>  5 基于角色的安全访问控制设计</p> <p>  在OA系统中,结合RBAC模型与Domino数据库所提供的系统级的安全机制,能够直接地把办公组织结构映射到办公自动化系统中,简化权限的 管理工做。安全管理人员根据须要指定各类角色,根据用户的责任和职位再指派其为相应的角色。整个访问控制过程就是访问权限与角色相关联,角色再与用户关 联,从而实现了用户与访问权限的逻辑分离。</p> <p>  1.用户与角色的划分</p> <p>  系统用户分为三种:系统管理用户、业务管理用户和普通用户。系统角色能够分为:维护整个系统的系统管理员、维护某个功能模块的业务管理员、单位领导、各部门领导、负责收发文件部门的秘书与领导、单位员工等。</p> <p>  2.权限划分</p> <p>  角色做为用户与访问权限之间的中介,给用户赋予必定的角色,再把权限赋予角色,用户经过角色获取相应的访问操做权限。权限分为多种类型:如管理 员对系统或功能模块的使用权限,普通用户对文档数据的操做使用权限,这些权限属于被动的权限控制策略。创建起用户、角色和权限的关系表,可以快速查找各个 角色的用户的相关权限或某个权限的用户的集合。用户、角色和权限对应关系表如表1所示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150754779-891650858.png" border="0" alt=""></p> <p><br></p> <p>  表1 用户、角色和权限对应关系表</p> <p>  另外,对权限还要实施动态的管理,即根据文档的状态和用户角色动态地决定该角色的用户所应该进行的权限或对数据进行的操做。动态权限管理由权限 规则来描述,如在发文数据库中公文在起草状态、审核状态、批准状态、签发状态和发文状态中,秘书、部门负责人、办公室主任等角色的用户能对该对象进行什么 样的操做。一条权限规则由一个访问者和一个权限向量组成,权限向量描述访问者能够对数据对象进行哪些操做。多条权限规则共同构成对权限的动态控制。</p> <p>  3.安全访问控制流程</p> <p>  安全访问控制的流程图如图3所示:<br></p> <p align="center"><img src="https://img2018.cnblogs.com/blog/1112483/201908/1112483-20190830150812766-795699416.png" border="0" alt=""></p> <p><br></p> <p>  图3 安全访问控制流程图</p> <p>  对此安全访问控制流程描述以下:</p> <p>  (1)用户要使用用户名和密码登陆OA系统,认证服务器对用户名和密码进行验证来确认用户身份,验证时要将用户输入的信息与数据库中的用户信息表相比较,若是相符,则容许用户进入本系统,不然将返回出错信息。</p> <p>  (2)用户登陆OA系统后,系统从用户信息表中提取出用户的ID号,查询数据库中的角色分配表激活角色,创建会话,角色分配表包含用户ID和对应的角色。</p> <p>  (3)激活角色,创建会话后,系统查询权限规则表,为用户分配权限,使用户得到目标文档数据或取得相关操做权限。权限规则表是根据数据库中文档 状态和角色动态变化的。用户操做完成后退出系统。基于角色的安全访问控制设计实现了属于不一样角色的用户在同一个OA系统中得到不一样的权限,即不一样的角色显 示不一样的功能模块,有效避免了超越操做行为的发生,加强了OA系统身份鉴别和受权控制方面的安全性。</p> <p>  6 结束语</p> <p>  本文对适用于公司、企业和高校的OA系统进行了系统结构分析和安全需求分析。为了加强用户身份鉴别和受权控制的安全性,重点对OA系统进行了基于角色的安全访问控制设</p> <p>  计,使得不一样的用户有相应的角色和权限,防止越权访问。可是计算机和网络的发展会对OA系统的安全性提出更高的要求,相应的安全策略也须要不断更新、不断完善,从而加强OA系统的总体安全性。</p> <p>  本文创新点: 在 OA 系统中进行了基于角色的安全访问控制设计,给出用户、角色和权限的划分,提出安全访问控制流程,加强了OA 系统身份鉴别和受权控制方面的安全性。</p> </div>html

相关文章
相关标签/搜索