一种体域网主密钥生成方法

文档序号:8514477阅读:621来源:国知局
一种体域网主密钥生成方法
【技术领域】
[0001]本发明涉及密钥生成技术领域,尤其涉及一种体域网主密钥生成方法。
【背景技术】
[0002]体域网协议(IEEE 802.15.6)规定了体域网的网络结构和密钥协商机制。其中,所述体域网的网络结构采用星型结构,有一个中心节点hub和多个目标节点node组成,各个目标节点node可以与所述中心节点hub进行通信,但不同目标节点node之间不可通信。需要说明的是,各个目标节点node在与所述中心节点hub进行通信之前,需要有该目标节点发起与所述中心节点之间的主密钥协商,待协商完成后,根据主密钥产生临时会话密钥,进行数据加密/认证等安全操作。
[0003]现有技术中的主密钥协商协议主要为基于椭圆曲线的Diffie-Hellman密钥交换协议,其中,Diffie-Hellman是一种确保共享KEY安全穿越不安全网络的方法,即一种建立密钥的方法。但是这种密钥交换协议中信息传输的安全性较差。

【发明内容】

[0004]为解决上述技术问题,本发明实施例提供了一种体域网主密钥生成方法,以解决现有技术中主密钥协商协议中,信息传输的安全性的问题。
[0005]为解决上述问题,本发明实施例提供了如下技术方案:
[0006]一种体域网主密钥生成方法,所述体域网网络包括一个中心节点和至少一个目标节点,该方法包括:
[0007]所述中心节点接收所述目标节点的第一公钥,由所述中心节点基于所述目标节点的第一公钥和第二公钥、所述中心节点的第一私钥和第二私钥生成第一密钥变量值,以得到主密钥;
[0008]所述目标节点接收所述中心节点的第一公钥,由所述目标节点基于所述中心节点的第一公钥和第二公钥、所述目标节点的第一私钥和第二私钥生成第二密钥变量值,以得到主密钥;
[0009]其中,所述第一密钥变量值和第二密钥变量值相同。
[0010]优选的,所述体域网网络只包括一个目标节点,所述第一密钥变量值的计算公式为:
[0011 ] DHKeyl = xOXPKI+SKOXyl ;
[0012]其中,DHKeyl表示第一密钥变量值,SKO表示所述中心节点的第一私钥,χ0表示所述中心节点的第二私钥,PKl表示所述目标节点的第一公钥,yl表示所述目标节点的第二公钥;
[0013]所述第二密钥变量值的计算公式为:
[0014]DHKey2 = xl XPK0+SK1 XyO ;
[0015]其中,DHKey2表示第二密钥变量值,SKl表示所述目标节点的第一私钥,xl表示目标节点的第二私钥,PKO表示所述中心节点的第一公钥,y0表示所述中心节点的第二公钥。
[0016]优选的,所述公钥与所述私钥的计算公式为:公钥=私钥XG ;其中,X是椭圆曲线上的特有乘法运算,在该乘法运算中,由私钥和G可以得出公钥,但由公钥和G无法得出私钥。
[0017]优选的,所述中心节点内预先设置有所述中心节点的第二私钥、第二公钥,以及所述目标节点的第二公钥。
[0018]优选的,所述目标节点内预先设置有所述目标节点的第二私钥、第二公钥以及所述中心节点的第二公钥。
[0019]优选的,所述中心节点接收所述目标节点的第一公钥前还包括:
[0020]所述中心节点选取自身的第二私钥,生成自身的第二公钥,并接收所述目标节点的第二公钥;
[0021]所述目标节点接收所述中心节点的第一公钥前包括:
[0022]所述目标节点选取自身的第二私钥,生成自身的第二公钥,并接收所述中心节点的第二公钥。
[0023]优选的,所述体域网网络包括多个目标节点。
[0024]优选的,所述中心节点内预先设置有各个目标节点的第二公钥。
[0025]优选的,所述中心节点接收所述目标节点的第一公钥前还包括:
[0026]所述中心节点选取自身的第二私钥,生成自身的第二公钥,并接收各个目标节点的第二公钥。
[0027]与现有技术相比,上述技术方案具有以下优点:
[0028]本发明实施例所提供的体域网主密钥生成方法中,所述中心节点基于所述目标节点的第一公钥和第二公钥、所述中心节点的第一私钥和第二私钥生成第一密钥变量值,以得到主密钥,而不是仅基于自身的私钥和所述目标节点的公钥生成,同理,所述目标节点基于所述中心节点的第一公钥和第二公钥、所述目标节点的第一私钥和第二私钥生成第二密钥变量值,以得到主密钥,而不是仅基于自身的私钥和所述中心节点的公钥生成,从而使得即使所述中心节点的第一公钥和所述目标节点的第一公钥被中间人获取,中间人也无法计算出所述第一密钥变量(或所述第二密钥变量),解决了基于椭圆曲线的Diffie-Hellman密钥交换协议无法抵御中间人的问题,提高了信息传输的安全性。
【附图说明】
[0029]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1为本发明一个实施例所提供的体域网主密钥生成方法的流程示意图;
[0031]图2为本发明一具体实施例所提供的体域网主密钥生成方法示意图。
【具体实施方式】
[0032]正如【背景技术】部分所述,现有技术中基于椭圆曲线的Diffie-Hellman密钥交换协议中信息传输的安全性较差。
[0033]发明人研宄发现,体域网协议中,基于椭圆曲线的Diffie-Hellman密钥交换协议的前提是有一公开的椭圆曲线E及其上一点G。然后,选取一个私钥SK,计算公钥PK =SKXG,其中,X是椭圆曲线上的特有乘法运算,在该乘法运算中,有SK和G可以得出PK,但是由PK和G无法计算出SK。
[0034]具体的,该基于椭圆曲线的Diffie-Hellman密钥交换协议中的协商步骤包括:
[0035]步骤01:协商双方A、B各自选取私钥SKjP SK B;
[0036]步骤02:协商方A计算出其公钥PKa= SK aXG,发送给协商方B ;协商方B计算出其公钥PKb= SKbXG,发送给协商方A ;
[0037]步骤03:协商方A收到协商方B的公钥PK^,会计算得到一个中间变量DHKey(AB) = SKaXPKb= SKaXSKbXG ;协商方B收到协商方A的公钥Pig^,也会计算得到一个中间变量 DHKey (BA) = SKbXPKa= SK ΒX SKaX G。
[0038]由此可见,协商方A和协商方B得到的中间变量DHKey (AB)和DHKey (BA)相同,双方以此为基础,进一步计算得到共享的主密钥。
[0039]但是,当上述密钥交换协议遇到中间人E的攻击时,其协商过程包括:
[0040]步骤011:协商双方Α、B各自选取私钥SKjP SK Β,中间人E选取自己的私钥SKE;
[0041]步骤022:协商方A计算出其公钥PKa= SKaXG,发送给协商方B,该信息被中间人E截取,中间人E将自己的公钥PKe= SK bXG发送给协商方B ;协商方B计算出其公钥PKb=SKbXG,发送给协商方A,该信息也被中间人E截取,中间人E将自己的公钥PKe= SKbXG发送给协商方A ;
[0042]步骤33:协商方A收到中间人的公钥Pig^,会计算出一个中间变量DHKey(AE)=SKaXPKe= SKaXSKeXG;协商方B收到中间人的公钥Pigg,会计算出一个中间变量DHKey (BE) = SKbXPKe= SKbXSKeXG0
[0043]而中间人E可以计算出DHKey(AE)和DHKey (BE),从而使得协商方A和协商方B直接协商的密钥变成了 A-E和E-B之间协商的密钥,导致在以后的通信过程中,中间人E可以转发窃取协商方A和协商方B之间的信息而不被发现。
[0044]由此可见,现有技术中基于椭圆曲线的Diffie-Hellman密钥交换协议法抵御中间人攻击,信息传输的安全性较差。
[0045]有鉴于此,本发明实施例提供了一种体域网主密钥生成方法,所述体域网网络包括一个中心节点和至少一个目标节点,该方法包括:
[0046]所述中心节点接收所述目标节点的第一公钥,由所述中心节点基于所述目标节点的第一公钥和第二公钥、所述中心节点的第一私钥和第二私钥生成第一密钥变量值,以得到主密钥;
[0047]所述目标节点接收所述中心节点的第一公钥,由所述目标节点基于所述中心节点的第一公钥和第二公钥、所述目标节点的第一私钥和第二私钥生成第二密钥变量值,以得到主密钥;
[00
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1