.NET环境下基于RBAC的访问控制

.NET环境下基于RBAC的访问控制

Access Control of Application Based on
RBAC model in .NET Environment

 


要:
本文自目前消息体系的变化趋势及其多资源的拜会问题出发,提出同样栽基于RBAC模型的访问控制方案。该方案以.NET环境为平台,以角色也中介,把用户以及资源、功能沟通起来。在也资源、功能分配角色的同时受用户分配角色,这样有自然角色的用户就得看到该角色所批准的资源,从而实现了冲角色的访问控制。该方案阐述了访问控制的操作,以及基于角色访问控制的优越性。

 

关键词:RBAC;.NET;访问控制;角色;功能

 

0、引言

管住信息体系是一个苛的彼此系统,随着计算机技术更加的使与提高,人们对她所提供的劳务提出了重胜似之要求,其中每个具体环节还或被安全威胁。构建健全的权管理体系,保证管理信息体系的安全性是那个要的。权限管理体系是管理信息体系中代码重用性最高的模块之一。任何多用户之网都不可避免的涉嫌到同的权柄需求,都需缓解实体鉴别、数据保密性、数据完整性、防抵赖和访问控制等安全服务。例如,一个特大型网站编辑部门下的内容发布体系,具有不同内容发布、不同内容审查、以及专题制作等等一律雨后春笋功能,访问控制服务要求系统根据操作者已经设定的操作权限,控制操作者可以看哪些资源,以及确定对资源如何开展操作。

 

1、RBAC模型

依据角色的访问控制(RBAC)模型被普遍认为是平等栽中之访问控制模型,它比传统的独立访问控制(DAC)和强制访问控制(MAC)具有双重强之灵活性和重复好的扩展性。

 

1.1 RBAC模型简述

早以2O世纪7O年份就有人以多用户系统受到针对用户访问权限管理之题目开展了研究,即什么控制用户指向资源的顾,他们拿及时称之为RBAC(Role
Based Access
Control,基于角色的访问控制)。1996年RaviS.Sandhu等丁提出了通用的RBAC模型。此模型产生3独实体:用户、角色与看权限(如图1所显示)。

 

766游戏网官网 1

希冀1 RBAC模型简图

彼核心思想是:受保障功能模块的拜访权限和角色相挂钩,而只是让用户分配不同角色;用户和所求顾的功能模块之问没有直接涉及,若用户只要访问有一样资源,那他必须怀有可看这资源的角色。在RBAC模型中,角色从至了桥的意图。

 

1.2、RBAC96模型定义

    (1)RBAC96模型

拖欠型是由于美国George
Mason大学RaviS.Sandhu相当提出的RBAC96模型,其核心构造使图2:

766游戏网官网 2

图2 RBAC96模型图

    RBAC96模型包括四个不等层次:RBAC0型规定了其余RBAC系统必须的太小求;RBAC1模子在RBAC0的功底及进入了角色层次(Role
Hierarchies)的概念,可以因集团内部权力和责任之构造来布局角色与角色里面的层次关系;RBAC2型在RBAC0的根基及加了格(Contraints)概念;而RBAC3模子是指向RBAC1和RBAC2的合并,他不困难连角色层次,还连约关系。

    (2)RBAC0模型

    RBAC0为底蕴模型,他饱含三只实体:用户、角色与认可。

概念1:RBAC0型中之基本概念

①用户( User):
一个足独立访问计算机体系中之数据或者因此数据表示的其他资源的关键性。可以是食指、计算机等,一般指人。

②角色( Role) :
指一个社要任务中的办事或位置。它象征了千篇一律种资格、权利及义务。

③许可( Permission) :
表示针对系受之客体进行一定模式访问的操作许可。

④用户分配:
指根据用户以集团被之任务及权利被与相应的角色,
用户与角色是大半针对几近干。我们用 M: role→2user 表示用户分配,
M[i] 表示授权给角色 i 的用户汇。

⑤许可是分配:
指角色以该职责范围及同等组操作许可相关联。角色和批准是差不多针对多关系。我们之所以
P: role→2permission意味着许可分配, P[i] 表示授权为角色 i
的许可集。

⑥会面说话( Session) :
代表用户和网开展互。用户与话是同样针对性几近干。

⑦欢蹦乱跳角色集( ARS) :
一个会话构成一个用户到几近个角色的照耀,
即会话激活了用户为赋予的角色集的之一子集, 这个子集就是生动活泼角色集( Active
Role Set, ARS) 。

(3)RBAC1模型

RBAC1
模型中引入角色层次来反映一个伙的职权和责任分布的偏序关系。一般用偏序≥来讲述角色层次。Role1
≥Role2 表示 Role1 继承了 Role2
的享有许可。偏序满足自反、传递和莫对如性质。

偶为了实际采用的要,
应该界定角色中持续的限。如果某角色不期别人沾自己之某些许可,
此时它就是足以分别有团结之私房角色( Private Roles)
。私有角色中的权利是无能够为持续的。利用个人角色机制得以实现某些权力的遮光。

(4)RBAC2模型

RBAC2 在 RBAC0
的基础及引入了约集合,
用来确定各种操作是否可让受。约束好作用在觊觎2被之有着涉嫌及。下面要探讨和角色有关的约。

①基数限制: 在同一时间,
一个用户可具有的角色数目受限; 同样, 一个角色对应之准数目也承诺受限。

②互相骂角色:
同一用户仅仅只是分配至均等交互骂角色集合中到多一个角色还是用户虽然分配至同样互骂角色集合中几近独角色,
但是当对话时用户至多能激活中的某部一个角色。前者是静态互斥,
约束发生在用户分配等; 后者是动态互斥, 发生在对话选择 ARS 时,
即运行时刻。

③先决条件角色:
可以分配角色给用户就当该用户就持有别样一样角色; 同样,
可以分配许可为该角色只有当该角色早已拥有别样一样种植操作许可。

④光阴频度限制:
规定一定角色还是许可的应用时以及频度。

(5)RBAC3模型

RBAC3凡是RBAC96中之最为高层模型,它包括了RBAC1和RBAC2具有的表征,当然为间接包含了RBAC0。

 

1.3、EHRBAC模型

RBAC96
中利用个人角色来落实角色中不期望持续全部权力的题目。这种方式是不少缺陷:
它将一个逻辑上统一的、属于同一角色的权限分离开来,
使得众多角色变成免完的角色, 只是为继承而存在,并没有实际的大体意义;
私有角色方法使得角色数量迅速提高,
它若角色层次关系转移得十分复杂。针对这不足,
很多学者进行了当时面的钻工作。EHRBAC(Extended Hierarchy Role Based
Acces
Control)就是同栽改进的角色层次化关系模型。该模型废弃私有角色思路,遵循按实际世界模型建模的考虑,
定义了角色的集体权力和民用权限,并引入一般持续与扩展继承机制,
形成了效力越来越全面及重复爱扩充的角色层次化关系模型,很好地解决了使个人角色所出现的题材。

每当末端的概念着,U表示用户聚集,P表示认可集合,R
代表角色集合,u表示有用户,p 表示有操作许可,r表示有角色。

定义 2:令
CP:R→2P,CP(r) 为角色 r所负有的公共权力集合。

定义 3:令 PP:R→
2P,PP(r) 为角色 r所持有的个人权限集合。

是因为拿权力划分为公家权力和私家权限,所以引入两栽持续机制:
一般持续和扩充继承。一般持续只能连续角色的官权力, 而休可知继承私有权力,
并且它延续下来的公家权力还是集体权力。

概念 4:一般持续定义了
R 和 R 之间的一个二元关系, 假定 NIAR×R
是一个相似持续关系集合,那么(r1,r2) ∈NI
代表角色r2 一般持续角色 r1 ,符号代表也
r1→r2。如果 r1→r2 ,
那么对于Ⅱp∈CP(r1 ), 有 p∈CP(r2 ) 。

暨一般持续不同的凡,
扩展继承不但能够延续公共权力,
还能继承私有权力。继承过来的权柄属性仍维持无转移。

概念 5:扩展继承定义了
R 和 R 之间的一个二元关系, 假定 EIAR × R 是一个恢弘继承关系集合,
那么(r1 ,r2 )∈EI 代表角色r2
扩展继承角色 r1 ,符号表示为
r1·→r2。如果 r1·→r2
,那么对Ⅱp∈CP(r1), 有 p∈CP(r2),
对于Ⅱp∈PP(r1),有 p∈PP(r2)
。另外,该型中尚定义了以下部分涉。

定义 6:关系→ + 定义为:
如果 ra→+rb,那么是 r1 ,r2
,…,rn∈R( 其中 n>0),使得 ra→r1
,r1→r2 ,…,rn→rb

定义 7:关系→* 定义为:
如果 ra→*rb ,那么有 ra→rb
或 ra→ +rb ,称为 rb 弱一般持续
ra

定义 8:关系·→ +定义为:
如果 ra·→ +rb , 那么有 r1
,r2 ,…,rn∈R( 其中n>0),使得
ra·→r1 ,r1·→r2
,…,rn·→rb

定义 9:关系·→*
定义为: 如果 ra·→*rb , 那么有
ra·→rb 或 ra·→ +rb , 称为
rb 弱扩展继承 ra

 

1.4、ARBAC97 模型

RBAC中格外重大之一律块就是自身的军事管制,ARBAC97
模型将管理以及运用分别(图3),管理角色(AdministrativeRole)和管制许可(AdministrativePermission)
是为此来保管其他角色与批准的。以下改称 RBAC96 模型也规则模型,
其角色跟认可为改称为规则角色和规则许可。

766游戏网官网 3

图3 ARBAC97模型图

定义 10:管理许可
AP授权对规则模型中各种部件的更改,但是规则许可
P不得以,即AP∩P=φ。管理许可只能给予管理角色 AR,规则许可只能给规则角色
R,故 AR∩R=φ。

ARBAC97
管理型包含以下三片:

(1) 用户 – 角色分配
URA97(User Role Assignment
97)。讨论对用户分配角色的问题,包括规则角色分配与管理角色分配。一个用户可同时所有规则角色跟治本角色。

(2) 许可 – 角色分配
PRA97(Permission Role Assignment 97) 。主要讨论批准的分配和取消,
包括规则许可分配和管理许可分配。从角色的角度看,
用户和批准具有同样之特性, 故PRA97与URA97 可依次对应。

(3) 角色 – 角色分配
RRA97(Role Role Assignment
97)。每个管理角色当映射到规则角色的某个子集,RRA97
主要讨论管理角色所管理的条条框框角色范围。

 

1.5、RBAC模型与俗访问模型比较

风土人情的访问控制技术主要有点儿种:自主访问控制(Discretionary
Access Control, DAC)和强制访问控制(Mandatory Access Control,
MAC)。DAC把走访决定权留给了起信息的信息主,
MAC则要求有所用户遵守由管理员建立的平整。

(1)自主访问控制(DAC)

DAC
是依据访问者身份或所属工作组来展开访问控制的一律种手段。访问自主是负具有某种访问权限的访问者可以通往另外访问者传递该种访问许可(
也许是未直接的) 。

(2)强制访问控制(
MAC)

MAC是基于为拜对象的信灵程度(如用竹签来代表)以及这些乖巧信息可以给予该访问主体的访权限来进展权力决定的。MAC
对于不同类型的信息用两样层次之安全策略,
并针对不同品种的数量来进行走访授权。它叫每个控制中心与为拜对象分配敏感标签,
分别名为安全访问(Securit Clearance)和平安分类(Security
Classification)。指定了与走访主体有关的信任度,
而安全分类则指定了拜访主体或者程序的信任度。

阳基于角色的访问控制方法(RBAC)的醒目的少数老大特色是:1.出于角色/权限内的成形较角色/用户关系中的变化相对要慢得多,减多少了授权管理的扑朔迷离,降低管理支出。2.心灵手巧地支撑信息体系的安全策略,并对准系的变通来特别死的紧缩性。

 

2、RBAC实现

2.1、系统结构

遵照RBAC模型,要对.NET应用程序进行访问控制,首先要拿各种实体信息(用户、角色、访问权限)和实体之间相互关系信息表示出来,进行建模,如图4。

766游戏网官网 4

贪图4 系统RBAC关系模型图

 

2.2、功能初始化

(1)功能(Powers)初始化为5只:

功能ID号

功能名称

最大权限

P1

新闻分类

11110

P2

新闻内容

11111

P3

广告分类

11110

P4

广告内容

11111

P5

友情链接

11111

证实:最特别权力(最丰富32个),给定
第一员代表读取,第二员代表添加,第三位表示修改,第四号代表去,第五号代表援引。全示例只使用四各类权限码,本数结构最丰富可采取32各项;本程序设计理论支持56各(需要变更数据库类型也binary(4)的字段”权限”)长度为7。此表数据由开发人员接文档输入。发布后不足变更

(2)角色(Roles)数据初始化为4独:

角色ID

角色名称

R1

新闻编辑

R2

总编辑

R3

广告管理员

R4

超级管理

(3)角色跟力量(RolePowers)关系

角色ID号

功能ID号

最大权限

R1

P1

10000

R1

P2

11110

R2

P1

11110

R2

P2

10001

R3

P3

10000

R3

P4

11110

R4

P5

11111

说明:权限不克压倒各职能的极端深权力

(4)角色继续(IRoles)关系:R2继承R1(即R2拥有R1的拥有功能使用权)

角色ID

父角色ID

R2

R1

R4

R1

R4

R2

R4

R3

(5)用户(Users)数据初始化为3人数

用户ID

用户名

U1

Xiaoming

U2

Datong

U3

Wuming

    (6)用户与角色(UserRoles)关系:

用户ID

角色ID

继承数

U1

R1

0

U2

R2

0

U2

R1

1

U3

R4

0

U3

R3

1

U3

R2

1

U3

R1

2

    (7)用户与作用(UserPowers)的涉嫌

用户ID

功能ID

权限码

U1

P1

10000

U1

P2

11110

U2

P1

11110

U2

P2

11111

U3

P1

11110

U3

P2

11111

U3

P3

10000

U3

P4

11110

U3

P5

11111

    用户以及力量的多寡由上述各表数据变动而调整此表数据。权限码是针对性用户U和均等效果P叠加之后效果P的权限码。

    (8)其他功能

    菜单(Menus)关联对应之功能,可根据实际情形兑现分类:.Net
Web与.Net WinForm。同一功能对承诺就简单种植系统的两样菜系。

    用户菜单(UserMenus)雷同用户以及效用(UserPowers),系统基于人口对应之权限发生转移如果反。

 

2.3、系统运作方式

    本网于.Net环境下构建,分B/S和C/S两单版,使用相同之事务逻辑,唯一不同的凡展示方式。具有同等之周转方式:

(1)用户登录时假如透过身份认证,
该过程由于认证中心做到。通过身份验证后的用户用见面获取该持有的有着菜单;会话开始。

(2)系统针对获得的食谱进行构建,B/S主要透过页面地址进行访问;而C/S通过存放窗体或者控件命名空间、类库名称,利用反射技术进行创办。

(3)访问对应的页面,在页面级进行力量权限的判断,比如添加、修改、删除、审核等细粒度的操作。

(4)用户工作完
LOGOUT系统,结束会话。

    本网可看作其它消息保管体系的权柄控制的骨干落实,其他系统可以依附该系统进行付出,从而无需考虑用户权限的分红、回收等连锁业务操作。

 

3、结束语

RBAC是平等件新的存取控制技术,
它经过引入角色是中介, 实现了用户和走访许可的逻辑分离,
极大地便民了权管理。RBAC
在研究领域、用户与软件厂商中都唤起了广阔的关切, 被当是同样种植于传统的
DAC和 MAC更宽泛适用的访问控制技术。

正文针对传统的RBAC
96模型在角色继续关系以及授权分配给了相关解决方案。但是,
在实际操作过程遭到,任务中是来一定联系的,如相斥关系、 依赖关系,
在本文中还没提出关于这个点的化解方案。在后底行事被,
我们可能会见于斯上面做出肯定的着力。

 

参考文献:

[1] 蒋赟赟,
吴承荣,张世永.数据库访问控制模型分析[J].计算机工程以及祭,2002,(13):183-185.

[2] 何海云, 张春, 赵战生.
因角色的访问控制模型解析[J]. 计算机工程,1999,(8):39-44.

[3] 施景超,
孙维祥,许满武.基于角色的存取控制及其实现[J].
计算机应用研究,2000,17(6):13-15.

[4] 钟华, 冯玉琳, 姜洪安.
扩充角色层次关系模型及其应用[J]. 软件学报,2000,11(6):779-784.

[5] 李孟珂,
余祥宣.基于角色的访问控制技术以及动[J].
计算机以研究,2000,17(10):44-47.

[6] 张大江,
钱华林.一个下数字证书实现之 RBAC 模型[J].
小型微型电脑体系,2001,22(8):936-939.

[7] 饧亚平, 李伟琴,
刘怀宇.基为角色的细粒度的访问控制系统的钻暨落实I – J ]
.北京航空航天大学学报,2001 , 2 7( 2 ): 178 — 181.

[8] 黄益民, 杨子江, 平玲娣,
等.安全保管体系受冲角色访问控制的履办法[ J ] .浙江大学学报(
工学版),2004 ,3 8 ( 4 ): 4 0 8 – 413.

[9] 何斌,顾健.
因角色访问控制的权位管理体系[J]. 计算机工程(增刊),2004,30:326-328.

[10] 周文峰,尤军考,何基香. 基于 RBAC
模型的权柄管理体系规划与落实[J]. 微计算机信 2006,22(15) :35-36.

[11] 夏志雄,张曙光. RBAC于冲
Web管理信息体系被的下[J]. 计算机以研究,2004,(7):198~199.

发表评论

电子邮件地址不会被公开。 必填项已用*标注