CN114520720B - 一种基于tls协议的多方认证区块链数据上链方法 - Google Patents

一种基于tls协议的多方认证区块链数据上链方法 Download PDF

Info

Publication number
CN114520720B
CN114520720B CN202210282619.0A CN202210282619A CN114520720B CN 114520720 B CN114520720 B CN 114520720B CN 202210282619 A CN202210282619 A CN 202210282619A CN 114520720 B CN114520720 B CN 114520720B
Authority
CN
China
Prior art keywords
verifier
prover
committee
key
message
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
CN202210282619.0A
Other languages
English (en)
Other versions
CN114520720A (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.)
Jinan University
Original Assignee
Jinan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jinan University filed Critical Jinan University
Priority to CN202210282619.0A priority Critical patent/CN114520720B/zh
Publication of CN114520720A publication Critical patent/CN114520720A/zh
Application granted granted Critical
Publication of CN114520720B publication Critical patent/CN114520720B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • H04L63/205Network architectures or network communication protocols for network security for managing network security; network security policies in general involving negotiation or determination of the one or more network security mechanisms to be used, e.g. by negotiation between the client and the server or between peers or by selection according to the capabilities of the entities involved
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/26Special purpose or proprietary protocols or architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/326Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the transport layer [OSI layer 4]
    • 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
    • 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/3218Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
    • H04L9/3221Cryptographic 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 using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs interactive zero-knowledge proofs
    • 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/3236Cryptographic 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 using cryptographic hash functions
    • H04L9/3239Cryptographic 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 using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/46Secure multiparty computation, e.g. millionaire problem
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

本发明公开了一种基于TLS协议的多方认证区块链数据上链方法,包括以下步骤:S1、服务端、证明者和验证者委员会进行多方握手协议,共同协商会话密钥;S2、证明者和验证者委员会通过多方安全计算共享消息认证密钥;S3、证明者与验证者委员会共同构造查询请求的消息认证码MAC,并向服务端发起数据请求;S4、证明者获取响应报文,并传送给验证者委员会,验证者委员会泄露共享的部分认证密钥给验证者;S5、证明者对请求报文做校验,校验无误后向验证者委员会做零知识证明,随后将数据上链。本发明将TLS技术和区块链技术结合,为传统的web数据提供第三方可认证性,并以此作为区块链与链下世界的桥梁,为区块链上链提供更安全可靠的方式。

Description

一种基于TLS协议的多方认证区块链数据上链方法
技术领域
本发明属于区块链技术领域,具体涉及一种基于TLS协议的多方认证区块链数据上链方法。
背景技术
区块链是一个确定性的、封闭的系统环境,目前区块链只能获取到链内的数据,而不能获取到链外真实世界的数据,区块链与现实世界是割裂的。区块链预言机(Oracle)可以解决链上、链下数据互通的问题,它可以提供链下数据和链上数据之间的链接。区块链Oracle不是数据源本身,而是查询、验证和身份验证外部数据源,然后传递该信息送回区块链。预言机在区块链生态系统中至关重要,因为它们拓宽了智能合同的运作范围。如果没有区块链预言机,智能合同的用途将非常有限,因为它们只能访问网络内部的数据。区块链可以视作是一个全球范围内的分布式数据库,在区块链出现之前,所有的网络数据都是存储在中心话的服务器上的。随着区块链的发展,传统的网络数据需要上链以供开展区块链服务。
安全传输层协议(Transport Layer Security,TLS)是一种功能强大、部署广泛的协议,允许用户通过保密、完整性保护的通道访问web数据。但是TLS有一个严重的限制:它不允许用户向第三方证明其访问的数据确实来自一个特定的网站,即TLS协议不能提供数据来源认证。
TLSnotary是最早基于TLS协议的预言机方案。该方案允许客户端向第三方审计人员提供证据,证明自己和服务器之间发起了某些web请求并获取到了相应的数据。只要审计员信任服务器的公钥,证据是不可辩驳的。TLSnotary可以利用TLS的安全性,并扩展TLS协议以满足第三方验证的需求。但目前 TLSnotary只支持TLS的较低版本(TLS1.0/TLS1.1),并不支持现在广泛使用的 TLS1.2协议。Zhang等人提出了一种新的TLS协议第三方认证方案。该方案可以兼容TLS1.2版本,它允许用户证明通过TLS访问的数据片段来自特定的网站,并可选择性地在零知识下证明此类数据的声明,保持数据本身的机密性。DECO 是第一个无需可信硬件或服务器端修改即可工作的系统,它可以将私有数据从集中的web服务中解放出来,供第三方认证使用。
以上的方案暂时都只支持单个第三方的数据认证,区块链是一个分布式的系统,存在很多的区块链节点,想要更安全的数据上链需要这些区块链节点的参与,这便需要多个第三方验证节点。因此,行业内急需研发一种能够提供多区块链节点认证的传统web数据上链的方法。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提出一种基于TLS协议的多方认证区块链数据上链方法,该方法可以将传统web服务器上的数据通过多方验证的方式上传到区块链系统上,在通讯过程中保护数据隐私。
为了达到上述目的,本发明采用以下技术方案:
一种基于TLS协议的多方认证区块链数据上链方法,设有服务端S、证明者P以及验证者委员会V,方法包括以下步骤:
S1、服务端、证明者和验证者委员会进行多方握手协议,共同协商会话密钥;
S2、证明者和验证者委员会通过多方安全计算共享消息认证密钥;
S3、证明者与验证者委员会共同构造查询请求的消息认证码MAC,并向服务端发起数据请求;
S4、证明者获取响应报文,并传送给验证者委员会,验证者委员会泄露共享的部分认证密钥给验证者;
S5、证明者对请求报文做校验,校验无误后向验证者委员会做零知识证明,随后将数据上链。
进一步的,服务端S执行标准的TLS协议,证明者P和验证者委员会V共同执行修改的TLS协议,并共同组成TLS协议的客户端。
进一步的,步骤S1具体包括:
S101、证明者生成一个随机数rc并向服务端发起ClientHello请求;
S102、服务端收到ClientHello请求后,生成一个随机数rs,通过ServerHello 消息发送给证明者;
随后服务端选取有限域Fp下的椭圆曲线EC和EC的基点G,然后生成随机数 Kpri,s作为ECDH密钥,随后计算出DH公钥Kpub,s=Kpri,s·G,将rc、rs、Kpub,s及椭圆曲线EC的参数通过ServerKeyExchange发送给证明者;
S103、证明者收到ServerKeyExchange消息后,会将该消息发送给验证者委员会,验证者委员会收到消息后,生成随机数Kpri,v作为DH密钥,并计算 Kpub,v=Kpri,v·G作为DH公钥,之后将Kpub,v回传给证明者;
S104、证明者收到Kpub,v后,会生成随机数Kpri,p作为DH密钥并计算出验证者和证明者的联合DH公钥Kpub,p=Kpri,p·G+Kpub,v,随后将Kpub,p通过 ClientKeyExchange消息发送给服务端;
S105、证明者计算部分PreMaster密钥Kpre,p=Kpri,p·Kpub,s,验证者委员会计算部分PreMaster密钥Kpre,v=Kpri,v·Kpub,s,服务端计算完整PreMaster密钥 Kpre,s=Kpri,s·Kpub,p,三个PreMaster密钥满足等式(1):
Kpre,s=Kpre,p+Kpre,v (1)。
进一步的,步骤S2具体包括:
S201、验证者委员会通过密钥重构算法计算出共享的PreMaster密钥Kpre,v
S202、证明者和验证者委员会分别将Kpre,p和Kpre,v作为隐私输入参数, rs、rv作为公开输入参数传给多方计算函数fmpc
S203、执行安全多方计算函数fmpc
S204、验证者委员会收到
Figure SMS_1
通过Shamir秘密共享给委员会中的区块链节点;
S205、证明者对目前收到的握手消息进行哈希计算得到摘要h,然后证明者和验证者委员会执行安全多方计算fmpc,PRF,生成Finished消息mfinished,并将该消息发送给服务端。
进一步的,步骤S203中,执行安全多方计算函数fmpc具体为:
计算完整的PreMaster密钥Kpre=Kpre,p+Kpre,v
根据TLS协议中定义的PRF,即伪随机数函数,计算出Master密钥:
Km=PRF(Kpre,"master secret",rs||rc);
通过PRF函数进行密钥扩展,计算出加密密钥和认证密钥:
Figure SMS_2
生成随机数rp,rm,将
Figure SMS_3
发送给证明者P,将/>
Figure SMS_4
Figure SMS_5
发送给验证者委员会。
进一步的,步骤S205中,执行安全多方计算fmpc,PRF具体为:验证者委员会通过秘密重构算法计算出
Figure SMS_6
并与验证者的参数rm计算出Km
计算消息mfinished=PRF(Km,"clientfinished",h)。
进一步的,步骤S3具体包括:
S301、证明者构建查询数据的请求Q,验证者委员会通过密钥重构算法计算出
Figure SMS_7
S302、证明者和验证者委员会执行安全多方计算函数fmpc,Q,生成带MAC 的查询请求消息Mq=(Q||σq),其中σ是Q消息认证码;
S303、证明者将请求消息Mq=(Q||σq)发送给服务端。
进一步的,执行安全多方计算函数fmpc,Q的具体包括以下:
计算完整的消息认证密钥
Figure SMS_8
根据TLS协议中的HMAC函数计算消息认证码σq并发送给证明者,HMAC 函数如公式(2):
Figure SMS_9
其中k表示消息认证密钥,m表示消息内容。
进一步的,步骤S4具体包括:
S401、服务端对请求Mq校验完成后,查询本地数据,对数据按照步骤S302 中的HMAC计算响应的消息认证码σr并将请求响应Mr=(R||σr)返回给证明者;
S402、证明者收到请求响应Mr后,将Mr传送给验证者委员会,之后验证者委员会通过密钥重构出
Figure SMS_10
并发送给证明者;
S403、证明者收到
Figure SMS_11
后计算得到完整的消息认证密钥/>
Figure SMS_12
进一步的,步骤S5具体包括:
S501、证明者使用
Figure SMS_13
通过HMAC函数对请求响应Mr进行完整性校验;
S502、证明者根据验证者委员会需要验证的信息info作zk-SNARK零知识证明;
S503、验证者委员会对信息info验证通过后,调用预言机智能合约 ContractOracle上链。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明引入验证者委员会的概念,将现有方案的单验证者模型,扩充到多验证者模型,可以解决单点故障问题,更好的适应分布式系统的需求。
2、本发明中使用秘密共享,将区块链节点作为秘密共享的参与方,使得验证者可以动态的增加和减少,模拟区块链节点的上线和下线,在提供多个验证者的同时契合区块链节点的特点,具备较高可用性和扩展性。
3、本发明将TLS技术和区块链技术结合,为传统的web数据提供第三方可认证性,并以此作为区块链与链下世界的桥梁,为区块链上链提供更安全可靠的方式。
附图说明
图1是本发明方法的结构示意图;
图2是本发明方法的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
如图1所示,本发明,一种基于TLS协议的多方认证区块链数据上链方法,设有服务端S、证明者P以及验证者委员会V,服务端S执行标准的TLS协议,证明者P和验证者委员会V共同执行修改的TLS协议,并共同组成TLS协议的客户端。
本实施例中,假定证明者P有健康数据infohealth存储在服务器S上,现证明者P需要将该健康数据上传到区块链上以进行投保,验证者委员会V作为验证方需要参与数据的传输过程,作为数据真实性的认证,随后通过智能合约上链。如图2所示,上链包括以下步骤:
S1、服务端S、证明者P和验证者委员会V进行多方握手协议,共同协商会话密钥,包括:
S101、证明者生成一个随机数rc并向服务端发起ClientHello请求;
S102、服务端收到ClientHello请求后,生成一个随机数rs,通过ServerHello 消息发送给证明者;
随后服务端选取有限域Fp下的椭圆曲线EC和EC的基点G,然后生成随机数 Kpri,s作为ECDH(Elliptic Curve Diffie–Hellman)密钥,随后计算出DH公钥 Kpub,s=Kpri,s·G,将rc、rs、Kprb,s及椭圆曲线EC的参数通过 ServerKeyExchange发送给证明者;
S103、证明者收到ServerKeyExchange消息后,会将该消息发送给验证者委员会,验证者委员会收到消息后,生成随机数Kpri,v作为DH密钥,并计算 Kpub,v=Kpri,v·G作为DH公钥,之后将Kpub,v发送给证明者;
S104、证明者收到Kpub,v后,会生成随机数Kpri,p作为DH密钥并计算出验证者和证明者的联合DH公钥Kpub,p=Kpri,p·G+Kpub,v,随后将Kpub,p通过 ClientKeyExchange消息发送给服务端;
S105、证明者计算部分PreMaster密钥Kpre,p=Kpri,p·Kpub,s,验证者委员会计算部分PreMaster密钥Kpre,v=Kpri,v·Kpub,s,服务端计算完整PreMaster密钥 Kpre,s=Kpri,s·Kpub,p,三个PreMaster密钥满足等式(1):
Kpre,s=Kpre,p+Kpre,v (1)。
S2、证明者和验证者委员会共享了会话密钥后,为了保证验证者具有完全的加密能力和数据的可认证性,证明者和验证者委员会通过多方安全计算共享消息认证密钥,而证明者具有完整的加密密钥,具体包括:
S201、验证者委员会V通过密钥重构算法计算出共享的PreMaster密钥Kpre,v
S202、证明者P和验证者委员会V分别将Kpre,p和Kpre,v作为隐私输入参数, rs、rv作为公开输入参数传给多方计算函数fmpc
S203、执行安全多方计算函数fmpc;具体为:
计算完整的PreMaster密钥Kpre=Kpre,p+Kpre,v
根据TLS协议中定义的PRF(Pseudorandom Function),即伪随机数函数,计算Master密钥Km=PRF(Kpre,"master secret",rs||rc);
通过PRF函数进行密钥扩展,计算出加密密钥和认证密钥:
Figure SMS_14
生成随机数rp,rm,将
Figure SMS_15
发送给证明者P,将/>
Figure SMS_16
Figure SMS_17
发送给验证者委员会。
S204、验证者委员会收到
Figure SMS_18
通过Shamir秘密共享(Shamir秘密共享是一种基于多项式的门限密码方案)给委员会中的区块链节点;
S205、证明者对目前收到的握手消息(ServerHello、ServerExchange等)进行哈希计算得到摘要h,然后证明者和验证者委员会执行安全多方计算fmpc,PRF,生成Finished消息mfinished,并将该消息发送给服务端。执行安全多方计算 fmpc,PRF具体为:
验证者委员会通过秘密重构算法(拉格朗日插值法)计算出
Figure SMS_19
并与验证者的参数rm计算出Km
计算消息mfinished=PRF(Km,"clientfinished",h)。
步骤S3,由于证明者与验证者委员会共享了MAC密钥,在生成请求报文时二者需共同生成查询请求的消息认证码MAC(Message Authentication Code, MAC),并向服务端发起数据请求,具体包括:
S301、证明者构建查询数据的请求Q,验证者委员会通过密钥重构算法计算出
Figure SMS_20
S302、证明者和验证者委员会执行安全多方计算函数fmpc,Q,生成带MAC 的查询请求消息Mq=(Q||σq),其中σ是Q消息认证码;
执行安全多方计算函数fmpc,Q的具体包括以下:
计算完整的消息认证密钥
Figure SMS_21
根据TLS协议中的HMAC函数计算消息认证码σq并发送给证明者,HMAC 函数如公式(2):
Figure SMS_22
其中k表示消息认证密钥,m表示消息内容。
S303、证明者将请求消息Mq=(Q||σq)发送给服务端。
步骤S4,证明者获取响应报文,并传送给验证者委员会,验证者委员会泄露部分共享的MAC密钥给验证者,以使证明者验证数据的完整性,具体包括:
S401、服务端对请求Mq校验完成后,查询本地数据,对数据按照步骤S302 中的HMAC计算响应的消息认证码σr并将请求响应Mr=(R||σr)返回给证明者 P;
S402、证明者收到请求响应Mr后,将Mr传送给验证者委员会,之后验证者委员会通过密钥重构出
Figure SMS_23
并发送给证明者;
S403、证明者收到
Figure SMS_24
后计算得到完整的消息认证密钥/>
Figure SMS_25
S5、证明者对请求报文做校验,校验无误后向验证者委员会做零知识证明,随后将数据上链;具体包括:
S501、证明者使用
Figure SMS_26
通过HMAC函数对请求响应Mr进行完整性校验;
S502、证明者根据验证者委员会需要验证的信息info作zk-SNARK零知识证明;
S503、验证者委员会对信息info验证通过后,调用预言机智能合约 ContractOracle上链。
本发明公开了一种基于TLS协议的多方认证区块链数据上链方法,该方法运行过程主要分为三个阶段:多方握手阶段、数据查询阶段和数据认证上链阶段。在多方握手阶段,证明者发起安全传输层协议连接,收到连接请求后服务端发起密钥协商请求,证明者收到该请求后与验证者委员会进行安全多方计算,共同持有TLS会话密钥;在数据查询阶段,验证者委员会首先重构出共享的部分会话密钥,然后与证明者进行安全多方计算,共同构建数据请求报文,然后将报文发送给服务端;在数据认证上链阶段,证明者收到请求响应后,会将响应报文发送给验证者委员会,委员会随后将自身持有的密钥泄露给证明者,证明者拥有完整的密钥后会对响应报文进行验证并做零知识证明,验证者委员会认证通过后将数据上链。本发明基于安全多方计算和TLS协议,实现了可多方认证、隐私保护的区块链数据上链方法,同时具备较高的实用性和扩展性。
还需要说明的是,在本说明书中,诸如术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种基于TLS协议的多方认证区块链数据上链方法,其特征在于,设有服务端S、证明者P以及验证者委员会V,方法包括以下步骤:
S1、服务端、证明者和验证者委员会进行多方握手协议,共同协商会话密钥;具体包括:
S101、证明者生成一个随机数rc并向服务端发起ClientHello请求;
S102、服务端收到ClientHello请求后,生成一个随机数rs,通过ServerHello消息发送给证明者;
随后服务端选取有限域Fp下的椭圆曲线EC和EC的基点G,然后生成随机数Kpri,s作为ECDH密钥,随后计算出DH公钥Kpub,s=Kpri,s·G,将rc、rs、Kpub,s及椭圆曲线EC的参数通过ServerKeyExchange发送给证明者;
S103、证明者收到ServerKeyExchange消息后,会将该消息发送给验证者委员会,验证者委员会收到消息后,生成随机数Kpri,v作为DH密钥,并计算Kpub,v=Kpri,v·G作为DH公钥,之后将Kpub,v回传给证明者;
S104、证明者收到Kpub,v后,会生成随机数Kpri,p作为DH密钥并计算出验证者和证明者的联合DH公钥Kpub,p=Kpri,p·G+Kpub,v,随后将Kpub,p通过ClientKeyExchange消息发送给服务端;
S105、证明者计算部分PreMaster密钥Kpre,p=Kpri,p·Kpub,s,验证者委员会计算部分PreMaster密钥Kpre,v=Kpri,v·Kpub,s,服务端计算完整PreMaster密钥Kpre,s=Kpri,s·Kpub,p,三个PreMaster密钥满足等式(1):
Kpre,s=Kpre,p+Kpre,v (1);
S2、证明者和验证者委员会通过多方安全计算共享消息认证密钥;具体包括:
S201、验证者委员会通过密钥重构算法计算出共享的PreMaster密钥Kpre,v
S202、证明者和验证者委员会分别将Kpre,p和Kpre,v作为隐私输入参数,rs、rv作为公开输入参数传给安全多方计算函数fmpc
S203、执行安全多方计算函数fmpc,具体为:
计算完整的PreMaster密钥Kpre=Kpre,p+Kpre,v
根据TLS协议中定义的PRF,即伪随机数函数,计算出Master密钥:
Km=PRF(Kpre,″master secret″,rs||rc);
通过PRF函数进行密钥扩展,计算出加密密钥和认证密钥:
Figure FDA0004185713940000021
生成随机数rp,rm,将
Figure FDA0004185713940000022
发送给证明者P,将/>
Figure FDA0004185713940000023
Figure FDA0004185713940000024
发送给验证者委员会;
S204、验证者委员会收到
Figure FDA0004185713940000025
通过Shamir秘密共享给委员会中的区块链节点;
S205、证明者对目前收到的握手消息进行哈希计算得到摘要h,然后证明者和验证者委员会执行安全多方计算fmpc,PRF,生成Finished消息mfinished,并将该消息发送给服务端;
S3、证明者与验证者委员会共同构造查询请求的消息认证码MAC,并向服务端发起数据请求;具体包括:
S301、证明者构建查询数据的请求Q,验证者委员会通过密钥重构算法计算出
Figure FDA0004185713940000026
S302、证明者和验证者委员会执行安全多方计算函数fmpc,Q,生成带MAC的查询请求消息Mq=(Q||σq),其中σ是Q消息认证码;
S303、证明者将请求消息Mq=(Q||σq)发送给服务端;
S4、证明者获取响应报文,并传送给验证者委员会,验证者委员会泄露共享的部分认证密钥给验证者;
S5、证明者对请求报文做校验,校验无误后向验证者委员会做零知识证明,随后将数据上链。
2.根据权利要求1所述的一种基于TLS协议的多方认证区块链数据上链方法,其特征在于,服务端S执行标准的TLS协议,证明者P和验证者委员会V共同执行修改的TLS协议,并共同组成TLS协议的客户端。
3.根据权利要求1所述的一种基于TLS协议的多方认证区块链数据上链方法,其特征在于,步骤S205中,执行安全多方计算fmpc,PRF具体为:验证者委员会通过秘密重构算法计算出
Figure FDA0004185713940000031
并与随机数rm计算出Km
计算消息mfinished=PRF(Km,″clientfinished″,h)。
4.根据权利要求1所述的一种基于TLS协议的多方认证区块链数据上链方法,其特征在于,执行安全多方计算函数fmpc,Q的具体包括以下:
计算完整的消息认证密钥
Figure FDA0004185713940000032
根据TLS协议中的HMAC函数计算消息认证码σq并发送给证明者,HMAC函数如公式(2):
Figure FDA0004185713940000033
其中k表示消息认证密钥,m表示消息内容。
5.根据权利要求4所述的一种基于TLS协议的多方认证区块链数据上链方法,其特征在于,步骤S4具体包括:
S401、服务端对请求Mq校验完成后,查询本地数据,对数据按照步骤S302中的HMAC计算响应的消息认证码σr并将请求响应Mr=(R||σr)返回给证明者;
S402、证明者收到请求响应Mr后,将Mr传送给验证者委员会,之后验证者委员会通过密钥重构出
Figure FDA0004185713940000034
并发送给证明者;
S403、证明者收到
Figure FDA0004185713940000035
后计算得到完整的消息认证密钥/>
Figure FDA0004185713940000036
6.根据权利要求5所述的一种基于TLS协议的多方认证区块链数据上链方法,其特征在于,步骤S5具体包括:
S501、证明者使用
Figure FDA0004185713940000037
通过HMAC函数对请求响应Mr进行完整性校验;
S502、证明者根据验证者委员会需要验证的信息info作zk-SNARK零知识证明;
S503、验证者委员会对信息info验证通过后,调用预言机智能合约ContractOracle上链。
CN202210282619.0A 2022-03-22 2022-03-22 一种基于tls协议的多方认证区块链数据上链方法 Active CN114520720B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210282619.0A CN114520720B (zh) 2022-03-22 2022-03-22 一种基于tls协议的多方认证区块链数据上链方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210282619.0A CN114520720B (zh) 2022-03-22 2022-03-22 一种基于tls协议的多方认证区块链数据上链方法

Publications (2)

Publication Number Publication Date
CN114520720A CN114520720A (zh) 2022-05-20
CN114520720B true CN114520720B (zh) 2023-06-16

Family

ID=81600169

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210282619.0A Active CN114520720B (zh) 2022-03-22 2022-03-22 一种基于tls协议的多方认证区块链数据上链方法

Country Status (1)

Country Link
CN (1) CN114520720B (zh)

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10079682B2 (en) * 2015-12-22 2018-09-18 Gemalto Sa Method for managing a trusted identity
GB201720946D0 (en) * 2017-12-15 2018-01-31 Nchain Holdings Ltd Computer-implemented system and method
US10673626B2 (en) * 2018-03-30 2020-06-02 Spyrus, Inc. Threshold secret share authentication proof and secure blockchain voting with hardware security modules
CA3058227C (en) * 2019-03-18 2021-02-09 Alibaba Group Holding Limited Preventing misrepresentation of input data by participants in a secure multi-party computation
CN110740033B (zh) * 2019-08-19 2022-07-19 杭州云象网络技术有限公司 一种基于秘密共享技术的区块链多方数据共享方法
CN112906032B (zh) * 2021-03-15 2022-07-19 上海交通大学 基于cp-abe与区块链的文件安全传输方法、系统及介质
CN113076558B (zh) * 2021-04-20 2024-05-28 西安交通大学 高效支持隐私保护及可验证的区块链数据连接查询方法
CN113495924B (zh) * 2021-06-28 2024-06-07 成都金融梦工场投资管理有限公司 一种基于区块链的可防伪数据安全共享方法

Also Published As

Publication number Publication date
CN114520720A (zh) 2022-05-20

Similar Documents

Publication Publication Date Title
CN107948189B (zh) 非对称密码身份鉴别方法、装置、计算机设备及存储介质
CN109922077B (zh) 一种基于区块链的身份认证方法及其系统
Mahmood et al. An enhanced anonymous identity‐based key agreement protocol for smart grid advanced metering infrastructure
Chai et al. CyberChain: Cybertwin empowered blockchain for lightweight and privacy-preserving authentication in Internet of Vehicles
Khan et al. Multiaccess Edge Computing Empowered Flying Ad Hoc Networks with Secure Deployment Using Identity‐Based Generalized Signcryption
CN111404950B (zh) 一种基于区块链网络的信息共享方法、装置和相关设备
WO2009065356A1 (fr) Procédé, système et dispositif de réseau pour une authentification mutuelle
CN101815294B (zh) P2p网络的接入认证方法、设备和系统
KR20210139344A (ko) 데이터 기반 활동을 수행하는 방법 및 장치
KR20100050846A (ko) 키 교환 시스템 및 방법
Li et al. A Provably Secure and Lightweight Identity‐Based Two‐Party Authenticated Key Agreement Protocol for Vehicular Ad Hoc Networks
CN113014379B (zh) 支持跨云域数据分享的三方认证和密钥协商方法、系统和计算机存储介质
CN114143062B (zh) 基于区块链的雾计算环境的安全认证系统、方法、终端及介质
Luo et al. Cross-domain certificateless authenticated group key agreement protocol for 5G network slicings
CN113821789A (zh) 基于区块链的用户密钥生成方法、装置、设备及介质
Babu et al. Fog‐Sec: Secure end‐to‐end communication in fog‐enabled IoT network using permissioned blockchain system
Mu et al. An identity privacy scheme for blockchain‐based on edge computing
Guo et al. A Novel RLWE‐Based Anonymous Mutual Authentication Protocol for Space Information Network
CN111552950B (zh) 一种软件授权方法、装置及计算机可读存储介质
Liu et al. pKAS: A Secure Password‐Based Key Agreement Scheme for the Edge Cloud
CN114520720B (zh) 一种基于tls协议的多方认证区块链数据上链方法
JP2014147039A (ja) 暗号通信装置、代行サーバ、暗号通信システム、暗号通信装置プログラム及び代行サーバプログラム
WO2023116027A1 (zh) 安全多方计算中的跨域身份验证方法及服务器
Gupta et al. Towards Security Mechanism in D2D Wireless Communication: A 5G Network Approach
Han Chaining the secret: Lightweight authentication for security in pervasive computing

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