.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.

发表评论

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