CN101321053A - 一种生成组密钥的方法、系统和设备 - Google Patents

一种生成组密钥的方法、系统和设备 Download PDF

Info

Publication number
CN101321053A
CN101321053A CNA2007101003755A CN200710100375A CN101321053A CN 101321053 A CN101321053 A CN 101321053A CN A2007101003755 A CNA2007101003755 A CN A2007101003755A CN 200710100375 A CN200710100375 A CN 200710100375A CN 101321053 A CN101321053 A CN 101321053A
Authority
CN
China
Prior art keywords
worth
openly
new
organizer
group
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
CNA2007101003755A
Other languages
English (en)
Other versions
CN101321053B (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.)
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
Original Assignee
Huawei Technologies Co Ltd
University of Electronic Science and Technology of China
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 Huawei Technologies Co Ltd, University of Electronic Science and Technology of China filed Critical Huawei Technologies Co Ltd
Priority to CN2007101003755A priority Critical patent/CN101321053B/zh
Priority to EP08757518.9A priority patent/EP2124381B1/en
Priority to ES08757518T priority patent/ES2428381T3/es
Priority to PL08757518T priority patent/PL2124381T3/pl
Priority to PCT/CN2008/071104 priority patent/WO2008151540A1/zh
Publication of CN101321053A publication Critical patent/CN101321053A/zh
Priority to US12/603,920 priority patent/US8280059B2/en
Application granted granted Critical
Publication of CN101321053B publication Critical patent/CN101321053B/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
    • H04L9/0841Key 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 involving Diffie-Hellman or related key agreement protocols
    • 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/083Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key 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) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key

Abstract

本发明公开了一种生成组密钥的方法、系统和设备,属于网络通信领域。方法包括:组内成员选取DH机密值并生成DH公开值,组织者生成中间消息,并广播DH公开值和中间消息,组内成员根据组织者选取的DH机密值和组织者之外的组内其它成员的DH公开值生成组密钥。系统包括用于组织者的通信设备和用于成员的通信设备。所述设备包括系统参数选取模块、DH公开值生成与广播模块、中间消息生成与广播模块、组织者组密钥生成模块;或系统参数选取模块、DH公开值生成与广播模块、成员组密钥生成模块。本发明将成员构成一个星形结构,基于椭圆曲线上的公钥密码技术协商生成组密钥,具有计算速度快、存储空间占用小和网络带宽要求低的特点。

Description

一种生成组密钥的方法、系统和设备
技术领域
本发明涉及网络通信领域,特别涉及一种生成组密钥的方法、系统和设备。
背景技术
Ad Hoc网络是一种多跳、自组织、拓扑结构动态变化的网络,节点移动频繁,电能储备有限,而且节点之间的信任关系以及无线传输链路都比较差,使Ad Hoc网络的组密钥协商协议的设计与传统方案有很大的不同。在Ad Hoc网络中,为了保证通信安全,通常需要对消息进行加密后再传输,由于对称密码体制在效率上的优势,因此采用群组共享密钥能在很大程度上降低消息处理的复杂性。同时,Ad hoc网络也是一种动态对等群组,缺少固定的可信第三方支持,因此用于加密消息的组会话密钥必须通过所有组成员协商建立,来提高组密钥的安全可靠性。另外,Ad Hoc网络组密钥协商协议还应考虑网络的动态拓扑特性,要求密钥协商协议能够实现密钥的前向安全性以及后向安全性,并能有效地支持节点的加入与退出。
现有的组密钥协商方案都是基于有限域上离散对数难解问题的,有一种应用于Ad Hoc网络的组密钥协商方案,该方案中n表示组成员数;Ui表示编号为i的组内成员;U1表示选取的组织者,该组织者是临时的,可由任意成员担任。参见图1,为现有技术中一种组密钥协商方案的方法流程图,该组密钥协商方案具体如下:
步骤101:选取系统参数,进行系统初始化。
设p,q为大素数,Zp是整数模p构成的集合,g是Zp中的一个元素,且g的阶为q,q为满足等式gq≡1modq的最小正整数。
步骤102:所有成员选取DH机密值,根据DH机密值生成DH公开值,并在组内广播生成的DH公开值。组内成员Ui随机选取DH机密值ri∈Zq,根据选取的DH机密值生成DH公开值
Figure A20071010037500081
并在组内广播生成的DH公开值
Figure A20071010037500082
其中i遍取1,2,...,n。
步骤103:组织者收到其它成员的DH公开值后,选取秘密指数,根据秘密指数和DH公开值生成中间消息,在组内广播该中间消息,同时生成组密钥。
组织者U1随机选取秘密指数v∈Zq,根据秘密指数、自己的DH公开值和其它成员的DH公开值,分别生成消息中间消息Mi M i = v · g r 1 r i , 并在组内广播生成的消息Mi,其中i遍取1,2,...,n。
组织者根据每个成员的DH公开值和自己的DH公开值,将计算函数 F = f ( g r 1 , g r 2 , · · · , g r n ) , 其中f表示一个从Zp到Zq的映射,然后根据秘密指数v生成组密钥K=gFοv
步骤104:组内成员收到组织者广播的中间消息后,提取秘密指数,根据秘密指数和每个成员的DH公开值生成组密钥。
所有组内成员Ui在接收到Mi后,解密出v值,并计算函数 F = f ( g r 1 , g r 2 , · · · , g r n ) , 其中f表示一个从Zp到Zq的映射。组内成员Ui计算出组密钥K=gFοv,其中符号ο表示F与v做运算,其值需模p。
通过上述步骤,每个组内成员Ui计算出的组密钥都是同一个结果,即组密钥K=gFοv
当有成员加入或退出时,需要重新根据变化后的所有组内成员生成组密钥,计算过程与上述步骤类似,不再赘述。
在实现本发明的过程中,发明人发现该Ad Hoc组密钥协商方案的缺点是:计算量较大,造成处理速度慢,占用的存储空间比较大;另外对带宽的要求高。
发明内容
为了使组密钥协商方法计算量小、占用存储空间小,且对带宽要求较低,本发明实施例提供了一种生成组密钥的方法、系统和设备。所述技术方案如下:
一种生成组密钥的方法,基于椭圆曲线选取系统参数,并执行以下步骤:
组内成员组成星形结构,并在所述组内成员中选取组织者;
所述组内成员根据所述系统参数各自随机选取DH机密值,根据所述系统参数和选取的DH机密值各自生成DH公开值,并在组内广播所述DH公开值;
所述组织者收到组内其它成员的DH公开值后,选取秘密指数,根据所述秘密指数计算中间消息DH值,生成携带所述中间消息DH值的中间消息,在组内广播所述中间消息,并根据所选取的DH机密值和所述组织者之外的组内其它成员的DH公开值生成组密钥;
所述组织者之外的组内其它成员收到所述中间消息和所述组织者的DH公开值后,根据所述中间消息计算所述组织者选取的DH机密值,根据收到的所述组织者的DH公开值验证所述DH机密值正确后,根据所述DH机密值和所述组内其它成员的DH公开值生成组密钥。
本发明实施例还提供了一种生成组密钥的系统,所述系统包括:用于组织者的通信设备和用于成员的通信设备;
所述用于组织者的通信设备用于根据系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并在组内广播所述DH公开值;收到其它设备的DH公开值后,选取秘密指数,根据所述秘密指数计算中间消息DH值,生成携带所述中间消息DH值的中间消息,并在组内广播所述中间消息;以及根据所选取的DH机密值和组内所有设备的DH公开值生成组密钥;
所述用于成员的通信设备用于根据系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并广播所述DH公开值;收到所述用于组织者的通信设备广播的DH公开值和中间消息后,根据所述中间消息计算组织者选取的DH机密值,验证所述DH机密值正确后,根据所述DH机密值组内所有设备的DH公开值生成组密钥。
进一步地,本发明实施例还提供了一种通信设备,所述通信设备包括:
系统参数选取模块,用于选取基于椭圆曲线的系统参数;
DH公开值生成与广播模块,用于根据所述系统参数选取模块选取的系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并广播所述DH公开值;
中间消息生成与广播模块,用于收到其它通信设备广播的DH公开值后,选取秘密指数,根据所述秘密指数计算中间消息DH值,根据所述DH公开值生成与广播模块选取的DH机密值,生成携带所述中间消息DH值的中间消息,并广播所述中间消息;
组织者组密钥生成模块,用于接收其它通信设备广播的DH公开值,并根据所述DH公开值生成与广播模块中所选取的DH机密值和所述其它通信设备广播的DH公开值生成组密钥。
本发明实施例还提供了一种通信设备,所述通信设备包括:
系统参数选取模块,用于选取基于椭圆曲线的系统参数;
DH公开值生成与广播模块,用于根据所述系统参数选取模块选取的系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并广播所述DH公开值;
成员组密钥生成模块,用于接收其它通信设备广播的DH公开值和中间消息,根据所述中间消息计算组织者选取的DH机密值,根据广播所述中间消息的通信设备广播的DH公开值验证所述DH机密值正确后,根据所述DH机密值和广播所述中间消息的通信设备之外的其它通信设备广播的DH公开值生成组密钥。
本发明实施例提供的技术方案基于椭圆曲线密码系统,组织者将秘密指数通过与其他成员共享的中间消息DH值安全传输给组内其他成员,最后所有成员基于椭圆曲线上的公钥密码技术协商得到组密钥,与同类方案相比,在达到相同的安全性时,具有计算速度快、存储空间占用小和网络带宽要求低的特点。
附图说明
图1是现有技术提供的生成组密钥的方法流程图;
图2是本发明实施例1提供的生成组密钥的方法流程图;
图3是本发明实施例1提供的组成员组成的星形结构示意图;
图4是本发明实施例2提供的成员加入时组成员组成的星形结构示意图;
图5是本发明实施例2提供的成员加入时生成组密钥的方法流程图;
图6是本发明实施例3提供的组合并时组成员组成的星形结构示意图;
图7是本发明实施例3提供的组合并时生成组密钥的方法流程图;
图8是本发明实施例6提供的生成组密钥的系统结构图;
图9是本发明实施例7提供的通信设备结构图;
图10是本发明实施例8提供的通信设备结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本发明实施例提供了一种适用于Ad Hoc网络的生成组密钥的方法、系统和设备,通过组成员构成一个星形结构,选取一个成员担任组织者,它负责将秘密指数通过与其他成员共享的中间消息DH值安全传输给组内其他成员,最后所有成员基于椭圆曲线上的公钥密码技术协商得到组密钥。其中,中间消息DH值是基于椭圆曲线上的Diffie-Hellman密钥协商协议(简称DH密钥协商协议)得到的参数。
本发明实施例基于椭圆曲线密码系统,椭圆曲线密码学ECC(Elliptic CurvesCryptography,椭圆曲线密码学)是在1985年由Neal Koblitz和Victor Miller独立提出来的。这种密码体制具有安全性能高、计算量小、密钥长度短、处理速度快、存储空间占用小和带宽要求低等特点,因而在安全领域具有广泛的应用前景。近年来,椭圆曲线密码系统已被诸如ANSI(American National Standard Institute,美国国家标准学会)、IEEE(Institute of Electrical and Electronics Engineers,美国电气及电子工程师学会)、ISO(International Standardization Organization,国际标准化组织)和NIST(NationalInstitute of Standards and Technology,美国国家标准和技术学会)等标准化组织纳入为标准。
实施例1
参见图2,为本发明实施例生成组密钥的方法的流程图,该方法具体步骤如下:
步骤201:一组成员U1,...,Un组成一个星形结构,并选取一个组织者担任轴心。
其中,本发明实施例中n表示组内成员数;Ui表示编号为i的组内成员(i=1,2,…,n);选取一个组内成员作为组织者,这里选取成员U1作为组织者,该组织者不是可信机构,是临时的,可由任意成员担任。参见图3,为组成员组成的星形结构示意图。
步骤202:选取系统参数,进行系统初始化。具体过程如下:
设GF(p)是一个阶为素数p的有限域,在该域上定义一椭圆曲线EC:y2=x3+αx+β(a,β∈GF(p),4a3+27β2(modp)≠0;p为190位以上的大素数)。则ECp(a,β)={(x,y)|y2=x3+ax+β(mod p)}∪O(O为单位元)组成一个Abel群——交换群。
对给定的ECC系统,取点P∈ECp(α,β)为一公开基点,P的阶为大素数q(一般取q≥120bits)。定义G={O,P,2P,...,(q-1)P}。由此可知G是有限的循环Abel群,q为循环周期。
步骤203:组内成员Ui根据系统参数选取DH机密值ri∈Zq,根据DH机密值ri和公开基点P生成DH公开值Xi=(xi,yi)=riP,并在组内广播DH公开值Xi=(xi,yi)=riP,这里i遍取1,...,n。
步骤204:组织者U1收到其它成员广播的DH公开值Xi后,随机选取秘密指数z∈Zq(Zq为整数模q所得到的最小非负余数的集合,q为系统参数中的素数),基于椭圆曲线上的Diffie-Hellman密钥协商协议计算中间消息DH值zP=(x,y),然后根据收到的其它成员的DH公开值、选取的秘密指数z、和DH机密值r1和中间消息DH值zP对应的x轴的坐标生成中间消息{c1,c2,...,cn}={r1x(modp),r2zP,r3zP,...,rnzP},其中p为系统参数中的素数。在组内广播中间消息{c1,c2,...,cn}={r1x(modp),r2zP,r3zP,...,rnzP}。组织者U1根据自身选取的DH机密值r1和其它成员的DH公开值,生成组密钥K=r1(r2P+r3P+...+rnP)。
步骤205:组内成员Ui(i遍取2,3,...,n)收到组织者U1广播的中间消息后,提取中间消息中的中间消息DH值,该中间消息DH值zP具体通过计算 zP = ( x , y ) = r i - 1 c i 得出,根据中间消息DH值zP=(x,y)得出对应的x,因为c1=r1x(modp),所以,r1=c1x-1(modp),进而计算出组织者选取的DH机密值r1
步骤206:组内成员Ui(i遍取2,3,...,n)计算出组织者选取的DH机密值r1后,验证等式r1P=X1是否成立,如果等式成立,则执行步骤207,否则重新执行步骤203。
验证等式r1P=X1的目的是验证组织者选取的DH机密值是否没有被篡改。
步骤207:组内成员Ui(i遍取2,3,...,n)根据组织者选取的DH机密值和组织者之外的组内成员的DH公开值,生成组密钥K=r1(r2P+r3P+...+rnP)。
通过上述步骤,每个组内成员Ui计算出的组密钥都是同一个结果,即组密钥K=r1(r2P+r3P+...+rnP),所有成员保留密钥协商阶段接收到的Xi值。
实施例2
本实施例提供了新成员加入组中时,生组密钥的协商方法。本实施例以实施例1为基础,假设组G={U1,U2,...,Un}已经执行了实施例1提供的基本协商,并获得了共享的组密钥K=r1(r2P+r3P+...+rnP)。现有t个成员需要加入组G,它们分别用Un+1,Un+2,...,Un+t来表示,新密钥的协商过程只需要新加入的t个成员与组织者U1的参与,参见图4,U1,U2,...,Un+t共同组成星形结构。
参见图5,为新成员加入组时生成组密钥的方法流程图,新成员加入组时生成组密钥的具体步骤如下:
步骤301:组织者U1和新成员Ui根据系统参数选取DH机密值r′i∈Zq,根据DH机密值r′i和公开基点P生成DH公开值X′i=(x′i,y′i)=r′iP,并在组内广播DH公开值X′i=(x′i,y′i)=r′iP,这里i遍取n+1,...,n+t。
步骤302:组织者U1收到新成员广播的DH公开值X′i后,令秘密指数z′=xK,基于椭圆曲线上的Diffie-Hellman密钥协商协议计算中间消息DH值z′P=(x′,y′),然后生成中间消息{c′1,c′n+1,…,c′n+t}={r′1x′(modp),r′n+1z′P,r′n+2z′P,…,r′n+tz′P},该中间消息携带中间消息DH值。在组内广播中间消息{c′1,c′n+1,…,c′n+t}={r′1x′(modp),r′n+1z′P,r′n+2z′P,…,r′n+tz′P}。组织者U1根据自身选取的DH机密值r′1和新成员的DH公开值,生成新的组密钥K′=r′1(r′n+1P+r′n+2P+…r′n+tP)。
其中,xK表示G={U1,U2,...,Un}共享的密钥K的x轴坐标值,组内所有成员都预先知道组织者U1是选取x坐标还是y坐标作为z′。本发明实施例中的组织者U1是选取x坐标作为z′,也可以令z′=yK,即组织者U1选取y坐标作为z′。
步骤303:新成员Ui(i∈{n+1,...,n+t})收到组织者U1广播的中间消息{c′1,c′n+1,…,c′n+t}={r′1x′(modp),r′n+1z′P,r′n+2z′P,…,r′n+tz′P}后,提取中间消息中的中间消息DH值,该中间消息DH值z′P具体通过计算 z ′ P = ( x ′ , y ′ ) = r i ′ - 1 c i ′ 得出,根据中间消息DH值z′P=(x′,y′)得出对应的x′,因为c′1=r′1x′(modp),所以,r′1=c′1x′-1(modp),进而计算出组织者选取的DH机密值r′1
步骤304:新成员Ui(i∈{n+1,...,n+t})计算出组织者选取的DH机密值r′1后,验证等式r′1P=X′1是否成立,如果等式成立,则执行步骤305,否则重新执行步骤301。
验证等式r1P=X1的目的是验证组织者选取的DH机密值是否没有被篡改。
步骤305:新成员Ui(i∈{n+1,...,n+t})根据组织者选取的DH机密值和新成员的DH公开值,生成新的组密钥K′=r′1(r′n+1P+r′n+2P+…r′n+tP)。
步骤306:组G内的其余成员U2,...,Un,根据先前的z值得出z′=xK,并计算 z ′ P = ( x ′ , y ′ ) = r i ′ - 1 c i ′ (i∈{2,...,n),根据中间消息DH值z′P=(x′,y′)得出对应的x′,因为c′1X=r′1x′(modp),所以,r′1=c′1x′-1(modp),进而计算出组织者选取的DH机密值r′1;根据组织者选取的DH机密值r′1和新成员的DH公开值,生成新的组密钥K′=r′1(r′n+1P+r′n+2P+…r′n+tP)。
通过上述步骤,t个成员加入组G后,每个组内成员Ui(i∈{1,...,n+t})计算出新的组密钥K′=r′1(r′n+1P+r′n+2P+…r′n+tP),新加入的t个成员保留成员加入密钥协商阶段接收到的X′i值。
现举例如下:假设组G={U1,...,U5}已经执行了基本协商,并获得了共享的密钥K=r1(r2P+r3P+...+r5P)。此时成员G′={U6}需要加入到组中与G中成员共享新的密钥。使用本实施例提供的方法,密钥的协商过程只需要U1与新加入的成员U6进行交互,最终使所有组成员均可计算得到新的组密钥。这里U1,U2,...,U6共同组成星形结构后,执行以下具体步骤:
(1)组织者U1根据系统参数选取DH机密值r′1∈Zq,并向U6广播消息X′1=(x′1,y′1)=r′1P;U6根据系统参数选取DH机密值r′6∈Zq,并向U1广播消息X′6=(x′6,y′6)=r′6P。
(2)组织者U1收到U6广播的DH公开值X′6后,令秘密指数z′=xK,基于椭圆曲线上的Diffie-Hellman密钥协商协议计算中间消息DH值z′P=(x′,y′),然后生成中间消息{c′1,c′6}={r′1x′(modp),r′6z′P},该中间消息携带中间消息DH值。在组内广播中间消息{c′1,c′6}={r′1x′(modp),r′6z′P}。组织者U1根据自身选取的DH机密值r′1和U6的DH公开值,生成组密钥K′=r′1r′6P。
其中,xK表示G={U1,U2,...,U5}共享的密钥K的x轴坐标值。
(3)U6收到组织者U1广播的中间消息后,提取中间消息中的中间消息DH值,该中间消息DH值zP具体通过计算 z ′ P = ( x ′ , y ′ ) = r 6 ′ - 1 c 6 ′ 得出根据中间消息DH值z′P=(x′,y′)得出对应的x′,因为c′1=r′1x′(modp),所以,r′1=c′1x′-1(modp),进而计算出组织者U1选取的DH机密值r′1
(4)U6计算出组织者U1选取的DH机密值r′1后,验证等式r′1P=X′1是否成立,如果等式成立,则执行步骤(5),否则重新执行步骤(1)。
验证等式r1P=X1的目的是验证组织者选取的DH机密值是否没有被篡改。
(5)U6根据组织者U1选取的DH机密值r′1和U6的DH公开值,生成组密钥K′=r′1r′6P。
(6)组G内的其余成员U2,...,U5,根据先前的z值得出z′=xK,并计算 z ′ P = ( x ′ , y ′ ) = r i ′ - 1 c i ′ (i∈{2,...,5}),根据中间消息DH值z′P=(x′,y′)得出对应的x′,因为c′1=r′1x′(modp),所以,r′1=c′1x′-1(modp),进而计算出组织者U1选取的DH机密值r′1;根据组织者U1选取的DH机密值r′1和新成员U6的DH公开值,生成组密钥K′=r′1r′6P。
通过上述方法,所有成员得到同一个组密钥K′=r′1r′6P。
实施例3
本实施例提供了组合并时,生成组密钥的协商方法。本实施例以实施例1为基础,现有t个组需要进行合并,分别用{G1,G2,...,Gt}表示,每个组Gi内有ni个成员,即 G i = { U i 1 , U i 2 , . . . , U in i } (i∈{1,t}),并且每组已经各自执行了实施例1提供的基本协商,组Gi内的成员共享组密钥Ki。这里选取U11为新组织者,G1为主合并组,G2,...,Gt为副合并组,协议的运行只需要各组Gi的组织者Ui1参与,参见图6,需要进行合并的组共同组成星形结构,参见图7,它们之间的密钥协商过程如下:
步骤401:U11根据系统参数选取DH机密值r′11∈Zq,根据DH机密值r′11和公开基点P生成DH公开值X′11=(x′11,y′11)=r′11P,并在组内广播DH公开值X′11=(x′11,y′11)=r′11P。
步骤402:副合并组G2,...,Gt的组织者Ui1令DH机密值 r i 1 ′ = x K i ,根据DH机密值r′i1和公开基点P生成DH公开值X′i1=(x′i1,y′i1)=r′i1P,并在组内广播DH公开值X′i1=(x′i1,y′i1)=r′i1P,这里i遍取2,...,t。
其中,
Figure A20071010037500155
表示 G i = { U i 1 , U i 2 , . . . , U in i } (i∈{1,t})共享的密钥Ki的x轴坐标值,组内所有成员都预先知道组织者Ui1是选取x坐标还是y坐标作为z′。本发明实施例中的组织者Ui1是选取x坐标作为z′,也可以令 z ′ = y K 1 ,即组织者Ui1选取y坐标作为z′。
步骤403:U11收到Ui1广播的DH公开值X′i1后,令秘密指数 z ′ = x K 1 ,基于椭圆曲线上的Diffie-Hellman密钥协商协议计算中间消息DH值z′P=(x′,y′),然后生成中间消息{c′1,c′2,…,c′t}={r′11x′(modp),r′21z′P,r′31z′P,…,r′t1z′P},该中间消息携带中间消息DH值。在组内广播中间消息{c′1,c′2,…,c′t}={r′11x′(modp),r′21z′P,r′31z′P,…,r′t1z′P}。U11根据自身选取的DH机密值r′11和Ui1的DH公开值,生成新的组密钥K′=r′11(r′21P+r′31P+…+r′t1P)。
步骤404:Ui1(i∈{2,...,t})收到U11广播的中间消息后,提取中间消息中的中间消息DH值,该中间消息DH值z′P具体通过计算 z ′ P = ( x ′ , y ′ ) = r i 1 ′ - 1 c i ′ 得出,根据中间消息DH值z′P=(x′,y′)得出对应的x′,,因为c′1=r′11x′(modp),所以r′11=c′1x′-1(modp),进而计算出组织者选取的DH机密值r′11
步骤405:Ui1(i∈{2,...,t})计算出U11选取的DH机密值r′11后,验证等式r′11P=X′11是否成立,如果等式成立,则执行步骤405,否则重新执行步骤401。
验证等式r1P=X1的目的是验证U11选取的DH机密值是否没有被篡改。
步骤406:Ui1(i∈{2,...,t})根据U11选取的DH机密值r′11和Ui1的DH公开值,生成组密钥K′=r′11(r′21P+r′31P+…+r′t1P)。
步骤407:副合并组Gi(i∈{2,...,t})内除组织者之外的其余成员根据先前的z值得出 z ′ = x K 1 ,并计算 z ′ P = ( x ′ , y ′ ) = r i 1 ′ - 1 c i ′ (i∈{1,2,...,t}),根据中间消息DH值z′P=(x′,y′)得出对应的x′,因为c′1=r′11x′(modp),所以r′11=c′1x′-1(modp),进而计算出组织者选取的DH机密值r′11;根据U11选取的DH机密值r′11和Ui1的DH公开值,生成新的组密钥K′=r′11(r′21P+r′31P+…r′t1P)。
步骤408:主合并组G1内除组织者之外的其余成员根据预先得知的
Figure A20071010037500163
,计算 z ′ P = ( x ′ , y ′ ) = r i 1 ′ - 1 c i ′ (i∈{1,2,...,t}),根据中间消息DH值z′P=(x′,y′)得出对应的x′,因为c′1=r′11x′(modp),所以r′11=c′1x′-1(modp),进而计算出组织者选取的DH机密值r′11;根据U11选取的DH机密值r′11和Ui1的DH公开值,生成新的组密钥K′=r′11(r′21P+r′31P+…r′t1P)。
通过上述方法,t个组合并成以U11为组织者的一个组,所有成员共享组密钥K′=r′11(r′21P+r′31P+…r′t1P)。
实施例4
本实施例提供了成员退出时,生成组密钥的方法。本实施例以实施例1为基础,假定成员G={U1,...,Un}已经执行了实施例1提供的基本协商,此时有k个成员 G ′ = { U j 1 , . . . , U j k } 需要离开该组,余下组成员 G ′ ′ = { U 1 , · · · , U j 1 - 1 , U j 1 + 1 , . . . , U j k - 1 , U j k + 1 , · · · , U n } 。余下的组成员为了避免离开该组的成员获得本组的组密钥,需要计算出新的组密钥,具体执行以下步骤:
首先,k个成员离开组G后,组织者U1重新根据系统参数选取DH机密值r′1,z′∈Zq,G″中的其余成员不必重新选取DH机密值。
然后,余下的组成员 Σ ′ ′ = { U 1 , · · · , U j 1 - 1 , U j 1 + 1 , . . . , U j k - 1 , U j k + 1 , · · · , U n } 重新运行实施例1中提供的组密钥协商方法,生成新的中间消息 { c 1 ′ , · · · , c j 1 - 1 ′ , c j 1 + 1 ′ , . . . , c j k - 1 ′ , c j k + 1 ′ , · · · , c n ′ } = { r 1 ′ x ′ ( mod p ) , · · · , r j 1 - 1 ′ z ′ P , r j 1 + 1 ′ z ′ P , . . . , r j k - 1 ′ z ′ P , r j k + 1 ′ z ′ P , · · · , r n ′ z ′ P } ,生成新的共享组密钥 K ′ = r 1 ′ ( r 2 P + · · · + r j 1 - 1 P + r j 1 + 1 P + r j k - 1 P + r j k + 1 P + · · · + r n P )
若原组G中的组织者已经离开该组,则需重新选取一个成员担任组G″的组织者,再执行上述步骤生成新的共享组密钥 K ′ = r 1 ′ ( r 2 P + · · · + r j 1 - 1 P + r j 1 + 1 P + r j k - 1 P + r j k + 1 P + · · · + r n P )
实施例5
随着组规模的不断扩大,组织者的计算量和通信量会随之迅速增加,当网络规模增加到一定程度的时候,组织者的性能就成为了协议的瓶颈,因此需要对其进行适当修改以减少组织者的负载。
本实施例提供了在大规模群组通信中,组密钥的协商方法。本实施例以实施例1为基础,当参与协议的组成员规模很大时,将组∑的成员分成m个子组,记为∑={G1,G2,...,Gm},所有这些节点构成一个星形结构。子组Gi内又有ni个成员,记为
Figure A20071010037500172
,这些成员也组成星形结构,Ui1成为子组Gi的组织者。
至于分组的办法,可以依据每个节点设备对应的唯一的机器代码(类似于以太网网卡的MAC地址)进行分组,也可以按地理位置进行分组等等,协议具体过程如下:
首先,子组Gi(i=1,2,...,m)内的ni个成员构成一个星形结构,执行实施例1中的基本协议,得到组密钥 K i = r i 1 ( r i 2 P + r i 3 P + · · · + r in i P )
然后,选取G1的组织者U11作为大组∑的组织者,各子组Gi的组织者Ui1代表各子组与U11构成一个星形结构,再次运行实施例1中的基本协议。
U11重新选取DH机密值根据r′11∈Zq,根据DH机密值r′11和公开基点P生成DH公开值X′11=(x′11,y′11)=r′11P,并在组内广播DH公开值X′11=(x′11,y′11)=r′11P。
Ui1(i∈{1,2,...,n})用各自的组密钥Ki对应的x坐标值作为DH机密值参与运算,根据DH机密值
Figure A20071010037500175
和公开基点P生成DH公开值 X i 1 ′ = ( x i 1 ′ , y i 1 ′ ) = x K i P ,并在组内广播DH公开值 X i 1 ′ = ( x i 1 ′ , y i 1 ′ ) = x K i P
U11用子组G1的密钥值K1对应的x坐标值
Figure A20071010037500178
作为新秘密指数 z ′ = x K 1 ,基于椭圆曲线上的Diffie-Hellman密钥协商协议计算中间消息DH值z′P=(x′,y′),然后生成中间消息 { c 1 ′ , c 2 ′ , · · · , c t ′ } = { r 11 ′ x ′ ( mod p ) , x K 2 P , x K 3 P , · · · , x K m P } ,该中间消息携带中间消息DH值。在组内广播中间消息 { c 1 ′ , c 2 ′ , · · · , c t ′ } = { r 11 ′ x ′ ( mod p ) , x K 2 P , x K 3 P , · · · , x K m P } 。U11根据自身选取的DH机密值r′11和收到的Ui1广播的DH公开值 X i 1 ′ = ( x i 1 ′ , y i 1 ′ ) = x K i P 生成组密钥 K = r 11 ′ ( x K 2 P + x K 3 P + · · · + x K m P )
Ui1(i∈{2,...,m})收到组织者U11广播的中间消息后,提取中间消息中的中间消息DH值,该中间消息DH值z′P=(x′,y′)具体通过计算 z ′ P = ( x ′ , y ′ ) = x K i - 1 c i ′ 得出,根据中间消息DH值z′P=(x′,y′)得出对应的x′,因为c′1=r′11x′(modp),所以r′11=c′1x′-1(modp),进而计算出组织者U11选取的DH机密值r′11。根据r′11和Ui1(i∈{2,...,m})的DH公开值,生成组密钥 K = r 11 ′ ( x K 2 P + x K 3 P + · · · + x K m P )
同时,大组∑内的其他成员Uij(i∈[1,m],j∈[1,ni])监听发送给相应组Gi的消息,利用已获得的Gi的私钥Ki可以得到,通过广播的中间消息计算出DH机密值r′11,进而得到组共享密钥 K = r 11 ′ ( x K 2 P + x K 3 P + · · · + x K m P )
最终,所有成员得到同一个组密钥 K = r 11 ′ ( x K 2 P + x K 3 P + · · · + x K m P )
通过上述方法,将组∑分为m个子组={G1,G2,...,Gm},以减少大组∑中组织者的负载,大组∑内所有成员共享组密钥 K = r 11 ′ ( x K 2 P + x K 3 P + · · · + x K m P )
实施例6
参见图8,本发明实施例提供了一种生成组密钥的系统,包括:
用于组织者的通信设备,用于根据系统参数选取DH机密值,根据系统参数和选取的DH机密值生成DH公开值,并在组内广播DH公开值;收到其它设备的DH公开值后,选取秘密指数,根据秘密指数计算中间消息DH值,生成携带中间消息DH值的中间消息,并在组内广播中间消息;以及根据所选取的DH机密值和组内所有设备的DH公开值生成组密钥。
用于成员的通信设备,用于根据系统参数选取DH机密值,根据系统参数和选取的DH机密值生成DH公开值,并广播DH公开值;收到用于组织者的通信设备广播的DH公开值和中间消息后,根据中间消息计算组织者选取的DH机密值,验证DH机密值正确后,根据DH机密值组内所有设备的DH公开值生成组密钥。
当有成员加入或退出时,系统中的用于组织者的通信设备和用于成员的通信设备还包括:
组密钥更新模块,用于当有新成员加入或退出组时,通知重新生成并广播新DH公开值。
实施例7
参见图9,本发明实施例提供了一种通信设备,包括:
系统参数选取模块,用于选取基于椭圆曲线的系统参数。
DH公开值生成与广播模块,用于根据系统参数选取模块选取的系统参数选取DH机密值,根据系统参数和选取的DH机密值生成DH公开值,并广播生成的DH公开值。
中间消息生成与广播模块,用于收到其它通信设备广播的DH公开值后,选取秘密指数,根据秘密指数计算中间消息DH值,根据DH公开值生成与广播模块选取的DH机密值,生成携带中间消息DH值的中间消息,并广播中间消息。
组织者组密钥生成模块,用于接收其它通信设备广播的DH公开值,并根据DH公开值生成与广播模块中所选取的DH机密值和其它通信设备广播的DH公开值生成组密钥。
为了进一步完善上述通信设备,当有成员加入或退出时,该通信设备还包括:
组密钥更新模块,用于当有新成员加入或退出组时,通知DH公开值生成与广播模块生成并广播新DH公开值。
当有新成员加入时,生成新组密钥的过程如下:
组密钥更新模块通知DH公开值生成与广播模块根据系统参数选取模块选取的系统参数为组织者和新成员选取新DH机密值,根据系统参数和选取的新DH机密值生成新DH公开值,并广播新DH公开值。
中间消息生成与广播模块收到其它设备广播的新成员的DH公开值后,选取新秘密指数,根据新秘密指数计算中间消息DH值,根据DH公开值生成与广播模块选取的新DH机密值,生成携带中间消息DH值的新中间消息,并广播新中间消息。
组织者组密钥生成模块根据DH公开值生成与广播模块中所选取的新DH机密值和收到其它设备广播的新成员的DH公开值生成新组密钥。
当有成员退出时,生成新组密钥的过程如下:
组密钥更新模块通知DH公开值生成与广播模块根据系统参数选取模块选取的系统参数为组织者选取新DH机密值,根据系统参数和选取的新DH机密值生成新DH公开值,并广播新DH公开值。
中间消息生成与广播模块收到其它设备广播的剩余成员的DH公开值后,选取新秘密指数,根据新秘密指数计算中间消息DH值,根据DH公开值生成与广播模块选取的新DH机密值,生成携带中间消息DH值的新中间消息,并广播新中间消息。
组织者组密钥生成模块根据DH公开值生成与广播模块中所选取的新DH机密值和收到其它设备广播的剩余成员的DH公开值生成新组密钥。
实施例8
参见图10,本发明实施例还提供了一种通信设备,包括:
系统参数选取模块,用于选取基于椭圆曲线的系统参数。
DH公开值生成与广播模块,用于根据系统参数选取模块选取的系统参数选取DH机密值,根据系统参数和选取的DH机密值生成DH公开值,并广播生成的DH公开值。
成员组密钥生成模块,用于接收其它通信设备广播的DH公开值和中间消息,根据中间消息计算组织者选取的DH机密值,根据广播中间消息的通信设备广播的DH公开值验证DH机密值正确后,根据DH机密值和广播中间消息的通信设备之外的其它通信设备广播的DH公开值生成组密钥。
为了进一步完善上述通信设备,当有成员加入或退出时,该通信设备还包括:
组密钥更新模块,用于当有新成员加入时,通知DH公开值生成与广播模块为新加入的成员生成并广播DH公开值。
当有新成员加入时,组密钥更新模块通知DH公开值生成与广播模块根据系统参数选取模块选取的系统参数为新成员选取DH机密值,根据系统参数和选取的DH机密值生成新成员的DH公开值,并广播新成员的DH公开值;成员组密钥生成模块收到中间消息后,根据中间消息计算组织者选取的新DH机密值,根据收到的组织者的新DH公开值验证新DH机密值正确后,根据新DH机密值和DH公开值生成与广播模块广播的新成员的DH公开值生成新组密钥。
当有成员退出时,成员组密钥生成模块收到的新中间消息后,根据新中间消息计算组织者选取的新DH机密值,根据收到的组织者的新DH公开值验证新DH机密值正确后,根据新DH机密值和DH公开值生成与广播模块广播的剩余成员的DH公开值生成新组密钥。
以上实施例具有:
1)安全性能更高:椭圆曲线离散对数问题的计算复杂度目前是完全指数级的,而RSA(RSA公钥密码体制)是亚指数级的。
2)计算量小和处理速度快:在相同的计算资源条件下,椭圆曲线体制比RSA和DSA(数字签名标准)有更快的处理速度。
3)存储空间占用小:椭圆曲线体制的密钥长度和系统参数与RSA及DSA相比要小得多。160比特ECC与1024比特RSA、DSA具有相同的安全强度,210比特ECC则与2048比特RSA、DSA具有相同的安全强度,这意味着它所占的存储空间要小得多。
4)带宽要求低:对于给定的安全级别,ECC比RSA和DSA有更小的参数。对于更高的安全级别,参数大小的差异更加明显。更小的参数带来的好处是,计算速度更快,密钥更短和密钥证书更小,因而签名长度和密文长度更短。
综上,椭圆曲线密码可以用较小的开销(如带宽,计算量,存储空间,功耗等)和时延实现较高的安全性,特别适用于计算能力和带宽受限的情况,如Ad Hoc网络环境下的安全通信等。与同类方案相比,在达到相同的安全性时,具有计算速度快、存储空间占用小和网络带宽要求低的特点。
本发明实施例支持成员的加入和退出,由于有成员加入时只需新加入的成员与组织者的参与协议、有成员退出时只需组织者重新选择随机数而其余成员的随机数不必重选,所以计算速度快、存储空间占用小、使用灵活。
本发明实施例提供的技术方案在大规模群组通信时,能在增加较小通信量的条件下有效降低组织者的计算负载。同时,由于该协议是基于椭圆曲线密码体制的,因此还能获的较高的协议运行效率,包括较低的协议交互轮数、较低的网络带宽占用量、较小的密钥存储空间和较快的计算速度等。
以上实施例提供的技术方案可以通过硬件和软件实现,软件存储在可读取的存储介质上,如计算机的软盘,硬盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种生成组密钥的方法,其特征在于,基于椭圆曲线选取系统参数,并执行以下步骤:
组内成员组成星形结构,并在所述组内成员中选取组织者;
所述组内成员根据所述系统参数各自随机选取DH机密值,根据所述系统参数和选取的DH机密值各自生成DH公开值,并在组内广播所述DH公开值;
所述组织者收到组内其它成员的DH公开值后,选取秘密指数,根据所述秘密指数计算中间消息DH值,生成携带所述中间消息DH值的中间消息,在组内广播所述中间消息,并根据所选取的DH机密值和所述组织者之外的组内其它成员的DH公开值生成组密钥;
所述组织者之外的组内其它成员收到所述中间消息和所述组织者的DH公开值后,根据所述中间消息计算所述组织者选取的DH机密值,根据收到的所述组织者的DH公开值验证所述DH机密值正确后,根据所述DH机密值和所述组内其它成员的DH公开值生成组密钥。
2.如权利要求1所述的生成组密钥的方法,其特征在于,所述根据所述秘密指数计算中间消息DH值的步骤具体包括:
根据所述秘密指数z计算中间消息DH值zP,所述秘密指数z为从整数模q所得到的最小非负余数的集合Zq中选择的随机数,所述q为所述系统参数中的素数,所述P为所述系统参数中的公开基点。
3.如权利要求2所述的生成组密钥的方法,其特征在于,所述生成携带所述中间消息DH值的中间消息的步骤具体包括:
提取中间消息DH值zP在椭圆曲线上对应的点的x坐标值x,并根据所述组织者选取的DH机密值r1计算中间消息的组织者分量r1x(modp),所述p为所述系统参数中的素数;
根据所述秘密指数z和组织者之外的组内其它成员广播的所述DH公开值Xi=riP计算中间消息的其它成员分量r2zP,r3zP,...,rnzP,所述i=2,...,n,所述n为组内成员数;
根据所述中间消息的组织者分量和所述中间消息的其它成员分量生成中间消息{c1,c2,...,cn}={r1x(modp),r2zP,r3zP,...,rnzP}。
4.如权利要求3所述的生成组密钥的方法,其特征在于,所述根据所述中间消息计算所述组织者选取的DH机密值的步骤具体包括:
根据所述中间消息{c1,c2,...,cn}={r1x(modp),r2zP,r3zP,...,rnzP}和所选取的DH机密值ri计算所述中间消息DH值zP,提取中间消息DH值zP在椭圆曲线上对应的点的x坐标值x,计算组织者选取的DH机密值r1=c1x-1(modp)。
5.如权利要求1所述的生成组密钥的方法,其特征在于,所述根据所选取的DH机密值和所述组织者之外的组内其它成员的DH公开值生成组密钥的步骤具体包括:
组织者根据所述组内其它成员的DH公开值Xi=riP和所述组织者所选取的DH机密值r1生成组密钥K=r1(r2P+r3P+...+rnP),所述i=2,…,n,所述n为组内成员数,所述P为所述系统参数中的公开基点。
6.如权利要求1所述的生成组密钥的方法,其特征在于,所述根据收到的所述组织者的DH公开值验证所述DH机密值的步骤具体包括:
根据计算出的所述组织者选取的DH机密值r1和所述系统参数中选择的公开基点P计算r1P;
验证收到的所述组织者的DH公开值X1是否与计算出的r1P相等,如果相等,则所述DH机密值正确。
7.如权利要求1所述的生成组密钥的方法,其特征在于,所述根据所述DH机密值和所述组内其它成员的DH公开值生成组密钥的步骤具体包括:
根据所述组织者选取的DH机密值r1和所述组织者之外的组内其它成员广播的DH公开值Xi=riP,生成组密钥K=r1(r2P+r3P+...+rnP),所述i=2,…,n,所述n为组内成员数,所述P为所述系统参数中的公开基点。
8.如权利要求1所述的生成组密钥的方法,其特征在于,当有新成员加入时,所述方法还包括:
将新成员与所述组内成员组成新的星形结构;
所述组织者和所述新成员根据所述系统参数各自随机选取新DH机密值,根据所述系统参数和选取的新DH机密值各自生成新DH公开值,并在组内广播所述新DH公开值;
所述组织者收到所述新DH公开值后,将所述组密钥的x坐标值或y坐标值作为新秘密指数,根据所述新秘密指数计算新中间消息DH值,生成携带所述新中间消息DH值的新中间消息,在组内广播所述新中间消息,并根据所选取的新DH机密值和所述新成员的新DH公开值生成新组密钥;
所述组织者之外的组内其它成员收到所述组织者的新中间消息、所述组织者的新DH公开值和所述新成员的新DH公开值后,根据所述新中间消息计算所述组织者选取的新DH机密值,根据收到的所述组织者的新DH公开值验证所述新DH机密值正确后,根据所述新DH机密值和所述组内新成员的新DH公开值生成新组密钥。
9.如权利要求8所述的生成组密钥的方法,其特征在于,所述生成携带所述新中间消息DH值的新中间消息的步骤具体包括:
提取新中间消息DH值z′P在椭圆曲线上对应的点的x坐标值x′,并根据所述组织者选取的新DH机密值r′1计算新中间消息的组织者分量r′1x′(mod p),其中,所述p为所述系统参数中的素数,所述z′=xK,所述xK为所述组密钥的x轴坐标值,所述P为所述系统参数中的公开基点;
根据所述秘密指数z′和所述新成员广播的DH公开值X′i=r′iP计算新中间消息的新成员分量r′n+1z′P,r′n+2z′P,…,r′n+tz′P,所述i=n+1,…,n+t,所述n为未加入新成员前组内成员数,所述t为新成员数;
根据所述新中间消息的组织者分量和所述新中间消息的新成员分量生成新中间消息{c′1,c′n+1,…,c′n+t}={r′1x′(mod p),r′n+1z′P,r′n+2z′P,…,r′n+tz′P}。
10.如权利要求8所述的生成组密钥的方法,其特征在于,所述根据所选取的新DH机密值和所述新成员的新DH公开值生成新组密钥的步骤具体包括:
组织者根据所述新成员的DH公开值X′i=r′iP和所述组织者所选取的新DH机密值r′1生成组密钥K′=r′1(r′n+1P+r′n+2P+…r′n+tP),所述i=n+1,…,n+t,所述n为未加入新成员前组内成员数,所述t为新成员数,所述P为所述系统参数中的公开基点。
11.如权利要求8所述的生成组密钥的方法,其特征在于,所述根据所述新DH机密值和所述组内新成员的新DH公开值生成新组密钥的步骤具体包括:
根据所述组织者选取的新DH机密值r′1和所述新成员广播的DH公开值X′i=r′iP,生成新组密钥K′=r′1(r′n+1P+r′n+2P+…r′n+tP),所述i=n+1,…,n+t,所述n为未加入新成员前组内成员数,所述t为新成员数,所述P为所述系统参数中的公开基点。
12.如权利要求1所述的生成组密钥的方法,其特征在于,当有成员退出后,所述方法还包括:
组织者根据所述系统参数选取新DH机密值,根据所述系统参数和选取的新DH机密值生成新DH公开值,并在组内广播所述新DH公开值;
所述组织者选取新秘密指数,根据所述新秘密指数计算新中间消息DH值,生成携带所述新中间消息DH值的新中间消息,在组内广播所述新中间消息,并根据所选取的新DH机密值和组织者之外的组内剩余成员的DH公开值生成新组密钥;
组织者之外的组内剩余成员收到所述新中间消息和所述组织者的新DH公开值后,根据所述新中间消息计算所述组织者选取的新DH机密值,根据收到的所述组织者的新DH公开值验证所述新DH机密值正确后,根据所述新DH机密值和所述组织者之外的组内剩余成员的DH公开值生成新组密钥。
13.如权利要求12所述的生成组密钥的方法,其特征在于,所述生成携带所述新中间消息DH值的新中间消息的步骤具体包括:
提取新中间消息DH值z′P在椭圆曲线上对应的点的x坐标值x′,并根据所述组织者选取的新DH机密值r′1计算新中间消息的组织者分量r′1x′(modp),所述p为所述系统参数中的素数;
根据所述秘密指数z′和组织者之外的组内剩余成员广播的DH公开值X′i=r′iP计算新中间消息的剩余成员分量 r 2 ′ z ′ P , , · · · , r j 1 - 1 ′ z ′ P , r j 1 + 1 ′ z ′ P , · · · , r j k - 1 ′ z ′ P , r j k + 1 ′ z ′ P , · · · , r n ′ z ′ P , 所述i=2,…,j1-1,j1+1,...,jk-1,jk+1,…n,所述k为退出的成员数;
根据所述新中间消息的组织者分量和所述新中间消息的剩余成员分量生成新中间消息 { c 1 ′ , · · · , c j 1 - 1 ′ , c j 1 + 1 ′ , · · · , c j k - 1 ′ , c j k + 1 ′ , · · · , c n ′ } = { r 1 ′ x ′ ( mod p ) , · · · , r j 1 - 1 ′ z ′ P , r j 1 + 1 ′ z ′ P , · · · , r j k - 1 ′ z ′ P , r j k + 1 ′ z ′ P , · · · , r n ′ z ′ P } .
14.一种生成组密钥的系统,其特征在于,所述系统包括:用于组织者的通信设备和用于成员的通信设备;
所述用于组织者的通信设备用于根据系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并在组内广播所述DH公开值;收到其它设备的DH公开值后,选取秘密指数,根据所述秘密指数计算中间消息DH值,生成携带所述中间消息DH值的中间消息,并在组内广播所述中间消息;以及根据所选取的DH机密值和组内所有设备的DH公开值生成组密钥;
所述用于成员的通信设备用于根据系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并广播所述DH公开值;收到所述用于组织者的通信设备广播的DH公开值和中间消息后,根据所述中间消息计算组织者选取的DH机密值,验证所述DH机密值正确后,根据所述DH机密值组内所有设备的DH公开值生成组密钥。
15.如权利要求14所述的生成组密钥的系统,其特征在于,所述用于组织者的通信设备和用于成员的通信设备包括:
组密钥更新模块,用于当有新成员加入或退出所述组时,生成并广播新DH公开值。
16.一种通信设备,其特征在于,所述通信设备包括:
系统参数选取模块,用于选取基于椭圆曲线的系统参数;
DH公开值生成与广播模块,用于根据所述系统参数选取模块选取的系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并广播所述DH公开值;
中间消息生成与广播模块,用于收到其它通信设备广播的DH公开值后,选取秘密指数,根据所述秘密指数计算中间消息DH值,根据所述DH公开值生成与广播模块选取的DH机密值,生成携带所述中间消息DH值的中间消息,并广播所述中间消息;
组织者组密钥生成模块,用于接收其它通信设备广播的DH公开值,并根据所述DH公开值生成与广播模块中所选取的DH机密值和所述其它通信设备广播的DH公开值生成组密钥。
17.如权利要求16所述的通信设备,其特征在于,所述通信设备还包括:
组密钥更新模块,用于当有新成员加入或退出所述组时,通知所述DH公开值生成与广播模块生成并广播新DH公开值。
18.一种通信设备,其特征在于,所述通信设备包括:
系统参数选取模块,用于选取基于椭圆曲线的系统参数;
DH公开值生成与广播模块,用于根据所述系统参数选取模块选取的系统参数选取DH机密值,根据所述系统参数和选取的DH机密值生成DH公开值,并广播所述DH公开值;
成员组密钥生成模块,用于接收其它通信设备广播的DH公开值和中间消息,根据所述中间消息计算组织者选取的DH机密值,根据广播所述中间消息的通信设备广播的DH公开值验证所述DH机密值正确后,根据所述DH机密值和广播所述中间消息的通信设备之外的其它通信设备广播的DH公开值生成组密钥。
19.如权利要求18所述的通信设备,其特征在于,所述通信设备还包括:
组密钥更新模块,用于当有新成员加入所述组时,通知所述DH公开值生成与广播模块为新加入的成员生成并广播新DH公开值。
CN2007101003755A 2007-06-08 2007-06-08 一种生成组密钥的方法、系统和设备 Active CN101321053B (zh)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CN2007101003755A CN101321053B (zh) 2007-06-08 2007-06-08 一种生成组密钥的方法、系统和设备
EP08757518.9A EP2124381B1 (en) 2007-06-08 2008-05-27 Method, system and device for generating group key
ES08757518T ES2428381T3 (es) 2007-06-08 2008-05-27 Método, sistema y dispositivo para generar una clave de grupo
PL08757518T PL2124381T3 (pl) 2007-06-08 2008-05-27 Sposób, system i urządzenie do generowania klucza grupowego
PCT/CN2008/071104 WO2008151540A1 (fr) 2007-06-08 2008-05-27 Procédé, système et dispositif pour générer une clé de groupe
US12/603,920 US8280059B2 (en) 2007-06-08 2009-10-22 Method, system and device for generating group key

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2007101003755A CN101321053B (zh) 2007-06-08 2007-06-08 一种生成组密钥的方法、系统和设备

Publications (2)

Publication Number Publication Date
CN101321053A true CN101321053A (zh) 2008-12-10
CN101321053B CN101321053B (zh) 2011-09-14

Family

ID=40129241

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007101003755A Active CN101321053B (zh) 2007-06-08 2007-06-08 一种生成组密钥的方法、系统和设备

Country Status (6)

Country Link
US (1) US8280059B2 (zh)
EP (1) EP2124381B1 (zh)
CN (1) CN101321053B (zh)
ES (1) ES2428381T3 (zh)
PL (1) PL2124381T3 (zh)
WO (1) WO2008151540A1 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111266A (zh) * 2009-12-28 2011-06-29 航天信息股份有限公司 基于椭圆曲线的组密钥产生方法
CN102256248A (zh) * 2011-07-05 2011-11-23 淮阴工学院 一种Ad hoc组密钥管理方案
CN106452736A (zh) * 2016-08-12 2017-02-22 数安时代科技股份有限公司 密钥协商方法和系统
CN106850229A (zh) * 2017-01-22 2017-06-13 武汉理工大学 基于乘积秘密分割的sm2数字签名生成方法及系统
CN109548017A (zh) * 2013-03-05 2019-03-29 华为技术有限公司 一种密钥交互方法及装置
CN109981293A (zh) * 2019-03-28 2019-07-05 郑州师范学院 一种成员撤销处理方法、装置、设备及存储介质
CN112422276A (zh) * 2020-11-04 2021-02-26 郑州信大捷安信息技术股份有限公司 一种多方密钥协商的实现方法及系统
WO2021068258A1 (zh) * 2019-10-12 2021-04-15 华为技术有限公司 获得安全参数的方法及装置
CN115314203A (zh) * 2022-10-11 2022-11-08 南京易科腾信息技术有限公司 群组密钥协商方法

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101202622A (zh) * 2006-12-15 2008-06-18 上海交通大学 一种减小参数传输带宽的方法和装置以及密钥交换方法
NO331571B1 (no) 2009-10-30 2012-01-30 Uni I Stavanger System for a beskytte en kryptert informasjonsenhet
WO2011147092A1 (zh) * 2010-05-27 2011-12-01 华南理工大学 一种基于线性几何的等级群组密钥管理方法
US20120233457A1 (en) * 2011-03-08 2012-09-13 Certicom Corp. Issuing implicit certificates
CN103096308B (zh) * 2011-11-01 2016-01-20 华为技术有限公司 生成组密钥的方法和相关设备
KR101275830B1 (ko) 2011-11-07 2013-06-18 숭실대학교산학협력단 그룹키 관리 장치 및 방법, 그리고 그 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 기록매체
US8681992B2 (en) * 2012-02-13 2014-03-25 Alephcloud Systems, Inc. Monitoring and controlling access to electronic content
US9092780B2 (en) * 2012-02-13 2015-07-28 PivotCloud, Inc. User-mediator monitoring and controlling access to electronic content
US20140297333A1 (en) * 2012-02-13 2014-10-02 Alephcloud Systems, Inc. User-mediator mediating transfer of electronic content
US10938563B2 (en) * 2017-06-30 2021-03-02 Intel Corporation Technologies for provisioning cryptographic keys
US11496301B2 (en) * 2020-02-21 2022-11-08 International Business Machines Corporation Publish/subscribe messaging
CN114338016B (zh) * 2022-01-08 2023-11-24 安徽师范大学 一种基于群组密钥协商的危害废料区块链监管系统、方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5272755A (en) * 1991-06-28 1993-12-21 Matsushita Electric Industrial Co., Ltd. Public key cryptosystem with an elliptic curve
US6212279B1 (en) * 1998-06-26 2001-04-03 The United States Of America As Represented By The United States National Security Agency Method of elliptic curve cryptographic key exchange using reduced base tau expansion in non-adjacent form
US7181014B1 (en) 1999-09-10 2007-02-20 Cisco Technology, Inc. Processing method for key exchange among broadcast or multicast groups that provides a more efficient substitute for Diffie-Hellman key exchange
US6987855B1 (en) 1999-09-10 2006-01-17 Cisco Technology, Inc. Operational optimization of a shared secret Diffie-Hellman key exchange among broadcast or multicast groups
US6941457B1 (en) 2000-06-30 2005-09-06 Cisco Technology, Inc. Establishing a new shared secret key over a broadcast channel for a multicast group based on an old shared secret key
US7096356B1 (en) 2001-06-27 2006-08-22 Cisco Technology, Inc. Method and apparatus for negotiating Diffie-Hellman keys among multiple parties using a distributed recursion approach
JP2003324418A (ja) * 2002-02-27 2003-11-14 Canon Inc 画像処理装置、データ処理装置及びデータ処理方法
JP2004297578A (ja) * 2003-03-27 2004-10-21 Matsushita Electric Ind Co Ltd 公開鍵生成装置、共有鍵生成装置、鍵交換装置、及び鍵交換方法
FI118619B (fi) * 2003-05-16 2008-01-15 Jarmo Talvitie Menetelmä ja järjestelmä tiedon salaamiseksi ja tallentamiseksi
CN1667999A (zh) * 2005-01-18 2005-09-14 中国电子科技集团公司第三十研究所 一种移动自组网络中移动节点间的保密通信方法
DE102006027639B4 (de) * 2006-06-13 2008-06-19 Nec Europe Ltd. Verfahren zur Etablierung eines geheimen Schlüssels

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111266B (zh) * 2009-12-28 2014-01-15 航天信息股份有限公司 基于椭圆曲线的组密钥产生方法
CN102111266A (zh) * 2009-12-28 2011-06-29 航天信息股份有限公司 基于椭圆曲线的组密钥产生方法
CN102256248A (zh) * 2011-07-05 2011-11-23 淮阴工学院 一种Ad hoc组密钥管理方案
CN102256248B (zh) * 2011-07-05 2015-01-21 淮阴工学院 一种Ad hoc组密钥管理方案
US11025414B2 (en) 2013-03-05 2021-06-01 Huawei Technologies Co., Ltd. Key exchange method and apparatus
CN109548017A (zh) * 2013-03-05 2019-03-29 华为技术有限公司 一种密钥交互方法及装置
CN109548017B (zh) * 2013-03-05 2020-10-09 华为技术有限公司 一种密钥交互方法及装置
US11777716B2 (en) 2013-03-05 2023-10-03 Huawei Technologies Co., Ltd. Key exchange method and apparatus
CN106452736A (zh) * 2016-08-12 2017-02-22 数安时代科技股份有限公司 密钥协商方法和系统
CN106452736B (zh) * 2016-08-12 2019-05-17 数安时代科技股份有限公司 密钥协商方法和系统
CN106850229A (zh) * 2017-01-22 2017-06-13 武汉理工大学 基于乘积秘密分割的sm2数字签名生成方法及系统
CN106850229B (zh) * 2017-01-22 2019-10-25 武汉理工大学 基于乘积秘密分割的sm2数字签名生成方法及系统
CN109981293A (zh) * 2019-03-28 2019-07-05 郑州师范学院 一种成员撤销处理方法、装置、设备及存储介质
WO2021068258A1 (zh) * 2019-10-12 2021-04-15 华为技术有限公司 获得安全参数的方法及装置
CN112422276B (zh) * 2020-11-04 2022-03-25 郑州信大捷安信息技术股份有限公司 一种多方密钥协商的实现方法及系统
CN112422276A (zh) * 2020-11-04 2021-02-26 郑州信大捷安信息技术股份有限公司 一种多方密钥协商的实现方法及系统
CN115314203A (zh) * 2022-10-11 2022-11-08 南京易科腾信息技术有限公司 群组密钥协商方法
CN115314203B (zh) * 2022-10-11 2022-12-20 南京易科腾信息技术有限公司 群组密钥协商方法

Also Published As

Publication number Publication date
ES2428381T3 (es) 2013-11-07
PL2124381T3 (pl) 2013-11-29
US20100040236A1 (en) 2010-02-18
CN101321053B (zh) 2011-09-14
US8280059B2 (en) 2012-10-02
EP2124381A4 (en) 2012-02-29
EP2124381A1 (en) 2009-11-25
WO2008151540A1 (fr) 2008-12-18
EP2124381B1 (en) 2013-07-17

Similar Documents

Publication Publication Date Title
CN101321053B (zh) 一种生成组密钥的方法、系统和设备
He et al. A pairing‐free certificateless authenticated key agreement protocol
CN104660415B (zh) 移动云计算下多域间非对称群组密钥协商协议的方法
CN101291214B (zh) 一种生成组密钥的方法、系统和设备
Li et al. Securing cluster-based ad hoc networks with distributed authorities
CN101702804B (zh) 基于自认证公钥的两方密钥协商方法
Han et al. An ID‐based mutual authentication with key agreement protocol for multiserver environment on elliptic curve cryptosystem
Singh et al. Distributed Hierarchical Group Key Management using Elliptic Curve and Hash Function
Zheng et al. A communication–computation efficient group key algorithm for large and dynamic groups
Deng Anonymous certificateless multi-receiver encryption scheme for smart community management systems
Sheikhi‐Garjan et al. Threshold verifiable multi‐secret sharing based on elliptic curves and Chinese remainder theorem
Deng et al. Identity based two-party authenticated key agreement scheme for vehicular ad hoc networks
CN101820626B (zh) 基于无线mesh网络身份的无可信pkg的部分盲签名方法
Rong et al. Authenticated health monitoring scheme for wireless body sensor networks
Miyaji et al. Self‐healing wireless sensor networks
Zhang et al. Verifiable rational secret sharing scheme in mobile networks
Tan Efficient identity-based authenticated multiple key exchange protocol
Saraswathi et al. Dynamic group key management scheme for clustered wireless sensor networks
Jilna et al. A key management technique based on elliptic curves for static wireless sensor networks
Li et al. Identity-based and threshold key management in mobile ad hoc networks
Meng et al. A novel verifiable threshold signature scheme based on bilinear pairing in mobile ad hoc network
Ghoreishi et al. A novel secure two-party identity-based authenticated key agreement protocol without bilinear pairings
Kaur et al. Implementing RSA Algorithm in MANET and Comparison with RSA Digital Signature
Bhirud et al. Data Security Using Elliptic Curve Cryptography
Niu Study and implementation of a improved group key protocol for mobile ad hoc 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