基于安全多方下的时间序列异常检测方法与系统与流程

文档序号:15929446发布日期:2018-11-14 01:28阅读:458来源:国知局

本发明涉及时间序列异常检测方法,尤其涉及一种基于安全多方下的时间序列异常检测方法与系统。

背景技术

在现实生活中,各个领域都包含了大量的时间序列数据,例如病人的心电图数据、脑电图数据、工业领域传感器数据以及网络流数据等。时间序列数据是指在某个动作按其发生时间的先后顺序形成数据排列而成的数列。因此,时间序列数据记录了某个动作在时间维度上的波动信息,而时间序列数据中可能包含的异常子序列会包含比大多数正常的子序列的更多的重要信。例如,异常的心电数据意味着病人可能患有某种类型的心脏疾病,异常的脑电数据可能是由癫痫等脑科疾病引起的;工业传感器数据中的异常序列数据可能意味着工厂的某个机器出现了故障;在网络流数据出现的异常流量数据说明系统处于被攻击的状态等。时间序列中异常子序列(模式)检测是一个十分重要的领域,含异常模式的时间序列大部分数据表现为正常形态,异常模式出现频率极少,但极少出现的异常模式却包含相当重要的信息。因此,时间序列数据的异常子序列检测研究极具现实意义。

关于时间序列异常检测的研究国内外相关学者已经做过了大量的工作,其中,有基于监督学习的算法,例如:junshuima提出利用one-classsvm进行时间序列的异常模式检测,其思想源于one-classsvm能够检测向量数据集中的异常点,通过将时间序列数据转化到相空间之后,利用正类训练数据训练出模型,最后使用训练出来的模型对时间序列进行检测看是否偏离模型,这样就能进行时间序列的异常模式检测。基于无监督的学习算法,例如:izakian提出利用模糊c均值聚类的方法来进行时间序列异常子序列检测,其思想为将时间序列子序列利用模糊c均值聚类方法进行聚类,聚类簇中心反映了时间序列的模式结构,对原始子序列用聚类中心来进行重新构建,正常的子序列模式结构能够通过通过聚类簇中心较好的重构,而异常子序列难以通过聚类中心重构,通过比较利用聚类簇中心重构之后的子序列与原子序列差异性,来寻找异常子序列。keogh提出了hotsax方法来发现时间序列中的异常子序列,该方法将时间序列转化为sax表示方法,利用启发式的剪枝策略方法来减少时间序列子序列之间的相似性度量计算,降低了算法的时间复杂度,从而极大提高了时间序列异常子序列检测效率。guiling提出了一种基于比特表示聚类的新型检测算法,首先,使用paa对时间序列数据进行降维,然后,提出了一种改进的k-medoids聚类算法来合并具有相似变化的子序列,最后,采用二进制位的方法来表示聚类中心,设计了两种剪枝策略并引入了时间序列的异常检测算法。除了上述文献,近年也有研究者发明了些专利以研究了时间序列相似性度量的方法,比如:在2017年的一篇专利文献中,是把时间序列序列分段并把这些段形成集合,计算集合的jaccard系数以近似代替原始时间序列的相似度;在2015年的一篇专利文献中,是在把时间序列数据分成子序列后,利用自适应层次聚类的方法,完成了卫星遥感数据的异常检测方法。

在上述提到的所有研究工作中都是认为时间序列数据是集中的,所采取的算法也都是认为当前的数据集是完备的。而现实生活中,大多数数据都是分散存储的,并且随着数据拥有者隐私意识的提高,他们往往不会把原始数据共享给其他参与方。因此,需要设计具有隐私保护的方案,以保证多方参与下的时间序列异常检测任务,不仅可以保证异常检测的准确性,同时可以保证数据的隐私性。安全多方计算(smc)是在不改变原有数据的情况下,保证数据挖掘隐私性的一种方法,主要是通过安全加密协议和计算相结合达到多方数据之间的安全计算。基于安全多方计算的隐私保护的数据挖掘提出后,在国内外也得到了广泛的关注,而安全多方计算应用于时间序列异常检测的方案很好。其中,liu在2017年提出了一种基于安全多方的时间序列检测算法,其使用了半同态加密的算法保证了在多方参与的情况下,可以完成正确的计算,在他的方案中仍然采用了最基本的暴力搜索的算法来搜索时间序列中存在的异常子序列。zhu设计了一种在两方参与下的时间序列异常相似性度量的方案,而其方案只设计了与动态时间弯曲以及离散弗雷歇两种相似性计算下的隐私保护方案,并且该作者并没有给出完整的时间序列异常检测方案。

在实际应用中,数据往往不是集中存储的,例如:患者的心电数据,可能在某一个地区的a、b、c、三家医院都保存某一个患者的心电数据;用户的超市购物记录,并不是只有在一家超市记录。因此,我们在做数据分析任务时,就需要把分布在多方的数据集集中起来,以形成完备的数据集,才能更好的完成我们的数据挖掘任务。而随着数据隐私意识的提高,各方并不会把自己的数据集共享给其他各方。因此,传统的机器学习算法将不再使用与这种情况,需要设计完整的具有隐私保护的异常检测算法势在必行的。

在时间序列异常检测的算法中,大部分算法都是在原始数据进行检测。其中,在2017年的专利文献中提到了采用分段的方法,但此专利中只提到了近似的相似性度量,其采用阈值的方法判断异常状态的序列,并且此方法也只是在单方的情况下运行的,此方案不适用于多方存在的情况。liu在2017年提出的基于安全多方的时间序列异常检测算法,考虑到了数据的隐私性,并完成了好的方案设计,但是其检测算法采用了最基本的暴力算法,时间复杂度太高,检测效率低。而zhu只是提出了一种相似性度量的隐私保护方案,没有提出完整的时间序列异常检测方案,并且其方案只是适用于两方存在的情况下。

在基于安全多方计算的隐私保护方案中,共享的数据都是被同态加密算法加密的数据,加密后的数据比原始数据需要很多的存储空间和通信开销。liu的方案中是完全在原始数据中完成的通信和计算,服务器和各参与方的通信开销以及服务器所要承受的计算压力都很大。



技术实现要素:

为了解决现有技术中的问题,本发明提供了一种基于安全多方下的时间序列异常检测方法与系统,在保护各方数据隐私性的同时,达到了高效的异常检测效果。

本发明提供了一种基于安全多方下的时间序列异常检测方法,包括以下步骤:

s1、通过数据拥有者方完成数据预处理后发送给服务器端;

步骤s1包括以下子步骤:

s11、时间序列数据降维,首先,把时间序列数据符号化,然后把符号化后的时间序列数据切分模式段,并统计每个模式段出现的次数,最终形成模式表集,每个模式表对应一个时间序列段;

s12、哈希函数,对于模式表中的真实的模式段,用哈希函数计算后的哈希值代替,并防止把数据发给服务器端后,发生的数据隐私泄露;

s13、半同态加密,采用半同态加密技术,加密模式表中的每个模式对应的模式频次,以保证在不泄露隐私的前提下,完成数据的运算;

s2、通过服务器端完成时间序列异常检测。

作为本发明的进一步改进,在步骤s11中,采用sax技术把时间序列数据符号化。

作为本发明的进一步改进,在步骤s13中,采用bcp半同态加密技术。

作为本发明的进一步改进,在步骤s2中,时间序列中子序列的异常,是通过计算子序列对应的模式表与其他模式表的距离完成的。

本发明还提供了一种基于安全多方下的时间序列异常检测系统,包括多个数据拥有者以及一个服务器端,所述服务器端包括第一服务器和第二服务器,其中,数据预处理是在各个数据拥有者方完成的,而时间序列异常检测是在第一服务器和第二服务器共同参与下完成的。

作为本发明的进一步改进,第二服务器是半诚实的,拥有可以解密的主密钥,在所有第二服务器参与的运算中,都要加入扰动,防止第二服务器获得有关用户的相关信息。

作为本发明的进一步改进,在数据预处理阶段,初始化第一服务器和第二服务器以及数据拥有者的系统环境,第二服务器生成公共参数,并发送给每个数据拥有者以及第一服务器;同时,第二服务器生成一个公共的哈希函数,并发送给各个数据拥有者,各个数据拥有者根据收到的公共的哈希函数,生成属于自己的bcp半同态加密技术的公钥;然后,数据拥有者预处理时间序列数据以形成符号化的模式表集,然后采用bcp半同态加密技术和哈希函数对形成的模式表集隐私化,然后发给第一服务器。

作为本发明的进一步改进,数据拥有者预处理时间序列数据以形成符号化的模式表集包括:时间序列数据降维,首先,把时间序列数据符号化,然后把符号化后的时间序列数据切分模式段,并统计每个模式段出现的次数,最终形成模式表集,每个模式表对应一个时间序列段;采用哈希函数为:对于模式表中的真实的模式段,用哈希函数计算后的哈希值代替,并防止把数据发给服务器端后,发生的数据隐私泄露;采用bcp半同态加密技术为:加密模式表中的每个模式对应的模式频次,以保证在不泄露隐私的前提下,完成数据的运算。

作为本发明的进一步改进,在时间序列异常检测阶段,第一服务器基于设计的安全计算协议,在第二服务器参与下,完成数据集的异常检测,并发最终的检测结果发送给各个数据参与方。

作为本发明的进一步改进,时间序列中子序列的异常,是通过计算子序列对应的模式表与其他模式表的距离完成的。

本发明的有益效果是:通过上述方案,在保护各方数据隐私性的同时,达到了高效的异常检测效果。

附图说明

图1是本发明一种基于安全多方下的时间序列异常检测系统的示意图。

图2是本发明一种基于安全多方下的时间序列异常检测方法中改变n值对算法运行时间的影响示意图。

图3是本发明一种基于安全多方下的时间序列异常检测方法的检测结果示意图。

图4是本发明一种基于安全多方下的时间序列异常检测方法的检测效果示意图。

具体实施方式

下面结合附图说明及具体实施方式对本发明作进一步说明。

一种基于安全多方下的时间序列异常检测方法,包括以下步骤:

1、通过数据拥有者方完成数据预处理后发送给服务器端;

(1)时间序列数据降维。首先,采用sax技术把时间序列数据符号化,然后把符号化后的数据切分模式段,并统计每个模式段出现的次数,最终行程模式表集,每个表对应一个时间序列段。

(2)哈希函数。对于模式表中的真实的模式段,用哈希函数计算后的哈希值代替,并防止在把数据发给云计算中心后,发生的数据隐私泄露。

(3)半同态加密。采用半同态加密技术,加密模式表中的每个模式对应的模式频次,以保证在不泄露隐私的前提下,完成数据的运算,如:密文加。在本方案中,采用bcp半同态加密技术,此加密算法允许输入的数据在不同的公钥加密,并能对不同公钥加密的数据进行运算。bcp加密系统是一种特殊的同态加密算法,bcp有一个很重要的特点就是它有两套解密服务,除了使用公钥对应的私钥可以解密密文数据,在bcp加密系统中,还包含一个称为主密钥的的密钥,此密钥可以同参数环境下的所有密文。用如下公式,表示同态加密算法下同态加的性质:

dsk([m1]pk.[m2]pk)=m1+m2

其中,m1,m2表示不同的消息,pk表示公钥,dsk()表示使用私钥解密函数;

2、通过服务器端完成时间序列异常检测。

一种基于安全多方下的时间序列异常检测系统,由多个数据拥有者以及一个服务器端组成。服务器端包含两个服务器,第一服务器(即服务器c)和第二服务器(即服务器s),其中服务器s是半诚实的,拥有可以解密的主密钥。意味着服务器s会按照协议的规定执行每一个步骤,但是可能会试图通过协议执行过程中得到的中间信息分析并推断其他参与方的相关输入输出信息。因此,在所有s参与的运算中,都要加入扰动,防止s获得有关用户的相关信息。系统模型如图1所示。

其中,数据预处理是在各个数据拥有者方完成的,而时间序列异常检测是在两服务器共同参与下完成的。

预处理阶段。在这个阶段,两个服务器以及数据拥有者初始化他们的系统环境。服务器s会生成公共参数,并发送给每个数据拥有者以及服务器c;同时,服务器s会生成一个公共的哈希函数,并发送各个数据拥有者。各个数据拥有者会根据收到的公共参数,生成属于自己的bcp的公钥;然后,数据拥有者会预处理时间序列数据以形成符号模式表集,然后采用bcp和哈希函数对形成的模式表集隐私化,然后发给服务器c。

检测阶段。在这个阶段,服务器c基于设计的安全计算协议,在服务器s参与下,完成数据集的异常检测,并发最终的检测结果发送给各个数据参与方。时间序列中子序列的异常,是通过计算子序列对应的模式表与其他模式表的距离完成的。

在本发明的检测阶段,设计到多事密文加法以及密文比较运算,下面,通过实验,介绍安全多方下加法(sap)、乘法(smp)和密文比较(smin)的效率。如下表所示,采用的bcp加密算法中,n的大小是1024比特,所有的时间均采用了一千次运算求均值的方法防止其他原因影响结果。

三个基础协议的比较(1000次平均值)

在bcp加密算法中,参数n对加密算法的运行时间影响很大。下面通过图2展示改变n值对算法运行时间的影响。从图2中,可以看出随着n的长度的不断增加,算法开销有着明显的增长,这就意味着n越大,需要运算的时间就越多。

下面,展示本发明提出的检测方案,在不同的数据集的情况下的检测情况。

实验一:本实验首先检测提出的高效的时间序列异常检测算法的检测效果。本数据集采用了飞船传感器产生的数据,作为检测数据集。此数据集是有5000个数据点组成,采取1000个数据点为一个子序列。运行算法后的检测效果,如图3所示,可以看出检测结果与专家标注的异常子序列完全一致。从可视化的角度也可以清晰分辨出检测出的字段就是序列中存在的异常段。

实验二:本实验采用ecg数据作为验证集,本实验室是完全模拟多方存在的情况,并且检测算法是运行的隐私保护方案中。本实验室中模拟两方存在的情况,把数据集随机分成两部分,a部分在a方预处理,b部分在b方预处理。预处理完后,发送给服务器c。图4是算法的检测效果。

上述的两个实验都说明了在单方下异常检测出现的问题在多方中都很好的得到了解决,而本发明设计的安全协议又解决了多方下的隐私问题。因此,本发明提出的基于安全多方下的时间序列异常检测是具有很大的实用价值的。

本发明提供的一种基于安全多方下的时间序列异常检测方法与系统,提出了一种在半诚实模型下的计算和存储外包的高效的具有隐私保护功能的时间序列异常检测算法,主要分为两个部分,其中第一步是在各个数据拥有者方面完成的,此步骤完成了数据的约减过程;第二步是在云端(即服务器端)完成检测过程。本文提出的方法,在把数据外包给云端之前,完成了数据约减的过程,因此,无论是在云端的通信开销还是云端的计算开销,都有了很大的效率提升。

本发明提供的一种基于安全多方下的时间序列异常检测方法与系统,属于数据挖掘中的技术,适用于在隐私保护下的多方时间序列异常检测。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1