收藏 分享(赏)

基于角色的访问控制的理论与应用研究.ppt

上传人:Facebook 文档编号:2993740 上传时间:2018-10-01 格式:PPT 页数:63 大小:1.38MB
下载 相关 举报
基于角色的访问控制的理论与应用研究.ppt_第1页
第1页 / 共63页
基于角色的访问控制的理论与应用研究.ppt_第2页
第2页 / 共63页
基于角色的访问控制的理论与应用研究.ppt_第3页
第3页 / 共63页
基于角色的访问控制的理论与应用研究.ppt_第4页
第4页 / 共63页
基于角色的访问控制的理论与应用研究.ppt_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、基于角色的访问控制的 理论与应用研究,姓 名: 俞 诗 鹏专 业: 应 用 数 学方 向:网络信息安全导 师: 林作铨 教授2003.6.,2018/10/1,硕士论文答辩,2,本文主要工作,多维RBAC模型及其应用 在理论上扩展RBAC基本模型 RBAC实现的缓存机制 在应用层提高访问控制效率 RBAC模型处理中间件 结合理论层和应用层结果 模块化处理,2018/10/1,硕士论文答辩,3,内容提要,RBAC模型概述 多维RBAC模型及其应用 RBAC实现的缓存机制 RBAC模型处理中间件 结论,2018/10/1,硕士论文答辩,4,内容提要,RBAC模型概述 访问控制与传统模型 RBAC主

2、流模型RBAC96和ARBAC97 多维RBAC模型及其应用 RBAC实现的缓存机制 RBAC模型处理中间件 结论,2018/10/1,硕士论文答辩,5,访问控制,背景 计算机安全中的重要组成部分 存在于操作系统,数据库,Web等各个层面 目标 允许被授权的主体对某些客体的访问 拒绝向非授权的主体提供服务 主要模型 传统模型:自主访问控制(DAC),强制访问控制(MAC) 新模型:基于角色的访问控制(RBAC),2018/10/1,硕士论文答辩,6,基于角色的访问控制,背景 主体和客体的数量级增大,传统模型很难适用 Web上的访问控制成为主流研究课题 基本思想 提出“角色”作为授权中介 定义不

3、同层次的访问控制模型用于不同应用背景 利用RBAC模型本身实施模型管理 主流模型 RBAC96:RBAC基本模型 Sandhu et al. 1996 ARBAC97:RBAC管理模型 Sandhu et al. 1997,2018/10/1,硕士论文答辩,7,RBAC主流模型RBAC96 (1),分层的RBAC基本模型 RBAC0: 含有RBAC核心部分 RBAC1: 包含RBAC0,另含角色继承关系(RH) RBAC2: 包含RBAC0,另含限制(Constraints) RBAC3: 包含所有层次内容,是一个完整模型,2018/10/1,硕士论文答辩,8,RBAC主流模型RBAC96 (

4、2),RBAC96模型基本框架,2018/10/1,硕士论文答辩,9,RBAC主流模型ARBAC97 (1),基本思想 在RBAC模型内部实现对各部分元素的管理 引入“管理员角色”实施管理 引入“角色区间”刻划管理职责 ARBAC97模型的基本组成部分 URA97: 用户角色指派管理 PRA97: 权限角色指派管理 RRA97: 角色继承关系管理,2018/10/1,硕士论文答辩,10,RBAC主流模型ARBAC97 (2),ARBAC97模型基本框架,2018/10/1,硕士论文答辩,11,内容提要,RBAC模型概述 多维RBAC模型及其应用 多维RBAC模型MDRBAC 多维RBAC管理模

5、型MDARBAC 多维RBAC模型的实现与应用 RBAC实现的缓存机制 RBAC模型处理中间件 结论,2018/10/1,硕士论文答辩,12,多维RBAC模型的提出,出发点 现有模型中角色的语义不清楚 角色继承关系和限制过于复杂解决方案 在角色集中引入“角色维数” 概念,细化角色定义 利用角色命名机制简化角色继承关系的查找,2018/10/1,硕士论文答辩,13,多维RBAC模型MDRBAC (1),类似RBAC96模型的层次关系 在每一层次上扩展RBAC96模型,2018/10/1,硕士论文答辩,14,多维RBAC模型MDRBAC (2),MDRBAC0 若干实体集U(用户集),P(权限集)

6、,S(会话集) d 个互不相交的实体集 ,称为虚拟角色维,其中的元素称虚拟角色,d 称为角色维数 角色集 R 为各个虚拟角色维的直积,即 ,为多对多的用户角色指派关系,为多对多的权限角色指派关系,映射每个会话到一个用户,映射每个会话到一组角色,有,2018/10/1,硕士论文答辩,15,多维RBAC模型MDRBAC (3),MDRBAC1 U, P, S, VRi , R, UA, PA, user同MDRBAC0是集合VRi上的一个偏序关系,记为 隐式角色层次 是R上的一个关系,记为 ,有 显式角色层次 是R上的偏序关系,记为 是R上的一个关系,记为 。 当且仅当,或 ,或存在 ,有 且 显

7、式角色层次限制条件 作如下改动,如果ERH满足ERHC条件,则RH是一个偏序,2018/10/1,硕士论文答辩,16,多维RBAC模型MDRBAC (4),MDRBAC2 MDRBAC0中的所有元素 一组限制条件,用于刻画MDRBAC0中各元素的组合合法性 限制在MDRBAC2中有更丰富的形式 限制可定义于虚拟角色集上 角色基数可以通过定义虚拟角色基数得到 角色互斥可以定义在虚拟角色集上,2018/10/1,硕士论文答辩,17,多维RBAC模型MDRBAC (5),MDRBAC3,2018/10/1,硕士论文答辩,18,多维RBAC管理模型MDARBAC (1),基本思想 DSO管理虚拟角色维

8、 SSO继承各DSO角色 在虚拟角色维上可实现ARBAC97模型 组成部分 MDURA MDPRA MDRRA,2018/10/1,硕士论文答辩,19,多维RBAC管理模型MDARBAC (2),MDURA 扩展URA97模型 由DSO指定用户在当前虚拟角色集中的分量 用户在一个虚拟角色集上的分量容易更改 MDPRA 扩展PRA97模型 MDURA的对偶模型 很方便的创建相似的PA关系,2018/10/1,硕士论文答辩,20,多维RBAC管理模型MDARBAC (3),MDRRA 扩展RRA97模型 粗粒度角色管理:管理虚拟角色集 添加删除虚拟角色 添加删除虚拟角色继承关系VRHi 管理虚拟角

9、色基数和虚拟角色互斥 细粒度角色管理:直接管理系统角色集 直接添加删除角色 添加删除显式角色继承关系ERH 直接管理角色基数和角色互斥,2018/10/1,硕士论文答辩,21,多维RBAC模型的实现 (1),目标 利用角色名称反映角色语义信息和继承关系 减少角色继承关系表RRA的容量 实现手段 定义虚拟角色名称和角色名称 准备工作 RRA表格式 角色名称1,角色名称2,角色关系 分隔符集,2018/10/1,硕士论文答辩,22,多维RBAC模型的实现 (2),虚拟角色名称 在每个虚拟角色集中自顶向下定义 单继承:直观定义多继承:需要利用RRA表,RRA:,2018/10/1,硕士论文答辩,23

10、,多维RBAC模型的实现 (3),角色名称 将虚拟角色分量的虚拟角色名称组合成角色名称与其向量形式一一对应,2018/10/1,硕士论文答辩,24,多维RBAC模型的实现 (4),应用于WebDaemon系统,2018/10/1,硕士论文答辩,25,多维RBAC模型的实现 (5),WebDaemon系统在TCL公司部署情况 角色语义清晰,虚拟角色集容易确定和建立 共有3个虚拟角色集,并且很方便修改 机构体系,部门管理,数据查询 8600多个角色260多个虚拟角色 90以上的角色继承关系由角色名称确定 系统管理方便,目前仅由单管理员管理,2018/10/1,硕士论文答辩,26,多维RBAC模型的

11、优势,全面扩展了RBAC96和ARBAC97模型 它们是多维RBAC模型在维数为1的特殊情形 切分角色语义,符合直观,易于创建角色 可实现粗细结合、不同粒度的模型管理 基本呈树状结构的角色层次图适合采用多维RBAC模型 角色名称定义可极大改善系统性能,2018/10/1,硕士论文答辩,27,内容提要,RBAC模型概述 多维RBAC模型及其应用 RBAC实现的缓存机制 RBAC模型外缓存 RBAC模型内缓存 RBAC模型内缓存的实现 RBAC模型处理中间件 结论,2018/10/1,硕士论文答辩,28,RBAC模型的缓存机制,背景 角色层次过深导致权限查询效率低下 历史查询数据有利于预测后续查询

12、,2018/10/1,硕士论文答辩,29,RBAC模型外缓存,由外部访问控制程序维护缓存 仅能缓存用户权限对应 必须手动更新,2018/10/1,硕士论文答辩,30,RBAC模型内缓存 (1),RBAC模型内缓存示意图,2018/10/1,硕士论文答辩,31,RBAC模型内缓存 (2),在RBAC模型内部实现缓存机制 独立于外部应用程序 可实现缓存自动更新和细粒度更新 可以缓存细粒度的内容 缓存用户权限对应 缓存用户指派 缓存权限指派 缓存角色继承关系,2018/10/1,硕士论文答辩,32,RBAC模型内缓存 (3),缓存用户权限对应 类似于RBAC模型外缓存 可实现细粒度缓存更新 缓存自动

13、更新 删除用户 删除权限 删除用户指派 删除权限指派 删除角色 删除角色继承关系,2018/10/1,硕士论文答辩,33,RBAC模型内缓存 (4),缓存用户指派 在查询用户权限对应的同时缓存用户与对应角色的子角色的指派关系 (u, r1)UA,r1 r2,则缓存(u, r2) 以后查询时可直接应用缓存的用户指派 缓存细粒度更新与自动更新 删除用户 删除用户指派 删除角色 删除角色继承关系,2018/10/1,硕士论文答辩,34,RBAC模型内缓存 (5),缓存权限指派 在查询用户权限对应的同时缓存权限与对应角色的父角色的指派关系 (r2, p)PA,r1 r2,则缓存(r1, p) 以后查询

14、时可直接应用缓存的权限指派 缓存细粒度更新与自动更新 删除权限 删除权限指派 删除角色 删除角色继承关系,2018/10/1,硕士论文答辩,35,RBAC模型内缓存 (6),缓存角色继承关系 在查询用户权限对应的同时缓存隐含的父角色与子角色的角色继承关系 r1 r2,且r2 r3,则缓存r1 r3 以后查询时可直接应用缓存的角色继承关系 缓存细粒度更新与自动更新 删除角色 删除角色继承关系,2018/10/1,硕士论文答辩,36,RBAC模型缓存的比较,缓存用户权限关系基本等价于模型外缓存 缓存用户指派与权限指派代价基本一致 效率提升度最高 缓存角色继承关系包含于前二者中 代价适中 可综合运用

15、所有缓存策略,最大限度提高性能,2018/10/1,硕士论文答辩,37,RBAC模型内缓存的实现 (1),基于数据库的实现 可将缓存数据记录在原有表单中或者重新建立新的表单存储缓存数据性能提升:2530%,2018/10/1,硕士论文答辩,38,RBAC模型内缓存的实现 (2),基于LDAP的实现 目录服务可大大提高查询操作效率 模型内缓存在LDAP中增加相应节点,并标识缓存性能提升:20左右,2018/10/1,硕士论文答辩,39,内容提要,RBAC模型概述与相关研究 多维RBAC模型及其应用 RBAC实现的缓存机制 RBAC模型处理中间件 RBAC中间件的设计 RBAC中间件的扩展 RBA

16、C中间件的实现 结论,2018/10/1,硕士论文答辩,40,RBAC模型处理中间件,背景 RBAC模型策略中立,可以独立 访问控制模块过于复杂,需要独立 目标 封装模型所有元素 对上层应用程序和下层存储介质提供统一接口 提供良好的扩展性 方便访问控制模块的二次开发,2018/10/1,硕士论文答辩,41,RBAC中间件的设计 (1),访问控制查询接口 给定用户和权限可查询访问许可 RBAC模型管理接口 模型的全面管理(参考ARBAC97模型),2018/10/1,硕士论文答辩,42,RBAC中间件的设计 (2),类设计 三个基本抽象类User,Role,Permission 中间件不关心这些

17、类的具体属性 用对象连接表示其他基本元素 限制通过指定对象属性表示 角色基数限制定义在类Role中 角色互斥通过角色类对象连接表示,2018/10/1,硕士论文答辩,43,RBAC中间件的设计 (3),底层接口设计 为原子操作,由具体存储介质实现 定义基本语义,保证接口以上的模型是统一的 大部分返回布尔值,表示操作是否成功 五种类型的操作 (共45个接口) 基本添加删除操作 批量删除操作 检验存在性操作 查询操作 事务有关操作,2018/10/1,硕士论文答辩,44,RBAC中间件的设计 (4),应用层接口设计 定义在底层接口之上,实现模型全面管理 包含用户视图信息,实现高层语义 保证操作前后

18、模型和底层存储的一致性 四种类型的操作 (共29个接口) 添加操作 删除操作 查询操作 检查操作,2018/10/1,硕士论文答辩,45,RBAC中间件的设计 (5),应用层接口举例 AddInheritance(role1, role2, bNeedCheck) 添加角色继承关系,根据bNeedCheck决定是否要进行环搜索 DeleteRole(role) 删除角色,需要考虑因为删除该角色而损坏的间接用户指派,权限指派以及角色继承关系 CheckUserPermission(user, perm) 检查用户权限对应,为访问控制查询接口需要的唯一函数 提供多种实现方式供实际选择,2018/1

19、0/1,硕士论文答辩,46,RBAC中间件的扩展 (1),支持对RBAC模型的各种扩展,包括 多维RBAC模型 RBAC模型内缓存 扩展方式 具体定义三个基本抽象类并加以限制 增加新的底层与应用层接口实现新应用,2018/10/1,硕士论文答辩,47,RBAC中间件的扩展 (2),支持多维RBAC模型 定义虚拟角色类VirtualRole,并定义角色类是虚拟角色类对象的组合 增加对虚拟角色类的增删改原子操作 在虚拟角色类和角色类中增加角色命名的相关属性,同时修改与角色命名有关的上层接口,2018/10/1,硕士论文答辩,48,RBAC中间件的扩展 (3),支持RBAC模型内缓存 针对不同的模型

20、内缓存类型增加相关原子操作 在应用层的检查操作中加入缓存操作语句以及读取缓存语句 修改涉及缓存更新的应用层接口 增加控制缓存策略的应用层接口,2018/10/1,硕士论文答辩,49,RBAC中间件的实现,基于数据库的实现 利用SQL语句实现所有底层接口 实现一次即可支持多种上层访问控制应用 基于LDAP的实现 首先定义LDAP的存储结构 通过增删改目录服务中的节点或属性实现所有底层接口 中间件所有功能已实现,在WebDaemon后续版本中将基于此进行二次开发,2018/10/1,硕士论文答辩,50,内容提要,RBAC模型概述 多维RBAC模型及其应用 RBAC实现的缓存机制 RBAC模型处理中

21、间件 结论,2018/10/1,硕士论文答辩,51,结论,多维RBAC模型 RBAC模型理论上的成功扩展 RBAC模型内缓存 从应用层面提升了访问控制的效率 RBAC模型中间件 成功封装了RBAC的主要功能,有良好扩展性 本文工作在Web访问控制系统WebDaemon中都进行过成功测试,谢 谢 大 家!,备份内容,2018/10/1,硕士论文答辩,54,访问控制的传统模型,自主访问控制(DAC) Lampson 1971 对象的创建者为其所有者,完全控制该对象 对象所有者有权将该对象的访问权限授予他人 缺点:太弱,不易控制权限传递 强制访问控制(MAC) Bell & Lapadula 197

22、5 基于安全标记,指定安全策略实施访问控制 上读/下写保证数据完整性,下读/上写保证数据保密性 缺点:太强,实现工作量大,无法分布式管理 共同缺点 直接绑定主体与客体,授权工作困难,2018/10/1,硕士论文答辩,55,自主访问控制(DAC),基本思想 对象的创建者为其所有者,可以完全控制该对象 对象所有者有权将对于该对象的访问权限授予他人 不同的DAC模型 Grantee得到的权限能否转交他人? Strict DAC: grantee不能授权他人 Liberal DAC: grantee可以授权他人 对象的所有权可否变更? 何人可进行权力的吊销(revocation)? 存在的问题 不易控

23、制权限的传递 容易引起权限的级联吊销,2018/10/1,硕士论文答辩,56,强制访问控制(MAC),基于安全标记(security labels) 主体(subject):security clearance 客体(object):security classification 在安全标记集合中定义偏序关系,成为一个格 基本策略(s为主体,o为客体,为标记函数) Simple security property: s可读o -(s)=(o) Liberal *-property: s可写o -(s)(s)=(o) 存在的问题 仅有唯一的管理员,无法实现管理的分层 关系复杂,不易实现,2018

24、/10/1,硕士论文答辩,57,RBAC模型中的基本概念 (1),用户(U): 访问系统中的资源的主体 权限(P): 对计算机中某些受保护的资源的访问许可 角色(R): 应用领域内一种权力和责任的语义综合体 用户指派(UA): 用户集到角色集的多对多关系 权限指派(PA): 权限集到角色集的多对多关系 会话(S): 用户每次通过建立会话来激活角色,得到相应的访问权限,2018/10/1,硕士论文答辩,58,RBAC模型中的基本概念 (2),角色继承关系(RH): 角色集上定义的偏序关系如果用有向边表示偏序关系,角色集实际上构成了一个角色层次图 限制(Constraints): 模型中的职责分离

25、关系,用于控制冲突 主要的限制:角色基数限制,角色互斥 根据限制发生的阶段:静态职责分离/动态职责分离,2018/10/1,硕士论文答辩,59,RBAC模型相关研究理论研究,通用性: RBAC模型能够模拟DAC和MAC 模型组成成分 细化角色概念,优化角色管理 限制的划分与限制描述语言 在RBAC模型中实现代数描述与推理 模型扩展 角色代理模型(RBDM) 时序RBAC模型(TRBAC) 分布式RBAC模型(DRBAC),2018/10/1,硕士论文答辩,60,RBAC模型相关研究应用研究,RBAC模型实现 多种方法:面向对象,Java,CORBA等 Web上RBAC的实现 Park & Sa

26、ndhu 2000 两种机制:user-pull/server-pull 三种实现手段:安全cookies,CA,LDAP RBAC应用领域 企业内联网,工作流,卫生保健等 RBAC产品 数据库:Oracle,Sybase等 操作系统:Windows,Solaris等 Web:GetAccess,Tivoli,WebDaemon等,2018/10/1,硕士论文答辩,61,RBAC模型内缓存实验设计,在WebDaemon系统中进行测试 采用TCL公司一天的访问日志作为测试数据 未限制缓存容量 分别采用数据库和LDAP作为底层平台 数据库:将缓存数据记录在原有表单中 LDAP:采用前面介绍的目录结

27、构 对各种缓存策略单独测试 性能分析,2018/10/1,硕士论文答辩,62,RBAC中间件原子操作示例,添加用户 P_AddUser(user) 删除用户 P_DeleteUser(user) 添加资源 P_AddResource(res) 删除资源 P_DeleteResource(res) 添加角色 P_AddRole(role) 删除角色 P_DeleteRole(role) 添加角色继承关系 P_AddInheritance(role1, role2) 删除角色继承关系 P_DeleteInheritance(role1, role2) 添加用户角色对应关系 P_AddRelatio

28、nUserRole(user, role) 删除用户角色对应关系P_DeleteRelationUserRole(user, role) 添加角色资源对应关系P_AddRelationRoleResource(role, res) 删除角色资源对应关系P_DeleteRelationRoleResource(role, res) ,2018/10/1,硕士论文答辩,63,RBAC中间件应用层操作示例,添加用户AddUser(user) 添加权限 AddPermission(perm) 添加角色 AddRole(role) 添加角色继承关系1 AddInheritance(prole, crol

29、e, bNeedCheck) 添加角色继承关系2 AddInheritance(prole, crole) 添加用户角色对应关系 AddRelationUserRole(user, role) 添加角色权限对应关系 AddRelationRolePermission(role, perm) 删除用户 DeleteUser(user) 删除权限 DeletePermission(perm) 删除角色 DeleteRole(role) 删除角色继承关系 DeleteInheritance(role1, role2) 删除用户角色对应关系 DeleteRelationUserRole(user, role) 删除角色权限对应关系 DeleteRelationRolePermission(role, perm) ,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 中等教育 > 小学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报