CN101908959B - 一种建立共享密钥的方法、设备及其*** - Google Patents

一种建立共享密钥的方法、设备及其*** Download PDF

Info

Publication number
CN101908959B
CN101908959B CN2010102400960A CN201010240096A CN101908959B CN 101908959 B CN101908959 B CN 101908959B CN 2010102400960 A CN2010102400960 A CN 2010102400960A CN 201010240096 A CN201010240096 A CN 201010240096A CN 101908959 B CN101908959 B CN 101908959B
Authority
CN
China
Prior art keywords
node
key
privately owned
pgc
owned message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2010102400960A
Other languages
English (en)
Other versions
CN101908959A (zh
Inventor
郑强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Watchdata Co ltd
Original Assignee
Beijing WatchData System Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing WatchData System Co Ltd filed Critical Beijing WatchData System Co Ltd
Priority to CN2010102400960A priority Critical patent/CN101908959B/zh
Publication of CN101908959A publication Critical patent/CN101908959A/zh
Application granted granted Critical
Publication of CN101908959B publication Critical patent/CN101908959B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种建立共享密钥的方法、设备及其***,以提高节点之间使用的共享密钥的破解难度,提高节点间通信的安全性。该方法包括:第一节点向密钥生成中心PGC发送密钥请求报文;PGC根据所述第一节点的身份信息和***主密钥,生成与该第一节点对应的私有报文QID,并将该QID进行加密之后发送给所述第一节点;所述第一节点对接收到的所述QID进行解密,并根据解密之后的QID和第一节点自身生成的第一随机数,生成与该第一节点对应的私钥;所述第一节点在与第二节点进行通信时,根据所述私钥、第二节点的身份信息,生成所述第一节点与所述第二节点进行通信的共享密钥。采用本发明技术方案,提高了共享密钥的破解难度和节点间通信的安全性。

Description

一种建立共享密钥的方法、设备及其***
技术领域
本发明涉及通信领域,尤其涉及一种建立共享密钥的方法、设备及其***。 
背景技术
目前,节点对之间进行通信时,为保证通信的安全性,节点对之间通过共享密钥来对进行通信的数据包进行加密解密,节点之间的共享密钥的生成方式多种多样,其中最主要的方式有以下几种: 
方式一、基于用户身份的密钥管理***建立节点对间的共享密钥。基于身份的密码***具有计算简单的特性,适用于能量受限的网络,例如Ad Hoc网络,但采用该种方式所带来的缺陷为:PGC(Private Key Generate Center,私钥生成中心)获知每个节点的私钥,若不法分子登录到PGC,并以PGC的身份有意扮成任何一个用户,可轻而易举的获取各节点的私钥,从而轻易地获知节点与节点间的共享密钥。因此,采用该种方式,节点的私钥易被破解,从而导致节点间的共享密钥易被获取,安全性较低,不可靠。 
方式二、结合Diffie-Hellman与基于身份密钥的密钥协商协议。该方案在密钥协商的过程中,对节点进行认证,以解决DH密钥交换协议中被攻击的问题,进一步提高安全性。但是其所带来的缺陷为:PGC必须通过安全的密钥通道将节点的私钥信息发送给用户,即需要在PGC与用户之间建立安全的秘密通道,然而建立安全的秘密通道成本较高且在无线网络中的可实施性较差。 
方式三、基于离散数学难题或Diffie-Hellman算法生成共享密钥。节点根据PGC为该节点生成的私有报文QID和节点自身生成的随机数,生成私钥,但是该种方式的缺陷在于:PGC将为该节点生成的QID直接通过公共信道发送给该节点,因此,该QID易于被其他节点或不法分子截获,若该节点生成随机数 泄露或被盗取,则其他节点或不法分子可轻而易举的根据截获的QID和泄露的随机数获取该节点的私钥,从而,可以容易的破解该节点与其他节点间的共享密钥,安全性较低、可靠性较差。 
因此,目前迫切需要一种破解难度较高、且易于实现的建立共享密密钥的方法。 
发明内容
本发明提供一种建立共享密钥的方法、设备及其***,以提高节点之间使用的共享密钥的破解难度,提高节点间通信的安全性。 
一种建立共享密钥的方法,包括: 
第一节点向密钥生成中心PGC发送密钥请求报文; 
所述PGC接收到所述密钥请求报文时,根据所述第一节点的身份信息和***主密钥,生成与该第一节点对应的私有报文QID,并将所述私有报文QID进行加密之后发送给所述第一节点; 
所述第一节点对接收到的加密后的私有报文QID进行解密,并根据解密之后的私有报文QID和第一节点自身生成的第一随机数,生成与该第一节点对应的私钥; 
所述第一节点在与第二节点进行通信时,根据所述私钥、第二节点的身份信息,生成所述第一节点与所述第二节点进行通信的共享密钥。 
一种密钥生成中心,包括: 
接收模块,用于接收节点发送的密钥生成请求报文; 
私有报文生成模块,用于在所述接收模块接收到所属密钥生成请求报文时,根据所述节点的身份信息和***主密钥,生成与该节点对应的私有报文QID; 
加密模块,用于对所述私有报文生成模块生成的私有报文QID进行加密; 
发送模块,用于对所述加密模块加密之后的私有报文QID发送给所述节点。 
一种节点,包括: 
发送模块,用于向密钥生成中心PGC发送密钥请求报文; 
接收模块,用于接收所述PGC发送的与所述节点相对应的私有报文QID; 
解密模块,用于对所述接收模块接收的私有报文QID进行解密; 
私钥生成模块,用于根据所述解密模块解密得到的私有报文QID和所述节点自身生成的第一随机数,生成与所述节点对应的私钥; 
共享密钥生成模块,用于在与第二节点进行通信时,根据所述私钥生成模块生成的私钥、第二节点的身份信息,生成所述节点与所述第二节点进行通信的共享密钥。 
一种建立共享密钥的***,包括: 
密钥生成中心PGC,用于接收第一节点发送的密钥请求报文;根据所述第一节点的身份信息和***主密钥,为该第一节点生成私有报文QID,并将该私有报文QID进行加密之后发送给所述第一节点; 
所述第一节点,用于对接收到的所述私有报文QID进行解密,并根据解密之后的私有报文QID、第一节点自身生成的第一随机数,生成与该第一节点对应的私钥;并在与第二节点进行通信时,根据所述私钥、第二节点的身份信息,生成所述第一节点与所述第二节点进行通信的共享密钥。 
本发明实施例中,由于PGC对生成的私有报文QID进行了加密,从而使得,即使该节点生成的随机数泄露或被盗取,由于其他节点或不法分子无法对加密的私有报文QID进行解密,不能轻易地得到该节点的私钥,从而不能破解节点之间进行通信的共享密钥,继而提高了节点之间共享密钥的破解难度,提高了节点间通信的安全性、可靠性。 
附图说明
图1为本发明实施例中建立共享密钥的方法流程图; 
图2为本发明实施例中各节点通过PGC生成私钥的结构示意图; 
图3为本发明实施例中建立共享密钥的方法流程图; 
图4为本发明实施例中密钥生成中心的结构示意图; 
图5为本发明实施例中节点的结构示意图。 
具体实施方式
为解决现有技术存在的技术问题,本发明实施例提供一种建立共享密钥的方法,该方法包括:节点向PGC发送密钥请求报文;PGC接收到节点发送的密钥请求报文时,根据该节点的身份信息以及***初始化的***参数,为该节点生成私有报文QID,对该私有报文QID进行加密之后发送给节点;节点接收到的加密后的私有报文QID进行解密,并判断该私有报文QID是否为PGC下发,若是,则根据节点自身生成的随机数和私有报文QID,生成与该节点对应私钥;该节点在与第二节点进行通信时,根据自身的私钥和第二节点的身份信息,生成该节点与第二节点之间的共享密钥。采用本发明技术方案,由于PGC对生成的私有报文QID进行了加密,从而使得,即使该节点生成的随机数泄露或被盗取,由于其他节点或不法分子无法对加密后的私有报文QID进行解密,不能轻易地得到该节点的私钥,从而不能破解节点之间进行通信的共享密钥,继而提高了节点之间共享密钥的破解难度,提高节点间通信的安全性、可靠性。 
本发明实施例中,为了提高安全可靠性,涉及到的密钥的生成以及私有报文的生成,可以基于离散数学难题或Diffie-Hellman难题,为便于本领域技术人员理解,下面对本发明实施例中应用到的离散数学难题与Diffie-Hellman难题进行详细的描述。 
计算离散对数难题:设G1是阶为q的加法群,其中q是一个大素数,假定P∈G1,P∈G1,Q∈G1,且P,Q满足关系Q=n·P,已知P,Q,计算整数n是一个难解的数学问题。 
计算Diffie-Hellman难题:设G1,G2分别是阶为q的加法群和乘法群,其中q是一个大素数。在双线性映射e:G1×G2→G2中,设P为G1的本原元,对于任意的a、b∈Zp,给定P、aP、bP∈G1,计算abP是难解的数学问题。 
下面结合说明书附图对本发明技术方案进行详细的描述。 
参见图1,为本发明实施例中建立共享密钥的方法流程图,该流程包括以下步骤: 
步骤101、节点N向PGC发送密钥请求报文。 
该步骤中,密钥请求报文中可携带有该节点N的身份信息IDN,节点N可以以广播形式向PGC发送该密钥请求报文。 
步骤102、PGC在接收到该节点N发送的密钥请求报文时,根据该节点N的身份信息IDN和***初始化定义的主密钥s,为该节点N生成私有报文 
Figure BSA00000209722100051
并对该私有报文 
Figure BSA00000209722100052
进行加密之后发送给节点N。 
该步骤中,PGC既可以根据密钥请求报文中携带的节点N的身份信息生成私有报文 
Figure BSA00000209722100053
也可以根据PGC存储的该节点N的身份信息来生成私有报文 
Figure BSA00000209722100054
该步骤中,PGC将加密后的私有报文 
Figure BSA00000209722100055
通过公共信道发送至节点N。 
步骤103、节点N对该加密后的私有报文 
Figure BSA00000209722100056
进行解密,并根据***参数确定解密得到的私有报文 
Figure BSA00000209722100057
为PGC下发时,根据节点N自身生成的第一随机数dN、私有报文 
Figure BSA00000209722100058
生成私钥KN。 
步骤104、节点N与其他节点(用节点K表示)进行通信时,该节点N根据自身的私钥KN、节点K的身份信息IDK,生成节点N与节点K之间的共享密钥KNK。 
本发明实施例中,PGC可通过对称加密机制对该私有报文 
Figure BSA00000209722100059
进行加密;节点N生成对称密钥SKPGC,并采用对称密钥SKPGC对该 
Figure BSA000002097221000510
进行解密。 
本发明实施例中,PGC对私有报文 
Figure BSA000002097221000511
进行加密的方式多种多样,并不仅限于本发明实施例中的对称加密机制,比如,还可以采用非对称加密机制对 
Figure BSA000002097221000512
进行加密解密。 
本发明实施例中,***初始化,包括:***自动生成阶为q的加法群G1,q为一个大素数,运算都是基于群G1上的离散对数问题;选取G1中的本原元p作 为第一***参数;定义Hash函数(如常用的MD5、SHA-1等),后续式中用h表示定义的Hash函数;选取主密钥s,s∈Zq;定义Ppub=s·p为第二***参数,第二***参数Ppub为采用计算离散数学难题的方式对第一***参数p与***主密钥s进行运算的结果;PGC将***初始化的第一***参数p和第二***参数ppub发送给与其连接的各节点,各节点存储接收到的***参数。 
节点N在向PGC发送密钥请求报文之前,生成身份信息IDN和辅助信息ASN,并公布身份信息IDN和辅助信息ASN,PGC存储该节点N的身份信息IDN和辅助信息ASN;ID在网络生存期间内是唯一的,且能够唯一标识出节点的身份。节点N生成身份信息IDN和辅助信息ASN,具体为:节点N产生2个随机数,分别用第一随机数dN、第二随机数d′N表示;节点N根据该两个随机数、第一***参数p,生成身份信息IDN和辅助信息ASN,为提高破解难度,本发明实施例中,节点N可采用计算离散数学难题的方式分别生成身份信息和辅助信息为:IDN=dN·p,ASN=d′N·p。 
上述步骤102中,PGC可根据以下式(1)生成私有报文 
Q ID N = s · h ( ID N ) 式(1) 
式(1)中,s为***初始化定义的主密钥,h(IDN)为采用***初始化定义的Hash函数对IDN进行哈希运算得到的哈希值。 
较佳地,上述步骤102,还包括步骤: 
PGC在接收到节点N发送的密钥请求报文时,利用本地存储的该节点N的身份信息IDN对该节点N发送的身份信息IDN进行验证,验证成功时,为该节点N生成私有报文 验证失败时,结束流程、向该节点N发送身份信息验证失败的通知消息或者向PGC重新发送密钥请求报文。 
上述流程的步骤102中,PGC对该私有报文 
Figure DEST_PATH_GDA0000087310590000014
进行加密,具体为:PGC根据该节点N的辅助信息ASN和设定的主密钥S,生成用于对私有报文 进 行加密的密钥SKPGC,可通过式(2)得到: 
SKPGC=s·ASN                            式(2) 
式(2)中,SKPGC为PGC生成的用于对私有报文 
Figure DEST_PATH_GDA0000087310590000021
进行加密的密钥,s为***初始化定义的主密钥,ASN为该节点N的辅助信息。 
本发明实施例中,对私有报文 进行加密的方式并不仅限于本发明提到的加密方式,还可以采用现有技术中其他加密方式进行加密,本发明实施例列举的加密方式只是其中的一种方式,本领域技术人员应该可以根据本发明技术方案的启示想到很多其他的加密方式,在此不再一一列举。 
步骤103中,节点N在接收到PGC下发的私有报文 
Figure DEST_PATH_GDA0000087310590000023
时,根据第二随机数d′N和第二***参数Ppub,生成用于对该私有报文 
Figure DEST_PATH_GDA0000087310590000024
进行解密的密钥SKN,具体可通过式(3)得到: 
SKN=d′N·ppub                               式(3) 
式(3)中,SKN为节点N生成的用于对私有报文 进行解密的密钥,d′N为节点N生成的第二随机数,ppub为***初始化定义的第二***参数。 
较佳地,上述步骤102还包括步骤:将节点N的h(IDN)发送给节点N;上述步骤103中,节点N确定解密得到的私有报文 
Figure DEST_PATH_GDA0000087310590000026
是否为PGC下发的信息,具体为:节点N采用计算离散数学难题的方式,对解密得到的私有报文 
Figure DEST_PATH_GDA0000087310590000027
与第一***参数p进行运算,得到 
Figure DEST_PATH_GDA0000087310590000028
节点N采用计算离散数学难题的方式对PGC下发的h(IDN)与第二***参数ppub进行运算,得到h(IDN)·ppub;判断 
Figure DEST_PATH_GDA0000087310590000029
与hpub·ppub是否相等,若相等,则确定该解密得到的私有报文 
Figure DEST_PATH_GDA00000873105900000210
为PGC下发的,若不相等,则确定该解密得到的私有报文 不是PGC下发的。 
较佳地,为避免确定私有报文 
Figure BSA000002097221000712
不是PGC下发时,节点N向PGC重新发送密钥报文请求时,需要重新生成第二随机数d′N而导致延时较长、效率较低的问题,本发明实施例中,节点N生成一组第二随机数,如 
Figure BSA000002097221000713
若该次发送给PGC的身份信息是根据 
Figure BSA00000209722100081
生成时,在确定私有报文 
Figure BSA00000209722100082
不是PGC下发时,节点N将 销毁,从该组随机数中选取 
Figure BSA00000209722100084
根据该 
Figure BSA00000209722100085
生成身份信息IDN和辅助信息ASN,并重新公布新生成的IDN和ASN,依此类推。上述流程的步骤103中,该节点生成私钥SN,通过式(4)得到: 
SN=di·s·h(IDN)            式(4) 
式(4)中,SN为节点N生成的私钥,di为节点生成的第一随机数,s为***初始化定义的主密钥,h(IDN)为采用***初始化定义的Hash函数对IDN进行哈希运算得到的哈希值。 
较佳地,上述步骤103进一步包括步骤: 
节点N在判断解密得到的私有报文 不为PGC下发时,结束流程,重新向PGC发送密钥请求报文,该密钥请求报文中携带有该节点的身份信息。 
本发明实施例中,节点间进行通信时,都会将自身的身份信息发送给通信对端节点。 
上述流程的步骤104中,节点N与节点K生成共享密钥,具体为:该节点N的私钥为SN,该节点N通过式(5)确定出共享密钥为KN,节点K依据上述流程生成的密钥为SK,该节点K通过式(6)确定出共享密钥为KK,其中KN与KK相等: 
KN=SN·IDK·h(IDK)    式(5) 
KK=SK·IDN·h(IDN)    式(6) 
式(5)中,SN为节点N的私钥,IDK为节点K的身份信息,h(IDK)为Hash函数对IDK进行哈希运算得到的哈希值,h(IDK)可以为节点K发送给节点N也可以是PGC发送给节点N;式(6)中,SK为节点K的私钥,IDN为节点N的身份信息,h(IDN)为Hash函数对IDN进行哈希运算得到的哈希值,h(IDK)可以为节点N发送给节点K也可以是PGC发送给节点K。 
本发明实施例中,在任意的分布式网络中都可以使用本发明技术方案,例 如在Ad Hoc网络中,各节点都可以通过上述方法流程来通过PGC生成对应的QID,如图2所示,各节点根据PGC为自身生成的私有报文QID生成私钥;两个节点在进行通信时,任何一端节点可根据自身的私钥和对方节点的身份信息来生成共享密钥。 
本发明技术方案并不仅限于Ad Hoc网络,还可适用于P2P等其他无线自组织网络,还可适用于有线网络。 
本发明实施例中,密钥的生成、节点身份信息和辅助信息的生成、私有报文的生成都可以基于离散数学难题或Diffie-Hellman难题。比如,在本发明实施例中,生成节点的身份信息、辅助信息、私有报文以及第二***参数都可以基于离散数学难题来计算生成;PGC生成用于对私有报文进行加密的密钥、节点生成对应的私钥以及节点之间生成的共享密钥都可以基于Diffie-Hellman难题来生成。 
本发明实施例中,密钥的生成、节点身份信息和辅助信息的生成、私有报文的生成还可以基于现有技术中较为常用的其他算法生成,并不仅限于本发明实施例中列举的基于离散数学难题或Diffie-Hellman难题的算法,本发明实施例列举的算法只是一种具体的实现方式。 
下面结合以一具体的方法流程对本发明技术方案进行更为清楚、详细的描述。 
参见图3,为本发明实施例中建立共享密钥的方法流程图,该流程包括以下步骤: 
步骤301、***进行初始化,设定第一***参数p,主密钥s,以及第二***参数Ppub以及选定Hash函数;节点A根据自身生成的第二随机数d′A、第一随机数dA,采用计算离散数学难题的方式生成身份信息IDA和辅助信息ASA,其中:IDA=dA·p,ASA=d′A·p,并公布自身的身份信息IDA和辅助信息ASA,以便 
PGC存储该节点A的IDA和ASA。 
步骤302、节点A向PGC发送密钥请求报文,该密钥请求报文中携带有 该节点A的身份信息IDA。 
步骤303、PGC根据存储的该节点A的身份信息IDA对该节点A发送的身份信息IDA进行验证,验证成功时,执行步骤304,否则执行步骤313。 
步骤304、PGC根据节点A的身份信息IDA、预先定义的Hash函数,生成h(IDA),并将该h(IDA)发送给节点A;PGC根据主密钥s和h(IDA),采用计算离散数学难题的方式生成与该节点A对应的私有报文 
Figure DEST_PATH_GDA0000087310590000041
该步骤中,PGC根据主密钥s和h(IDA)可根据前述式(1)生成与该节点A对应的私有报文 
Figure DEST_PATH_GDA0000087310590000042
步骤305、PGC根据节点生成的第二随机数d′A、主密钥s和第一***参数p,生成用于对私有报文 
Figure DEST_PATH_GDA0000087310590000043
进行加密的密钥SKPGC。 
该步骤中,PGC可根据前述式(2)生成SKPGC。 
步骤306、PGC采用密钥SKPGC对生成的私有报文 
Figure DEST_PATH_GDA0000087310590000044
进行加密,并将加密之后的私有报文 通过公共信道发送给节点A。 
步骤307~308、节点A根据本地存储的第二随机数d′N、第二***参数Ppub生成用于对接收到的私有报文 
Figure DEST_PATH_GDA0000087310590000046
进行解密的密钥SKA;并采用密钥SKA对接收到的 
Figure DEST_PATH_GDA0000087310590000047
进行解密。 
该步骤中,节点A可根据前述式(3)生成密钥SKA。 
步骤309、节点A根据本地存储的第一***参数p、第二***参数Ppub、解密得到的私有报文 
Figure DEST_PATH_GDA0000087310590000048
判断解密得到的私有报文 
Figure DEST_PATH_GDA0000087310590000049
是否为PGC下发,若是,则执行步骤310,否则,执行步骤302。 
步骤310~311、节点A将生成的第二随机数d′N销毁,并根据第一随机数dA、解密得到的私有报文 
Figure DEST_PATH_GDA00000873105900000410
生成与该节点A对应的私钥SA。 
该步骤中,节点A可根据前述式(4)生成私钥SA。 
步骤312、当节点A与节点B进行通信时,节点A根据自身的私钥SA、 节点B的身份信息IDB,生成与节点B共享的共享密钥KAB;节点B根据自身的私钥SB、节点A的身份信息IDA,生成与该节点A共享的共享密钥KAB。 
该步骤中,节点A可根据前述式(5)生成共享密钥KAB。 
步骤313、结束流程。 
基于上述流程相同的构思,本发明实施例还提供一种节点,一种密钥生成中心,和一种建立共享密钥的***。 
参见图4,为本发明实施例中密钥生成中心的结构示意图,该密钥生成中心包括: 
接收模块41,用于接收节点发送的密钥生成请求报文; 
私有报文生成模块42,用于在接收模块41接收到所属密钥生成请求报文时,根据所述节点的身份信息和***主密钥,生成与该节点对应的私有报文QID; 
加密模块43,用于对所述私有报文生成模块生成的私有报文QID进行加密; 
发送模块44,用于对加密模块43加密之后的私有报文QID发送给所述节点。 
加密模块43对私有报文QID进行加密,具体应用为: 
根据存储的第一节点的辅助信息、***主密钥,生成用于对该私有报文QID进行加密的第一密钥,并采用该第一密钥对该私有报文QID进行加密,所述第一节点的辅助信息根据第一***参数和所述第一节点生成的第二随机数确定。 
加密模块43根据式(2)生成第一密钥。 
参见图5,为本发明实施例中节点的结构示意图,该节点包括: 
发送模块51,用于向密钥生成中心PGC发送密钥请求报文; 
接收模块52,用于接收所述PGC发送的与所述节点相对应的私有报文QID; 
解密模块53,用于对接收模块52接收的私有报文QID进行解密; 
私钥生成模块54,用于根据解密模块53解密得到的私有报文QID和所述节点自身生成的第一随机数,生成与所述节点对应的私钥; 
共享密钥生成模块55,用于在与第二节点进行通信时,根据私钥生成模块 54生成的私钥、第二节点的身份信息,生成所述节点与所述第二节点进行通信的共享密钥。 
解密模块53对私有报文QID进行解密,具体应用为:根据所述节点生成的第二随机数和第二***参数,生成用于对所述私有报文QID进行解密的第二密钥,并采用该第二密钥对该私有报文QID进行解密。 
解密模块53根据式(3)生成第二密钥。 
较佳地,上述节点还包括: 
判断模块56,用于根据第一节点的身份信息、第二***参数、第一***参数,确定解密模块53解密得到的私有报文QID是否为PGC下发; 
发送模块51进一步用于,在判断模块56判断所述私有报文QID不是PGC下发时,重新向PGC发送密钥请求报文。 
一种建立共享密钥的***包括: 
密钥生成中心PGC,用于接收第一节点发送的密钥请求报文;根据所述第一节点的身份信息和***主密钥,为该第一节点生成私有报文QID,并将该QID进行加密之后发送给所述第一节点; 
所述第一节点,用于对接收到的所述加密后的私有报文QID进行解密,并根据解密之后的私有报文QID、第一节点自身生成的第一随机数,生成与该第一节点对应的私钥;并在与第二节点进行通信时,根据所述私钥、第二节点的身份信息,生成所述第一节点与所述第二节点进行通信的共享密钥。 
所述PGC对所述私有报文QID进行加密,具体应用为: 
PGC根据存储的所述第一节点的辅助信息、***主密钥,生成用于对该QID进行加密的第一密钥,并采用该第一密钥对该私有报文QID进行加密; 
所述第一节点对接收到的所述私有报文QID进行解密,具体应用为: 
第一节点根据自身生成的第二随机数和第二***参数,生成用于对所述QID进行解密的第二密钥,并采用该第二密钥对该私有报文QID进行解密; 
所述第二***参数为采用计算离散数学难题的方式对所述第一***参数 与所述***主密钥进行运算的结果。 
所述第一节点进一步用于,在生成所述私钥之前,根据第一节点的身份信息、第二***参数、第一***参数,确定解密之后私有报文QID是否为PGC下发,并在确定不是PGC下发时,结束流程或重新向所述PGC发送密钥请求报文。 
本发明实施例中,节点在需要生成私钥时,向PGC发送携带有该节点身份信息的密钥请求报文;PGC根据***参数、该节点的身份信息,采用计算离散数学难题的方式为该节点生成私有报文QID,并对该私有报文QID进行加密之后发送给节点;节点根据自身生成的随机数和接收到的QID生成私钥;并在与其他节点进行通信时,根据该节点的私有报文QID、随机数以及其他节点的身份信息,采用计算Diffie-Hellman难题的方式生成该节点与其他节点之间的共享密钥。采用本发明技术方案,节点根据PGC下发的QID来生成私钥,并根据私钥生成与其他节点之间的共享密钥,由于PGC对该节点的QID进行了加密处理,因此,即使该节点生成的随机数泄露或被盗取,由于其他节点或不法分子无法对QID进行解密,从而不能轻易地得到该节点的私钥;继而不能破解节点之间进行通信的共享密钥,提高了节点之间共享密钥的破解难度,提高了节点间通信的安全性、可靠性;并且生成的密钥都是基于离散数学难题或Diffie-Hellman难题,更进一步的提高了共享密钥的破解难度。 
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。 

Claims (18)

1.一种建立共享密钥的方法,其特征在于,包括:
第一节点向密钥生成中心PGC发送密钥请求报文;
所述PGC接收到所述密钥请求报文时,根据所述第一节点的身份信息和***主密钥,生成与该第一节点对应的私有报文QID,并将所述私有报文QID进行加密之后发送给所述第一节点;
所述第一节点对接收到的加密后的私有报文QID进行解密,并根据解密之后的私有报文QID和第一节点自身生成的第一随机数,生成与该第一节点对应的私钥;
所述第一节点在与第二节点进行通信时,根据所述私钥、第二节点的身份信息,生成所述第一节点与所述第二节点进行通信的共享密钥。
2.如权利要求1所述的方法,其特征在于,所述PGC对所述私有报文QID进行加密,包括:PGC根据存储的所述第一节点的辅助信息、***主密钥,生成用于对该私有报文QID进行加密的第一密钥,并采用该第一密钥对该私有报文QID进行加密,所述第一节点的辅助信息根据第一***参数和所述第一节点生成的第二随机数确定;
所述第一节点对接收到的所述私有报文QID进行解密,包括:第一节点根据自身生成的第二随机数和第二***参数,生成用于对所述私有报文QID进行解密的第二密钥,并采用该第二密钥对该私有报文QID进行解密。
3.如权利要求2所述的方法,其特征在于,所述PGC通过下式得到所述第一密钥:
SK PGC = s · AS N ⇒ SK PGC = s · ( d N ′ · p )
式中,SKPGC为所述PGC生成的第一密钥,s为***主密钥,ASN为所述第一节点的辅助信息,d′N为第二随机数,p为第一***参数;
所述第一节点通过下式得到第二密钥:
SKN=d′N·ppub
式中,SKN为第一节点生成的第二密钥,d′N为第二随机数,ppub为第二***参数。
4.如权利要求2所述的方法,其特征在于,所述第一节点生成所述私钥之前,还包括:所述第一节点根据第一节点的身份信息、第二***参数、第一***参数,确定解密之后的私有报文QID是否为PGC下发,若不是PGC下发,结束流程或重新向所述PGC发送密钥请求报文。
5.如权利要求4所述的方法,其特征在于,所述PGC生成私有报文QID,根据下式得到:
QID=s·h(ID)
式中,所述s为***主密钥,ID为所述第一节点的身份信息,h(ID)为对ID进行哈希运算得到的哈希值。
6.如权利要求4所述的方法,其特征在于,
所述第一节点确定所述解密后的私有报文QID是否为PGC下发,包括:判断下式是否成立,若成立,则确定私有报文QID为PGC下发,若不成立,则确定所述私有报文QID不为PGC下发:
QID·p=h(ID)·ppub
式中,p为第一***参数,ID为所述第一节点的身份信息,h(ID)为对ID进行哈希运算得到的哈希值,ppub为第二***参数。
7.如权利要求4~6任一项所述的方法,其特征在于,所述第一节点确定所述私有报文QID是PGC下发时,销毁所述第二随机数。
8.如权利要求1~6任一项所述的方法,其特征在于,所述第一节点与第二节点进行通信时,接收所述第二节点发送的与该第二节点对应的哈希值,该哈希值为PGC对所述第二节点的身份信息进行哈希运算得到的值;
所述第一节点生成与第二节点进行通信的共享密钥,通过下式得到:
KN=SN·IDK·h(IDK)
式中,所述KN为共享密钥,SN为第一节点生成的私钥,IDK为第二节点的身份信息,所述h(IDK)为PGC对IDK进行哈希运算得到的哈希值。
9.一种密钥生成中心,其特征在于,包括:
接收模块,用于接收第一节点发送的密钥生成请求报文;
私有报文生成模块,用于在所述接收模块接收到所述密钥生成请求报文时,根据所述第一节点的身份信息和***主密钥,生成与该第一节点对应的私有报文QID
加密模块,用于对所述私有报文生成模块生成的私有报文QID进行加密;
发送模块,用于将所述加密模块加密之后的私有报文QID发送给所述第一节点。
10.如权利要求9所述的密钥生成中心,其特征在于,所述加密模块对私有报文QID进行加密,具体应用为:
根据存储的第一节点的辅助信息、***主密钥,生成用于对该私有报文QID进行加密的第一密钥,并采用该第一密钥对该私有报文QID进行加密,所述第一节点的辅助信息根据第一***参数和所述第一节点生成的第二随机数确定。
11.如权利要求10所述的密钥生成中心,其特征在于,所述加密模块生成第一密钥,具体应用为:
通过下式得到所述第一密钥:
SK PGC = s · AS N ⇒ SK PGC = s · ( d N ′ · p )
式中,SKPGC为密钥生成中心PGC生成的第一密钥,s为***主密钥,ASN为所述第一节点的辅助信息,d′N为第二随机数,p为第一***参数。
12.一种节点,其特征在于,包括:
发送模块,用于向密钥生成中心PGC发送密钥请求报文;
接收模块,用于接收所述PGC发送的与所述节点相对应的私有报文QID
解密模块,用于对所述接收模块接收的私有报文QID进行解密;
私钥生成模块,用于根据所述解密模块解密得到的私有报文QID和所述节点自身生成的第一随机数,生成与所述节点对应的私钥;
共享密钥生成模块,用于在与第二节点进行通信时,根据所述私钥生成模块生成的私钥、第二节点的身份信息,生成所述节点与所述第二节点进行通信的共享密钥。
13.如权利要求12所述的节点,其特征在于,所述解密模块对私有报文QID进行解密,具体应用为:根据所述节点生成的第二随机数和第二***参数,生成用于对所述私有报文QID进行解密的第二密钥,并采用该第二密钥对该私有报文QID进行解密。
14.如权利要求13所述的节点,其特征在于,所述解密模块生成第二密钥,具体应用为:
通过下式得到第二密钥:
SKN=d′N·ppub
式中,SKN为节点生成的第二密钥,d′N为第二随机数,ppub为第二***参数。
15.如权利要求12~14任一项所述的节点,其特征在于,还包括:
判断模块,用于根据节点的身份信息、第二***参数、第一***参数,确定所述解密模块解密得到的私有报文QID是否为PGC下发;
所述发送模块进一步用于,在所述判断模块判断所述私有报文QID不是PGC下发时,重新向所述PGC发送密钥请求报文。
16.一种建立共享密钥的***,其特征在于,包括:
密钥生成中心PGC,用于接收第一节点发送的密钥请求报文;根据所述第一节点的身份信息和***主密钥,为该第一节点生成私有报文QID,并将该私有报文QID进行加密之后发送给所述第一节点;
所述第一节点,用于对接收到的所述私有报文QID进行解密,并根据解密之后的私有报文QID、第一节点自身生成的第一随机数,生成与该第一节点对应的私钥;并在与第二节点进行通信时,根据所述私钥、第二节点的身份信息,生成所述第一节点与所述第二节点进行通信的共享密钥。
17.如权利要求16所述的***,其特征在于,所述PGC对所述私有报文QID进行加密,具体应用为:
PGC根据存储的所述第一节点的辅助信息、***主密钥,生成用于对该QID进行加密的第一密钥,并采用该第一密钥对该私有报文QID进行加密;
所述第一节点对接收到的所述加密后的私有报文QID进行解密,具体应用为:
第一节点根据自身生成的第二随机数和第二***参数,生成用于对所述私有报文QID进行解密的第二密钥,并采用该第二密钥对该私有报文QID进行解密,所述第一节点的辅助信息根据第一***参数和所述第一节点生成的第二随机数确定。
18.如权利要求17所述的***,其特征在于,所述第一节点进一步用于,在生成所述私钥之前,根据第一节点的身份信息、第二***参数、第一***参数,确定解密之后QID是否为PGC下发,若不是PGC下发,结束流程或重新向所述PGC发送密钥请求报文。
CN2010102400960A 2010-07-28 2010-07-28 一种建立共享密钥的方法、设备及其*** Expired - Fee Related CN101908959B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102400960A CN101908959B (zh) 2010-07-28 2010-07-28 一种建立共享密钥的方法、设备及其***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102400960A CN101908959B (zh) 2010-07-28 2010-07-28 一种建立共享密钥的方法、设备及其***

Publications (2)

Publication Number Publication Date
CN101908959A CN101908959A (zh) 2010-12-08
CN101908959B true CN101908959B (zh) 2012-08-22

Family

ID=43264286

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102400960A Expired - Fee Related CN101908959B (zh) 2010-07-28 2010-07-28 一种建立共享密钥的方法、设备及其***

Country Status (1)

Country Link
CN (1) CN101908959B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102325320B (zh) * 2011-09-14 2015-09-02 北京握奇数据***有限公司 一种无线安全通信方法及***
CN103825733A (zh) * 2014-02-28 2014-05-28 华为技术有限公司 基于组合公钥密码体制的通信方法、装置及***
CN103929299B (zh) * 2014-04-28 2017-05-10 王小峰 地址即公钥的自安全轻量级网络报文传输方法
CN105007163B (zh) * 2015-07-15 2018-07-31 普联技术有限公司 预共享密钥的发送、获取方法及发送、获取装置
CN107645378A (zh) * 2017-09-12 2018-01-30 中国联合网络通信集团有限公司 密钥管理平台、通信加密方法及终端
CN107959688B (zh) * 2017-12-14 2020-11-10 恒宝股份有限公司 一种终端和摄像设备相互认证的安全认证方法及其认证***
CN110120927B (zh) * 2018-02-05 2022-03-25 华为技术有限公司 私钥生成的方法和设备
CN109361506B (zh) * 2018-09-21 2021-06-15 无锡润盟软件有限公司 信息处理方法
CN110166239B (zh) * 2019-06-04 2023-01-06 成都卫士通信息产业股份有限公司 用户私钥生成方法、***、可读存储介质及电子设备
CN110601830B (zh) * 2019-09-16 2021-08-31 腾讯科技(深圳)有限公司 基于区块链的密钥管理方法、装置、设备及存储介质
CN112688909B (zh) * 2020-09-29 2021-09-21 北京海泰方圆科技股份有限公司 一种数据传输***、方法、装置、介质和设备
CN113746629B (zh) * 2021-11-04 2022-03-01 山东凤和凰城市科技有限公司 基于高分子模拟的保密通信方法
CN116340954B (zh) * 2023-03-24 2024-01-23 合芯科技有限公司 一种数据安全通道建立方法、***控制处理器和启动固件

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277512A (zh) * 2007-03-27 2008-10-01 厦门致晟科技有限公司 一种无线移动终端通讯加密的方法
CN101459505A (zh) * 2007-12-14 2009-06-17 华为技术有限公司 生成用户私钥的方法、***及用户设备、密钥生成中心

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285996B2 (en) * 2005-03-30 2012-10-09 Dublin City University Verification of identity based signatures

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101277512A (zh) * 2007-03-27 2008-10-01 厦门致晟科技有限公司 一种无线移动终端通讯加密的方法
CN101459505A (zh) * 2007-12-14 2009-06-17 华为技术有限公司 生成用户私钥的方法、***及用户设备、密钥生成中心

Also Published As

Publication number Publication date
CN101908959A (zh) 2010-12-08

Similar Documents

Publication Publication Date Title
CN101908959B (zh) 一种建立共享密钥的方法、设备及其***
EP2878112B1 (en) Secure session for a group of network nodes
US7814320B2 (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved security against malleability attacks
CN101273572B (zh) 用于在网络实体之间对数据协商进行认证的***、方法和计算机程序产品
CN103825733A (zh) 基于组合公钥密码体制的通信方法、装置及***
US11870891B2 (en) Certificateless public key encryption using pairings
CN103796199B (zh) 移动非平衡网络中可认证非对称群组秘钥协商方法
CN104660415A (zh) 移动云计算下多域间非对称群组密钥协商协议的方法
CN110087240B (zh) 基于wpa2-psk模式的无线网络安全数据传输方法及***
Chen et al. An authentication scheme with identity‐based cryptography for M2M security in cyber‐physical systems
CN102111411A (zh) P2p网络中对等用户结点间的加密安全数据交换方法
CN104333860A (zh) 一种采用公钥密钥体制NTRU的ZigBee安全网络
CN103118363A (zh) 一种互传秘密信息的方法、***、终端设备及平台设备
CN101562519B (zh) 用户分组通信网络的数字证书管理方法和用于接入用户分组通信网络中的用户终端
Li et al. A certificateless key management scheme in mobile ad hoc networks
KR101704540B1 (ko) M2m 환경의 다중 디바이스 데이터 공유를 위한 그룹키 관리 방법
GB2543359A (en) Methods and apparatus for secure communication
CN107276755B (zh) 一种安全关联方法、装置及***
Chen et al. An authentication framework for multi-domain machine-to-machine communication in cyber-physical systems
Elmubark et al. Fast and secure generating and exchanging a symmetric keys with different key size in TVWS
Hamoud et al. Towards using multiple KGC for CL-PKC to secure D2D communications
TW202301830A (zh) 群組即時通訊的加密系統和加密方法
Mehr et al. Securing Mobile Ad Hoc Networks Using Enhanced Identity‐Based Cryptography
Li et al. Key management using certificateless public key cryptography in ad hoc networks
Priyanka et al. Enhancing security in Bluetooth networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee after: BEIJING WATCHDATA Co.,Ltd.

Address before: 100015 Beijing city Chaoyang District Dongzhimen West eight Street No. 2 room Wanhong Yan Dong Business Garden

Patentee before: BEIJING WATCH DATA SYSTEM Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120822

Termination date: 20210728