基于属性约束的工作流访问控制模型

2014-08-03 15:23曾世强叶春晓余一丰
计算机工程与应用 2014年23期
关键词:访问控制表达式约束

曾世强,叶春晓,余一丰

重庆大学 计算机学院,重庆 400044

基于属性约束的工作流访问控制模型

曾世强,叶春晓,余一丰

重庆大学 计算机学院,重庆 400044

1 引言

工作流管理系统是现今很多领域用来有效地管理事务处理过程的一个关键技术基础设施,其主要功能是通过计算机技术的支持去定义、执行和管理工作流程,协调工作流执行过程中工作之间以及群体成员之间的信息交互[1-2]。一个工作流中各种各样的活动通常被划分为一些预先定义好的任务。这些任务之间彼此依赖,以一种相互协调的方式执行,但这些任务并不是任何一个人都能执行,只有那些被授权的用户才能执行。

1996年,Atluri和Huang提出了一种工作流授权模型(Workflow Authorization Model,WAM),提出了授权模板的概念[3-4]。该模型中,工作流和某些适当的授权模板相关联,每个任务只能在开始时从授权模板中被导出,从而保证授权流与工作流的同步。但是由于每个任务有可能与多个授权模板相关联,管理起来非常繁琐,并且WAM中的授权只是一个最基本的概念:在某个时间段内,一个主体拥有访问某个客体的某种权限,而且,在一个授权模板中,一类角色是和某一类可被某个任务处理的对象所固定的,这种方式缺乏灵活性。

针对以上问题,邢光林和洪帆在2005年提出了一种基于角色和任务的工作流模型[5],在该模型中,角色和权限不直接挂钩而是通过任务把角色和权限联系在一起,然后给用户指派合适的角色,用户通过其指派的角色获得可以执行的任务,然后在执行某个任务的某个具体实例时获得该任务所允许访问的客体的权限,方便权限的细粒度管理。但是该模型在把任务分配给角色之前,对任务执行者的约束不够,容易导致不具备相应资质和能力的用户获取任务,从而获得访问权限。换句话说,一旦用户成为某一角色的成员,即使该用户不具备某些任务要求的资质和能力,也能够通过该角色获得可以分配到的所有任务,这就容易产生访问控制的安全隐患。特别是对一些安全敏感的部门来说,这种安全隐患不容忽视。例如电子军务的发文工作流环境中,某些参谋人员可能不具备任务所要求的秘密级别、工作表现等资质和能力,仍然可以通过其参谋角色获取该任务,进而获得访问权限,这就造成了安全隐患。

为了加强工作流环境中任务对用户的约束[6],充分体现任务对其执行者的各种要求,本文提出在任务分配之前进行属性约束,即用户和任务都具备一定的属性和相应的属性表达式,用户的属性反映用户具备的资质和能力,例如用户的秘密等级、文件处理能力等,任务的属性表明任务对用户资质和能力的要求,通过属性表达式比较,满足策略规则才进行任务授权,从而避免安全隐患,达到更加细粒度的访问控制。

2 基于角色和任务的工作流访问控制模型

在基于角色和任务的工作流访问控制模型中[7-8],访问控制策略要求权限只有在任务开始执行时才授予,且任务一旦结束,授权就要被收回;合法的用户在执行某个任务实例时只能拥有该任务实例所允许访问的那些客体的权限;执行完某个任务的用户不能再执行其他某个任务,或是保证执行某个任务的用户必须是执行前面某个任务的同一个用户。

基于角色和任务的工作流模型[9-10],其主要组成部件如图1所示。

图1 基于角色和任务的工作流访问控制模型简图

其基本思想是:角色和权限不直接挂钩而是通过任务把角色和权限联系在一起,然后给用户指派合适的角色,用户通过其指派的角色获得可以执行的任务,然后在执行某个任务的某个具体实例时获得该任务所允许访问的客体的权限,方便权限粒度的控制和管理。

形式化描述如下:

定义1(Users)是用户的集合,用户是对系统资源进行访问的独立主体。

定义2(Objects)是客体的集合,客体通常为系统中的资源。

定义3(Roles)是角色的集合,角色是组织中的工作职能的语义表达,表示被授予角色的用户的职权和责任。

定义4(Tasks)是任务的集合,任务是工作流程中的逻辑单元,其可以是工作流系统中的一个程序或者一个进程等。任务是一个可区分的动作,一个任务可以包含多个子任务,一个任务可以由一个用户完成,也可能与多个用户相关。每个任务赋予一个时间段属性ta= [ts,te],ts≤ te,表示该任务只能在该时间段内被执行。

定义5(Perms)是权限的集合,权限是用户对系统资源进行访问的许可。每个权限是一个二元组,perm= (obj,opset),其中 obj是客体集 Objects的成员,opset是访问方法集Ops的子集,可能包含不止一种访问方法。

定义6(Ops)是所有操作的集合,表示对系统中的客体资源的操作方式。

模型中各组件之间的关系如下表示:

定义7(UA(用户分配)) UA⊆Users×Roles,是用户和角色之间的多对多关系,user(r)={u∈Users,r∈Roles|(u,r)∈UA}。

定义8(PA(权限分配)) PA⊆Pemrs×Tasks,是权限和任务之间的多对多关系,permation(t)={p∈Perms,t∈Tasks|(P,t)∈PA}。

定义9(TA(任务分配)) TA⊆Roles×Tasks,是角色和任务之间的多对多关系。每个角色根据其职责和权限,需要执行一个或多个任务。另一方面,任务用于指定于特定的任务,其可以分配给一个或多个角色。

定义10(RH)RH⊆Roles×Roles,是角色集上的一个偏序关系,称为角色等级或角色层次。

定义11(授权)授权AU定义为一个五元组AU= {u,r,t,P,[ts,te]},其中 u∈ Users,表示工作流系统中的一个用户;r∈Roles,表示工作流系统中的一个角色;t∈Tasks,表示工作流系统中的一个任务;p∈Perms,表示工作流系统中一个任务权限;[ts,te]是一个时间段,表示执行任务的有效时间段。

授权五元组表示用户u分配了角色r,该角色在时间点ts被授权可以执行任务t的权限P操作,在时间点te该授权被收回。

定义12(授权依赖(Authorization Dependence))在工作流执行的过程中,授权单元之问存在着授权相互制约的关系,称之为授权依赖关系。包括同步、顺序、互斥、失败和分权等。

定义13(肯定约束) Must_do(u,t),u∈Users,t∈Tasks,表示任务t必须由用户u来执行。Obliged_users(u)= { } u∈users|must_do(u,t),t∈Tasks,表示强制执行任务 t的用户的集合。

定义 14(排他约束) cannot_do(u,t),u∈Users,t∈Tasks,表示任务t不能够由用户u来执行。users(t)= {u∈Useres|cannot_do(u,t)},t∈Tasks,表示不允许执行任务t的用户的集合。

3 基于属性约束的工作流访问控制

属性约束[11-13]的基本思想是:用户和任务都具备一定的属性,用户的属性反映用户具备的资质和能力,任务的属性表明任务对用户资质和能力的要求,这些属性与操作符、逻辑运算符进行组合形成属性表达式和相应的授权属性表达式,用户和任务的授权属性表达式进行匹配,满足策略规则系统才进行任务授权,从而实现任务授权时的属性约束。其主要组成部件如图2所示。

图2 基于属性约束的工作流访问控制模型简图

以下是几个重要的基础概念[14-15]:

其中,ua,uav,⇔,uae,AAE 分别为属性、属性值、操作符、属性表达式,&为逻辑与运算。

例如,level=3,type=“C”和 total≥10都是 uae,而level=3&type=“C”&total≥10和level=2&type=“T”& total≥15都是AAE。本文用“▷”表示两个属性表达式AAE之间的优先级高低关系。

定义16如果uaei和uaej,有相同的属性名和操作符,则称uaei,uaej之间可比。只有可比的属性表达式之间才可以判断相互之间的优先级高低。

(1)如果 uaei,uaej,形为 ua≥uav或者 ua>uav:

①若uav为数值型数据,可按照数值型数据的自然顺序判断优先级高低关系。

②若uav不为数值型数据,则由系统设定属性表达式之间的优先级高低关系。

(2)如果 uaei和 uaej,形为 ua≤uav或者 ua<uav:

①若uav为数值型数据,优先级高低关系与实际数值的自然顺序相反。

②若uav不为数值型数据,则由系统设定属性表达式之间的优先级高低关系。

除此之外,若uav中⇔为“=”,“≠”,则由系统设定属性表达式之间的优先级高低关系,例如:type=“C”和type=“T”之间的优先级高低可由系统设定为type=“C”▷type=“T”。

定义17两个授权属性表达式,若∃uaej∈AAEj.UAE,∃uaei∈AAEi.UAE,使得uaei▷uaej成立,则 AAEi▷AAEj。其中UAE为AAE中各个uae构成的集合。

根据不同应用环境的需要可以增加更为复杂的关系运算,本文不做相关的讨论。

在基于角色和任务的工作流模型中增加属性约束,除相应的属性、属性值、属性表达式定义之外,在任务集合中增加了任务的授权属性表达式,授权也由五元组增加到六元组 AU={u,r,t,P,[ts,te],AAE},通过用户属性生成的属性表达式和任务的授权属性表示式匹配,满足要求的用户才进行授权。

4 应用实例

在电子军务系统中,有一个发文的工作流,假设由5个任务组成:拟稿、审稿、核稿、稿件签发和校稿。其中用户有7人:刘大、钱二、张三、李四、王五、赵六、陈七,他们的角色分配为:参谋,科长,处长,角色的层次关系为处长支配科长,科长支配参谋。7个用户的角色分别为:陈七为处长,王五、赵六为科长,其余都是参谋。

属性设置:秘密级别m(电子军务系统中用户和任务都具有相应的秘密级别,从高到低为4>3>2>1),文件处理能力 a(从高到低为 4>3>2>1),工作态度 d(根据用户过往工作态度确定,从好到坏为3>2>1),任务完成质量q(根据用户过往完成任务质量确定,从高到低为4>3>2>1),任务完成数量s(根据用户过往完成任务数量确定,反映用户的工作经验,从多到少为3>2>1),7人的授权属性表达式AAE分别为:

假设系统的策略是:(1)参谋只能进行拟稿和校稿的工作;(2)审稿和核稿的工作由科长来处理;(3)稿件签发必须由处长来完成;(4)执行核稿任务的用户不能是执行审稿任务的用户;(5)执行任务前用户属性生成的属性表达式必须满足任务相应的授权属性表达式。上述发文工作流任务图如图3。

图3 发文工作流任务图

某一批任务及其授权属性表达式AAE描述如下:

T={(拟稿,[10,40],AAE1),(审稿,[20,50],AAE2),(核稿,[30,60],AAE3),(稿件签发,[40,70],AAE4),(校稿,[50,80],AAE5)}

其中:

由此可见,这批任务对拟稿和审稿用户的密级和文件处理能力都有高要求;随着工作流程的进行,任务对用户密级的要求逐渐提高,而对用户的文件处理能力的要求不高;任务对用户的工作态度、任务完成数量和质量也有相应的要求。

R={参谋,科长,处长};U={刘大,钱二,张三,李四,王五,赵六,陈七}

P={(稿件,起草),(稿件,审查),(稿件,核对),(稿件,签发),(稿件,校对)}

用户的指派关系为 UA={(u1,r1),(u2,r1),(u3,r1),(u4,r1),(u5,r2),(u6,r2),(u7,r3)} 。

系统的安全策略(1)、(2)、(3)属于静态约束,由此定义角色任务指派关系为:

定义权限任务指派关系为:

策略(4)属于排他约束,描述为:策略(5)是各任务授权时通过授权属性表达式匹配来实现对用户的属性约束。

根据以上规则,假设不考虑策略(5),即没有属性约束,那么在进行拟稿任务 t1时,用户 u1、u2、u3、u4角色均为r1参谋,都可能分配到任务t1;增加策略(5)进行属性约束后,虽然用户 u1、u2、u3、u4角色均为 r1参谋,但进行授权属性表示式匹配时,只有u3.AAE▷AAE1,即只有张三满足拟稿任务对用户属性约束的要求,换句话说,只有用户张三的能力和素质满足任务t1的要求。假设张三在时间 20 开始拟稿任务,产生授权 AU={u3,r1,t1,P1,[20,40],AAE1},在时间35张三完成拟稿任务,系统收回权限,授权变更为 {u3,r1,t1,P1,[20,35],AAE1} 。这样,通过属性约束,就可以有效地防止不具备相应能力和素质的用户通过担任的角色获取权限,从而避免安全隐患。

同理,进行t2审稿任务时,用户u5、u6为角色r2,只有u6.AAE▷AAE2,即只有u6赵六满足审稿任务对用户属性约束的要求,同理产生授权:{u6,r2,t2,P2,[35,46],AAE2}。

进行 t3核稿任务时,用户 u5、u6为角色 r2,且u5.AAE▷AAE3,u6.AAE▷AAE3,但是根据策略(4),触发排他约束:

即u6赵六不能担任核稿任务,只有u5王五满足核稿任务的要求,同理产生授权:

进行 t4稿件签发任务时,只有 u7为角色 r3,且u6.AAE▷AAE4,即u7陈七满足稿件签发任务对用户属性约束的要求,同理产生授权:

进行 t5校稿任务时,用户 u1、u2、u3、u4角色为 r1,但只有u1.AAE▷AAE5,即只有u1刘大满足校稿任务对用户属性约束的要求,同理产生授权 {u1,r5,t5,P5,[68,75],AAE5}。

5 结束语

为了加强工作流环境中任务对用户的约束,强化任务对其执行者的各种要求,本文提出在任务分配之前进行属性约束,即用户和任务都具备一定的属性和相应的属性表达式,用户的属性反映用户具备的资质和能力,任务的属性表明任务对用户资质和能力的要求,通过属性表达式比较,满足策略规则才进行任务授权。这样,可以防止不具备相应资质和能力的用户通过其担任的角色获取任务,从而防止安全隐患,达到更加细粒度的访问控制。在今后的工作中,可以把角色也作为属性的一种来讨论基于属性约束的工作流访问控制模型,相应的委托模型都有待于进一步的研究。

[1]Hollingsworth D.The workflow reference model[S].1994.

[2]陈丽侠,陈刚,董金祥.基于任务的工作流访问控制模型和实现框架[J].计算机应用研究,2003,20(9):42-44.

[3]Atlufi V,Huang W K.An authorization model for workflows[C]//Proc of the 5th European Symposium on Research in Computer Security,1996.

[4]Oh S,Park S.Task-role-based access control model[J]. Information Systems,2003,28(6):533-562.

[5]邢光林,洪帆.基于角色和任务的工作流访问控制模型[J].计算机工程与应用,2005,41(2):210-213.

[6]张强,郑洪源,丁秋林.基于任务和角色的工作流多约束访问控制模型[J].计算机与现代化,2011(12):9-12.

[7]张晶,杨国林,萨智海.基于角色和任务的工作流访问控制管理模型[J].内蒙古师范大学学报:自然科学汉文版,2011,40(2):187-190.

[8]查宗旬,王命延.基于任务和角色的工作流访问控制模型[J].计算机与现代化,2010(11):139-141.

[9]魏永合,王成恩,舒启林,等.面向任务的工作流访问控制模型[J].东北大学学报:自然科学版,2008,29(3):387-390.

[10]孙军红,李娟.一种基于任务和角色的工作流访问控制模型[J].计算机工程与应用,2008,44(30):21-30.

[11]Zhang X,Li Y,Nalla D.An attribute-based access matrixmodel[C]//Proceedingsofthe2005 ACM Symposium on Applied Computing,2005:359-363.

[12]杨天怡,董红林,黄勤,等.应用角色和任务访问控制的工作流动态授权模型[J].计算机应用研究,2010,27(4):1511-1513.

[13]单徐梅,虞慧群.基于RBAC的工作流管理系统授权约束方法[J].计算机工程,2010,36(4):152-154.

[14]Ye Chunxiao,Wu Zhongfu,Fu Yunqing,et al.An attributebased extended delegation model[J].Journal of Computer Research and Development,2006,43(6):1050-1057.

[15]叶春晓,李忠袆,胡海波,等.基于角色访问控制授权约束条件的生成方法[J].计算机工程,2011,37(1):154-155.

ZENG Shiqiang,YE Chunxiao,YU Yifeng

College of Computer Science,Chongqing University,Chongqing 400044,China

In order to resolve the problem that users who lack of corresponding qualifications and ability in workflow environment might get access rights through its role,this paper presents attribute constraints before the tasks assignment. Users and tasks have certain attributes and corresponding attribute expressions,user attributes reflect their equipped aptitude and ability and task attributes indicate its requirements to users in qualifications and ability.The system authorizes to users only when the corresponding rules are satisfied by attribute expressions.Case analysis shows this approach can prevent the users who lack of corresponding qualifications and ability to get the tasks so as to eliminate the safety hazards and achieve a more fine-grained access control.

workflow;task;access control;attribute constraint;attribute expression

针对在工作流环境中不具备相应资质和能力的用户可能通过其担任的角色获取任务,进而获得访问权限的问题,提出在任务分配之前进行属性约束。用户和任务都具有属性和相应的属性表达式,用户属性反映用户具备的资质和能力,任务属性反映任务对用户资质和能力的要求,只有对应的属性表达式满足策略规则时系统才向用户进行任务授权。实例分析表明,该方法能够防止不具备相应资质和能力的用户获取任务权限,消除安全隐患,实现更加细粒度的访问控制。

工作流;任务;访问控制;属性约束;属性表达式

A

TP301

10.3778/j.issn.1002-8331.1301-0025

ZENG Shiqiang,YE Chunxiao,YU Yifeng.Attribute constraint based workflow access control model.Computer Engineering and Applications,2014,50(23):100-103.

国家科技支撑计划(No.2012BAH19F003)。

曾世强(1982—),男,硕士研究生,主要研究方向为信息安全、访问控制;叶春晓(1973—),男,博士,教授,主要研究领域为访问控制、数据库技术、软件工程;余一丰(1987—),男,硕士研究生,主要研究领域为信息安全、访问控制。E-mail:yemao1438@163.com

2013-01-06

2013-03-20

1002-8331(2014)23-0100-04

CNKI网络优先出版:2013-04-08,http://www.cnki.net/kcms/detail/11.2127.TP.20130408.1648.019.html

猜你喜欢
访问控制表达式约束
“碳中和”约束下的路径选择
一个混合核Hilbert型积分不等式及其算子范数表达式
约束离散KP方程族的完全Virasoro对称
表达式转换及求值探析
浅析C语言运算符及表达式的教学误区
ONVIF的全新主张:一致性及最访问控制的Profile A
动态自适应访问控制模型
浅析云计算环境下等级保护访问控制测评技术
大数据平台访问控制方法的设计与实现
适当放手能让孩子更好地自我约束