一种新体制无线传感器网络加密算法

文档序号:9455673阅读:613来源:国知局
一种新体制无线传感器网络加密算法
【技术领域】
[0001] 本发明属于数据加密技术领域,涉及一种新体制无线传感器网络加密算法。
【背景技术】
[0002] Zigbee技术是一种近距离,低复杂度,低功耗,低成本的双向无线通信技术。随着 WSN网络的应用越来越广泛,如何在zigbee网络上实现有效的安全传输,越来越引起人们 的重视。目前,人们研究了 WSN上的RSA,IBE等其他加密算法,尤其是IBE算法,越来越引 起人们的重视。
[0003] 所谓IBE加密即是"基于身份加密"。其主要观点是:系统中不需要证书,可以使用 与任何用户身份有关的标识(如姓名、IP地址、电子邮件地址等)作为公钥。用户的私钥 通过一个被称作可信密钥生成中心的可信第三方来生成。其优点在于用户之间不用交换私 钥也不用交换公钥,不需要公共的证书服务器。因此,避免了传统公钥密码体制中因管理大 量用户证书而带来的不方便。
[0004] 但目前,普通IBE加密算法没法有效解决无线传感器网络加密所存在的私钥泄 漏,算法能耗过大,结点认证困难等问题。而且由于双线性映射是在椭圆曲线上所实现,它 在实现过程中需要进行非常庞大的多项式运算。以至于如何实现双线性映射的高效运算成 为了一个目前的热点。最早提出的是miller和他的Miller算法。后来人们又在Miller 算法的基础上提出了 tate pairing对,wei pairing对等算法。近来,国内针对双线性对 的研究也大量涌现,但由于双线性对本身的数学特性,它的计算即使经过大量的优化,相对 于传感器有限的计算能力,仍显得过于复杂。

【发明内容】

[0005] 本发明的目的在于提供一种新体制无线传感器网络加密算法,解决了无线传感器 网络上所存在的私钥泄漏,算法能耗过大,结点认证困难的问题。
[0006] 本发明所采用的技术方案是按照以下步骤进行:
[0007] 步骤1 :密钥协商过程,服务器与结点协商产生结点私钥,并分配给结点加密参 数;
[0008] 步骤2 :数据加密过程,加密&解密密钥,用于加密&解密传感器采集的数据;传感 器采集的数据使用加密密钥加密后传送给汇聚结点,由服务器解密;
[0009] 步骤3 :认证&签名过程,认证密钥用于结点之间&服务器与结点间的相互认证; 服务器或者网内拥有结点认证密钥的其他结点发起对结点的认证,使用认证密钥加密一段 明文,传送给结点,结点使用秘密参数和私钥解密密文,将明文返回给认证发起者,进行验 证。
[0010] 进一步,所述结点私钥是一个二元组E,包含了 el, e2两个参数,参数el = L* (s*Q*d),其中L为椭圆曲线生成元C与结点产生的随机数k相乘的结果,Q是通过结点公 开信息所得到的一个值,d为服务器针对此结点所唯一生成的一个随机数,参数e2 = C*d, 其中C为椭圆曲线的生成元,d为服务器针对此结点所唯一生成的一个随机数;当应用在乘 法有限域上时,以上的点乘运算变为模幂运算,以上的点加运算变为模乘运算。
[0011] 进一步,所述加密&解密密钥是一个数值Y = y*(k*Q)+e2,其中y为椭圆曲线公开 参数C*s,C是椭圆曲线生成元,s是服务器生成的秘密参数,K是结点产生的随机数,Q是通 过结点公开信息所得到的一个值,e2是结点私钥的第二个参数,当应用在乘法有限域上时, 以上的点乘运算变为模幂运算,以上的点加运算变为模乘运算。
[0012] 进一步,认证密钥是一个二元组R,包含了 Rl, R2两个参数,参数Rl = y*(d*Q)+L*d,其中其中y为椭圆曲线公开参数C*s,C是椭圆曲线生成元,s是服务器生成 的秘密参数,d为服务器针对此结点所唯一生成的一个随机数,Q是通过结点公开信息所得 到的一个值,L为椭圆曲线生成元C与结点产生的随机数k相乘的结果,第二个参数R2 = d,d为服务器针对此结点所唯一生成的一个随机数;当应用在乘法有限域上时,以上的点 乘运算变为模幂运算,以上的点加运算变为模乘运算。
[0013] 本发明的有益效果是能够有效防止无线传感器网络的私钥泄漏问题,同时具有结 点对结点的认证能力,并极大减少了结点加密负担,延长了结点寿命。
【附图说明】
[0014] 图1是加密初始化流程图;
[0015] 图2是加密&解密流程;
[0016] 图3是认证&签名流程。
【具体实施方式】
[0017] 下面结合【具体实施方式】对本发明进行详细说明。
[0018] 1.初始化流程
[0019] 初始化:
[0020] 选取一个素域上的椭圆曲线有限群Fp,以及它的一个本原元C。
[0021] PKI 选取秘密参数 s,l〈s〈p_2。
[0022] 计算 y = Os mod p
[0023] 结点入网:
[0024] 终端结点广播入网请求,PKI收到后,比对结点IEEE地址和白名单。通过后,向结 点发送有限域参数P,C和公共参数y。
[0025] 密钥协商:
[0026] 结点随机生成结点参数k,l〈k〈p_2,并计算L = C*k。将L传送给PKI。
[0027] PKI 针对此结点随机生成 d, l〈d〈p_2。计算 el = L*(s*Q*d),e2 = C*d,
[0028] 结点私钥sQbob = (el,e2)。PKI将sQbob传送给结点。
[0029] 初始化流程如图1。
[0030] 2.加密&解密流程
[0031] 加密:
[0032] 假设 m = Hash2 (明文)。
[0033] 密文 c = m 异或(y* (k*Q) +e2)
[0034] 解密:
[0035] 明文 m = c 异或(L* (s*Q)+C*d)
[0036] 加密&解密流程如图2。
[0037] 3.认证&签名流程
[0038] 这里假设有一个簇头结点,由PKI提前分配了认证参数R(y*(d*Q)+L*d, d)= R(vl, v2) 〇
[0039] 簇头结点向待认证结点A发送认证请求。
[0040] 结点A收到后向簇头发送L。
[0041] 簇头随机产生一段明文,计算m = Hl (明文)。并计算D = L*m。
[0042] 簇头计算X = vl+D-L* (d),将X发送给结点A。
[0043] 结点A计算W = x*k_el,并将W发给簇头。
[0044] 簇头比较W和D。相同,通过认证,不同未通过认证。
[0045] 认证&签名流程如图3。
[0046] 下面列举具体实施例对本发明进行说明:
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1