法律状态公告日
法律状态信息
法律状态
2019-03-08
未缴年费专利权终止 IPC(主分类):H04L9/36 授权公告日:20100901 终止日期:20180311 申请日:20080311
专利权的终止
2018-02-09
专利实施许可合同备案的注销 IPC(主分类):H04L9/36 合同备案号:2016320000219 让与人:南京邮电大学 受让人:江苏南邮物联网科技园有限公司 解除日:20180116 申请日:20080311
专利实施许可合同备案的生效、变更及注销
2016-12-14
专利实施许可合同备案的生效 IPC(主分类):H04L9/36 合同备案号:2016320000219 让与人:南京邮电大学 受让人:江苏南邮物联网科技园有限公司 发明名称:网格环境下的基于信任度的授权委托方法 申请公布日:20080813 授权公告日:20100901 许可种类:普通许可 备案日期:20161121 申请日:20080311
专利实施许可合同备案的生效、变更及注销
2010-09-01
授权
授权
2008-10-08
实质审查的生效
实质审查的生效
2008-08-13
公开
公开
查看全部
技术领域
本发明是一种分布式计算的安全解决方案。主要用于解决网格计算的安全问题,属于分布式计算软件安全技术领域。
背景技术
网格计算(Grid Computing)是指通过高速网络把分散在各处的硬件、软件、信息资源连结成一个巨大的整体,从而使得人们能够利用地理上分散于各处的资源,完成各种大规模的、复杂的计算和数据处理的任务。与以前的协同工作(Cooperative work)、分布式计算(Distributed Computing)等概念相比较,网格计算的集成程度更高、使用更加方便、资源的利用更加充分和有效。它标志着现代信息技术应用有一个新的、更高水平。
由于网格计算的诸多优点,因而被人们认为是互联网之后最重要的技术,对网格计算的研究正成为学术界和工业界的热点之一。但是安全性是制约网格计算技术广泛使用的重要因素之一,因此研究网格计算的安全问题具有重要意义。
网格计算环境具有许多特殊性,包括网格中用户与资源的动态性,以及申请释放资源等操作的动态性,因此,在网格环境中,对系统的高可扩展性,灵活性等方面有更高的要求,这给对网格客户端进行授权方面提出了新的挑战。委托(Delegation),是一种重要的授权策略,它的基本思想是在一个系统中,某些活动实体将自己全部或部分权限授予给其它活动实体,使得后者可以代替前者执行一定的功能。其中前者称为委托者(Delegator),后者称为被委托者(Delegatee)。活动实体指角色(Role)、用户(User)或应用进程(Process)等。权限是对计算机系统中的数据或者用数据表示的其他资源进行访问的许可,它可以是全部权限,也可以是部分权限。在如下几种情况下会发生委托:
(1)角色备份:某人出差或度假,他负责的工作需要继续执行,这样就需要将其工作权力委托给其他人,使工作可以继续进行。
(2)协作工作:在组织中和组织间进行的工作需要相互协作。在这种情况下,需要赋予协作对方一定的访问权限以便进行信息共享。
(3)权力下放:组织初始构建或重组织时,需要按照组织结构从高级到低级分配权限。
由于授权委托面向的是用户,但用户的变更很大,会给系统带来一致性的问题。这种情况下,角色概念的引入能有效解决这一问题。角色是一个抽象的用户实体,指共享同一安全特权的一类或一组用户。因此不管实际用户的变更情况,角色相对固定。在基于角色的访问控制(RBAC)中,权限与角色相关联,而用户根据责任和资格被分配相应的角色,从而实现了用户与访问权限的逻辑分离。通过分配和取消角色来完成用户权限的动态授予和取消,且提供了角色分配策略和操作检查策略来实现动态授权和访问控制策略验证。
如图1所示,网格计算环境由不同的自治域所组成,这些自治域同样都有适合其自身的授权模型,由于目前RBAC的广泛应用,我们假定都采用的RBAC模型,而在进行跨域授权时,通过信任协商的方式建立跨域的授权委托机制能够实现细粒度的跨域访问控制,这种方式能够适应网格计算的开放性异构性等特性。
发明内容
技术问题:本发明的目的是提供一种基于信任度的授权委托策略来构筑网格环境中的进行跨域授权的体系,与传统的使用访问控制列表(ACL)和社区授权服务(CAS)来进行授权的方法不同,本方法是一种策略性方法,通过使用本发明提出的方法,可以达到是否允许网格用户使用跨域的网格资源目的,并且能够对用户使用资源的权限进行控制。
技术方案:本发明的方法是一种策略性的方法,根据网格资源提供者的授权委托的信任度阈值来是否委托权限和角色给请求者,其目标是解决网格计算环境中如何对用户访问跨域资源时进行权限委托的问题。
下面给出该模型中的几个概念:
自治域(Autonomy Domain,AD):加入网格环境的内部具有一致的安全体系的个体、组织、部门和团体等。
虚拟组织(Virtual Organization,VO):所谓虚拟组织就是指在网格环境中,为了完成某一特定任务而由不同自治域的节点组成的一个跨地域,异构型并共享资源协同完成任务的一些个人、组织或者资源的动态组合。
网格资源提供节点(Grid Resource Provider Node):在网格服务提供域中的能够对外提供资源服务的最小单位成员。
授权委托(Authority Delegation):一种授权机制,即委托者将自己拥有的权限和角色委托给请求者,以允许请求者行使委托者拥有的权限。
委托者(Delegator):授权委托过程中的拥有权限和角色的实体。
被委托者(Delegatee):授权委托过程中的请求委托者委托权限和角色的实体。
实体(Entity):代表人,也可以是一台机器、agent或其他任何智能型物品。
角色(Role):表示一个工作职责,在一个组织机构环境中的工作职责。该职责可以关联一些关于权力和责任的语义。
权限(Permission):是一个许可,对在一个或多个对象上执行操作的许可。
信任度(Trust Level):表示委托者对被委托者的信任关系。
一、体系结构
网格虚拟组织(VO)由各自治域节点所组成,在实施访问控制时,我们假定VO管理中心对加入VO的用户和资源重新部署RBAC系统(如图2所示),因而形成了VO成员与VO角色,VO角色和VO权限的对应关系。当虚拟组织中的用户也属于某自治域的用户需要访问虚拟组织中由其他自治域所提供的共享资源时,由于该自治域中的用户也分配了相应的角色,则可以通过角色委托关系达到访问共享资源的目的。由于虚拟组织是为了完成某一特定应用服务而资源和服务的整合,自治域的资源和用户可以加入多个虚拟组织,因而还需要指定用户所属的VO。同时,一个虚拟组织能够提供多个服务,只有当用户都处于同一服务过程中,才能发生协作关系。因而有用户与服务,服务和角色等的对应关系。虚拟组织角色用VO.r′表示。服务角色用SERVICES.r″表示。自治域角色用AD.r表示。
二、方法流程
该方法所包含的步骤为:
步骤1).资源提供节点根据委托策略,对其委托角色或权限按照下述6条规则生成委托策略图,
1.)查找所有包含节点的委托策略,对于每一个委托策略,增加委托边;
2.)如果节点为实体节点,将其作为自身解值;
3.)如果为连接节点,首先创建单节点,然后增加一个监视器,观察单节点,当监视器发现实体已经具有单节点的属性时,同时实体的对连接节点的外围属性为真,增加该实体到连接节点的委托边;
4.)如果节点为交集,创建交集监视器和交集元素的节点,监视器观察每个节点,监视器纪录某个实体能够符合交集元素的次数,如果计数器增加到交集元素个数时,则增加该实体到交集的委托边;
5.)如果节点为簇节点,创建簇节点监视器和簇元素节点,对于每个簇元素节点,查找满足其属性的实体,从每个满足条件的实体集合中取出一个实体,组合在一起,形成实体并集,增加并集到簇节点的委托边;
6.)如果节点为并集,创建并集监视器和并集元素节点,监视器观察每个节点,监视器纪录某个能够符合的实体,同时增加该实体到并集的委托边;
步骤2).请求委托者发送以被委托者为后继节点的委托策略集给委托者,
步骤3).委托者针对委托策略图对被委托者提交的委托策略集进行合成,
步骤4).若委托策略集中存在前驱节点为监测器所监测的对象的委托策略,并且被委托者的信任度能够满足信任度阈值,则生成针对该被委托者的委托关系,
步骤5).若委托策略集中不存在前驱节点为监测器所监测的对象的委托策略,或者存在但是被委托者的信任度不能够满足信任度阈值,则拒绝对该被委托者的委托请求,
步骤6).反复执行上述步骤2)到步骤5),生成委托关系图。
有益效果:本发明方法提出了一种针对于网格服务的跨域授权的新方法,主要用于解决网格跨域授权过程中的权限委托信任协商问题,通过使用本发明提出的方法可以避免以往授权中局部于自治域内的授权机制,实现跨域的权限委托过程。该方法具有以下优点:
高效性:本发明实现了资源节点和用户直接的权限和角色授予委托关系,不需要服务器的参与,因而降低了服务器的瓶颈,能够高效安全地实现资源节点对用户的直接权限授予过程。
灵活性:能够实现部分角色和部分权限的授权委托过程,而不局限于整体的角色和权限的委托。
合理性:由于使用了信任度概念,不需要强制实施委托深度限制,更符合委托者的委托限制需求。
附图说明
图1是VO组成结构图。
图2是虚拟组织角色映射图。
图3是由委托策略转化成委托策略图。
图4是委托角色和权限的委托策略图
图5是实体隶属关系图。
图6是已存在的实体角色及其委托关系图。
图7是实例中委托策略分析图。
图8是实例中得到的委托关系图。
图9是授权委托方法的流程图。
具体实施方式
1、委托协商的信任度约束
资源拥有者对使用资源的被委托实体在每次行使委托的角色和权限时进行信任评判,同时将该评判结果发送给委托实体,形成委托关系的信任评判。
表示委托者u1将角色r委托给分配了角色r′的实体u2,u2在行使该委托角色r的权限后,u1和u2之间建立的直接信任关系。其中trustlevels1→2为u2对u1委托角色r对应的资源属性的信任评价,即该资源的可用性等。而trustlevels2→1为u1对u2在行使委托角色过程中的信任评价,也体现为资源对u2的评价,即是否存在恶意性等。同理,
表示委托者u2将r′委托给分配角色r″的实体u3,实体u3在行使该委托角色r′的权限后,u2和u3之间建立的直接信任关系。
倘若u3需要请求u1委托其角色r,则可以通过u2判断信任关系。通过推荐信任,我们能够合成u1和u2,u2和u3之间的信任关系。合成的方式有多种,我们采用最简单的合成方式,即信任链路上的信任值相乘作为合成结果,因而有
trustlevels1→3=trustlevels1→2·trustlevels2→3
trustlevels3→1=trustlevels3→2·trustlevels2→1
当合成后的信任值不满足委托双方所限定的信任阈值(Trust Threshold,TT)时,如trustlevels1→3<TT,则u1对u3不能进行委托。通过信任度的评判,能够动态地限制委托深度,而不需要定义委托深度参数。
2、信任度的计算
委托实体间的信任关系trustlevels(t,n)entity1→entity2表示被委托实体entity2在第n次使用委托实体entity1的委托权限时所建立的信任关系,该信任关系可表示为:
其中α和β为权重因子,并且满足α+β=1,α,β∈[0,1]。evaluate_trustlevels(t,n)是交互结束后委托双方相互给对方的信任评价。同样,我们根据实体的属性来建立委托实体间的信任关系,如实体为资源则建立资源的属性集ATTR:{诚实性(attr0),资源运行的可靠性(attr1),资源的易用性(attr2),容错性(attr3),运行效率(attr4),成功率(attr5)...},用ATTR={attr0,attr1,attr2,...attrn}表示,其中attri表示请求者对资源提供者进行评判的第i种属性。对于每一种属性都建立相应的信任关系,将实体对资源属性的信任度表示为:
trustlevels({attri},t,n)user→res=α·trustlevels({attri},t,n-1)user→res+
β·evaluate_trustlevels({attri},t,n)user→res,attri∈ATTRres
即为对每个属性都进行信任度评判。总的信任度评判则可由不同属性的权重合成得到:
这就和实体所要求的哪种属性更重要有关,即权重因子λi由实体来决定。
而实体属性集则定义为:诚实性,恶意性等。同样资源对访问该资源的实体属性的信任度表示为:
trustlevels({attri},t,n)res→user=α·trustlevels({attri},t,n-1)res→user+β·evaluate_trustlevels({attri},t,n)res→user,attri∈ATTRuser
3、委托信任协商过程
我们在基于角色的信任管理(Role-Based Trust Management,RT)基础上加上信任度约束规则对RT进行扩展。RT定义了一个信任证有向图,信任证集合C中的角色项构成图中的节点,信任证A.r←o∈C构成图中的边o→A.r。我们将该有向图应用到委托策略协商过程。
委托策略图定义::对于委托协商策略集合P,相应的委托策略图定义为Gp=(Np,Ep),其中:
(1)如果A.r←o:trustlevels∈P,那么o→A.r:trustlevels∈Ep;
(2)如果{B.r2,A.r1.r2}∈Np,并且Ep中存在一条路径:trustlevels,那么:trustlevels∈Ep,该边由路径:trustlevels派生而来;
(3)如果{D,f1∩...∩fk}∈Np,并且对于每一个j∈[1...k],有一条路径:trustlevels,那么D→f1∩...∩fk:trustlevels∈Ep,该边由路径:trustlevels,j∈[1...k]派生而来。
使用如上定义可有效地推导出一系列的边集合最终集合为Ep,其中,
委托策略集P中的每种策略表达都能够以如下6种方式被逐个处理,直到集合为空,这样就从委托策略图得到实体间的委托关系,然后根据被委托者已存在的委托关系,通过判断信任度是否满足委托者的信任阈值,从而生成再委托关系,最终得到委托关系图。委托关系图也是有向图,其根节点为委托者,其余节点都是针对根节点的被委托者。
①如果节点为A.r,查找所有包含A.r的委托策略,对于每一个委托策略A.r←o:trustlevels∈P,创建节点o,增加边o→A.r∈Ep;即可以表示成如图3(a)所示。
②如果节点为实体节点,将其作为自身解值,如图3(b)所示。
③如果为连接节点A.r1.r2,首先创建节点A.r1,然后增加一个监视器e,观察A.r1,当监视器e发现A.r1已经获得了解值B时,倘若B.r2←TRUE,即实体B具有属性r2,则创建节点B.r2,增加边B.r2→A.r1.r2:trustlevels∈Ep,如图3(c)所示。
④如果节点为交集A·r←A1·r1∩A2·r2∩...∩Ak·rk:trustlevels(k>1),创建交集监视器e和k个Aj·rj节点,监视器观察每个Aj·rj节点,监视器纪录某个实体D能够符合Aj·rj(j∈[1,k])的次数,如果计数器增加到值k,则增加边D→A.r:trustlevels∈Ep,如图3(d)所示。
⑤如果节点为簇节点A·r←B1·r1B2·r2...Bk·rk:trustlevels(k>1)或A·r←B1·r1B2·r2...Bk·rk:trustlevels(k>1),创建簇节点监视器e和k个Bj·rj节点,对于每个Bj·rj节点,求得其解值集合Sj,从每个解值集合Sj中取出一个值Sj,组合在一起,形成{s1∪...∪sk}(对于操作,si∩sj=,1≤i≠j≤k),{s1∪...∪sk}作为一个解值D,增加一条边D→A.r∈Ep,值得说明的是,对于联合实体的属性{A1,...,Ak}.r等价于交集属性A1.r∩...∩Ak.r,如图3(e)所示。
⑥如果节点为并集A·r←A1·r1∪A2·r2∪...∪Ak·rk:trustlevels(k>1),创建并集监视器e和k个Aj·rj节点,监视器观察每个Aj·rj节点,监视器纪录某个能够符合Aj·rj(j∈[1,k])的实体Sj,同时增加边Sj→A.r∈Ep,如图3(f)所示。
网格计算中的委托实体都能够根据上述6种方式生成针对其角色或权限的委托策略图,委托服务过程可以看作是这些委托实体从委托策略集中生成委托策略图的合成过程。具体实施步骤为:
①委托者针对其委托角色或权限并根据委托策略,按照上述6条规则生成委托策略图。
②被委托者发送以被委托者为后继节点的委托策略集Np给委托者。
③委托者针对委托策略图对被委托者提交的委托策略集Np进行合成,若Np中存在前驱节点为监测器所监测的对象的委托策略,并且被委托者的信任度能够满足信任度阈值,则生成针对该被委托者的委托关系。否则拒绝对该被委托者的委托请求。
④反复执行上述步骤②③,生成委托关系图。
需要注意的是,被委托者所提交的委托策略集需要被证实,防止被委托者为骗取委托服务提供虚假的委托策略,这可以通过将这些委托策略以证书形式由可信第三方签发来实现。在网格计算环境中,如被委托者加入某个虚拟组织,并分配了某个角色,则由该虚拟组织管理中心对这些信息进行确认。
为了方便描述,我们假定有如下应用实例:
在此为了表达上的简化,角色对于自治域统一命名,即为r1,r2...。同样对于VO,虚拟组织角色统一命名为r′1,r′2...。对于服务而言,服务角色统一命名为r″1,r″2...。不仅针对VO的共享资源来考虑,还考虑跨域角色授权关系,同时在VO共享资源不足时,也可以进行跨域的授权委托,对于服务也是如此。假定自治域或VO制定了如下委托策略:
(1)委托角色和权限的委托策略:
u1.p1←AD1.u.r1:(u.trustlevels≥0.8)∪VO.u.r′2:(u.trustlevels≥0.6)∪,SERVICE1.u.r″1:(u.trustlevels≥0.5)
其中,AD1.u.r1:(u.trustlevels≥0.8)表示实体u须具有AD1.r1的角色,并且其信任度应不低于0.8;VO.u.r′2:(u.trustlevels≥0.6)表示实体u具有VO.r′2的角色,并且其信任度应不低于0.6;SERVICE1.u.r″1:(u.trustlevels≥0.5)表示实体u具有SERVICE1.r″1的角色,并且其信任度应不低于0.5。该条委托策略表示当被委托者能够满足规则AD1.u.r1:(u.trustlevels≥0.8),或者满足规则VO.u.r′2:(u.trustlevels≥0.6),或规则SERVICE1.u.r″1:(u.trustlevels≥0.5),则委托者u1将其权限u1.p1委托给被委托者。相应的委托角色和权限的委托策略图如图4所示:
(2)网格系统中已存在的实体隶属关系的委托策略,相应的实体隶属关系如图5所示:
AD1.u←A,AD1.u←B,AD1.u←C
VO.u←Alice,VO.u←Tom,VO.u←B,VO.u←D
SERVICE1.u←Tom,SERVICE1.u←B,SERVICE1.u←D
SERVICE2.u←Tom,SERVICE1.u←D,SERVICE1.u←Alice
(3)已存在的实体角色属性的委托策略及已建立的委托关系,相应的已存在的实体角色及其委托关系如图6所示:
A.r1←TRUE,B.r1←TRUE,C.r2←TRUE
A.r1←E.r3:(0.8),B.r1←F.r4:(0.7),B.r1←G.r5;(0.9)
B.r′1←TRUE,Alice.r′2←TRUE,D.r″2←TRUE,Tom.r′3←TRUE
B.r′1←H.r6:(0.8),Tom.r′3←J.r7:(0.7),Alice.r′2←K.r8:(0.8)
另外假定根据前面信任度的计算方法,得到各实体的信任度如表1所示。
表1实例中实体信任度值
我们针对委托策略图4,即u1.p1进行分析,由于其图中包含实体属性AD1.u,而从实体隶属关系图中可得到实体A,B,C都具有属性AD1.u,但从实体角色关系看可知,只有A,B分配了角色r1,根据计算得到的A,B信任度可知,两者均能够满足信任阈值约束,所以权限u1.p1能够被委托给A.r1,B.r1,另外从已存在的委托关系A.r1←E.r3:(0.8),B.r1←F.r4:(0.7),B.r1←G.r5;(0.9)和计算得到的综合信任度值可知,只有G.r5的信任度能够满足信任度阈值,因而权限u1.p1能够被委托给G.r5。分析过程如图7所示。
同理我们还需要对属性VO.u和SERVICE1.u进行分析,最终得到能够被委托权限u1.p1的委托关系图如图8所示。
机译: 基于服务的计算环境中事务委托的共享授权数据认证方法
机译: 基于服务的计算环境中事务委托的共享授权数据认证方法
机译: 基于服务的计算环境中事务委托的共享授权数据认证方法