硕士学位论文-基于改进的RBAC模型和CAS的单点登录系统研究与实现.doc_第1页
硕士学位论文-基于改进的RBAC模型和CAS的单点登录系统研究与实现.doc_第2页
硕士学位论文-基于改进的RBAC模型和CAS的单点登录系统研究与实现.doc_第3页
硕士学位论文-基于改进的RBAC模型和CAS的单点登录系统研究与实现.doc_第4页
硕士学位论文-基于改进的RBAC模型和CAS的单点登录系统研究与实现.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

东北师范大学硕士学位论文摘 要目前伴随着信息技术迅猛发展,b/s应用系统由于易开发、维护和用户使用方便等特点,得到了广泛的应用和推广。无论在教育、企业、金融还是其它领域,都需要很多应用系统来协同合作,这些系统在给用户带来方便的同时,也带来一些问题。由于这些应用系统使用的技术不尽相同,但每个应用系统都有自己的身份认证模块,用户要使用这些系统就必须要输入与应用系统相应的用户名、密码,通过这种方式达到登录多个应用系统的目的,但这样既不方便用户使用应用系统,又不方便对系统的管理,所以单点登录技术就应运而生。单点登录技术能为构建应用系统集成平台实现“一次登录,多处漫游”的功能。即用户通过统一身份认证系统认证后,就可以访问联盟下的其它系统,而不用重新登录。单点登录解决了用户多次登录的烦恼、简化系统管理、保障了用户信息的安全。通过对现有的单点登录系统研究发现用户在各个系统之间的角色是不同的,所以在单点登录过程中,我们需要解决用户在不同系统间的角色转换问题。因此本论文基于改进的rbac模型,并采用静态策略和动态策略相结合的方法来解决用户在各个系统间的角色转换。本文首先介绍了单点登录的相关理论与技术,包括单点登录原理、信息安全、目录服务、rbac模型相关基础知识。其次介绍了cas和改进的rbac模型技术。以上两部分是本论文的技术基础。再次介绍本系统的详细设计。在统一身份认证中,对认证流程、及相关电子身份证明进行了详细的设计;在角色转换模块中,提出了基于静态策略和动态策略相结合的方法。最后实现单点登录系统并完成用户在系统间角色转换功能。关键词:单点登录 cas rbac模型 角色转换abstract with the rapid development of information technology, b/s application system, which is easy to develop, to maintain, and conveniently use, has been widely used and promoted. many application systems are needed to work cooperatively no matter in the area of education, business, finance or any other areas. these systems bring convenience as well as problems to users. single sign-on technology come into being because of different technologies in using of different application systems. though differences exist, each application has its own authentication module. if users want to use these systems, they must input the appropriate users name and password as the application system, which is helpful for people to reach the purpose of logging in more than one application systems. but this approach is neither convenient for users to use nor convenient to manage the system. single sign-on technology can achieve a function of a single login, multiple roaming for building applications integration platform. that is to say, users can visit other systems under the union instead of re-login through a unified identity of authentication system. single sign-on can do good to solve the users trouble of re-logged ,to simplify the management of systems, and to protect the security of users information. we find that the users roles are various among different systems through the reach in existing single sign-on system. the result is that we need to solve the problem of the users role conversion in different systems in the process of single sign-on. therefore, based on the improved rbac model, the issue of users role conversion among the various systems is going to be discussed in this thesis with the combination of static strategy and dynamic strategy.firstly, the single sign-on theory and techniques are introduced in this thesis, including single sign-on principle, information security, directory services and the relevant basic knowledge of rbac model. secondly, the cas and the improved technology of rbac model are introduced. these two parts above are the technical basis of this thesis. thirdly, the detailed design of the system are introduced. in uniform identity authentication, the certification process and related electronic identification are designed in detail in this thesis. in the module of role conversion, the approach, which is on the basis of the combination of static strategy and dynamic strategy, is proposed. finally, the aim is to finish the single sign-on system and the function of role conversion of the users among systems.key words: single sign-on cas rbac model rule of role conversion目 录摘 要1abstract2目 录3第一章、绪论51.1引言51.1.1研究背景51.1.2研究现状51.2研究的意义61.3 研究内容61.4 论文组织结构6第二章 相关理论与技术82.1 单点登录原理82.2单点登录模型种类92.3 信息安全112. 3.1 ssl122. 3.2身份认证技术132.3.3 saml152.4 目录服务152.4.1目录的身份鉴别162.4.2 ldap162.5 rbac 模型172.5.1访问控制概述172.5.2基于角色访问控制182.6 基于rbac的单点登录的好处21第三章 cas和改进的rbac模型223.1 cas223.1.1cas的认证过程223.1.2cas系统与shibboleth系统的比较233.2改进的rbac 模型243.2.1rbac模型的局限性243.2.2rbac模型的改进253.2.3改进的rbac模型的意义27第四章 基于改进的rbac的单点登录的设计284.1设计目标284. 2系统架构294.3 单点登录系统模型的设计294.3.1认证流程设计294.3.2 电子身份证明处理314.3.3 基于cas单点登录的安全性分析324.4 用户在系统间的角色转换324.4.1角色转换策略的选取324.4.2角色转换策略中矛盾的解决方法334.4.3角色转换策略的存储334.4.4动态策略管理模块设计354.4.5相应的数据库设计36第五章 基于改进的rbac的单点登录的实现395.1基于cas的单点登录系统实现395.1.1cas的部署395.1.2基于cas的单点登录功能演示415.2 角色转换规则部分的实现445.3系统评价45第六章 总结与展望466.1总结466.2展望46参考文献47致 谢49第一章、绪论1.1引言1.1.1研究背景随着网络的普及、web技术的高速发展,各种应用系统也广泛应用于我们日常生活当中。我们的生活发生了翻天覆地的变化,随着信息技术的发展所带来的巨大发展空间,市场上信息技术的产品很多。人们对信息技术的需求日益突出,特别是对web服务。笔者在理想数据实验室从事实习工作中,参与设计和开发了在线学习与训练系统。理想股份有限公司致力于教育软件的研发,鉴于国内教育软件不完善,理想有限公司开发了多套教育学习系统。实习期间通过对这些系统的了解,我发现这些软件都是相互独立的,也都有自己的认证模块。如果用户访问这些系统的,则需要记住多个用户名和密码。通过对这些学习系统的了解,我们发现存在以下不足:1、用户访问不同的应用程序,就需要被迫多次进行登录。2、网络管理繁杂。这些学习系统有着共同的用户,如果新增这样的用户,必须在每个学习系统添加认证信息。注销用户时也需要在用户相应的系统注销,如果遗留账户会对系统造成安全隐患。网络管理任务繁重且容易出错。3、信息安全隐患严重。用户要记住自己使用多个学习系统的用户名和密码。用户就会设置成一些安全系数低的密码,很容易被破译。系统维护过程中很容易造成账户遗留问题,会对系统产生安全隐患。正因为以上的不足,单点登录(single sign-on,sso)因运而生。sso的定义是在多个应用系统中,用户只需要登录一次就可以访问所有互相信任的应用系统,即一次登录,多处访问。单点登录方便用户访问网络,无论网络结构多复杂,只要用户在通过统一认证,就可以获取访问系统的权限,实现在各个系统中自由访问,不必再输入用户名和密码。另外系统管理员也能方便安全的管理系统。1.1.2研究现状目前国内的单点登录技术已经得到了广泛的应用。主要集中在学校和企业方面,清华大学、北京大学、四川大学等高等院校已经实现了自己的单点登录系统。另外在金融、税务等方面,单点登录也得到了广泛的应用。虽然国内的单点登录技术还不是很成熟,但是随着网络、软件的发展,单点登录已经成为系统集成平台的一个重要技术之一。目前业界已有很多门户产品支持sso,如ibm的websphere,bea的 weblogic和apache的tomcat等等;也有不少成功的商业软件,如微软的passport,netegrity的siteminder,novell公司的ichain,rsa公司的 cleartrust以及usbkey的方式等等。同时也有很多的开源软件,如耶鲁大学的cas1、应用于校园间应用系统的用户身份联合认证的shibboleth、sun的opensso等等2。1.2研究的意义sso将一个域中的所有应用系统的用户登录和用户账户管理集中到一起,sso的实际意义是显而易见:1. 减少用户在登录不同系统所耗费的时间,减少用户登录过程中出错的可能。没有单点登录功能,那么用户就需要在各个系统的认证模块中,重复的输入用户名和密码,不可避免的会出现输入错误现象。2. 提高管理效率。因为单点登录有一个统一认证系统,并对用户认证信息集中管理。减少了系统管理员增加、删除用户和修改用户权限等操作。3. 提高系统的安全性。单点登录采用统一认证和用户信息统一管理的方式,并且系统间的通信都是加密的,大大保证了用户信息安全。 1.3 研究内容本文的研究内容主要包括以下几方面:(1)通过对单点登录以及相关技术的分析研究。分析、总结、研究单点登录的特点,掌握其关键技术和相关的背景知识,为实现整个系统打下坚实的基础。(2)针对在联盟下用户单点登录各个应用系统过程中,用户角色需要转换的这一现象。在原有的单点登录系统的基础上,提出了基于rbac模型的单点登录系统这一解决方案。(3)实现这个单点登录系统。本系统是采用java语言,基于改进的rbac模型和cas实现该单点登录系统。1.4 论文组织结构本论文的组织结构如下:第一章绪论,介绍单点登录的研究背景、研究现状、研究意义和本论文的研究内容。第二章相关理论与技术,介绍了单点登录原理、单点登录的种类、信息安全、目录服务,并引入rbac模型概念和相关理论基础。第三章,基于改进的rbac和cas的单点登录系统设计与研究,将介绍cas单点登录模型和对rbac的改进方案。第四章,基于改进的rbac的单点登录的相关设计,先提出这个系统的设计目标,和系统架构,然后从基于cas单点登录设计和对改进的rbac模型设计两个方面来说明。第五章,介绍基于改进的rbac的单点登录的实现部分。第六章,总结和展望。总结了本论文的完成的工作和成果,并在此基础上进行了展望,提出了这个系统后续工作。第二章 相关理论与技术2.1 单点登录原理单点登录是目前比较流行的业务整合的解决方案之一。通过用户的一次登录即可获得联盟下的系统和应用软件的授权。即实现了“一处登录、多处访问”的功能。这样,管理员无需修改或干涉用户登录,便能实施安全控制,对用户进行统一的管理。 “单点登录”也是soa时代的需求之一。在面向服务的架构中,程序和程序之间的通讯大量存在,服务之间的安全认证是soa应用的难点之一,所以建立“单点登录”的系统能够大大简化soa的安全问题,提高服务之间的合作效率。要实现单点登录需要实现以下功能:(1)应用系统共享统一身份认证系统认证系统的功能是对用户身份的认证,在用户输入用户名、密码后,将用户信息与信息库用户向比对。认证成功后,会对其产生一个统一的认证标识(ticket)。返回给用户。此为认证系统还应该对应用系统返回的用户ticket进行校验,判断其有效性。(2)应用系统能识别ticket信息在用户首次登录后,用户会得到认证系统的一个认证标识ticket。当用户再次登录联盟的其它应用系统时,应用系统应该能够对ticket进行识别,并进行判断。单点登录有三个角色:用户(这里用户是指使用单点登录服务的个体)、身份提供者idp(一个身份认证的权威机构,对单点登录提供个体身份验证服务)、服务提供者(为用户提供服务的应用系统)。单点登录原理如图2.1所示:图2.1单点登录原理单点登录的基本流程如下:(1)用户首次登录,会被重新定向到认证系统进行认证;(2)认证系统对用户的输入信息进行核对,如果用户信息核对正确,则返回给用户一个统一标识ticket,反之则拒绝服务;(3)用户再次访问联盟下的其它应用系统时候,不用再次输入登录信息,直接将ticket送给应用系统2;(4)应用系统2识别用户的ticket,并将ticket送到认证系统检验其有效性,如果过有效,则可以访问应用系统2;(5)(6)重复(3)(4)过程,进而实现了单点登录。2.2单点登录模型种类 到目前为止,单点登录网络模型分为4种:基于网关的单点登录模型、基于经纪人的单点登录模型、基于代理的单点登录模型、基于经纪人和代理的单点登录模型。1、基于网关的单点登录模型基于网关的单点登录模型在客户端和服务器端之间设定一个网关,如果从客户端要访问应用服务器则必须要经过网关(如图2.2)。在网关管理下的应用程序默认是可信任的。因此只要通过网关,就能访问到网关管理下的所有应用程序。客户端到网关之间的通信都是加密的。客户端访问所需要的应用程序则必须要通过网关,那么我们就可以在网关对用户进行身份认证,并获得访问应用系统的权限。在网关里,把用户信息和用户访问权限内的应用系统ip地址记录到一个表格里。所以当用户访问时,网关通过对用户输入信息和表格里的信息相比对,如果比对成功,则用户会获得他可以访问的所有应用系统权限,就可以实现“一次登录,多次访问”的效果。即实现了单点登录功能。图2.2 基于网关的单点登录模型该模式的缺点:(1) 所有的认证和通信都需要经过网关,在访问用户过多的情况下,容易造成瓶颈。即使分布搭建网关,网关之间的用户信息更新和管理比较困难3。(2) 如果网关被黑客攻击,则会造成用户信息流失,将危机网关下各个应用系统的安全。2、基于经纪人的单点登录模式基于经纪人的单点登录模型中,有一个独立的认证服务器,它是一个公共的独立的第三方,类似现实生活中的“经纪人”。这个认证服务器是用来管理用户的信息和对用户进行认证。经纪人的模型由客户端、认证服务器、提供服务的应用系统三部分组成(如图2.3)。在基于经纪人的单点登录模式中,认证服务器充当经纪人角色。用户需要先经过认证服务器的认证,如果认证失败则拒绝提供服务。如果认证通过后,服务器会返回给用户一个电子身份标识,以后用户就可以用这个电子身份标识来访问这个认证服务器下的其它应用系统了,从而实现单点登录功能。图2.3 基于纪经人的单点登录模型该模式的优点:通过认证的用户,访问联盟下的其它系统时,就需要再经过认证服务器,相对于基于网关单点登录模式而言,大大减轻了认证服务器的负担。该模式的缺点:在联盟下的应用系统应能够识别认证服务器产生的电子身份标识,这样的话,就需要改动旧系统的认证模块,但对旧系统的改动是一个比较困难的工程。3、基于代理的单点登录模型基于代理的单点登录模型是依靠代理软件来实现单点登录,该模型由访问客户端、应用服务器和代理软件3个部分组成(如图2.4)。代理软件可以安装到客户端也可以在应用系统的服务器端。出于安全性的考虑,代理软件一般在应用系统的服务器端。代理软件在客户端与服务器起到中介作用,代理软件中记录它对应的应用系统的用户密码,当用户登录时,就会将密码发送到应用系统中,以此完成登录过程。图2.4 基于代理单点登陆模型基于代理的单点登录模型的优点:对应用系统安装代理软件,不需要对原系统进行过多的改动,具有良好的实施性和灵活性。基于代理的单点登录模型的缺点:由于在代理软件存储用户的密码,容易造成密码泄露,对系统的安全带来很大隐患。4、基于经纪人和代理的单点登录模型在基于经纪人的单点登录模式中,认证信息都存储在认证服务器上,方便认证信息的管理与维护,其缺点就是要对应用系统进行修改;而基于代理的模式就不需要修改应用系统,但其代理软件过多,认证信息就难以维护。所以将这两种模式结合到一起,就是一个比较好的单点登陆模式3。其模型图如图2.5所示:图2.5 基于经纪人和代理单点登陆模型2.3 信息安全今天我们所说的信息安全是一个涉及计算机科学、网络技术、通信技术、密码技术、信息安全技术、应用数学、数论、信息论等领域的交叉学科,同时各种保障信息安全的技术也不断推陈出新。党中央把信息安全、政治安全、经济安全和文化安全并列,作为我们国家四大安全内容之一,可见信息安全的重要性。现代信息安全其核心问题是密码理论,其基础是可信信息系统的构成与评估。总的来说,目前在信息安全领域人们所关注的焦点主要有以下几方面:1)密码理论与技术;2)安全协议理论与技术;3)安全体系结构理论与技术;4)信息对抗理论与技术;5)网络安全与安全产品4。2. 3.1 ssl1、ssl简介ssl是基于tcp/ip的安全套接层协议,由netscape开发,它是安全网络通讯协议,采用公钥和私钥相结合的技术。ssl会为服务器和客户机之间通信安全进行加密。在tcp/ip连接上,它具有数据加密、消息完整性、服务器认证以及可选的客户机认证功能,它的主要作用是提高应用程序之间数据通信的安全性,对传送的数据,ssl可以进行加密和隐藏,这样数据在传输的过程中安全性,也保证了数据的完整性。https是使用安全套接层协议的http协议。现在人们使用的浏览器都支持ssl。如果使用https协议进行认证,对双方传送的数据都要做加密和解密处理,那么可以保证通信数据的秘密性,完整性和有效性。ssl是保护web的安全的常见方式。2、ssl工作原理ssl是介于应用层与传输层之间的可选层。ssl有两个协议层:握手协议和记录协议层。ssl记录层可以对可传输协议例如tcp提供保护,并能提供通信、认证功能。在ssl中,所有数据被封装在记录中,一个记录由记录头和非零长度的数据组成。ssl记录层会用到所有的ssl通信包括握手消息、安全空白记录和应用数据。ssl握手层的作用是用户和服务器通过数次交互、协商加密算法及确定会话密钥,同时完成用户对服务器的身份认证。ssl位置如图2.6所示。图2.6 在互联网模型中ssl的位置3、ssl协议的特点目前的浏览器都内置ssl,ssl可以保证通信的保密、完整,可以用在认证的信息通信方面。ssl协议提供的安全连接具有以下三个特点5:(l)保密性:对于通信双方的每个连接都有一个唯一的会话密钥,这个密钥是采用对称密码体制(如des、rc4等)来加密数据;(2)可靠性:通过采用mac算法可以对通信双方传出的消息进行完整性检验;(3)完整性:ssl能保证消息在传输的过程中不会发生变化,确保通信双方收到一致的信息。4、ssl以对称密码技术和公开密码技术相结合,可以实现如下三个通信目标:(1)秘密性5:ssl客户机和服务器之间传递的消息都经过了加密处理,因为浏览器使用了https协议,在https协议下传递的消息都是经过加密的数据,所以即使被人非法盗取通信消息,数据的内容是乱码,从而保证了数据的安全。 (2)完整性5:ssl利用密码算法和散列hash函数,可以避免两个实体之间的通信受到破坏。(3)认证性5:利用第三方的认证机构,让通信双方能够互相识别。ssl可以要求通信双方在握手时相互交换数字证书,进而能验证对方的合法身份。 2. 3.2身份认证技术随着电子信息化程度的不断提高,网络成为信息交换的重要载体。经济、政治、军事、教育等其它活动也依托网络,网络给人们的生活带来的翻天覆地的变化。与此同时,计算机犯罪案件也急剧上升,对计算机威胁最大的是计算机病毒和黑客攻击。无论是政府、金融还是商业受到不同程度的入侵。为了确保信息安全,避免非法用户对系统的访问,那么需要解决的首要问题是身份认证和访问控制。身份认证6就是证明自己是他声明的那个人的过程。身份认证是一项重要的网络安全技术。它是网络应用系统的第一道防线,它的目的是验证通讯双方的真实身份,防止非法用户窃取敏感数据。身份认证必须有可供验证的内容,应该包含身份和授权。身份的作用是确定系统存在这样的用户。授权的作用系统判定该用户是否有访问他申请资源的访问权。现在普遍使用三种类型的认证类型:知道的一些事情:个人身份号码(pin号码)、口令字等。拥有的一些东西:secureid、智能卡、ibutton。身体特征: 可测量的物理体征,比如指纹等。通常所说的“多重身份认证”就是把多种方法组合起来。常见的有双重身份认证(pin号码和secureid一起使用)、三重身份认证(身体特征信息放在ibutton,而这个ibutton,需要输入pin才能得到)。下面简单介绍几种身份认证的方法:(1)用户id和口令字这是最简单的身份认证方法,在日常生活中经常要记住一大堆用户名和口令字,例如邮箱、qq、银行账户等。它虽然是一个有效的认证手段,但是不够安全,经常发生暴力攻击、字典攻击、盗用、遗忘口令字等现象。(2)数字证书用数字证书来进行身份认证就必须有公共密钥体系(简称pki体系),但因为pki体系的高成本和高复杂性,目前大多数公司还不能把数字证书用作身份认证方法。它是以数字证书为核心,通过加密技术对传输的信息进行加密解密、签名认证和数字签名。数字签名在网上进行身份验证的一种权威电子文档,用来证明用户的身份和识别对方的身份。它具有安全性、唯一性、方便性 7。用数字证书来进行身份认证的虽然提高了安全水平,同时也增加了成本。(3)secureidsecureid 是security dynamics公司开发出来的技术,后来被rsa收购。它成了令牌身份认证事实上的准则。它要有一个能为验证用户身份的硬件装置也就是安全卡,在对抗身份伪装和暴力攻击方面起了有效的保护作用。secureid系统主要由身份认证装置和ace/server服务器这两部分组成的。身份认证装置是可移动手持装置,它的作用是生成独一无二的一次性数字代码。ace/server服务器是身份认证引擎,它控制着“谁能访问、访问哪些资源”。ace/server服务器受到用户申请后,查找权限数据库,比较用户是否有相应的权限,如果权限正确则可以访问,否则拒绝申请。(4) kerberos协议kerberos是由麻省理工学院开发的一种网络身份认证协议。它是客户通过开放式网络下进行身份验证的方法,客户与服务器之间通过kerberos认证彼此身份,全部通讯都是加密的,保证了信息的私密性和完整性。kerberos既不依赖客户端,也不依赖用户所请求的安全机制,它依靠本身提供的认证服务器来完成用户的认证8。kerberos的优点之一是它的“单站式签到”(single sign on)功能。微软公司的windows2000里带有kerberos v5,它可以作为验证用户身份的主要手段。(5)智能卡和电子纽扣智能卡的动作行为就像一台小计算机,可以用来证明自己身份。用户只有证明了自己身份才能登陆到某个计算机网络上去。理论上,它可以代替身份证、信用卡、出入证等证件。它是可编程的,可以对数值进行加减。它在功能上类似于微型计算机,因此具有信用卡不具备的安全性。智能卡能确保他人在没有授权的情况下,访问不到其中的数据,因此它适用于安防或者便携数据存储。电子纽扣是达拉斯半导体公司开发的产品,设计目的是安全化登陆和其它个人用途。它的使用情况和智能卡相似,可以存储和处理数据。ibutton直径16毫米,可以存储30个x.509v3证书格式的1024位密钥。还可以存储数百个口令字或者其它信息项。ibutton可以保存用户的全部资料,并同时提供密码学和物理性两方面的安全措施。2.3.3 samlsaml规范是由oasis(organization for the advancement of structured information standards)在s2ml和authxml规范的基础上提出的。它可以用来交换身份认证、属性信息和授权。saml是一个基于xml的框架,用于交换有关主体的安全断言信息,主体是指拥有某些特定身份信息的实体。saml虽然可以在主体间交换认证授权信息,但saml只是用于保证传输的信息安全交换的机制,它本身内没有定义认证和授权机制。saml在单点登录中具有举足轻重地位,已经得到广泛的应用。图2.7 saml规范saml规范由断言、协议和绑定三部分组成(如图2.7)。saml断言是描述了关于主题的相关信息,其中也包括主题的标识信息。saml断言中的通用的声明:版本信息(saml规范的版本)、断言id、断言发布时间、发布者、数字签名、主体、条件、建议、和声明。saml必须遵循xml加密语法和规范来对saml断言进行加密。saml规范还定义了身份认证断言、属性断言、授权决策断言三种不同断言。saml规范了相关协议,用来实现信息的安全交换,并定义了一系列的规则。saml协议是基于请求/回应模式,即saml协议处理完请求者发送的消息后,应答者应该返回一个消息。在本系统中主要使用了saml中的断言查询与请求协议、认证请求协议、辅件解析协议。saml绑定是指从saml请求/应答消息交换到标准的通信协议和消息之间的映射9,就是指saml协议的消息可以在标准通讯协议上传输。只要遵循saml规范,那么saml规范允许第三方或者任何组织定义saml绑定。在saml规范中定义了saml soap绑定、反向soap绑定、http重定向绑定、http post绑定、http辅件绑定。saml规范中定义这些绑定,都是要保证saml协议消息能够可靠性、准确性的输出。2.4 目录服务 目录服务是由目录数据库和访问协议组成。目录服务将网络环境中的有效资源作为目录信息,将目录信息分层存储在目录树结构中,并可以存储、访问、管理和使用这些信息。目录服务不同于关系型数据库,目录不能批量更新事务,目录一般只能执行简单的更新操作,适合于进行数据的检索;目录具有信息复制能力,从而在缩短响应时间的同时,提高了可用性和可靠性。目录服务是以c/s的结构方式工作的。通常是由一个目录服务器和很多目录客户机构成,如果业务分布分的地域很广,这就需要一个分布式计算环境的服务群,而这个服务集群是由多个目录服务器组成的。2.4.1目录的身份鉴别 目录提供两种身份鉴别机制:简单鉴别和强鉴别(1) 简单鉴别简单鉴别就是通过用户名、口令这样的方式达到身份鉴别的过程。这些信息保存用户条目中,用户名就是该条目dn,口令的类型“userpassword”属性。目录绑定后,可以根据用户提供的用户名在dn中查找,如果存在该用户名则进行口令鉴别,用户输入的口令与目录的口令做compare操作。如果返回成功,则身份鉴别成功。(2) 强鉴别目录中的强鉴别10是指使用证书和数字签名来进行鉴别。强鉴别是基于数字签名技术对身份信息做hash,用户使用自己的私钥对hash值签名。目录使用相同的hash算法生成hash值,并使用用户证书中的公钥进行验证,通过这样的方式确认用户身份。2.4.2 ldapldap(lightweight directory access protocol)是一个轻量级目录访问协议,它是基于x.500标准,对x.500标准上做了简化和发展的协议。x.500是ldap的前身,它是基于osi网络协议的目录服务协议。x.500的缺点是支持osi协议,而不支持tcp/ip。ldap支持tcp/ip协议,并在这个协议上定义了一个简单的搜索目录的协议。ldap作为x.500简化版的同时,还有许多自身的特性,使得ldap具有更大的生命力。ldap是由ietf制定的标准,是由一系列的rfc组成的。ietf成员提出关于ldap标准的制定和修改意见,这一系列的rfc在此基础上逐渐形成的。由于规范的实用性,ldap得到更加广泛的应用。ldap的四种模型:信息模型、命名模型、功能模型、安全模型。ldap工作原理ldap是以c/s模式工作的。当应用程序从目录中读取数据的时候,不能与目录服务器直接打交道,通过应用程序接口api,把操作命令消息通过tcp/ip发送到ldap目录服务器,ldap目录服务器通过访问数据库得到结果,通过tcp/ip发送回客户端。中间传递的消息必须是加密的,这些是由ldap协议定义,对用户透明,用户看到的只是api(如图2.8)。在ldap中,服务端和数据库之间的连接采用了odbc机制,所以可以使用具有odbc驱动程序的数据库软件。图2.8 ldap工作原理 ldap的优势(1)ldap可以在tcp/ip协议或者其它传输层协议上运行,减少了建立连接和数据包处理的相关细节。现在的网络中tcp/ip占据主导地位,因为ldap是支持tcp/ip协议的,所以ldap可以在大多数系统运行。(2)ldap简化对x.500目录的访问。ldap用search操作模拟了read、list操作,并且省略了很少用到的控制类操作。(3)ldap使用asn.1和ber进行描述和编码,将数据源中字符串进行编码。并对需要属性类和对象类的命名进行简化。如:“c=cn, ou=中国科学院研究生”。与其它的目录访问协议相比,ldap比较简易。2.5 rbac模型2.5.1访问控制概述随着网络技术的日益普及,网络安全越来越重要。iso在网络安全体系组织提出了安全体系结构,并定义五大安全服务功能:身份认证服务、访问控制服务、数据保密服务、数据完整性服务、不可否认服务11。访问控制是通过某种手段来限制或者允许访问者对资源的访问能力的一种方法。合理的访问控制能保护资源不被非法用户所使用,能够防止非法用户的入侵。访问控制方法包括:用户识别代码、口令、登录控制、资源授权、授权核查、日志和审计等12。访问控制系统包括主题、客体、访问策略。这里的访问策略是保证主体访问客体的一套规则。访问控制类型有自主访问控制(dac)、强制访问控制(mac)、基于角色访问控制(rbac)、和基于任务访问控制(tbac)。自主访问控制是指用户身份认证成功后,就可以访问其在控制表上赋予该用户的权限内的所有资源。由于这种方法的灵活性, dac方法大量采用。它的缺点是安全性能低,不能有效保护资源。强制访问控制是依据主体和客体的安全级别来决定主体是否对客体的访问权13。它的主要应用在军事部门的安全策略。它的缺点是降低了系统的可用性,安全级别低的主体永远也访问不到安全级别高的主体的资源;由于mac的保密性过重,产生系统管理不便,灵活性差的负面影响。基于任务访问控制是从任务的立场上建立的模型,它不会不变的,会随着任务的变化而变化,具有时效性。因为基于角色访问控制也是本文的研究重点,下面介绍下rbac。2.5.2基于角色访问控制rbac(role-based access control)模型是目前国际上比较流行的安全访问控制方法。它根据角色分配规则,通过对用户角色的分配来完成对用户权限分配,从而代替了原始的用户权限的分配方式。现实生活当中也存在这样的例子:飞机上有驾驶员和乘务人员,那么驾驶员和乘务人员是两个角色,这些角色具有某些特定的权限。驾驶员小王能驾驶飞机,并不是因为他个人,而是因为他被赋予了驾驶员这个角色,也就拥有了驾驶员的职能。在用户和权限间插入角色,就实现了用户与访问权限之间逻辑上的分离,即用户角色和角色权限。rbac的组件rbac的模型如图2.9所示,由用户、角色、主体、操作、权限五个组件组成。用户:对资源的访问者,可以是一个人,也可以拓展为对系统资源提出申请的对象。权限: 在rbac中客体允许的相关操作。角色:组织机构中职能的抽象体。它能够代表一系列的权限,当一个人获得某个角色时,他就可以执行这个角色相应的权限。操作:用户对系统和数据的行为体现。图2.9 rbac模型上图中的会话指的是用户与系统相互交互的过程,是一对多得关系。用户通过会话,使角色得以激活。对于用户权限的赋予,是在会话中根据相关属性选定相应的角色,当用户得到了角色后,就可以对客体执行角色相应权限的操作了。rbac模型的基本思想基于软件工程中的多层结构能够降低系统的耦合性,使得系统在维护扩展方面更灵活的观点,对于传统的用户权限模式,我们可以将权限和用户分开,中间插入角色,角色起到了媒介的作用,将权限分给角色,而不是用户,再将角色分配给用户。在这种情况下,当用户获取角色的时候,也就获取了角色相关的权限。一个用户可以获得多个角色,一个角色也被多个用户拥有。每个角色可以拥有多种权限,每个权限也可以被多个角色所拥有。rbac的模型美国george mason大学的r.sandhu等人在1996年提出了一个基于角色的访问控制参考模型,这个参考模型对角色访问控制产生了重大的影响,被称为rbac96模型。rbac模型实际上就是解决了who、 what、 how的问题, 描述了主体对客体进行了怎样的操作。rbac96模型能全面的描述rbac,rbac96模型有4不同的模型。(1) rbac0模型图2.10 rbac0模型其中:ua是多对多的用户角色的分配关系集合,对用户进行角色分配;us是与用户相关联的会话集合;sr是会话到角色集合上的映射;pa是多对多的角色权限分配集合;prms是权限permission集合。rbac0模型(如图2.10)是基础模型,它包括若干个用户集、角色集、权限集和会话集。在这个模型中权限和角色是多对多的关系,用户和角色也是多对多的关系。用户激活会话,这个会话在周期内保持不变,通过会话可以激活多个角色。用户可以更换角色,也可以结束会话。(2) rbac1模型图2.11 rbac1模型其中ph是角色集合的一个偏序。rbac1模型(如图2.11)是个分级模型,它是对rbac0模型的一个扩展,rbac1模型角色间可以继承,这种继承关系是偏序的。当角色1继承角色2,则角色1的权限包含了角色2的全部权限。(3) rbac2模型图2.12 rbac2模型rbac2模型(如图2.12)在rbac0模型的基础上引入了约束的概念,约束条件有互斥角色、基数约束(基数创建新的角色同时指定角色的容量)、运行互斥(同时拥有两个角色的用户不能同时激活两个角)。约束的返回结果值直接影响用户对资源的访问权限是否有效。其中ssd是静态职责分离,是在为用户分配角色过程中增加了限制。即不能为一个用户分配两个互斥的角色,用户只能拥有其中的一个角色。因为有继承的存在,所以有支持继承的静态职责分离和不支持继承的静态分离两种。dsd是动态职责分离,是在会话过程中,对用户的角色进行限制。即可以为用户分配两个互斥的角色,但在一个会话中用户不能同时拥有两个互斥角色。因为ssd比较简单,管理也很方便,但在实际情况中不够灵活; dsd在实际情况中显得更灵活,但实现比较复杂。(4) rbac3模型图2.13 rbac3模型rbac3模型(如图2.13)是在rbac0模型的基础上同时添加分级结构和约束机制。在rbac3模型中分级与约束交互存在,增加了rbac的复杂度。rbac的优势 1、rbac在用户和权限之间设置的媒介“角色”,使得用户和权限映射变成用户和角色之间的映射,降低了系统授权的复杂度,减少了系统管理开销。2、提高了系统的安全强度,为企业管理员提供了类似于企业业务管理的访问控制平台。它克服了传统访问控制中的不足,减少授权的复杂性,不易出错。3、不同应用系统的管理员可以管理不同区域的角色结构和角色分配等操作,更适合于 分布式环境下的系统管理。2.6 基于rbac的单点登录的好处目前web迅速发展,b/s系统也越来受到人们的欢迎。b/s结构的系统的会有更多的用户,所以对于用户权限的处理,就相对繁琐。系统管理员的任务也比较繁重,需要处理每个用户与系统的权限关系。单点登录系统,是指在联盟下的多个应用系统实现“一次登录,多次访问”的效果,因为这些应用系统都有自己的权限控制机制,并且用户在每个系统中都有不同的角色,所以在实现单点登录功能后,就会出现一个问题:用户从一个已登录应用系统,单点登录另一个系统,用户的角色也需要转变,这样就增加了管理员的管理负担,也增加了系统的复杂性。怎么处理用户在系统间的角色转换问题,变成了单点登录的一个难题。rbac的引入,是用户不能与权限直接映射,取而代之的,用户只能和角色映射,角色和权限映射。这种方法简化了授权管理。使用rbac模型就能解决这个问题,在rbac模型的基础上,增加角色转换策略库,那么用户在不同应用系统“穿梭”过程中,实现用户角色的转换。第三章 cas和改进的rbac模型3.1 cascas是yale大学用java开发的基于web的单点登录开源软件。因为cas是用java语言开发,所以能在servlet容器中运行;因为使用了ssl技术,所以大大增强了系统安全性;因为使用了xml,所以大大的增加了系统的扩展性。cas认证机制类似于kerberos,并且用户只能向cas服务器提交用户认证信息,不用向其它的应用系统提交,所以提高了用户的信息安全性。cas的目的是在一个分布式系统中,通过统一认证,来把各个系统集中到一起。cas在认证过程中,会为通过认证的用户提供一个电子身份证明,用户就可以使用这个电子身份证明来访问联盟下的其它应用系统,而不必重新登录,这样就完成了单点登录。类似于现实中的欧盟国家的公民,只要凭借公民的身份证,就可以到欧盟的任意国家旅游一样,方便快捷。相比之下,没有实现的单点登录功能的应用系统,就会像中国人要去日本,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论