一种基于多标签函数加密的隐私保护异步联邦学习方法

摘要: 本发明涉及数据隐私保护,尤其涉及一种基于多标签函数加密的隐私保护异步联邦学习方法。背景技术:1、联邦学习是一种常用的分布式机器学习方式。多个客户端可以把数据留在...
一种基于多标签函数加密的隐私保护异步联邦学习方法

本发明涉及数据隐私保护,尤其涉及一种基于多标签函数加密的隐私保护异步联邦学习方法。

背景技术:

1、联邦学习是一种常用的分布式机器学习方式。多个客户端可以把数据留在本地,只上传模型更新,由服务器聚合得到新的全局模型。这样可以减少原始数据集中传输带来的隐私风险。

2、传统联邦学习通常采用同步方式。服务器在每一轮训练中需要等待选中的客户端都上传结果后才能进行聚合。如果某些客户端计算慢、网络差或暂时离线,整个训练过程就会被拖慢。这类慢客户端通常被称为掉队客户端。

3、异步联邦学习可以缓解上述问题。服务器收到客户端更新后即可在合适的时机进行聚合,不必等待所有客户端。但是异步方式会带来新的问题:有些客户端上传的是基于旧全局模型训练得到的更新,这类更新已经过期,直接使用可能降低模型精度和收敛稳定性。

4、另一方面,模型更新本身也可能泄露隐私。攻击者可能通过梯度或模型参数反推出客户端的训练数据。因此,隐私保护联邦学习需要在不暴露本地数据和本地模型更新的情况下完成聚合。

5、现有隐私保护方案包括差分隐私、同态加密、安全多方计算和函数加密。差分隐私会加入噪声,可能影响模型精度;同态加密和安全多方计算往往计算或通信开销较大;传统函数加密虽然适合做加密聚合,但很多方案依赖可信第三方,或者要求同一轮密文使用相同标签,难以直接适配异步联邦学习。

6、此外,量子计算的发展也要求隐私保护方案尽可能采用具有抗量子安全潜力的密码基础。

7、因此,需要一种既适合函数加密方法、又能保护模型更新隐私、具有抗量子安全潜力和能避免可信第三方依赖的异步联邦学习方法。

技术实现思路

1、本发明的目的在于克服现有技术的不足,提供一种能适合函数加密方法、又能保护模型更新隐私、且具有抗量子安全潜力和能避免可信第三方依赖的异步联邦学习方法。

2、为了实现上述目的,本发明提供了以下技术方案:

3、系统初始化,多个参与联邦学习的客户端共同生成基于环上容错学习问题的函数加密公共参数和各自的秘密信息;

4、本地训练与模型处理,每个客户端接收当前全局模型,使用本地数据进行训练,得到本地模型更新;并将浮点形式的本地模型更新量化为整数形式,并生成用于掩盖中间结果的会话掩码;

5、模型更新加密,客户端使用自身秘密信息和与本地训练时间对应的加密标签,对加入掩码和量化后的本地模型更新执行函数加密,得到加密模型更新;并将所述加密模型更新、对应的训练时间信息、随机数或掩码恢复所需的公开辅助信息发送给服务器;

6、异步收集与选择,服务器持续接收客户端上传的加密模型更新;在每一全局模型聚合迭代中,服务器根据客户端更新的时间信息计算加密模型更新的新旧程度,选择当前在线客户端最新的且满足新旧程度阈值的加密模型更新作为参与聚合的加密模型更新,并根据参与聚合的加密模型更新的加密标签设置共同解密标签;

7、时间加权安全聚合,服务器在每次全局模型聚合时,根据每个加密模型更新的新旧程度计算其参与聚合的权重,并对该聚合权重进行量化,请求客户端生成与该聚合权重、加密标签和解密标签绑定的部分函数解密密钥,并利用加密模型更新和所述部分函数解密密钥,在密文状态下计算加权聚合结果;

8、结果下发与客户端恢复,服务器将被掩盖的聚合结果以及权重信息下发给客户端;客户端根据公开辅助信息重建会话掩码,去除聚合结果中的掩码,并将整数形式的聚合结果反量化为浮点形式的全局模型,用于下一轮训练。

9、优选的,所述加密标签为客户端在加密本地模型更新时使用的标识信息,用于表示该密文对应的客户端、训练时间或模型版本,该加密标签的相关公式如下:

10、

11、其中,为加密标签,为区分训练任务,为客户端编号,为本地模型更新轮次或本地模型更新版本, 区分同一源版本下的重复上传,为标识被加密对象或模型分块,为新鲜公开随机数。

12、优选的,所述解密标签是服务器进行某一次加权聚合时使用的标识信息,用于表示本次全局模型聚合迭代或本次聚合任务,该解密标签的相关公式如下:

13、

14、其中,为解密标签,为区分训练任务,为区分群组密钥时期,为客户端编号, 区分同一源版本下的重复上传,为标识被加密对象或模型分块,为新鲜公开随机数。

15、优选的,所述计算加密模型更新的新旧程度具体过程为:

16、

17、d 表示更新的非负整数陈旧度;表示全局模型聚合轮次或全局模型聚合版本;表示客户端编号;表示客户端的本地模型更新轮次或本地模型更新版本。

18、进一步的,所述根据每个加密模型更新的新旧程度计算其参与聚合的权重的具体过程为:

19、

20、

21、d 表示更新的非负整数陈旧度;n表示当前全局模型聚合轮次或全局模型聚合版本; 表示客户端编号;表示客户端的本地模型更新轮次或本地模型更新版本;表示时间衰减权重函数, 表示第n次全局模型聚合中客户端的归一化权重;表示未归一化时间衰减权重函数;表示本次非空的参与客户端集合;k 表示分母中的客户端求和索引,表示该客户端对应的本地模型更新轮次或本地模型更新版本;分母对中全部未归一化权重进行归一化;当分母非零时,全部参与客户端的 之和为 1。

22、再进一步的,对所述聚合权重进行量化的具体过程为:

23、

24、其中,表示客户端i的量化聚合权重或对应函数向量分量,表示当前全局模型聚合轮次或全局模型聚合版本, 表示客户端编号,表示客户端i的本地模型更新轮次或本地模型更新版本;表示时间衰减权重函数,表示把实数时间权重转换到函数加密支持数值域时使用的正权重精度系数。

25、优选的,所述使用自身秘密信息和与本地训练时间对应的加密标签,对加入掩码和量化后的本地模型更新执行函数加密具体过程为:

26、

27、

28、

29、

30、其中,i为客户端编号, 为客户端i密文的加密标签,enc为函数加密的加密算法;ski 表示客户端 i 持有的秘密密钥;xi 表示客户端 i 经量化并加入会话掩码后的模型更新向量;cti,γi表示客户端 i 在标签 γi 下生成的密文;表示加入标签相关哈希掩码后的输入向量;h 表示把秘密随机量和加密标签映射为掩码向量的抗碰撞哈希函数;表示客户端 i 的秘密随机量;ai 表示环rq中的公开随机元素;ri 表示本次加密随机量;fi,0 和 fi 表示误差分布中采样的噪声;pki 表示客户端 i 的底层公钥;q 表示环模数;k 表示大于最终明文结果上界的缩放参数;1r表示多项式环的单位元;cti,0 和 cti 分别表示密文的标量分量和向量分量。

31、进一步的,所述生成部分函数解密密钥的具体过程为:

32、

33、

34、

35、

36、

37、其中, 为客户端密文的加密标签, 为本次聚合任务的解密标签;keygen 表示部分函数解密密钥生成算法;ski 表示客户端 i 的秘密密钥;y 表示按客户端顺序分块的完整函数向量或权重向量,yi 是与客户端 i 的输入向量维度匹配的分块;γ 表示完整加密标签配置,γi 是客户端 i 对应的加密标签;表示本次聚合任务共同使用的解密标签;表示客户端 i 针对 y、γ 和生成的部分函数解密密钥;si,t 表示客户端i 的底层 mife 秘密向量第 t 个分量,si,yi 表示按函数分块 yi 线性组合得到的标准密钥分量;t 表示向量维度索引;⊥ 表示底层接口在该位置不返回有效的第二分量;表示客户端 i 与目标解密标签绑定的抵消掩码;prg 表示伪随机生成器;ki,j 表示客户端i 与客户端 j 建立的共享密钥;ui 表示底层 mife 秘密掩码向量;表示客户端 i 的标签相关掩码校正分量;mife.keygen 表示底层多输入函数加密密钥生成算法。

38、再进一步的,所述在密文状态下计算加权聚合结果的过程为:

39、

40、

41、

42、

43、

44、dec 表示多标签函数加密的聚合解密算法;m 表示注册客户端总数,[m] 表示客户端编号集合;cti,γi 表示客户端 i 在加密标签 γi 下生成的密文;表示对应的部分函数解密密钥;z 表示授权函数计算得到的聚合结果;表示全部客户端标签相关掩码校正分量的聚合值;di 表示客户端 i 的密文与函数分块形成的局部解密环元素;d 表示合并全部 di 并扣除掩码校正项后得到的环元素;rq 表示模 q 多项式环;cti,0和粗体 cti 是客户端 i 密文的两个组成部分;si,yi 表示与函数分块 yi 对应的标准密钥分量;x 表示按客户端顺序连接的输入向量;y 表示完整函数向量;1r表示多项式环的单位元;z 从d中提取得到。

45、再进一步的,执行所述计算加权聚合操作时,每个密文的加密标签必须与对应部分函数解密密钥绑定的加密标签一致,全部部分函数解密密钥还必须共享同一解密标签。

46、与现有技术相比,本发明具有以下有益效果:

47、1、本发明将现有带标签构造中由同一标签同时约束密文组合和函数密钥的方式,扩展为每个历史密文保持独立加密标签和每次聚合使用共同解密标签的双层绑定方式,从而支持不同源模型版本密文的安全异步组合。

48、2、本发明具有抗量子安全潜力,核心函数加密方案基于环上容错学习问题,生成具有抗量子安全潜力的加密密文,可以满足面向未来安全需求的隐私保护联邦学习场景。

49、3、本发明将函数加密与异步联邦学习相结合,客户端分布式生成和使用密钥,减少中心化密钥机构带来的单点风险,可以避免可信第三方,减少隐私泄露的风险,且进行量化操作,能保证模型的精度和减小计算或通信开销。

50、4、本发明可以用于多个客户端共同训练机器学习模型,且不需要把本地数据或本地模型更新明文交给服务器,各客户端先建立去中心化的多客户端函数加密密钥,再在本地训练后对模型更新进行量化、加掩码和加密,服务器只能得到被掩盖的聚合结果,不能看到单个客户端模型,也不能直接看到最终全局模型,能够减少同步等待,提高异步联邦学习效率,同时保护训练过程中的隐私,并具有去中心化和抗量子安全潜力。