基于模型模拟的联邦学习安全审计方法及装置转让专利

申请号 : CN202111310270.9

文献号 : CN114091057B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李晋杰孙军欢陈沫

申请人 : 深圳致星科技有限公司

摘要 :

本申请涉及一种基于模型模拟的联邦学习安全审计方法及装置。方法包括:获得待审计方进行联邦学习算法的过程中与相对于待审计方的其它参与方之间的交互数据并且生成中间结果存证;根据联邦学习算法的流程信息生成模拟方;通过模拟方模拟进行特定联邦学习算法并且通过中间结果存证模拟其它参与方的计算过程;和根据模拟进行特定联邦学习算法的过程中模拟方接收到的数据以及中间结果存证,判断待审计方是否可信。如此简化模型模拟实现过程且提供高效可靠的安全审计。

权利要求 :

1.一种基于模型模拟的安全审计方法,应用于联邦学习和隐私计算,其特征在于,所述安全审计方法包括:

获得待审计方进行特定联邦学习算法的过程中与相对于所述待审计方的其它至少两个参与方之间的交互数据,并且根据所述交互数据生成中间结果存证;

根据所述特定联邦学习算法的流程信息,生成模拟方用于模拟相对于所述待审计方的其它至少两个参与方;

通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相对于所述待审计方的其它至少两个参与方的计算过程;

根据所述中间结果存证确定所述待审计方进行所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它至少两个参与方的发送数据;

通过比较所述模拟进行所述特定联邦学习算法的过程中所述模拟方从所述待审计方接收到的数据和所述待审计方进行所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它至少两个参与方的发送数据,生成数据比较结果;和根据所述数据比较结果判断所述待审计方是否可信。

2.根据权利要求1所述的安全审计方法,其特征在于,根据所述数据比较结果判断所述待审计方是否可信,包括:

当所述数据比较结果中存在至少一次比较失败结果时,判断所述待审计方不可信。

3.根据权利要求1所述的安全审计方法,其特征在于,根据所述数据比较结果判断所述待审计方是否可信,包括:

根据所述数据比较结果生成审计报告,并根据所述审计报告判断所述待审计方是否可信。

4.根据权利要求1所述的安全审计方法,其特征在于,通过所述模拟方模拟进行所述特定联邦学习算法,包括:

通过所述待审计方根据所述特定联邦学习算法的流程信息调用所述待审计方的相应执行步骤,从而在所述模拟方和所述待审计方之间模拟进行所述特定联邦学习算法。

5.根据权利要求1所述的安全审计方法,其特征在于,通过所述模拟方模拟进行所述特定联邦学习算法,包括:

通过相对于所述待审计方和所述模拟方的第三方根据所述特定联邦学习算法的流程信息调用所述第三方的相应执行步骤,从而在所述模拟方和所述第三方之间模拟进行所述特定联邦学习算法,其中,所述第三方包括可信执行环境。

6.根据权利要求1所述的安全审计方法,其特征在于,所述安全审计方法还包括:通过预设探测器,获得所述待审计方进行所述特定联邦学习算法的过程中的至少一个中间参数。

7.根据权利要求1所述的安全审计方法,其特征在于,所述安全审计方法还包括:获得所述待审计方进行所述特定联邦学习算法的过程中的所有中间参数,并且通过所述所有中间参数模拟所述待审计方进行所述特定联邦学习算法的过程中的计算过程。

8.根据权利要求6所述的安全审计方法,其特征在于,所述预设探测器设置于所述待审计方和相对于所述待审计方的其它至少两个参与方之间的通信转发节点。

9.根据权利要求6所述的安全审计方法,其特征在于,所述安全审计方法还包括:通过所述至少一个中间参数模拟与所述至少一个中间参数相关的计算过程。

10.根据权利要求2所述的安全审计方法,其特征在于,所述安全审计方法还包括:根据所述至少一次比较失败结果,定位所述特定联邦学习算法的流程信息中的异常阶段。

11.根据权利要求1所述的安全审计方法,其特征在于,所述数据比较结果基于密态数据比较而生成。

12.根据权利要求11所述的安全审计方法,其特征在于,所述数据比较结果基于二进制比较、数值比较或者数据内容比较而生成。

13.根据权利要求6所述的安全审计方法,其特征在于,所述安全审计方法还包括:从多种预设联邦学习算法类型中选择与所述特定联邦学习算法对应的预设联邦学习算法类型,其中,所述多种预设联邦学习算法类型与多种探测器配置一一对应;

根据与所选择的预设联邦学习算法类型对应的探测器配置,布置所述预设探测器。

14.根据权利要求6所述的安全审计方法,其特征在于,所述安全审计方法还包括:根据所述特定联邦学习算法的流程信息确定所述待审计方和相对于所述待审计方的其它至少两个参与方之间的通信转发节点;

设置所述预设探测器于所述通信转发节点并收集所述待审计方和相对于所述待审计方的其它至少两个参与方之间的转发数据包。

15.根据权利要求6所述的安全审计方法,其特征在于,所述至少一个中间参数包括:用于加密过程的混淆运算的中间参数和公钥信息、用于数据乱序处理的数据、用于交叉验证的分割后数据或者基于量子随机数的中间参数。

16.根据权利要求1所述的安全审计方法,其特征在于,所述安全审计方法还包括:获得所述待审计方进行所述特定联邦学习算法得到的最终结果;

通过比较所述模拟进行所述特定联邦学习算法得到的最终结果和所述待审计方进行所述特定联邦学习算法得到的最终结果,判断所述待审计方是否可信。

17.根据权利要求1所述的安全审计方法,其特征在于,所述安全审计方法还包括:获得所述待审计方进行所述特定联邦学习算法的过程中的待验证中间结果;

获得所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果;

通过比较所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果和所述待审计方进行所述特定联邦学习算法的过程中的待验证中间结果,判断所述待审计方是否可信。

18.一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,其特征在于,该计算机指令被处理器执行时实现根据权利要求1至17中任一项所述的安全审计方法。

19.一种电子设备,其特征在于,包括:处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器通过运行所述可执行指令以实现根据权利要求1至17中任一项所述的安全审计方法。

20.一种基于模型模拟的安全审计装置,其特征在于,应用于联邦学习和隐私计算,包括:

收集模块,用于获得待审计方进行特定联邦学习算法的过程中与相对于所述待审计方的其它至少两个参与方之间的交互数据,并且根据所述交互数据生成中间结果存证;

生成模块,用于根据所述特定联邦学习算法的流程信息,生成模拟方用于模拟相对于所述待审计方的其它至少两个参与方;

模拟模块,用于通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相对于所述待审计方的其它至少两个参与方的计算过程;和判断模块,用于:根据所述中间结果存证确定所述待审计方进行所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它至少两个参与方的发送数据;通过比较所述模拟进行所述特定联邦学习算法的过程中所述模拟方从所述待审计方接收到的数据和所述待审计方进行所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它至少两个参与方的发送数据,生成数据比较结果;根据所述数据比较结果判断所述待审计方是否可信。

21.根据权利要求20所述的安全审计装置,其特征在于,根据所述数据比较结果判断所述待审计方是否可信,包括:

根据所述数据比较结果生成审计报告,并根据所述审计报告判断所述待审计方是否可信。

22.根据权利要求20所述的安全审计装置,其特征在于,所述收集模块还用于:通过预设探测器,获得所述待审计方进行所述特定联邦学习算法的过程中的至少一个中间参数。

23.根据权利要求22所述的安全审计装置,其特征在于,所述收集模块还用于:根据所述特定联邦学习算法的流程信息确定所述待审计方和相对于所述待审计方的其它至少两个参与方之间的通信转发节点;

设置所述预设探测器于所述通信转发节点并收集所述待审计方和相对于所述待审计方的其它至少两个参与方之间的转发数据包。

24.根据权利要求22所述的安全审计装置,其特征在于,所述至少一个中间参数包括:用于加密过程的混淆运算的中间参数和公钥信息、用于数据乱序处理的数据、用于交叉验证的分割后数据或者基于量子随机数的中间参数。

25.根据权利要求20所述的安全审计装置,其特征在于,所述判断模块还用于:获得所述待审计方进行所述特定联邦学习算法的过程中的待验证中间结果;

获得所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果;

通过比较所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果和所述待审计方进行所述特定联邦学习算法的过程中的待验证中间结果,判断所述待审计方是否可信。

说明书 :

基于模型模拟的联邦学习安全审计方法及装置

技术领域

[0001] 本申请涉及数据安全和隐私保护技术领域,具体涉及一种基于模型模拟的联邦学习安全审计方法及装置。

背景技术

[0002] 随着人工智能和大数据挖掘分析等应用领域的发展,对数据量的需求越来越大。例如训练人工智能的应用模型需要使用大量带有合适的数据标签或者特征数值的训练数
据。高质量的数据往往来源于经营活动中产生和积累的应用数据。但是应用数据往往分散
在不同的组织和个体手上,例如交易数据分散在各个金融机构,医疗诊断数据分散在各个
医疗机构。跨行业跨领域的应用数据往往也是分散的,例如互联网领域的社交属性数据和
电商交易数据往往由不同实体掌控。随着数据所有权的重要性、用户隐私和数据安全等受
到更多重视,也随着法律法规对数据收集处理提出更严格的约束和要求,掌握应用数据的
各个组织或个体往往不愿意或者没有合适手段进行彼此之间的合作,从而很难让各自掌握
的应用数据共同发挥作用。这种数据分享和协同合作方面的困境被称之为数据孤岛现象。
为了解决跨行业跨组织的数据合作难题,尤其是关键的隐私保护及数据安全的问题,提出
了联邦学习的概念。联邦学习指的是拥有数据的各个参与方,在不共享受保护的隐私数据
且自有数据不传递到外部的前提下,通过加密的方式交换模型相关信息从而实现协同优化
联邦学习模型。其中,联邦学习根据训练数据在不同参与方之间的数据特征空间和样本空
间的分布情况,可以划分为在数据特征空间重叠较大而在样本空间重叠较小的横向联邦学
习,在数据特征空间重叠较小而在样本空间重叠较大的纵向联邦学习,以及在数据特征空
间和样本空间均重叠较小的联邦迁移学习。
[0003] 联邦学习允许多个数据方在不共享原始数据的前提下共同建立一个共有的机器学习模型,从而解决数据隐私、数据安全、数据访问权限、异构数据访问等问题。联邦学习任
务可能涉及多个参与方,所有参与方都存在对各自出入通信的数据进行安全审计的需求。
这是因为联邦学习任务进行过程中可能受到攻击,例如数据流攻击。数据流攻击指的是恶
意的参与方或进程可能会发送错误或恶意的用于联邦学习的数据,例如位宽不一致的密
钥、不合理的数据内容等。为此,需要一种基于模型模拟的联邦学习安全审计方法及装置,
用于提供高效可靠的安全审计来确保有众多参与方参与的联邦学习任务情况下的通信和
计算的安全性。

发明内容

[0004] 第一方面,本申请实施例提供了一种基于模型模拟的安全审计方法,应用于联邦学习和隐私计算,包括:获得待审计方进行特定联邦学习算法的过程中与相对于所述待审
计方的其它参与方之间的交互数据,并且根据所述交互数据生成中间结果存证;根据所述
特定联邦学习算法的流程信息,生成模拟方用于模拟相对于所述待审计方的其它参与方;
通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相对于
所述待审计方的其它参与方的计算过程;和根据所述模拟进行所述特定联邦学习算法的过
程中所述模拟方接收到的数据以及所述中间结果存证,判断所述待审计方是否可信。
[0005] 第一方面所描述的技术方案,采用了单边审计的方式,针对进行安全审计的对象也就是待审计方进行单独审计,从而提升模拟效率和审计结果产出速度;通过获得待审计
方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据
并且根据所述交互数据生成中间结果存证,从而简化了数据存证操作且保护了用户隐私数
据;通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相
对于所述待审计方的其它参与方的计算过程,从而大幅简化模型模拟操作以及避免验证其
它参与方是否可信的风险;最后通过根据所述模拟进行所述特定联邦学习算法的过程中所
述模拟方接收到的数据以及所述中间结果存证,从而简化数据比对操作,实现了提供高效
可靠的安全审计来确保有众多参与方参与的联邦学习任务情况下的通信和计算的安全性。
[0006] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据以及所述中间结
果存证,判断所述待审计方是否可信,包括:根据所述中间结果存证确定所述待审计方进行
所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它参与方的发送数据;通
过比较所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据和所述待
审计方进行所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它参与方的
发送数据,生成数据比较结果;根据所述数据比较结果判断所述待审计方是否可信。
[0007] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,根据所述数据比较结果判断所述待审计方是否可信,包括:当所述数据比较结果中存在至少一
次比较失败结果时,判断所述待审计方不可信。
[0008] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,根据所述数据比较结果判断所述待审计方是否可信,包括:根据所述数据比较结果生成审计报
告,并根据所述审计报告判断所述待审计方是否可信。
[0009] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,通过所述模拟方模拟进行所述特定联邦学习算法,包括:通过所述待审计方根据所述特定联邦
学习算法的流程信息调用所述待审计方的相应执行步骤,从而在所述模拟方和所述待审计
方之间模拟进行所述特定联邦学习算法。
[0010] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,通过所述模拟方模拟进行所述特定联邦学习算法,包括:通过相对于所述待审计方和所述模拟
方的第三方根据所述特定联邦学习算法的流程信息调用所述第三方的相应执行步骤,从而
在所述模拟方和所述第三方之间模拟进行所述特定联邦学习算法,其中,所述第三方包括
可信执行环境。
[0011] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:通过预设探测器,获得所述待审计方进行所述特定联邦学习算法的
过程中的至少一个中间参数。
[0012] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:获得所述待审计方进行所述特定联邦学习算法的过程中的所有中间
参数,并且通过所述所有中间参数模拟所述待审计方进行所述特定联邦学习算法的过程中
的计算过程。
[0013] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述预设探测器设置于所述待审计方和相对于所述待审计方的其他参与方之间的通信转发节
点。
[0014] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:通过所述至少一个中间参数模拟与所述至少一个中间参数相关的计
算过程。
[0015] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:根据所述至少一次比较失败结果,定位所述特定联邦学习算法的流
程信息中的异常阶段。
[0016] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述数据比较结果基于密态数据比较而生成。
[0017] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述数据比较结果基于二进制比较、数值比较或者数据内容比较而生成。
[0018] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:从多种预设联邦学习算法类型中选择与所述特定联邦学习算法对应
的预设联邦学习算法类型,其中,所述多种预设联邦学习算法类型与多种探测器配置一一
对应;根据与所选择的预设联邦学习算法类型对应的探测器配置,布置所述预设探测器。
[0019] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:根据所述特定联邦学习算法的流程信息确定所述待审计方和相对于
所述待审计方的其他参与方之间的通信转发节点;设置所述预设探测器于所述通信转发节
点并收集所述待审计方和相对于所述待审计方的其他参与方之间的转发数据包。
[0020] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述至少一个中间参数包括:用于加密过程的混淆运算的中间参数和公钥信息、用于数据乱序
处理的数据、用于交叉验证的分割后数据或者基于量子随机数的中间参数。
[0021] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:获得所述待审计方进行所述特定联邦学习算法得到的最终结果;通
过比较所述模拟进行所述特定联邦学习算法得到的最终结果和所述待审计方进行所述特
定联邦学习算法得到的最终结果,判断所述待审计方是否可信。
[0022] 根据第一方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述安全审计方法还包括:获得所述待审计方进行所述特定联邦学习算法的过程中的待验证中
间结果;获得所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果;通过比较
所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果和所述待审计方进行所
述特定联邦学习算法的过程中的待验证中间结果,判断所述待审计方是否可信。
[0023] 第二方面,本申请实施例提供了一种非瞬时性计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,该计算机指令被处理器执行时实现根据第一方面中任一
项所述的方法。
[0024] 第二方面所描述的技术方案,采用了单边审计的方式,针对进行安全审计的对象也就是待审计方进行单独审计,从而提升模拟效率和审计结果产出速度;通过获得待审计
方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据
并且根据所述交互数据生成中间结果存证,从而简化了数据存证操作且保护了用户隐私数
据;通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相
对于所述待审计方的其它参与方的计算过程,从而大幅简化模型模拟操作以及避免验证其
它参与方是否可信的风险;最后通过根据所述模拟进行所述特定联邦学习算法的过程中所
述模拟方接收到的数据以及所述中间结果存证,从而简化数据比对操作,实现了提供高效
可靠的安全审计来确保有众多参与方参与的联邦学习任务情况下的通信和计算的安全性。
[0025] 第三方面,本申请实施例提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现根据第一方面中任
一项所述的方法。
[0026] 第三方面所描述的技术方案,采用了单边审计的方式,针对进行安全审计的对象也就是待审计方进行单独审计,从而提升模拟效率和审计结果产出速度;通过获得待审计
方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据
并且根据所述交互数据生成中间结果存证,从而简化了数据存证操作且保护了用户隐私数
据;通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相
对于所述待审计方的其它参与方的计算过程,从而大幅简化模型模拟操作以及避免验证其
它参与方是否可信的风险;最后通过根据所述模拟进行所述特定联邦学习算法的过程中所
述模拟方接收到的数据以及所述中间结果存证,从而简化数据比对操作,实现了提供高效
可靠的安全审计来确保有众多参与方参与的联邦学习任务情况下的通信和计算的安全性。
[0027] 第四方面,本申请实施例提供了一种基于模型模拟的安全审计装置,应用于联邦学习和隐私计算,包括:收集模块,用于获得待审计方进行特定联邦学习算法的过程中与相
对于所述待审计方的其它参与方之间的交互数据,并且根据所述交互数据生成中间结果存
证;生成模块,用于根据所述特定联邦学习算法的流程信息,生成模拟方用于模拟相对于所
述待审计方的其它参与方;模拟模块,用于通过所述模拟方模拟进行所述特定联邦学习算
法,并且通过所述中间结果存证模拟相对于所述待审计方的其它参与方的计算过程;和判
断模块,用于根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据
以及所述中间结果存证,判断所述待审计方是否可信。
[0028] 第四方面所描述的技术方案,采用了单边审计的方式,针对进行安全审计的对象也就是待审计方进行单独审计,从而提升模拟效率和审计结果产出速度;通过获得待审计
方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据
并且根据所述交互数据生成中间结果存证,从而简化了数据存证操作且保护了用户隐私数
据;通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相
对于所述待审计方的其它参与方的计算过程,从而大幅简化模型模拟操作以及避免验证其
它参与方是否可信的风险;最后通过根据所述模拟进行所述特定联邦学习算法的过程中所
述模拟方接收到的数据以及所述中间结果存证,从而简化数据比对操作,实现了提供高效
可靠的安全审计来确保有众多参与方参与的联邦学习任务情况下的通信和计算的安全性。
[0029] 根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据以及所述中间结
果存证,判断所述待审计方是否可信,包括:根据所述中间结果存证确定所述待审计方进行
所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它参与方的发送数据;通
过比较所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据和所述待
审计方进行所述特定联邦学习算法的过程中发送给相对于所述待审计方的其它参与方的
发送数据,生成数据比较结果;根据所述数据比较结果判断所述待审计方是否可信。
[0030] 根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,根据所述数据比较结果判断所述待审计方是否可信,包括:根据所述数据比较结果生成审计报
告,并根据所述审计报告判断所述待审计方是否可信。
[0031] 根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述收集模块还用于:通过预设探测器,获得所述待审计方进行所述特定联邦学习算法的过程
中的至少一个中间参数。
[0032] 根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述收集模块还用于:根据所述特定联邦学习算法的流程信息确定所述待审计方和相对于所述
待审计方的其他参与方之间的通信转发节点;设置所述预设探测器于所述通信转发节点并
收集所述待审计方和相对于所述待审计方的其他参与方之间的转发数据包。
[0033] 根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述至少一个中间参数包括:用于加密过程的混淆运算的中间参数和公钥信息、用于数据乱序
处理的数据、用于交叉验证的分割后数据或者基于量子随机数的中间参数。
[0034] 根据第四方面的技术方案的一种可能的实现方式,本申请实施例还提供了,所述判断模块还用于:获得所述待审计方进行所述特定联邦学习算法的过程中的待验证中间结
果;获得所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果;通过比较所述
模拟进行所述特定联邦学习算法的过程中的待验证中间结果和所述待审计方进行所述特
定联邦学习算法的过程中的待验证中间结果,判断所述待审计方是否可信。

附图说明

[0035] 为了说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
[0036] 图1示出了本申请实施例提供的涉及多个参与方的联邦学习任务的场景。
[0037] 图2示出了本申请实施例提供的基于模型模拟的安全审计方法的流程示意图。
[0038] 图3示出了本申请实施例提供的用于基于模型模拟的安全审计方法的电子设备的框图。
[0039] 图4示出了本申请实施例提供的基于模型模拟的安全审计装置的框图。

具体实施方式

[0040] 本申请实施例为了解决如何提供高效可靠的安全审计来确保有众多参与方参与的联邦学习任务情况下的通信和计算的安全性这样的技术难题,提供了一种基于模型模拟
的联邦学习安全审计方法及装置。该安全审计方法包括:获得待审计方进行特定联邦学习
算法的过程中与相对于所述待审计方的其它参与方之间的交互数据,并且根据所述交互数
据生成中间结果存证;根据所述特定联邦学习算法的流程信息,生成模拟方用于模拟相对
于所述待审计方的其它参与方;通过所述模拟方模拟进行所述特定联邦学习算法,并且通
过所述中间结果存证模拟相对于所述待审计方的其它参与方的计算过程;和根据所述模拟
进行所述特定联邦学习算法的过程中所述模拟方接收到的数据以及所述中间结果存证,判
断所述待审计方是否可信。如此,提升模拟效率和审计结果产出速度,简化了数据存证操作
且保护了用户隐私数据,大幅简化模型模拟操作以及避免验证其它参与方是否可信的风
险,实现了提供高效可靠的安全审计来确保有众多参与方参与的联邦学习任务情况下的通
信和计算的安全性。
[0041] 本申请实施例可用于以下应用场景,包括但是不限于,多方安全计算、与联邦学习有关的机器学习模型训练、数据安全、隐私保护或者应用隐私计算框架或算法的其它应用
场景等。
[0042] 本申请实施例可以依据具体应用环境进行调整和改进,此处不做具体限定。
[0043] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请的实施例进行描述。
[0044] 图1示出了本申请实施例提供的涉及多个参与方的联邦学习任务的场景。如图1所示,联邦学习任务100包括多个参与方,其中有参与方110、参与方120以及参与方130。其中,
参与方110还同时是待审计方,待审计方指的是要接受安全审计的对象。联邦学习任务100
可以对应任意合适的联邦学习框架、联邦学习算法或者联邦学习相关的业务场景,例如
TensorFlow Federated、PySyft以及Federated AI Technology Enabler(FATE)等。联邦学
习任务100也可以称作联邦学习算法或者联邦学习计算任务。联邦学习任务100的参与方可
以是参与该联邦学习任务的任意合适角色,例如模型服务的提供方、使用模型的用户、数据
提供方、数据应用方。应当理解的是,图1中所示出的联邦学习任务100以及其中参与方的情
况仅为示例性。本申请实施例所提及的基于模型模拟的联邦学习安全审计方法及装置,可
以适用于包括任意数量的参与方的联邦学习任务或者联邦学习算法或者联邦学习框架,可
以适用于对任意联邦学习的参与方进行安全审计。并且,图1中示例性将参与方110作为待
审计方,其它参与方如参与方120和参与方130也可以作为待审计方。实际应用中,待审计方
是相对于特定参与方而言,而如何选择特定参与方作为待审计方,可以根据实际需要做出
调整,在此不做限定。另外,对待审计方进行安全审计需要获得该待审计方所接收或者发送
的待审计数据。本申请实施例所提及的基于模型模拟的联邦学习安全审计方法及装置需要
用到的待审计数据至少包括该待审计方与其它参与方之间的通信信息或者数据包,以图1
中的参与方110作为待审计方为例,对参与方110进行安全审计需要用到的待审计数据至少
包括参与方110与参与方120及参与方130之间的通信信息或者数据包。考虑到联邦学习的
相关框架和算法的多样性以及发展所带来的变化,本申请实施例所提供的基于模型模拟的
联邦学习安全审计方法及装置,应被理解为旨在涵盖在各种合适的联邦学习框架或者算法
下的任意合适的参与方为了与其它参与方协同实现联邦学习训练目的或者任务目标而带
来的通信信息、通信数据或者数据包。其中,获得该待审计方所接收或者发送的待审计数
据,可以通过在通信接口、输入输出接口、通信节点或者通信链路上某个位置部署合适采集
设备的方式,在此不做限定。
[0045] 请继续参阅图1,联邦学习任务100的执行需要参与方110、参与方120以及参与方130的协同参与。在联邦学习的各种场景下,经常需要两个或者更多个参与方的协同以进行
例如联合训练、联合建模等。另外,与联邦学习相关的安全协议或者保护数据安全隐私的技
术也经常需要两个或者更多个参与方之间进行数据交互。例如,RSA求交集算法需要两个参
与方之间交换加密后数据。再例如,纵向联邦学习算法如SecureBoost算法等需要两个或者
更多个参与方之间交换加密后梯度因子。有众多参与方参与的联邦学习任务情况下,因为
涉及到不同参与方之间的通信及数据交互,对特定参与方进行安全审计时也必须考虑到该
特定参与方与其它参与方的数据交互所带来的影响,例如该特定参与方需要与某个参与方
交换加密后特征数据或者加密后梯度因子用于后续处理。从模型模拟的角度出发,为了更
好地在模拟整个模型例如模拟整个联邦学习任务100的情况下对其中的待审计方也即特定
参与方如参与方110进行安全审计,除了对待审计方进行安全审计还必须考虑该待审计方
与其它参与方之间的数据交互。但是,随着参与方数量增加,对众多的参与方同时进行安全
审计不仅难度大、用时久,还面临个别参与方难以模拟的困难。为此,本申请实施例所提及
的基于模型模拟的联邦学习安全审计方法及装置采用了单边审计的方式,针对进行安全审
计的对象也就是待审计方,生成模拟方用于模拟相对于该待审计方的其它参与方,进而使
得该待审计方跟其它参与方协同进行联邦学习任务的过程可以通过该待审计方和模拟方
之间进行的过程模拟。例如,图1中所示的待审计方也就是参与方110和参与方120以及参与
方130的三方联合训练,通过参与方/待审计方110和模拟方之间的双方联合训练进行模拟。
这样可以减轻多方协调的压力,同时仅在双方之间进行的交互也能使得模拟效率大大提
升,有利于更快的产出审计结果。
[0046] 应当理解的是,本申请实施例所提及的基于模型模拟的联邦学习安全审计方法及装置所采用的单边审计的方式,指的是在模型模拟的基础上生成模拟方用于模拟相对于该
待审计方的其它参与方。模拟方所扮演的角色是根据该待审计方在原来联邦学习任务中所
扮演的角色而定的,或者说模拟方的定位是根据该待审计方的定位而定制。例如,如果待审
计方是数据应用方,则可以生成模拟方用于模拟相对于该数据应用方的数据提供方(或者
称作数据源方)。再例如,如果待审计方是数据提供方,则可以生成模拟方用于模拟相对于
该数据提供方的数据应用方。以图1中的参与方/待审计方110为例,因为参与方110在联邦
学习任务100中同时涉及到参与方110与参与方120之间的数据交互以及参与方110与参与
方130之间的数据交互,因此当待审计方是参与方110,则可以生成模拟方用于模拟相对于
参与方110的其它参与方也就是参与方120和参与方130。因此,模拟方的角色、定位以及具
体模拟过程都是特定于待审计方的,是根据待审计方在原来联邦学习任务中的角色、定位
以及与其它参与方的数据交互而确定的。对于有多个参与方进行的联邦学习任务例如联邦
学习建模,可以将单边审计的方式用于每个参与方并且分别单独进行安全审计,并且针对
每个参与方生成特定于该参与方的模拟方用于模拟相对于该参与方的其它参与方。并且,
还可以通过区块链组件,将审计结果发布到多方共同维护的区块链上,由多方共同监管,保
障区块链中每次发布内容的可信。
[0047] 下面结合图2进一步详细说明本申请实施例所提及的基于模型模拟的联邦学习安全审计方法及装置所采用的单边审计的方式。
[0048] 图2示出了本申请实施例提供的基于模型模拟的安全审计方法的流程示意图。如图2所示,安全审计方法200包括以下步骤。
[0049] 步骤S202:获得待审计方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据,并且根据所述交互数据生成中间结果存证。
[0050] 其中,待审计方指的是要接受安全审计的对象。本申请实施例所提及的基于模型模拟的联邦学习安全审计方法200,可以适用于包括任意数量的参与方的联邦学习任务或
者联邦学习算法或者联邦学习框架,可以适用于对任意联邦学习的参与方进行安全审计。
有众多参与方参与的情况下,因为涉及到不同参与方之间的通信及数据交互,对特定参与
方进行安全审计时也必须考虑到该特定参与方与其它参与方的数据交互所带来的影响,例
如该特定参与方需要与某个参与方交换加密后特征数据或者加密后梯度因子用于后续处
理。从模型模拟的角度出发,为了更好地在模拟整个特定联邦学习算法的协同进行情况下
对其中的待审计方进行安全审计,除了对待审计方进行安全审计还必须考虑该待审计方与
其它参与方之间的数据交互。但是,随着参与方数量增加,对众多的参与方同时进行安全审
计不仅难度大、用时久,还面临个别参与方难以模拟的困难。为此,本申请实施例所提及的
基于模型模拟的联邦学习安全审计方法200采用了单边审计的方式,针对进行安全审计的
对象也就是待审计方进行单独审计。在步骤S202中,通过获得待审计方进行特定联邦学习
算法的过程中与相对于所述待审计方的其它参与方之间的交互数据,并且根据所述交互数
据生成中间结果存证,从而完成了数据存证操作。数据存证操作是为了给后续的处理建立
起可用于模型模拟、比较以及判断的参考信息。其中,为了获得待审计方进行特定联邦学习
算法的过程中与相对于所述待审计方的其它参与方之间的交互数据,可以通过在通信接
口、输入输出接口、通信节点或者通信链路上某个位置部署合适采集设备、插件或者组件的
方式,或者可以通过任意合适方式获得交互数据或者相关的通信数据、数据包等,在此不做
限定。
[0051] 在一种可能的实施方式中,在进行特定联邦学习算法或者说特定联邦学习任务的过程中,通过在发起方与参与方之间的通信组件(如spark、eggroll、mq等)中或者在发起方
与参与方两端对通信数据进行收集,从而获得待审计方进行特定联邦学习算法的过程中与
相对于所述待审计方的其它参与方之间的交互数据。并且,为了确保不丢失数据完整信息
例如数据类型与数据内容等,还可以通过数据序列化或者二进制流转换等方式确保数据完
整性。并且,可以通过从代码中直接导入数据库,或者添加重定向到文件等方式获取传输数
据,从而获取完整数据并保证数据的完整性。这样数据不需要通过复杂的预处理就可以直
接存储,例如将数据保存到持久化组件(如mysql、oracle、本地数据文件等)当中。在一些实
施例中,在进行特定联邦学习算法或者说特定联邦学习任务的过程中,通过重构数据通信
部分的代码逻辑实现对通信数据的抓取,例如在FATE框架的应用方(guest端)抓取从数据
源方(host端)发送给该应用方的get数据以及从该应用方发送给数据源方的remote数据。
并且将抓取到的数据通过序列化等方式转换为二进制流并存储到MySQL中,同时记录通信
序列标签与通信方向。
[0052] 应当理解的是,在步骤S202,数据存证操作也就是通过获得待审计方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据并且根据所述
交互数据生成中间结果存证,针对的是待审计方与相对于所述待审计方的其它参与方之间
的交互数据,也就是说仅需要对进行特定联邦学习算法(如联邦学习任务训练)的过程中所
需的通信交互数据进行数据存证操作。在联邦学习的场景下,像这样涉及参与方之间的数
据交互的例子包括但是不限于,secureboost算法中加密一阶、二阶导数传递的g、h值,host
最终节点分裂信息,host节点分裂结果,RSA求交集算法中交换加密后数据,因此,数据存证
操作针对的是经过加密后的数据,而且是仅需要对进行特定联邦学习算法的过程中所需的
通信交互数据,所以不涉及用户隐私数据有利于保障用户隐私安全,并且无需保存全部通
信数据从而节省了数据存证操作的时间和资源消耗。
[0053] 步骤S204:根据所述特定联邦学习算法的流程信息,生成模拟方用于模拟相对于所述待审计方的其它参与方。
[0054] 其中,安全审计方法200采用单边审计的方式,指的是在模型模拟的基础上生成模拟方用于模拟相对于该待审计方的其它参与方。模拟方所扮演的角色是根据该待审计方在
原来联邦学习任务中所扮演的角色而定的,或者说模拟方的定位是根据该待审计方的定位
而定制。例如,如果待审计方是数据应用方,则可以生成模拟方用于模拟相对于该数据应用
方的数据提供方(或者称作数据源方)。再例如,如果待审计方是数据提供方,则可以生成模
拟方用于模拟相对于该数据提供方的数据应用方。在步骤S204,通过模拟方与待审计方之
间进行特定联邦学习算法或者说原来的联邦学习任务,用于查验待审计方是否可信。安全
审计方法200所采用的单边审计的方式,针对进行安全审计的对象也就是待审计方,生成模
拟方用于模拟相对于该待审计方的其它参与方,进而使得该待审计方跟其它参与方协同进
行特定联邦学习算法或者联邦学习任务的过程可以通过该待审计方和模拟方之间进行的
过程模拟。例如可以将三方联合训练通过待审计方和模拟方之间的双方联合训练进行模
拟。这样可以减轻多方协调的压力,同时仅在双方之间进行的交互也能使得模拟效率大大
提升,有利于更快的产出审计结果。
[0055] 步骤S206:通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相对于所述待审计方的其它参与方的计算过程。
[0056] 在步骤S206,通过所述模拟方模拟进行所述特定联邦学习算法,指的是使得该待审计方跟其它参与方协同进行特定联邦学习算法或者联邦学习任务的过程可以通过该待
审计方和模拟方之间进行的过程模拟。其中,通过所述中间结果存证模拟相对于所述待审
计方的其它参与方的计算过程,结合在步骤S202中所提及的获得待审计方进行特定联邦学
习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据并且根据所述交互
数据生成中间结果存证,这意味着模拟相对于所述待审计方的其它参与方的计算过程是通
过根据所述交互数据而生成的中间结果存证,而且所述交互数据是待审计方与相对于所述
待审计方的其它参与方之间的交互数据。如此,模拟方只需要根据所述中间结果存证,通过
数据收发操作,就可以实现通过所述中间结果存证模拟相对于所述待审计方的其它参与方
的计算过程,这样做可以忽略算法在计算上的具体实现过程,从而大幅简化模拟方的实现
过程。以图1中所示的待审计方也就是参与方110为例,针对该参与方/待审计方110,所述交
互数据是该参与方/待审计方110与参与方120及参与方130之间的交互数据,因此模拟参与
方120及参与方130的计算过程是通过根据所述交互数据(该参与方/待审计方110与参与方
120及参与方130之间的交互数据)而生成的中间结果存证。例如,设所述特定联邦学习算法
是联邦学习训练任务,通过模拟训练任务来模拟进行该联邦学习训练任务;在模拟训练任
务过程中,将在进行该联邦学习训练任务中所保存的发送数据作为模拟任务下的模拟方发
送的数据发送到待审计方,在待审计方重新进行计算与训练,从而保证模拟训练任务的正
常运行与结束。再例如,设所述特定联邦学习算法是secureboost算法,在模拟进行该
secureboost算法过程中,模拟参与方通过MySQL中已存储的通信序列标签进行匹配查询,
将查询数据反序列化之后封装还原为原对象,并发送至发起方,直至训练结束。
[0057] 步骤S204和步骤S206可以一起称之为进行了模型模拟操作,也就是利用在步骤S202进行的数据存证操作所获得的中间结果存证实现了生成模拟方并模拟该模拟方和该
待审计方之间进行所述特定联邦学习算法。其中,通过所述中间结果存证模拟相对于所述
待审计方的其它参与方的计算过程,从而实现了通过所述中间结果存证模拟其它参与方的
协作,因此避免了验证其它参与方是否可信的风险,同时可以忽略算法在计算上的具体实
现过程,从而大幅简化模拟方的实现过程。
[0058] 步骤S208:根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据以及所述中间结果存证,判断所述待审计方是否可信。
[0059] 经过在步骤S202进行的数据存证操作和在步骤S204及步骤S206进行的模型模拟操作,在步骤S208进行数据对比操作,也就是比较所述模拟进行所述特定联邦学习算法的
过程中所述模拟方接收到的数据和所述中间结果存证。这里,所述模拟进行所述特定联邦
学习算法的过程中所述模拟方接收到的数据,可以认为是“新数据”;而根据所述交互数据
而生成的所述中间结果存证,可以认为是“旧数据”。所述模拟进行所述特定联邦学习算法
的过程中所述模拟方接收到的数据指的是待审计方根据接收由模拟方根据算法进程发送
的存证数据来进行计算后得出的数据,而存证数据来自于所述中间结果存证也就是来自于
所述交互数据,因此在时间上是必然晚于所述中间结果存证,也就是属于相对于作为“旧数
据”的所述中间结果存证而言的“新数据”。通过将“新数据”和“旧数据”进行比较,也就是比
较所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据和所述中间结
果存证,可以得出两次接收数据在所述特定联邦学习算法或者说联邦学习任务的使用层面
上是否一致的结论,从而可以判断出待审计方是否可信。
[0060] 结合步骤S202至步骤S208,安全审计方法200采用了单边审计的方式,针对进行安全审计的对象也就是待审计方进行单独审计,从而提升模拟效率和审计结果产出速度;通
过获得待审计方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方之
间的交互数据并且根据所述交互数据生成中间结果存证,从而简化了数据存证操作且保护
了用户隐私数据;通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结
果存证模拟相对于所述待审计方的其它参与方的计算过程,从而大幅简化模型模拟操作以
及避免验证其它参与方是否可信的风险;最后通过根据所述模拟进行所述特定联邦学习算
法的过程中所述模拟方接收到的数据以及所述中间结果存证,从而简化数据比对操作,实
现了提供高效可靠的安全审计来确保有众多参与方参与的联邦学习任务或者联邦学习算
法情况下的通信和计算的安全性。并且,安全审计方法200可以有效抵御当前联邦学习任务
或者联邦学习算法下对恶意参与方不可控所带来的的风险,同时也可以对联邦学习任务或
者联邦学习算法下各步骤生成的数据是否正确进行查验。
[0061] 在一种可能的实施方式中,根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据以及所述中间结果存证,判断所述待审计方是否可信,包括:根据所
述中间结果存证确定所述待审计方进行所述特定联邦学习算法的过程中发送给相对于所
述待审计方的其它参与方的发送数据;通过比较所述模拟进行所述特定联邦学习算法的过
程中所述模拟方接收到的数据和所述待审计方进行所述特定联邦学习算法的过程中发送
给相对于所述待审计方的其它参与方的发送数据,生成数据比较结果;根据所述数据比较
结果判断所述待审计方是否可信。如此,通过在数据存证操作中获得所述待审计方进行所
述特定联邦学习算法的过程中发送给相对于所述待审计方的其它参与方的发送数据,从而
用于后续的数据比较结果,有利于简化实现过程及提升整体速度。在一些实施例中,根据所
述数据比较结果判断所述待审计方是否可信,包括:当所述数据比较结果中存在至少一次
比较失败结果时,判断所述待审计方不可信。并且,还根据所述至少一次比较失败结果,定
位所述特定联邦学习算法的流程信息中的异常阶段。在另一些实施例中,根据所述数据比
较结果判断所述待审计方是否可信,包括:根据所述数据比较结果生成审计报告,并根据所
述审计报告判断所述待审计方是否可信。审计报告可以对数据比较结果中的比较失败结果
的次数、比例、频率等做出统计,或者采取任意合适的数学方式对数学比较结果进行分析。
其中,根据所述审计报告判断所述待审计方是否可信,意味着可能容许一定次数的比较失
败结果,比如当审计报告指示所述数据比较结果中存在超过三次的比较失败结果时才根据
审计报告判断不可信,这些可以根据实际需要进行调整,在此不做具体限定。
[0062] 在一种可能的实施方式中,通过所述模拟方模拟进行所述特定联邦学习算法,包括:通过所述待审计方根据所述特定联邦学习算法的流程信息调用所述待审计方的相应执
行步骤,从而在所述模拟方和所述待审计方之间模拟进行所述特定联邦学习算法。这意味
着由待审计方自身来协作模拟进行所述特定联邦学习算法。例如,可以根据例如训练任务
所使用的算法确定进行所述特定联邦学习算法的过程中各个算法执行的流程顺序,如使用
secureboost进行模型训练时需要按照特定顺序收发数据,从而可以根据当前执行的算法
流程查询匹配到相应的存证数据。在所述模拟方和所述待审计方之间模拟进行所述特定联
邦学习算法,意味着可以利用待审计方自身的算法及模块,有利于节省时间和资源。在另一
种可能的实施方式中,通过所述模拟方模拟进行所述特定联邦学习算法,包括:通过相对于
所述待审计方和所述模拟方的第三方根据所述特定联邦学习算法的流程信息调用所述第
三方的相应执行步骤,从而在所述模拟方和所述第三方之间模拟进行所述特定联邦学习算
法,其中,所述第三方包括可信执行环境(Trusted Execution Environment,TEE)。这意味
着由第三方来协作模拟进行所述特定联邦学习算法。在所述模拟方和所述第三方之间模拟
进行所述特定联邦学习算法,意味着可以利用第三方的可信执行环境,有利于提高数据安
全和隐私性。安全审计方法200可以灵活地选择由待审计方自身来协作模拟进行所述特定
联邦学习算法,或者由第三方来协作模拟进行所述特定联邦学习算法,从而可以根据实际
应用中对资源时间的限制以及对数据安全和隐私性的需求进行安排。
[0063] 在一种可能的实施方式中,安全审计方法200还包括:获得所述待审计方进行所述特定联邦学习算法的过程中的所有中间参数,并且通过所述所有中间参数模拟所述待审计
方进行所述特定联邦学习算法的过程中的计算过程。这里,中间参数指的是例如模型结构、
模型参数、随机种子的预先定义好的参数或者配置。中间结果是模型计算或者模型训练过
程中所产生的结果,与最终结果相区别。通过获得中间参数,就可以用于模拟联邦学习算法
的过程,例如在需要用到中间参数的步骤或者公式将相应中间参数代入,再例如需要用到
随机种子的地方将所获得的与该随机种子对应的中间参数代入。如此,通过获得所有中间
参数,有利于确保模型模拟过程中的稳定性及消除不确定性。
[0064] 在另一种可能的实施方式中,安全审计方法200还包括:通过预设探测器,获得所述待审计方进行所述特定联邦学习算法的过程中的至少一个中间参数。因此,通过预设探
测器可以避免获取所有的中间参数,而仅需要通过预设探测器获得部分中间参数,其中所
述部分中间参数可以为模型模拟过程中所需要使用的,从而在确保模型模拟过程中的稳定
性及消除不确定性的同时也节省了获取中间参数的时间和资源。在一些实施例中,所述预
设探测器设置于所述待审计方和相对于所述待审计方的其他参与方之间的通信转发节点。
如此可以通过通信转发节点获得所需要的待审计方进行特定联邦学习算法的过程中与相
对于所述待审计方的其它参与方之间的交互数据。在一些实施例中,安全审计方法200还包
括:通过所述至少一个中间参数模拟与所述至少一个中间参数相关的计算过程。上面提到,
中间参数指的是例如模型结构、模型参数、随机种子的预先定义好的参数或者配置。例如,
当该至少一个中间参数是随机种子时,与该至少一个中间参数相关的计算过程是求随机种
子的计算式的计算过程,则可以用所获得的的该至少一个中间参数直接替代求随机种子的
计算式的计算过程。如此,通过预设探测器获取所需要的中间参数,再通过所获取的中间参
数模拟相关的计算过程,从而在确保模型模拟过程中的稳定性及消除不确定性的同时也节
省时间资源。在一种可能的实施方式中,从多种预设联邦学习算法类型中选择与所述特定
联邦学习算法对应的预设联邦学习算法类型,其中,所述多种预设联邦学习算法类型与多
种探测器配置一一对应;根据与所选择的预设联邦学习算法类型对应的探测器配置,布置
所述预设探测器。如此,可以根据算法类型来选择探测器配置并布置预设探测器,有利于简
化预设探测器的布置过程。在另一种可能的实施方式中,根据所述特定联邦学习算法的流
程信息确定所述待审计方和相对于所述待审计方的其他参与方之间的通信转发节点;设置
所述预设探测器于所述通信转发节点并收集所述待审计方和相对于所述待审计方的其他
参与方之间的转发数据包。如此,通过确定待审计方和其他参与方之间的通信转发节点再
在这些通信节点上设置预设探测器,更进一步地简化预设探测器的布置过程而且可以适应
任意类型的联邦学习算法也不会受到预设联邦学习算法类型的限制。例如,可以在待审计
方和其他参与方的通信转发节点,如FATE框架的exchange节点放置预设探测器收集待审计
方与其他参与方之间的数据包,然后根据收集到的数据包中的算法执行唯一标识对各个算
法的数据包进行分类,具体为根据算法唯一标识来标记执行算法,并将在该执行算法下收
集到的各个数据包进行分类后,依据算法唯一标识对所收集到的各个数据包添加数据包标
签后进行存储。
[0065] 在一种可能的实施方式中,通过预设探测器获得的所述待审计方进行所述特定联邦学习算法的过程中的至少一个中间参数包括:用于加密过程的混淆运算的中间参数和公
钥信息、用于数据乱序处理的数据、用于交叉验证的分割后数据或者基于量子随机数的中
间参数。应当理解的是,任意可能带有随机性或者不确定性的中间参数,并且因随机性或不
确定性而影响模型模拟过程中的稳定性的中间参数,都可以作为通过预设探测器获得的对
象,并且可以通过根据所述特定联邦学习算法的流程信息确定所述待审计方和相对于所述
待审计方的其他参与方之间的通信转发节点,然后设置所述预设探测器于所述通信转发节
点并收集所述待审计方和相对于所述待审计方的其他参与方之间的转发数据包,这样的方
式来简化预设探测器的布置过程并且可以选择性地获取中间参数。
[0066] 在一种可能的实施方式中,安全审计方法200还包括:获得所述待审计方进行所述特定联邦学习算法得到的最终结果;通过比较所述模拟进行所述特定联邦学习算法得到的
最终结果和所述待审计方进行所述特定联邦学习算法得到的最终结果,判断所述待审计方
是否可信。如此,通过对最终结果进行比较可以判断待审计方是否可信。在另一种可能的实
施方式中,安全审计方法200还包括:获得所述待审计方进行所述特定联邦学习算法的过程
中的待验证中间结果;获得所述模拟进行所述特定联邦学习算法的过程中的待验证中间结
果;通过比较所述模拟进行所述特定联邦学习算法的过程中的待验证中间结果和所述待审
计方进行所述特定联邦学习算法的过程中的待验证中间结果,判断所述待审计方是否可
信。如此,通过比较待验证中间结果可以判断待审计方是否可信。
[0067] 在一种可能的实施方式中,所述数据比较结果基于密态数据比较而生成。上面提到,根据所述中间结果存证确定所述待审计方进行所述特定联邦学习算法的过程中发送给
相对于所述待审计方的其它参与方的发送数据;通过比较所述模拟进行所述特定联邦学习
算法的过程中所述模拟方接收到的数据和所述待审计方进行所述特定联邦学习算法的过
程中发送给相对于所述待审计方的其它参与方的发送数据,生成数据比较结果。这里,待审
计方与其它参与方之间的数据交互,例如待审计方进行所述特定联邦学习算法的过程中发
送给相对于所述待审计方的其它参与方的发送数据,是加密后数据也就是密态数据。因此,
数据比较结果可以是基于密态数据比较而生成,或者说是对密态数据进行操作。在一些实
施例中,所述数据比较结果基于二进制比较、数值比较或者数据内容比较而生成。应当理解
的是,所述数据比较结果可能还基于其它合适的比较方式,只要能实现得出两次接收数据
在联邦学习任务的使用层面上是否一致的结论这一目的。在一般情况下,如果所有数据比
对结果均认定为相等,则认为在正常训练及模拟任务中的待审计方是可信的;如果有一次
数据比对结果或者特定次数的数据比较结果认定为不相等,则认为待审计方是不可信的,
例如可能存在此次模拟任务中的参与方在正常任务进行时就已经进行了恶意训练干扰的
风险。
[0068] 下面以SecureBoost算法作为例子,结合上述步骤S202至步骤S208以及各个实施例,说明如何通过所述模拟方模拟进行该特定联邦学习算法也就是SecureBoost算法。
SecureBoost算法涉及到发起方也叫做主动方或者guest方,以及参与方也叫做被动方或者
host方。由主动方发起的SecureBoost算法的过程包括多个步骤或者说分成多个算法阶段:
(1)从主动方开始,首先计算g,并使用加法同态加密对其进行加密。其中N为样本个数。主动
方将加密的gi和hi,i∈{1,···,N}发送给所有的被动方。(2)对于每一个被动方,根据计
算聚合梯度统计值的算法将当前节点样本空间中样本的特征映射至桶中,并以此为基础将
加密梯度统计信息聚合起来,将结果发送给主动方。(3)主动方对各被动方聚合的梯度信息
进行解密,并根据寻找最优分割算法确定全局最优分割,并将kopt和vopt返回给相应的被
动方。(4)被动方根据从主动方发送的kopt和vopt确定特征的阈值,并对当前的样本空间进
行划分。然后,该被动方在查找表中记录选中特征的阈值,形成记录(其中包括记录id、特征
的阈值),并将记录id和特征的阈值返回给主动方。(5)主动方将会根据收到的记录id和特
征的阈值对当前节点进行划分,并将当前节点与参与方id和记录id关联。主动方将当前节
点的划分信息与所有被动方同步,并进入对下一节点的分割。(6)重复进行上述步骤(1)至
步骤(5)直至达成训练停止条件。
[0069] 以待审计方为主动方为例,本申请实施例采用的单边审计方式生成的模拟方是相对于该待审计方也就是主动方而言的其它参与方也即被动方。下面结合表1来说明中间结
果和中间参数的数据留存操作及数据对比操作。
[0070] 表1
[0071] 算法阶段 存证数据 数据存证操作 数据对比操作发起任务 中间参数 留存任务启动参数,例如fate中的DSL和runtime_config文件 不对比
步骤(1) 公钥 留存加密g、h的公钥信息 对比
步骤(2) 中间结果以及中间参数 留存host方发送的加密梯度统计信息聚合结果,留存Paillier加密算法中的随机因子或随机相关参数 不对比
步骤(3) 不留存   对比
步骤(4) 中间结果 记录id和特征的阈值 不对比
步骤(5) 不留存   对比
步骤(6)      
[0072] 如上面表1所示,在步骤(2)和步骤(4)留存中间结果,从而可以通过所述中间结果存证模拟相对于所述待审计方的其它参与方的计算过程;再在步骤(3)和步骤(5)进行对
比,从而根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据以及
所述中间结果存证,判断所述待审计方是否可信。在步骤(3)和步骤(5)不进行留存。因此,
结合上述安全审计方法200的各个步骤,以及示例性的SecureBoost算法的步骤(1)至步骤
(5)在表1中所示的数据留存操作及数据对比操作,可以看出通过单边审计的方式针对进行
安全审计的对象也就是待审计方进行单独审计,从而提升模拟效率和审计结果产出速度;
通过获得待审计方进行特定联邦学习算法的过程中与相对于所述待审计方的其它参与方
之间的交互数据并且根据所述交互数据生成中间结果存证,从而简化了数据存证操作且保
护了用户隐私数据;通过所述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间
结果存证模拟相对于所述待审计方的其它参与方的计算过程,从而大幅简化模型模拟操作
以及避免验证其它参与方是否可信的风险;最后通过根据所述模拟进行所述特定联邦学习
算法的过程中所述模拟方接收到的数据以及所述中间结果存证,从而简化数据比对操作,
实现了提供高效可靠的安全审计来确保有众多参与方参与的联邦学习任务或者联邦学习
算法情况下的通信和计算的安全性。
[0073] 图3示出了本申请实施例提供的用于基于模型模拟的安全审计方法的电子设备的框图。如图3所示,电子设备300包括主处理器302,内部总线304,网络接口306,主存储器
308,以及辅助处理器310和辅助内存312,还有辅助处理器320和辅助内存322。其中,主处理
器302与主存储器308连接,主存储器308可用于存储主处理器302可执行的计算机指令,从
而可以实现图2所示的安全审计方法,包括其中部分或者全部步骤,也包括其中步骤的任意
可能的组合或结合以及可能的替换或者变体。网络接口306用于提供网络连接以及通过网
络收发数据。内部总线304用于提供在主处理器302、网络接口306、辅助处理器310以及辅助
处理器320之间的内部的数据交互。其中,辅助处理器310与辅助内存312连接并一起提供辅
助计算能力,而辅助处理器320与辅助内存322连接并一起提供辅助计算能力。辅助处理器
310和辅助处理器320可以提供相同或者不同的辅助计算能力,包括但是不限于,针对特定
计算需求进行优化的计算能力如并行处理能力或者张量计算能力,针对特定算法或者逻辑
结构进行优化的计算能力例如迭代计算能力或者图计算能力等。辅助处理器310和辅助处
理器320可以包括特定类型的一个或者多个处理器,如数字信号处理器(DSP),专用集成电
路(ASIC),现场可编程门阵列(FPGA)等,从而可以提供定制化的功能和结构。在一些示例性
实施例中,电子设备300可以不包括辅助处理器,可以包括仅一个辅助处理器,还可以包括
任意数量的辅助处理器且各自具有相应的定制化功能及结构,在此不做具体限定。图3中所
示出的两个辅助处理器的架构仅为说明性而不应解释为限制性。另外,主处理器302可以包
括单核或者多核的计算单元,用于提供本申请实施例所必需的功能和操作。另外,主处理器
302和辅助处理器(如图3中的辅助处理器310和辅助处理器320)可以具有不同的架构,也就
是电子设备300可以是基于异构架构的系统,例如主处理器302可以是基于指令集操作体系
的通用型处理器如CPU,而辅助处理器可以是适合并行化计算的图形处理器GPU或者是适合
神经网络模型相关运算的专用加速器。辅助内存(例如图3所示的辅助内存312和辅助内存
322)可以用于配合各自对应的辅助处理器来实现定制化功能及结构。而主存储器308用于
存储必要的指令、软件、配置、数据等从而可以配合主处理器302提供本申请实施例所必需
的功能和操作。在一些示例性实施例中,电子设备300可以不包括辅助内存,可以包括仅一
个辅助内存,还可以包括任意数量的辅助内存,在此不做具体限定。图3中所示出的两个辅
助内存的架构仅为说明性而不应解释为限制性。主存储器308以及可能的辅助内存可以包
括以下一个或多个特征:易失性,非易失性,动态,静态,可读/写,只读,随机访问,顺序访
问,位置可寻址性,文件可寻址性和内容可寻址性,并且可以包括随机存取存储器(RAM),闪
存,只读存储器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器
(EEPROM),寄存器,硬盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘
(DVD),大容量存储介质设备或任何其他形式的合适存储介质。内部总线304可以包括不同
总线结构中的任何一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总
线,通用串行总线和/或利用多种总线体系结构中的任何一种的处理器或本地总线。应当理
解的是,图3所示的电子设备300,其所示的结构并不构成对有关装置或系统的具体限定,在
一些示例性实施例中,电子设备300可以包括比具体实施例和附图更多或更少的部件,或者
组合某些部件,或者拆分某些部件,或者具有不同的部件布置。
[0074] 图4示出了本申请实施例提供的基于模型模拟的安全审计装置的框图。如图4所示,安全审计装置400包括:收集模块402,用于获得待审计方进行特定联邦学习算法的过程
中与相对于所述待审计方的其它参与方之间的交互数据,并且根据所述交互数据生成中间
结果存证;生成模块404,用于根据所述特定联邦学习算法的流程信息,生成模拟方用于模
拟相对于所述待审计方的其它参与方;模拟模块406,用于通过所述模拟方模拟进行所述特
定联邦学习算法,并且通过所述中间结果存证模拟相对于所述待审计方的其它参与方的计
算过程;和判断模块408,用于根据所述模拟进行所述特定联邦学习算法的过程中所述模拟
方接收到的数据以及所述中间结果存证,判断所述待审计方是否可信。
[0075] 安全审计装置400采用了单边审计的方式,针对进行安全审计的对象也就是待审计方进行单独审计,从而提升模拟效率和审计结果产出速度;通过获得待审计方进行特定
联邦学习算法的过程中与相对于所述待审计方的其它参与方之间的交互数据并且根据所
述交互数据生成中间结果存证,从而简化了数据存证操作且保护了用户隐私数据;通过所
述模拟方模拟进行所述特定联邦学习算法,并且通过所述中间结果存证模拟相对于所述待
审计方的其它参与方的计算过程,从而大幅简化模型模拟操作以及避免验证其它参与方是
否可信的风险;最后通过根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接
收到的数据以及所述中间结果存证,从而简化数据比对操作,实现了提供高效可靠的安全
审计来确保有众多参与方参与的联邦学习任务情况下的通信和计算的安全性。
[0076] 在一种可能的实施方式中,根据所述模拟进行所述特定联邦学习算法的过程中所述模拟方接收到的数据以及所述中间结果存证,判断所述待审计方是否可信,包括:根据所
述中间结果存证确定所述待审计方进行所述特定联邦学习算法的过程中发送给相对于所
述待审计方的其它参与方的发送数据;通过比较所述模拟进行所述特定联邦学习算法的过
程中所述模拟方接收到的数据和所述待审计方进行所述特定联邦学习算法的过程中发送
给相对于所述待审计方的其它参与方的发送数据,生成数据比较结果;根据所述数据比较
结果判断所述待审计方是否可信。并且,根据所述数据比较结果判断所述待审计方是否可
信,包括:根据所述数据比较结果生成审计报告,并根据所述审计报告判断所述待审计方是
否可信。
[0077] 在一种可能的实施方式中,收集模块402还用于:通过预设探测器,获得所述待审计方进行所述特定联邦学习算法的过程中的至少一个中间参数。并且,收集模块402还用
于:根据所述特定联邦学习算法的流程信息确定所述待审计方和相对于所述待审计方的其
他参与方之间的通信转发节点;设置所述预设探测器于所述通信转发节点并收集所述待审
计方和相对于所述待审计方的其他参与方之间的转发数据包。所述至少一个中间参数包
括:用于加密过程的混淆运算的中间参数和公钥信息、用于数据乱序处理的数据、用于交叉
验证的分割后数据或者基于量子随机数的中间参数。
[0078] 在一种可能的实施方式中,判断模块408还用于:获得所述待审计方进行所述特定联邦学习算法的过程中的待验证中间结果;获得所述模拟进行所述特定联邦学习算法的过
程中的待验证中间结果;通过比较所述模拟进行所述特定联邦学习算法的过程中的待验证
中间结果和所述待审计方进行所述特定联邦学习算法的过程中的待验证中间结果,判断所
述待审计方是否可信。
[0079] 本申请提供的具体实施例可以用硬件,软件,固件或固态逻辑电路中的任何一种或组合来实现,并且可以结合信号处理,控制和/或专用电路来实现。本申请具体实施例提
供的设备或装置可以包括一个或多个处理器(例如,微处理器,控制器,数字信号处理器
(DSP),专用集成电路(ASIC),现场可编程门阵列(FPGA)等),这些处理器处理各种计算机可
执行指令从而控制设备或装置的操作。本申请具体实施例提供的设备或装置可以包括将各
个组件耦合在一起的系统总线或数据传输系统。系统总线可以包括不同总线结构中的任何
一种或不同总线结构的组合,例如存储器总线或存储器控制器,外围总线,通用串行总线
和/或利用多种总线体系结构中的任何一种的处理器或本地总线。本申请具体实施例提供
的设备或装置可以是单独提供,也可以是系统的一部分,也可以是其它设备或装置的一部
分。
[0080] 本申请提供的具体实施例可以包括计算机可读存储介质或与计算机可读存储介质相结合,例如能够提供非暂时性数据存储的一个或多个存储设备。计算机可读存储介质/
存储设备可以被配置为保存数据,程序器和/或指令,这些数据,程序器和/或指令在由本申
请具体实施例提供的设备或装置的处理器执行时使这些设备或装置实现有关操作。计算机
可读存储介质/存储设备可以包括以下一个或多个特征:易失性,非易失性,动态,静态,可
读/写,只读,随机访问,顺序访问,位置可寻址性,文件可寻址性和内容可寻址性。在一个或
多个示例性实施例中,计算机可读存储介质/存储设备可以被集成到本申请具体实施例提
供的设备或装置中或属于公共系统。计算机可读存储介质/存储设备可以包括光存储设备,
半导体存储设备和/或磁存储设备等等,也可以包括随机存取存储器(RAM),闪存,只读存储
器(ROM),可擦可编程只读存储器(EPROM),电可擦可编程只读存储器(EEPROM),寄存器,硬
盘,可移动磁盘,可记录和/或可重写光盘(CD),数字多功能光盘(DVD),大容量存储介质设
备或任何其他形式的合适存储介质。
[0081] 以上是本申请实施例的实施方式,应当指出,本申请具体实施例描述的方法中的步骤可以根据实际需要进行顺序调整、合并和删减。在上述实施例中,对各个实施例的描述
都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。可以理
解的是,本申请实施例以及附图所示的结构并不构成对有关装置或系统的具体限定。在本
申请另一些实施例中,有关装置或系统可以包括比具体实施例和附图更多或更少的部件,
或者组合某些部件,或者拆分某些部件,或者具有不同的部件布置。本领域技术人员将理
解,在不脱离本申请具体实施例的精神和范围的情况下,可以对具体实施例记载的方法和
设备的布置,操作和细节进行各种修改或变化;在不脱离本申请实施例原理的前提下,还可
以做出若干改进和润饰,这些改进和润饰也视为本申请的保护范围。