一种基于无线传感器网络的加密方法

文档序号:1759226 发布日期:2019-11-29 浏览:24次 >En<

阅读说明:本技术 一种基于无线传感器网络的加密方法 (A kind of encryption method based on wireless sensor network ) 是由 张义 刘向波 杜宁宁 李晓光 马莉 付云磊 黄华 周伟 伊瑞鹏 于 2019-05-09 设计创作,主要内容包括:本发明公开了基于无线传感器网络的加密的方法,本方法针对有较高安全性要求的WSN布网环境设计了WIBE加密算法,针对安全性要求不高但对布网时间有较高要求的普通WSN布网环境设计了WCPK加密算法。在椭圆曲线有限域上的实现的WIBE加密算法包括的初始化阶段、加密&amp;解密阶段、认证&amp;签名阶段,其中,初始化阶段包括服务器初始化、节点入网、密钥协商,加密&amp;解密阶段包括AES密钥生成、加密&amp;解密,而认证&amp;签名阶段包含七步。WCPK认证效率极高,对于恶意节点能有效发现并采取防御措施,有效防御WSN中常见攻击。WSN节点初始化阶段会产生自身秘密参数,一旦服务器发生密钥泄漏,节点感知到后只要更换自身秘密参数,服务器保存的私钥就会作废,可有效抵抗密钥托管。(The invention discloses the methods of the encryption based on wireless sensor network, this method is not high for security requirement but arrange net Environment Design WCPK Encryption Algorithm to the common WSN that the time of arranging net has higher requirements for there is the WSN of higher-security requirement to arrange net Environment Design WIBE Encryption Algorithm.Initial phase that the WIBE Encryption Algorithm of realization in elliptic curve finite field includes, encryption &amp; decryption phase, certification &amp; sign the stage, wherein, initial phase includes server initiation, node networking, key agreement, encryption &amp; decryption phase includes that AES key generates, encryption &amp; is decrypted, and authenticating the &amp; signature stage includes seven steps.WCPK authentication efficiency is high, and defensive measure can be effectively found and taken for malicious node, effectively defends common attack in WSN.The WSN node initializing stage can generate itself secret parameter, once key leakage occurs for server, as long as node perceived will be cancelled to itself secret parameter, the private key that server saves is replaced afterwards, be effective against key escrow.)

一种基于无线传感器网络的加密方法

技术领域

本发明涉及无线传感器网络领域,特别涉及一种基于无线传感器网络的加密方法。

背景技术

目前国内外对于WSN安全性的改进主要从WSN设备本身抗破解能力的提高、对WSN数据保护的加强、对恶意攻击的有效防御等方面进行。其中硬件安全性的提高涉及到WSN节点硬件设计时,对存储器、运算器、通信块等的改良;而对数据的保护和对恶意攻击的防御,则主要依靠用于数据加密和身份认证的加密算法的能力。目前国内外学者为了使现有加密算法能有效应用于WSN而做了大量研究。但在应到WSN时,传统加密算法均有缺陷。针对此问题,本文设计了两种适合应用于WSN的加密算法。其中,针对有较高安全性要求的WSN布网环境,本文设计了WIBE加密算法;针对安全性要求不高,但对布网时间有较高要求的普通WSN布网环境,本文设计了WCPK加密算法。

发明内容

本发明提出了一种基于无线传感器网络的加密的方法。针对有较高安全性要求的WSN布网环境,本文设计了WIBE加密算法;另外,讲述了无线传感器网络基于组合公钥加密算法(WCPK)的原理,并结合现有的CPK加密的相关技术,对WCPK算法在WSN节点的实际应用提出了具体实现方案。

WIBE加密方法在椭圆曲线有限域上实现,椭圆曲线有限域又分为椭圆曲线有限素域和二元域。其中二元域是特征为2的伽罗华域,由于其运算特性而更适合于在专用硬件电路实现。而有限素域在通用处理器上实现更为有效,因此这里的椭圆曲线有限域选择了椭圆曲线有限素域。

WIBE加密方法包含三个阶段:初始化阶段、加密&解密阶段、认证&签名阶段,其中初始化阶段包括服务器初始化、节点入网、密钥协商三大步骤,加密&解密阶段包括AES密钥生成、加密&解密两大步骤,具体细节将结合图1、图2在

具体实施方式

中介绍。

下面将对WCPK算法原理及流程进行介绍。普通的CPK加密算法主要应用于CRC卡、银行卡等,这些环境本身基本没有运算能力,因此所有的密钥矩阵需要提前内置。而无线传感器网络则不同,考虑到WSN节点相对而言具有一定程度的运算能力。因此WCPK加密算法WSN节点只保存公钥矩阵,WSN节点随机产生参数d、k,分别为随机参数和更新参数,其中随机参数d产生后,与椭圆曲线本原元进行点乘,并与加密解密密钥进行复合,d作为随机参数不再变更。而更新参数k则由WSN节点保留,用于WCPK的密钥更新,以保证WCPK具有有限的密钥更新能力。同时,考虑到如果认证流程需要随机参数的参与,则需要大量的数据交互操作,因此这里的认证操作采用CPK1.0的设计思路,认证密钥的产生仅仅由加密矩阵参与,以最大限度简化认证过程,提高认证的简便性。

WCPK算法包含三个阶段:初始化阶段、加密&解密阶段、认证阶段,其中初始化阶段包括服务器初始化、节点入网、密钥协商三大步骤,加密&解密阶段包括加密、解密两大步骤,具体细节将结合图3、图4、图5在具体实施方式中介绍。

WCPK加密解密调用了WSN节点内置的AES加密,能提供较高的加密强度、保持较低的能耗。同时为了进一步延长布网时间,WCPK算法在加密解密阶段可以选择使用字符串异或加密,配合密钥定时更新功能,仍能较好的保证安全性,但能耗大大减少,可有效延长WSN布网时间。

对于WSN中密钥传输易泄漏的问题具有针对性的防御能力。利用ECDLP问题,密钥传输过程中使用ECC点乘运算对密钥进行保护,可有效防御密钥窃听攻击。

WCPK加密解密采用AES加密,认证则基于ECC运算。加密解密能耗较小;而认证则效率非常高、通信量极少。可较有效的防御常见的攻击。

由于WCPK认证效率极高,对于恶意节点能有效发现并采取防御措施,有效防御WSN中常见攻击。

由于WSN节点初始化阶段会产生自身秘密参数,一旦服务器发生密钥泄漏,节点感知到后只要更换自身秘密参数,服务器保存的私钥就会作废,可有效抵抗密钥托管问题。

附图说明

附图1是WIBE加密方法初始化阶段整体流程图。

附图2是WIBE加密方法加密&解密阶段整体流程示意图。

附图3是WCPK加密算法初始化流程示意图。

附图4是WCPK加密算法加密&解密流程示意图。

附图5是WCPK加密算法认证流程示意图。

具体实施方式

结合附图1-5对本基于无线传感器网络的加密方法进一步描述:

WIBE加密方法包含三个阶段:初始化阶段、加密&解密阶段、认证&签名阶段。

WIBE加密方法初始化阶段,第一步进行服务器初始化,包含3步:

步骤一:服务器选取素域上的椭圆曲线有限群Fp,以及它的一个本原元P。

步骤二:服务器选取秘密参数s,1<s<p-2。

步骤三:计算y=s·P。

WIBE加密方法初始化阶段,第二步进行节点入网,包含2步:

步骤一:终端节点广播入网请求,服务器收到后,比对节点IEEE地址和白名单。

步骤二:验证通过后,向节点发送有限域参数p,本原元P和公共参数y。

WIBE加密方法初始化阶段,第三步进行密钥协商,包含3步:

步骤一:节点随机生成参数k,1<k<p-2,计算L=k·P。将L传送给服务器。

步骤二:服务器针对此节点随机生成d,1<d<p-2。计算Q=Hash1(Qbob),并计算e1=L·(s·Q·d),e2=P·d。

步骤三:节点私钥e=(e1,e2)。服务器将e传送给节点。初始化阶段整体流程如图1所示。

WIBE加密方法加密&解密阶段阶段,第一步进行AES密钥生成,包含2步:

步骤一:WSN节点计算AES的128位密钥:AES加密128位密钥:key=Hash3(y·(k·Q)+e2)。

步骤二:服务器计算AES的128位密钥:AES加密128位密钥:key=Hash3(L·(s·Q)+P·d)。

WIBE加密方法加密&解密阶段阶段,第二步进行加密&解密,包含2步:

步骤一:加密:假设明文为D。将明文转换为二进制码字符串m=f1(D)。计算密文的二进制码字符串c=AES_ENC(m)。

步骤二:计算明文的二进制码字符串m=AES_DEC(c)。计算明文D=f2(m)。加密解密阶段整体流程如图2所示。

WIBE加密方法认证&签名阶段,包含7步:

步骤一:安全节点由服务器提前分配认证参数R(v1,v2)=R(y·(d·Q)+L·d,d)。

步骤二:安全节点向待认证节点A发送认证请求。

步骤三:节点A收到后向安全节点发送L。

步骤四:安全节点随机产生一段明文M,计算m=H1(M)。并计算D=L·m。

步骤五:安全节点计算x=v1+m·P-L·d,将x发送给节点A。

步骤六:节点A计算W=x·k-e1,并将W发给安全节点。

步骤七:安全节点比较W和D。相同,通过认证;不同,未通过认证。验证等式:只需验证下式是否相等:L·m=(v1+m·P-L·d)·k-e1,这是因为:(v1+m·P-L·d)·k-e1=(P·m+P·(s·d·Q))·k-P·(s·d·k·Q)=P·m·k-P·(s·d·Q·k)-P·(s·d·k·Q)=P·(k·m)=L·m。

WCPK算法包含三个阶段:初始化阶段、加密&解密阶段、认证阶段。

WCPK算法初始化阶段,第一步进行服务器初始化,包含2步:

步骤一:服务器选取一个素域上的椭圆曲线有限群Fp以及它的本原元P。

步骤二:服务器产生私钥矩阵和公钥矩阵。私钥矩阵保密,公钥矩阵向所有节点公开。计算y=P·s。

WCPK算法初始化阶段,第二步进行节点入网,包含2步:

步骤一:节点在入网前已提前内置了公钥矩阵,哈希函数Hash1、哈希函数Hash2、哈希函数Hash3和节点自身CPK私钥DB。

步骤二:节点广播入网请求,服务器收到后,比对节点IEEE地址和白名单。如果地址符合,白名单验证通过。

WCPK算法初始化阶段,第三步进行密钥协商,包含3步:

步骤一:节点随机生成节点更新参数k,和随机参数d,1<k<p-2,1<d<p-2并计算dsP+kP+Hash1(IEEE),其中IEEE为节点64位硬件地址信息。

步骤二:节点将(d P,k P)传送给服务器,并计算AES加密密钥种子密钥key-Hash2(dsP+kP+Hash(IEEE))。

步骤三:服务器计算AES种子密钥key-Hash2(dp+kP+Hash(IEEE))。

WCPK初始化阶段整体流程如图3所示。

WCPK算法加密&解密阶段阶段,包含2步:

步骤一:加密,假设明文为D,计算m=f1(D)。密文c=AES_ENC(m)。

步骤二:解密,计算m=AES_DEC(c)。明文D=f2(m)。

WCPK加密解密流程如图4所示。

WCPK算法认证&签名阶段(这里假设节点A向待认证节点B发送认证请求。),包含9步:

步骤一:节点A首先将节点B的***息(这里是节点IEEE地址)利用哈希函数Hash1映射到公钥矩阵上,得到节点B的公钥Q。

步骤二:节点A随机产生一段明文D,计算m=f1(D)。步骤三:节点A收到后向安全节点发送L。

步骤三:节点A随机产生一个随机数a,1<a<p-2。计算a Q和a P。其中P是本原元。

步骤四:节点A计算密文。

步骤五:节点A将(c,a P)发送给B。

步骤六:节点B计算明文。

步骤七:节点B将明文m1发送给节点A。

步骤八:节点A接收明文m1。

步骤九:节点A比较m和m1。若m和m1相等,B通过认证;若不等,B未通过认证。WCPK认证阶段整体流程如图5所示。

9页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:访问方法、装置、终端和可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!