CN103595526A - 一种基于区组设计的容错性密钥协商方法 - Google Patents

一种基于区组设计的容错性密钥协商方法 Download PDF

Info

Publication number
CN103595526A
CN103595526A CN201310582937.XA CN201310582937A CN103595526A CN 103595526 A CN103595526 A CN 103595526A CN 201310582937 A CN201310582937 A CN 201310582937A CN 103595526 A CN103595526 A CN 103595526A
Authority
CN
China
Prior art keywords
kgc
user
key
participants
participant
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.)
Pending
Application number
CN201310582937.XA
Other languages
English (en)
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.)
Nanjing University of Information Science and Technology
Original Assignee
Nanjing University of Information Science and Technology
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 Nanjing University of Information Science and Technology filed Critical Nanjing University of Information Science and Technology
Priority to CN201310582937.XA priority Critical patent/CN103595526A/zh
Publication of CN103595526A publication Critical patent/CN103595526A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

本发明公开了一种基于区组设计的容错性密钥协商方法,将区组设计技术应用于密钥协商当中,利用双线性映射和基于身份的加密技术,使密钥协商方法拥有高效的运行性能和高效的容错能力,并使其在动态环境中拥有良好的扩展性能。本发明包括构建对称平衡不完全区组步骤和两轮密钥协商步骤,借助对称平衡不完全区组设计来平衡每个参与者对共同密钥的贡献,任何参与者都不能强迫密钥被预先选择或预测密钥,具有很高的安全性。此外,解决差别密钥攻击,使得当恶意参与者使用两种不同的子密钥时,本方法仍能将其识别和剔除。剔除恶意参与者后,还能利用空参与者来替代被删除的恶意参与者迅速进行新的密钥协商,具有良好的扩展性。

Description

一种基于区组设计的容错性密钥协商方法
技术领域
本发明属于信息安全技术领域,尤其是涉及一种基于区组设计的容错性密钥协商方法。
背景技术
随着密钥协商技术的不断发展,协商方法的容错性受到了越来越多的关注和研究。在实际应用中,随着协商参与者的增多,将不可避免的出现某些恶意参与者。恶意参与者有可能会延迟或破坏会话密钥的生成,进而阻止会话的建立。当前绝大多数密钥协商方法都是建立在诚实可信的参与者的基础上,一旦有恶意参与者存在,或者某些诚实可信的参与者由于俘获攻击(物理攻击)变成了恶意参与者,那么协商将会失效,会话将会延迟或中断,在某些应急的应用领域将导致严重的后果和巨大的损失。密钥协商方法的容错性旨在识别协商中的恶意参与者,并将其剔除,从而重新生成得到新的会话密钥。
为了克服和缓解恶意参与者所带来的危害,2000年Tzeng和Kim等人分别提出了两种容错性的密钥协商方法。2002年Tzeng对协商方法进行了完善,其本质是通过验证协商参与者的签名来识别和剔除恶意参与者。然而,上述协商方法均无法抵御恶意参与者的差别密钥攻击,恶意参与者往往利用差别密钥攻击来延迟或者破坏最终会话密钥的建立,通过使用两种不同的子密钥,使得协商方法无法识别恶意参与者,也就无法从根本上容错。2004年Kim等人提出了基于树结构的组密钥协商方法,其本质是利用树形结构的特点构造Tree-basedGroup Diffie-Hellman(TGDH),进而在此基础上提供密钥协商和容错能力。Zhou等人也提出了一个可认证的基于树的容错性密钥协商方法(AFTD)。Zhou等人的方法拥有更好的运行性能,尤其是减少了通信开销和存储开销。然而,该方法仍然是基于树的。由于树形结构有其本身的局限性,维护和管理也会增加额外的消耗。2004年,Yi应用韦伊对提出了基于身份的容错性密钥协商方法。该方法克服了文献的安全性缺陷,能够抵御差别密钥攻击,且并没有通过树形结构或层级结构来运行密钥的协商,提高了协商的有效性,减少了通信开销。然而Yi的方法需要一个名为会议桥的中央控制者的介入,协商过程中,所有参与者都必须和会议桥进行联系,这使得协商的计算开销增加并缺乏灵活性。虽然会议桥被定义为一个半可信任的第三方实体,但它仍然具有密钥泄露的风险。
密钥协商方法已从最开始的双方密钥协商方法扩展至多方密钥协商方法,因此当前密钥协商方法的研究必须考虑协商的容错能力。协商参与者的增多必将导致恶意参与者的出现,如何高效地发现和识别恶意参与者,如何高效地剔除恶意参与者,如何高效地在剩余可信的参与者之间重新协商生成密钥,以及如何抵御差别密钥攻击,已成为亟待解决的问题。密钥协商的安全性已不仅仅局限于形式化安全模型下的可证明安全性和参与实体之间的可认证性,而是更多的需要保证协商过程中的容错性。虽然近些年密钥协商的容错性已得到一定程度的关注,但如何实现协商高效的容错能力、快速的恢复能力以及抵御差别密钥攻击的能力仍未得到深入的研究,这将严重限制密钥协商的实际应用,并有可能导致高层会话的延迟、破坏以及泄密。
发明内容
针对现有密钥协商方法的种种不足,本发明公开了一种基于区组设计的容错性密钥协商方法,将区组设计技术应用于密钥协商当中,利用双线性映射和基于身份的加密技术,使协商方法拥有高效的运行性能和高效的容错能力,并使其在动态环境中拥有良好的扩展性能。
为了达到上述目的,本发明提供如下技术方案:
一种基于区组设计的容错性密钥协商方法,包括如下步骤:
(1)初始化步骤:
KGC计算自己的公钥并公开发布,KGC计算各用户Ui的私钥后通过安全信道传送给Ui,KGC计算用于认证的信息后将其分发给所有用户;
(2)两轮密钥协商步骤:
(2.1)根据具体应用环境选定参数v,k,λ,使其满足特定的数学公式λ(v-1)=k(k-1),构建(v,k,λ)-design关联矩阵,其中v为参与者的数量;
(2.2)关联矩阵的行对应协商参与者,针对每个参与者,接收同一行中值为1的其他参与者的信息并进行计算;关联矩阵的列对应协商参与者,针对每个参与者,接收同一列中值为1的其他参与者的信息计算密钥;协商生成的共同密钥为:
Figure BDA0000417086790000021
其中,ri为用户自己的密钥,
Figure BDA0000417086790000022
为用户信息,
Figure BDA0000417086790000023
表示韦伊对运算lji表示对应的关联矩阵第j行第i列的值。
(3)两轮身份认证步骤:针对每个参与者,对同一行中值为1的其他参与者进行认证;针对每个参与者,对同一列中值为1的其他参与者进行认证;
作为本发明的改进,当参与者的数目无法满足既定的数学公式λ(v-1)=k(k-1)时,补充空参与者填补参与者数量的不足,使v、k、λ重新满足条件。
所述步骤(1)具体包括:
KGC选择G1、G2、H1、H2、p、q、p*、q*,ei
Figure BDA0000417086790000031
计算自己的公钥
Figure BDA0000417086790000032
并公开发布{p,q,G1,G2,
Figure BDA00004170867900000319
H1,H2},KGC计算用户Ui的私钥
Figure BDA0000417086790000036
并将用户Ui的私钥通过安全信道传送给Ui,KGC计算n=p*q*,为每个用户Ui选择一个整数ei,并将(ei,n)分发给所有用户;
其中,G1和G2为两个质数阶的组,为韦伊对运算,H1和H2为两个哈希函数,分别为H1:H2:
Figure BDA00004170867900000320
为KGC自己选定的私钥,
Figure BDA00004170867900000311
为G1的生成元,p、q、p*、q*为质数;Qi=H1(IDi),IDi∈{0,1}*,ei与(p*-1)(q*-1)互质;
所述步骤(2.2)具体包括:
每个用户Ui选择一个随机数ri作为每次会话用户自己的密钥,并计算
Figure BDA00004170867900000312
同时,Ui计算其中
Figure BDA00004170867900000321
Yi=H2(IDi),ti为时间戳;用户Ui接收用户Uj的信息Dj并进行计算,其中
Figure BDA00004170867900000316
lij=1且j≠i,即j∈Bi-{i};
用户Ui接收用户Uj的信息Eji,其中
Figure BDA00004170867900000317
lji=1且j≠i,最终得到共同协商密钥为:
所述步骤(3)具体包括:
用户Ui接收用户Uj的信息Dj,其中lij=1且j≠i,即j∈Bi-{i},
Figure BDA0000417086790000041
Ui计算得到
Figure BDA0000417086790000042
mod n,j∈Bi-{i},并计算
Figure BDA0000417086790000043
其中
Figure BDA0000417086790000044
Figure BDA0000417086790000045
成立则Ui可以认证Uj
用户Ui接收用户Uj的信息Eji,lji=1且j≠i,Ui计算得到
Figure BDA0000417086790000047
mod n,lji=1 and j≠i,并计算
Figure BDA0000417086790000048
其中
Figure BDA0000417086790000049
如果
Figure BDA00004170867900000410
则Ui可以认证Uj
作为本发明的改进,所述初始化阶段中KGC还需要选择一个整数
Figure BDA00004170867900000423
并进行发布;在密钥协商阶段用户Ui计算
Figure BDA00004170867900000411
并将
Figure BDA00004170867900000412
提交给KGC,在所有步骤之后还包括容错验证步骤:
KGC广播其中N=H2(ID1,ID2,…,IDv,IDKGC,t),每个参与者均计算下述公式是否成立:
Figure BDA00004170867900000414
其中g由KGC在初始化阶段选择并在发布公钥时统一公开发布;当有参与者不满足等式
Figure BDA00004170867900000416
时,则进行恶意参与者的甄别与筛除;当筛除所有的恶意参与者后,补充进空参与者代替原有的恶意参与者,KGC在参与者中重新生成N*,并重新启动秘钥协商。
作为一种优选,所述恶意参与者的甄别与筛除包括:用户Uj请求KGC再次发送并计算
Figure BDA00004170867900000418
是否成立,如果
Figure BDA00004170867900000419
仍不成立,且不成立次数超过预先设定的门槛值τ,则用户Uj向KGC报告错误后进行侦错步骤。
所述的侦错步骤具体包括:KGC收到来自用户Uj的错误报告
Figure BDA00004170867900000420
后,检查等式是否成立:
如果
Figure BDA00004170867900000422
不成立,KGC向Uj返回一个错误通知,然后Uj向KGC再次发送
Figure BDA0000417086790000051
如果Uj在△t时间段内没有重新发送或者错误发生次数超过门槛值τ,则KGC认定Uj是恶意参与者并将Uj从用户名单中删除;
如果
Figure BDA0000417086790000052
成立,KGC向所有用户广播侦错通知,除Uj以外的所有用户向KGC提交
Figure BDA0000417086790000053
当KGC收到来自用户Ui的信息
Figure BDA0000417086790000054
之后,KGC首先检查
Figure BDA0000417086790000055
是否成立:
如果
Figure BDA0000417086790000056
不成立,KGC向Ui返回一个错误通知,然后Ui向KGC再次发送
Figure BDA0000417086790000057
如果Ui在△t时间段内没有重新发送或者错误发生次数超过门槛值τ,则KGC认定Ui是恶意参与者并将Ui从用户名单中删除;
如果
Figure BDA0000417086790000058
成立,则KGC验证由
Figure BDA0000417086790000059
所算得的
Figure BDA00004170867900000510
是否等于从用户y所接收到的(其中y满足lyi=1,y≠i且
Figure BDA00004170867900000512
如果则KGC认定Ui是恶意参与者并将Ui从用户名单中删除,如果对所有用户(除Uj以外)都有
Figure BDA00004170867900000514
则KGC认定Uj是恶意参与者并将Uj从用户名单中删除。
与现有技术相比,本发明具有如下优点和有益效果:
1.利用对称平衡不完全区组设计技术设计密钥协商方法,每个参与者都要参与密钥协商,且每个参与者的输出都将对最终生成的共同密钥做出贡献,这就使我们可以借助对称平衡不完全区组设计来平衡每个参与者对共同密钥的贡献,因此本方法的设计有了框架保证,任何参与者都不能强迫密钥被预先选择或预测密钥,具有很高的安全性。此外,解决差别密钥攻击,使得当恶意参与者使用两种不同的子密钥时,本发明仍能将其识别和剔除。
2.当参与者的数目发生变化时,我们通过定义空参与者(empty participant)来填补数量不足,使v、k、λ重新满足条件,从而能够建立针对任一参与者数量的关联矩阵,形成通用的密钥协商框架。空参与者的应用不会增加额外的计算开销和通信开销。
3.对称平衡不完全区组设计的结构特点决定了密钥协商参与者之间的通信量可以被统一和均衡。本协商方法的通信轮数为两轮,但总的通信开销仅为
Figure BDA00004170867900000515
而大多数已有密钥协商方法的通信开销为O(n2),n为用户数,本方法的通信开销小。由于协商参与者之间通信量的减少,将导致每个参与者接受到的需要计算处理的信息量减少,因此计算开销也会随之降低。
4.对称平衡不完全区组设计易于执行纠错操作和可扩展操作。由于在对称平衡不完全区组设计中信息的传播是多播形式(Multicast)而非广播形式(broadcast),因此协商的参与者可以明确相互通信的对象,进而易于相互认证,易于发现恶意参与者并执行纠错。
5.通过对共同协商密钥的验证,能够保证未遭受攻击、诚实可信的参与者永远不会被误删;任何试图延迟或破坏会话密钥的恶意参与者必须被删除,当有恶意参与者存在并被剔除时,还能利用空参与者来替代被删除的恶意参与者迅速进行新的密钥协商,具有极强的容错性和良好的扩展性。
附图说明
图1为基于区组设计的容错性密钥协商方法流程示意图;
图2为对应(7,3,1)-design的7x7关联矩阵;
图3为第一轮信息通信建立共同密钥的过程示意图;
图4为第二轮信息通信建立共同密钥的过程示意图;
图5为通过两轮信息通信建立共同密钥的算式列表;
图6为具有容错功能的基于区组设计的容错性密钥协商方法流程示意图;
图7为本方法与Yi的协商方法的性能对比示意图,其中*n表示用户数量;w表示韦伊对运算;p表示点乘运算;e表示模指数运算,其中韦伊对运算开销>点乘运算开销>>模指数运算开销;
具体实施方式
以下将结合具体实施例对本发明提供的技术方案进行详细说明,应理解下述具体实施方式仅用于说明本发明而不用于限制本发明的范围。
本发明通过将区组设计的技术应用于容错性密钥协商方法,将区组设计的技术应用于容错性密钥协商,用以平衡各个参与者对最终共同密钥的贡献,并根据对称平衡不完全区组设计的结构特点,执行容错纠错操作。本发明应用的环境中包括密钥生成中心(KGC)和数个用户(即参与者),具体地说,如图1所示,包括如下步骤:
1、初始化阶段:
每个合法用户向密钥生成中心(KGC)注册后,KGC通过安全的信道向每个用户发布对应的私钥。私钥的生成过程如下:首先,KGC选择两个质数阶的组G1和G2、并选择韦伊对运算
Figure BDA0000417086790000061
其次,KGC选择两个哈希函数,分别为H1:
Figure BDA0000417086790000062
和H2:
Figure BDA0000417086790000063
最后,KGC选定一随机整数
Figure BDA0000417086790000069
作为KGC自己的私钥,同时计算KGC自己的公钥
Figure BDA0000417086790000064
其中为G1的生成元,并发布公开{p,q,G1,G2,
Figure BDA00004170867900000610
H1,H2},但是s不公开并保证s安全。每个用户Ui的身份值为IDi∈{0,1}*。KGC计算Ui的公钥Qi=H1(IDi),进而计算得到Ui的私钥
Figure BDA0000417086790000071
并将用户Ui的私钥通过安全信道传送给Ui。另外,为了能够提供认证功能,KGC还需要选择两个质数p*和q*,并计算n=p*q*;同时,KGC为每个用户Ui选择一个整数ei,使其与(p*-1)(q*-1)互质,并由ei计算出对应的di,使其满足eidi=1 mod (p*-1)(q*-1)。KGC将(ei,n)分发给所有用户。用户Ui计算其中Yi=H2(IDi),并保证(di,Xi)安全。
2、密钥协商阶段:
首先我们根据参与者的数量,确定参数v,再根据数学公式λ(v-1)=k(k-1),确定相应的k和λ,使其满足特定的数学公式λ(v-1)=k(k-1),并构建(v,k,λ)-design关联矩阵。根据不同的应用环境,针对不同的参与者数目,我们可以构建不同的(v,k,λ)-design的对称平衡不完全区组设计。本例中,假定参与者为7个,我们构建一个针对7个协商参与者的(7,3,1)-design关联矩阵,如图2所示,用户数量和区组数量一样都是7。其中用户数为{1,2,3,4,5,6,7},区组为B1={1,2,4},B2={2,3,5},B3={3,4,6},B4={4,5,7},B5={1,5,6},B6={2,6,7},B7={1,3,7}。矩阵中,若第i行第j列的值为1,则表示区组i包含用户j;若第i行第j列的值为0,则表示区组i不包含用户j。
其次通过两轮信息通信建立共同密钥,如图3、图4所示:第一轮,关联矩阵的行对应协商参与者,如图3所示,参与者1将收到来自参与者2、4的信息用以计算密钥,以此类推,参与者2~6也将分别获得对应参与者的信息。第二轮,关联矩阵的列对应协商参与者,如图4所示,参与者1将收到来自参与者5、7的信息用以计算密钥,以此类推,参与者2~6也将分别获得对应参与者的信息。两轮信息的分步计算过程如图5所示。
最后在参与者1~7之间形成共同会话密钥,协商生成的共同密钥为:
Figure BDA0000417086790000073
其中,
Figure BDA0000417086790000074
为最终协商生成的共同密钥,ri是用户自己的密钥,
Figure BDA0000417086790000075
为参与者i的用户信息,
Figure BDA0000417086790000077
表示韦伊对运算,
Figure BDA0000417086790000078
为用户私钥,lji表示对应的关联矩阵第j行第i列的值。
具体地说,第一轮协商过程为:每个用户Ui选择一个随机数ri作为每次会话用户自己的密钥,并计算
Figure BDA0000417086790000081
同时,为了提供基于身份的认证,Ui还需要计算其中
Figure BDA00004170867900000818
Yi=H2(IDi),ti为时间戳。用户Ui将接收用户Uj的信息Dj,这里用户Uj的选择必须满足lij=1且j≠i,即j∈Bi-{i},
Figure BDA00004170867900000819
用于产生共同密钥,
Figure BDA0000417086790000086
用于认证。我们以用户U1为例,描述密钥协商第一轮的过程:U1将收到来自U2和U4的信息
Figure BDA0000417086790000088
并计算
Figure BDA0000417086790000089
其中,
Figure BDA00004170867900000810
mod n,j∈Bi-{i},
Figure BDA00004170867900000811
同理,其他用户按照同样的过程可以得到相关的值,如图5。
第二轮,用户Ui将接收用户Uj的信息Eji,这里用户Uj的选择必须满足lji=1且j≠i,
Figure BDA00004170867900000812
其中用于产生共同密钥,
Figure BDA00004170867900000814
用于认证。我们仍以用户U1为例,描述密钥协商第二轮的过程:U1将收到来自U5和U7的信息
Figure BDA00004170867900000815
Figure BDA00004170867900000816
并计算
最终,共同协商密钥为
其中,
Figure BDA0000417086790000092
3、认证阶段
在密钥协商的过程中,我们还需要保证收到的信息确实来自于某个用户。因此,我们可以利用用户的身份信息来验证用户。和密钥协商过程相似,认证阶段也分为两轮。
第一轮,用户Ui将接收用户Uj的信息Dj,这里用户Uj的选择必须满足lij=1且j≠i,即j∈Bi-{i},
Figure BDA0000417086790000093
认证过程如下:Ui计算得到
Figure BDA0000417086790000094
mod n,j∈Bi-{i},并计算
Figure BDA0000417086790000095
其中
Figure BDA0000417086790000096
如果
Figure BDA0000417086790000097
则Ui可以认证Uj。我们以用户U1为例,则U1将收到来自U2和U4的信息
Figure BDA0000417086790000098
Figure BDA0000417086790000099
并计算
Figure BDA00004170867900000910
其中,如果
Figure BDA00004170867900000912
则U1可以认证U2和U4
第二轮,用户Ui将接收用户Uj的信息Eji,这里用户Uj的选择必须满足lji=1且j≠i,
Figure BDA0000417086790000101
认证过程如下:Ui计算得到
Figure BDA0000417086790000102
mod n,lji=1 and j≠i,并计算其中
Figure BDA0000417086790000104
如果
Figure BDA0000417086790000105
则Ui可以认证Uj。我们仍以用户U1为例,则U1将收到来自U5和U7的信息
Figure BDA0000417086790000106
Figure BDA0000417086790000107
并计算
Figure BDA0000417086790000108
其中,
Figure BDA0000417086790000109
如果
Figure BDA00004170867900001010
则U1可以认证U5和U7
实际参与者的数量有可能是任何正整数,因此实际参与者的数量可能不满足公式λ(v-1)=k(k-1)的要求,为了使本发明提供的密钥协商方法具有通用型,我们补充相应数量的空参与者来满足公式λ(v-1)=k(k-1)的要求。例如,若要构建(7,3,1)-design关联矩阵,但实际参与者为6个,则补充1个空参与者来构建矩阵。而当参与者的数目发生变化时,参数v、k、λ也有可能不满足既定的数学公式,此时同样利用空参与者来解决这种情况,填补参与者数量的不足,使v、k、λ重新满足条件。设Uj是空参与者,则Ui将从Uj接收到的
Figure BDA00004170867900001011
的值设置为1;同时空参与者Uj计算
Figure BDA0000417086790000111
其中
Figure BDA0000417086790000112
的值均设置为1,并将
Figure BDA0000417086790000113
传送给既定的目标接收者,从而最终得到共同协商密钥。空参与者的应用不会增加额外的计算开销和通信开销。
作为本发明的改进方案,本例通过增加下述步骤实现良好的容错性能:首先在初始化阶段,KGC需要多选择一个整数
Figure BDA00004170867900001121
发布公开{p,q,g,G1,G2,
Figure BDA0000417086790000114
H1,H2}。其次在密钥协商阶段用户Ui需要多计算一个值
Figure BDA0000417086790000115
并将
Figure BDA0000417086790000116
提交给KGC。本例中初始化阶段、密钥协商阶段和认证阶段中的其他步骤均与实施例一相同。
在共同密钥生成之后,本实施例还包括容错步骤:
首先KGC广播
Figure BDA0000417086790000117
其中N=H2(ID1,ID2,…,IDv,IDKGC,t)。
如图6所示,用户Uj可以通过计算
Figure BDA0000417086790000118
来验证共同协商秘钥
Figure BDA0000417086790000119
的正确性。如果所有用户
Figure BDA00004170867900001110
都成立,则我们判定共同协商秘钥
Figure BDA00004170867900001122
的被正确的在用户中建立。如果用户Uj计算
Figure BDA00004170867900001111
不成立,则进行恶意参与者的甄别与筛除:
用户Uj请求KGC再次发送
Figure BDA00004170867900001112
如果
Figure BDA00004170867900001113
仍不成立,且不成立次数超过门槛值τ,则用户Uj向KGC报告错误。门槛值τ应预先设定。
当用户Uj检查到
Figure BDA00004170867900001114
不成立,并已向KGC报告错误,则启动侦错步骤,其过程具体描述如下:
用户Uj向KGC发送错误报告,错误报告形式为
Figure BDA00004170867900001115
KGC收到来自用户Uj的错误报告后,KGC检查等式
Figure BDA00004170867900001116
是否成立。
a)如果
Figure BDA00004170867900001117
不成立,KGC向Uj返回一个错误通知,然后Uj向KGC再次发送
Figure BDA00004170867900001118
如果Uj在△t时间段内没有重新发送或者错误发生次数超过门槛值τ,则KGC认定Uj是恶意参与者(恶意用户)并将Uj从用户名单中删除。
b)如果
Figure BDA00004170867900001119
成立,KGC向所有用户广播侦错通知,除Uj以外的所有用户向KGC提交
Figure BDA00004170867900001120
当KGC收到来自用户Ui的信息
Figure BDA0000417086790000121
(i≠j)之后,KGC首先检查是否成立。如果
Figure BDA0000417086790000123
不成立,KGC向Ui返回一个错误通知,然后Ui向KGC再次发送
Figure BDA0000417086790000124
如果Ui在△t时间段内没有重新发送或者错误发生次数超过门槛值τ,则KGC认定Ui是恶意参与者(恶意用户)并将Ui从用户名单中删除。如果
Figure BDA0000417086790000125
成立,则KGC验证由
Figure BDA0000417086790000126
所算得的
Figure BDA0000417086790000127
是否等于从用户y所接收到的
Figure BDA0000417086790000128
(其中y满足lyi=1,y≠i且
Figure BDA0000417086790000129
如果
Figure BDA00004170867900001210
则KGC认定Ui是恶意参与者(恶意用户)并将Ui从用户名单中删除,如果对所有用户(除Uj以外)都有
Figure BDA00004170867900001211
则KGC认定Uj是恶意参与者(恶意用户)并将Uj从用户名单中删除。
当所有恶意参与者都被删除之后,KGC在剩下的可信参与者中重新生成N*,之后秘钥协商重新启动。由于本发明的构建是基于对称平衡不完全区组设计,所以我们需要定义一类空参与者,空参与者用来代替被删除的恶意参与者从而来运行秘钥协商阶段的各种运算。例如,空参与者需要代替原来的恶意参与者计算
Figure BDA00004170867900001212
假设Uj是恶意参与者,当秘钥协商方法重启后,Ui将本应该从Uj接收到的的值设置为1;同时空参与者代替原来的恶意参与者Uj计算
Figure BDA00004170867900001214
其中
Figure BDA00004170867900001215
的值均设置为1,并将传送给既定的目标接收者。
按照上述步骤重复直到没有错误被侦测出,那么最终共同协商秘钥为
Figure BDA00004170867900001217
本方法可以保证未遭受攻击、诚实可信的参与者永远不会被误删;同时,任何试图延迟或破坏会话密钥的恶意参与者一定能够被删除。通过空参与者的加入,本方法具有了良好的容错性和可扩展性。
图7列出了本方法与Yi的密钥协商方法的性能对比。本发明明显优于同样具备容错性能的Yi的密钥协商方法,计算开销和通信复杂度均有明显降低。
本发明方案所公开的技术手段不仅限于上述实施方式所公开的技术手段,还包括由以上技术特征任意组合所组成的技术方案。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

Claims (7)

1.一种基于区组设计的容错性密钥协商方法,其特征在于,包括如下步骤: 
(1)初始化步骤: 
KGC计算自己的公钥并公开发布,KGC计算各用户Ui的私钥后通过安全信道传送给Ui,KGC计算用于认证的信息后将其分发给所有用户; 
(2)两轮密钥协商步骤: 
(2.1)根据具体应用环境选定参数v,k,λ,使其满足特定的数学公式λ(v-1)=k(k-1),构建(v,k,λ)-design关联矩阵,其中v为参与者的数量; 
(2.2)关联矩阵的行对应协商参与者,针对每个参与者,接收同一行中值为1的其他参与者的信息并进行计算;关联矩阵的列对应协商参与者,针对每个参与者,接收同一列中值为1的其他参与者的信息计算密钥;协商生成的共同密钥为: 
Figure FDA0000417086780000011
其中,ri为用户自己的密钥,
Figure FDA0000417086780000012
为用户信息,
Figure FDA0000417086780000013
表示韦伊对运算lji表示对应的关联矩阵第j行第i列的值。 
(3)两轮身份认证步骤:针对每个参与者,对同一行中值为1的其他参与者进行认证;针对每个参与者,对同一列中值为1的其他参与者进行认证。 
2.根据权利要求1所述的基于区组设计的容错性密钥协商方法,其特征在于:当参与者的数目无法满足既定的数学公式λ(v-1)=k(k-1)时,补充空参与者填补参与者数量的不足,使v、k、λ重新满足条件。 
3.根据权利要求1或2所述的基于区组设计的容错性密钥协商方法,其特征在于,所述初始化步骤(1)具体包括: 
KGC选择G1、G2、H1、H2、p、q、p*、q*,ei计算自己的公钥
Figure FDA0000417086780000016
并公开发布{p,q,G1,G2,
Figure FDA0000417086780000017
H1,H2},KGC计算用户Ui的私钥
Figure FDA0000417086780000018
并将用户Ui的私钥通过安全信道传送给Ui,KGC计算n=p*q*,为每个用户Ui选择一个整数ei,并将(ei,n)分发给所有用户; 
其中,G1和G2为两个质数阶的组,
Figure FDA0000417086780000021
为韦伊对运算,H1和H2为两个哈希函数,分别为H1:
Figure FDA0000417086780000022
H2:
Figure FDA0000417086780000023
Figure FDA0000417086780000024
为KGC自己选定的私钥,
Figure FDA0000417086780000025
为G1的生成元,p、q、p*、q*为质数;Qi=H1(IDi),IDi∈{0,1}*,ei与(p*-1)(q*-1)互质; 
所述步骤(2.2)具体包括: 
每个用户Ui选择一个随机数ri作为每次会话用户自己的密钥,并计算同时,Ui计算
Figure FDA0000417086780000027
其中
Figure FDA00004170867800000222
Yi=H2(IDi),ti为时间戳;用户Ui接收用户Uj的信息Dj并进行计算,其中
Figure FDA0000417086780000029
lij=1且j≠i,即j∈Bi-{i}; 
用户Ui接收用户Uj的信息Eji,其中
Figure FDA00004170867800000210
lji=1且j≠i,最终得到共同协商密钥为: 
Figure FDA00004170867800000211
所述步骤(3)具体包括: 
用户Ui接收用户Uj的信息Dj,其中lij=1且j≠i,即j∈Bi-{i}, 
Figure FDA00004170867800000212
Ui计算得到mod n,j∈Bi-{i},并计算其中 
Figure FDA00004170867800000215
Figure FDA00004170867800000216
成立则Ui可以认证Uj; 
用户Ui接收用户Uj的信息Eji,lji=1且j≠i,
Figure FDA00004170867800000217
Ui计算得到
Figure FDA00004170867800000218
mod n,lji=1 and j≠i,并计算
Figure FDA00004170867800000219
其中
Figure FDA00004170867800000220
如果 
Figure FDA00004170867800000221
则Ui可以认证Uj。 
4.根据权利要求3所述的基于区组设计的容错性密钥协商方法,其特征在于,在步骤(1)(2)(3)之后还包括容错验证步骤: 
KGC广播
Figure FDA00004170867800000318
其中N=H2(ID1,ID2,…,IDv,IDKGC,t),每个参与者均计算下述公式是否成立: 
Figure FDA0000417086780000031
其中
Figure FDA00004170867800000319
g由KGC在初始化阶段选择并在发布公钥时统一公开发布;当有参与者不满足等式
Figure FDA0000417086780000034
时,则进行恶意参与者的甄别与筛除;当筛除所有的恶意参与者后,补充进空参与者代替原有的恶意参与者,KGC在参与者中重新生成N*,并重新启动秘钥协商。 
5.根据权利要求4所述的基于区组设计的容错性密钥协商方法,其特征在于,所述恶意参与者的甄别与筛除包括:用户Uj请求KGC再次发送
Figure FDA0000417086780000035
并计算 
Figure FDA0000417086780000036
是否成立,如果仍不成立,且不成立次数超过预先设定的门槛值τ,则用户Uj向KGC报告错误后进行侦错步骤。 
6.根据权利要求5所述的基于区组设计的容错性密钥协商方法,其特征在于,所述的侦错步骤具体包括:KGC收到来自用户Uj的错误报告
Figure FDA0000417086780000038
后,检查等式 
Figure FDA0000417086780000039
是否成立: 
如果
Figure FDA00004170867800000310
不成立,KGC向Uj返回一个错误通知,然后Uj向KGC再次发送如果Uj在△t时间段内没有重新发送或者错误发生次数超过门槛值τ,则KGC认定Uj是恶意参与者并将Uj从用户名单中删除; 
如果
Figure FDA00004170867800000312
成立,KGC向所有用户广播侦错通知,除Uj以外的所有用户向KGC提交当KGC收到来自用户Ui的信息 
Figure FDA00004170867800000314
之后,KGC首先检查是否成立: 
如果
Figure FDA00004170867800000316
不成立,KGC向Ui返回一个错误通知,然后Ui向KGC再次发送
Figure FDA00004170867800000317
如果Ui在△t时间段内没有重新发送或者错误发生次数超过门 槛值τ,则KGC认定Ui是恶意参与者并将Ui从用户名单中删除; 
如果
Figure FDA0000417086780000041
成立,则KGC验证由
Figure FDA0000417086780000042
所算得的是否等于从用户y所接收到的
Figure FDA0000417086780000044
(其中y满足lyi=1,y≠i且
Figure FDA0000417086780000045
如果则KGC认定Ui是恶意参与者并将Ui从用户名单中删除,如果对所有用户(除Uj以外)都有
Figure FDA0000417086780000047
则KGC认定Uj是恶意参与者并将Uj从用户名单中删除。 
7.根据权利要求2或4所述的基于区组设计的容错性密钥协商方法,其特征在于:所述空参与者Uj
Figure FDA0000417086780000048
值均设置为1。 
CN201310582937.XA 2013-11-19 2013-11-19 一种基于区组设计的容错性密钥协商方法 Pending CN103595526A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310582937.XA CN103595526A (zh) 2013-11-19 2013-11-19 一种基于区组设计的容错性密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310582937.XA CN103595526A (zh) 2013-11-19 2013-11-19 一种基于区组设计的容错性密钥协商方法

Publications (1)

Publication Number Publication Date
CN103595526A true CN103595526A (zh) 2014-02-19

Family

ID=50085520

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310582937.XA Pending CN103595526A (zh) 2013-11-19 2013-11-19 一种基于区组设计的容错性密钥协商方法

Country Status (1)

Country Link
CN (1) CN103595526A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062354A (zh) * 2019-04-10 2019-07-26 南京信息工程大学 一种用于车联网数据共享基于身份和数学结构的密钥协商方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374043A (zh) * 2007-08-24 2009-02-25 管海明 密钥协商的方法、加/解密的方法及签名/验证的方法
CN102164367A (zh) * 2011-04-14 2011-08-24 北京理工大学 一种用于无线传感器网络的密钥管理方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374043A (zh) * 2007-08-24 2009-02-25 管海明 密钥协商的方法、加/解密的方法及签名/验证的方法
CN102164367A (zh) * 2011-04-14 2011-08-24 北京理工大学 一种用于无线传感器网络的密钥管理方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JIAN SHEN ET AL: "Identity-based key agreement protocol employing a symmetric balanced incomplete block design", 《JOURNAL OF COMMUNICATIONS AND NETWORKS》, vol. 14, no. 6, 31 December 2012 (2012-12-31), XP011487642, DOI: doi:10.1109/JCN.2012.00034 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110062354A (zh) * 2019-04-10 2019-07-26 南京信息工程大学 一种用于车联网数据共享基于身份和数学结构的密钥协商方法
CN110062354B (zh) * 2019-04-10 2022-03-15 南京信息工程大学 一种用于车联网数据共享基于身份和数学结构的密钥协商方法

Similar Documents

Publication Publication Date Title
Miao et al. Secure multi-server-aided data deduplication in cloud computing
Ma et al. Privacy-preserving Byzantine-robust federated learning
Tso et al. Strongly secure certificateless short signatures
Sun et al. A provable authenticated group key agreement protocol for mobile environment
CN113194469A (zh) 基于区块链的5g无人机跨域身份认证方法、系统及终端
Islam et al. Provably secure certificateless strong designated verifier signature scheme based on elliptic curve bilinear pairings
CN115378604B (zh) 一种基于信誉值机制的边缘计算终端设备的身份认证方法
Zhao et al. An efficient fault-tolerant group key agreement protocol
CN112417489B (zh) 数字签名的生成方法、装置和服务器
CN115051985A (zh) 一种基于动态节点的拜占庭容错共识协议的数据共识方法
Zhao et al. Fuzzy identity-based dynamic auditing of big data on cloud storage
Chen et al. Privacy‐Preserving Data Aggregation Protocol for Fog Computing‐Assisted Vehicle‐to‐Infrastructure Scenario
Zhao et al. Blockchain-based lightweight authentication mechanisms for industrial internet of things and information systems
Tang et al. TP-PBFT: A Scalable PBFT Based On Threshold Proxy Signature for IoT-Blockchain Applications
Liu et al. Identity-based remote data integrity checking of cloud storage from lattices
Yang et al. A group key agreement protocol based on ecdh and short signature
Naresh et al. Provably secure group key agreement protocol based on ECDH with integrated signature
WO2022116175A1 (zh) 数字签名的生成方法、装置和服务器
CN116383894A (zh) 基于可验证vdch函数的可修改联盟链性能优化方法
Huang et al. A dynamic anonymous authentication scheme with trusted fog computing in V2G networks
Ma et al. DScPA: A Dynamic Sub-cluster Privacy-preserving Aggregation Scheme for Mobile Crowdsourcing in Industrial IoT
Wang et al. Simulatable and secure certificate‐based threshold signature without pairings
Li et al. PSFL: Ensuring Data Privacy and Model Security for Federated Learning
CN103595526A (zh) 一种基于区组设计的容错性密钥协商方法
Wu et al. A provably secure revocable ID‐based authenticated group key exchange protocol with identifying malicious participants

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140219