CN109361504B - 一种基于区块链的多用户通信密钥协商方法 - Google Patents

一种基于区块链的多用户通信密钥协商方法 Download PDF

Info

Publication number
CN109361504B
CN109361504B CN201811471739.5A CN201811471739A CN109361504B CN 109361504 B CN109361504 B CN 109361504B CN 201811471739 A CN201811471739 A CN 201811471739A CN 109361504 B CN109361504 B CN 109361504B
Authority
CN
China
Prior art keywords
key
key agreement
agreement
communication
negotiation
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
CN201811471739.5A
Other languages
English (en)
Other versions
CN109361504A (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.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
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 Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN201811471739.5A priority Critical patent/CN109361504B/zh
Publication of CN109361504A publication Critical patent/CN109361504A/zh
Application granted granted Critical
Publication of CN109361504B publication Critical patent/CN109361504B/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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提出一种基于区块链的多用户通信密钥协商方法,包括:生成公开参数和区块链初始块;每个用户根据公开参数生成各自的一对公钥及私钥;密钥协商发起者根据密钥协商参与者和密钥协商收听者的公钥执行密钥协商并生成通信密钥协商初始参数;每个密钥协商参与者从区块链读取通信密钥协商初始参数,计算各自的响应参数;密钥协商发起者从区块链读取所有密钥协商参与者生成的响应参数,计算得到第一通信密钥;每个密钥协商参与者从区块链读取所述通信密钥协商初始参数以及其他密钥协商参与者生成的响应参数,计算得到第二通信密钥;每个密钥协商收听者从区块链读取通信密钥协商初始参数以及所有密钥协商参与者生成的响应参数,计算得到第三通信密钥。

Description

一种基于区块链的多用户通信密钥协商方法
技术领域
本发明涉及信息安全密码领域,具体涉及一种基于区块链的多用户通信密钥协商方法。
背景技术
密钥协商技术允许多用户在公开信道之上共同执行交互协议,最终得到一个共享的通信密钥,该密钥可进一步用于对通信内容进行加密和解密,从而实现多用户之间的保密通信。基于此,可以看出密钥协商技术是实现多用户保密通信的基础。自Diffie-Hellman双方密钥协商协议提出之后,至今已提出了大量的双方或多方密钥协商协议,有的需要借助于可信第三方,而其他的无需可信第三方。但目前的研究结果要求所有的用户主动参与密钥的协商过程,因此并不适用于某些特殊应用场景。
假设公司内部某个技术小组人员分布在各个不同城市,为实现某目标任务需建立保密的通信机制,还要求技术部门负责人能够浏览本小组的通信内容。为解决该问题,该技术小组人员需要共同执行一个多用户密钥协商协议,以得到一个共同的通信密钥。显然,这里要求协商所得的通信密钥也可以被技术部门负责人获得,但该负责人不需要参与密钥协商的过程。因此,该技术小组的人员应主动执行密钥协商过程,而技术部门负责人仅被动接收密钥协商过程产生的数据即可。
上述问题较好的解决方式是构建基于区块链的多用户密钥协商机制,将密钥协商各步骤产生的相关数据全部写入区块链之中,借助于区块链本身具有的数据内容不可篡改、不可删除、公开透明、可溯源等属性,密钥协商过程产生的数据均可被所有用户验证,甚至对恶意参与用户进行追踪。目前已有研究人员提出了基于区块链的多用户密钥协商协议,但并不支持上述问题中的技术部门负责人能够获得协商的通信密钥。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于区块链的多用户通信密钥协商方法,旨在解决多用户环境下基于分布式公开信道实现通信密钥安全协商的问题。
为实现上述目的及其他相关目的,本发明提供一种基于区块链的多用户通信密钥协商方法,该方法包括:
选取安全参数和抗碰撞哈希函数,生成公开参数和区块链初始块;
每个用户根据所述公开参数生成各自的一对公钥及私钥,并将公钥写入区块链,所述用户包括密钥协商发起者、密钥协商参与者和密钥协商收听者;
所述密钥协商发起者根据一组密钥协商参与者和一组密钥协商收听者的公钥执行密钥协商初始化过程并生成通信密钥协商初始参数,所述通信密钥协商初始参数和所涉及全部用户的身份被写入区块链;
每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数,计算各自的响应参数,并将所述响应参数写入所述区块链;
所述密钥协商发起者从所述区块链读取所有密钥协商参与者生成的响应参数,计算得到第一通信密钥;
每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数以及其他密钥协商参与者生成的响应参数,计算得到第二通信密钥;
每个密钥协商收听者从区块链读取通信密钥协商初始参数以及所有密钥协商参与者生成的响应参数,计算得到第三通信密钥。
可选地,所述公开参数para具体为:para=(G,g,p,H(·)),其中,G为阶数为素数p的循环群,g表示G的一个生成元,H(·)表示抗碰撞哈希函数。
可选地,所述每个用户根据所述公开参数生成各自的一对公钥及私钥,具体包括:
用户Ui随机选择Zp域中的一个非0元素
Figure GDA0003214831700000021
并计算
Figure GDA0003214831700000022
用户Ui得到公钥pki=vi以及私钥ski=ai;其中,1≤i≤m,
Figure GDA0003214831700000023
表示域Zp的非零元素子集{1,2,..,p-1},
Figure GDA0003214831700000024
表示群G上的幂运算。
可选地,所述密钥协商发起者根据一组密钥协商参与者和一组密钥协商收听者的公钥执行密钥协商初始化过程并生成通信密钥协商初始参数,具体包括:
密钥协商发起者U0随机选择域Zp中的两个非0元素α0
Figure GDA0003214831700000025
选取时间戳T0和通信协商有效期Ξ,构造如下域Zp上的多项式:
Figure GDA0003214831700000026
其中,
Figure GDA0003214831700000027
Figure GDA0003214831700000028
表示群G上的幂运算,v1,…,vm表示m个密钥协商参与者U1,…,Um的公钥,vm+1,…,vm+n表示n个密钥协商参与者Um+1,…,Um+n的公钥,||表示字符串连接,Ξ为通信协商有效期;
密钥协商发起者U0将上述多项式
Figure GDA0003214831700000029
进行整理,得到如下形式:
Figure GDA0003214831700000031
其中,
Figure GDA0003214831700000032
表示多项式
Figure GDA0003214831700000033
的系数,
Figure GDA0003214831700000034
称作通信密钥协商初始参数。
可选地,所述每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数,计算各自的响应参数,具体包括:
密钥协商参与者Ui随机选择域Zp中的两个非0元素
Figure GDA0003214831700000035
选取时间戳Ti,并构造如下域Zp上的多项式:
Figure GDA0003214831700000036
其中,v0表示密钥协商发起者U0的公钥,v1,…vi-1,vi+1,…,vm表示m-1个密钥协商参与者U1,…,Ui-1,Ui+1,…,Um的公钥;
密钥协商参与者Ui将多项式
Figure GDA0003214831700000037
进行整理,得到如下形式:
Figure GDA0003214831700000038
其中,
Figure GDA0003214831700000039
表示上述多项式
Figure GDA00032148317000000310
的系数,
Figure GDA00032148317000000311
称作密钥协商参与者Ui的响应参数。
可选地,所述密钥协商发起者从所述区块链读取所有密钥协商参与者生成的响应参数,计算得到第一通信密钥,具体包括:
密钥协商发起者U0验证m个密钥协商参与者Uj选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行以下步骤;其中,1≤j≤m;
密钥协商发起者U0重构出多项式
Figure GDA00032148317000000312
计算恢复出m个密钥协商参与者Uj选取的随机参数
Figure GDA00032148317000000313
密钥协商发起者U0计算得到协商的第一通信密钥
Figure GDA00032148317000000314
可选地,每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数以及其他密钥协商参与者生成的响应参数,计算得到第二通信密钥,具体包括:
密钥协商参与者Ui验证密钥协商发起者U0和其他m-1个密钥协商参与者Uj选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行以下步骤;
密钥协商参与者Ui重构出多项式
Figure GDA0003214831700000041
计算恢复出密钥协商发起者U0选取的随机参数
Figure GDA0003214831700000042
密钥协商参与者Ui重构出多项式
Figure GDA0003214831700000043
计算恢复出其他m-1个密钥协商参与者Uj(1≤j≤m,j≠i)选取的随机参数
Figure GDA0003214831700000044
密钥协商参与者Ui计算得到协商的第二通信密钥
Figure GDA0003214831700000045
可选地,每个密钥协商收听者从区块链读取通信密钥协商初始参数以及所有密钥协商参与者生成的响应参数,计算得到第三通信密钥,具体包括:
密钥协商收听者Ui验证密钥协商发起者U0和m个密钥协商参与者Uj选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行以下步骤;其中,m+1≤i≤m+n,1≤j≤m;
密钥协商收听者Ui重构出多项式
Figure GDA0003214831700000046
计算恢复出密钥协商发起者U0选取的随机参数
Figure GDA0003214831700000047
密钥协商收听者Ui重构出多项式
Figure GDA0003214831700000048
计算恢复出m个密钥协商参与者Uj选取的随机参数
Figure GDA0003214831700000049
密钥协商收听者Ui计算得到协商的第三通信密钥
Figure GDA00032148317000000410
如上所述,本发明的一种基于区块链的多用户通信密钥协商方法,具有以下有益效果:
本发明提供一种基于区块链的多用户通信密钥协商的方法,多用户使用该方法执行通信密钥的协商,不需依赖可信中心和安全信道,能保障密钥参数在整个协商和使用周期的安全和隐私,且仅能由密钥协商发起者、密钥协商参与者和密钥协商收听者获得最终的协商通信密钥。通过将系统产生的所有数据,包括系统公开参数、密钥协商初始参数和响应参数,全部写到区块链上,使得这些数据无法被篡改和删除,同时实现了通信密钥协商各阶段的可验证性、可追踪性和不可否认性。本发明引入了密钥协商收听者,可被动接收密钥协商发起者和密钥协商参与者生成的相关参数,而不主动对密钥协商过程生成自己的数据,但可计算得到最终的协商通信密钥,并可进一步用于保密通信,实现了类似于邮件通信中的保密抄送功能,扩展了现有密钥协商的基本功能。
本发明提出的基于区块链的多用户通信密钥协商方法根据参与密钥协商用户身份的不同,将所有用户分为三类,即密钥协商发起者、密钥协商参与者和密钥协商收听者。密钥协商发起者是执行密钥协商协议的发起人,可设定哪些用户可分别作为预期的密钥协商参与者和密钥协商收听者,并设定密钥协商和使用的有效期。密钥协商参与者需要对密钥协商发起者的信息做出回应,生成自己的响应数据并发布出去。但密钥协商收听者在整个协商过程中,无需生成和发布自己的数据。本发明方法可运行于分布式环境下,无需依赖可信的中心节点,密钥协商各步骤将相关数据写入区块链,可充分利用区块链的优秀属性,实现对密钥协商各阶段的验证。
附图说明
为了进一步阐述本发明所描述的内容,下面结合附图对本发明的具体实施方式作进一步详细的说明。应当理解,这些附图仅作为典型示例,而不应看作是对本发明的范围的限定。
图1为本发明所述的一种基于区块链的多用户通信密钥协商方法的流程图;
图2为本发明所述的一种基于区块链的分布式安全通信系统的系统架构图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
为了使本领域技术人员对本发明的技术方案更加清晰的理解,先对本发明中的一些技术术语进行说明。
(1)系统管理员(System manager,SM):受各用户信任,负责初始化系统,生成系统公开参数,并将系统公开参数写入区块链。
(2)密钥协商发起者(Initiator,IN):使用U0表示,根据系统公开参数计算自己的一对公钥和私钥,将公钥写入区块链;根据一组密钥协商参与者和一组密钥协商收听者的公钥执行密钥协商初始化过程并生成通信密钥协商初始参数,将所述的通信密钥初始参数和所涉及用户的身份被写入区块链;可从区块链读取所有密钥协商参与者生成的响应参数,计算得到协商的通信密钥。
(3)密钥协商参与者(Participant,PA):共m个,使用Ui(1≤i≤m)表示,根据系统公开参数计算自己的一对公钥和私钥,将公钥写入区块链;能够从区块链读取通信密钥初始参数,计算自己的响应参数,并将响应参数写入区块链;且能够从区块链读取其他密钥协商参与者生成的响应参数,计算得到通信密钥。
(4)密钥协商收听者(Listener,LI):共n个,使用Ui(m+1≤i≤m+n)表示,根据系统公开参数计算自己的一对公钥和私钥,将公钥写入区块链;能够从区块链读取通信密钥协商初始参数以及所有密钥协商参与者生成的响应参数,计算得到通信密钥。
图2示出了本发明所述的一种基于区块链的分布式安全通信系统的系统架构图;
本发明中使用的哈希函数具备两个基本特性:单向性和抗碰撞性;单向性是指从哈希函数的输入推导出输出是高效的,但从哈希函数的输出计算出其输入是不可行的;抗碰撞性是指无法找到两个不同的输入使其具有相同的哈希函数值。
如图1所示,本发明提供一种基于区块链的多用户通信密钥协商方法,该方法包括以下步骤:
步骤S1.系统管理员SM选取安全参数和抗碰撞哈希函数,生成公开参数和区块链初始块。
具体地,该步骤1具体包括以下子步骤:
步骤S11:系统管理员SM输入系统安全参数κ,运行初始化算法Σ(1κ),输出一个阶为素数p的循环群G;
其中,所述的初始化算法Σ(1κ),其运行方法如下:系统管理员SM输入系统安全参数κ,系统根据κ的大小,构成一个素数p阶的循环群G。
步骤S12:系统管理员SM运行随机数生成算法,随机选择群G中的一个生成元g;
步骤S13:系统管理员SM选择一种抗碰撞哈希函数H(·),抗碰撞哈希函数H(·)满足抗碰撞哈希函数的所有特性。抗碰撞哈希函数H(·)的输入为任意长度的字符串,输出为
Figure GDA0003214831700000061
中的元素;
最后,系统公开参数表示为para=(G,g,p,H(·))。
步骤S14:系统管理员SM将公开参数para生成区块链初始块,写入区块链。
步骤S2.每个用户根据所述公开参数生成各自的一对公钥及私钥,并将公钥写入区块链,所述用户包括密钥协商发起者、密钥协商参与者和密钥协商收听者;
具体地,该步骤S2具体包括以下子步骤:
步骤S21:用户Ui随机选择Zp域中的一个非0元素
Figure GDA0003214831700000071
并计算
Figure GDA0003214831700000072
用户Ui得到公钥pki=vi以及私钥ski=ai;其中,
Figure GDA0003214831700000073
表示域Zp的非零元素子集{1,2,..,p-1},
Figure GDA0003214831700000074
表示群G上的幂运算。
步骤S22:用户Ui将其公钥pki写入区块链。
步骤S3.密钥协商发起者根据一组密钥协商参与者和一组密钥协商收听者的公钥执行密钥协商初始化过程并生成通信密钥协商初始参数,所述的通信密钥协商初始参数和所涉及用户的身份被写入区块链。
具体地,该步骤S3具体包括以下子步骤:
步骤S31:密钥协商发起者U0随机选择域Zp中的两个非0元素
Figure GDA0003214831700000075
选取时间戳T0和通信协商有效期Ξ,并构造如下域Zp上的多项式:
Figure GDA0003214831700000076
其中,
Figure GDA0003214831700000077
Figure GDA0003214831700000078
表示群G上的幂运算,v1,…,vm表示一组共m个密钥协商参与者U1,…,Um的公钥,vm+1,…,vm+n表示一组共n个密钥协商参与者Um+1,…,Um+n的公钥,||表示字符串连接,通信协商有效期Ξ规定了从本步骤执行密钥协商的时刻T0开始,直至协商所得的通信密钥失效的整个生命周期。
步骤S32:密钥协商发起者U0将上述多项式
Figure GDA0003214831700000079
进行整理,得到如下形式:
Figure GDA00032148317000000710
其中,
Figure GDA00032148317000000711
表示上述多项式
Figure GDA00032148317000000712
的系数,
Figure GDA00032148317000000713
称作通信密钥协商的初始参数。
步骤S33:密钥协商发起者U0将通信密钥协商的初始参数
Figure GDA00032148317000000714
自己的身份U0、一组共m个密钥协商参与者的身份U1,…,Um、以及一组共n个密钥协商参与者的身份Um+1,…,Um+n写入区块链。
步骤S4.每个密钥协商参与者从区块链读取相关通信密钥协商初始参数,计算各自的响应参数,并将响应参数写入区块链。
具体地,该步骤S4具体包括以下子步骤:
步骤S41:密钥协商参与者Ui(1≤i≤m)随机选择域Zp中的两个非0元素
Figure GDA0003214831700000081
选取时间戳Ti,并构造如下域Zp上的多项式:
Figure GDA0003214831700000082
其中,
Figure GDA0003214831700000083
Figure GDA0003214831700000084
表示群G上的幂运算,v0表示密钥协商发起者U0的公钥,v1,…vi-1,vi+1,…,vm表示除自己以外其他m-1个密钥协商参与者U1,…,Ui-1,Ui+1,…,Um的公钥,vm+1,…,vm+n表示一组共n个密钥协商参与者Um+1,…,Um+n的公钥,||表示字符串连接。
步骤S42:密钥协商参与者Ui(1≤i≤m)将上述多项式
Figure GDA0003214831700000085
进行整理,得到如下形式:
Figure GDA0003214831700000086
其中,
Figure GDA0003214831700000087
表示上述多项式
Figure GDA0003214831700000088
的系数,
Figure GDA0003214831700000089
称作密钥协商参与者Ui的响应参数。
步骤S43:密钥协商参与者Ui(1≤i≤m)将自己的响应参数
Figure GDA00032148317000000810
和自己的身份Ui写入区块链。
步骤S5.密钥协商发起者从区块链读取所有密钥协商参与者生成的响应参数,计算得到通信密钥。
具体地,该步骤S5具体包括以下子步骤:
步骤S51:密钥协商发起者U0验证m个密钥协商参与者Uj(1≤j≤m)选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行步骤S52;
步骤S52:密钥协商发起者U0重构出多项式
Figure GDA00032148317000000811
计算恢复出m个密钥协商参与者Uj(1≤j≤m)选取的随机参数
Figure GDA00032148317000000812
步骤S53:密钥协商发起者U0计算得到协商的通信密钥
Figure GDA00032148317000000813
步骤S6.每个密钥协商参与者从区块链读取通信密钥协商初始参数以及其他密钥协商参与者生成的响应参数,计算得到通信密钥。
具体地,该步骤S6具体包括以下子步骤:
步骤S61:密钥协商参与者Ui(1≤i≤m)验证密钥协商发起者U0和其他m-1个密钥协商参与者Uj(1≤j≤m,j≠i)选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行步骤62;
步骤S62:密钥协商参与者Ui(1≤i≤m)重构出多项式
Figure GDA0003214831700000091
计算恢复出密钥协商发起者U0选取的随机参数
Figure GDA0003214831700000092
步骤S63:密钥协商参与者Ui(1≤i≤m)重构出多项式
Figure GDA0003214831700000093
计算恢复出其他m-1个密钥协商参与者Uj(1≤j≤m,j≠i)选取的随机参数
Figure GDA0003214831700000094
步骤S64:密钥协商参与者Ui(1≤i≤m)计算得到协商的通信密钥
Figure GDA0003214831700000095
步骤S7.每个密钥协商收听者从区块链读取通信密钥协商初始参数以及所有密钥协商参与者生成的响应参数,计算得到通信密钥。
具体地,该步骤S7具体包括以下子步骤:
步骤S71:密钥协商收听者Ui(m+1≤i≤m+n+1)验证密钥协商发起者U0和m个密钥协商参与者Uj(1≤j≤m)选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行步骤S72;
步骤S72:密钥协商收听者Ui(m+1≤i≤m+n+1)重构出多项式
Figure GDA0003214831700000096
计算恢复出密钥协商发起者U0选取的随机参数
Figure GDA0003214831700000097
步骤S73:密钥协商收听者Ui(m+1≤i≤m+n+1)重构出多项式
Figure GDA0003214831700000098
计算恢复出m个密钥协商参与者Uj(1≤j≤m)选取的随机参数
Figure GDA0003214831700000099
步骤S74:密钥协商收听者Ui(m+1≤i≤m+n+1)计算得到协商的通信密钥
Figure GDA00032148317000000910
综上所述,本发明提出了一种基于区块链的多用户通信密钥协商的方法。首先,系统产生的所有数据,包括系统公开参数、密钥协商初始参数和响应参数,全部被写到区块链上,不需依赖可信中心和安全信道,可确保这些数据无法被篡改和删除;其次,写入区块链的系统数据支持对通信密钥协商各阶段的验证和追踪,且规定了系统仅能在有效期之内进行工作;最后,本发明扩展了密钥协商的基本定义和应用范围,系统允许密钥协商发起者指定一组密钥协商参与者和一组密钥协商收听者,其中密钥协商参与者能够主动参与通信密钥的协商过程,而密钥协商收听者仅能被动接收系统各阶段写入区块链的数据,但所有这些用户均可最终计算得到协商的通信密钥,进一步用于实现保密通信。
本发明提出的基于区块链的多用户通信密钥协商方法根据参与密钥协商用户身份的不同,将所有用户分为三类,即密钥协商发起者、密钥协商参与者和密钥协商收听者。密钥协商发起者是执行密钥协商协议的发起人,可设定哪些用户可分别作为预期的密钥协商参与者和密钥协商收听者,并设定密钥协商和使用的有效期。密钥协商参与者需要对密钥协商发起者的信息做出回应,生成自己的响应数据并发布出去。但密钥协商收听者在整个协商过程中,无需生成和发布自己的数据。本发明方法可运行于分布式环境下,无需依赖可信的中心节点,密钥协商各步骤将相关数据写入区块链,可充分利用区块链的优秀属性,实现对密钥协商各阶段的验证。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (5)

1.一种基于区块链的多用户通信密钥协商方法,其特征在于,该方法包括:
选取安全参数和抗碰撞哈希函数,生成公开参数和区块链初始块;
每个用户根据所述公开参数生成各自的一对公钥及私钥,并将公钥写入区块链,所述用户包括密钥协商发起者、密钥协商参与者和密钥协商收听者;
所述密钥协商发起者根据一组密钥协商参与者和一组密钥协商收听者的公钥执行密钥协商初始化过程并生成通信密钥协商初始参数,所述通信密钥协商初始参数和所涉及全部用户的身份被写入区块链;
每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数,计算各自的响应参数,并将所述响应参数写入所述区块链;
所述密钥协商发起者从所述区块链读取所有密钥协商参与者生成的响应参数,计算得到第一通信密钥;
每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数以及其他密钥协商参与者生成的响应参数,计算得到第二通信密钥;
每个密钥协商收听者从区块链读取通信密钥协商初始参数以及所有密钥协商参与者生成的响应参数,计算得到第三通信密钥;
所述公开参数para具体为:para=(G,g,p,H(·)),其中,G为阶数为素数p的循环群,g表示G的一个生成元,H(·)表示抗碰撞哈希函数;所述每个用户根据所述公开参数生成各自的一对公钥及私钥,具体包括:
用户Ui随机选择Zp域中的一个非0元素
Figure FDA0003214831690000011
并计算
Figure FDA0003214831690000012
用户Ui得到公钥pki=vi以及私钥ski=ai;其中,1≤i≤m,m表示m个密钥协商参与者,
Figure FDA0003214831690000013
表示域Zp的非零元素子集{1,2,…,p-1},
Figure FDA0003214831690000014
表示群G上的幂运算;
所述密钥协商发起者根据一组密钥协商参与者和一组密钥协商收听者的公钥执行密钥协商初始化过程并生成通信密钥协商初始参数,具体包括:
密钥协商发起者U0随机选择域Zp中的两个非0元素α0
Figure FDA0003214831690000015
选取时间戳T0和通信协商有效期Ξ,构造如下域Zp上的多项式:
Figure FDA0003214831690000016
其中,
Figure FDA0003214831690000017
Figure FDA0003214831690000018
表示群G上的幂运算,v1,…,vm表示m个密钥协商参与者U1,…,Um的公钥,vm+1,…,vm+n表示n个密钥协商参与者Um+1,…,Um+n的公钥,||表示字符串连接,Ξ为通信协商有效期;
密钥协商发起者U0将上述多项式
Figure FDA0003214831690000021
进行整理,得到如下形式:
Figure FDA0003214831690000022
其中,
Figure FDA0003214831690000023
表示多项式
Figure FDA0003214831690000024
的系数,
Figure FDA0003214831690000025
称作通信密钥协商初始参数。
2.根据权利要求1所述的一种基于区块链的多用户通信密钥协商方法,其特征在于,所述每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数,计算各自的响应参数,具体包括:
密钥协商参与者Ui随机选择域Zp中的两个非0元素αi
Figure FDA0003214831690000026
选取时间戳Ti,并构造如下域Zp上的多项式:
Figure FDA0003214831690000027
其中,v0表示密钥协商发起者U0的公钥,v1,…, vi-1,vi+1,…,vm表示m-1个密钥协商参与者U1,…,Ui-1,Ui+1,…,Um的公钥;
密钥协商参与者Ui将多项式
Figure FDA0003214831690000028
进行整理,得到如下形式:
Figure FDA0003214831690000029
其中,
Figure FDA00032148316900000210
表示上述多项式
Figure FDA00032148316900000211
的系数,
Figure FDA00032148316900000212
称作密钥协商参与者Ui的响应参数。
3.根据权利要求2所述的一种基于区块链的多用户通信密钥协商方法,其特征在于,所述密钥协商发起者从所述区块链读取所有密钥协商参与者生成的响应参数,计算得到第一通信密钥,具体包括:
密钥协商发起者U0验证m个密钥协商参与者Uj选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行以下步骤;其中,1≤j≤m;
密钥协商发起者U0重构出多项式
Figure FDA00032148316900000213
计算恢复出m个密钥协商参与者Uj选取的随机参数
Figure FDA00032148316900000214
密钥协商发起者U0计算得到协商的第一通信密钥
Figure FDA0003214831690000031
4.根据权利要求3所述的一种基于区块链的多用户通信密钥协商方法,其特征在于,每个所述密钥协商参与者从所述区块链读取所述通信密钥协商初始参数以及其他密钥协商参与者生成的响应参数,计算得到第二通信密钥,具体包括:
密钥协商参与者Ui验证密钥协商发起者U0和其他m-1个密钥协商参与者Uj选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行以下步骤;
密钥协商参与者Ui重构出多项式
Figure FDA0003214831690000032
计算恢复出密钥协商发起者U0选取的随机参数
Figure FDA0003214831690000033
密钥协商参与者Ui重构出多项式
Figure FDA0003214831690000034
计算恢复出其他m-1个密钥协商参与者Uj(1≤j≤m,j≠i)选取的随机参数
Figure FDA0003214831690000035
密钥协商参与者Ui计算得到协商的第二通信密钥
Figure FDA0003214831690000036
5.根据权利要求4所述的一种基于区块链的多用户通信密钥协商方法,其特征在于,每个密钥协商收听者从区块链读取通信密钥协商初始参数以及所有密钥协商参与者生成的响应参数,计算得到第三通信密钥,具体包括:
密钥协商收听者Ui验证密钥协商发起者U0和m个密钥协商参与者Uj选取的时间戳以及当前时刻是否超出T0+Ξ,如果任一个已超出,则终止执行后续步骤,否则,继续执行以下步骤;其中,m+1≤i≤m+n,1≤j≤m;
密钥协商收听者Ui重构出多项式
Figure FDA0003214831690000037
计算恢复出密钥协商发起者U0选取的随机参数
Figure FDA0003214831690000038
密钥协商收听者Ui重构出多项式
Figure FDA0003214831690000039
计算恢复出m个密钥协商参与者Uj选取的随机参数
Figure FDA00032148316900000310
密钥协商收听者Ui计算得到协商的第三通信密钥
Figure FDA00032148316900000311
CN201811471739.5A 2018-12-04 2018-12-04 一种基于区块链的多用户通信密钥协商方法 Active CN109361504B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811471739.5A CN109361504B (zh) 2018-12-04 2018-12-04 一种基于区块链的多用户通信密钥协商方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811471739.5A CN109361504B (zh) 2018-12-04 2018-12-04 一种基于区块链的多用户通信密钥协商方法

Publications (2)

Publication Number Publication Date
CN109361504A CN109361504A (zh) 2019-02-19
CN109361504B true CN109361504B (zh) 2021-10-08

Family

ID=65331084

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811471739.5A Active CN109361504B (zh) 2018-12-04 2018-12-04 一种基于区块链的多用户通信密钥协商方法

Country Status (1)

Country Link
CN (1) CN109361504B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374043A (zh) * 2007-08-24 2009-02-25 管海明 密钥协商的方法、加/解密的方法及签名/验证的方法
CN107122449A (zh) * 2017-04-25 2017-09-01 安徽大学 一种多用户环境下基于公钥加密的文件分类方法和系统
CN108282334A (zh) * 2018-04-13 2018-07-13 济南浪潮高新科技投资发展有限公司 一种基于区块链的多方密钥协商装置、方法及系统
CN108833115A (zh) * 2018-06-15 2018-11-16 中山大学 一种基于区块链的多方公平pdf合同签署方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10333705B2 (en) * 2016-04-30 2019-06-25 Civic Technologies, Inc. Methods and apparatus for providing attestation of information using a centralized or distributed ledger
US9967088B2 (en) * 2016-05-23 2018-05-08 Accenture Global Solutions Limited Rewritable blockchain
US10425399B2 (en) * 2016-07-12 2019-09-24 International Business Machines Corporation Template-based distributed certificate issuance in a multi-tenant environment
CN108696518B (zh) * 2018-05-09 2020-12-04 深圳壹账通智能科技有限公司 区块链上用户通信加密方法、装置、终端设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101374043A (zh) * 2007-08-24 2009-02-25 管海明 密钥协商的方法、加/解密的方法及签名/验证的方法
CN107122449A (zh) * 2017-04-25 2017-09-01 安徽大学 一种多用户环境下基于公钥加密的文件分类方法和系统
CN108282334A (zh) * 2018-04-13 2018-07-13 济南浪潮高新科技投资发展有限公司 一种基于区块链的多方密钥协商装置、方法及系统
CN108833115A (zh) * 2018-06-15 2018-11-16 中山大学 一种基于区块链的多方公平pdf合同签署方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
云存储完整性验证密码学技术研究进展;王玉珏 等;《信息安全学报》;20170731;第23-33页 *

Also Published As

Publication number Publication date
CN109361504A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
Yin et al. An anti-quantum transaction authentication approach in blockchain
Song Practical forward secure group signature schemes
US20230147842A1 (en) Computer-implemented systems and methods for performing computational tasks across a group operating in a trust-less or dealer-free manner
CN107196926B (zh) 一种云外包隐私集合比较方法与装置
Chang et al. A communication-efficient three-party password authenticated key exchange protocol
EP3871365B1 (en) Computer implemented system and method for distributing shares of digitally signed data
Hou et al. Cloud storage auditing with deduplication supporting different security levels according to data popularity
Zhu et al. A round-optimal lattice-based blind signature scheme for cloud services
Sibert et al. Entity authentication schemes using braid word reduction
Noether et al. Monero is not that mysterious
JP2021145388A (ja) デジタル署名方法、署名情報検証方法、関連装置及び電子機器
Shi et al. A scheme on converting quantum signature with public verifiability into quantum designated verifier signature
CN111010285A (zh) 一种适用于轻量级客户端的sm2两方协同签名方法及介质
JP2022095852A (ja) デジタル署名方法、署名情報の検証方法、関連装置及び電子機器
Rabaninejad et al. Comments on a lightweight cloud auditing scheme: Security analysis and improvement
Al-Riyami et al. Escrow-free encryption supporting cryptographic workflow
Suresh Babu et al. Light-Weighted DNA-Based Cryptographic Mechanism Against Chosen Cipher Text Attacks
CN109361504B (zh) 一种基于区块链的多用户通信密钥协商方法
CN109495478B (zh) 一种基于区块链的分布式安全通信方法及系统
Yousefipoor et al. An efficient, secure and verifiable conjunctive keyword search scheme based on rank metric codes over encrypted outsourced cloud data
Backes et al. Fully secure inner-product proxy re-encryption with constant size ciphertext
Lin et al. F2p-abs: A fast and secure attribute-based signature for mobile platforms
Peker A new key agreement scheme based on the triple decomposition problem
Hecht Post-Quantum Cryptography (PQC): Generalized ElGamal Cipher over GF (251^ 8)
Narad et al. Secret sharing scheme for group authentication—A review

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
EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20190219

Assignee: Guilin ruiweisaide Technology Co.,Ltd.

Assignor: GUILIN University OF ELECTRONIC TECHNOLOGY

Contract record no.: X2023980046266

Denomination of invention: A blockchain based key agreement method for multi user communication

Granted publication date: 20211008

License type: Common License

Record date: 20231108