基于信任模型的动态角色访问控制方法

文档序号:7955294阅读:196来源:国知局
专利名称:基于信任模型的动态角色访问控制方法
技术领域
本发明是一种动态访问控制的安全解决方案,主要用于解决网格与对等网络的混合计算(Grid & P2P)环境下的安全问题,属于分布式计算软件安全技术领域。
背景技术
访问控制机制是任何一个安全系统必须考虑的问题,主要通过访问授权约束实现组织安全政策,使获得权限的用户在满足所有约束前提下执行相应的操作。对于网格计算系统这样一个分布式的并且动态变化的系统提供一种完善的访问机制是保护资源提供者和资源消费者权利的重要措施。
基于角色的访问控制机制(RBAC)是目前最流行的访问控制方法,已经广泛应用于企业应用、组织间协作授权、医疗信息系统等领域中。在基于角色的访问控制机制中,在用户(user)和访问权限(permission)之间引入角色(role)的概念,用户与特定的一个或多个角色相联系,角色与一个或多个访问许可权相联系,角色可以根据实际的工作需要生成或取消。由于基于角色的访问控制机制在管理网络应用安全时所表现出的灵活性和经济性使其迅速成为最具影响的高级访问控制模型。
网格计算(grid computing)和对等网络计算(P2P computing)都强调提供普适的、廉价的计算服务,但是又有所区别,其中一个很重要的区别是网格(grid)强调提供有服务质量(QoS)保证的服务,而对等网络(P2P)则不提供此服务质量“QoS”保证,近来出现网格和对等网络计算相互融合的趋势,本方法就是网格与对等网络的混合计算环境下提出的。
在网格环境中,资源需求相对集中的一个用户群可以构成一个用户集合,这个用户集合需要建立一个资源注册和发现中心,任何一个合法的用户都可以向该中心注册自己拥有的资源或自己发现的可以被用户集合中的其他用户使用的资源,该集合中的任何一个用户都可以从该中心发现自己需要的资源。通过建立注册和发现中心,可以使这个用户集合中的所有用户与注册在这个注册和发现中心的所有资源构成一个相对独立的实体集合——网格社区。在网格社区中,除了用户和资源之外,还包括一些用户和资源都必须服从的策略。社区授权服务(CAS)就是网格社区中的一种策略,社区授权服务是一个以社区为单位建立可信任第三方并实现社区内资源访问控制的机制,即在每一个社区内部建立一个社区授权服务器来维护社区的策略。
本文的网格与对等网络的混合计算环境是将社区授权服务器作为可信的上层节点,是计算任务的调度者与管理者,社区中的资源和用户统统作为下层的对等网络服务提供者PP(P2P provider)。网格与对等网络的混合计算环境也采用了基于角色的访问控制方法。
但是在这种网格与对等网络的混合计算环境中,由于对等网络不提供此QoS保证,因此恶意欺骗的实体总是存在,服务的质量无法得到保证,为了保证服务质量,一种可行的方法是对每个对等网络服务提供者节点评定信任度,从而根据实体行为的信任模型来动态改变用户的角色,实现网格的动态性特点。

发明内容
技术问题本发明的目的是提供一种基于信任模型的动态角色访问控制方法,解决网格与对等网络的混合计算环境中的安全性和动态性问题,构建网格与对等网络的混合计算环境中对用户进行授权的安全体系结构。利用信任模型和基于角色的访问控制机制对网格社区中的资源提供者和资源消费者实施安全保护。
技术方案本发明的方法是一种改进性的方法,通过对社区授权服务机制中的基于角色的访问控制机制的改进而提出,根据信任模型算法算出实体的信任度,进而当实体作为网格社区中的用户时,社区授权服务机制能依据实体信任度动态改变用户实体的角色,其目标是解决网格与对等网络的混合计算环境中如何对用户访问资源时进行授权的问题。
下面给出该模型中的几个概念网格社区(Grid Community)在网格环境中,资源需求相对集中的一个用户群构成一个用户集合,其中的所有用户与注册在注册和发现中心的所有资源构成的一个相对独立的实体集合。
社区授权服务(Community Authorization Service)是一个以社区为单位建立可信任第三方并实现社区内资源访问控制的机制。
Grid与P2P的混合计算环境(Mixed Computing environment Of Grid andP2P)将CAS服务器作为可信的上层节点,是计算任务的调度者与管理者,社区中的资源和用户作为下层的P2P服务提供者PP(P2P provider)。
基于角色访问控制(Role Based Access Control)在用户(user)和访问权限(permission)之间引入角色(role)的概念,角色可以根据实际的工作需要生成或取消,CAS数据库中存储着用户相应的角色。
用户实体信任度(Trust level of User)在网格社区内进行实体评价信息的统计,用于动态改变用户实体的角色。
信任模型算法(Algorithm of Trust Model)对实体得到的评价反馈进行统计计算所使用的算法。
评价主体即需要对其他实体进行信任度评价的实体,也是信任模型的使用者。
评价客体即评价主体准备进行信任度评价的评价客体,评价客体n为第n个评价客体。
参考实体即网络中除评价主体外和评价客体进行过交互的实体。
链路实体行为。即当实体间进行了一次交互,就可以视作在这两个实体之间建立了一条链路。
直连链路评价主体与评价客体之间的链路。
参考链路评价客体和参考实体之间的链路。
本发明的基于信任模型的动态角色访问控制方法是将信任模型运用到访问控制机制中,利用信任模型解决Grid与P2P的混合计算环境(Grid&P2P)中角色的动态变化的问题,具体如下步骤1).用户实体首先得到一个标准的用户证书,然后向社区授权服务“CAS”服务器提交证书和声明所需的资源,请求授权,步骤2).社区授权服务“CAS”服务器访问社区授权服务“CAS”数据库,确定用户实体的角色,以判断有无权限访问资源,步骤3).若网格用户有权限访问资源,则社区授权服务“CAS”服务器用其私钥签署一个授权策略声明返回给用户,
步骤4).用户将声明和资源请求提交给要使用的网格资源,步骤5).通过本地策略,网格资源服务器判断是否提供服务给用户,步骤6).在完成任务的过程中,用户和每个需要用到的资源重复步骤1)~步骤5),步骤7).用户在与每个资源进行交互之后,双方都会产生一个相应的评价,步骤8).所有的评价都被提交到信任度管理数据库,步骤9).信任度管理服务器提取信任度管理数据库中的数据,准备对评价客体n进行信任度计算,步骤10).查询得到和评价客体n的全部直接链路,步骤11).计算得到直接链路平均信任度,步骤12).查询得到和评价客体n的全部参考链路,步骤13).查询全部参考实体的评价准确度,步骤14).计算得到参考链路平均信任度,步骤15).计算评价客体n的最终信任度,步骤16).信任度管理服务器将数据传回给信任度管理数据库,并更新其中的实体信任度纪录,步骤17).更新信任度管理数据库中参考实体的评价准确度,步骤18).实体的信任度被提交到社区授权服务“CAS”数据库,步骤19).当实体作为网格社区的用户时,根据实体信任度确定其角色,至此,一个动态角色访问控制方法的具体实施过程结束。
有益效果本发明方法提出了一种针对于网格和对等网络融合环境下的高效便捷的访问控制新方法,主要用于解决网格社区中对客户端进行访问控制的问题,通过使用本发明提出的方法可以避免实体欺骗行为和实现动态性,可以有效的达到网格社区中对客户端的访问控制的目的。下面我们给出具体的说明。
动态性根据实体信任度和评价准确度算法算出实体的信任度,实体可以周期进行其他实体的信任度和评价准确度的更新,进而当实体作为网格社区中的用户时,社区授权服务“CAS”能依据实体信任度动态实时地改变用户实体的角色。
可信任性本发明方法中使用的信任模型是可靠的,可以防止实体欺骗行为。在网格和对等网络融合的环境中,存在一种伪造实体行为,实体自己注册一些实体与自己进行交互,并对这些行为给予很高的评价,借此提高自己的信任度评价。在本模型中,只有来自信任度高的实体的正面评价才能提高对端实体的信任度,信任度一般的实体对对端实体的信任度几乎没有影响,而信任度很低的实体对对端实体的正面评价甚至会降低端实体的信任度。在本模型中,注册实体的初始信任度设置为0,这意味着这些实体的评价对于其他实体的影响很小,因此通过注册实体并伪造实体行为在本信任模型中是无效的。
合理性本访问控制方法中在引入反馈信息时,不但将正面评价和负面评价均引入信任模型中,而且考虑到反馈信息提供者的可信任度,使得反馈信息更加合理。
准确性本方法中不仅考虑到实体欺骗行为的可能性,而且加入了惩罚欺骗行为的仲裁模块,增加了系统的准确度。


图1是社区授权服务的框架图。
图2是使用基于信任模型的动态角色访问控制方法进行网格访问控制机制的参考体系结构示意图。
图3是实体的网格社区模型。
图4是本发明访问控制方法的流程图。
具体实施例方式
一、体系结构图2给出了一个使用本方法的访问控制的组成结构图,与Grid与P2P的混合计算环境(Grid&P2P)中传统的社区授权机制不同,这种结构的特点主要体现在增加了信任度管理单元和仲裁模块。信任度管理单元TMU(Trust-levelManagement Unit)包括信任度管理服务器TMS(Trust-level Management Sever)和信任度管理数据库TMD(Trust-level Management Database)两个部分。
下面给出具体部分的说明信任度管理服务器信任度管理服务器是一个通过信任度算法计算实体信任度从而改变用户角色的控制部分。根据用户的表现改变用户的角色以此来保证网格的安全。
信任度管理数据库信任度管理数据库用来存储网格社区中实体的信任度,每次网格社区中一次交互结束后,信任度管理数据库中存储的信任度会有所改变,体现了网格的动态性。
仲裁模块仲裁模块将实体对其他实体的评价的准确度和实体自身的可信任度相关联,和实体的真实信任度相差太多的评价会降低评价者的信任度,防止恶意评价,从而确保了评价的公正性。
二、方法流程1、网格用户请求访问资源在社区授权服务系统中,网格社区中所有实体的初始信任度为0,用户实体首先得到一个标准的用户证书,然后向社区授权服务“CAS”服务器提交证书和声明所需的资源,请求信任及授权,社区授权服务“CAS”服务器访问社区授权服务“CAS”数据库,确定用户实体的角色和是否有权限访问资源,然后用社区授权服务“CAS”的私钥签署一个授权策略声明返回给社区授权服务“CAS”用户,最后用户将这个声明和证书提交给要使用的网格资源。网格资源服务器通过验证用户的策略声明来决定是否提供服务即响应用户。
在这个过程中,用户可能和几十个甚至上百个资源进行了交互,每个资源实体带有恶意的概率是不一样的,每个交互结束后,两个交互的实体对对方会有个相应的评价,所有的评价都被提交到信任度管理数据库,由信任度管理服务器根据相应的评价计算实体的信任度。
2、生成实体信任度以图3为例,如果实体1要对实体5行信任度评价,那么实体1为评价主体,实体5为评价客体。实体2,3,4为参考实体。链路1和2为直连链路,链路4,5,6,7,8则是参考链路。
链路的权值是实体对某次交互对端实体的行为质量的评价。为简化模型,本模型中权值的取值和信任度的取值相同。
本方法中的信任模型的信任度取值如表1所示。
表1 信任度取值


较好的信任度等级取值为正值,较差的信任度则为负值。这样取值是为了体现不同信任度的实体对其他实体信任度的影响。实体的初始信任度则为0,表示这类实体暂时无法对其他实体的信任度产生影响。
本信任模型中用到两个算法,分别是信任度管理服务器中使用的信任度算法和仲裁模块中使用的评价准确度算法。
(1)实体信任度算法假设实体m为评价主体,它需要对评价客体n进行信任度计算。链路记为l(i,u,v),其中i为链路编号,u为评价主体,v为评价客体。实体m和实体n之间的直连链路记为l(i,m,n),而所有直连链路构成直连链路集合,记为D。实体n的参考链路记为l(i,u,n),所有参考链路则构成参考链路集合,记为R。所有n的参考实体构成参考实体集合,记为RE。各链路集合中链路数量表示为S(D),S(R)。
直连链路集合中的链路权值记为W(i,m,n),i∈D,m为评价主体,n为评价客体。参考链路集合中每条链路的权值记为V(i,u,n),i∈R,u∈RE,n为评价客体。
评价准确度记为A(u)。
则实体信任度算法公式如式(1)所示。

公式中前一项计算得到参考链路平均信任度,后一项计算得到直连链路平均信任度。
式中0<α,β<1,且α+β=1α和β是权重因子,算法使用它们来调节直接链路和参考链路在信任度计算中的比重。
如果信任模型的使用者不希望对这些不同进行区别,只需要令α=β=0.5即可。
(2)评价准确度算法评价准确度是衡量一个实体对其他实体的评价的诚实度。在本信任模型中引入评价准确度的目的是建立一个仲裁模块。
这个仲裁模块的作用是降低实体欺骗行为的发生概率,确保评价的公正性。如果一个实体经常做出和其他实体大相径庭的评价,那么他的可信任度就会大大降低,从而失去网格中其他实体的信任。
假设评价主体是m,评价客体是n,也就是实体m需要计算实体n的评价准确度。
所有n的参考实体构成参考实体集合,记为RE。参考实体数量记为S(RE)。
仲裁模块中使用的评价准确度算法公式如式(2)所示。
An=1-ΣI∈RE(Tn(i)-Tm(i))Tbest-TworstS(RE)]]>式中Tn(i),i∈RE,是实体n对每个参考实体计算得到的信任度,信任度计算用式(1).
Tm(i),i∈RE,是参考实体的真实信任度。
Tbest和Tworst分别为最高信任度和最低信任度。Tbest=1,Tworst=-1。
3、更改用户实体信任度每次交互结束后,两个交互的实体对对方会有个相应的评价,由信任度管理服务器根据相应的评价计算实体的信任度,然后将信任度提交到社区授权服务“CAS”数据库,接着更新信任度管理数据库。实体可以周期进行其他实体的信任度和评价准确度的更新,以便在当实体作为网格社区中的用户时,社区授权服务“CAS”能依据实体信任度动态实时地改变用户实体的角色。
在本网格环境中,角色被分为三种角色1信任度为0.33-1,能够提交作业和资源。
角色2信任度为-0.33-0.33,能够提交资源,但不能提交作业。
角色3信任度为-1-0.33,既不能提交作业也不能提交资源,只能浏览。
为了方便对本发明作更详细的描述,我们假定有如下应用实例一个网格社区的用户要使用某个网格服务来完成任务,在通过认证之后,接着就需要对其进行访问控制,使用基于信任模型的动态角色访问控制方法的具体实施方式
为(1)用户实体首先得到一个标准的用户证书,然后向社区授权服务“CAS”服务器提交证书和声明所需的资源,请求授权,(2)社区授权服务“CAS”服务器访问社区授权服务“CAS”数据库,确定用户实体的角色,以判断有无权限访问资源,(3)若网格用户有权限访问资源,则社区授权服务“CAS”服务器用社区授权服务“CAS”的私钥签署一个授权策略声明返回给用户。
(4)用户将声明和资源请求提交给要使用的网格资源,(5)通过本地策略,网格资源服务器判断是否提供服务给用户,(6)在完成任务的过程中,用户和每个需要用到的资源重复步骤(1)~(5),(7)用户在与每个资源进行交互之后,双方都会产生一个相应的评价,(8)所有的评价都被提交到信任度管理数据库,(9)信任度管理服务器提取信任度管理数据库中的数据,准备对评价客体n进行信任度计算,①查询得到和评价客体n的全部直接链路,②计算得到直接链路平均信任度,③查询得到和评价客体n的全部参考链路,④查询全部参考实体的评价准确度,⑤计算得到参考链路平均信任度,⑥计算评价客体n的最终信任度,(10)信任度管理服务器将数据传回给信任度管理数据库,并更新其中的实体信任度纪录,(11)更新信任度管理数据库中参考实体的评价准确度,(12)实体的信任度被提交到社区授权服务“CAS”数据库,(13)当实体作为网格社区的用户时,根据实体信任度确定其角色,至此,一个动态角色访问控制方法的具体实施过程结束。
权利要求
1.一种基于信任模型的动态角色访问控制方法,其特征在于将信任模型运用到访问控制机制中,利用信任模型解决网格与对等网络的混合计算环境中角色的动态变化的问题,具体如下步骤1).用户实体首先得到一个标准的用户证书,然后向社区授权服务器提交证书和声明所需的资源,请求授权,步骤2).社区授权服务器访问社区授权服务数据库,确定用户实体的角色,以判断有无权限访问资源,步骤3).若网格用户有权限访问资源,则社区授权服务器用社区授权服务的私钥签署一个授权策略声明返回给用户,步骤4).用户将声明和资源请求提交给要使用的网格资源,步骤5).通过本地策略,网格资源服务器判断是否提供服务给用户,步骤6).在完成任务的过程中,用户和每个需要用到的资源重复步骤1)~步骤5),步骤7).用户在与每个资源进行交互之后,双方都会产生一个相应的评价,步骤8).所有的评价都被提交到信任度管理数据库,步骤9).信任度管理服务器提取信任度管理数据库中的数据,准备对评价客体n进行信任度计算,步骤10).查询得到和评价客体n的全部直接链路,步骤11).计算得到直接链路平均信任度,步骤12).查询得到和评价客体n的全部参考链路,步骤13).查询全部参考实体的评价准确度,步骤14).计算得到参考链路平均信任度,步骤15).计算评价客体n的最终信任度,步骤16).信任度管理服务器将数据传回给信任度管理数据库,并更新其中的实体信任度纪录,步骤17).更新信任度管理数据库中参考实体的评价准确度,步骤18).实体的信任度被提交到社区授权服务数据库,步骤19).当实体作为网格社区的用户时,根据实体信任度确定其角色,至此,一个动态角色访问控制方法的具体实施过程结束。
全文摘要
基于信任模型的动态角色访问控制方法是一种动态访问控制的安全解决方案,主要用于解决网格与对等网络的混合计算(Grid&P2P)环境下的安全问题,该方法将信任模型运用到访问控制机制中,利用信任模型解决网格与对等网络的混合计算环境中角色的动态变化的问题,解决网格与对等网络的混合计算环境中的安全性和动态性问题,构建网格与对等网络的混合计算环境中对用户进行授权的安全体系结构。利用信任模型和基于角色的访问控制机制对网格社区中的资源提供者和资源消费者实施安全保护。
文档编号H04L12/24GK1805449SQ200610037758
公开日2006年7月19日 申请日期2006年1月13日 优先权日2006年1月13日
发明者王汝传, 张梅, 杨庚 申请人:南京邮电大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1