一种基于大数据的访问控制判定引擎优化系统及方法

文档序号:6544881阅读:153来源:国知局
一种基于大数据的访问控制判定引擎优化系统及方法
【专利摘要】一种基于大数据的访问控制判定引擎优化系统,由客户端和服务器端组成,服务器端负责对客户端发出的请求进行决策评估、授权及执行;分为四个部分:①原有的访问控制判定引擎及其基础设施部分,包括访问控制判定评估引擎模块、策略执行点、属性权威模块和策略库模块;②预处理框架置,用于访问控制判定引擎部署前的处理工作,包括属性预处理模块、第一阶段聚类模块、第二阶段聚类模块;③实时服务框架,用于处理服务器端运行时的实时请求,包括注册中心模块、映射关系模块、集合运算优化模块;④后台运维框架,包括新进实体登记模块、属性变更维护模块、策略变更维护模块和预备策略集模块。本发明具有高效性、高可用性、安全性、通用性的优点。
【专利说明】—种基于大数据的访问控制判定引擎优化系统及方法
【技术领域】
[0001]本发明属于信息安全的访问控制领域,具体涉及一种基于大数据的访问控制判定引擎优化系统及方法。
【背景技术】
[0002]随着现代互联网环境的开放度增加、区域互联增强、事物处理趋于多样化和复杂化,人类社会已经逐步迈入了大数据时代。大数据时代的一个显著特征就是用户海量化、资源海量化、交互关系日益复杂化,安全也自然而然成为了首要的问题之一。作为一种信息安全领域的重要技术手段,访问控制技术各方面的性能,在大数据环境下也面临着越来越多的挑战一突出的表现为:①安全性和可靠性要求越来越高,更多的强调细粒度的访问控制传统的访问控制手段授权粒度偏粗、可扩展性差,如封闭环境下的访问控制链(ACL)和访问控制矩阵(ACM)和半开放环境下的基于身份的访问控制(IBAC)、基于任务的访问控制(TBAC)以及基于角色的访问控制(RBAC)等,面对海量用户数据和复杂授权关系,表现出较差的兼容性和可扩展性;③绝大多数判定评估引擎的效率偏低。XACML(可扩展性访问控制标记语言),已逐渐成为多个企业应用和商业产品实现安全授权功能的实际标准,更是广泛的应用于基于属性的访问控制(ABAC),满足了细粒度访问控制、可扩展性、安全性等要求。然而,分布式资源共享、Web服务、域间协作等新兴业务需要制定大量的XACML策略条目对资源进行细粒度访问控制,但随着策略规模和策略语义复杂性的上升,策略评估效率已成为制约系统可用性的关键瓶颈。XACML规范中虽然给出了访问控制实施框架,但并没有提供策略分析、规则匹配、判定响应等相关的优化处理方法,这在很大程度上导致了 XACML策略评估引擎在处理策略信息检索、多策略匹配等问题时的实际性能指标偏低,具体表现为系统资源开销大、访问请求应答延时长、远程通信交互多,因而无法满足商业应用的高业务吞吐量。现有的相关工作主要集中在策略的建模、验证、分析和测试方面,虽然也有少数的工作来优化判定引擎的效率(如:XEngine,Enterprise XACML等),但是这些方案或者存在诸多的局限、或者在大数据环境下优化效果不够明显,因而都不能给出一种很好的解决方法。

【发明内容】

[0003]本发明技术解决问题:克服现有技术的局限性和低可用性的不足,提供一种基于大数据的访问控制判定引擎优化系统及方法,具有通用性好、安全性高、效率高的优点。
[0004]本发明技术解决方案:一种基于大数据的访问控制判定引擎优化系统,如图1所示,由客户端和服务器端组成,客户端用于向服务器端发出请求;服务器端负责对客户端发出的请求进行决策评估、授权及执行;在服务器端负责对客户端发出的请求进行决策评估、授权及执行。其中基于大数据是指以海量用户、海量资源和复杂授权关系为背景所提出的针对大数据的高效访问控制判定引擎的优化系统。部署在服务器端的系统可以划分为四部分主要部分:①原有的访问控制判定引擎及其基础设施,具体包括访问控制判定评估引擎、策略执行点、属性权威和策略库,这些组件构成了经典的PCIM通用访问控制架构(引用出处 Moore B, Ellesson E, Strassner J, et al.Policy core information model -versionlspecif ication [R].RFC3060, February, 2001.) !②预处理框架,该框架用于访问控制判定引擎部署前的处理工作,具体包括属性预处理模块、第一阶段聚类模块、第二阶段聚类模块;③实时服务框架,用于处理服务器端运行时的实时请求,具体包括注册中心模块、映射关系模块、集合运算优化模块;④后台运维框架,用于在整套访问控制判定引擎及优化系统部署后,为了应对实体数据高度动态的改变而可能导致的错误,而提出的运行维护装置,具体包括新进实体登记模块、属性变更维护模块、策略变更维护模块,一个存储模土夹——预备策略集模块。注意②③④三个部分是本优化系统在传统访问控制架构基础上新增的功能模块,依据其作用的时期来划分的(分别作用在系统部署前、部署中、部署后)。其中:
[0005]属性预处理模块,首先进行属性选择,根据属性权威模块提供的属性信息以及策略库模块提供的策略内容选择参与本系统优化的属性;再进行属性压缩,根据属性权威模块提供的属性信息,为每种属性的属性值预先建立好的属性层次树以及为每种属性预先设定的期待压缩后的属性值团的数量,针对每种选择出来的属性即关键属性分别进行压缩;压缩后将选择出的属性、及每种属性对应的压缩后的属性值团集合、每种属性对应的属性值团间的相似度关系发送给第一阶段聚类模块;所述属性是指描述实体的某些特征,所述实体包括主体和资源,所述实体分为真实实体和虚拟实体;所述属性分为种类属性和数字属性,所述种类属性是指一些字符串类型的属性,更多的表明一些性质上特点的属性;所述数字属性是一些数值类型,包括整型和实数型,更多的表明一些数量上的特征;所述属性信息就是属性集合;所述属性值是该属性可能的取值;所述属性值团是指多个属性值压缩后所在的小型集合(管理员规定参数,想小到什么程度就能小到什么程度,最小为1),是属性压缩技术的产物;所述属性层次树是指对于种类属性,对其下所属的属性值按照归属、包含的联系建立起来属性值之间的依赖关系,将这种依赖归结为树形结构;
[0006]第一阶段聚类模块,首先,初始化虚拟实体之间的相似关系,根据属性预处理模块的结果,计算任意两个虚拟实体之间的带权相似度;再根据经典的K-means算法进行适当调整,并根据两个虚拟实体之间的带权相似度对虚拟实体进行聚类,得到第一阶段簇FSC;然后,根据属性权威模块中的实体属性信息,对于各个簇,遍历所有的真实实体,将符合各簇的真实实体的标识加入到各簇中,获取该簇中虚拟实体对应的真实实体的集合;最后,通过对策略库模块中的策略进行修改,并采用策略模糊匹配来为各个第一阶段簇FSC寻找准适用策略,从而获取附属于各个第一阶段簇的准适用策略集F-pols,所述准适用策略指通过策略模糊匹配方法得到的适用策略集合;该模块执行完毕后将产生的所有的第一阶段簇FSC结果发送给第二阶段聚类模块;所述第一阶段簇FSC结果包括虚拟实体的集合、第一阶段准适用策略集F-pols、与该簇中虚拟实体对应的真实实体的集合;
[0007]第二阶段聚类簇模块,首先,初始化真实实体属性向量,即根据属性权威模块提供的属性信息,将所有的真实实体的数字属性组织成向量的形式;然后对每个第一阶段簇FSC中的真实实体,通过Fast Kmeans算法进一步聚类得到第二阶段簇SSC,执行过程中要保留各个第二阶段簇SSC的簇心即向量;再通过对策略库模块中的策略进行修改,并采用策略模糊匹配来为各个第二阶段簇SSC寻找准适用策略,获取各个第二阶段簇的准适用策略集S-pols ;最后将得到的所有第二阶段簇SSC结果发送给注册中心模块和映射关系模块;所述第二阶段簇SSC结果包括真实实体的集合、簇心、第二阶段准适用策略集S-pols ;
[0008]注册中心模块,根据第一阶段聚类簇模块和第二阶段聚类簇模块得到的结果,首先,建立主体登记表HashSetsub,遍历所有经过预处理后的主体即用户,将主体标识sub_ID添加到主体登记表HashSetsub中;然后建立资源登记表HashSeties,遍历所有经过预处理后的资源,将资源标识res_ID添加到资源登记表HashSeties中;同时接收策略库模块发出的查稳步请求,根据主识和资源的标识查询实体登记情况,并向映射关系模块发送响应;如果有实体未登记事件,则会触发后台运维服务中的新进实体登记模块;
[0009]映射关系模块,根据第一阶段聚类簇模块和第二阶段聚类簇模块得到的结果,首先,遍历各个主体第一阶段簇FSCsub中的各个主体第二阶段簇SSCsub,建立主体与对应主体第一阶段簇SSCsub的映射关系;再遍历各个资源第一阶段簇中的各个资源第二阶段簇SSCms,建立主体与对应各个资源第二阶段簇SSCms的映射关系;然后遍历策略库模块中所有的策略,为每一个动作aCi建立一个动作集合用于存放适用于动作aq的所有的策略标识;最后,分别为虚拟主体和虚拟资源建立两个映射关系,即虚拟主体映射关系HashMapvil^sub和虚拟资源映射关系HashMapvines,再根据注册中心发送的响应信息,查询映射关系,得到主体请求(sub,res,ac)对应的准适用策略集合的标识组合(Sidsub, Sidres, Sidac),并将所述标识组合(Sidsub, Sidres, Sidac)发送给集合运算优化模块;
[0010]集合运算优化模块,根据映射关系模块传递的标识组合(Sidsub,Sidres, SidJ进行交集运算,并将交集运算结果Setptjl提交给策略库模块;
[0011]属性权威模块,是属性数据库系统,负责存储实体属性,管理实体属性,管理实体属性包括有关属性增加、删除、变更和查询业务;接收访问控制判定评估引擎模块发出主体标识sub_ID以及资源标识res_ID请求查询,并将查询到的主体和资源的相关属性结果返回访问控制判定评估引擎模块;同时对经过属性预处理模块处理后发生变化的主体或者资源的属性,作为一个触发属性变更维护服务的事件,发送给属性变更维护模块;
[0012]策略执行点,接收客户端发出的请求,并将请求访问控制判定评估引擎模块发出评估请求;同时将访问控制判定评估引擎模块的评估结果返回给客户端;
[0013]访问控制判定评估引擎模块,根据客户端的用户请求即主体请求,向属性权威模块请求主体和资源的相关属性;同时接收属性权威模块发回的查询后的主体和资源的相关属性;访问控制引擎根据主体和资源的相关属性在进行具体授权判定的时候,向策略库模块发出请求策略集,接收到策略库模块发来的策略集后,依据该策略集进行判定,并将判定结果输出给主体即用户;
[0014]策略库模块,用于存放策略,同时有策略有效位表,它是策略库中实时维护的一个数据结构,用来标识每个策略的有效性,每一个位对应一个策略,“O”表示策略无效;接收访问控制判定评估引擎模块发来请求评估所用的策略集合,然后向注册中心模块发出查询请求;接收集合运算优化模块的交集运算结果Setptjl的标识,然后通过检验策略有效位表Valid-Bit过滤掉无效策略,同时与预备策略集模块中的策略标识进行合并,得到小规模策略集合并发送给访问控制判定评估引擎模块;当需要策略变更时,触发策略变更维护模块;
[0015]新进实体登记模块:用来处理新进的实体,即在系统部署前没有进行过预处理的实体;首先,提取该实体对应的虚拟实体,通过映射关系模块,锁定虚拟实体对应的第一阶段簇FSC,将该实体的数值属性组织成属性向量,通过计算该向量与各第二阶段簇SSC的欧几里德距离,选出距离最小的,也就是最相似的第二阶段簇SSC,将该新进实体标识ID加入到对应的映射关系中;然后调用预处理框架中的第二阶段聚类模块,将得到的新进实体对应的准适用策略集Setnew与原有的S-pols合并即可;上述处理完成后,将该实体对应的标识加入到实体登记表HashSet中,分别将主体登记表HashSetsub和资源登记表HashSetres中标记为已登记;
[0016]属性变更维护模块:用来处理已登记实体在系统部署后已登记实体对应的一些关键属性发生变化的情形;执行时仅需要将该实体的已登记的记录消除即从实体登记表HashSet中移除已登记实体标识,然后将该实体看作新进实体,调用新进实体登记模块即可;同时将新实体属性送至属性权威模块中存储;
[0017]策略变更维护模块:用来处理策略集模块中的策略发生变更的情形;首先,将原有策略Poltjld从策略库模块中移除,将变更后的新策略polnOT加入到策略库模块和预备策略集模块中;再将策略有效位表中原有策略Poltjld对应的位bit置为“O”即无效;然后,遍历各个第一阶段簇FSC及各个第二阶段簇SSC,将变更后的新策略polnOT的标识加入到变更后的新策略Polnrat所适用的簇的准适用策略集中;完成上述操作后,将变更后的新策略Polnew在策略有效位表对应的位bit置为“I”即有效,并将变更后的新策略标识polnOT_ID从预备策略集模块中移除;
[0018]预备策略集模块:用于存放必须评估策略及策略标识,是针对策略变更维护使用的,用于策略的加入与移除操作;同时将策略标识发给出策略库模块。
[0019]一种基于大数据的访问控制判定引擎优化方法,实现步骤如下:
[0020](I)系统部署前的预处理:即调用预处理装置、初始化注册中心模块和映射关系模块;
[0021](1.1)调用属性预处理模块,首先,进行属性选择,根据属性权威提供的属性信息以及策略库模块提供的策略内容选择参与本系统优化的属性;接下来,进行属性压缩,根据属性权威提供的属性信息、管理员为每种属性的属性值预先建立好的属性层次树以及管理员为每种属性预先设定的期待压缩后的属性值团的数量,针对每种选择出来的属性分别进行压缩;该模块执行完毕后将选择出的属性、及每种属性对应的压缩后的属性值团集合、每种属性对应的属性值团间的相似度关系发送给第一阶段聚类模块;
[0022](1.2)调用第一阶段聚类模块,首先,初始化虚拟实体之间的相似关系,根据属性预处理模块的结果,计算任意两个虚拟实体之间的带权相似度;接下来,第一阶段聚类,根据经典的K-means算法进行适当调整,然后对虚拟实体进行聚类;然后,获取附属于各簇的真实实体,根据属性权威中的实体属性信息,对于各个簇,遍历所有的真实实体,将符合各簇的真实实体的标识加入到各簇中;最后获取附属于各个第一阶段簇的准适用策略集F-pols,通过对策略库中的策略进行修改,并采用策略模糊匹配来为各个FSC寻找准适用策略;该模块执行完毕后将产生的所有的第一阶段簇FSC发送给第二阶段聚类模块;
[0023](1.3)调用第二阶段聚类簇模块,首先,初始化真实实体属性向量,根据属性权威模块提供的属性信息,将所有的真实实体的数字属性组织成向量的形式;接下来,第二阶段聚类,对每个第一阶段簇FSC中的真实实体,通过Fast Kmeans算法进一步聚类得到第二阶段簇SSC;最后,获取各个第二阶段簇的准适用策略集、S-pols,通过对策略库中的策略进行修改,并采用策略模糊匹配来为各个SSC寻找准适用策略;该模块执行完毕后将产生的所有的第二阶段簇发送给注册中心模块和映射关系模块;
[0024](1.4)初始化注册中心模块,根据(1.2)和(1.3)的处理结果,首先,建立主体登记表,遍历所有经过预处理的主体即用户,将主识标识sub_ID添加到主体登记表HashSetsub中;接下来,建立资源登记表,遍历所有经过预处理的资源,将res_ID添加到资源登记表HashSetres 中;
[0025](1.5)初始化映射关系模块,根据(1.2)和(1.3)的处理结果,首先,遍历各个FSCsub中的各个SSCsub,建立用户与SSCsub的映射关系;接下来,遍历各个FSCms中的各个SSCms,建立用户与SSCms的映射关系;然后,遍历所有的策略,为每一个aCi建立一个
存放适用于动作aCi的所有的策略标识;最后,分别为虚拟主体和虚拟资源建立虚拟主体HashMapvirsub和虚拟资源HashMapviraes两个映射关系;
[0026](2)系统部署后的实时服务及后台运维服务框架:
[0027](2.1)客户端向服务器的策略执行点发出请求req (sub, res, ac);其中,sub是指用户即主体的标识,res是所请求的资源的标识,ac是指该用户即主体针对资源请求的动作;
[0028](2.2)策略执行点向访问控制判定引擎模块发出授权请求req (sub, res, ac);
[0029](2.3)访问控制判定引擎模块根据sub,res的标识信息向属性权威请求实体属性集;
[0030](2.4)属性权威根据访问控制判定引擎模块发送的请求中sub,res对应的标识信息,查询实体属性集合,并将其返回给访问控制判定引擎模块;
[0031](2.5)访问控制判定引擎模块向策略库模块请求评估策略集合req (sub, res, ac);
[0032](2.6)策略库模块向实时服务装置发出请求req (sub, res, ac);
[0033](2.7)注册中心模块首先根据主体和资料的标识查询实体登记情况,并向映射关系模块发送响应;如果有实体未登记事件,则会触发后台运维服务中的新进实体登记模块;
[0034](2.8)映射关系模块根据注册中心发送的响应信息,查询映射关系,将(sub, res, ac)对应的准适用策略集合的标识组合(Sidsub, Sidra3, Sida。)发送给集合运算优化模块;
[0035](2.9)集合运算优化模块,根据标识组全(Sidsub,Sidres, SidJ得到相应的准适用策略集并执行交集优化,得到交集优化结果Setptjl,发送给策略库;
[0036](2.10)预备策略集模块将其中的策略标识发送给策略库模块;
[0037](2.11)策略库模块对(2.9)中得到的交集优化结果Setptjl的标识通过检验策略有效位表过滤掉无效策略,同时与预备策略集模块中的策略标识进行合并发送给访问控制判定评估引擎模块;
[0038](2.12)访问控制判定评估引擎模块根据策略库模块提交的小规模策略集合快速做出评估,并将判定结果返回给策略执行点;
[0039](2.13)策略执行点执行判定结果,并返回给客户端用户执行情况。[0040]本发明与现有技术相比的优点在于:
[0041](I)通用性和安全性
[0042]本发明是基于传统的经典PCIM架构进行的拓展,适用于符合该经典架构的所有的访问控制判定评估引擎,即通用性;而传统的经典访问控制引擎本身就满足安全性,即安全性。
[0043](2)高效性
[0044]本发明中通过预处理框架的工作基于聚类的思想建立起了“两层”簇的结构,并为各级簇分配了小规模的准适用策略集合,除此之外,在实时服务框架中,建立了可以对准适用策略集高效查找的映射关系,并通过集合运算优化进一步缩小最终参与评估的策略规模,进而能够快速的返回给策略库模块小规模的策略标识去参与判定评估,大大减小了访问控制判定评估引擎的工作量,因此是高效的。
[0045](3)高可用性
[0046]本发明的后台运维框架针对实体属性及策略可能改变的问题,建立了多个维护模块,实时跟踪维护预处理结果——映射关系——的正确性,同时,通过注册中心模块可以应对大数据环境下,预处理工作量过大的问题,通过自适应、自学习来维持本系统的可靠性、高可用性。
【专利附图】

【附图说明】
[0047]图1为本发明的总体结构图;
[0048]图2为本发明中属性层次树;
[0049]图3为本发明中第一阶段聚类布局图;
[0050]图4为本发明中第二阶段聚类布局图;
[0051]图5为经典PCM访问控制系统;
[0052]图6XACML匹配逻辑实例;
[0053]图7为本发明中集合运算优化示意图;
[0054]图8为本发明中预处理框架实现流程图;
[0055]图9为本发明中实时服务框架实现流程图;
[0056]图10为本发明中后台维运框架实现流程图。
【具体实施方式】
[0057]如图1所示,本发明由服务器端和客户端组成,其中服务器端包括四个部分:①原有的访问控制判定引擎及其基础设施,包括:访问控制判定评估引擎模块、策略执行点、策略库模块、属性权威模块;②预处理框架:属性预处理模块、第一阶段聚类模块、第二阶段聚类模块实时服务框架:注册中心、映射关系模块、集合运算优化模块;④后台运维框架:新进实体登记模块、属性变更维护模块、策略变更维护模块。
[0058]其中:①原有的访问控制系统及其基础设施,这里采用Sun’ s XACML系统作为基础的访问控制引擎;②③④部分的使用Java JDK1.6.0_10_rc2开发完成。
[0059]为了更好的理解本发明的技术方案,先对下述的几个概念和方法进行说明:
[0060]属性:描述了实体的某些特征,如:对于用户这个实体,它的属性可能包含:年龄,性别,角色等。在发明本技术方案中,将实体属性分为两类分别处理:一类是“种类属性”,一类是“数字属性”。前者多数是一些字符串类型的属性,更多的表明一些性质上特点,如:性另IJ、角色、文件类型等,后者多数是一些数值类型(整型、实数型等),更多的表明一些数量上的特征,如:年龄、工龄、分数等。在本发明中,注意区分属性和属性值,属性是类别名称,如:职称;属性值是该属性可能的取值,如:助教、教授等。
[0061]属性权威模块:是服务器端的组件,也是访问控制系统的基础设施之一,负责存储、管理实体属性(增、删、改、查),通常为数据库系统。
[0062]用户请求:格式为req (sub, res, ac),其中,sub是指用户即主体的标识,res是所请求的资源的标识,ac是指该用户即主体针对资源请求的动作。本发明中用到了属性权威,通过标识来检索属性集合,在其他方案中未提到属性权威的,sub、res也可能泛指属性
口 O
[0063]策略库模块:其中存放的是管理员预先分配的访问控制策略(XACML Policy),策略即为授权的依据,在判定评估时该模块会将策略提交至访问控制判定评估引擎。
[0064]适用策略集:注意对于一个请求req (sub, res, ac),不是所有的策略都适用,适用的策略集合成为适用策略集。这里的“适用”是指,req (sub, res, ac)中sub、res对应的属性均满足策略中的逻辑谓词,例如:sub对应的属性为年龄17岁,而策略Pol1中对年龄的要求是大于18岁,那么策略Pol1即不适用于该sub发出的req。
[0065]准适用策略集:指通过“策略模糊匹配”方法得到的适用策略集合,在本发明当中,无论是第一阶段簇的准适用策略集(F-pols),还是第一阶段簇的准适用策略集(S-pols),其中存储的都是策略标识,并非策略本身。
[0066]访问控制判定评估引擎模块:访问控制系统的基础设施之一,根据用户即主体请求,根据策略库中管理员预先分配的访问控制策略(XACML Policy),来对用户的请求进行判定。
[0067]策略执行点:访问控制系统的基础设施之一,负责向访问控制判定评估引擎发出用户的授权请求,以及执行判定结果对应的动作、向用户反馈执行结果等。
[0068]属性层次树:对于“种类属性”,对其下所属的属性值按照归属、包含等联系建立起来属性值之间的依赖关系,该依赖可以归结为树形结构。如图2所示,是“部门”这个属性所对应的属性值之间的属性层次树。
[0069]属性值相似度:对于属性层次树中,任意两个结点之间,本发明定义一种相似关
系,成为属性相似度,具体计算方法为
【权利要求】
1.一种基于大数据的访问控制判定引擎优化系统,其特征在于:由客户端和服务器端组成,客户端用于向服务器端发出请求;服务器端负责对客户端发出的请求进行决策评估、授权及执行;部署在服务器端运行的系统分为四个部分:①原有的访问控制判定引擎及其基础设施部分,具体包括访问控制判定评估引擎模块、策略执行点、属性权威模块和策略库模块;②预处理框架,包括属性预处理模块、第一阶段聚类模块、第二阶段聚类模块;③实时服务框架,包括注册中心模块、映射关系模块、集合运算优化模块;④后台运维框架,包括新进实体登记模块、属性变更维护模块、策略变更维护模块和预备策略集模块; 属性预处理模块,首先进行属性选择,根据属性权威模块提供的属性信息以及策略库模块提供的策略内容选择参与优化的关键属性;再进行属性压缩,根据属性权威模块提供的属性信息,为每种属性的属性值预先建立好的属性层次树以及为每种属性预先设定的期待压缩后的属性值团的数量,针对每种选择出来的属性即关键属性分别进行压缩;压缩后将选择出的属性、及每种属性对应的压缩后的属性值团集合、每种属性对应的属性值团间的相似度关系发送给第一阶段聚类模块;所述属性是指描述实体的某些特征,所述实体包括主体和资源,所述实体分为真实实体和虚拟实体;所述属性分为种类属性和数字属性,所述种类属性是指一些字符串类型的属性,更多的表明一些性质上特点的属性;所述数字属性是一些数值类型,包括整型和实数型,更多的表明一些数量上的特征;所述属性信息就是属性集合;所述属性值是该属性可能的取值;所述属性值团是指多个属性值压缩后所在的小型集合,是属性压缩技术的产物;所述属性层次树是指对于种类属性,对其下所属的属性值按照归属、包含的联系建立起来属性值之间的依赖关系,将这种依赖归结为树形结构;第一阶段聚类模块,首先,初始化虚拟实体之间的相似关系,根据属性预处理模块的结果,计算任意两个虚拟实体之间的带权相似度;再根据经典的κ-means算法进行适当调整,并根据两个虚拟实体之间的带权相似度对虚拟实体进行聚类,得到第一阶段簇FSC;然后,根据属性权威模块中的实体属性信息,对于各个簇,遍历所有的真实实体,将符合各簇的真实实体的标识加入到各簇中,获取该簇中虚拟实体对应的真实实体的集合;最后,通过对策略库模块中的策略进行修改,并采用策略模糊匹配来为各个第一阶段簇FSC寻找准适用策略,从而获取附属于各个第一阶段簇的准适用策略集F-pols,所述准适用策略指通过策略模糊匹配方法得到的适用策略集合;该模块执行完毕后将产生的所有的第一阶段簇FSC结果发送给第二阶段聚类模块;所述第一阶段簇FSC结果包括虚拟实体的集合、第一阶段准适用策略集F-pols、与该簇中虚拟实体对应的真实实体的集合; 第二阶段聚类簇模块,首先,初始化真实实体属性向量,即根据属性权威模块提供的属性信息,将所有的真实实体的数字属性组织成向量的形式;然后对每个第一阶段簇FSC中的真实实体,通过Fast Kmeans算法进一步聚类得到第二阶段簇SSC,执行过程中要保留各个第二阶段簇SSC的簇心即向量;再 通过对策略库模块中的策略进行修改,并采用策略模糊匹配来为各个第二阶段簇SSC寻找准适用策略,获取各个第二阶段簇的准适用策略集S-pols ;最后将得到的所有第二阶段簇SSC结果发送给注册中心模块和映射关系模块;所述第二阶段簇SSC结果包括真实实体的集合、簇心、第二阶段准适用策略集S-pols ; 注册中心模块,根据第一阶段聚类簇模块和第二阶段聚类簇模块得到的结果,首先,建立主体登记表HashSetsub,遍历所有经过预处理后的主体即用户,将主体标识sub_ID添加到主体登记表HashSetsub中;然后建立资源登记表HashSetres,遍历所有经过预处理后的资源,将资源标识res_ID添加到资源登记表HashSeties中;同时接收策略库模块发出的查稳步请求,根据主识和资源的标识查询实体登记情况,并向映射关系模块发送响应;如果有实体未登记事件,则会触发后台运维服务中的新进实体登记模块; 映射关系模块,根据第一阶段聚类簇模块和第二阶段聚类簇模块得到的结果,首先,遍历各个主体第一阶段簇FSCsub中的各个主体第二阶段簇SSCsub,建立主体与对应主体第一阶段簇SSCsub的映射关系;再遍历各个资源第一阶段簇中的各个资源第二阶段簇SSCms,建立主体与对应各个资源第二阶段簇SSCms的映射关系;然后遍历策略库模块中所有的策略,为每一个动作aCi建立一个动作集合用于存放适用于动作acx的所有的策略标识;最后,分别为虚拟主体和虚拟资源建立两个映射关系,即虚拟主体映射关系HashMapvireub和虚拟资源映射关系HashMapvims,再根据注册中心发送的响应信息,查询映射关系,得到主体请求(sub, res, ac)对应的准适用策略集合的标识组合(Sidsub, Sidres, Sidac),并将所述标识组合(Sidsub, Sidres, Sidac)发送给集合运算优化模块; 集合运算优化模块,根据映射关系模块传递的标识组合(Sidsub,Sidres, Sidac)进行交集运算,并将交集运算结果Setptjl提交给策略库模块; 属性权威模块,是属性数据库系统,负责存储实体属性,管理实体属性,管理实体属性包括有关属性增加、删除、变更和查询业务;接收访问控制判定评估引擎模块发出主体标识sub_ID以及资源标识res_ID请求查询,并将查询到的主体和资源的相关属性结果返回访问控制判定评估引擎模块;同时对经过属性预处理模块处理后发生变化的主体或者资源的属性,作为一个触发属性变更维护服务的事件,发送给属性变更维护模块; 策略执行点,接收客户端发出的请求,并将请求访问控制判定评估引擎模块发出评估请求;同时将访问控制判定评估引擎模块的评估结果返回给客户端; 访问控制判定评估引擎模块,根据客户端的用户请求即主体请求,向属性权威模块请求主体和资源的相关属性;同时接收属性权威模块发回的查询后的主体和资源的相关属性;访问控制引擎根据主体和资源的相关属性在进行具体授权判定的时候,向策略库模块发出请求策略集,接收到策略库模块发来的策略集后,依据该策略集进行判定,并将判定结果输出给主体即用户; 策略库模块,用于存放策略,同时有策略有效位表,它是策略库中实时维护的一个数据结构,用来标识每个策略的有效性,每一个位对应一个策略,“O”表示策略无效;接收访问控制判定评估引擎模块发来请求评估所用的策略集合,然后向注册中心模块发出查询请求;接收集合运算优化模块的交集运算结果Setptjl的标识,然后通过检验策略有效位表Valid-Bit过滤掉无效策略,同时与预备策略集模块中的策略标识进行合并,得到小规模策略集合并发送给访问控制判定评估引擎模块;当需要策略变更时,触发策略变更维护模块; 新进实体登记模块:用来处理新进的实体,即在系统部署前没有进行过预处理的实体;首先,提取该实体对应的虚拟实体,通过映射关系模块,锁定虚拟实体对应的第一阶段簇FSC,将该实体的数值属性组织成属性向量,通过计算该向量与各第二阶段簇SSC的欧几里德距离,选出距离最小的,也就是最相似的第二阶段簇SSC,将该新进实体标识ID加入到对应的映射关系中;然后调用预处理框架中的第二阶段聚类模块,将得到的新进实体对应的准适用策略集Setnew与原有的S-pols合并即可;上述处理完成后,将该实体对应的标识加入到实体登记表HashSet中,分别将主体登记表HashSetsub和资源登记表HashSetres中标记为已登记; 属性变更维护模块:用来处理已登记实体在系统部署后已登记实体对应的一些关键属性发生变化的情形;执行时仅需要将该实体的已登记的记录消除即从实体登记表HashSet中移除已登记实体标识,然后将该实体看作新进实体,调用新进实体登记模块即可;同时将新实体属性送至属性权威模块中存储; 策略变更维护模块:用来处理策略集模块中的策略发生变更的情形;首先,将原有策略Poltjld从策略库模块中移除,将变更后的新策略Polnrat加入到策略库模块和预备策略集模块中;再将策略有效位表中原有策略Poltjld对应的位bit置为“O”即无效;然后,遍历各个第一阶段簇FSC及各个第二阶段簇SSC,将变更后的新策略polnOT的标识加入到变更后的新策略PoImw所适用的簇的准适用策略集中;完成上述操作后,将变更后的新策略PoImw在策略有效位表对应的位bit置为“1”即有效,并将变更后的新策略标识poln?_ID从预备策略集1吴块中移除; 预备策略集模块:用于存放必须评估策略及策略标识,是针对策略变更维护使用的,用于策略的加入与移除操作;同时将策略标识发给出策略库模块。
2.一种基于大数据的访问控制判定引擎优化方法,其特征在于实现步骤如下: (I)系统部署前的预处理:即调用预处理装置、初始化注册中心模块和映射关系模块;(1.D调用属性预处理模块,首先,进行属性选择,根据属性权威提供的属性信息以及策略库模块提供的策略内容选择参与本系统优化的属性;接下来,进行属性压缩,根据属性权威提供的属性信息、管理员为每种属性的属性值预先建立好的属性层次树以及管理员为每种属性预先设定的期待压缩后的属性值团的数量,针对每种选择出来的属性分别进行压缩;该模块执行完毕后将选择出的属性、及每种属性对应的压缩后的属性值团集合、每种属性对应的属性值团间的相似度关系发送给第一阶段聚类模块; (1.2)调用第一阶段聚类模块,首先,初始化虚拟实体之间的相似关系,根据属性预处理模块的结果,计算任意两个虚拟实体之间的带权相似度;接下来,第一阶段聚类,根据经典的K-means算法进行适当调整,然后对虚拟实体进行聚类;然后,获取附属于各簇的真实实体,根据属性权威中的实体属性信息,对于各个簇,遍历所有的真实实体,将符合各簇的真实实体的标识加入到各簇中;最后获取附属于各个第一阶段簇的准适用策略集F-pols,通过对策略库中的策略进行修改,并采用策略模糊匹配来为各个FSC寻找准适用策略;该模块执行完毕后将产生的所有的第一阶段簇FSC发送给第二阶段聚类模块; (1.3)调用第二阶段聚类簇模块,首先,初始化真实实体属性向量,根据属性权威模块提供的属性信息,将所有的真实实体的数字属性组织成向量的形式;接下来,第二阶段聚类,对每个第一阶段簇FSC中的真实实体,通过Fast Kmeans算法进一步聚类得到第二阶段簇SSC ;最后,获取各个第二阶段簇的准适用策略集S-pols,通过对策略库中的策略进行修改,并采用策略模糊匹配来为各个SSC寻找准适用策略;该模块执行完毕后将产生的所有的第二阶段簇发送给注册中心模块和映射关系模块; (1.4)初始化注册中心模块,根据(1.2)和(1.3)的处理结果,首先,建立主体登记表,遍历所有经过预处 理的主体即用户,将主识标识sub_ID添加到主体登记表HashSetsub中;接下来,建立资源登记表,遍历所有经过预处理的资源,将res_ID添加到资源登记表HashSetres 中; (1.5)初始化映射关系模块,根据(1.2)和(1.3)的处理结果,首先,遍历各个FSCsub中的各个SSCsub,建立用户与SSCsub的映射关系;接下来,遍历各个FSCms中的各个SSCms,建立用户与SSCms的映射关系;然后,遍历所有的策略,为每一个动作aCi建立一< Sct ;存放适用于动作aCi的所有的策略标识;最后,分别为虚拟主体和虚拟资源建立虚拟王体HashMapvirsub和虚拟资源HashMapviraes两个映射关系; (2)系统部署后的实时服务及后台运维服务框架: (2.1)客户端向服务器的策略执行点发出请求req(sub, res, ac);其中,sub是指用户即主体的标识,res是所请求的资源的标识,ac是指该用户即主体针对资源请求的动作;(2.2)策略执行点向访问控制判定引擎模块发出授权请求req (sub, res, ac); (2.3)访问控制判定引擎模块根据sub,res的标识信息向属性权威请求实体属性集; (2.4)属性权威根据访问控制判定引擎模块发送的请求中sub,res对应的标识信息,查询实体属性集合,并将其返回给访问控制判定引擎模块; (2.5)访问控制判定引擎模块向策略库模块请求评估策略集合req(sub, res, ac); (2.6)策略库模块向实时服务装置发出请求req (sub, res, ac); (2.7)注册中心模块首先根据主体和资料的标识查询实体登记情况,并向映射关系模块发送响应;如果有实体未登记事件,则会触发后台运维服务中的新进实体登记模块; (2.8)映射关系模块根据注册中心发送的响应信息,查询映射关系,将(sub,res,ac)对应的准适用策略集合的标识组合(Sidsub, Sidres, Sidac)发送给集合运算优化模块; (2.9)集合运算优化模块,根据标识组全(Sidsub,Sid_,SidJ得到相应的准适用策略集并执行交集优化,得到交集优化结果Setptjl,发送给策略库; (2.10)预备策略集模块将其中的策略标识发送给策略库模块; (2.11)策略库模块对(2.9)中得到的交集优化结果Setpt5l的标识通过检验策略有效位表过滤掉无效策略,同时与预备策略集模块中的策略标识进行合并发送给访问控制判定评估引擎模块; (2.12)访问控制判定评估引擎模块根据策略库模块提交的小规模策略集合快速做出评估,并将判定结果返回给策略执行点; (2.13)策略执行点执行判定结果,并返回给客户端用户执行情况。
【文档编号】G06F17/30GK103902742SQ201410171978
【公开日】2014年7月2日 申请日期:2014年4月25日 优先权日:2014年4月25日
【发明者】王雅哲, 刘桐 申请人:中国科学院信息工程研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1