冲突检测方法和检测设备、访问控制方法和访问控制装置与流程

文档序号:15455276发布日期:2018-09-15 00:56阅读:116来源:国知局
本公开涉及网络安全中的访问控制领域,更具体地,本公开涉及一种基于位置区域和角色的访问控制规则的冲突检测方法和冲突检测设备,以及基于位置区域和角色的访问控制方法和访问控制装置。
背景技术
:随着移动通信技术的发展,用户可以在任何位置访问网络资源。因而,用户所处的区域信息将成为访问控制模型的关键组成部分。例如,银行柜员仅能够在办公区中访问客户交易记录,但在拥有大量未授权人员的区域,如银行的走廊或接待室,此类敏感信息不应被访问,以免造成不必要的财产损失。与之类似的是,为了完成日常工作,公司职员可以在办公区访问网关,但为了防止在会议期间分心,在会议室里,应当禁止职员访问网关,尽管会议室也经常被包含在办公区内。此外,在实际应用中,用户被划分为不同的角色。例如,在办公室环境下,用户按照职务赋予各种角色,诸如访客、工程师、经理等。这一场景可以采用基于角色的访问控制(rbac)模型描述。进一步地,可以扩展传统的rbac模型,从而提供基于区域的支持。在通常情况下,一个访问控制系统拥有两个模块,其中一个模块用于根据用户的信息以及预先存储的访问控制规则做出决策;另一个模块用于执行访问控制决策。软件定义网络(sdn)尤其适合此类架构。具体地,sdn中的控制平面可以存储访问控制信息并做出决策;而sdn中转发平面可以根据决策信息转发数据包。作为全局服务器,sdn的控制平面应当拥有针对受控区域内所有资源的访问控制规则。然而,在基于区域的访问控制中,一个大的区域经常被划分为众多子区域。由于不同子区域内的访问控制规则通常是分开制定的,因而当来自不同子区域的访问控制规则集中至位于sdn的控制平面内的全局访问控制列表时,角色和/或区域的层次关系将有可能引起规则冲突。因此,希望提供一种基于位置区域和角色的访问控制规则的冲突检测方法,以及基于位置区域和角色的访问控制方法和访问控制装置,其能够在诸如sdn架构的集中式的控制机制下,有效地检测出全局访问控制列表中的访问控制规则的冲突,并且利用解决了访问控制规则冲突后的全局访问控制列表执行基于位置区域和角色的访问控制。技术实现要素:鉴于上述问题,本公开提供一种基于位置区域和角色的访问控制规则的冲突检测方法,以及基于位置区域和角色的访问控制方法和访问控制装置。根据本公开的一个实施例,提供了一种基于位置区域和角色的访问控制规则的冲突检测方法,包括:将访问控制的控制目标划分为多个位置区域,将所述控制目标中的多个用户划分为多个角色,建立所述多个位置区域的区域层次关系以及所述多个角色的角色层次关系;基于所述区域层次关系以及所述角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则,以及访问控制规则的冲突类型;基于所述区域层次关系以及所述角色层次关系,建立所述访问控制规则集合的区域树索引;以及基于所述效果传递规则和所述冲突类型,检索所述区域树索引,检测所述访问控制规则集合中的访问控制规则的冲突。此外,根据本公开的一个实施例的冲突检测方法,其中所述区域层次关系为定义在多个位置区域的集合上的偏序关系,并且以关系矩阵表示所述区域层次关系中每个偏序关系;以及所述角色层次关系为定义在多个角色的集合上的偏序关系,并且以增强哈斯图表示所述角色层次关系中的每个偏序关系。此外,根据本公开的一个实施例的冲突检测方法,其中所述效果传递规则包括:对于所述多个位置区域中的第一位置区域和第二位置区域的区域传递规则,如果满足所述第一位置区域位于所述第二位置区域的低层,则对于同一角色,其在所述第一位置区域中的允许规则传递到所述第二位置区域,并且其在所述第二位置区域中的禁止规则传递到所述第一位置区域;以及对于所述多个角色中的第一角色和第二角色的角色传递规则,如果满足所述第一角色位于所述第二角色的低层,则对于同一位置区域,所述第一角色的允许规则传递到所述第二角色,并且所述第二角色的禁止规则传递到所述第一角色。此外,根据本公开的一个实施例的冲突检测方法,其中所述访问控制规则的冲突类型包括:违反所述区域传递规则的第一冲突类型;违反所述角色传递规则的第二冲突类型;以及同时违反所述区域传递规则和所述角色传递规则的第三冲突类型。此外,根据本公开的一个实施例的冲突检测方法,其中所述区域树的每个结点分别对应于所述多个位置区域中的每个位置区域,所述区域树的两个结点之间的有向边对应于与所述两个结点分别对应的两个位置区域之间的偏序关系,并且所述基于所述区域层次关系以及所述角色层次关系,建立所述访问控制规则集合的区域树索引包括:在所述区域树的每个结点上添加指针,所述指针指向所述每个结点的访问控制规则列表;在所述访问控制规则列表内,在不同的存储单元存储允许访问控制规则与禁止访问控制规则;以及在所述访问控制规则列表内,根据角色分组存储访问控制规则。此外,根据本公开的一个实施例的冲突检测方法,其中基于所述效果传递规则和所述冲突类型,检索所述区域树索引,检测所述访问控制规则集合中的访问控制规则的冲突包括:对于所述区域树索引的每个结点,对于其访问控制规则列表中的每条允许访问控制规则,与所述访问控制规则列表中的每条禁止访问控制规则比较,以检测属于所述第一冲突类型的访问控制规则,并且遍历所述每个结点的每个祖先结点,获取并且比较所述每个祖先结点的每个访问控制规则列表中的每条禁止访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则;以及对于所述区域树索引的每个结点,对于其访问控制规则列表中的每条禁止访问控制规则,与所述访问控制规则列表中的每条允许访问控制规则比较,以检测属于所述第一冲突类型的访问控制规则,并且遍历所述每个结点的每个后裔结点,获取并且比较所述每个后裔结点的每个访问控制规则列表中的每条允许访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则。此外,根据本公开的一个实施例的冲突检测方法,其中基于所述效果传递规则和所述冲突类型,检索所述区域树索引,检测所述访问控制规则集合中的访问控制规则的冲突包括:对于所述区域树索引的每个结点,获取与其访问控制规则列表中的待检测访问控制规则对应于的角色;确定所述增强哈斯图中与所述角色对应的结点;在所述待检测访问控制规则为允许访问控制规则的情况下,遍历所述增强哈斯图中与所述角色对应的结点的每个后裔结点,获取并且比较所述每个后裔结点的每个访问控制规则列表中的与所述角色对应的每条禁止访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则;以及在所述待检测访问控制规则为禁止访问控制规则的情况下,遍历所述增强哈斯图中与所述角色对应的结点的每个祖先结点,获取并且比较所述每个祖先结点的每个访问控制规则列表中的与所述角色对应的每条允许访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则。根据本公开的另一个实施例,提供了一种基于位置区域和角色的访问控制规则的冲突检测设备,包括:层次关系建立单元,配置为将访问控制的控制目标划分为多个位置区域,将所述控制目标中的多个用户划分为多个角色,建立所述多个位置区域的区域层次关系以及所述多个角色的角色层次关系;传递规则确定单元,配置为基于所述区域层次关系以及所述角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则,以及访问控制规则的冲突类型;区域树索引建立单元,配置为基于所述区域层次关系以及所述角色层次关系,建立所述访问控制规则集合的区域树索引;以及冲突检测单元,配置为基于所述效果传递规则和所述冲突类型,检索所述区域树索引,检测所述访问控制规则集合中的访问控制规则的冲突。根据本公开的又一个实施例,提供了一种基于位置区域和角色的访问控制方法,包括:接收对于控制目标的访问请求;确定发送所述访问请求的用户的角色以及所处位置区域;基于所述角色、所述位置区域以及所述访问请求,检索访问控制规则集合,确定匹配所述访问请求的访问控制规则;将所述访问控制规则转换为转发规则;以及根据所述转发规则对所述访问请求执行响应,其中,所述控制目标划分为多个位置区域,所述控制目标中的多个用户划分为多个角色,建立所述多个位置区域的区域层次关系以及所述多个角色的角色层次关系;基于所述区域层次关系以及所述角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则,以及访问控制规则的冲突类型;基于所述区域层次关系以及所述角色层次关系,建立所述访问控制规则集合的区域树索引;以及基于所述效果传递规则和所述冲突类型,检索所述区域树索引,检测并且解决了所述访问控制规则集合中的访问控制规则的冲突。根据本公开的再一个实施例,提供了一种基于位置区域和角色的访问控制装置,包括:转发设备,配置为接收对于控制目标的访问请求;控制设备,配置为对于所述访问请求执行访问控制,其中,所述控制设备包括角色确定单元,用于确定发送所述访问请求的用户的角色;定位单元,用于确定发送所述访问请求的用户的所处位置区域;以及访问控制单元,基于所述角色、所述位置区域以及所述访问请求,检索访问控制规则集合,确定匹配所述访问请求的访问控制规则,并且将所述访问控制规则转换为转发规则并且提供给所述转发设备,所述转发设备根据所述转发规则对所述访问请求执行响应,其中,所述控制目标划分为多个位置区域,所述控制目标中的多个用户划分为多个角色,建立所述多个位置区域的区域层次关系以及所述多个角色的角色层次关系;基于所述区域层次关系以及所述角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则,以及访问控制规则的冲突类型;基于所述区域层次关系以及所述角色层次关系,建立所述访问控制规则集合的区域树索引;以及基于所述效果传递规则和所述冲突类型,检索所述区域树索引,检测并且解决了所述访问控制规则集合中的访问控制规则的冲突。根据本公开的再一个实施例,提供了一种基于位置区域和角色的访问控制规则的冲突检测和访问控制设备,包括:处理器;以及存储器,配置为存储计算机程序指令;其中,在所述计算机程序指令被所述处理器运行时,执行前述的冲突检测方法以及访问控制方法。根据本公开的实施例的基于位置区域和角色的访问控制规则的冲突检测方法,以及基于位置区域和角色的访问控制方法和访问控制装置,通过基于区域层次关系以及角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则以及访问控制规则的冲突类型,并且通过建立访问控制规则集合的区域树索引高效地存储与检索访问控制规则,实现有效地检测出全局访问控制列表中的访问控制规则的冲突,并且进一步地利用解决了访问控制规则冲突后的全局访问控制列表执行基于位置区域和角色的访问控制。要理解的是,前面的一般描述和下面的详细描述两者都是示例性的,并且意图在于提供要求保护的技术的进一步说明。附图说明通过结合附图对本公开的实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开的实施例的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。图1是图示根据本公开的实施例的访问控制场景的示意图;图2是图示根据本公开的实施例的访问控制规则的冲突检测方法的流程图;图3是图示根据本公开的实施例的访问控制规则集合的区域树的示意图;图4是图示根据本公开的实施例的角色层次关系的增强哈斯图的示意图;图5是图示根据本公开的实施例的访问控制规则的冲突检测方法中的区域树索引建立处理的流程图;图6是图示根据本公开的实施例的区域树索引的示意图;图7是图示根据本公开的实施例的基于区域树索引的冲突检测处理的流程图;图8是图示根据本公开的实施例的基于区域树索引和增强哈斯图的冲突检测处理的流程图;图9是图示根据本公开的实施例的访问控制规则的冲突检测设备的功能框图;图10是图示根据本公开的实施例的访问控制方法的流程图;图11是图示根据本公开的实施例的访问控制装置的示意图;以及图12是图示根据本公开的实施例的冲突检测和访问控制设备的配置框图。具体实施方式为了使得本公开的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。基于本公开中描述的实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本公开的保护范围之内。以下,将参考附图详细描述本公开的实施例。图1是图示根据本公开的实施例的访问控制场景的示意图。如图1所示,作为访问控制的控制目标可以是由多个楼层组成的办公楼,图1中示出了其中一个楼层。该楼层被划分为多个位置区域,例如包括会议室101、办公区102、休息区103和经理室104。此外,在作为访问控制的控制目标的办公楼中存在多个用户,多个用户被划分为多个角色,例如包括经理、工程师、雇员和访客等。进一步地,在作为访问控制的控制目标的办公楼中存在多个访问控制的客体(即,访问的对象),例如包括打印机、投影仪、网关等。在特定位置区域的特定角色可以请求对于特定客体的操作,例如使用、读写等。根据本公开的实施例的访问控制方法就是响应于在特定位置区域的特定角色对于特定客体的访问请求,获得访问控制效果,例如包括允许和禁止。role、operation、object、location和effect分别为角色、操作、客体、区域和效果的集合,则访问控制规则rule为一个五元组,形式化的定义为rule=<role,operation,object,effect,location>,其中role∈role、operation∈operation、object∈object、location∈location。effect为“效果”字段,且effect=permit|deny。如果effect=permit,这条访问控制规则被称作“允许规则”;否则,如果effect=deny,这条规则被称作“禁止规则”。在如图1所示的访问控制场景中,客体的位置一般是固定的,因而规则内的区域(location)字段表示角色所处的区域位置。例如,一条访问控制规则的内容为:<engineer,write,databaseserver,permit,engineeroffice>,其表示当工程师位于工程师办公室内时,他将被允许往数据库服务器内写入数据。另一条访问控制规则为:<engineer,use,netgate,deny,meetingroom>,其表示当工程师位于会议室时,他将被禁止使用网关。进一步地,如图1所示的访问控制场景中,可能分开制定不同子区域(例如,会议室101、办公区102、休息区103和经理室104)内的访问控制规则,即设置一组访问控制规则的集合作为该子区域的访问控制列表(acl)。当来自不同子区域的访问控制规则并集作为全局访问控制列表时,很可能出现规则冲突。以下,将进一步参照图2到图8详细描述根据本公开的实施例的访问控制规则的冲突检测方法。图2是图示根据本公开的实施例的访问控制规则的冲突检测方法的流程图。如图2所示的冲突检测方法用于在诸如sdn架构的集中式的控制机制下,有效地检测出全局访问控制列表中的访问控制规则的冲突。具体地,如图2所示,根据本公开的实施例的访问控制规则的冲突检测方法包括以下步骤。在步骤s201中,建立多个位置区域的区域层次关系以及多个角色的角色层次关系。如上参照图1所示,将访问控制的控制目标划分为多个位置区域,将所述控制目标中的多个用户划分为多个角色,以便建立所述多个位置区域的区域层次关系以及所述多个角色的角色层次关系。具体地,在区域层次关系方面,区域可以被视作具有明确边界的二维空间,也可以被视作二维坐标点的集合。对于诸如办公室环境的控制目标,可以限定所有的区域均为多边形,并且两两不会相交。因而,给定两个区域loc1与loc2,仅存在两类关系,即包含关系和相离关系。对于包含关系来说,当且仅当loc1的每一个顶点v,v位于loc2中或者v位于loc2的边上时,定义为loc1包含于loc2。可以定义loc1是loc2的子区域,记为loc1<loc2.并称loc1位于低层,loc2位于高层。对于相离关系来说,当且仅当loc1的每一个顶点v,v位于loc2之外或者v位于loc2的边上时,定义为loc1与loc2相离。基于上述概念,区域层次关系rl定义为集合location上的偏序关系,如下表达式所示。rl={<loc1,loc2>|loc1<loc2}表达式(1)在rl中存在一个最大元lmax,对于任意区域l,都满足l<lmax。例如,在办公室环境中,lmax可以为写字楼的一个楼层。基于上述区域层次关系,可以建立一棵称作“区域树”的有向树。区域树的结点为区域层次关系rl中的各个区域,其中lmax为其根结点,区域树的有向边集通过如下二元关系rt定义。给定一个用n×n关系矩阵表示的区域层次关系rl,n为区域集合location中元素的数量,则有rt=((rl-il)-(rl-il)2)-1表达式(2)其中,il为n×n的单位矩阵。如果矩阵rt第i行第j列的值为1,那么在所述区域树中,存在从区域i结点指向区域j结点的有向边。图3是图示根据本公开的实施例的访问控制规则集合的区域树的示意图。如图3所示,在以楼层作为根结点的该区域树中,存在从楼层区域指向位于其低层的走廊区域和办公区区域的有向边,以及从办公区区域指向位于其低层的经理办公室区域、工程师办公室区域以及会议室区域的有向边。楼层区域包含位于其低层的所有区域,办公室区域包括位于其低层的所有区域,而走廊区域和办公区区域为相离关系,并且经理办公室区域、工程师办公室区域以及会议室区域为相离关系。在角色层次关系方面,类似于区域层次关系,角色层次关系为定义在多个角色的集合上的偏序关系。如果role1<role2,则定义role1位于低层,role2位于高层。容易理解的是,在role1<role2的情况下,当在任意区域中,如果role1被允许通过某一操作访问某一客体,那么role2也应当被允许以同样的操作访问同一客体。在本公开的实施例中,利用增强哈斯图表示角色层次关系。图4是图示根据本公开的实施例的角色层次关系的增强哈斯图的示意图。在如图4所示的增强哈斯图中,存在最小元rolemin(如图4中的雇员角色),最小元rolemin意味着对于除以外的其他任意角色role,均有rolemin<role。此外,还存在最大元rolemax(如图4中的经理角色)。最大元rolemax意味着对于除rolemax自身以外的其他任意角色role,均有role<rolemax。在任意区域中,rolemax拥有的许可是其他所有角色拥有许可的并集。此外,在如图4所示的增强哈斯图中,对于在普通哈斯图中role1与role2(role1<role2)之间的一条边,将此边增强表示为两条有向边。在所述两条有向边中,其中一条从role1指向role2,诸如402;另一条从role2指向role1,诸如401。因此,所述增强哈斯图为有向图模型。对于任意角色(例如,role2∈role),如果存在role1<role2,则定义role2为role1的后裔结点,role1为role2的祖先结点。设从后裔结点指向祖先结点的有向边构成的集合为edown,如图4中用实线表示的有向边;从祖先结点指向后裔结点的有向边构成的集合为eup,如图4中用虚线表示的有向边。以上,参照图3和图4描述了根据本公开的实施例的访问控制规则的冲突检测方法中的区域树和增强哈斯图,返回继续描述如图2所示冲突检测方法的流程。在步骤s201中建立多个位置区域的区域层次关系以及多个角色的角色层次关系之后,处理进到步骤s202。在步骤s202中,基于区域层次关系以及角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则,以及访问控制规则的冲突类型。具体地,在本公开的实施例中,所述效果传递规则包括由于区域层次关系引起的区域传递规则以及由于角色层次关系引起的角色传递规则。在区域传递规则方面,如果满足所述第一位置区域位于所述第二位置区域的低层,则对于同一角色,其在所述第一位置区域中的允许规则传递到所述第二位置区域,并且其在所述第二位置区域中的禁止规则传递到所述第一位置区域。例如,如图3所示的工程师办公室区域<办公区区域,如果一名工程师身处工程师办公室时,被允许使用打印机,那么他在办公区中也应当被允许使用打印机;当一名工程师在办公区内被禁止使用投影仪时,则他在工程师办公室中时,也应当被禁止使用投影仪。在角色传递规则方面,对于所述多个角色中的第一角色和第二角色的角色传递规则,如果满足所述第一角色位于所述第二角色的低层,则对于同一位置区域,所述第一角色的允许规则传递到所述第二角色,并且所述第二角色的禁止规则传递到所述第一角色。例如,如图4所示的硬件工程师角色<经理角色,当硬件工程师和经理身处同一区域时,如果硬件工程师被允许使用打印机,则经理也应被允许使用打印机;如果经理被禁止使用投影仪时,则硬件工程师也应被禁止使用打印机。也就是说,当其他元素(即,操作、客体)相同时,在区域层次关系和角色层次关系中,允许效果应从低层传递到高层,禁止效果应从高层传递到低层。如上所述,由于各个子区域的访问控制规则可能是分开制定的,因而当来自不同子区域的访问控制规则集中至全局访问控制列表时,可能出现不符合上述基于区域层次关系和角色层次关系的传递规则的访问控制规则冲突。具体地,访问控制规则的冲突类型包括:违反所述区域传递规则的第一冲突类型;违反所述角色传递规则的第二冲突类型;以及同时违反所述区域传递规则和所述角色传递规则的第三冲突类型。违反所述区域传递规则的第一冲突类型例如如下表1所示:角色区域许可效果规则1雇员办公区访问网关允许规则2经理办公区访问网关禁止表1违反所述角色传递规则的第二冲突类型例如如下表2所示:角色区域许可效果规则1经理经理办公室访问网关允许规则2经理办公区访问网关禁止表2同时违反所述区域传递规则和所述角色传递规则的第三冲突类型例如如下表3所示:角色区域许可效果规则1雇员会议室使用打印机允许规则2经理办公区使用打印机禁止表3在步骤s202中确定效果传递规则以及冲突类型之后,处理进到步骤s203。在步骤s203中,基于区域层次关系以及角色层次关系,建立访问控制规则集合的区域树索引。如前参照图3所述,区域树的每个结点分别对应于所述多个位置区域中的每个位置区域,所述区域树的两个结点之间的有向边对应于与所述两个结点分别对应的两个位置区域之间的偏序关系。在本公开的实施例中,为了进一步便利对于区域树的检索,对于区域树添加指针并且对于列表进行分类存储。以下,参照图5和图6进一步详细描述区域树索引建立处理以及区域树索引的示例。图5是图示根据本公开的实施例的访问控制规则的冲突检测方法中的区域树索引建立处理的流程图。图6是图示根据本公开的实施例的区域树索引的示意图。如图5所示,根据本公开的实施例的访问控制规则的冲突检测方法中的区域树索引建立处理包括以下步骤。在步骤s501中,在区域树的每个结点上添加指针,指针指向每个结点的访问控制规则列表。如图6所示,区域树索引的基础框架是参照图3所示的区域树。其构造方式为在所述区域树的每一个结点均增加一个指针,所述每一个指针均指向一张访问控制列表。例如,在办公区结点上添加指针601,指向了办公区结点的访问控制列表602。此后,处理进到步骤s502。在步骤s502中,在访问控制规则列表内,在不同的存储单元存储允许访问控制规则与禁止访问控制规则。如图6所示,在访问控制列表602中,允许访问控制规则与禁止访问控制规则被存储在不同的存储单元中。如下将详细描述的,如此基于允许和禁止分类存储访问控制规则,将便利对于区域树索引的检索。此后,处理进到步骤s503。在步骤s503中,在访问控制规则列表内,根据角色分组存储访问控制规则。如图6所示,在访问控制列表602中,雇员规则组与经理规则组被存储在不同的存储单元中。如下将详细描述的,如此基于角色分类存储访问控制规则,同样将便利对于区域树索引的检索。以上,参照图5和图6描述了区域树索引建立处理以及区域树索引的示例,返回继续描述如图2所示冲突检测方法的流程。在步骤s203中建立访问控制规则集合的区域树索引之后,处理进到步骤s204。在步骤s204中,基于效果传递规则和冲突类型,检索区域树索引,检测访问控制规则集合中的访问控制规则的冲突。以下,参照图7和图8进一步详细描述根据本公开的实施例的基于区域树索引的冲突检测处理。图7是图示根据本公开的实施例的基于区域树索引的冲突检测处理的流程图。如图7所示,根据本公开的实施例的基于区域树索引的冲突检测处理包括以下步骤。在步骤s701中,对于所述区域树索引的每个结点,对于其访问控制规则列表中的每条允许访问控制规则,与所述访问控制规则列表中的每条禁止访问控制规则比较,以检测属于所述第一冲突类型的访问控制规则。此后,处理进到步骤s702。在步骤s702中,对于所述区域树索引的每个结点,进一步遍历所述每个结点的每个祖先结点,获取并且比较所述每个祖先结点的每个访问控制规则列表中的每条禁止访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则。此后,处理进到步骤s703。在步骤s703中,对于所述区域树索引的每个结点,对于其访问控制规则列表中的每条禁止访问控制规则,与所述访问控制规则列表中的每条允许访问控制规则比较,以检测属于所述第一冲突类型的访问控制规则。此后,处理进到步骤s704。在步骤s704中,对于所述区域树索引的每个结点,遍历所述每个结点的每个后裔结点,获取并且比较所述每个后裔结点的每个访问控制规则列表中的每条允许访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则。通过图7所示的基于区域树索引的冲突检测处理,由于允许规则和禁止规则在区域树索引中被分开存储,可以实现有效地在区域树内查找一组允许或禁止规则。图8是图示根据本公开的实施例的基于区域树索引和增强哈斯图的冲突检测处理的流程图。如图8所示,根据本公开的实施例的基于区域树索引和增强哈斯图的冲突检测处理包括以下步骤。在步骤s801中,对于所述区域树索引的每个结点,获取与其访问控制规则列表中的待检测访问控制规则对应于的角色。在本公开的实施例中,待检测访问控制规则rule中的角色元素为role1。此后,处理进到步骤s802。在步骤s802中,确定所述增强哈斯图中与所述角色对应的结点。在本公开的实施例中,在如图4所示的增强哈斯图中获取role1对应的结点。此后,处理进到步骤s803。在步骤s803中,在所述待检测访问控制规则为允许访问控制规则的情况下,遍历所述增强哈斯图中与所述角色对应的结点的每个后裔结点,获取并且比较所述每个后裔结点的每个访问控制规则列表中的与所述角色对应的每条禁止访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则。在本公开的实施例中,如果所述待检测访问控制规则rule为允许规则,则首先在增强哈斯图中遍历以role1为起点,以所述最大元角色rmax为终点,由边集eup中的有向边组成的全部路径,即所述路径遍历到的全部结点均为role1的后裔结点。此后,在区域树索引中查找所述role1的后裔结点对应的拒绝规则集合rj,然后比较rule与所述拒绝规则集合rj中的每一条规则,以检测与rule之间属于所述第二冲突类型和所述第三冲突类型的所述拒绝规则集合rj中的访问控制规则。此后,处理进到步骤s804。在步骤s804中,在所述待检测访问控制规则为禁止访问控制规则的情况下,遍历所述增强哈斯图中与所述角色对应的结点的每个祖先结点,获取并且比较所述每个祖先结点的每个访问控制规则列表中的与所述角色对应的每条允许访问控制规则,以检测属于所述第二冲突类型和所述第三冲突类型的访问控制规则。在本公开的实施例中,如果所述待检测访问控制规则rule为禁止规则,则首先在增强哈斯图中遍历以role1为起点,以所述最小元角色rmin为终点,由边集edown中的有向边组成的全部路径,即所述路径遍历到的全部结点均为role1的祖先结点。此后,在区域树索引中查找所述role1的祖先结点对应的允许规则集合rp,然后比较rule与所述允许规则集合rp中的每一条规则,以检测与rule之间属于所述第二冲突类型和所述第三冲突类型的所述允许规则集合rp中的访问控制规则。通过图8所示的基于区域树索引和增强哈斯图的冲突检测处理,由于允许规则和禁止规则在区域树索引中被分开存储,并且由于在区域树索引中规则依据角色分组存储,可以在区域树内实现更有效地访问控制规则冲突的检索。以上,通过参照图2到图8描述了根据本公开的实施例的访问控制规则的冲突检测方法。在通过该冲突检测方法的冲突检测完成后,可以实现多种不同的方法解决冲突。例如,管理员可以删除某些冲突规则,或者赋予规则不同的优先级,使得相互冲突的规则中将只有一条规则被执行。此外,容易理解的是,以上各流程图中的步骤的描述顺序不旨在限定本公开,各步骤可以以不同于流程图中的顺序执行或者可以略过某些步骤的执行。图9是图示根据本公开的实施例的访问控制规则的冲突检测设备的功能框图。图9所示的冲突检测设备90用于执行以上参照图2到图8描述的根据本公开的实施例的访问控制规则的冲突检测方法。具体地,图9所示的冲突检测设备90包括层次关系建立单元901、传递规则确定单元902、区域树索引建立单元903以及冲突检测单元904。所述各个单元可分别执行上文中结合图2描述的冲突检测方法的各个步骤/功能。因此,以下仅对该冲突检测设备90的各单元的主要功能进行描述,而省略以上已经描述过的细节内容。层次关系建立单元904配置为将访问控制的控制目标划分为多个位置区域,将所述控制目标中的多个用户划分为多个角色,建立所述多个位置区域的区域层次关系以及所述多个角色的角色层次关系。传递规则确定单元902配置为基于所述区域层次关系以及所述角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则,以及访问控制规则的冲突类型。区域树索引建立单元903配置为基于所述区域层次关系以及所述角色层次关系,建立所述访问控制规则集合的区域树索引。冲突检测单元904配置为基于所述效果传递规则和所述冲突类型,检索所述区域树索引,检测所述访问控制规则集合中的访问控制规则的冲突。在通过以上参照图2到8描述的根据本公开的实施例的访问控制规则的冲突检测方法检测到并且解决了访问控制规则的冲突之后,访问控制规则可以用于基于位置区域和角色的访问控制。以下,将参照图10和图11进一步描述图示根据本公开的实施例的访问控制方法和装置。图10是图示根据本公开的实施例的访问控制方法的流程图。如图10所示,根据本公开的实施例的访问控制方法包括以下步骤。在步骤s1001中,接收对于控制目标的访问请求。此后,处理进到步骤s1002。在步骤s1002中,确定发送所述访问请求的用户的角色以及所处位置区域。此后,处理进到步骤s1003。在步骤s1003中,基于所述角色、所述位置区域以及所述访问请求,检索访问控制规则集合,确定匹配所述访问请求的访问控制规则。容易理解的是,用于对于访问请求进行响应的访问控制规则集合是如上参照图2到图8建立并且检测和解决了访问控制规则的冲突的访问控制规则集合。此后,处理进到步骤s1004。在步骤s1004中,将所述访问控制规则转换为转发规则。此后,处理进到步骤s1005。在步骤s1005中,根据所述转发规则对所述访问请求执行响应。通过图10所示的根据本公开的实施例的访问控制方法,实现了基于位置区域和角色的访问控制。图11是图示根据本公开的实施例的访问控制装置的示意图。根据本公开的实施例的访问控制装置可以执行图10所述的访问控制方法。具体地,在本公开的实施例中,通过sdn网络架构实现该访问控制方法。也就是说,根据本公开的实施例的访问控制装置总的包括控制设备1100和转发设备1201、1202和1203。所述控制设备1100配置为对于所述访问请求执行访问控制,而所述转发设备1201、1202和1203配置为接收对于控制目标的访问请求,以及根据由所述控制设备1100确定的转发规则对所述访问请求执行响应。更具体地,如图11所示,转发设备1201接收来自用户1300的访问请求(即,图10中的步骤s1001)。用户1300利用诸如笔记本电脑、平板电脑或者手机的客户端,通过有线或无线方式接入sdn网络。转发设备1201例如可以由交换机、路由器等配置。转发设备1201进一步将接收的访问请求转发给所述控制设备1100。如图11所示,所述控制设备1100包括定位单元1101、访问控制单元1102和角色确定单元1103。所述定位单元1101用于确定发送所述访问请求的用户的所处位置区域,并且所述角色确定单元1103用于确定发送所述访问请求的用户的角色(即,图10中的步骤s1002)。在本公开的实施例中,用户的区域信息和角色信息可以通过gps,wifi定位获取,但也可以通过不精确的方式,如ip网段获取。所述访问控制单元1102基于所述角色、所述位置区域以及所述访问请求,检索访问控制规则集合,确定匹配所述访问请求的访问控制规则(即,图10中的步骤s1003)。容易理解的是,在图11中,定位模块,定位单元1101、访问控制单元1102和角色确定单元1103描绘为部署于不同的设备上,但是本公开不限于与此,定位单元1101、访问控制单元1102和角色确定单元1103也可以部署于同一设备上。进一步地,所述访问控制单元110将检索到所述访问控制规则转换为转发规则并且提供给所述转发设备1201、1202和1203(即,图10中的步骤s1004)。从访问控制规则到转发规则的转化方式如下表4所示。访问控制规则转发规则角色客户端地址(如ip地址)操作tcp/udp端口号或协议类型客体服务器地址(如ip地址)效果—允许计算从客户端到服务器的转发路径效果—禁止丢弃来自客户端的数据包表4此后,所述转发设备根据1201、1202和1203所述转发规则对所述访问请求执行响应(即,图10中的步骤s1005)。在本公开的实施例中,所述转发设备根据1201、1202和1203根据从访问控制单元1102获得的转发规则,决定允许还是禁止用户1300对于目标1401、1402的访问请求。即,如果访问控制规则为允许规则,则提供从客户端到目标的转发路径;相反地,如果访问控制规则为禁止规则,则丢弃来自客户端的数据包。图12是图示根据本公开的实施例的冲突检测和访问控制设备的配置框图。如图12所示,根据本公开的实施例的冲突检测和访问控制设备12包括存储器121和处理器122。在所述存储器121上存储了计算机程序指令,所述计算机程序指令在被处理器122运行时执行如上参照图1到图11描述的冲突检测和访问控制方法。以上,参照附图描述了根据本公开的实施例的基于位置区域和角色的访问控制规则的冲突检测方法,以及基于位置区域和角色的访问控制方法和访问控制装置,通过基于区域层次关系以及角色层次关系,确定访问控制规则集合中的访问控制规则的效果传递规则以及访问控制规则的冲突类型,并且通过建立访问控制规则集合的区域树索引高效地存储与检索访问控制规则,实现有效地检测出全局访问控制列表中的访问控制规则的冲突,并且进一步地利用解决了访问控制规则冲突后的全局访问控制列表执行基于位置区域和角色的访问控制。以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本公开的方法和装置的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本公开的说明的情况下运用他们的基本编程技能就能实现的。因此,本公开的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本公开的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本公开,并且存储有这样的程序产品的存储介质也构成本公开。显然,所述存储介质可以是任何公知的存储介质或者将来所开发出来的任何存储介质。还需要指出的是,在本公开的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1