CN115145702A - 基于安全多方计算的信息处理方法及装置 - Google Patents
基于安全多方计算的信息处理方法及装置 Download PDFInfo
- Publication number
- CN115145702A CN115145702A CN202110352558.6A CN202110352558A CN115145702A CN 115145702 A CN115145702 A CN 115145702A CN 202110352558 A CN202110352558 A CN 202110352558A CN 115145702 A CN115145702 A CN 115145702A
- Authority
- CN
- China
- Prior art keywords
- node
- task
- computing
- information
- participant
- 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
Links
- 230000010365 information processing Effects 0.000 title claims abstract description 30
- 238000003672 processing method Methods 0.000 title claims abstract description 19
- 238000004364 calculation method Methods 0.000 claims abstract description 80
- 238000000034 method Methods 0.000 claims abstract description 74
- 238000004891 communication Methods 0.000 claims description 33
- 230000005540 biological transmission Effects 0.000 claims description 21
- 238000003860 storage Methods 0.000 claims description 19
- 230000008569 process Effects 0.000 claims description 17
- 238000004590 computer program Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 11
- 238000000586 desensitisation Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 5
- 230000007246 mechanism Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002427 irreversible effect Effects 0.000 description 2
- 238000011068 loading method Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 238000013501 data transformation Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/547—Messaging middleware
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computer And Data Communications (AREA)
Abstract
本说明书实施例提供了基于安全多方计算的信息处理方法及装置,该方法的一具体实施方式包括:服务调度节点接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;服务调度节点根据计算请求,确定安全多方计算涉及的多个参与方节点,并生成该多个参与方节点分别对应的任务信息,任意的第一参与方节点对应的任务信息包括计算协议,以及该多项数据中属于第一参与方节点的第一数据的第一描述信息;该多个参与方节点分别从服务调度节点获取相应的任务信息,并根据任务信息生成至少一个计算任务,以及将该至少一个计算任务下发至相应的计算节点;计算节点执行所接收的计算任务。
Description
技术领域
本说明书实施例涉及计算机技术领域,具体地,涉及基于安全多方计算的信息处理方法及装置。
背景技术
大数据价值不断的被探索、挖掘、展现,产生了众多的新的商业模式,随着大数据越来越融合进各个行业,跨部门、跨公司、跨行业之间的数据融合需求越来越多,但是往往因为各种原因,导致数据不能进行融合,这个问题称之为数据孤岛问题。产生数据孤岛问题有多方面的原因,其中数据安全是一个很重要的因素。为了解决这个问题,引入了安全多方计算。其中,安全多方计算作为一种数据安全计算方式,可以在保证数据安全的前提下来解决数据计算、融合、机器学习等场景的问题。
现有的安全多方计算方案,通常需要安全多方计算的各参与方线下协商计算协议、各自参与计算的数据等信息,以及在计算阶段,仅能使用固定的计算协议和数据进行安全多方计算。在这种情况下,协商效率通常比较低,而且不能满足参与方的不同计算需求。
因此,迫切需要一种合理、可靠的方案,可以提高安全多方计算事前协商的协商效率,以及满足参与方的不同计算需求。
发明内容
本说明书实施例提供了基于安全多方计算的信息处理方法及装置。
第一方面,本说明书实施例提供了一种基于安全多方计算的信息处理方法,包括:服务调度节点接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;所述服务调度节点根据所述计算请求,确定安全多方计算涉及的多个参与方节点,并生成所述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息;所述多个参与方节点分别从所述服务调度节点获取相应的任务信息,并根据所获取的任务信息生成至少一个计算任务,以及将所述至少一个计算任务下发至相应的计算节点;所述计算节点执行所接收的计算任务。
在一些实施例中,在所述生成所述多个参与方节点分别对应的任务信息之前,所述方法还包括:所述服务调度节点针对安全多方计算,确定安全通道信息;以及所述任务信息还包括所述安全通道信息;所述计算节点执行所接收的计算任务,包括:在执行计算任务的过程中,通过所述安全通道信息指示的安全通道,进行计算节点间的数据交换。
在一些实施例中,所述安全通道包括以下任一项:利用中间节点的传输通道、基于对象存储服务OSS的数据传输通道、基于可信围圈的数据传输通道。
在一些实施例中,所述服务调度节点保存有资源配置信息,所述资源配置信息根据多个备选参与方上报的用于安全多方计算的资源信息而得到,其中包括所述多个备选参与方的可用数据的描述信息。
在一些实施例中,所述计算请求中的描述信息,是所述计算请求的发送方在发送所述计算请求之前,从所述服务调度节点中的所述资源配置信息中获取的。
在一些实施例中,所述确定安全多方计算涉及的多个参与方节点,包括:根据所述计算请求中的描述信息和所述可用数据的描述信息,从所述多个备选参与方中确定出所述多项数据对应的所述多个参与方节点。
在一些实施例中,所述描述信息包括,对应数据的元数据信息和数据标识。
在一些实施例中,所述计算请求的发送方,是所述多个参与方节点中某个参与方节点对应的客户端。
在一些实施例中,所述计算协议包括以下任一项:安全多方求和协议、安全多方乘积协议、隐私保护求交集协议。
在一些实施例中,所述资源配置信息还包括,所述多个参与方节点上报的通信配置信息,和/或所述计算协议对应的公共配置信息;以及在所述生成所述多个参与方节点分别对应的任务信息之前,所述方法还包括:从所述资源配置信息中获取所述公共配置信息和/或所述通信配置信息;所述第一参与方节点对应的任务信息还包括所述公共配置信息,和/或需要与所述第一参与方节点进行交互的其他参与方节点的通信配置信息。
在一些实施例中,所述公共配置信息包括,所述多个参与方节点共用的协议参数;所述通信配置信息包括,通信方式和/或通信地址。
在一些实施例中,在所述生成所述多个参与方节点分别对应的任务信息之后,所述方法还包括:所述服务调度节点向所述多个参与方节点下发相应的任务信息;以及所述多个参与方节点分别从所述服务调度节点获取相应的任务信息,包括:所述多个参与方节点分别从所述服务调度节点接收相应的任务信息。
在一些实施例中,所述方法还包括:所述服务调度节点保存所述计算请求和/或所生成的任务信息。
在一些实施例中,所述多个参与方节点分别从所述服务调度节点获取相应的任务信息,包括:所述多个参与方节点分别从所述服务调度节点下载相应的任务信息。
在一些实施例中,在所述多个参与方节点分别从所述服务调度节点获取相应的任务信息之后,所述方法还包括:所述多个参与方节点分别根据所接收的任务信息,生成本地的用于数据脱敏的私钥。
在一些实施例中,所述方法还包括:所述多个参与方节点分别保存所接收的任务信息和/或所生成的计算任务。
在一些实施例中,所述方法还包括:所述多个参与方节点分别在所生成的计算任务的执行过程中,向相关的其他参与方节点发送计算进度信息。
在一些实施例中,所述方法还包括:所述计算节点在执行计算任务的过程中,定期地向对应的参与方节点发送任务心跳。
在一些实施例中,所述方法还包括:所述多个参与方节点分别在所生成的计算任务的执行过程中,定期地向所述服务调度节点发送任务心跳。
在一些实施例中,所述方法还包括:所述多个参与方节点分别响应于所生成的计算任务均已执行完成,向所述服务调度节点发送用于表示任务执行完成的第一通知消息;所述服务调度节点响应于接收到所述多个参与方节点分别发送的所述第一通知消息,向所述计算请求的发送方输出用于表示计算已完成的第二通知消息。
在一些实施例中,所述服务调度节点部署在公网;所述多个参与方节点分别部署在能够连通内网和外网的网关层;所述计算节点部署在外网或内网。
第二方面,本说明书实施例提供了一种基于安全多方计算的信息处理方法,应用于服务调度节点,包括:接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;根据所述计算请求,确定安全多方计算涉及的多个参与方节点;生成所述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,从而使得所述多个参与方节点分别根据其对应的任务信息,向其计算节点下发计算任务。
第三方面,本说明书实施例提供了一种基于安全多方计算的信息处理方法,应用于第一参与方节点,包括:从服务调度节点获取响应于计算请求而生成的任务信息,所述计算请求包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息,所述任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,所述第一参与方节点是安全多方计算所涉及的多个参与方节点中的任一参与方节点;根据所述任务信息,生成至少一个计算任务;将所述至少一个计算任务下发至相应的计算节点,以使得所述计算节点执行所接收的计算任务。
第四方面,本说明书实施例提供了一种基于安全多方计算的信息处理装置,应用于服务调度节点,包括:接收单元,被配置成接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;确定单元,被配置成根据所述计算请求,确定安全多方计算涉及的多个参与方节点;生成单元,被配置成生成所述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,从而使得所述多个参与方节点分别根据其对应的任务信息,向其计算节点下发计算任务。
第五方面,本说明书实施例提供了一种基于安全多方计算的信息处理装置,应用于第一参与方节点,包括:获取单元,被配置成从服务调度节点获取响应于计算请求而生成的任务信息,所述计算请求包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息,所述任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,所述第一参与方节点是安全多方计算所涉及的多个参与方节点中的任一参与方节点;生成单元,被配置成根据所述任务信息,生成至少一个计算任务;发送单元,被配置成将所述至少一个计算任务下发至相应的计算节点,以使得所述计算节点执行所接收的计算任务。
第六方面,本说明书实施例提供了一种计算机可读存储介质,其上存储有计算机程序,其中,当该计算机程序在计算机中执行时,令该计算机执行如第二方面和第三方面中任一实现方式描述的方法。
第七方面,本说明书实施例提供了一种计算设备,包括存储器和处理器,其中,该存储器中存储有可执行代码,该处理器执行该可执行代码时,实现如第二方面和第三方面中任一实现方式描述的方法。
第八方面,本说明书实施例提供了一种计算机程序,其中,当该计算机程序在计算机中执行时,令该计算机执行如第二方面和第三方面中任一实现方式描述的方法。
本说明书的上述实施例提供的基于安全多方计算的信息处理方法及装置,通过服务调度节点接收计算请求,并根据计算请求确定安全多方计算涉及的多个参与方节点,以及生成该多个参与方节点分别对应的任务信息,以使得该多个参与方节点分别从服务调度节点获取相应的任务信息,并根据所获取的任务信息生成至少一个计算任务,以及将该至少一个计算任务下发至相应的计算节点,从而使得计算节点执行所接收的计算任务。
由此,可以通过服务调度节点确定有待进行的安全多方计算涉及的多个参与方节点,以及协调该多个参与方节点之间使用的计算协议、参与计算的数据等等,能有效提高安全多方计算事前协商的协商效率。另外,通过对服务调度节点的有效利用,还可以使得任意的有安全多方计算需求的用户,能根据实际计算需求选择计算协议、计算所需数据的元数据信息等,因而能满足用户的不同计算需求。
附图说明
为了更清楚地说明本说明书披露的多个实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书披露的多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1是本说明书的一些实施例可以应用于其中的一个示例性系统架构图;
图2是根据本说明书的基于安全多方计算的信息处理方法的一个实施例的示意图;
图3是计算节点间通过安全通道进行数据交换的一个示意图;
图4是安全多方计算多任务模式的一个示意图;
图5是根据本说明书的基于安全多方计算的信息处理装置的一个结构示意图;
图6是根据本说明书的基于安全多方计算的信息处理装置的一个结构示意图。
具体实施方式
下面结合附图和实施例对本说明书作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。在不冲突的情况下,本说明书中的实施例及实施例中的特征可以相互组合。另外,本说明书中的“第一”、“第二”、“第三”等词,仅用于信息区分,不起任何限定作用。
如前所述,现有的安全多方计算方案,通常需要安全多方计算的各参与方线下协商计算协议、各自参与计算的数据等信息,以及在计算阶段,仅能使用固定的计算协议和数据进行安全多方计算。在这种情况下,协商效率通常比较低,而且不能满足参与方的不同计算需求。
基于此,本说明书的一些实施例提供了基于安全多方计算的信息处理方法,通过该方法,可以提高安全多方计算事前协商的协商效率,以及能满足参与方的不同计算需求。具体地,图1示出了适用于这些实施例的示例性系统架构图。
如图1所示,系统架构可以包括服务调度节点,多个参与方节点,以及该多个参与方节点分别对应的至少一个计算节点。其中,该多个参与方节点是在服务调度节点中成功注册的节点。需要指出,当一个节点在服务调度节点中成功注册时,便表明该节点具有参与安全多方计算的资格。
在本系统架构中,参与方节点可以分别与其对应的计算节点和服务调度节点进行通信,参与方节点间可以进行通信,而且不同参与方节点对应的计算节点间也可以进行通信。其中,服务调度节点可以部署在公网。上述多个参与方节点可以分别部署在能够连通内网和外网的网关层。计算节点可以部署在内网,也可以部署在外网,在此不做具体限定。
服务调度节点可以用于进行安全多方计算服务的调度。具体地,服务调度节点可以协调多个参与方节点用于进行安全多方计算的计算协议、参与计算的数据等等,以解决安全多方计算的事前协商问题。另外,服务调度节点还能控制多个参与方节点启动、停止安全多方计算服务等。
参与方节点可以用于进行单方计算任务的调度,能控制其对应的计算节点执行计算任务。实践中,参与方节点所属的用户可以是任何有安全多方计算需求的个人或组织(例如公司、学校或医院等)。
另外,参与方节点可以存储有单方的用于安全多方计算的策略,例如数据切分策略,数据组装策略,以及计算任务的调度策略等等。其中,数据切分策略可以用于参与方节点对计算所需数据进行切片,并针对各个数据分片生成相应的计算任务。数据组装策略可以用于参与方节点对不同计算节点产出的中间数据进行聚合。调度策略可以用于参与方节点将计算任务下发至合适的计算节点。
需要说明的是,服务调度节点和参与方节点均可以实现为设备、平台、服务器或设备集群。计算节点可以实现为其对应的参与方节点的内存区域,独立的分布式计算系统(例如ODPS系统或Hadoop系统等),或者支持UDF(Universal Disc Format,统一光盘格式)的数据库系统(例如Hive)等。
ODPS(Open Data Processing Service,开发数据处理服务)通常服务于批量结构化数据的存储和计算,可以提供海量数据仓库的解决方案以及针对大数据的分析建模服务。Hadoop是分布式系统基础架构,能为海量的数据提供存储和计算服务。Hive是建立在Hadoop上的数据仓库基础构架,它提供了一系列的工具,可以用来进行数据提取转化加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
实际应用中,服务调度节点可以接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息。其中,该计算请求的发送方可以是参与方节点,也可以是参与方节点对应的客户端,如图1中示出的客户端1,在此不做具体限定。应该理解,当计算请求的发送方为参与方节点对应的客户端时,上述系统架构还可以包括该客户端。
计算请求中的计算协议,可以是任何用于安全多方计算的协议,例如可以包括安全多方求和协议、安全多方乘积协议或隐私保护求交集协议等。上述多项数据的描述信息,可以包括上述多项数据的元数据信息和数据标识。该元数据信息可以用于描述上述多项数据的一些属性,例如数据表名,字段名,数据类型等。需要指出,上述多项数据是至少两个参与方节点的私有数据,该私有数据可视为隐私数据。
为了确保各参与方节点私有数据的安全性,各参与方节点在向服务调度节点进行注册的过程中,或者成功注册后,可以互相分享各自可用数据(可参与安全多方计算的私有数据)的描述信息。具体地,各参与方节点可以互相发送该描述信息;或者,各参与方节点可以将该描述信息上报至服务调度节点,使得有安全多方计算需求的用户能通过其客户端或参与方节点,从服务调度节点获取计算所需数据的描述信息。
接着,服务调度节点可以根据计算请求,确定安全多方计算涉及的多个参与方节点,如图1中示出的参与方节点1和参与方节点2。其中,图1中示出的客户端1是参与方节点1对应的客户端。再接着,服务调度节点可以根据计算请求,生成该多个参与方节点分别对应的任务信息。之后,该多个参与方节点可以从服务调度节点获取相应的任务信息,并根据所获取的任务信息生成至少一个计算任务,并将该至少一个计算任务下发至相应的计算节点。如图1中所示,参与方节点1可以向其对应的计算节点11和计算节点12分别下发计算任务。参与方节点2可以向其对应的计算节点21下发计算任务。然后,计算节点可以执行所接收的计算任务。
通常,在计算任务执行过程中,不同的参与方节点对应的计算节点间可以进行数据交换。例如,计算节点11和/或计算节点12可以向计算节点21提供计算过程中产出的中间数据,计算节点21也可以向计算节点11和/或计算节点12提供计算过程中产出的中间数据。通常情况下,计算节点间可以进行多轮的数据交换。
应该理解,图1中示出的客户端、服务调度节点、参与方节点和计算节点的数目仅仅是示意性的。根据实现需要,可以具有任意数目的客户端、服务调度节点、参与方节点和计算节点。
下面,结合具体的实施例,描述上述方法的具体实施步骤。
参看图2,其是基于安全多方计算的信息处理方法的一个实施例的示意图。该方法包括以下步骤:
步骤202,服务调度节点接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;
步骤204,服务调度节点根据计算请求,确定安全多方计算涉及的多个参与方节点;
步骤210,服务调度节点根据计算请求,生成上述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括计算协议,以及该多项数据中属于第一参与方节点的第一数据的第一描述信息;
步骤212,上述多个参与方节点分别从服务调度节点获取相应的任务信息;
步骤214,上述多个参与方节点分别根据所获取的任务信息,生成至少一个计算任务;
步骤216,上述多个参与方节点分别将所生成的至少一个计算任务下发至相应的计算节点;
步骤218,计算节点执行所接收的计算任务。
下面,对以上步骤做进一步说明。
在步骤202中,服务调度节点可以实时地接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息。这里,关于计算协议和描述信息的解释,可参考前文中的相关说明。
实践中,计算请求的发送方,可以是安全多方计算涉及的任一参与方节点或该节点对应的客户端,在此不做具体限定。
作为一种实现方式,参与安全多方计算的至少两个参与方节点,可以事先约定多个计算协议,以及互相分享各自可用数据的描述信息。在这种情况下,当该至少两个参与方节点中任意的参与方节点对应的用户有安全多方计算需求时,可以从该多个计算协议中选择所需的计算协议,以及从该至少两个参与方节点分享的描述信息中,获取计算所需数据的描述信息。基于此,上述计算请求中的计算协议,可以是上述多个参与方节点事先约定的多个计算协议中的某个计算协议,上述计算请求中的描述信息可以包括,上述多个参与方节点事先分享的描述信息的部分或全部内容。
作为另一种实现方式,参与安全多方计算的至少两个参与方节点,可以事先互相分享各自可用数据的描述信息,不约定计算协议。在这种情况下,当该至少两个参与方节点中任意的参与方节点对应的用户有安全多方计算需求时,可以自定义计算协议,以及从该至少两个参与方节点分享的描述信息中,获取计算所需数据的描述信息。基于此,上述计算请求中的计算协议,可以是上述计算请求的发送方对应的用户自定义的计算协议,上述多个计算请求中的描述信息可以包括,上述多个参与方节点事先分享的描述信息的部分或全部内容。
以上两种实现方式均能使得有安全多方计算需求的用户自由选择所需的计算协议和计算所需数据,能支持用户的不同计算需求。另外,通过使得用户自由选择所需的计算协议,可以使得本说明书实施例提供能适用于各种安全多方计算场景(例如机器学习场景、联合查询场景、隐私数据求交集场景等等)的通用方案。
需要说明的是,上述计算请求中的描述信息,可以是上述计算请求的发送方在发送该请求之前,从本地或者服务调度节点获取的。
作为示例,服务调度节点可以保存有资源配置信息,该资源配置信息根据多个备选参与方上报的用于安全多方计算的资源信息而得到,其中包括该多个备选参与方的可用数据的描述信息。需要指出,为了便于区分不同的参与方节点,此处将在服务调度节点中成功注册的各参与方节点均称为备选参与方。基于此,上述计算请求中的描述信息,可以是上述计算请求的发送方在发送该请求之前,从服务调度节点中的该资源配置信息中获取的。
接着,在步骤204中,服务调度节点可以根据上述计算请求,确定安全多方计算涉及的多个参与方节点。
作为一种实现方式,上述计算请求中的描述信息可以包括上述多项数据对应的多个节点标识,进一步地,该描述信息中的元数据信息可以包括该多个节点标识。服务调度节点可以将该多个节点标识分别指示的节点,确定为安全多方计算涉及的参与方节点。
作为另一种实现方式,服务调度节点可以根据上述计算请求中的描述信息和上述资源配置信息中的描述信息,从上述多个备选参与方中确定出上述多项数据对应的多个参与方节点。
在确定出上述多个参与方节点之后,服务调度节点可以接着执行步骤210,以生成上述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括计算协议,以及上述多项数据中属于第一参与方节点的第一数据的第一描述信息。应该理解,第一参与方节点是上述多个参与方节点中的任意一个参与方节点。
在一些实施例中,服务调度节点在执行步骤210之前,还可以通过执行步骤206,针对安全多方计算,确定安全通道信息。其中,安全通道信息可以包括但不限于其指示的安全通道的通信地址。基于此,在步骤210中生成的任务信息还可以包括该安全通道信息。
安全通道信息指示的安全通道可以包括,利用中间节点的传输通道,基于对象存储服务(Object Storage Service,OSS)的数据传输通道,或基于可信围圈的数据传输通道。另外,该安全通道可以用于计算节点间进行数据交换。
实践中,安全通道信息可以是上述多个参与方节点预先上报至服务调度节点的,也可以是服务调度节点指定的,在此不做具体限定。
作为一种实现方式,上述资源配置信息还包括上述多个参与方节点上报的安全通道信息。基于此,在步骤206中,服务调度节点可以从上述资源配置信息中获取安全通道信息。在这种情况下,任意的第一参与方节点对应的任务信息可以包括,需要与该第一参与方节点进行交互的其他参与方节点对应的安全通道信息。
作为另一种实现方式,服务调度节点对应至少一个可供上述多个参与方节点使用的安全通道。基于此,在步骤206中,服务调度节点可以从其对应的至少一个安全通道中选取一个安全通道,并获取该安全通道的信息。
在一些实施例中,上述资源配置信息还可以包括,上述多个参与方节点上报的通信配置信息,和/或上述计算请求中的计算协议对应的公共配置信息。基于此,服务调度节点在执行步骤210之前,还可以通过执行步骤208,获取该公共配置信息和/或该通信配置信息。因此,任意的第一参与方节点对应的任务信息还可以包括,该公共配置信息,和/或需要与该第一参与方节点进行交互的其他参与方节点的通信配置信息。
其中,公共配置信息可以包括但不限于上述多个参与方节点共用的协议参数。通信配置信息可以包括但不限于通信方式和/或通信地址。该通信方式例如可以包括但不限于HTTP(HyperText Transfer Protocol,超文本传输协议)或RPC(Remote ProcedureCall,远程过程调用)等。
在一些实施例中,上述资源配置信息还可以包括,上述多个参与方节点上报的与计算协议对应的计算结果产出策略,该策略用于指示与该计算协议有关的计算结果的产出方(上述多个参与方节点中的至少一个参与方节点)。基于此,服务调度节点在执行步骤210之前,还可以根据上述资源配置信息中的计算结果产出策略,确定与上述计算请求中的计算协议有关的计算结果的产出方。因此,该产出方对应的任务信息还可以包括,用于指示产出计算结果的指示信息。
在一些实施例中,服务调度节点在执行步骤210之后,还可以保存上述计算请求和/或所生成的任务信息。由此,若计算过程中出现异常情况,例如计算任务执行失败,或者计算节点发生宕机等,服务调度节点可以根据所保存的上述计算请求和/或任务信息,进行失败后的重试或者宕机后的恢复等。因此,本说明书提供的方案可以实现失败后的重试机制,以及宕机后的恢复机制,能有效保证计算任务运行的健壮性和稳定性。
在一些实施例中,在步骤210之前或之后,服务调度节点可以向上述多个参与方节点发送任务初始化通知消息。上述多个参与方节点可以响应于该消息,执行初始化操作,例如加载用于安全多方计算的节点任务模板和/或配置信息模板等。在初始化完成后,上述多个参与方节点可以向服务调度节点返回初始化成功消息。
此外,在步骤210之后(若初始化成功消息在步骤210之后产出,也可以在服务调度节点接收到上述多个参与方节点分别发送的初始化成功消息之后),服务调度节点可以向上述多个参与方节点下发相应的任务信息,或者向上述多个参与方节点发送任务启动通知消息。
接着,在步骤212中,上述多个参与方节点可以分别从服务调度节点接收相应的任务信息,或者响应于接收到任务启动通知消息而从服务调度节点下载相应的任务信息。应该理解,本说明书不对上述多个参与方节点采用的任务信息获取方式做具体限定。
在一些实施例中,在步骤212之后,上述多个参与方节点还可以分别根据所接收的任务信息,更新本地设置的配置信息模板,例如将任务信息中的第一描述信息对应的第一数据的存储路径,写入配置信息模板,从而得到安全多方计算的本地配置信息。此外,若任务信息还包括安全通道信息和/或通信配置信息,也可以将该安全通道信息和/或通信配置信息写入配置信息模板。应该理解,配置信息模板中的信息项可以根据实际需求设置,在此不做具体限定。
实践中,上述本地配置信息的存储路径可以包含在相应的计算任务中,以便于计算节点在计算任务执行过程中,根据该存储路径查找该本地配置信息,并进一步从该本地配置信息中获取所需的信息。例如,从该本地配置信息中获取计算所需第一数据的存储路径,由此,后续便可以从该存储路径指示的存储位置加载该第一数据。
在一些实施例中,在步骤212之后,若任意的第一参与方节点没有用于数据脱敏的私钥,则第一参与方节点可以根据所接收的任务信息,生成用于数据脱敏的私钥。其中,该私钥可以是不可逆的加密算法对应的私钥。该不可逆的加密算法例如可以包括但不限于,带盐的MD5加密算法,或SHA(Secure Hash Algorithm,安全哈希算法)1加密算法等。
通常情况下,计算节点在计算任务执行过程中产出的中间数据,是利用上述私钥加密后的数据。计算节点间通过交换加密后的数据,可以确保参与方节点的私有数据不被泄露,能有效提高该私有数据的安全性。
在步骤214中,上述多个参与方节点可以分别根据所获取的任务信息,生成至少一个计算任务。
具体地,任意的第一参与方节点可以获取任务信息中的第一描述信息对应的第一数据所关联的数据切分策略,并根据该数据切分策略和该任务信息,生成至少一个计算任务。
在一些实施例中,任意的第一参与方节点本地可以预设有节点任务模板。第一参与方节点在获取到相应的任务信息后,可以根据任务信息,更新本地的节点任务模板,例如将该任务信息中的计算协议和第一描述信息等写入本地的节点任务模板,从而得到安全多方计算的节点任务信息。之后,第一参与方节点可以根据该节点任务信息,生成至少一个计算任务。需要指出,节点任务模板可以具有计算任务生成操作所支持的格式。
在一些实施例中,上述多个参与方节点可以分别保存所接收的任务信息和/或所生成的计算任务。由此,若计算过程中出现异常情况,例如计算任务执行失败,或者计算节点发生宕机等,上述多个参与方节点可以分别根据所保存的任务信息和/或计算任务,进行失败后的重试或者宕机后的恢复等。因此,本说明书提供的方案可以实现失败后的重试机制,以及宕机后的恢复机制,能有效保证计算任务运行的健壮性和稳定性。
在步骤216中,上述多个参与方节点可以分别将所生成的至少一个计算任务下发至相应的计算节点。其中,任意的第一参与方节点可以根据已保存的计算任务调度策略,将该至少一个计算任务下发至相应的计算节点。
接着,在步骤218中,计算节点可以执行所接收的计算任务。
在一些实施例中,在计算任务执行过程中,计算节点间可以采用直接通信的方式,进行数据交换。
在一些实施例中,若任务信息包括如前所述的安全通道信息,则在步骤218中,在计算任务执行过程中,计算节点可以通过该安全通道信息指示的安全通道,进行计算节点间的数据交换。
如图3所示,其是计算节点间通过安全通道进行数据交换的一个示意图。其中,图3示出了图1中参与方节点1对应的计算节点11、12,参与方节点2对应的计算节点21,以及用于计算节点11、12和计算节点21之间进行数据交换的安全通道。
对于任意两个需要进行数据交换的计算节点,当安全通道包括利用中间节点的传输通道时,这两个计算节点均可以经由中间节点将各自产出的中间数据发送至对方;当安全通道包括基于对象存储服务或可信围圈(enclave)的数据传输通道时,这两个计算节点可以通过该数据传输通道上传和下载中间数据。
在一些实施例中,上述多个参与方节点分别在所生成的计算任务的执行过程中,可以向相关的参与方节点发送计算进度信息。该计算进度信息例如可以包括参与计算的第一数据的数据量和/或计算剩余时间等等。应该理解,计算进度信息中的信息项可以根据实际需求设置,在此不做具体限定。
在一些实施例中,为了使得参与方节点获知计算任务是否正常执行,计算节点在执行计算任务的过程中,可以定期地向对应的参与方节点发送任务心跳。另外,为了使得服务调度节点获知计算任务是否正常执行,上述多个参与方节点也可以在所生成的计算任务的执行过程中,定期地向服务调度节点发送任务心跳。
在一些实施例中,当计算结果具体在计算节点上产出时,上述多个参与方节点可以分别响应于所生成的计算任务均已执行完成,向服务调度节点发送用于表示任务执行完成的第一通知消息。服务调度节点可以响应于接收到上述多个参与方节点分别发送的第一通知消息,向上述计算请求的发送方输出用于表示计算已完成的第二通知消息。
在一些实施例中,当计算结果具体在参与方节点上产生时,可以执行以下交互操作:
A2,上述多个参与方节点分别响应于所生成的计算任务均已执行完成,向服务调度节点发送用于表示任务执行完成的第一通知消息;
A4,上述多个参与方节点中作为计算结果产出方的至少一个参与方节点,对有待进行聚合的中间数据进行聚合和存储;
A6,上述至少一个参与方节点分别向服务调度节点发送用于表示节点任务完成的第三通知消息;
A8,服务调度节点响应于接收到上述至少一个参与方节点分别发送的第三通知消息,向上述计算请求的发送方输出用于表示计算已完成的第二通知消息。
其中,在步骤A4中,上述至少一个参与方节点分别对应的任务信息可以包括如前所述的指示信息,上述至少一个参与方节点可以根据该指示信息,获知其是计算结果产出方。另外,上述至少一个参与方节点可以分别根据已保存的数据组装策略,对有待进行聚合的中间数据进行聚合。
可选地,在步骤A2之后,A4之前,还可以包括:A3,服务调度节点响应于接收到上述多个参与方节点分别发送的第一通知消息,向上述至少一个参与方节点发送数据聚合通知消息。基于此,上述至少一个参与方节点可以根据所接收的数据聚合通知消息,获知其是计算结果产出方。
图2对应的实施例提供的基于安全多方计算的信息处理方法,通过服务调度节点接收计算请求,并根据计算请求确定安全多方计算涉及的多个参与方节点,以及生成该多个参与方节点分别对应的任务信息,以使得该多个参与方节点分别从服务调度节点获取相应的任务信息,并根据所获取的任务信息生成至少一个计算任务,以及将该至少一个计算任务下发至相应的计算节点,从而使得计算节点执行所接收的计算任务。由此,可以通过服务调度节点确定有待进行的安全多方计算涉及的多个参与方节点,并协调该多个参与方节点之间使用的计算协议、参与计算的数据等等,能有效提高安全多方计算事前协商的协商效率。另外,通过对服务调度节点的有效利用,还可以使得任意的有安全多方计算需求的用户,能根据实际计算需求选择计算协议、计算所需数据的元数据信息等,因而能满足用户的不同计算需求。
此外,通过服务调度节点进行服务调度,以及通过参与方节点进行计算任务的调度,可以很好的解决多任务运行问题,任意一个参与方节点可以同时参与其他参与方节点分别发起的安全多方计算任务,也可以同时向其他参与方节点发起安全多方计算任务。其中,参与方节点间的任务协调由服务调度节点完成,不同的任务独立执行。
参看图4,其是安全多方计算多任务模式的一个示意图。如图4所示,参与方节点3可以同时参与参与方节点1发起的任务A,以及参与方节点2发起的任务B。
具体地,参与方节点1可以向服务调度节点提交任务A对应的计算请求,参与方节点2可以向服务调度节点提交任务B对应的计算请求。之后,服务调度节点可以将任务A划分成参与方节点1对应的任务A1,以及参与方节点3对应的任务A2,并对参与方节点1和参与方节点3进行任务下发。另外,服务调度节点可以将任务B划分成参与方节点2对应的任务B1,以及参与方节点3对应的任务B2,并对参与方节点2和参与方节点3进行任务下发。
而后,参与方节点1可以针对任务A1生成至少一个计算任务,例如任务A1_1和任务A1_2,并将该至少一个计算任务下发至相应的计算节点,例如计算节点11。参与方节点2可以针对任务B1生成至少一个计算任务,例如任务B1_1和任务B1_2,并将该至少一个计算任务下发至相应的计算节点,例如计算节点21。参与方节点3可以针对任务A2生成至少一个计算任务,例如任务A2_1和任务A2_2,并针对任务B2生成至少一个计算任务,例如任务B2_1和任务B2_2,以及将所生成的计算任务下发至相应的计算节点,例如将任务A2_1和任务B2_1下发至计算节点31,以及将任务A2_2和任务B2_2下发至计算节点32。
然后,计算节点11、21、31、32可以分别执行所接收的计算任务。其中,计算节点11和计算节点31、32在任务A执行过程中,可以通过相应的安全通道进行数据交换。计算节点21和计算节点31、32在任务B执行过程中,也可以通过相应的安全通道进行数据交换。
进一步参考图5,本说明书提供了一种基于安全多方计算的信息处理装置的一个实施例,该装置可以应用于服务调度节点(如图1所示的服务调度节点)。
如图5所示,本实施例的基于安全多方计算的信息处理装置500包括:接收单元501、确定单元502和生成单元503。其中,接收单元501被配置成接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;确定单元502被配置成根据计算请求,确定安全多方计算涉及的多个参与方节点;生成单元503被配置成生成该多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括计算协议,以及该多项数据中属于第一参与方节点的第一数据的第一描述信息,从而使得该多个参与方节点分别根据其对应的任务信息,向其计算节点下发计算任务。
在一些实施例中,确定单元502还可以被配置成:针对安全多方计算,确定安全通道信息。基于此,任务信息还可以包括该安全通道信息。其中,该安全通道信息指示的安全通道,可以用于计算节点间进行数据交换。
在一些实施例中,安全通道包括利用中间节点的传输通道,基于对象存储服务的数据传输通道,或者基于可信围圈的数据传输通道等。
在一些实施例中,服务调度节点保存有资源配置信息,资源配置信息根据多个备选参与方上报的用于安全多方计算的资源信息而得到,其中包括该多个备选参与方的可用数据的描述信息。
在一些实施例中,计算请求中的描述信息,是计算请求的发送方在发送计算请求之前,从服务调度节点中的资源配置信息中获取的。
在一些实施例中,确定单元502可以进一步被配置成:根据计算请求中的描述信息和上述可用数据的描述信息,从上述多个备选参与方中确定出上述多项数据对应的上述多个参与方节点。
在一些实施例中,上述描述信息包括,对应数据的元数据信息和数据标识。
在一些实施例中,计算请求的发送方,是上述多个参与方节点中某个参与方节点对应的客户端。
在一些实施例中,计算请求中的计算协议可以包括,安全多方求和协议,安全多方乘积协议,或隐私保护求交集协议等。
在一些实施例中,上述资源配置信息还包括,上述多个参与方节点上报的通信配置信息,和/或计算协议对应的公共配置信息;以及上述装置500还可以包括:获取单元(图中未示出),被配置成在生成单元503生成上述多个参与方节点分别对应的任务信息之前,从上述资源配置信息中获取该公共配置信息和/或该通信配置信息。基于此,第一参与方节点对应的任务信息还包括该公共配置信息,和/或需要与第一参与方节点进行交互的其他参与方节点的通信配置信息。
在一些实施例中,公共配置信息包括,多个参与方节点共用的协议参数等。通信配置信息包括,通信方式和/或通信地址等。
在一些实施例中,上述装置500还可以包括:发送单元(图中未示出),被配置成向上述多个参与方节点下发相应的任务信息。
在一些实施例中,上述装置500还可以包括:存储单元(图中未示出),被配置成保存计算请求和/或任务信息。
在一些实施例中,接收单元501还可以被配置成:接收上述多个参与方节点分别发送的用于表示任务执行完成的第一通知消息;以及发送单元还可以被配置成:向计算请求的发送方输出用于表示计算已完成的第二通知消息。
在一些实施例中,服务调度节点部署在公网;上述多个参与方节点分别部署在能够连通内网和外网的网关层;计算节点部署在外网或内网。
进一步参考图6,本说明书提供了一种基于安全多方计算的信息处理装置的一个实施例,该装置可以应用于第一参与方节点(如图1中示出的任一参与方节点)。
如图6所示,本实施例的基于安全多方计算的信息处理装置600包括:获取单元601、生成单元602和发送单元603。其中,获取单元601被配置成从服务调度节点获取响应于计算请求而生成的任务信息,计算请求包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息,任务信息包括计算协议,以及该多项数据中属于第一参与方节点的第一数据的第一描述信息,第一参与方节点是安全多方计算所涉及的多个参与方节点中的任一参与方节点;生成单元602被配置成根据任务信息,生成至少一个计算任务;发送单元603被配置成将该至少一个计算任务下发至相应的计算节点,以使得计算节点执行所接收的计算任务。
在一些实施例中,任务信息还包括安全通道信息。其中,该安全通道信息指示的安全通道,可以用于计算节点间进行数据交换。
在一些实施例中,上述安全通道可以包括,利用中间节点的传输通道,基于对象存储服务的数据传输通道,或者基于可信围圈的数据传输通道等。
在一些实施例中,上述描述信息包括,对应数据的元数据信息和数据标识。
在一些实施例中,计算请求中的计算协议可以包括,安全多方求和协议,安全多方乘积协议,或隐私保护求交集协议等。
在一些实施例中,第一参与方节点对应的任务信息还包括,上述多个参与方节点的与上述计算协议有关的公共配置信息,和/或需要与第一参与方节点进行交互的其他参与方节点的通信配置信息。
在一些实施例中,公共配置信息包括,上述多个参与方节点共用的协议参数等。通信配置信息包括,通信方式和/或通信地址等。
在一些实施例中,获取单元601可以进一步被配置成:从服务调度节点接收相应的任务信息。
在一些实施例中,获取单元601可以进一步被配置成:从服务调度节点下载相应的任务信息。
在一些实施例中,生成单元602可以进一步被配置成:根据任务信息,生成本地的用于数据脱敏的私钥。
在一些实施例中,上述装置600还可以包括:存储单元(图中未示出),被配置成保存任务信息和/或计算任务。
在一些实施例中,发送单元603还可以被配置成:在计算任务的执行过程中,向相关的其他参与方节点发送计算进度信息。
在一些实施例中,发送单元603还可以被配置成:在计算任务的执行过程中,定期地向服务调度节点发送任务心跳。
在一些实施例中,获取单元601还可以被配置成:接收计算节点在执行计算任务的过程中定期发送的任务心跳。
在一些实施例中,发送单元603还可以被配置成:响应于生成单元602生成的计算任务均已执行完成,向服务调度节点发送用于表示任务执行完成的第一通知消息。
在一些实施例中,服务调度节点部署在公网;上述多个参与方节点分别部署在能够连通内网和外网的网关层;计算节点部署在外网或内网。
在图5和图6分别对应的实施例中,各单元的具体处理及其带来的技术效果可分别参考图2对应实施例中的相关说明,在此不再赘述。
本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,其中,当该计算机程序在计算机中执行时,令计算机执行以上各方法实施例分别所示的基于安全多方计算的信息处理方法。
本说明书实施例还提供了一种计算设备,包括存储器和处理器,其中,该存储器中存储有可执行代码,该处理器执行该可执行代码时,实现以上各方法实施例分别所示的基于安全多方计算的信息处理方法。
本说明书实施例还提供了一种计算机程序,其中,当该计算机程序在计算机中执行时,令计算机执行以上各方法实施例分别所示的基于安全多方计算的信息处理方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本说明书披露的多个实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
以上所述的具体实施方式,对本说明书披露的多个实施例的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本说明书披露的多个实施例的具体实施方式而已,并不用于限定本说明书披露的多个实施例的保护范围,凡在本说明书披露的多个实施例的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本说明书披露的多个实施例的保护范围之内。
Claims (27)
1.一种基于安全多方计算的信息处理方法,包括:
服务调度节点接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;
所述服务调度节点根据所述计算请求,确定安全多方计算涉及的多个参与方节点,并生成所述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息;
所述多个参与方节点分别从所述服务调度节点获取相应的任务信息,并根据所获取的任务信息生成至少一个计算任务,以及将所述至少一个计算任务下发至相应的计算节点;
所述计算节点执行所接收的计算任务。
2.根据权利要求1所述的方法,其中,在所述生成所述多个参与方节点分别对应的任务信息之前,所述方法还包括:
所述服务调度节点针对安全多方计算,确定安全通道信息;以及
所述任务信息还包括所述安全通道信息;
所述计算节点执行所接收的计算任务,包括:
在执行计算任务的过程中,通过所述安全通道信息指示的安全通道,进行计算节点间的数据交换。
3.根据权利要求2所述的方法,其中,所述安全通道包括以下任一项:利用中间节点的传输通道、基于对象存储服务OSS的数据传输通道、基于可信围圈的数据传输通道。
4.根据权利要求1所述的方法,其中,所述服务调度节点保存有资源配置信息,所述资源配置信息根据多个备选参与方上报的用于安全多方计算的资源信息而得到,其中包括所述多个备选参与方的可用数据的描述信息。
5.根据权利要求4所述的方法,其中,所述计算请求中的描述信息,是所述计算请求的发送方在发送所述计算请求之前,从所述服务调度节点中的所述资源配置信息中获取的。
6.根据权利要求4所述的方法,其中,所述确定安全多方计算涉及的多个参与方节点,包括:
根据所述计算请求中的描述信息和所述可用数据的描述信息,从所述多个备选参与方中确定出所述多项数据对应的所述多个参与方节点。
7.根据权利要求1、4-6之一所述的方法,其中,所述描述信息包括,对应数据的元数据信息和数据标识。
8.根据权利要求5所述的方法,其中,所述计算请求的发送方,是所述多个参与方节点中某个参与方节点对应的客户端。
9.根据权利要求1所述的方法,其中,所述计算协议包括以下任一项:安全多方求和协议、安全多方乘积协议、隐私保护求交集协议。
10.根据权利要求4所述的方法,其中,所述资源配置信息还包括,所述多个参与方节点上报的通信配置信息,和/或所述计算协议对应的公共配置信息;以及
在所述生成所述多个参与方节点分别对应的任务信息之前,所述方法还包括:
从所述资源配置信息中获取所述公共配置信息和/或所述通信配置信息;
所述第一参与方节点对应的任务信息还包括所述公共配置信息,和/或需要与所述第一参与方节点进行交互的其他参与方节点的通信配置信息。
11.根据权利要求10所述的方法,其中,
所述公共配置信息包括,所述多个参与方节点共用的协议参数;
所述通信配置信息包括,通信方式和/或通信地址。
12.根据权利要求1所述的方法,其中,在所述生成所述多个参与方节点分别对应的任务信息之后,所述方法还包括:
所述服务调度节点向所述多个参与方节点下发相应的任务信息;以及
所述多个参与方节点分别从所述服务调度节点获取相应的任务信息,包括:
所述多个参与方节点分别从所述服务调度节点接收相应的任务信息。
13.根据权利要求1所述的方法,其中,所述方法还包括:
所述服务调度节点保存所述计算请求和/或所生成的任务信息。
14.根据权利要求13所述的方法,其中,所述多个参与方节点分别从所述服务调度节点获取相应的任务信息,包括:
所述多个参与方节点分别从所述服务调度节点下载相应的任务信息。
15.根据权利要求1所述的方法,其中,在所述多个参与方节点分别从所述服务调度节点获取相应的任务信息之后,所述方法还包括:
所述多个参与方节点分别根据所接收的任务信息,生成本地的用于数据脱敏的私钥。
16.根据权利要求1所述的方法,其中,所述方法还包括:
所述多个参与方节点分别保存所接收的任务信息和/或所生成的计算任务。
17.根据权利要求1所述的方法,其中,所述方法还包括:
所述多个参与方节点分别在所生成的计算任务的执行过程中,向相关的其他参与方节点发送计算进度信息。
18.根据权利要求1所述的方法,其中,所述方法还包括:
所述计算节点在执行计算任务的过程中,定期地向对应的参与方节点发送任务心跳。
19.根据权利要求1或18所述的方法,其中,所述方法还包括:
所述多个参与方节点分别在所生成的计算任务的执行过程中,定期地向所述服务调度节点发送任务心跳。
20.根据权利要求1所述的方法,其中,所述方法还包括:
所述多个参与方节点分别响应于所生成的计算任务均已执行完成,向所述服务调度节点发送用于表示任务执行完成的第一通知消息;
所述服务调度节点响应于接收到所述多个参与方节点分别发送的所述第一通知消息,向所述计算请求的发送方输出用于表示计算已完成的第二通知消息。
21.根据权利要求1所述的方法,其中,
所述服务调度节点部署在公网;
所述多个参与方节点分别部署在能够连通内网和外网的网关层;
所述计算节点部署在外网或内网。
22.一种基于安全多方计算的信息处理方法,应用于服务调度节点,包括:
接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;
根据所述计算请求,确定安全多方计算涉及的多个参与方节点;
生成所述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,从而使得所述多个参与方节点分别根据其对应的任务信息,向其计算节点下发计算任务。
23.一种基于安全多方计算的信息处理方法,应用于第一参与方节点,包括:
从服务调度节点获取响应于计算请求而生成的任务信息,所述计算请求包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息,所述任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,所述第一参与方节点是安全多方计算所涉及的多个参与方节点中的任一参与方节点;
根据所述任务信息,生成至少一个计算任务;
将所述至少一个计算任务下发至相应的计算节点,以使得所述计算节点执行所接收的计算任务。
24.一种基于安全多方计算的信息处理装置,应用于服务调度节点,包括:
接收单元,被配置成接收计算请求,其中包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息;
确定单元,被配置成根据所述计算请求,确定安全多方计算涉及的多个参与方节点;
生成单元,被配置成生成所述多个参与方节点分别对应的任务信息,其中任意的第一参与方节点对应的任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,从而使得所述多个参与方节点分别根据其对应的任务信息,向其计算节点下发计算任务。
25.一种基于安全多方计算的信息处理装置,应用于第一参与方节点,包括:
获取单元,被配置成从服务调度节点获取响应于计算请求而生成的任务信息,所述计算请求包括所请求的安全多方计算所使用的计算协议,以及参与计算的多项数据的描述信息,所述任务信息包括所述计算协议,以及所述多项数据中属于所述第一参与方节点的第一数据的第一描述信息,所述第一参与方节点是安全多方计算所涉及的多个参与方节点中的任一参与方节点;
生成单元,被配置成根据所述任务信息,生成至少一个计算任务;
发送单元,被配置成将所述至少一个计算任务下发至相应的计算节点,以使得所述计算节点执行所接收的计算任务。
26.一种计算机可读存储介质,其上存储有计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求22-23中任一项所述的方法。
27.一种计算设备,包括存储器和处理器,其中,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求22-23中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110352558.6A CN115145702A (zh) | 2021-03-31 | 2021-03-31 | 基于安全多方计算的信息处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110352558.6A CN115145702A (zh) | 2021-03-31 | 2021-03-31 | 基于安全多方计算的信息处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115145702A true CN115145702A (zh) | 2022-10-04 |
Family
ID=83404895
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110352558.6A Pending CN115145702A (zh) | 2021-03-31 | 2021-03-31 | 基于安全多方计算的信息处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115145702A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115811441A (zh) * | 2023-01-17 | 2023-03-17 | 华控清交信息科技(北京)有限公司 | 一种k8s云平台上的命名空间创建方法、装置及电子设备 |
CN117520020A (zh) * | 2024-01-05 | 2024-02-06 | 同盾科技有限公司 | 用于实现隐私计算的数据交互方法、装置、系统 |
-
2021
- 2021-03-31 CN CN202110352558.6A patent/CN115145702A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115811441A (zh) * | 2023-01-17 | 2023-03-17 | 华控清交信息科技(北京)有限公司 | 一种k8s云平台上的命名空间创建方法、装置及电子设备 |
CN115811441B (zh) * | 2023-01-17 | 2023-04-25 | 华控清交信息科技(北京)有限公司 | 一种k8s云平台上的命名空间创建方法、装置及电子设备 |
CN117520020A (zh) * | 2024-01-05 | 2024-02-06 | 同盾科技有限公司 | 用于实现隐私计算的数据交互方法、装置、系统 |
CN117520020B (zh) * | 2024-01-05 | 2024-03-29 | 同盾科技有限公司 | 用于实现隐私计算的数据交互方法、装置、系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11018852B2 (en) | Blockchain trust anchor | |
CN111182025B (zh) | 一种报文处理方法、装置、服务器及存储介质 | |
US20220311607A1 (en) | Key generation method and apparatus, device, and medium | |
CN113711536A (zh) | 从区块链网络中提取数据 | |
US7831734B2 (en) | Method and system for remote configuration of network devices | |
Roth et al. | Nvidia flare: Federated learning from simulation to real-world | |
CN111108521A (zh) | 实现基于区块链的工作流 | |
WO2017125015A1 (zh) | 分布式系统工作流处理方法和工作流引擎系统 | |
WO2019224028A1 (en) | Autocommit transaction management in a blockchain network | |
CN115145702A (zh) | 基于安全多方计算的信息处理方法及装置 | |
US20200374343A1 (en) | Optimization of delivery of blocks | |
JP2016510924A (ja) | 分散コンピューティング環境内の複製状態マシンにおける動的管理メンバシップのための方法、装置及びシステム | |
CN110381167A (zh) | 基于云的区块链节点主动发现系统及方法 | |
CN113505520A (zh) | 用于支持异构联邦学习的方法、装置和系统 | |
CN115328645A (zh) | 计算任务调度方法、计算任务调度装置及电子设备 | |
CN114328432A (zh) | 一种大数据联邦学习处理方法及系统 | |
CN114327827A (zh) | 一种任务处理方法、装置和存储介质 | |
CN114780982A (zh) | 一种流程业务流转方法、装置和系统 | |
CN111460038A (zh) | 一种数据准实时同步方法及装置 | |
CN114399230A (zh) | 任务信息处理方法、装置、设备及存储介质 | |
KR102031589B1 (ko) | 관계 체인 처리 방법 및 시스템, 그리고 저장 매체 | |
CN115361382B (zh) | 基于数据群组的数据处理方法、装置、设备和存储介质 | |
CN112825525A (zh) | 用于处理事务的方法和装置 | |
CN115757642A (zh) | 一种基于归档日志文件的数据同步方法及装置 | |
US20230266994A1 (en) | Migration of computational units in distributed networks |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240301 Address after: 51 Belarusian Pasha Road, Singapore, Lai Zan Da Building 1 # 03-06, Postal Code 189554 Applicant after: Alibaba Innovation Co. Country or region after: Singapore Address before: Room 01, 45th Floor, AXA Building, 8 Shanton Road Applicant before: Alibaba Singapore Holdings Ltd. Country or region before: Singapore |