1 / 63

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

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

raven
Télécharger la présentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 基于角色的访问控制的理论与应用研究 姓 名: 俞 诗 鹏 专 业: 应 用 数 学 方 向:网络信息安全 导 师: 林作铨 教授 2003.6.

  2. 本文主要工作 • 多维RBAC模型及其应用 • 在理论上扩展RBAC基本模型 • RBAC实现的缓存机制 • 在应用层提高访问控制效率 • RBAC模型处理中间件 • 结合理论层和应用层结果 • 模块化处理 硕士论文答辩

  3. 内容提要 • RBAC模型概述 • 多维RBAC模型及其应用 • RBAC实现的缓存机制 • RBAC模型处理中间件 • 结论 硕士论文答辩

  4. 内容提要 • RBAC模型概述 • 访问控制与传统模型 • RBAC主流模型RBAC96和ARBAC97 • 多维RBAC模型及其应用 • RBAC实现的缓存机制 • RBAC模型处理中间件 • 结论 硕士论文答辩

  5. 访问控制 • 背景 • 计算机安全中的重要组成部分 • 存在于操作系统,数据库,Web等各个层面 • 目标 • 允许被授权的主体对某些客体的访问 • 拒绝向非授权的主体提供服务 • 主要模型 • 传统模型:自主访问控制(DAC),强制访问控制(MAC) • 新模型:基于角色的访问控制(RBAC) 硕士论文答辩

  6. 基于角色的访问控制 • 背景 • 主体和客体的数量级增大,传统模型很难适用 • Web上的访问控制成为主流研究课题 • 基本思想 • 提出“角色”作为授权中介 • 定义不同层次的访问控制模型用于不同应用背景 • 利用RBAC模型本身实施模型管理 • 主流模型 • RBAC96:RBAC基本模型 Sandhu et al. 1996 • ARBAC97:RBAC管理模型 Sandhu et al. 1997 硕士论文答辩

  7. RBAC主流模型——RBAC96 (1) • 分层的RBAC基本模型 • RBAC0: 含有RBAC核心部分 • RBAC1: 包含RBAC0,另含角色继承关系(RH) • RBAC2: 包含RBAC0,另含限制(Constraints) • RBAC3: 包含所有层次内容,是一个完整模型 硕士论文答辩

  8. RBAC主流模型——RBAC96 (2) • RBAC96模型基本框架 硕士论文答辩

  9. RBAC主流模型——ARBAC97 (1) • 基本思想 • 在RBAC模型内部实现对各部分元素的管理 • 引入“管理员角色”实施管理 • 引入“角色区间”刻划管理职责 • ARBAC97模型的基本组成部分 • URA97: 用户角色指派管理 • PRA97: 权限角色指派管理 • RRA97: 角色继承关系管理 硕士论文答辩

  10. RBAC主流模型——ARBAC97 (2) • ARBAC97模型基本框架 硕士论文答辩

  11. 内容提要 • RBAC模型概述 • 多维RBAC模型及其应用 • 多维RBAC模型MDRBAC • 多维RBAC管理模型MDARBAC • 多维RBAC模型的实现与应用 • RBAC实现的缓存机制 • RBAC模型处理中间件 • 结论 硕士论文答辩

  12. 多维RBAC模型的提出 • 出发点 • 现有模型中角色的语义不清楚 • 角色继承关系和限制过于复杂 • 解决方案 • 在角色集中引入“角色维数” 概念,细化角色定义 • 利用角色命名机制简化角色继承关系的查找 硕士论文答辩

  13. 多维RBAC模型MDRBAC (1) • 类似RBAC96模型的层次关系 • 在每一层次上扩展RBAC96模型 硕士论文答辩

  14. 多维RBAC模型MDRBAC (2) • MDRBAC0 • 若干实体集U(用户集),P(权限集),S(会话集) • d 个互不相交的实体集 ,称为虚拟角色维,其中的元素称虚拟角色,d 称为角色维数 • 角色集 R 为各个虚拟角色维的直积,即 • ,为多对多的用户角色指派关系 • ,为多对多的权限角色指派关系 • ,映射每个会话到一个用户 • ,映射每个会话到一组角色,有 硕士论文答辩

  15. IRH是一个偏序 多维RBAC模型MDRBAC (3) • MDRBAC1 • U, P, S, VRi , R, UA, PA, user同MDRBAC0 • 是集合VRi上的一个偏序关系,记为 • 隐式角色层次 是R上的一个关系,记为 ,有 • 显式角色层次 是R上的偏序关系,记为 • 是R上的一个关系,记为 。 当且仅当 ,或 ,或存在 ,有 且 • 显式角色层次限制条件 • 作如下改动 如果ERH满足ERHC条件,则RH是一个偏序 硕士论文答辩

  16. 多维RBAC模型MDRBAC (4) • MDRBAC2 • MDRBAC0中的所有元素 • 一组限制条件,用于刻画MDRBAC0中各元素的组合合法性 • 限制在MDRBAC2中有更丰富的形式 • 限制可定义于虚拟角色集上 • 角色基数可以通过定义虚拟角色基数得到 • 角色互斥可以定义在虚拟角色集上 硕士论文答辩

  17. 多维RBAC模型MDRBAC (5) • MDRBAC3 硕士论文答辩

  18. 多维RBAC管理模型MDARBAC (1) • 基本思想 • DSO管理虚拟角色维 • SSO继承各DSO角色 • 在虚拟角色维上可实现ARBAC97模型 • 组成部分 • MDURA • MDPRA • MDRRA 硕士论文答辩

  19. 多维RBAC管理模型MDARBAC (2) • MDURA • 扩展URA97模型 • 由DSO指定用户在当前虚拟角色集中的分量 • 用户在一个虚拟角色集上的分量容易更改 • MDPRA • 扩展PRA97模型 • MDURA的对偶模型 • 很方便的创建相似的PA关系 硕士论文答辩

  20. 多维RBAC管理模型MDARBAC (3) • MDRRA • 扩展RRA97模型 • 粗粒度角色管理:管理虚拟角色集 • 添加删除虚拟角色 • 添加删除虚拟角色继承关系VRHi • 管理虚拟角色基数和虚拟角色互斥 • 细粒度角色管理:直接管理系统角色集 • 直接添加删除角色 • 添加删除显式角色继承关系ERH • 直接管理角色基数和角色互斥 硕士论文答辩

  21. 多维RBAC模型的实现 (1) • 目标 • 利用角色名称反映角色语义信息和继承关系 • 减少角色继承关系表RRA的容量 • 实现手段 • 定义虚拟角色名称和角色名称 • 准备工作 • RRA表格式 [角色名称1,角色名称2,角色关系] • 分隔符集 硕士论文答辩

  22. 多维RBAC模型的实现 (2) • 虚拟角色名称 • 在每个虚拟角色集中自顶向下定义 • 单继承:直观定义 • 多继承:需要利用RRA表 RRA: 硕士论文答辩

  23. 多维RBAC模型的实现 (3) • 角色名称 • 将虚拟角色分量的虚拟角色名称组合成角色名称 • 与其向量形式一一对应 硕士论文答辩

  24. 多维RBAC模型的实现 (4) • 应用于WebDaemon系统 硕士论文答辩

  25. 多维RBAC模型的实现 (5) • WebDaemon系统在TCL公司部署情况 • 角色语义清晰,虚拟角色集容易确定和建立 • 共有3个虚拟角色集,并且很方便修改 • 机构体系,部门管理,数据查询 • 8600多个角色260多个虚拟角色 • 90%以上的角色继承关系由角色名称确定 • 系统管理方便,目前仅由单管理员管理 硕士论文答辩

  26. 多维RBAC模型的优势 • 全面扩展了RBAC96和ARBAC97模型 • 它们是多维RBAC模型在维数为1的特殊情形 • 切分角色语义,符合直观,易于创建角色 • 可实现粗细结合、不同粒度的模型管理 • 基本呈树状结构的角色层次图适合采用多维RBAC模型 • 角色名称定义可极大改善系统性能 硕士论文答辩

  27. 内容提要 • RBAC模型概述 • 多维RBAC模型及其应用 • RBAC实现的缓存机制 • RBAC模型外缓存 • RBAC模型内缓存 • RBAC模型内缓存的实现 • RBAC模型处理中间件 • 结论 硕士论文答辩

  28. RBAC模型的缓存机制 • 背景 • 角色层次过深导致权限查询效率低下 • 历史查询数据有利于预测后续查询 硕士论文答辩

  29. RBAC模型外缓存 • 由外部访问控制程序维护缓存 • 仅能缓存用户权限对应 • 必须手动更新 硕士论文答辩

  30. RBAC模型内缓存 (1) • RBAC模型内缓存示意图 硕士论文答辩

  31. RBAC模型内缓存 (2) • 在RBAC模型内部实现缓存机制 • 独立于外部应用程序 • 可实现缓存自动更新和细粒度更新 • 可以缓存细粒度的内容 • 缓存用户权限对应 • 缓存用户指派 • 缓存权限指派 • 缓存角色继承关系 硕士论文答辩

  32. RBAC模型内缓存 (3) • 缓存用户权限对应 • 类似于RBAC模型外缓存 • 可实现细粒度缓存更新 • 缓存自动更新 • 删除用户 • 删除权限 • 删除用户指派 • 删除权限指派 • 删除角色 • 删除角色继承关系 硕士论文答辩

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

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

  35. RBAC模型内缓存 (6) • 缓存角色继承关系 • 在查询用户权限对应的同时缓存隐含的父角色与子角色的角色继承关系 • r1 r2,且r2 r3,则缓存r1 r3 • 以后查询时可直接应用缓存的角色继承关系 • 缓存细粒度更新与自动更新 • 删除角色 • 删除角色继承关系 硕士论文答辩

  36. RBAC模型缓存的比较 • 缓存用户权限关系基本等价于模型外缓存 • 缓存用户指派与权限指派代价基本一致 • 效率提升度最高 • 缓存角色继承关系包含于前二者中 • 代价适中 • 可综合运用所有缓存策略,最大限度提高性能 硕士论文答辩

  37. RBAC模型内缓存的实现 (1) • 基于数据库的实现 • 可将缓存数据记录在原有表单中 • 或者重新建立新的表单存储缓存数据 • 性能提升:25%~30% 硕士论文答辩

  38. RBAC模型内缓存的实现 (2) • 基于LDAP的实现 • 目录服务可大大提高查询操作效率 • 模型内缓存在LDAP中增加相应节点,并标识缓存 • 性能提升:20%左右 硕士论文答辩

  39. 内容提要 • RBAC模型概述与相关研究 • 多维RBAC模型及其应用 • RBAC实现的缓存机制 • RBAC模型处理中间件 • RBAC中间件的设计 • RBAC中间件的扩展 • RBAC中间件的实现 • 结论 硕士论文答辩

  40. RBAC模型处理中间件 • 背景 • RBAC模型策略中立,可以独立 • 访问控制模块过于复杂,需要独立 • 目标 • 封装模型所有元素 • 对上层应用程序和下层存储介质提供统一接口 • 提供良好的扩展性 • 方便访问控制模块的二次开发 硕士论文答辩

  41. RBAC中间件的设计 (1) • 访问控制查询接口 • 给定用户和权限可查询访问许可 • RBAC模型管理接口 • 模型的全面管理(参考ARBAC97模型) 硕士论文答辩

  42. RBAC中间件的设计 (2) • 类设计 • 三个基本抽象类User,Role,Permission • 中间件不关心这些类的具体属性 • 用对象连接表示其他基本元素 • 限制通过指定对象属性表示 • 角色基数限制定义在类Role中 • 角色互斥通过角色类对象连接表示 硕士论文答辩

  43. RBAC中间件的设计 (3) • 底层接口设计 • 为原子操作,由具体存储介质实现 • 定义基本语义,保证接口以上的模型是统一的 • 大部分返回布尔值,表示操作是否成功 • 五种类型的操作 (共45个接口) • 基本添加删除操作 • 批量删除操作 • 检验存在性操作 • 查询操作 • 事务有关操作 硕士论文答辩

  44. RBAC中间件的设计 (4) • 应用层接口设计 • 定义在底层接口之上,实现模型全面管理 • 包含用户视图信息,实现高层语义 • 保证操作前后模型和底层存储的一致性 • 四种类型的操作 (共29个接口) • 添加操作 • 删除操作 • 查询操作 • 检查操作 硕士论文答辩

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

  46. RBAC中间件的扩展 (1) • 支持对RBAC模型的各种扩展,包括 • 多维RBAC模型 • RBAC模型内缓存 • 扩展方式 • 具体定义三个基本抽象类并加以限制 • 增加新的底层与应用层接口实现新应用 硕士论文答辩

  47. RBAC中间件的扩展 (2) • 支持多维RBAC模型 • 定义虚拟角色类VirtualRole,并定义角色类是虚拟角色类对象的组合 • 增加对虚拟角色类的增删改原子操作 • 在虚拟角色类和角色类中增加角色命名的相关属性,同时修改与角色命名有关的上层接口 硕士论文答辩

  48. RBAC中间件的扩展 (3) • 支持RBAC模型内缓存 • 针对不同的模型内缓存类型增加相关原子操作 • 在应用层的检查操作中加入缓存操作语句以及读取缓存语句 • 修改涉及缓存更新的应用层接口 • 增加控制缓存策略的应用层接口 硕士论文答辩

  49. RBAC中间件的实现 • 基于数据库的实现 • 利用SQL语句实现所有底层接口 • 实现一次即可支持多种上层访问控制应用 • 基于LDAP的实现 • 首先定义LDAP的存储结构 • 通过增删改目录服务中的节点或属性实现所有底层接口 • 中间件所有功能已实现,在WebDaemon后续版本中将基于此进行二次开发 硕士论文答辩

  50. 内容提要 • RBAC模型概述 • 多维RBAC模型及其应用 • RBAC实现的缓存机制 • RBAC模型处理中间件 • 结论 硕士论文答辩

More Related