全局参数模型构建方法、秘钥生成方法、装置及服务器与流程

文档序号:37558469发布日期:2024-04-09 17:51阅读:56来源:国知局
全局参数模型构建方法、秘钥生成方法、装置及服务器与流程

本发明涉及计算机,具体涉及全局参数模型构建方法、秘钥生成方法、装置及服务器。


背景技术:

1、随着智能终端设备的快速普及,大量的个人信息数据被各种网络平台所采集。而在现实生活中,个人信息的泄露已屡见不鲜。但是目前的技术中,很多机器学习方法都需要收集用户的个人信息,并基于个人信息完成训练和测试,进而进入应用阶段。

2、传统的机器学习需要先把信息都收集到中心服务器,然后再进行模型训练,导致客户端的隐私数据很容易遭到泄露。虽然,也有一些方法可以从某种程度上稍微的保护用户的隐私的,但是恶意服务器依然能够自行获取客户端的本地梯度或者数据模型,甚至是和客户端勾结,进而获取用户隐私数据,导致用户隐私数据无法得到有效的保护。


技术实现思路

1、有鉴于此,本发明提供了一种全局参数模型构建方法、秘钥生成方法、装置及服务器,以解决的问题。

2、第一方面,本发明提供了一种全局参数模型构建方法,该方法适用于全局参数模型构建系统,该系统包括多个服务器,每一个服务器与多个客户端建立通信连接,该方法由多个服务器中的第一服务器执行,第一服务器为多个服务器中的任一个服务器,该方法包括:

3、在当前轮次内获取与第一服务器建立通信连接的多个客户端中每一个客户端分别反馈的s组密文数据,其中,密文数据为利用预生成的加法同态加密秘钥中的公钥对明文数据进行加法同态加密后生成的密文数据,s为大于1的正整数;

4、对每一个客户端反馈的同组别的密文数据进行求和处理,获取s组密文求和构成的第一数据集合;

5、将第一数据集合分别发送至多个服务器中除第一服务器之外的其他服务器;

6、接收多个服务器中除第一服务器之外的其他服务器分别反馈的第二数据集合;

7、将第一数据集合和第二数据集合输入至预购建的联合解密模型进行联合解密操作,获取联合解密结果,其中,联合解密模型为基于不同服务器生成的私钥构建的联合解密模型;

8、基于联合解密结果,以及第一服务器在前一轮次获取的全局参数模型,构建新的全局参数模型,并生成总体损失函数;

9、当总体损失函数达到预设条件时,确定新的全局参数模型为最终模型;

10、或者,当确定总体损失函数达不到预设条件时,将新的全局参数模型分发至除第一服务器之外的其他服务器,以便其他服务器将新的全局参数模型分发至不同客户端进行下一轮次的训练。

11、本发明提供的一种全局参数模型构建方法,具有如下优点:

12、在上述方法中,多个服务器中每一个服务器都可以获取到与自身建立通信连接的多个客户端分别反馈的s组密文数据,且密文数据均是通过预生成的加法同态加密秘钥中的公钥进行加密后的数据。在对数据处理过程中,首先每一个服务器都需要对接收到的所有客户端反馈的密文数据进行求和处理。然后再将求和处理后的密文数据集合,也即是第一数据集合广播到其他服务器。如此一来,每一个服务器都可以获取到多个服务器分别经过处理后的密文数据集合。每一个服务器都可以基于多个服务器分别生成的密文数据集合进行一次联合解密。为减少资源的占用,此时可以只选择一个服务器执行联合解密操作,进而获取联合解密结果。最终根据联合解密结果,以及第一服务器在前一轮次获取的全局参数模型,构建新的全局参数模型,以及生成总体损失函数。并且判断总体损失函数是否达到预设条件,进而判定当前所获取的全局参数模型是否为已经符合预设标准的全局参数模型。

13、因为密文数据为利用公钥分别进行加密后的密文数据,所以联合解密的时候则需要利用私钥进行联合解密。上述方式中,使用门限密码方案,并采用多个服务器的模式,将解密任务分配到每一个服务器,当所有的服务器都参与到解密过程中时,才能得到正确的解密结果,且采用能够抵抗量子攻击的加法同态加密秘钥中的公钥对数据进行加密,服务器之间利用同态性进行聚合,能够有效防止服务器合谋对用户隐私数据的攻击。

14、在一种可选的实施方式中, 将第一数据集合和第二数据集合输入至预购建的联合解密模型进行联合解密操作,获取多个服务器分别建立通信连接的客户端的参数总量、与多个服务器分别建立通信连接的同组别的客户端对应的模型数据增量和参数总量之间的乘积,以及,与多个服务器分别建立通信连接的客户端对应的损失函数与参数总量之间的乘积,包括:

15、分别基于第一数据集合和第二数据集合中同组别的密文数据进行求和,获取第三数据集合;

16、将第三数据集合输入到预构建的联合解密模型中进行联合解密操作,获取多个服务器分别建立通信连接的客户端的参数总量、与多个服务器分别建立通信连接的同组别的客户端对应的模型数据增量和参数总量之间的乘积,以及,与多个服务器分别建立通信连接的客户端对应的损失函数与参数总量之间的乘积。

17、具体的,基于第一数据集合和第二数据集合中同组别的密文数据进行求和,获取第三数据集合。就相当于每个服务器接收与其建立联系客户端的数据,然后进行初步聚合,接着再在这些服务器之间完成模型的聚合与更新,通过上述方式,能够对网络通信效率进行有效的改善。

18、在一种可选的实施方式中,联合解密模型通过如下公式表示:

19、(公式1)

20、其中,m为经过联合解密操作后所生成的数据,[ ]代表取模操作,m为大于或者等于的数据,为明文数据的总数,为一个常数,且常数为一个大于或者等于明文数据中所有系数中最大系数的绝对值的数据; q为大于并且模等于1的素数, d为明文数据中多项式的最高幂数,,,,,为服务器的总个数,为第j个服务器对应的私钥,为第三数据集合中的密文元素,j为大于或者等于1的正整数。

21、在一种可选的实施方式中,明文数据包括第一客户端利用本地数据对前一轮次已接收的第一服务器发送的全局参数模型进行训练后,获取的训练后全局参数模型的参数数量、不同参数分别对应的数据增量与参数数量之间的第一乘积,以及本地生成的损失函数与参数数量之间的第二乘积,其中,数据增量为第一服务器发送的全局参数模型和训练后全局参数模型中同一参数数据之间的增量,数据增量的数量与参数数量相同。

22、在一种可选的实施方式中,密文数据的表达式参见如下表示:

23、(公式2)

24、其中,为第i个客户端对应的密文数据,为第i个客户端对应的明文数据的向量表示,为中的随机数,a为加法同态加密秘钥中的公钥,v,q为大于并且模等于1的素数,d为明文数据中多项式的最高幂数,,,m为大于或者等于的数据,为明文数据的总数,为一个常数,且常数为一个大于或者等于明文数据中所有系数中最大系数的绝对值的数据。

25、在一种可选的实施方式中,对每一个客户端反馈的同组别的密文数据进行求和处理,获取s组密文求和构成的第一数据集合,通过如下公式表示:

26、(公式3)

27、其中,为第一服务器中对应的客户端集合,i为客户端集合中的第i个客户端,为客户端集合中每一个客户端中第一组别密文数据的求和,为客户端集合中每一个客户端中第s组别密文数据的求和,为第一数据集合。

28、具体的,通过上述公式,实现对每一个服务器中分别获取的客户端反馈的密文数据进行初步聚合。

29、在一种可选的实施方式中,分别基于第一数据集合和第二数据集合中同组别的密文数据进行求和,获取第三数据集合,具体通过如下公式表示:

30、(公式4)

31、其中,为第三数据集合,为第一数据集合和第二数据集合中分别对应的第一组别的密文数据求和,即多个服务器中每一个服务器分别对应的多个客户端的第一组别密文数据求和,n为服务器的总个数,为第一数据集合和第二数据集合中分别对应的第s组别的密文数据求和。

32、具体的,通过上述公式,实现对多个服务器中分别获取的客户端反馈的密文数据进行二次聚合。

33、在一种可选的实施方式中,将第三数据集合输入到预构建的联合解密模型中进行联合解密操作,获取多个服务器分别建立通信连接的客户端的参数总量、与多个服务器分别建立通信连接的同组别的客户端对应的模型数据增量和参数总量之间的乘积,以及,与多个服务器分别建立通信连接的客户端对应的损失函数与参数总量之间的乘积,分别通过如下公式表示:

34、(公式5)

35、(公式6)

36、(公式7)

37、其中,公式5表示为n个服务器中所有客户端的参数总量;

38、公式6中的元素表示为与多个服务器分别建立通信连接的同属于第1组别的客户端对应的模型数据增量和参数总量之间的乘积,表示为与多个服务器分别建立通信连接的同属于第u组别的客户端对应的模型数据增量和参数总量之间的乘积,表示为与多个服务器分别建立通信连接的同组别的客户端对应的模型数据增量和参数总量之间的乘积的集合;

39、公式7表示为与多个服务器分别建立通信连接的客户端对应的损失函数与参数总量之间的乘积。

40、在一种可选的实施方式中,该方法还包括:根据每一个客户端所属的地域和/或网络信号,和/或服务器的带宽,选择与每一个服务器分别建立通信连接的多个客户端。

41、具体的,将客户端按照地域、服务器带宽等信息分配给指定的服务器,在客户端数量过大、分布区域较为分散时,可以在一定程度上缓解网络的拥堵与延迟的问题。

42、在一种可选的实施方式中,该方法还包括:

43、获取第一公钥生成因子,以及第二公钥生成因子;

44、基于预配置的私钥、第一公钥生成因子,以及第二公钥生成因子,生成第三公钥生成因子;

45、将第三公钥生成因子进行广播,以便多个服务器中除第一服务器之外的其他服务器接收到第三公钥生成因子;

46、接收多个服务器中除第一服务器之外的其他服务器分别反馈的第四公钥生成因子,其中,第四公钥生成因子为基于其他服务器各自对应的第一公钥生成因子、第二公钥生成因子,以及私钥生成的公钥生成因子;

47、基于第一公钥生成因子、第三公钥生成因子,以及多个服务器中除第一服务器之外的其他服务器分别反馈的第四公钥生成因子,生成公钥。

48、具体的,第三公钥生成因子的生成需要结合第一服务器的私钥,而公钥的生成,不仅仅涉及第一服务器的私钥,还包括其他服务器的私钥,具体可以通过其他服务器分别反馈的第四公钥生成因子体现。如此一来,公钥就结合了每一个服务器各自对应的第一公钥生成因子、第二公钥生成因子以及私钥生成。进而,在进行解密的时候,才需要联合所有服务器的私钥才能够进行解密。进而,只有所有服务器相互勾结的情况下才能够破解密码,而这种情况的发生微乎其微,因此可以大大加强客户端的隐私信息的保护。

49、在一种可选的实施方式中,基于预配置的私钥、第一公钥生成因子,以及第二公钥生成因子,生成第三公钥生成因子,包括:

50、(公式8)

51、其中,为第三公钥生成因子,为加法同态加密秘钥中的私钥,为第一公钥生成因子,为第二公钥生成因子,m为大于或者等于的数据,为明文数据的总数,为一个常数,且常数为一个大于或者等于明文数据中所有系数中最大系数的绝对值的数据。

52、在一种可选的实施方式中,基于第一公钥生成因子、第三公钥生成因子,以及多个服务器中除第一服务器之外的其他服务器分别反馈的第四公钥生成因子,生成公钥,包括:

53、基于第三公钥生成因子以及多个服务器中除第一服务器之外的其他服务器分别反馈的第四公钥生成因子,生成第五公钥生成因子;

54、基于第一公钥生成因子和第五公钥生成因子,生成公钥。

55、第二方面,本发明提供了一种全局参数模型构建装置,该装置适用于全局参数模型构建系统,系统包括多个服务器,每一个服务器与多个客户端建立通信连接,装置对应于多个服务器中的第一服务器,第一服务器为多个服务器中的任一个服务器,该装置包括:

56、获取模块,用于在当前轮次内获取与第一服务器建立通信连接的多个客户端中每一个客户端分别反馈的s组密文数据,其中,密文数据为利用预生成的加法同态加密秘钥中的公钥对明文数据进行加法同态加密后生成的密文数据,s为大于1的正整数;

57、处理模块,用于对每一个客户端反馈的同组别的密文数据进行求和处理,获取s组密文求和构成的第一数据集合;

58、发送模块,用于将第一数据集合分别发送至多个服务器中除第一服务器之外的其他服务器;

59、接收模块,用于接收多个服务器中除第一服务器之外的其他服务器分别反馈的第二数据集合;

60、解密模块,用于将第一数据集合和第二数据集合输入至预购建的联合解密模型进行联合解密操作,获取多个服务器分别建立通信连接的客户端的参数总量、与多个服务器分别建立通信连接的同组别的客户端对应的模型数据增量和参数总量之间的乘积,以及,与多个服务器分别建立通信连接的客户端对应的损失函数与参数总量之间的乘积,其中,不同组别的客户端对应的模型数据增量和参数总量之间的乘积构成乘积集合,联合解密模型为基于不同服务器生成的私钥构建的联合解密模型;

61、处理模块,还用于基于参数总量、乘积集合,以及第一服务器在前一轮次获取的全局参数模型,构建新的全局参数模型;基于与多个服务器分别建立通信连接的客户端对应的损失函数与参数总量之间的乘积,以及参数总量,构建总体损失函数;当总体损失函数达到预设条件时,确定新的全局参数模型为最终模型;或者,当确定总体损失函数达不到预设条件时,将新的全局参数模型分发至除第一服务器之外的其他服务器,以便其他服务器将新的全局参数模型分发至不同客户端进行下一轮次的训练。

62、本发明提供的一种全局参数模型构建装置,具有如下优点:

63、多个服务器中每一个服务器都可以获取到与自身建立通信连接的多个客户端分别反馈的s组密文数据,且密文数据均是通过预生成的加法同态加密秘钥中的公钥进行加密后的数据。在对数据处理过程中,首先每一个服务器都需要对接收到的所有客户端反馈的密文数据进行求和处理。然后再将求和处理后的密文数据集合,也即是第一数据集合广播到其他服务器。如此一来,每一个服务器都可以获取到多个服务器分别经过处理后的密文数据集合。每一个服务器都可以基于多个服务器分别生成的密文数据集合进行一次联合解密。为减少资源的占用,此时可以只选择一个服务器执行联合解密操作,进而获取联合解密结果。最终根据联合解密结果,以及第一服务器在前一轮次获取的全局参数模型,构建新的全局参数模型,以及生成总体损失函数。并且判断总体损失函数是否达到预设条件,进而判定当前所获取的全局参数模型是否为已经符合预设标准的全局参数模型。

64、因为密文数据为利用公钥分别进行加密后的密文数据,所以联合解密的时候则需要利用私钥进行联合解密。上述方式中,使用门限密码方案,并采用多个服务器的模式,将解密任务分配到每一个服务器,当所有的服务器都参与到解密过程中时,才能得到正确的解密结果,且采用能够抵抗量子攻击的加法同态加密秘钥中的公钥对数据进行加密,服务器之间利用同态性进行聚合,能够有效防止服务器合谋对用户隐私数据的攻击。

65、因为密文数据为利用公钥分别进行加密后的密文数据,所以联合解密的时候则需要利用私钥进行联合解密。上述方式中,使用门限密码方案,并采用多个服务器的模式,将解密任务分配到每一个服务器,当所有的服务器都参与到解密过程中时,才能得到正确的解密结果,且采用能够抵抗量子攻击的加法同态加密秘钥中的公钥对数据进行加密,服务器之间利用同态性进行聚合,能够有效防止服务器合谋对用户隐私数据的攻击。

66、第三方面,本发明提供了一种服务器,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的全局参数模型构建方法。

67、第四方面,本发明提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的全局参数模型构建方法。

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