基于Paas的权限管理系统开发与设计本科毕业论文

本科毕业设计论文

题目基于PaaS的权限管理服务组件

的设计与实现

专业名称软件工程

学生姓名***

指导教师***

毕业时间____________________________

摘要

随着信息化进程的深入和网络技术的迅速发展,信息安全问题也越来越值得关注。而权限管理正是保障信息安全、资源分配和用户管理的重要机制,在不同的应用领域都涉及到,因此开发一个具有良好适应性的权限管理服务组件是很有必要的。

通过分析目前主流的访问控制策略,本文选择了基于角色的访问控制(RBAC)来上实现权限管理系统,基于角色的访问控制技术在权限管理中引入角色的概念,把资源的访问权限分配给角色,通过给用户分配角色来实现用户的权限分配。

该权限管理系统在作者所在实验室研发的基于OSGi规范的云服务平台PaaS 上开发,实现为一个服务组件,可以为平台上开发的其他云应用提供权限服务。本文将OSGI 技术标准与权限管理系统进行结合,开发了基于OSGI 的权限管理框架,将权限管系统按功能的不同划分为不同的Bundle服务进行了开发。

本文的设计与开发工作如下:

1)对研究背景和涉及到的技术进行了介绍;

2)详细介绍了RBAC模型,并基于该模型对权限管理系统进行设计,包括需求分析、框架结构设计、功能设计和数据库设计;

3)将OSGi与RBAC结合进行设计实现,对各个功能Bundle做出详细的设计实现;

4)部署应用并进行测试。

目前本系统已经成为NPU-PaaS平台上的一个服务,实际运行效果达到了预期目标。

关键词:权限管理,RBAC,服务组件,OSGi。

ABSTRACT

With the deepening of information technology and the rapid development of network technology, information security issues are increasingly worthy of attention. And rights management is an important mechanism to protect information security, resource allocation and user management, which is involved in different application fields. Therefore, it is necessary to develop a well-qualified rights management service component.

By analyzing the current mainstream access control strategy, this paper selects the role-based access control (RBAC) to implement the rights management system, the role-based access control technology in the rights management to introduce the concept of the role of the allocation of resources to the role of access , Through the allocation of roles to the user to achieve the user's authority to allocate.

The rights management system is developed and implemented as a service component on NPU-PaaS, an OSGi-based cloud service platform developed by the author's lab. It provides privilege services for other cloud applications developed on the platform. In this paper, the OSGI technology standard and the rights management system are combined to develop the authority management framework based on OSGI, and the rights management system is divided into different Bundle services according to the different functions.

The design and development work of this paper is as follows:

1) introduced the research background and the related technologies;

2) Introduces the RBAC model in detail, and designs the rights management system based on the model, including requirement analysis, frame structure design, function design and database design.

3) OSGi and RBAC combined with the design and implementation of the various functions Bundle to make a detailed design and implementation;

4) Deploy the application and test it.

At present, the system has become a service on the NPU-PaaS platform, and the actual operation has achieved the desired goal.

KEY WORDS:Rights management, RBAC, service components, OSGi

目录

第一章绪论 (1)

1.1设计背景 (1)

1.2国内外研究概况 (2)

1.3主要研究内容 (3)

1.4论文的组织结构 (3)

第二章软件开发工具及相关技术 (4)

2.1访问控制技术 (4)

2.1.1 访问控制的基本概念 (4)

2.1.2 访问控制模式 (5)

2.1.3 RBAC模型分析 (7)

2.2SSM框架技术 (7)

2.2.1 SSM框架基本概念 (7)

2.2.2 SSM框架的运行过程 (8)

2.3OSG I体系架构分析 (8)

2.3.1 OSGi标准服务规范 (8)

2.3.2 OSGi框架及Bundle运行机制 (9)

2.3.3 OSGi的模块管理 (10)

2.4本章小结 (11)

第三章基于RBAC的权限管理系统的分析与设计 (12)

3.1权限管理组件的需求分析 (12)

3.2组件开发的应用框架设计 (12)

3.3RBAC模型功能设计 (13)

3.3.1 用户管理 (14)

3.3.2 角色定义 (14)

3.3.3 权限定义 (14)

3.3.4 授予角色 (14)

3.3.5 授予权限 (14)

3.4数据库设计 (14)

3.4.1 数据库需求分析 (14)

3.4.2 概念结构设计 (15)

3.4.2 数据表详细设计 (15)

3.6本章小结 (17)

第四章基于OSGI的权限管理系统实现 (18)

4.1OSG I与WEB开发框架的整合 (18)

4.1.1 OSGi与Spring整合 (18)

4.1.2 OSGi与Struts整合 (19)

4.1.3 OSGi与Mybatis整合 (19)

4.2权限管理系统结构划分 (20)

4.3基于OSG I的权限管理系统架构 (21)

4.3.1表现层 (21)

4.3.2业务逻辑层 (21)

4.3.3 持久层 (22)

4.4用户管理B UNDLE的实现 (22)

4.4.1 包结构 (22)

4.4.2 业务对象 (22)

4.4.3 数据操作 (23)

4.4.4 服务接口 (24)

4.4.5 服务接口的实现 (24)

4.5角色管理B UNDLE的实现 (25)

4.6用户角色管理B UNDLE的实现 (26)

4.7权限管理B UNDLE的实现 (27)

4.8角色权限管理B UNDLE的实现 (27)

4.9系统应用B UNDLE的实现 (28)

4.10本章小结 (29)

第五章权限管理服务组件的应用与测试 (30)

5.1组件部署 (30)

5.2运行结果 (30)

5.3系统测试 (32)

5.3.1 测试内容 (32)

5.3.2 测试结果 (33)

5.4本章小结 (38)

第六章全文总结与展望 (39)

参考文献 (1)

致谢 (2)

毕业设计小结 (3)

第一章绪论

互联网络的蓬勃发展,为信息资源的共享提供了更加完善的手段,用户在信息资源共享的同时也要阻止非授权用户对敏感信息的访问。权限管理技术作为保护用户信息安全的关键,已经被人们进行了深入的研究。通过组件化的方式开发一个通用的权限管理组件是很有必要的。本章介绍了论文的设计背景和目前相关研究状况,并对本文主要研究内容和论文的组织结构进行说明。

1.1设计背景

随着信息化进程的深入和网络技术的迅速发展,信息安全问题也越来越值得关注。权限管理是保障信息安全、资源分配和用户管理的重要机制,也是实现系统安全的必要手段,因此如今很多应用领域中都离不开权限管理,而不同领域的权限管理模块有很大的相似性,所以开发一个较为通用的权限管理系统是很有必要的。

但与此同时,随着网络越来越复杂,构建网络应用的复杂性和开发难度也以惊人的速度在増长。在构建复杂庞大的工程时,开发过程常常需要划分和拆解为多个子系统分配给不同的开发团队或公司进行。为了应对和处理此问题,现实可行的方式之一就是组件化,即把工程项目从整体上按照适当的原则分割成逻辑更清晰的多个子单元。按照项目的特征以及某些约定的规则对项目进行划分,将组件分配给相应的开发人员,这样,每个开发者只需考虑自己擅长的那部分而不必考虑别的内容。这样的做法增强了每个组件的可复用性,极大地提高了开发过程的整体效率,对己存在的组件可适当修改后直接使用而不需要重新进行开发。而且,组件化可以给出非常清晰的抽象层次划分,能够帮助开发和维护人员更好的理清整个系统,増强了系统的可维护性及代换升级的能力。

OSGi(Open Service Gateway Initiative)是由OSGi机构提出的一个具有服务生命周期管理、服务动态部署、模块化的开发标准化等卓越之处的框架[1]。这个框架正好为组件的实现提供了一种优秀的解决方案。OSGi技术在软件开发领域有着许多优秀的特性,将其应用到企业级应用开发中去有着很大的意义。OSGi提供了高于Package的完整的组件形式,解决了组件开发以来一直困扰人们的组件版本问题;OSGi使得可插拔技术在软件界成为现实。基于OSGi的系统,可通过安装新的Bundle、更新或停止现有的Bundle来实现系统功能的热插拔。最后,OSGi技术有着规范的模块化开发的方式,基于这个基础上使得复杂多模块的项目开发变得非常简单,这将引领技术开发领域开创出新的开发模式,从以往的全新开发,发展到插件式的组件开发。作者所在实验室基于OSGi规范开发了一个

云应用PaaS(Platform as a Service,平台即服务)平台——NPU-PaaS,所有OSGi 组件均可以以服务的形式在平台上运行,本文以OSGI框架为基础进行权限管理组件的热插拔、模块化插件式的方式进行开发,可以运行在NPU-PaaS平台上,为云应用提供权限管理服务。

1.2国内外研究概况

基于角色的访问控制模型(RBAC)[2]是从访问控制模型基础上研究创新的。第一个RBAC模型于上世纪九十年代由David Ferraiolo和RickKuhn提出。它在形式上描述了RBAC模型,在原有的用户和权限基础上增加了一个角色模型,角色直接和权限绑定,对于用户的授权是通过给用户赋予角色,用户通过角色间接的获得角色所拥有的权限。

上世纪九十年代中期,Gorge Mason大学的教授Ravi.Sandhu等在对RBAC 模型的进一步研究后,又进一步发展了RBAC模型,并于1996年对RBAC的基本框架进行了完整的描述,这是有里程碑意义的。直到2004年初,美国国家信息技术标准委员会为RBAC模型制定了一套美国的国家标准,为了能更容易的把RBAC模型集成到web应用上,OASIS/XACML技术委员会对RBAC的外延进行了扩展,目前美国海军已经使用这套模型完成了对海军系统的动态访问控制的应用[3]。对于基于角色的访问控制模型的研究中,目前多数的国内研究人员主要是对模型的应用进行研究,聚焦在针对不同类型的系统,如何进行对应的实现。例如在C/S架构的信息系统、B/S架构的信息系统或者是在Web环境的信息系统中,如何去实现基于角色的访问控制模型安全访问控制机制的方案,在目前国内很少有研究涉及到对于角色、权限在会话期的动态管理。

在当前的软件开发中,集成已经存在的代码已经成为软件工程师工作的很大一部分,因此标准化软件集成方面的工具是有必要的,从而使重用已有组件变得可靠和廉价。OSGi最初的目的就是为各种嵌入式设备提供通用的软件运行平台,在许多领域都有很好的应用,诺基亚和摩托罗拉公司正在驱使OSGi技术做为下一代智能手机的标准,而汽车工业行业也采用了OSGi规范作为许多汽车制造商所支持的GST规范的核心部分。OSGi服务平台已经成为BMW高端通讯平台的标准部分,同时OSGi服务平台已经找到了集成到大众汽车中的切入点,像CVIS 和VII标准都在考虑采用OSGi技术了[11]。OSGi技术在桌面应用也是同具价值的。Eclipse就是一个好例子,OSGi规范解决了Eclipse动态更新插件的难题。Eclipse富客户端平台(RCP)驱使许多公司的桌面应用程序正在隐式的采用OSGi 插件结构。OSGi的优秀特性已经为许多开发者所发现和使用到软件架构上。涌现了一批对OSGi技术非常感兴趣的企业级应用程序开发者。相对比于J2EE标准[12][13],OSGi技术显示更加的简易与纯朴。同时Spring与OSGi技术结合正引导着越来越多的企业开发人员去采用OSGi技术。OSGi规范创建了跨平台跨行

业的通用中间件,采用OSGi规范减少了软件开发和维护成本,并且提供了新的商业机会。虽然这些开源框架还不算已经尽善尽美的成熟阶段,但它们充分的展现出了OSGi的优势,其发展势头日益强劲。

1.3主要研究内容

本文详细分析了当前不同的访问控制策略,通过比较它们各自的优缺点,最终选择基于角色的访问控制(RBAC)来实现权限管理功能的实现。

为了实现组件化开发的要求,本文详细的介绍了OSGI技术的特点,并利用OSGi技术为支撑,结合RBAC模型进行项目的设计与实现。

1.4论文的组织结构

本文共分为六个章节内容。

第一章绪论。主要介绍了课题的目的与意义,本课题的国内外发展状况,主要研究内容,并给出了本文的组织结构。

第二章软件开发环境及技术背景。对项目开发环境和使用工具做了简单介绍,详细介绍了RBAC技术和OSGi技术。

第三章基于RBAC的权限管理功能的设计。在RBAC模型的基础上进行设计,主要包括项目的需求分析,模块设计和数据库设计。

第四章基于OSGi的权限管理组件的实现。详细介绍了各模块实现的方法和各模块的接口。

第五章权限管理服务组件的应用。介绍了项目的使用过程。

第六章全文总结和展望。总结了软件实现的功能,对不足之处进行了分析,同时讲述了未来对软件如何进行改进。

第二章软件开发工具及相关技术

在本文课题的基础上,本章详细介绍了实验用到的相关技术知识,结合权限管理的开发,对访问控制、SSM框架、OSGi技术做了详细的分析介绍。

2.1访问控制技术

2.1.1 访问控制的基本概念

访问控制(Access Control)指系统对用户身份及其所属的预先定义的策略组限制其使用数据资源能力的手段。通常用于系统管理员控制用户对服务器、目录、文件等网络资源的访问。访问控制是系统保密性、完整性、可用性和合法使用性的重要基础,是网络安全防范和资源保护的关键策略之一,也是主体依据某些控制策略或权限对客体本身或其资源进行的不同授权访问。

访问控制的主要目的是限制访问主体对客体的访问,从而保障数据资源在合法范围内得以有效使用和管理。为了达到上述目的,访问控制需要完成两个任务:识别和确认访问系统的用户、决定该用户可以对某一系统资源进行何种类型的访问。

访问控制包括三个要素:主体、客体和控制策略。

1)主体S(Subject)。是指提出访问资源具体请求。是某一操作动作的发起者,但不一定是动作的执行者,可能是某一用户,也可以是用户启动的进程、服务和设备等。

2)客体O(Object)。是指被访问资源的实体。所有可以被操作的信息、资源、对象都可以是客体。客体可以是信息、文件、记录等集合体,也可以是网络上硬件设施、无限通信中的终端,甚至可以包含另外一个客体。

3)控制策略A(Attribution)。是主体对客体的相关访问规则集合,即属性集合。访问策略体现了一种授权行为,也是客体对主体某些操作行为的默认。

访问控制系统三个要素之间的行为关系可以使用三元组(S,O,P)来表示,其中S表示主体,O表示客体,P表示许可。当主体S提出一系列正常的请求信息,通过信息系统的入口到达控制规则集监视的监控器,由判断是否允许或拒绝这次请求,因此这种情况下,必须先要确认是合法的主体,也就是对主体进行认证。主体通过验证,才能访问客体,但并不保证其有权限可以对客体进行操作。客体对主体的具体约束由访问控制表来控制实现,对主体的验证一般会鉴别用户的标识和用户密码。用户标识是一个用来鉴别用户身份的字符串,每个用户有且只能有唯一的一个用户标识,以便与其他用户区别。当一个用户注册进入系统时,他必须提供

其用户标识,然后系统执行一个可靠的审查来确认当前用户是对应用户标识的那个用户。

2.1.2 访问控制模式

访问控制安全模型一般包括主体、客体,以及为识别和验证这些实体的子系统和控制实体间访问的参考监视器'。由于网络传输的需要,访问控制的研究发展很快,有许多访问控制模型被提出来。建立规范的访问控制模型,是实现严格访问控制策略所必须的。年美国军方提出可信计算机系统评估准则,其中描述了两种著名的访问控制策略:自主访问控制模型(DAC)和强制访问控制模型(MAC)。基于角色的访问控制(RBAC)由Ferraiolo和Kuhn在1992年提出[4][5]。

1)自主访问控制

自主访问控制(Discretionary Access Control,DAC)是一种接入控制服务,通过执行基于系统实体身份及其到系统资源的接入授权。包括在文件,文件夹和共享资源中设置许可。用户有权对自身所创建的文件、数据表等访问对象进行访问,并可将其访问权授予其他用户或收回其访问权限。允许访问对象的属主制定针对该对象访问的控制策略,通常,可通过访问控制列表来限定针对客体可执行的操作。

(1)每个客体有一个所有者,可按照各自意愿将客体访问控制权限授予其他主体。

(2)各客体都拥有一个限定主体对其访问权限的访问控制列表(ACL)。

(3)每次访问时都以基于访问控制列表检查用户标志,实现对其访问权限控制。

(4)DAC的有效性依赖于资源的所有者对安全政策的正确理解和有效落实。

DAC提供了适合多种系统环境的灵活方便的数据访问方式,是应用最广泛的访问控制策略。然而,它所提供的安全性可被非法用户绕过,授权用户在获得访问某资源的权限后,可能传送给其他用户。主要是在自由访问策略中,用户获得文件访问后,若不限制对该文件信息的操作,即没有限制数据信息的分发。所以DAC提供的安全性相对较低,无法对系统资源提供严格保护。

2)强制访问控制

强制访问控制(MAC)是系统强制主体服从访问控制策略。是由系统对用户所创建的对象,按照规定的规则控制用户权限及操作对象的访问。主要特征是对所有主体及其所控制的进程、文件、段、设备等客体实施强制访问控制。在MAC中,每个用户及文件都被赋予一定的安全级别,只有系统管理员才可确定用户和组的访问权限,用户不能改变自身或任何客体的安全级别。系统通过比较用户和访问文件的安全级别,决定用户是否可以访问该文件。此外,MAC不允

相关文档
最新文档