CN112260834B - Ad Hoc网络中基于区块链的密钥生成和管理方法 - Google Patents

Ad Hoc网络中基于区块链的密钥生成和管理方法 Download PDF

Info

Publication number
CN112260834B
CN112260834B CN202011081393.5A CN202011081393A CN112260834B CN 112260834 B CN112260834 B CN 112260834B CN 202011081393 A CN202011081393 A CN 202011081393A CN 112260834 B CN112260834 B CN 112260834B
Authority
CN
China
Prior art keywords
node
key
new
nodes
share
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.)
Active
Application number
CN202011081393.5A
Other languages
English (en)
Other versions
CN112260834A (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.)
Jiangsu Jingchuang Electronics Co ltd
Nanjing University of Posts and Telecommunications
Original Assignee
Jiangsu Jingchuang Electronics Co ltd
Nanjing University of Posts and Telecommunications
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 Jiangsu Jingchuang Electronics Co ltd, Nanjing University of Posts and Telecommunications filed Critical Jiangsu Jingchuang Electronics Co ltd
Priority to CN202011081393.5A priority Critical patent/CN112260834B/zh
Publication of CN112260834A publication Critical patent/CN112260834A/zh
Application granted granted Critical
Publication of CN112260834B publication Critical patent/CN112260834B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3006Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters
    • H04L9/3026Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy underlying computational problems or public-key parameters details relating to polynomials generation, e.g. generation of irreducible polynomials
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Optimization (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供了一种Ad Hoc网络中基于区块链的密钥生成和管理的方法,包括初始化系统参数步骤,初始化节点参数步骤,节点协作生成密钥步骤,计算新密钥份额步骤,动态更新密钥步骤。本发明通过在分布式秘密分享方案中引入批验证计算,高效解决了Ad Hoc网络中密钥生成和管理中节点的信任管理的问题,在管理参数信息时,引入了区块链,一方面由于区块链上的数据具有不可篡改性,保证了网络中公开参数的安全;另一方面由于部署在区块链中的智能合约具有自发性,提高了方案的自管理性。在网络节点动态变化时,采用动态更新策略,提升我们方案在动态环境中的适应性,实现了更加有效的Ad Hoc网络的密钥管理。

Description

Ad Hoc网络中基于区块链的密钥生成和管理方法
技术领域
本发明属于信息安全领域,具体涉及一种AdHoc网络中基于区块链的密钥生成和管理方法。主要针对无线自组织网络中,密钥的协调生成和自管理的问题,使用分布式秘密分享方案和拉格朗日插值法实现自组织网络中密钥的生成和具有动态策略的管理,并利用区块链实现自网络中参数不可篡改和动态策略自响应。在保证密钥的真实性和机密性的同时,还提高了密钥管理方案在动态环境中的适应性。
背景技术
在现代网络中,Ad Hoc网络(无线自组织网络)作为无线通信的一种新的无线范式,最近引起了很多关注。这种网络的主要优点是潜在的自组织性和无基础设施的特性,它为在地理或地面限制要求完全分布式的网络(例如战场,紧急情况和灾区)的情况下提供一种非常灵活的方法来建立通信。由于在AdHoc网络中没有中心化的基础结构,各个节点都是分布式管理的,这就需要极高的信任。但是在现实场景中,AdHoc网络中各个节点之间并不能做到完全可信,这就要求密钥管理方案具有较强的自组织、自验证、自管理能力。
同时,AdHoc网络往往用在动态环境中,网络中的节点在实际应用中会出现节点的动态变化,比如节点离开网络和新节点加入网络。为了保证网络中的密钥的向前机密性和向后机密性,这就要求密钥管理方法具有合适的动态策略。
目前,解决此类问题仍然存在不少挑战,包括如何在没有第三方机构的情况下计算以及更新系统网络中唯一的系统密钥,如何在保证分布式网络中密钥的机密性的同时保证其真实性,如何为新加入网络的节点生成合法密钥等,这些都是亟待解决的问题。
发明内容
发明目的:本发明的目的是提供一种AdHoc网络中基于区块链的密钥生成和管理方法,在分布式秘密分享方案中结合批验证计算,利用椭圆曲线加密算法和双线性对的性质,在保证密钥的真实性和机密性的同时实现在AdHoc网络中密钥的分布式管理。在AdHoc网络中利用区块链的不可篡改性和智能合约的自动响应,以实现分布式网络中参数信息的安全管理,并提升密钥管理方案在动态环境中的适应性。
技术方案:一种Ad Hoc网络中基于区块链的密钥生成和管理方法,包括以下步骤:
步骤1,网络初始化系统参数,并将参数公开在区块链上;
步骤2,节点初始化参数,生成公私钥对以及多项式验证参数;
步骤3,节点协作密钥生成,计算密钥份额、密钥份额验证参数;
步骤4,系统中的节点为新加入的节点计算新密钥份额;当有新节点要进入系统时,新节点选择至少t个节点为其计算密钥份额,被选择的节点以安全的形式提供密钥份额,新的节点通过拉格朗日插值法计算出自己的新的密钥份额;
步骤5,更新密钥份额;当有节点离开系统时,系统自动为剩下的节点生成生成一个更新参数,剩下的节点根据更新参数更新自己的密钥份额,此时,系统密钥也完成更新。
进一步地,步骤1具体为:
步骤1.1:首先假设系统网络中的节点集合为{D1,D2,......,Dn},为系统网络选择并公开阈值t,t≤n≤2t-1,在系统网络中至少有t个节点的密钥份额才能计算出新加入节点的密钥份额。
步骤1.2:系统生成并公开参数
Figure BDA0002718762870000021
其中,
Figure BDA0002718762870000022
是一个加法群,
Figure BDA0002718762870000023
是一个乘法群,
Figure BDA0002718762870000024
为素数阶q的双线性群对,双线性映射为
Figure BDA0002718762870000025
P,Q是
Figure BDA0002718762870000026
的生成元。
进一步地,步骤2具体为:
步骤2.1:节点Di计算自己的公私钥对,系统网络中节点Di选择一个私钥di
Figure BDA0002718762870000027
计算并公开公钥Pi,Pi=diQ;
步骤2.2:节点Di在有限域
Figure BDA0002718762870000028
中选择t个随机数作为系数{di,0,ai,1,ai,2,...,at-1},构成多项式fi(t)=di,0+ai,1t1+ai,2t2+...+at-1tt-1 mod q,然后节点Di计算并公开验证参数Vi,0=di,0P,Fi,k=ai,kP。
进一步地,步骤3具体为:
步骤3.1:计算部分秘密份额,对于网络节点的集合D={D1,D2,......,Dn},假设IDi是节点Di的标识,
Figure BDA0002718762870000029
节点Di根据多项式计算其他节点的部分秘密份额si,j=fi(IDj)mod q,然后使用si,j计算得到{si,jPj},将其发送给Dj,其中Pj是节点Dj的公钥;
步骤3.2:计算并验证部分密钥份额,对于节点Dj而言,收到节点Di发送的{si,jPj}之后,首先对{si,jPj}计算得到部分密钥份额
Figure BDA0002718762870000031
并验证密钥份额的正确性,如果通过验证,则继续计算;否则要求相应节点重新计算部分秘密份额;
步骤3.3:计算出密钥份额,对于节点Dj的密钥份额可由部分密钥份额计算得到密钥份额
Figure BDA0002718762870000032
系统密钥可以由密钥份额计算得到;
步骤3.4:计算密钥份额验证参数,根据节点标识IDj和已经公开在区块链上的多项式验证参数{Vi,0,Fi,k}计算得到密钥份额kj的验证参数
Figure BDA0002718762870000033
Figure BDA0002718762870000034
进一步地,步骤4具体为:
步骤4.1:新加入的节点Dnew在系统节点集合中选择至少t个节点,假设被选中的节点集合为D’={D1,D2,......,Dt},新节点为每个选择节点随机选择一个值
Figure BDA0002718762870000035
Figure BDA0002718762870000036
并将ri用节点Di的公钥Pi计算得到{riPi},然后发送给对应的节点;
步骤4.2:被选中的节点依次计算并发送密钥份额的安全形式。
步骤4.2.1.节点D1(D1∈D’)在收到{r1P1}之后,首先计算出r1Q,然后生成一个随机数
Figure BDA0002718762870000037
用其生成密钥份额的安全形式:U1=δ1k1+r1Q+m1Q,其中
Figure BDA0002718762870000038
并计算m1P2,最后将{m1P2,U1}和{m1P}分别发送给下一个节点D2和Dnew
步骤4.2.2.节点D2(D2∈D’)在收到{r2P2}之后,首先计算出r2Q,然后生成一个随机数
Figure BDA0002718762870000039
用其生成密钥份额的安全形式:U2=U12k2+r2Q+m2Q,其中
Figure BDA00027187628700000310
接着使用m1P2计算出
Figure BDA00027187628700000311
并令M2=M1+m2Q,最后将{M2,U2}和{m2P}分别发送给下一个节点D3和Dnew
步骤4.2.3.剩下的节点Di依次计算秘密份额相关值Ui和Mi,Ui=Ui-1iki+riQ+miQ,Mi=Mi-1+miQ,其中
Figure BDA0002718762870000041
并将{Mi,Ui}和{miP}分别发送给下一个节点Di和Dnew,对于D’中的最后一个节点Dt,将{Mt,Ut,mtP}发送给新节点Dnew
步骤4.3:验证密钥份额,新节点收到{Mt,Ut}之后,验证其正确性,如果通过验证,则继续计算;否则集合存在不诚实者,重新选择节点计算新密钥份额;
步骤4.4:计算新密钥份额,新节点利用拉格朗日插值法,对通过验证的密钥份额计算,得到自己的密钥份额;
步骤4.5:计算并公开新密钥份额的验证参数,新节点根据被选中节点的密钥份额验证参数,计算并公开其密钥份额的验证参数Xnew
进一步地,步骤5具体为:
步骤5.1:生成系统更新参数,当有节点离开网络时,离开行为将自动触发智能合约为剩下的节点生成一个更新参数supdate,公开supdate验证参数,并将supdate发送给系统中剩余节点Di
步骤5.2:更新密钥以及参数,节点Di更新密钥份额为ki-new=ki+supdateQ,并结合节点Di的验证参数Xi计算其新密钥份额的验证参数Xi-new,Xi-new=Xi+supdateP,此时系统密钥更新为
Figure BDA0002718762870000042
有益效果:
1、引入分布式秘密分享方案,在我们的密钥管理方案中,不存在用于生成和管理密钥的可信机构,并且在网络中的节点之间没有预先建立的信任关联,并且所有使用的密钥都是在网络内以自组织方式生成和维护的。从而有效解决了传统密钥管理中第三方集中式管理的问题。
2、引入动态更新策略。在我们的方案中,不仅考虑了新节点加入网络时新密钥份额的生成,而且对节点离开的系统进行了系统密钥更新。在保证了密钥份额的向前机密性和向后机密性的同时,还提高了密钥管理方案在动态环境中的适应性。
3、在为新节点提供密钥份额时,当任何腐败的节点未提供正确的密钥份额时,将无法正确生成新密钥份额。在我们的方案中,采用密钥份额批验证的方式,提高了验证密钥份额的计算效率,有效解决了自组织式管理中节点存在不诚实行为问题。
4、在我们的方案中,将区块链引入到Ad Hoc网络,一方面我们将网络中需要公开的参数部署在区块链上来实现参数的不可篡改,保证了密钥管理方案中参数的安全性。另一方面我们利用智能合约为网络中节点动态变化及时作出响应,提高了密钥管理方案在动态环境中的适用性。
附图说明:
图1基于区块链的AdHoc网络结构;
图2密钥份额生成步骤流程图;
图3计算新节点密钥份额步骤流程图;
图4更新系统密钥步骤流程图。
具体实施方式
下面结合附图对本发明做更进一步的解释。
为了方便叙述,简单定义算法中的主要变量:
假设初始化网络节点集合为D={D1,D2,......,Dn},节点个数为n,门限值为t,在系统网络中至少有t个节点的密钥份额ki才能计算出系统密钥或者新加入节点的密钥份额。在为节点Di计算密钥份额时,我们假设IDi是节点Di的标识,
Figure BDA0002718762870000051
当有新节点加入网络中时,新加入的节点Dnew首先在系统节点集合中选择至少t个节点,我们假设被选中的节点集合为D’={D1,D2,......,Dt}。当有节点离开网络时,我们假设网络中剩下节点集合为D”={D1,D2,......,Dn-1}。
本发明提供了一种AdHoc网络中基于区块链的密钥生成和管理方法,包括初始化系统参数步骤,初始化节点参数步骤,节点协作生成密钥步骤,计算新密钥份额步骤,动态更新密钥步骤。具体步骤如下:
步骤1,网络初始化系统参数,并将参数公开在区块链上:
步骤1.1,选择并公开门限值t,必须满足t≤n≤2t-1;
步骤1.2,系统生成并公开参数
Figure BDA0002718762870000052
其中
Figure BDA0002718762870000053
为素数阶q的双线性群对,双线性映射为
Figure BDA0002718762870000054
P,Q是
Figure BDA0002718762870000055
的生成元。
步骤2,节点初始化参数,生成公私钥对以及多项式验证参数:
步骤2.1,每个系统网络中节点Di的选择一个私钥di
Figure BDA0002718762870000061
计算并公开其公钥Pi=diQ;
步骤2.2,节点Di随机选择一个t-1次多项式fi(t)=di,0+ai,1t1+ai,2t2+...+at-1tt-1mod q,节点Di计算并公开验证参数Vi,0=di,0P,Fi,k=ai,kP。
步骤3,节点协作密钥生成,计算密钥份额、密钥份额验证参数:
步骤3.1,节点Di根据多项式计算其他节点的部分秘密份额si,j=fi(IDj)mod q,然后使用si,j计算得到{si,jPj},将其发送给Dj,其中Pj是节点Dj的公钥;
步骤3.2,节点Dj收到节点Di发送的部分秘密份额,首先对{si,jPj}计算得到部分密钥份额
Figure BDA0002718762870000062
根据以下公式去验证份额的正确性:
e(ki,j,P)=e(si,jP,Q)
其中
Figure BDA0002718762870000063
如果公式成立,则继续计算;否则要求相应节点重新操作;
步骤3.3,对于已经通过验证的部分密钥份额,节点Dj用其计算完整的密钥份额
Figure BDA0002718762870000064
此时系统密钥可以由密钥份额计算得到,具体计算步骤请参考安全性分析。
步骤3.4,节点Di使用多项式验证参数Vi,0=di,0P,Fi,k=ai,kP计算并公开节点密钥份额si的验证参数Xi
Figure BDA0002718762870000065
步骤4,计算新密钥份额:
步骤4.1,新节点Dnew为集合D’中每个节点随机选择一个值
Figure BDA0002718762870000066
新节点将ri用Di的公钥对其进行计算,得到riPi,然后将{riPi}发送给节点Di
步骤4.2,被选中的节点依次并发送计算密钥份额的安全形式,
步骤4.2.1,节点D1计算密钥份额安全形式,具体步骤如下:
a.节点D1(D1∈D’)在收到{r1P1}之后,使用自己的私钥d1对其进行计算得到
Figure BDA0002718762870000071
b.D1选择一个随机数
Figure BDA0002718762870000072
用其生成密钥份额的安全形式:
U1=δ1k1+r1Q+m1Q
其中
Figure BDA0002718762870000073
c.计算m1P2,将{m1P2,U1}发送给下一个节点D2,并将{m1P}发送给Dnew
步骤4.2.2,节点D2计算密钥份额安全形式,具体步骤如下:
a.节点D2(D2∈D’)在收到{r2P2}之后,使用自己的私钥d2对其进行计算
Figure BDA0002718762870000074
Figure BDA0002718762870000075
b.D2生成一个随机数
Figure BDA0002718762870000076
用其生成密钥份额的安全形式:
U2=U12k2+r2Q+m2Q
其中
Figure BDA0002718762870000077
c.D2计算
Figure BDA0002718762870000078
并令M2=M1+m2Q,然后将{M2,U2}发送给下一个节点D3,并将{m2P}发送给Dnew
步骤4.2.3,剩下的节点Di依次计算
Figure BDA0002718762870000079
Ui=Ui-1iki+riQ+miQ和Mi=Mi-1+miQ,其中
Figure BDA00027187628700000710
将{Mi,Ui}和{miP}分别发送给下一个节点Di和Dnew,i∈{3,4,...,t-1}。对于D’中的最后一个节点Dt,将{Mt,Ut,mtP}发送给新节点Dnew
步骤4.3,新节点收到{Mt,Ut}之后,首先根据如下公式验证正确性:
Figure BDA00027187628700000711
如果公式成立,则继续计算;否则集合存在不诚实者,重新选择节点计算新密钥份额。
步骤4.4,密钥份额通过验证之后,新节点计算出自己的密钥份额
Figure BDA0002718762870000081
Figure BDA0002718762870000082
具体步骤请参考安全性分析。
步骤4.5,新节点计算其密钥份额的验证参数
Figure BDA0002718762870000083
并将Xnew公开在区块链上,其中Xi是被选中节点的密钥份额验证参数,其中
Figure BDA0002718762870000084
步骤5,更新密钥份额。
步骤5.1,当有节点离开网络时,智能合约自动响应离开行为,为剩下的节点生成一个更新参数supdate并公开其验证参数{supdateP}。
步骤5.2,系统将supdate用Di的公钥对其进行计算,得到supdatePi,将{supdatePi}发送节点Di,其中Di∈D”。
步骤5.3,节点Di收到{supdatePi},使用自己的私钥对其进行计算得到
Figure BDA0002718762870000088
Figure BDA0002718762870000085
并令kupdate=supdateQ。
步骤5.4,节点Di的新密钥份额为ki-new=ki+kupdate。此时系统密钥更新为
Figure BDA0002718762870000086
步骤5.5,节点Di计算并公开其新密钥份额的验证参数Xi-new=Xi+supdateP。
安全性分析
原理1(正确性):对于正确的密钥份额,计算结果是唯一的。
1)系统密钥正确性:任意t个正确密钥份额可以计算出唯一的系统密钥。证明:在节点协作计算密钥时,每个节点都生成一个t-1次多项式fi(t),将n个多项式相加得到一个秘密多项式f(t)
Figure BDA0002718762870000087
Figure BDA00027187628700000912
Figure BDA0002718762870000091
对于上式,令
Figure BDA0002718762870000092
则f(t)=s+a1t+a2t2+...+at-1tt-1。令
Figure BDA0002718762870000093
则f(t)=s+a1t+a2t2+...+at-1tt-1,系统密钥为K=e(Q,Q)s。此时节点的秘密额
Figure BDA0002718762870000094
节点的密钥份额为ki=siQ=f(IDi)Q。将任意t个密钥份额带入拉格朗日插值法计算,可以计算得到系统密钥:
Figure BDA0002718762870000095
Figure BDA0002718762870000096
Figure BDA0002718762870000097
其中
Figure BDA0002718762870000098
当更新系统密钥时,节点的密钥份额更新为ki-new=ki+kupdate,多项式更新为fnew(t)=f(t)+supdate。此时系统密钥更新为
Figure BDA0002718762870000099
因此,在系统密钥虽然存在,但是并是不集中管理的,而是由初始网络节点协作计算并管理的,无需在任何单个节点上构建系统密钥。
2)新密钥份额正确性:如果被选中的节点集合中没有不诚实的节点,新节点可以计算出唯一正确的密钥份额。
证明:
Figure BDA00027187628700000910
Figure BDA00027187628700000911
Figure BDA0002718762870000101
Figure BDA0002718762870000102
其中
Figure BDA0002718762870000103
原理2(可验证性):如果密钥份额被接受,那密钥份额一定是正确的。
1)秘密份额可验证性:如何节点Dj接受部分密钥份额ki,j,那么ki,j一定是由多项式fi(t)正确计算得到的,即ki,j=fi(IDj)Q成立。
证明:节点Dj利用公式e(ki,j,P)=e(si,jP,Q)验证部分密钥份额ki,j的正确性。如果Dj接受ki,j,那么下面公式一定成立:
Figure BDA0002718762870000104
Figure BDA0002718762870000105
Figure BDA0002718762870000106
Figure BDA0002718762870000107
2)密钥份额可验证性:如何新节点接受密钥份额安全形式Ut,那么Ut一定是由正确密钥份额ki计算得到的,也就是
Figure BDA0002718762870000108
一定成立。证明:
新节点Dnew利用公式
Figure BDA0002718762870000109
验证Ut的正确性。
首先假设
Figure BDA00027187628700001010
如果新节点接受Ut,那么
Figure BDA00027187628700001011
Figure BDA00027187628700001012
一定成立,则以下公式一定成立:
Figure BDA0002718762870000111
Figure BDA0002718762870000112
Figure BDA0002718762870000113
Figure BDA0002718762870000114
所以
Figure BDA0002718762870000115
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (6)

1.一种Ad Hoc网络中基于区块链的密钥生成和管理方法,其特征在于:包括以下步骤:
步骤1,网络初始化系统参数,并将参数公开在区块链上;
步骤2,节点初始化参数,生成公私钥对以及多项式验证参数;
步骤3,节点协作密钥生成,计算密钥份额、密钥份额验证参数;
步骤4,系统中的节点为新加入的节点计算新密钥份额;当有新节点要进入系统时,新节点选择至少t个节点为其计算密钥份额,被选择的节点以安全的形式提供密钥份额,新的节点通过拉格朗日插值法计算出自己的新的密钥份额;
步骤5,更新密钥份额;当有节点离开系统时,系统自动为剩下的节点生成一个更新参数,剩下的节点根据更新参数更新自己的密钥份额,此时,系统密钥也完成更新。
2.根据权利要求1所述的Ad Hoc网络中基于区块链的密钥生成和管理方法,其特征在于,步骤1具体为:
步骤1.1:首先假设系统网络中的节点集合为{D1,D2,......,Dn},为系统网络选择并公开阈值t,t≤n≤2t-1,在系统网络中至少有t个节点的密钥份额才能计算出新加入节点的密钥份额;
步骤1.2:系统生成并公开参数
Figure FDA0003839717370000011
其中,
Figure FDA0003839717370000012
是一个加法群,
Figure FDA0003839717370000013
是一个乘法群,
Figure FDA0003839717370000014
为素数阶q的双线性群对,双线性映射为e:
Figure FDA0003839717370000015
P,Q是
Figure FDA0003839717370000016
的生成元。
3.根据权利要求1所述的Ad Hoc网络中基于区块链的密钥生成和管理方法,其特征在于,步骤2具体为:
步骤2.1:节点Di计算自己的公私钥对,系统网络中节点Di选择一个私钥di
Figure FDA0003839717370000017
计算并公开公钥Pi,Pi=diQ;
步骤2.2:节点Di在有限域
Figure FDA0003839717370000018
中选择t个随机数作为系数{di,0,ai,1,ai,2,...,at-1},构成多项式fi(x)=di,0+ai,1x1+ai,2x2+...+at-1xt-1mod q,然后节点Di计算并公开验证参数Vi,0=di,0P,Fi,k=ai,kP。
4.根据权利要求1所述的Ad Hoc网络中基于区块链的密钥生成和管理方法,其特征在于,步骤3具体为:
步骤3.1:计算部分秘密份额,对于网络节点的集合D={D1,D2,......,Dn},假设IDi是节点Di的标识,
Figure FDA0003839717370000021
节点Di根据多项式计算其他节点的部分秘密份额si,j=fi(IDj)modq,然后使用si,j计算得到{si,jPj},将其发送给Dj,其中Pj是节点Dj的公钥;
步骤3.2:计算并验证部分密钥份额,对于节点Dj而言,收到节点Di发送的{si,jPj}之后,首先对{si,jPj}计算得到部分密钥份额
Figure FDA0003839717370000022
并验证密钥份额的正确性,如果通过验证,则继续计算;否则要求相应节点重新计算部分秘密份额;
步骤3.3:计算出密钥份额,对于节点Dj的密钥份额可由部分密钥份额计算得到密钥份额
Figure FDA0003839717370000023
系统密钥可以由密钥份额计算得到;
步骤3.4:计算密钥份额验证参数,根据节点标识IDj和已经公开在区块链上的多项式验证参数{Vi,0,Fi,k}计算得到密钥份额kj的验证参数
Figure FDA0003839717370000024
Figure FDA0003839717370000025
5.根据权利要求1所述的Ad Hoc网络中基于区块链的密钥生成和管理方法,其特征在于,步骤4具体为:
步骤4.1:新加入的节点Dnew在系统节点集合中选择至少t个节点,假设被选中的节点集合为D’={D1,D2,......,Dt},新节点为每个选择节点随机选择一个值
Figure FDA0003839717370000026
并将ri用节点Di的公钥Pi计算得到{riPi},然后发送给对应的节点;
步骤4.2:被选中的节点依次计算并发送密钥份额的安全形式;
步骤4.2.1.节点D1(D1∈D’)在收到{r1P1}之后,首先计算出r1Q,然后生成一个随机数
Figure FDA0003839717370000027
用其生成密钥份额的安全形式:U1=δ1k1+r1Q+m1Q,其中
Figure FDA0003839717370000028
并计算m1P2,最后将{m1P2,U1}和{m1P}分别发送给下一个节点D2和Dnew
步骤4.2.2.节点D2(D2∈D’)在收到{r2P2}之后,首先计算出r2Q,然后生成一个随机数
Figure FDA0003839717370000029
用其生成密钥份额的安全形式:U2=U12k2+r2q+m2Q,其中
Figure FDA0003839717370000031
接着使用m1P2计算出
Figure FDA0003839717370000032
并令M2=M1+m2Q,最后将{M2,U2}和{m2P}分别发送给下一个节点D3和Dnew
步骤4.2.3.剩下的节点Di依次计算秘密份额相关值Ui和Mi,Ui=Ui-1iki+riQ+miQ,Mi=Mi-1+miQ,其中
Figure FDA0003839717370000033
并将{Mi,Ui}和{miP}分别发送给下一个节点Di和Dnew,对于D’中的最后一个节点Dt,将{Mt,Ut,mtP}发送给新节点Dnew
步骤4.3:验证密钥份额,新节点收到{Mt,Ut}之后,验证其正确性,如果通过验证,则继续计算;否则集合存在不诚实者,重新选择节点计算新密钥份额;
步骤4.4:计算新密钥份额,新节点利用拉格朗日插值法,对通过验证的密钥份额计算,得到自己的密钥份额;
步骤4.5:计算并公开新密钥份额的验证参数,新节点根据被选中节点的密钥份额验证参数,计算并公开其密钥份额的验证参数Xnew
6.根据权利要求1所述的Ad Hoc网络中基于区块链的密钥生成和管理方法,其特征在于,步骤5具体为:
步骤5.1:生成系统更新参数,当有节点离开网络时,离开行为将自动触发智能合约为剩下的节点生成一个更新参数supdate,公开supdate验证参数,并将supdate发送给系统中剩余节点Di
步骤5.2:更新密钥以及参数,节点Di更新密钥份额为ki-new=ki+supdateQ,并结合节点Di的验证参数Xi计算其新密钥份额的验证参数Xi-new,Xi-new=Xi+supdateP,此时系统密钥更新为
Figure FDA0003839717370000034
CN202011081393.5A 2020-10-12 2020-10-12 Ad Hoc网络中基于区块链的密钥生成和管理方法 Active CN112260834B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011081393.5A CN112260834B (zh) 2020-10-12 2020-10-12 Ad Hoc网络中基于区块链的密钥生成和管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011081393.5A CN112260834B (zh) 2020-10-12 2020-10-12 Ad Hoc网络中基于区块链的密钥生成和管理方法

Publications (2)

Publication Number Publication Date
CN112260834A CN112260834A (zh) 2021-01-22
CN112260834B true CN112260834B (zh) 2023-01-20

Family

ID=74242851

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011081393.5A Active CN112260834B (zh) 2020-10-12 2020-10-12 Ad Hoc网络中基于区块链的密钥生成和管理方法

Country Status (1)

Country Link
CN (1) CN112260834B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113329400A (zh) * 2021-04-20 2021-08-31 重庆九格慧科技有限公司 移动Ad Hoc网络中的一种基于随机密钥分发的密钥管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103702326A (zh) * 2013-12-02 2014-04-02 北京理工大学 一种基于移动Ad Hoc网络的无证书密钥协商方法
CN107395349A (zh) * 2017-08-16 2017-11-24 深圳国微技术有限公司 一种基于自认证公钥体制的区块链网络密钥分发方法
CN110520881A (zh) * 2017-04-07 2019-11-29 区块链控股有限公司 使用区块链的安全数据记录分发的方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109921900A (zh) * 2019-02-18 2019-06-21 深圳市优学链科技有限公司 一种分布式密钥生成的算法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103702326A (zh) * 2013-12-02 2014-04-02 北京理工大学 一种基于移动Ad Hoc网络的无证书密钥协商方法
CN110520881A (zh) * 2017-04-07 2019-11-29 区块链控股有限公司 使用区块链的安全数据记录分发的方法和系统
CN107395349A (zh) * 2017-08-16 2017-11-24 深圳国微技术有限公司 一种基于自认证公钥体制的区块链网络密钥分发方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种适用于Ad Hoc网络的密钥管理方案;李方伟等;《通信技术》;20080110(第01期);全文 *

Also Published As

Publication number Publication date
CN112260834A (zh) 2021-01-22

Similar Documents

Publication Publication Date Title
US7221762B2 (en) Authenticated ID-based cryptosystem with no key escrow
US10764042B2 (en) Password based key exchange from ring learning with errors
CN103702326B (zh) 一种基于移动Ad Hoc网络的无证书密钥协商方法
JP2008524930A (ja) デジタル証明書の有効性を認証することを含むがそれだけに限定するものではない認証を実行するためのモジュラルートの使用
CN102170352A (zh) 使用具有温特尼茨单次签名的ecdsa的方法
US10756889B2 (en) Certificated quantum cryptography system and method
CN101145913B (zh) 一种实现网络安全通信的方法及系统
CN104079412B (zh) 基于智能电网身份安全的无可信pkg的门限代理签名方法
US9923720B2 (en) Network device configured to derive a shared key
CN103563288A (zh) 基于口令的单轮密钥交换协议
Hamouid et al. Efficient certificateless web-of-trust model for public-key authentication in MANET
CN112260834B (zh) Ad Hoc网络中基于区块链的密钥生成和管理方法
CN113708924B (zh) 基于区块链的椭圆曲线门限签名方法
Abdel-Hafez et al. Authenticated Group Key Agreement Protocols for Ad hoc Wireless Networks.
CN112989436B (zh) 一种基于区块链平台的多重签名方法
CN112434281A (zh) 一种面向联盟链的多因子身份认证方法
Zheng et al. Threshold attribute‐based signcryption and its application to authenticated key agreement
Abi-Char et al. A secure authenticated key agreement protocol based on elliptic curve cryptography
Sujatha et al. Optimal adaptive genetic algorithm based hybrid signcryption algorithm for information security
CN110266492A (zh) 一种可追踪的泛在电力物联网身份认证方法
Hu et al. An efficient designated verifier signature scheme with pairing‐free and low cost
Chan et al. On the (im) possibility of aggregate message authentication codes
Tseng et al. Enhancement on strongly secure group key agreement
Jeong et al. Key agreement for key hypergraph
Chen et al. The design of secure group communication with contributory group key agreement based on mobile ad hoc network

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant