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

63
基基基基基基基基基基 基基基基基基基 基 基 基 基 基 基 基 基 基 基 基 基 基 基基基基基基 基 基 基基基 基基 2003.6.

Upload: raven

Post on 05-Jan-2016

140 views

Category:

Documents


7 download

DESCRIPTION

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

TRANSCRIPT

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

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

姓 名: 俞 诗 鹏专 业: 应 用 数 学方 向:网络信息安全导 师: 林作铨 教授

2003.6.

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

23/4/20 硕士论文答辩 2

本文主要工作

多维 RBAC 模型及其应用 在理论上扩展 RBAC 基本模型

RBAC 实现的缓存机制 在应用层提高访问控制效率

RBAC 模型处理中间件 结合理论层和应用层结果 模块化处理

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

23/4/20 硕士论文答辩 3

内容提要

RBAC 模型概述 多维 RBAC 模型及其应用 RBAC 实现的缓存机制 RBAC 模型处理中间件 结论

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

23/4/20 硕士论文答辩 4

内容提要 RBAC 模型概述

访问控制与传统模型 RBAC 主流模型 RBAC96 和 ARBAC97

多维 RBAC 模型及其应用 RBAC 实现的缓存机制 RBAC 模型处理中间件 结论

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

23/4/20 硕士论文答辩 5

访问控制 背景

计算机安全中的重要组成部分 存在于操作系统,数据库, Web 等各个层面

目标 允许被授权的主体对某些客体的访问 拒绝向非授权的主体提供服务

主要模型 传统模型:自主访问控制 (DAC) ,强制访问控制 (MA

C) 新模型:基于角色的访问控制 (RBAC)

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

23/4/20 硕士论文答辩 6

基于角色的访问控制 背景

主体和客体的数量级增大,传统模型很难适用 Web 上的访问控制成为主流研究课题

基本思想 提出“角色”作为授权中介 定义不同层次的访问控制模型用于不同应用背景 利用 RBAC 模型本身实施模型管理

主流模型 RBAC96 : RBAC 基本模型 Sandhu et al. 1996 ARBAC97 : RBAC 管理模型 Sandhu et al. 1997

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

23/4/20 硕士论文答辩 7

RBAC 主流模型—— RBAC96 (1)

分层的 RBAC 基本模型 RBAC0: 含有 RBAC 核心部分 RBAC1: 包含 RBAC0 ,另含角色继承关系 (RH) RBAC2: 包含 RBAC0 ,另含限制 (Constraints) RBAC3: 包含所有层次内容,是一个完整模型

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

23/4/20 硕士论文答辩 8

RBAC 主流模型—— RBAC96 (2)

RBAC96 模型基本框架

权限角色指派

角色层次用户角色指派

限 制会话

用户 角色 权限

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

23/4/20 硕士论文答辩 9

RBAC 主流模型—— ARBAC97 (1)

基本思想 在 RBAC 模型内部实现对各部分元素的管理 引入“管理员角色”实施管理 引入“角色区间”刻划管理职责

ARBAC97 模型的基本组成部分 URA97: 用户角色指派管理 PRA97: 权限角色指派管理 RRA97: 角色继承关系管理

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

23/4/20 硕士论文答辩 10

RBAC 主流模型—— ARBAC97 (2)

ARBAC97 模型基本框架

用户角色指派

管理用户角色指派

角色层次

用户

会话角色

管理员角色

管理权限

限 制

管理员角色层次

管理权限角色指派

权限角色指派

权限

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

23/4/20 硕士论文答辩 11

内容提要 RBAC 模型概述 多维 RBAC 模型及其应用

多维 RBAC 模型 MDRBAC 多维 RBAC 管理模型 MDARBAC 多维 RBAC 模型的实现与应用

RBAC 实现的缓存机制 RBAC 模型处理中间件 结论

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

23/4/20 硕士论文答辩 12

多维 RBAC 模型的提出 出发点

现有模型中角色的语义不清楚 角色继承关系和限制过于复杂

解决方案 在角色集中引入“角色维数” 概念,细化角色定义 利用角色命名机制简化角色继承关系的查找

总公司经理

总公司开发 总公司销售分公司经理

分公司开发 分公司销售总公司职员

分公司职员

总公司

开发人员

销售人员

经理

普通职员分公司

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

23/4/20 硕士论文答辩 13

多维 RBAC 模型 MDRBAC (1)

类似 RBAC96 模型的层次关系 在每一层次上扩展 RBAC96 模型

MDRBAC3

MDRBAC1 MDRBAC2

MDRBAC0

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

23/4/20 硕士论文答辩 14

多维 RBAC 模型 MDRBAC (2)

MDRBAC0 若干实体集 U( 用户集 ) , P( 权限集 ) , S( 会话集 ) d 个互不相交的实体集 ,称为虚拟角色维,

其中的元素称虚拟角色, d 称为角色维数 角色集 R 为各个虚拟角色维的直积,即 ,为多对多的用户角色指派关系 ,为多对多的权限角色指派关系 ,映射每个会话到一个用户 ,映射每个会话到一组角色,有

1

d

ii

R VR

1 2, , , dVR VR VR

UA U R

PA P R :user S U

: 2Rroles S

{ | ( ), }roles s r user s r UA

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

23/4/20 硕士论文答辩 15

多维 RBAC 模型 MDRBAC (3)

MDRBAC1 U, P, S, VRi , R, UA, PA, user 同 MDRBAC0 是集合 VRi 上的一个偏序关系,记为 隐式角色层次 是 R 上的一个关系,记为 ,有 显式角色层次 是 R 上的偏序关系,记为 是 R 上的一个关系,记为 。 当且仅当

,或 ,或存在 ,有 且 显式角色层次限制条件 作如下改动

i i iVRH VR VR i

IRH R R IRH

1

d

i i iIRHi

u v u v

ERH R R ERH

RH R R u v

IRHu v ERHu v w R u w w v

: ,ERHC u v R u v v u u v

: 2Rroles S | ( ),roles s r r r user s r UA

IRH是一个偏序

如果ERH满足 ERHC条件,则RH是一个偏序

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

23/4/20 硕士论文答辩 16

多维 RBAC 模型 MDRBAC (4)

MDRBAC2

MDRBAC0 中的所有元素 一组限制条件,用于刻画MDRBAC0 中各元

素的组合合法性 限制在 MDRBAC2 中有更丰富的形式

限制可定义于虚拟角色集上 角色基数可以通过定义虚拟角色基数得到 角色互斥可以定义在虚拟角色集上

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

23/4/20 硕士论文答辩 17

多维 RBAC 模型 MDRBAC (5)

MDRBAC3

. . .

U用户

R角色

P权限

S会话

userrol es ERH

VR1 VR2 VRd. . .

VRH1 VRH2 VRHd

限 制

UA用户角色授权

PA权限角色授权

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

23/4/20 硕士论文答辩 18

多维 RBAC 管理模型 MDARBAC (1)

基本思想 DSO管理虚拟角色维 SSO继承各 DSO角色 在虚拟角色维上可实

现 ARBAC97 模型 组成部分

MDURA MDPRA MDRRA

SSO

DSO1 DSO2 DSOd. . .

ARBAC97 模 型 框 架ARBAC97 模 型 框 架 ARBAC97 模 型 框 架

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

23/4/20 硕士论文答辩 19

多维 RBAC 管理模型 MDARBAC (2)

MDURA 扩展 URA97 模型由 DSO指定用户在当前虚拟角色集中的分量 用户在一个虚拟角色集上的分量容易更改

MDPRA 扩展 PRA97 模型 MDURA 的对偶模型 很方便的创建相似的 PA 关系

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

23/4/20 硕士论文答辩 20

多维 RBAC 管理模型 MDARBAC (3)

MDRRA 扩展 RRA97 模型 粗粒度角色管理:管理虚拟角色集

添加删除虚拟角色添加删除虚拟角色继承关系 VRHi

管理虚拟角色基数和虚拟角色互斥 细粒度角色管理:直接管理系统角色集

直接添加删除角色添加删除显式角色继承关系 ERH 直接管理角色基数和角色互斥

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

23/4/20 硕士论文答辩 21

多维 RBAC 模型的实现 (1)

目标 利用角色名称反映角色语义信息和继承关系减少角色继承关系表 RRA 的容量

实现手段 定义虚拟角色名称和角色名称

准备工作 RRA表格式

[角色名称 1 ,角色名称 2 ,角色关系 ] 分隔符集 1 2

{/ ,/ , ,/ }d

Sep

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

23/4/20 硕士论文答辩 22

多维 RBAC 模型的实现 (2)

虚拟角色名称 在每个虚拟角色集中自顶向下定义 单继承:直观定义

多继承:需要利用 RRA表

总公司

分公司

虚拟角色 语义名称 虚拟角色名称

总公司 company company

分公司 filiale company/1filiale

开发人员

销售人员

经理

普通职员

虚拟角色 语义名称 虚拟角色名称经理 manager manager

开发人员 developer manager/2developer

销售人员 salesman manager/2salesman

普通职员 employee manager/2developer/2employee

manager/2salesman manager/2developer/2employee >RRA:

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

23/4/20 硕士论文答辩 23

多维 RBAC 模型的实现 (3)

角色名称 将虚拟角色分量的虚拟角色名称组合成角色名称

与其向量形式一一对应

dr r r r

1 2, , ,

d d dr r r r r

1 1 2 2 1 1/ / /

总公司经理

总公司开发 总公司销售分公司经理

分公司开发 分公司销售总公司职员

分公司职员

角色 角色名称

总公司经理 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/2employee

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

23/4/20 硕士论文答辩 24

多维 RBAC 模型的实现 (4) 应用于 WebDaemon 系统

SSO主 服务器

用户证书

LDAP数据中心

权限管理服务器

HTTP(S)

双层防火墙之间的DMZ非军事化区

认证授权服务器

服务器端证书

CA企业 机构

应用服务器

超级管理员

系统管理员

WebDaemon API

SSO辅 服务器

WWW服务器

职员

供应方

客户

合作伙伴

WWW服务器

需要授权的后端服务器

HTTP(S)

AAP

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

23/4/20 硕士论文答辩 25

多维 RBAC 模型的实现 (5)

WebDaemon 系统在 TCL 公司部署情况 角色语义清晰,虚拟角色集容易确定和建立共有 3 个虚拟角色集,并且很方便修改

机构体系,部门管理,数据查询 8600 多个角色 260 多个虚拟角色 90%以上的角色继承关系由角色名称确定 系统管理方便,目前仅由单管理员管理

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

23/4/20 硕士论文答辩 26

多维 RBAC 模型的优势 全面扩展了 RBAC96 和 ARBAC97 模型

它们是多维 RBAC 模型在维数为 1 的特殊情形 切分角色语义,符合直观,易于创建角色 可实现粗细结合、不同粒度的模型管理 基本呈树状结构的角色层次图适合采用多

维 RBAC 模型 角色名称定义可极大改善系统性能

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

23/4/20 硕士论文答辩 27

内容提要 RBAC 模型概述 多维 RBAC 模型及其应用 RBAC 实现的缓存机制

RBAC 模型外缓存 RBAC 模型内缓存 RBAC 模型内缓存的实现

RBAC 模型处理中间件 结论

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

23/4/20 硕士论文答辩 28

RBAC 模型的缓存机制 背景

角色层次过深导致权限查询效率低下 历史查询数据有利于预测后续查询

用户集

U1

角色集 权限集

R1

R2 R3

R4R5

R6

R7 R8 P1

P3

P2

U3

U2

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

23/4/20 硕士论文答辩 29

RBAC 模型外缓存

由外部访问控制程序维护缓存 仅能缓存用户权限对应 必须手动更新

用户集

U1

角色集 权限集

R1

R2 R3

R4R5

R6

R7 R8 P1

P3

P2

U3

U2外部访问控制程序

RBAC模型外缓存

输入

( ) U, P

Y/ N输出

手动更新

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

23/4/20 硕士论文答辩 30

RBAC 模型内缓存 (1)

RBAC 模型内缓存示意图

用户集

U1

角色集 权限集

R1

R2 R3

R4R5

R6

R7 R8 P1

P3

P2

U3

U2外部访问控制程序

RBAC模型内缓存

输入( ) U, P

输出Y/ N 自动更新

模型内缓存控制器

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

23/4/20 硕士论文答辩 31

RBAC 模型内缓存 (2)

在 RBAC 模型内部实现缓存机制 独立于外部应用程序 可实现缓存自动更新和细粒度更新 可以缓存细粒度的内容

缓存用户权限对应 缓存用户指派 缓存权限指派 缓存角色继承关系

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

23/4/20 硕士论文答辩 32

RBAC 模型内缓存 (3)

缓存用户权限对应 类似于 RBAC 模型外缓存 可实现细粒度缓存更新 缓存自动更新

删除用户 删除权限 删除用户指派 删除权限指派 删除角色 删除角色继承关系

用户集

U1

角色集 权限集

R1

R2 R3

R4R5

R6

R7 R8 P1

P3

P2

U3

U2

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

23/4/20 硕士论文答辩 33

RBAC 模型内缓存 (4)

缓存用户指派 在查询用户权限对应的同时缓存用户与对应角色的子

角色的指派关系 (u, r1) UA∈ , r1 r2 ,则缓存 (u, r2)

以后查询时可直接应用缓存的用户指派 缓存细粒度更新与自动更新

删除用户 删除用户指派 删除角色 删除角色继承关系

用户集

U1

角色集 权限集

R1

R2 R3

R4R5

R6

R7 R8 P1

P3

P2

U3

U2

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

23/4/20 硕士论文答辩 34

RBAC 模型内缓存 (5)

缓存权限指派 在查询用户权限对应的同时缓存权限与对应角色的父

角色的指派关系 (r2, p) PA∈ , r1 r2 ,则缓存 (r1, p)

以后查询时可直接应用缓存的权限指派 缓存细粒度更新与自动更新

删除权限 删除权限指派 删除角色 删除角色继承关系

用户集

U1

角色集 权限集

R1

R2 R3

R4R5

R6

R7 R8 P1

P3

P2

U3

U2

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

23/4/20 硕士论文答辩 35

RBAC 模型内缓存 (6)

缓存角色继承关系 在查询用户权限对应的同时缓存隐含的父角色

与子角色的角色继承关系 r1 r2 ,且 r2 r3 ,则缓存 r1 r3

以后查询时可直接应用缓存的角色继承关系 缓存细粒度更新与自动更新

删除角色删除角色继承关系

用户集

U1

角色集 权限集

R1

R2 R3

R4R5

R6

R7 R8 P1

P3

P2

U3

U2

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

23/4/20 硕士论文答辩 36

RBAC 模型缓存的比较

缓存用户权限关系基本等价于模型外缓存 缓存用户指派与权限指派代价基本一致

效率提升度最高 缓存角色继承关系包含于前二者中

代价适中 可综合运用所有缓存策略,最大限度提高性能

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

23/4/20 硕士论文答辩 37

RBAC 模型内缓存的实现 (1)

基于数据库的实现 可将缓存数据记录在原有表单中

或者重新建立新的表单存储缓存数据

性能提升: 25% ~30%

字段名称 字段描述 字段类型

f_userid 用户 ID varchar

f_roleid 角色 ID varchar

f_iscached 是否是缓存数据( Y/N) char

字段名称 字段描述 字段类型

f_userid 用户 ID varchar

f_roleid 角色 ID varchar

f_directroleid 实际与 f_userid 发生指派的角色 varchar

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

23/4/20 硕士论文答辩 38

RBAC 模型内缓存的实现 (2)

基于 LDAP 的实现 目录服务可大大提高查询操作效率 模型内缓存在 LDAP 中增加相应节点,并标识缓存

性能提升: 20%左右

Root

User Permi ssi on Rol e

Rol e Rol e Rol e

Root

User Permi ssi on Rol e

Rol e Rol e Rol eRol e

缓存纪录

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

23/4/20 硕士论文答辩 39

内容提要 RBAC 模型概述与相关研究 多维 RBAC 模型及其应用 RBAC 实现的缓存机制 RBAC 模型处理中间件

RBAC 中间件的设计 RBAC 中间件的扩展 RBAC 中间件的实现

结论

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

23/4/20 硕士论文答辩 40

RBAC 模型处理中间件

背景 RBAC 模型策略中立,可以独立 访问控制模块过于复杂,需要独立

目标封装模型所有元素 对上层应用程序和下层存储介质提供统一接口 提供良好的扩展性 方便访问控制模块的二次开发

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

23/4/20 硕士论文答辩 41

RBAC 中间件的设计 (1)

访问控制查询接口 给定用户和权限可查询访问许可

RBAC 模型管理接口 模型的全面管理 (参考 ARBAC97 模型 )

访问控制查询接口

RBAC模型管理接口

查询访问控制应用程序

模型管理控制应用程序

后端存储介质

RBAC 模型处理中间件

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

23/4/20 硕士论文答辩 42

RBAC 中间件的设计 (2)

类设计三个基本抽象类 User , Role , Permission 中间件不关心这些类的具体属性 用对象连接表示其他基本元素 限制通过指定对象属性表示

角色基数限制定义在类 Role 中 角色互斥通过角色类对象连接表示

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

23/4/20 硕士论文答辩 43

RBAC 中间件的设计 (3)

底层接口设计 为原子操作,由具体存储介质实现 定义基本语义,保证接口以上的模型是统一的 大部分返回布尔值,表示操作是否成功五种类型的操作 (共 45 个接口 )

基本添加删除操作批量删除操作检验存在性操作 查询操作事务有关操作

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

23/4/20 硕士论文答辩 44

RBAC 中间件的设计 (4)

应用层接口设计 定义在底层接口之上,实现模型全面管理 包含用户视图信息,实现高层语义保证操作前后模型和底层存储的一致性四种类型的操作 (共 29 个接口 )

添加操作删除操作 查询操作检查操作

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

23/4/20 硕士论文答辩 45

RBAC 中间件的设计 (5)

应用层接口举例 AddInheritance(role1, role2, bNeedCheck)

添加角色继承关系,根据 bNeedCheck决定是否要进行环搜索

DeleteRole(role)删除角色,需要考虑因为删除该角色而损坏的间接用户指派,权限指派以及角色继承关系

CheckUserPermission(user, perm)检查用户权限对应,为访问控制查询接口需要的唯一函数

提供多种实现方式供实际选择

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

23/4/20 硕士论文答辩 46

RBAC 中间件的扩展 (1)

支持对 RBAC 模型的各种扩展,包括多维 RBAC 模型RBAC 模型内缓存

扩展方式具体定义三个基本抽象类并加以限制增加新的底层与应用层接口实现新应用

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

23/4/20 硕士论文答辩 47

RBAC 中间件的扩展 (2)

支持多维 RBAC 模型定义虚拟角色类 VirtualRole ,并定义

角色类是虚拟角色类对象的组合增加对虚拟角色类的增删改原子操作在虚拟角色类和角色类中增加角色命名

的相关属性,同时修改与角色命名有关的上层接口

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

23/4/20 硕士论文答辩 48

RBAC 中间件的扩展 (3)

支持 RBAC 模型内缓存针对不同的模型内缓存类型增加相关原子操作

在应用层的检查操作中加入缓存操作语句以及读取缓存语句

修改涉及缓存更新的应用层接口增加控制缓存策略的应用层接口

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

23/4/20 硕士论文答辩 49

RBAC 中间件的实现 基于数据库的实现

利用 SQL语句实现所有底层接口 实现一次即可支持多种上层访问控制应用

基于 LDAP 的实现首先定义 LDAP 的存储结构通过增删改目录服务中的节点或属性实现所有底层接口

中间件所有功能已实现,在 WebDaemon后续版本中将基于此进行二次开发

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

23/4/20 硕士论文答辩 50

内容提要

RBAC 模型概述 多维 RBAC 模型及其应用 RBAC 实现的缓存机制 RBAC 模型处理中间件 结论

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

23/4/20 硕士论文答辩 51

结论

多维 RBAC 模型 RBAC 模型理论上的成功扩展

RBAC 模型内缓存从应用层面提升了访问控制的效率

RBAC 模型中间件 成功封装了 RBAC 的主要功能,有良好扩展性

本文工作在 Web 访问控制系统 WebDaemon 中都进行过成功测试

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

谢 谢 大 家!

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

备份内容

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

23/4/20 硕士论文答辩 54

访问控制的传统模型 自主访问控制( DAC) Lampson 1971

对象的创建者为其所有者,完全控制该对象 对象所有者有权将该对象的访问权限授予他人 缺点:太弱,不易控制权限传递

强制访问控制(MAC) Bell & Lapadula 1975 基于安全标记,指定安全策略实施访问控制 上读 /下写保证数据完整性,下读 / 上写保证数据保密性

缺点:太强,实现工作量大,无法分布式管理 共同缺点

直接绑定主体与客体,授权工作困难

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

23/4/20 硕士论文答辩 55

自主访问控制( DAC) 基本思想

对象的创建者为其所有者,可以完全控制该对象 对象所有者有权将对于该对象的访问权限授予他人

不同的 DAC 模型 Grantee得到的权限能否转交他人?

Strict DAC: grantee 不能授权他人 Liberal DAC: grantee 可以授权他人

对象的所有权可否变更? 何人可进行权力的吊销( revocation)?

存在的问题 不易控制权限的传递 容易引起权限的级联吊销

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

23/4/20 硕士论文答辩 56

强制访问控制(MAC) 基于安全标记 (security labels)

主体 (subject) : security clearance 客体 (object) : security classification

在安全标记集合中定义偏序关系,成为一个格 基本策略 (s 为主体, o 为客体, λ为标记函数 )

Simple security property: s可读 o ->λ(s)>=λ(o) Liberal *-property: s可写 o ->λ(s)<=λ(o) Strict *-property: s可写 o ->λ(s)==λ(o)

存在的问题 仅有唯一的管理员,无法实现管理的分层 关系复杂,不易实现

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

23/4/20 硕士论文答辩 57

RBAC 模型中的基本概念 (1)

用户 (U): 访问系统中的资源的主体 权限 (P): 对计算机中某些受保护的资源的访问

许可 角色 (R): 应用领域内一种权力和责任的语义综

合体 用户指派 (UA): 用户集到角色集的多对多关系 权限指派 (PA): 权限集到角色集的多对多关系 会话 (S): 用户每次通过建立会话来激活角色,得到相应的访问权限

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

23/4/20 硕士论文答辩 58

RBAC 模型中的基本概念 (2)

角色继承关系 (RH): 角色集上定义的偏序关系 如果用有向边表示偏序关系,角色集实际上构成了

一个角色层次图 限制 (Constraints): 模型中的职责分离关系,

用于控制冲突 主要的限制:角色基数限制,角色互斥 根据限制发生的阶段:静态职责分离 /动态职责分离

1 2 2 1 1 2( ) ( ) ( ) ( )r r Permission r Permission r User r User r

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

23/4/20 硕士论文答辩 59

RBAC 模型相关研究——理论研究 通用性 : RBAC 模型能够模拟 DAC 和 MAC 模型组成成分

细化角色概念,优化角色管理 限制的划分与限制描述语言 在 RBAC 模型中实现代数描述与推理

模型扩展 角色代理模型 (RBDM)时序 RBAC 模型 (TRBAC) 分布式 RBAC 模型 (DRBAC)

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

23/4/20 硕士论文答辩 60

RBAC 模型相关研究——应用研究 RBAC 模型实现

多种方法:面向对象, Java , CORBA 等 Web 上 RBAC 的实现 Park & Sandhu 2000

两种机制: user-pull/server-pull 三种实现手段:安全 cookies , CA , LDAP

RBAC 应用领域 企业内联网,工作流,卫生保健等

RBAC产品 数据库: Oracle , Sybase 等 操作系统: Windows , Solaris 等 Web : GetAccess , Tivoli , WebDaemon 等

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

23/4/20 硕士论文答辩 61

RBAC 模型内缓存实验设计 在 WebDaemon 系统中进行测试 采用 TCL 公司一天的访问日志作为测试数据 未限制缓存容量 分别采用数据库和 LDAP 作为底层平台

数据库:将缓存数据记录在原有表单中 LDAP :采用前面介绍的目录结构

对各种缓存策略单独测试 性能分析

01 cT

TE

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

23/4/20 硕士论文答辩 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_AddRelationUserRole(user, role) 删除用户角色对应关系 P_DeleteRelationUserRole(user, role) 添加角色资源对应关系 P_AddRelationRoleResource(role, res) 删除角色资源对应关系 P_DeleteRelationRoleResource(role, res) …

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

23/4/20 硕士论文答辩 63

RBAC 中间件应用层操作示例 添加用户 AddUser(user) 添加权限 AddPermission(perm) 添加角色 AddRole(role) 添加角色继承关系 1 AddInheritance(prole, crole, 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) …