«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (12): 157-162, 200  DOI: 10.19678/j.issn.1000-3428.0055577
0

引用本文  

吴昆, 魏国珩. 基于ECC的无证书WSN广播信息认证方案[J]. 计算机工程, 2020, 46(12), 157-162, 200. DOI: 10.19678/j.issn.1000-3428.0055577.
WU Kun, WEI Guoheng. ECC-Based Certificateless Broadcast Information Authentication Scheme for WSN[J]. Computer Engineering, 2020, 46(12), 157-162, 200. DOI: 10.19678/j.issn.1000-3428.0055577.

基金项目

国家部委基金

通信作者

魏国珩(通信作者), 副教授

作者简介

吴昆(1995-), 男, 硕士研究生, 主研方向为物联网安全、无线传感器网络

文章历史

收稿日期:2019-07-25
修回日期:2019-09-23
基于ECC的无证书WSN广播信息认证方案
吴昆 , 魏国珩     
海军工程大学 信息安全系, 武汉 430033
摘要:广播认证是无线传感器网络(WSN)安全中的重要部分,针对传统广播认证中资源消耗较多、安全性不高的问题,结合椭圆曲线密码算法,提出一种非双线性的无证书广播信息认证方案。该方案基于计算椭圆曲线离散对数实现安全认证,并通过相邻节点间相互协作共享中间计算结果,以减少节点的计算开销。通过形式化分析得出,在随机预言机模型下证明了方案具有面对2种攻击者的安全性,还拥有抗密钥托管、抗重放攻击与抗拒绝服务攻击等多种安全属性。实验结果表明,该方案执行一次广播信息认证的能耗更少,且具有较长的网络生存周期,适用于资源受限的WSN。
关键词无线传感器网络    广播认证    无证书机制    非双线性    椭圆曲线密码    
ECC-Based Certificateless Broadcast Information Authentication Scheme for WSN
WU Kun , WEI Guoheng     
Department of Information Security, Naval University of Engineering, Wuhan 430033, China
Abstract: Broadcast authentication is an important part of Wireless Sensor Network(WSN) security.To address the high resource consumption and low security in traditional broadcast authentication schemes, this paper proposes a non-bilinear certificateless broadcast information authentication scheme using the Elliptic Curve Cryptography(ECC) algorithm.This scheme calculates the Elliptic Curve Discrete Logarithm(ECDL) to achieve security authentication, and shares the intermediate calculation results through the cooperation between neighboring nodes, so as to reduce the calculation cost of nodes.Through formal analysis, the security of the scheme against two kinds of attackers is demonstrated under the random oracle model.The scheme also has multiple security attributes such as resistance to key hosting, resistance to replay attacks and resistance to denial of service attacks.Experimental results show that the proposed scheme consumes less energy to perform a broadcast information authentication, and extends the network life cycle, which makes it suitable for resource-constrained WSN.
Key words: Wireless Sensor Network(WSN)    broadcast authentication    certificateless mechanism    non-bilinear    Elliptic Curve Cryptography(ECC)    
0 概述

随着低功耗无线通信技术、微型传感器技术及集成电路技术的飞速发展, 无线传感器网络(Wireless Sensor Network, WSN)在社会生活中的应用越来越广泛[1]。广播是无线传感器网络中数据分发与收集的主要方式, 不仅应用于网络节点的配置与管理过程, 且常用于节点之间的数据通信[2]。广播认证是无线传感器网络安全认证中的重要部分, 是保证广播信息完整性和信息源真实性的重要方法。

传统WSN广播信息认证方式主要分为2种, 分别是基于对称加密的方式与基于数字签名的认证方式[3]。其中, 基于对称加密的对称方式是利用消息认证码MAC的延迟认证, 通过网络节点共享秘密信息或者延迟公布密钥的方式实现认证, 主要为μTESLA[4]及其改进方案[5-6], 由于引入了时间延迟机制, 该方案很容易遭受DOS攻击。基于数字签名的认证方式主要是利用公钥密码实现, 但是基于PKC的非对称认证方案[7]需要复杂的公钥基础设施和数字证书管理[8], 基于身份的认证方案[9-10]则将会面临密钥托管问题, 而基于双线性计算的无证书认证方案[11-12]将会造成极大的计算开销。

针对上述问题, 本文提出一种基于非双线性的无证书WSN广播认证方案, 该方案利用椭圆曲线密码(Elliptic Curve Cryptography, ECC)算法实现认证, 利用节点之间的相互协作, 以减少计算开销, 降低计算复杂度。

1 基础知识 1.1 椭圆曲线密码体制

椭圆曲线密码体制是一种基于有限域上椭圆曲线的公钥密码体制, 能够用较短的密钥长度得到较高的加密强度, 160位ECC算法可以提供大约1 024位RSA算法的加密强度[13]。假设q是一个λ位素数, 定义在有限域F(p)上的椭圆曲线E包含满足等式y2+xy=x3+ax2+b上的所有点以及一个无穷远的点O, 其中, a, bF(p)且4a3+27b2≠0 mod q。假设G为所有点的集合组成的加法循环群, 则G={(x, y):y2=x3+ax+b}∪O, 且G的阶为n, 点PG的生成元。椭圆曲线上的点乘定义为kP=$\underbrace{P+P+\cdots +P}_{k}$

1.2 椭圆曲线离散对数问题

假设G为椭圆曲线上的一个阶为q的循环加法群, P是它的一个生成元, 已知P, aPG, 对任意aF(p), 计算a

在概率多项式时间(Probabilistic Polynomial Time, PPT)内, 算法Φ成功解决椭圆曲线离散对数(Elliptic Curve Discrete Logarithm, ECDL)问题的优势定义如下:

AdvECDL(Φ)=Pr[Φ(P, aP)=a|aF(p)]

椭圆曲线离散对数问题的假设:对于任意的概率多项式时间算法Φ, 优势AdvECDL(Φ)是可以忽略的[14]

2 方案设计 2.1 网络初始化

在无线传感器节点部署到指定区域后, 迅速建立网络连接, 并进行网络初始化。首先, 以基站为网络的密钥生成中心(Key Generation Center, KGC), 并执行以下步骤:

步骤1  产生GF(2n)上的椭圆曲线E:y2=x3+ax+b(a, bGF(2n)), 任选E上的循环群G中阶为n的生成元P=(px, py)作为公开的基点, 其中, px, py mod qGF(2n)。

步骤2  随机选择sGF(2n)作为基站的主密钥, 计算PK=sP作为公钥。

步骤3  选择2个安全Hash函数:

H1:{0, 1}*×G×GGF(2n);

H2:{0, 1}*×G×{0, 1}*×{0, 1}*GF(2n)。

步骤4  向网络中公开基站的系统参数Parameter= < G, P, PK, H1, H2>。

2.2 节点注册

节点注册的步骤为:

步骤1  节点Ni随机选取秘密值s′iGF(2n), 计算PKi=s′iP为节点的部分公钥, 将身份标识符IDi和PKi发送给基站。

步骤2  基站选择随机数kiGF(2n), 计算PKi=kiP以及s″i=ki+sH1(IDi, PKi, PKi), 基站通过安全信道将{PKi, s″i}发送给节点Ni, 其中, PKi可作为节点的部分公钥, s″i为节点的部分私钥。此外, 基站保存节点的身份标识符及部分公钥信息PKi, 此时节点Ni完成在基站上的注册。

步骤3  节点Ni通过判断等式s″iP=PK″i+H1(IDi, PKi, PKi)PK是否成立来确定基站产生的部分公钥与私钥是否正确。结合{PKi, s″i}, 节点Ni产生自己的公私钥对 < PKi=(PKi, PKi), si=(s′i, s″i)>。

2.3 签名产生

当身份标识为IDa的节点A向网络中广播信息m时, 需要利用其私钥对消息进行签名, 步骤如下:

步骤1  节点A获取时间戳tt并选取随机数raGF(2n), 计算Ra=raP, h=H2(tt, IDa, m, Ra, PKa, PKa), L=ra(s′a+s″a+h)-1, 并生成m的签名信息为σ= < h, L>。

步骤2  结合签名信息σ, 节点A生成广播信息δ=(tt, IDa, m, σ), 并将信息发送给基站。

由于普通节点的通信距离一般较小, 对其直接进行网络广播时, 往往需要通过其他节点进行转发, 这样会增加认证过程的时延且会引起更大的安全风险。因此, 本文考虑以基站为中间人, 基站的通信范围能够覆盖整个网络, 直接与其他节点进行通信。

2.4 广播认证 2.4.1 基站认证

基站收到广播δ后, 首先判断时间戳tt是否较新, 之后根据身份标识IDa查询节点对应的公钥PKa=(PKa, PKa), 并根据公钥信息对签名信息进行验证。计算R′a=L(PKa+PKa+haPK+hP), 其中, ha=H1(IDa, PKa, PKa), 再计算Hash值h′=H2(tt, R′a, IDa, PKa, PK″a, m), 并判断h′=h是否成立。如果等式h′=h成立, 则基站通过对广播信息的验证, 并将节点A的公钥信息结合广播信息转发到网络δ′=(tt, IDa, m, PKa, PKa, σ)中; 如果验证失败, 则将信息丢弃。

正确性验证过程如下:

R′a=L(PKa+PKa+haPK+hP)=L(s′a+ka+sH1(IDa, PKa, PKa)+h)P=L(s′a+s″a+h)P=raP=Ra

h′=H2(tt, R′a, IDa, PKa, PKa, m)=h

2.4.2 网络节点协同认证

网络中的普通节点在收到广播信息δ′后, 同样需要通过判断h′=h来验证信息的真实性。然而从基站的验证过程可知, 判断广播信息的真实性需要计算haPK、hP以及LQ共3次点乘以及4次点加运算, 其中, Q=PKa+PKa+haPK+hP。与点加运算相比, 椭圆曲线上的点乘运算需要消耗大量的能量与较长的计算时间。由于节点在认证过程中都需要执行以上3次点乘运算, 因此考虑使用相邻节点进行协同认证, 使网络中的节点先计算haPK、hP中的一个值, 并将中间计算结果共享给邻居节点, 以减少邻居节点的计算量, 提高广播认证速度并降低能耗。节点协作广播认证过程如图 1所示。

Download:
图 1 节点协作广播认证过程 Fig. 1 Process of node cooperative broadcast authentication

节点B接收到广播信息后, 首先随机选择计算hP, 并将计算结果发送给其邻居节点, 那么节点CDEF只需要计算haPK以及LQ共2次点乘运算即可实现对广播信息的验证。同样, 节点B也可以从其相邻节点中接收到通过接受haPK的计算值进行快速认证。在此过程中, 虽然节点增加了一部分接收数据包的过程, 但是远小于计算一次ECC点乘运算的消耗。因此, 通过共享中间点乘计算结果, 每个节点可以减少约33%的能耗。在网络中, 节点一般对其邻居节点的状态比较了解, 因此, 为防止网络中的恶意节点散播虚假中间计算值, 规定节点只能从其相邻节点处接收中间计算值。

2.5 预防攻击

虽然通过节点协同认证减少了计算消耗, 但是容易引起中间人攻击。恶意节点通过散布虚假点乘计算值, 使其相邻的合法节点认为接收到的广播信息不可信, 从而干扰广播信息的传输。为避免此类信任欺骗, 本文对方案进一步改进, 引入系统参数ωθ。假设节点B计算的点乘结果为hP, 节点等待θ时间之后, 从其λ个相邻节点中接收到ω个计算中间值, 包括ω1haPK1ω2hP1。节点判断接收到的数据中是否含有与自身计算结果不同的hP, 如果发现有不同的hP, 则传感器节点向基站发送报告存在隐藏攻击; 节点查找数据包中是否有自身需要的点乘运算结果haPK, 如果有多个值且不相同, 节点同样向基站报告存在潜在攻击; 如果接收到的haPK值相同, 则节点只需要在进行一次点乘运算LQ后即可完成验证; 如果接收到的haPK值不同, 则由节点本身计算haPK得到R′a=LQ, 并得到h′=H1(tt, R, IDa, PKa, PKa, m), 完成对广播信息的验证。

在本文方案中, 对于ω的选择, 假设传感器节点B共有υ个可以直接通信的相邻节点, 且都将计算结果发送给B, 网络中传感器节点被攻击者影响的概率为τ, 则节点最多收到υτ个虚假中间值, 即至少有ω-υτ个合法的中间值。同时, 只有节点接收到的haPK1全为虚假值, 且ω-υτ个合法的中间值全为hP1时, 才会对广播信息认证的结果产生影响。否则, 节点将放弃所有数据包, 并向基站发送报告。因此, 为了抵御节点信任欺骗造成的共谋攻击, 需要尽量保证接收到的haPK1的数量大于相邻恶意节点的数量。

因为每个合法节点初始选择计算的点乘值随机, 所以节点受到共谋攻击的概率为ϑ=1/2ω-υτ。为了使得ϑ < 1%, 设置λωυτ+7。关于等待时间θ的选取, 应该使节点B能够在θ时间内接收到ω个数据包。θ值取决于节点的数据传输时间以及无线收发器的退避延时, 退避延时主要是指节点在接收或者发送数据前对信道空闲状态进行检测的等待时间。因此, 设置网络的等待时间为θ≥(PackSize/TransRate+T)ω, 其中, PackSize表示一个点乘计算结果haPK或hP的数据大小, TransRate表示节点的数据传输速率, T表示节点的退避延时。

3 安全性分析 3.1 安全模型证明

根据AL-RIYAMI等人[15]针对无证书密码体系(CL-PKC)提出的安全模型, 本文主要考虑以下2种攻击:

1) 挑战者A1是一个恶意的网络参与节点, 不能获取系统的主私钥, 但是可以查询和替换网络中的合法节点的公钥。

2) 挑战者A2是一个恶意的PKG, 可以获取系统的主密钥, 但是无法同时替换网络中合法节点的公钥信息。

挑战者A1的安全性证明过程如下:

定理1  在随机预言机模型下, 假如挑战者A1可以在PPT内以不可忽略的优势ε赢得相关游戏(游戏的详细定义见文献[13]), 则算法Φ能以不可忽略的优势$Ad{{v}^{\text{ECDL}}}\left( \mathit{\Phi } \right)={{\left( 1-\frac{{{q}_{{{H}_{1}}}}}{q} \right)}^{{{q}_{cu}}}}{{\left( 1-\frac{1}{{{q}_{cu}}} \right)}^{{{q}_{ep}}}}\left( 1-\frac{{{q}_{{{H}_{2}}}}}{q} \right)\frac{1}{{{q}_{cu}}}\varepsilon $在PPT内解决ECDL(G, P, PK=sP)问题。其中, qH1qH2qcuqep分别表示进行H1查询、H2查询、新节点注册查询以及部分私钥提取查询。

证明  令算法Φ为二元组 < P, aP>的计算困难问题解决者, 其目标是计算出aΦ以挑战者A1作为子程序并充当游戏的挑战者。Φ创建列表LuL1L2分别记录新节点注册查询、H1查询、H2查询的结果。游戏开始时, 所有的列表为空。

1) 第一阶段

算法Φ随机选择一个IDT作为目标节点, 设置参数Parameter= < n, P, PK, H1, H2>, 并发送给挑战者A1

2) 第二阶段

挑战者A1Φ发送查询信息并接收Φ的回复信息, 具体如下:

(1) H1查询:列表L1中的数据格式为(IDi, PK′i, PK″i, h1), 当Φ接收到挑战者A1H1的查询信息IDt时, 若存在(IDt, PK′t, PK″t, h1)∈L1, 则返回对应的h1给挑战者A1; 否则, 挑战者A1对IDt的新节点注册查询, 之后Φ返回L1中相应的元组给挑战者A1

(2) H2查询:列表L2中每一项的格式为(tti, IDi, mi, Ri, PKi, PKi, h2), 当Φ接收到挑战者A1H2的查询信息(ttt, IDt, mt, Rt, PKt, PKt)时, 若存在(ttt, IDt, mt, Rt, PK′t, PKt, h2)∈L2, 则返回对应的h2给挑战者A1; 否则, Φ随机选取h2且满足(*, *, *, *, *, *, h2)∉L2, 并将(ttt, IDt, mt, Rt, PKt, PKt, h2)加入至列表L2, 并返回h2给挑战者A1

(3) 新节点注册查询(IDt):列表Lu中每一项的格式为(IDi, PKi, PKi, s′i, s″i), 当Φ接收到挑战者A1对IDt的新节点注册查询时, 若存在(IDt, PKt, PKt, s′t, s″t)∈Lu, 则返回(PKt, PKt); 否则, Φ选取随机数s′ts″th1, 计算PKi=s′iP, PKi=h1PK+s″tP。如果IDt=IDT, Φ随机选取kt, s′t, 计算PKt=s′tP, PKt=ktP, s″t=NULL。检查列表L1, 若已经存在(IDt, PKt, PKt, H1(IDt, PKt, PKt)), 且H1(IDt, PKt, PKt)≠h1, 则游戏终止; 否则, 返回(PK′t, PK″t), 并将(IDt, PKt, PKt, s′t, s″t)保存至Lu, (IDt, PK′t, PKt, h1)保存至L1

(4) 公钥替换查询(IDt, PKt, PKt):挑战者A1可以选择随机数s′t, 并将原来的公钥PK′替换为PK′t=s′tP参与之后的计算。

(5) 秘密值生成查询(IDt):Φ接收到对IDt查询时, 查找列表Lu, 如果存在(IDt, PKt, PKt, s′t, s″t)∈Lu, 则返回相应的秘密值s′t; 否则, Φ进行新节点注册查询, 并返回s′t

(6) 部分私钥提取(IDt):如果IDt=IDT, 返回s″t=NULL, 游戏终止; 否则, Φ查找列表Lu, 并返回s″t。一般情况下, 在进行部分私钥提取查询前, 已经完成了对应的新节点注册查询。

(7) 签名查询(IDt, m):当接收到签名查询时, 如果IDt=IDT, 则终止游戏; 否则, Φ首先搜索列表Lu, L1, 如果s″t≠NULL, 获取 < PKt, PKt, s′t, s″t>, 随机选取rt, 计算Rt=rtPh2=H2(ttt, IDt, mt, Rt, PKt, PKt)并加入列表L2, 计算Lt=rt(s′t+s″t+h2)-1, 返回(Lt, h2); 如果s″t=NULL, Φ随机选择并返回(Lt, h2)。

(8) 签名验证查询(IDt, m, Lt, h2):挑战者A1在执行新节点注册查询之后, 获取 < IDt, PKt, PKt>, 并向Φ发送签名验证查询。Φ首先在列表Lu中查询 < IDt, PKt, PKt>:

① 存在 < IDt, PKt, PKt>, 若IDt≠IDT, 则查询L1, 并计算Rt=Lt(PKt+PKt+h1PK+h2P), 如果H2(ttt, IDt, mt, Rt, PKt, PKt)=h2, 则验证通过, 否则, 终止游戏; 若IDt=IDT, 查询列表L2中是否存在(ttt, IDt, mt, Rt, PKt, PKt, h2), 若存在, 则验证通过, 否则, 游戏终止。

② 如果列表Lu中不存在 < IDt, PKt, PKt>, 即公钥已经被替换, 查询列表L2中是否存在(ttt, IDt, mt, Rt, PKt, PKt, h2), 若存在, 则验证通过, 否则, 游戏终止。

3) 第三阶段

挑战者A1针对信息 < ID*, m*>伪造签名, ID*=IDT, 选取随机数r*, L*, 计算R*=r*Ph1=(IDt, PKt, PKt), 获取伪装签名σ*= < h2*, L*>。同时, Φ知道替换后的公钥, 如果伪造成功, 那么根据r*=L*(s*′+k*+sh1*+h2*), Φ输出s=(r*-L*(s*′+k*+h2*))/L*h1*, 即为ECDL(G, P, PK=sP)问题的解答; 否则, Φ没有解决ECDL问题。

分析算法Φ解决ECDL(G, P, PK=sP)问题的概率。算法Φ成功的条件为:

1) Φ没有停止游戏;

2) σ*是一个有效的伪装广播信息。

那么Φ的优势Adv(Φ)=Pr[Con1∧Con2]=Pr[Con1]Pr[Con2|Con1], 且Pr[Con2|Con1]=ε

算法Φ没有停止游戏的概率如下:

在新节点注册查询时, 游戏未终止的概率为${{\left( 1-\frac{{{q}_{{{H}_{1}}}}}{{{2}^{n}}} \right)}^{{{q}_{cu}}}}$, 在进行部分私钥提取查询时, 游戏未终止的概率为${{\left( 1-\frac{1}{{{q}_{cu}}} \right)}^{{{q}_{ep}}}}$, 签名及验证查询时, 游戏未终止的概率不小于$\frac{1}{{{q}_{cu}}}\left( 1-\frac{{{q}_{{{H}_{2}}}}}{{{2}^{n}}} \right)$, 得到Pr[Con1]≥${{\left( 1-\frac{{{q}_{{{H}_{1}}}}}{{{2}^{n}}} \right)}^{{{q}_{cu}}}}{{\left( 1-\frac{1}{{{q}_{cu}}} \right)}^{{{q}_{ep}}}}\left( 1-\frac{{{q}_{{{H}_{2}}}}}{{{2}^{n}}} \right)\frac{1}{{{q}_{cu}}}$

因此, 可以得到算法Φ成功解决ECDL问题的概率为Adv(Φ)≥${{\left( 1-\frac{{{q}_{{{H}_{1}}}}}{{{2}^{n}}} \right)}^{{{q}_{cu}}}}{{\left( 1-\frac{1}{{{q}_{cu}}} \right)}^{{{q}_{ep}}}}\left( 1-\frac{{{q}_{{{H}_{2}}}}}{{{2}^{n}}} \right)\frac{1}{{{q}_{cu}}}\varepsilon $

挑战者A2的安全性证明过程如下:

定理2  若挑战者A2可以在PPT内以不可忽略的ε优势赢得相关游戏(游戏的详细定义见文献[16]), 则算法Φ能以不可忽略的优势AdvECDL(Φ)=${\left( {1 - \frac{{{q_{{H_1}}}}}{q}} \right)^{{q_{cu}}}}{\left( {1 - \frac{1}{{{q_{cu}}}}} \right)^{{q_{ep}}}}\left( {1 - \frac{{{q_{{H_2}}}}}{q}} \right)\frac{1}{{{q_{cu}}}}\varepsilon $在PPT内解决ECDL(G, P, PK=sP)问题。其中, qH1qH2qcuqep分别表示进行H1查询、H2查询、新节点注册查询以及部分私钥提取查询。

证明思路与定理1类似, 这里不再赘述。

3.2 安全属性分析

为了证明本文方案的安全性, 下面对方案的3个典型的安全属性进行分析, 具体如下:

1) 密钥托管

本文采用基于无证书的密码体制, 节点的私钥si=(s′i, s″i)一部分s′i由节点随机产生, 另一部分s″i由基站结合节点的部分公钥产生, 因此即使基站被攻击, 攻击者也无法获取节点的另一部分私钥, 避免了密钥托管的危险。

2) 重放攻击

节点向网络发送的广播信息中含有时间戳信息tt, 可有效防范信息重放攻击, 而且广播信息中通过加入广播者的公钥信息, 并利用Hash函数进行完整性保护, 可以防止攻击者伪造广播者的身份进行攻击。

3) 拒绝服务攻击

本文方案中, 节点利用基站对广播信息进行中间广播, 基站的传输范围可以覆盖整个网络, 因此可以避免信息在网络节点中的大部分传输延迟。对广播信息的认证是通过非对称密码实时进行签名认证的, 每个节点都接收到了完整的广播信息, 节点只是利用其有限个相邻节点的计算结果进行协同认证, 设定了相应的阈值来避免DOS攻击。而且, 在检测到攻击时, 节点可以将潜在攻击报告发送给基站, 并对网络进行安全检测, 识别出恶意的攻击者。

4 方案性能分析

对方案性能进行分析时, 为了更接近真实情况, 设置节点为具有1个工作频率为8 MHz ATmega处理器的MicaZ平台, 节点的工作电压为3 V, 工作状态下节点的电流为8 mA, 接收电流为10 mA, 发送电流为27 mA, 最大数据传输速率为250 Kb/s[17]。由于基站的计算能力和电量不受限制, 因此本文在性能分析中不对其进行讨论。

4.1 形式化分析

假设每个传感器节点只从其邻居节点中接收ω个中间计算结果。节点的计算开销只考虑进行点乘计算的能耗, 节点信息传输的能耗只与传输信息的长度有关, 已知|G|=2n, 则进行如下定义:

ESER分别为发送和传输一个字节信息的能量消耗, EM为计算一次点乘的能耗, l1l2l3分别为节点身份标识IDi的长度、时间戳tt的长度以及需要广播的信息m的长度。

考虑到160 bit的ECC密码安全性与1 024 bit的RSA安全性相当, 设置ECC的密钥长度n=160、l1=2 Byte、l2=2 Byte、l3=80 Byte; 设置参数ω=15, 同时, 根据实际传感器的性能, 设置ES=2.59 μJ/Byte、ES=0.96 μJ/Byte。在ATmega处理器上完成一次160 bit点乘运算大约需要0.81 s[18], 因此, EM=19.44 mJ。

一次广播信息认证过程的能耗情况如下:

1) 发送广播信息的节点能量消耗

节点需要广播信息长度为l3的信息m时, 总共需要消耗EM+(l1+l2+l3)ES=19.66 mJ。

2) 认证广播信息的节点能量消耗

节点单独进行广播消息认证时, 共需要执行3次点乘运算, 总的能耗为3EM+(l1+l2+l3+2|G|/8)ER=58.48 mJ。在节点协同认证过程中, 节点减少一次点乘运算能耗19.44 mJ, 增加ω次接收信息和1次发送信息的能耗(2nES+2ωnER)/8=0.68 mJ, 因此, 共需要消耗约2EM+(l1+l2+l3+2|G|)ER+(2nES+2ωnER)/8=39.72 mJ。

由此可以看出, 使用中间值共享的方式虽然增加了一定的能耗来进行数据的传输, 但是能量值非常小。在广播信息认证过程中, 每个节点的能耗减少大约为18.76 mJ, 理论上提升了32%。

在网络广播认证的时延方面, 本文方案减少了节点进行一次点乘运算的时间, 大约为0.81 s。虽然网络中增加了防共谋攻击机制, 引入了退避时延θ, 但是θ值很小, 一般在微秒级, 不会对认证时间产生较大的影响。

4.2 实验分析

本文在仿真时, 假设400个节点随机均匀分布在360×360 m2的区域内, 设置的节点通信半径为50 m。实验基于C++语言在OMNet++平台上进行仿真, 设备选用一台运行Windows 7、拥有i5-3210M处理器、4.00 GB RAM的笔记本。

在实验过程中, 选择文献[19-20]以及不执行节点协作的认证方案进行对比分析。在进行网络认证之后, 重复进行30次广播信息认证, 记录每个节点的能量消耗情况, 同时记录每次广播认证完成的时延。统计各方案完成一次广播信息认证中整个网络的平均总能耗和平均时间, 结果如表 1所示。

下载CSV 表 1 网络中完成一次广播的平均总能耗和平均时间 Table 1 Average total energy consumption and average time to complete a broadcast in the network

表 1可以看出, 本文方案的能耗相比不进行节点协作的方案降低约30.0%, 相比文献[19]方案减少了约28.6%, 相比文献[20]方案减少了约45.9%。同时, 本文方案的广播认证时间比不进行节点协作的方案降低了约19.5%, 相比文献[19]方案减少了约18.1%, 相比文献[20]方案减少了约31.3%。

假设节点的能量由两节容量为500 mAh的AA电池提供, 整个网络中的总能量为2 160 000 J。假设节点的电压低于2.2 V时, 网络就不能正常工作, 此时网络总能量低于约为1 600 000 J, 则各方案下的网络生存周期如图 2所示。

Download:
图 2 4种方案的网络生存周期对比 Fig. 2 Comparison of the network lifetime of four schemes

图 2可以看出, 本文方案的网络生存周期最长, 可以达到33 000轮左右, 而如果不进行节点协作, 网络在进行23 100轮左右的广播认证之后就不能正常工作。

5 结束语

针对WSN节点信息广播认证方案中安全性较低等问题, 本文提出一种基于ECC的无证书广播认证方案, 利用节点相互协作来共享中间计算结果, 有效减少了节点的计算消耗, 延长了网络的生存周期。实验结果表明, 该方案具有较强的安全性和优化资源消耗能力, 能够满足WSN的应用需求。下一步将对邻居节点协作方式进行优化, 以期达到更好的节能效果和安全性能。

参考文献
[1]
LI Yulong, LIU Renren, ZHAO Jinfeng, et al. Data collection method in clustering sensing network based on compressive sensing[J]. Computer Engineering, 2018, 44(10): 129-135. (in Chinese)
李玉龙, 刘任任, 赵津锋, 等. 分簇感知网络中基于压缩感知的数据收集方法[J]. 计算机工程, 2018, 44(10): 129-135.
[2]
SHI Jian. Overview of wireless sensor network broadcast certification[J]. Journal of Henan Science and Technology, 2014(11): 3-5. (in Chinese)
石坚. 无线传感器网络广播认证综述[J]. 河南科技, 2014(11): 3-5.
[3]
WU Kun, WEI Guoheng. Security authentication technology of wireless sensor network[J]. Communications Technology, 2019, 52(6): 1461-1468. (in Chinese)
吴昆, 魏国珩. 无线传感器网络安全认证技术研究[J]. 通信技术, 2019, 52(6): 1461-1468.
[4]
PERRIG A, SZEWCZYK R, TYGAR J D, et al. SPINS:security protocols for sensor networks[J]. Wireless Networks, 2002, 8(5): 521-534. DOI:10.1023/A:1016598314198
[5]
AL DHAHERI A, YEUN C Y, DAMIANI E.New two-level TESLA protocol for IoT environments[C]//Proceedings of 2019 IEEE World Congress on Services.Washington D.C., USA: IEEE Press, 2019: 84-91.
[6]
HUANG Haiping, GONG Tianhe, CHEN Tao, et al. An improved mu TESLA protocol based on queuing theory and benaloh-leichter SSS in WSNs[J]. Journal of Sensors, 2016(9): 1-13.
[7]
LIU Y S, LI J, GUIZANI M. PKC based broadcast authentication using signature amortization for WSNs[J]. IEEE Transactions on Wireless Communications, 2012, 11(6): 2106-2115. DOI:10.1109/TWC.2012.032812.110433
[8]
ROMAN R, ALCARAZ C.Applicability of public key infrastructures in wireless sensor networks[C]//Proceedings of the 4th European Conference on Public Key Infrastructure: Theory and Practice.Berlin, Germany: Springer, 2007: 313-320.
[9]
BENZAID C, LOUNIS K, AL-NEMRAT A, et al. Fast authentication in wireless sensor networks[J]. Future Generation Computer Systems, 2016, 55: 362-375. DOI:10.1016/j.future.2014.07.006
[10]
SHIM K A. BASIS:a practical multi-user broadcast authentication scheme in wireless sensor networks[J]. IEEE Transactions on Information Forensics and Security, 2017, 12(7): 1545-1554. DOI:10.1109/TIFS.2017.2668062
[11]
ISLAM S H, BISWAS G P. Certificateless short sequential and broadcast multisignature schemes using elliptic curve bilinear pairings[J]. Journal of King Saud University-Computer and Information Sciences, 2014, 26(1): 89-97. DOI:10.1016/j.jksuci.2013.05.001
[12]
GUO Rui, WEN Qiaoyan, JIN Zhengping, et al. An efficient and provably-secure broadcast authentication scheme in wireless sensor networks[J]. Journal of Internet Technology, 2015, 16(6): 977-985.
[13]
MAHMOOD K, CHAUDHRY S A, NAQVI H, et al. An elliptic curve cryptography based lightweight authentication scheme for smart grid communication[J]. Future Generation Computer Systems, 2018, 81: 557-565. DOI:10.1016/j.future.2017.05.002
[14]
CHAVAN K, GUPTA I, KULKARNI D. A review on solving ECDLP over large finite field using parallel pollard's Rho(ρ) method[J]. IOSR Journal of Computer Engineering, 2016, 18(2): 1-11.
[15]
AL-RIYAMI S S, PATERSON K G. Certificateless public key cryptography[M]. Berlin, Germany: Springer, 2003: 452-473.
[16]
HUANG X Y, MU Y, SUSILO W, et al. Certificateless signatures:new schemes and security models[J]. The Computer Journal, 2012, 55(4): 457-474. DOI:10.1093/comjnl/bxr097
[17]
IEEE: Standard 802.15.4-2006: wireless medium access control and physical layer specifications for low-rate wireless personal area networks[EB/OL].[2019-06-10].https://standards.ieee.org/standard/802_15_4-2006.html.
[18]
HEO J S, OK K S, KIM K C. Public key techniques for prevention of resource exhaustion attack in wireless sensor networks[J]. Advanced Materials Research, 2013, 740: 159-163. DOI:10.4028/www.scientific.net/AMR.740.159
[19]
SHIM K A. BASIS:a practical multi-user broadcast authentication scheme in wireless sensor networks[J]. IEEE Transactions on Information Forensics and Security, 2017, 12(7): 1545-1554. DOI:10.1109/TIFS.2017.2668062
[20]
JIA X Y, HE D B, LIU Q, et al. An efficient provably-secure certificateless signature scheme for Internet-of-Things deployment[J]. Ad Hoc Networks, 2018, 71: 78-87. DOI:10.1016/j.adhoc.2018.01.001