基于隐私需求的数据协作方法、装置、存储介质及设备转让专利

申请号 : CN202210927782.8

文献号 : CN114996768B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 邢炬左磊

申请人 : 天聚地合(苏州)科技股份有限公司

摘要 :

本申请公开了一种基于隐私需求的数据协作方法、装置、存储介质及设备,属于隐私计算技术领域,包括:根据用户的隐私需求在前端页面中绘制数据协作图,数据协作图中包含至少一个数据源、至少一个隐私容器和至少一个结果数据,隐私容器中包含至少一个计算组件;对数据协作图进行解析,得到至少一个隐私容器;对于每个隐私容器,根据隐私容器对应的隐私需求,对各个计算组件匹配对应的隐私计算后端;将计算组件的标识、隐私计算后端的类型、各个数据协作方地址和数据源中的数据索引发送至各个数据协作方进行数据协作;在数据协作结束后,从结果数据中获取计算结果。本申请能够降低使用门槛,增强可解释性,提高灵活性和通用性。

权利要求 :

1.一种基于隐私需求的数据协作方法,其特征在于,所述方法包括:

根据用户的隐私需求在前端页面中绘制数据协作图,所述数据协作图中包含至少一个数据源、至少一个隐私容器和至少一个结果数据,所述数据源用于提供隐私数据,所述隐私容器中包含至少一个用于定义隐私数据的计算方式的计算组件,所述结果数据用于输出计算结果;

对所述数据协作图进行解析,得到所述至少一个隐私容器;

对于每个隐私容器,根据所述隐私容器对应的隐私需求,对所述隐私容器中的各个计算组件匹配对应的隐私计算后端;

将所述计算组件的标识、所述隐私计算后端的类型、各个数据协作方地址和所述数据源中的数据索引发送至各个数据协作方进行数据协作;

在数据协作结束后,从所述结果数据中获取计算结果;

其中,所述根据用户的隐私需求在前端页面中绘制数据协作图,包括:在所述前端页面中显示数据市场子页、计算组件子页、画布子页和组件属性子页;根据所述用户的隐私需求,将所述数据市场子页或所述计算组件子页中的至少一个数据源拖拽至所述画布子页中;根据所述用户的隐私需求,将所述计算组件子页中的至少一个隐私容器、至少一个计算组件和结果数据拖拽至所述画布子页中;在所述组件属性子页中,分别对所述至少一个隐私容器、所述至少一个计算组件和所述结果数据进行属性配置;在所述画布子页中对所述至少一个数据源、所述至少一个隐私容器、所述至少一个计算组件和所述结果数据进行连接,得到所述数据协作图。

2.根据权利要求1所述的基于隐私需求的数据协作方法,其特征在于,所述根据所述隐私容器对应的隐私需求,对所述隐私容器中的各个计算组件匹配对应的隐私计算后端,包括:当利用所述隐私容器中的多个声明元素的取值来表示所述隐私需求时,获取预设的映射表,所述映射表中包含不同的隐私计算后端与多个具有不同取值的声明元素的对应关系;

获取解析得到的所述隐私容器中的多个声明元素的取值,所述声明元素的取值是在绘制所述数据协作图时设置的;

对于所述隐私容器中的各个计算组件,在所述映射表中查找与所述多个声明元素的取值对应的隐私计算后端。

3.根据权利要求2所述的基于隐私需求的数据协作方法,其特征在于,所述隐私容器中的声明元素包括运算位置、协调方、数据隔离范式、噪声系数、流量混淆、计算混淆中的至少两种;

所述运算位置是指运算发生的场所;

所述协调方是指运算是否允许第三方参与协调;

所述数据隔离范式是指运算过程中数据的可见性;

所述噪声系数是指Laplace差分隐私系数;

所述流量混淆是指运算是否需要在计算实体间的流量交换上屏蔽特征;

所述计算混淆是指运算是否需要在内存表现上屏蔽特征。

4.根据权利要求1所述的基于隐私需求的数据协作方法,其特征在于,所述方法还包括:对各个计算组件和各个隐私计算后端进行合法性校验,校验内容包括相连的计算组件之间的接口类型是否兼容、所述计算组件是否满足所述隐私容器中声明元素的后端实现、同一隐私容器中的所有计算组件的隐私计算后端的类型是否一致;

若校验通过,则触发执行所述将所述计算组件的标识、所述隐私计算后端的类型、各个数据协作方地址和所述数据源中的数据索引发送至各个数据协作方进行数据协作的步骤;

若校验不通过,则向所述前端页面反馈错误信息。

5.根据权利要求1所述的基于隐私需求的数据协作方法,其特征在于,所述方法还包括:根据所述隐私计算后端的分布情况在相连的隐私容器之间中隐式增加转换单元,所述转换单元用于将前一隐私容器的计算结果转换为适用于后一隐私容器的计算结果。

6.根据权利要求5所述的基于隐私需求的数据协作方法,其特征在于,所述转换单元的类型包括可信执行环境‑密码学电路类型、密码学电路‑可信执行环境类型、明文‑可信执行环境类型、明文‑密码学电路类型。

7.根据权利要求1所述的基于隐私需求的数据协作方法,其特征在于,所述数据市场子页中的数据源已预先进行注册。

8.根据权利要求1所述的基于隐私需求的数据协作方法,其特征在于,所述计算组件子页中的数据源未预先进行注册,则所述方法还包括:在所述组件属性子页中,对从所述计算组件子页拖拽出的数据源的数据索引或数据接口进行配置。

9.根据权利要求1所述的基于隐私需求的数据协作方法,其特征在于,所述前端页面中还包括控制台子页,则所述方法还包括:实时检测所述画布子页中的数据协作图是否存在错误;

若检测出所述数据协作图中存在错误,则在所述控制台子页中显示错误信息。

10.一种基于隐私需求的数据协作装置,其特征在于,所述装置包括:绘制模块,用于根据用户的隐私需求在前端页面中绘制数据协作图,所述数据协作图中包含至少一个数据源、至少一个隐私容器和至少一个结果数据,所述数据源用于提供隐私数据,所述隐私容器中包含至少一个用于定义隐私数据的计算方式的计算组件,所述结果数据用于输出计算结果;

解析模块,用于对所述数据协作图进行解析,得到所述至少一个隐私容器;

匹配模块,用于对于每个隐私容器,根据所述隐私容器对应的隐私需求,对所述隐私容器中的各个计算组件匹配对应的隐私计算后端;

部署模块,用于将所述计算组件的标识、所述隐私计算后端的类型、各个数据协作方地址和所述数据源中的数据索引发送至各个数据协作方进行数据协作;

获取模块,用于在数据协作结束后,从所述结果数据中获取计算结果;

其中,所述绘制模块,还用于:在所述前端页面中显示数据市场子页、计算组件子页、画布子页和组件属性子页;根据所述用户的隐私需求,将所述数据市场子页或所述计算组件子页中的至少一个数据源拖拽至所述画布子页中;根据所述用户的隐私需求,将所述计算组件子页中的至少一个隐私容器、至少一个计算组件和结果数据拖拽至所述画布子页中;

在所述组件属性子页中,分别对所述至少一个隐私容器、所述至少一个计算组件和所述结果数据进行属性配置;在所述画布子页中对所述至少一个数据源、所述至少一个隐私容器、所述至少一个计算组件和所述结果数据进行连接,得到所述数据协作图。

11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如权利要求1至9任一所述的基于隐私需求的数据协作方法。

12.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至9任一所述的基于隐私需求的数据协作方法。

说明书 :

基于隐私需求的数据协作方法、装置、存储介质及设备

技术领域

[0001] 本申请涉及隐私计算技术领域,特别涉及一种基于隐私需求的数据协作方法、装置、存储介质及设备。

背景技术

[0002] 在强调“数字经济”的今天,数据要素的安全流通成为了一个重要需求。隐私计算技术借助密码学、分布式计算、新型硬件特性等技术手段能够有效打通数据孤岛,实现“可用不可见”的效果,充分促进数据要素的流动与共享。
[0003] 然而隐私计算在技术手段上存在高度的异质性,各类隐私计算技术的原理、效果、部署条件及缺陷等不尽相同,对于非数据安全行业人员具有较高的学习门槛。这就导致隐私计算被集成在实际业务场景中使用时面临诸多挑战:
[0004] 1)业务人员既难以形式化地凝练自身的隐私需求,又难以将自身的隐私需求正确地匹配至相应的隐私计算后端,且在不借助安全人员的帮助下难以构建实施包含隐私计算的业务流程。
[0005] 2)业内现有的隐私计算方案通常基于特定的隐私计算后端构建。在实际业务场景各方的隐私需求可能不尽相同。现有的隐私计算解决方案通常采用pre‑active的方式,即统一规约好各方的隐私计算需求再确定相应的隐私计算后端,因此无法满足动态协作的需求(reactive),缺乏灵活性和通用性。

发明内容

[0006] 本申请提供了一种基于隐私需求的数据协作方法、装置、存储介质及设备,用于解决现有的隐私计算需要业务人员具备一定的调试开发能力,使用门槛较高,无法满足动态协作的需求,缺乏灵活性和通用性的问题。所述技术方案如下:
[0007] 一方面,提供了一种基于隐私需求的数据协作方法,所述方法包括:
[0008] 根据用户的隐私需求在前端页面中绘制数据协作图,所述数据协作图中包含至少一个数据源、至少一个隐私容器和至少一个结果数据,所述数据源用于提供隐私数据,所述隐私容器中包含至少一个用于定义隐私数据的计算方式的计算组件,所述结果数据用于输出计算结果;
[0009] 对所述数据协作图进行解析,得到所述至少一个隐私容器;
[0010] 对于每个隐私容器,根据所述隐私容器对应的隐私需求,对所述隐私容器中的各个计算组件匹配对应的隐私计算后端;
[0011] 将所述计算组件的标识、所述隐私计算后端的类型、各个数据协作方地址和所述数据源中的数据索引发送至各个数据协作方进行数据协作;
[0012] 在数据协作结束后,从所述结果数据中获取计算结果。
[0013] 在一种可能的实现方式中,所述根据所述隐私容器对应的隐私需求,对所述隐私容器中的各个计算组件匹配对应的隐私计算后端,包括:
[0014] 当利用所述隐私容器中的多个声明元素的取值来表示所述隐私需求时,获取预设的映射表,所述映射表中包含不同的隐私计算后端与多个具有不同取值的声明元素的对应关系;
[0015] 获取解析得到的所述隐私容器中的多个声明元素的取值,所述声明元素的取值是在绘制所述数据协作图时设置的;
[0016] 对于所述隐私容器中的各个计算组件,在所述映射表中查找与所述多个声明元素的取值对应的隐私计算后端。
[0017] 在一种可能的实现方式中,所述隐私容器中的声明元素包括运算位置、协调方、数据隔离范式、噪声系数、流量混淆、计算混淆中的至少两种;
[0018] 所述运算位置是指运算发生的场所;
[0019] 所述协调方是指运算是否允许第三方参与协调;
[0020] 所述数据隔离范式是指运算过程中数据的可见性;
[0021] 所述噪声系数是指Laplace差分隐私系数;
[0022] 所述流量混淆是指运算是否需要在计算实体间的流量交换上屏蔽特征;
[0023] 所述计算混淆是指运算是否需要在内存表现上屏蔽特征。
[0024] 在一种可能的实现方式中,所述方法还包括:
[0025] 对各个计算组件和各个隐私计算后端进行合法性校验,校验内容包括相连的计算组件之间的接口类型是否兼容、所述计算组件是否满足所述隐私容器中声明元素的后端实现、同一隐私容器中的所有计算组件的隐私计算后端的类型是否一致;
[0026] 若校验通过,则触发执行所述将所述计算组件的标识、所述隐私计算后端的类型、各个数据协作方地址和所述数据源中的数据索引发送至各个数据协作方进行数据协作的步骤;
[0027] 若校验不通过,则向所述前端页面反馈错误信息。
[0028] 在一种可能的实现方式中,所述方法还包括:
[0029] 根据所述隐私计算后端的分布情况在相连的隐私容器之间中隐式增加转换单元,所述转换单元用于将前一隐私容器的计算结果转换为适用于后一隐私容器的计算结果。
[0030] 在一种可能的实现方式中,所述转换单元的类型包括可信执行环境‑密码学电路类型、密码学电路‑可信执行环境类型、明文‑可信执行环境类型、明文‑密码学电路类型。
[0031] 在一种可能的实现方式中,所述根据用户的隐私需求在前端页面中绘制数据协作图,包括:
[0032] 在所述前端页面中显示数据市场子页、计算组件子页、画布子页和组件属性子页;
[0033] 根据所述用户的隐私需求,将所述数据市场子页或所述计算组件子页中的至少一个数据源拖拽至所述画布子页中;
[0034] 根据所述用户的隐私需求,将所述计算组件子页中的至少一个隐私容器、至少一个计算组件和结果数据拖拽至所述画布子页中;
[0035] 在所述组件属性子页中,分别对所述至少一个隐私容器、所述至少一个计算组件和所述结果数据进行属性配置;
[0036] 在所述画布子页中对所述至少一个数据源、所述至少一个隐私容器、所述至少一个计算组件和所述结果数据进行连接,得到所述数据协作图。
[0037] 在一种可能的实现方式中,所述数据市场子页中的数据源已预先进行注册。
[0038] 在一种可能的实现方式中,所述计算组件子页中的数据源未预先进行注册,则所述方法还包括:
[0039] 在所述组件属性子页中,对从所述计算组件子页拖拽出的数据源的数据索引或数据接口进行配置。
[0040] 在一种可能的实现方式中,所述前端页面中还包括控制台子页,则所述方法还包括:
[0041] 实时检测所述画布子页中的数据协作图是否存在错误;
[0042] 若检测出所述数据协作图中存在错误,则在所述控制台子页中显示错误信息。
[0043] 一方面,提供了一种基于隐私需求的数据协作装置,所述装置包括:
[0044] 绘制模块,用于根据用户的隐私需求在前端页面中绘制数据协作图,所述数据协作图中包含至少一个数据源、至少一个隐私容器和至少一个结果数据,所述数据源用于提供隐私数据,所述隐私容器中包含至少一个用于定义隐私数据的计算方式的计算组件,所述结果数据用于输出计算结果;
[0045] 解析模块,用于对所述数据协作图进行解析,得到所述至少一个隐私容器;
[0046] 匹配模块,用于对于每个隐私容器,根据所述隐私容器对应的隐私需求,对所述隐私容器中的各个计算组件匹配对应的隐私计算后端;
[0047] 部署模块,用于将所述计算组件的标识、所述隐私计算后端的类型、各个数据协作方地址和所述数据源中的数据索引发送至各个数据协作方进行数据协作;
[0048] 获取模块,用于在数据协作结束后,从所述结果数据中获取计算结果。
[0049] 一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的基于隐私需求的数据协作方法。
[0050] 一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的基于隐私需求的数据协作方法。
[0051] 本申请提供的技术方案的有益效果至少包括:
[0052] 在跨域数据协作中,业务人员能够使用隐私容器明确其在数据协作过程中的隐私需求,在利用隐私容器中的多个声明元素的取值来表示隐私需求,从而可以利用隐私需求的声明元素将常见的隐私计算后端特性规约到同一体系中,便于业务人员做甄选和对比,增强了隐私保障方面的可解释性。当监管要求或隐私要求发生调整时,只需要修改声明元素即可以重新运行合规的数据协作任务。
[0053] 通过将隐私需求映射至多种隐私计算后端并部署,能够较好地服务多方协作场景,并采用无代码数据协作定义界面,这样,使得业务人员只关注于隐私合规需求,不需要操心底层具体的隐私计算后端的选择以及可能的切换过程,降低了使用门槛,提升了易用性。与此同时,自动进行校验和转换单元的添加也降低了隐私计算方案的实施成本,提升了计算效率。

附图说明

[0054] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0055] 图1是根据部分示例性实施例示出的一种数据协作系统的结构示意图;
[0056] 图2是本申请一个实施例提供的基于隐私需求的数据协作方法的方法流程图;
[0057] 图3是本申请另一实施例提供的前端页面的示意图;
[0058] 图4是本申请另一实施例提供的数据协作图的示意图;
[0059] 图5是本申请另一实施例提供的基于隐私需求的数据协作装置的结构框图;
[0060] 图6是本申请再一实施例提供的基于隐私需求的数据协作装置的结构框图。

具体实施方式

[0061] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
[0062] 如图1所示,本实施例中的计算机设备中安装有开发环境,开发环境主要被用于数据主体与其他数据主体间发生数据协作。这里所说的发环境包括前端页面和控制器这两个部分,前端页面用于定义具体的数据协作流程,控制器负责通过协调器将数据协作分发给各个数据协作方。参与数据协作的各个数据协作方中提前预置了全量的计算组件,以便与数据协作定义方配合完成隐私计算过程。
[0063] 本实施例中,将利用开发环境定义数据协作的一方称为数据协作定义方,若该数据协作定义方也参与数据协作,则也可以将其称为数据协作方。如图1中所示,数据协作定义方中除了包括开发环境,还包括预置的业务组件和本地数仓,以便参与数据协作。
[0064] 简单来说,业务人员可以根据数据协作流程在前端页面中绘制数据协作图,控制器将数据协作图解析后发给各个数据协作方进行数据协作,并在数据协作后可以得到隐私计算的计算结果。
[0065] 请参考图2,其示出了本申请一个实施例提供的基于隐私需求的数据协作方法的方法流程图,该基于隐私需求的数据协作方法可以应用于计算机设备中。该基于隐私需求的数据协作方法,可以包括:
[0066] 步骤201,根据用户的隐私需求在前端页面中绘制数据协作图,数据协作图中包含至少一个数据源、至少一个隐私容器和至少一个结果数据,数据源用于提供隐私数据,隐私容器中包含至少一个用于定义隐私数据的计算方式的计算组件,结果数据用于输出计算结果。
[0067] 请参考图3,本实施例中的前端页面中可以包括数据市场子页、计算组件子页、画布子页、组件属性子页、控制台子页和功能板子页,下面分别对上述六个子页进行介绍。
[0068] (1)数据市场子页中陈列至少一个数据源,每个数据源对应于一个已经过相关的流程注册或披露过的外部数据源,这些数据均不能直接接触其明文,在数据协作定义过程中采用标识符如UUID等进行表示。
[0069] (2)计算组件子页中陈列用于协作定义的组件,包括隐私容器、数据源、结果数据以及至少一个的计算组件。隐私容器是开发环境提供的默认组件,用于帮助业务人员对具体协作过程中自身数据的隐私需求进行声明,当某一隐私容器中的计算组件被最终部署和调用时,均会遵守该隐私容器的隐私需求声明。计算组件子页中的数据源与数据市场子页中的数据源不同,这里的数据源未预先进行注册,也就是空的数据源,需要进行配置才能使用。图3中的计算组件分为3个类别,第一个类别用于进行数据查询,包括数据求交组件和数据求并组件;第二个类别用于进行数据预处理,包括特征筛选组件、特征增广组件和样本采样组件;第三个类别用于进行模型训练/推理,包括Xgboost模型、线性回归模型、Kmeans模型、ResNet模型和自定义NN模型。需要说明的是,图3中仅示出了部分计算组件,可以根据实际需求增减计算组件。
[0070] (3)画布子页用于将图形化的组件拖拽至画布中以创建数据协作图,图3中示出了一种数据协作图。
[0071] (4)组件属性子页中陈列具体组件可以配置的选项或供能。其中,不同的组件可以对应于不同的选项,本实施例中不限定组件属性子页中的具体配置项。比如,当计算组件是训练模型时,可以在组件属性子页中配置模型的损失函数、loss形变、子节点最小分裂数、子节点最小增益、验证集与测试集的比例、AUC指标等等。
[0072] (5)控制台子页中显示日志等信息。
[0073] (6)功能板子页中显示功能按钮,比如保存、加载、生成、部署、权属、测试、生产等等。
[0074] 业务人员可以在上述所说的前端页面中绘制数据协作图。数据协作图被组织为基于隐私容器串接的图,数据源均接入至隐私容器,从隐私容器输出结果数据,每个隐私容器可以容纳一个或多个计算组件。具体的,计算机设备可以在前端页面中显示数据市场子页、计算组件子页、画布子页和组件属性子页;根据用户的隐私需求,将数据市场子页或计算组件子页中的至少一个数据源拖拽至画布子页中;根据用户的隐私需求,将计算组件子页中的至少一个隐私容器、至少一个计算组件和结果数据拖拽至画布子页中;在组件属性子页中,分别对至少一个隐私容器、至少一个计算组件和结果数据进行属性配置;在画布子页中对至少一个数据源、至少一个隐私容器、至少一个计算组件和结果数据进行连接,得到数据协作图。
[0075] 需要说明的是,若数据源来源于数据市场子页,则无需对其进行配置;若数据源来源于计算组件子页,则在组件属性子页中,对从计算组件子页拖拽出的数据源的数据索引或数据接口进行配置。其中,面向不可直接获取的数据的数据源可以配置数据索引,面向可以明文获取的数据的数据源可以配置数据接口,使业务人员在操作上能够保持一致性。
[0076] 在绘制数据协作图的过程中,还可以实时检测画布子页中的数据协作图是否存在错误;若检测出数据协作图中存在错误,则在控制台子页中显示错误信息。即,将错误信息作为日志显示在控制台子页中,比如,组件3的属性与隐私容器1的属性冲突、组件2权重衰减未配置。
[0077] 步骤202,对数据协作图进行解析,得到至少一个隐私容器。
[0078] 解析后得到的每个隐私容器对应于一个计算阶段。
[0079] 解析操作可以由控制器中的解析模块实现。
[0080] 步骤203,对于每个隐私容器,根据隐私容器对应的隐私需求,对隐私容器中的各个计算组件匹配对应的隐私计算后端。
[0081] 本实施例中,可以利用隐私容器中的多个声明元素的取值来表示隐私需求,下面对隐私容器对应的声明元素、含义和取值进行说明,详见表一:
[0082] 表一
[0083] 声明元素 含义 取值运算位置 运算发生的场所 自有基础设施/公有云/不限
协调方 是否允许第三方参与协调 允许/不允许/不限
数据隔离范式 运算过程中数据的可见性 应用隔离/系统隔离/代码隔离/不限噪声系数 Laplace差分隐私系数 具体数值/不限
流量混淆 是否需要在计算实体间的流量交换上屏蔽特征 开启/不开启/不限
计算混淆 是否需要在内存表现上屏蔽特征 开启/不开启/不限
[0084] 其中,隔离范式主要依赖于软硬件和密码学手段进行实现。应用隔离通常指某一隐私容器中的计算组件在运算时,其中的数据对其他用户的计算流程不可见,通常采用软件手段实现;系统隔离指隐私容器中的计算组件在运算时,其中的数据对操作系统不可见,通常依赖于计算硬件对内存加密的支持;代码隔离指数据对运算逻辑不可见,通常依赖于密码学技术。
[0085] 由于隐私计算的技术路径的多样性,同一计算组件针对多种技术路径均有相应的实例,即隐私计算后端,以适配于不同的隐私需求声明。此处列出典型的隐私计算的技术路径对应的基础隐私需求,详见表二:
[0086] 表二
[0087] 技术路径 运算位置 协调方 数据隔离范式 噪声系数 流量混淆 计算混淆Intel SGX 公有云 允许 系统隔离 支持 不支持 支持ARM Trustzone 公有云 允许 应用隔离 支持 不支持 支持
RISC‑V 公有云 允许 应用隔离 支持 不支持 支持
同态加密 公有云 允许 代码隔离 支持* 不支持 不支持
姚氏电路 自有基础设施 不允许 代码隔离 支持* 支持 不支持
算术/布尔电路 自有基础设施 不允许 代码隔离 支持* 支持 不支持
联邦学习 不限 允许 系统隔离/代码隔离 支持 支持 不支持
[0088] 其中,噪声系数中的支持*是指在最终披露运算结果时添加数据噪声,噪声系数中的支持是指在运算过程中添加数据噪声。上述映射表用来确定满足用户隐私需求的隐私计算后端。
[0089] 基于上述声明元素的取值,控制器可以获取预设的映射表,映射表中包含不同的隐私计算后端与多个具有不同取值的声明元素的对应关系;获取解析得到的隐私容器中的多个声明元素的取值,声明元素的取值是在绘制数据协作图时设置的;对于隐私容器中的各个计算组件,在映射表中查找与多个声明元素的取值对应的隐私计算后端。
[0090] 比如,在绘制数据协作图时,根据用户的隐私需求对其中一个隐私容器的设置内容为:运算位置‑公有云、协调方‑允许、数据隔离范式‑代码隔离、噪声系数‑支持*、流量混淆‑不支持、计算混淆‑不支持,则在映射表中查找到对应的隐私计算后端为同态加密。
[0091] 需要说明的是,当能够匹配多个隐私计算后端时,优先选择基于可信执行环境的隐私计算后端。
[0092] 匹配操作可以由控制器中的映射模块实现。
[0093] 本实施例中,控制器还可以对各个计算组件和各个隐私计算后端进行合法性校验,校验内容包括相连的计算组件之间的接口类型是否兼容、计算组件是否满足隐私容器中声明元素的后端实现、同一隐私容器中的所有计算组件的隐私计算后端的类型是否一致;若校验通过,则触发执行将计算组件的标识、隐私计算后端的类型、各个数据协作方地址和数据源中的数据索引发送至各个数据协作方进行数据协作的步骤;若校验不通过,则向前端页面反馈错误信息。
[0094] 在检测相连的计算组件之间的接口类型是否兼容时,假设A组件输出布尔型数据,B组件只接收float32类型数据,则可以确定这两个计算组件的接口类型不兼容。
[0095] 校验操作可以由控制器中的校验模块实现。
[0096] 在数据协作图上,由于用户对不同计算阶段的隐私需求不同,可能会造成隐私计算后端的技术路径的切换,那么,控制器需要为数据协作图隐式添加转换单元。具体的,控制器根据隐私计算后端的分布情况在相连的隐私容器之间中隐式增加转换单元,转换单元用于将前一隐私容器的计算结果转换为适用于后一隐私容器的计算结果。请参考图4,控制器在隐私容器1和隐私容器2之间添加了一个转换单元。
[0097] 本实施例中,转换单元的类型包括可信执行环境‑密码学电路类型、密码学电路‑可信执行环境类型、明文‑可信执行环境类型、明文‑密码学电路类型。
[0098] (1)可信执行环境‑密码学电路类型是指tee‑2‑circuit,用于将可信执行环境中的数据以秘密共享技术(secret‑share)形变后散落至后续密码学电路运算过程中的各个数据协作方;
[0099] (2)密码学电路‑可信执行环境类型是指circuit‑2‑tee,用于将密码学电路运算过程中各方获得的运算结果分片重组后加密传输至后续计算阶段的可信执行环境中;
[0100] (3)明文‑可信执行环境类型是指plain‑2‑tee,用于将明文披露的数据以秘密共享技术(secret‑share)形变后散落至后续密码学电路运算过程中的各个数据协作方;
[0101] (4)明文‑密码学电路类型是指plain‑2‑circuit,用于将明文披露的数据加密传输至后续计算阶段的可信执行环境中。
[0102] 添加转换单元操作可以由控制器中的部署模块实现。
[0103] 步骤204,将计算组件的标识、隐私计算后端的类型、各个数据协作方地址和数据源中的数据索引发送至各个数据协作方进行数据协作。
[0104] 控制器根据数据协作图进行部署配置的下发。具体的,控制器通过协调器与参与协作的各个数据协作方建立连接,将计算组件的标识(组件名称)、隐私计算后端的类型、其余数据协作方服务地址、需求的数据索引发送至数据协作方,数据协作方根据这些信息进行后续的数据协作。
[0105] 部署操作可以由控制器中的部署模块实现。
[0106] 步骤205,在数据协作结束后,从结果数据中获取计算结果。
[0107] 在数据协作结束后,用户从数据结果中预先定义的获取接口获取数据。
[0108] 综上所述,本申请实施例提供的基于隐私需求的数据协作方法,在跨域数据协作中,业务人员能够使用隐私容器明确其在数据协作过程中的隐私需求,在利用隐私容器中的多个声明元素的取值来表示隐私需求,从而可以利用隐私需求的声明元素将常见的隐私计算后端特性规约到同一体系中,便于业务人员做甄选和对比,增强了隐私保障方面的可解释性。当监管要求或隐私要求发生调整时,只需要修改声明元素即可以重新运行合规的数据协作任务。
[0109] 通过将隐私需求映射至多种隐私计算后端并部署,能够较好地服务多方协作场景,并采用无代码数据协作定义界面,这样,使得业务人员只关注于隐私合规需求,不需要操心底层具体的隐私计算后端的选择以及可能的切换过程,降低了使用门槛,提升了易用性。与此同时,自动进行校验和转换单元的添加也降低了隐私计算方案的实施成本,提升了计算效率。
[0110] 请参考图5,其示出了本申请一个实施例提供的基于隐私需求的数据协作装置的结构框图,该基于隐私需求的数据协作装置可以应用于计算机设备中。该基于隐私需求的数据协作装置,可以包括:
[0111] 绘制模块510,用于根据用户的隐私需求在前端页面中绘制数据协作图,数据协作图中包含至少一个数据源、至少一个隐私容器和至少一个结果数据,数据源用于提供隐私数据,隐私容器中包含至少一个用于定义隐私数据的计算方式的计算组件,结果数据用于输出计算结果;
[0112] 解析模块520,用于对数据协作图进行解析,得到至少一个隐私容器;
[0113] 匹配模块530,用于对于每个隐私容器,根据隐私容器对应的隐私需求,对隐私容器中的各个计算组件匹配对应的隐私计算后端;
[0114] 部署模块540,用于将计算组件的标识、隐私计算后端的类型、各个数据协作方地址和数据源中的数据索引发送至各个数据协作方进行数据协作;
[0115] 获取模块550,用于在数据协作结束后,从结果数据中获取计算结果。
[0116] 在一个可选的实施例中,匹配模块530,还用于:
[0117] 当利用隐私容器中的多个声明元素的取值来表示隐私需求时,获取预设的映射表,映射表中包含不同的隐私计算后端与多个具有不同取值的声明元素的对应关系;
[0118] 获取解析得到的隐私容器中的多个声明元素的取值,声明元素的取值是在绘制数据协作图时设置的;
[0119] 对于隐私容器中的各个计算组件,在映射表中查找与多个声明元素的取值对应的隐私计算后端。
[0120] 在一个可选的实施例中,隐私容器中的声明元素包括运算位置、协调方、数据隔离范式、噪声系数、流量混淆、计算混淆中的至少两种;
[0121] 运算位置是指运算发生的场所;
[0122] 协调方是指运算是否允许第三方参与协调;
[0123] 数据隔离范式是指运算过程中数据的可见性;
[0124] 噪声系数是指Laplace差分隐私系数;
[0125] 流量混淆是指运算是否需要在计算实体间的流量交换上屏蔽特征;
[0126] 计算混淆是指运算是否需要在内存表现上屏蔽特征。
[0127] 请参考图6,在一个可选的实施例中,该装置还包括:
[0128] 校验模块560,用于对各个计算组件和各个隐私计算后端进行合法性校验,校验内容包括相连的计算组件之间的接口类型是否兼容、计算组件是否满足隐私容器中声明元素的后端实现、同一隐私容器中的所有计算组件的隐私计算后端的类型是否一致;若校验通过,则触发执行将计算组件的标识、隐私计算后端的类型、各个数据协作方地址和数据源中的数据索引发送至各个数据协作方进行数据协作的步骤;若校验不通过,则向前端页面反馈错误信息。
[0129] 在一个可选的实施例中,该装置还包括:
[0130] 增加模块570,用于根据隐私计算后端的分布情况在相连的隐私容器之间中隐式增加转换单元,转换单元用于将前一隐私容器的计算结果转换为适用于后一隐私容器的计算结果。
[0131] 在一个可选的实施例中,转换单元的类型包括可信执行环境‑密码学电路类型、密码学电路‑可信执行环境类型、明文‑可信执行环境类型、明文‑密码学电路类型。
[0132] 在一个可选的实施例中,绘制模块510,还用于:
[0133] 在前端页面中显示数据市场子页、计算组件子页、画布子页和组件属性子页;
[0134] 根据用户的隐私需求,将数据市场子页或计算组件子页中的至少一个数据源拖拽至画布子页中;
[0135] 根据用户的隐私需求,将计算组件子页中的至少一个隐私容器、至少一个计算组件和结果数据拖拽至画布子页中;
[0136] 在组件属性子页中,分别对至少一个隐私容器、至少一个计算组件和结果数据进行属性配置;
[0137] 在画布子页中对至少一个数据源、至少一个隐私容器、至少一个计算组件和结果数据进行连接,得到数据协作图。
[0138] 在一个可选的实施例中,数据市场子页中的数据源已预先进行注册。
[0139] 在一个可选的实施例中,计算组件子页中的数据源未预先进行注册,则绘制模块510,还用于:
[0140] 在组件属性子页中,对从计算组件子页拖拽出的数据源的数据索引或数据接口进行配置。
[0141] 在一个可选的实施例中,前端页面中还包括控制台子页,则绘制模块510,还用于:
[0142] 实时检测画布子页中的数据协作图是否存在错误;
[0143] 若检测出数据协作图中存在错误,则在控制台子页中显示错误信息。
[0144] 综上所述,本申请实施例提供的基于隐私需求的数据协作装置,在跨域数据协作中,业务人员能够使用隐私容器明确其在数据协作过程中的隐私需求,在利用隐私容器中的多个声明元素的取值来表示隐私需求,从而可以利用隐私需求的声明元素将常见的隐私计算后端特性规约到同一体系中,便于业务人员做甄选和对比,增强了隐私保障方面的可解释性。当监管要求或隐私要求发生调整时,只需要修改声明元素即可以重新运行合规的数据协作任务。
[0145] 通过将隐私需求映射至多种隐私计算后端并部署,能够较好地服务多方协作场景,并采用无代码数据协作定义界面,这样,使得业务人员只关注于隐私合规需求,不需要操心底层具体的隐私计算后端的选择以及可能的切换过程,降低了使用门槛,提升了易用性。与此同时,自动进行校验和转换单元的添加也降低了隐私计算方案的实施成本,提升了计算效率。
[0146] 本申请一个实施例提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现如上所述的基于隐私需求的数据协作方法。
[0147] 本申请一个实施例提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如上所述的基于隐私需求的数据协作方法。
[0148] 需要说明的是:上述实施例提供的基于隐私需求的数据协作装置在进行基于隐私需求的数据协作时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将基于隐私需求的数据协作装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于隐私需求的数据协作装置与基于隐私需求的数据协作方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
[0149] 本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0150] 以上所述并不用以限制本申请实施例,凡在本申请实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请实施例的保护范围之内。