一种RB_RBAC模型规则冲突消解算法
一种RB-RBAC模型规则冲突消解算法

Ke r s:RB BAC;uh r ain C n itcn itrslt n y wo d —R a to zt O n c;o fc eoui in o rlt n mo g c n ita t o zt n rlsti p p rit d c sa c n it rslt n ag rtm uh r ai . c r ig t eai sa n o c uh r ai ue ,hs a e nr u e o c oui lo h i o o l f i o o l f e o i
YU ib CHE i y n, V e Ha - o. Ha— a L W i
( o ee o o p trSin e a d T c n lg ,in U iesy C a gh n 10 1 , hn ) C U g fC m ue c c n eh o y J i nvri , h n c u 30 2 C ia e o l t
用 户 一 色 指 派通 常 由管 理 员 手 工 完 成 ,在 用 户 数 量 相 当大 的 角 系统 中 , 为用 户 指派 角 色 的 工作 将 成 为极 沉 重 的 负 担 , 而且 正 确
A :a l AEAEAAE ( E:=p7 I I AEAAE)
印 := a o : rttp
R — B C模 型允 许 进 行 否 定授 权 , 能 在 进 行授 权 的过 程 中 出现 冲 突。在 研 究 R — B C模 型 冲 突规 则 间 关 系的 基 础 BR A 可 BR A
上, 出了一种基 于否 定优 先的冲突消解 算法, 提 能够在保持原有语义的条件下 , 自动改 写 R — B C模型 中冲突的授权 BR A
RBAC策略冲突及其检测算法的研究

u esr ={ s r() U∈U E Slr三r ( , ∈u S R , ,“r ) a}
中圈分类号:T 33 8 P9・ 0
R AC 策略 冲 突及 其检 测 算 法 的研 究 B
程相然 ,陈性元 ,张 斌 ,杨 艳
( 解放军信息工程大学 电子技术学院 ,郑州 4 0 0 ) 5 0 4
摘
要 :针对 R A B C模型在实施职责分离 、最小特权 等安全原 则时引起的冲突问题 ,形式化定义 5种 R A B C策略冲突类型 ,分析策略冲
反 性 可 计 算 出完 整 的 继 承 关 系 集 合 R 。 H
(0 atoi d uesrR L S- 2s ,在 角色继承下 , 1) uh r e_ sr(: O E )' vR z - E > - 角色 r 到用户集合的映射 ,形式化表示为 :
au h i e t orz d
—
2 B C模型及其策略冲突 R A
21 R A . B C模型 参考标准 R A B C模 型 】 。 ,基本元素 定义 如下 :
() S R ,O E ,P , B ,E SO S分别表示用户、 1 U E SR L SO SO SS S I N 角 色、操作、客体 、会话 的集合 。 () R 2 P MS=2 P (s o
p p r f r ai e v a e o m lz s f e RBAC o iy c n i tt pe ,d s us e a i g r a o s n r p s s a c n i td t ci g a g r t m s wel a i l to i p lc o f c y s i c s s c usn e s n ,a d p o o e o f c e e tn l o ih a l s smu ai n l l r s ls wh c a fe tv l ee tc n it e ne n t i a e . e wo k i h spa e r v de h a i o mp e n a i n f rRBAC o f it e u t, i h c n ef ci ey d t c o f c sd f d i h s p p r Th r t i p rp o i st e b s sf ri l me t t l i n o o c n c l
RBAC模型

RBAC模型前⾔权限管理⼏乎是所有后台管理系统必要的组成部分,主要针对不同权限的⼈对资源的访问控制,可以避免因权限缺失⽽导致不必要的风险问题,如资源数据泄露、或误⼊系统操作不当导致的风险。
⽬前我所了解的权限框架有:Apache ShrioSpring Security权限模型⽬前普及度最⾼的就是 RBAC 模型(Role-Based Access Control)RBAC模型主要分为RBAC0、RBAC1、RBAC2、RBAC3,RBAC0是所有模型的基础,其他三种是基于RBAC0模型的扩展与变形。
RBAC0模型RBAC0是基础,定义了能构成RBAC模型的最⼩集合。
⽤户发起操作的主体。
不限于单个⽤户,也可以是⽤户组。
只要是对资源有访问需求的都可以称之为⽤户。
⾓⾊起到了桥梁的作⽤,连接了⽤户和权限的关系,每个⾓⾊可以关联多个权限。
如果⼀个⽤户关联多个⾓⾊,那么⽤户就拥有了多个⾓⾊的权限许可。
简⽽⾔之就是权限的集合。
权限许可⽤户对资源的访问权限许可。
包括:页⾯权限,操作权限,数据权限等。
会话⽤户通过会话对⾓⾊进⾏操作,即⽤户对⾓⾊的分配控制操作。
RBAC1模型RBAC1模型引⼊了⾓⾊继承的概念,即⾓⾊拥有上下级关系或等级关系。
⽗类⾓⾊拥有⼦类⾓⾊的所有的权限。
⾓⾊间的继承关系可分为⼀般继承关系和受限继承关系。
⼀般继承关系仅要求⾓⾊继承关系是⼀个绝对偏序关系,允许⾓⾊间的多继承。
⽽受限继承关系则进⼀步要求⾓⾊继承关系是⼀个树结构,实现⾓⾊间的单继承。
这种设计可以给⾓⾊分组和分层,⼀定程度简化了权限管理⼯作。
⽐如:部门主管只能更改该部门的员⼯信息,经理能更改所有部门主管的信息和所有部门的员⼯信息。
RBAC2模型RBAC2 在 RBAC0 的基础上引⼊了静态职责分离(Static Separation of Duty,简称SSD)和动态职责分离(Dynamic Separation of Duty,简称DSD)两个约束概念。
rbac规则

rbac规则RBAC规则是一种广泛应用于访问控制的安全模型,其全称为Role-Based Access Control,即基于角色的访问控制。
在计算机系统中,访问控制是确保系统资源只被授权用户访问的重要组成部分。
RBAC 规则通过将用户分配到特定的角色,以及为每个角色分配特定的权限,实现了对系统资源的有效管理和保护。
RBAC规则的核心思想是将用户与角色进行关联,而不是直接将权限分配给用户。
这种设计使得系统的管理更加灵活和高效。
通过角色的概念,可以将一组具有相似权限需求的用户划分为同一个角色,并为该角色分配相应的权限。
这样,在系统管理中,只需要关注角色与权限之间的关系,而不需要对每个用户进行单独的权限管理。
RBAC规则的实施包括三个基本元素:角色、权限和用户。
角色是一组具有相似权限需求的用户集合,权限是执行特定操作或访问特定资源的能力,而用户则是系统中的具体实体。
在RBAC模型中,角色与权限之间是多对多的关系,一个角色可以拥有多个权限,一个权限也可以被多个角色所拥有。
用户与角色之间也是多对多的关系,一个用户可以被分配到多个角色,一个角色也可以被分配给多个用户。
RBAC规则的实施过程包括以下几个步骤:1. 确定角色:首先需要明确系统中所需的角色,并根据用户的权限需求进行合理的划分。
角色的划分应该考虑到用户的职责和工作要求,以及系统中的资源和操作。
2. 确定权限:确定系统中所需的权限,并为每个权限指定相应的操作或资源。
权限的划分应该根据系统的安全策略和保护需求,确保系统的资源得到有效的保护。
3. 分配角色和权限:将用户分配到相应的角色,并为每个角色分配适当的权限。
在分配角色和权限时,需要考虑到用户的职责和工作要求,确保每个用户只能访问其所需的资源。
4. 审计和监控:RBAC规则的实施并不是一次性的过程,而是一个动态的过程。
在系统运行中,需要定期进行审计和监控,确保角色和权限的分配是合理和有效的,并及时做出调整和优化。
冲突检测和消解算法的研究与实现

冲突检测和消解算法的研究与实现一、引言冲突检测和消解是计算机科学中一个重要的研究领域,它涉及到解决资源竞争和数据一致性问题。
本文将围绕冲突检测和消解算法的研究与实现展开讨论。
二、冲突检测算法冲突检测算法是指通过分析系统中的资源访问序列,确定是否存在资源竞争的问题。
常见的冲突检测算法有静态分析和动态分析两种方法。
1. 静态分析静态分析是指在程序运行之前对源代码进行分析,通过检查代码中的访问规则和约束来判断是否存在潜在的冲突。
静态分析的优点是可以提前发现问题,但缺点是可能存在误报和漏报的情况。
2. 动态分析动态分析是指在程序运行时对资源访问进行监控和分析,通过记录和分析访问序列来检测是否存在冲突。
动态分析的优点是可以准确地检测到实际发生的冲突,但缺点是需要额外的运行开销。
三、冲突消解算法冲突消解算法是指在发现冲突后,采取一定的策略来解决冲突问题,以保证系统的数据一致性和正确性。
1. 互斥访问互斥访问是指通过加锁机制来保证同时只有一个线程可以访问某个资源。
常见的互斥访问算法有互斥锁、读写锁和信号量等。
互斥访问算法的优点是简单易懂,但缺点是可能导致资源的不公平访问和死锁问题。
2. 事务处理事务处理是指将一系列对资源的操作组合成一个原子操作,要么全部成功执行,要么全部回滚。
事务处理的优点是能够保证数据的一致性和完整性,但缺点是可能导致并发性能下降。
3. 冲突检测与回滚冲突检测与回滚是指在发现冲突后,将已经执行的操作回滚到冲突点,然后重新执行。
这种方法能够最大程度地避免冲突,并保证数据的一致性,但缺点是需要额外的开销。
四、研究与实现冲突检测和消解算法的研究与实现需要考虑多个方面的因素,包括算法的效率、正确性、可扩展性和适用性等。
1. 算法效率冲突检测和消解算法的效率是衡量算法优劣的重要指标。
算法应该尽可能地减少冲突检测和消解的时间和资源消耗,以提高系统的吞吐量和并发性能。
2. 算法正确性冲突检测和消解算法的正确性是保证系统数据一致性和正确性的基础。
rbac模型的构成

rbac模型的构成一、RBAC模型的基本概念RBAC(Role-Based Access Control)模型是一种广泛应用于信息系统安全领域的访问控制模型。
它基于用户角色的概念,通过将用户分配到不同的角色,从而控制用户对系统资源的访问权限。
RBAC模型的核心思想是将权限授予角色,而不是直接授予用户,从而简化了权限管理的复杂性。
二、RBAC模型的主要组成部分1. 用户(User):RBAC模型中的用户是指系统的使用者,可以是个人用户或组织单位。
用户通过被分配到不同的角色来获取相应的访问权限。
2. 角色(Role):角色是一组具有相似功能和权限需求的用户集合。
在RBAC模型中,角色被赋予权限,而用户则被分配到不同的角色。
通过角色的划分,可以简化权限管理,提高系统的安全性和可维护性。
3. 权限(Permission):权限是指用户在系统中进行某些操作或访问某些资源的能力。
RBAC模型通过将权限赋予角色,从而实现对系统资源的访问控制。
4. 用户-角色关系(User-Role Relationship):用户-角色关系描述了用户与角色之间的关联关系。
一个用户可以被分配到多个角色,一个角色也可以被多个用户所使用。
5. 角色-权限关系(Role-Permission Relationship):角色-权限关系描述了角色与权限之间的关联关系。
一个角色可以被赋予多个权限,一个权限也可以被赋予多个角色。
三、RBAC模型的应用RBAC模型广泛应用于各种信息系统的访问控制场景,如企业内部的权限管理、操作系统的访问控制、网络服务的权限控制等。
RBAC模型可以帮助组织实现精细化的权限管理,降低系统被滥用的风险。
在企业内部,RBAC模型可以用于管理员工的权限。
通过将员工分配到不同的角色,可以根据员工的职责和需要,赋予相应的权限。
这样可以确保员工只能访问其需要的资源,提高系统的安全性和工作效率。
在操作系统中,RBAC模型可以用于实现对用户的访问控制。
一种模型重构冲突消解算法

关键词
模型重构 , 关键 对, 突, 冲 冲突消解 , 法 算
T 31 P 1 文献 标 识 码 A
中图 法 分 类 号
M o lRe a t rng Co lc s l to g r t m de f c o i nfi tRe o u in Alo ih
C N u - ig’ W AN Z i i CHE o QI i HE J nbn G h- a in N1 3 AN S
冲 突发 生 的条 件 将 冲 突分 为 3种 类型 : 同一 规 则 的 并 行 使 用 产 生 的 冲 突 、 对称 冲 突 、 对 称 冲 突 。该 方 法 建 立在 手 工 非 分 析 这 3类 重 构 冲 突消 解 的 基 础 上 , 重 构 规 则 预 设 为 一 个规 则矩 阵 , 图转 换 系统 中 出现 的 重 构 规 则 进 行 扫 描 。扫 将 对 描 结 果 对 照 规 则 矩 阵 , 断 冲 突 是 同一 规 则 还 是 不 同规 则 的并 行 使 用所 产 生 ; 别 对 这 两种 情 况 下 的冲 突所 操 作 的对 判 分 象进 行 分 析 , 据 已有 手 工 消 解 方 法 有 针 对 性 地 进 行 消解 操 作 。这 一 算 法 可 以初 步 实 现 并 行 执 行 的 3类 冲 突 的 自动 根
0 o f c s d tc i n C n l tr s l t n i u u l e f r d ma u l fe en n l z d k o o f c s Th e a e n c n l t e e t . o f c e o u i s s al p ro me n al a t r b i g a a y e n wn c n l t. r ec t - i o i o y y i g r s o o fit o l e r s l e ih i cu e c n l t o a al l p l a in ft e s m e r l , y o i fc n l s c u d b e o v d wh c n l d o f c f p r l p i to s o h a u e s mme rc c n l t e c i ea c t i o f c i a d a y me rcc n l t Th s p p rc n e t a e n a t ma i g c n l t e o u i n S s t e l e t ea t ma i mo e n sm ti o fi . i a e o c n r t d o u o t o fi s r s l t O a o r a i h u o tc c n c o z dl r f co ig Th sm e h d p o i e n i t g a e lo i m a e n ma u l n l ss o h e a e o is o o f cs Th e a t rn . i t o r v d sa e r t d a g rt n h b s d o n a a y i ft r e c tg r fc n l t. e a e i b sc a t ma i e o u i n a g rt m t i e a t rn c o dn o t e c u e o h o f c s( h p l a i n o i e a i u o t r s l t l o ih wih n r f c o ig a c r i g t h a s ft e c n l t t e a p i t fet r c o i c o h
灵活的混合RBAC模型及冲突解决

1 引 言
基 于 角色的访 问控 制 ( o ae cesC n o,B R l B sdA cs ot l AC)- e r R [] 1 2
角 色不 能 签发 p rh s re 。 uc aeod r
R AC( 在权限 角色指派 中定义负授权 , B 从而能解决文 献 f] 5的缺 陷 , 但缺乏 负授权对用 户角色指 派关 系的支持 。如 用 户 Ai l e不能 被 指派 角色 ma a e 这样 的 策略 在 R AC c n g r, B ( 厂中不能定义 。如果负 授权均能定义 在用户 角色指 派以及 ^) 权 限 角色 指 派关 系 中 , 么它 就能很 灵 活地 表示 负授权 , 那 能
Nu m a a He i , ys r r m t ll Ka a Ra ma Az r Hai h n 一, ha l ・ k
1 . 新握大学 数学 与系统科学学 院 , 乌鲁木齐 80 4 306
2新 疆 大 学 机 械 工 程 学 院 , 鲁 木 齐 8 04 . 乌 306
gn e ig a d Ap l a in . 0 0. 6 3 :0 — 0 . i e rn n p i to s 2 1 4 ( 6) 1 1 1 4 c
Ab t a t T i p p r p e e t e i l h b i s r c : h s a e r s n s a f x b e y rd RBAC l mo e t c mb n to o o i v a d e a i e u h r a i n b t d l wi h o i ai n f p s i e n n g t a t o i t s o h t v z o o u e —o e s i n n a d em iso -o e s i n n r lto s n a a y e t e o i y n o sse c d e o h c e i— n s rr l a sg me t n p r s i n r l a sg me t e ai n a d n lz s h p l i c n i n y u t t e o x s c t tn e f muu l e c u i e u h r ai n , h n r p s s t k n s f i c n i e c r s l t n p r a h s o i y n o lt — e c o t a l x l sv a t o i to s t e p o o e wo i d o n o ss n y e o u i a p o c e . l i c mp ee y z t o P c
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1引言近年来,随着网络应用的逐步深入,安全问题日益受到关注。
基于角色的访问控制(RBAC)的出现越来越显示出替代传统的DAC和MAC模型的优势[1,2]。
但是,传统的RBAC模型中,用户-角色指派通常由管理员手工完成,在用户数量相当大的系统中,为用户指派角色的工作将成为极沉重的负担,而且正确性难以保证。
文献[3-5]中定义的RB-RBAC(Rule-BasedRBAC)模型克服了RBAC模型的一些局限,提供了一种基于授权规则为用户动态指派角色授权机制。
基于用户属性的授权规则可以自动地根据规则指派和撤消用户的角色,极大地减轻了系统管理员的工作负担,并保证用户-角色指派结果的正确性。
RB-RBAC模型允许定义否定授权规则,这为系统提供了额外的安全保证,但是这种方式也可能在进行授权过程中导致冲突[5]。
由于RB-RBAC模型中属性表达式定义的复杂性,直观地发现授权规则间的关系是困难的,在出现冲突后,手工地消除这些冲突对管理员来说是一种负担,因此,自动的冲突规则改写算法对管理活动来说是十分必要的。
本文对RB-RBAC模型中的授权规则冲突进行了深入研究,在分析冲突规则间关系的基础上给出了一种基于否定优先(DenialsTakePrecedence,DTP)[6]的冲突消解算法,在保证原有的语义的情况下,通过改写冲突的规则来消除RB-RBAC模型中的授权冲突。
2RB-RBAC授权规则和冲突定义1授权规则Rule定义如下:Rule∷AE"RolesAE∷=ap|┐AE|AE∧AE|(AE∧AE)ap∷=attropavrop∷=<|=|>|≤|≠|≥Role∷=[┐]roleRoles∷=Role|Roles,Roleatt∷={specifiedbyorginization}av∷={specifiedbyorginization}role∷={specifiedbyorginization}其中,AE是Rule的属性表达式,Roles是Rule产生的角色集。
ap为构成属性表达式的属性对。
∧为逻辑与运算,┐为逻辑非运算,rop为关系运算符,att为属性,av为属性值,role为角色。
为表示方便,可以采用逻辑或运算符∨和逻辑异或运算符-:AE∨AE表示┐(┐AE∧┐AE),AE-AE表示(AE∨AE)∧┐(AE∧AE)。
属性表达式实际确定了一个满足具体条件的用户集合。
肯定授权规则rulek:AEk"Rolesk表明,如果用户满足授权规则定义的属性表达式AEk,那么该用户就自动被分配Rolesk中定义的角色集。
例如department=′sale′∧position=′manager′"role1一种RB-RBAC模型规则冲突消解算法于海波,车海燕,吕巍(吉林大学计算机科学与技术学院,长春130012)E-mail:yuhb@jlu.edu.cn摘要:RB-RBAC(Rule-BasedRBAC)模型克服了RBAC模型的一些局限,提供了基于用户属性自动指派角色的机制。
RB-RBAC模型允许进行否定授权,可能在进行授权的过程中出现冲突。
在研究RB-RBAC模型冲突规则间关系的基础上,提出了一种基于否定优先的冲突消解算法,能够在保持原有语义的条件下,自动改写RB-RBAC模型中冲突的授权规则来消解冲突。
关键词:RB-RBAC;授权冲突;冲突消解文章编号:1002-8331(2006)36-0059-04文献标识码:A中图分类号:TP309ConflictResolutionAlgorithmforAuthorizationRulesofRB-RBACModelYUHai-bo,CHEHai-yan,LVWei(CollegeofComputerScienceandTechnology,JilinUniversity,Changchun130012,China)Abstract:RB-RBAC(Rule-BasedRBAC)providesthemechanismtodynamicallyassignuserstorolesbasedonafi-nitesetofauthorizationrulesdefinedbytheenterprise’ssecuritypolicy.Theserulesmayhaveconflictduetonegativeauthorization.Accordingtorelationsamongconflictauthorizationrules,thispaperintroducesaconflictresolutionalgorithmbasedondenialstakeprecedence.Thisalgorithmcanrewriteconflictrulesforeliminatingpolicyconflictwithoutchang-ingoriginalmeaningofrules.Keywords:RB-RBAC;authorizationconflict;conflictresolution基金项目:“吉林大学985工程”项目资助。
作者简介:于海波,讲师,博士生,主要研究方向:信息安全、软件工程;车海燕,助教,博士生,主要研究方向:自动推理,信息安全;吕巍,高级工程师,硕士,主要研究方向:数据库安全。
59计算机工程与应用2006.362006.36计算机工程与应用表明销售部门职位是经理的人员可以分配角色role1。
否定授权规则,如AEk!┐ri,表示如果用户满足AEk,那么禁止该用户获得角色ri。
定义2U(AE)为满足属性表达式AE的用户的集合,对任意属性表达式AEi、AEj,若U(AEi)#U(AEj),称AEi支配AEj,记为AEi≥AEj,若U(AEi)∩U(AEj)≠&且U(AEi)∩U(AEj)≠U(AEi),U(AEi)∩U(AEj)≠U(AEj),称AEi与AEj相交,记为AEiAEj。
定义2中,比较属性表达式间的关系并不要求属性表达式具有同样语法结构,去掉的这种过于严格的限制有助于发现规则间的真实关系。
如AE1:age>18,AE2:age>25,则AE2≥AE1。
AE1:amount<300,AE2:amount>200,则AE1AE2。
但是,如果att不是数字值类型,或者att和av间的关系是的话,属性表达式间的优先级需要人为指定。
定义3对任意授权规则Rulei、Rulej、Rulei优先于Rulej当且仅当AEi≥AEj,记为Rulei>>Rulej,其中AEi、AEj分别是Rulei,Rulej对应的属性表达式,称Rulei和Rulej是相关规则,Rulei是高级规则,Rulej是低级规则。
规则间的优先级表明,如果用户满足规则Rulei那么也将满足规则Rulej,因此,满足Rulei的用户同时也被分配Rulej产生的所有角色。
规则间的优先级关系具有传递性,若Rulei>>Rulej,Rulej>>Rulek那么有Rulei>>Rulek,满足rulei的用户除了可以分配rulei的角色外,也将被同时分配rulej和rulek中的角色。
因为可能同时存在肯定和否定的授权规则,当用户同时满足两个以上的授权规则且这些规则分配相互矛盾的角色时,就会引起冲突。
定义4对授权规则Rulei、Rulej,若它们是相关规则且存在rk∈rulei,rl∈rulej使得rk=┐rl,则Rulei和Rulej间存在相关规则间冲突。
例如,图1中,rule2和rule4是相关规则。
如果用户u满足rule2,那么用户u禁止分配角色r1,但根据rule2>>rule4用户u又被要求分配rule4中的角色r1,出现了冲突。
定义5对授权规则Rulei、Rulej,若它们的属性表达式相交且存在rk∈rulei,rl∈rulej使得rk=┐rl,则Rulei和Rulej间存在不相关规则间冲突。
例如,图1中,冲突可能发生在不相关的规则间:如rule1和rule2。
如果用户u同时满足rule1和rule2,那么用户u被同时要求分配角色r1和禁止分配角色r1,出现冲突。
3冲突消解在构建实际RB-RBAC系统的过程中,往往采用逐条添加授权规则的方式建立系统的授权策略。
每当一个新授权规则被添加到系统中时,也许会潜在地影响多个系统内已有的规则。
管理员需要了解新的授权规则与其它授权规则间的关系,如果新加入的规则与系统内一个或多个规则发生冲突,那么管理员可以根据冲突发生的情况决定是删除、改写或采用其它的方式进行处理。
在实现RB-RBAC模型的系统中,直观地发现授权规则间的关系是困难的,在出现冲突后,手工地消除这些冲突对管理员来说是一种负担,因此,自动的冲突规则改写算法对管理活动来说是十分必要的。
本文采用否定优先策略,在保留原有语意的原则下,对发生冲突的授权规则进行改写。
如果改写前某个用户可以分配角色集合rs,那么改写后该用户仍能够被分配rs中所有并不相互矛盾的角色。
对添加新的授权规则后引起的冲突,根据新授权规则与已有规则间关系确定相应的改写模式。
对规则的改写实际就是根据冲突规则涉及的用户的具体情况,重新定义属性表达式对用户进行划分或者重新分配角色的过程。
3.1角色集合并如果两个授权规则冲突,按照否定优先的策略,满足这两个授权规则的用户应该同时分配这两个规则中除了相互矛盾的角色之外的所有角色。
合并两个授权规则的角色集合以生成不含相互矛盾角色的新角色集合的算法如下:算法1CompositionRoles(roles1,roles2)/*合并两个授权规则的角色集合*/。
输入:角色集合roles1、roles2。
输出:合并后不包含相互矛盾角色的新角色集合。
方法:rs)roles1forallrjinroles2doflag)trueforallriinroles1doifri=┐rjthen/*去掉互为否定的角色*/rs)rs-{ri}flag)falseexitelseifri=rjthen/*重复元素*/flag)falseexitifflagthenrs)rs∪{rj}returnrs设|roles|为角色集合中角色的个数,max(|roles1|,|roles2|)=n,则算法1的时间复杂性为O(n2)。
3.2属性表达式复合属性表达式复合就是利用逻辑运算符对属性表达式进行逻辑连接以生成新属性表达式来定义新的用户集合的过程。
例如,对新的用户集合U(AE1)∩U(AE2),可相交复合AE1、AE2生成形如AE1∧AE2的属性表达式来定义同时满足AE1和AE2的用户集合,对用户集合U(AE1)\U(AE2),可相斥复合AE1、AE2生成形如AE1∧┐AE2的属性表达式定义只满足AE1但不满足AE2的用户集合。