CN109314634A - 安全数据交换 - Google Patents

安全数据交换 Download PDF

Info

Publication number
CN109314634A
CN109314634A CN201780037025.0A CN201780037025A CN109314634A CN 109314634 A CN109314634 A CN 109314634A CN 201780037025 A CN201780037025 A CN 201780037025A CN 109314634 A CN109314634 A CN 109314634A
Authority
CN
China
Prior art keywords
data
encryption
assessment
cloud
function
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.)
Pending
Application number
CN201780037025.0A
Other languages
English (en)
Inventor
P·B·林达尔
R·吉拉德-巴赫拉赫
K·莱尼
M·J·罗苏勒克
K·E·劳特
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109314634A publication Critical patent/CN109314634A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/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/0471Network 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 applying encryption by an intermediary, e.g. receiving clear information at the intermediary and encrypting the received information at the intermediary before forwarding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/08Auctions
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/50Oblivious transfer
    • 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/76Proxy, i.e. using intermediary entity to perform cryptographic operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Development Economics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)

Abstract

技术和架构可以用于提供一种环境,在该环境中,数据持有方将私有加密的数据存储在云中,并且数据评估方可以参与对数据的至少一部分的安全函数评估。这些参与方都不能够获悉超出参与方已经知道的以及由该函数所揭示的内容以外的任何内容,即便参与方是主动恶意的。这种环境对聚集的私有数据的商业交易、科研合作或互利计算是有用的。

Description

安全数据交换
背景技术
云存储越来越成为一种应对企业管理其不断增长的数据库存的普遍方式。安全标准通常要求数据在传输到云或从云传输时,以及数据在云中保持静态时被加密。然而,静态数据通常价值有限。能够对加密的数据执行计算而不必首先将其解密将大大增加其实用性。遗憾的是,对加密的数据执行计算可能是极其困难的,通常需要高度复杂且昂贵的加密技术,诸如同态加密或其他次优的解决方案。目前,标准方法是对未加密的数据执行计算,这在实用性与隐私性之间导致明显的折中。此外,云存储的用户将其数据的安全性列为其最大关注点,并且在数据被用于计算的情况下,则该关注点被显著放大。
发明内容
本公开描述了用于提供一种环境的技术和架构,在该环境中,将私有的加密的数据存储在云中的数据持有方和数据评估方可以参与对数据的至少一部分的安全函数评估。这些参与方都不能够获悉超出参与方已经知道的内容以及由函数所揭示的内容之外的任何内容。技术可以包括对于半诚实(semi-honst)云、恶意数据持有方和评估方来说是安全的协议,只要云不与评估方串通。这种环境对于聚集的私有数据的商业交易、科研合作或互利计算是有利的。
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的详细的描述中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。例如,术语“技术”可以指系统、方法、计算机可读指令、模块、算法、硬件逻辑(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、特定应用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD))、量子器件(诸如量子计算机或量子退火器),和/或上述上下文和整个文件所允许的其他技术。
附图说明
参考附图阐述详细描述。在附图中,附图标记的最左边的数字标识附图标记首次出现的附图。在不同附图中使用相同的附图标记表示相似或相同的项目或特征。
图1是描绘根据各种示例的用于生成和操作安全数据交换的环境的框图。
图2是描绘根据各种示例的用于生成和操作安全数据交换的设备的框图。
图3是根据各种示例的数据交换的框图。
图4是示例数据交换和数据评估的框图。
图5是根据各种示例的用于安全数据交换的信息传送的框图。
图6示出了示例半诚实OT扩展协议。
图7是图示根据一些示例的用于操作安全数据交换的过程的流程图。
具体实施方式
本文描述的技术和架构涉及在本文被称为安全数据交换(SDE)的计算系统,其允许多个实体(诸如存储在网络存储器(诸如云)中的数据的持有方以及这种数据的消费者)之间的数据级的交互。SDE可以在基于服务器的计算机或网络计算机上实施。在一些示例中,“数据交换”尤其指的是由一个实体(或多个实体)访问另一个实体(或另外多个实体)的某种形式的数据或其一部分。访问可以是针对许多意图或目的中的任何一个(诸如数据的购买或销售、数据的分析、用于训练机器学习模型的数据的使用等)的过程的一部分。
在一些示例中,数据持有方可以将私有的加密的数据存储在半诚实的非串通的云中。在下文描述这些特征。然而,其他示例可能涉及串通的云,并且所要求保护的主题内容在这方面不受限制。数据消费者可以是具有参与到对属于数据持有方的一些子集的数据的安全函数评估中的意图的评估方(例如,相对于数据持有方和云的第三方)。在一些实施方式中,即使实体(云除外)是主动恶意的,所涉及的实体也不会获悉超出实体已知的内容和函数所揭示的内容之外的任何内容。数据级的交互的一些示例可以与聚集的私有数据的商业交易、科研合作或互利计算有关。在一些示例中,如下文所描述的,可以使用服务器辅助环境中的安全多方计算(MPC)来至少部分地实施SDE。
本文描述的技术和架构涉及SDE系统,在一些示例中,SDE系统可以被认为是涉及安全和隐私措施的特定类型的反向拍卖。例如,SDE系统可以是安全的市场,其中几个卖方(例如,数据持有方)拥有他们希望出售的有价值的数据。卖方可能已经以加密的形式将数据上传到云中以将其置于“市场”上。买方(例如,数据评估方,或简称“评估方”)有意从一个或多个卖方购买数据,其中规定数据满足一定条件。在一些情况下,买方愿意提供的价格可能取决于数据的某些特定质量,而卖方可能只在提供的价格高于某个阈值时才愿意同意。在这种情况下,可能会发生关于私有数据的价值的谈判。在一些情况下,买方会更喜欢将其愿意提供的价格保秘,而卖方也不希望透露其接受或拒绝出价的条件。在具有一个以上卖方的情况下,买方可能打算与具有某些标准(仅举几例,例如卖方的数据对于买方最有用、卖方的价格最低、卖方的数据已经在市场上达最短/最长时间)的一个或多个特定卖方进行交易。在一些情况下,买方可能没有购买数据本身的意图,但可能会有兴趣购买(或评估)关于数据的一些有限数量的信息的位,诸如在数据上评估的特定函数的价值。在这种情况下,这种有限信息的价格可能至少部分地取决于得到的输出的函数和/或位宽。
在一些示例中,数据的卖方可以建立关于数据运算符在数据上的应用的时间限制和/或数据限制。例如,卖方可以给出相对较高的价格以允许对数据(例如,经由数学运算符)进行检查或分析达相对较长时间段。类似地,卖方可以给出相对较高的价格以允许对相对大量的数据进行检查或分析(例如,允许数学运算符对的数据的相对较大部分进行运算)。
如上所述,可以至少部分地使用MPC来启用SDE,MPC可以允许两个或多个实体对它们各自的私有输入的函数进行评估,以使得一个或多个实体获得函数的输出,但没有任何实体获悉任何关于其他实体的输入的内容,除了可以从函数的输出中推断出的内容以外。
在一些示例中,实体中的一个是半诚实且非串通的云,其可以辅助MPC。然而,云不需要提供任何自己的输入,也不需要接收任何输出。这种云可以包括在可以被称为服务器辅助设置的系统中。具体地,系统可以包含安全模型,即使在除云之外的所有实体都是任意恶意的情况下,该安全模型也可以维护数据的隐私。
在一些示例中,SDE提供许多好处,诸如允许云中的长期数据存储并允许数据的重复使用。此外,SDE可以允许参与方接收相应的私有的输出。作为另一个好处,SDE可以减少非串通状况,以便非串通仅适用于云和评估方之间。
在一些示例中,涉及SDE本身的过程可能未指定如何在参与方(例如,买方、卖方)之间确切地协商计算。在一些情况下,所有参与者可能对于可接受的计算持有判断。过程可以从如下假设开始,即,云将电路乱码以确定将在MPC中执行的计算。但是在许多场景中,情况可能是买方想要以某种方式评估数据,但卖方不能允许任意类型的评估(例如,像打印数据本身)。因此,卖方可能需要在云将它乱码之前接受某种计算。一旦商定了计算(这可能在本文描述的SDE过程之外发生),则计算将被通信到云。如果云也是计算选择过程的一部分,则可能是云已经知道该计算(例如,云可能拒绝将非常困难的计算进行乱码)。但最终,云可能会保留计算的描述,以便它知道将什么电路进行乱码。此外,在一些示例中,由于云是半诚实的,因此可以假设云将其应该乱码的电路进行乱码,而不是将例如其结果将向买方揭示比卖方想要揭示的更多信息的内容进行乱码。云如何确切地得到计算可能因情况而异。计算本身可以由布尔电路描述,因为那些是可以被乱码的函数类型。
当云已经将电路乱码时,它就可以将电路发送给买方。此时,云可以将与其自己的输入值的位对应的线路标签发送给买方(例如,云的输入可以是卖方的加密的数据)。由于线路标签是布尔电路的线路中对某种位的加密,因此云可能会向买方发送双重加密的数据(例如,卖方首先在计数器模式下使用AES加密,然后使用乱码方案逐位加密,通过为每根线路选择线路标签,除了云之外的任何其他人都不可能从线路中恢复(卖方的加密的数据的)原始位)。接下来,买方可以请求使用来自云的OT扩展线路标签以用于买方的数据。因此,买方以这样的方式请求加密来自云中的其自己的数据,以使得云不获悉该数据。
买方可能准备好评估乱码电路,因为它具有所有输入(以加密的形式,例如,它保持输入线路标签而不是输入位)。当乱码电路已经被买方评估时,它就可以保存一组与计算的输出位对应的线路标签。但是,买方不知道这些线路标签如何与真值位0和1对应。只有将电路乱码并为每个线路选择线路标签的云才知道该信息。因此,云需要与买方共享解码(或解密)信息(例如,输出线路标签如何与位0和1对应)。在一些卖方也接收输出的情况下,买方必须首先与他们共享与卖方的输出对应的线路标签,在这之后,云需要与卖方共享解码(或解密)信息。所有这些参与方都可以将线路标签与真值输出位0和1进行匹配。卖方需要确保买方与他们共享正确的线路标签,并且需要确保买方不会想出一些他声称是卖方的输出线路标签的随机字符串。当卖方确信他们持有来自买方的正确输出线路标签时,云就会与所有参与方共享解码信息。否则,可能是云与所有参与方共享解码信息,因此买方收到云的真值输出。但是,如果买方向卖方提供虚假的线路标签,则结果是买方可能无法恢复其真值输出,除非在之后,也许在本文描述的过程以外的一些动作之后,买方将与卖方分享真值输出的线路标签。
参考图1-图7进一步描述各种示例。
图1是描绘根据各种示例的用于生成和操作安全数据交换(SDE)的环境100的框图。在一些示例中,环境100的各种设备和/或组件包括分布式计算资源102,其可以经由一个或多个网络104彼此通信并与外部设备通信。
例如,网络104可以包括诸如因特网的公共网络、诸如机构和/或个人内联网的专用网络,或者私有网络和公共网络的某种组合。网络104还可以包括任何类型的有线网络和/或无线网络,包括但不限于局域网(LAN)、广域网(WAN)、卫星网络、有线网络、Wi-Fi网络、WiMax网络、移动通信网络(例如,3G、4G、5G等)或其任何组合。网络104可以利用通信协议,包括基于分组和/或基于数据报的协议,诸如因特网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)或其他类型的协议。此外,网络104还可以包括多个辅助网络通信和/或形成网络的硬件基础的设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、骨干设备等。
在一些示例中,网络104还可以包括使得能够连接到无线网络的设备,例如无线接入点(WAP)。示例支持通过WAP的连接性,WAP在各种电磁频率(例如,射频)上发送和接收数据,包括支持电气和电子工程师协会(IEEE)1302.11标准(例如,1302.11g、1302.11n等)和其他标准。网络104还可以包括网络存储器,例如,网络存储器可以位于云中。例如,这样的云可以被配置成基于可执行代码执行动作,诸如在云计算中。
在各种示例中,分布式计算资源102包括诸如设备106(1)-106(N)的计算设备。示例支持其中设备106可以包括以集群或其他分组配置操作的一个或多个计算设备以共享资源、平衡负载、提高性能、提供故障转移支持或冗余,或用于其他目的的场景。尽管被图示为台式计算机,但是设备106可以包括各种各样的设备类型,并且不限于任何特定类型的设备。设备106可以包括专用计算设备108。
例如,设备106可以包括任何类型的计算设备,计算设备包括执行云数据存储和/或云计算的设备,该计算设备具有可操作地连接到计算机可读介质112、I/O接口114和网络接口116的一个或多个处理单元110。计算机可读介质112可以具有存储在其上的SDE模块118。例如,SDE模块118可以包括计算机可读代码,当由处理单元110执行计算机可读代码时,生成并操作SDE。然而,在一些情况下,SDE模块不需要存在于专用计算设备108中。
可以经由网络104而与设备106(包括网络存储装置,诸如云存储器/计算)通信的专用计算设备120可以包括具有一个或多个处理单元122的任何类型的计算设备,一个或多个处理单元122可操作地连接到计算机可读介质124、I/O接口126和网络接口128。计算机可读介质124可以具有存储在其上的专用计算设备侧SDE模块130。例如,与SDE模块118类似或相同,SDE模块130可以包括计算机可读代码,当由处理单元122执行计算机可读代码时,生成并操作SDE。然而,在一些情况下,SDE模块不需要存在于专用计算设备120中。例如,这种SDE模块可以位于网络104中。
在一些示例中,设备106中的任何一个可以是与数据的卖方或呈现者、数据的买方或评估方,或者诸如云的网络数据存储和/或计算设备对应的实体。
图2描绘了说明性的设备200,例如其可以代表设备106或108。说明性的设备200可以包括具有一个或多个处理单元202(诸如处理单元110或122)的任何类型的计算设备,一个或多个处理单元202可操作地连接到计算机可读介质204(诸如,计算机可读介质112或124)。该连接可以经由总线206或经由另一个可操作的连接,总线206在一些情况下可以包括系统总线、数据总线、地址总线、PCI总线、Mini-PCI总线以及各种本地、外围和/或独立的总线。处理单元202可以表示例如包含在设备200中的CPU。处理单元202可以类似地可操作地连接到计算机可读介质204。
计算机可读介质204可以包括至少两种类型的计算机可读介质,即计算机存储介质和通信介质。计算机存储介质可以包括用于存储信息(以压缩或未压缩形式)的以任何方法或技术实施的易失性和非易失性机器可读、可移动和不可移动介质,信息诸如是用于执行本文描述的过程或方法的计算机(或其他电子设备)可读指令、数据结构、程序模块或其他数据。计算机存储介质包括但不限于硬盘驱动器、软盘、光盘、CD-ROM、DVD、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、闪存、磁性或光学卡、固态存储器设备或适于存储电子指令的其他类型的介质/机器可读介质。
相反,通信介质可以体现为以调制数据信号(诸如载波或其他传输机制)形式的计算机可读指令、数据结构、程序模块或其他数据。如本文所限定的,计算机存储介质不包括通信介质。
设备200可以包括但不限于台式计算机、服务器计算机、网络服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、可穿戴计算机、植入式计算设备、电信设备、汽车计算机、网络电视、瘦客户端、终端、个人数据助理(PDA)、游戏控制台、游戏设备、工作站、媒体播放器、个人视频录像机(PVR)、机顶盒、相机,包含在计算设备中的集成组件、家电、任何其他种类的计算设备(诸如一个或多个单独的处理器设备208(诸如CPU类型处理器(诸如,微处理器210)、GPU 212或加速器设备214)。
在一些示例中,如关于设备200所示,计算机可读介质204可以存储可由处理单元202执行的指令,处理单元202可以表示包含在设备200中的CPU。计算机可读介质204还可以存储可由外部CPU类型处理器210执行、可由GPU 212执行,和/或可由加速器214(例如FPGA类型的加速器214(1)、DSP类型的加速器214(2)、或任何内部或外部加速器214(N))执行的指令。
存储在计算机可读介质202上的可执行指令可以包括例如操作系统216、SDE模块218,以及可由处理单元202和/或210加载和执行的其他模块、程序或应用。例如,SDE模块218可以包括计算机可读代码,当由处理单元202执行计算机可读代码时,生成并操作SDE。然而,在一些情况下,SDE模块不需要存在于设备200中。
备选地或附加地,本文中描述的功能可以由诸如加速器214的一个或多个硬件逻辑组件来执行。例如但不限于,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、量子器件(诸如量子计算机或量子退火器)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。例如,加速器214(N)可以表示混合设备,诸如包括嵌入在FPGA架构中的CPU核的混合设备。
在图示的示例中,计算机可读介质204还包括数据存储220。在一些示例中,数据存储220包括诸如数据库、数据仓库或其他类型的结构化或非结构化数据存储的数据存储。在一些示例中,数据存储220包括具有一个或多个表、索引、存储的过程等的关系数据库以使能数据访问。数据存储220可以存储用于存储在计算机可读介质204中的过程、应用程序、组件和/或模块的操作、和/或由处理器202和/或210和/或加速器214执行的数据。例如,数据存储220可以存储版本数据、迭代数据、时钟数据、私有数据、用于评估外部实体(例如,私有数据的卖方)的私有数据的一个或多个(数学)函数或运算符,以及由SDE模块218存储和可访问的各种状态数据。备选地,上述参考数据中的一些或全部可以被存储在单独的存储器222上(诸如,CPU类型处理器210上的存储器222(1)(例如,微处理器)、GPU 212上的存储器222(2)、FPGA类型的加速器214(1)上的存储器222(3)、DSP类型的加速器214(2)上的存储器222(4)和/或另一加速器214(N)上的存储器222(M))。
设备200还可以包括一个或多个输入/输出(I/O)接口224(诸如I/O接口114或126)以允许设备200与输入/输出设备(诸如,用户输入设备(包括外围输入设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、手势输入设备等))和/或输出设备(包括外围设备的输出设备(例如,显示器、打印机、音频扬声器、触觉输出等)))通信。设备200还可以包括一个或多个网络接口226(诸如网络接口116或128)以通过网络104和网络存储(诸如,云网络)使能计算设备200与诸如其他设备120的其他联网的设备之间的通信。这种网络接口226可以包括一个或多个网络接口控制器(NIC)或其他类型的收发器设备,以通过网络发送和接收通信。
图3是用于数据交换302的示例环境300的框图,可以在SDE 304中发生数据交换302。举几个示例,这种数据306的交换可能涉及数据的销售/购买、数据的评估、使用数据进行机器学习等。这种数据306的交换可能导致多个结果和/或见解308中的任何一个。例如,通过交换302应用于对数据306的评估的标准310可以导致数据的值(例如,货币和/或有用性)的确定。
交换302可以从多个源或实体(诸如将其数据存储在云或其他网络存储器中的数据持有方)中的任何一个接收数据。在本文中,数据的数据“持有方”可以指示控制数据的实体。这种控制可以包括:选择存储数据的方式、地点和时长;是否出售数据;是否附加或改变数据等。可以在被交换302接收之前将这些数据加密。向交换302提供的标准可以包括待应用于数据或其一部分的一组规则(例如,数学的或逻辑的)。例如,标准可以包括数学函数或运算符。
图4是根据一些示例的支持数据交换和数据评估的环境400的框图。例如,如上文所描述的,环境400可以是可以通过计算资源102和环境100的一个或多个网络104来实施的SDE。尽管图示了两个实体(实体A和实体B),但是环境400可以包括任何数量的实体。
数据交换可以发生在框402中,其中函数f可以被应用到来自实体A和实体B的数据。具体地,实体A可以向框402提供数据DA并且实体B可以向框402提供数据DB。通常,数据DA和/或数据DB可以包括多种形式的数据中的任何一种(例如,表示数值、文本、图像、视频、音频等的位)或一个或多个函数或操作符。因此,例如,实体B可以向框402提供函数f(例如,一组数学或逻辑规则),并且实体A可以向框402提供数据,框402可以将函数f应用于数据或其一部分。这种将函数应用于数据可以导致结果f(DA,DB),如在框404中所示的。可以将该结果提供给实体A和实体B中的一个或多个。在一些示例中,通过设计,可以将结果或其一部分对实体A和实体B中的一个隐藏。可以使用加密技术来实施这种隐藏,如下文所描述的。
在各种示例中,环境400可以利用现有的云存储基础设施。云服务提供商通常可以被配备为存储其客户的数据,以便数据可以保持以其现有的形式或者以某种“合理”形式存储,该“合理”的形式很少或不会导致云存储成本的额外开销。存储数据的“不合理”形式的示例可以涉及编码/加密,即例如,比对应的明文数据大一百倍。无论是加密还是未加密,在云中的数据可以是持久的,在这个意义上,数据可以被存储任意长的时间段,并且数据可以是可更新的,以便数据的持有方或管理者可以容易地对数据进行附加,或者可以要求云删除数据的一部分。
在各种示例中,环境400可以与云服务的现有的动机一致。例如,用户(例如,数据持有方或管理者)可以将他们的数据存储在云中,以避免在现场管理他们自己的存储解决方案,并从集体规模经济中受益。环境400可以允许数据可以重复用于具有不同方的许多计算。在用于云中的计算的系统中,可能存在对计算或评估的结果具有最大的兴趣的一个实体(例如,实体A或实体B)。该实体与云提供商一起可能愿意花费大量精力来执行具有加密安全保证的计算或评估。例如,在计算中可能涉及其数据的其他实体仅需要相对较少地参与计算。
在各种示例中,环境400可以使用反映云服务的当前现实的信任模型。例如,云存储的用户可以在云服务提供商中放置有限量的信任。可以在被存储在云中之前由用户将敏感数据加密。考虑到云提供商被认为是“半诚实的”(这可能是云的状况或特征),可以采取这样的动作。例如,半诚实的对手通常遵循协议,但通过查看协议执行来尝试获悉超过其预期的信息份额。云的其他特征包括“恶意的”对手,其可能(是“主动恶意”的并且)试图通过基本上任何多种技术来攻击协议。如果云发送给其他实体的消息不显示除了能够从函数的输出中获悉的信息以外的关于云的输入的信息,则云是“非串通”的。在半诚实云的情况下,环境400可以利用云提供商中的对应的有限信任来降低计算的成本。
例如,在环境400中执行的SDE过程可以允许任意数量的数据持有方(例如,实体A)以持久和可更新的方式将数据以加密的形式存储到云服务,并允许第三方(例如,评估方,其可以是实体B)来在计算数据的函数f,如在框402中。应用函数的结果可以与涉及的实体的任何子集共享,并且没有实体将获悉关于超出他们已经知道的以及该函数将揭示的数据的任何内容。另一方面,云可能没有获悉任何内容。存储在云中的数据可以重复用于任意数量的这种交互。此外,在存在恶意数据持有方和/或恶意评估方的情况下,在环境400中执行的SDE过程可以保持安全,只要云保持半诚实并且不与评估方串通。
图5是根据各种示例的用于系统500中的安全数据交换的信息传送的框图。这些信息可以包括数据、运算符或函数、指令(例如,逻辑)和加密密钥等。在一些示例中,SDE的实质部分可以由云502和安全计算块504实施。系统500还可以包括一个或多个数据持有方506,其可以持有或管理数据并提供该数据以用于在云502中存储。例如,数据持有方506可以与针对图4描述的实体A相同或相似。系统500还可以包括数据评估方508,本文称为“评估方”,其可以持有或管理可以应用于存储在云502中的数据的运算符或函数,本文称为“函数”。评估方508可以向安全计算块504提供函数,安全计算块504可以将该函数应用于数据。例如,评估方508可以与针对图4描述的实体B相同或相似。在一些示例中,如箭头510所指示的,数据持有方可以向安全计算块504提供加密密钥。如箭头512所指示的,数据持有方还可以向云502提供加密密钥。
在系统500中操作的SDE可以用于许多数据消费情况中的任何一种。在具体示例中,可以是数据评估方508的制药公司旨在从可以是数据持有方506的几家医院购买匿名的患者医疗记录以用于研究目的。由于此类医疗数据的价格通常非常高,因此制药公司希望在同意购买数据之前对数据的质量和有用性有一定的信心。然而,在达成协议之前,数据的卖方可能不愿意与买方共享数据。此外,数据可能不像最初想象的那样令人感兴趣,因此买方可能同意以低于预期的价格购买数据。在卖方不共享关于数据的精确信息的情况下,买方和卖方之间针对数据访问和/或价格的协商可能是困难的。一种解决方案可能是卖方同意计算关于数据的某些统计数据,但这通常为买方提供过于低的分辨率,以使得不能做出真正知情的决定。
为了解决买方和卖方之间的数据交易的这种潜在困难,系统500中的SDE可以允许制药公司(例如,数据持有方)和买方(例如,数据评估方)参与到对数据的至少一部分的安全函数评估中。这些参与方都不会获悉超出参与方已经知道的以及该函数所揭示的内容以外的任何内容,即便参与方是主动恶意的。
在另一具体示例中,可以是数据评估方508的医疗中心意图将其肺炎治疗计划的预期的结果与可以是数据持有方506的竞争医疗中心所使用的治疗计划的预期结果进行比较。问题是医疗中心不希望公开披露这种信息,因为害怕因提供不太有效的护理而被声张。为了解决数据隐私的这种潜在困难,系统500中的SDE可以在没有其他相关方能够获悉超出参与方已经知道的以及评估所揭示的内容之外的任何内容的情况下,允许医疗中心评估数据的至少一部分。
在又一具体示例中,可以是数据评估方508的公司正在开发机器学习模型,以用于帮助初级护理提供者在各种情况下为他们的患者选择期望的治疗计划。该公司希望从可以是数据持有方506的医院购买匿名的患者病历数据,以进一步开发和研究他们的模型,但前提是数据尚未与该模型足够好的拟合。为了解决确定数据的质量或有用性的潜在困难,系统500中的SDE可以允许在没有公司或医院能够获悉超出参与方已经知道的以及评估所揭示的内容之外的任何内容的情况下来评估数据。
在另一个具体示例中,可以是数据评估方508的生产巧克力棒的公司意图通过将其自己的数据与在相同或相关的市场中的可以是数据持有方506的其他公司的数据组合来获悉关于巧克力棒市场的详细信息(例如,市场弹性)。其目标是通过改善的效率和更好的定价来降低成本,但其他公司不愿意分享他们的私有的财务数据。为了解决专有数据隐私的潜在困难,系统500中的SDE可以允许在没有任何公司能够获悉超出这些参与方已经知道的以及评估所揭示的内容之外的任何内容的情况下来评估数据。
对于上文描述的示例,系统500中的SDE可以帮助避免旨在保护每个相关方的利益的实质且昂贵的诉讼,同时保护隐私。在一些场景中,例如,可以用来代替SDE的匿名化过程可能不期望地导致数据的分辨率降低到足以在过程中丢失大部分数据值的情况。
为了描述SDE实施方式的一些示例,涉及的参与方(例如,实体)被表示为C(云)、P1,…,Pn(数据持有方)和Q(第三方/函数评估方)。参与方Pi的输入数据由xi表示,且Q的任何输入数据由xQ表示。Pi也可以具有类似于xQ的每个计算输入。例如,在SDE模型中,数据持有方Pi将其数据以加密的形式长期地存储在云C中。可以在多个SDE执行中重复使用这种数据。相比之下,一些MPC技术不允许这样的设置。相反,这种MPC协议中的加密的输入只能用于一次MPC执行,这使得云存储的意义不大。因此,本文描述的SDE实施方式的长期加密的云存储优于一些MPC技术。在本文描述的SDE实施方式中,数据持有方还可以在云中使其数据的一部分未加密,并且在安全函数评估中,可以将加密和未加密的数据组合。在本文描述的SDE实施方式中,除了存储在云中的数据之外,数据持有方Pi还可以具有一些“每个计算输入”,数据持有方Pi经由服务器或通过将其递交给评估方来向安全计算提供“每个计算输入”。该每个计算输入可以对C和/或Q隐藏。这与也不存储在云中的Q的输入类似。
每个Pi可以在将数据上传到C以用于长期存储之前,将他们的数据xi加密。Pi可以对密钥rr←{0,1}κ进行统一地采样并计算zi:=xi·g(ri),其中g是所有参与方同意使用的伪随机函数(PRF),并且符号为“·”表示XOR操作。然后每个Pi可以将zi发送给C。
如果参与方Q希望发起具有参与方Pi的一些子集的SDE计算,则参与方Q可以向那些特定的Pi请求它们相应的种子ri。在所有相关方同意待计算的函数f(x1,…,xn,xQ)之后,C和Q可以参与到两方MPC协议中,其中C的私有输入是zi的集合,并且Q的私有输入是g(ri)和Q自己的私有数据xQ的集合。可以在MPC内重建秘密份额zi和g(ri),产生xi。由于xi现在是MPC加密的,重建不需要向任何一方透露任何信息。然后可以将MPC加密的数据xi作为输入传递给MPC内的函数f。结果,Q(以及可能地,参与方Pi中的一些)可以获得f(x1,…,xn,xQ)的以加密的形的输出,并且C可以通过分发合适的解密密钥来完成协议。在一些示例中,上文描述的协议的安全性可以至少部分地基于若干条件。首先,云C是半诚实的,并且C和Q是非串通的,其中C和Q遵循协议并且不与其他方共享附加信息。例如,串通可以允许C和Q在Pi将ri发送到Q时立即获得xi
如果数据持有方Pj尝试向Q发送不正确的rj,则g(rj)将对应地不正确。这样,Pj可能会影响他们在SDE设置中的位置或另一方在SDE设置中的位置。由于这种操纵并不总是可以检测到,因此在存在恶意方的情况下,Q应当对这种行为负责。因此,SDE的条件是Pi将正确的ri发送到Q。第三,因为参与方Q可以翻转g(ri)的任意位以影响SDE设置中的不同方的位置,因此SDE的条件是Q使用正确的g(ri)作为其到MPC的输入。在其中所有参与方都愿意参与商业交易的许多场景中,这种情况是切合实际的。
在一些示例中,半诚实的SDE协议(例如,中间协议,当所有方都是半诚实且非串通时,中间协议可以是安全的)可以防御半诚实的对手,或者具有更强的安全模型,该更强的安全模型防御相对于Q是半诚实的和非串通的C,以及恶意的Pi和Q(更强的安全性可能导致性能损失)。在半诚实协议中,参与方Q将值g(ri)输入到MPC计算中。C可以产生“乱码电路”(它是待评估的布尔电路的加密类型),并且将加密(乱码)的数据作为输入并产生加密的(乱码)输出,C具有针对该加密的输出的解密密钥。可以由参与方Q执行对乱码电路的评估。为了能够执行评估,Q获得C的乱码输入(zi的乱码),以及其自身输入g(ri)和xQ的乱码,而不向C显示任何内容。要做到这一点,Q可以进行与C的不经意传输(OT)或某种类型的OT扩展协议。OT允许Q从C获得针对其输入g(ri)和xQ的正确加密。例如,如果Q的输入只是一位(0或1),则C为该特定输入位保持两个“标签”或加密,其中一个对应于输入值0,且另一个对应于输入值1(这专用于乱码电路MPC技术,但在使用其他MPC技术时可能不同)。由于某些乱码电路优化的工作原理,关键在于Q不获悉两个标签。为了保护Q的隐私,C不应当能够获悉Q的输入位是0还是1,所以Q不能简单地要求C发送正确的标签。该示例指示OT所解决的问题。注意,OT可能相对较慢并且看起来天真地需要对Q的每个输入位执行一个OT。在大多数情况下这种情况可能是不合理的慢。相反,可以使用被称为“OT扩展”的技术。代替执行许多OT,可能仅执行一些并以某种方式“扩展”它们以产生更大数量的OT(最终针对每个输入位)。要做到这一点,Q可能会进行不经意传输(OT)。
在一些示例中,Pi可能旨在迫使Q从C请求正确的位串g(ri)的乱码。在离线阶段,Pi可以承诺OT扩展协议消息,接收器将在正常执行中会发送的该消息。在在线阶段,Q可以代表Pi完成OT扩展协议。云C可以通过将消息与承诺进行比较来确保接收到正确的消息。Pi可以选择随机的ri并将其加密为zi:=xi·g(ri)的数据上传到C。另外,如上文所概述的,Pi可以执行修改的OT扩展协议。如果参与方Q发起SDE计算,则所涉及的每个Pi可以向Q发送种子ri以及在OT扩展中使用的随机硬币。Pi还可以通知C他们参与到MPC中并且可以授权他们的数据在用于商定的f的计算中使用。然后,C和Q可以完成OT扩展协议,其中Q代表Pi作为OT接收器。随后,Q可以评估乱码电路计算f并将乱码输出分发给C。同样,上述过程可以依赖于C是半诚实的且Q和C是非串通的条件。因此,如果Pi向Q发送不正确的ri(例如,在已经提交到输入串g(ri)之后),则由xi产生的任何输出将很可能无法解密并且可以被检测到。而且,由于Pi对OT消息的承诺,Q只能获悉由Pi指定的乱码输入。
在关于半诚实协议的输出公平性的一些示例中,恶意方不能创建仅一些参与者获得其(正确)输出而其他参与者不获得其输出的情况。情况应当是所有参与者都得到正确的输出,或者没有参与者得到任何内容。在一些实施方式中,在MPC Q分发所有参与者的乱码输出之后,协议的一部分可以处理这种情况。例如,由于Q将只知道针对每条输出线路的一个乱码输出标签,因此Q要么将正确的输出标签发送给参与方Pi,要么将不是线路标签的不正确的位串发送给参与方Pi。这使得Pi然后可以使用与C的某种类型的验证方案来检查它们确实接收到有效的乱码输出(例如,C可以简单地向Pi发送针对每个Pi的输出位的两个输出线路标签,然后,Pi可以检查核对从Q接收的标签是其中一个,但这个过程相对低效,并且有更好的方法来做到这一点)。在每个Pi已经向C确认它们从Q接收到有效/正确的输出标签之后,C可以分发解密所需的信息,以从输出线路标签恢复真实输出位。现在要么所有参与者得到他们的正确的输出,要么没有参与者得到任何内容。再次指出,这里假设C是半诚实的(例如,遵循协议)。
在一些情况下,Pi可能想使用几个密钥ri来获得他们的数据。例如,如果数据非常大,则Pi可能不希望向Q揭示针对所有内容的密钥,而是揭示针对特定计算需要接触的那些部分的密钥。例如,Pi可以对其数据中的文件中的一个文件使用一个r{i,1},或者对于其数据集中的第一列使用r{i,1},对下一个使用另一个r{i,2},依此类推。Pi可以向Q显示计算中需要的r{i,j}。这还使得Pi更容易地更新他们的密钥中的一些(在他们想要更新时),而不必对C中的全部数据重新加密(这可能具有大的网络成本)。
Pi发送给Q的对Pi的输入的承诺也可以被划分为块。这具有如下优点,即,当Q试图完成OT扩展协议时,C不需要检查对Pi的全部输入数据的承诺。相反,C可以检查对计算中实际使用的那些部分的承诺。这具有如下优点,即,仅需要接触Pi的少量数据的计算变得更容易执行。原因在于,当完成OT扩展协议时,Q可能需要向C发送例如(输入数据的大小)*128位的数据。然后,Q可以验证承诺,但是如果只有一个承诺,那么(输入数据的大小)是整个g(ri)的大小,这可能非常大。相反,如果在计算中只需要访问其中的一些,则可以对诸如g(r{i,j})的较小的块作出承诺。
在一些示例中,在Pi将其数据上传给C之后,Pi可以参与到与Q恒定量的通信中,除了在过程结束时,当过程(例如,协议)已经完成运行并且可能将函数的输出的一些部分分发给参与方Pi。此外,对过程期间传送的数据的改变可能仅增加与C和Q之间的通信的相对较小的量的开销(例如,与乱码电路的大小相比)。
在一些示例中,乱码电路可以允许具有各自的私有输入x和y的两方来联合计算可能的概率函数
f(x,y)=(f1(x,y),f2(x,y)) 等式(1)
使得第一方获悉f1(x,y),并且第二方获悉f2(x,y)。近年来,乱码电路已经成为许多加密协议中的基础构建块以用于双方安全函数评估和其他多方协议。安全的条件可以是任何一方不能获悉超出其规定的输出(隐私)之外的更多的信息,并且输出分发遵循由f指定的内容(正确性)。
乱码电路构造可以被认为是将函数f作为输入并输出用于计算f的安全协议的编译器。首先,函数可以表示为由门(通常为AND门和XOR门)组成的布尔电路C。每个门g取两个逻辑位a、b∈{0,1}作为输入,并返回逻辑位c:=g(a,b)作为输出。然后,安全协议可以评估电路C的每个门,使得它隐藏所有内部线路中的逻辑值,并允许某些机制将乱码输出线路解码。
被认为是乱码器的第一方可以生成乱码线路和乱码门。被认为是评估方的另一方可以从乱码器获得乱码线路标签以用于评估方的相应的输入。为了确保评估方的输入的隐私性,可以在不向乱码器显示评估方选取的标签的情况下,执行该过程。另外,可以防止评估方在几个输入上评估乱码电路,因此对于每个乱码线路,可以允许评估方精确地获悉两个标签中的一个。这是使用OT实现的。当评估方已经获悉用于乱码门的输入线路标签时,就可以确切地获悉一个乱码输出线路标签。乱码电路是所有乱码门的集合,并且可以利用输入编码(例如,每个线路一个标签)来评估。然后,可以将上述过程重复应用于乱码电路的每个门。
通过乱码门构造的安全性,评估方可以确切地获悉两个输出线路标签C0、C1中的一个,而两个输出线路标签中的另一个保持完全未知。然后,使用恶意的安全OT可以产生防御可能任意偏离协议的恶意评估方的协议。然而,乱码器可能恶意地构造计算错误的逻辑的乱码门或整个电路。评估方可能无法检测这种恶意行为,并且构造的所有安全属性都可能丢失。克服该问题的一种技术被称为“剪切和选择”,其中乱码器生成几个乱码电路并将它们发送给评估方。评估方可以随机地检查一些乱码电路的正确性,并且如果所有这些乱码电路结果都是诚实地生成评估方,则评估方可以评估剩余的乱码电路。由于在发送乱码电路时引起的显著的开销,在本文所述的一些示例中,避免了使用剪切和选择,并且应用了其中乱码器是半诚实的并且乱码器将正确的电路乱码这一条件。具体地,例如,云C可以扮演乱码器的角色并且不接收输出。
OT是密码学中的基本原语,并且可以应用于发送乱码线路标签。例如,发送器S具有两个长度为l的输入串x0和x1,而接收器R具有选择位b∈{0,1}。R想要以不经意的方式从S获得xb,这意味着S不获悉b,并且保证R仅获得xb并且不获悉关于x1-b的信息。
以下协议描述了不经意传输原语的理想函数:
参数:发送器S和接收器R。
主阶段:在从R输入(SELECT,sid,b)并从S输(SEND,sid,(x0,x1))时,发送R(RECV,sid,xb)。
尽管相当有效地执行一轮OT,但OT可能需要公钥原语,并且因此对于交换非常大量的信息来说可能是不实际的。例如,如果评估方输入的位长是l并且每个线路标签具有长度κ(通常κ=128并且标签是AES块),则评估方可以与乱码器进行l个OT。如果l很大,这可能是有问题的,因此被称为“OT扩展”的技术可以有效地将所谓的κ基的OT扩展成l个OT。更确切地,代替必须执行长度为κ的l个OT,执行长度为κ的κ个OT可能就足够了。
令{(x0 i,x1 i)}(i=1,…,l)是S想要不经意地传输给R的κ位消息的多个对。换句话说,R具有κ位选择串r:=(r1,…,rl)并且R旨在以不经意的方式获得消息xi ri。图6图示了示例半诚实OT扩展协议600。
在一些示例中,OT扩展协议600可以用于对抗主动的(恶意的)R。可以如下地描述在OT扩展协议600的步骤中的R和S之间的通信的量。在设置阶段,在R和S之间可能发生相对较少量的OT通信。在一些示例中,可以将κ设置为128。在选择和接收阶段,在R和S之间可能发生相对较大量的通信。例如,可以在R和S之间发送大小为l×κ的矩阵,其中l可能非常大。
在各种示例中,如上所述的,C和Q是非串通的。涉及的参与方是P1,…,Pn,其中每个Pi保持存储在云C中的持久输入数据xi,并且Q充当电路评估方并保持输入数据xQ。参与方预计参与方的某些子集{Pi│i∈I}将在稍后的某个时间点利用Q对其数据集执行云辅助的私有计算。在离线阶段,每一方Pi随机均匀地采样ri←{0,1}κ,并将其加密为zi:=xi·g(ri)的数据集xi上传到云C,其中g是公共伪随机函数(例如,由ri加密的计数器模式下的AES,其中AES是块密码)。令I=(I1,...,Im)是[n]的子集。在稍后的时间,Q和{Pi│i∈I}一起决定评估函数
f({xi}i∈I,xQ)=(f1({xi}i∈I,xQ),...,fm({xi}i∈I,xQ),fQ({xi}i∈I,xQ))
等式2
其中每一方PIj获悉fj({xi}i∈I,xQ),并且Q获悉fQ({xi}i∈I,xQ)。用于参与方Pi的任何附加的每个计算输入数据x'i可以被表示为附加到zi的末尾并且在下文更详细地讨论。云C验证所有的参与方都希望计算f。参与方{Pi│i∈I}中的每个将他们的值ri发送给Q,Q计算掩码g(ri)。然后可以在C和Q之间执行双方安全计算以计算相关的函数
f’({zi}i∈I,{g(ri)}i∈I,xQ):=f({zi·g(ri)}i∈I,xQ) 等式3
为了使用MPC安全地评估f',云C充当乱码器并生成计算函数f'的乱码电路并向Q发送对应的乱码门。在不经意传输阶段,Q可以选择对应于g(ri)的输入线路标签。在一些实施方式中,采用优化,其中C在用zi置换它们之后将g(ri)的线路标签输入到OT协议中。这导致Q获得具有值xi=zi·g(ri)的有效输入线路标签,而没有额外的开销。具体地,C仅将与f'对应的电路乱码,并且Q不经意地获悉线路标签编码的xi。在评估乱码电路之后,Q可以向参与方PIj发送对应于函数fj的乱码输出的编码信息yj(例如,置换位)。Q可以将对应于fQ的乱码输出的编码信息yQ保密。云C可以向PIj发送的对应的解码信息dj,PIj用解码信息来获得其结果fj({xi}i∈I,xQ)=dj·yj。云C可以向Q发送解码信息dQ,类似地,Q使用解码信息dQ来获得其结果fQ({xi}i∈I,xQ)=dQ·yQ
在假设参与方是半诚实的并且C和Q是非串通的情况下,该过程可以安全且私密地计算f({xi}i∈I,xQ)。通过乱码电路的安全特性,可以在没有解码信息dj的情况下,Q对输出编码信息yj的观察可以均匀地分布。因此,评估方Q可以获悉不多于他们规定的输出以及存储在云中的数据被加密的ri值。
为了便于参与方更新其存储在云中的数据的能力,参与方Pi可以将数据附加到其数据集的末尾。为了附加x'i,Pi可以计算值z′i:=(xi||x′i)·g(ri)的最后的|x′i|位,并将这些位发送给C。接下来可以通过现在将x'i作为对应的输入的乱码电路容易地实现更新。此外,任何过时的数据并可以被逻辑地删除并且从云中删除。g(ri)的任何部分都不重复用于加密不同的x'i值,因为这会泄漏更新的数据之间的线性关系。参与方Pi的每个计算输入可以表示为将数据附加到x'i的末尾,然后可以在下一次计算之前删除该数据。
在一些示例中,恶意的安全协议可能受到云和电路评估方之间的非串通假设的影响。与针对半诚实协议的攻击相比,这种协议对于攻击可能更安全。考虑参与方Q评估计算函数f'的电路的情况,该电路可以重建逻辑输入的2个秘密共享中的2个,然后评估f。这可能导致Q可以翻转输入位的任何集合的情况。为了获得针对恶意行为的安全性,Q可能有必要证明Q为输入秘密共享提供了正确的值。
如果不是在C和Q之间秘密共享Pi的输入x,则Pi在设置阶段中利用C执行不经意传输,并且在每次计算的开始时将线路标签转发给Q。尽管这可以实现期望的安全性,但是Pi必须为每个安全计算发送相对大量的数据,并且可能不能使用云存储。在一些示例实施方式中,可以使用OT扩展来实现用于具有最少在线交互的Pi的云存储。OT扩展可以以三个阶段工作。首先,可以执行k位串上的k个基本OT。相对于最终的OT扩展,这些OT在相反的方向上。即,云C可以充当接收器,并且Q可以充当发送器,发送器在第i个OT中具有的统一消息hi 0、hi 1∈{0,1}k。云C可以均匀地采样s∈{0,1}k并且在第i个基OT中选择hi si
在第二阶段,OT扩展可以导致n个OT,其中接收器Q通过c∈{0,1}来获悉消息索引,即,mi,ci,对于i∈[n]。参与方都通过计算Ti b=g(hi b)来将h值扩展为n位。云C现在持有更大的消息Ti si∈{0,1}n。Q知道Ti 0、Ti 1但不知道哪一个被C保持。然后,OT扩展接收器Q可以计算Ui=Ti 0·Ti 1·c并将Ui发送给C。这是在协议中由Q发送的最终消息,并且可以将Q承诺给他们选择的c。
在第三阶段,云C可以计算矩阵D∈{0,1}n×k,其中第i列是Di=Ti si·(Ui·si)。通过将Ti 0作为其第i列的向量,使矩阵T0∈{0,1}nxk被类似地定义。然后根据定义,D的第i行是Di=T0,i·(ci·s),其中T0,i是T0的第i行。为了看到这一点,考虑ci=1时的情况。然后在D的第i行的第j位的位置有一个额外的(ci·sj),=sj附加项,并且类似地,当ci=0时,没有附加项。然后,云C可以将第i个消息对(mi,0,mi,1)加密为yi,0:=mi,0·H(i,Di)和yi,1:=mi,1·H(i,Di·s)并将该消息对发送给接收器。接收器Q然后可以计算mi,ci=yi,ci·H(Ti)。在一些示例中,该OT扩展协议可以被分发到如下设置,其中Pi选择在OT中获悉哪些消息同时允许Q是不经意接收器。可以由前两个阶段定义Pi选择,例如,基本OT消息hi 0、hi 1和矩阵U。当云C接收到这些协议消息时,可以将由接收器可获悉的最终OT消息固定。
在离线阶段,Pi可以将其数据作为z=x·g(r)上传到云。Pi可以执行不经意传输扩展的前两个阶段,其中OT选择串c=g(r)。C可以获悉矩阵D,其中矩阵D的第i行是Di=Ti·(g(r)i·s)。在在线阶段,Pi可以将种子r和用于导出基本OT消息的种子发送到Q,Q可以重新生成U、g(r)并利用C完成不经意传输扩展。如在半诚实协议中那样,C可以通过z=x·g(r)置换输入线路标签,Q将使用输入线路标签来评估电路。这可能导致Q在不知道x的值的情况下获得将z=x·g(r)编码的线路标签。
在一些示例中,在Q已经评估乱码电路并获得所有相关方Pi的乱码输出yi(及其自身的乱码输出yQ)之后,Q可能需要将yi分发给Pi,然后Pi从C获得对应的解码信息di以恢复实际输出位。如果C向Pi输出用于Pi的输出的每个输出位的两个逻辑输出的线路标签,并且其中一个是Q发送给Pi的线路标签,那么Pi可以确定Q确实正确地评估了电路并且向Pi传递了正确的输出线路标签,因为Q将永远无法获悉多于任何输出线路的两个输出标签中的一个的输出标签。
由于C将需要向Pi发送每个输出位的2个线路标签,因此这可能涉及可能很大的通信成本。为了降低这种成本,C可以从具有种子rout i的PRF中构造对应于乱码电路的Pi的输出的输出线路标签。C可以将rout i发送给Pi,Pi可以扩展PRF并获得输出线路标签并将输出解码,从而降低通信成本。
在Q将合适的输出线路标签发送到Pi时,可能仍然存在可能很大的通信成本。可以通过改为使用点和置换(point-and-permute)技术来降低这种成本。实质上,乱码方案将确保每对输出标签的最后的位不同,以便Q只需要将这些最后的位发送到Pi(选择位),Pi只需要从C接收将他们与正确的逻辑输出位匹配的置换。简单地使用这种方法的问题在于它使Q很容易翻转Pi的输出的任意位。为了防止这种情况,Q可以计算与Pi的输出对应的所有线路标签的XOR,并发送到Pi。然后,C将向Pi发送用于PRF的种子以计算全部输出线路标签,例如,如上文所解释的。然后,Pi可以为每个输出线路计算从C接收到的合适标签的XOR,并验证它与从Q接收的XOR匹配。这样,Pi可以确定它从Q获得的输出位确实是正确的。当所有数据持有方确认他们从Q接收到有效编码的输出时,则半诚实C可以分发解码信息,否则中止协议执行,这保证公平性。因此,Pi的输出分发和解码过程中的通信成本是与C通信的κ位和与Q通信的κ+│yi│位。
在一些示例中,由于Si可能最终与每个买方共享其秘密密钥ri,因此期望的是Si以简单的方式撤销密钥ri并且使用新的密钥ri'来改变由C以加密形式存储的数据。这样做的一种方法是Si将g(ri)·g(ri’)发送给C,C计算zi’:=zi·(g(ri)·g(ri’))来更新加密。遗憾的是,Si可能最终向C发送线性量的数据,这在一些情况下可能不实用。
在一些示例中,SDE中涉及的参与方是卖方(S1,…,Sk)、买方B和云C。令xi是放置在市场上的属于Si的数据(例如,数据被发送到C以待被以加密的形式存储)。在B想要向计算提供输入的情况下,令y为B的数据。可能是这种情况,例如,如果B旨在将市场上的数据与其自己的数据进行比较、对其准备作出的报价设置界限,或者限制哪一个卖方(或多个卖方),则它愿意取决于他们的输入数据、身份、销售价格或其他因素而进行交易。
为了将他们的数据安全地存储在云中,每个Si可以选择随机种子ri并且将zi:=xi·g(ri)发送给C,其中g是所有参与方都同意的PRF(例如,由ri加密的计数器模式中的AES)。在具体示例中,所有参与方已经同意评估被描述为布尔电路的特定函数f({xi},y)以确定买方与零个或多个卖方之间的匹配。每个Si可以将其秘密密钥ri发送给B作为与B一起参与SDE的协议。如果C和B要串通,它们可以一起解密存储在C中的Si的数据。遗憾的是,如果使用MPC,则安全模型中的这种限制可能是不可避免的,除非有人愿意牺牲性能。令f’({zi},{ri},y)表示函数f({zi}·g{ri},y)。在一些实施方式中,C和B使用半诚实协议来通过使C充当乱码器且B充当评估方来安全地评估f’({zi},{ri},y)。基于结果,C可以通知合适的卖方Si已经与B达成了交易。
图7是图示根据一些示例的用于操作安全数据交换的过程的流程图。图7中图示的操作流程被图示为表示可以以硬件、软件、固件或其组合实施的操作的序列的块和/或箭头的集合。描述块的顺序不旨在被解释为限制,并且可以以任何顺序组合任何数量的所描述的操作以实施一个或多个方法,或备选的方法。另外,在不脱离本文描述的主题的精神和范围的情况下,可以从操作流程中省略单独的操作。在软件的上下文中,块表示计算机可读指令,当由一个或多个处理器执行时,计算机可读指令配置处理器以执行所述操作。在硬件的上下文中,块可以表示被配置成执行所述操作的一个或多个电路(例如,FPGA、专用集成电路-ASIC等)。
图7中图示的操作流程中的任何过程描述、变量或块可以表示包括用于在过程中实施特定逻辑函数或变量的一个或多个可执行指令的模块、段或代码部分。
例如,过程700可以由诸如处理单元110、122和202的处理器执行。在框702,处理器可以向持有数据的数据持有方传送请求。例如,处理器可以与具有购买数据意图的实体相关联。这样的数据可以以加密的形式驻留在网络存储器(诸如云)中。在框704,处理器可以向连接网络的计算设备提供函数,该计算设备操作安全数据交换以用于评估数据。该函数可以是被配置成对数据或其一部分进行操作的数学或逻辑关系。在框706,处理器可以从SDE接收评估数据。评估数据可以至少部分地基于将函数应用于数据的至少一部分。换句话说,评估数据可以是对数据进行操作的函数的输出。在框708,处理器可以确定用于从数据持有方购买数据的竞标价格。竞标价格可以至少部分地基于评估数据。在一些实施方式中,例如,评估数据可以向潜在买方指示数据对买方的有用程度。这种评估数据提供了在没有直接访问数据的情况下,“窥视”数据持有方的数据的机会(例如,没有检查数据本身。这种情况可以使数据购买没有意义)。
示例条款
A.一种系统,包括:一个或多个处理器;以及具有指令的计算机可读介质,在由所述一个或多个处理器执行指令时,将一个或多个处理器配置成执行包括以下操作的操作:从网络存储器设备接收加密的数据,其中加密的数据由第一方持有;从第一方接收加密密钥;从第二方接收数学运算符;并且形成数学运算符的加密版本以供第二方应用于加密的数据的至少一部分以生成评估数据。
B.根据段落A所述的系统,其中从第一方接收的加密密钥是第一加密密钥,该操作还包括:从第二方接收第二加密密钥;并且对应于第二加密密钥,将评估数据加密。
C.根据段落A所述的系统,其中来自网络存储器设备的加密的数据是未被数学运算符修改的持久性数据。
D.根据段落A所述的系统,该操作还包括:向第一方隐藏评估数据。
E.根据段落A所述的系统,其中网络存储器设备是半诚实的,并且网络存储器设备和第二方是共同非串通的。
F.根据段落A所述的系统,其中加密的数据包括乱码数据。
G.根据段落A所述的系统,该操作还包括:从第一方接收指令以设置用于将数学运算符应用于加密的数据的时间限制和/或数据限制。
H.一种方法,包括:针对网络中的数据持有方,将数据存储作为加密的数据,其中加密的数据利用密钥可解密;从数据买方接收数学函数;与数据买方交换信息以对加密的数据的至少一部分执行数学函数以生成评估数据;以及至少部分地基于评估数据,建立针对加密的数据的销售价值。
I.根据段落H所述的方法,还包括:从数据买方接收数据;并且对(i)加密的数据的至少一部分和(ii)来自买方的数据执行数学函数以生成评估数据。
J.根据段落H所述的方法,其中数据由数据持有方加密,并且其中网络不具有密钥。
K.根据段落H所述的方法,其中数学函数包括由数据买方提供的一组逻辑规则。
L.根据权利要求所述的方法,其中加密的数据包括乱码数据。
M.根据段落H所述的方法,还包括:在对加密的数据的至少一部分执行数学函数之前,将加密的数据进一步加密。
N.根据段落H所述的方法,还包括将评估数据应用于机器学习过程。
O.根据段落H所述的方法,还包括:向数据买方提供评估数据;对数据持有方隐藏评估数据;并对数据持有方隐藏数学函数。
P.一种方法,包括:向持有数据的数据持有方传送请求;向安全数据交换(SDE)提供函数以用于评估数据;接收来自SDE的评估数据,其中评估数据至少部分地基于将函数应用于数据的至少一部分;确定用于从数据持有方购买数据的竞标价格,其中竞标价格至少部分地基于评估数据。
Q.根据段落P所述的方法,其中该数据是第一组数据,方法还包括:向所述SDE提供第二组数据以及函数以用于评估所述第一组数据,其中评估数据至少部分地基于将函数和第二组数据应用于第一组数据。
R.根据段落P所述的方法,还包括向持有该数据的附加数据持有方传送附加请求。
S.根据段落P所述的方法,还包括在将函数提供给SDE之前从数据持有方接收加密密钥。
T.根据段落P所述的方法,其中对数据持有方的请求通过云被传输。
尽管以结构特征和/或方法动作专用的语言描述了本主题,但应当理解,所附权利要求书中限定的主题不必限于所描述的具体特征或动作。而是,公开了特定特征和步骤作为实施权利要求的示例形式。
除非另有说明,否则上文所描述的所有方法和过程可以全部或部分地由一个或多个通用计算机或处理器执行的软件代码模块实施。代码模块可以存储在任何类型的计算机可读存储介质或其他计算机存储设备中。备选地,一些或所有方法可以全部或部分地由专用计算机硬件(诸如,FPGA、ASIC)等实施。
除非另外特别说明,否则诸如“能够”,“可”,“可以”或“可能”的条件语言在上下文中被理解为表示某些示例包括某些特征、变量和/或步骤,而其他示例不包括某些特征,变量和/或步骤。因此,这种条件语言通常不旨在暗示一种或多种示例以任何方式需要某些特征、变量和/或步骤,或者不管有或没有用户输入或提示、不管任何具体示例中是否包括或将要执行某些特征、变量和/或步骤,一个或多个示例必须包括用于决定的逻辑。
除非另有明确说明,否则诸如短语“X、Y或Z中的至少一个”的联合语言应当被理解为表示项目、术语等可以是X、Y或Z,或其组合。
本文描述和/或附图中描绘的流程图中的任何过程描述、变量或块应当被理解为可能表示模块、片段或代码的一部分,模块、片段或代码的一部分包括用于实施特定逻辑函数或例程中的变量的一个或多个可执行指令。备选的实施方式被包括在本文描述的示例的范围内,其中可以将变量或函数删除,或者脱离示出或讨论的顺序外(包括基本上同步或相反的顺序)执行,这取决于所涉及的函数,如本领域技术人员将理解的。
应当强调的是,可以对上文描述的示例进行许多变化和修改,其变量应当被理解为是其他可接受的示例。所有这些修改和变化旨在被包括在本公开的范围内并且由所附权利要求保护。

Claims (15)

1.一种系统,包括:
一个或多个处理器;和
具有指令的计算机可读介质,所述指令当由所述一个或多个处理器执行时,将所述一个或多个处理器配置成执行操作,所述操作包括:
从网络存储器设备接收加密的数据,其中所述加密的数据由第一方持有;
从所述第一方接收加密密钥;
从第二方接收数学运算符;以及
形成所述数学运算符的加密版本以供所述第二方应用于所述加密的数据的至少一部分来生成评估数据。
2.根据权利要求1所述的系统,其中从所述第一方接收到的所述加密密钥是第一加密密钥,所述操作还包括:
从所述第二方接收第二加密密钥;以及
对应于所述第二加密密钥,将所述评估数据加密。
3.根据权利要求1所述的系统,其中来自所述网络存储器设备的所述加密的数据是未被所述数学运算符修改的持久性数据。
4.根据权利要求1所述的系统,其中所述加密的数据包括乱码数据。
5.根据权利要求1所述的系统,所述操作还包括:
接收来自所述第一方的指令以设置用于将所述数学运算符应用于所述加密的数据的时间限制和/或数据限制。
6.一种方法,包括:
针对网络中的数据持有方,将数据存储作为加密的数据,其中所述加密的数据利用密钥可解密;
从数据买方接收数学函数;
与所述数据买方交换信息以对所述加密的数据的至少一部分执行所述数学函数以生成评估数据;以及
至少部分地基于所述评估数据,建立针对所述加密的数据的销售价值。
7.根据权利要求6所述的方法,还包括:
从所述数据买方接收数据;以及
对(i)所述加密的数据的所述至少一部分和(ii)来自所述买方的所述数据执行所述数学函数以生成所述评估数据。
8.根据权利要求6所述的方法,其中所述数据由所述数据持有方加密,并且其中所述网络不具有所述密钥。
9.根据权利要求6所述的方法,其中所述数学函数包括由所述数据买方提供的一组逻辑规则。
10.根据权利要求6所述的方法,还包括:
在对所述加密的数据的至少一部分执行所述数学函数之前,将所述加密的数据进一步加密。
11.根据权利要求6所述的方法,还包括:
向所述数据买方提供所述评估数据;
对所述数据持有方隐藏所述评估数据;以及
对所述数据持有方隐藏所述数学函数。
12.一种方法,包括:
向持有数据的数据持有方传送请求;
向安全数据交换(SDE)提供函数以用于评估所述数据;
接收来自所述SDE的评估数据,其中所述评估数据至少部分地基于将所述函数应用于所述数据的至少一部分;
确定用于从所述数据持有方购买所述数据的竞标价格,其中所述竞标价格至少部分地基于所述评估数据。
13.根据权利要求12所述的方法,其中所述数据是第一组数据,所述方法还包括:
向所述SDE提供第二组数据以及所述函数以评估所述第一组数据,其中所述评估数据至少部分地基于将所述函数和所述第二组数据应用于所述第一组数据。
14.根据权利要求12所述的方法,还包括向持有所述数据的额外的数据持有方传送附加请求。
15.根据权利要求12所述的方法,其中对所述数据持有方的所述请求通过云被传送。
CN201780037025.0A 2016-06-13 2017-06-08 安全数据交换 Pending CN109314634A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/181,035 2016-06-13
US15/181,035 US20170359321A1 (en) 2016-06-13 2016-06-13 Secure Data Exchange
PCT/US2017/036459 WO2017218268A1 (en) 2016-06-13 2017-06-08 Secure data exchange

Publications (1)

Publication Number Publication Date
CN109314634A true CN109314634A (zh) 2019-02-05

Family

ID=59337835

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780037025.0A Pending CN109314634A (zh) 2016-06-13 2017-06-08 安全数据交换

Country Status (4)

Country Link
US (1) US20170359321A1 (zh)
EP (1) EP3469761A1 (zh)
CN (1) CN109314634A (zh)
WO (1) WO2017218268A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886687A (zh) * 2019-02-28 2019-06-14 矩阵元技术(深圳)有限公司 一种基于区块链实现安全多方计算的结果验证方法及系统
CN112134682A (zh) * 2020-09-09 2020-12-25 支付宝(杭州)信息技术有限公司 用于不经意传输ot扩展协议的数据处理方法及装置
CN114692201A (zh) * 2022-03-31 2022-07-01 北京九章云极科技有限公司 一种多方安全计算方法及系统

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10277561B2 (en) * 2016-07-22 2019-04-30 International Business Machines Corporation Database management system shared ledger support
WO2019110380A1 (en) * 2017-12-04 2019-06-13 Koninklijke Philips N.V. Nodes and methods of operating the same
US20190318118A1 (en) * 2018-04-16 2019-10-17 International Business Machines Corporation Secure encrypted document retrieval
US10289816B1 (en) 2018-06-08 2019-05-14 Gsfm Llc Methods, systems, and devices for an encrypted and obfuscated algorithm in a computing environment
CN110661764A (zh) 2018-06-29 2020-01-07 阿里巴巴集团控股有限公司 安全多方计算协议的输入获取方法和装置
WO2020068038A1 (en) * 2018-09-24 2020-04-02 Visa International Service Association Key management for multi-party computation
US10664612B2 (en) * 2018-10-09 2020-05-26 Unboun Tech Ltd. System and method for controlling operations performed on personal information
US11126709B2 (en) * 2019-01-28 2021-09-21 Nec Corporation Of America Secure multiparty computation of shuffle, sort, and set operations
US11343068B2 (en) 2019-02-06 2022-05-24 International Business Machines Corporation Secure multi-party learning and inferring insights based on encrypted data
US11245680B2 (en) * 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
JP7264232B2 (ja) * 2019-03-28 2023-04-25 日本電気株式会社 仲介装置、制御方法及びプログラム
US11190336B2 (en) * 2019-05-10 2021-11-30 Sap Se Privacy-preserving benchmarking with interval statistics reducing leakage
US11663521B2 (en) * 2019-11-06 2023-05-30 Visa International Service Association Two-server privacy-preserving clustering
US10924460B2 (en) 2019-12-13 2021-02-16 TripleBlind, Inc. Systems and methods for dividing filters in neural networks for private data computations
US11431688B2 (en) 2019-12-13 2022-08-30 TripleBlind, Inc. Systems and methods for providing a modified loss function in federated-split learning
US11973743B2 (en) 2019-12-13 2024-04-30 TripleBlind, Inc. Systems and methods for providing a systemic error in artificial intelligence algorithms
US10797866B1 (en) * 2020-03-30 2020-10-06 Bar-Ilan University System and method for enforcement of correctness of inputs of multi-party computations
US11507693B2 (en) 2020-11-20 2022-11-22 TripleBlind, Inc. Systems and methods for providing a blind de-identification of privacy data
US20220382908A1 (en) * 2021-05-25 2022-12-01 Meta Platforms, Inc. Private joining, analysis and sharing of information located on a plurality of information stores
US11625377B1 (en) * 2022-02-03 2023-04-11 TripleBlind, Inc. Systems and methods for enabling two parties to find an intersection between private data sets without learning anything other than the intersection of the datasets

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6834272B1 (en) * 1999-08-10 2004-12-21 Yeda Research And Development Company Ltd. Privacy preserving negotiation and computation
US7240198B1 (en) * 2000-08-08 2007-07-03 Yeda Research & Development Co., Ltd. Honesty preserving negotiation and computation
US7660786B2 (en) * 2005-12-14 2010-02-09 Microsoft Corporation Data independent relevance evaluation utilizing cognitive concept relationship
US8539220B2 (en) * 2010-02-26 2013-09-17 Microsoft Corporation Secure computation using a server module
US20120116911A1 (en) * 2010-11-09 2012-05-10 Statz, Inc. Data Valuation Estimates in Online Systems
US9077539B2 (en) * 2011-03-09 2015-07-07 Microsoft Technology Licensing, Llc Server-aided multi-party protocols
US8880882B2 (en) * 2012-04-04 2014-11-04 Google Inc. Securely performing programmatic cloud-based data analysis
US9252942B2 (en) * 2012-04-17 2016-02-02 Futurewei Technologies, Inc. Method and system for secure multiparty cloud computation
CN105637798A (zh) * 2013-03-04 2016-06-01 汤姆逊许可公司 用于隐私保护计数的方法和系统
US9799042B2 (en) * 2013-03-15 2017-10-24 Commerce Signals, Inc. Method and systems for distributed signals for use with advertising
US9158925B2 (en) * 2013-11-27 2015-10-13 Microsoft Technology Licensing, Llc Server-aided private set intersection (PSI) with data transfer
US9275237B2 (en) * 2013-12-09 2016-03-01 Palo Alto Research Center Incorporated Method and apparatus for privacy and trust enhancing sharing of data for collaborative analytics
US9736128B2 (en) * 2014-05-21 2017-08-15 The Board Of Regents, The University Of Texas System System and method for a practical, secure and verifiable cloud computing for mobile systems

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109886687A (zh) * 2019-02-28 2019-06-14 矩阵元技术(深圳)有限公司 一种基于区块链实现安全多方计算的结果验证方法及系统
CN109886687B (zh) * 2019-02-28 2023-12-05 矩阵元技术(深圳)有限公司 一种基于区块链实现安全多方计算的结果验证方法及系统
CN112134682A (zh) * 2020-09-09 2020-12-25 支付宝(杭州)信息技术有限公司 用于不经意传输ot扩展协议的数据处理方法及装置
CN112134682B (zh) * 2020-09-09 2022-04-12 支付宝(杭州)信息技术有限公司 用于不经意传输ot扩展协议的数据处理方法及装置
CN114692201A (zh) * 2022-03-31 2022-07-01 北京九章云极科技有限公司 一种多方安全计算方法及系统

Also Published As

Publication number Publication date
EP3469761A1 (en) 2019-04-17
US20170359321A1 (en) 2017-12-14
WO2017218268A1 (en) 2017-12-21

Similar Documents

Publication Publication Date Title
CN109314634A (zh) 安全数据交换
CN113159327B (zh) 基于联邦学习系统的模型训练方法、装置、电子设备
Dwivedi et al. Blockchain based secured information sharing protocol in supply chain management system with key distribution mechanism
CN105794145B (zh) 利用服务器辅助的私有集交集(psi)的方法
Nyamtiga et al. Blockchain-based secure storage management with edge computing for IoT
Son et al. Privacy-preserving peer-to-peer energy trading in blockchain-enabled smart grids using functional encryption
CN112132198B (zh) 数据处理方法、装置、系统和服务器
CN113127916B (zh) 数据集合处理方法、数据处理方法、装置及存储介质
Abeyesinghe et al. The mother of all protocols: Restructuring quantum information’s family tree
CN108027867A (zh) 计算高效的转账处理、审计以及搜索装置、方法和系统
JP2022058590A (ja) 情報の安全な比較
JP2018531431A6 (ja) 情報の安全な比較
George et al. Data sharing made easy by technology trends: New data sharing and privacy preserving technologies that bring in a new era of data monetization
Kaushik et al. Demystifying quantum blockchain for healthcare
Kaur et al. Blockchain technology for convergence: an overview, applications, and challenges
He et al. A novel method to enhance sustainable systems security in cloud computing based on the combination of encryption and data mining
Bloom et al. Quantum cryptography—A simplified undergraduate experiment and simulation
Tsai et al. Cryptanalysis and improvement of the semi-quantum key distribution robust against combined collective noise
Polychroniadou et al. Prime Match: A {Privacy-Preserving} Inventory Matching System
Zhang et al. SmartAuction: A blockchain-based secure implementation of private data queries
Yang et al. Cloud-based privacy-and integrity-protecting density peaks clustering
Srikanth et al. Secure quantum computing for healthcare sector: A short analysis
CN112949866A (zh) 泊松回归模型的训练方法、装置、电子设备及存储介质
Zhang et al. PXCrypto: A regulated privacy-preserving cross-chain transaction scheme
Liu et al. STEB: A secure service trading ecosystem based on blockchain

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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190205