一种隐私保护的数据处理方法、装置及存储介质转让专利

申请号 : CN202210602695.5

文献号 : CN114692207B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王超

申请人 : 蓝象智联(杭州)科技有限公司

摘要 :

本发明实施例公开了一种隐私保护的数据处理方法、装置及存储介质,其中隐私保护的数据处理方法包括步骤:基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令;获取所述发起方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。

权利要求 :

1.一种隐私保护的数据处理方法,其特征在于,包括以下步骤:

基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令;

生成所述发起方明文模块对应任务号,将所述任务号发送给参与方,所述任务号用于使所述发起方明文模块和对应的安全模块之间实现数据处理的协同和对接;

获取所述发起方明文模块所需的被服务化的所述安全模块,所述安全模块为基于多方安全计算协议构建的处理操作,在发起方和不同的参与方的所述安全模块的服务化接口定义上,设计为一样,区别在于参数不一样,所述安全模块内部根据所述参数的识别构造计算协同的过程;

获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。

2.根据权利要求1所述的隐私保护的数据处理方法,其特征在于,所述安全模块通过将基础安全模块进行复合运算的方式获得,所述复合运算包括矩阵向量乘法和/或矩阵乘。

3.根据权利要求1所述的隐私保护的数据处理方法,其特征在于,所述安全模块的服务化接口被定义为支持以形式参数定义的数据的使用。

4.根据权利要求1所述的隐私保护的数据处理方法,其特征在于,还包括:所述安全模块通过通讯服务模块进行通信,使得通信与所述安全模块解耦。

5.根据权利要求1所述的隐私保护的数据处理方法,其特征在于,所述安全模块的实现方式包括基于秘密分享实现、基于同态加密计算实现和/或基于可信执行环境计算实现。

6.一种隐私保护的数据处理方法,其特征在于,包括以下步骤:

基于数据处理任务获取参与方明文模块,所述参与方明文模块用于构造数据处理逻辑的指令;

获取所述参与方明文模块所需的被服务化的安全模块,所述安全模块为基于多方安全计算协议构建的处理操作,在发起方和不同的参与方的所述安全模块的服务化接口定义上,设计为一样,区别在于参数不一样,所述安全模块内部根据所述参数的识别构造计算协同的过程;

获取所述发起方发送的任务号,所述任务号用于使所述参与方明文模块和对应的所述安全模块之间实现数据处理的协同和对接;

获取所述参与方明文模块和对应的所述安全模块所需的参与方数据和发起方数据,所述发起方数据对于参与方为可用但不可见的数据,基于所述参与方数据和发起方数据,利用所述参与方明文模块和对应的所述安全模块进行数据处理,得到参与方处理结果。

7.一种隐私保护的数据处理装置,其特征在于,包括:

存储器;以及

与所述存储器连接的处理器,所述处理器被配置成:

基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令;

生成所述发起方明文模块对应任务号,将所述任务号发送给参与方,所述任务号用于使所述发起方明文模块和对应的安全模块之间实现数据处理的协同和对接;

获取所述发起方明文模块所需的被服务化的所述安全模块,所述安全模块为基于多方安全计算协议构建的处理操作,在发起方和不同的所述参与方的所述安全模块的服务化接口定义上,设计为一样,区别在于参数不一样,所述安全模块内部根据所述参数的识别构造计算协同的过程;

获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。

8.一种隐私保护的数据处理装置,其特征在于,包括:

存储器;以及

与所述存储器连接的处理器,所述处理器被配置成:

基于数据处理任务获取参与方明文模块,所述参与方明文模块用于构造数据处理逻辑的指令;

获取所述参与方明文模块所需的被服务化的安全模块,所述安全模块为基于多方安全计算协议构建的处理操作,在发起方和不同的参与方的所述安全模块的服务化接口定义上,设计为一样,区别在于参数不一样,所述安全模块内部根据所述参数的识别构造计算协同的过程;

获取所述发起方发送的任务号,所述任务号用于使所述参与方明文模块和对应的所述安全模块之间实现数据处理的协同和对接;

获取所述参与方明文模块和对应的所述安全模块所需的参与方数据和发起方数据,所述发起方数据对于参与方为可用但不可见的数据,基于所述参与方数据和发起方数据,利用所述参与方明文模块和对应的所述安全模块进行数据处理,得到参与方处理结果。

9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被机器执行时实现如权利要求1至6中任一项所述的方法的步骤。

说明书 :

一种隐私保护的数据处理方法、装置及存储介质

技术领域

[0001] 本发明涉及数据安全技术领域,具体涉及一种隐私保护的数据处理方法、装置及存储介质。

背景技术

[0002] 在面向隐私信息全生命周期保护的计算理论和方法中,隐私计算是一个多条技术路线融合的技术,目前行业内隐私计算包含三大技术路线,即:可信执行环境TEE,多方安全计算MPC,以及联邦学习FL。三种技术路线各有特点,MPC包含了隐匿查询、隐私求交、不经意传输等技术,广泛应用于多种场景中,由于各类加密明文模块的复杂性,导致运用门槛比较高;FL运用于联合建模场景,在建模时,采用多方安全计算技术,增强安全性,联邦学习也是人工智能AI技术与MPC技术的高度融合;TEE是以可信硬件为载体的方式提供数据处理能力,其交付模式比较重,当前探索方向包含软硬结合或者云服务的方式。
[0003] 多种技术的融合过程中,会遇到诸多障碍和技术门槛,比如联邦学习融合了AI和MPC,AI的技术,偏向于明文模块的构造,MPC的技术,则偏向于高阶密码学技术来构造安全模块,在技术融合的过程中产生的技术壁垒,对行业发展具有阻碍作用。当下正处在数据处理技术高速发展的时期,明文模块和安全模块还没有形成明确的定义和边界,现有技术安全模块与明文模块耦合在一起,难以分离,数据处理一般都采用一个独立的程序,将明文模块和安全模块耦合在一起进行运行。主要原因是多方安全计算安全模块是一个协同计算的过程,需要有多方参与,各方安全模块需要与外部的通信,安全模块内部需要维护运行服务状态,以满足上层服务的整体一致性,且伴随着与明文模块大量的数据交互,结合计算本身的隐私保护的安全性要求,安全模块一般都很难以服务的方式提供出来,从而引入了技术融合难题。因而出现了技术团队难以打破各自专业壁垒、分工协作困难、技术门槛高、产品功能与底层能力耦合严重等问题,除此之外,行业内各数据处理科技厂商之间,亦难以协同,通过数据处理技术在打通数据融合的同时,也构造了技术壁垒,造成当下各自数据处理技术厂商之间的技术,无法融合与互通的现状。

发明内容

[0004] 本发明实施例的目的在于提供一种隐私保护的数据处理方法、装置及存储介质,用以解决现有技术中因明文模块和安全模块耦合在一起,造成在技术融合过程中难以打破各自专业壁垒、分工协作困难、技术门槛高、产品功能与底层能力耦合严重以及数据处理技术之间无法融合与互通的问题。
[0005] 为实现上述目的,本发明实施例提供一种隐私保护的数据处理方法,包括步骤:基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令;获取所述发起方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。
[0006] 可选地,在基于所述数据处理任务获取所述发起方明文模块之后,还包括:生成所述发起方明文模块对应任务号,将所述任务号发送给参与方,所述任务号用于使所述发起方明文模块和对应的所述安全模块之间实现数据处理的协同和对接。
[0007] 可选地,所述安全模块通过将基础安全模块进行复合运算的方式获得,所述复合运算包括矩阵向量乘法和/或矩阵乘。
[0008] 可选地,所述安全模块的服务化接口被定义为支持以形式参数定义的数据的使用。
[0009] 可选地,还包括:所述安全模块通过通讯服务模块进行通信,使得通信与所述安全模块解耦。
[0010] 可选地,所述安全模块的实现方式包括基于秘密分享实现、基于同态加密计算实现和/或基于可信执行环境计算实现。
[0011] 为实现上述目的,本发明还提供另一种隐私保护的数据处理方法,包括步骤:基于数据处理任务获取参与方明文模块,所述参与方明文模块用于构造数据处理逻辑的指令;获取所述参与方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取发起方发送的任务号,所述任务号用于使所述参与方明文模块和对应的所述安全模块之间实现数据处理的协同和对接;获取所述参与方明文模块和对应的所述安全模块所需的参与方数据和发起方数据,所述发起方数据对于参与方为可用但不可见的数据,基于所述参与方数据和发起方数据,利用所述参与方明文模块和对应的所述安全模块进行数据处理,得到参与方处理结果。
[0012] 为实现上述目的,本发明还提供一种隐私保护的数据处理装置,包括:存储器;以及
[0013] 与所述存储器连接的处理器,所述处理器被配置成:
[0014] 基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令;获取所述发起方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。
[0015] 为实现上述目的,本发明还提供另一种隐私保护的数据处理装置,包括:存储器;以及
[0016] 与所述存储器连接的处理器,所述处理器被配置成:
[0017] 基于数据处理任务获取参与方明文模块,所述参与方明文模块用于构造数据处理逻辑的指令;获取所述参与方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取发起方发送的任务号,所述任务号用于使所述参与方明文模块和对应的所述安全模块之间实现数据处理的协同和对接;获取所述参与方明文模块和对应的所述安全模块所需的参与方数据和发起方数据,所述发起方数据对于参与方为可用但不可见的数据,基于所述参与方数据和发起方数据,利用所述参与方明文模块和对应的所述安全模块进行数据处理,得到参与方处理结果。
[0018] 为实现上述目的,本发明还提供一种计算机存储介质,其上存储有计算机程序,其中所述计算机程序被机器执行时实现如上所述的方法的步骤。
[0019] 本发明实施例具有如下优点:
[0020] 1.本发明实施例提供一种隐私保护的数据处理方法,包括步骤:基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令;获取所述发起方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。本发明实施例还提供另一种隐私保护的数据处理方法,包括步骤:基于数据处理任务获取参与方明文模块,所述参与方明文模块用于构造数据处理逻辑的指令;获取所述参与方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取发起方发送的任务号,所述任务号用于使所述参与方明文模块和对应的所述安全模块之间实现数据处理的协同和对接;获取所述参与方明文模块和对应的所述安全模块所需的参与方数据和发起方数据,所述发起方数据对于参与方为可用但不可见的数据,基于所述参与方数据和发起方数据,利用所述参与方明文模块和对应的所述安全模块进行数据处理,得到参与方处理结果。
[0021] 通过上述方法,通过使用被服务化的安全模块参与数据处理,安全模块的服务化接口被定义为相同的设计,使安全模块与明文模块解耦分离,实现在安全模块和明文模块层面可跨编程语言,从而在技术融合过程中降低技术门槛,利于打破各自专业壁垒和实现分工协作,解决了产品功能与底层能力严重耦合的问题;并且明文模块和安全模块可以在独立的硬件环境进行部署,解决了明文模块、安全模块在算力扩展差异化的问题;可以实现多种技术路线融合,明文模块可以不感知底层密码学实现,底层可以使用基于密码学的多方安全计算,也可以使用基于可信硬件环境实现,或者基于外包计算托管到云服务进行计算;上述方法可作为异构数据处理平台之间互联互通的核心关键技术方案,打破各数据处理公司之间无法互联互通的核心技术问题。
[0022] 2.进一步,在基于所述数据处理任务获取所述发起方明文模块之后,还包括:生成所述发起方明文模块对应任务号,将所述任务号发送给参与方,所述任务号用于使所述发起方明文模块和对应的所述安全模块之间实现数据处理的协同和对接。
[0023] 通过任务号对接安全模块和明文模块的上下文,能够实现彼此的识别和通信,利于实现安全模块和明文模块的分离。
[0024] 3.进一步,所述安全模块通过将基础安全模块进行复合运算的方式获得,所述复合运算包括矩阵向量乘法和/或矩阵乘。
[0025] 通过使用数据处理安全模块,防止根据处理结果反算出可用但不可见的数据,提高了安全性。
[0026] 4.进一步,所述安全模块的服务化接口被定义为支持以形式参数定义的数据的使用。
[0027] 通过支持以形式参数定义数据的使用,避免明文模块和安全模块之间直接传输大规模数据,利于解耦安全模块对大数据的依赖。

附图说明

[0028] 为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
[0029] 图1为本发明实施例提供的一种隐私保护的数据处理方法的流程图;
[0030] 图2为本发明实施例提供的一种隐私保护的数据处理方法的示意图;
[0031] 图3为本发明实施例提供的另一种隐私保护的数据处理方法的流程图;
[0032] 图4为本发明实施例提供的一种隐私保护的数据处理装置的模块框图。

具体实施方式

[0033] 以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0034] 此外,下面所描述的本发明不同实施方式中所涉及的技术特征只要彼此之间未构成冲突就可以相互结合。
[0035] 本发明一实施例提供一种隐私保护的数据处理方法,参考图1,图1为本发明的一实施方式中提供的一种隐私保护的数据处理方法的流程图,应当理解的是,该方法还可以包括未示出的附加框和/或可以省略所示出的框,本发明的范围在此方面不受限制。包括如下步骤:
[0036] 在步骤101处,基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令。
[0037] 具体地,数据处理是多种技术的统称,目的是为了让多个数据拥有者,在不暴露数据本身的前提下,实现数据的共享、互通、计算、建模,最终产生超出自身数据的价值,同时保证数据不泄露给其他参与方。明文模块是指利用多方安全计算技术,多方协同解决问题的策略机制,是有多方协同参与,并由一系列解决问题的清晰指令组成,明文模块通过调用多方安全计算安全模块,实现在整个计算过程中不暴露各自可用但不可见的数据的情况下得到处理结果。一个数据处理任务实际上是由多方参与完成,需要多方进行协同计算,将各方划分为发起方和其他参与方,各方明文模块包括发起方明文模块和参与方明文模块,各方明文模块负责构造计算逻辑的指令。对于发起方,基于数据处理任务获取发起方明文模块。
[0038] 在一些实施例中,在基于所述数据处理任务获取所述发起方明文模块之后,还包括:生成所述发起方明文模块对应任务号,将所述任务号发送给参与方,所述任务号用于使所述发起方明文模块和对应的所述安全模块之间实现数据处理的协同和对接。
[0039] 具体地,发起方每次启动一个发起方明文模块,将生成一个唯一的任务号,并通过明文模块间调用,将任务号分发给对应的参与方。任务号的目的是能够使各方明文模块和对应的安全模块之间实现计算的协同和对接,通过任务号对接安全模块、各方明文模块的上下文以使能够彼此识别和通信。
[0040] 在步骤102处 ,获取所述发起方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作。
[0041] 具体地,安全模块是指基于多方安全计算(MPC)协议构建的处理操作,比如基于多方安全计算的加法、乘法等,目的是在多方提供各自的输入数据,在保障各自输入数据不暴露的情况下,得到处理结果,除了结果之外,整个过程不暴露任何其它信息。服务化是指对应用程序的不同功能单元(称为服务)进行拆分,并通过在这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进行定义的,它独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种各样的系统中的服务可以使用一种统一和通用的方式进行交互。在不同参与方的安全模块服务接口定义上,设计为一样,区别在于参数不一样,安全模块内部根据参数的识别构造计算协同的过程。安全模块接口上一样,使得明文模块不用关注底层安全模块在协同计算的方式,在安全模块内部也能更好的便于内聚计算逻辑,提供标准的服务。
[0042] 在本实施例中,将安全模块以服务化的形式生成,将安全模块与明文模块进行分离,通过定义出良好的安全模块服务接口,实现安全模块的解耦。通过安全模块服务化的形式,可独立实现安全模块服务的硬件平台、操作系统和编程语言,解决数据处理技术融合的核心难题。
[0043] 在一些实施例中,所述安全模块通过将基础安全模块进行复合运算的方式获得,所述复合运算包括矩阵向量乘法和/或矩阵乘。
[0044] 具体地,安全模块服务化的接口在定义过程中,要充分考虑安全性问题,要求使用数据处理安全模块,并且不可以根据处理结果反算出可用但不可见的数据。不能将基础安全模块,直接开放服务化接口,如标量的加法、乘法等,因为标量的加法、乘法可以根据处理结果和本地已知数据,反算出可用但不可见的数据。所以如果直接将基础安全模块对外提供服务,不具备实际的安全意义,需要通过复合运算的方式,来避免原始数据的反算。比如在联邦学习中,常用的加乘,通过多个参数和多元的复合,来保障无法通过结果来进行逆运算。下面举例两个安全模块服务函数进行说明。
[0045] 示例1:矩阵向量乘法(Matrix Vector Multiplication)
[0046]
[0047] 其中, 为计算表达式,表示矩阵向量乘法;表示参与方的可用但不可见的数据,向量形式, 表示向量的转置;表示参与方的可用但不可见的数据,矩阵形式。在矩阵向量乘法中,没有通用的根据结果反算可用但不可见的数据的方法,以此作为隐私保护的基础前提。
[0048] 示例2:矩阵乘(Matrix Multiply)
[0049]
[0050] 其中, 为计算表达式,表示矩阵乘法;表示参与方的可用但不可见的数据,矩阵形式;Y表示参与方的可用但不可见的数据,矩阵形式;在矩阵乘法中,为了满足矩阵运算的不可逆,这里约束,两个矩阵的形状 不能一样,这样能够避免通过构造一个可逆的矩阵运算。
[0051] 在一些实施例中,所述安全模块的服务化接口被定义为支持以形式参数定义的数据的使用。
[0052] 具体地,安全模块在计算过程中,不可避免的会接触到规模很大的数据,所以在服务化接口定义中,需要支持以形式参数定义数据的使用,避免明文模块和安全模块之间直接传输大规模数据。例如,要传输一个很大的TB级别的矩阵数据,如果直接传输,会造成网络拥堵或出现内存不足的情况,所以在设计上,采用了通过形式参数代替传值的处理方式,数据存储在单独的存储服务商,通过送入数据存储的地址和约定访问方式,来解耦安全模块对大数据的依赖,安全模块内部,直接与大数据存储服务进行通信,以此来支持避免大规模数据的传值问题。
[0053] 在一些实施例中,还包括:所述安全模块通过通讯服务模块进行通信,使得通信与所述安全模块解耦。
[0054] 具体地,各方安全模块在执行过程中,会存在着大量的通信,安全模块作为一个不含有业务语义的运算过程,对于通信需要进行抽象,将通信服务,从安全模块中剥离出来,提供单独的通讯服务模块,安全模块只需要一个参与方的ID,即可与通信服务模块进行通信。通过这样的方法,将通信与安全模块解耦。
[0055] 在一些实施例中,所述安全模块的实现方式包括基于秘密分享实现、基于同态加密计算实现和/或基于可信执行环境计算实现。
[0056] 具体地,安全模块实现方式,存在着多样性,同样一个安全模块,基于不同的密码学技术,可以有多重实现,比如现在主流的,基于秘密分享实现,或者基于同态加密计算,或者基于可信执行环境TEE的计算,所以,在安全模块服务接口上,需要指定采用的多方安全计算协议,用于约定底层技术路线。
[0057] 以下给出示例性的安全模块服务化接口的基本形态:
[0058]
[0059] 其中 为服务名称,其参数说明如下表所示:
[0060]
[0061] 在步骤103处,获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。
[0062] 具体地,参考图2,在本实施例中,首先对数据处理的过程进行抽象,以多方参与方表标识数据处理中的发起方, 表示参与方, 代表一个功能层面的数据处理任务,由 共同完成,比如 可描述一个联邦的纵向逻辑回归或隐匿统计。其中代表着发起方 的明文模块, 代表着参与方 的明文模块,其中带有
点的变量,如 表示是外部参与者受到保护的可用但不可见的数据,即参与方数据对于发起方为可用但不可见的数据,发起方数据对于参与方为可用但不可见的数据,在本方无法获取其值,表示一个逻辑上可使用但不可见的数据,不带有点的变量,如 表示本方持有的可用可见数据。 表示发起方 所使用的安全模块, 表示参与方 所使用的
安全模块。 每次启动一个明文模块,将生成一个唯一的任务号( ),并通过明文模块间调用,将 分发给 。当获取了发起方明文模块和对应的安全模块所需的数据之后,利用 以及 进行数据处理,得到发起方处理结果,在获取了参与方
的处理结果之后,最终可以得到 数据处理任务的处理结果。
[0063] 本发明一实施例提供另一种隐私保护的数据处理方法,参考图3,图3为本发明的一实施方式中提供的另一种隐私保护的数据处理方法的流程图,应当理解的是,该方法还可以包括未示出的附加框和/或可以省略所示出的框,本发明的范围在此方面不受限制。包括如下步骤:
[0064] 在步骤201处,基于数据处理任务获取参与方明文模块,所述参与方明文模块用于构造数据处理逻辑的指令。
[0065] 在步骤202处,获取所述参与方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作。
[0066] 在步骤203处,获取发起方发送的任务号,所述任务号用于使所述参与方明文模块和对应的所述安全模块之间实现数据处理的协同和对接。
[0067] 在步骤204处,获取所述参与方明文模块和对应的所述安全模块所需的参与方数据和发起方数据,所述发起方数据对于参与方为可用但不可见的数据,基于所述参与方数据和发起方数据,利用所述参与方明文模块和对应的所述安全模块进行数据处理,得到参与方处理结果。
[0068] 具体实施方式参考前述实施例,此处不再赘述。
[0069] 通过安全模块和明文模块分离,构建出多方安全计算的应用场景和联邦学习的应用场景,另外一方面,能加速技术的融合过程。
[0070] 技术融合包括纵向技术融合和横向技术融合。技术纵向融合是指,在传统数据应用,如多方联合的统计分析,多方联合建模建立AI模型,为传统的统计分析技术、AI技术,与密码学技术融合提供了技术融合的便利。技术横向融合是能够打通不同技术厂商之间,能够实现数据处理技术的互联互通。
[0071] 下面分多方联合统计分析、联邦学习、互联互通,三个层面的技术融合应用结合示例加以说明:
[0072] 首先以基于联合统计分析的金融场景的应用为例,联合统计分析的运营场景非常广泛,我们举一个金融场景贷前风险识别进行举例,需要联合多家银行,对某一个用户在各家银行的存款和贷款额度信息进行统计分析,以此来评估贷前风险,但是统计过程,不能泄露具体的存款与贷款额度,以上便是所述的数据处理任务。
[0073] 基于上述的数据处理任务,假设我们定义了一个统计分析函数,这个统计函数需要由多方来完成,统计函数的形态很多,比如求和,平均,期望、方差、协方差等。此处以求平均为例进行说明。
[0074] 结合明文模块与安全模块分离的思想,在明文模块层面,完成面向统计与分析工作,调用底层的安全模块层面,实现安全计算的任务,比如对于求和运算,要对隐私信息进行保护。安全模块层的计算都是基于密码学原语实现的,我们举例说明一下安全模块执行一个多方求和的过程,求和的结果输出给明文模块层,为了更加清楚的进行说明,可以用某种密码学计算原语进行描述,比如同态加密、密码分享都是密码学计算原语,正是因为底层多种密码学原语的多样性,所以将安全模块和明文模块进行分离,将有效解决通用计算能力与密码学的技术融合问题。这里通过密码分享进行描述,秘码分享是将需要保护的信息,进行分片,然后将分片信息进行分享,在分片的状态下,完成计算后,再恢复的过程。比如在这个例子中,各家银行将某个用户的存款额度x随机差分成份,所有份额相加的和为x随,参与方的个数,n>2,将各个份额在各参与方之间进行交换分享,每个参与方最终拿到n个份额,每个参与方对份额汇总后,发给发起方,发起方根据每个参与方的汇总结果,进行求和,实现一个加法的安全安全模块。
[0075] 以基于联邦建模的金融场景的应用为例,金融客户在营销反欺诈场景希望能够安全合规融合多方数据资源,提高现有 AI 风控模型准确率,同时降低人工审核成本,提高审核效率,进而提升用户体验。
[0076] 采用联邦学习方案,在各个数据源域内搭建联邦学习平台,在网络联通的情况下,保证各方数据不出域的情况下汇聚多源历史数据进行联合建模,输出营销反欺诈模型。
[0077] 联邦学习中需要用到大量的明文模块,明文模块需要大量采用密码学技术来实现联合的计算。我们以一个典型的明文模块,纵向逻辑回归明文模块进行说明,在纵向逻辑回归中,我们主要使用矩阵向量乘法,作为安全模块与明文模块层的分离点,安全模块层实现矩阵向量乘法,其它的训练过程,有明文模块层实现。
[0078] 以在数据处理互联互通场景的应用为例,互联互通的定义:互联互通是指不同技术实现的数据处理平台能够相互协同,协同完成多方安全计算、联邦学习的数据处理任务。
[0079] 互联互通的背景:跨平台的数据处理节点之间的互联互通,是现在行业内提得非常多的一个问题,如果各数据处理技术厂商之间无法互通,在打破数据壁垒的同时,技术的差异性会形成新的阻碍,如何破除技术壁垒。
[0080] 互联互通在当下,还面临很多的问题和阻碍,下面我们对这些问题进行探讨和分析,加深对这些问题的认知,有助于我们推进互联互通的过程中做一些合理的取舍和制定相应的策略,当前互联互通的基础设施,要解决的问题包括:
[0081] 数据处理技术发展路径多样性,主要有基于硬件的TEE可信执行环境的计算、基于密码学技术的隐私计,在这个层面上,技术路线上完全不一样,当前,不同技术路线无法融合和互通,为构建行业合力,形成了技术鸿沟,如何解决多条技术路线融合的问题,有待在互联互通基础设施上进行解决。
[0082] 数据处理系统部署架构多样性,存在有可信第三方架构、和不需要可信第三方参与的点对点计算架构,在有第三方参与的架构中,双方要找部署一个共同的第三方节点,这个是统一的,实现上相对简单,但是实际业务场景下,联盟中心节点可能会成为这样的第三方,也可能是一个半可行的第三方,只是辅助计算而不参与计算,不接触数据,仅仅作为协调方参与。
[0083] 通过安全模块与明文模块的分离,在各家厂商之间建立一套统一的安全模块接口,在不同架构之间,进行技术融合提供了可能。
[0084] 通过上述方法,通过使用被服务化的安全模块参与数据处理,安全模块的服务化接口被定义为相同的设计,使安全模块与明文模块解耦分离,实现在安全模块和明文模块层面可跨编程语言,从而在技术融合过程中降低技术门槛,利于打破各自专业壁垒和实现分工协作,解决了产品功能与底层能力严重耦合的问题;并且明文模块和安全模块可以在独立的硬件环境进行部署,解决了明文模块、安全模块在算力扩展差异化的问题;可以实现多种技术路线融合,明文模块可以不感知底层密码学实现,底层可以使用基于密码学的多方安全计算,也可以使用基于可信硬件环境实现,或者基于外包计算托管到云服务进行计算;上述方法可作为异构数据处理平台之间互联互通的核心关键技术方案,打破各数据处理公司之间无法互联互通的核心技术问题。
[0085] 图4为本发明实施例提供的一种隐私保护的数据处理装置的模块框图。该装置包括:
[0086] 存储器301;以及与所述存储器301连接的处理器302,所述处理器302被配置成:基于数据处理任务获取发起方明文模块,所述发起方明文模块用于构造数据处理逻辑的指令;获取所述发起方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取所述发起方明文模块和对应的所述安全模块所需的发起方数据和参与方数据,所述参与方数据对于发起方为可用但不可见的数据,基于所述发起方数据和参与方数据,利用所述发起方明文模块和对应的所述安全模块进行数据处理,得到发起方处理结果。
[0087] 在一些实施例中,所述处理器302还被配置成:在基于所述数据处理任务获取所述发起方明文模块之后,还包括:生成所述发起方明文模块对应任务号,将所述任务号发送给参与方,所述任务号用于使所述发起方明文模块和对应的所述安全模块之间实现数据处理的协同和对接。
[0088] 在一些实施例中,所述处理器302还被配置成:所述安全模块通过将基础安全模块进行复合运算的方式获得,所述复合运算包括矩阵向量乘法和/或矩阵乘。
[0089] 在一些实施例中,所述处理器302还被配置成:所述安全模块的服务化接口被定义为支持以形式参数定义的数据的使用。
[0090] 在一些实施例中,所述处理器302还被配置成:还包括:所述安全模块通过通讯服务模块进行通信,使得通信与所述安全模块解耦。
[0091] 在一些实施例中,所述处理器302还被配置成:所述安全模块的实现方式包括基于秘密分享实现、基于同态加密计算实现和/或基于可信执行环境计算实现。
[0092] 在一些实施例中提供的另一种隐私保护的数据处理装置,所述处理器302被配置成:基于数据处理任务获取参与方明文模块,所述参与方明文模块用于构造数据处理逻辑的指令;获取所述参与方明文模块所需的被服务化的安全模块,所述安全模块的服务化接口被定义为相同的设计,所述安全模块为基于多方安全计算协议构建的处理操作;获取发起方发送的任务号,所述任务号用于使所述参与方明文模块和对应的所述安全模块之间实现数据处理的协同和对接;获取所述参与方明文模块和对应的所述安全模块所需的参与方数据和发起方数据,所述发起方数据对于参与方为可用但不可见的数据,基于所述参与方数据和发起方数据,利用所述参与方明文模块和对应的所述安全模块进行数据处理,得到参与方处理结果。
[0093] 具体实现方法参考前述方法实施例,此处不再赘述。
[0094] 本发明可以是方法、装置、系统和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本发明的各个方面的计算机可读程序指令。
[0095] 计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD‑ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
[0096] 这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
[0097] 用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
[0098] 这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
[0099] 这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0100] 也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
[0101] 附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0102] 注意,除非另有直接说明,否则本说明书(包含任何所附权利要求、摘要和附图)中所揭示的所有特征皆可由用于达到相同、等效或类似目的的可替代特征来替换。因此,除非另有明确说明,否则所公开的每一个特征仅是一组等效或类似特征的一个示例。在使用到的情况下,进一步地、较优地、更进一步地和更优地是在前述实施例基础上进行另一实施例阐述的简单起头,该进一步地、较优地、更进一步地或更优地后带的内容与前述实施例的结合作为另一实施例的完整构成。在同一实施例后带的若干个进一步地、较优地、更进一步地或更优地设置之间可任意组合的组成又一实施例。
[0103] 虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。