一种模型安全聚合方法及装置与流程

文档序号:36087728发布日期:2023-11-18 04:57阅读:46来源:国知局
一种模型安全聚合方法及装置与流程

本技术实施例涉及网络安全,尤其涉及一种模型安全聚合方法及装置。


背景技术:

1、联邦学习(federated learning,fl)系统是面向多服务节点的模型训练系统,各个服务节点在参与训练时,训练数据保留在本地,不会被发送给其他服务节点或中心节点。中心节点通过对服务节点发送的子模型或子模型的更新数据进行整合,最终完成聚合模型的训练。服务节点在进行本地子模型训练时,由于服务节点间计算能力的差异,各个服务节点完成计算的时间不同。联邦学习虽然能够保证各服务节点的原始训练数据不上传,但半诚实或恶意中心节点可以从服务节点发送的子模型或子模型的更新数据中反推出原始训练数据相关信息,因此没有解决隐私保护问题。

2、目前,为了保护服务节点的隐私,在基于联邦学习进行模型聚合时,一种方法是利用秘密共享技术在服务节点上报的子模型或子模型的更新数据中增加扰动,也即增加噪声,避免中心节点从子模型或子模型的更新数据中反推服务节点的原始训练数据,来保护服务节点的隐私,实现模型的安全聚合。然而,目前利用秘密共享技术增加扰动实现模型安全聚合的方式,每个服务节点对于每个扰动均需要向系统中的n个服务节点共享该扰动所对应的n个子秘密,并在中心节点需要对该扰动进行消除时,也需要中心节点从n个服务节点中的至少t个服务节点中获取相应的子秘密,通信开销较大。


技术实现思路

1、本技术实施例提供一种模型安全聚合方法及装置,能够降低模型聚合时的通信开销。

2、第一方面,本技术实施例提供一种模型安全聚合方法,该方法包括:中心节点接收来自m个在线服务节点的m个加扰模型,其中m个在线服务节点中的任一个在线服务节点的加扰模型由该在线服务节点对应的第一扰动项和第二扰动项对该服务节点的子模型加扰确定;中心节点向m个在线服务节点中的至少t个在线服务节点发送离线服务节点信息,离线服务节点信息包括中心节点对应的服务节点集群中n-m个离线服务节点的信息,其中服务节点集群中包括n个服务节点,n大于或等于m,m大于或等于t,t大于或等于1、且小于或等于n;中心节点接收来自t个在线服务节点的解扰秘密,t个在线服务节点中任一个在线服务节点的解扰秘密根据该在线服务节点对应m个在线服务节点的m个第一共享密钥和对应n-m个离线服务节点的n-m个第二共享密钥确定;中心节点根据m个加扰模型和m个加扰模型的扰动向量,确定聚合模型,扰动向量根据来自t个在线服务节点的解扰秘密和n个服务节点中每个服务节点的至少n-t+1个第一子秘密和至少n-t+1个第二子秘密确定,其中n个服务节点中任一个服务节点的至少n-t+1个第一子秘密根据该服务节点的第一扰动项、该服务节点对应n个服务节点的n个第一共享密钥和至少n-t+1个设定常数确定,至少n-t+1个第二子秘密根据该服务节点的第二扰动项、该服务节点对应n个服务节点的n个第二共享密钥和至少n-t+1个设定常数确定。

3、上述模型安全聚合方法,可以由中心节点执行,还可以由能实现全部或部分中心节点功能的逻辑模块或软件实现,其中,中心节点可以为个人电脑、笔记本电脑、服务器、服务器集群等。

4、采用上述方法,中心节点接收子秘密的通信开销可以降为2n(n-t+1),对应每个服务节点发送2(n-t+1)个子秘密,接收解扰秘密的开销可以降为t,对应t个在线服务节点发送的解扰秘密。相对于每个服务节点对于每个扰动均需要向n个服务节点共享该扰动所对应的n个子秘密,并在中心节点需要对该扰动进行消除时,也需要中心节点从n个服务节点中的至少t个服务节点中获取相应的子秘密(也即解扰秘密)方案,在服务节点根据第一扰动项和第二扰动项对子模型进行加扰的情况下,中心节点接收子秘密的通信开销为2n2,接收解扰秘密的开销为nt,所需信令或消息明显减少,节省了通信开销。

5、在一种可能的设计中,该方法还包括:中心节点接收来自n个服务节点中任一个服务节点的至少n-t+1个第一子秘密和至少n-t+1个第二子秘密。

6、在一种可能的设计中,m个在线服务节点中任一个在线服务节点的加扰模型根据该在线服务节点的子模型与加扰随机数的和确定,加扰随机数由对该在线服务节点的第一扰动项和第二扰动项的和,采用设定随机数生成算法进行随机数生成运算得到。

7、可选的,设定随机数生成算法满足对第一扰动项进行随机数生成运算得到的第一子加扰随机数,与对第二扰动项进行随机数生成运算得到的第二子加扰随机数的和,等于对第一扰动项和第二扰动项的和进行随机数生成运算得到的加扰随机数。

8、上述设计中,采用允许对明文a加密后的结果与对明文b加密后的结果的和,与对明文a和明文b的和加密后得到的结果一样的种子同态的随机数生成算法,对服务节点的子模型进行加扰,不仅可以支持对对应第一扰动项和第二扰动项的加扰随机数进行消除,还可以支持分别对第一扰动项和第二扰动项所对应的子加扰随机数进行消除,能够给对加扰模型消除加扰带来更大的设计空间。

9、在一种可能的设计中,n个服务节点中任一个服务节点的至少n-t+1个第一子秘密为i表示该服务节点的编号,i=1、2、...、n,wi表示该服务节点的第一扰动项、表示该服务节点对应n个服务节点的n个第一共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,gi(x)表示对应x所取设定常数的第一子秘密;n个服务节点中任一个服务节点的至少n-t+1个第二子秘密为i表示该服务节点的编号,i=1、2、...、n,bi表示该服务节点的第二扰动项、表示该服务节点对应n个服务节点的n个第二共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,表示对应x所取设定常数的第二子秘密。

10、上述设计中,将服务节点的子秘密与服务节点的加扰项和共享秘钥相关联,有利于中心节点根据服务节点的子秘密,确定服务节点的加扰项,进而消除服务节点上报的加扰模型中的加扰。

11、在一种可能的设计中,n个服务节点中任一个服务节点对应n个服务节点的n个第一共享密钥,根据该服务节点对应n个服务节点的n个共享密钥以及第一时间参数确定;n个服务节点中任一个服务节点对应n个服务节点的n个第二共享密钥,根据该服务节点对应n个服务节点的n个共享密钥以及第二时间参数确定。

12、上述设计中,第一时间参数可以为当前模型训练的轮数,第二时间参数可以为当前模型训练的轮数与设定非零整数的和等,通过引入第一时间参数和第二时间参数,可以防止服务节点对应n个服务节点的n个第一共享密钥和/或n个第二共享密钥泄露,服务节点对应加扰模型被消除加扰,子模型泄露的问题。

13、在一种可能的设计中,n个服务节点中任一个服务节点的第一扰动项wi=∑i<jsij-∑i>jsji,其中i表示任一个服务节点的编号,j=1、2、...、n,sij或sji表示编号为i的服务节点和编号为j的服务节点的共享密钥。

14、上述设计中,每个服务节点基于该服务节点对应其他服务节点的共享密钥确定第一扰动项,有利于不同服务节点间的第一扰动项带来的扰动的相互抵消。

15、第二方面,本技术实施例提供一种模型安全聚合方法,该方法包括:在线服务节点向中心节点发送加扰模型,加扰模型由该在线服务节点对应的第一扰动项和第二扰动项对该在线服务节点的子模型加扰确定;该在线服务节点接收来自中心节点的离线服务节点信息,离线节点信息包括中心节点对应的服务节点集群中n-m个离线服务节点的信息,其中服务节点集群中包括n个服务节点,n个服务节点包括该在线服务节点,n大于或等于m;该在线服务节点向中心节点发送解扰秘密,解扰秘密根据该在线服务节点对应服务节点集群中m个在线服务节点的m个第一共享密钥和对应n-m个离线服务节点的n-m个第二共享密钥确定。

16、上述模型安全聚合方法,可以由服务节点执行,还可以由能实现全部或部分服务节点功能的逻辑模块或软件实现,其中,服务节点可以为手机、平板电脑、个人电脑、笔记本电脑等等。

17、在一种可能的设计中,该方法还包括:该在线服务节点向中心节点发送至少n-t+1个第一子秘密和至少n-t+1个第二子秘密,t大于或等于1、且小于或等于n;其中,至少n-t+1个第一子秘密根据第一扰动项、该在线服务节点对应n个服务节点的n个第一共享密钥和至少n-t+1个设定常数确定;至少n-t+1个第二子秘密根据第二扰动项、该在线服务节点对应n个服务节点的n个第二共享密钥和至少n-t+1个设定常数确定。

18、在一种可能的设计中,加扰模型根据子模型与加扰随机数的和确定,加扰随机数由对第一扰动项和第二扰动项的和,采用设定随机数生成算法进行随机数生成运算得到。

19、可选的,设定随机数生成算法满足对第一扰动项进行随机数生成运算得到的第一子加扰随机数,与对第二扰动项进行随机数生成运算得到的第二子加扰随机数的和,等于对第一扰动项和第二扰动项的和进行随机数生成运算得到的加扰随机数。

20、在一种可能的设计中,至少n-t+1个第一子秘密为i表示该在线服务节点的编号,i=1、2、...、n,wi表示第一扰动项、表示该在线服务节点对应n个服务节点的n个第一共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,gi(x)表示对应x所取设定常数的第一子秘密;至少n-t+1个第二子秘密为i表示该在线服务节点的编号,i=1、2、...、n,bi表示第二扰动项、表示该在线服务节点对应n个服务节点的n个第二共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,表示对应x所取设定常数的第二子秘密。

21、在一种可能的设计中,该在线服务节点对应n个服务节点的n个第一共享密钥,根据该在线服务节点对应n个服务节点的n个共享密钥以及第一时间参数确定;该在线服务节点对应n个服务节点的n个第二共享密钥,根据该在线服务节点对应n个服务节点的n个共享密钥以及第二时间参数确定。

22、在一种可能的设计中,第一扰动项wi=∑i<jsij-∑i>jsji,其中i表示该在线服务节点的编号,j=1、2、...、n,sij或sji表示编号为i的在线服务节点和编号为j的服务节点的共享密钥。

23、第三方面,本技术实施例提供一种模型安全聚合装置,应用于中心节点,包括:输入输出单元和处理单元;输入输出单元,用于接收来自m个在线服务节点的m个加扰模型,其中m个在线服务节点中的任一个在线服务节点的加扰模型由该在线服务节点对应的第一扰动项和第二扰动项对该服务节点的子模型加扰确定;输入输出单元,还用于向m个在线服务节点中的至少t个在线服务节点发送离线服务节点信息,离线服务节点信息包括中心节点对应的服务节点集群中n-m个离线服务节点的信息,其中服务节点集群中包括n个服务节点,n大于或等于m,m大于或等于t,t大于或等于1、且小于或等于n;以及接收来自t个在线服务节点的解扰秘密,t个在线服务节点中任一个在线服务节点的解扰秘密根据该在线服务节点对应m个在线服务节点的m个第一共享密钥和对应n-m个离线服务节点的n-m个第二共享密钥确定;处理单元,用于根据m个加扰模型和m个加扰模型的扰动向量,确定聚合模型,扰动向量根据来自t个在线服务节点的解扰秘密和n个服务节点中每个服务节点的至少n-t+1个第一子秘密和至少n-t+1个第二子秘密确定,其中n个服务节点中任一个服务节点的至少n-t+1个第一子秘密根据该服务节点的第一扰动项、该服务节点对应n个服务节点的n个第一共享密钥和至少n-t+1个设定常数确定,至少n-t+1个第二子秘密根据该服务节点的第二扰动项、该服务节点对应n个服务节点的n个第二共享密钥和至少n-t+1个设定常数确定。

24、在一种可能的设计中,输入输出单元,还用于接收来自n个服务节点中任一个服务节点的至少n-t+1个第一子秘密和至少n-t+1个第二子秘密。

25、在一种可能的设计中,m个在线服务节点中任一个在线服务节点的加扰模型根据该在线服务节点的子模型与加扰随机数的和确定,加扰随机数由对该在线服务节点的第一扰动项和第二扰动项的和,采用设定随机数生成算法进行随机数生成运算得到。

26、可选的,设定随机数生成算法满足对第一扰动项进行随机数生成运算得到的第一子加扰随机数,与对第二扰动项进行随机数生成运算得到的第二子加扰随机数的和,等于对第一扰动项和第二扰动项的和进行随机数生成运算得到的加扰随机数。

27、在一种可能的设计中,n个服务节点中任一个服务节点的至少n-t+1个第一子秘密为i表示该服务节点的编号,i=1、2、...、n,wi表示该服务节点的第一扰动项、表示该服务节点对应n个服务节点的n个第一共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,gi(x)表示对应x所取设定常数的第一子秘密;n个服务节点中任一个服务节点的至少n-t+1个第二子秘密为i表示该服务节点的编号,i=1、2、...、n,bi表示该服务节点的第二扰动项、表示该服务节点对应n个服务节点的n个第二共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,表示对应x所取设定常数的第二子秘密。

28、在一种可能的设计中,n个服务节点中任一个服务节点对应n个服务节点的n个第一共享密钥,根据该服务节点对应n个服务节点的n个共享密钥以及第一时间参数确定;n个服务节点中任一个服务节点对应n个服务节点的n个第二共享密钥,根据该服务节点对应n个服务节点的n个共享密钥以及第二时间参数确定。

29、在一种可能的设计中,n个服务节点中任一个服务节点的第一扰动项wi=∑i<jsij-∑i>jsji,其中i表示该服务节点的编号,j=1、2、...、n,sij或sji表示编号为i的服务节点和编号为j的服务节点的共享密钥。

30、第四方面,本技术实施例提供一种模型安全聚合装置,应用于在线服务节点,包括:输入输出单元和处理单元;输入输出单元,用于向中心节点发送加扰模型,加扰模型由该在线服务节点对应的第一扰动项和第二扰动项对该在线服务节点的子模型加扰确定;以及接收来自中心节点的离线服务节点信息,离线节点信息包括中心节点对应的服务节点集群中n-m个离线服务节点的信息,其中服务节点集群中包括n个服务节点,n个服务节点包括该在线服务节点,n大于或等于m;处理单元,用于确定根据该在线服务节点对应服务节点集群中m个在线服务节点的m个第一共享密钥和对应n-m个离线服务节点的n-m个第二共享密钥,确定解扰秘密;输入输出单元,还用于向中心节点发送解扰秘密。

31、在一种可能的设计中,输入输出单元,还用于向中心节点发送至少n-t+1个第一子秘密和至少n-t+1个第二子秘密,t大于或等于1、且小于或等于n;其中,至少n-t+1个第一子秘密根据第一扰动项、该在线服务节点对应n个服务节点的n个第一共享密钥和至少n-t+1个设定常数确定;至少n-t+1个第二子秘密根据第二扰动项、该在线服务节点对应n个服务节点的n个第二共享密钥和至少n-t+1个设定常数确定。

32、在一种可能的设计中,加扰模型根据子模型与加扰随机数的和确定,加扰随机数由对第一扰动项和第二扰动项的和,采用设定随机数生成算法进行随机数生成运算得到。

33、可选的,设定随机数生成算法满足对第一扰动项进行随机数生成运算得到的第一子加扰随机数,与对第二扰动项进行随机数生成运算得到的第二子加扰随机数的和,等于对第一扰动项和第二扰动项的和进行随机数生成运算得到的加扰随机数。

34、在一种可能的设计中,至少n-t+1个第一子秘密为i表示该在线服务节点的编号,i=1、2、...、n,wi表示第一扰动项、表示该在线服务节点对应n个服务节点的n个第一共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,gi(x)表示对应x所取设定常数的第一子秘密;至少n-t+1个第二子秘密为i表示该在线服务节点的编号,i=1、2、...、n,bi表示第二扰动项、表示该在线服务节点对应n个服务节点的n个第二共享密钥,其中x取值为至少n-t+1个设定常数中的任一设定常数,表示对应x所取设定常数的第二子秘密。

35、在一种可能的设计中,该在线服务节点对应n个服务节点的n个第一共享密钥,根据该在线服务节点对应n个服务节点的n个共享密钥以及第一时间参数确定;该在线服务节点对应n个服务节点的n个第二共享密钥,根据该在线服务节点对应n个服务节点的n个共享密钥以及第二时间参数确定。

36、在一种可能的设计中,第一扰动项wi=∑i<jsij-∑i>jsji,其中i表示该在线服务节点的编号,j=1、2、...、n,sij或sji表示编号为i的在线服务节点和编号为j的服务节点的共享密钥。

37、第五方面,本技术实施例提供一种模型安全聚合装置,该模型安全聚合装置包括接口电路和处理器,处理器和接口电路之间相互耦合。处理器通过逻辑电路或执行代码指令用于实现上述第一方面或者第一方面的任一种可能的设计中的方法。接口电路用于接收来自该模型安全聚合装置之外的其它装置的信号并传输至处理器或将来自处理器的信号发送给该模型安全聚合装置之外的其它装置。可以理解的是,接口电路可以为收发器或收发机或收发信机或输入输出接口。

38、可选的,模型安全聚合装置还可以包括存储器,用于存储处理器执行的指令或存储处理器运行指令所需要的输入数据或存储处理器运行指令后产生的数据。存储器可以是物理上独立的单元,也可以与处理器耦合,或者处理器包括该存储器。

39、第六方面,本技术实施例提供一种模型安全聚合装置,该模型安全聚合装置包括接口电路和处理器,处理器和接口电路之间相互耦合。处理器通过逻辑电路或执行代码指令用于实现上述第二方面或者第二方面的任一种可能的设计中的方法。接口电路用于接收来自该模型安全聚合装置之外的其它装置的信号并传输至处理器或将来自处理器的信号发送给该模型安全聚合装置之外的其它装置。可以理解的是,接口电路可以为收发器或收发机或收发信机或输入输出接口。

40、可选的,模型安全聚合装置还可以包括存储器,用于存储处理器执行的指令或存储处理器运行指令所需要的输入数据或存储处理器运行指令后产生的数据。存储器可以是物理上独立的单元,也可以与处理器耦合,或者处理器包括该存储器。

41、第七方面,本技术实施例提供一种模型安全聚合系统,该模型安全聚合系统包括中心节点和服务节点,中心节点可以实现上述第一方面或者第一方面的任一种可能的设计中的方法,服务节点可以实现上述第二方面或者第二方面的任一种可能的设计中的方法。

42、第八方面,本技术实施例提供一种计算机可读存储介质,在存储介质中存储有计算机程序或指令,当计算机程序或指令被执行时,可以实现上述第一方面或者第一方面的任一种可能的设计中的方法,或实现上述第二方面或者第二方面的任一种可能的设计中的方法。

43、第九方面,本技术实施例还提供一种计算机程序产品,包括计算机程序或指令,当计算机程序或指令被执行时,可以实现上述第一方面或者第一方面的任一种可能的设计中的方法,或实现上述第二方面或者第二方面的任一种可能的设计中的方法。

44、第十方面,本技术实施例还提供一种芯片,该芯片与存储器耦合,用于读取并执行存储器中存储的程序或指令,实现上述第一方面或者第一方面的任一种可能的设计中的方法,或实现上述第二方面或者第二方面的任一种可能的设计中的方法。

45、上述第二方面至第十方面所能达到的技术效果请参照上述第一方面所能达到的技术效果,这里不再重复赘述。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1