CN111049825A - 一种基于可信执行环境的安全多方计算方法和系统 - Google Patents

一种基于可信执行环境的安全多方计算方法和系统 Download PDF

Info

Publication number
CN111049825A
CN111049825A CN201911273260.5A CN201911273260A CN111049825A CN 111049825 A CN111049825 A CN 111049825A CN 201911273260 A CN201911273260 A CN 201911273260A CN 111049825 A CN111049825 A CN 111049825A
Authority
CN
China
Prior art keywords
computing
trusted execution
execution environment
program
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
CN201911273260.5A
Other languages
English (en)
Other versions
CN111049825B (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.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information 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 Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201911273260.5A priority Critical patent/CN111049825B/zh
Publication of CN111049825A publication Critical patent/CN111049825A/zh
Application granted granted Critical
Publication of CN111049825B publication Critical patent/CN111049825B/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
    • 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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0869Network architectures or network communication protocols for network security for authentication of entities for achieving mutual authentication
    • 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

Landscapes

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

Abstract

本说明书实施例公开了一种基于可信执行环境的安全多方计算方法和系统。所述方法包括:将与安全多方计算相关的计算程序加载至可信执行环境中;基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性;若计算程序完整性验证成功,则在可信执行环境中执行所述计算程序并与其他参与方进行计算结果交互,以完成所述安全多方计算。本说明书将与安全多方计算相关的计算程序加载至可信执行环境运行,避免计算程序被恶意篡改,将适于半诚实攻击模型的安全多方计算提升为适于恶意攻击模型的安全多方计算,达到保护私有数据不被泄露同时计算速度不会降低的目的。

Description

一种基于可信执行环境的安全多方计算方法和系统
技术领域
本说明书涉及安全多方计算领域,特别涉及一种基于可信执行环境的安全多方计算方法和系统。
背景技术
安全多方计算的研究主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。在安全多方计算过程中,需要确保参与方能够诚信的按照约定函数或代码进行计算任务,进而确保数据安全同时计算结果正确。
目前安全多方计算的安全挑战模型可以划分为:1)半诚实攻击模型:此类模型假设所有参与方遵守协议;2)恶意攻击模型:存在参与方为了获取其他方的隐私不遵循协议,例如伪造和篡改协议。针对上述两种不同的安全挑战模型,可以将安全多方计算算法划分为:1)适于半诚实攻击模型,此类算法不会对参与方的恶意攻击行为采取甄别或防御措施,速度相对较快,但是无法阻止恶意修改协议的行为,安全级别较低;2)适于恶意攻击模型,此类算法可以鉴别恶意行为,从而保证计算结果正确,安全级别较高,但是计算速度较慢。
因此,提供一种可以将安全多方计算的安全级别从适于半诚实攻击模型升级为适于恶意攻击模型但却不会降低计算速度的方法,对保证安全多方计算的数据安全及提高安全多方计算的计算速度具有非常重要的意义。
发明内容
本说明书实施例之一提供一种基于可信执行环境的安全多方计算方法。所述基于可信执行环境的安全多方计算方法由参与安全多方计算的某一参与方执行,包括:将与安全多方计算相关的计算程序加载至可信执行环境中;基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性;若计算程序完整性验证成功,则在可信执行环境中执行所述计算程序并与其他参与方进行计算结果交互,以完成所述安全多方计算。
在一些实施例中,所述基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性,包括:接收其他参与方的验证请求;获取可信执行环境生成的证明信息;所述证明信息包括可信执行环境内部的程序信息以及可信执行环境的身份信息;将所述证明信息发送给所述其他参与方。
在一些实施例中,基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性,包括:向其他参与方发送验证请求;接收所述其他参与方返回的证明信息;所述证明信息包括所述其他参与方的可信执行环境内部的程序信息以及所述其他参与方的可信执行环境的身份信息;验证所述证明信息。
在一些实施例中,所述验证所述证明信息包括:将所述其他参与方的可信执行环境内部的程序信息与预先预定的程序信息进行比较;将所述其他参与方的可信执行环境的身份信息发送给可信第三方验证;若比较结果为一致,且可信第三方验证结果为合法则所述其他参与方的计算程序完整性验证成功。
在一些实施例中,与安全多方计算的计算程序属于半诚实攻击型计算程序。
在一些实施例中,所述方法还包括获取其他参与方的可信执行环境生成的密钥;所述其他参与方进行计算结果交互,以完成所述安全多方计算,还包括:利用自身可信执行环境生成的密钥加密计算结果;和/或,利用其它参与方的可信执行环境生成的密钥解密来自其他参与方的计算结果。
在一些实施例中,所述可信执行环境包括SGX可信执行环境。
本说明书实施例之一提供一种基于可信执行环境的安全多方计算系统,所述系统包括程序加载模块、程序验证模块以及安全多方计算交互模块;所述程序加载模块用于将与安全多方计算相关的计算程序加载至可信执行环境中;所述程序验证模块用于基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性;所述安全多方计算交互模块用于当计算程序完整性验证成功时,则在可信执行环境中执行所述计算程序并与其他参与方进行计算结果交互,以完成所述安全多方计算。
在一些实施例中,所述程序验证模块包括自证子模块,所述自证子模块用于:接收其他参与方的验证请求;获取可信执行环境生成的证明信息;所述证明信息包括可信执行环境内部的程序信息以及可信执行环境的身份信息;将所述证明信息发送给所述其他参与方。
在一些实施例中,所述程序验证模块包括挑战子模块,所述挑战子模块用于:向其他参与方发送验证请求;接收所述其他参与方返回的证明信息;所述证明信息包括所述其他参与方的可信执行环境内部的程序信息以及所述其他参与方的可信执行环境的身份信息;验证所述证明信息。
在一些实施例中,所述挑战子模块还用于:将所述其他参与方的可信执行环境内部的程序信息与预先预定的程序信息进行比较;将所述其他参与方的可信执行环境的身份信息发送给可信第三方验证;当比较结果为一致,且可信第三方验证结果为合法时,判定所述其他参与方的计算程序完整性验证成功。
在一些实施例中,与安全多方计算的计算程序属于半诚实攻击型计算程序。
在一些实施例中,所述系统还包括获取模块,用于获取其他参与方的可信执行环境生成的密钥;所述安全多方计算交互模块还用于:利用自身可信执行环境生成的密钥加密计算结果;和/或,利用其它参与方的可信执行环境生成的密钥解密来自其他参与方的计算结果。
在一些实施例中,所述可信执行环境包括SGX可信执行环境。
本说明书实施例之一提供一种基于可信执行环境的安全多方计算系统,包括处理器以及存储介质,其中,存储介质用于存储计算机指令,所述处理器用于执行所述计算机指令以实现所述的一种基于可信执行环境的安全多方计算方法。
本说明书实施例之一提供一种计算机可读存储介质,当计算机读取存储介质中的计算机指令被处理器执行后,计算机执行实现所述的一种基于可信执行环境的安全多方计算方法。
附图说明
本说明书将以示例性实施例的方式进一步说明,这些示例性实施例将通过附图进行详细描述。这些实施例并非限制性的,在这些实施例中,相同的编号表示相同的结构,其中:
图1是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算系统的应用场景示意图;
图2是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算方法的示例性流程图;
图3是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算方法的示例性流程图;
图4是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算系统的模块图。
具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模组”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算系统的应用场景示意图。
安全多方计算系统100可以适用于任何需要保护计算程序不被篡改并进行安全多方计算场景。例如,在数据安全查询方面,由于政府部门的系统中往往储存了大量的公民和企业经营数据,很多商业机构需要查询信息用作商业用途,但政府不希望数据被泄露或被拷贝走,同时,有些场景下商业机构也不希望政府知道其查询条件,利用安全多方计算系统100,可以实现数据的安全查询,此外,数据安全查询的解决方案还可应用在商业竞争、数据合作等众多领域中。在联合数据分析方面,跨机构的合作以及跨国公司的经营运作等经常需要从多个数据源获取数据,拼凑成全量数据再进行分析,已有的数据分析算法可能导致隐私暴露和数据所有权的转移,应用安全多方计算系统100可以使原始数据在无需归集与共享的情况下实现计算,保护目标数据持有方的隐私及资产安全。上述对安全多方计算系统100的应用场景仅是示例性举例,除此之外,安全多方计算系统100还可以用于经济、文化、教育、医疗、公共管理等各行各业信息进行判断和使用。
在一些实施例中,安全多方计算算法适用于半诚实攻击模型,此类算法不能阻止参与方恶意修改协议的行为,安全级别较低,但是计算速度较快。在一些实施例中,安全多方计算算法适于恶意攻击模型,这类算法具有甄别或防御恶意行为的能力,安全级别较高,但是运算速度较慢。在一些实施例中,有必要提供一种安全级别高,同时运算速度快的安全多方计算方法。为达到此目的,在一些实施例中,安全多方计算系统100可以将与安全多方计算相关的计算程序加载至可信执行环境运行,避免计算程序被恶意篡改,达到将安全多方计算的安全级别从适于半诚实攻击模型提升为适于恶意攻击模型,同时不会降低计算速度的目的。
在一些实施例中,安全多方计算系统100可以包括多个参与方的安全多方计算服务器110、网络120以及远程验证服务器130。多个参与方的安全多方计算服务器110如图1示出的第一安全多方计算服务器110-1、第二安全多方计算服务器110-2、第三安全多方计算服务器110-3。值得注意的是,安全多方计算服务器110的数量在图1中只是示例性的,实际安全多方计算服务器110的数量还可以是两个或更多个。
在一些实施例中,安全多方计算服务器110可以部署有可信执行环境,进而可以将与安全多方计算相关的计算程序加载至可信执行环境运行。在一些实施例中,可信执行环境可以是基于TrustZone硬件实现的。在一些实施例中,可信执行环境可以是基于SGX技术实现。在一些实施例中,可信执行环境可以是指SGX的enclave区域。
在一些实施例中,安全多方计算服务器110可以是单个服务器,也可以是服务器组。服务器组可以是经由接入点连接到网络的集中式服务器组,或者经由至少一个接入点分别连接到网络的分布式服务器组。在一些实施例中,安全多方计算服务器110可以在云平台上实施。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,每个安全多方计算服务器110可以通过网络120进行通讯以互相验证其身份并进行安全多方计算。在一些实施例中,安全多方计算服务器110中的至少一个组件(例如,数据储存设备、与安全多方计算相关的计算程序)可以经由网络将信息和/或数据发送到安全多方计算服务器110中的其他组件。
在一些实施例中,安全多方计算系统100中各部分之间的网络120可以是有线网络或无线网络中的任意一种或多种。例如,网络可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络(ZigBee)、近场通信(NFC)、设备内总线、设备内线路、线缆连接等或其任意组合。每两个部分之间的网络连接可以是采用上述一种方式,也可以是采取多种方式。
远程验证服务器130是可以验证各个安全多方计算服务器110可信执行环境的远程服务器。在一些实施例中,远程验证服务器130可以对安全多方计算服务器110发送的数字签名信息进行验证,以确定数字签名是否是由可信执行环境生成,并将验证结果返回给安全多方计算服务器110。在一些实施例中,远程验证服务器130由未参与安全多方计算的第三方(如Intel)拥有。
在一些实施例中,安全多方计算服务器110、远程验证服务器130还可以拥有数据储存设备。数据储存设备可以存储执行的数据和/或指令,例如储存于安全多方计算相关的计算程序或用于安全多方计算的数据/信息。在一些实施例中,数据储存设备可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性的大容量存储器可以包括磁盘、光盘、固态磁盘等。示例性可移动存储器可以包括闪存驱动器、软盘、光盘、存储卡、压缩盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDRSDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(PEROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,数据储存设备可在云平台上实现。仅作为示例,云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
应当注意的是,上述有关安全多方计算系统100的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对安全多方计算系统100进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图2是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算方法的示例性流程图。在一些实施例中,流程200可以由参与安全多方计算的任一参与方执行,其包括:
步骤220,将与安全多方计算相关的计算程序加载至可信执行环境中。具体的,该步骤可以由程序加载模块410执行。
在一些实施例中,安全多方计算是指多个参与方共同的完成一个约定计算任务的算法或计算程序。在一些实施例中,安全多方计算可以是数据安全查询或联合数据分析。在一些实施例中,安全多方计算还可以是多方参与的机器模型训练过程或者预测过程。在一些实施例中,安全多方计算可以是适于半诚实攻击类型或适于恶意攻击模型。本说明书对安全多方计算的具体内容和安全级别不做任何限制。
在一些实施例中,与安全多方计算相关的计算程序是指在多个参与方进行安全多方计算时执行的程序代码。在一些实施例中,与安全多方计算相关的计算程序可以是由C、C++、JAVA、PHP、VB、Frutta等语言编写的。在一些实施例中,与安全多方计算相关的计算程序可以采用加密电路、秘密分享(Secret Sharing)、同态加密、不经意传输等密码学技术。
可信执行环境可以是设备处理器上的一个安全区域,其可以保证加载到该环境内部的代码和数据的安全性、机密性以及完整性。在一些实施例中,可信执行环境可以是基于TrustZone硬件实现的。在一些实施例中,可信执行环境可以是基于SGX技术实现。在一些实施例中,可信执行环境可以是指SGX的enclave区域。在一些实施例中,enclave区域驻留在EPC(enclave page cache)中,EPC(enclave page cache)是指系统内一块被保护的物理内存区域。
在一些实施例中,将与安全多方计算相关的计算程序加载至可信执行环境中可以是为该计算程序创建一个安全执行区域。以SGX为例,将计算程序加载至可信执行环境中可以是指为该计算程序创建一个enclave。在一些实施例中,在为计算程序申请创建一个enclave时,会进行页面分配、复制程序代码与数据和度量操作,最后对enclave的完整性进行验证,判断计算程序在创建过程中是否篡改了程序数据。在一些实施例中,计算程序成功进行初始化之后,才能进入enclave执行程序,此后SGX提供的内存保护和地址映射保护使得外界无法访问enclave内存,从而保证了enclave的机密性和完整性。
步骤240,基于可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性。具体的,该步骤可以由程序验证模块420执行。
在一些实施例中,其他参与方可以是指与本流程执行主体协同参与安全多方计算的执行主体。在一些实施例中,其他参与方可以是指政府或各类商业机构。在一些实施例中,其他参与方可以指属于前述机构的计算设备,如安全多方计算服务器110。
在一些实施例中,计算程序的完整性是指参与方执行的安全多方计算的计算程序未被篡改和/或计算程序在安全的可信执行环境中执行。在一些实施例中,篡改可以是指将原计算程序代码进行修改成为恶意代码。在一些实施例中,篡改可以是指在原计算程序代码的基础上增加恶意代码。在一些实施例中,篡改可以是指在原计算程序代码的基础上删减掉部分代码,例如验证代码、保护数据不被泄露的代码。
在一些实施例中,基于可信执行环境验证计算程序的完整性可以指基于可信执行环境生成与计算程序相关的证明信息,以证明目标计算程序正在可信执行环境中运行。在一些实施例中,基于可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性可以包括基于自身的计算程序和/或可信执行环境生成证明信息,以证明自身计算程序的完整性,以及包括向其他参与方发起挑战,邀请对方给出相关证明信息,以验证对方计算程序的完整性。
关于基于可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性详见附图3的相关说明。
步骤250,计算程序完整性验证是否成功。具体的,该步骤可以由程序验证模块420执行。
完成基于可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性后,则可以判断计算程序完整性验证是否成功。在一些实施例中,当多个安全多方计算参与方的计算程序运行在enclave中,同时多个安全多方计算参与方的计算程序均为预先约定好未被篡改的计算程序时,可以认为计算程序完整性验证成功。在一些实施例中,若发现某个安全多方计算参与方的计算程序未运行在enclave中或运行程序并非预先约定的计算程序,则可以认为计算程序完整性验证失败。
若计算机程序完整性验证成功,则可执行步骤260,可信执行环境中执行所述计算程序并与其他参与方进行计算结果交互,以完成所述安全多方计算。具体的,该步骤可以由安全多方计算交互模块430执行。
计算结果交互是指进行安全多方计算并将计算结果发送至其他参与方,以便各参与方完成多方计算。在一些实施例中,计算结果可以是计算程序的中间结果,也可以是计算程序的最终结果。仅作为示例,所述计算结果可以是模型训练过程中的梯度数据,或者是某参与方拥有的部分模型的预测结果,又或者是计算过程中的秘密分享分片。本说明书对计算结果的内容不做任何限制。
在一些实施例中,各参与方可以基于自身计算结果以及来自其他参与方的计算结果获得最终的安全多方计算结果。例如,参与方A可以基于参与方B传输的梯度参数训练本地模型,从而完成本地机器学习模型的训练。又例如,参与方A可以从参与方C与参与方D处获得决策树模型预测的可能达到的叶子节点,并基于自身预测的可能达到的叶子节点以及参与方C、D的预测结果的交集,确定联合预测的最终结果。
在一些实施例中,各参与方的程序完整性验证过程中,可以通过其计算程序对应的Enclave生成密钥,将所述密钥连同证明信息一并发送给请求验证的参与方,或者将密钥作为证明信息的一部分发送给请求验证的参与方。当程序完整性验证成功后,各参与方可以用密钥对计算结果加密,并传输给其他参与方。在一些实施例中,各参与方可以通过其计算程序对应的Enclave生成公私钥对,并将公钥发送给其他参与方。仅作为示例,参与方A执行安全多方计算的计算程序得到某计算结果后,可以利用其私钥对计算结果进行加密,并将加密结果发送给参与方B,参与方B通过参与方A的公钥对计算结果解密,在得到计算结果的同时可以确保该计算结果是被验证的计算程序在其Enclave中生成的。可以理解,如果某参与方在程序完整性验证结束后便关闭目标计算程序,开启其他程序,与目标计算程序关联的Enclave也会被释放掉,其生成的密钥也会丢失,新开启的程序将无法获得原密钥,其他参与方利用原公钥不能解密参与方A新开启的程序“伪造”的计算结果,从而确保在程序完整性验证结束后,有效防止各参与方篡改计算程序。
在一些实施例中,若验证不成功,可执行步骤280,发出警告或计算程序完整性验证的验证结果。具体的,该步骤可以由提示模块440执行。
在一些实施例中,若验证不成功,则可以向其他参与方发出警告或计算程序完整性验证的验证结果,以保证各参与方能够及时得知验证结果并采取措施。在一些实施例中,警告是指计算程序完整性验证未通过后发出的信息。在一些实施例中,警告可以是以短信、邮件、弹窗等方式进行提示。在一些实施例中,警告信息可以包括验证方身份信息、验证未通过具体原因以及若执行安全多方计算计算程序可能造成的危害等信息。在一些实施例中,验证结果是计算程序完整性验证的结果信息。在一些实施例中,验证结果可以是以短信、邮件、弹窗等方式提示给参与方。在一些实施例中,验证结果可以包括如“验证通过”、“验证不通过”的明文信息。在一些实施例中,验证结果可以包括验证结果发送方的身份信息、验证未通过具体原因以及若执行安全多方计算计算程序可能造成的危害等信息。
图3是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算相关的计算程序验证过程的示例性交互流程图。
在一些实施例中,计算程序的完整性验证可以包括自证过程以及挑战过程。其中,自证过程是基于对方挑战生成证明信息,证明自身的计算程序的完整性。挑战过程是指向对方发起挑战,邀请对方证明自身计算程序的完整性。任一参与方可以执行自证过程和/或挑战过程,以完成验证。在一些实施例中,自证过程可以由自证子模块421执行,挑战过程可以由挑战子模块422执行。
根据图3所示,基于可信执行环境的计算程序完整性的自证过程可以包括:
步骤320,接收其他参与方的验证请求。
仅作为示例,参与方B可以向参与方A发起验证请求,邀请参与方A给出能够证明其与安全多方计算相关的计算程序的完整性。
步骤340,获取可信执行环境生成的证明信息。
在一些实施例中,参与方A可以基于可信执行环境生成证明信息,并发送给参与方B。在一些实施例中,证明信息包括可信执行环境内部的程序信息以及可信执行环境的身份信息。其中,程序信息可以是指在可信执行环境内运行的程序代码,或者该程序代码的编译结果,或者前述任意结果的映射值,如hash值。可信执行环境的身份信息可以指能标识计算程序执行环境的信息,如可信执行环境私有的数据或仅能由所述可信执行环境生成的数据。仅作为示例,可信执行环境的身份信息可以是基于该可信执行环境私钥生成的数字签名。例如,可信执行环境将其内部的计算程序进行处理,以生成所述程序信息,之后可信执行环境利用其私钥对所述程序信息进行签名,最终基于所述签名结果以及程序信息生成的证明信息。
如图3,以SGX为例,参与方A可以指示可信执行环境产生一个报告结构REPORT。具体的,报告结构REPORT可以包括参与方A的身份信息和属性、硬件环境信息、可信执行环境内部的计算程序信息等。进一步,可信执行环境可以通过其Quoting Enclave通过REPORT验证该计算程序是否运行于同一平台,验证通过后,Quoting Enclave将REPORT封装成一种能够代表Enclave和平台状态信息的QUOTE结构,然后Quoting Enclave使用仅能由其获取的EPID密钥对QUOTE结构进行签名,获得所述证明信息。
步骤360,将所述证明信息发送给所述其他参与方。
在一些实施例中,生成证明信息后,可以将证明信息发送给所述其他参与方进行检验。关于验证证明信息的流程可以参见步骤521至步骤560的相关说明。
根据图3所示,所述基于可信执行环境的安全多方计算方法计算程序完整性的挑战过程可以包括:
步骤420,向其他参与方发送验证请求。
在一些实施例,本地安全多方计算服务器110除了可以接收验证请求外,还可以向其他方发送验证请求,以对其他参与方的计算程序进行完整性验证。在一些实施例中,验证请求可以是本地安全多方计算服务器110加载在enclave可信执行环境中的计算程序发出的。仅作为示例,参与方B可以向参与方A发起验证请求。
步骤440,接收所述其他参与方返回的证明信息。
关于证明信息的详细内容可以参见步骤320~360的相关说明。
步骤460,验证所述证明信息。
以图3作为示例,参与方B可以对参与方A发送的证明信息进行验证。证明信息可以包括待验证的程序信息和/或被验证方可信执行环境的身份信息。参与方B可以对证明信息中的程序信息以及所述身份信息分别进行验证。
在一些实施例中,参与方B可以将证明信息中的身份信息发送给可信第三方验证。
可信第三方是指能够对各个参与方可信执行环境的身份信息进行验证的服务器。在一些实施例中,可信第三方可以是指远程验证服务器130。在一些实施例中,可信第三方可以是由Intel官方拥有专门对QUOTE进行验证的服务器,该服务器拥有Intel旗下的各可信执行环境的签名密钥对应的验签公钥,通过验签可以证明相应的数字签名是否是其旗下可信执行环境生成,进而验证可信执行环境的身份信息是否合法。
在一些实施例中,参与方B可以将经过签名的QUOTE发送给第三方,第三方利用其拥有的公钥对QUOTE进行验签,如果验签成功,则说明可信执行环境的身份信息是合法的。在一些实施例中,第三方可以将是否验签成功的结果发送给参与方B,或者将验签得到的数据发送给参与方B。
在一些实施例中,参与方可以将所述其他参与方的可信执行环境内部的程序信息与预先预定的程序信息进行比较。
在一些实施例中,参与方B还可以将所述其他参与方的可信执行环境内部的程序信息与预先约定的程序信息进行比较,以保证程序信息未被篡改。在一些实施例中,各参与方在进行安全多方计算前会将自身的计算程序或者其编译结果向对方公开。在一些实施例中,当计算程序需要保密时,各参与方可以将自身的计算程序的映射值向其他参与方公开。所述映射值可以是hash值。在一些实施例中,预先约定的程序信息可以包括各参与方预先公开的安全多方计算的计算程序或者其编译结果或者前述任意数据的映射值。
在一些实施例中,参与方B可以将证明信息中的其他参与方的可信执行环境内部的程序信息与预先约定的程序信息进行比较。如果其他参与方可信执行环境内的计算程序被篡改,证明信息包含程序信息将不再与预先约定的程序信息相同。在一些实施例中,其他参与方的程序信息是经过其可信执行环境的私钥签名的,此时需要第三方将验签得到的数据发送给参与方B,参与方B再基于第三方返回的验签结果与预先约定的程序信息进行比较。
在一些实施例中,当第三方验签成功且证明信息中的程序信息与预先约定的程序信息一致时,则可确定其他参与方的计算程序完整性验证成功。通过第三方验签,可以确保被验证方的可信执行环境的身份信息可靠,通过比较由被验证方可信执行环境生成的程序信息与预先约定的程序信息是否一致,可以确定被验证方正在执行的程序是否被篡改,最终保证参与安全多方计算的计算程序可信任。
图4是根据本说明书一些实施例所示的基于可信执行环境的安全多方计算系统的模块图。
如图4所示,该基于可信执行环境的安全多方计算系统可以包括程序加载模块410、程序验证模块420、安全多方计算交互模块430、提示模块440以及获取模块450。
程序加载模块410可以用于将与安全多方计算相关的计算程序加载至可信执行环境中。在一些实施例中,安全多方计算是指多个参与方共同的完成一个约定计算任务的算法或计算程序。在一些实施例中,安全多方计算可以是数据安全查询或联合数据分析。在一些实施例中,安全多方计算还可以是多方参与的机器模型训练过程或者预测过程。在一些实施例中,将与安全多方计算相关的计算程序加载至可信执行环境中可以是为该计算程序创建一个安全执行区域。
程序验证模块420可以用于基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性。在一些实施例中,计算程序的完整性是指参与方执行的安全多方计算的计算程序未被篡改和/或计算程序在安全的可信执行环境中执行。在一些实施例中,基于可信执行环境验证计算程序的完整性可以指基于可信执行环境生成与计算程序相关的证明信息,以证明目标计算程序正在可信执行环境中运行。
在一些实施例中,程序验证模块420可以包括自证子模块421及挑战子模块422。在一些实施例中,计算程序的完整性验证可以包括自证过程以及挑战过程。其中,自证过程是基于对方挑战生成证明信息,证明自身的计算程序的完整性。挑战过程是指向对方发起挑战,邀请对方证明自身计算程序的完整性。在一些实施例中,自证过程可以由自证子模块421执行,挑战过程可以由挑战子模块422执行。
在一些实施例中,自证子模块421可以用于接收其他参与方的验证请求。在一些实施例中,自证子模块421还可以用于获取可信执行环境生成的证明信息;所述证明信息包括可信执行环境内部的程序信息以及可信执行环境的身份信息。在一些实施例中,自证子模块421还可以用于将所述证明信息发送给所述其他参与方。
在一些实施例中,挑战子模块422可以用于向其他参与方发送验证请求。在一些实施例中,挑战子模块422还可以用于接收所述其他参与方返回的证明信息。在一些实施例中,挑战子模块422还可以用于验证所述证明信息。
安全多方计算交互模块430可以用于当计算程序完整性验证成功时,则在可信执行环境中执行所述计算程序并与其他参与方进行计算结果交互,以完成所述安全多方计算。
在一些实施例中,所述安全多方计算交互模块430还可以用于利用自身可信执行环境生成的密钥加密计算结果;和/或,利用其它参与方的可信执行环境生成的密钥解密来自其他参与方的计算结果。
提示模块440可以用于当计算程序完整性验证不成功时,发出警告或计算程序完整性验证的验证结果。在一些实施例中,若验证不成功,则可以向其他参与方发出警告或计算程序完整性验证的验证结果,以保证各参与方能够及时得知验证结果并采取措施。
获取模块450可以用于获取其他参与方的可信执行环境生成的密钥。在一些实施例中,各参与方的程序完整性验证过程中,可以通过其计算程序对应的Enclave生成密钥,将所述密钥连同证明信息一并发送给请求验证的参与方,或者将密钥作为证明信息的一部分发送给请求验证的参与方。当程序完整性验证成功后,各参与方可以用密钥对计算结果加密,并传输给其他参与方,从而确保在程序完整性验证结束后,有效防止各参与方篡改计算程序。
应当理解,图4所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于候选项显示、确定系统及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,在一些实施例中,例如,图4中披露的程序加载模块410、程序验证模块420、安全多方计算交互模块430和提示模块440可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。例如,程序加载模块410、程序验证模块420可以是两个模块,也可以是一个模块同时具有加载和验证功能。例如,各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)将与安全多方计算相关的计算程序加载至可信执行环境运行,避免计算程序被恶意篡改,达到将适于半诚实攻击模型的安全多方计算提升为适于恶意攻击模型的安全多方计算,同时计算速度不会降低;(2)程序完整性验证成功后,通过参与方可信执行环境生成的密钥对计算结果加解密,可以有效防止参与方在程序完整性验证结束后篡改计算程序。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域技术人员可以理解,本说明书的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的工序、机器、产品或物质的组合,或对他们的任何新的和有用的改进。相应地,本说明书的各个方面可以完全由硬件执行、可以完全由软件(包括固件、常驻软件、微码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“数据块”、“模块”、“引擎”、“单元”、“组件”或“系统”。此外,本说明书的各方面可能表现为位于一个或多个计算机可读介质中的计算机产品,该产品包括计算机可读程序编码。
计算机存储介质可能包含一个内含有计算机程序编码的传播数据信号,例如在基带上或作为载波的一部分。该传播信号可能有多种表现形式,包括电磁形式、光形式等,或合适的组合形式。计算机存储介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通讯、传播或传输供使用的程序。位于计算机存储介质上的程序编码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF、或类似介质,或任何上述介质的组合。
本说明书各部分操作所需的计算机程序编码可以用任意一种或多种程序语言编写,包括面向对象编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序编码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。

Claims (14)

1.一种基于可信执行环境的安全多方计算方法,所述方法由参与安全多方计算的某一参与方执行,包括:
将与安全多方计算相关的计算程序加载至可信执行环境中;
基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性,以及获取其他参与方的可信执行环境生成的密钥;
若计算程序完整性验证成功,则在可信执行环境中执行所述计算程序并与其他参与方进行计算结果交互,以完成所述安全多方计算;其中,与其他参与方进行计算结果交互,还包括:
利用自身可信执行环境生成的密钥加密计算结果;
和/或,利用其它参与方的可信执行环境生成的密钥解密来自其他参与方的计算结果。
2.如权利要求1所述的方法,所述基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性,包括:
接收其他参与方的验证请求;
获取可信执行环境生成的证明信息;所述证明信息包括可信执行环境内部的程序信息以及可信执行环境的身份信息;
将所述证明信息发送给所述其他参与方。
3.如权利要求1所述的方法,所述基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性,包括:
向其他参与方发送验证请求;
接收所述其他参与方返回的证明信息;所述证明信息包括所述其他参与方的可信执行环境内部的程序信息以及所述其他参与方的可信执行环境的身份信息;
验证所述证明信息。
4.如权利要求3所述的方法,所述验证所述证明信息包括:
将所述其他参与方的可信执行环境内部的程序信息与预先预定的程序信息进行比较;
将所述其他参与方的可信执行环境的身份信息发送给可信第三方验证;
若比较结果为一致,且可信第三方验证结果为合法则所述其他参与方的计算程序完整性验证成功。
5.如权利要求1所述的方法,所述与安全多方计算相关的计算程序适于半诚实攻击模型。
6.如权利要求1所述的方法,所述可信执行环境包括SGX可信执行环境。
7.一种基于可信执行环境的安全多方计算系统,包括程序加载模块、程序验证模块、获取模块以及安全多方计算交互模块;
所述程序加载模块用于将与安全多方计算相关的计算程序加载至可信执行环境中;
所述程序验证模块用于基于所述可信执行环境与其他参与方互相验证各自的与安全多方计算相关的计算程序的完整性;
获取模块用于获取其他参与方的可信执行环境生成的密钥;
所述安全多方计算交互模块用于当计算程序完整性验证成功时,则在可信执行环境中执行所述计算程序并与其他参与方进行计算结果交互,以完成所述安全多方计算;其中,与其他参与方进行计算结果交互,还包括:
利用自身可信执行环境生成的密钥加密计算结果;
和/或,利用其它参与方的可信执行环境生成的密钥解密来自其他参与方的计算结果。
8.如权利要求7所述的系统,所述程序验证模块包括自证子模块,所述自证子模块用于:
接收其他参与方的验证请求;
获取可信执行环境生成的证明信息;所述证明信息包括可信执行环境内部的程序信息以及可信执行环境的身份信息;
将所述证明信息发送给所述其他参与方。
9.如权利要求7所述的系统,所述程序验证模块包括挑战子模块,所述挑战子模块用于:
向其他参与方发送验证请求;
接收所述其他参与方返回的证明信息;所述证明信息包括所述其他参与方的可信执行环境内部的程序信息以及所述其他参与方的可信执行环境的身份信息;
验证所述证明信息。
10.如权利要求9所述的系统,所述挑战子模块还用于:将所述其他参与方的可信执行环境内部的程序信息与预先预定的程序信息进行比较;
将所述其他参与方的可信执行环境的身份信息发送给可信第三方验证;
当比较结果为一致,且可信第三方验证结果为合法时,判定所述其他参与方的计算程序完整性验证成功。
11.如权利要求7所述的系统,所述与安全多方计算相关的计算程序适于半诚实攻击模型。
12.如权利要求7所述的系统,所述可信执行环境包括SGX可信执行环境。
13.一种基于可信执行环境的安全多方计算系统,包括处理器以及存储介质,其中,存储介质用于存储计算机指令,所述处理器用于执行所述计算机指令以实现如权利要求1~6任一项所述的一种基于可信执行环境的安全多方计算方法。
14.一种计算机可读存储介质,所述存储介质存储计算机指令,当存储介质中的计算机指令被处理器执行后,实现如权利要求1~6任一项所述的一种基于可信执行环境的安全多方计算方法。
CN201911273260.5A 2019-12-12 2019-12-12 一种基于可信执行环境的安全多方计算方法和系统 Active CN111049825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911273260.5A CN111049825B (zh) 2019-12-12 2019-12-12 一种基于可信执行环境的安全多方计算方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911273260.5A CN111049825B (zh) 2019-12-12 2019-12-12 一种基于可信执行环境的安全多方计算方法和系统

Publications (2)

Publication Number Publication Date
CN111049825A true CN111049825A (zh) 2020-04-21
CN111049825B CN111049825B (zh) 2021-11-30

Family

ID=70236000

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911273260.5A Active CN111049825B (zh) 2019-12-12 2019-12-12 一种基于可信执行环境的安全多方计算方法和系统

Country Status (1)

Country Link
CN (1) CN111049825B (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111523145A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 针对隐私数据进行安全运算的方法和装置
CN111563261A (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的隐私保护多方计算方法和系统
CN111586142A (zh) * 2020-04-30 2020-08-25 王伟 一种安全多方计算方法及系统
CN111639367A (zh) * 2020-07-31 2020-09-08 支付宝(杭州)信息技术有限公司 基于树模型的两方联合分类方法、装置、设备及介质
CN111639343A (zh) * 2020-06-02 2020-09-08 重庆智者炎麒科技有限公司 一种基于可信执行环境的客流分析方法和系统
CN111723381A (zh) * 2020-07-03 2020-09-29 重庆智者炎麒科技有限公司 一种基于tee的投票方法和系统
CN112087304A (zh) * 2020-09-18 2020-12-15 湖南红普创新科技发展有限公司 可信计算环境的异构融合方法、装置及相关设备
CN112464174A (zh) * 2020-10-27 2021-03-09 华控清交信息科技(北京)有限公司 验证多方安全计算软件的方法、装置和用于验证的装置
CN112926051A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 多方安全计算方法和装置
CN113111391A (zh) * 2021-04-09 2021-07-13 支付宝(杭州)信息技术有限公司 用于内存完整性保护的方法和内存控制器
CN114697030A (zh) * 2022-05-31 2022-07-01 蓝象智联(杭州)科技有限公司 多方安全计算参与方的数据验证方法
CN115037434A (zh) * 2022-04-29 2022-09-09 北京龙腾佳讯科技股份公司 基于隐私计算的多方数据安全计算方法及系统
CN116881973A (zh) * 2023-09-05 2023-10-13 浙江省金融综合服务平台管理有限公司 一种基于多数据源的金融隐私数据可信计算方法及系统
CN117033448A (zh) * 2023-10-08 2023-11-10 杭州金智塔科技有限公司 基于可信执行环境的数据查询方法以及系统
WO2024027665A1 (zh) * 2022-08-01 2024-02-08 阿里云计算有限公司 一种数据融合方法、设备、系统及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质
US20190149333A1 (en) * 2017-11-15 2019-05-16 International Business Machines Corporation Methods and systems for supporting fairness in secure computations
CN110011801A (zh) * 2018-11-16 2019-07-12 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
CN110034924A (zh) * 2018-12-12 2019-07-19 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN110138799A (zh) * 2019-05-30 2019-08-16 东北大学 一种基于sgx的安全云存储方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190149333A1 (en) * 2017-11-15 2019-05-16 International Business Machines Corporation Methods and systems for supporting fairness in secure computations
CN109101822A (zh) * 2018-07-10 2018-12-28 西安交通大学 一种解决多方计算中数据隐私泄露问题的方法
CN110011801A (zh) * 2018-11-16 2019-07-12 阿里巴巴集团控股有限公司 可信应用程序的远程证明方法及装置、电子设备
CN110034924A (zh) * 2018-12-12 2019-07-19 阿里巴巴集团控股有限公司 一种数据处理方法和装置
CN109615378A (zh) * 2019-01-24 2019-04-12 上海点融信息科技有限责任公司 基于区块链的安全多方计算方法、装置及可读存储介质
CN110138799A (zh) * 2019-05-30 2019-08-16 东北大学 一种基于sgx的安全云存储方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
孙溢: "安全多方计算中若干应用协议的研究", 《中国优秀博士论文全文数据库信息科技辑》 *
王进文等: "SGX技术应用研究综述", 《网络新媒体技术》 *

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111586142B (zh) * 2020-04-30 2023-09-12 王伟 一种安全多方计算方法及系统
CN111586142A (zh) * 2020-04-30 2020-08-25 王伟 一种安全多方计算方法及系统
CN111563261A (zh) * 2020-05-15 2020-08-21 支付宝(杭州)信息技术有限公司 一种基于可信执行环境的隐私保护多方计算方法和系统
CN111639343A (zh) * 2020-06-02 2020-09-08 重庆智者炎麒科技有限公司 一种基于可信执行环境的客流分析方法和系统
CN111723381A (zh) * 2020-07-03 2020-09-29 重庆智者炎麒科技有限公司 一种基于tee的投票方法和系统
CN111523145A (zh) * 2020-07-03 2020-08-11 支付宝(杭州)信息技术有限公司 针对隐私数据进行安全运算的方法和装置
CN111639367A (zh) * 2020-07-31 2020-09-08 支付宝(杭州)信息技术有限公司 基于树模型的两方联合分类方法、装置、设备及介质
CN112087304A (zh) * 2020-09-18 2020-12-15 湖南红普创新科技发展有限公司 可信计算环境的异构融合方法、装置及相关设备
CN112464174B (zh) * 2020-10-27 2023-09-29 华控清交信息科技(北京)有限公司 验证多方安全计算软件的方法、装置和用于验证的装置
CN112464174A (zh) * 2020-10-27 2021-03-09 华控清交信息科技(北京)有限公司 验证多方安全计算软件的方法、装置和用于验证的装置
CN112926051A (zh) * 2021-03-25 2021-06-08 支付宝(杭州)信息技术有限公司 多方安全计算方法和装置
WO2022199290A1 (zh) * 2021-03-25 2022-09-29 支付宝(杭州)信息技术有限公司 多方安全计算
CN113111391A (zh) * 2021-04-09 2021-07-13 支付宝(杭州)信息技术有限公司 用于内存完整性保护的方法和内存控制器
CN113111391B (zh) * 2021-04-09 2022-07-08 支付宝(杭州)信息技术有限公司 用于内存完整性保护的方法和内存控制器
CN115037434B (zh) * 2022-04-29 2023-04-21 北京龙腾佳讯科技股份公司 基于隐私计算的多方数据安全计算方法及系统
CN115037434A (zh) * 2022-04-29 2022-09-09 北京龙腾佳讯科技股份公司 基于隐私计算的多方数据安全计算方法及系统
CN114697030B (zh) * 2022-05-31 2022-09-20 蓝象智联(杭州)科技有限公司 多方安全计算参与方的数据验证方法
CN114697030A (zh) * 2022-05-31 2022-07-01 蓝象智联(杭州)科技有限公司 多方安全计算参与方的数据验证方法
WO2024027665A1 (zh) * 2022-08-01 2024-02-08 阿里云计算有限公司 一种数据融合方法、设备、系统及存储介质
CN116881973A (zh) * 2023-09-05 2023-10-13 浙江省金融综合服务平台管理有限公司 一种基于多数据源的金融隐私数据可信计算方法及系统
CN116881973B (zh) * 2023-09-05 2023-12-05 浙江省金融综合服务平台管理有限公司 一种基于多数据源的金融隐私数据可信计算方法及系统
CN117033448A (zh) * 2023-10-08 2023-11-10 杭州金智塔科技有限公司 基于可信执行环境的数据查询方法以及系统
CN117033448B (zh) * 2023-10-08 2024-03-22 杭州金智塔科技有限公司 基于可信执行环境的数据查询方法以及系统

Also Published As

Publication number Publication date
CN111049825B (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
CN111049825B (zh) 一种基于可信执行环境的安全多方计算方法和系统
WO2021184963A1 (zh) 调用合约的方法及装置
CN111027086B (zh) 一种私有数据保护方法和系统
US11128471B2 (en) Accessibility controls in distributed data systems
US10790976B1 (en) System and method of blockchain wallet recovery
CN108111314B (zh) 数字证书的生成和校验方法及设备
CN114726643B (zh) 云平台上的数据存储、访问方法及装置
CN109274652B (zh) 身份信息验证系统、方法及装置及计算机存储介质
KR20190105027A (ko) 데이터 공유 방법 및 데이터 공유 시스템
CN105745661A (zh) 对权限管理的内容的基于策略的受信任的检测
US10554663B2 (en) Self-destructing smart data container
CN110932859B (zh) 用户信息的处理方法、装置、设备及可读存储介质
US11418499B2 (en) Password security
WO2022205963A1 (zh) 一种跨链访问控制方法和装置
CN108496323B (zh) 一种证书导入方法及终端
CN113472521A (zh) 基于区块链的实名数字身份管理方法、签名设备和验证设备
CN111932261A (zh) 一种基于可验证声明的资产数据管理方法和装置
CN115514492A (zh) Bios固件验证方法、装置、服务器、存储介质和程序产品
CN116881936A (zh) 可信计算方法及相关设备
CN115174602B (zh) 一种应用于渔业管理的数据处理方法和系统
CN115329359A (zh) 一种秘密查询方法和系统
CN112307445B (zh) 一种基于区块链的身份管理方法及装置
CN113836239A (zh) 交易数据监管方法、存储介质及计算机设备
Akbarfam et al. Deep Learning meets Blockchain for Automated and Secure Access Control
CN113159774A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40028427

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant