一种适用于多应用场景的安全数据融合方法与流程

文档序号:11181178阅读:1795来源:国知局
一种适用于多应用场景的安全数据融合方法与流程

本发明涉及一种适用于多应用场景的安全数据融合方法,属于数据融合技术领域。



背景技术:

近年来,低功耗集成电路和无线通信技术的发展,使得传感器节点以更低成本和功耗应用在实际生活中,提高了利用大规模传感器网络收集、处理、分析和传播信息的可行性。由于无线传感器网络的特殊性,如能量、计算和存储资源有限等,为减少数据冗余,提高网络资源的利用率,通常对数据在传输过程中进行融合操作。当wsn应用于敏感数据监测时,如何保障数据的安全性成为数据融合的主要问题。相对的,在保障数据安全性的同时,一般会给网络带来额外的开销,这与数据融合的目的背道而驰。诸多基于传统公钥加密的融合机制会给网络带来较大计算和通信开销,并且不支持多种应用数据的融合,即当网络中存在多种类型的传感数据时(如温度、湿度、压力等),中间融合节点无法对多种数据进行有效的融合,从而无法满足实际应用中需求。经对现有文献的检索发现,lin等人基于iphcda(integrityprotectinghierarchicalconcealeddataaggregation)协议中的分区域层簇式融合思想,提出了一种适用于多应用场景的数据融合算法cdama(concealeddataaggregationschemeformultipleapplications),该方案使用基于椭圆曲线的公钥bgn公钥加密方案并对其进行扩展,使其能够对多种类型传感数据进行融合。由于该方案产生的密文扩张较大,密文数据须分成多个数据包发送,很大程度的增加了网络中通信量并且降低了融合的精确度。

因此,针对上述问题,本发明引入了一种轻量级对称同态加密算法和同态消息认证码,使得融合节点能够对接收到密文及其消息认证码执行加性融合。同时,引入融合轮数t,使每个节点能够动态的更新密钥,可有效的抵御重放攻击。进一步,在明文被加密前对其进行编码,满足了多应用场景下的使用需求。



技术实现要素:

本发明目的在于提出了一种适用于多应用场景的安全数据融合方法,该方法为数据提供机密性和完整性保护的同时,解决了传统公钥加密方案计算和通信开销过大以及不支持多源异构数据融合的问题。

一种适用于多应用场景的安全数据融合方法,该方法以簇为数据融合的基本单位,分为初始化阶段、数据加密与标签生成阶段、数据融合阶段和完整性验证阶段。

附图说明

图1网络拓扑结构;

图2适用于多应用场景的安全数据融合方案示例图;

图3适用于多应用场景的安全数据融合方案的流程图;

具体实施方式

本方法设定为周期性融合,节点周期性地采集并上传收集到数据。

一种适用于多应用场景的安全数据融合方法,其特征在于,以当前融合轮数和节点预置密钥作为哈希函数的输入,为节点更新每个融合周期的密钥。采用同态加密技术,使中间节点能够对密文直接执行融合操作。采用同态消息认证码,使基站能够验证融合数据在传输过程中是否被篡改。对明文信息采用编码机制,以满足多应用场景下的使用需求。

本方法采用的网络结构如图1所示。网络由3种节点组成bs(基站)、融合节点(簇头节点)、簇内成员节点。并且,本文设定网络中每个节点集成多种类型传感器,负责采集不同种类型的数据(如湿度、温度、压力等)。簇内成员节点负责采集数据并将感知的数据上传给融合节点;融合节点将簇内所有成员节点发送的数据进行融合后上传给基站节点;bs在网络中负责接收簇头节点的融合结果。具体步骤包括:

(1)初始化阶段:

在网络被部署之前,为每个节点snij(记snij为第j个簇的第i个成员)预置加载密钥ki=(k,kij,1,kij,2),其中k为整个网络中所有节点共享密钥,为与基站的共享密钥。同时,每个节点需加载一个大数m,一个大素数p,一个基于hmac-sha1的伪随机函数prf(·)。

(2)数据加密与标签生成阶段:

(2-1)每个簇内成员节点snij根据当前融合周期轮数t以及节点预置密钥ki=(k,kij,1,kij,2),计算前周期数据加密密钥kij1,t和消息认证标签生成所需密钥kij2,t:

kij1,t=prf(kij1,t),kij2,t=prf(kij2,t)。

(1)

(2-2)snij对α种类别的感知数据进行编码:

dij,t=mij,1,t||mij,2t||......||mij,α,t

(2)

其中||表示连接操作,mij,α,t表示snij在第t轮周期内采集的数据,数据类型为α。其中每种数据类型所需占用的二进制位数|mij,α,t|需满足|mij,α,t|=λ·(α-1),λ为能足够表示每一种类型的数据所需的比特数λ=log(nα·p),nα为网络中第α-1种传感器数量,p为第α-1种传感器感知数据的最大长度。

(2-3)snij对步骤2中dij,t执行加法同态加密,可得dij,t的密文:

cij,t=dij,t+kij1,t(modm)

(3)

(2-4)snij根据3中的密文cij,t,计算消息认证标签:

tagij,t=(cij,t·k)+kij2,t(modp)

(4)

其中,p为大素数,cij,t为节点感知数据加密后的密文,kij,t为全局密钥,kij2,t为节点与基站共享的密钥。由公式4为每个密文生成一个认证标签tagij,t,并且该公式满足加法同态:

tag1+tag2

=f(c1,k,k1,p)+f(c2,k,k2,p)

=k·c1+k1+k·c2+k2modp

=k·(c1+c2)+(k1+k2)modp

=f(c1+c2,k,k1+k2,p)

所以,该消息认证码具有加法同态性。融合节点收到每个成员节点的认证标签tagi,可以对多个认证标签进行融合后上传给基站用于验证融合数据的完整性。全局秘钥k可有效的防止攻击者在密文信息上实施锻造攻击。

(2-5)所有簇内成员节点snij将密文cij,t和相应的消息认证标签tagij,t上传至簇头节点。

(3)在数据融合阶段:

(3-1)簇头节点收集到的n个密文数据(c1j,t…cnj,t),执行加性融合,可得融合密文:

cagg,j=∑cij,tmodm

(5)

(3-2)簇头节点收集到的n个消息认证标签(tag1j,t…tagnj,t),执行加性融合,可得融合标签:

tagagg,j=∑tagij,tmodp

(6)

(4)完整性验证阶段:

(4-1)基站在接收到各簇头节点发送的数据包后,首先使用与节点共享的密钥kij1,kij2,根据当前融合轮数t计算本周期内网络中各节点使用的密钥:

kij1,t=prf(kij1,t),kij2,t=prf(kij2,t)

(7)

(4-2)基站计算每个簇内响应节点密钥之和:

(4-3)基站根据步骤2中k2,t,全局密钥k以及接收到的融合数据的密文cagg,j,重新计算融合标签值:

tagagg,j'=(cagg,j·k)+k2,t(modp)

(9)

(4-4)基站将步骤4-3中得到的tagagg,j'与接收到的标签tagagg,j进行比对。如果tagagg,j'=tagagg,j,基站接收融合密文数据cagg,j并对cagg,j进行解密和解码操作:

magg,α,j=d[(α-1)·λ,α·λ-1]

(11)

反之,若tagagg,j'≠tagagg,j,基站将丢弃融合密文数据cagg,j。

(4-5)基站与各节点更新融合周期计数值t=t+1,并进入下一个融合周期。

方案示例

下面通过简单举例来说明本方案的工作流程。假设网络中有3个节点{sn11,sn21,sn1},sn1为簇头节点,sn11,sn21为sn1的成员节点。假设每个节点集成3种类型传感器,sn11的密钥k11=3000,sn21的密钥k21=1500,m=5000采集到的数据分别为:

首先,节点对明文编码,此时λ=4,编码后的结果为:

接着,对编码结果进行加密得到密文c11,c21,并使用密文生成认证标签tag11,tag21。

然后,sn11,sn21将(c11,tag11),(c21,tag21)发送给sn1。sn1收到密文和标签后,分别对其执行加法融合操作,可得:

随后sn1将融合结果(cagg,1,tagagg,1)发送给基站。最后,基站在收到(cagg,1,tagagg,1)后,首先验证数据的完整性。如果验证通过,基站对融合密文解密得到dagg,1=(111110110111)2,再根据译码规则计算:

dagg,1=cagg,1-k11-k21modm=4023=(111110110111)2

magg,1,1=d[(1-1)·4,1·4-1]=d[0,3]=(0111)2=7

magg,2,1=d[(2-1)·4,2·4-1]=d[4,7]=(1011)2=11

magg,3,1=d[(3-1)·4,3·4-1]=d[8,11]=(1111)2=15

magg,1,1,magg,2,1,magg,3,1即为三种不同类型数据的最终融合结果。

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