CN110800252B - 防止安全多方计算中错误表示输入数据的方法和系统 - Google Patents

防止安全多方计算中错误表示输入数据的方法和系统 Download PDF

Info

Publication number
CN110800252B
CN110800252B CN201980003001.2A CN201980003001A CN110800252B CN 110800252 B CN110800252 B CN 110800252B CN 201980003001 A CN201980003001 A CN 201980003001A CN 110800252 B CN110800252 B CN 110800252B
Authority
CN
China
Prior art keywords
input data
mac
data item
trusted
share
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
CN201980003001.2A
Other languages
English (en)
Other versions
CN110800252A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Publication of CN110800252A publication Critical patent/CN110800252A/zh
Application granted granted Critical
Publication of CN110800252B publication Critical patent/CN110800252B/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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/085Secret sharing or secret splitting, e.g. threshold schemes
    • 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
    • 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/3242Cryptographic 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 keyed hash functions, e.g. message authentication codes [MACs], CBC-MAC or HMAC
    • 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
    • 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

Landscapes

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

Abstract

本文公开了用于防止在涉及多个计算设备的多方计算中错误表示输入数据的方法、系统和装置,包括编码在计算机存储介质上的计算机程序。所述方法之一包括:第一计算设备从可信数据源获取同态加密的可信输入数据项;生成消息认证码(MAC)密钥份额;产生可信输入数据项的可信MAC份额,其中,可信MAC份额为随机数;基于可信输入数据项、MAC密钥份额和可信MAC份额生成密文;将密文发送到第二计算设备,其中,第二计算设备使用密文作为分量生成秘密输入数据项的MAC份额;以及在所述多个计算设备完成所述多方计算之后,至少部分地基于所述秘密输入数据项的MAC份额验证所述多方计算的结果。

Description

防止安全多方计算中错误表示输入数据的方法和系统
技术领域
本文涉及安全多方计算,尤其涉及一种用于防止在涉及多个计算设备的多方计算中错误表示输入数据的方法、系统和装置。
背景技术
安全多方计算涉及多个参与者计算设备,这些参与者计算设备协作以基于来自每个参与者的输入执行计算,该输入将对其他参与者保密。现有技术提供了参与者在不知道其他参与者的秘密输入数据项的情况下验证计算的最终结果是正确的机制。
分布式账本系统(DLS),也可以被称为共识网络和/或区块链网络,使得参与实体能够安全地并且不可篡改地存储数据。在不引用任何特定用例的情况下,DLS通常被称为区块链网络。区块链网络类型的示例可以包括公有区块链网络、私有区块链网络和联盟区块链网络。为选定实体群组提供联盟区块链网络,该实体控制共识处理,并且联盟区块链网络包括访问控制层。
现有安全多方计算技术无法保证每个计算参与者正确地表示他们的秘密输入数据项。因此,一方可以通过操纵他们自己的秘密输入数据项影响最终的计算结果,如果这对他们有利。期待有技术允许多方计算的其他参与者验证所有秘密输入数据项正被其他参与者准确表示。
发明内容
本文描述了用于防止多方计算中参与者错误表示输入数据的技术。这些技术通常涉及一方获得可信输入数据项,该可信输入数据项是另一方的秘密输入数据项的同态加密版本。然后,该方生成可信输入数据项的可信消息认证码(message authentication code,MAC)份额(share),并且至少部分地基于可信MAC份额生成密文。然后,该方将密文提供给与秘密输入数据项相关联的一方,与秘密输入数据项相关联的一方利用从另一方接收的密文作为分量计算其秘密输入数据项的MAC份额。
本文还提供了一个或多个非暂时性计算机可读存储介质,所述计算机可读存储介质耦接到一个或多个处理器并且其上存储有指令,所述指令当由一个或多个处理器执行时,促使一个或多个处理器执行根据本文提供的方法的实施例的操作。
本文还提供了一种用于实现本文提供的方法的系统。所述系统包括一个或多个处理器,以及耦接到所述一个或多个处理器且其上存储有指令的计算机可读存储介质,所述指令当被所述一个或多个处理器执行时,使得所述一个或多个处理器执行根据本文提供的方法的实施例的操作。
应当理解,根据本文的方法可以包括本文描述的方面和特征的任何组合。也就是说,根据本文的方法不限于本文具体描述的方面和特征的组合,而是还包括所提供的方面和特征的任何组合。
在附图和以下描述中阐述了本文的一个或多个实施例的细节。从说明书和附图以及权利要求书来看,本文的其他特征和优点将变得明显。
附图说明
图1是示出可用于执行本文实施例的环境的示例的示图。
图2描绘了根据本公开的实施方式的信号流的示例。
图3描绘了可以根据文实施例执行的处理的示例。
图4描绘了根据文实施例的装置的模块的示例。
在各个附图中,相同的附图标记和名称表示相同的元件。
具体实施方式
为了提供本文的实施例的进一步的背景,并且如上所述,安全多方计算涉及多个参与者计算设备,这些参与者计算设备协作以基于来自每个参与者的输入执行计算,所述输入将对其他参与者保密。用于执行安全多方计算的一个技术是Smart-Pastro-
Figure SMS_1
-Zakarias(SPDZ)协议(原始SPDZ协议或其变体)。在SPDZ中,多方就在多方之间秘密共享的MAC密钥达成一致,因此没有一方知道该MAC密钥。各方使用MAC密钥的份额生成其秘密输入数据项的MAC,该MAC可用于验证秘密输入数据项的份额在计算期间未被其他各方篡改。然后,每一方与其他方秘密共享MAC(作为“MAC份额”)和秘密输入数据项,使得每一方接收份额。然后,每一方对其已接收的所有输入和MAC份额执行本地计算,以产生结果份额z和结果MAC份额M(z)。对于具有n方的加法计算,根据以下等式确定最终结果r:
r=z1+z2+…zn
多方计算的MAC结果M(r)由以下等式确定:
M(r)=M(z1)+M(z2)+…M(zn)
如果恶意方试图通过提供错误结果z来篡改计算,则将不能够更改相应的MAC值以使其与错误结果匹配。因此,最终MAC结果M(r)将与结果r不匹配,并且将向其他方警告所述篡改。
在上述方法中,恶意方仍可通过错误表示其秘密输入数据项的值来篡改计算。使用上述方案不能检测到这种错误表示。
本文描述了用于防止多方计算中参与者错误表示输入数据的技术。这些技术通常包括一方从诸如区块链的可信源获得另一方的秘密输入数据项的同态加密版本。然后,该方生成加密数据的消息认证码(MAC,message authentication code),并将该MAC提供给与秘密输入数据项相关联的一方,该与秘密输入数据项相关联的一方利用从另一方接收的MAC作为分量计算其秘密输入数据项的MAC。通过将秘密输入数据项的MAC与从可信源获得的相应密文绑定,可以确保每一方正正确地表示其秘密输入数据项,可信源诸如为区块链、已经对可信输入数据项进行加密签名的可信方或其他源等。
区块链是以交易不可篡改的方式存储交易的数据结构。因此,区块链上记录的交易是可靠且可信的。区块链是用于存储交易的分布式或至少部分分布式的数据结构。区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。在一些示例中,提供为跨所有节点复制的区块链的全局区块链。也就是说,所有的共识节点相对于全局区块链处于完全状态共识。为了实现共识(例如,同意将区块添加到区块链),在联盟区块链网络内实现共识协议。例如,联盟区块链网络可以实现实用拜占庭容错(PBFT)共识。本文描述的技术利用区块链的共识机制来确保从区块链检索到的可信输入数据项自从其被输入到区块链中以来就没有改变。
图1是示出可用于执行本文实施例的环境100的示例的示图。在一些示例中,环境100使得实体能够参与多方计算。环境100包括节点102a-d和网络120。在一些示例中,网络120包括局域网(LAN)、广域网(WAN)、因特网或其组合,并且连接网站、用户设备(例如,计算设备)和后端系统。在一些示例中,可以通过有线和/或无线通信链路访问网络120。在一些示例中,网络120使得能与环境100通信以及能在环境100内通信。通常,网络120表示一个或多个通信网络。在一些情况下,节点102a-d可以是云计算系统(未示出)的节点,或者每个节点102a-d可以是单独的云计算系统,包括通过网络互连的多个计算机,并且作为分布式处理系统起作用。
在所描述的示例中,节点102a-d各自可以包括能够参与多方计算的任何适当的计算系统。计算设备的示例包括但不限于服务器、台式计算机、膝上型计算机、平板计算设备和智能电话。在一些示例中,节点102a-d承载一个或多个计算机实现的服务,用于与参与多方计算的其他节点交互。在一些实施方式中,节点102a可以与第一实体相关联,并且可以存储与第一实体相关联的数据。节点102b可以承载第二实体的计算机实现的服务,并且可以存储与第二实体相关联的数据。在图1的示例中,环境100被表示为参与多方计算的节点102a-d的对等网络。
节点102a存储将由节点102a作为多方计算的输入而提供的秘密输入数据项140。在一些示例中,秘密输入数据项140是其值不应泄露给参与多方计算的其他节点102b-d的敏感数据。在一些情况下,节点102a-d各自存储其自己的秘密输入数据项。如上所述,使用诸如SPDZ的算法,节点102a-d可以对来自每个节点的秘密输入数据项执行多方计算,并且产生正确的和可验证的计算结果,且没有任何节点向任何其他节点泄露其秘密输入数据项的真实值。
节点102b存储与节点102a所存储的秘密输入数据项140相对应的可信输入数据项150。在一些情况下,可信输入数据项150可以是秘密输入数据项140的加密表示,只有节点102a持有解密密钥,这意味着节点102b不能从可信输入数据项150获知秘密输入数据项140的真实值。在一些情况下,节点102b从在此示出为区块链的可信数据源110获得可信输入数据项150。在一些示例中,从确保可信输入数据项150的真实性的源获得可信输入数据项150。例如,适当维护的区块链确保存储在该区块链中的数据一旦被存储就不可篡改,这意味着在可信输入数据项150被存储在该区块链中之后,该可信输入数据项150的值被节点102a或任何其他参与者改变的风险很小。可信输入数据项150还可以从可信第三方获得,该可信第三方对可信输入数据项150进行加密签名以允许验证其真实性。在一些情况下,可信输入数据项150可以是秘密输入数据项140的加密哈希值,并且节点102b可以从节点102a获得零知识证明算法以验证加密哈希值对应于秘密输入数据项140的哈希值。
图2描绘了根据本公开的实施方式的信号流200的示例。在210处,节点102b从可信数据源110检索与节点102a所存储的秘密输入数据项140相对应的可信输入数据项150。在220处,节点102b基于可信输入数据项150生成可信MAC份额。在一些情况下,可信MAC份额可以基于由节点102b生成的MAC密钥份额,所述MAC密钥份额是由参与多方计算的所有节点生成的全局MAC密钥的份额。
在230处,节点102b向节点102a发送部分地基于可信MAC份额的密文。在一些情况下,节点102b基于可信输入数据项、MAC密钥份额和可信MAC份额生成密文。在240处,节点102a部分地基于密文生成秘密输入数据项的MAC份额。在一些情况下,基于密文、与节点102a相关联的MAC密钥份额、秘密输入数据项和被配置为解密可信输入数据项的密钥,生成MAC份额。
在250处,节点102a-b执行多方计算。在一些情况下,节点102a-b与参与计算的其他节点协作执行计算。在一些示例中,多方计算是根据上述SPDZ协议执行的。
在260处,节点102a-b验证多方计算。在一些情况下,节点102a-b与参与计算的其他节点协作验证计算。在一些示例中,根据上述SPDZ协议验证多方计算。
图3是用于防止在涉及多个计算设备的多方计算中错误表示输入数据的处理300的示例的流程图。为了方便起见,处理300将被描述为由位于一个或多个位置并且根据本文被适当地编程的一个或多个计算机的系统执行。例如,适当编程的系统(例如图1的环境100)可以执行处理300。
在302处,第一计算设备识别被同态加密的可信输入数据项,其中,所述可信输入数据项对应于与不同于第一计算设备的第二计算设备相关联的秘密输入数据项,所述第二计算设备与秘密输入数据项的所有方相关联,并且所述第一计算设备与不是秘密输入数据项的所有方的另一方相关联。在一些情况下,第一计算设备从可信数据源接收可信输入数据项。在一些示例中,可信数据源为区块链。
在304处,第一计算设备生成可信输入数据项的可信MAC份额。
在306处,第一计算设备至少部分地基于可信MAC份额生成密文。
在308处,第一计算设备将密文发送到第二计算设备,其中,所述第二计算设备使用密文作为秘密输入数据项的MAC份额的分量。在一些情况下,基于密文、第二计算设备的MAC密钥份额、秘密输入数据项、以及被配置成对可信输入数据项进行解密的密钥,生成秘密输入数据项的MAC份额。
在310处,在多个计算设备完成多方计算之后,第一计算设备至少部分地基于秘密输入数据项的MAC份额验证多方计算的结果。
在一些情况下,处理300包括由第一计算设备生成与第一计算设备相关联的MAC密钥份额,其中,所述MAC密钥份额是随机数,并且所述密文是至少部分地基于所述MAC密钥份额生成的。
在一些情况下,处理300包括在验证多方计算之前根据Smart-Pastro-
Figure SMS_2
-Zakarias(SPDZ)协议执行多方计算,并且根据SPDZ协议执行多方计算结果的验证。
在一些示例中,多方计算的结果r根据以下等式确定:
r=f(z1,z2,...zn)
其中f是由所述多方计算执行的运算,z1,z2,...zn是与所述多个计算设备相关联的所述秘密输入数据项;所述多方计算的MAC结果M(r)根据以下等式确定:
M(r)=M(f(z1,z2,...zn))
其中M是用于生成秘密输入数据项的MAC份额的MAC函数。在一些情况下,MAC函数是数值运算,其用于在数据项和MAC密钥份额作为输入的情况下生成将被用作MAC份额的数值。在一些实施方式中,当给定相同输入时,MAC函数将产生相同的数值,类似于哈希函数。
在一些情况下,多方计算所执行的运算是加法运算,并且多方计算的结果r根据以下等式确定:
r=z1+z2+…zn
多方计算的MAC结果M(r)由以下等式确定:
M(r)=M(z1)+M(z2)+…M(zn)
图4是根据本文的实施例的装置400的模块的一个示例的图。
装置400可以是能够执行多方计算的计算设备的实施例的示例。装置400可以对应于上述实施例,并且装置400包括以下:识别模块402,识别被同态加密的可信输入数据项,其中,所述可信输入数据项对应于与不同于第一计算设备的第二计算设备相关联的秘密输入数据项,所述第二计算设备与所述秘密输入数据项的所有方相关联,并且所述第一计算设备与不是所述可信输入数据项的所有方的另一方相关联;第一生成模块404,生成可信输入数据项的可信MAC份额;第二生成模块406,至少部分地基于可信MAC份额生成密文;发送模块408,将密文发送到所述第二计算设备,其中,所述第二计算设备使用密文作为秘密输入数据项的MAC份额的分量;验证模块410,在所述多个计算设备完成多方计算之后,至少部分地根据基于可信输入数据项的密文验证多方计算的结果,所述密文作为秘密输入数据项的MAC份额的分量。
在先前实施例中示出的系统、装置、模块或单元可以通过使用计算机芯片或实体来实现,或者可以通过使用具有特定功能的产品来实现。典型的实施例设备是计算机,计算机可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或这些设备的任意组合。
对于装置中每个单元的功能和角色的实施过程,可以参考前一方法中相应步骤的实施过程。为简单起见,这里省略了细节。
由于装置实施例基本上对应于方法实施例,对于相关部分,可以参考方法实施例中的相关描述。先前描述的装置实施例仅是示例。被描述为单独部分的单元可以是或不是物理上分离的,并且显示为模块的部分可以是或不是物理单元,可以位于一个位置,或者可以分布在多个网络模块上。可以基于实际需求来选择一些或所有模块,以实现本文方案的目标。本领域普通技术人员无需付出创造性劳动就能理解和实现本申请的实施例。
再次参考图4,其可以被解释为示出了可操作以参与多方计算的计算设备的内部功能模块和结构。执行主体实质上可以是电子设备,并且所述电子设备包括以下:一个或多个处理器;以及存储器,被配置为存储所述一个或多个处理器的可执行指令。
本文中描述的技术产生一个或多个技术效果。在一些实施例中,本文描述的技术通过允许参与多方计算的计算设备验证所有其他参与者正在向计算提供可信输入数据项,为多方计算的参与者提供增强的数据安全性。这防止恶意参与者错误地表示他们的输入数据而影响多方计算的结果。这些技术允许验证作为多方计算的一部分执行,使得不花费大量的时间在产生结果和验证之间。
所描述的主题的实施例可单独地或组合地包括一个或多个特征。
例如,在第一实施例中,示例性方法包括:第一计算设备识别被同态加密的可信输入数据项,其中,所述可信输入数据项对应于与不同于第一计算设备的第二计算设备相关联的秘密输入数据项,所述第二计算设备与秘密输入数据项的所有方相关联,并且所述第一计算设备与不是可信输入数据项的所有方的另一方相关联;第一计算设备生成可信输入数据项的可信MAC份额;第一计算设备至少部分地基于可信MAC份额生成密文;第一计算设备将密文发送到第二计算设备,其中,所述第二计算设备使用密文作为秘密输入数据项的MAC份额的分量;以及在所述多个计算设备完成所述多方计算之后,所述第一计算设备至少部分地基于所述秘密输入数据项的MAC份额验证所述多方计算的结果。
前述和其他描述的实施方案可以各自可选地包括一个或多个以下特征:
第一特征,可与以下特征中的任一个组合,指定所述第一计算设备从可信数据源接收可信输入数据项。
第二特征,可与先前或以下特征中的任一特征组合,指定所述可信数据源为区块链。
第三特征,可与先前或以下特征中的任一特征组合,指定所述方法还包括:第一计算设备生成与第一计算设备相关联的MAC密钥份额,其中,所述MAC密钥份额为随机数,并且所述密文是至少部分地基于所述MAC密钥份额生成的。
第四特征,可与先前或以下特征中的任一特征组合,指定:秘密输入数据项的MAC份额是基于密文、与第二计算设备相关联的MAC密钥份额、秘密输入数据项、以及被配置成解密可信输入数据项的密钥生成的。
第五特征,可与先前或以下特征中的任一特征组合,指定:所述方法还包括在验证多方计算之前,根据Smart-Pastro-
Figure SMS_3
-Zakarias(SPDZ)协议执行多方计算,并且根据SPDZ协议执行多方计算的结果的验证。
第六特征,可与先前或以下特征中的任一特征组合,指定根据以下等式确定多方计算的结果r:
r=f(z1,z2,...zn)
其中f是由所述多方计算执行的运算,z1,z2,...zn是与所述多个计算设备相关联的所述秘密输入数据项;所述多方计算的MAC结果M(r)根据以下等式确定:
M(r)=M(f(z1,z2,...zn))
其中M是用于生成秘密输入数据项的MAC份额的MAC函数。
第七特征,可与先前或以下特征中的任一特征组合,指定由多方计算执行的运算是加法运算,其中,多方计算的结果r根据以下等式确定:
r=z1+z2+…zn其中,多方计算的MAC结果M(r)根据以下等式确定:
M(r)=M(z1)+M(z2)+…M(zn)
本文中描述的主题、动作和操作的实施例可以在数字电子电路、有形体现的计算机软件或固件、计算机硬件中实现,包括本文中公开的结构及其结构等同物,或者它们中的一个或多个的组合。本文中描述的主题的实施可以实现为一个或多个计算机程序,例如,编码在计算机程序载体上的一个或多个计算机程序指令模块,用于由数据处理执行或控制数据处理装置的操作。例如,计算机程序载体可以包括一个或多个计算机可读存储介质,其具有编码或存储在其上的指令。载体可以是有形的非暂态计算机可读介质,例如磁盘、磁光盘或光盘、固态驱动器、随机存取存储器(RAM)、只读存储器(ROM)或其他介质类型。替代地或另外地,载体可以是人工生成的传播信号,例如,机器生成的电、光或电磁信号,其被生成以编码信息以便传输到合适的接收器装置以供数据处理装置执行。计算机存储介质可以是或部分是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备或它们中的一个或多个的组合。计算机存储介质不是传播信号。
计算机程序,也可以被称为或描述为程序、软件、软件应用程序、app、模块、软件模块、引擎、脚本或代码,可以以任何形式的编程语言编写,包括编译或解释性语言、说明或程序性语言;它可以配置为任何形式,包括作为独立程序,或者作为模块、组件、引擎、子程序或适合在计算环境中执行的其他单元,该环境可包括由通信数据网络互联的在一个或多个位置上的一个或多个计算机。
计算机程序可以但非必须对应于文件系统中的文件。计算机程序可以存储在:文件保存其他程序或数据的文件的一部分中,例如,存储在标记语言文档中的一个或多个脚本;专用于所讨论的程序的单个文件;或者多个协调文件,例如,存储一个或多个模块、子程序或代码部分的多个文件。
举例来说,用于执行计算机程序的处理器包括通用和专用微处理器,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从耦接到处理器的非暂态计算机可读介质接收用于执行的计算机程序的指令以及数据。
术语“数据处理装置”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机或者多处理器或计算机。数据处理装置可以包括专用逻辑电路,例如FPGA(现场可编程门阵列)、ASIC(专用集成电路)或GPU(图形处理单元)。除了硬件,该装置还可以包括为计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或多个的组合的代码。
本文中描述的处理和逻辑流程可以由执行一个或多个计算机程序的一个或多个计算机或处理器执行,以通过对输入数据进行运算并生成输出来执行操作。处理和逻辑流程也可以由例如FPGA、ASIC或GPU的专用逻辑电路或专用逻辑电路与一个或多个编程计算机的组合来执行。
适合于执行计算机程序的计算机可以基于通用和/或专用微处理器,或任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的元件可包括用于执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。中央处理单元和存储器可以补充有专用逻辑电路或集成在专用逻辑电路中。
通常,计算机还将包括或可操作地耦接至一个或多个大容量存储设备,以从一个或多个存储设备接收数据或将数据传输到一个或多个大容量存储设备。存储设备可以是,例如,磁盘、磁光或光盘,固态驱动器或任何其他类型的非暂态计算机可读介质。但是,计算机不需要具有这样的设备。因此,计算机可以耦接到例如本地和/或远程的一个或多个存储器的一个或多个存储器设备。例如,计算机可以包括作为计算机的整体部件的一个或多个本地存储器,或者计算机可以耦接到云网络中的一个或多个远程存储器。此外,计算机可以嵌入到另一个设备中,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏控制台、全球定位系统(GPS)接收器或例如通用串行总线(USB)闪存驱动器的便携式存储设备,仅举几例。
组件可以通过例如直接地或经由一个或多个中间组件彼此电连接或光连接而可交换地彼此“耦接”。如果其中一个组件集成到另一个组件中,则组件也可以彼此“耦接”。例如,集成到处理器中的存储组件(例如,L2高速缓存组件)被“耦接到”处理器。
为了提供与用户的交互,本文中描述的主题的实施例可以在计算机上实现或配置为与该计算机通信,该计算机具有:显示设备(例如,LCD(液晶显示器)监视器),用于向用户显示信息;以及输入设备,用户可以通过该输入设备向该计算机提供输入,例如键盘和例如鼠标、轨迹球或触摸板等的指针设备。其他类型的设备也可用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以接收来自用户的任何形式的输入,包括声音、语音或触觉输入。另外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互;例如,通过响应于从用户设备上的web浏览器接收的请求将网页发送到用户设备上的web浏览器,或者通过与在例如智能电话或电子平板电脑等的用户设备上运行的应用程序(app)交互。此外,计算机可以通过向个人设备(例如,运行消息应用的智能手机)轮流发送文本消息或其他形式的消息来并接收来自用户的响应消息来与用户交互。
本文使用与系统、装置和计算机程序组件有关的术语“配置为”。对于被配置为执行特定操作或动作的一个或多个计算机的系统,意味着系统已经在其上安装了在运行中促使该系统执行所述操作或动作的软件、固件、硬件或它们的组合。对于被配置为执行特定操作或动作的一个或多个计算机程序,意味着一个或多个程序包括当被数据处理装置执行时促使该装置执行所述操作或动作的指令。对于被配置为执行特定操作或动作的专用逻辑电路,意味着该电路具有执行所述操作或动作的电子逻辑。
尽管本文包含许多具体实施细节,但这些不应被解释为由权利要求本身限定的对要求保护的范围的限制,而是作为对特定实施例的具体特征的描述。在本文单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合在多个实施例中实现。此外,尽管上面的特征可以描述为以某些组合起作用并且甚至最初如此要求保护,但是在一些情况下,可以从要求保护的组合中删除来自该组合的一个或多个特征,并且可以要求保护指向子组合或子组合的变体。
类似地,虽然以特定顺序在附图中描绘了操作并且在权利要求中叙述了操作,但是这不应该被理解为:为了达到期望的效果,要求以所示的特定顺序或依次执行这些操作,或者要求执行所有示出的操作。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的划分不应被理解为所有实施例中都要求如此划分,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多个软件产品。
已经描述了主题的特定实施例。其他实施例在以下权利要求的范围内。例如,权利要求中记载的动作可以以不同的顺序执行并且仍然实现期望的结果。作为一个示例,附图中描绘的处理无需要求所示的特定顺序或次序来实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。

Claims (11)

1.一种用于防止在涉及多个计算设备的多方计算中错误表示输入数据的方法,所述方法包括:
所述多个计算设备中的第一计算设备从可信数据源获得同态加密的可信输入数据项,其中,所述可信输入数据项包括与所述多个计算设备中不同于所述第一计算设备的第二计算设备相关联的秘密输入数据项的同态加密表示,所述第二计算设备与所述秘密输入数据项的所有方相关联,并且所述第一计算设备与不是所述秘密输入数据项的所有方的另一方相关联;
所述第一计算设备生成所述可信输入数据项的可信消息认证码MAC份额;
所述第一计算设备至少部分地基于所述可信MAC份额生成密文;
所述第一计算设备将所述密文发送到所述第二计算设备,其中,所述第二计算设备使用所述密文作为分量生成所述秘密输入数据项的MAC份额;以及
在所述多个计算设备完成所述多方计算之后,所述第一计算设备至少部分地基于所述秘密输入数据项的MAC份额验证所述多方计算的结果。
2.如权利要求1所述的方法,其中,所述可信数据源为区块链。
3.如权利要求1所述的方法,还包括:
所述第一计算设备生成与所述第一计算设备相关联的MAC密钥份额,
其中,所述MAC密钥份额为随机数,并且
所述密文是至少部分地基于所述MAC密钥份额、所述可信输入数据项和所述可信MAC份额生成的。
4.如权利要求3所述的方法,其中,所述秘密输入数据项的MAC份额是基于所述密文、与所述第二计算设备相关联的MAC密钥份额、所述秘密输入数据项、以及被配置成对所述可信输入数据项进行解密的密钥生成的。
5.如权利要求1所述的方法,还包括:
在验证所述多方计算之前,根据SPDZ协议执行所述多方计算,并且
其中,根据所述SPDZ协议执行所述多方计算的结果的验证。
6.如权利要求5所述的方法,其中,所述多方计算的结果r根据以下等式确定:
r=f(z1,z2,...zn)
其中f是由所述多方计算执行的运算,z1,z2,...zn是与所述多个计算设备相关联的所述秘密输入数据项;以及
所述多方计算的MAC结果M(r)根据以下等式确定:
M(r)=M(f(z1,z2,...zn))
其中M是用于生成所述秘密输入数据项的MAC份额的MAC函数。
7.如权利要求6所述的方法,其中,所述多方计算所执行的运算为加法运算,所述多方计算的结果r是根据以下等式确定的:
r=z1+z2+…zn
所述多方计算的MAC结果M(r)根据以下等式确定:
M(r)=M(z1)+M(z2)+…M(zn)。
8.如权利要求7所述的方法,其中,所述MAC结果M(r)的份额是由所述多个计算设备基于可信输入数据项的MAC份额计算的。
9.如前述任一权利要求所述的方法,其中,所述可信MAC份额为随机数。
10.一种用于防止在涉及多个计算设备的多方计算中错误表示输入数据的系统,包括:
一个或多个处理器;和
一个或多个计算机可读存储器,所述计算机可读存储器耦接到所述一个或多个处理器并且其上存储有指令,所述指令能够由所述一个或多个处理器执行以执行如权利要求1到9中任一项所述的方法。
11.一种用于防止在涉及多个计算设备的多方计算中错误表示输入数据的装置,所述装置包括用于执行如权利要求1至9中任一项所述的方法的多个模块。
CN201980003001.2A 2019-03-18 2019-03-18 防止安全多方计算中错误表示输入数据的方法和系统 Active CN110800252B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/078516 WO2019101243A2 (en) 2019-03-18 2019-03-18 Preventing misrepresentation of input data by participants in a secure multi-party computation

Publications (2)

Publication Number Publication Date
CN110800252A CN110800252A (zh) 2020-02-14
CN110800252B true CN110800252B (zh) 2023-06-27

Family

ID=66630475

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980003001.2A Active CN110800252B (zh) 2019-03-18 2019-03-18 防止安全多方计算中错误表示输入数据的方法和系统

Country Status (12)

Country Link
US (2) US10637659B1 (zh)
EP (1) EP3616356B1 (zh)
JP (1) JP6882512B2 (zh)
KR (1) KR102145701B1 (zh)
CN (1) CN110800252B (zh)
AU (1) AU2019203863B2 (zh)
CA (1) CA3058227C (zh)
ES (1) ES2871053T3 (zh)
PL (1) PL3616356T3 (zh)
SG (1) SG11201909014QA (zh)
TW (1) TWI720720B (zh)
WO (1) WO2019101243A2 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11245536B2 (en) * 2019-04-16 2022-02-08 Meta Platforms, Inc. Secure multi-party computation attribution
CN111931250B (zh) * 2019-07-11 2024-03-22 华控清交信息科技(北京)有限公司 多方安全计算一体机
CN112769742A (zh) * 2019-11-06 2021-05-07 电科云(北京)科技有限公司 Spdz系列协议中的消息验证方法、装置及存储介质
CN111832074B (zh) * 2020-07-14 2023-04-07 西安电子科技大学 基于spdz安全多方计算的安全验证协作学习方法及系统
CN112184220A (zh) * 2020-09-22 2021-01-05 远光软件股份有限公司 安全多方计算方法、电子设备及存储介质
EP4260267A4 (en) * 2020-12-11 2024-05-15 Visa Int Service Ass SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR SECURE REAL-TIME N-PARTY CALCULATION
CN113067822B (zh) * 2021-03-19 2023-11-10 中国工商银行股份有限公司 基于区块链的信息处理方法、装置、设备、介质和产品
CN113259123B (zh) * 2021-06-08 2022-02-08 清华大学 一种区块链数据写入、访问方法及装置
CN113468564A (zh) * 2021-06-30 2021-10-01 华控清交信息科技(北京)有限公司 一种数据处理方法、装置、电子设备及存储介质
CN114422116B (zh) * 2021-12-14 2023-11-28 阿里巴巴(中国)有限公司 数据处理方法及装置
CN114444069B (zh) * 2021-12-17 2023-04-07 中国科学院信息工程研究所 一种恶意模型下高效的阈值安全多方计算方法
CN114520720B (zh) * 2022-03-22 2023-06-16 暨南大学 一种基于tls协议的多方认证区块链数据上链方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018185724A1 (en) * 2017-04-07 2018-10-11 nChain Holdings Limited Method and system for secure data record distribution using a blockchain
CN109120398A (zh) * 2018-08-03 2019-01-01 河南师范大学 一种基于区块链系统的秘密共享方法与装置
CN109241016A (zh) * 2018-08-14 2019-01-18 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890771B2 (en) * 2002-04-17 2011-02-15 Microsoft Corporation Saving and retrieving data based on public key encryption
US9344438B2 (en) * 2008-12-22 2016-05-17 Qualcomm Incorporated Secure node identifier assignment in a distributed hash table for peer-to-peer networks
EP2348449A3 (en) * 2009-12-18 2013-07-10 CompuGroup Medical AG A computer implemented method for performing cloud computing on data being stored pseudonymously in a database
US20130337849A1 (en) * 2011-12-30 2013-12-19 Chieh-Yih Wan Mobile device position detection
US9503263B2 (en) * 2014-10-16 2016-11-22 Dyce, Llc Method and apparatus for storing encrypted data files across distributed storage media
US9998434B2 (en) * 2015-01-26 2018-06-12 Listat Ltd. Secure dynamic communication network and protocol
US20170293913A1 (en) * 2016-04-12 2017-10-12 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
FR3057090B1 (fr) * 2016-09-30 2018-10-19 Safran Identity & Security Procedes d'apprentissage securise de parametres d'un reseau de neurones a convolution, et de classification securisee d'une donnee d'entree
US10333715B2 (en) * 2016-11-14 2019-06-25 International Business Machines Corporation Providing computation services with privacy
EP3439234B1 (en) * 2017-07-31 2020-12-30 Koninklijke Philips N.V. Distributing a computation output
CN107819587B (zh) * 2017-12-13 2020-08-11 陈智罡 基于全同态加密的认证方法和用户设备以及认证服务器
CN108683669B (zh) * 2018-05-19 2021-09-17 深圳市图灵奇点智能科技有限公司 数据验证方法和安全多方计算系统
US11201734B2 (en) * 2018-06-04 2021-12-14 Robert Bosch Gmbh Method and system for fault tolerant and secure multiparty computation with SPDZ
CN108718240A (zh) * 2018-06-08 2018-10-30 浙江捷尚人工智能研究发展有限公司 基于全同态加密的认证方法、电子设备、存储介质及系统
CN109255247B (zh) * 2018-08-14 2020-08-14 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018185724A1 (en) * 2017-04-07 2018-10-11 nChain Holdings Limited Method and system for secure data record distribution using a blockchain
CN109120398A (zh) * 2018-08-03 2019-01-01 河南师范大学 一种基于区块链系统的秘密共享方法与装置
CN109241016A (zh) * 2018-08-14 2019-01-18 阿里巴巴集团控股有限公司 多方安全计算方法及装置、电子设备

Also Published As

Publication number Publication date
CN110800252A (zh) 2020-02-14
AU2019203863A1 (en) 2019-05-31
EP3616356A2 (en) 2020-03-04
US20200304294A1 (en) 2020-09-24
JP6882512B2 (ja) 2021-06-02
WO2019101243A2 (en) 2019-05-31
KR102145701B1 (ko) 2020-08-19
JP2020537362A (ja) 2020-12-17
EP3616356B1 (en) 2021-03-10
CA3058227C (en) 2021-02-09
US10790971B1 (en) 2020-09-29
SG11201909014QA (en) 2019-10-30
ES2871053T3 (es) 2021-10-28
US10637659B1 (en) 2020-04-28
TW202036292A (zh) 2020-10-01
TWI720720B (zh) 2021-03-01
WO2019101243A3 (en) 2020-01-23
EP3616356A4 (en) 2020-07-01
PL3616356T3 (pl) 2021-07-26
CA3058227A1 (en) 2019-05-31
AU2019203863B2 (en) 2021-01-28

Similar Documents

Publication Publication Date Title
CN110800252B (zh) 防止安全多方计算中错误表示输入数据的方法和系统
CN111566649B (zh) 使用公有侧链验证存储在联盟区块链中的数据的完整性
CN110520884B (zh) 基于可信执行环境的链外智能合约服务
KR102215245B1 (ko) 준동형 암호화를 사용하는 블록체인 데이터 보호
CN111602161B (zh) 基于通用账户模型和同态加密的区块链数据保护
CN110546667B (zh) 使用同态加密的区块链数据保护
CN110892434B (zh) 基于区块链网络转移数字票券
CN110402561B (zh) 基于通用账户模型和同态加密的区块链数据保护
CN110612700B (zh) 基于恢复的公钥进行认证
CN111066019B (zh) 处理存储在区块链网络中的数据元素
JP6921266B2 (ja) パブリックサイドチェーンを使用してコンソーシアムブロックチェーンに記憶されたデータの完全性を検証すること
CN110999254A (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
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

TA01 Transfer of patent application right
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028137

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant