传感器网络轻量级无证书签名算法及密钥协商机制
王浩, 张晓, 王平, 张鸯
重庆邮电大学 工业物联网与网络化控制教育部重点实验室, 重庆 400065

王浩(1975),男,副教授,博士.研究方向:无线传感器网络安全,实时以太网安全,高可用性网络.

摘要

针对传感器网络资源受限的特性,提出了一种轻量级的无证书签名机制,与同类型方案相比,本方案在签名过程中通过避免双线性对的使用,同时采用在线/离线机制使得方案在计算效率上大大提高。在签名方案的基础上,提出了一种为传感网中任意两节点之间的密钥建立的密钥协商机制。最后,该签名方案在随机预言机模型下被证明能够抵抗密钥代替攻击与恶意私钥生成中心攻击,其安全性能够规约于离散对数问题假定。

关键词: 计算机应用; 无证书密码; 签名; 密钥协商; 可证安全
中图分类号:TP309 文献标志码:A 文章编号:1671-5497(2014)2-465-6
Lightweight certificateless signature and key agreement scheme for WSNs
WANG Hao, ZHANG Xiao, WANG Ping, ZHANG Yang
Key Laboratory of Industrial Internet of Things & Networked Control, Ministry of Education, Chongqing University of Posts and Telecommunications, Chongqing 400065, China
Abstract

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.

Keyword: computer application; certificateless cryptograph; signature; key agreement; provable security
0 引 言

安全是无线传感器网络(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]提出的无证书数字签名一般模式和相应的分叉引理在随机预言机下进行了安全性证明。与此同时,提出了一种基于签名算法的无证书双方密钥协商方法,给出无证书签名算法在传感器网络中的具体实施方法。

1 方案设计
1.1 基础知识

本方案的安全性能够规约于在签名构造过程中的离散对数(DL)问题。

定义1(离散对数假设) 给定一个 阶循环加法群 生成元 以及一个群元素 其中 离散对数问题的目的是计算 则在循环加法群 中的 假设定义为没有任何算法能够在时间 内以高于 的概率解决离散对数问题。

本方案符合Rafael Castro和Ricardo Dhab[ 9]无证书签名一般化模式。

定义2(无证书签名方案一般模式) 一个关于消息 具有一般的签名模式,如果满足下面条件:

(1) 从一个大的集合中随机选取。

(2) 随机值 和用户公钥的哈希值。

(3) 仅仅依赖于

1.2 攻击模型

根据无证书密码系统的定义,其攻击模型中主要存在两种类型的攻击者。

型号Ⅰ(密钥代替攻击):这种型号的攻击者不能获得主要密钥,但由于在无证书密码系统中公钥和持有者之间没有认证存在,他可以用自己选择的任何值代替用户的公钥,这样的攻击者主要表示一般的外部第三方攻击者。

型号Ⅱ(恶意的私钥生成中心攻击):主要表示恶意的私钥生成中心攻击者,能够得到主要密钥,但不能够代替用户的公钥。

1.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:节点随机选取 作为自己的秘密值,计算 以安全方式发送给PKG。

Set-Public-Key:PKG随机选取 计算 则公钥

Extract-Partly-Private-Key:PKG计算 为部分私钥,其中 的横坐标。

Set-private-Key:节点校验 是否相等,若相等,则节点私钥为

Offline Sign:签名者计算 本过程也可由PKG写入。

Online Sign:签名者随机选取 表示 的第 比特,则有

计算 则签名为 其中 的横坐标。

Verify:接收方根据签名信息 利用消息 计算 是否相等。若相等,则验证通过。

正确性验证:

1.4 无证书密钥协商机制

从签名的验证过程可以看出,其签名 与验证码 满足 则通过签名机制中可鉴别的特性,解决ECDH密钥协商机制容易遭受中间人攻击的问题。在协商过程开始之前,需要利用签名机制中的{Setup,Set-Secret-Value,Set-Public-Key,Extract-Partly-Private-Key,Set-Private-Key}5个算法进行系统初始化,以节点A和节点B为例,其具体协商过程如下所示:

Step 1 节点A计算密钥生成信息:随机选择随机数 利用在线/离线方法计算 则有: 此时,节点A生成随机数 并构造密钥协商消息 给节点B。

Step 2 节点B接收到节点A的消息后,计算与A相对应的信息 然后随机选择随机数 ,随机数 计算 则有: 则节点A与节点B的共享密钥 此时采用HMAC算法生成认证码 构造密钥协商消息给节点A。

Step 3 节点A接收到节点B的消息之后,计算与B相应的信息 然后计算节点A与节点B的共享密钥 此时计算认证码 进行校验,校验成功后,重新计算认证码 将密钥认证消息发给节点B。

Step 4 节点B接收到节点A的密钥认证消息后,构造 进行比较,若相同,则密钥建立成功。

2 效率分析

本方案通过使用在线/离线计算方法,将在线签名与验证过程中的标量乘运算简化为点加运算,降低了运算开销。在线签名过程包括 次点加运算、一次散列运算和一次模运算;同时验证方计算开销主要包括两次标量乘运算和一次点加运算。相比于同样使用在线/离线计算方法的XMS[ 10]方案和谷科[ 5]方案,本方案最大的优势在于签名和验证过程均不涉及双线性对运算,双线性对运算与标量乘运算相比较而言,运行一次双线性对操作的时间至少是椭圆曲线上标量乘运算的20倍以上,因而本签名算法更适合于资源受限的传感器网络。3种方案的计算开销在相同标准下的量化以及签名长度比较如表1所示:

表1 签名算法计算开销及签名长度比较 Table 1 Comparison of signature computation cost and signature size

密钥协商机制由签名算法导出,其计算开销包含一个签名算法和一个认证算法,与文献[11]的方案相比,本方案不存在双线性对运算,且比文献[12]的方案减少了两个标量乘运算,计算开销比较结果如表2所示:

表2 密钥协商计算开销比较 Table 2 Comparison of key agreement computation cost

在表中,将方案的计算方法进行归一化,即ECC中的点加运算相当于群元素乘法运算,ECC中的标量乘运算相当于 表示双线性对运算, 表示指数运算, 表示群元素乘法运算。

3 安全性质证明

本方案的安全性证明在随机预言机模型下,通过攻击者与挑战者之间的一个询问游戏证明方案的安全性,证明可规约于离散对数问题假定。

定理 在随机预言机模型里,在离散对数难分解假设下,本无证书签名方案在适应性选择消息攻击下是抗存在性伪造的。

该定理可以由下面的引理1和引理2推导出。

引理1 假定 攻破本方案,记 Request-Public-Key,Extract-Partial-Private-Key,Extract-Private-Key和sign预言机的次数分别为 则存在一个 算法C,在时间 的前提下,以 的优势解决离散对数问题, 为计算标量乘所需的时间。

引理2 假定 攻破本方案,记 访问 H(1,2),Request-Public-Key,Extract-Private-Key和sign预言机的次数分别为 则存在一个 算法C,在时间 的前提下,以 的优势解决离散对数问题, 为计算标量乘所需的时间。

由于引理2的证明过程与引理1类似,此处仅给出引理1的证明过程。

证明 假设向算法C提出一个离散对数问题:给定 为生成元,以及一个群元素 C的目标是找到 使得

Setup:C运行算法Setup,选取哈希函数 作为挑战身份, 为系统主密钥,即系统公钥为 发送系统参数

Extract-Public-Key询问:C维护列表 该表初始设置为空。当 进行询问时,若 C返回 否则随机选取 计算 返回公钥 并记录 到列表 中。

Hash1询问:C维护列表 进行询问时,C随机选择 定义 返回 后,记录 到列表 中。

Extract-Partial-Private-Key询问:C维护列表 进行询问时,若 则停止模拟,输出failure(该事件记为E1);否则随机选取 调用列表 中对应表项并计算 返回部分私钥 后,记录 到列表 中,若列表中没有对应表项,则重新执行Extract-Public-Key询问和Hash1询问。

Extract-Private-Key询问:当 进行询问时,若 则停止模拟,输出failure(该事件记为E2);否则调用列表 中对应表项并计算 ,返回私钥 若列表中没有对应表项,则重新执行Extract-Public-Key询问和Hash1询问。

Replace-Public-Key询问: 输入 C检查列表 是否有表项 如果有,C令 否则C自己执行一个Extract-Public-Key询问,生成数据 添加到列表 中,再按照上述步骤执行。

Hash2询问:C维护列表 进行询问时,C随机选择 计算 并定义 返回 后,记录 到列表 中。

Sign询问:当 进行询问时,若 则停止模拟,输出failure(该事件记为E3);否则调用列表 中对应表项并计算 返回签名值 若列表中没有对应表项,则重新执行Extract-Public-Key询问、Hash1询问和Hash2询问。

最后, 停止训练并输出一个挑战身份 的消息签名 满足验证方程 C停止模拟输出failure(该事件记为E4);否则C利用无证书数字签名的一般化Forking引理,将上述模拟过程重放两次,可以得到两个有效签名 并且有如下等式 将两式相减得到 即可推出 即解决离散对数问题。

在上述分析过程中,事件E1、E2和E3都不发生的概率最少,为 事件E4不发生的概率最少为 因此挑战者C成功的概率为: 期间,挑战者C的运行时间为

4 传感器网络中的应用

无证书签名算法在传感器网络中实施时,PKG由安全管理者充当,该角色根据传感器网络安全策略的不同,可以是网关设备,也可以是上位机。

(1)密钥分配阶段

在ZigBee、WIA-PA、ISA100.11a等无线传感器网络协议的组网过程中,节点需要首先进行安全入网,因此,签名算法的前5个步骤应该在安全入网时完成。

首先PKG运行系统Setup算法来生成所有需要的参数,节点在进行安全入网时,运行Set-Secret-Value算法计算秘密值,将其附在入网请求消息后发送给PKG。PKG为通过认证的节点计算公钥和部分私钥,将其附在入网相应消息中发送给节点。节点完成部分私钥的校验后,即生成私钥,此时,该节点获得所有需要的参数。为了在签名过程中获得最佳效率,可以根据签名算法开始进行offline-sign算法。

(2)签名应用方法

由于无证书签名算法在签名与校验过程中不需要安全管理者的参与,主要适用于以下两种机制:①安全路由:由于传感器网络多为自组网,除静态路由协议外,其路由协议主要包括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所示:

图1 时延分析Fig.1 Delay analysis

在上述协议中,SAODV协议使用ECDSA算法实现,而ID-AODV协议使用本文中所提出的签名算法。可以看出,使用非对称安全算法的路由协议会带来一定延迟,但是与本方案的应用于SAODV协议相比较,已经缩小计算延时,说明无证书密码算法是适用于传感器网络的。

5 结束语

针对传感器网络资源受限的特性,本文提出了一种轻量级的无证书签名机制以及相关的密钥协商机制。签名算法在Rafeal所提出的安全模型下为可证安全,且在签名过程中采用在线/离线机制,避免双线性对计算,使得该签名算法的计算效率有所提高。密钥协商机制利用签名算法的可鉴别性质,避免了ECDH过程中间人攻击。这两种机制在传感器网络这种自组织网络中使用,能够充分实现分布式的安全管理。

The authors have declared that no competing interests exist.

参考文献
[1] 苏忠, 林闯, 封富军, . 无线传感器网络密钥管理的方案与协议[J]. 软件学报, 2007, 18(5): 1218-1231.
Su Zhong, Lin Chuang, Feng Fu-jun, et al. Key management scheme and protocols for wireless sensor networks[J]. Journal of Software, 2007, 18(5): 1218-1231. [本文引用:1] [CJCR: 2.181]
[2] Al-Riyami Sattam S, Paterson Kenneth G. Certificateless public key cryptography[C]∥Advance in Cryptography- ASIACRY PT 2003, Berlin: Springer-Verlag, 2003. [本文引用:1]
[3] 张福泰, 孙银霞, 张磊, . 无证书公钥密码体制研究[J]. 软件学报, 2011, 22(6): 1316-1332.
Zhang Fu-tai, Sun Yin-xia, Zhang Lei, et al. Research on certificateless public key cryptography[J]. Journal of Software, 2011, 22(6): 1316-1332. [本文引用:1] [CJCR: 2.181]
[4] 贾晨军, 廖永建, 陈抗生. 无线传感器网络中的高效签名算法[J]. 电子科技大学学报, 2009, 38(4): 537-541.
Jia Chen-jun, Liao Yong-jian, Chen Kang-sheng. Efficient signature algorithm in wireless sensor network[J]. Journal of University of Electronic Science and Technology of China, 2009, 38(4): 537-541. [本文引用:1]
[5] 谷科, 贾维嘉, 姜春林. 高效安全的基于身份的签名方[J]. 软件学报, 2011, 22(6): 1350-1360.
Gu Ke, Jia Wei-jia, Jiang Chun-lin. Efficient and secure identity-based signature scheme[J]. Journal of Software, 2011, 22(6): 1350-1360. [本文引用:2] [CJCR: 2.181]
[6] Paterson K G, Schuldt J C N. Efficient identity-based signatures secure in stand ard model[C]∥ACISP, Information Security and Privacy. Berlin: Springer-Verlag, 2006. [本文引用:1]
[7] Au M H, Chen J, Liu J K, et al. Malicious KGC attacks in certificateless cryptosystems[C]∥Computer and Communications Security. New York: ACM, 2007. [本文引用:1]
[8] 王化群, 徐名海, 郭显久. 几种无证书数字签名方案的安全性分析及改进[J]. 通信学报, 2008, 29(5): 88-92.
Wang Hua-qun, Xu Ming-hai, Guo Xian-jiu. Cryptanalysis and improvement of several certificateless digital signature[J]. Journal of Communication, 2008, 29(5): 88-92. [本文引用:1]
[9] Rafael C, Ricardo D. Two Notes on the Security of Certificateless Signatures[M]. Berlin: Springer-Verlag, 2007. [本文引用:2]
[10] Xu S, Mu Y, Susilo W. Online/offline signatures and multisignatures for AODV and DSR routing security[C]∥Information Security and Provacy. Berlin: Springer-Verlag, 2006. [本文引用:1]
[11] 高志刚, 冯登国. 高效的标准模型下基于身份认证密钥协商协议[J]. 软件学报, 2011, 22(5): 1031-1040.
Gao Zhi-gang, Feng Deng-guo. Efficient identity-based authentication key agreement protocol in the stand ard model[J]. Journal of Software, 2011, 22(5): 1031-1040. [本文引用:1] [CJCR: 2.181]
[12] 刘文浩, 许春香. 无证书两方密钥协商方案[J]. 软件学报, 2011, 22(11): 2843-2852.
Liu Wen-hao, Xu Chun-xiang. Two party certificateless key agreement schemes[J]. Journal of Software, 2011, 22(11): 2843-2852. [本文引用:1] [CJCR: 2.181]
[13] Wang Hao-dong, Li Qun. Efiicient implementation of public key cryptosystems on mote sensors[C]∥Information and Communications Security. Berlin: Springer- Verlag, 2006. [本文引用:1]
[14] Jaafar Mohd Anuar, Zukarnain Zuriati Ahmad. Performance comparisons of AODV, secure AODV and adaptive secure AODV routing protocols in free attack simulation environment[J]. European Journal of Scientific Research, 2009, 32(3): 430-443. [本文引用:1]