书书书收稿日期:20070703基金项目:国家自然科学基金资助(60573127);湖南省自然科学基金资助(06JJ30032)作者简介:桂劲松(1968),男,讲师,中南大学博士研究生,Email:jsgui06@163.com.一种改进犝犆犗犖犆的服务网格授权决策模型桂劲松,陈志刚,邓晓衡,刘 立(中南大学信息科学与工程学院,湖南长沙 410083)摘要:针对基于条件谓词决策的使用控制模型(UCONC)表达能力弱的缺陷,为了在服务网格实现决策组件与执行组件的合理分工,促进独立授权过程的并发执行,提出一种委托凭证模型细粒度表达决策结果.基于此改进UCONC,用委托凭证处理过程的状态组合替换原来简单的访问状态,决策组件根据请求时系统状态输出合理的委托凭证,根据系统状态的变化再决策可转换委托凭证的处理状态.该方法有效避免了相同访问请求重复产生委托凭证,委托凭证真实反映授权的实际需求.在eLearningGrid系统中,改进后的决策模型能够细粒度地表达授权策略,输出合理的决策结果,各种访问请求通过合适的决策与控制满足了应用对安全的需求.关键词:服务网格;授权决策;委托凭证;条件决策使用控制模型中图分类号:TP393 文献标识码:A 文章编号:10012400(2008)03054608犐犿狆狉狅狏犲犱犝犆犗犖犆犪狌狋犺狅狉犻狕犪狋犻狅狀犱犲犮犻狊犻狅狀犿狅犱犲犾犳狅狉狋犺犲狊犲狉狏犻犮犲犵狉犻犱犌犝犐犑犻狀狊狅狀犵,犆犎犈犖犣犺犻犵犪狀犵,犇犈犖犌犡犻犪狅犺犲狀犵,犔犐犝犔犻(SchoolofInformationScienceandEngineering,CentralSouthUniv.,Changsha 410083,China)犃犫狊狋狉犪犮狋: Tokeepfreefromweakcapabilityofexpressionoftheusagecontrolmodelbasedonconditionpredicationdecision(UCONC),realizereasonabletaskassigningbetweendecisioncomponentandexecutioncomponent,andimproveconcurrentenforcementofindependentauthorizationprocessesintheservicegrid,adelegationcertificationmodelisproposedtoexpressthedecisionresultinafinegrainedmanner,andtheUCONCisimproved.Delegationcertificationprocessingstatusesaredefinedtoreplacethesimpleaccessstatus.Thedecisioncomponentcanmakethereasonabledelegationcertificationbasedonthesystemstatuswhenarequestarrives,andalsomakeadecisiontochangethedelegationcertificationprocessingstatuswhenthesystemstatusischanged.Thismethodeffectivelyavoidsthefactthatthesameaccessrequestsgeneratethedelegationcertificationrepeatedly,andthedelegationcertificationreallyreflectsactualdemandsofauthorization.InaneLearningGrid,theimproveddecisionmodelexpressestheauthorizationpolicyinafinegrainedmanner,andexportsreasonabledecisionresults.Variousaccessrequestssatisfiessecurityrequirementsofapplicationthroughthesuitabledecisionandcontrol.犓犲狔犠狅狉犱狊: servicegrid;authorizationdecision;delegationcertification;UCONC使用控制(UCON)[1]概念首先由Park.J和Sundhu.R提出.它扩展了传统的访问控制功能,定义了3个授权决策因素:授权(Authorization)、职责(Obligation)、条件(Condition),提出了访问控制的连续性(Continuity)和易变性(Mutability)两个重要属性.文献[2]提出了一个概念模型UCONABC,从授权、职责和条件3方面给出了16个基本模型及其逻辑规范,但没有给出相应的授权语言和实用框架.UCONABC形式化授权语言的研究工作还处于起步阶段,现有的工作主要有:基于时态行为逻辑(TLA)的UCONABC形式化模型[3],基于单限制变元分层逻辑语法和语义的使用控制授权语言框架LUC[4],两者在形式化描述UCONABC概念模型的能力上难分高低,但前者的表达形式相对简洁,易于理解和实现.但两者也存在共同的不足之处,例如,授权功能过分集中于决策组件,而执行组件则相对简单,当访问请求被递交到决策组件时,决策组件仅2008年6月第35卷 第3期 西安电子科技大学学报(自然科学版)犑犗犝犚犖犃犔 犗犉 犡犐犇犐犃犖 犝犖犐犞犈犚犛犐犜犢 Jun.2008Vol.35 No.3输出简单的决策结果:允许或拒绝.在授权负荷较重的网格环境下,这不利于多个独立授权过程的并发执行,从而影响网格授权系统的效率.文献[3]形式化描述的UCONABC是一个庞大的模型族.依据3个授权决策因素可划分为3个模型:只依据授权谓词进行决策的UCONA、只依据职责行动进行决策的UCONB、只依据条件谓词进行决策的UCONC.笔者针对服务网格授权的新特点,对UCONC进行研究和改进,使其能够满足服务网格授权决策的需要.1 服务网格授权的新特点从抽象层次看,现有典型网格授权系统[5,6]存在相似的语义:输入发起人身份和属性等描述信息,请求的行动描述信息,资源的访问策略信息,授权上下文信息.输出授权决策结果以指示请求的行动是被执行还是被拒绝.这种过于简单的授权决策结果导致授权执行组件缺乏细粒度控制权限执行的依据,同时也不利于授权过程中并行成分的挖掘.在按需、动态、即时构建服务虚拟组织(VO)以协同进行问题求解的网格发展必然趋势[7]下,VO必须要对聚集的资源进行统一的授权管理,但从资源的角度来看,每个资源只关心其自身的访问控制策略和运行于其上的应用,而并不关心其他资源的情况,因此,有必要在VO中设置一个策略执行点(PEP)以充当全局控制器.这样的设置不仅可合理分担策略决策点(PDP)繁重的工作从而使得独立的多个授权过程的决策与执行能够并行,而且可大大简化资源本地域PEP的工作.在这样的背景下,PDP输出的授权决策结果就不能是简单的“允许”或“拒绝”,而应该是一个表示细粒度权限的授权证书.这个证书就是下面要定义的委托凭证.委托凭证用到了下面部分基础元素[8]:(1)犝={狌1,狌2,…,狌犿}是所有用户的集合;(2)犚={狉1,狉2,…,狉狀}是所有角色的集合;(3)犝犃犝×犚是从犝到犚的多对多映射.常规用户是由系统管理员指派角色的用户;委托用户是通过委托指派角色的用户.犝犃划分为犝AO和犝AD,分别表示用户与被授予角色的关系和用户与其被委托角色的关系.委托凭证的定义如下:定义1 角色树是委托授权的基本单位,表示为狉tree=(狉0(狉1(狉11(狉111(…),…,狉11狀(…)),…,狉1犿(…)),…,狉犽(狉犽1(…)))).定义2 在委托票据犱狋=(狌犪犱,狆狋,狀,犪犲,犱犲狆)[9]中,用狉tree替代狌犪犱=(狌,狉)∈犝AD中的狉,并将狉看成狉tree的未给出树形结构的缩写式.定义3 委托传播树表示为狊狆狉tree=(犱狋0(犱狋1(犱狋11(犱狋111(…),…,犱狋11狀(…)),…,犱狋1犿(…)),…,犱狋犽(犱狋犽1(…)))).树的根结点拥有从常规用户得到的委托票据犱狋0.犱狋1,犱狋2,…,犱狋犽是根结点可签发的委托票据,根结点可将犱狋0的角色树的一部分或全部委托给犱狋1,犱狋2,…,犱狋犽的持有者.犱狋11,犱狋12,…,犱狋1犿是犱狋1的持有者可签发的委托票据,犱狋1的持有者可将犱狋1的角色树的一部分或全部委托给犱狋11,犱狋12,…,犱狋1犿,其余依次类推.定义4 委托凭证由犱犮=(狀犱,狀犫,狊狆狉tree)∈犇犆组成.其中狀犱表示委托权限传播的许可步数,即委托深度;狀犫表示在每步中权限被委托的许可用户数,即委托宽度.2 基于改进犝犆犗犖犆的服务网格授权决策模型2.1 对现有UCONC的改进文献[3]定义的一些概念如下:(1)系统状态定义为对一组变量的一次赋值,其中变量包括主体属性、客体属性、系统属性这3类变量.(2)实体(主体或客体)表示为一个有限属性集.(3)函数被定义为一个或多个属性和常量构成的表达式.在形式上,函数是从一组属性值到一个新值的映射.(4)单一使用过程由(狊,狅,狉)来表示,其中狊表示主体,狅表示客体,狉表示权限.(5)(狊,狅,狉)的状态被定义为特殊系统变量,并定义函数state(狊,狅,狉)为从{(狊,狅,狉)}到{initial,requesting,denied,accessing,revoked,end}的映射,其中6种状态的语义参见文献[3].(6)谓词是由变量、函数、常量构成的逻辑表达式.其语义是从系统状态到布尔值的映射.若状态中所指派的属性值满足谓词,则状态满足谓词.(7)使用控制行动包括更新属性值的行动preupdate,onupdate,postupdate和改变单一使用过程状态state(狊,狅,狉)的行动tryaccess(狊,狅,狉),745第3期 桂劲松等:一种改进UCONC的服务网格授权决策模型permitaccess(狊,狅,狉),denyaccess(狊,狅,狉),revokeaccess(狊,狅,狉),endaccess(狊,狅,狉),其语义参见文献[3].为了适应服务网格授权的新特点,将状态值accessing(访问状态)细化为图1中虚线框中的状态组合,并将permitaccess(狊,狅,狉)(允许访问)的语义改为:将状态值requesting(请求状态)改变为“凭证请求”状态,即将主体狊对客体狅的权限狉的请求转换为主体狊对委托凭证犱犮的请求.另外,到达状态值revoked(撤销状态)的前提是“凭证撤销”状态而非访问进行中.图1 单一使用过程的状态变迁定义5 凭证处理过程用(狊,犱犮)来表示,其中狊为主体,犱犮为委托凭证.定义6 凭证处理状态集{request犱犮(凭证请求),grant犱犮(凭证授予),using犱犮(凭证使用),hold犱犮(凭证挂起),revoke犱犮(凭证撤销)}被定义来表示(狊,犱犮)的状态.其中request犱犮的语义是(狊,犱犮)已经产生并正等待系统授予犱犮;grant犱犮的语义是犱犮已被授予并随时可被激活使用;using犱犮的语义是犱犮处于PEP的使用中;hold犱犮的语义是犱犮处于更新中而暂时不能被PEP使用;revoke犱犮的语义是犱犮已被系统撤销而不能再被PEP使用.定义7 (狊,犱犮)的状态表示为特殊系统变量,并定义函数state(狊,犱犮)为从{(狊,犱犮)}到凭证处理状态集的映射.定义8 改变(狊,犱犮)状态的使用控制行动定义如下:grant(狊,犱犮)(授予)由系统执行,若为true,则为主体狊授予委托凭证犱犮;activate(