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

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

Info

Publication number
CN110971404B
CN110971404B CN201911227192.9A CN201911227192A CN110971404B CN 110971404 B CN110971404 B CN 110971404B CN 201911227192 A CN201911227192 A CN 201911227192A CN 110971404 B CN110971404 B CN 110971404B
Authority
CN
China
Prior art keywords
group
key
kgc
user
users
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
CN201911227192.9A
Other languages
English (en)
Other versions
CN110971404A (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.)
Nanchang University
Original Assignee
Nanchang University
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 Nanchang University filed Critical Nanchang University
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个单向哈希函数:H1:
Figure GDA0002958207800000021
H2:
Figure GDA0002958207800000022
H3:
Figure GDA0002958207800000023
H4:G2→{0,1}*和H5:
Figure GDA0002958207800000024
根KGC公开{q,G,H1,H2,H3,H4,H5}。
2.每个KGCk生成一个二元组{sk,Pk},其中Pk是群G的生成元,
Figure GDA0002958207800000025
是KGCk的主私钥。不同的KGCk可以生成不同的二元组{sk,Pk}。
3.每个KGCk计算它的主公钥KCk=skPk并秘密保存其主私钥sk
4.各KGCk公开各自的密码系统参数{q,G,Pk,KCk,H1,H2,H3,H4,H5};
秘密值生成算法:一个身份为IDi的群用户ui,其中1≤i≤m(m是群用户的数量),ui选择
Figure GDA0002958207800000026
计算pki=xi·Pk并设置xi为他的秘密值,群用户ui属于密码系统参数含有Pk的KGCk域,不同群用户可以属于不同域并使用不同的密码系统参数。
部分私钥生成算法:该算法使用KGCk生成的密码系统参数、主私钥、群用户ui的身份IDi和ui的部分公钥pki作为输入,返回群用户的部分私钥。具体步骤如下:
1.KGCk随机选择
Figure GDA0002958207800000031
并计算Ri=riKCk,hi=H1(IDi,Ri,pki)。
2.KGCk计算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,其中(x0,r0,s0,h0)采用上述算法产生(xi,ri,sk,hi)同样的计算方式产生。
设置完整公钥算法:群用户ui设置其完整公钥为{pki,Ri}。GC设置其完整公钥为pk0=sk0P0,其中P0是群G的一个生成元。
二、密钥协商执行阶段
S1:当一群群用户想要协商一个共同的群会话密钥,每一个群用户ui都要执行以下操作,其中1≤i≤m(m是群用户的数量):随机选择
Figure GDA0002958207800000032
然后计算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 GDA0002958207800000033
最后将消息<Ui,MIDi>发送给GC,其中Tmi为当前时间戳。
S2:当GC在时间Tci时收到来自群用户ui的消息<Ui,MIDi>,他将执行以下操作:首先,GC计算Ti'=sk0Ui以及
Figure GDA0002958207800000034
如果(Tci-Tmi)>ΔT,ΔT为可接受的时间差,GC向ui回复重发请求,否则,GC计算y’i=H2(Ui||Ti'||pk0),Q’i=y’ihiViRi-pki以及Ci'=H3(Qi'||yi'||Vi||pki),其中pk0和{pki,Ri}为公开的公钥,hi=H1(IDi,Ri,pki)。如果C’i≠Ci,GC向ui回复重发请求。否则,在验证数据<Ui,MIDi>有效性后,GC随机选择
Figure GDA0002958207800000035
其中0≤i≤m;计算Li=tiPk以及Wi=tiQ’i,其中1≤i≤m。其中Wi为椭圆曲线上一点,其坐标为(Wix,Wiy)。设置Wxi=Wixmodq,如果Wxi=0,GC随机选择另一个ti去执行上述步骤,否则,计算群会话密钥为
Figure GDA0002958207800000036
Zi=TK-Q’i,Fi=Wxi·Zi以及Mi=H5(ID0||Q’i||Li||Fi||Tni),其中Tni为当前时间戳。最后,GC将消息<Tni,Li,Fi,Mi>返回给每一个群用户。
S3:当群用户ui接收到来自GC的<Tni,Li,Fi,Mi>时,他首先验证Tni的有效性,然后执行下列操作:计算M’i=H5(ID0||Qi||Li||Fi||Tni),若M’i≠Mi,群用户ui向GC回复重发请求。否则,ui计算W’i=(ai+yi)Li,其中W’i为椭圆曲线上一点,其坐标为(W’ix,W’iy)。最后群用户ui计算W’xi=W’ixmodq,Z’i=W’xi -1·Fi以及群会话密钥TK=Zi'+Qi
S4,每一个群用户ui可以通过一轮发送和接收密钥协商过程来生成相同的群会话密钥TK。
三、加入群操作
一个新群用户um+1要加入群用户{u1,u2,...um},他首先产生他自己的公钥{pkm+1,Rm+1}及私钥{xm+1,skm+1}。之后,他通过以下操作加入这个群。
1)群用户um+1选择
Figure GDA0002958207800000041
并像密钥协商执行阶段中的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 GDA0002958207800000042
其中0≤i≤m+1;像密钥协商执行阶段中的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ω离开群,GC重新选择
Figure GDA0002958207800000043
其中0≤i≤m-1;以产生{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 GDA0002958207800000061
其中:m代表群用户的数量,Ts、Ta分别代表群G中点乘的计算时间以及群G中加法的计算时间。|G|代表群中元素的大小,|q|代表
Figure GDA0002958207800000062
中值的长度,|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个单向哈希函数:H1:
Figure GDA0002958207800000071
H2:
Figure GDA0002958207800000072
H3:
Figure GDA0002958207800000073
H4:G2→{0,1}*和H5:
Figure GDA0002958207800000074
根KGC公开{q,G,H1,H2,H3,H4,H5}。
2.每个KGCk生成一个二元组{sk,Pk},其中Pk是群G的生成元,
Figure GDA0002958207800000075
是KGCk的主私钥。不同的KGCk可以生成不同的二元组{sk,Pk}。
3.每个KGCk计算它的主公钥KCk=skPk并秘密保存其主私钥sk
4.各KGCk公开各自的密码系统参数{q,G,Pk,KCk,H1,H2,H3,H4,H5};
秘密值生成算法:一个身份为IDi的群用户ui,其中1≤i≤m(m是群用户的数量),ui选择
Figure GDA0002958207800000076
计算pki=xi·Pk并设置xi为他的秘密值,群用户ui属于密码系统参数含有Pk的KGCk域,不同群用户可以属于不同域并使用不同的密码系统参数。
部分私钥生成算法:该算法使用KGCk生成的密码系统参数、主私钥、群用户ui的身份IDi和ui的部分公钥pki作为输入,返回群用户的部分私钥。具体步骤如下:
1.KGCk随机选择
Figure GDA0002958207800000077
并计算Ri=riKCk,hi=H1(IDi,Ri,pki)。
2.KGCk计算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,其中(x0,r0,s0,h0)采用上述算法产生(xi,ri,sk,hi)同样的计算方式产生。
设置完整公钥算法:群用户ui设置其完整公钥为{pki,Ri}。GC设置其完整公钥为pk0=sk0P0,其中P0是群G的一个生成元。
二、密钥协商执行阶段
S1:当一群群用户想要协商一个共同的群会话密钥,每一个群用户ui都要执行以下操作,其中1≤i≤m(m是群用户的数量):随机选择
Figure GDA0002958207800000078
然后计算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 GDA0002958207800000081
最后将消息<Ui,MIDi>发送给GC,其中Tmi为当前时间戳。
S2:当GC在时间Tci时收到来自群用户ui的消息<Ui,MIDi>,他将执行以下操作:首先,GC计算Ti'=sk0Ui以及
Figure GDA0002958207800000082
如果(Tci-Tmi)>ΔT,ΔT为可接受的时间差,GC向ui回复重发请求,否则,GC计算y’i=H2(Ui||Ti’||pk0),Q’i=y’ihiViRi-pki以及Ci'=H3(Qi'||yi'||Vi||pki),其中pk0和{pki,Ri}为公开的公钥,hi=H1(IDi,Ri,pki)。如果C’i≠Ci,GC向ui回复重发请求。否则,在验证数据<Ui,MIDi>有效性后,GC随机选择
Figure GDA0002958207800000083
其中0≤i≤m;计算Li=tiPk以及Wi=tiQ’i,其中1≤i≤m。其中Wi为椭圆曲线上一点,其坐标为(Wix,Wiy)。设置Wxi=Wixmodq,如果Wxi=0,GC随机选择另一个ti去执行上述步骤,否则,计算群会话密钥为
Figure GDA0002958207800000084
Zi=TK-Q’i,Fi=Wxi·Zi以及Mi=H5(ID0||Q’i||Li||Fi||Tni),其中Tni为当前时间戳。最后,GC将消息<Tni,Li,Fi,Mi>返回给每一个群用户。
S3:当群用户ui接收到来自GC的<Tni,Li,Fi,Mi>时,他首先验证Tni的有效性,然后执行下列操作:计算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可以通过一轮发送和接收密钥协商过程来生成相同的群会话密钥TK。
三、加入群操作
一个新群用户um+1要加入群用户{u1,u2,...um},他首先产生他自己的公钥{pkm+1,Rm+1}及私钥{xm+1,skm+1}。之后,他通过以下操作加入这个群。
1)群用户um+1选择
Figure GDA0002958207800000085
并像密钥协商执行阶段中的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 GDA0002958207800000086
其中0≤i≤m+1;像密钥协商执行阶段中的S2一样得出{Li,Wi,Wxi},其中1≤i≤m+1;然后计算TKn=TK+Q'm+1+t0P0,Zni=TKn-Qi',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ω离开群,GC重新选择
Figure GDA0002958207800000091
其中0≤i≤m-1;以产生{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、群用户和GC;KGC负责为群用户生成部分私钥,GC通过与群用户交互生成一个群会话密钥;本方法包含以下几个部分:
一、密钥协商初始阶段
该阶段包括KGC生成密码参数算法、秘密值生成算法、部分私钥生成算法、设置完整私钥算法和设置完整公钥算法:
1.KGC生成密码参数算法:该算法输入安全参数k,KGC生成密码系统参数及其主私钥;
1)有一个根KGC,它生成一个二元组{q,G},其中G为加法循环群,q为群G的阶;根KGC选择5个单向哈希函数:
Figure FDA0002958207790000011
Figure FDA0002958207790000012
H4:G2→{0,1}*
Figure FDA0002958207790000013
根KGC公开{q,G,H1,H2,H3,H4,H5};
2)每个KGCk生成一个二元组{sk,Pk},其中Pk是群G的生成元,
Figure FDA0002958207790000014
是KGCk的主私钥;不同的KGCk生成不同的二元组{sk,Pk};
3)每个KGCk计算它的主公钥KCk=skPk并秘密保存其主私钥sk
4)各KGCk公开各自的密码系统参数{q,G,Pk,KCk,H1,H2,H3,H4,H5};
2.秘密值生成算法:一个身份为IDi的群用户ui,其中1≤i≤m,m是群用户的数量,ui选择
Figure FDA0002958207790000015
计算pki=xi·Pk并设置xi为他的秘密值,群用户ui属于密码系统参数含有Pk的KGCk域,不同群用户属于不同域并使用不同的密码系统参数;
3.部分私钥生成算法:该算法使用KGCk生成的密码系统参数、主私钥、群用户ui的身份IDi和ui的部分公钥pki作为输入,返回群用户的部分私钥;具体步骤如下:
1)KGCk随机选择
Figure FDA0002958207790000016
并计算Ri=riKCk,hi=H1(IDi,Ri,pki);
2)KGCk计算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,其中(x0,r0,s0,h0)采用上述算法产生(xi,ri,sk,hi)同样的计算方式产生;
5.设置完整公钥算法:群用户ui设置其完整公钥为{pki,Ri};GC设置其完整公钥为pk0=sk0P0,其中P0是群G的一个生成元;
二、密钥协商执行阶段
该阶段包括如下步骤:
S1:当一群群用户想要协商一个共同的群会话密钥,每一个群用户ui都要执行以下操作,其中1≤i≤m,m是群用户的数量:随机选择
Figure FDA0002958207790000021
然后计算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 FDA0002958207790000022
最后将消息<Ui,MIDi>发送给GC,其中Tmi为当前时间戳;
S2:当GC在时间Tci时收到来自群用户ui的消息<Ui,MIDi>,他将执行以下操作:首先,GC计算T′i=sk0Ui以及
Figure FDA0002958207790000023
如果(Tci-Tmi)>ΔT,ΔT为可接受的时间差,GC向ui回复重发请求,否则,GC计算y′i=H2(Ui||T′i||pk0),Q′i=y′ihiViRi-pki以及Ci′=H3(Qi′||yi'||Vi||pki),其中pk0和{pki,Ri}为公开的公钥,hi=H1(IDi,Ri,pki);如果C′i≠Ci,GC向ui回复重发请求;否则,在验证数据<Ui,MIDi>有效性后,GC随机选择
Figure FDA0002958207790000024
其中0≤i≤m;计算Li=tiPk以及Wi=tiQ′i,其中1≤i≤m;其中Wi为椭圆曲线上一点,其坐标为(Wix,Wiy);设置Wxi=Wixmodq,如果Wxi=0,GC随机选择另一个ti去执行上述步骤,否则,计算群会话密钥为
Figure FDA0002958207790000025
Zi=TK-Q′i,Fi=Wxi·Zi以及Mi=H5(ID0||Q′i||Li||Fi||Tni),其中Tni为当前时间戳;最后,GC将消息<Tni,Li,Fi,Mi>返回给每一个群用户;
S3:当群用户ui接收到来自GC的<Tni,Li,Fi,Mi>时,他首先验证Tni的有效性,然后执行下列操作:计算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 FDA0002958207790000026
以及群会话密钥TK=Z′i+Qi
S4:每一个群用户ui可以通过一轮发送和接收密钥协商过程来生成相同的群会话密钥TK;
三、加入群操作
一个新群用户um+1加入群用户{u1,u2,...um},他首先产生他自己的公钥{pkm+1,Rm+1}及私钥{xm+1,skm+1};之后,他通过以下操作加入这个群:
1.群用户um+1选择
Figure FDA0002958207790000031
并像密钥协商执行阶段中的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 FDA0002958207790000032
其中0≤i≤m+1;像密钥协商执行阶段中的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ω离开群,GC重新选择
Figure FDA0002958207790000033
其中0≤i≤m-1;以产生{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 CN110971404A (zh) 2020-04-07
CN110971404B true 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)

Families Citing this family (2)

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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546567A (zh) * 2013-10-28 2014-01-29 中国航天科工集团第二研究院七〇六所 一种可信云计算环境中无证书跨域认证方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104022949B (zh) * 2013-02-28 2017-08-04 中兴通讯股份有限公司 一种跨域路径信息长久保存的方法及装置
CN103780618B (zh) * 2014-01-22 2016-11-09 西南交通大学 一种基于访问授权票据的跨异构域身份认证及会话密钥协商方法
CN105959269B (zh) * 2016-04-25 2019-01-25 北京理工大学 一种基于身份的可认证动态群组密钥协商方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103546567A (zh) * 2013-10-28 2014-01-29 中国航天科工集团第二研究院七〇六所 一种可信云计算环境中无证书跨域认证方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
A Certificateless Multiple-key Agreement Protocol without Hash Functions Based on Bilinear Pairings;Mohammad Sabzinejad等;《IACSIT International Journal of Engineering and Technology》;20120630;第4卷(第3期);全文 *
A Pairing Free Anonymous Certificateless Group Key Agreement Protocol for Dynamic Group;Abhimanyu Kumar等;《Wireless Personal Communication》;20150122;全文 *
An Authentication and Key Agreement Mechanism for Multi-domain Wireless Networks Using Certificateless Public-Key Cryptography;Ming Luo等;《Wireless Personal Communication》;20141030;全文 *

Also Published As

Publication number Publication date
CN110971404A (zh) 2020-04-07

Similar Documents

Publication Publication Date Title
CN108667625B (zh) 协同sm2的数字签名方法
CN107947913B (zh) 一种基于身份的匿名认证方法与系统
CN107659395B (zh) 一种多服务器环境下基于身份的分布式认证方法及系统
US7716482B2 (en) Conference session key distribution method in an ID-based cryptographic system
Chow et al. Strongly-secure identity-based key agreement and anonymous extension
WO2007071265A1 (en) Group signature scheme with improved efficiency, in particular in a join procedure
Al-Riyami Cryptographic schemes based on elliptic curve pairings
Morrissey et al. The TLS handshake protocol: A modular analysis
CN106936584B (zh) 一种无证书公钥密码系统的构造方法
Chen et al. Cross-domain password-based authenticated key exchange revisited
CN115473631B (zh) 一种基于中国剩余定理的区块链无证书聚合签密密钥协商方法
CN110971404B (zh) 一种面向安全跨域通信的无证书群密钥协商方法
CN108964906B (zh) 协同ecc的数字签名方法
Kumar et al. Anonymous ID-based Group Key Agreement Protocol without Pairing.
CN113132104A (zh) 一种主动安全的ecdsa数字签名两方生成方法
Li et al. AD‐ASGKA–authenticated dynamic protocols for asymmetric group key agreement
CN113300835A (zh) 一种加密方案接收者确定方法、主动秘密分享方法
CN110890961B (zh) 一种新型安全高效的多授权属性基密钥协商协议
CN106487502B (zh) 一种基于口令的轻量级密钥协商方法
CN114785508B (zh) 一种异构认证密钥协商方法和系统
CN115174209B (zh) 一种云辅助身份基群组密钥交换方法
Zhang et al. Provably secure certificateless authenticated asymmetric group key agreement
CN111510291B (zh) 基于双线性对的高效身份认证密钥协商方法
CN109274506B (zh) 一种基于国密sm2的无证书签名方法
CN112667995A (zh) 受限Paillier加密系统及其在密钥分发和身份认证中的应用方法

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