APP下载

无线传感器网络中数据安全聚合方法

2022-04-12房保纲钟伯成张家磊

传感器与微系统 2022年4期
关键词:椭圆加密曲线

房保纲, 钟伯成, 张家磊

(上海工程技术大学 电子电气工程学院,上海 201620)

0 引 言

无线传感器网络(wireless sensor networks,WSNs)[1]是在指定区域内部署大量的微型电子传感器,并以自组织和多跳的方式构建而成。这些微型传感器节点通常具有非常有限的能量、存储空间和计算能力,节点之间需要相互协作对周围的数据进行感知、采集、处理,并发送给所需的用户。目前,无线传感器网络已经被广泛地应用到工业控制、电子医疗、国防军事、智慧交通等领域[2]。

为了延长传感器网络的生命周期并且减少传感器冗余数据的传输,传感器需要在网络中进行协作收集和处理原始的数据,以减少原始数据的发送量。数据聚合技术便是常用的方法之一。近些年来,很多研究者提出了相关的数据安全聚合协议。He W等人[3]提出了CPDA(cluster-based private data aggregation)协议,协议的核心思想是利用簇协议和多项式代数的性质来进行数据聚合中的隐私保护。无线传感器节点随机组合成簇,在每一个簇里,利用多项式的加法性质去计算聚合结果。协议具有计算和通信开销较大的缺点。Castelluccia C等人[4]提出了AHE(additively homomorphic encryption)协议,其思想是允许设备在密文上进行数据聚合操作,采用端对端的加密机制来实现数据聚合。He等人提出了SMART(slice-mix-aggregate)协议,主要思想是建立在切分技术和可加性的关联属性上,每一个节点通过对原始感知数据切分成数据分片来加密原始感知数据,该协议具有计算开销小的优点,但数据的完整性较差。IPHCDA[5](integrity protecting hierarchical concealed data aggregation)协议采用一个基于椭圆曲线加密的同态加密算法来提供数据的完整性和机密性,该协议支持完整性验证,安全性更高,聚合结果准确性高,缺点是计算和通信的开销较大。

本文提出了一种基于椭圆曲线ElGamal密码体制的数据安全聚合方法,利用外包服务器计算椭圆曲线中运算量较大的倍点运算,从而能够有效降低传感器计算和通信的开销,同时使用同态加密和聚合签名技术有效保护数据的机密性和完整性。

1 预备知识

1.1 同态加密

同态加密算法能够在不解密的情况下直接对密文数据进行计算。假设EK(·)为一个加密函数,K为加密密钥,Dk(·)为相对应的解密函数。如果在某种运算操作∘下存在一种有效的算法Alg满足Alg(EK(x),EK(y))=EK(x°y),则EK(·)是一个运算∘下的同态加密。

1.2 椭圆曲线ElGamal密码体制

ElGamal密码体制[6,7]是一种典型的公钥密码体制,基于椭圆曲线的ElGamal密码体制具有加法同态的性质。椭圆曲线ElGamal算法的安全性是建立在椭圆曲线离散对数问题之上的。椭圆曲线离散问题是指,对于等式Q=kP,已知k和P的情况下知道计算Q比较容易;反之,已知Q和P的情况下知道计算k比较困难。对于有限域上的椭圆曲线E,设q=pn,n=2n′,明文消息为整数m,则m可以表示为m=m0+m1p+…+mn-1pn-1。使用ElGamal加密时,将消息m用编码函数map( )编码到椭圆曲线上,解密时只需将椭圆曲线上的点用解码函数rmap( )解码即可。

2 WSNs中数据安全聚合方法

2.1 网络模型

系统模型主要包含4个部分:多个WSNs节点,一个中间聚合器节点(middle aggregate nodes,MANs),一个聚合节点(aggregate node,AN),一台提供外包服务的服务器(outsourcing servers)。无线传感器节点负责数据的采集,中间聚合器节点负责聚合和验证多个传感器节点的消息的签名值,并利用同态加密得到中间密文,然后对中间聚合密文进行数字签名。最后,聚合器节点负责验证由多个中间聚合器节点对传感器消息的数字签名,并利用同态加密性质获得最终的聚合数据。

2.2 具体方案及其过程

2.2.1 系统初始化过程

本文提出的方法中,假设系统中有一个可信任机构TA(trust authority)负责生成无线传感器网络节点、中间聚合节点和聚合节点的密钥参数并通过安全的信道传输相应的系统参数。可信任机构TA产生系统参数和密钥信息的具体过程如下:

1)假设τ是一个整数,并且τ>0,则TA产生2个τ比特的素数q1,q2;

2)TA计算n=q1q2,并构造一个阶数为n的椭圆曲线点群G;

3)TA随机选择群G的两个生成元P1,P2,并计算H=q2P2,则H为群G的一个子群的随机生成元,而且子群的阶为q1,其中该聚合节点的公钥为PKAN={n,G,P1,H},私钥为SKAN=q1;

4)TA为任意一个中间聚合器节点生成的公钥信息为PKMAj={G,P3,n,Qj},私钥为PKMAj={dj};

5)TA为标识符为IDi的传感器节点生成的私钥为Si,k=SPi,k,其中k∈{0,1}。

2.2.2 传感器节点处理过程

无线传感器节点在收集到数据后,系统采用公钥加法同态加密算法对数据进行加密处理。在方法中,假设传感器具有较弱的计算能力,所以,椭圆曲线密码学中的倍点运算可以外包给服务器进行计算,从而减少传感器的运算量。具体过程如下:

2.2.3 中间聚合器节点处理过程

2)中间聚合器节点判断IDMAj是否与自己的一致,然后判断时间戳Tstamp是否在误差范围内;

3)中间聚合器节点收集所有的有效消息,然后进行签名的批量验证,AggVer(ω,Si,Ti,n)→TUREorFALSE;

2.2.4 聚合器节点处理过程

2)聚合器节点检查标识符IDAN和时间戳Tstamp,如果标识符一致且时间戳在允许的误差范围内,则继续数据处理过程;

3)聚合器节点进行聚合签名的验证AggVer(ω,SMAj,TMAj,n)→TUREorFALSE,如果返回值是真,则继续处理过程;

3 安全性与性能分析

3.1 安全性分析

1)数据机密性:由于本文应用了同态加密和聚合签名技术,因此,无论是传感器节点还是中间聚合器节点在未获得私钥的情况下不能获得明文数据,所以本文能够保证数据的机密性。

2)数据完整性:本文应用了基于身份的聚合签名技术,数字签名技术可以验证消息的完整性,所以,可以保证中间聚合器节点和聚合器节点收到的消息是完整的,未被篡改。

3)抗重放攻击:本文运用了时间戳技术,将时间戳嵌入到通信的信息中可以有效的抵御重放攻击。

3.2 性能分析

为了评估本文在具体的传感器节点上的性能与可行性,基于 TinyOS[8]平台给出算法的原型实现,并基于传感器网络研究中广泛使用的Crossbow MICAz节点分析了算法的计算开销。MICAz节点的配置为:

处理器为STM32F103C8,存储为128 kB闪存和20 kB电可擦除只读存储器,通信为CC2420无线模块,传输速率为250 Kbps,传输协议为IEEE 802.15.4,探测对象为环境温度、空气压力、磁场强度、空气湿度等。

使用开源软件C++ TOSSIM库和PBC(pairing-based cryptography)库对无线传感器网络中的传感器节点、中间聚合器节点以及聚合器节点的计算开销进行评估。

在所提出的方法中,传感器节点可以将昂贵的椭圆曲线倍点运算外包给服务器,只需计算普通的椭圆曲线加法运算,所以传感器的计算开销很小,且与传感器节点的数量无关。如图1所示,随着传感器数量的增加,计算开销并没有线性增长。因为中间聚合器节点MA需要对传感器节点的数据进行聚合验证,所以,它的计算开销和传感器节点的数量成线性相关。如图2所示,中间聚合器节点的开销和传感器数量呈正比关系。

图1 传感器节点计算开销

图2 中间聚合节点的计算开销

4 结 论

针对无线传感器网络数据聚合中安全性和计算开销问题,本文基于同态加密和聚合签名技术提出了一种能够保证数据的机密性和降低计算开销的数据聚合方法。无线传感器借助外包服务器计算椭圆曲线倍点运算,从而减少了传感器节点的计算开销。中间聚合器节点使用椭圆曲线ElGamal密码体制进行数据的聚合签名,从而保证了数据的机密性。同时还使用了时间戳技术来抵御敌手的重放攻击。实验仿真表明:所提方法在计算和通信开销方面较低且高效可行。

猜你喜欢

椭圆加密曲线
未来访谈:出版的第二增长曲线在哪里?
例谈椭圆的定义及其应用
幸福曲线
保护数据按需创建多种加密磁盘
巧用点在椭圆内解题
谷歌禁止加密货币应用程序
加密与解密
椭圆的三类切点弦的包络
梦寐以求的S曲线
极限思想在椭圆问题中的应用