CN111222165A - 基于区块链的多方计算方法、装置、设备和介质 - Google Patents

基于区块链的多方计算方法、装置、设备和介质 Download PDF

Info

Publication number
CN111222165A
CN111222165A CN202010026601.5A CN202010026601A CN111222165A CN 111222165 A CN111222165 A CN 111222165A CN 202010026601 A CN202010026601 A CN 202010026601A CN 111222165 A CN111222165 A CN 111222165A
Authority
CN
China
Prior art keywords
ciphertext
target
service data
business data
party
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010026601.5A
Other languages
English (en)
Other versions
CN111222165B (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.)
Beijing Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and Technology Co Ltd
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 Beijing Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN202010026601.5A priority Critical patent/CN111222165B/zh
Publication of CN111222165A publication Critical patent/CN111222165A/zh
Priority to KR1020210002909A priority patent/KR102487137B1/ko
Priority to JP2021002357A priority patent/JP7209750B2/ja
Priority to US17/145,121 priority patent/US11909886B2/en
Priority to EP21150982.3A priority patent/EP3849132A1/en
Application granted granted Critical
Publication of CN111222165B publication Critical patent/CN111222165B/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/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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • 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/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/3247Cryptographic 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 digital signatures
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Databases & Information Systems (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请实施例公开了一种基于区块链的多方计算方法、装置、设备和介质,涉及计算机技术领域中的区块链技术。其中方法包括:对业务数据进行加密得到业务数据密文;对业务数据密文进行哈希处理,得到业务数据哈希结果;向区块链节点发送业务数据哈希结果,以指示区块链节点将业务数据哈希结果写入区块链中;向目标服务器中目标可信计算模块发送业务数据密文,用于指示目标可信计算模块根据业务数据密文和区块链中的业务数据哈希结果进行多方计算。本申请实施例通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。

Description

基于区块链的多方计算方法、装置、设备和介质
技术领域
本申请实施例涉及计算机技术领域,具体涉及区块链技术,尤其涉及一种基于区块链的多方计算方法、装置、设备和介质。
背景技术
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链的分布式事物处理过程,一般是由一个区块生成节点进行事物处理。
随着互联网技术的快速发展,企业之间需要共享数据,在企业之间共享数据的同时,如何保护数据的安全性是十分重要的。
为了提高共享数据的公信力(即可靠性),可以采用区块链对共享数据进行存证。但是,由于区块链的公开性,链上数据的安全性无法保证。
发明内容
本申请实施例提出一种基于区块链的多方计算方法、装置、设备和介质,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
第一方面,本申请实施例提供了一种基于区块链的多方计算方法,由参与方设备执行,所述方法包括:
对业务数据进行加密得到业务数据密文;
对所述业务数据密文进行哈希处理,得到业务数据哈希结果;
向区块链节点发送所述业务数据哈希结果,以指示所述区块链节点将所述业务数据哈希结果写入区块链中;
向目标服务器中目标可信计算模块发送所述业务数据密文,用于指示所述目标可信计算模块根据所述业务数据密文和区块链中的业务数据哈希结果进行多方计算。
本申请实施例通过对业务数据进行加密,并对加密得到的业务数据密文进行哈希处理,得到业务数据哈希结果,然后向区块链节点发送业务数据哈希结果,以指示区块链节点将业务数据哈希结果写入区块链中,并向目标服务器中目标可信计算模块发送业务数据密文,以指示目标可信计算模块根据业务数据密文和区块链中的业务数据哈希结果进行多方计算。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
另外,根据本申请上述实施例的基于区块链的多方计算方法,还可以具有如下附加的技术特征:
可选的,对业务数据进行加密得到业务数据密文之前,还包括:
通过与所述目标可信计算模块进行交互,确定目标随机数;
采用所述目标随机数对密钥进行加密,得到密钥密文;
向所述目标可信计算模块发送所述密钥密文,用于指示所述目标可信计算模块采用所述目标随机数对所述密钥密文进行解密得到密钥;
相应地,对业务数据进行加密得到业务数据密文,包括:
采用密钥对所述业务数据进行加密,得到业务数据密文。
上述申请中的一个实施例具有如下优点或有益效果:通过确定目标随机数,并利用目标随机数对密钥进行加密,以使密钥不被泄露,提高隐私数据的安全性。
可选的,向目标服务器中目标可信计算模块发送所述业务数据密文之前,还包括:
向区块链节点发送服务器选择请求,其中,所述服务器选择请求包括需要的目标可信算法信息;
从区块链节点获取支持目标可信算法的候选服务器注册信息;
根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器。
可选的,根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器,包括:
向可信计算验证方发送所述候选服务器的可信环境验证请求,其中所述可信环境验证请求包括所述候选服务器注册信息,以指示所述可信计算验证方对候选服务器进行可信环境验证;
从通过可信环境验证的候选服务器中选择所述目标服务器。
上述申请中的一个实施例具有如下优点或有益效果:从通过可信环境验证的候选服务器中选择目标服务器,以提高多方计算的安全性。
可选的,向目标服务器中目标可信计算模块发送所述业务数据密文之后,还包括:
从所述目标可信计算模块获取多方计算结果密文,其中,所述多方计算结果密文采用目标随机数对多方计算结果进行加密得到;
采用所述目标随机数对所述多方计算结果密文进行解密,得到多方计算结果。
第二方面,本申请实施例还公开了一种基于区块链的多方计算方法,由服务器执行,所述方法包括:
接收参与方设备发送的业务数据密文,其中所述业务数据密文通过对参与方设备的业务数据进行加密得到;
从区块链中获取业务数据哈希结果;其中所述业务数据哈希结果通过对所述业务数据密文进行哈希处理得到;
通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,得到多方计算结果。
第三方面,本申请实施例还公开了一种基于区块链的多方计算方法,由区块链节点执行,所述方法包括:
接收参与方设备发送的业务数据哈希结果;其中所述业务数据哈希结果通过对业务数据密文进行哈希处理得到;
向目标服务器中目标可信计算模块发送所述业务数据哈希结果,以指示所述目标可信计算模块根据接收的业务数据密文和所述业务数据哈希结果进行多方计算。
第四方面,本申请实施例还公开了一种基于区块链的多方计算装置,配置于参与方设备,包括:
数据加密模块,用于对业务数据进行加密得到业务数据密文;
哈希处理模块,用于对所述业务数据密文进行哈希处理,得到业务数据哈希结果;
第一发送模块,用于向区块链节点发送所述业务数据哈希结果,以指示所述区块链节点将所述业务数据哈希结果写入区块链中;
密文发送模块,用于向目标服务器中目标可信计算模块发送所述业务数据密文,用于指示所述目标可信计算模块根据所述业务数据密文和区块链中的业务数据哈希结果进行多方计算。
第五方面,本申请实施例还公开了一种基于区块链的多方计算装置,配置于服务器,包括:
密文接收模块,用于接收参与方设备发送的业务数据密文,其中所述业务数据密文通过对参与方设备的业务数据进行加密得到;
结果获取模块,用于从区块链中获取业务数据哈希结果;其中所述业务数据哈希结果通过对所述业务数据密文进行哈希处理得到;
多方计算模块,用于通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,得到多方计算结果。
第六方面,本申请实施例还公开了一种基于区块链的多方计算装置,配置于区块链节点,包括:
结果接收模块,用于接收参与方设备发送的业务数据哈希结果;其中所述业务数据哈希结果通过对业务数据密文进行哈希处理得到;
第二发送模块,用于向目标服务器中目标可信计算模块发送所述业务数据哈希结果,以指示所述目标可信计算模块根据接收的业务数据密文和所述业务数据哈希结果进行多方计算。
第七方面,本申请实施例还公开了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请实施例中的任一种基于区块链的多方计算方法。
第八方面,本申请实施例还公开了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请实施例中的任一种基于区块链的多方计算方法。
上述可选方式所具有的其他效果将在下文中结合具体实施例加以说明。
附图说明
附图用于更好地理解本方案,不构成对本申请的限定。其中:
图1是本申请实施例提供的选择目标服务器的流程示意图;
图2是本申请实施例提供的一种基于区块链的多方计算方法的流程示意图;
图3是本申请实施例提供的另一种基于区块链的多方计算方法的流程示意图;
图4是本申请实施例提供的再一种基于区块链的多方计算方法的流程示意图;
图5是本申请实施例提供的又一种基于区块链的多方计算方法的流程示意图;
图6是本申请实施例提供的一个具体实施例的参与方设备、区块链节点和服务器之间进行信令交互的示意图;
图7是本申请实施例提供的一种基于区块链的多方计算装置的结构示意图;
图8是本申请实施例提供的另一种基于区块链的多方计算装置的结构示意图;
图9是本申请实施例提供的再一种基于区块链的多方计算装置的结构示意图;
图10是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
下面结合附图对本申请实施例公开的基于区块链的多方计算方法、装置、设备和介质进行描述。首先,以执行主体为参与方设备为例对本申请实施例公开的基于区块链的多方计算方法进行说明。其中参与方设备数量为至少两个,且每个参与方设备执行的操作类似或相同。
为了清楚说明本申请实施例提供的基于区块链的多方计算方法中,通过目标服务器对参与方设备发送的业务数据密文进行多方计算的过程,下面首先对本申请实施例在区块链节点中选择目标服务器进行说明。
图1是本申请实施例提供的选择目标服务器的流程示意图,本申请实施例可由基于区块链的多方计算装置来执行,该装置可以由软件和/硬件实现,可配置于参与方设备中。该方法包括如下步骤:
S101,向区块链节点发送服务器选择请求,其中,所述服务器选择请求包括需要的目标可信算法信息。
S102,从区块链节点获取支持目标可信算法的候选服务器注册信息。
其中,需要的目标可信算法信息可为可信算法名称。在本申请实施例中可信算法可为线性回归算法或者其他算法,此处不做具体限定。
区块链网络作为不同服务器(协作方)之间的消息总线,具有不同服务器的注册信息。那么当参与方设备需要执行多方计算时,可向区块链网络中的区块链节点发送服务器选择请求,以使区块链节点基于服务器选择请求从注册的多个服务器中选择候选服务器。
其中,区块链节点接收到参与方设备发送的服务器选择请求,通过对服务器选择请求进行解析,获取请求中包括需要的目标可信算法信息。然后,根据该目标可信算法信息,在多个服务器的注册信息中查找哪些服务器支持上述目标可信算法。若至少一个服务器支持上述目标可信算法,则将至少一个服务器作为候选服务器;若没有服务器能够支持上述目标可信算法,则向参与者设备发送无候选服务器的提示消息,以使参与者设备调整目标可信算法重新选择服务器或者结束选择操作。
进一步的,在确定出候选服务器之后,区块链节点还将候选服务器注册信息发送给参与者设备,以为参与方设备选择目标服务器奠定基础。
S103,根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器。
示例性的,获取到区块链节点发送的候选服务器注册信息之后,参与方设备可根据候选服务器注册信息,从候选服务器中选择目标服务器。
具体实现时,参与方设备通过向可信计算验证方(Intel Attestation Service,简称:IAS)发送候选服务器的可信环境验证请求,以使IAS对候选服务器进行可信环境验证。然后,根据IAS反馈的候选服务器验证结果,选择验证通过的候选服务器作为目标服务器,其中可信环境验证请求包括候选服务器注册信息。在本申请实施例中,IAS对候选服务器进行验证是指对候选服务器的硬件信息进行验证。
需要说明的是,IAS为Intel提供的SGX验证服务,该服务可以用于验证程序是否运行在SGX硬件环境上,以及该程序是否被篡改。
即,根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器,包括:向可信计算验证方发送所述候选服务器的可信环境验证请求,其中所述可信环境验证请求包括所述候选服务器注册信息,以指示所述可信计算验证方对候选服务器进行可信环境验证;从通过可信环境验证的候选服务器中选择所述目标服务器。
本申请实施例提供的技术方案,通过向区块链节点发送服务器选择请求,并根据区块链节点返回的候选服务器注册信息选择目标服务器,为后续向目标服务器发送业务数据,使得目标服务器基于业务数据进行多方计算提供了条件。
通过上述介绍可知,本申请实施例参与方设备通过向区块链网络中的区块链节点发送服务器选择请求,并根据区块链节点返回的候选服务器注册信息选择目标服务器。在选择出目标服务器之后,本申请实施例即可基于选择的目标服务器进行多方计算。下面结合图2,对本申请实施例提供的基于区块链的多方计算方法中根据参与方发送的业务数据进行多方计算过程进行说明。
如图2所示,该方法可以包括:
S201,对业务数据进行加密得到业务数据密文。
在本申请实施例中,业务数据根据企业运营业务确定。即不同业务对应有不同业务数据。例如,若业务为软件研发,则业务数据即为研发数据等。
由于区块链具有全网广播区块信息的特征,因此当参与方设备需要进行隐私业务数据的计算时,容易造成数据泄露。为此本申请实施例可对业务数据进行加密,以避免数据泄露。
示例性的,参与方设备可采用密钥对业务数据进行加密,得到业务数据密文。其中,密钥可为参与方设备在区块链网络中的区块链私钥。
然而,目标服务器中的目标可信计算模块并不能知晓参与方设备采用什么密钥对业务数据进行加密,从而无法对业务数据密文进行解密,进而无法获取到业务数据。
对此,本申请实施例在对业务数据进行加密之前,参与方设备首先与目标服务器中目标可信计算模块进行密钥交互,以使目标可信计算模块知晓参与方设备采用何种密钥对业务数据进行加密,从而利用对应密钥对业务数据密文进行解密,得到业务数据。
具体实现时,参与方设备可向目标服务器中目标可信计算模块发送密钥交互请求,以与目标可信计算模块协商确定目标随机数。在确定目标随机数之后,参与方设备采用目标随机数对自身区块链公钥进行加密,得到区块链公钥密文。然后,向目标可信计算模块发送区块链公钥密文,以使目标可信计算模块采用目标随机数对接收的区块链公钥密文进行解密,得到区块链公钥,使得参与方设备与目标可信计算模块之间的密钥达成共识。
其中,确定目标随机数,具体为目标可信计算模块接收到参与方设备发送的密钥交互请求之后,通过目标服务器中的目标不可信worker向参与方设备发送N个随机数(目标worker也知道这N个随机数)。其中,目标可信计算模块还保留有M个随机数,这M个随机数和N个随机数关联。当参与方设备接收到目标可信计算模块发送的N个随机数之后,可基于N个随机数按照预设规则推导出M个随机数,从而将M个随机数和N个随机数一起作为目标随机数,而目标worker不知道M个随机数。
也就是说,目标随机数只有参与方设备和目标可信计算模块知道,而目标服务器中的目标worker并不知道目标随机数,从而后续不会造成数据泄露。
即,本申请实施例中,对业务数据进行加密得到业务数据密文之前,还包括:通过与所述目标可信计算模块进行交互,确定目标随机数;采用所述目标随机数对密钥进行加密,得到密钥密文;向所述目标可信计算模块发送所述密钥密文,用于指示所述目标可信计算模块采用所述目标随机数对所述密钥密文进行解密得到密钥。
S202,对所述业务数据密文进行哈希处理,得到业务数据哈希结果。
示例性的,得到业务数据密文之后,参与方设备可对业务数据密文进行哈希处理,得到业务数据哈希结果,以为后续验证业务数据密文是否被篡改奠定基础。
S203,向区块链节点发送所述业务数据哈希结果,以指示所述区块链节点将所述业务数据哈希结果写入区块链中。
其中,将业务数据哈希结果发送给区块链节点,以使区块链节点将业务数据哈希结果写入区块链中,实现对业务数据的存证。
S204,向目标服务器中目标可信计算模块发送所述业务数据密文,用于指示所述目标可信计算模块根据所述业务数据密文和区块链中的业务数据哈希结果进行多方计算。
可选的,当目标服务器中目标可信计算模块接收到业务数据密文之后,可根据从参与方设备获取的密钥,对业务数据密文进行解密,得到业务数据。此外,目标可信计算模块还可基于得到的业务数据,从区块链中查询与自身交互的参与方设备的业务数据哈希结果,然后利用查询到的业务数据哈希结果,对业务数据进行校验,以确定业务数据是否被篡改。当校验通过时,则说明业务数据未被篡改,此时目标可信计算模块可根据得到的业务数据进行多方计算,得到多方计算结果。
进一步的,参与方设备向目标服务器中目标可信计算模块发送所述业务数据密文之后,还包括:从所述目标可信计算模块获取多方计算结果密文,其中,所述多方计算结果密文采用目标随机数对多方计算结果进行加密得到;采用所述目标随机数对所述多方计算结果密文进行解密,得到多方计算结果。
也就是说,本申请实施例通过采用目标随机数对密钥进行加密,可避免密钥被泄露,并且在目标可信计算模块根据业务数据进行多方计算,得到多方计算结果之后,采用目标随机数对多方计算结果进行加密,避免多方计算结果被泄露,从而提高数据的安全性和可靠性。
本申请实施例提供的基于区块链的多方计算方法,通过对业务数据进行加密,并对加密得到的业务数据密文进行哈希处理,得到业务数据哈希结果,然后向区块链节点发送业务数据哈希结果,以指示区块链节点将业务数据哈希结果写入区块链中,并向目标服务器中目标可信计算模块发送业务数据密文,以指示目标可信计算模块根据业务数据密文和区块链中的业务数据哈希结果进行多方计算。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
下面以执行主体为服务器为例对本申请实施例公开的基于区块链的多方计算方法进行说明。
图3是本申请实施例提供的另一种基于区块链的多方计算方法的流程示意图,本申请实施例提供的基于区块链的多方计算方法,可由基于区块链的多方计算装置来执行,该装置可以由软件和/硬件实现,可配置于服务器中。该方法包括如下步骤:
S301,接收参与方设备发送的业务数据密文,其中所述业务数据密文通过对参与方设备的业务数据进行加密得到。
在执行S301之前,服务器向区块链节点发送服务器注册信息;其中所述服务器注册信息包括支持的可信算法信息,以指示区块链节点将所述服务器注册信息写入区块链中,为参与方设备选择目标服务器奠定了基础。
S302,从区块链中获取业务数据哈希结果;其中所述业务数据哈希结果通过对所述业务数据密文进行哈希处理得到。
S303,通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,得到多方计算结果。
示例性的,当服务器接收到参与方设备发送的业务数据密文之后,通过可信计算模块根据从参与方设备获取的密钥,对业务数据密文进行解密得到业务数据。然后,根据业务数据,从区块链中查询参与方设备的业务数据哈希结果。然后,利用查询到的业务数据哈希结果,对业务数据进行校验,以确定业务数据是否被篡改。当校验通过时,则说明业务数据未被篡改,此时可通过自身中可信计算模块根据接收到的业务数据进行多方计算,得到多方计算结果。
其中,通过可信计算模块根据业务数据进行多方计算,得到多方计算结果时,具体根据参与方设备需要的目标可信算法进行计算。
需要说明的是,本申请实施例通过可信计算模块,对业务数据密文进行解密得到业务数据之前,还包括:通过所述可信计算模块与参与方设备进行交互,确定目标随机数;从参与方设备获取密钥密文,其中所述密钥密文通过采用所述目标随机数对密钥进行加密得到;通过所述可信计算模块,采用所述目标随机数对所述密钥密文进行解密得到密钥;
相应地,通过可信计算模块,对所述业务数据密文进行解密得到业务数据,包括:通过可信计算模块,采用所述密钥对所述业务数据密钥进行解密,得到业务数据。
上述获取密钥与应用于参与方设备的基于区块链的多方计算方法实施例中的获取密钥实现原理类似,具体参见上述实施例,此处对其不做过多赘述。
本申请实施例提供的基于区块链的多方计算方法,通过接收参与方设备发送的业务数据密文,并从区块链中获取业务数据哈希结果,然后通过可信计算模块,根据业务数据密文和业务数据哈希结果进行多方计算,得到多方计算结果。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
在另一实现情形中,当服务器通过可信计算模块,根据业务数据密文和业务数据哈希结果进行多方计算,得到多方计算结果之后,还可将多方计算结果发送给参与方设备,以使参与方设备得到多方计算结果。下面结合图4,对本申请实施例提供的基于区块链的多方计算方法中上述情况进行说明。
如图4所示,该方法可以包括:
S401,接收参与方设备发送的业务数据密文,其中所述业务数据密文通过对参与方设备的业务数据进行加密得到。
S402,从区块链中获取业务数据哈希结果;其中所述业务数据哈希结果通过对所述业务数据密文进行哈希处理得到。
S403,通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,得到多方计算结果。
S404,对所述多方计算结果进行加密,得到多方计算结果密文。
其中,采用与参与方设备协商确定的目标随机数,对多方计算结果进行加密,得到多方计算结果密文。
S405,通过可信计算模块,向所述参与方设备发送所述多方计算结果密文,用于指示所述参与方设备对所述多方计算结果密文进行解密得到多方计算结果。
示例性的,将多方计算结果密文发送给参与方设备,以使参与方设备接收到多方计算结果密文之后,根据目标随机数,对多方计算结果密文进行解密,以得到多方计算结果,从而有效防止多方计算结果被泄露。
本申请实施例提供的基于区块链的多方计算方法,通过可信计算模块,根据业务数据密文和业务数据哈希结果进行多方计算,得到多方计算结果之后,采用与参与方设备协商确定的目标随机数,对多方计算结果进行解密,得到多方计算结果密文,并将多方计算结果密文发送给参与方设备,以使参与方设备根据目标随机数对多方计算结果密文进行解密,得到多方计算结果,从而有效防止多方计算结果泄露,提高数据安全性。
下面以执行主体为区块链节点为例对本申请实施例公开的基于区块链的多方计算方法进行说明。
图5是本申请实施例提供的又一种基于区块链的多方计算方法的流程示意图,本申请实施例提供的基于区块链的多方计算方法,可由基于区块链的多方计算装置来执行,该装置可以由软件和/硬件实现,可配置于区块链节点中。该方法包括如下步骤:
S501,接收参与方设备发送的业务数据哈希结果;其中所述业务数据哈希结果通过对业务数据密文进行哈希处理得到。
在执行S501之前,至少两个服务器会向区块链发送服务器注册信息,以实现注册。其中,服务器注册信息包括服务器的网络地址、区块链公钥和支持的可信算法信息等。当区块链节点接收到至少两个服务器发送的服务器注册信息,将服务器注册信息写入区块链中,为后续向参与方设备提供候选服务器奠定基础。
进而,在获取到参与方设备发送的服务器选择请求时,可从区块链中查询支持目标可信算法信息的候选服务器,并获取候选服务器注册信息。然后,将候选服务器注册信息发送给参与方设备,以使参与方设备根据候选服务器注册信息,从候选服务器中选择目标服务器。
需要说明的是,参与方设备从候选服务器中选择目标服务器的实现过程具体参见上述应用于参与方设备的基于区块链的多方计算方法实施例,此处对其不做过多赘述。
示例性的,本申请实施例,区块链节点接收参与方设备发送的业务数据哈希结果,并将该业务数据哈希结果写入区块链中,以对业务数据进行存证。
S502,向目标服务器中目标可信计算模块发送所述业务数据哈希结果,以指示所述目标可信计算模块根据接收的业务数据密文和所述业务数据哈希结果进行多方计算。
其中,在目标服务器接收到参与方设备发送的业务数据密文之后,目标服务器通过可信计算模块根据从参与方设备获取的密钥,对业务数据密文进行解密得到业务数据。然后,根据业务数据,向区块链发送获取业务数据哈希结果请求,以使区块链节点将业务数据哈希结果发送给目标服务器。然后,目标服务器利用查询到的业务数据哈希结果,对业务数据进行校验,以确定业务数据是否被篡改。当校验通过时,则说明业务数据未被篡改,此时可通过自身中可信计算模块根据接收到的业务数据进行多方计算,得到多方计算结果。
本申请实施例提供的基于区块链的多方计算方法,通过接收参与方设备发送的业务数据哈希结果,并向目标服务器中目标可信计算模块发送业务数据哈希结果,以指示目标可信计算模块根据接收的业务数据密文和业务数据哈希结果进行多方计算。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
下面通过一个具体实施例,对上述实施例基于区块链的多方计算方法进行具体说明,具体参见图6。图6是本申请实施例提供的一个具体实施例的参与方设备、区块链节点和服务器之间进行信令交互的示意图。
假设本实施例中,参与方设备为X个,分别为X1、X2、…Xn;区块链节点为Y,服务器为Z个,分别为Z1、Z2、…Zn,则参与方设备、区块链节点和服务器之间的交互过程如下:
S601,服务器Z1、Z2、…Zn向区块链节点Y发送服务器注册信息。
其中,服务器注册信息包括支持的可信算法信息。
S602,区块链节点Y将接收的服务器注册信息写入区块链中。
S603,参与方设备X1、X2、…Xn向区块链节点Y发送服务器选择请求。
其中,服务器选择请求包括需要的目标可信算法信息。
S604,区块链节点Y根据参与方设备需要的目标可信算法信息,从区块链中查询支持目标可信算法的候选服务器Z1和Z2。
S605,区块链节点Y将候选服务器Z1和Z2的注册信息发送给参与方设备X1、X2、…Xn。
S606,参与方设备X1、X2、…Xn将候选服务器Z1和Z2的注册信息发送给可信计算验证方W。
S607,参与方设备X1、X2、…Xn接收可信计算验证方W反馈的验证结果,选择验证通过的候选服务器Z1为目标服务器。
S608,参与方设备X1、X2、…Xn向目标服务器Z1发送密钥交互请求。
S609,目标服务器Z1根据接收到密钥交互请求,向参与方设备X1、X2、…Xn发送N个随机数。
S610,参与方设备X1、X2、…Xn根据接收的N个随机数推导出M关联的随机数,以根据M个随机数和N个随机数得到目标随机数。
S611,参与方设备X1、X2、…Xn分别采用目标随机数对各自的密钥进行加密,得到密钥密文,并将密钥密文发送给目标服务器Z1。
S612,参与方设备X1、X2、…Xn对业务数据进行加密得到业务数据密文,并对业务数据密文进行哈希处理,得到业务数据哈希结果。
S613,参与方设备X1、X2、…Xn将业务数据哈希结果发送给区块链节点Y,以使区块链节点Y将业务数据哈希结果写入区块链中。
S614,区块链节点Y将接收的业务数据哈希结果写入区块链中。
S615,参与方设备X1、X2、…Xn分别将各自的业务数据密文发送给目标服务器Z1。
S616,目标服务器Z1利用参与方设备X1、X2、…Xn发送的密钥,对接收的业务数据密文进行解密,得到业务数据。
其中,业务数据为至少两个。
S617,目标服务器Z1根据业务数据,从区块链中获取与每个业务数据对应的业务数据哈希结果进行校验。
S618,目标服务器Z1在业务数据校验通过时,根据参与方设备X1、X2、…Xn发送的业务数据进行多方计算,得到多方计算结果。
S619,目标服务器Z1采用目标随机数,对多方计算结果进行加密,得到多方计算结果密文。
S620,目标服务器Z1将多方计算结果密文发送给参与方设备X1、X2、…Xn,以使参与方设备X1、X2、…Xn利用目标随机数,对多方计算结果密文进行解密,得到多方计算结果。
通过上述实施例提供的基于区块链的多方计算方法,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
图7是本申请实施例提供的一种基于区块链的多方计算装置的结构示意图。该基于区块链的多方计算方法可以采用软件和/或硬件的方式实现,并配置于参与方设备上。如图7所示,本实施例公开的基于区块链的多方计算装置700包括数据加密模块710、哈希处理模块720、第一发送模块730和密文发送模块740,其中:
数据加密模块710,用于对业务数据进行加密得到业务数据密文;
哈希处理模块720,用于对所述业务数据密文进行哈希处理,得到业务数据哈希结果;
第一发送模块730,用于向区块链节点发送所述业务数据哈希结果,以指示所述区块链节点将所述业务数据哈希结果写入区块链中;
密文发送模块740,用于向目标服务器中目标可信计算模块发送所述业务数据密文,用于指示所述目标可信计算模块根据所述业务数据密文和区块链中的业务数据哈希结果进行多方计算。
作为本申请的一种可选的实现形式,所述装置700还包括:第一确定模块、密钥加密模块和第三发送模块:
其中,第一确定模块,用于通过与所述目标可信计算模块进行交互,确定目标随机数;
密钥加密模块,用于采用所述目标随机数对密钥进行加密,得到密钥密文;
第三发送模块,用于向所述目标可信计算模块发送所述密钥密文,用于指示所述目标可信计算模块采用所述目标随机数对所述密钥密文进行解密得到密钥;
相应地,数据加密模块710,具体用于:
采用密钥对所述业务数据进行加密,得到业务数据密文。
作为本申请的一种可选的实现形式,所述装置700还包括:请求发送模块、信息获取模块和选择模块:
其中,请求发送模块,用于向区块链节点发送服务器选择请求,其中,所述服务器选择请求包括需要的目标可信算法信息;
信息获取模块,用于从区块链节点获取支持目标可信算法的候选服务器注册信息;
选择模块,用于根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器。
作为本申请的一种可选的实现形式,选择模块具体用于:
向可信计算验证方发送所述候选服务器的可信环境验证请求,其中所述可信环境验证请求包括所述候选服务器注册信息,以指示所述可信计算验证方对候选服务器进行可信环境验证;
从通过可信环境验证的候选服务器中选择所述目标服务器。
作为本申请的一种可选的实现形式,所述装置700还包括:结果密文获取模块和结果密文解密模块;
其中,结果密文获取模块,用于从所述目标可信计算模块获取多方计算结果密文,其中,所述多方计算结果密文采用目标随机数对多方计算结果进行加密得到;
结果密文解密模块,用于采用所述目标随机数对所述多方计算结果密文进行解密,得到多方计算结果。
需要说明的是,前述对应用于参与者设备的基于区块链的多方计算方法实施例的解释说明也适用于该实施例的基于区块链的多方计算装置,其实现原理类似,此处不再赘述。
本申请实施例提供的基于区块链的多方计算装置,通过对业务数据进行加密,并对加密得到的业务数据密文进行哈希处理,得到业务数据哈希结果,然后向区块链节点发送业务数据哈希结果,以指示区块链节点将业务数据哈希结果写入区块链中,并向目标服务器中目标可信计算模块发送业务数据密文,以指示目标可信计算模块根据业务数据密文和区块链中的业务数据哈希结果进行多方计算。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
图8是本申请实施例提供的另一种基于区块链的多方计算装置的结构示意图。该基于区块链的多方计算方法可以采用软件和/或硬件的方式实现,并配置于服务器上。如图8所示,本实施例公开的基于区块链的多方计算装置800可包括密文接收模块810、结果获取模块820和多方计算模块830,其中:
密文接收模块810,用于接收参与方设备发送的业务数据密文,其中所述业务数据密文通过对参与方设备的业务数据进行加密得到;
结果获取模块820,用于从区块链中获取业务数据哈希结果;其中所述业务数据哈希结果通过对所述业务数据密文进行哈希处理得到;
多方计算模块830,用于通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,得到多方计算结果。
作为本申请的一种可选的实现形式,多方计算模块830,包括:数据解密单元和数据校验单元:
其中,数据解密单元,用于通过可信计算模块,对所述业务数据密文进行解密得到业务数据;
数据校验单元,用于根据所述业务数据哈希结果对所述业务数据进行校验。
作为本申请的一种可选的实现形式,多方计算模块830,还包括:第二确定单元和获取密文单元:
其中,第二确定单元,用于从参与方设备获取密钥密文,其中所述密钥密文通过采用所述目标随机数对密钥进行加密得到;
获取密文单元,用于通过所述可信计算模块,采用所述目标随机数对所述密钥密文进行解密得到密钥;
相应地,数据解密单元,具体用于:
通过可信计算模块,采用所述密钥对所述业务数据密钥进行解密,得到业务数据。
作为本申请的一种可选的实现形式,所述装置800还包括:结果加密模块和结果密文发送模块;
其中,结果加密模块,用于对所述多方计算结果进行加密,得到多方计算结果密文;
结果密文发送模块,用于通过可信计算模块,向所述参与方设备发送所述多方计算结果密文,用于指示所述参与方设备对所述多方计算结果密文进行解密得到多方计算结果。
作为本申请的一种可选的实现形式,所述装置800还包括:第四发送模块:
其中,第四发送模块,用于向区块链节点发送服务器注册信息;其中所述服务器注册信息包括支持的可信算法信息,以指示区块链节点将所述服务器注册信息写入区块链中。
需要说明的是,前述对应用于服务器中的基于区块链的多方计算方法实施例的解释说明也适用于该实施例的基于区块链的多方计算装置,其实现原理类似,此处不再赘述。
本申请实施例提供的基于区块链的多方计算装置,通过接收参与方设备发送的业务数据密文,并从区块链中获取业务数据哈希结果,然后通过可信计算模块,根据业务数据密文和业务数据哈希结果进行多方计算,得到多方计算结果。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
图9是本申请实施例提供的再一种基于区块链的多方计算装置的结构示意图。该基于区块链的多方计算方法可以采用软件和/或硬件的方式实现,并配置于区块链节点上。如图9所示,本实施例公开的基于区块链的多方计算装置900包括结果接收模块910和第二发送模块920,其中:
结果接收模块910,用于接收参与方设备发送的业务数据哈希结果;其中所述业务数据哈希结果通过对业务数据密文进行哈希处理得到;
第二发送模块920,用于向目标服务器中目标可信计算模块发送所述业务数据哈希结果,以指示所述目标可信计算模块根据接收的业务数据密文和所述业务数据哈希结果进行多方计算。
作为本申请的一种可选的实现形式,所述装置900还包括:注册信息获取模块和注册信息写入模块:
其中,注册信息获取模块,用于从候选服务器获取服务器注册信息,其中所述服务器注册信息包括支持的可信算法信息;
注册信息写入模块,用于将所述服务器注册信息写入区块链中。
作为本申请的一种可选的实现形式,所述装置900还包括:选择请求获取模块、查询模块和第五发送模块:
其中,选择请求获取模块,用于从参与方设备获取服务器选择请求,其中所述服务器选择请求包括所述参与方设备需要的目标可信算法信息;
查询模块,用于从区块链中查询支持所述目标可信算法的候选服务器注册信息;
第五发送模块,用于向所述参与方设备发送所述候选服务器注册信息,用于指示所述参与方设备根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器。
需要说明的是,前述对应用于区块链节点的基于区块链的多方计算方法实施例的解释说明也适用于该实施例的基于区块链的多方计算装置,其实现原理类似,此处不再赘述。
本申请实施例提供的基于区块链的多方计算装置,通过接收参与方设备发送的业务数据哈希结果,并向目标服务器中目标可信计算模块发送业务数据哈希结果,以指示目标可信计算模块根据接收的业务数据密文和业务数据哈希结果进行多方计算。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。
如图10所示,是根据本申请实施例的基于区块链的多方计算方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,该电子设备包括:一个或多个处理器1001、存储器1002,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图10中以一个处理器1001为例。
存储器1002即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的应用于参与方设备的基于区块链的多方计算方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的基于区块链的多方计算方法。
存储器1002作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中基于区块链的多方计算方法对应的程序指令/模块(例如,附图7所示的数据加密模块710、哈希处理模块720、第一发送模块730和密文发送模块740)。处理器1001通过运行存储在存储器1002中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述本申请实施例提供的基于区块链的多方计算方法。
存储器1002可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据基于区块链的多方计算方法的电子设备的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1002可选包括相对于处理器1001远程设置的存储器,这些远程存储器可以通过网络连接至基于区块链的多方计算方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
基于区块链的多方计算方法的电子设备还可以包括:输入装置1003和输出装置1004。处理器1001、存储器1002、输入装置1003和输出装置1004可以通过总线或者其他方式连接,图10中以通过总线连接为例。
输入装置1003可接收输入的数字或字符信息,以及产生与基于区块链的多方计算方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1004可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。
此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用ASIC(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、互联网和区块链网络。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
根据本申请实施例的技术方案,通过对业务数据进行加密,并对加密得到的业务数据密文进行哈希处理,得到业务数据哈希结果,然后向区块链节点发送业务数据哈希结果,以指示区块链节点将业务数据哈希结果写入区块链中,并向目标服务器中目标可信计算模块发送业务数据密文,以指示目标可信计算模块根据业务数据密文和区块链中的业务数据哈希结果进行多方计算。由此,通过提供一种兼顾多方计算数据的安全性和可靠性的解决方案,为保证数据的安全性和可靠性提供了条件。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

Claims (18)

1.基于区块链的多方计算方法,其特征在于,由参与方设备执行,所述方法包括:
对业务数据进行加密得到业务数据密文;
对所述业务数据密文进行哈希处理,得到业务数据哈希结果;
向区块链节点发送所述业务数据哈希结果,以指示所述区块链节点将所述业务数据哈希结果写入区块链中;
向目标服务器中目标可信计算模块发送所述业务数据密文,用于指示所述目标可信计算模块根据所述业务数据密文和区块链中的业务数据哈希结果进行多方计算。
2.根据权利要求1所述的方法,其特征在于,对业务数据进行加密得到业务数据密文之前,还包括:
通过与所述目标可信计算模块进行交互,确定目标随机数;
采用所述目标随机数对密钥进行加密,得到密钥密文;
向所述目标可信计算模块发送所述密钥密文,用于指示所述目标可信计算模块采用所述目标随机数对所述密钥密文进行解密得到密钥;
相应地,对业务数据进行加密得到业务数据密文,包括:
采用密钥对所述业务数据进行加密,得到业务数据密文。
3.根据权利要求1所述的方法,其特征在于,向目标服务器中目标可信计算模块发送所述业务数据密文之前,还包括:
向区块链节点发送服务器选择请求,其中,所述服务器选择请求包括需要的目标可信算法信息;
从区块链节点获取支持目标可信算法的候选服务器注册信息;
根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器。
4.根据权利要求3所述的方法,其特征在于,根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器,包括:
向可信计算验证方发送所述候选服务器的可信环境验证请求,其中所述可信环境验证请求包括所述候选服务器注册信息,以指示所述可信计算验证方对候选服务器进行可信环境验证;
从通过可信环境验证的候选服务器中选择所述目标服务器。
5.根据权利要求2所述的方法,其特征在于,向目标服务器中目标可信计算模块发送所述业务数据密文之后,还包括:
从所述目标可信计算模块获取多方计算结果密文,其中,所述多方计算结果密文采用目标随机数对多方计算结果进行加密得到;
采用所述目标随机数对所述多方计算结果密文进行解密,得到多方计算结果。
6.基于区块链的多方计算方法,其特征在于,由服务器执行,所述方法包括:
接收参与方设备发送的业务数据密文,其中所述业务数据密文通过对参与方设备的业务数据进行加密得到;
从区块链中获取业务数据哈希结果;其中所述业务数据哈希结果通过对所述业务数据密文进行哈希处理得到;
通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,得到多方计算结果。
7.根据权利要求6所述的方法,其特征在于,通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,包括:
通过可信计算模块,对所述业务数据密文进行解密得到业务数据;
根据所述业务数据哈希结果对所述业务数据进行校验。
8.根据权利要求7所述的方法,其特征在于,通过可信计算模块,对所述业务数据密文进行解密得到业务数据之前,还包括:
通过所述可信计算模块与参与方设备进行交互,确定目标随机数;
从参与方设备获取密钥密文,其中所述密钥密文通过采用所述目标随机数对密钥进行加密得到;
通过所述可信计算模块,采用所述目标随机数对所述密钥密文进行解密得到密钥;
相应地,通过可信计算模块,对所述业务数据密文进行解密得到业务数据,包括:
通过可信计算模块,采用所述密钥对所述业务数据密钥进行解密,得到业务数据。
9.根据权利要求6所述的方法,其特征在于,得到多方计算结果之后,还包括:
对所述多方计算结果进行加密,得到多方计算结果密文;
通过可信计算模块,向所述参与方设备发送所述多方计算结果密文,用于指示所述参与方设备对所述多方计算结果密文进行解密得到多方计算结果。
10.根据权利要求6所述的方法,其特征在于,接收参与方设备发送的业务数据密文之前,还包括:
向区块链节点发送服务器注册信息;其中所述服务器注册信息包括支持的可信算法信息,以指示区块链节点将所述服务器注册信息写入区块链中。
11.基于区块链的多方计算方法,其特征在于,由区块链节点执行,所述方法包括:
接收参与方设备发送的业务数据哈希结果;其中所述业务数据哈希结果通过对业务数据密文进行哈希处理得到;
向目标服务器中目标可信计算模块发送所述业务数据哈希结果,以指示所述目标可信计算模块根据接收的业务数据密文和所述业务数据哈希结果进行多方计算。
12.根据权利要求11所述的方法,其特征在于,接收参与方设备发送的业务数据哈希结果之前,还包括:
从候选服务器获取服务器注册信息,其中所述服务器注册信息包括支持的可信算法信息;
将所述服务器注册信息写入区块链中。
13.根据权利要求12所述的方法,其特征在于,将所述服务器注册信息写入区块链中之后,还包括:
从参与方设备获取服务器选择请求,其中所述服务器选择请求包括所述参与方设备需要的目标可信算法信息;
从区块链中查询支持所述目标可信算法的候选服务器注册信息;
向所述参与方设备发送所述候选服务器注册信息,用于指示所述参与方设备根据所述候选服务器注册信息,从候选服务器中选择所述目标服务器。
14.基于区块链的多方计算装置,其特征在于,配置于参与方设备,包括:
数据加密模块,用于对业务数据进行加密得到业务数据密文;
哈希处理模块,用于对所述业务数据密文进行哈希处理,得到业务数据哈希结果;
第一发送模块,用于向区块链节点发送所述业务数据哈希结果,以指示所述区块链节点将所述业务数据哈希结果写入区块链中;
密文发送模块,用于向目标服务器中目标可信计算模块发送所述业务数据密文,用于指示所述目标可信计算模块根据所述业务数据密文和区块链中的业务数据哈希结果进行多方计算。
15.基于区块链的多方计算装置,其特征在于,配置于服务器,包括:
密文接收模块,用于接收参与方设备发送的业务数据密文,其中所述业务数据密文通过对参与方设备的业务数据进行加密得到;
结果获取模块,用于从区块链中获取业务数据哈希结果;其中所述业务数据哈希结果通过对所述业务数据密文进行哈希处理得到;
多方计算模块,用于通过可信计算模块,根据所述业务数据密文和所述业务数据哈希结果进行多方计算,得到多方计算结果。
16.基于区块链的多方计算装置,其特征在于,配置于区块链节点,包括:
结果接收模块,用于接收参与方设备发送的业务数据哈希结果;其中所述业务数据哈希结果通过对业务数据密文进行哈希处理得到;
第二发送模块,用于向目标服务器中目标可信计算模块发送所述业务数据哈希结果,以指示所述目标可信计算模块根据接收的业务数据密文和所述业务数据哈希结果进行多方计算。
17.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-13中任一项所述的基于区块链的多方计算方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-13中任一项所述的基于区块链的多方计算方法。
CN202010026601.5A 2020-01-10 2020-01-10 基于区块链的多方计算方法、装置、设备和介质 Active CN111222165B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN202010026601.5A CN111222165B (zh) 2020-01-10 2020-01-10 基于区块链的多方计算方法、装置、设备和介质
KR1020210002909A KR102487137B1 (ko) 2020-01-10 2021-01-08 블록체인 기반의 다자간 컴퓨팅 방법, 장치, 기기 및 매체
JP2021002357A JP7209750B2 (ja) 2020-01-10 2021-01-08 ブロックチェーンに基づくマルチパーティ計算方法、装置、電子機器、非一時的コンピュータ可読記憶媒体およびコンピュータプログラム
US17/145,121 US11909886B2 (en) 2020-01-10 2021-01-08 Method, apparatus for blockchain-based multi-party computation, device and medium
EP21150982.3A EP3849132A1 (en) 2020-01-10 2021-01-11 Method, apparatus for blockchain-based multi-party computation, device and medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010026601.5A CN111222165B (zh) 2020-01-10 2020-01-10 基于区块链的多方计算方法、装置、设备和介质

Publications (2)

Publication Number Publication Date
CN111222165A true CN111222165A (zh) 2020-06-02
CN111222165B CN111222165B (zh) 2022-09-23

Family

ID=70829379

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010026601.5A Active CN111222165B (zh) 2020-01-10 2020-01-10 基于区块链的多方计算方法、装置、设备和介质

Country Status (5)

Country Link
US (1) US11909886B2 (zh)
EP (1) EP3849132A1 (zh)
JP (1) JP7209750B2 (zh)
KR (1) KR102487137B1 (zh)
CN (1) CN111222165B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434344A (zh) * 2020-11-26 2021-03-02 中国南方电网有限责任公司 一种基于计算机取证的数据证据防篡改方法、装置和系统
CN113987554A (zh) * 2021-12-23 2022-01-28 支付宝(杭州)信息技术有限公司 获取数据授权的方法、装置及系统
CN115065461A (zh) * 2022-05-13 2022-09-16 浪潮云信息技术股份公司 安全多方计算方法、系统及计算机可读介质
CN115361229A (zh) * 2022-10-17 2022-11-18 太极计算机股份有限公司 一种政府公共数据的安全分享方法以及系统
WO2022257720A1 (zh) * 2021-06-11 2022-12-15 支付宝(杭州)信息技术有限公司 针对隐私计算进行多方算法协商的方法、装置及系统

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113660385A (zh) * 2021-08-12 2021-11-16 珠海奔图电子有限公司 信息收集方法、通信装置、服务器、系统及存储介质
CN113901425B (zh) * 2021-09-16 2022-12-16 医渡云(北京)技术有限公司 一种多方安全求交集的方法、装置、存储介质及设备
CN114205155B (zh) * 2021-12-07 2023-09-15 四川启睿克科技有限公司 一种基于安全多方计算的供应商风险评估系统及方法
CN114928447B (zh) * 2022-02-10 2024-04-30 北京轻信科技有限公司 基于分布式身份的数据管理方法和系统
CN114679319B (zh) * 2022-03-25 2023-08-18 南京邮电大学 基于区块链的分布式数据同步加密方法
CN114615282B (zh) * 2022-05-10 2022-08-23 富算科技(上海)有限公司 多方安全计算方法、电子设备及可读存储介质
CN115065611B (zh) * 2022-06-08 2023-09-26 上海万向区块链股份公司 数据安全多方协同计算的监控和验证方法及系统
CN115086065B (zh) * 2022-07-12 2024-01-19 北斗星通智联科技有限责任公司 一种基于区块链的数据同步方法、装置、电子设备及介质
CN115412364B (zh) * 2022-10-19 2023-03-24 北京融数联智科技有限公司 一种无需第三方的多方安全求交集的方法、系统和介质
CN115965388B (zh) * 2022-12-30 2023-12-22 国网数字科技控股有限公司 基于区块链的产业链金融密态溯源方法、装置及相关设备
CN116151627B (zh) * 2023-04-04 2023-09-01 支付宝(杭州)信息技术有限公司 一种业务风控的方法、装置、存储介质及电子设备
CN116488922B (zh) * 2023-05-09 2024-04-05 武汉市启视传媒有限公司 一种基于区块链的电商数据传输方法及装置
CN116956258B (zh) * 2023-09-21 2023-12-05 杭州锘崴信息科技有限公司 数据运营中数据计算的计算要素认证方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202046A (zh) * 2011-03-15 2011-09-28 北京邮电大学 面向网络化操作系统的可信任虚拟运行平台
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN109241016A (zh) * 2018-08-14 2019-01-18 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109660358A (zh) * 2019-01-08 2019-04-19 余炀 一种基于区块链及安全执行环境的数据流通方法
EP3496332A1 (en) * 2017-12-07 2019-06-12 NEC Laboratories Europe GmbH Method and system for securely sharing validation information using blockchain technology

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050177518A1 (en) * 2004-02-10 2005-08-11 Brown Collie D. Electronic funds transfer and electronic bill receipt and payment system
US20070288472A1 (en) * 2006-06-09 2007-12-13 Rivera Paul G Transaction processing system and method
KR20130085491A (ko) 2011-12-09 2013-07-30 한국전자통신연구원 인덱스 검증과 추적이 가능한 다자간 환경에서의 검색 가능 암호 시스템 및 방법
US9736147B1 (en) * 2013-04-08 2017-08-15 Titanium Crypt, Inc. Artificial intelligence encryption model (AIEM) with device authorization and attack detection (DAAAD)
US9830467B1 (en) * 2014-04-14 2017-11-28 Michael Harold System, method and apparatus for securely storing data on public networks
US10721058B2 (en) * 2015-08-04 2020-07-21 Charlie Housholder Ultra-secure blockchain enabled analytics
US10785033B2 (en) * 2015-09-04 2020-09-22 Nec Corporation Method for storing an object on a plurality of storage nodes
EP3659092A1 (en) * 2017-10-12 2020-06-03 Samsung Electronics Co., Ltd. Method and apparatus for secure offline payment
KR102067882B1 (ko) * 2017-12-29 2020-02-11 부경대학교 산학협력단 블록체인 기반 데이터 접근 제어 시스템 및 방법
JP6931337B2 (ja) 2018-03-27 2021-09-01 Kddi株式会社 登録装置、管理システム、登録方法及び登録プログラム
CN110661610B (zh) * 2018-06-29 2020-11-03 创新先进技术有限公司 安全多方计算协议的输入获取方法和装置
JP7458150B2 (ja) 2018-08-03 2024-03-29 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ データ流通方法及び認証サーバ
US20200084027A1 (en) * 2018-09-06 2020-03-12 Bank Of Montreal Systems and methods for encryption of data on a blockchain
US11196569B2 (en) * 2018-09-12 2021-12-07 Bitclave Pte. Ltd. Systems and methods for accuracy and attestation of validity of data shared in a secure distributed environment
US11227057B2 (en) * 2018-11-08 2022-01-18 International Business Machines Corporation Membership access management of a database
CN111066019B (zh) * 2019-05-15 2023-05-16 创新先进技术有限公司 处理存储在区块链网络中的数据元素
EP3682340A4 (en) * 2019-09-12 2020-12-02 Advanced New Technologies Co., Ltd. LOG-STRUCTURED STORAGE SYSTEMS

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102202046A (zh) * 2011-03-15 2011-09-28 北京邮电大学 面向网络化操作系统的可信任虚拟运行平台
EP3496332A1 (en) * 2017-12-07 2019-06-12 NEC Laboratories Europe GmbH Method and system for securely sharing validation information using blockchain technology
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN109241016A (zh) * 2018-08-14 2019-01-18 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备
CN109660358A (zh) * 2019-01-08 2019-04-19 余炀 一种基于区块链及安全执行环境的数据流通方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112434344A (zh) * 2020-11-26 2021-03-02 中国南方电网有限责任公司 一种基于计算机取证的数据证据防篡改方法、装置和系统
CN112434344B (zh) * 2020-11-26 2022-04-29 中国南方电网有限责任公司 一种基于计算机取证的数据证据防篡改方法、装置和系统
WO2022257720A1 (zh) * 2021-06-11 2022-12-15 支付宝(杭州)信息技术有限公司 针对隐私计算进行多方算法协商的方法、装置及系统
CN113987554A (zh) * 2021-12-23 2022-01-28 支付宝(杭州)信息技术有限公司 获取数据授权的方法、装置及系统
CN115065461A (zh) * 2022-05-13 2022-09-16 浪潮云信息技术股份公司 安全多方计算方法、系统及计算机可读介质
CN115361229A (zh) * 2022-10-17 2022-11-18 太极计算机股份有限公司 一种政府公共数据的安全分享方法以及系统

Also Published As

Publication number Publication date
US20210218576A1 (en) 2021-07-15
KR102487137B1 (ko) 2023-01-10
JP7209750B2 (ja) 2023-01-20
EP3849132A1 (en) 2021-07-14
US11909886B2 (en) 2024-02-20
CN111222165B (zh) 2022-09-23
KR20210090563A (ko) 2021-07-20
JP2021111973A (ja) 2021-08-02

Similar Documents

Publication Publication Date Title
CN111222165B (zh) 基于区块链的多方计算方法、装置、设备和介质
CN108632284B (zh) 基于区块链的用户数据授权方法、介质、装置和计算设备
US11750591B2 (en) Key attestation statement generation providing device anonymity
EP3916604B1 (en) Method and apparatus for processing privacy data of block chain, device, storage medium and computer program product
CN111737366B (zh) 区块链的隐私数据处理方法、装置、设备以及存储介质
US10178084B2 (en) Generalized certificate use in policy-based secure messaging environments
US20210351938A1 (en) Method and apparatus for sharing data based on blockchain network, device, and medium
JP5749236B2 (ja) 鍵付け替え管理装置および鍵付け替え管理方法
CN111310216A (zh) 区块链数据处理方法、装置、电子设备和介质
US10148430B1 (en) Revocable stream ciphers for upgrading encryption in a shared resource environment
CN111125763A (zh) 隐私数据的处理方法、装置、设备和介质
CN111464297B (zh) 基于区块链的事务处理方法、装置、电子设备和介质
CN110610101A (zh) 一种数据存证方法、装置、设备及存储介质
US11431489B2 (en) Encryption processing system and encryption processing method
CN112261015A (zh) 基于区块链的信息共享方法、平台、系统以及电子设备
JP4995667B2 (ja) 情報処理装置、サーバ装置、情報処理プログラム及び方法
KR20180024389A (ko) 키 관리 장치 및 방법
CN117555946A (zh) 一种数据查询方法、装置、计算机设备和存储介质
CN115964697A (zh) 密码修改方法及装置、系统、存储介质、电子设备

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