RBAC在统一身份认证系统的设计与实现_第1页
RBAC在统一身份认证系统的设计与实现_第2页
RBAC在统一身份认证系统的设计与实现_第3页
RBAC在统一身份认证系统的设计与实现_第4页
RBAC在统一身份认证系统的设计与实现_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

1、统一身份认证系统的研究与实现引言:随着因特网的飞速发展,基于B/ S(浏览器/服务器)结构的企业应用软件也得到了快速 发展,各种应用系统已经应用到很多企业的生产管理活动中去,为企业提高工作效率和管理水 平做出了巨大的贡献。但是,由于企业受业务、自身条件和当时软件技术的影响,这些不同的 系统往往是在不同的时期建设起来的,运行在不同的平台上。各系统也许是由不同厂商开发 的,使用了各种不同的技术和标准。每个应用系统都有自己独立的一套身份验证机制,采取分 散登录、分散管理。又由于针对企业应用各系统的联系十分紧密,各用户需要使用大多数的 系统。如果不使用单点登录(Single Sign On,简称SSO

2、),势必造成企业的工作人员在实际工作 中要频繁地在各个系统登录和注销,严重影响了生产效率;同时,很多系统都要维持一个用户 身份信息是很麻烦的。因此,信息系统急需建立一个统一的身份认证系统,以保证用户操作的 方便和应用系统的安全。所谓统一身份认证,就是用户基于最初访问的一次身份认证,就能对其被授权的资源进行 无缝访问。单点登录是目前比较流行的企业业务整合的解决方案之一。SSO的定义是:在多 个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。本系统是对一个 企业进行统一身份认证改造,该企业的应用系统均采用B2S(浏览器2服务器)结构构建。系 统进行统一身份认证改造后,需要能够实现较

3、为灵活的、基于SAML协议和RBAC协议原 理的单点登录模型,并且需要有灵活的访问控制,保证和原有系统的紧密结合,实现用户的统 一身份认证。RBAC工作原理由于该项目是基于SAML 1. 1标准构造的,所以下面介绍的主要是SAML 1. 1协议的内 容。SAML规范体系主要由三个部分构成:断言(Assertion)、请求/响应协议(Request and Response Protocol)、绑定和配置(Bindings/Profiles),各个部分紧密地联合在一起,构成了整个 SAML协议的实现。基于角色的访问控制(RBAC)的概念在20年前第一次提出,它是从传统的随意访问控 制(DAC)和

4、强制访问控制(MAC)发展起来的。它可以实现企业的权限机制到企业组织结构的自然映射,提高了访问控制的水平,大大提 高了安全管理员的效率。RBAC模型由四个部件模型组成,分别是基本模型RBAC0、角色分 级模型RBAC1、角色限制模型RBAC2和统一模型RBAC3。RBAC0定义了能构成一个RBAC控制系统的最小的元素集合。在RBAC之中,包含 用户(Users )、角色(Roles)、对象(Object s)、操作(Operations)、许可权(Per2missions)五 个基本数据元素。权限被赋予角色,而不是用户,当一个角色被指定给一个用户时,此用户就拥有了该角色 所包含的权限。会话Se

5、ssions是用户与激活的角色集合之间的映射。RBAC0与传统访问控 制的差别在于增加一层,间接性地带来了灵活性,RBAC1、RBAC2、RBAC3都是先后在 RBAC0基础上的扩展。通过RBAC完成统一身份认证设计和实现RBAC96模型四部分的关系应用服务器根据认证的结果,结合其自身的RBAC访问控制系统,对用户访问系统进行 授权。认证服务端由SAML响应器、身份验证服务和认证服务数据库构成。SAML响应器 用于与应用服务端进行SAML协议信息,用于完成认证服务器和应用系统的身份信息处理 和通信;身份验证服务主要用于对登录用户进行验证;认证服务数据库用于保存与用户的身 份相关的信息。应用服务

6、端由SAML响应器、RBAC访问控制和应用系统数据库组成。 SAML响应器用于与认证服务端进行SAML协议信息,用于完成认证服务器和应用系统的 身份信息处理和通信;RBAC访问控制组件用于根据用户在该系统中的角色对用户访问系 统的权限进行有效的控制;应用系统端数据库主要包括应用系统的账户和对应权限信息,当然 还应包括用于保存应用系统业务数据的信息。由于本文的关注点主要在认证方面,故在本系 统中不会表达。数据库设计:按照模型设计的要求,统一认证系统包括两部分数据库:一部分属于认证服务器的Identityinformation数据库,另一部分是应用系统的Serviceinformation数据库(

7、因为只 为了表示统一身份认证,在该系统设计中只有访问控制部分的设计)。设计该数据库的目的:主要是为了表达同一用户管理模型中的映射关系,把各应用系统的账户 和统一的用户ID联系起来。该数据库由Application user、User_Account -Application三个表构成,各表之间通过外键相关联。根据现在分别对各表的设计进行介绍:表User的主要作用是为了表达统一身份认证的统一用户的目的。这里,把有应用系统的 各个账号由User表中的user_ ID表示。这样,用户的身份就被统一起来了,用户的验证主要 根据这张表的user_ID和password判断,它由用户唯一标志(user_I

8、D)、密码(password)和 用户名(user_name)构成。表User_Account_Application的主要作用是建立用户到各应用系统中的账号,和账号对 应访问的系统建立对应关系。根据登录模型设计的要求,访问控制由系统自行决定。所以,建 立这样的关联后,用户访问各系统就可以根据系统自身的访问控制表进行用户系统授权。它由用户唯一标志(user_ID)、账号标志(account _ ID)和应用系统唯一标志(application_ID) 构成,这三个字段联合构成一个主键,用于表示三者的唯一关系。表Application的主要作用是 描述应用系统的信息,包括应用系统唯一标志(app

9、lication_ ID)、应用系统名称(application_ name)和应用系统的访问地址(application_url)。设计该数据库的目的是表达设计的访问控 制模型,设计的表只包含完成访问控制的部分。用户、角色、权限以及操作、资源的关系该数据库包括四个基本信息表:即User (用户表)、Role (角色表)Privilege (权限表)、 Object (操作对象),它们分别定义了用户、角色、权限、操作对象各个实体的基本信息;另外 有五个关系表,即 User_ ToRole、User_ To_SubPrivileg& User_ To_SubPrivi1ege、Privilieg

10、e_ To _Object。数据库中各表的关系设计。它对应于认证端的账户概念;Role表用于定义角色,一个角色代表享有系统相似权限的 一部分人;Privilege表用于定义系统的权限;Object表用于表达系统的功能实体,它和权限通 过Privilege_ To _Object关联起来,用于表达访问控制的结果。User _ To _Role主要用于描述用户到角色的对应,而Role_To_ Privilege用于表达角色 拥有的权限。这样,通过用户就能够找到用户到权限的一个对应。同样,User_ To _AddPrivilege、User_ To_SubPrivilege也可以分别得到一个用户到

11、权限的对应。通过上述对应关系,可以根据模型设计的要求找到一个用户到权限的映射,从而达到访问 控制的目的。通过SQL语言中各表的连接查询可以表达出模型设计的要求。2、列举自主控制策略、强制控制策略和基于角色控制策略的优缺点,并比较他们的异同。自主访问控制策略优点:1)访问控制的粒度战足单个用户,能够在一定程度上实现权限隔离和资源保护。2)能够不加控制地使信息从一个可以被写的客体流向一个可以被读的客体。3)用户可以随意地将自己拥有的访问权限授予其他用户,之后了可以随意地将所授予权限 撤销。4)由于自主访问控制将用户权限与用户直接对应,因此自主访问控制具有较高的访问效率。 缺点:1)信息在移动过程中

12、其访问权限的关系可能会发生改变,这使得管理员难以确定哪些用户 对哪些资源具有有访问权限,不利于实现统一全局访问控制,使其在资源共享方面难以控制。2)DAC中资源管理比较分散,用户间的关系不能在系统中体现出来,且不易管理,信息容 易泄露,无法抵御特洛伊木马的攻击。一旦带有特洛伊木马的应用程序被激活,它可以任 意泄漏和破坏接触到的信息,甚至改变这些信息的访问授权模式。3)授权管理繁琐,需要对每个资源指定可以访问的用户以及相应的权限,当用户的情况发生 变化时需要进行大量的修改操作,并且每个子系统都要维护自己的访问控制列表,使得整个系统的统一管理非常困难,容易产生安全漏洞。强制访问控制策略优点:1)它

13、是管理集中,根据事先定义好的安全级别实现严格的权限管理,因此适合对于安全性 要求较高的应用环境,如美国军方就一直使用这种访问控制模型。2)通过信息的单向流动来防止信息扩散,能够抵御特洛伊木马对系统保密性的攻击。 缺点:1)根据用户的可信任级别及信息的敏感程度来确定它们的安全级别,在控制粒度上不能 满足最小权限。2)应用领域比较窄,使用不灵活。一般只用于军事等具有明显等级观念的行业或领域。3)主体访问级别和客体安全级别的划分与现实 要求无法一致,在同级别间缺乏控制机制, 管理不使。因为只有子系统的管理员才能制定出合适该子系统的访问控制模式,而整个系 统 的管理员不可能指定出适合各个子系统的统一的

14、访问控制模式。4)完整性方面控制不够。重点强调信息从低安全级向高安全级的方向流动,对高安全级信 息的完整性保护强调 不够。基于角色优点:1)通过角色概念的引入,实现了用户与访问权限的逻辑分离,即先给角色分配权限,再 给用户分配 相应的角色,从而该用户具有了与该角色相关联的权限,2)实现了根据用户在系统中所处的位置及作用设置相应的访问权限;3)RBAC以对角色的控制民取代了 DAC和MAC中直接对用户的控制,增加了系统 的灵 活性;4)最小特权原则的实施,保证了用户只具有完成任务所必须的权限,防止了用户具备过大 的对系统 资源进行访问的权限;5)方便管理 员对权限的管理。在定义好了权限和角色后,

15、只需进行简单的角色分配 或取 消,即可完成用户权限的分配 与取消。缺点:1)在RBAC中进行了职责分离,使得原来 对身份标识的窃取恶化为对角色的窃取;2)任何一个对象或主体会因此损害到整个对象组织或用户组;3)角色的继承不加限制的权限授予会导致违背安全性策略;4)角色重叠的模糊本所、为用户指定多种角色以及将对象指定到多个对象访问组,会使错 误配置成为一种实际的风险;5)最后RBAC的角色层次图中的许多都只有理论和算法描述,实现困难,并且许多理论框 架依然不清楚,没有完整的代数描述。对于模型中的限制的研究将角色的互斥进行分类,定 义了理论上的安全级别,不过实际中几乎无法使用,仅有理论意义。再有,

16、许多模型的代 数描述非常复杂,很抽象,很难理解,需要很好的数学基础,不易推广。自主访问控制(DAC)是一个接入控制服务,它执行基于系统实体身份和它们的到系统资 源的接入授权。这包括在文件,文件夹和共享资源中设置许可。自主访问控制特点:根据主体的身份及允许访问的权限进行决策。自主是指具有某种访问能力的主体能够自主地将访问权的某个子集授予其它主体。 灵活性高,被大量采用。自主访问控制缺点:信息在移动过程中其访问权限关系会被改变,权限控制某些情况下不够严格。如用户A可 将其对目标O的访问权限传递给用户B,从而使不具备对O访问权限的B可访问O。管理的方式不同就形成不同的访问控制方式。一种方式是由客体的

17、属主对自己的客体进 行管理,由属主自己决定是否将自己客体的访问权或部分访问权授予其他主体,这种控制方 式是自主的,我们把它称为自主访问控制(Discretionary Access Control DAC)。在自主 访问控制下,一个用户可以自主选择哪些用户可以共享他的文件。Linux系统中有两种自主 访问控制策略,一种是9位权限码(User-Group-Other),另一种是访问控制列表ACL( Access Control List)。特点自主访问控制模型的特点是授权的实施主体(可以授权的主体、管理授权的客体、授权 组)自主负责赋予和回收其他主体对客体资源的访问权限。DAC模型一般采用访问控

18、制矩 阵和访问控制列表来存放不同主体的访问控制信息,从而达到对主体访问权限限制的目的。强制访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策。强制访问 控制(MAC)的主要特征是对所有主体及其所控制的客体(例如:进程、文件、段、设备) 实施强制访问控制。为这些主体及客体指定敏感标记,这些标记是等级分类和非等级类别的 组合,它们是实施强制访问控制的依据。系统通过比较主体和客体的敏感标记来决定一个主 体是否能够访问某个客体。用户的程序不能改变他自己及任何其它客体的敏感标记,从而系 统可以防止特洛伊木马的攻击。强制访问控制一般与自主访问控制结合使用,并且实施一些附加的、更强的访问限制。

19、一个主体只有通过了自主与强制性访问限制检查后,才能访问某个客体。用户可以利用自主 访问控制来防范其它用户对自己客体的攻击,由于用户不能直接改变强制访问控制属性,所 以强制访问控制提供了一个不可逾越的、更强的安全保护层以防止其它用户偶然或故意地滥 用自主访问控制。将主题和客体分级,根据主体和客体的级别标记来决定访问模式。如,绝 密级,机密级,秘密级,无密级其访问控制关系分为:上读/下写(完整性), 下读/上写(机密性)通过安全标签实现单向信息流通模式Biba安全模型MAC通常用于多级安全军事系统。强制访问控制对专用的或简单的系统是有效的,但对通用、大型系统并不那么有效。一 般强制访问控制采用以下几种方法:(1)限制访问控制。一个持洛伊木马可以攻破任何形式的自主访问控制,由于自主控制方式允许用户程序来 修改他拥有文件的存取控制表,因而为非法者带来可乘之机。MAC可以不提供这一方便, 在这类系统中,用户要修改存取控制表的唯一途径是请求一个特权系统调用。该调用的功能 是依据用户终端输入的信息,而不是靠另一个程序提供的信息来修改存取控制信息。(2)过程控制在通常的计算机系统中,只要系统允许用户自己编程,就没办法杜绝特洛伊木马。但可 以对其过程采取某些措施,这种方法称为过程控制。例如,警告用户不要运行系统目录以外 的任何程序。提醒用

温馨提示

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

评论

0/150

提交评论