CEP隐私安全事件属性检测树及访问控制框架
2016-10-13张晓棠郭军军张市芳
荆 心,张晓棠,郭军军,张市芳
(西安工业大学 计算机科学与工程学院,西安 710021)
CEP隐私安全事件属性检测树及访问控制框架
荆心,张晓棠,郭军军,张市芳
(西安工业大学 计算机科学与工程学院,西安 710021)
为防止非法用户通过注册事件模式的方式获取复杂事件处理(ComplexEventProcessing,CEP)过程中所涉及到的关键信息,在不影响CEP处理效率的情况下,提供隐私安全保护的能力.文中讨论了CEP的隐私安全访问控制对象;形式化定义了完全读取、部分读取、拒绝访问及数量统计等四类事件属性操作符;给出了以事件属性检测树为运行机制的隐私安全保护引擎;提出了一种新颖可行的访问控制框架.实验结果表明:该框架隐私安全检测引擎运行效率控制在毫秒级别,事件流吞吐率达千个event·s-1以上,实现了隐私信息的高效过滤.
复杂事件处理(CEP);隐私安全;事件属性检测树;访问控制
实时数据流处理是现代数据库技术中一个非常重要且活跃的领域,而自从复杂事件处理(ComplexEventProcessing,CEP)技术[1]被提出以来,由于其具备能够对分布的众多数据源中的信息进行融合,并能够从高速的数据流中实时地挖掘出信息间富有价值的动态含义的能力,目前已成为了该领域中研究的焦点.CEP技术正在深彻地改变着传统信息系统订阅发布与应用数据的方式,其将信息的提供者与接收者解耦合,在两者间充当信息观察者、分析者、决策者的角色,由此成为了信息聚合与发散的枢纽.随着物联网传感器及基于网络新型应用数量的迅猛增长,待处理信息容量呈现海量爆发式增长趋势,CEP技术因此正日趋成为众多应用领域中必不可少的重要工具.但是,对于目前大多数的CEP引擎而言,其复杂事件处理及输出的过程和内容均是开放性的,即不但合法的高级应用可以利用CEP引擎获得有价值的信息,而且非法用户也可以为犯罪获取任意所需的信息,这就使得CEP技术在对检测信息的隐私安全保护方面担负着巨大的责任.
迄今为止,CEP隐私安全访问控制方面的研究还比较少,该方面的研究成果仅处于初级阶段.文献[2]为阻止越级的信息访问,对CEP检测及事件模型进行了安全访问的扩展,有效防止了未经授权信息的向外泄漏或被篡改,其首先在传统事件模型后增加了“安全级别”和“所处阶段”两个属性字段,然后向查询匹配树中添加了安全级别检查器,该检查器仅允许安全级别小于本查询匹配树设定级别的事件流入,从而实现了对不同安全级别信息的访问控制.文献[3-4]利用Aurora系统的关系代数与查询图模型,以及传统数据库管理系统中的视图思想,设计了一套新颖的安全访问操作符,并提出了一种基于此操作符集合的查询重新方法,该方法能够将安全访问操作符,以最有效的方式插入到Aurora查询图模型中,由此使得CEP能够依照预定义的安全策略文件,执行对数据流的安全访问控制.上述研究具有共同的思想,即对CEP事件模式的查询重写,调整原有的执行结构,插入专门的安全检测单元,从而形成安全与原检测模式混合的运行结构.该类方法实现过程复杂,且存在部分缺点:①用户具有不同的安全策略,因此在一个CEP查询上实施多用户安全策略时,需要在安全检测单元上保存全部相关的用户安全策略,这样将在执行过程中造成逻辑上的混乱;②新增的安全检测单元将增加CEP检测过程的工作量,影响其执行效率,同时混合的运行结构难以优化.为避免上述问题,文中通过完全读取、部分读取、拒绝访问及数量统计等事件属性操作符的形式化定义,给出以事件属性检测树为运行机制的隐私安全保护引擎,提出一种新型CEP隐私安全访问控制框架.
1 CEP隐私安全访问控制对象
CEP处理工作的基本单元为事件,因此,其隐私安全访问控制的内容即为事件中所包含的信息.由文献[5]中所给出的事件模型定义(Event_Model:=Event_Type@(Attribute_Name[Data_Type]n)n≥1;其中Event_Model表示事件模型的定义,Event_Type表示某个事件类型,Attribute_Name表示事件属性名,Data_Type表示数据类型)可知,事件为n个属性(P1,…,Pn,其中Pn代表第n个属性)组成的元组,属性字段是信息值保存的最小单元,因此确定事件属性为CEP隐私安全访问控制的对象,并以定义的形式明确其概念.
定义1规定输入CEP引擎的每个事件流Stri均包含一种且仅能包含一种类型的事件ETj.而某事件类型ETj则由N个属性Pk,k≥1组成,以P(Stri)代表某事件流Stri中所包含的全部属性的集合,以P(ETj)代表某事件类型ETj中所包含的全部属性的集合,则P(Stri)=P(ETj)ifETj∈Stri.此外,以Stri.pk(或ETj.pk)代表某事件流(或某事件类型)中的某个属性.
用户对事件属性(ETj.pk|Stri.pk)内容的访问权限,存在以下四种情况:完全读取、部分读取、拒绝访问及数量统计.因此,首先给出这四类访问控制操作符的形式化描述.
完全读取操作符ξ:ξ(P(ETi))|ξ(P(Stri))代表对事件类型(或事件流)中的事件属性信息具有完全访问控制的权限,可被简写为ξ(ETi)|ξ(Stri).ξ可作用于事件类型(或事件流)的部分属性集合之上,ξ(ETi[p1,p2,…,pk])p1,p2,…,pk∈P(ETi)表示仅允许访问事件类型中部分属性(p1,p2,…,pk)的信息内容.
部分读取操作符φ:φ(Expr)(ETi)|φ(Expr)(Stri)代表可按照条件表达式集合Expr的定义访问事件类型(或事件流)中的事件属性信息.Expr表达式集合中的表达式Expri仅以合取关系存在,例如:ETi.location=“L1”∧ETi.temperature>30,表示该事件位置属性为L1,且温度值属性大于30.
拒绝访问操作符ψ(P(ETi))|ψ(P(Stri))代表对事件类型(或事件流)中的事件属性信息完全拒绝访问,可被简写为ψ(ETi)|ψ(Stri).同样,ψ操作符也可仅拒绝对部分属性的访问,ψ(ETi[p1,p2,…,pk])p1,p2,…,pk∈P(ETi)表示仅拒绝访问事件类型中部分属性(p1,p2,…,pk)的信息内容.
数量统计操作符Ω:该访问操作符对应聚合操作,聚合操作不关心事件属性的具体值,而仅关心事件的总数、平均值等统计类信息.Ω(F(Pk))(ETi)|Ω(F(Pk))(Stri)表示对事件类型(或事件流)中的事件属性Pk具有可统计的权限,其中F为计算函数,包括:min、max、count、avg、sum等.
根据上述对事件属性安全访问控制操作符(记全部操作符为集合Э)的形式化描述可知,用户对CEP输入事件流可进行隐私安全访问的内容,实质上应该是该用户对输入事件流进行Э操作的结果,即仅过滤出符合给定用户安全策略的信息,由此,得出以下的CEP隐私安全访问控制对象的定义.
定义2CEP引擎中的隐私安全访问控制对象为∪i=1Э(Strs,Pi)i∈{1,…,n),其中Strs为CEP引擎的输入事件流集合,Э为事件属性安全访问控制操作符的集合,Pi为事件流内的事件属性集合.
2 CEP隐私安全访问控制框架
根据上述的隐私安全访问控制对象,给出如图1所示的CEP安全访问控制框架(CEPSecurityAccessControlFramework,CEP-SACF),CEP-SACF具有实现方便、不改变原CEP执行结构的特点.
图1 CEP隐私安全访问控制框架
CEP-SACF的运行可分为用户角色授权、模式注册及隐私安全访问控制3个阶段.用户角色授权阶段,高级系统管理员对隐私安全访问控制对象进行定义,向需要隐私保护的事件属性指定相应的安全访问操作,并将此分配给指定的用户角色(用户角色按等级层级规划[6-7],以减少授权的工作量);用户以分配给自己的角色登陆,进入CEP引擎管理界面,由此用户可在CEP管理界面内,利用CEP事件模式语言定义自己的业务规则[7],CEP管理GUI(GraphicalUserInterface,GUI)将关联隐私安全访问控制对象策略文件中与该用户角色相关的安全规则,以此检测将要注册的事件模式的合法性,若不存在安全规则冲突,则将该事件模式注册到该用户角色独立的执行空间中(第一次注册时首先为该用户角色创建一个独立的运行空间,以后则会将事件模式注册到与登陆用户角色同名的命名空间之下),若存在事件模式要求访问的事件属性内容与本角色隐私安全规则发生冲突的情况,则提示用户权限受限,拒绝注册该事件模式;独立的隐私安全保护引擎(PrivacySecurityProtectionEngine,PSPE)将运行于输入事件流与CEP引擎之间,每个PSPE中仅保存与该用户角色相关的隐私安全规则,并将根据事件属性隐私安全访问操作符Э的定义,对事件属性进行允许(完全读取操作符ξ)、拒绝(拒绝访问操作符ψ)、过滤(部分读取操作符φ)或修改(数量统计操作符Ω)的操作,经过Ω操作符处理的事件,将被重新封装.例如:某事件原来包含(ID,TimeStamp,Location)属性,且该事件仅允许统计其总数(对其ID属性执行Ω操作),而其他属性为隐私信息,不允许访问,则在Ω操作符的作用下,PSPE将允许该类事件全部通过,但是将去除流经事件所包含的隐私信息,产生一个仅包含ID属性的新事件,然后才发送到对应的运行空间内.此外,为确保CEP输出结果的安全性,PSPE还将接收其所保护的运行空间内的输出,并仅将结果发送给本空间用户角色内的用户.
为确保用户在注册事件模式时,不获取超越高级管理员对该用户角色所指定的隐私安全访问权限,同时保证合法性检测的效率,采用CEP事件模式隐私安全访问控制合法性验证算法对用户注册事件模式进行验证.该算法输入为用户声明的事件模式及用户角色;输出为事件模式定义中不具有合法访问权限的事件属性数组NProps[];JAVA语言实现的伪代码为
if(findProp.aggregation(*)inEvent_pattern)==true
Props
Iterator(expressioninwhereclause) {
EventType=get_EventType(inexpression);
Property=get_Property(inexpression);
Props
for(Map.Entry
Select*fromSecunity_rulewhereuser_role=login_user_role;
for(Dataset.hasNext() ){
if(Dataset[i].eventProperty==entry.getKey())
if(NoLegality(Dataset[i].accessOperator,entry.getValue())==ture)
NProps[entry.getValue()];}}
System.out.println(NProps[]);
3 隐私安全保护引擎
PSPE随CEP事件模式执行空间一同独立创建,其内容由高级系统管理员定义的隐私安全访问控制规则确定,并随规则的调整而自动更新.PSPE运行的基本机制为复制,即将输入CEP引擎的事件流视为数据总线,仅将数据总线上符合隐私安全保护规则的事件复制一份,传递给运行空间内部的事件模式检测网,除此之外不做任何操作.由此可知,PSPE的核心功能为过滤操作,即仅摘取安全信息,允许其渗透入CEP引擎内部,执行模式匹配任务,而对非法信息进行隔离,确保事件流与CEP引擎两者的分离.该机制可有效保证事件流流经所有的隐私安全保护引擎,并最终将包含正确授权信息的事件传递到CEP处理节点上.
PSPE内部的工作原理如图2所示,其将对事件属性的过滤操作转换为一个以事件类型为根节点的树状结构,其中EventType为本空间内可接受处理的事件类型.事件类型根节点下的子节点为其所包含的事件属性,事件属性节点下将包含在隐私安全保护规则中定义的访问操作(对于一个事件属性仅能够定义一种安全访问操作类型,因此事件属性节点只能包含一个子节点).最后,合并计算节点将对各事件属性分支的输出结果进行联合,重构出符合安全访问规则的新事件,并将其传递给CEP引擎内部的检测网.
PSPE中最常见的检测树结构,如图2(a)所示,假设某事件类型中包含3个事件属性(Attr1,Attr2,Attr3)Attrn代表一个事件属性,且对于某用户角色而言,这3个事件属性均是允许访问的,因此,合并节点∪Attrs会将该事件完整的传递给内部执行空间;图2(b)正好相反,由于事件的三个属性均被拒绝访问,因此该事件不会向内传递;图2(c)则展示了隐私安全访问控制的更一般情况,即用户角色仅允许访问一个事件的部分属性内容,隐私部分不允许被查看,由于Attr2属性被拒绝访问,因此该检测树的∪Attrs节点将仅合成Attr1与Attr3属性,输出一个仅包含这两个属性的新事件;图2(d)展示了按条件读取事件属性的检测树外观,其中条件验证有单值比较(如图2(e)所示,比较内容为Attr1=Value1 &&Attr3!=Value2)与多值比较(如图2(d)所示,比较内容为Value2 图2 隐私安全保护引擎执行检测树结构图 CEP-SACF运行的核心部件为PSPE,PSPE的运行性能与输入事件流的速率及内部注册的检测树的总量Ets相关.由上述可知,检测树的工作效率与内部的事件属性节点数量Ats及访问操作符的节点类型Ops相关,因此,本组实验将对影响引擎效率的三个参数分别进行测试.对输入事件流进行仿真,每条事件流中仅包含一种类型的事件,每个事件由一个事件类型属性字段及若干其它属性字段组成,事件流发生器将利用多条进程并行产生事件流并向外发送,以模拟现实场景;PSPE的缓存队列将接收这些事件,并按照先进先出的顺序对其进行安全检测,检测树以哈希表进行索引,以自定义树状结构进行实现. 检测树总量对PSPE运行效率影响实验,分别注册了三组不同数量的Ets={10,20,30}进行对照测试,其以1 000~10 000个event·s-1的速率接受数据,并规定该组实验中全部事件所包含的属性数量为2,且对其事件属性访问操作符为完全读取操作符ξ.由图3(a)可知,随着输入速率的增加,PSPE执行的耗时呈线性增长,但Ets总量的增长对PSPE执行效率的影响不大,其原因在于哈希索引具有较高的效率,Ets总量的增长对其检索速度的影响不大. 事件属性节点总量对PSPE运行效率影响实验,分别对事件包含属性数量为Ats={2,4,6}的3个对照组进行测试,该组实验注册的检测树总数为Ets=30(因此PSPE中实际存在的属性检测节点总数分别为60、120、180),同样以1 000~10 000个event·s-1的速率接受数据,并规定对所有属性的事件属性访问操作符为完全读取操作符ξ.由图3(b)可知,Ats参数对PSPE执行效率影响较大,随着Ats总量的增加,PSPE内部遍历节点的计算量将累计增长,3个对照组的处理耗时基本保持倍数关系.PSPE总体处理耗时在毫秒级别,对CEP-SACF整体运行效率几乎不存在影响. 访问操作符节点类型对PSPE运行效率影响实验,分别对ξ、φ、ψ的性能进行了测试(由于Ω与ξ功能相同,因此不对Ω做重复测试),本组实验规定Ets=30、Ats=2、Ops={ξ、ф、ψ},数据流发生速率同上,φ条件表达式为[>,0],即虽然进行条件判断,但允许全部事件通过.由图3(c)可知,由于φ拒绝事件通过,没有后续处理,因此其处理耗时最短(仅包括事件类型节点检索及事件属性遍历的处理用时),而φ由于在其节点上具有条件判断的计算,因此比基准ξ操作耗时稍长.但可以得出同样结论,即在不同操作符、不同输入速率的情况下,PSPE总处理耗时仍可保持在毫秒级别,具备较高的运行效率. 图3 隐私安全保护引擎性能测试 1) 实验结果表明,PSPE具有较高的执行效率,实现了不同用户角色的区别对待、事件信息的过滤以及安全访问控制,产生出符合隐私安全访问控制需求的新事件,具有可定制化的特征. 2)PSPE完全集成于CEP引擎之外,不影响其原有的执行结构及运行效率;有效地实现了对输入/输出CEP引擎的事件信息隐私安全检测,具有一定的应用价值. [1]LUCKHAMD.ThePowerofEvents:AnIntroductiontoComplexEventProcessinginDistributedEnterpriseSystems[M].Springer,American,2008. [2]BUDDHIKAT,RAYI,LINDERMANM,etal.SecurePomplexEventProcessinginaHeterogeneousandDynamicNetwork[C]//SPIEDefense+Security,InternationalSocietyforOpticsandPhotonics.Amsterdam:SPIEProceedings,2014,9097:891. [3]CARMINATIB,FERRARIE,TANKL.EnforcingAccessControlOverDataStreams[C]//Proceedingsofthe12thACMSymposiumonAccessControlModelsandTechnologies.NewYork:ACMPress,2009:21. [4]CARMINATIB,FERRARIE,CAOJ,etal.AFrameworktoEnforceAccessControlOverDataStreams[J].ACMTransactionsonInformationandSystemSecurity(TISSEC),2010,13(3):28. [5]荆心,张璟.多事件模式并行CEP处理研究[J].西安工业大学学报,2014,34(9):715. JINGXin,ZHANGJing.ResearchonParallelCEPProcessingwiththeMulti-EventPatternShareingCapability[J].JournalofXi’anTechnologicalUniversity,2014,34(9):715.(inChinese) [6]唐金鹏,李玲琳,杨路明.面向用户属性的RBAC模型[J].计算机工程与设计,2010(10):2184. TANGJinpeng,LILinglin,YANGLuming.UserAttributesOrientedRBACModel[J].ComputerEngineeringandDesign,2010(10):2184.(inChinese) [7]熊厚仁,陈性元,张斌,等.基于RBAC的授权管理安全准则分析与研究[J].计算机科学,2015,42(3):117. XIONGHouren,CHENXingyuan,ZHANGBin,etal.SecurityPrinciplesforRBAC-basedAuthorizationManagement[J].ComputerScience,2015,42(3):117.(inChinese) (责任编辑、校对肖晨) CEPPrivacySecurityEventAttributeDetectionTreeandAccessControlFramework JING Xin,ZHANG Xiaotang,GUO Junjun,ZHANG Shifang (SchoolofComputerScienceandEngineering,Xi’anTechnologicalUniversity,Xi’an710021,China) Thestudyaimstopreventillegalusersfromaccessingkeyinformationinthecomplexeventprocessinginthewayofeventpatternregistrationandtoprovideprivacyprotectionwithoutaffectingtheprocessingefficiency.ThepaperdiscussestheobjectofCEPprivacysecurityaccesscontrol,andgivesformalizeddefinitionofthefourtypesofeventattributeoperators-fullyreading,partreading,accessrejection,andquantitativestatistics.Alsotheprivacysecurityengineisgiven,andanovelandfeasibleCEPprivacyaccesscontrolframeworkisproposed.Experimentalresultsshowthattheframeworkprivacysecuritydetectionengineoperatesonlyatthelevelofmilliseconds,andtheeventstreamthroughputrateisover1 000eventspersecond.Itisconcludedthatthisframeworkcanfilterprivacyinformationwithhighefficiency. complexeventprocessing(CEP);privacysecurity;eventattributedetectiontree;accesscontrol 10.16185/j.jxatu.edu.cn.2016.07.004 2016-04-29 陕西省教育厅专项科研计划项目(14JK1354);西安工业大学校长基金(XAGDXJJ15015) 荆心(1977-),男,西安工业大学讲师,主要研究方向为物联网.E-mail:jingxin@xatu.edu.cn. 中图号:TP315A 1673-9965(2016)07-0533-064 隐私安全访问控制框架性能测试
5 结 论