王浩(1975),男,副教授,博士.研究方向:无线传感器网络安全,实时以太网安全,高可用性网络.
针对传感器网络资源受限的特性,提出了一种轻量级的无证书签名机制,与同类型方案相比,本方案在签名过程中通过避免双线性对的使用,同时采用在线/离线机制使得方案在计算效率上大大提高。在签名方案的基础上,提出了一种为传感网中任意两节点之间的密钥建立的密钥协商机制。最后,该签名方案在随机预言机模型下被证明能够抵抗密钥代替攻击与恶意私钥生成中心攻击,其安全性能够规约于离散对数问题假定。
In this paper, a lightweight certificateless signature scheme is proposed for Wireless Sensor Networks (WSNs) under the condition of limited recourses. The signature scheme is more efficient by using online/offline approach and has no bilinear pairing operation during signing and verifying process compared with the Xirrus Management System (XMS) and Paterson scheme. Based on this signature scheme, a key agreement scheme is also proposed, which can be used by every two nodes in WSN to establish a session key safely. Finally, this signature scheme is proved to be securing that can defense the two attacks proposed in Al-Riyami and Paterson security model, and the security proof can be reduce to discrete logarithm problem.
安全是无线传感器网络(WSN)最基本的一项要求,特别是WSN被部署在无人触及或容易受损或被俘获的环境时,保证WSN的安全性更是应该优先考虑的问题[ 1]。2003年,Al-Riyami等[ 2]提出了一种无证书公钥密码学(Certificateless public key cryptography,CLPKC)模型。CLPKC结合了基于身份的密码系统和传统证书密码系统的优点[ 3],解决了密钥托管问题,同时不需要证书的管理,因此具有开销小的优点,更适用于资源限制的传感器网络。2009年,贾晨军[ 4]针对无线传感器网络提出了一种签名算法,但是该算法在签名及验证过程中包含多次双线性对运算,传感器网络无法接受其计算开销。谷科[ 5]使用在线/离线签名方法对Paterson[ 6]方案进行改进,减少了签名方与验证方的在线运算量和输出参数。其后,Au等[ 7]提出了一种新的无证书密码系统定义方法,该定义将用户公钥作为部分私钥提取算法中的一个输入参数,与此同时,由于用户可以检验部分私钥的有效性,且攻击者在获取部分私钥信息之后仍然不能得到用户私钥,因此,该模式可以降低对用户和私钥生成中心之间信道安全性的要求。文献[8]指出,现阶段部分无证书签名算法证明中出现错误的原因在于误用了随机预言机模型中的预言重放技术,David Pointcheval和Jacques Stern提出的数字签名分叉引理应用环境是基于PKI的数字签名和基于身份的数字签名,不适用于无证书数字签名。
针对上述分析,本文设计一种基于MH Au模型的无证书在线/离线签名算法,在签名与验证过程中均无需双线性对运算。运用Rafael等[ 9]提出的无证书数字签名一般模式和相应的分叉引理在随机预言机下进行了安全性证明。与此同时,提出了一种基于签名算法的无证书双方密钥协商方法,给出无证书签名算法在传感器网络中的具体实施方法。
本方案的安全性能够规约于在签名构造过程中的离散对数(DL)问题。
定义1(离散对数假设) 给定一个
本方案符合Rafael Castro和Ricardo Dhab[ 9]无证书签名一般化模式。
定义2(无证书签名方案一般模式) 一个关于消息
(1)
(2)
(3)
根据无证书密码系统的定义,其攻击模型中主要存在两种类型的攻击者。
型号Ⅰ(密钥代替攻击):这种型号的攻击者不能获得主要密钥,但由于在无证书密码系统中公钥和持有者之间没有认证存在,他可以用自己选择的任何值代替用户的公钥,这样的攻击者主要表示一般的外部第三方攻击者。
型号Ⅱ(恶意的私钥生成中心攻击):主要表示恶意的私钥生成中心攻击者,能够得到主要密钥,但不能够代替用户的公钥。
本签名方案包含{Setup,Set-Secret-Value,Set-Public-Key,Extract-Partly-Private-Key,Set-Private-Key,Offline-Sign,OnlineSign,Verify}8个算法,其具体定义如下:
Setup:PKG选取有限域
Set-Secret-Value:节点随机选取
Set-Public-Key:PKG随机选取
Extract-Partly-Private-Key:PKG计算
Set-private-Key:节点校验
Offline Sign:签名者计算
Online Sign:签名者随机选取
Verify:接收方根据签名信息
正确性验证:
从签名的验证过程可以看出,其签名
Step 1 节点A计算密钥生成信息:随机选择随机数
Step 2 节点B接收到节点A的消息后,计算与A相对应的信息
Step 3 节点A接收到节点B的消息之后,计算与B相应的信息
Step 4 节点B接收到节点A的密钥认证消息后,构造
本方案通过使用在线/离线计算方法,将在线签名与验证过程中的标量乘运算简化为点加运算,降低了运算开销。在线签名过程包括
密钥协商机制由签名算法导出,其计算开销包含一个签名算法和一个认证算法,与文献[11]的方案相比,本方案不存在双线性对运算,且比文献[12]的方案减少了两个标量乘运算,计算开销比较结果如表2所示:
在表中,将方案的计算方法进行归一化,即ECC中的点加运算相当于群元素乘法运算,ECC中的标量乘运算相当于
本方案的安全性证明在随机预言机模型下,通过攻击者与挑战者之间的一个询问游戏证明方案的安全性,证明可规约于离散对数问题假定。
定理 在随机预言机模型里,在离散对数难分解假设下,本无证书签名方案在适应性选择消息攻击下是抗存在性伪造的。
该定理可以由下面的引理1和引理2推导出。
引理1 假定
引理2 假定
由于引理2的证明过程与引理1类似,此处仅给出引理1的证明过程。
证明 假设向算法C提出一个离散对数问题:给定
Setup:C运行算法Setup,选取哈希函数
Extract-Public-Key询问:C维护列表
Hash1询问:C维护列表
Extract-Partial-Private-Key询问:C维护列表
Extract-Private-Key询问:当
Replace-Public-Key询问:
Hash2询问:C维护列表
Sign询问:当
最后,
在上述分析过程中,事件E1、E2和E3都不发生的概率最少,为
无证书签名算法在传感器网络中实施时,PKG由安全管理者充当,该角色根据传感器网络安全策略的不同,可以是网关设备,也可以是上位机。
在ZigBee、WIA-PA、ISA100.11a等无线传感器网络协议的组网过程中,节点需要首先进行安全入网,因此,签名算法的前5个步骤应该在安全入网时完成。
首先PKG运行系统Setup算法来生成所有需要的参数,节点在进行安全入网时,运行Set-Secret-Value算法计算秘密值,将其附在入网请求消息后发送给PKG。PKG为通过认证的节点计算公钥和部分私钥,将其附在入网相应消息中发送给节点。节点完成部分私钥的校验后,即生成私钥,此时,该节点获得所有需要的参数。为了在签名过程中获得最佳效率,可以根据签名算法开始进行offline-sign算法。
由于无证书签名算法在签名与校验过程中不需要安全管理者的参与,主要适用于以下两种机制:①安全路由:由于传感器网络多为自组网,除静态路由协议外,其路由协议主要包括LEACH、AODV和DSR,由于安全路由需要大量的离线认证才能够保证效率,因此签名算法可用于对源节点、邻居节点、消息完整性的认证,以及针对移动节点的访问控制机制。②安全数据融合:传感器网络中数据融合机制一般采用逐跳融合方法,为保证数据的可靠性,通常在数据链路层使用子网密钥进行逐跳认证,此时,可根据节点类型以及数据信息进行分类,其中资产价值较高的信息需要携带数字签名,以保证融合节点以及安全管理者对数据的有效性判断。
以AODV协议为例,当节点发起RREQ请求,发起者运行签名算法对所有不变域进行签名。对于RREQ中跳数等可变域,在进行签名运算时设置为0。带签名的RREQ消息将会广播至下一跳邻居节点。邻居节点将会首先运行验证算法来验证签名的有效性。为了运行这个算法,验证方首先需要取出IP地址,该地址就是上一跳节点的公钥,相应地,如果一个恶意节点故意删除RREQ中的一些IP地址,那么这个签名将不会通过验证,RREQ消息中所携带的路径信息也会被认为是不正确的。因此,通过执行签名验证算法,签名和路径信息将同时被验证。如果签名是有效的,验证方将为原始接收消息中的不变域生成一个新的签名,然后该节点在RREQ消息中附加上自己的IP地址,并将该消息广播,RREP消息同样逐跳签名认证。
在MICAz平台上,完成160位ECC标量乘运算时间约为1.24 s,点加运算的时间约为6.2 ms,执行ECDSA签名算法的签名时间为1.35 s,验证算法时间为2.85 s[ 13]。在此平台上分别运行AODV协议,安全AODV协议[ 14]和本方案(ID-AODV),其数据链路层协议基于IEEE802.15.4,在不同跳数下的平均时延如图1所示:
在上述协议中,SAODV协议使用ECDSA算法实现,而ID-AODV协议使用本文中所提出的签名算法。可以看出,使用非对称安全算法的路由协议会带来一定延迟,但是与本方案的应用于SAODV协议相比较,已经缩小计算延时,说明无证书密码算法是适用于传感器网络的。
针对传感器网络资源受限的特性,本文提出了一种轻量级的无证书签名机制以及相关的密钥协商机制。签名算法在Rafeal所提出的安全模型下为可证安全,且在签名过程中采用在线/离线机制,避免双线性对计算,使得该签名算法的计算效率有所提高。密钥协商机制利用签名算法的可鉴别性质,避免了ECDH过程中间人攻击。这两种机制在传感器网络这种自组织网络中使用,能够充分实现分布式的安全管理。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|