




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第 1 章 简介1.1 研究背景与意义近年来,随着企业信息系统的广泛使用,信息技术成为知识经济的基础,企业的发展中起着不可替代的作用。信息技术在企业中的运用,高了企业效率,改变了传统的商业模式,使得信息和服务得到了极大的共享。但与此同时,系统安全问题也逐渐受到越来越多的关注。对信息资源的访问控制和用户权限的管理成为了企业确保系统安全的重要工作。在信息安全体系结构中,访问控制技术(Access control technology)是解决安全问题的一个关键。目前我国的大部分企业均采用传统的访问控制技术,包括自主访问控制(DAC)和强制访问控制(MAC),但它们都存在着一些弊端。本文以基于角色的访问控制技术(RBAC)为理论基础,针对企业展开了实践探讨,并通过分析系统功能需求,设计并实现了一个访问控制系统。基于角色的访问控制的核心思想是:将访问权限与角色相联系,而用户的授权则通过赋予相应的角色来完成,用户所能访问的权限就由该用户所拥有的所有角色的权限集合的并集决定。本文以大量的用例图和逻辑等视图分析了系统的设计框架,设计并实现用户登录模块、数据库模块、流程权限配置模块等。该系统可以应用于大型企业的信息系统,具有很好的通用性、可扩展性和可移植性。1.2 开发和运行环境介绍本次课设利用 JSP 去呈现一个访问控制系统。管理员在网页中登录,用到的主要技术如下:1.2.1 MyEclipseMyEclipse 是一个十分优秀的用于开发 Java, J2EE 的 Eclipse 插件集合,MyEclipse 的功能非常强大,支持也十分广泛,尤其是对各种开源产品的支持十分不错。MyEclipse 目前支持JavaServlet,AJAX,JSP,JSF,Struts,Spring, Hibernate,EJB3,JDBC 数据库链接工具等多项功能。可以说 MyEclipse 是几乎 囊括了目前所有主流开源产品的专属eclipse 开发工具。1.2.2 Tomcat 6.0Tomcat 服务器是一个免费的开放源代码的 Web 应用服务器,属于轻量级应用服 务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试 JSP 程序的首选。1.2.3 jdkjdk 是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的 java 应用程序。1.2.4 MysqlMySQL 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 公司。MySQL是最流行的关系型数据库管理系统,在WEB应用方面MySQL是最好的 RDBMS(Relational Database Management System:关系数据库管理系统)应用软件之一。MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并高了灵活性。MySQL 所使用的 SQL 语言是用于访问数据库的最常用标准化语言。MySQL 软件采用了双授权政策(本词条 “授权政策”),它分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。由于其社区版的性能卓越,搭配PHP 和 Apache 可组成良好的开发环境。 第 2 章 基于角色的访问控制2.1 访问控制基础访问控制的定义是:“为电脑系统所属资源在遭受未经授权的操作威胁时,供适当的控制以及防护措施,以保护信息的机密性和完整性。”其中,未经授权的操作包括:未经授权的使用、信息的泄露、未经允许的修改、恶意的破坏以及拒绝服务五部分。“访问”的本质是主体对客体实行某种操作。同时通过引用监视器来控制访问。访问控制系统一般包括:主体、客体、安全访问策略。这是访问控制的三要素。在信息系统中,主体是发出访问操作、存取要求的发起者;客体是系统中被处理、被控制或被访问的对象;安全访问策略是一套规则,用以确定一个主体是否对客体拥有访问权限。三要素的具体内容见表1。2.2 RBAC 模型的基本概念随着计算机信息系统在非军用领域得到更为广泛的应用,传统的自主访问控制技术和强制访问控制技术已经不能满足现代信息系统安全的需求。在这种情况下,出现了基于角色的访问控制模型。基于角色的访问控制策略在用户(user)和访问权限(permission)之间引入了角色(role) 的概念,用户与特定的一个或多个角色相联系,角色与一个或多个访问权限相联系,角色在用户与权限之间起了一个桥梁的作用。在实际的工作中,角色可以生成或取消,它的权限也可以根据实际工作需要进行修改。基于角色的权限管理模式适用于用户较多且有着不同权限层次的系统的访问控制的管理,目前被认为是解决大型企业权限管理问题的有效方法。RBAC 模型主要有以下 7 个概念:用户:直接与系统进行互动的人或程序。角色:对应于组织中某一特定职能岗位,代表特定的任务范畴。在RBAC中权限分配给角色,用户通过扮演不同的角色拥有着对应的权限组合。权限:表示主体对系统中的客体进行特定模式访问的操作许可。权限包含操作与客体,在 NIST 的RBAC 标准中,特别定义了操作与客体。操作:指对客体的操作能力,包含写入、读取与拥有权等,此外也可以包含抽象的操作动作。客体:指访问控制可供操作的客体,可能是档案、文件或是执行程序等相关的客体。会话:用户对应到可使用的角色集合的过程,用户通过会话对应到被允许的角色,RBAC中用户可以对应到多个角色,根据需要来转换角色,获得适当的权限,以达到最小权限的功能。限制:用来规定角色彼此之间的关系,如层次关系、角色互斥的关系。 2.3 RBAC 的设计原则基于角色的访问控制模型主要遵循以下原则:角色继承原则、最小权限原则、职责分离原则角色容量原则、数据抽象原则。角色之间、权限之间、角色和权限之间定义了一些关系。角色继承关系表示角色之间可以相互继承,将子角色分配给用户,用户将获得其父角色的所有权限。当角色之间可能有互相重叠的职责和权力时,属于不同角色的用户可能需要执行一些相同的操作。这样,管理员在设置子角色的时候,只需要设定不同于父角色的属性和访问权限,避免了重复定义。最小原则原则之所以被 RBAC 支持,是因为 RBAC 可以将其角色配置成其完成任务所需要的最小权限集。职责分离原则可以通过调用相互独立互斥的角色来共同完成敏感的任务而体现,比如要求一个记账员和管理员共同参与同一过账。角色容量原则是指,在一个特定的时间段内,有一些角色只能有一定人数的用户占用。在创建新的角色时应该指定角色的容量。数据抽象可以通过权限的抽象来体现,如财务操作用借款、存款等抽象权限,而不用操作系统供的典型的读、写、执行权限。然而这些原则必须通过 RBAC各部件的详细配置才能得以体现。2.4 访问控制策略比较访问控制策略是一套规则,用以确定一个主体是否对客体拥有访问权限。根据制定的系统安全策略,形成了主体与客体、主体与主体、客体与客体之间相互访问的关系。但并不是要把系统中的每个实体都分为客体或主体,根据不同的情况,一个实体可以是一个访问请求的主体,同时也可以是另一个访问请求的客体。访问控制策略一般分为三种:自主访问控制策略、强制访问控制策略和基于角色的访问控制策略。这三种访问控制策略的关系如图 1 所示。自主访问控制最早出现在 20世纪70年代时期的分时系统中,是一种多用户环境下最常用的一种访问控制技术,在目前流行的 Unix 类操作系统中被普遍采用。自主访问控制技术基于这样的思路:主体全权管理有关其客体的访问授权,有权泄露、修改该客体的有关信息。因此,自主访问控制也存在着一些缺点。首先在商业应用中,系统的用户大多对资源不具备所有权,所有权是属于公司甚至外部机构,从这个层面上说自主访问控制不适合于商业应用。另一方面,自主访问控制允许用户自主决定将权限转让给他人,在经过多次权限转让之后,权限可能被无限制地扩散,无法保证系统的安全性。而此时系统管理员对权限的管理几乎没有任何权利,形同虚设。此外,自主访问控制中对资源的访问是直接依据权限进行,无法防范木马攻击,木马攻击者可以获得或破坏机密信息。强制访问控制的基本思想:每个主体和客体都有其既定的安全属性,某客体是否能执行特定的操作取决于它的主体和该客体的安全属性的关系,当然,主客体的安全属性不能随意更改,一般只能由系统的安全管理员设置。管理员可以对系统权限进行有效的管理,但由于主客体之间需要相互逐一进行配置,工作量巨大。此外,强制访问控制缺乏灵活性,与自主访问控制相同,也很难满足商业应用的需要。基于角色的访问控制更一般化,可以通过 RBAC 实现 MAC 和 DAC ,但其本质上是一种非任意权限的控制方法。基于角色的访问控制可以有效地减小权限管理的工作量,它可以按需要定义一些约束条件,例如设置互斥角色。RBAC 也能够很好地支持最小权限原则和职责分离原则,以确保系统的安全。而且,它实现了用户与访问控制的逻辑分离,极大地方便了权限的管理。RBAC 模型实际上形象地反映了 RBAC 本身的含义,建立 RBAC 模型就是要对 RBAC 进行系统而抽象地描述,从而使人们能够非常方便地理解 RBAC 的含义,以便对其进行更加深入地研究。目前,绝大多数基于角色的访问控制研究都以 RBAC96 或 NIST RBAC 模型作为出发点进行深入研究的。2.5 NIST RBAC 模型首先讨论 RBAC96 模型。 R.S.Sandhu等人于 1996 年出了基于角色访问控制参考模型,即著名的RBAC96 模型,其包括4 个不同层次:基础模型(RBAC0),角色层次模型(RBAC1),角色约束模型(RBAC2) ,复合模型(RBAC3)。RBAC0 是最基本的模型,只包含最基本的 RBAC 元素:用户、角色、权限以及会话,但是其满足了RBAC 系统所必须的最小要求。在 RBAC0 中,不存在角色之间层次关系,所有角色都是平级的,所有的对象也没有约束。RBAC 1是在RBAC0的基础上引入一定的层次结构,其包含RBAC0 的所有内容。RBAC2在 RBAC0 的基础上引入了约束条件,对于现实社会中的实际系统,不管其是否具有角色的层次关系,约束机制都是必不可少的。RBAC3 相比较于 RBAC0,增加了角色分级和约束限制,因此,可以认为 RBAC3 是 RBAC 1 和 RBAC2 两者的结合。RBAC 各子模型间的关系如图 2 所示。NIST(National Institute of Standards and Technology)是美国标准与技术协会的简称。它出的NIST RBAC 模型实质上是 RBAC96 中RBAC3 模型的一个扩展,NIST RBAC 模型的意义不在于理论或技术上的创新,而在于标准化。NISTRBAC定义了四个模型部分:核心RBAC 、层次 RBAC 、静态职责分离 RBAC和动态职责分离 RBAC 。图3 给出了NIST RBAC模型的基本框架。在现实应用中,单纯的基于角色的管理往往不能完全适应大型系统的管理,特别是当管理需要考虑到基于服务的集中式与分布式相结合的方式以及各个部门之间角色的协作等因素时,这些情况下往往需要扩展才能实现。 第 3 章 应用系统的需求分析实际生产中,系统分析部分主要是根据用户出的原始需求和需求调查资料进行分析,取出系统的功能要点、开发对象以及系统的规模预测,并进一步选定系统的软件环境,包括开发环境和运行环境。由于本课设不涉及实际生产,我们只是模拟一个基于角色管理的工厂安全管理平台,所以需求均为我们的假设,可能与实际生活有所偏差。由于用户出的需求是从用户角度分析的,那么在实际生产中,要考虑的问题为:出需求的用户是否对本领域有所了解或是否精通,这意味着用户的原始需求可能并不适合直接用于系统的开发和设计,必须先从需求中取出功能的和抽象结构,再进行设计。企业安全管理平台大致包括四个功能:安全流程体系管理、安全流程活动元数据管理、安全流程建模和配置、安全流程报表。安全流程体系管理供安全流程体系中用户权限等方面的管理功能;安全流程活动元数据管理用来完成安全流程及流程活动相关元数据自身信息的管理以及元数据之间关联关系的维护;安全流程建模和配置供安全流程建模和设计功能,同时完成流程活动和相关元数据的绑定;安全流程报表完成流程操作手册以及安全流程相关数据的统计分析报表的动态、实时生成。安全流程管理平台访问控制子系统的访问控制,该功能只有系统管理员才可以进入,系统管理员通过该模块可以实现与系统用户信息相关的日常维护工作。包括:查询用户信息、新建用户(包括分配权限)、修改用户信息、删除用户。用户权限控制:登录到系统后,不同用户身份具有不同的权限。例如普通管理员可以查询用户的信息,但不可以删除和编辑用户的信息。第 4 章 访问控制系统框架设计4.1 总体架构设计由图4 可知,网页打开之后,当用户请求访问URL,访问控制系统会将该请求拦截,然后运行访问控制系统方法中的业务逻辑,对请求进行一系列分析处理。在此设置了 session,session 是指一个终端用户与交互系统进行通信的时间间隔,通常是指从注册进入系统到注销退出系统之间所经过的时间。Session 的使用使得用户登录之后,退出浏览器之后的一段时间内,若再次进入系统,不需要重复登录。另外,该系统设置了拦截器,如果用户没有登录,是无法访问网页的。用户登录之后,则从 DB 获取该用户的角色,然后判断是否对所请求的 URL具有访问权限:如果具有权限,访问控制系统则把控制权交给链中下一个资源,用户得以访问所请求的 URL;如果没有权限,则转到错误示页面,该页面会显示该用户无权访问。4.2 框架结构 在了解了系统的需求以及工作流程的基础上,图 5 给出了访问控制系统的架构。由图可知,本访问控制系统采用双层访问控制来进行访问控制:第一层是用户管理,该层主要是对用户信息进行管理以及对用户进行角色分配,即对用户的增删改查。第二层是用户则与流程访问控制,这里面主要是权限流程的分配。第一层是外部的访问控制,第二层是内部的访问控制,第一层是第二层的基础,第二层是第一层的深入。图 6 给出了功能模块的分解图,描述了整个系统结构。由图6 知,该系统主要分为三大模块:登录模块、用户管理模块、权限配置模块。登录模块具有两个子模块:登录和退出。其中登录模块包括了 SSO单点登录、session 用户保存以及拦截器。用户管理模块包括用户管理和角色配置,用户管理实际上就是 CRUD (Create,Retrieve,Update,Delete )。角色配置模块就是为用户分配角色。权限配置模块完成为角色设置权限。第 5 章 访问控制系统的实现5.1访问矩阵添加用户删除修改访问业务A访问业务BUsertruefalsefalsefalsefalseAdmintruetruefalsefalsefalseSuperAdmintruetruetruetruetrue5.2 程序演示 系统完成后是以网页形式呈现的。系统设置了三种角色,即:user代表普通用户,admin 代表普通管理员,superadmin 代表超级管理员。这三个不同的角色具有不同的权限。首先,普通管理员登录。界面如图 7 所示,密码均为123。图7 用户登录页面进入主界面,如图 8 所示。主界面包括三个区域,上方显示登录状态及登录的身份。注销按钮用于退出,退出之后回到登录界面。左边区域是菜单栏,一级菜单共四项内容:增加用户、业务 A 、业务 B、查询用户。点击任一功能,右侧会实现功能的具体操作。图8 主页面点击“添加用户”,右侧会给出需要填写内容的表单,其中“角色”下拉选框是为新增添的用户分配角色。对于待分配的三种角色,并不是任意分配的。这取决于当前用户的角色。例如普通管理员为新建用户只可以分配普通用户的角色,而不具有权限分配权限向上的角色。如图 9 所示。图9 添加用户完成用户的添加之后,进入 “查询用户”功能。右侧可以看到user1 已经添加进来了。在访问控制系统中,用户信息存在着两种操作:查询和修改。查询是为了看到用户信
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高级卫生专业技术资格-副高级(儿科护理)真题库-14
- 河南省许昌市长葛一中2025年高三第二次联考调研物理试题
- 选拔副校长笔试题及答案
- 龙猫数据培训试题及答案
- 课题申报书:加强高校党外代表人士队伍建设研究
- 课题申报书:基于大学生就业的大数据雇主画像关键技术研究
- 吉林省洮南市第十中学2025年高三下学期联合考试物理试题含解析
- 2024-2025学年贵州省遵义求是高级中学高考临考冲刺物理试卷含解析
- 2024-2025学年上海市黄浦区格致中学高考仿真卷物理试卷含解析
- 2024-2025学年甘肃省武威市高中名校高三下学期第六次检测物理试卷含解析
- 大学生创业计划书word文档(三篇)
- 平移和旋转的应用
- 小学书法兴趣小组活动方案及小学书法兴趣小组活动记录
- 和面机设计说明书毕业设计
- JJG 8-1991水准标尺
- GB/T 4857.17-2017包装运输包装件基本试验第17部分:编制性能试验大纲的通用规则
- 直流汇流箱知识培训
- 综合工业废水处理PACT工艺
- GA/T 16.31-2017道路交通管理信息代码第31部分:交通违法行为类别代码
- 焊工(中级工)技能鉴定考核评分表
- 恶性黑色素瘤护理查房课件
评论
0/150
提交评论