无线传感器网络中基于身份的密钥交换设计方法
【技术领域】
[0001] 本发明设及一种适用于无线传感器网络中安全高效的基于身份的可认证密钥协 商协议,称为IBKE,属于物联网安全技术领域。
【背景技术】
[0002] 如今,无线传感器网络已经广泛运用于军事,环境和其他商业应用中。为了确保两 个传感器节点之间的通信安全,要通过部署密钥交换模块生成共享秘钥用来保护传感器节 点之间的数据传输。为了简化公钥基础设施中的证书管理,无线传感器网络的密钥交换机 制通常使用基于身份的密码学技术来生成共享密钥。
[0003] 无论技术如何实现,一个典型的密钥交换场景包括=个部分:基站炬巧,带有身 份标识的节点A和带有身份标识的节点B,它们设及到两个阶段(准备阶段和密钥交换阶 段)。在准备阶段,基站通过节点A和节点B的身份信息为它们计算密钥材料,并且将该些 材料预加载到两个节点中。在密钥交换过程中,节点A和节点B分别利用各自的密钥材料 进行密钥协商。
[0004] 在上面的密钥交换系统中计算成本是一个严重的问题。由于有限的能量,通信节 点双方深切关注由计算共享密钥带来的高计算成本。因此,为了提高传感器节点的生命周 期,协商过程中应避免使用相当耗时的加密操作(如双线性配对操作)。不幸的是,在目前 的机制中,通信节点双方都采用了多次配对操作来计算共享密钥,从而导致了计算成本的 提高和传感器节点的生命周期的缩短。因此,精屯、的设计一个不含双线性映射的基于身份 的密钥交换协议是首要任务。
[0005] 一个不含双线性映射的基于身份的密钥交换协议应当满足下面的要求;(1)正确 性。通信节点双方应当确保在正确实施IBKE的情况下,可W成功得到共享密钥。(2)机密 性。通信节点双方应当确保攻击者不能从协议中提取出共享密钥,否则,攻击者会对节点双 方随后利用共享密钥进行的通信产生威胁。(3)完整性。通信节点双方应当确保在该协议 中共享密钥不会被攻击者篡改,否则,攻击者会利用篡改的共享密钥对节点双方随后进行 的通信产生威胁。(4)通信节点双方低计算成本。由于能量有限,通信节点双方应当确保它 们各自的计算成本很低,换句话说,通信节点双方应避免使用相当耗时的加密算法。(5)低 通信成本。无线接口之间的数据传送会消耗传输节点的能量,因此,通信节点双方应当确保 它们之间的通信成本很低。
[0006] 很明显,设计一个无线传感器网络的基于身份的可认证密钥协商协议是一项困难 的任务,因为资源限制的传感器节点没有能力运行相当耗时的加密算法。当前的方案可W 满足需求(1),(2),(3)和巧),然而,对于需求(4)被广泛的忽视了。更重要的是,当考虑 到研究主题,我们观察到现有的加密原语都不可W有效地直接用于实现上述讨论的目标。
【发明内容】
[0007] 发明目的;为了解决上述的安全和效率问题,本发明提出了无线传感器网络的一 种基于身份的可认证密钥协商设计方法,由于该方法采用了现有方案所没有采用的基于简 单标量乘法的楠圆曲线算法,该方法能够提供满足上述安全性能的高效的密钥协商,签名 和验证算法W及协议。
[000引技术方案;一种无线传感器网络中基于身份的密钥交换设计方法,称为IBKE,包 括准备阶段和密钥交换阶段。
[0009] (1)准备阶段
[0010] 准备阶段中实现密钥材料的生成,及将密钥材料从基站炬巧分发到节点A和节点 B。基站按一定的规则和方法构造密钥生成函数,然后根据该函数生成共享密钥并通过完整 /机密/抗重放保护的密钥分发渠道分配给节点A和节点B该两个实体。其中,密钥生成阶 段使用了楠圆曲线标量乘法。
[0011] 使得节点A和节点B拥有各自的密钥材料。确保在通信前后通信节点双方能够使 用正确的密钥进行签名算法和验证。
[001引 似密钥交换阶段
[0013] 签名机制实现了节点A能够就数据元素和加密问题与节点B进行通信。节点A得 到来自基站的密钥和共享材料后,需要对待发送的数据元素使用加密算法生成对应材料, 并将其发送给节点B。节点B在接收到节点A的消息后,使用解密算法生成对应数据材料, 再将对应数据材料发送回给节点A。接着,节点A和节点B分别根据接收到的消息进行验 证,确认交换材料的正确性。其中,设及到的加密解密算法和验证算法也运用到了楠圆曲线 的基本标量运算和简单的代数运算。最后节点A和节点B分别计算出共享密钥。
[0014] 有益效果:本发明可W满足正确性,机密性和完整性要求。它建立在简单的代数运 算之上。然而,不同于目前的基于双线性映射的密钥交换机制,本发明是基于楠圆曲线的新 的协议。由于下面的理由,本发明没有使用传统的双线性映射算法:当使用双线性映射技术 进行密钥交换时,通信节点双方都要进行多次配对操作,该是相当费时的。另一方面,注意 到楠圆曲线标量乘法比配对操作更高效。本发明旨在主要执行简单的楠圆曲线标量乘法设 计一个新颖的密钥交换协议。通过该样做,通信节点双方可W避免配对操作,从而显著地减 少计算成本。
[0015] 另外,通过安全性分析和效益评估,该方法符合所要求的安全性目标。该方法也从 理论和实验上验证了效率,显示它可W满足上述所有的要求。本方法的研究对完善基于身 份的密钥交换技术,进而推动我国物联网安全发展和繁荣互联网经济意义重大。
【附图说明】
[0016] 图1是基于身份的密钥交换方案的系统模型;
[0017] 图2是准备阶段流程图;
[0018] 图3是密钥交换阶段流程图。
【具体实施方式】
[0019] 下面结合具体实施例,进一步阐明本发明,应理解该些实施例仅用于说明本发明 而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价 形式的修改均落于本申请所附权利要求所限定的范围。
[0020] 无线传感器网络的基于身份的密钥交换方案的系统模型如图1所示。它包括该方 案设及的实体,该些实体之间沟通的协议,W及在协议上运行的算法。
[0021] 本发明定义了S种实体:基站炬巧,节点A和节点B。基站炬巧用于生成密钥对 并将节点A和节点B的私钥分别传送给节点A和节点B。节点A得到来自基站的密钥和共 享材料后,需要对待发送的数据元素使用加密算法生成签名,并将其发送给节点B。节点B 在接收到节点A的消息后,生成共享密钥,并使用解密算法生成对应数据材料,再将对应数 据材料发送回给节点A。接着,节点A和节点B分别根据接收到的消息进行验证,确认交换 材料的正确性。最后节点A和节点B分别计算出共享密钥。
[0022] 具体分述如下:
[002引 (1)本发明提出了一种新的准备机制,包括:
[0024] 准备机制实现了密钥材料的生成及其从基站炬巧到节点A和节点B的分发。基 站按一定的规则和方法构造密钥生成函数,然后根据该函数生成共享密钥并通过完整/机 密/抗重放保护的密钥分发渠道分配给节点A和节点B该两个实体。
[0025] 该一实施例使得节点A和节点B拥有各自的密钥材料。确保在通信前后通信节点 双方能够使用正确的密钥进行签名算法和验证。
[0026] 似本发明提出了一种新的密钥交换机制,包括:
[0027] 签名机制实现了节点A能够就数据元素和加密问题与节点B进行通信。节点A得 到来自基站的密钥和共享材料后,需要对待发送的数据元素使用加密算法生成对应材料, 并将其发送给节点B。节点B在接收到节点A的消息后,使用解密算法生成对应材料,再将 对应数据材料发送回给节点A。接着,节点A和节点B分别根据接收到的消息进行验证,确 认交换材料的正确性。最后节点A和节点B分别计算出共享密钥。
[002引该一实施例使得通信节点双方在敌对的网络中实现加密材料和共享密钥的交换。
[0029] 实施例一
[0030] 本实施例设计完成准备工作。准备工作的目的是:生成密钥材料并分别给通信节 点双方分配各自的密钥材料。包括但不限于W下步骤(采用表格表示):
[0031]
[0032] 本实施例的协议流程如图2所示。
[0033] 对实施例一中的步骤说明如下;
[0034] 步骤100 ;基站首先构造一个密钥生成函数Se化p(),基站再由此函数进行操作: {pkb,,skb,,sk,,skj-Setup师4, 1咕),它将节点A和节点B的身份信息作为输入,产生一 系列
密钥材料。该函数具体算法如下;基站随机产生生成元G。和素数阶P并由此生成楠 圆G,然后基站生成一组随机数skbs= (skbsi,skbs2,. . .,skbsnEZp},并将skbs作为自己的 私钥,再计算对应的{pkbsi=skbsiG。,pkbs2=skbssG。,...,pkbsn=skbjy,并且将pkbs= 肛G。,p,pkbsi,pkbs2,. . .,pkbs。}作为其公钥。其中Zp表示小于p的整数。
[003引对于节点A,基站计算出h(IDa) =aA.. .a。,并进一步由此计算出节点A的私钥
其中h:Zp- 1}n是一种散射函数,我们可知 (a。. . .,{0, 1})。
[0036] 对于节点B,基站计算出h(IDb) =b^. . .b。,并进一步由此计算出节点 B的私钥
其中h:Zp- Un是一种散射函数,我们可知 (bi,...,bnG {0, U)。
[0037] 步骤102 ;生成一系列密钥材料之后,基站在将对应的密钥材料分别预下载给节 点A和节点B。之后节点A将持有自身的密钥材料{skA,pkJ,节点B将持有自身的密钥材 料{ske,pkj。
[0038] 实施例二
[0039] 本实施例设计完成密钥交换阶段。该阶段的目的是;通信节点双方对密钥元素进 行加密和交换,实现共享密钥的交换W及验证。包括但不限于W下步骤(采用表格表示):
[0040]
[0041] 本实施例的协议流程如图3所示。
[0042] 对实施例二中的步骤及协议流程图说明如下:
[00创步骤104 ;节点A首先通过加密算法(SA, ^E:ncA(IDB,pkbs)对数据元素进行 加密。该算法将节点B的身份信息IDe和基站的公钥材料pkb,作为输入,得到数据材料 (5a,%)。节点A将Ua保密,而将5A发送给节点B。加密算法具体如下;节点A首先随机 生成(UaGG,Zp),并计算出Ci=TaGoGG和
最后得到5a =ki,02)。
[0044] 步骤106 ;节点B在接受到来自节点A的数据材料后,首先通过解密算法计算出 UA^DecB(ske,8 4,9片,),它将(ske,SA,pkJ作为输入,将输出%保密。解密算法具体操 作如下;%=C厂skBCi。
[0045] 节点B要生成一个证据来确保Ua没有被攻击者篡改,因此要通过证据生成算法 〇A^GenProB(UA)实现,它将%作为输入,将输出0 4作为证据发送给节点4。证据生成算 法具体操作如下:0A=H(uA)。其中,H:G-Zp是一个散射函数。
[0046] 同样的,节点6也通过加密算法(Se,ue) ^^cB(IDA,pkJ对数据材料进行 加密。该算法将节点A的身份信息IDa和基站的公钥材料pkb,作为输入,得到数据材料 (5e,Ue)。节点B将Ue保密,而将5B发送给节点A。加密算法具体如下;节点B首先随机 生成(UbGG,TbEZp),并计算出C3=TeGoEG和
最后得到5b =咕,。4)。
[0047] 步骤108 ;节点A根据已有材料要验证0A来确保UA没有被攻击者篡改。节点A 根据自己已有的%来计算0/ =GenProB(UA),然后验证〇/和〇A是否相等。验证算法 同步骤106中的证据生成算法相同。
[0048] 节点A通过从节点B得到的S,的和自己的私钥skA进行解密得到 UB-DecA(skA,5B,pkJ,它将(skA,5B,pkJ作为输入,将输出Ub保密。解密算法DecAO 和DecBQ类似,具体操作如下;Ub=C4-skAC3。
[0049] 同样的,节点A也要生成一个证据来确保Uc没有被攻击者篡改,因此要通过证据 生成算法。e^GenProA(Ue)实现,它将Ue作为输入,将输出。e作为证据发送给节点B。证 据生成算法具体操作如下:0c=H(uC)。其中,H:G-Zp是一个散射函数。
[0化0] 步骤110 ;节点B根据已有材料要验证0e来确保Ue没有被攻击者篡改。节点B根据自己已有的咕来计算0B' =GenProA(Ue),然后验证〇B'和〇B是否相等。验证算法 同步骤108中的证据生成算法相同。
[0051]步骤112 ;最终在通过验证之后,节点A计算得到kA=Ua+Ub,节点B计算得到ke= Ua+Ub。显然,如果该密钥交换过程没有被攻击者干扰,可得到kA=kB即为共享的密钥。
【主权项】
1. 一种无线传感器网络中基于身份的密钥交换设计方法,其特征在于,包括准备阶段 和密钥交换阶段; (1) 准备阶段 准备阶段中实现密钥材料的生成,及将密钥材料从基站(BS)分发到节点A和节点B; 基站生成共享密钥、节点A的私钥和节点B的私钥,并通过密钥分发渠道分配给节点A和节点B;使得节点A和节点B拥有各自的密钥材料; (2) 密钥交换阶段 在这个阶段,节点A通过加密算法生成数据元素的签名,并将计算得到的对应参数发 送给节点B;节点B收到对应参数后,同样进行对应解密算法和加密算法,将计算得到的对 应参数发送给节点A;接着,节点A和B分别根据收到的对应参数进行验证,判断是否成功 实现密钥交换;最后节点A和节点B分别计算出共享密钥。2. 如权利要求1所述的无线传感器网络中基于身份的密钥交换设计方法,其特征在 于,准备阶段中采用椭圆曲线标量乘法生成密钥材料; 密钥交换阶段中通过椭圆曲线的基本标量运算和代数运算实现加密解密算法和验证 算法。3. 如权利要求1所述的无线传感器网络中基于身份的密钥交换设计方法,其特征在 于,在准备阶段,基站首先构造一个密钥生成函数Setup(),基站再由此函数进行操作:{pkb s,skbs,skA,skB} -Setup(IDA,IDb),它将节点A和节点B的身份信息作为输入,产生一系列密 钥材料; 生成一系列密钥材料之后,基站在将对应的密钥材料分别预下载给节点A和节点B;之 后节点A将持有自身的密钥材料{skA,pkbs},节点B将持有自身的密钥材料{skB,pkbs}。4. 如权利要求1所述的无线传感器网络中基于身份的密钥交换设计方法,其特征在 于,节点A首先通过加密算法(8 A,uA) -EncA(IDB,pkbs)对数据元素进行加密;节点B在接 受到来自节点A的数据材料后,首先通过解密算法计算出uA-DecB(skB, 8 A,pkbs);节点B 要生成一个证据来确保%没有被攻击者篡改,因此要通过证据生成算法GA-GenPr〇B(uA) 实现,它将%作为输入,将输出〇A作为证据发送给节点A; 同样的,节点B也通过加密算法(8 B,uB) -EncB(IDA,pkbs)对数据材料进行加密; 节点A根据已有材料要验证〇A来确保uA没有被攻击者篡改;节点A根据自己已有的uA来计算〇 A'=GenProB(uA),然后验证〇A'和〇A是否相等; 节点A通过从节点B得到的S^和自己的私钥SkA进行解密得到uB-DecA(skA,SB,pkbs),它将(skA,SB,pkbs)作为输入,将输出uB保密; 节点A也要生成一个证据来确保uB没有被攻击者篡改; 节点B根据已有材料要验证〇B来确保uB没有被攻击者篡改; 在通过验证之后,节点A计算得到kA=uA+uB,节点B计算得到kB=uA+uB;显然,如果 该密钥交换过程没有被攻击者干扰,可得到kA=kB即为共享的密钥。
【专利摘要】本发明公开了无安全高效的基于身份的密钥交换方法:(1)基站(BS)产生自身的私钥,节点A的私钥,节点B的私钥以及其他公钥材料,并分别发送给节点A和节点B对应的密钥材料。(2)节点A通过加密算法生成数据元素的签名,并将计算得到的对应参数发送给节点B。节点B收到对应参数后,同样进行对应解密算法和加密算法,将计算得到的对应参数发送给节点A。接着,节点A和B分别根据收到的对应参数进行验证,判断是否成功实现密钥交换。最后节点A和节点B分别计算出共享密钥。本发明能有效降低密钥交换协议的通信成本,采用了基于简单标量乘法的椭圆曲线算法,从而显著降低了数据加密和协商的计算成本。
【IPC分类】H04W12/06, H04W12/04
【公开号】CN104902471
【申请号】CN201510292818
【发明人】万长胜, 刘军, 黄杰
【申请人】东南大学
【公开日】2015年9月9日
【申请日】2015年6月1日