基于角色的访问控制的(共63张PPT)_第1页
基于角色的访问控制的(共63张PPT)_第2页
基于角色的访问控制的(共63张PPT)_第3页
基于角色的访问控制的(共63张PPT)_第4页
基于角色的访问控制的(共63张PPT)_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

基于角色的访问控制的

理论与应用研究 姓名:俞诗鹏 专业:应用数学 方向:网络信息安全 导师:林作铨教授 2003.6.1第1页,共63页。本文主要工作多维RBAC模型及其应用在理论上扩展RBAC基本模型RBAC实现的缓存机制在应用层提高访问控制效率RBAC模型处理中间件结合理论层和应用层结果模块化处理2第2页,共63页。内容提要RBAC模型概述多维RBAC模型及其应用RBAC实现的缓存机制RBAC模型处理中间件结论3第3页,共63页。内容提要RBAC模型概述访问控制与传统模型RBAC主流模型RBAC96和ARBAC97多维RBAC模型及其应用RBAC实现的缓存机制RBAC模型处理中间件结论4第4页,共63页。访问控制背景计算机安全中的重要组成部分存在于操作系统,数据库,Web等各个层面目标允许被授权的主体对某些客体的访问拒绝向非授权的主体提供服务主要模型传统模型:自主访问控制(DAC),强制访问控制(MAC)新模型:基于角色的访问控制(RBAC)5第5页,共63页。基于角色的访问控制背景主体和客体的数量级增大,传统模型很难适用Web上的访问控制成为主流研究课题基本思想提出“角色”作为授权中介定义不同层次的访问控制模型用于不同应用背景利用RBAC模型本身实施模型管理主流模型RBAC96:RBAC基本模型Sandhuetal.1996ARBAC97:RBAC管理模型Sandhuetal.19976第6页,共63页。RBAC主流模型——RBAC96(1)分层的RBAC基本模型RBAC0:含有RBAC核心部分RBAC1:包含RBAC0,另含角色继承关系(RH)RBAC2:包含RBAC0,另含限制(Constraints)RBAC3:包含所有层次内容,是一个完整模型7第7页,共63页。RBAC主流模型——RBAC96(2)RBAC96模型基本框架8第8页,共63页。RBAC主流模型——ARBAC97(1)基本思想在RBAC模型内部实现对各部分元素的管理引入“管理员角色”实施管理引入“角色区间”刻划管理职责ARBAC97模型的基本组成部分URA97:用户角色指派管理PRA97:权限角色指派管理RRA97:角色继承关系管理9第9页,共63页。RBAC主流模型——ARBAC97(2)ARBAC97模型基本框架10第10页,共63页。内容提要RBAC模型概述多维RBAC模型及其应用多维RBAC模型MDRBAC多维RBAC管理模型MDARBAC多维RBAC模型的实现与应用RBAC实现的缓存机制RBAC模型处理中间件结论11第11页,共63页。多维RBAC模型的提出出发点现有模型中角色的语义不清楚角色继承关系和限制过于复杂解决方案在角色集中引入“角色维数”概念,细化角色定义利用角色命名机制简化角色继承关系的查找12第12页,共63页。多维RBAC模型MDRBAC(1)类似RBAC96模型的层次关系在每一层次上扩展RBAC96模型13第13页,共63页。多维RBAC模型MDRBAC(2)MDRBAC0若干实体集U(用户集),P(权限集),S(会话集)d个互不相交的实体集,称为虚拟角色维,其中的元素称虚拟角色,d称为角色维数角色集R为各个虚拟角色维的直积,即

,为多对多的用户角色指派关系,为多对多的权限角色指派关系,映射每个会话到一个用户,映射每个会话到一组角色,有14第14页,共63页。模型的全面管理(参考ARBAC97模型)角色语义清晰,虚拟角色集容易确定和建立可实现缓存自动更新和细粒度更新主要的限制:角色基数限制,角色互斥RBAC实现的缓存机制多维RBAC模型的实现(2)可实现粗细结合、不同粒度的模型管理CheckUserPermission(user,perm)主体和客体的数量级增大,传统模型很难适用多维RBAC模型MDRBAC(4)RBAC中间件的设计(4)多维RBAC模型及其应用对象所有者有权将对于该对象的访问权限授予他人提供多种实现方式供实际选择RBAC模型的缓存机制多维RBAC模型MDRBAC(3)MDRBAC1U,P,S,VRi,R,UA,PA,user同MDRBAC0是集合VRi上的一个偏序关系,记为隐式角色层次是R上的一个关系,记为,有显式角色层次是R上的偏序关系,记为是R上的一个关系,记为。当且仅当 ,或,或存在,有且显式角色层次限制条件作如下改动IRH是一个偏序如果ERH满足ERHC条件,则RH是一个偏序15第15页,共63页。多维RBAC模型MDRBAC(4)MDRBAC2MDRBAC0中的所有元素一组限制条件,用于刻画MDRBAC0中各元素的组合合法性限制在MDRBAC2中有更丰富的形式限制可定义于虚拟角色集上角色基数可以通过定义虚拟角色基数得到角色互斥可以定义在虚拟角色集上16第16页,共63页。多维RBAC模型MDRBAC(5)MDRBAC317第17页,共63页。多维RBAC管理模型MDARBAC(1)基本思想DSO管理虚拟角色维SSO继承各DSO角色在虚拟角色维上可实现ARBAC97模型组成部分MDURAMDPRAMDRRA18第18页,共63页。多维RBAC管理模型MDARBAC(2)MDURA扩展URA97模型由DSO指定用户在当前虚拟角色集中的分量用户在一个虚拟角色集上的分量容易更改MDPRA扩展PRA97模型MDURA的对偶模型很方便的创建相似的PA关系19第19页,共63页。多维RBAC管理模型MDARBAC(3)MDRRA扩展RRA97模型粗粒度角色管理:管理虚拟角色集添加删除虚拟角色添加删除虚拟角色继承关系VRHi管理虚拟角色基数和虚拟角色互斥细粒度角色管理:直接管理系统角色集直接添加删除角色添加删除显式角色继承关系ERH直接管理角色基数和角色互斥20第20页,共63页。多维RBAC模型的实现(1)目标利用角色名称反映角色语义信息和继承关系减少角色继承关系表RRA的容量实现手段定义虚拟角色名称和角色名称准备工作RRA表格式[角色名称1,角色名称2,角色关系]分隔符集21第21页,共63页。多维RBAC模型的实现(2)虚拟角色名称在每个虚拟角色集中自顶向下定义单继承:直观定义多继承:需要利用RRA表虚拟角色语义名称虚拟角色名称总公司companycompany分公司filialecompany/1filiale虚拟角色语义名称虚拟角色名称经理managermanager开发人员developermanager/2developer销售人员salesmanmanager/2salesman普通职员employeemanager/2developer/2employeemanager/2salesmanmanager/2developer/2employee>RRA:22第22页,共63页。多维RBAC模型的实现(3)角色名称将虚拟角色分量的虚拟角色名称组合成角色名称与其向量形式一一对应角色角色名称总公司经理company/1manager分公司经理company/1filiale/1manager总公司开发company/1manager/2developer分公司开发company/1filiale/1manager/2developer总公司销售company/1manager/2salesman分公司销售company/1filiale/1manager/2salesman总公司职员company/1manager/2developer/2employee分公司职员company/1filiale/1manager/2developer/2employee23第23页,共63页。多维RBAC模型的实现(4)应用于WebDaemon系统24第24页,共63页。多维RBAC模型的实现(5)WebDaemon系统在TCL公司部署情况角色语义清晰,虚拟角色集容易确定和建立共有3个虚拟角色集,并且很方便修改机构体系,部门管理,数据查询8600多个角色260多个虚拟角色90%以上的角色继承关系由角色名称确定系统管理方便,目前仅由单管理员管理25第25页,共63页。多维RBAC模型的优势全面扩展了RBAC96和ARBAC97模型它们是多维RBAC模型在维数为1的特殊情形切分角色语义,符合直观,易于创建角色可实现粗细结合、不同粒度的模型管理基本呈树状结构的角色层次图适合采用多维RBAC模型角色名称定义可极大改善系统性能26第26页,共63页。内容提要RBAC模型概述多维RBAC模型及其应用RBAC实现的缓存机制RBAC模型外缓存RBAC模型内缓存RBAC模型内缓存的实现RBAC模型处理中间件结论27第27页,共63页。RBAC模型的缓存机制背景角色层次过深导致权限查询效率低下历史查询数据有利于预测后续查询28第28页,共63页。RBAC模型外缓存由外部访问控制程序维护缓存仅能缓存用户权限对应必须手动更新29第29页,共63页。RBAC模型内缓存(1)RBAC模型内缓存示意图30第30页,共63页。RBAC模型内缓存(2)在RBAC模型内部实现缓存机制独立于外部应用程序可实现缓存自动更新和细粒度更新可以缓存细粒度的内容缓存用户权限对应缓存用户指派缓存权限指派缓存角色继承关系31第31页,共63页。RBAC模型内缓存(3)缓存用户权限对应类似于RBAC模型外缓存可实现细粒度缓存更新缓存自动更新删除用户删除权限删除用户指派删除权限指派删除角色删除角色继承关系32第32页,共63页。多维RBAC模型的实现(1)RBAC实现的缓存机制可实现缓存自动更新和细粒度更新分布式RBAC模型(DRBAC)在每一层次上扩展RBAC96模型细化角色概念,优化角色管理添加删除显式角色继承关系ERH在应用层的检查操作中加入缓存操作语句以及读取缓存语句作如下改动RBAC主流模型——RBAC96(2)引入“管理员角色”实施管理多维RBAC模型的实现(4)Web上的访问控制成为主流研究课题RBAC模型内缓存(4)缓存用户指派在查询用户权限对应的同时缓存用户与对应角色的子角色的指派关系(u,r1)∈UA,r1r2,则缓存(u,r2)以后查询时可直接应用缓存的用户指派缓存细粒度更新与自动更新删除用户删除用户指派删除角色删除角色继承关系33第33页,共63页。RBAC模型内缓存(5)缓存权限指派在查询用户权限对应的同时缓存权限与对应角色的父角色的指派关系(r2,p)∈PA,r1r2,则缓存(r1,p)以后查询时可直接应用缓存的权限指派缓存细粒度更新与自动更新删除权限删除权限指派删除角色删除角色继承关系34第34页,共63页。RBAC模型内缓存(6)缓存角色继承关系在查询用户权限对应的同时缓存隐含的父角色与子角色的角色继承关系r1r2,且r2r3,则缓存r1r3以后查询时可直接应用缓存的角色继承关系缓存细粒度更新与自动更新删除角色删除角色继承关系35第35页,共63页。RBAC模型缓存的比较缓存用户权限关系基本等价于模型外缓存缓存用户指派与权限指派代价基本一致效率提升度最高缓存角色继承关系包含于前二者中代价适中可综合运用所有缓存策略,最大限度提高性能36第36页,共63页。RBAC模型内缓存的实现(1)基于数据库的实现可将缓存数据记录在原有表单中或者重新建立新的表单存储缓存数据性能提升:25%~30%字段名称字段描述字段类型f_userid用户IDvarcharf_roleid角色IDvarcharf_iscached是否是缓存数据(Y/N)char字段名称字段描述字段类型f_userid用户IDvarcharf_roleid角色IDvarcharf_directroleid实际与f_userid发生指派的角色varchar37第37页,共63页。RBAC模型内缓存的实现(2)基于LDAP的实现目录服务可大大提高查询操作效率模型内缓存在LDAP中增加相应节点,并标识缓存性能提升:20%左右38第38页,共63页。内容提要RBAC模型概述与相关研究多维RBAC模型及其应用RBAC实现的缓存机制RBAC模型处理中间件RBAC中间件的设计RBAC中间件的扩展RBAC中间件的实现结论39第39页,共63页。RBAC模型处理中间件背景RBAC模型策略中立,可以独立访问控制模块过于复杂,需要独立目标封装模型所有元素对上层应用程序和下层存储介质提供统一接口提供良好的扩展性方便访问控制模块的二次开发40第40页,共63页。RBAC中间件的设计(1)访问控制查询接口给定用户和权限可查询访问许可RBAC模型管理接口模型的全面管理(参考ARBAC97模型)41第41页,共63页。RBAC中间件的设计(2)类设计三个基本抽象类User,Role,Permission中间件不关心这些类的具体属性用对象连接表示其他基本元素限制通过指定对象属性表示角色基数限制定义在类Role中角色互斥通过角色类对象连接表示42第42页,共63页。RBAC中间件的设计(3)底层接口设计为原子操作,由具体存储介质实现定义基本语义,保证接口以上的模型是统一的大部分返回布尔值,表示操作是否成功五种类型的操作(共45个接口)基本添加删除操作批量删除操作检验存在性操作查询操作事务有关操作43第43页,共63页。RBAC中间件的设计(4)应用层接口设计定义在底层接口之上,实现模型全面管理包含用户视图信息,实现高层语义保证操作前后模型和底层存储的一致性四种类型的操作(共29个接口)添加操作删除操作查询操作检查操作44第44页,共63页。RBAC中间件的设计(5)应用层接口举例AddInheritance(role1,role2,bNeedCheck)添加角色继承关系,根据bNeedCheck决定是否要进行环搜索DeleteRole(role)删除角色,需要考虑因为删除该角色而损坏的间接用户指派,权限指派以及角色继承关系CheckUserPermission(user,perm)检查用户权限对应,为访问控制查询接口需要的唯一函数提供多种实现方式供实际选择45第45页,共63页。RBAC中间件的扩展(1)支持对RBAC模型的各种扩展,包括多维RBAC模型RBAC模型内缓存扩展方式具体定义三个基本抽象类并加以限制增加新的底层与应用层接口实现新应用46第46页,共63页。RBAC中间件的扩展(2)支持多维RBAC模型定义虚拟角色类VirtualRole,并定义角色类是虚拟角色类对象的组合增加对虚拟角色类的增删改原子操作在虚拟角色类和角色类中增加角色命名的相关属性,同时修改与角色命名有关的上层接口47第47页,共63页。RBAC中间件的扩展(3)支持RBAC模型内缓存针对不同的模型内缓存类型增加相关原子操作在应用层的检查操作中加入缓存操作语句以及读取缓存语句修改涉及缓存更新的应用层接口增加控制缓存策略的应用层接口48第48页,共63页。RBAC中间件的实现基于数据库的实现利用SQL语句实现所有底层接口实现一次即可支持多种上层访问控制应用基于LDAP的实现首先定义LDAP的存储结构通过增删改目录服务中的节点或属性实现所有底层接口中间件所有功能已实现,在WebDaemon后续版本中将基于此进行二次开发49第49页,共63页。内容提要RBAC模型概述多维RBAC模型及其应用RBAC实现的缓存机制RBAC模型处理中间件结论50第50页,共63页。结论多维RBAC模型RBAC模型理论上的成功扩展RBAC模型内缓存从应用层面提升了访问控制的效率RBAC模型中间件成功封装了RBAC的主要功能,有良好扩展性本文工作在Web访问控制系统WebDaemon中都进行过成功测试51第51页,共63页。谢谢大家!52第52页,共63页。备份内容53第53页,共63页。访问控制的传统模型自主访问控制(DAC)Lampson1971对象的创建者为其所有者,完全控制该对象对象所有者有权将该对象的访问权限授予他人缺点:太弱,不易控制权限传递强制访问控制(MAC)Bell&Lapadula1975基于安全标记,指定安全策略实施访问控制上读/下写保证数据完整性,下读/上写保证数据保密性缺点:太强,实现工作量大,无法分布式管理共同缺点直接绑定主体与客体,授权工作困难54第54页,共63页。自主访问控制(DAC)基本思想对象的创建者为其所有者,可以完全控制该对象对象所有者有权将对于该对象的访问权限授予他人不同的DAC模型Grantee得到的权限能否转交他人?StrictDAC:grantee不能授权他人LiberalDAC:grantee可以授权他人对象的所有权可否变更?何人可进行权力的吊销(revocation)?存在的问题不易控制权限的传递容易引起权限的级联吊销55第55页,共63页。强制访问控制(MAC)基于安全标记(securitylabels)主体(subject):securityclearance客体(object):securityclassification在安全标记集合中定义偏序关系,成为一个格基本策略(s为主体,o为客体,λ为标记函数)Simplesecurityproperty:s可读o->λ(s)>=λ(o)Liberal*-property:s可写o->λ(s)<=λ(o)Strict*-property:s可写o->λ(s)==λ(o)存在的问题仅有唯一的管理员,无法实现管理的分层关系复杂,不易实现56第56页,共63页。RBAC模型中的基本概念(1)用户(U):访问系统中的资源的主体权限(P):对计算机中某些受保护的资源的访问许可角色(R):应用领域内一种权力和责任的语义综合体用户指派(UA):用户集到角色集的多对多关系权限指派(PA):权限集到角色集的多对多关系会话(S):用户每次通过建立会话来激活角色,得到相应的访问权限57第57页,共63页。RBAC模型中的基本概念(2)角色继承关系(RH):角色集上定义的偏序关系

如果用有向边表示偏序关系,角色集实际上构成了一个角色层次图限制(Constraints):模型中的职责分离关系,用于控制冲突主要的限制:角色基数限制,角色互斥根据限制发生的阶段:静态职责分离/动态职责分离58第58页,共63页。RBAC模型相关研究——理论研究通用性:RBAC模型能够模拟DAC和MAC模型组成成分细化角色概念,优化角色管理限制的划分与限制描述语言在RBAC模型中实现代数描述与推理模型扩展角色代理模型(RBDM)时序RBAC模型(TRBAC)分布式RBAC模型(DRBAC)59第59页,共63页。RBAC模型相关研究——应用研究RBAC模型实现多种方法:面向对象,Java,CORBA等Web上RBAC的实现Park&Sandhu2000两种机制:user-pull/server-pull三种实现手段:安全cookies,CA,LDAPRBAC应用领域企业内联网,工作流,卫生保健等RBAC产品数据库:Oracle,Sybase等操作系统:Windows,Solaris等Web:GetAccess,Tivoli,WebDaemon等60第60页,共63页。RBAC模型内缓存实验设计在WebDaemon系统中进行测试采用TCL公司一天的访问日志作为测试数据未限制缓存容量分别采用数据库和LDAP作为底层平台数据

温馨提示

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

评论

0/150

提交评论