CN110971404A - 一种面向安全跨域通信的无证书群密钥协商方法 - Google Patents

一种面向安全跨域通信的无证书群密钥协商方法 Download PDF

Info

Publication number
CN110971404A
CN110971404A CN201911227192.9A CN201911227192A CN110971404A CN 110971404 A CN110971404 A CN 110971404A CN 201911227192 A CN201911227192 A CN 201911227192A CN 110971404 A CN110971404 A CN 110971404A
Authority
CN
China
Prior art keywords
group
key
user
kgc
ltoreq
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.)
Granted
Application number
CN201911227192.9A
Other languages
English (en)
Other versions
CN110971404B (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.)
Lattice Power Jiangxi Corp
Nanchang University
Original Assignee
Lattice Power Jiangxi Corp
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 Lattice Power Jiangxi Corp filed Critical Lattice Power Jiangxi Corp
Priority to CN201911227192.9A priority Critical patent/CN110971404B/zh
Publication of CN110971404A publication Critical patent/CN110971404A/zh
Application granted granted Critical
Publication of CN110971404B publication Critical patent/CN110971404B/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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明涉及一种面向安全跨域通信的无证书群密钥协商方法。目前大部分无证书的群密钥协商协议没有考虑跨域通信,即群中的每一个用户都在同一域内。或者方案中群用户处在不同域,但使用相同的密码参数,这并不适合实际的跨域环境。本发明涉及一种面向安全跨域通信的无证书群密钥协商方法,包含三种类型的通信实体:KGC、群用户和群控制器。KGC负责为群用户生成部分私钥,群控制器通过与群用户交互生成一个群会话密钥。本装置的优点在于:具有较强的安全性,高效性。

Description

一种面向安全跨域通信的无证书群密钥协商方法
技术领域
本发明涉及无证书的密码体制,具体涉及一种面向安全跨域通信的无证书群密钥协商方法。
背景技术
随着群通信应用越来越多,群通信安全问题急需解决。群密钥协商方法使得一群用户能够协商出一个相同的会话密钥,为后续的群通信保证安全。目前大多数群密钥协商协议主要是基于三种密码体制,分别是基于传统的公钥基础设施(PKI,Public KeyInfrastructure)、基于身份的密码体制(IBC,Identity-Based Cryptosystem)以及无证书密码体制(CLC,Certificateless Cryptosystem)。PKI需要证书来验证用户的身份,因此其涉及大量的证书管理问题。IBC不需要使用证书,通常选取用户的身份作为公钥,私钥由可信的第三方私钥生成中心生成。IBC由于私钥生成中心掌握了用户的私钥,密钥托管就成为了其中一个安全隐患问题。CLC解决了上述两个密码体制的缺陷,CLC不需要使用证书。CLC使用了密钥生成中心(KGC,Key Generate Center)作为可信的第三方,KGC利用自己的主密钥和用户的身份信息计算出一个部分私钥发送给用户,用户自己产生另外一部分私钥,即KGC不能掌握用户的所有私钥。
目前大部分无证书的群密钥协商协议没有考虑跨域通信,即群中的每一个用户都在同一域内。或者方案中群用户处在不同域,但使用相同的密码参数,这并不适合实际的跨域环境。2018年,Yang等人在提出了一种面向安全跨域通信的无证书群密钥协商方法(以下称为现有技术1),但该方案来自不同域的用户使用相同的密码系统参数。另一方面,该方案不能抵御已知临时密钥攻击,同时KGC需要一个安全通信信道来传输用户的部分私钥。在执行效率方面,该方案需要两轮通信来执行群密钥协议。这些问题都极大的限制了该方案的适用范围。
本发明设计了一种面向安全跨域通信的无证书群密钥协商方法。采用了无证书密码技术,不存在PKI的证书管理问题和IBC的密钥托管问题。允许来自不同域的群用户使用不同的密码系统参数。在执行效率方面,只需要一轮通信来执行群密钥协商协议,大大降低了通信成本。
发明内容
目前大部分无证书的群密钥协商协议没有考虑跨域通信,或者方案中群用户处在不同域,但使用相同的密码参数,这并不适合实际的跨域环境。另一方面,大部分无证书的群密钥协商协议需要一个安全通信信道来传输用户的部分私钥。本发明提供一种面向安全跨域通信的无证书群密钥协商方法以解决上述问题。
面向安全跨域通信的无证书群密钥协商方法中包含三种类型的通信实体:KGC、群用户和群控制器(GC,Group Controller)。KGC负责为群用户生成部分私钥,群控制器通过与群用户交互生成一个群会话密钥。本方案主要包含以下几个部分:
一、密钥协商初始阶段
在我们提出的面向安全跨域通信的无证书群密钥协商方法中,GC在一个网络域中并且群用户{u1,u2,...um}(m是群用户的数量)不需要来自于相同的网络域。该阶段包括KGC生成密码参数算法、秘密值生成算法、部分私钥生成算法、设置完整私钥算法和设置完整公钥算法。
KGC生成密码参数算法:该算法输入安全参数k,KGC生成密码系统参数及其主私钥。
1.假设有一个根KGC,它生成一个二元组{q,G},其中G为加法循环群,q为群G的阶;根KGC选择5个单向哈希函数:
Figure BDA0002302566930000021
Figure BDA0002302566930000022
H4:G2→{0,1}*
Figure BDA0002302566930000023
2.每个KGC生成一个二元组{sk,Pk},其中Pk是群G的生成元,
Figure BDA0002302566930000024
是KGC的主私钥。不同的KGC可以生成不同的二元组{sk,Pk}。
3.每个KGC计算它的主公钥KCk=skPk。每一个KGC公开其密码系统参数{q,G,Pk,KCk,H1,H2,H3,H4,H5}并秘密保存其主私钥sk
秘密值生成算法:一个身份为IDi的群用户ui(1≤i≤m)选择
Figure BDA0002302566930000025
计算pki=xi·Pk并设置xi为他的秘密值(假设用户ui属于系统参数为Pk的KGC域)。
部分私钥生成算法:该算法使用KGC生成的系统参数,主私钥,群用户身份IDi和其部分公钥pki作为输入,返回群用户的部分私钥。具体步骤如下:
1.KGC随机选择
Figure BDA0002302566930000031
并计算Ri=riKCk,hi=H1(IDi,Ri,pki)。
2.KGC计算uski=ri·sk·hi+H1(IDi,Ri,sk·pki)并将{uski,Ri}通过公开信道返回给群用户ui
设置完整私钥算法:群用户ui计算ski=uski-H1(IDi,Ri,xi·KCK)并验证等式skiPk=hiRi是否成立,若等式成立,则群用户设置其完整私钥为{xi,ski}。GC设置其完整私钥为sk0=(x0+r0s0h0)modq。
设置完整公钥算法:群用户ui设置其完整公钥为{pki,Ri}。GC设置其完整公钥为pk0=sk0P0
二、密钥协商执行阶段
S1:当一群用户想要协商一个共同的群会话密钥,每一个用户ui(1≤i≤m)都要执行以下操作:随机选择
Figure BDA0002302566930000032
然后计算Ui=(ai·xi)P0,Ti=(ai·xi)pk0,yi=H2(Ui||Ti||pk0),Qi=(ai+yi)Pk,Vi=(yi·ski)-1(ai+xi+yi),Ci=H3(Qi||yi||Vi||pki),
Figure BDA0002302566930000033
最后将消息<Ui,MIDi>发送给GC,其中
Figure BDA0002302566930000034
为当前时间戳。
S2:当GC在时间
Figure BDA0002302566930000035
时收到来自群用户ui(1≤i≤m)的消息<Ui,MIDi>,他将执行以下操作:首先,GC计算Ti'=sk0Ui以及
Figure BDA0002302566930000036
如果(Tci-Tmi)>ΔT(ΔT为可接受的时间差),GC向ui回复重发请求,否则,GC计算y′i=H2(Ui||Ti'||pk0),Q′i=y′ihiViRi-pki以及C′i=H3(Q′i||y′i||Vi||pki)。如果C′i≠Ci,GC向ui回复重发请求。否则,在验证数据<Ui,MIDi>有效性后,GC随机选择
Figure BDA0002302566930000037
计算Li=tiPk(1≤i≤m)以及Wi=tiQ′i。其中Wi为椭圆曲线上一点,其坐标为(Wix,Wiy)。设置Wxi=Wixmodq,如果Wxi=0,GC随机选择另一个ti去执行上述步骤,否则,计算群会话密钥为
Figure BDA0002302566930000038
Zi=TK-Q′i,Fi=Wxi·Zi以及Mi=H5(ID0||Q′i||Li||Fi||Tni),其中
Figure BDA0002302566930000039
为当前时间戳。最后,GC将消息<Tni,Li,Fi,Mi>返回给每一个群用户。
S3:当群用户ui接收到来自GC的<Tni,Li,Fi,Mi>时,他首先验证
Figure BDA00023025669300000310
的有效性,然后执行下列操作:计算M′i=H5(ID0||Qi||Li||Fi||Tni),若M′i≠Mi,群用户ui向GC回复重发请求。否则,ui计算Wi'=(ai+yi)Li,其中Wi'为椭圆曲线上一点,其坐标为(W′ix,W′iy)。最后群用户ui计算W′xi=W′ixmodq,
Figure BDA00023025669300000311
以及群会话密钥TK=Z′i+Qi
S4,每一个群用户ui(1≤i≤m)可以通过一轮发送和接收密钥协商过程来生成相同的群会话密钥TK。
三、加入群操作
假设一个新用户um+1想要加入群用户{u1,u2,...um},他首先产生他自己的公钥{pkm+1,Rm+1}及私钥{xm+1,skm+1}。之后,他可以通过以下操作加入这个群。
1)用户um+1选择
Figure BDA0002302566930000041
并像密钥协商执行阶段中的S1一样计算{Um+1,Tm+1,ym+1,Qm+1,Vm+1,Cm+1,MIDm+1},然后他发送消息<Um+1,MIDm+1>给GC。
2)当接收到消息<Um+1,MIDm+1>后,GC计算Q'm+1并像密钥协商执行阶段中的S2那样验证数据的有效性。若有效,GC重新选择
Figure BDA0002302566930000042
像密钥协商执行阶段中的S2一样得出{Li,Wi,Wxi}(1≤i≤m+1);然后计算TKn=TK+Q'm+1+t0P0,Zni=TKn-Q′i,Fni=Wxi·Zni和Mni=H5(ID0||Q′i||Li||Fni||Tni);最后,GC返回<Tni,Li,Fni,Mni>给每一个群用户。
3)当群用户ui收到信息<Tni,Li,Fni,Mni>后,他像密钥协商执行阶段中的S3一样验证Tni并计算M'ni来验证数据的有效性,最后计算出群会话密钥TKn
四、离开群操作
离开群操作有两种情况。一个是GC离开群,另一个是群用户uω(1≤ω≤m)离开群。
1)如果GC离开群,协议将选择一个新的GC并从头执行我们的群密钥协商方法。
2)如果成员uω(1≤ω≤m)离开群,GC重新选择
Figure BDA0002302566930000043
以产生{Li,Wi,Wxi}(1≤i≤m-1),然后计算TKn=TK-Q'ω+t0P0,Zni=TKn-Q′i,Fni=Wxi·Zni以及Mni=H5(ID0||Q′i||Li||Fni||Tni)。最后,GC返回<Tni,Li,Fni,Mni>给每一个群用户ui。当群用户ui收到消息<Tni,Li,Fni,Mni>时,他像密钥协商执行阶段中的S3一样计算群会话密钥TKn。最后,我们证明验证过程的有效性。
1)当一个群用户发送消息<Ui,MIDi>给GC时,GC需要验证数据是有效的。
证明:Ti'=sk0Ui
=sk0aixiP0
=(ai·xi)pk0
因此y′i=H2(Ui||Ti'||pk0)=yi
并且Q′i=y′ihiViRi-pki
=y′ihi(yi·ski)-1(ai+xi+yi)Ri-xiPk
=y′ihi(yiriskhi)-1(ai+xi+yi)riskPk-xiPk
=(ai+xi+yi)Pk-xiPk=(ai+yi)Pk=Qi
因此Ci'=H3(Qi'||yi'||Vi||pki)=Ci
2)当群用户ui从GC接收数据<Tni,Li,Fi,Mi>时,他需要验证数据是有效的,并计算群会话密钥。
证明:Mi=H5(ID0||Q′i||Li||Fi||Tni)且Q′i=Qi
因此Mi'=H5(ID0||Qi||Li||Fi||Tni)=Mi
Wi'=(ai+yi)Li=ti(ai+yi)Pk=tiQi=Wi
因此W′ix=Wix以及Z′i=Zi
最终每个群用户可以计算出相同的群会话密钥TK=Zi+Qi
本方案具有跨域特性。在我们的面向安全跨域通信的无证书群密钥协商方法中,允许GC和每个群用户来自于具有不同密码系统参数的网络域。然而,在现有技术1中,GC和来自不同域的每个群用户使用相同的密码系统参数,这并不适合实际的跨域环境。
本方案具有较强的安全性。所提出的面向安全跨域通信的无证书群密钥协商方法不仅不仅能够提供认证密钥协商安全性、双向认证、完美前向安全性、用户匿名性以及部分私钥传输安全性,而且能够抵御伪装攻击、重放攻击和已知临时密钥攻击。但是,现有技术1中KGC传输用户部分私钥时需要一个安全信道,即无法满足部分私钥传输安全性,而且现有技术1无法抵御已知临时密钥攻击。
本方案具有高效的性能。所提出的面向安全跨域通信的无证书群密钥协商方法只需要一轮通信即可完成GC和群用户之间的群密钥协商,通信成本较低。然而,现有技术1需要两轮通信来执行群密钥协商。与现有技术1相比,我们提出的方案中GC和用户的计算时间更少,并且群用户的通信开销也减少了(|G|>|q|+|d|+|t|)。具体性能对比结果如下表所示。
表1:性能比较
Figure BDA0002302566930000051
Figure BDA0002302566930000065
其中:m代表群用户的数量,Ts、Ta分别代表群G中点乘的计算时间以及群G中加法的计算时间。|G|代表群中元素的大小,|q|代表
Figure BDA0002302566930000061
中值的长度,|t|代表时间戳的大小,|d|代表用户身份的大小。
附图说明
图1为面向安全跨域通信的无证书群密钥协商方法的网络模型。
图2为本发明的密钥协商执行阶段主要过程流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1、请参阅图1,如图1所示,面向安全跨域通信的无证书群密钥协商方法中包含三种类型的通信实体:KGC、群用户和群控制器(GC,Group Controller)。KGC负责为群用户生成部分私钥,群控制器通过与群用户交互生成一个群会话密钥。本方案主要包含以下几个部分:
一、密钥协商初始阶段
在我们提出的面向安全跨域通信的无证书群密钥协商方法中,GC在一个网络域中并且群用户{u1,u2,...um}(m是群用户的数量)不需要来自于相同的网络域。该阶段包括KGC生成密码参数算法、秘密值生成算法、部分私钥生成算法、设置完整私钥算法和设置完整公钥算法。
KGC生成密码参数算法:该算法输入安全参数k,KGC生成密码系统参数及其主私钥。
1.假设有一个根KGC,它生成一个二元组{q,G},其中G为加法循环群,q为群G的阶;根KGC选择5个单向哈希函数:
Figure BDA0002302566930000062
Figure BDA0002302566930000063
H4:G2→{0,1}*
Figure BDA0002302566930000064
2.每个KGC生成一个二元组{sk,Pk},其中Pk是群G的生成元,
Figure BDA0002302566930000071
是KGC的主私钥。不同的KGC可以生成不同的二元组{sk,Pk}。
3.每个KGC计算它的主公钥KCk=skPk。每一个KGC公开其密码系统参数{q,G,Pk,KCk,H1,H2,H3,H4,H5}并秘密保存其主私钥sk
秘密值生成算法:一个身份为IDi的群用户ui(1≤i≤m)选择
Figure BDA0002302566930000072
计算pki=xi·Pk并设置xi为他的秘密值(假设用户ui属于系统参数为Pk的KGC域)。
部分私钥生成算法:该算法使用KGC生成的系统参数,主私钥,群用户身份IDi和其部分公钥pki作为输入,返回群用户的部分私钥。具体步骤如下:
1.KGC随机选择
Figure BDA0002302566930000073
并计算Ri=riKCk,hi=H1(IDi,Ri,pki)。
2.KGC计算uski=ri·sk·hi+H1(IDi,Ri,sk·pki)并将{uski,Ri}通过公开信道返回给群用户ui
设置完整私钥算法:群用户ui计算ski=uski-H1(IDi,Ri,xi·KCK)并验证等式skiPk=hiRi是否成立,若等式成立,则群用户设置其完整私钥为{xi,ski}。GC设置其完整私钥为sk0=(x0+r0s0h0)modq。
设置完整公钥算法:群用户ui设置其完整公钥为{pki,Ri}。GC设置其完整公钥为pk0=sk0P0
二、密钥协商执行阶段
S1:当一群用户想要协商一个共同的群会话密钥,每一个用户ui(1≤i≤m)都要执行以下操作:随机选择
Figure BDA0002302566930000074
然后计算Ui=(ai·xi)P0,Ti=(ai·xi)pk0,yi=H2(Ui||Ti||pk0),Qi=(ai+yi)Pk,Vi=(yi·ski)-1(ai+xi+yi),Ci=H3(Qi||yi||Vi||pki),
Figure BDA0002302566930000075
最后将消息<Ui,MIDi>发送给GC,其中
Figure BDA0002302566930000076
为当前时间戳。
S2:当GC在时间
Figure BDA0002302566930000077
时收到来自群用户ui(1≤i≤m)的消息<Ui,MIDi>,他将执行以下操作:首先,GC计算Ti'=sk0Ui以及
Figure BDA0002302566930000078
如果(Tci-Tmi)>ΔT(ΔT为可接受的时间差),GC向ui回复重发请求,否则,GC计算y′i=H2(Ui||Ti'||pk0),Q′i=y′ihiViRi-pki以及Ci'=H3(Qi'||yi'||Vi||pki)。如果C′i≠Ci,GC向ui回复重发请求。否则,在验证数据<Ui,MIDi>有效性后,GC随机选择
Figure BDA0002302566930000079
计算Li=tiPk(1≤i≤m)以及Wi=tiQ′i。其中Wi为椭圆曲线上一点,其坐标为(Wix,Wiy)。设置Wxi=Wixmodq,如果Wxi=0,GC随机选择另一个ti去执行上述步骤,否则,计算群会话密钥为
Figure BDA0002302566930000081
Zi=TK-Q′i,Fi=Wxi·Zi以及Mi=H5(ID0||Q′i||Li||Fi||Tni),其中
Figure BDA0002302566930000082
为当前时间戳。最后,GC将消息<Tni,Li,Fi,Mi>返回给每一个群用户。
S3:当群用户ui接收到来自GC的<Tni,Li,Fi,Mi>时,他首先验证
Figure BDA0002302566930000083
的有效性,然后执行下列操作:计算M′i=H5(ID0||Qi||Li||Fi||Tni),若M′i≠Mi,群用户ui向GC回复重发请求。否则,ui计算Wi'=(ai+yi)Li,其中Wi'为椭圆曲线上一点,其坐标为(W′ix,W′iy)。最后群用户ui计算W′xi=W′ixmodq,
Figure BDA0002302566930000084
以及群会话密钥TK=Z′i+Qi
S4,每一个群用户ui(1≤i≤m)可以通过一轮发送和接收密钥协商过程来生成相同的群会话密钥TK。
三、加入群操作
假设一个新用户um+1想要加入群用户{u1,u2,...um},他首先产生他自己的公钥{pkm+1,Rm+1}及私钥{xm+1,skm+1}。之后,他可以通过以下操作加入这个群。
1)用户um+1选择
Figure BDA0002302566930000085
并像密钥协商执行阶段中的S1一样计算{Um+1,Tm+1,ym+1,Qm+1,Vm+1,Cm+1,MIDm+1},然后他发送消息<Um+1,MIDm+1>给GC。
2)当接收到消息<Um+1,MIDm+1>后,GC计算Q'm+1并像密钥协商执行阶段中的S2那样验证数据的有效性。若有效,GC重新选择
Figure BDA0002302566930000086
像密钥协商执行阶段中的S2一样得出{Li,Wi,Wxi}(1≤i≤m+1);然后计算TKn=TK+Q'm+1+t0P0,Zni=TKn-Q′i,Fni=Wxi·Zni和Mni=H5(ID0||Q′i||Li||Fni||Tni);最后,GC返回<Tni,Li,Fni,Mni>给每一个群用户。
3)当群用户ui收到信息<Tni,Li,Fni,Mni>后,他像密钥协商执行阶段中的S3一样验证Tni并计算M'ni来验证数据的有效性,最后计算出群会话密钥TKn
四、离开群操作
离开群操作有两种情况。一个是GC离开群,另一个是群用户uω(1≤ω≤m)离开群。
1)如果GC离开群,协议将选择一个新的GC并从头执行我们的群密钥协商方法。
2)如果成员uω(1≤ω≤m)离开群,GC重新选择
Figure BDA0002302566930000087
以产生{Li,Wi,Wxi}(1≤i≤m-1),然后计算TKn=TK-Q'ω+t0P0,Zni=TKn-Q′i,Fni=Wxi·Zni以及Mni=H5(ID0||Q′i||Li||Fni||Tni)。最后,GC返回<Tni,Li,Fni,Mni>给每一个群用户ui。当群用户ui收到消息<Tni,Li,Fni,Mni>时,他像密钥协商执行阶段中的S3一样计算群会话密钥TKn
图2展示了面向安全跨域通信的无证书群密钥协商方法的执行阶段主要过程。除了执行阶段,该方法还包括初始阶段,加入以及离开群操作。
在初始阶段,每个属于不同域的KGC产生不同的公共系统参数,主公钥和主私钥。这些公共系统参数和主公钥都是公开的。用户(包括群用户和群控制器GC)选择一个秘密值,计算一个部分公钥,随后把该公钥和身份信息发送给他的域KGC。KGC为用户计算一个部分公钥和部分私钥。最后用户产生自己的全私钥和全公钥。
在执行阶段,GC使用图2中的面向安全跨域通信的无证书群密钥协商执行阶段来为群用户产生一个共同的会话密钥,群用户可以属于不同域并使用不同的密码系统参数。该会话密钥可以为后续的群通信提供安全性保护。
当一个用户加入或离开群,GC通过使用加入或离开群操作来为群用户产生一个新的群会话密钥。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (1)

1.一种面向安全跨域通信的无证书群密钥协商方法,其特征在于,包括三种类型的通信实体:KGC、群用户和群控制器;KGC负责为群用户生成部分私钥,群控制器通过与群用户交互生成一个群会话密钥;本方案包含以下几个部分:
一、密钥协商初始阶段
该阶段包括KGC生成密码参数算法、秘密值生成算法、部分私钥生成算法、设置完整私钥算法和设置完整公钥算法:
1.KGC生成密码参数算法:该算法输入安全参数k,KGC生成密码系统参数及其主私钥;
1)假设有一个根KGC,它生成一个二元组{q,G},其中G为加法循环群,q为群G的阶;根KGC选择5个单向哈希函数:
Figure FDA0002302566920000011
Figure FDA0002302566920000012
H4:G2→{0,1}*
Figure FDA0002302566920000013
2)每个KGC生成一个二元组{sk,Pk},其中Pk是群G的生成元,
Figure FDA0002302566920000014
是KGC的主私钥;不同的KGC可以生成不同的二元组{sk,Pk};
3)每个KGC计算它的主公钥KCk=skPk;每一个KGC公开其密码系统参数{q,G,Pk,KCk,H1,H2,H3,H4,H5}并秘密保存其主私钥sk
2.秘密值生成算法:一个身份为IDi的群用户ui(1≤i≤m)选择
Figure FDA0002302566920000015
计算pki=xi·Pk并设置xi为他的秘密值(假设用户ui属于系统参数为Pk的KGC域);
3.部分私钥生成算法:该算法使用KGC生成的系统参数,主私钥,群用户身份IDi和其部分公钥pki作为输入,返回群用户的部分私钥;具体步骤如下:
1)KGC随机选择
Figure FDA0002302566920000016
并计算Ri=riKCk,hi=H1(IDi,Ri,pki);
2)KGC计算uski=ri·sk·hi+H1(IDi,Ri,sk·pki)并将{uski,Ri}通过公开信道返回给群用户ui
4.设置完整私钥算法:群用户ui计算ski=uski-H1(IDi,Ri,xi·KCK)并验证等式skiPk=hiRi是否成立,若等式成立,则群用户设置其完整私钥为{xi,ski};GC设置其完整私钥为sk0=(x0+r0s0h0)modq;
5.设置完整公钥算法:群用户ui设置其完整公钥为{pki,Ri};GC设置其完整公钥为pk0=sk0P0
二、密钥协商执行阶段
该阶段包括包括如下步骤:
S1:当一群用户想要协商一个共同的群会话密钥,每一个用户ui(1≤i≤m)都要执行以下操作:随机选择
Figure FDA0002302566920000021
然后计算Ui=(ai·xi)P0,Ti=(ai·xi)pk0,yi=H2(Ui||Ti||pk0),Qi=(ai+yi)Pk,Vi=(yi·ski)-1(ai+xi+yi),Ci=H3(Qi||yi||Vi||pki),
Figure FDA0002302566920000022
最后将消息<Ui,MIDi>发送给GC,其中
Figure FDA0002302566920000023
为当前时间戳;
S2:当GC在时间
Figure FDA0002302566920000024
时收到来自群用户ui(1≤i≤m)的消息<Ui,MIDi>,他将执行以下操作:首先,GC计算Ti'=sk0Ui以及
Figure FDA0002302566920000025
如果(Tci-Tmi)>ΔT(ΔT为可接受的时间差),GC向ui回复重发请求,否则,GC计算y'i=H2(Ui||Ti'||pk0),Q'i=y'ihiViRi-pki以及Ci'=H3(Qi'||yi'||Vi||pki);如果C'i≠Ci,GC向ui回复重发请求;否则,在验证数据<Ui,MIDi>有效性后,GC随机选择
Figure FDA0002302566920000026
计算Li=tiPk(1≤i≤m)以及Wi=tiQ'i;其中Wi为椭圆曲线上一点,其坐标为(Wix,Wiy);设置Wxi=Wix mod q,如果Wxi=0,GC随机选择另一个ti去执行上述步骤,否则,计算群会话密钥为
Figure FDA0002302566920000027
Zi=TK-Q'i,Fi=Wxi·Zi以及Mi=H5(ID0||Q'i||Li||Fi||Tni),其中
Figure FDA0002302566920000028
为当前时间戳;最后,GC将消息<Tni,Li,Fi,Mi>返回给每一个群用户;
S3:当群用户ui接收到来自GC的<Tni,Li,Fi,Mi>时,他首先验证
Figure FDA0002302566920000029
的有效性,然后执行下列操作:计算M’i=H5(ID0||Qi||Li||Fi||Tni),若M'i≠Mi,群用户ui向GC回复重发请求;否则,ui计算Wi'=(ai+yi)Li,其中Wi'为椭圆曲线上一点,其坐标为(W’ix,W’iy);最后群用户ui计算W’xi=W’ixmodq,Z’i=W’xi -1·Fi以及群会话密钥TK=Z’i+Qi
S4:每一个群用户ui(1≤i≤m)可以通过一轮发送和接收密钥协商过程来生成相同的群会话密钥TK;
三、加入群操作
假设一个新用户um+1想要加入群用户{u1,u2,...um},他首先产生他自己的公钥{pkm+1,Rm+1}及私钥{xm+1,skm+1};之后,他可以通过以下操作加入这个群:
1.用户um+1选择
Figure FDA00023025669200000210
并像密钥协商执行阶段中的S1一样计算{Um+1,Tm+1,ym+1,Qm+1,Vm+1,Cm+1,MIDm+1},然后他发送消息<Um+1,MIDm+1>给GC;
2.当接收到消息<Um+1,MIDm+1>后,GC计算Q'm+1并像密钥协商执行阶段中的S2那样验证数据的有效性;若有效,GC重新选择
Figure FDA0002302566920000031
像密钥协商执行阶段中的S2一样得出{Li,Wi,Wxi}(1≤i≤m+1);然后计算TKn=TK+Q'm+1+t0P0,Zni=TKn-Q'i,Fni=Wxi·Zni和Mni=H5(ID0||Q’i||Li||Fni||Tni);最后,GC返回<Tni,Li,Fni,Mni>给每一个群用户;
3.当群用户ui收到信息<Tni,Li,Fni,Mni>后,他像密钥协商执行阶段中的S3一样验证Tni并计算M'ni来验证数据的有效性,最后计算出群会话密钥TKn
四、离开群操作
离开群操作有两种情况:一个是GC离开群,另一个是群用户uω(1≤ω≤m)离开群;
1.如果GC离开群,协议将选择一个新的GC并从头执行我们的群密钥协商方法;
2.如果成员uω(1≤ω≤m)离开群,GC重新选择
Figure FDA0002302566920000032
以产生{Li,Wi,Wxi}(1≤i≤m-1),然后计算TKn=TK-Q'ω+t0P0,Zni=TKn-Q’i,Fni=Wxi·Zni以及Mni=H5(ID0||Q'i||Li||Fni||Tni);最后,GC返回<Tni,Li,Fni,Mni>给每一个群用户ui;当群用户ui收到消息<Tni,Li,Fni,Mni>时,他像密钥协商执行阶段中的S3一样计算群会话密钥TKn
CN201911227192.9A 2019-12-04 2019-12-04 一种面向安全跨域通信的无证书群密钥协商方法 Active CN110971404B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911227192.9A CN110971404B (zh) 2019-12-04 2019-12-04 一种面向安全跨域通信的无证书群密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911227192.9A CN110971404B (zh) 2019-12-04 2019-12-04 一种面向安全跨域通信的无证书群密钥协商方法

Publications (2)

Publication Number Publication Date
CN110971404A true CN110971404A (zh) 2020-04-07
CN110971404B CN110971404B (zh) 2021-06-22

Family

ID=70033017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911227192.9A Active CN110971404B (zh) 2019-12-04 2019-12-04 一种面向安全跨域通信的无证书群密钥协商方法

Country Status (1)

Country Link
CN (1) CN110971404B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953705A (zh) * 2020-08-20 2020-11-17 全球能源互联网研究院有限公司 物联网身份认证方法、装置及电力物联网身份认证系统
CN113301520A (zh) * 2021-05-21 2021-08-24 国网四川省电力公司电力科学研究院 一种无线传感器网络安全通信的方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546567A (zh) * 2013-10-28 2014-01-29 中国航天科工集团第二研究院七〇六所 一种可信云计算环境中无证书跨域认证方法
CN103780618A (zh) * 2014-01-22 2014-05-07 西南交通大学 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法
CN105959269A (zh) * 2016-04-25 2016-09-21 北京理工大学 一种基于身份的可认证动态群组密钥协商方法
EP2963868B1 (en) * 2013-02-28 2017-08-02 ZTE Corporation Method and device for long-term storage of cross-domain path information

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2963868B1 (en) * 2013-02-28 2017-08-02 ZTE Corporation Method and device for long-term storage of cross-domain path information
CN103546567A (zh) * 2013-10-28 2014-01-29 中国航天科工集团第二研究院七〇六所 一种可信云计算环境中无证书跨域认证方法
CN103780618A (zh) * 2014-01-22 2014-05-07 西南交通大学 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法
CN105959269A (zh) * 2016-04-25 2016-09-21 北京理工大学 一种基于身份的可认证动态群组密钥协商方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ABHIMANYU KUMAR等: "A Pairing Free Anonymous Certificateless Group Key Agreement Protocol for Dynamic Group", 《WIRELESS PERSONAL COMMUNICATION》 *
MING LUO等: "An Authentication and Key Agreement Mechanism for Multi-domain Wireless Networks Using Certificateless Public-Key Cryptography", 《WIRELESS PERSONAL COMMUNICATION》 *
MOHAMMAD SABZINEJAD等: "A Certificateless Multiple-key Agreement Protocol without Hash Functions Based on Bilinear Pairings", 《IACSIT INTERNATIONAL JOURNAL OF ENGINEERING AND TECHNOLOGY》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111953705A (zh) * 2020-08-20 2020-11-17 全球能源互联网研究院有限公司 物联网身份认证方法、装置及电力物联网身份认证系统
CN113301520A (zh) * 2021-05-21 2021-08-24 国网四川省电力公司电力科学研究院 一种无线传感器网络安全通信的方法
CN113301520B (zh) * 2021-05-21 2023-02-28 国网四川省电力公司电力科学研究院 一种无线传感器网络安全通信的方法

Also Published As

Publication number Publication date
CN110971404B (zh) 2021-06-22

Similar Documents

Publication Publication Date Title
CN108667626B (zh) 安全的两方协作sm2签名方法
CN106209369B (zh) 一种基于身份密码系统的通信方法
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN108667625B (zh) 协同sm2的数字签名方法
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
CN108667616B (zh) 基于标识的跨云安全认证系统和方法
US7716482B2 (en) Conference session key distribution method in an ID-based cryptographic system
Al-Riyami Cryptographic schemes based on elliptic curve pairings
Morrissey et al. The TLS handshake protocol: A modular analysis
Chen et al. Cross-domain password-based authenticated key exchange revisited
Lee et al. Secure key transfer protocol based on secret sharing for group communications
CN115473631B (zh) 一种基于中国剩余定理的区块链无证书聚合签密密钥协商方法
CN110971404B (zh) 一种面向安全跨域通信的无证书群密钥协商方法
CN108964906B (zh) 协同ecc的数字签名方法
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
Kumar et al. Anonymous ID-based Group Key Agreement Protocol without Pairing.
Li et al. AD‐ASGKA–authenticated dynamic protocols for asymmetric group key agreement
CN113300835A (zh) 一种加密方案接收者确定方法、主动秘密分享方法
CN110890961B (zh) 一种新型安全高效的多授权属性基密钥协商协议
CN114785508B (zh) 一种异构认证密钥协商方法和系统
CN106487502B (zh) 一种基于口令的轻量级密钥协商方法
Shim Cryptanalysis of two identity-based authenticated key agreement protocols
Zhang et al. Provably secure certificateless authenticated asymmetric group key agreement
CN111510291B (zh) 基于双线性对的高效身份认证密钥协商方法
CN109274506B (zh) 一种基于国密sm2的无证书签名方法

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