CN110266482B - 一种基于区块链的非对称群组密钥协商方法 - Google Patents

一种基于区块链的非对称群组密钥协商方法 Download PDF

Info

Publication number
CN110266482B
CN110266482B CN201910543168.XA CN201910543168A CN110266482B CN 110266482 B CN110266482 B CN 110266482B CN 201910543168 A CN201910543168 A CN 201910543168A CN 110266482 B CN110266482 B CN 110266482B
Authority
CN
China
Prior art keywords
key
group
terminal member
terminal
information
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
CN201910543168.XA
Other languages
English (en)
Other versions
CN110266482A (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.)
Zhengzhou University of Light Industry
Original Assignee
Zhengzhou University of Light Industry
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 Zhengzhou University of Light Industry filed Critical Zhengzhou University of Light Industry
Priority to CN201910543168.XA priority Critical patent/CN110266482B/zh
Publication of CN110266482A publication Critical patent/CN110266482A/zh
Application granted granted Critical
Publication of CN110266482B publication Critical patent/CN110266482B/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
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/065Network architectures or network communication protocols for network security for supporting key management in a packet data network for group communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/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/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

Landscapes

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

Abstract

本发明提出了一种基于区块链的非对称群组密钥协商方法,步骤为:群组的终端成员的密钥生成与注册;密钥生成中心根据终端成员的IP地址、公钥、注册标识信息将终端成员排列成带有标识符的环状集合,终端成员之间相互广播消息,并保存其左右邻居节点的广播信息;环状集合中的发起节点上的终端成员将群组密钥参数组成的消息封装到第一个区块并传递给其右相邻节点上的终端成员,依次循环直到发起节点的左相邻节点上的终端成员,计算群组加密密钥和群组解密密钥:群组密钥自证实验证。本发明通过区块链技术实现群组成员间的安全信息交换及安全信息传输,具有非对称群组密钥协商的功能以及区块链技术的性能优势,群组密钥协商更加灵活、高效和实用。

Description

一种基于区块链的非对称群组密钥协商方法
技术领域
本发明涉及信息安全的技术领域,尤其涉及一种基于区块链的非对称群组密钥协商方法。
背景技术
群组密钥协商是保障群组内信息安全交换的方法之一,被广泛的应用,如安全多方计算、资源安全共享和分布式协同计算等方面。多个移动设备通过无线通信相互共享信息,在信息共享过程中,秘密信息容易被非法实体窃取。非对称群组密钥协商方法是保障群组之间进行安全信息交换与传输的关键技术之一,群组之间在线计算出群组加密密钥和群组解密密钥,进而用该群组密钥进行群组间信息加密通信。
为了防止非授权终端加入群组通信,群组终端在进行群组密钥协商过程中需要进行身份认证。身份认证过程中需要大量的计算及信息传输,为避免产生网络通信瓶颈及单点崩溃,身份认证需要分布式进行。同时终端身份信息容易泄露,在身份认证中及信息传输过程中保护个人隐私问题极其重要。为了确保群组通信信息的安全性更高,则需采用非对称群组通信加密机制。当群组中有叛逆者时,能进行追踪。针对基于区块链技术的群组密钥协商的研究尚未出现。一系列的挑战性问题有待解决,包括群组密钥协商过程中区块数据结构定义,区块数据的封装、区块身份认证及个人隐私保护问题等方面的工作尚无先例。
发明内容
针对现有群组密钥协商方法进行密钥计算过程中,计算和通信负载过大,在身份认证过程中,容易暴露个人身份信息,且对信息敏感度较高,无法确定群组成员的访问权限等的技术问题,本发明提出一种基于区块链的非对称群组密钥协商方法,采用区块链无中心化匿名认证可防止委托第三者认证造成的安全隐患并可保护个人隐私不被泄露;采用区块链分布式计算方法可使得群组密钥计算及通信更加均衡,防止因单个终端节点计算及通信负载过大而造成网络瓶颈及单点崩溃问题,同时尽可能的减少每个节点的计算及通信量;采用区块链交易记录可追溯性等特点,可进行网络恶意节点追踪、追责。
为了达到上述目的,本发明的技术方案是这样实现的:一种基于区块链的非对称群组密钥协商方法,其步骤如下:
步骤一:群组的终端成员的密钥生成与注册:
A)密钥生成中心KGC和群组中的所有终端成员在整数域随机选择一个数作为自己的私钥,并通过乘法群的生成元计算各自的公钥;
B)群组的终端成员ui和密钥生成中心KGC计算相应的身份参数,并通过广播进行交互,完成终端成员ui的注册,终端成员ui获取自身的注册标识信息;
步骤二:终端成员之间进行群组密钥协商,计算群组加密密钥和群组解密密钥:
C)密钥生成中心KGC根据终端成员ui的IP地址、公钥、注册标识信息将终端成员排列成一个带有标识符的环状集合,密钥生成中心KGC广播标识符、IP地址、公钥和注册标识信息组成的消息,终端成员ui接收到广播的消息后保存其左右邻居节点的广播信息;
D)环状集合中的发起节点上的终端成员将群组密钥参数组成的消息封装到第一个区块并传递给其右相邻节点上的终端成员,依次循环直到发起节点的左相邻节点上的终端成员;
E)发起节点上的终端成员收到其左相邻节点上的终端成员发送的消息计算自身的群组公钥参数和群组公钥并把群组密钥参数组成的消息封装到第n个区块并广播给其他终端成员;其他终端成员根据第n个区块中的群组密钥参数和自己的私钥计算群组解密密钥,并获取群组解密密钥;
步骤三:群组密钥正确性验证:
F)群组中的各终端成员通过遍历环状集合中的各节点,计算验证群组解密密钥的正确性,并通过双线性映射自证实所计算的群组加密密钥与解密密钥映射关系是否正确。
所述步骤一中群组的终端成员的密钥生成方法为:
(1)密钥生成中心KGC随机选择一个正整数
Figure GDA0003242061000000021
作为系统私钥,并计算公钥
Figure GDA0003242061000000022
密钥生成中心KGC将(mpk,msk)作为系统的公/私钥对;其中,g1为乘法群G1的生成元,
Figure GDA0003242061000000023
表示阶为q的整数集,q为乘法群G1的素数阶;
(2)群组的每个终端成员ui∈U选择一个随机数
Figure GDA0003242061000000024
计算公钥
Figure GDA0003242061000000025
和中间变量
Figure GDA0003242061000000026
然后将信息
Figure GDA0003242061000000027
发送给密钥生成中心KGC;其中,1≤i≤n,终端成员的集合U={u1,u2,...,un},n为终端成员的个数;xi为终端成员ui的私钥,yi为终端成员ui的公钥,
Figure GDA0003242061000000028
为终端成员ui的身份标识,
Figure GDA0003242061000000029
Figure GDA00032420610000000210
为密钥计算的中间参数,H1(.)为映射
Figure GDA00032420610000000211
的散列函数。
所述步骤一中群组的终端成员的注册方法为:密钥生成中心KGC收到终端成员ui发送的消息
Figure GDA00032420610000000212
后,计算中间参数
Figure GDA00032420610000000213
并验证等式
Figure GDA00032420610000000214
是否成立,如果成立,密钥生成中心KGC选择一个随机数
Figure GDA00032420610000000215
并且计算中间参数
Figure GDA00032420610000000216
和注册信息标识
Figure GDA0003242061000000031
并把注册信息标识
Figure GDA0003242061000000032
发送给终端成员ui作为其注册信息;其中,
Figure GDA0003242061000000033
是密钥计算的中间参数,Ti为密钥计算的中间参数,
Figure GDA0003242061000000034
是终端成员ui的注册信息标识,e(·)是可计算的双线性映射函数。
所述步骤二中计算群组加密密钥和群组解密密钥的方法为:
(1)密钥生成中心KGC根据各个终端成员ui的IP地址、公钥、注册标识信息将终端成员排列成一个带有标识符
Figure GDA0003242061000000035
的环状集合,然后将消息
Figure GDA0003242061000000036
广播给环状集合中的所有终端成员,然后各终端成员ui接收到广播的消息之后保存其左右相邻节点上终端成员ui-1和ui+1的信息;其中,Sid是终端成员ui的标识符,IPi是终端成员ui的IP地址,Ti为密钥计算的中间变量;
(2)群组密钥协商的发起节点上的终端成员ui计算出一个左密钥
Figure GDA0003242061000000037
和一个右密钥
Figure GDA0003242061000000038
并秘密保存,计算群组密钥参数
Figure GDA0003242061000000039
签名信息
Figure GDA00032420610000000310
中间变量
Figure GDA00032420610000000311
和中间参数
Figure GDA00032420610000000312
然后,终端成员ui将信息
Figure GDA00032420610000000313
封装成事务,根据其存储的右相邻节点上终端成员ui+1的IP地址IPi+1的值,将封装的事务作为区块链中的交易信息发送给终端成员ui+1;然后,终端成员ui记录时间信息timei并将消息
Figure GDA00032420610000000314
封装成第一个区块;其中,xi为终端成员ui的私钥,yi为终端成员ui的公钥,1≤i≤n,IPi+1为终端成员ui+1的IP地址,Mi为群组密钥计算的中间参数,σi为终端成员ui的数字签名,Yi为终端成员ui的群组密钥参数,
Figure GDA00032420610000000315
为密钥计算所需要的中间变量,H2(.)为映射
Figure GDA00032420610000000316
的散列函数,g1为乘法群G1的生成元;
(3)终端成员ui+1收到终端成员ui发送的消息
Figure GDA00032420610000000317
后,终端成员ui+1将其IP地址与第一个区块封装的IP地址IPi+1进行对比,如果两个IP地址相同,终端成员ui+1计算中间变量
Figure GDA00032420610000000318
并验证等式
Figure GDA00032420610000000319
Figure GDA00032420610000000320
是否成立,如果等式成立,终端成员ui+1计算一个左密钥
Figure GDA00032420610000000321
和一个右密钥
Figure GDA00032420610000000322
秘密保存,并计算群组密钥参数
Figure GDA0003242061000000041
签名信息
Figure GDA0003242061000000042
群组公钥参数
Figure GDA0003242061000000043
中间变量
Figure GDA0003242061000000044
和中间参数
Figure GDA0003242061000000045
终端成员ui+1将信息
Figure GDA0003242061000000046
封装成事务,并将封装的事务信息发送给其右相邻节点;然后,终端成员ui+1记录时间信息timei+1并将
Figure GDA0003242061000000047
封装到新的区块中作为第二个区块;其中,e(·)是可计算的双线性映射函数公式,H2(·)表示散列函数,Mi+1为群组密钥计算的中间参数,σi+1为终端成员ui+1的数字签名,Yi+1为终端成员ui+1的群组密钥参数,
Figure GDA0003242061000000048
为密钥计算所需要的中间变量,
Figure GDA0003242061000000049
为终端成员ui+1计算的公钥参数;
(4)i的值加1循环步骤(3),经过一系列的区块信息传递之后,直到终端成员ui接收到其左相邻节点上终端成员ui-1发送的消息
Figure GDA00032420610000000410
然后终端成员ui计算变量
Figure GDA00032420610000000411
并验证等式
Figure GDA00032420610000000412
Figure GDA00032420610000000413
是否成立来验证终端成员ui-1的身份,如果等式成立,终端成员ui计算群组公钥参数
Figure GDA00032420610000000414
和群组公钥
Figure GDA00032420610000000415
然后将消息
Figure GDA00032420610000000416
广播给群组内所有终端成员;其中,Mi-1是群组密钥计算的中间参数,
Figure GDA00032420610000000417
为终端成员ui计算的群组公钥参数;
(5)群组中其它终端成员uk收到来自终端成员ui广播的消息
Figure GDA00032420610000000418
后;终端成员uk验证等式
Figure GDA00032420610000000419
是否成立来验证终端成员ui的身份,如果等式成立,其它终端成员uk用各自的右密钥
Figure GDA00032420610000000420
计算出中间变量
Figure GDA00032420610000000421
然后终端成员uk计算出群组解密密钥
Figure GDA00032420610000000422
并从终端成员ui发送的消息中获取群组加密密钥
Figure GDA00032420610000000423
且群组加密密钥
Figure GDA0003242061000000051
群组解密密钥
Figure GDA0003242061000000052
1≤k≤n,k≠i。
所述中间变量
Figure GDA0003242061000000053
的计算方法为:
Figure GDA0003242061000000054
Yk+1...Yk+(n-1)分别表示相应的终端成员的群组密钥参数。
所述公式
Figure GDA0003242061000000055
验证方法为:根据双线性映射的性质有:
Figure GDA0003242061000000056
所述步骤三中自证实的方法为:群组的各终端成员ui计算出群组密钥后,通过验证等式
Figure GDA0003242061000000057
和PKenc=e(g1,SKdec)是否成立来确认其所计算的群组解密密钥是否正确。
所述等式
Figure GDA0003242061000000058
的验证方法为:
Figure GDA0003242061000000059
等式PKenc=e(g1,SKdec)表示加密密钥与解密密钥映射关系,验证方法为:
Figure GDA00032420610000000510
本发明的有益效果:受到区块链的数据封装模式及数据传递思想的启发,定义一种环形的区块链式结构,并通过环形数据传输结构模式,提出新的非对称群组密钥计算算法,最终实现群组所有成员都能计算出群组会话加密密钥和解密密钥,进而保障群组秘密信息的安全交换及传输。利用区块链数据传递方式及成员追踪技术,本发明群组密钥协商的主要特点是:1)分布式身份认证,群组密钥协商过程中涉及到的群组成员身份认证是分布式实行的,即区块链中后一节点,对前一节点进行身份认证,尽可能地避免某个节点计算量过大造成网络瓶颈及单点崩溃;2)匿名身份认证,所有节点在进行身份认证过程中始终保持匿名性,以保护个人隐私,并且注册机构可对违规节点进行验证和追踪;3)群组中每个节点在计算群组密钥时,需要遍历环形的区块链式结构,节点可自行验证其计算的群组解密密钥的正确性,也可通过加密密钥和解密密钥的等式关系来验证其计算的群组密钥的正确性。本发明群组成员通过区块链技术传递群组密钥参数并进行群组密钥计算,通过群组密钥同通信信息加密和解密,进而实现群组成员间的安全信息交换及安全信息传输;具有非对称群组密钥协商的功能以及区块链技术的性能优势,群组密钥协商更加灵活、高效和实用,具有重要的领域研究意义和商业应用价值;可以广泛地应用在自组织性、无中心性、拓扑动态变化的移动自组织网络中。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程图。
图2为本发明实施例1中密钥协商信息封装的示意图。
图3为本发明实施例1中密钥协商信息的传递示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
一种基于区块链的非对称群组密钥协商方法,群组成员在进行群组密钥协商前通过区块链匿名认证技术进行身份认证;确认各个终端成员的身份后,参与群组密钥协商的终端成员进行注册,获取各自的注册信息,根据各终端属性排列成一个环状序列组,发起的终端成员计算组密钥并将相关加密信息广播给网络中的其它成员,其他成员验证最后一个终端成员的身份之后计算各自的群组密钥,然后通过等式认证方法验证群组密钥的正确性;在密钥计算过程中,消息发送者通过比较消息块的IP地址写入新的块,并通过等式验证方法验证消息发送者的身份来确定消息的安全传递,进而实现群组成员间的信息安全交换。
针对群组通信环境下,移动自组织网络中的各移动终端间在信息安全共享时涉及到通信信息的保密性、完整性和抗泄露性的问题;同时,在移动自组织网络中,存在移动终端频繁的加入或退出群组对信息安全交换、个人隐私泄露的影响及网络节点计算和通信能力受限等问题。在此背景下,本发明提出一种基于区块链的非对称群组密钥协商方法,实现群组密钥协商。首先,域内的密钥生成中心KGC随机选择主加密密钥,并计算对应的公/私钥对,密钥生成中心KGC对群组内所有终端成员进行身份验证并签名,终端成员通过密钥生成中心KGC签名消息计算自身的公/私钥对;然后计算各终端成员的注册信息,根据各终端成员自身属性排列成一个带有标识符的环状的序列对;其次,密钥生成中心KGC向每个群组密钥协商参与者广播各终端成员的IP地址、公钥和注册信息以及环状组的标识符,群组成员收到广播的消息后,保存其左右相邻节点的相关信息。群组密钥协商的发起者计算其左、右密钥并秘密保存,计算密钥参数、签名信息,并将相应的密钥参数封装成区块传送给其右相邻节点,然后,记录发送的时间信息与发送的参数信息一起封装在区块中。群组中发起节点收到其左相邻节点发送的消息后,验证其左相邻节点的身份,如果验证通过,群组的发起节点计算群组公钥参数和群组公钥,然后把密钥参数和公钥广播给群组内所有成员。其他成员收到发起节点广播的消息之后,验证发起节点的身份,如果验证通过,群组内其他成员用自己的右密钥及密钥参数计算出解密密钥,并从广播的消息中获取加密密钥;最后,群组各终端成员计算出群组密钥后,通过双线性映射自证实所计算的群组解密密钥是否正确,实现移动自组织网络中群组成员之间共享秘密信息。
1.本发明所涉及的理论基础知识和相关定义
1.1双线性映射问题
定义1.双线性映射:设G1为一个乘法群,其生成元为g1,即g1∈G1,G2为另一个乘法群。乘法群G1和G2具有共同的大素数阶q,q≥2k1+1,k 1是安全参数,且两个乘法群G1和G2上的离散对数是困难的,并且两个乘法群G1和G2是一对双线性群,e是可计算的双线性映射,e:G1×G1→G2,其具有如下性质:
性质1.双线性:对所有的生成元g1,g2∈G1及参数
Figure GDA0003242061000000071
Figure GDA0003242061000000072
其中,
Figure GDA0003242061000000073
表示阶为q的整数集。
性质2.非退化性:e(g1,g2)≠1。
性质3.可计算性:存在有效的算法,对于生成元g1,g2∈G1可计算e(g1,g2)。
推理1.对于生成元μ12,v∈G1可计算e(μ1·μ2,v)=e(μ1,v)e(μ2,v)。
1.2计算复杂性问题
定义1.离散对数问题(DLP):对于等式y=ga
Figure GDA0003242061000000081
其中,生成元y,g∈G1,参数a<q。如果参数a和生成元g已知,很容易计算出生成元y。但是已知生成元g和生成元y,计算出参数a的概率在多项式时间内可以忽略不计。
定义2.计算决策双线性Diffie-Hellman(DDH)问题:对于给出任意两个正整数
Figure GDA0003242061000000082
和生成元π∈G1,两个三元组
Figure GDA0003242061000000083
Figure GDA0003242061000000084
在计算上无法区分。定义3.计算Diffe-Hellman双线性逆问题(BIDH):已知生成元g1
Figure GDA0003242061000000085
Figure GDA0003242061000000086
给出任意两个正整数
Figure GDA0003242061000000087
可计算e(g1,g1)abc的值。
实施例1
复杂群组通信及信息共享情况下,通信多方需要对通信成员进行身份认证,但在提供身份信息时,身份信息容易泄露或者被窃取。出于安全考虑,通信多方需要认证的同时,需要对个人身份隐私进行保护。在信息共享时,还要保障通信信息的保密性、完整性和抗泄露性,要求具有权限的成员才能共享信息。针对此应用背景下,本发明提出了一种基于区块链的非对称群组密钥协商方法,如图1所示,其步骤如下:①参与群组密钥协商的成员首先进行参数初始化,分别产生各自的公/私钥对,并获取各自的注册信息,然后根据各终端成员自身属性排列成一个带有标识符的环状序列组;②群组协商过程中,密钥协商信息以区块的形式进行传递,保证密钥协商过程中信息的传递及相关计算相对均衡的分布在每个节点上,并在终端成员之间进行群组密钥计算;③当各终端成员计算完群组解密密钥后,通过双线性映射自证实所计算的群组解密密钥是否正确。本实施例中群组密钥协商过程中,密钥协商的信息以区块的形式进行传递,密钥协商过程中信息的传递及相关计算相对均衡的分布在每个节点上。信息的封装形式如图2所示,信息的传递过程如图3所示。
一.初始化协议参数,生成各终端成员的公/私钥对
假设群组信息交换网络中包含一个域内的密钥生成中心KGC和n个终端成员,n个终端成员的集合用U={u1,u2,...,un}表示,相应的n个终端成员的身份集合用
Figure GDA0003242061000000088
表示。
假设G1和G2是两个乘法群,计算两个乘法群G1和G2上的离散对数问题是难解的,g1∈G1是乘法群G1的一个生成元,两个乘法群G1和G2具有相同的素数阶q,并且存在一个双线性映射函数e,并且e:G1×G1→G2
Figure GDA0003242061000000091
Figure GDA0003242061000000092
是三个哈希散列函数。
终端成员的公/私钥对的生成以及获取各自注册身份信息的方法为:
密钥生成中心KGC随机选择一个正整数
Figure GDA0003242061000000093
作为系统私钥,并计算公钥
Figure GDA0003242061000000094
密钥生成中心KGC将(msk,mpk)作为系统的公/私钥对。在所有终端成员参与群组密钥协商之前,任意终端成员ui∈U随机选择一个正整数
Figure GDA0003242061000000095
作为其私钥,计算公钥
Figure GDA0003242061000000096
中间变量
Figure GDA0003242061000000097
并将(yi,xi)作为自身的公/私钥对,然后将消息
Figure GDA0003242061000000098
发送给密钥生成中心KGC。其中,1≤i≤n,
Figure GDA0003242061000000099
Figure GDA00032420610000000910
为密钥计算的中间变量,
Figure GDA00032420610000000911
为终端成员ui的身份标识,g1∈G1是乘法群G1的一个生成元,H1(·)表示散列函数,yi为终端成员ui计算的公钥。
密钥生成中心KGC接收到终端成员ui发送的消息
Figure GDA00032420610000000912
之后,计算
Figure GDA00032420610000000913
并通过等式
Figure GDA00032420610000000914
验证终端成员ui的身份,如果验证通过,密钥生成中心KGC选择一个随机数
Figure GDA00032420610000000915
并计算中间变量
Figure GDA00032420610000000916
和注册信息标识
Figure GDA00032420610000000917
的值,并把
Figure GDA00032420610000000918
作为终端成员ui的注册信息发送给终端成员ui。如果验证不通过,则广播出错信息,以便其它成员进行验证,密钥生成中心KGC并将终端成员ui开除群组密钥。然后,密钥生成中心KGC根据各终端成员的IP地址、公钥和注册信息创建一个环状的带有标识符
Figure GDA00032420610000000919
的会话群组。环状序列的n个带有注册信息标识的终端成员的集合用
Figure GDA00032420610000000920
表示,带有注册信息标识
Figure GDA00032420610000000921
Figure GDA00032420610000000922
的节点分别是带有注册信息标识
Figure GDA00032420610000000923
的节点的左右相邻节点,并且
Figure GDA00032420610000000924
即集合
Figure GDA00032420610000000925
中带有注册信息标识
Figure GDA00032420610000000926
的节点首尾相连。然后,密钥生成中心KGC广播消息
Figure GDA00032420610000000927
给参与群组协商的所有终端成员。群组中的终端成员收到KGC广播的消息之后,各终端成员uj保存其左相邻节点的信息
Figure GDA00032420610000000928
和右相邻节点的信息
Figure GDA00032420610000000929
系统参数是params=(mpk,q,G1,G2,g1,e,H1,H2,H3);其中,1≤i≤n,1≤j≤n,
Figure GDA00032420610000000930
是密钥计算的中间参数,Ti为密钥计算的中间变量,
Figure GDA0003242061000000101
Figure GDA0003242061000000102
均为密钥计算的中间变量,H2(.)为散列函数,
Figure GDA0003242061000000103
是终端成员ui的注册信息标识,yi为终端成员ui的公钥。
等式
Figure GDA0003242061000000104
的验证方法为:
Figure GDA0003242061000000105
二.计算群组密钥
为了防止未授权的终端参与群组密钥协商,仅允许拥有权限的终端成员参与群组密钥协商。本发明采用区块链传递密钥协商消息,参与群组密钥协商的每个终端成员计算群组密钥参数,并对群组密钥参数进行数字签名,将签名消息及所需要的群组密钥参数通过区块结构进行区块封装,并将区块信息按照区块链的传递方式逐步传递给其它成员。收到其左相邻块节点信息后,本区块节点对其左相邻区块中的信息进行认证,保障左相邻区块信息的安全性和正确性。同时计算本节点的群组密钥参数,对该信息进行数字签名,并进行区块封装传递给下一个区块,然后记录信息传递时间,与封装的消息一起封装在区块中,直到发起节点收到其左相邻节点发送的消息,区块包含所有成员的群组密钥参数,然后发起节点通过收到的所有成员的群组密钥参数计算出群组公钥参数和群组公钥,并广播给所有终端成员。所有终端成员收到广播的消息后,各终端成员计算密钥参数,并用自己的右密钥和相关参数计算出群组解密密钥以获取群组加密密钥。为了保障每个成员计算的群组密钥的正确性,每个终端成员通过双线性映射自证实所计算的群组解密密钥的正确性,以保证信息在通信过程中安全交换。
本发明实现群组信息的安全交换,具有传统身份认证的功能,同时可以保护个人隐私问题。群组密钥协商过程中,密钥协商的信息是以区块的形式进行传递,密钥协商过程中信息的传递及相关计算相对均衡的分布在每个节点中,如图3所示,计算群组密钥的具体实现方法为:
(1)群组密钥协商的终端成员ui所在的节点作为发起节点,计算出一个左密钥
Figure GDA0003242061000000106
和一个右密钥
Figure GDA0003242061000000107
并秘密保存,计算群组密钥参数
Figure GDA0003242061000000108
签名信息
Figure GDA0003242061000000109
中间变量
Figure GDA00032420610000001010
Figure GDA00032420610000001011
然后,终端成员ui将信息
Figure GDA0003242061000000111
封装成事务,根据其存储的后一个节点的终端成员ui+1的IP地址IPi+1的值,将封装的事务作为区块链中的交易信息发送给右节点的终端成员ui+1;然后,终端成员ui记录时间信息timei并将
Figure GDA0003242061000000112
封装成第一个区块;其中,1≤i≤n,IPi+1为终端成员ui+1的IP地址,Mi为群组密钥计算的中间参数,σi为终端成员ui的数字签名,Yi为终端成员ui的群组密钥参数,H2(.)为散列函数,
Figure GDA0003242061000000113
是终端成员ui的注册信息标识,yi为终端成员ui的公钥,Ti为密钥计算的中间变量,
Figure GDA0003242061000000114
为密钥计算所需的中间变量。
(2)终端成员ui+1收到终端成员ui发送的消息
Figure GDA0003242061000000115
后,终端成员ui+1将其IP地址与第一个区块封装的IP地址进行对比分析,如果两个IP地址相同,终端成员ui+1会写一个新的区块。终端成员ui+1计算
Figure GDA0003242061000000116
并验证等式
Figure GDA0003242061000000117
Figure GDA0003242061000000118
是否成立来验证节点ui的身份,如果等式成立,终端成员ui+1计算一个左密钥
Figure GDA0003242061000000119
和一个右密钥
Figure GDA00032420610000001110
秘密保存,并计算一个群组密钥参数
Figure GDA00032420610000001111
签名信息
Figure GDA00032420610000001112
中间变量
Figure GDA00032420610000001113
群组公钥参数
Figure GDA00032420610000001114
和中间参数
Figure GDA00032420610000001115
如果等式不成立,则广播出错信息,以便其它终端成员进行验证,并将其开除群组密钥。终端成员ui+1将信息
Figure GDA00032420610000001116
封装成事务,并将封装的事务信息发送给其右相邻节点;然后,终端成员ui+1记录时间信息timei+1并将
Figure GDA00032420610000001117
封装成第二个区块;其中,e(·)是可计算的双线性映射函数公式,H2(·)表示散列函数,g1为加法群G1的生成元,Mi+1为群组密钥计算的中间参数,σi+1为终端成员ui+1的数字签名,Ti+1为密钥计算的中间变量,Yi+1为终端成员ui+1的群组密钥参数,
Figure GDA00032420610000001118
为终端成员ui+1计算的公钥参数,yi为终端成员ui的公钥,
Figure GDA00032420610000001119
为密钥计算所需的中间变量。
等式
Figure GDA00032420610000001120
的验证方法:步骤(1)中计算出
Figure GDA0003242061000000121
的值,然后计算
Figure GDA0003242061000000122
故两者相等。
公式
Figure GDA0003242061000000123
验证方法为:根据双线性映射的性质有:
Figure GDA0003242061000000124
如果等式成立,则证明该消息是用终端成员ui的私钥签名,进而证实该消息为终端成员ui发送。
(3)后续其他终端成员的操作和终端成员ui+1相似,经过一系列的区块信息传递之后,直到终端成员ui接收到其左相邻节点的终端成员ui-1发送的消息
Figure GDA0003242061000000125
然后终端成员ui计算
Figure GDA0003242061000000126
并验证等式
Figure GDA0003242061000000127
Figure GDA0003242061000000128
是否成立来验证终端成员ui-1的身份,如果等式成立,则区块信息传递结束。如果等式不成立,则广播出错信息,以便其它成员进行验证,并将终端成员ui-1开除群组密钥。终端成员ui计算群组公钥参数
Figure GDA0003242061000000129
和群组公钥
Figure GDA00032420610000001210
然后将消息
Figure GDA00032420610000001211
广播给群组内所有终端成员。其中,Mi-1是群组密钥计算的中间参数,
Figure GDA00032420610000001212
为终端成员ui计算群组公钥参数,σi-1为终端成员ui-1的数字签名,Yi-1为终端成员ui-1的群组密钥参数,
Figure GDA00032420610000001213
为终端成员ui计算的公钥参数,yi-1为终端成员ui-1的公钥;
(4)群组中其它的其它终端成员uk收到来自终端成员ui广播的消息
Figure GDA00032420610000001214
后,且1≤k≤n,j≠i;每一个节点uk验证等式
Figure GDA00032420610000001215
是否成立来验证终端成员ui的身份,如果等式成立,每个节点uk用各自的右密钥
Figure GDA00032420610000001216
计算出中间变量
Figure GDA00032420610000001217
计算过程如下:
Figure GDA0003242061000000131
其中,
Figure GDA0003242061000000132
为密钥计算的中间变量,Yk+1...Yk+(n-1)分别表示相应的终端成员的群组密钥参数。
然后,终端成员uk可计算出群组解密密钥
Figure GDA0003242061000000133
并从终端ui获取群组加密密钥
Figure GDA0003242061000000134
如果等式不成立,则广播出错信息,以便其它成员进行验证,并推荐终端成员ui的左节点的终端成员ui-1接替终端成员ui的任务执行群组密钥协商。显然,群组内所有诚实的参与者可以获取相同的加密密钥
Figure GDA0003242061000000135
并计算出相同的解密密钥
Figure GDA0003242061000000136
三.群组密钥自证实性
群组中的终端成员计算出群组密钥后,不需通过广播对比其它终端成员计算的结果来验证密钥的一致性,通过自身计算可自证实密钥计算的正确性,过程如下:
群组的各终端成员ui计算出群组密钥后,通过验证等式
Figure GDA0003242061000000137
是否成立来确认其所计算的群组解密密钥是否正确。等式的验证过程为:
Figure GDA0003242061000000138
和加密密钥与解密密钥映射关系验证方法为:
Figure GDA0003242061000000139
实施例2
一种基于区块链的非对称群组密钥协商方法,如图1所示,为了说明本发明的内容及实施方法,给出了一个具体实施例。本实施方式中,为方便实例阐述,参加密钥协商的终端成员个数最多为10个,终端成员的实体集合表示为
Figure GDA0003242061000000141
对应实体终端成员身份的集合表示为
Figure GDA0003242061000000142
在本实施例中引入细节的目的不是限制权利要求书的范围,而是帮助理解本发明的方法。本领域的技术人员应理解:在不脱离本发明及其所附权利要求的精神和范围内,对最佳实施例步骤的各种修改、变化或替换都是可能的。因此,本发明不应局限于最佳实施例及附图所公开的内容。
一.初始化
假设G1和G2是两个乘法群,计算两个乘法群G1和G2上的离散对数问题是难解的,g1∈G1是乘法群G1的一个生成元,两个乘法群G1和G2具有相同的素数阶q,并且存在一个双线性映射函数e,并且e:G1×G1→G2
Figure GDA0003242061000000143
Figure GDA0003242061000000144
是三个哈希散列函数。
密钥生成中心KGC随机选择一个正整数
Figure GDA0003242061000000145
作为系统私钥,并计算公钥
Figure GDA0003242061000000146
密钥生成中心KGC将(msk,mpk)作为系统的公/私钥对。在所有终端成员参与群组密钥协商之前,任意终端成员ui∈U(1≤i≤10)随机选择一个正整数
Figure GDA0003242061000000147
作为该终端成员的私钥,计算公钥
Figure GDA0003242061000000148
中间变量
Figure GDA0003242061000000149
Figure GDA00032420610000001410
将(yi,xi)作为终端成员ui的公/私钥对,然后将
Figure GDA00032420610000001411
发送给密钥生成中心KGC;其中,
Figure GDA00032420610000001412
Figure GDA00032420610000001413
为密钥计算的中间变量,
Figure GDA00032420610000001414
为终端成员ui的身份标识,H1(·)表示散列函数。
密钥生成中心KGC接收到终端成员ui发送的消息
Figure GDA00032420610000001415
之后,计算
Figure GDA00032420610000001416
并通过等式
Figure GDA00032420610000001417
验证终端成员ui的身份,如果验证通过,密钥生成中心KGC选择一个随机数
Figure GDA00032420610000001418
并计算
Figure GDA00032420610000001419
的值并把
Figure GDA00032420610000001420
作为终端成员ui的注册信息发送给终端成员ui。然后,密钥生成中心KGC根据各终端成员的IP地址、公钥和注册信息创建一个环状的带有标识符
Figure GDA00032420610000001421
的会话群组。环状序列的10个带有注册身份标识的终端成员的集合用
Figure GDA0003242061000000151
表示,带有注册身份标识
Figure GDA0003242061000000152
Figure GDA0003242061000000153
的节点分别是带有注册身份标识
Figure GDA0003242061000000154
的节点的左右相邻节点。然后,密钥生成中心KGC广播消息
Figure GDA0003242061000000155
给参与群组协商的所有终端成员。群组成员收到密钥生成中心KGC广播的消息之后,各终端成员uj(1≤j≤10)保存其左相邻节点的信息
Figure GDA0003242061000000156
和右相邻节点的信息
Figure GDA0003242061000000157
系统参数是params=(mpk,q,G1,G2,g1,e,H1,H2,H3);其中,1≤i≤10,1≤j≤10,
Figure GDA0003242061000000158
是密钥计算的中间参数,Ti为密钥计算的中间变量,
Figure GDA0003242061000000159
Figure GDA00032420610000001510
为密钥计算的中间变量,H2(.)为散列函数,
Figure GDA00032420610000001511
是终端成员ui的注册信息标识,yi为终端成员ui的公钥。
二.计算群组密钥
(1)群组密钥协商的发起节点上的终端成员ui计算出一个左密钥
Figure GDA00032420610000001512
和一个右密钥
Figure GDA00032420610000001513
秘密保存,计算群组密钥参数
Figure GDA00032420610000001514
签名信息
Figure GDA00032420610000001515
Figure GDA00032420610000001516
然后,终端成员ui将信息
Figure GDA00032420610000001517
封装成事务,对比其存储的后一个节点上的终端成员ui+1的IP地址IPi+1的值是否一致,若一致,将封装的事务作为区块链中的交易信息发送给终端成员ui+1;然后,终端成员ui记录时间信息timei并将
Figure GDA00032420610000001518
封装成第一个区块;其中,1≤i≤10,IPi+1为终端成员ui+1的IP地址,Mi为群组密钥计算的中间参数,σi为终端成员ui的数字签名,Yi为终端成员ui+1的群组密钥参数,H2(.)为散列函数,Rui是终端成员ui的注册信息标识,yi为终端成员ui的公钥,Ti为密钥计算的中间变量,
Figure GDA00032420610000001519
为密钥计算所需的中间变量。
(2)终端成员ui+1收到终端成员ui发送的消息
Figure GDA00032420610000001520
后,终端成员ui+1将其IP地址与其左相邻区块封装的IP地址进行对比分析,如果两个IP地址相同;终端成员ui+1计算
Figure GDA00032420610000001521
并验证等式
Figure GDA00032420610000001522
Figure GDA00032420610000001523
是否成立来验证终端成员ui的身份,如果等式成立,终端成员ui+1计算一个左密钥
Figure GDA00032420610000001524
和一个右密钥
Figure GDA0003242061000000161
秘密保存,并计算一个群组密钥参数
Figure GDA0003242061000000162
签名信息
Figure GDA0003242061000000163
Figure GDA0003242061000000164
群组公钥参数
Figure GDA0003242061000000165
Figure GDA0003242061000000166
如果等式不成立,则广播出错信息,以便其它成员进行验证,并将终端成员ui开除群组密钥。终端成员ui+1将信息
Figure GDA0003242061000000167
封装成事务,并将封装的事务信息发送给其IP地址与封装的地址相同的IP地址为IPi+2的左相邻节点上的终端成员;然后,终端成员ui+1记录时间信息timei+1并将
Figure GDA0003242061000000168
封装成第二个区块;其中,1≤i≤10,e(·)是可计算的双线性映射函数公式,H2(·)表示散列函数,g1为加法群G1的生成元,Mi+1为群组密钥计算的中间参数,σi+1为终端成员ui+1的数字签名,Ti+1为密钥计算的中间变量,Yi+1为终端成员ui+1的群组密钥参数,
Figure GDA0003242061000000169
为终端成员ui+1计算的公钥参数,yi为终端成员ui的公钥,
Figure GDA00032420610000001610
为密钥计算所需的中间变量。
(3)后续节点操作和终端成员ui+1所在的节点相似,经过一系列的区块信息传递之后,直到终端成员ui接收到其左相邻节点上的终端成员ui-1发送的消息
Figure GDA00032420610000001611
然后终端成员ui计算
Figure GDA00032420610000001612
并验证等式
Figure GDA00032420610000001613
是否成立来验证ui-1的身份,如果等式均成立,则区块信息传递结束。如果任一等式不成立,则广播出错信息,以便其它成员进行验证,并将其开除群组密钥。终端成员ui计算群组公钥参数
Figure GDA00032420610000001614
和群组公钥
Figure GDA00032420610000001615
然后将消息
Figure GDA00032420610000001616
广播给群组内所有成员;其中,1≤i≤10,Mi-1是群组密钥计算的中间参数,
Figure GDA00032420610000001617
为终端成员ui计算群组公钥参数,σi-1为终端成员ui-1的数字签名,Yi-1为终端成员ui-1的群组密钥参数,
Figure GDA00032420610000001618
为终端成员ui计算的公钥参数,yi-1为终端成员ui-1的公钥。
(4)群组中其它终端成员uk收到来自终端成员ui广播的消息
Figure GDA0003242061000000171
后;每一个终端成员uk验证等式
Figure GDA0003242061000000172
是否成立来验证终端成员ui的身份,如果等式成立,每个终端成员uk(1≤k≤n)用各自的右密钥
Figure GDA0003242061000000173
计算出中间变量
Figure GDA0003242061000000174
计算过程如下:
Figure GDA0003242061000000175
其中1≤k≤10,k≠i。
然后,终端成员uk可以计算出群组解密密钥
Figure GDA0003242061000000176
并从终端成员ui获取群组加密密钥
Figure GDA0003242061000000177
如果等式不成立,则广播出错信息,以便其它成员进行验证,并推荐下一节点的终端成员ui-1接替终端成员ui的任务执行群组密钥协商。显然,群组内所有诚实的参与者可以获取相同的加密密钥
Figure GDA0003242061000000178
并计算出相同的解密密钥
Figure GDA0003242061000000179
其中,1≤i≤10,
Figure GDA00032420610000001710
为密钥计算的中间变量。
三.群组密钥自证实性
群组成员计算出群组密钥后,不需通过广播对比其它成员计算的结果来验证密钥的一致性,通过自身计算可自证实密钥计算的正确性,过程如下:
群组的各终端成员ui(1≤i≤10)计算出群组密钥后,通过验证等式
Figure GDA00032420610000001711
和PKenc=e(g1,SKdec)是否成立来确认其所计算的群组解密密钥是否正确。
本发明以区块链技术理论为基础,提出基于区块链的非对称群组密钥协商方法,该方法结合区块链和非对称群组密钥协商的优势,采用区块链匿名认证技术实现在群组密钥协议过程中的匿名身份认证,以保护个人隐私保护;采用区块链分布式计算技术,将群组密钥协商过程中的计算量及通信量均衡到每个节点上,以减少单个节点的计算及通信负载,防止端点崩溃及通信瓶颈问题;采用区块链的交易记录技术,对群组中非法操作成员进行追溯和问责,保障群组间信息交换的安全。本发明实现了群组成员之间协商出一致的通信加密密钥和通信解密密钥,进而实现群组之间安全信息交换和传输。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种基于区块链的非对称群组密钥协商方法,其特征在于,其步骤如下:
步骤一:群组的终端成员的密钥生成与注册:
A)密钥生成中心KGC和群组中的所有终端成员在整数域随机选择一个数作为自己的私钥,并通过乘法群的生成元计算各自的公钥;
B)群组的终端成员ui和密钥生成中心KGC计算相应的身份参数,并通过广播进行交互,完成终端成员ui的注册,终端成员ui获取自身的注册标识信息;
步骤二:终端成员之间进行群组密钥协商,计算群组加密密钥和群组解密密钥:
C)密钥生成中心KGC根据终端成员ui的IP地址、公钥、注册标识信息将终端成员排列成一个带有标识符的环状集合,密钥生成中心KGC广播标识符、IP地址、公钥和注册标识信息组成的消息,终端成员ui接收到广播的消息后保存其左右邻居节点的广播信息;
D)环状集合中的发起节点上的终端成员将群组密钥参数组成的消息封装到第一个区块并传递给其右相邻节点上的终端成员,依次循环直到发起节点的左相邻节点上的终端成员;
E)发起节点上的终端成员收到其左相邻节点上的终端成员发送的消息计算自身的群组公钥参数和群组公钥,并把群组密钥参数组成的消息封装到第n个区块并广播给其他终端成员;其他终端成员根据第n个区块中的群组密钥参数和自己的私钥计算群组解密密钥,并获取群组解密密钥,n为终端成员的个数;
步骤三:群组密钥正确性验证:
F)群组中的各终端成员通过遍历环状集合中的各节点,计算验证群组解密密钥的正确性,并通过双线性映射自证实所计算的群组加密密钥与解密密钥映射关系是否正确;
所述步骤二中计算群组加密密钥和群组解密密钥的方法为:
(1)密钥生成中心KGC根据各个终端成员ui的IP地址、公钥yi、注册信息标识
Figure FDA0003242060990000011
将终端成员排列成一个带有标识符
Figure FDA0003242060990000012
的环状集合,然后将消息
Figure FDA0003242060990000013
广播给环状集合中的所有终端成员,然后各终端成员ui接收到广播的消息之后保存其左右相邻节点上终端成员ui-1和ui+1的信息;其中,Sid是终端成员ui的标识符,IPi是终端成员ui的IP地址,Ti为密钥计算的中间变量,
Figure FDA0003242060990000014
表示阶为q的整数集;
(2)群组密钥协商的发起节点上的终端成员ui计算出一个左密钥
Figure FDA0003242060990000015
和一个右密钥
Figure FDA0003242060990000021
并秘密保存,计算群组密钥参数
Figure FDA0003242060990000022
数字签名
Figure FDA0003242060990000023
中间变量
Figure FDA0003242060990000024
和中间参数
Figure FDA0003242060990000025
然后,终端成员ui将信息
Figure FDA0003242060990000026
封装成事务,根据其存储的右相邻节点上终端成员ui+1的IP地址IPi+1的值,将封装的事务作为区块链中的交易信息发送给终端成员ui+1;然后,终端成员ui记录时间信息timei并将消息
Figure FDA0003242060990000027
封装成第一个区块;其中,xi为终端成员ui的私钥,yi为终端成员ui的公钥,1≤i≤n,IPi+1为终端成员ui+1的IP地址,Mi为群组密钥计算的中间参数,σi为终端成员ui的数字签名,Yi为终端成员ui的群组密钥参数,
Figure FDA0003242060990000028
为密钥计算所需要的中间变量,H2(.)为映射
Figure FDA0003242060990000029
的散列函数,g1为乘法群G1的生成元;
(3)终端成员ui+1收到终端成员ui发送的消息
Figure FDA00032420609900000210
后,终端成员ui+1将其IP地址与第一个区块封装的IP地址IPi+1进行对比,如果两个IP地址相同,终端成员ui+1计算中间变量
Figure FDA00032420609900000211
并验证等式
Figure FDA00032420609900000212
Figure FDA00032420609900000213
是否成立,如果等式成立,终端成员ui+1计算一个左密钥
Figure FDA00032420609900000214
和一个右密钥
Figure FDA00032420609900000215
秘密保存,并计算群组密钥参数
Figure FDA00032420609900000216
签名信息
Figure FDA00032420609900000217
群组公钥参数
Figure FDA00032420609900000218
中间变量
Figure FDA00032420609900000219
和中间参数
Figure FDA00032420609900000220
终端成员ui+1将信息
Figure FDA00032420609900000221
封装成事务,并将封装的事务信息发送给其右相邻节点;然后,终端成员ui+1记录时间信息timei+1并将
Figure FDA00032420609900000222
封装到新的区块中作为第二个区块;其中,e(·)是可计算的双线性映射函数公式,mpk为密钥生成中心KGC的公钥,H2(·)表示散列函数,Mi+1为群组密钥计算的中间参数,σi+1为终端成员ui+1的数字签名,Yi+1为终端成员ui+1的群组密钥参数,
Figure FDA00032420609900000223
为密钥计算所需要的中间变量,
Figure FDA00032420609900000224
为终端成员ui+1计算的群组公钥参数;
(4)i的值加1循环步骤(3),经过一系列的区块信息传递之后,直到终端成员ui接收到其左相邻节点上终端成员ui-1发送的消息
Figure FDA0003242060990000031
然后终端成员ui计算变量
Figure FDA0003242060990000032
并验证等式
Figure FDA0003242060990000033
Figure FDA0003242060990000034
是否成立,来验证终端成员ui-1的身份;如果等式成立,终端成员ui计算群组公钥参数
Figure FDA0003242060990000035
和群组公钥
Figure FDA0003242060990000036
然后将消息
Figure FDA0003242060990000037
广播给群组内所有终端成员;其中,Mi-1是群组密钥计算的中间参数,
Figure FDA0003242060990000038
为终端成员ui计算的群组公钥参数;
(5)群组中其它终端成员uk收到来自终端成员ui广播的消息
Figure FDA0003242060990000039
后;终端成员uk验证等式
Figure FDA00032420609900000310
是否成立来验证终端成员ui的身份,如果等式成立,其它终端成员uk用各自的右密钥
Figure FDA00032420609900000311
计算出中间变量
Figure FDA00032420609900000312
然后终端成员uk计算出群组解密密钥
Figure FDA00032420609900000313
并从终端成员ui发送的消息中获取群组加密密钥
Figure FDA00032420609900000314
且群组加密密钥
Figure FDA00032420609900000315
群组解密密钥
Figure FDA00032420609900000316
Figure FDA00032420609900000317
2.根据权利要求1所述的基于区块链的非对称群组密钥协商方法,其特征在于,所述步骤一中群组的终端成员的密钥生成方法为:
(1)密钥生成中心KGC随机选择一个正整数
Figure FDA00032420609900000318
作为系统私钥,并计算公钥
Figure FDA00032420609900000319
密钥生成中心KGC将(mpk,msk)作为系统的公/私钥对;其中,g1为乘法群G1的生成元,q为乘法群G1的素数阶;
(2)群组的每个终端成员ui∈U选择一个随机数
Figure FDA00032420609900000320
计算公钥
Figure FDA00032420609900000321
和中间变量
Figure FDA00032420609900000322
Figure FDA00032420609900000323
然后将信息
Figure FDA00032420609900000324
发送给密钥生成中心KGC;其中,1≤i≤n,终端成员的集合U={u1,u2,...,un},n为终端成员的个数;xi为终端成员ui的私钥,yi为终端成员ui的公钥,
Figure FDA0003242060990000041
为终端成员ui的身份标识,
Figure FDA0003242060990000042
Figure FDA0003242060990000043
为密钥计算的中间参数,H1(.)为映射
Figure FDA0003242060990000044
的散列函数。
3.根据权利要求2所述的基于区块链的非对称群组密钥协商方法,其特征在于,所述步骤一中群组的终端成员的注册方法为:密钥生成中心KGC收到终端成员ui发送的消息
Figure FDA0003242060990000045
后,计算中间参数
Figure FDA0003242060990000046
并验证等式
Figure FDA0003242060990000047
是否成立,如果成立,密钥生成中心KGC选择一个随机数
Figure FDA0003242060990000048
并且计算中间参数
Figure FDA0003242060990000049
和注册信息标识
Figure FDA00032420609900000410
并把注册信息标识
Figure FDA00032420609900000411
发送给终端成员ui作为其注册信息;其中,
Figure FDA00032420609900000412
是密钥计算的中间参数,Ti为密钥计算的中间参数,
Figure FDA00032420609900000413
是终端成员ui的注册信息标识,e(·)是可计算的双线性映射函数。
4.根据权利要求3所述的基于区块链的非对称群组密钥协商方法,其特征在于,所述中间变量
Figure FDA00032420609900000414
的计算方法为:
Figure FDA00032420609900000415
Yk+1...Yk+(n-1)分别表示相应的终端成员的群组密钥参数。
5.根据权利要求1所述的基于区块链的非对称群组密钥协商方法,其特征在于,所述公式e((σi·Rui),g1)=e(Yi,yi)e(Ti,mpk)验证方法为:根据双线性映射的性质有:
Figure FDA00032420609900000416
6.根据权利要求3所述的基于区块链的非对称群组密钥协商方法,其特征在于,所述步骤三中自证实的方法为:群组的各终端成员ui计算出群组密钥后,通过验证等式
Figure FDA00032420609900000417
和PKenc=e(g1,SKdec)是否成立来确认其所计算的群组解密密钥是否正确。
7.根据权利要求6所述的基于区块链的非对称群组密钥协商方法,其特征在于,所述等式
Figure FDA0003242060990000051
的验证方法为:
Figure FDA0003242060990000052
等式PKenc=e(g1,SKdec)表示加密密钥与解密密钥映射关系,验证方法为:
Figure FDA0003242060990000053
CN201910543168.XA 2019-06-21 2019-06-21 一种基于区块链的非对称群组密钥协商方法 Active CN110266482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910543168.XA CN110266482B (zh) 2019-06-21 2019-06-21 一种基于区块链的非对称群组密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910543168.XA CN110266482B (zh) 2019-06-21 2019-06-21 一种基于区块链的非对称群组密钥协商方法

Publications (2)

Publication Number Publication Date
CN110266482A CN110266482A (zh) 2019-09-20
CN110266482B true CN110266482B (zh) 2021-10-12

Family

ID=67920356

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910543168.XA Active CN110266482B (zh) 2019-06-21 2019-06-21 一种基于区块链的非对称群组密钥协商方法

Country Status (1)

Country Link
CN (1) CN110266482B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110740034B (zh) * 2019-09-26 2021-08-31 如般量子科技有限公司 基于联盟链的qkd网络认证密钥生成方法及系统
CN110719163B (zh) * 2019-09-29 2022-09-23 联想(北京)有限公司 一种信息处理方法、设备及存储介质
CN111221903B (zh) * 2019-12-18 2023-11-28 中思博安科技(北京)有限公司 数据追责方法、系统和计算机存储介质
CN111294203B (zh) * 2020-01-22 2022-02-11 腾讯科技(深圳)有限公司 信息传输方法
CN111343187B (zh) * 2020-03-04 2022-04-05 开采夫(杭州)科技有限公司 以时空信息为函数模型的区块链数据加密方法
CN111586010B (zh) * 2020-04-29 2022-04-01 中国联合网络通信集团有限公司 一种密钥分发方法及装置
CN113691570A (zh) * 2020-05-18 2021-11-23 山东浪潮质量链科技有限公司 一种基于多层级区块链的跨组织交流方法、设备及介质
CN111526160B (zh) * 2020-05-26 2022-08-09 中国联合网络通信集团有限公司 保密信息的处理方法及服务器
CN112165472B (zh) * 2020-09-22 2022-09-27 郑州轻工业大学 一种基于隐私保护的物联网数据安全共享方法
CN112422282B (zh) * 2020-11-18 2022-03-18 中国电子科技集团公司第三十研究所 一种中心化的高效群组会话密钥管理方法
CN113158202B (zh) * 2021-03-22 2023-12-15 北京信息科技大学 一种基于标识密码的分布式密钥管理、验证方法及系统
CN113242133B (zh) * 2021-04-29 2022-12-13 中国人民银行数字货币研究所 一种数字证书管理方法和装置
CN113489733B (zh) * 2021-07-13 2022-07-29 郑州轻工业大学 基于区块链的内容中心网络隐私保护方法
CN114239048A (zh) * 2021-11-11 2022-03-25 江苏众享金联科技有限公司 一种基于群组协商密钥的联盟链场景下监管者共享敏感数据的方法
CN114285555A (zh) * 2021-12-15 2022-04-05 支付宝(杭州)信息技术有限公司 基于区块链的组播方法及装置
CN114338016B (zh) * 2022-01-08 2023-11-24 安徽师范大学 一种基于群组密钥协商的危害废料区块链监管系统、方法
CN114928835B (zh) * 2022-03-29 2024-07-12 山东大学 基于区块链与密钥管理的动态无线传感器网络构建方法
CN115242490B (zh) * 2022-07-19 2023-09-26 北京计算机技术及应用研究所 一种可信环境下群密钥安全分发方法和系统
CN115314203B (zh) * 2022-10-11 2022-12-20 南京易科腾信息技术有限公司 群组密钥协商方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431414A (zh) * 2008-12-15 2009-05-13 西安电子科技大学 基于身份的认证群组密钥管理方法
CN104660415A (zh) * 2015-02-10 2015-05-27 郑州轻工业学院 移动云计算下多域间非对称群组密钥协商协议的方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8452014B2 (en) * 2009-06-24 2013-05-28 Cisco Technology, Inc. Group key management for mobile ad-hoc networks
CN102164151B (zh) * 2011-05-20 2013-06-26 北京理工大学 一种基于双线性群的跨域联盟认证方法
CN103702326B (zh) * 2013-12-02 2016-09-28 北京理工大学 一种基于移动Ad Hoc网络的无证书密钥协商方法
CN105959269B (zh) * 2016-04-25 2019-01-25 北京理工大学 一种基于身份的可认证动态群组密钥协商方法
CN106027241B (zh) * 2016-07-08 2019-03-08 郑州轻工业学院 一种弹性非对称群组密钥协商的方法
CN106357397B (zh) * 2016-09-29 2019-09-10 华东师范大学 发送者可认证的非对称群密钥协商方法
CN109257173B (zh) * 2018-11-21 2020-02-07 郑州轻工业学院 基于权限信息交换的非对称群组密钥协商方法
CN109687976B (zh) * 2019-01-07 2022-01-04 西安邮电大学 基于区块链与pki认证机制的车队组建及管理方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101431414A (zh) * 2008-12-15 2009-05-13 西安电子科技大学 基于身份的认证群组密钥管理方法
CN104660415A (zh) * 2015-02-10 2015-05-27 郑州轻工业学院 移动云计算下多域间非对称群组密钥协商协议的方法

Also Published As

Publication number Publication date
CN110266482A (zh) 2019-09-20

Similar Documents

Publication Publication Date Title
CN110266482B (zh) 一种基于区块链的非对称群组密钥协商方法
CN110011795B (zh) 基于区块链的对称群组密钥协商方法
Malina et al. On perspective of security and privacy-preserving solutions in the internet of things
Mahmood et al. An enhanced anonymous identity‐based key agreement protocol for smart grid advanced metering infrastructure
CN109257173B (zh) 基于权限信息交换的非对称群组密钥协商方法
Chatterjee et al. An effective ECC‐based user access control scheme with attribute‐based encryption for wireless sensor networks
Wang A privacy-preserving and accountable authentication protocol for IoT end-devices with weaker identity
CN110166258B (zh) 基于隐私保护和属性认证的群组密钥协商方法
CN112165472B (zh) 一种基于隐私保护的物联网数据安全共享方法
CN110912897B (zh) 基于密文属性认证和门限函数的图书资源访问控制方法
CN111049647B (zh) 一种基于属性门限的非对称群组密钥协商方法
US10630476B1 (en) Obtaining keys from broadcasters in supersingular isogeny-based cryptosystems
Zhang et al. Blockchain-based asymmetric group key agreement protocol for internet of vehicles
CN113346993B (zh) 一种基于隐私保护的分层动态群组密钥协商方法
Madhusudhan A secure and lightweight authentication scheme for roaming service in global mobile networks
CN115242388B (zh) 一种基于动态属性权限的群组密钥协商方法
CN107767281A (zh) 一种基于移动社交网络二度人脉的交友匹配隐私保护方法及系统
Li et al. A provably secure group key agreement scheme with privacy preservation for online social networks using extended chaotic maps
CN118381608B (zh) 一种基于带外量子密钥的噪声协议实现方法及装置
CN106850584B (zh) 一种面向客户/服务器网络的匿名认证方法
CN117478302A (zh) 基于区块链隐私节点身份验证方法及装置
Lin et al. Anonymous group key agreement protocol for multi-server and mobile environments based on Chebyshev chaotic maps
WO2021062517A1 (en) Broadcasting in supersingular isogeny-based cryptosystems
Bala et al. A lightweight remote user authentication protocol for smart e-health networking environment
Ogundoyin A provably secure pairing-free anonymous handover authentication protocol for mobile wireless networks

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