王丽侠, 林 瑜, 韩建民, 鲁剑锋, 彭 浩
(1.浙江师范大学 行知学院,浙江 金华 321004;2.浙江师范大学 数理与信息工程学院,浙江 金华 321004)
异构信息集成技术一直是数据库领域研究的热点,大数据时代的到来,为异构信息的集成提出了新的挑战[1].目前,比较流行的集成方法是中介器/包装器(mediator/wrapper)方法[2-3].中介器是Wiederhold[4]在1992年提出来的,该方法不仅能够集成结构化的数据,也可以集成半结构化或非结构化数据,其结构清晰、开放性好、灵活性强,因此受到广泛的关注.先后出现了很多基于该结构的集成系统,比如:TSIMMIS[5],HERMES[6]和DISCO[7]等.
中介器是中介器/包装器结构的关键点,是连接用户和数据源的纽带,并存储着全局安全策略.若其安全出现问题,不但不能为用户提供正常的服务,还会泄露大量的敏感信息.因此,保障中介器的安全是极其重要的.以往对信息集成技术的研究工作主要集中在语义映射[8-9]、模式转换[10-11]、查询重写和优化[12-13],对其安全的研究比较少.文献[14]从安全的角度,比较了联邦数据库和中介器/包装器集成系统的不同,讨论了中介器在安全上的需求,但没有给出具体的实现技术;文献[15]针对企业协作共享信息的安全问题,提出了可配置主动对象系统(CHAO),实现了协作计算环境下的信息安全机制;文献[16]提出了一个混合PKI模型,有效保证信息的保密性和完整性,并把该模型应用到中介器中,以提高中介器的安全性.以上工作侧重研究中介器访问数据时的数据安全问题,没有涉及中介器本身的安全问题和容错问题;文献[17]在设计Piazza系统中采用了peer-to-peer方法,解决了中介器负担重、效率低的问题,提高了系统的灵活性和容错性,但其系统过于复杂,难于实现;文献[18]提出了多个中介器协作的分层结构,避免了单个中介器失效、系统崩溃的问题,系统描述也不复杂,但主中介器的选举是利用初始化服务器建立的,没有考虑到系统运行的当前状况,也不能及时检测和处理中介器的故障.本文从安全的角度,分析了传统的中介器/包装器结构的不足,提出了多中介器协作的安全信息集成模型(Multi-Mediator Secure Integrity Model,MMSIM模型),提高了中介器结构的安全性.
典型的基于中介器的数据集成系统主要包括中介器和包装器,如图1所示.用户通过全局数据模式向中介器发出查询请求,中介器处理用户请求,将其转换成各个数据源子查询,并将各个子查询发送给包装器,包装器把子查询转换为数据源能执行的查询,发送给数据源,数据源执行相应的查询,并把查询结果发送给包装器,包装器对查询结果进行包装,转换为全局模式,返回给中介器,中介器集成各个包装器发送过来的查询结果,传递给用户,其过程如图2所示.
图1 Mediator方法的数据集成模型 图2 查询处理过程
从安全角度上分析,传统的基于中介器的集成系统具有以下几个方面的不足:
1)存在单点失效问题.若中心中介器失效,则整个集成系统就会失效,不能正常地提供服务.
2)存在泄密隐患.中介器中保存了系统的全局安全策略,若被攻破,入侵者就可以代理中介器获取数据源的敏感信息,同时也会获得中介器的安全策略信息和密钥信息,造成很大损失.
3)易受到DOS(Denial of Service)攻击.中介器负责用户的认证和授权、模式映射、查询的分解和优化、查询结果的集成,任务多、负担重、效率低.当恶意用户大量地向其发送查询请求时,就不能为合法用户提供正常的服务,即受到了DOS攻击.
定义1(MMSIM模型) 多中介器的安全信息集成模型MMSIM是一个6元组:(M,W,S,DS,AS,BS),其框架如图3所示.其中:
M={M1,M2,…,Mn},M≠Ø,M为非空有限中介器集.
W={W1,W2,…,Wt},W≠Ø,W为非空有限包装器集.
S={S1,S2,…,St},S≠Ø,S为非空有限数据源集,且对∀Si∈S,∃Wi∈W,且Si对应Wi,Mi与Wi为多对多的关系,Wi与Si为一对一关系.
DS:Detection System检测系统,检测Mi的工作状态,判断其是否出现异常.
AS:Adjust System动态调节系统,接收AS的检测报告,控制和重置异常的Mi.
BS:Blackboard System黑板系统,接收Mi的安全检查信息,进行安全审核;接收Mi的代价评估结果,进行中介器选举.
中介器是MMSIM的核心部件,完成查询分解和查询结果集成,模型中每个中介器Mi的实现技术和安全机制都可能不同,中介器的多样性提高了攻破所有中介器的难度.每个Wi对应一个数据源Di,包装器接收中介器发送来的子查询,发送给数据源Di,并把Di执行子查询的结果由局部模式包装成全局模式,发送给相应的Wi.数据源和包装器一一对应,数据源有自己的局部数据模式和局部安全策略.DS检测所有中介器,当发现某个中介器被入侵或破坏时,通知动态调整系统AS,AS会重置该中介器,从而使原来的入侵失效.AS重新配置和更新中介器,在某些情况下,AS可以关闭、暂停或重置中介器,重置中介器时,会更新中介器中的所有密钥,并提供协作机制,用于全局安全检查和最优中介器的选举.
定义2(中介器) 中介器是一个4元组,Mi=(QEi,SCi,WEi,RIi).其中:
QEi为查询分解部件,分析用户的查询请求,并根据全局模式和局部模式的映射关系及安全策略,把用户查询分解成相应各个数据源的子查询.
SCi为安全检查部件,完成用户的授权和身份的认证,以及全局安全策略的实施,每个中介器都存储全局安全策略,并用自己的密钥加密.
WEi为代价评估部件,评估每个中介器完成请求所需要的代价,每个中介器通过代价评估模块评估自己完成请求的代价,把评估结果发送给黑板.
RIi为集成部件,集成包装器发来的查询结果.
图3 MMSIM框架 图4 中介器各组成部分间协作关系
中介器各组成部分间的协作关系如图4所示.图4中的标号为查询执行的顺序.用户的查询发送到mediator,首先发送到查询分解部件QEi,QEi从映射库中提取映射关系,进行查询的分解,生成子查询,子查询发送给安全检查部件SCi和结果集成部件RIi,RIi等待选举结果,若被选中,则处理该子查询,否则,放弃该子查询.SCi从策略库中提取全局安全策略,然后进行安全检查,生成符合全局安全策略的子查询,发送给黑板和代价评估部件WEi,WEi利用自己的评估函数评估代价,并把评估结果发送给黑板,黑板进行安全审核和中介器选举,并激活选中中介器的结果集成部件RIi,RIi从各个包装器中收到子查询的结果,并集成发送给用户,整个流程如图4所示.
MMSIM中安全检查机制和中介器选举机制都采用了黑板模型.黑板模型[19]是一种比较成熟的协作模型,经典黑板系统由3个部分组成:知识源、黑板和控制组件.基于经典的黑板模型,根据MMSIM的需求,提出了MMSIM-BM黑板模型.
定义3(MMSIM-BM黑板模型) MMSIM-BM黑板模型是一个5元组:(I,B,CU,PU,RB).其中:
I:接口,为中介器提供了统一访问黑板的接口.接口包括输入(I_W),输出(I_R)两类.中介器利用输入类接口向黑板写信息,其接口定义为:Write_BlackBoard(mediator_id,Write_time,Inform_Type,Content),利用输出类接口从黑板读信息,其接口定义为:Read_BlackBoard(mediator_id,Write_time,Inform_Type,Content).
B:黑板,中介器读写的共享数据区,存放中介器需要交互的信息,中介器通过对信息的读写完成交互,黑板信息存储的格式为:(stringmediator_id,DateTimewrite_time,stringInform_type,stringcontent).
CU:控制单元,包括安全审核部件CU_SC和中介器选举部件CU_MS,安全审核部件根据规则库中的规则及中介器的安全检查结果,判定系统是否安全.中介器选举部件,根据各个中介器的评估结果,选举出最优的中介器.
PU:权限控制单元,实现中介器对黑板操作的访问控制和中介器的权限管理工作,以确保黑板和推理的安全;包括授权和认证两个过程,认证可防止非法用户访问,中介器的访问控制列表限制中介器可访问的黑板区域.
RB:规则库,存储黑板决策规则.
黑板模型各部件间的关系如图5所示.其中:下标为操作顺序号;Ri描述了读操作的过程;Wi描述了写操作过程;Si描述了安全审核过程;Ei描述了选举过程.
图5 黑板各部件间的协作关系
用户的查询Q可形式化描述为:Q=(requester,OBJ).其中:requester为提交查询的请求者;OBJ为访问对象的集合;OBJ={objecti},objecti为全局模式下的数据对象.
全局安全策略为一系列的访问控制规则Ri,Ri=(Principal,Obj,Permission),这里引入Principal作为访问控制主体的统一概念,可以是MAC、DAC中的用户、RBAC的角色,或者X.509中的证书、SDSI中的名字等;Obj为全局数据模式下数据对象,可以采用全局模式的URI标识;Permission为权限,Permission={yes,no}.
安全检查的过程是生成满足安全策略的查询的过程,把经过安全检查之后的查询定义为Qs,Qs=(requester,OBJs).其中:requester为提交查询的请求者;OBJs为满足全局安全策略的全局模式下的数据对象集.
定义4(安全检查) 安全检查为一个转换函数,SCF:Q→Qs.其中:SCF为将用户的原始查询Q,依据全局安全策略,转换为满足安全策略的查询Qs的过程.
每个中介器安全检查都基于同一全局访问控制策略,采用的模型和实现机制可以不同,这些差异增加了攻破多个中介器安全部件的难度,同时,由于全局安全策略是相同的,所以安全的情况下各个中介器安全检查的结果应该是相同的.
定义5(安全门限t) 安全门限t定义了系统为安全的最少安全中介器个数,即当系统n个中介器中的t个中介器安全检查相同时,说明系统是安全的.
系统在为用户提供服务前,要进行安全检查,采用n选t策略,即n个中介器对同一个请求检查结果有t(n/2
定义6(安全审核) 黑板系统依据规则库中的规则,对各个中介器安全检查结果进行审核,从而判断整个系统是否安全,这个过程为安全审核.
定义7(安全凭证) 安全审核部件判定系统为安全时,生成安全凭证,凭证格式为:时间戳+黑板私钥加密后的时间戳.
MMSIM模型的安全机制是通过各个中介器的安全检查部件和黑板模型实现的,用户的查询同时发送到多个中介器上,中介器的安全检查部件依据全局安全策略,对查询进行分析和安全检查,并把安全检查结果以定义好的格式写到黑板上特定的区域中.当大于t个中介器(t为安全门限)的安全检查结果写到黑板上时,黑板触发控制单元的安全审核部件,依据规则库(RB)审核这些中介器安全检查结果,判断是否有t个结果一致.检查结果一致,则模型安全审核通过,生成安全凭证;否则,依据规则判定是否有中介器受到了攻击或破坏,并调用AS系统进行处理.
黑板系统中的规则库提供了安全审核依据的策略,下面举例说明,例如:有3个中介器(设为m1,m2,m3),安全门限t为2,SCF(mi)表示中介器mi的安全检查结果,S(M)表示模型M是安全的,B(mi)表示mi被攻击.则
规则1(安全审核规则)
SCF(m1)=SCF(m2)∨SCF(m1)=
SCF(m3)∨SCF(m2)=SCF(m3)→S(M).
规则2(故障判断规则)
SCF(m1)=SCF(m2)∧SCF(m1)≠SCF(m3)→B(m3).
另外,DS负责模型的检测,它会定期向各个中介器发送查询请求,并检测各个中介器安全检查结果是否正确.若不正确,则说明该中介器可能受到攻击或出现故障,通知AS系统,对其进行重置,重置时,会更新该中介器的全部密钥,从而使攻击失效.
为增加模型的安全性,模型具有定期黑板私钥更新及相应的定期公钥发放机制.
中介器选举是通过中介器评估函数和黑板模型来实现的.评估函数的定义依据最小等待时间的策略,即用户的等待时间最少.易知,
t查询结果等待时间=t查询处理时间+t网络传输时间.
其中与t查询处理时间有关的因素有:运行mediator主机的性能,等待处理队列的长度,以及该主机的可信程度.而
t网络传输时间=t用户与中介器之间的传输时间+
t中介器和数据源之间的传输时间.
传输时间与带宽有关,由此,得到评估函数的定义如下:
定义8(评估函数) 用来评估中介器完成这个任务的代价,评估函数的定义如下:
f=f(T,Q,B,P)=
k1×T+k2×Q+k3×B+k4×P.
(1)
式(1)中,T指中介器的可信程度,计算公式为
T=success_query/count_query.
(2)
式(2)中:success_query为一段时间内成功完成查询的次数;count_query为一段时间内请求次数.
Q:主机的繁忙程度,由主机的任务队列长度,即等待处理的查询任务个数决定,可参见表1数据.
表1 主机繁忙程度指标
B:主机连接数据源的网络带宽的指标,计算公式为
(3)
式(3)中:userBandwidth为运行中介器与用户之间的网络带宽;sourceBandwidth为运行中介器与数据源之间的网络带宽,带宽可以按表2的规则取值;n为分解的子查询的个数.若其中一个子查询的数据源不在该中介器的管理范围内,则黑板中置该中介器为不可用.
P:运行中介器主机的处理性能参数,该参数主要由主机内存大小和CPU性能参数决定,参数的选取可以参考表3的数据,表3的数据是经验值.
表2 带宽指标取值
表3 CPU性能参数
k1,k2,k3,k4为重要因子,参考值分别为:0.4,0.3,0.2,0.1.
对评估结果影响因素的重要程度依次为:中介器的可信程度、任务队列长度、带宽、主机性能.
定义9(最少等待时间调度算法) 将查询任务分配到一个中介器去处理,使用户等待的时间最少的调度算法.
最小等待时间调度算法的目标是发出请求的用户的等待时间最少,该调度算法能够根据模型当前各个部件的工作状态,动态分配用户的请求,使用户的请求能够得到最快地解决.算法描述如下:
Whilerequestiin Queue do
{ 发送requesti给多个Mi(i=1 ton) //把用户请求发送给所有能发送的中介器Mi
For allMi(i=1 ton)
{Mi利用自身的评估函数(见式(1)),评估当前状态下,完成该请求的代价fi;
将fi值发送到黑板中该中介器代价评估区域;
}
若有t个评估函数发送到黑板,则黑板对评估结果进行选举,选出代价最小的fi;
发送fi到Mi,通知该Mi处理requesti
}
中介器的选举采用的是最小等待时间调度算法,算法基于评估函数和黑板模型,各中介器接到查询任务,进行查询分析,利用评估函数评估一下自己完成查询所需要的代价,并把代价发送到黑板,黑板从多个送来的代价中选举代价最小的中介器作为主控中介器,并把安全审核通过凭证发送给该中介器,该中介器开始进行查询处理.
协作定义如下:
第1步:用户通过表示层向集成系统发送查询请求,表示层将查询请求发送给所有或部分中介器.
第2步:中介器根据用户提交的凭证信息进行安全检查,并将检查结果发送给其他的中介器,同时接收其他中介器发送过来的安全检查结果.
第3步:黑板系统审核各中介器发送过来安全检查结果,当有大于t个中介器的安全检查结果相同时,说明安全审核通过,生成安全凭证,并把安全凭证发送给所有的包装器.
第4步:各中介器利用评估函数,评估自己完成这个任务所需要的代价,并把代价值发送给黑板,黑板接收到所有中介器发送来的代价信息,评估有哪个中介器完成这个任务,将安全凭证交给该中介器,并通知该中介器处理查询任务.
第5步:该中介器对查询任务进行分解,并携带时间戳和安全凭证把子查询送到包装器或其他中介器,中介器再进一步分解查询,直到发送到包装器.
第6步:包装器检查中介器送来的安全凭证与黑板发送来的有效安全凭证是否一致,若一致,则把查询转换为数据源能够执行的查询,发送给数据源,并把本处理对应的安全凭证置为无效.
第7步:数据源进行局部安全策略检查,通过后执行查询任务,并把结果发送给包装器,包装器包装查询结果,并把结果发送给中介器.
第8步:查询结果发送到中介器后,中介器集成这些结果,并返回给用户.
图6描述了模型的协议执行过程中各元素的交互情况.
图6 模型的各个元素交互图
MMSIM的安全机构保证信息的保密性、完整性和可用性,对MMSIM的攻击大体可分为2类:第1类攻击是控制性攻击,通过获得中介器的控制权,假冒合法用户向数据源发送查询命令,并可以更改发送给用户的查询结果,从而破坏系统的保密性和完整性;第2类攻击是DOS攻击,通过不断向中介器发送请求,迫使中介器不能正常地工作,从而破坏系统的可用性.下面分析MMSIM对这两种攻击的防范机制.
5.1.1 控制性攻击
假设攻击者已经控制了一个中介器,可能会出现以下几种情况:
1)攻击者绕过安全检查和安全审核,假冒合法用户向包装器发送查询请求,从而企图获得非授权信息.
由于攻击者没有办法获得黑板发送过来的安全凭证,因此,不能通过包装器的凭证检查,所以也就不能获得非授权的数据.
2)攻击者控制中介器冒充合法用户通过安全检查,向黑板发送安全检查信息,企图获得安全凭证.
由于用户的请求只有在安全门限t个中介器安全检查结果相同的条件下才能执行,所以即使攻击者暂时攻击了一些中介器,迫使这些中介器安全检查结果相同,其他没有被攻破的中介器也不会产生与它们相同的安全检查结果.只要攻破的中介器数量少于t个,黑板安全审核部件就不会通过安全审核,也就不会发送安全凭证,该请求就不能执行.而不同的中介器又具有多样性,攻击者同时攻破t个中介器的概率很小.因此,系统是安全的.
另外,当系统发现一个中介器的安全检查结果和其他中介器的安全检查结果不同时,会调用AS重置中介器,使攻击失效.
5.1.2 DOS攻击
假设攻击者不断向某些中介器发送请求,迫使其不能为合法用户提供正常服务.
由于合法用户的请求是发给n个中介器的,只要其中t个中介器通过安全检查,就可以执行相应的请求,所以即使攻击者迫使部分中介器不能提供正常的服务,只要还剩余t个中介器没有被破坏,这些没有被攻破的中介器会重新组合,完成用户的请求,从而避免了DOS攻击.
假设攻击者不断向整个系统发送请求,为了避免所有的中介器受到DOS攻击,系统设置一个查询跟踪器,当所有中介器等待队列中某一个用户的请求过多时,调用AS撤销该用户的所有请求.
当n(n>t,t为安全门限)个中介器通过安全审核后,这n个中介器会利用自己的评估模块评估当前情况下完成请求的代价,并通过黑板系统,选出一个主控的中介器,由主控的中介器控制完成用户的请求.由于被选中的主中介器总是目前执行请求代价最低的,因此,系统的效率比普通的单中介器的异构信息集成系统效率高.
本文引入多中介器协作机制,提出了一个多中介器协作的安全的信息集成模型(MMSIM模型),该模型可以有效防范控制性攻击和DOS攻击,并且使集成系统具有较高的效率,很大程度上解决了传统中介器安全问题.当然,模型效率和安全性的提高是以牺牲软硬件的成本为代价,模型中各个中介器实现技术及安全机制的不同,提高了系统的安全性,但同时也增加了系统实现成本.
参考文献:
[1]Dong X L,Srivastava D.Big data integration[C]//Proceedings of the 39th International Conference on Very Database (VLDB).Brisbane:ACM,2013.
[2]王宁,王能斌.异构数据源集成系统查询分解和优化的实现[J].软件学报,2000,11(2):222-228.
[3]Das Sarma A,Dong Xin,Halevy A.Bootstrapping pay-as-you-go data integration systems[C]//Proceedings of the 2008 SIGMOD International Conference on Managemrnt of Data.Vancouver:ACM,2008.
[4]Wiederhold G.Mediators in the architecture of future information systems[J].IEEE Computer,1992,25(3):38-49.
[5]Papakonstantinou Y,Garcia-Molina H,Widom J.Object exchange across heterogeneous information sources[C]//Proceedings of the Eleventh International Conference on Data Engineering (ICDE).Taipei:IEEE Computer Society,1995.
[6]Adali S,Emery R.A uniform framework for integrating knowledge in heterogeneous knowledge systems[C]//Proceedings of the Eleventh International Conference on Data Engineering (ICDE).Taipei:IEEE Computer Society,1995.
[7]Tomasic A,Raschid L,Valduriez P.Scaling heterogeneous databases and the design of disco[C]//International Conference on Distributed Computing Systems.Hong Kong:IEEE Computer,1996.
[8]Nadschlager S,Kosorus H,Regner P.Semantic data Integration and relationship identification using the hierarchical structure of a domain-specific Taxonomy[C]//The 23rd International Workshop on Database and Expert Systems Applications (DEXA).Vienna:Springer,2012.
[9]Bergamaschi S,Castano S,Vincini M,et al.Semantic integration of heterogeneous information sources[J].Data and Knowledge Engineering,2001,36(3):215-249.
[10]Huma Z,Rehman M J U,Iftikhar N.An ontology-based framework for semi-automatic schema integration[J].Journal of Computer Science and Technology,2005,6(20):788-796.
[11]Dohzen T,Pamuk M,Seong S W.Data integration through transform reuse in the Morpheus project[C]//Proceedings of the 2006 SIGMOD International Conference on Managemrnt of Data.Chicago:ACM,2006.
[12]Babcock B,Chaudhuri S.Towards a robust query optimizer:A principled and practical approach[C]//Proceedings of the 2005 SIGMOD International Conference on Managemrnt of Data.Maryland:ACM,2005.
[13]Kemp G J L,Gray P M D,Sjöstedt A R.Improving federated database queries using declarative rewrite rules for quantified subqueries[J].Journal of Intelligent Information Systems,2001,17(2/3):281-299.
[14]Altenschmidt C,Biskup J,Flegel U.Secure mediation:requirements,design,and architecture[J].Journal of Computer Security,2003,11(3):365-398.
[15]Liu D,Law K,Wiederhold G.Chaos an active security mediation system[C]//Proceedings of International Conference on Advanced Information Systems Engineering.Stockholm:Springer,2000.
[16]Biskup J,Karabulut Y.A hybrid PKI model with an application for secure mediation[C]//The 16th Annual IFIP WG 11.3 Working Conference on Data and Application Security Cambridge.England:IEEE Computer Society,2002.
[17]Halevy A,Ives Z G,Suciu D.Schema mediation in peer data management systems[C]//Proceedings of the 19th International Conference on Data Engineering (ICDE).Bangalore:IEEE Computer Society,2003.
[18]Ege R K,Yang Li,Kharma Q,et al.Three-layered mediator architecture based on DHT[C]//International Symposium on Parallel Architecture,Algorithm and Network (I-SPAN).HongKong:IEEE,2004.
[19]Nii H P.Blackboard systems:the blackboard model of problem solving and the evolution of blackboard architectazes[J].AI Magazine,1988,7(2):38-53.
[20]Castro M,Liskov B.Practical byzantine fault tolerance[C]//The 3rd Symp on Operating Systems Design and Implementation New Orleans.Louisiana:IEEE,1999.