CN101291214A - A method, system and device for generating a group key - Google Patents
A method, system and device for generating a group key Download PDFInfo
- Publication number
- CN101291214A CN101291214A CNA200710098508XA CN200710098508A CN101291214A CN 101291214 A CN101291214 A CN 101291214A CN A200710098508X A CNA200710098508X A CN A200710098508XA CN 200710098508 A CN200710098508 A CN 200710098508A CN 101291214 A CN101291214 A CN 101291214A
- Authority
- CN
- China
- Prior art keywords
- key
- group
- group key
- members
- module
- 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
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Storage Device Security (AREA)
Abstract
Description
技术领域 technical field
本发明涉及网络通信领域,特别涉及一种生成组密钥的方法、系统和设备。The invention relates to the field of network communication, in particular to a method, system and equipment for generating a group key.
背景技术 Background technique
利用多方共享组密钥来解决组通信安全的关键是组密钥的生成和分发,这种生成和分发必须是排外的,即非组成员无法获得组密钥。目前已有的组密钥管理技术可以分为两大类:集中管理式和分布协商式。与集中管理式相比,分布协商式组密钥管理技术适合使用在不能或无法建立中心控制节点的场合,比如军用Ad hoc网络、P2P网络、保密视频会议等。现有的组密钥协商方案都是基于有限域上离散对数难解问题的,以Burmester-Desmedt方案(BD方案)为例进行说明,该方案中用n表示组内的成员数,U表示组成员,SK表示组密钥。参见图1,为现有技术中Burmester-Desmedt组密钥协商方法的流程图,该Burmester-Desmedt组密钥协商方法具体如下:The key to solve group communication security by using multi-party shared group key is the generation and distribution of the group key, which must be exclusive, that is, non-group members cannot obtain the group key. The existing group key management technologies can be divided into two categories: centralized management and distributed negotiation. Compared with the centralized management type, the distributed negotiation group key management technology is suitable for use in occasions where a central control node cannot or cannot be established, such as military Ad hoc networks, P2P networks, and confidential video conferences. The existing group key agreement schemes are all based on the discrete logarithm problem over finite fields. The Burmester-Desmedt scheme (BD scheme) is used as an example to illustrate. In this scheme, n represents the number of members in the group, and U represents Group member, SK represents the group key. Referring to Fig. 1, it is a flowchart of the Burmester-Desmedt group key agreement method in the prior art, and the Burmester-Desmedt group key agreement method is specifically as follows:
步骤101:选择系统参数。设p,q为大素数,Zp是整数模p构成的集合,g是Zp中的一个元素,且g的阶为q,q即gq≡1modp的最小正整数。Step 101: Select system parameters. Let p, q be a large prime number, Z p is a set composed of integers modulo p, g is an element in Z p , and the order of g is q, q is the smallest positive integer of g q ≡ 1modp.
步骤102:组内成员集合{U1,U2,…,Un}组成一个逻辑环,参见图2,为n个成员U1,U2,…,Un组成环的示意图。Step 102 : A set of members { U 1 , U 2 , .
步骤103:每个成员Ui随机从Zp中选择一个数ri,计算
步骤104:每个成员Ui计算
步骤105:计算组密钥,每个成员Ui计算组密钥
通过上述步骤,每个成员计算的都是同一个结果,即组密钥
该Burmester-Desmedt组密钥协商方法的缺点是:计算量较大,造成处理速度慢;占用的存储空间比较大;另外对带宽的要求高。The disadvantages of the Burmester-Desmedt group key agreement method are: large amount of calculation, resulting in slow processing speed; relatively large storage space; and high bandwidth requirements.
发明内容 Contents of the invention
为了解决现有技术中组密钥协商方法计算量较大、占用存储空间较大,且对带宽要求较高的问题,本发明实施例提供了一种生成组密钥的方法、系统和设备。In order to solve the problems that the group key negotiation method in the prior art has a large amount of calculation, occupies a large storage space, and requires high bandwidth, the embodiments of the present invention provide a method, system and device for generating a group key.
一种生成组密钥的方法,所述方法包括:A method of generating a group key, the method comprising:
组内成员组成一个逻辑环,所述环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;The members in the group form a logical ring, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group;
选择基于椭圆曲线的系统参数,所述系统参数包括:素数q,整数模q所得到的最小非负余数的集合Zp,基于椭圆曲线的公开基点P;Select system parameters based on elliptic curves, the system parameters include: prime number q, set Z p of the smallest non-negative remainder obtained by integer modulo q, and public base point P based on elliptic curves;
根据椭圆曲线上的Diffie-Hellman密钥协商协议和所述系统参数,成员Ui与成员Ui-1生成两两共享密钥Ki-1,i,与成员Ui+1生成两两共享密钥Ki,i+1;且,当i=n时,所述i+1=1;According to the Diffie-Hellman key agreement protocol on the elliptic curve and the system parameters, member U i and member U i-1 generate a pairwise shared key K i-1,i , and member U i+1 generates a pairwise shared key K i-1,i Key K i, i+1 ; and, when i=n, said i+1=1;
所述成员Ui根据所述两两共享密钥Ki-1,i和所述两两共享密钥Ki,i+1生成中间值,并在组内广播携带所述中间值的组密钥协商报文;The member U i generates an intermediate value according to the pairwise shared key K i-1,i and the pairwise shared key K i,i+1 , and broadcasts a group key carrying the intermediate value within the group Key negotiation message;
所述成员Ui收到所有其他成员广播的所述组密钥协商报文后,提取所述中间值,根据所述中间值计算其他成员与所述其他成员的下一个成员的两两共享密钥;After the member U i receives the group key negotiation message broadcast by all other members, it extracts the intermediate value, and calculates the pairwise shared secret between the other member and the next member of the other member according to the intermediate value. key;
验证所述两两共享密钥Ki,i+1是否等于两两共享密钥Ki+1,i,验证通过,所述成员Ui根据所有两两共享密钥生成组密钥SK=K1,2+K2,3+…+Kn,1。Verify whether the pairwise shared key K i,i+1 is equal to the pairwise shared key K i+1,i , the verification is passed, and the member U i generates a group key SK=K based on all pairwise shared keys 1, 2 + K 2, 3 + . . . + K n, 1 .
本发明实施例还提供了一种生成组密钥的系统,所述系统包括:The embodiment of the present invention also provides a system for generating a group key, the system comprising:
逻辑环组成模块,用于将组内成员组成一个逻辑环,所述环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;A logic ring forming module is used to form a logical ring of members in the group, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group;
系统参数选择模块,用于选择基于椭圆曲线的系统参数;A system parameter selection module for selecting system parameters based on elliptic curves;
报文收发模块,用于发送和接收组密钥协商报文,所述组密钥协商报文携带所述逻辑环组成模块中的成员生成的D-H公钥值和中间值;A message sending and receiving module, configured to send and receive a group key negotiation message, where the group key negotiation message carries the D-H public key value and intermediate value generated by members in the logical ring composition module;
组密钥生成模块,用于根据所述系统参数选择模块选择的系统参数和从所述报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。A group key generation module, configured to generate a group key according to the system parameters selected by the system parameter selection module and the D-H public key value and intermediate value in the group key negotiation message received from the message transceiver module.
本发明实施例还提供了一种生成组密钥的设备,所述设备包括:The embodiment of the present invention also provides a device for generating a group key, and the device includes:
逻辑环组成模块,用于与组内设备组成一个逻辑环,本设备用Ui表示,其中,i=1,2,……,n,所述n为组内设备总数;A logical ring forming module is used to form a logical ring with the equipment in the group, and the equipment is represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of equipment in the group;
系统参数选择模块,用于所述逻辑环组成模块完成逻辑环组成后,选择基于椭圆曲线的系统参数;A system parameter selection module, used for selecting system parameters based on elliptic curves after the logical ring composition module completes the logical ring composition;
D-H公钥值计算模块,用于根据所述系统参数选择模块选择的系统参数,计算D-H公钥值,并通过报文收发模块发送给设备Ui-1和设备Ui+1;The DH public key value calculation module is used to calculate the DH public key value according to the system parameters selected by the system parameter selection module, and send it to the device U i-1 and the device U i+1 through the message sending and receiving module;
共享密钥生成模块,用于根据Diffie-Hellman密钥协商协议、从报文收发模块接收的设备Ui-1和设备Ui+1的D-H公钥值,分别生成两两共享密钥Ki-1,i和两共享密钥Ki,i+1;The shared key generation module is used to generate pairwise shared keys K i respectively according to the Diffie-Hellman key agreement protocol and the DH public key values of the device U i-1 and the device U i+1 received from the message sending and receiving module -1, i and two shared keys K i, i+1 ;
中间值生成模块,用于根据所述共享密钥生成模块所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;An intermediate value generating module, configured to generate an intermediate value according to the pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generating module;
报文收发模块,用于发送和接收组密钥协商报文,所述组密钥协商报文携带所述D-H公钥值计算模块计算的D-H公钥值或所述中间值生成模块生成的中间值;A message transceiver module, configured to send and receive a group key negotiation message, the group key negotiation message carrying the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module value;
组密钥生成模块,用于根据所述系统参数选择模块选择的系统参数和从所述报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。A group key generation module, configured to generate a group key according to the system parameters selected by the system parameter selection module and the D-H public key value and intermediate value in the group key negotiation message received from the message transceiver module.
本发明实施例提供的方案与同类方案相比,在达到相同的安全性时,具有计算速度快、存储空间占用小和网络带宽要求低的特点。Compared with similar solutions, the solution provided by the embodiment of the present invention has the characteristics of fast calculation speed, small storage space occupation and low network bandwidth requirement when achieving the same security.
附图说明 Description of drawings
图1是现有技术中提供的Burmester-Desmedt组密钥协商方法的流程图;Fig. 1 is the flowchart of the Burmester-Desmedt group key agreement method provided in the prior art;
图2是现有技术中提供的n个成员U1,U2,…,Un组成环的示意图;Fig. 2 is a schematic diagram of a ring composed of n members U 1 , U 2 ,..., U n provided in the prior art;
图3是本发明实施例1提供的生成组密钥的方法的流程图;FIG. 3 is a flowchart of a method for generating a group key provided in Embodiment 1 of the present invention;
图4是本发明实施例1提供的3个成员组成一个逻辑环的示意图;Fig. 4 is a schematic diagram of a logical ring composed of three members provided by Embodiment 1 of the present invention;
图5是本发明实施例1提供的4个成员组成一个逻辑环的示意图;FIG. 5 is a schematic diagram of four members forming a logical ring provided by Embodiment 1 of the present invention;
图6是本发明实施例2提供的新成员加入组时生成组密钥的方法的流程图;6 is a flowchart of a method for generating a group key when a new member joins a group provided by Embodiment 2 of the present invention;
图7是本发明实施例4提供的可认证的生成组密钥的方法的流程图;FIG. 7 is a flow chart of an authenticated method for generating a group key provided in Embodiment 4 of the present invention;
图8是本发明实施例5提供的生成组密钥的系统示意图;FIG. 8 is a schematic diagram of a system for generating a group key provided by Embodiment 5 of the present invention;
图9是本发明实施例6提供的生成组密钥的设备示意图。FIG. 9 is a schematic diagram of a device for generating a group key provided by Embodiment 6 of the present invention.
具体实施方式 Detailed ways
下面结合附图和具体实施例对本发明作进一步说明,但本发明不局限于以下实施例。The present invention will be further described below in conjunction with the accompanying drawings and specific embodiments, but the present invention is not limited to the following embodiments.
实施例1Example 1
本发明实施例提供了一种生成组密钥的方法,该方法基于椭圆曲线密码系统,这里简单地介绍一下椭圆曲线密码学ECC(Elliptic Curves Cryptography,椭圆曲线密码学),它是在1985年由Neal Koblitz和Victor Miller独立提出来的。这种密码体制具有安全性能高、计算量小、密钥长度短、处理速度快、存储空间占用小和带宽要求低等特点,因而在安全领域具有广泛的应用前景。近年来,椭圆曲线密码系统已被诸如ANSI(American NationalStandard Institute,美国国家标准学会)、IEEE(Institute of Electrical and ElectronicsEngineers,美国电气及电子工程师学会)、ISO(International StandardizationOrganization,国际标准化组织)和NIST(National Institute of Standards and Technology,美国国家标准和技术学会)等标准化组织纳入为标准。The embodiment of the present invention provides a method for generating a group key, the method is based on elliptic curve cryptography, here is a brief introduction to elliptic curve cryptography ECC (Elliptic Curves Cryptography, elliptic curve cryptography), which was developed in 1985 Independently proposed by Neal Koblitz and Victor Miller. This cryptographic system has the characteristics of high security performance, small amount of calculation, short key length, fast processing speed, small storage space occupation and low bandwidth requirement, so it has a wide application prospect in the security field. In recent years, elliptic curve cryptosystem has been adopted by such as ANSI (American National Standard Institute, American National Standards Institute), IEEE (Institute of Electrical and Electronics Engineers, American Institute of Electrical and Electronics Engineers), ISO (International Standardization Organization, International Organization for Standardization) and NIST ( National Institute of Standards and Technology, American National Institute of Standards and Technology) and other standardization organizations are included as standards.
本实施例用n表示组内的成员数,U表示组成员,SK表示组密钥。参见图3,为本发明实施例生成组密钥的方法的流程图,该方法具体步骤如下:In this embodiment, n represents the number of members in the group, U represents the group members, and SK represents the group key. Referring to Fig. 3, it is a flowchart of a method for generating a group key according to an embodiment of the present invention, and the specific steps of the method are as follows:
步骤301:一组成员U1,...,Un组成一个逻辑环,例如系统初始化时为所有参与者分配一个连续的序列号,这组成员通过这些连续的序列号组成一个逻辑环,参见图2,为组成员组成的逻辑环示意图。Step 301: A group of members U 1 ,..., U n form a logical ring. For example, when the system is initialized, a continuous serial number is assigned to all participants. This group of members forms a logical ring through these continuous serial numbers. See Figure 2 is a schematic diagram of a logical ring composed of group members.
步骤302:选择系统参数,进行系统初始化。具体过程如下:Step 302: Select system parameters and perform system initialization. The specific process is as follows:
设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群。Let GF(p) be a finite field whose order is a prime number p, define an elliptic curve EC on this field: y 2 =x 3 +αx+β(a,β∈GF(p), 4a 3 +27β 2 ( modp)≠0; p is a large prime number above 190 bits). Then EC p (a, β)={(x, y)|y 2 =x 3 +ax+β(mod p)}∪O (O is the identity element) forms an Abelian group.
对给定的ECC系统,取点P∈ECp(α,β)为一公开基点,P的阶为大素数q(一般取q≥120bits)。定义G={O,P,2P,...,(q-1)P}。由此可知G是有限的循环Abel群,q为循环周期。For a given ECC system, the point P∈EC p (α, β) is taken as a public base point, and the order of P is a large prime number q (generally q≥120bits). Define G={O, P, 2P, . . . , (q-1)P}. It can be seen that G is a finite cyclic Abel group, and q is a cyclic period.
另外,选择hash函数H:G→Zq,Zq是整数模q所得到的最小非负余数的集合{0,1,...,q-1}。In addition, choose the hash function H: G→Z q , Z q is the set {0, 1, ..., q-1} of the smallest non-negative remainder obtained by integer modulo q.
步骤303:每一个成员Ui分别与上家”Ui-1和“下家”Ui+1生成两两共享密钥。Step 303: Each member U i generates pairwise shared keys with the upper family U i-1 and the lower family U i+1 respectively.
其中,两方DH密钥的生成过程基于现有技术中的Diffie-Hellman密钥协商协议,现将两方DH协商过程介绍如下:Wherein, the generation process of the two-party DH key is based on the Diffie-Hellman key agreement protocol in the prior art, and the two-party DH negotiation process is introduced as follows:
成员A和成员B为DH协议的两方,首先,A从Zq中随机选择一个数a,将aP发送给B,B从Zq中随机选择一个数b,将bP发送给A;Member A and member B are the two parties of the DH protocol. First, A randomly selects a number a from Z q , sends aP to B, and B randomly selects a number b from Z q , and sends bP to A;
然后,A计算a(bP),B计算b(aP),即A和B共享密钥abP。abP称为A与B共享的DH密钥。Then, A computes a(bP), B computes b(aP), that is, A and B share the secret key abP. abP is called the DH key shared by A and B.
本实施例中每一个成员Ui从Zq中随机选择一个数ri,然后计算D-H公钥值Xi=riP,将携带Xi的组密钥协商报文发送给他的“上家”Ui-1和“下家”Ui+1,In this embodiment, each member U i randomly selects a number r i from Z q , then calculates the DH public key value Xi = r i P, and sends the group key negotiation message carrying Xi to his "upper Home" U i-1 and "Next Home" U i+1 ,
每一个成员Ui接收到“上家”和“下家”发来的组密钥协商报文后,提取Xi-1和Xi+1,计算Ki-1,i=riXi-1=(xi-1,i,yi-1,i),Ki,i+1=riXi+1=(xi,i+1,yi,i+1)。Each member U i extracts Xi -1 and Xi +1 after receiving the group key negotiation message sent by the "upper family" and "lower family", and calculates K i-1, i = r i X i −1 =(x i-1, i , y i-1, i ), K i,i+1 =r i X i+1 =(x i,i+1 , y i,i+1 ).
步骤304:每一个成员Ui用与“上家”共享的DH密钥的对应分量乘以与“下家”共享的DH密钥的对应分量,再作模p运算生成中间值,然后广播携带中间值的组密钥协商报文。Step 304: Each member U i multiplies the corresponding component of the DH key shared with the "upper family" by the corresponding component of the DH key shared with the "lower family", and then performs a modulo p operation to generate an intermediate value, and then broadcasts and carries Group key negotiation packets with intermediate values.
该步骤具体实现为:Ui向其他成员广播Yi=(z1,i,z2,i),其中z1,i=xi-1,ixi,i+1 mod p,z2,i=yi-1,iyi,i+1 mod p。This step is specifically implemented as: U i broadcasts Y i = (z 1, i , z 2, i ) to other members, where z 1, i = x i-1, i x i, i+1 mod p, z 2 , i = y i-1, i y i, i+1 mod p.
步骤305:每一个成员Ui收到所有其他成员广播的组密钥协商报文,提取中间值,根据中间值,计算出其他每一个成员与其“下家”的两两共享密钥,然后根据所有的两两共享密钥生成组密钥,组密钥即为每一个成员与下家共享的两方DH密钥的椭圆曲线点之和。Step 305: Each member U i receives the group key negotiation message broadcast by all other members, extracts the intermediate value, and calculates the pairwise shared key of each other member and its "next family" according to the intermediate value, and then according to All pairwise shared keys generate a group key, which is the sum of the elliptic curve points of the two DH keys shared by each member and the next party.
该步骤具体实现为:每一个成员Ui接收到所有其他成员发来的Y后,计算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),其中
通过上述组密钥协商过程,所有成员都得到同一个组密钥结果SK=(r1r2+r2r3+...+rnr1)P。Through the above-mentioned group key negotiation process, all members get the same group key result SK=(r 1 r 2 +r 2 r 3 +...+r n r 1 )P.
下面分别以组内有3个成员和4个成员为例说明组密钥的协商过程。The negotiation process of the group key is described below by taking three and four members in the group as examples respectively.
参见图4,为3个成员组成一个逻辑环的示意图。3个成员协商组密钥的过程:Referring to FIG. 4 , it is a schematic diagram of three members forming a logical ring. The process of 3 members negotiating a group key:
(1)U1随机选择r1∈Zq,接着U1→U3,U2:X1=r1P,U2随机选择r2∈Zq,接着U2→U1,U3:X2=r2P,U3随机选择r3∈Zq,接着U3→U2,U1:X3=r3P。(1) U 1 randomly selects r 1 ∈ Z q , then U 1 → U 3 , U 2 : X 1 = r 1 P, U 2 randomly selects r 2 ∈ Z q , then U 2 → U 1 , U 3 : X 2 =r 2 P, U 3 randomly selects r 3 ∈ Z q , then U 3 →U 2 , U 1 : X 3 =r 3 P.
(2)U1收到X3、X2后,计算K31=r1X3=(x31,y31),K12=r1X2=(x12,y12),以及z11=x31x12modp,z21=y31y12modp,广播Y1=(z11,z21);(2) After receiving X 3 and X 2 , U 1 calculates K 31 = r 1 X 3 = (x 31 , y 31 ), K 12 = r 1 X 2 = (x 12 , y 12 ), and z 11 =x 31 x 12 modp, z 21 =y 31 y 12 modp, broadcast Y 1 =(z 11 , z 21 );
U2收到X1、X3后,计算K12=r2X1=(x12,y12),K23=r2X3=(x23,y23),以及z12=x12x23modp,z22=y12y23modp,广播Y2=(z12,z22);After receiving X 1 and X 3 , U 2 calculates K 12 = r 2 X 1 = (x 12 , y 12 ), K 23 = r 2 X 3 = (x 23 , y 23 ), and z 12 = x 12 x 23 modp, z 22 = y 12 y 23 modp, broadcast Y 2 = (z 12 , z 22 );
U3收到X2、X1后,计算K23=r3X2=(x23,y23),K31=r3X1=(x31,y31),以及z13=x23x31modp,z23=y23y31modp,广播Y3=(z13,z23)。After receiving X 2 and X 1 , U 3 calculates K 23 = r 3 X 2 = (x 23 , y 23 ), K 31 = r 3 X 1 = (x 31 , y 31 ), and z 13 = x 23 x 31 modp, z 23 =y 23 y 31 modp, broadcast Y 3 =(z 13 , z 23 ).
(3)U1收到Y2、Y3后,计算
U2收到Y3、Y1后,计算
U3收到Y1、Y2后,计算
三个成员得到同一个组密钥SK=(r1r2+r2r3+r3r1)P。The three members get the same group key SK=(r 1 r 2 +r 2 r 3 +r 3 r 1 )P.
参见图5,为4个成员组成一个逻辑环的示意图。4个成员协商组密钥的过程:Referring to FIG. 5 , it is a schematic diagram of four members forming a logical ring. The process of 4 members negotiating a group key:
(1)U1随机选择r1∈Zq,接着U1→U4,U2:X1=r1P,U2随机选择r2∈Zq,接着U2→U1,U3:X2=r2P,U3随机选择r3∈Zq,接着U3→U2,U4:X3=r3P,U4随机选择r4∈Zq,接着U4→U3,U1:X4=r4P。(1) U1 randomly selects r 1 ∈ Z q , then U 1 → U 4 , U 2 : X 1 = r 1 P, U 2 randomly selects r 2 ∈ Z q , then U 2 → U 1 , U 3 : X 2 = r 2 P, U 3 randomly selects r 3 ∈ Z q , then U 3 → U 2 , U 4 : X 3 = r 3 P, U 4 randomly selects r 4 ∈ Z q , then U 4 → U 3 , U 1 : X 4 =r 4 P.
(2)U1收到X4、X2后,计算K41=r1X4=(x41,y41),K12=r1X2=(x12,y12),以及z11=x41 x12modp,z21=y41y12modp,广播Y1=(z11,z21);(2) After receiving X 4 and X 2 , U 1 calculates K 41 = r 1 X 4 = (x 41 , y 41 ), K 12 = r 1 X 2 = (x 12 , y 12 ), and z 11 =x 41 x 12 modp, z 21 =y 41 y 12 modp, broadcast Y 1 =(z 11 , z 21 );
U2收到X1、X3后,计算K12=r2X1=(x12,y12),K23=r2X3=(x23,y23),以及z12=x12x23modp,z22=y12y23modp,广播Y2=(z12,z22);After receiving X 1 and X 3 , U 2 calculates K 12 = r 2 X 1 = (x 12 , y 12 ), K 23 = r 2 X 3 = (x 23 , y 23 ), and z 12 = x 12 x 23 modp, z 22 = y 12 y 23 modp, broadcast Y 2 = (z 12 , z 22 );
U3收到X2、X4后,计算K23=r3X2=(x23,y23),K34=r3X4=(x34,y34),以及z13=x23x34modp,z23=y23y34modp,广播Y3=(z13,z23);After receiving X 2 and X 4 , U 3 calculates K 23 = r 3 X 2 = (x 23 , y 23 ), K 34 = r 3 X 4 = (x 34 , y 34 ), and z 13 = x 23 x 34 modp, z 23 =y 23 y 34 modp, broadcast Y 3 =(z 13 , z 23 );
U4收到X3、X1后,计算K34=r4X3=(x34,y34),K41=r4X1=(x41,y41),以及z14=x34x41modp,z24=y34y41modp,广播Y4=(z14,z24)。After receiving X 3 and X 1 , U 4 calculates K 34 = r 4 X 3 = (x 34 , y 34 ), K 41 = r 4 X 1 = (x 41 , y 41 ), and z 14 = x 34 x 41 modp, z 24 =y 34 y 41 modp, broadcast Y 4 =(z 14 , z 24 ).
(3)U1收到Y2、Y3、Y4后,计算
U2收到Y1、Y3、Y4后,计算
U3收到Y4、Y1、Y2后,计算
U4收到Y1、Y2、Y3后,计算
四个成员得到同一个组密钥SK=K12+K23+K34+K41=(r1r2+r2r3+r3r4+r4r1)P。Four members get the same group key SK=K 12 +K 23 +K 34 +K 41 =(r 1 r 2 +r 2 r 3 +r 3 r 4 +r 4 r 1 )P.
实施例2Example 2
本实施例提供了新成员加入组中时,组密钥的协商方法。本实施例以实施例1为基础,假设成员组∑={U1,...,Un}已经执行了实施例1提供的基本协商,并获得了共享的组密钥种子r=H(SK)=r1r2+r2r3+...riri+1+...+rn-1rn+rnr1,此时成员∑′={Un+1,...,Un+m}需要加入到该组中与∑中的成员共享新的密钥。需要U1和Un与新加入的成员∑′进行交互,所有组成员(包括∑内的其他组成员)均可计算得到新的组密钥。This embodiment provides a group key negotiation method when a new member joins the group. This embodiment is based on Embodiment 1, assuming that the member group Σ={U 1 ,..., U n } has performed the basic negotiation provided by Embodiment 1, and obtained the shared group key seed r=H( SK)=r 1 r 2 +r 2 r 3 +...r i r i+1 +...+r n-1 r n +r n r 1 , at this time member ∑′={U n+1 ,..., U n+m } need to join the group and share the new key with the members in ∑. U 1 and U n need to interact with the newly joined member Σ', and all group members (including other group members in Σ) can calculate a new group key.
其中,m+2个成员Vi组成一个逻辑环,V1=U1,V2=Un,Vi=Un+i-2(3≤i≤m+2),参见图6,为新成员加入组时生成组密钥的方法的流程图。新成员加入组时生成组密钥的具体步骤如下:Among them, m+2 members V i form a logical ring, V 1 =U 1 , V 2 =U n , V i =U n+i-2 (3≤i≤m+2), see Figure 6, for A flowchart of a method for generating a group key when a new member joins the group. The specific steps to generate a group key when a new member joins the group are as follows:
步骤601:Vi(i=3,4,…,m+2)从Zq中随机选择一个数r′i,V1从Zq中随机选择一个数r1,计算r′1=r1·r,V2从Zq中随机选择一个数r2,计算r′2=r2·r。Step 601: V i (i=3, 4, ..., m+2) randomly selects a number r' i from Z q , V 1 randomly selects a number r 1 from Z q , and calculates r' 1 =r 1 ·r, V 2 randomly selects a number r 2 from Z q , and calculates r′ 2 =r 2 ·r.
步骤602:Vi(i=1,2,…,m+2)计算D-H公钥值X′i=r′i·P,并将X′1发送给他的“上家”Vi-1和“下家”Vi+1,同时V1将r1′或成员V2将r2′发送给成员U2,...,Un-1。Step 602: V i (i=1, 2, ..., m+2) calculates the DH public key value X' i =r' i ·P, and sends X' 1 to his "upper family" V i-1 and "next home" V i+1 , while V 1 sends r 1 ′ or member V 2 sends r 2 ′ to members U 2 ,..., U n-1 .
步骤603:Vi收到X′i-1和X′i+1后,计算与“上家”Vi-1的DH密钥K′i-1,i和与“下家”Vi+1的DH密钥K′i,i+1,将K′i-1,i的第一分量与K′i,i+1的第一分量相乘并对p求模,其值记为z′1,i,将K′i-1,i的第二分量与K′i,i+1的第二分量相乘并对p求模,其值记为z′2,i,然后广播(z′1,i,z′2,i)。具体算法如下:Step 603: After receiving X'i -1 and X'i +1 , V i calculates the DH key K'i- 1 , i and the "downer" V i+ 1 ’s DH key K′ i, i+1 , multiply the first component of K′ i-1, i by the first component of K′ i, i+1 and modulo p, and its value is recorded as z ′ 1, i , multiply the second component of K′ i-1, i with the second component of K′ i, i+1 and do modulo p, its value is recorded as z′ 2, i , and then broadcast ( z' 1, i , z' 2, i ). The specific algorithm is as follows:
Vi收到X′i-1和X′i+1后,计算K′i-1,i=r′iX′i-1=(x′i-1,y′i-1,i),K′i,i+1=(x′i,i+1,y′i,i+1)=r′iX′i+1,接着Vi广播Y′i=(x′i-1,ix′i,i+1modp,y′i-1,iy′i,i+1modp)=(z′1,i,z′2,i)(i遍取1,2,...,m+2)。广播使U2,...,Un-1也得到Y′i。After receiving X′ i-1 and X′ i+1 , V i calculates K′ i-1, i = r′ i X′ i-1 = (x′ i-1 , y′ i-1 , i) , K' i, i+1 = (x' i, i+1 , y' i, i+1 ) = r' i X' i+1 , then V i broadcasts Y' i = (x' i-1 , i x′ i, i+1 modp, y′ i-1, i y′ i, i+1 modp)=(z′ 1, i , z′ 2, i ) (i takes 1, 2, . . . , m+2). Broadcasting makes U 2 ,..., U n-1 also get Y′ i .
步骤604:Vi收到V′j(j遍取1,2,...,m+2,且j≠i)后,依次计算出K′1,2,K′2,3,…,K′m+2,1,而K′1,2,K′2,3,…,K′m+2,1之和即为组密钥SK′i。同时成员U2,Un-1收到Y′j后可以跟V1或V2一样计算K′1,2,K′2,3,…,K′m+2,1,从而计算出组密钥SK′i。具体算法如下:Step 604: After V i receives V' j (j passes 1, 2, ..., m+2, and j≠i), it calculates K' 1, 2 , K' 2, 3 , ..., K' m+2,1 , and the sum of K' 1,2 , K' 2,3 , ..., K' m+2,1 is the group key SK' i . At the same time, members U 2 and U n-1 can calculate K′ 1,2 , K′ 2,3 ,…, K′ m+2,1 in the same way as V 1 or V 2 after receiving Y′ j , thus calculating the group Key SK' i . The specific algorithm is as follows:
Vi收到Y′j(j遍取1,2,...,m+2,且j≠I)后,计算
Vi先验证等式
通过上述步骤,所有成员得到同一个组密钥SK′=(r′1r′2+r′2r′3+…+r′m+2r′1)P。Through the above steps, all members get the same group key SK'=(r' 1 r' 2 +r' 2 r' 3 +...+r' m+2 r' 1 )P.
现举例如下:假设成员组∑={U1,...,U5}已经执行了基本协商,并获得了共享的密钥种子r=H(SK),此时成员∑′={U6}需要加入到组中与∑中成员共享新的密钥。使用本实施例提供的方法,需要U1和U5与新加入的成员U6进行交互,使所有组成员均可计算得到新的组密钥。这里3个成员{Vi}组成一个逻辑环,其中V1=U1,V2=U5,V3=U6。V1,V2和V3组成逻辑环后,执行以下具体步骤:An example is as follows: Assume that the member group Σ={U 1 ,...,U 5 } has performed basic negotiation and obtained the shared key seed r=H(SK), at this time member ∑′={U 6 } need to join the group and share the new key with the members in ∑. Using the method provided in this embodiment, U 1 and U 5 need to interact with the newly joined member U 6 , so that all group members can calculate a new group key. Here three members {V i } form a logic ring, where V 1 =U 1 , V 2 =U 5 , V 3 =U 6 . After V 1 , V 2 and V 3 form a logic ring, perform the following specific steps:
(1)V3从Zq中随机选择一个数r′3,V1从Zq中随机选择一个数r1,计算r′1=r1·r,V2从Zq中随机选择一个数r2,计算r′2=r2·r;(1) V 3 randomly selects a number r′ 3 from Z q , V 1 randomly selects a number r 1 from Z q , calculates r′ 1 = r 1 ·r, V 2 randomly selects a number from Z q r 2 , calculate r′ 2 =r 2 ·r;
然后V1计算X′1=r′1·P并将X′1发送给他的“上家”V3和“下家”V2,V2计算X′2=r′2·P,并将X′2发送给他的“上家”V1和“下家”V3,V3计算X′3=r′3·P,并将X′3发送给他的“上家”V2和“下家”V1;Then V 1 calculates X′ 1 =r′ 1 ·P and sends X′ 1 to his “upper” V 3 and “lower” V 2 , V 2 calculates X′ 2 =r′ 2 ·P, and Send X′ 2 to his “upper home” V 1 and “lower home” V 3 , V 3 calculates X′ 3 = r′ 3 ·P, and sends X′ 3 to his “upper home” V 2 and "Xia Jia" V 1 ;
同时V1和V2分别将r1和X′2发送给U2,...,U4。At the same time, V 1 and V 2 send r 1 and X′ 2 to U 2 , . . . , U 4 respectively.
(2)V1收到X′3、X′2后,计算K′31=r′1X′3=(x′31,y′31),K′12=r′1X′2=(x′12,y′12),以及z′11=x′31x′12modp,z′21=y′31y′12modp,广播Y′1=(z′11,z′21);(2) After receiving X′ 3 and X′ 2 , V 1 calculates K′ 31 =r′ 1 X′ 3 =(x′ 31 , y′ 31 ), K′ 12 =r′ 1 X′ 2 =( x′ 12 , y′ 12 ), and z′ 11 =x′ 31 x′ 12 modp, z′ 21 =y′ 31 y′ 12 modp, broadcast Y′ 1 =(z′ 11 , z′ 21 );
V2收到X′1、X′3后,计算K′12=r′2X′1=(x′12,y′12),K′23=r′2X′3=(x′23,y′23),以及z′12=x′12x′23modp,z′22=y′12y′23modp,广播Y′2=(z′12,z′22);After receiving X′ 1 and X′ 3 , V 2 calculates K′ 12 = r′ 2 X′ 1 = (x′ 12 , y′ 12 ), K′ 23 = r′ 2 X′ 3 = (x′ 23 , y′ 23 ), and z′ 12 =x′ 12 x′ 23 modp, z′ 22 =y′ 12 y′ 23 modp, broadcast Y′ 2 =(z′ 12 , z′ 22 );
V3收到X′2、X′1后,计算K′23=r′3X′2=(x′23,y′23),K′31=r′3X′1=(x′31,y′31),以及z′13=x′23x′31modp,z′23=y′23y′31modp,广播Y′3=(z′13,z′23)。After receiving X′ 2 and X′ 1 , V 3 calculates K′ 23 = r′ 3 X′ 2 = (x′ 23 , y′ 23 ), K′ 31 = r′ 3 X′ 1 = (x′ 31 , y′ 31 ), and z′ 13 =x′ 23 x′ 31 modp, z′ 23 =y′ 23 y′ 31 modp, broadcasting Y′ 3 =(z′ 13 , z′ 23 ).
(3)V1收到Y′2、Y′3后,计算
V2收到Y′3、Y′1后,计算
V3收到Y′1、Y′2后,计算
U2收到r1,X′2、Y′2、Y′3后,计算K′12=rr1X′2,
U3收到r1,X′2、Y′2、Y′3后,计算K′12=rr1X′2,
U4收到r1、X′2、Y′2和Y′3后,计算K′12=rr1X′2,
由此计算出组密钥:SK′=K′12+K′23+K′31。From this the group key is calculated: SK'=K' 12 +K' 23 +K' 31 .
通过上述方法,所有成员得到同一个组密钥SK′=(r′1r′2+r′2r′3+r′3r′1)P。Through the above method, all members get the same group key SK'=(r' 1 r' 2 +r' 2 r' 3 +r' 3 r' 1 )P.
实施例3Example 3
本实施例提供了其他成员退出组时,组密钥的协商方法。本实施例以实施例1为基础,假定成员∑={U1,...,Un}已经执行了实施例1提供的基本协商,此时有k个成员
首先,余下的组成员
然后,余下的组成员
实施例4Example 4
本实施例在以上实施例的基础上,可以添加签名认证机制,实现可认证的组密钥协商,本实施例以实施例1为基础进行说明,每个成员生成中间值或D-H公钥值后,再对中间值或D-H公钥值进行签名,并将签名结果附带在组密钥协商报文中一起发送;其他成员收到组密钥协商报文后,用签名验证密钥协商报文是否正确。On the basis of the above embodiments, this embodiment can add a signature authentication mechanism to realize authenticated group key negotiation. This embodiment is described on the basis of Embodiment 1. After each member generates an intermediate value or a D-H public key value , and then sign the intermediate value or the D-H public key value, and send the signature result together with the group key negotiation message; after receiving the group key negotiation message, other members use the signature to verify whether the key negotiation message is correct.
参见图7,为可认证的生成组密钥的方法的流程图。该方法包括以下步骤:Referring to FIG. 7 , it is a flow chart of an authenticated method for generating a group key. The method includes the following steps:
步骤701:每一个成员Ui从Zq中随机选择一个数ri,然后计算D-H公钥值Xi=riP和签名Sig(Xi),将其一起发送给“上家”Ui-1和“下家”Ui+1。Step 701: Each member U i randomly selects a number r i from Z q , then calculates the DH public key value X i = r i P and signature Sig(X i ), and sends them together to the "upper family" U i -1 and the "next home" U i+1 .
步骤702:每一个成员Ui接收到“上家”发来的Xi-1和“下家”发来的Xi+1后,先验证签名Sig(Xi-1)和Sig(Xi+1)是否正确,验证通过,则执行步骤703,否则,执行步骤708。Step 702: After each member U i receives X i-1 from the "upper family" and X i+1 from the "lower family", it first verifies the signatures Sig(X i-1 ) and Sig(X i +1 ) is correct, and the verification is passed, then execute step 703, otherwise, execute step 708.
步骤703:计算Ki-1,i=riXi-1=(xi-1,i,yi-1,i),Ki,i+1=riXi+1=(xi,i+1,yi,i+1),然后Ui向其他成员广播Yi=(z1,i,z2,i)和Sig(Yi),其中z1,i=xi-1,ixi,i+1modp,z2,i=yi-1,iyi+1modp。Step 703: Calculate K i-1, i = r i X i-1 = (x i-1, i , y i-1, i ), K i, i+1 = r i X i+1 = (x i, i+1 , y i, i+1 ), then U i broadcasts Y i = (z 1, i , z 2, i ) and Sig(Y i ) to other members, where z 1, i = x i -1, i x i, i+1 modp, z 2, i = y i-1, i y i+1 modp.
步骤704:每一个成员Ui接收到所有其他成员发来的Y和Sig(Y)后,用签名Sig(Y)验证Y是否正确,验证通过后,执行步骤705,否则,执行步骤708。Step 704: After each member U i receives Y and Sig(Y) from all other members, it uses the signature Sig(Y) to verify whether Y is correct. After the verification is passed, execute step 705; otherwise, execute step 708.
步骤705:验证通过,成员Ui计算Ki+l,i+l+1=(xi+l,i+l+1,yi+l,i+l+1),其中
步骤706:成员Ui验证等式
步骤707:成员Ui计算组密钥SK=K1,2+K2,3+…+Kn,1。Step 707: The member U i calculates the group key SK=K 1,2 +K 2,3 +...+K n,1 .
步骤708:成员Ui宣告协商失败。Step 708: The member U i announces that the negotiation fails.
最终,所有成员都得到同一个组密钥结果SK=(r1r2+r2r3+...+rnr1)P。Finally, all members get the same group key result SK=(r 1 r 2 +r 2 r 3 +...+r n r 1 )P.
上述的签名方案取决于具体的应用环境所采用的签名认证机制,包括但不限于:IBE(Identity-based Encryption,基于身份的加密法、RSA签名、DSA(Digital Signature Algorithm,数字签名算法)、ECDSA(Elliptic Curve Digital SignatureAlgorithm,椭圆曲线数字签名算法)、HMAC(Hash Message Authentication Codes,哈希信息验证码)认证机制等。The above signature scheme depends on the signature authentication mechanism adopted in the specific application environment, including but not limited to: IBE (Identity-based Encryption, identity-based encryption method, RSA signature, DSA (Digital Signature Algorithm, digital signature algorithm), ECDSA (Elliptic Curve Digital Signature Algorithm, Elliptic Curve Digital Signature Algorithm), HMAC (Hash Message Authentication Codes, Hash Information Verification Code) authentication mechanism, etc.
当参与协商的组成员的规模很大时,可将组成员分成n个子组,分别记为group1,group2,…,groupn,各个子组中的成员数目分别为m1,m2,…,mn,协商如下:When the number of group members participating in the negotiation is large, the group members can be divided into n subgroups, which are recorded as group 1 , group 2 , ..., group n , and the number of members in each subgroup is m 1 , m 2 , …, m n , negotiated as follows:
groupi(i=1,2,…,n)中mi个成员构成一个逻辑环,执行实施例1提供的基本协商,得到组密钥SKi=(ri,si);m i members in group i (i=1, 2, ..., n) form a logical ring, perform the basic negotiation provided by Embodiment 1, and obtain the group key SK i =(r i , s i );
group1,group2,…,groupn构成一个逻辑环,groupi(i=1,2,…,n)计算Xi=riP,执行实施例1提供的基本协商,协商出组密钥SK=K1,2+K2,3+…+Kn,1。group 1 , group 2 , ..., group n constitute a logical ring, group i (i=1, 2, ..., n) calculates Xi = r i P, performs the basic negotiation provided by embodiment 1, and negotiates the group key SK=K 1,2 +K 2,3 + . . . +K n,1 .
最终,所有成员得到同一个组密钥SK=(r1r2+r2r3+...+rnr1)P。Finally, all members get the same group key SK=(r 1 r 2 +r 2 r 3 +...+r n r 1 )P.
实施例5Example 5
参见图8,为生成组密钥的系统示意图。本实施例还提供了一种生成组密钥的系统,包括:Referring to FIG. 8 , it is a schematic diagram of a system for generating a group key. This embodiment also provides a system for generating a group key, including:
逻辑环组成模块,用于将组内成员组成一个逻辑环,环内成员用Ui表示,其中,i=1,2,……,n,所述n为组内成员总数;A logical ring forming module is used to form a logical ring by members in the group, and the members in the ring are represented by U i , wherein, i=1, 2, ..., n, and the n is the total number of members in the group;
系统参数选择模块,用于选择基于椭圆曲线的系统参数;A system parameter selection module for selecting system parameters based on elliptic curves;
报文收发模块,用于发送和接收组密钥协商报文,该组密钥协商报文携带逻辑环组成模块中的成员的D-H公钥值和中间值;The message sending and receiving module is used to send and receive the group key negotiation message, and the group key negotiation message carries the D-H public key value and the intermediate value of the members in the logical ring composition module;
组密钥生成模块,用于根据系统参数选择模块选择的系统参数和从报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。The group key generation module is used to generate the group key according to the system parameters selected by the system parameter selection module and the D-H public key value and the intermediate value in the group key negotiation message received from the message sending and receiving module.
其中,组密钥生成模块具体包括:Among them, the group key generation module specifically includes:
共享密钥生成单元,用于根据Diffie-Hellman密钥协商协议和系统参数选择模块选择的系统参数,生成成员Ui与成员Ui-1的两两共享密钥Ki-1,i,生成成员Ui与成员Ui+1的两两共享密钥Ki,i+1;且,当i=n时,所述i+1=1;The shared key generation unit is used to generate pairwise shared keys K i-1,i of member U i and member U i-1 according to the Diffie-Hellman key agreement protocol and the system parameters selected by the system parameter selection module , and generate The pairwise shared key K i,i+1 of member U i and member U i+1; and, when i=n, said i+1=1;
中间值生成单元,用于根据共享密钥生成单元所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;An intermediate value generating unit, configured to generate an intermediate value according to pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generating unit;
共享密钥验证单元,用于验证两两共享密钥Ki,i+1是否等于两两共享密钥Ki+1,i,验证通过,通知组密钥生成单元生成组密钥;否则,通知组密钥生成单元停止生成组密钥;The shared key verification unit is used to verify whether the pairwise shared key K i, i+1 is equal to the pairwise shared key K i+1, i , and if the verification is passed, notify the group key generation unit to generate a group key; otherwise, Notify the group key generating unit to stop generating the group key;
组密钥生成单元,用于收到共享密钥验证单元发送的生成组密钥的通知后,根据中间值计算相邻成员间的两两共享密钥,并根据所有两两共享密钥生成组密钥;The group key generation unit is used to calculate the pairwise shared key between adjacent members according to the intermediate value after receiving the notification of generating the group key sent by the shared key verification unit, and generate a group key according to all pairwise shared keys. key;
当有其它成员加入或退出时,系统还包括:When other members join or quit, the system also includes:
组密钥种子生成模块,用于对生成的组密钥进行运算,生成组密钥种子;The group key seed generation module is used to operate the generated group key to generate the group key seed;
组密钥更新模块,用于当有新成员加入所述组时,根据逻辑环组成模块将新成员与原来的成员U1和Un组成一个新逻辑环,使用组密钥种子生成模块所生成的组密钥种子,通过组密钥生成模块生成新的组密钥。或者,当有成员退出所述组时,将余下的成员组成一个新逻辑环,成员用Wi表示,i为小于n的正整数,根据i的值将成员分为奇数成员和偶数成员;使奇数成员选择与原随机数不同的随机数,使偶数成员选择与原随机数相同的随机数,通过组密钥生成模块生成新的组密钥。The group key update module is used for when a new member joins the group, according to the logical ring composition module, the new member and the original members U1 and Un form a new logical ring, which is generated by the group key seed generation module The group key seed of is used to generate a new group key through the group key generation module. Or, when a member withdraws from the group, the remaining members form a new logical ring, the members are represented by Wi , i is a positive integer less than n, and the members are divided into odd members and even members according to the value of i; Odd members select a random number different from the original random number, so that the even members select the same random number as the original random number, and generate a new group key through the group key generation module.
为了进一步完善系统,系统还包括:In order to further improve the system, the system also includes:
签名生成模块,用于对D-H公钥值和中间值进行签名,并在组密钥协商报文中携带签名;The signature generation module is used to sign the D-H public key value and the intermediate value, and carry the signature in the group key negotiation message;
签名验证模块,用于接收到密钥协商报文后,用收到的签名验证组密钥协商报文是否正确。The signature verification module is configured to use the received signature to verify whether the group key negotiation message is correct after receiving the key negotiation message.
实施例6Example 6
参见图9,本实施例提供了一种生成组密钥的设备,包括:Referring to Figure 9, this embodiment provides a device for generating a group key, including:
逻辑环组成模块,用于与组内设备组成一个逻辑环,本设备用Ui表示,其中,i=1,2,……,n,n为组内设备总数;The logical ring forming module is used to form a logical ring with the equipment in the group, and this equipment is represented by U i , wherein, i=1, 2, ..., n, n is the total number of equipment in the group;
系统参数选择模块,用于逻辑环组成模块完成逻辑环组成后,选择基于椭圆曲线的系统参数;The system parameter selection module is used for selecting the system parameters based on the elliptic curve after the logical ring composition module completes the logical ring composition;
D-H公钥值计算模块,用于根据系统参数选择模块选择的系统参数,计算D-H公钥值,并通过报文收发模块发送给设备Ui-1和设备Ui+1;The DH public key value calculation module is used to calculate the DH public key value according to the system parameters selected by the system parameter selection module, and send it to the device U i-1 and the device U i+1 through the message sending and receiving module;
共享密钥生成模块,用于根据Diffie-Hellman密钥协商协议、从报文收发模块接收的设备Ui-1和设备Ui+1的D-H公钥值,分别生成两两共享密钥Ki-1,i和两共享密钥Ki,i+1;The shared key generation module is used to generate pairwise shared keys K i respectively according to the Diffie-Hellman key agreement protocol and the DH public key values of the device U i-1 and the device U i+1 received from the message sending and receiving module -1, i and two shared keys K i, i+1 ;
中间值生成模块,用于根据共享密钥生成模块所生成的两两共享密钥Ki-1,i和Ki,i+1生成中间值;The intermediate value generation module is used to generate an intermediate value according to the pairwise shared keys K i-1, i and K i, i+1 generated by the shared key generation module;
报文收发模块,用于发送和接收组密钥协商报文,其中,组密钥协商报文携带D-H公钥值计算模块计算的D-H公钥值或中间值生成模块生成的中间值;The message sending and receiving module is used to send and receive the group key negotiation message, wherein the group key negotiation message carries the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module;
组密钥生成模块,用于根据系统参数选择模块选择的系统参数和从报文收发模块接收的组密钥协商报文中的D-H公钥值和中间值,生成组密钥。The group key generation module is used to generate the group key according to the system parameters selected by the system parameter selection module and the D-H public key value and the intermediate value in the group key negotiation message received from the message sending and receiving module.
当有新设备加入该组或者有设备退出该组时,该设备还包括:When a new device joins the group or a device exits the group, the device also includes:
组密钥更新模块,用于当组内设备个数发生变化时,根据上述系统参数选择模块、D-H公钥值计算模块、共享密钥生成模块、中间值生成模块和报文收发模块中的信息生成新的组密钥。The group key update module is used to select the module according to the above system parameters, the D-H public key value calculation module, the shared key generation module, the intermediate value generation module and the information in the message sending and receiving module when the number of devices in the group changes Generate a new group key.
为了保证设备所收发信息的有效性和安全性,该设备还包括:In order to ensure the validity and security of the information sent and received by the device, the device also includes:
签名生成模块,用于对D-H公钥值计算模块计算的D-H公钥值或中间值生成模块生成的中间值进行签名,并在组密钥协商报文中携带签名;The signature generation module is used to sign the D-H public key value calculated by the D-H public key value calculation module or the intermediate value generated by the intermediate value generation module, and carry the signature in the group key negotiation message;
签名验证模块,用于接收到密钥协商报文后,用签名验证所述组密钥协商报文是否正确。The signature verification module is configured to use the signature to verify whether the group key negotiation message is correct after receiving the key negotiation message.
以上实施例具有:The above embodiment has:
1)安全性能更高:椭圆曲线离散对数问题的计算复杂度目前是完全指数级的,而RSA(RSA公钥密码体制)是亚指数级的。1) Higher security performance: the computational complexity of the elliptic curve discrete logarithm problem is completely exponential at present, while RSA (RSA public key cryptosystem) is sub-exponential.
2)计算量小和处理速度快:在相同的计算资源条件下,椭圆曲线体制比RSA和DSA(数字签名标准)有更快的处理速度。2) Small amount of calculation and fast processing speed: Under the same computing resource conditions, the elliptic curve system has faster processing speed than RSA and DSA (digital signature standard).
3)存储空间占用小:椭圆曲线体制的密钥长度和系统参数与RSA及DSA相比要小得多。160比特ECC与1024比特RSA、DSA具有相同的安全强度,210比特ECC则与2048比特RSA、DSA具有相同的安全强度,这意味着它所占的存储空间要小得多。3) The storage space is small: the key length and system parameters of the elliptic curve system are much smaller than those of RSA and DSA. 160-bit ECC has the same security strength as 1024-bit RSA and DSA, and 210-bit ECC has the same security strength as 2048-bit RSA and DSA, which means it occupies much less storage space.
4)带宽要求低:对于给定的安全级别,ECC比RSA和DSA有更小的参数。对于更高的安全级别,参数大小的差异更加明显。更小的参数带来的好处是,计算速度更快,密钥更短和密钥证书更小,因而签名长度和密文长度更短。4) Low bandwidth requirements: For a given security level, ECC has smaller parameters than RSA and DSA. For higher security levels, the difference in parameter size is more pronounced. The benefit of smaller parameters is that the calculation speed is faster, the key is shorter and the key certificate is smaller, so the length of the signature and the length of the ciphertext are shorter.
综上,椭圆曲线密码可以用较小的开销(如带宽,计算量,存储空间,功耗等)和时延实现较高的安全性,特别适用于计算能力和带宽受限的情况,如Ad Hoc网络环境下的安全通信等。与同类方案相比,在达到相同的安全性时,具有计算速度快、存储空间占用小和网络带宽要求低的特点。In summary, elliptic curve cryptography can achieve higher security with less overhead (such as bandwidth, calculation, storage space, power consumption, etc.) and delay, and is especially suitable for situations where computing power and bandwidth are limited, such as Ad Secure communication in Hoc network environment, etc. Compared with similar solutions, it has the characteristics of fast calculation speed, small storage space occupation and low network bandwidth requirement when achieving the same security.
以上实施例提供的技术方案,可以通过软件实现,软件可以存储在计算机可读取的物理介质中,如:光盘,软盘或硬盘等。The technical solutions provided in the above embodiments can be realized by software, and the software can be stored in a computer-readable physical medium, such as a CD, a floppy disk or a hard disk.
以上所述的实施例,只是本发明的较优选的具体实施方式,本领域的技术人员在本发明技术方案范围内进行的通常变化和替换都应包含在本发明的保护范围内。The above-described embodiments are only preferred specific implementations of the present invention, and ordinary changes and replacements performed by those skilled in the art within the scope of the technical solution of the present invention should be included in the protection scope of the present invention.
Claims (18)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710098508XA CN101291214B (en) | 2007-04-19 | 2007-04-19 | Group cipher key generating method, system and apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710098508XA CN101291214B (en) | 2007-04-19 | 2007-04-19 | Group cipher key generating method, system and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101291214A true CN101291214A (en) | 2008-10-22 |
CN101291214B CN101291214B (en) | 2011-08-10 |
Family
ID=40035315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710098508XA Expired - Fee Related CN101291214B (en) | 2007-04-19 | 2007-04-19 | Group cipher key generating method, system and apparatus |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101291214B (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010094183A1 (en) * | 2009-02-18 | 2010-08-26 | 华南理工大学 | Group key management method based on n-dimensional sphere |
CN102468955A (en) * | 2010-11-15 | 2012-05-23 | 中国移动通信集团公司 | Method and equipment for communication between member nodes of user group and network side in Internet of things |
CN102655452A (en) * | 2011-03-04 | 2012-09-05 | 中兴通讯股份有限公司 | Method and device for generating group safety association |
CN102724211A (en) * | 2012-06-29 | 2012-10-10 | 飞天诚信科技股份有限公司 | Key agreement method |
WO2013078970A1 (en) * | 2011-11-30 | 2013-06-06 | 西安西电捷通无线网络通信股份有限公司 | Key negotiation method and apparatus according to sm2 key exchange protocol |
CN104320778A (en) * | 2014-10-28 | 2015-01-28 | 东南大学 | Integrity protection method for long data stream in wireless sensor network |
CN106533663A (en) * | 2016-11-01 | 2017-03-22 | 广东浪潮大数据研究有限公司 | Data encryption method, encryption party device, data decryption method, and decryption party device |
CN108200108A (en) * | 2018-04-11 | 2018-06-22 | 吕航宇 | A kind of rivest, shamir, adelman and its application |
CN112422276A (en) * | 2020-11-04 | 2021-02-26 | 郑州信大捷安信息技术股份有限公司 | Method and system for realizing multi-party key agreement |
CN113315636A (en) * | 2021-05-31 | 2021-08-27 | 暨南大学 | Key exchange method for secure communication between automobile ECUs |
CN115314203A (en) * | 2022-10-11 | 2022-11-08 | 南京易科腾信息技术有限公司 | Group key negotiation method |
Family Cites Families (3)
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 |
CN100344183C (en) * | 2003-09-19 | 2007-10-17 | 华为技术有限公司 | Group system group key managing method |
CN100456669C (en) * | 2003-09-22 | 2009-01-28 | 华为技术有限公司 | A Method for Group Key Distribution |
-
2007
- 2007-04-19 CN CN200710098508XA patent/CN101291214B/en not_active Expired - Fee Related
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2479957A (en) * | 2009-02-18 | 2011-11-02 | Univ South China Tech | Group key management method based on n-dimensional sphere |
WO2010094183A1 (en) * | 2009-02-18 | 2010-08-26 | 华南理工大学 | Group key management method based on n-dimensional sphere |
GB2479957B (en) * | 2009-02-18 | 2014-09-03 | Univ South China Tech | A group key management approach based upon N-dimensional hypersphere |
CN102468955B (en) * | 2010-11-15 | 2014-10-08 | 中国移动通信集团公司 | Communication method and equipment for network side and member node of user group in Internet of things |
CN102468955A (en) * | 2010-11-15 | 2012-05-23 | 中国移动通信集团公司 | Method and equipment for communication between member nodes of user group and network side in Internet of things |
CN102655452A (en) * | 2011-03-04 | 2012-09-05 | 中兴通讯股份有限公司 | Method and device for generating group safety association |
CN102655452B (en) * | 2011-03-04 | 2018-01-05 | 中兴通讯股份有限公司 | The generation method and device of a kind of group of Security Association |
US9313026B2 (en) | 2011-11-30 | 2016-04-12 | China Iwncomm Co., Ltd. | Key negotiation method and apparatus according to SM2 key exchange protocol |
WO2013078970A1 (en) * | 2011-11-30 | 2013-06-06 | 西安西电捷通无线网络通信股份有限公司 | Key negotiation method and apparatus according to sm2 key exchange protocol |
CN102724211B (en) * | 2012-06-29 | 2014-12-10 | 飞天诚信科技股份有限公司 | Key agreement method |
CN102724211A (en) * | 2012-06-29 | 2012-10-10 | 飞天诚信科技股份有限公司 | Key agreement method |
CN104320778A (en) * | 2014-10-28 | 2015-01-28 | 东南大学 | Integrity protection method for long data stream in wireless sensor network |
CN106533663A (en) * | 2016-11-01 | 2017-03-22 | 广东浪潮大数据研究有限公司 | Data encryption method, encryption party device, data decryption method, and decryption party device |
CN108200108B (en) * | 2018-04-11 | 2021-02-05 | 吕航宇 | Asymmetric encryption algorithm and application thereof |
CN108200108A (en) * | 2018-04-11 | 2018-06-22 | 吕航宇 | A kind of rivest, shamir, adelman and its application |
CN112422276A (en) * | 2020-11-04 | 2021-02-26 | 郑州信大捷安信息技术股份有限公司 | Method and system for realizing multi-party key agreement |
CN112422276B (en) * | 2020-11-04 | 2022-03-25 | 郑州信大捷安信息技术股份有限公司 | Method and system for realizing multi-party key agreement |
CN113315636A (en) * | 2021-05-31 | 2021-08-27 | 暨南大学 | Key exchange method for secure communication between automobile ECUs |
CN113315636B (en) * | 2021-05-31 | 2022-02-25 | 暨南大学 | Key exchange method for secure communication between automobile ECUs |
CN115314203A (en) * | 2022-10-11 | 2022-11-08 | 南京易科腾信息技术有限公司 | Group key negotiation method |
CN115314203B (en) * | 2022-10-11 | 2022-12-20 | 南京易科腾信息技术有限公司 | Group key negotiation method |
Also Published As
Publication number | Publication date |
---|---|
CN101291214B (en) | 2011-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101321053B (en) | Group cipher key generating method, system and apparatus | |
CN101291214A (en) | A method, system and device for generating a group key | |
US8918648B2 (en) | Digital signature and key agreement schemes | |
CN101192928B (en) | Authentication method and system for mobile ad hoc network | |
CN112187450B (en) | Method, device, equipment and storage medium for key management communication | |
CN101431414A (en) | Authentication group key management method based on identity | |
CN111934877B (en) | A SM2 collaborative threshold signature method, storage medium and electronic device | |
CN104639329A (en) | Method for mutual authentication of user identities based on elliptic curve passwords | |
CN113297633A (en) | Quantum digital signature method | |
TWI455555B (en) | Authentication device, authentication method, and program | |
CN104811302A (en) | Oval curve mixing signcryption method based on certificateless effect | |
Harn et al. | How to share secret efficiently over networks | |
US9178700B2 (en) | Information processing apparatus, information processing method, program, and recording medium | |
Tseng | A secure authenticated group key agreement protocol for resource-limited mobile devices | |
CA2730626A1 (en) | Improved digital signature and key agreement schemes | |
CN110855425A (en) | Lightweight multiparty cooperative SM9 key generation and ciphertext decryption method and medium | |
CN106953727B (en) | Group safety certifying method based on no certificate in D2D communication | |
Daza et al. | Cryptographic techniques for mobile ad-hoc networks | |
Li et al. | AD‐ASGKA–authenticated dynamic protocols for asymmetric group key agreement | |
CN101867477A (en) | Method for establishing session key in sensor network | |
US20140189361A1 (en) | Nformation processing apparatus, signature generation apparatus, information processing method, signature generation method, and program | |
US20140208110A1 (en) | Information processing apparatus, signature generation apparatus, signature verification apparatus, information processing method, signature generation method, and signature verification method | |
CN114021165A (en) | Partial private-public key pair construction method, authentication key negotiation method and system | |
CN110430041B (en) | Certificate-free digital signature method in cloud service scenario | |
Lavanya | Comparison of RSA-threshold cryptography and ecc-threshold cryptography for small mobile adhoc 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110810 Termination date: 20150419 |
|
EXPY | Termination of patent right or utility model |