一种联邦数据学习的安全参数交换方法与流程

文档序号:37498516发布日期:2024-04-01 14:06阅读:14来源:国知局
一种联邦数据学习的安全参数交换方法与流程

本发明属于数据安全,尤其涉及一种联邦数据学习的安全参数交换方法。


背景技术:

1、相关法律和法规对数据安全做出严格规定,敏感数据不能离开保存的原始位置,传统的数据集中式的利用模式已经不可行。而数据的价值体现在共享和利用上,需要采用安全共享数据方法来发挥数据的价值,隐私安全计算是一种既能够满足数据安全的要求,又能够共享数据的方案。

2、隐私安全计算主要包括可行执行环境(trustedexecutionenvironment,tee)、多方安全计算(securemulti-partycomputation,mpc)和联邦学习(federatedlearning,fl)三种模式。

3、可信执行环境是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。基本思想是:在硬件中为敏感数据单独分配一块隔离的内存,所有敏感数据的计算均在这块内存中进行,并且除了经过授权的接口外,硬件中的其他部分不能访问这块隔离的内存中的信息。intel、arm和amd处理器都有各自开发的tee环境。

4、安全多方计算针对无可信第三方的情况下,安全地计算出一个约定函数。参与者在不泄露各自隐私数据情况下,利用隐私数据参与保密计算,共同完成某项计算任务。能够满足人们利用隐私数据进行保密计算的需求,有效解决数据的“保密性”和“共享性”之间的矛盾。主要用到:秘密共享、不经意传输、混淆电路、同态加密、零知识证明等关键技术。

5、联邦学习是一种分布式机器学习技术,核心思想是通过在多个拥有本地数据的数据源之间进行分布式模型训练,在不需要交换本地数据的前提下,仅通过交换模型参数或中间结果的方式,构建基于虚拟融合数据下的全局模型,实现数据隐私保护和数据共享计算的平衡,即“数据可用不可见”、“数据不动模型动”的应用新范式。

6、其中,tee从芯片、内存到os层层保护数据安全运行,隔离安全环境。多方安全计算通过算法将数据加密,再进行计算,最后对计算结果还原。联邦学习将模型部署数据方,通过交换参数来实现计算,最后得到模型。

7、tee特点是安全、快速、成本高,难以做到多台机器分布式学习,适用于特殊场景。mpc特点是安全、慢速、成本较高,因为参与计算的都是加密的数据,计算量是未加密前的百倍以上,限制了大数据量的模型应用。fl特点是一种快速、成本低的分布式方案,但存在安全隐患。

8、联邦学习是一种分布式机器学习技术,而参数服务器模式(parameterserver)是实现分布式机器学习的一种方式,其主要包括两个部分:

9、1.server结点(参数服务器):存储机器学习模型参数,对从worker结点发来的梯度进行累积,然后更新模型参数。

10、2.worker结点(训练节点):对server结点请求当前模型参数,计算梯度,将梯度发送给server结点。

11、联邦学习的安全隐患主要体现在:1、交换的参数存在风险,如果被截获存在泄密的风险,参数不是数据,但可能隐式包换了部分数据的信息。2、联邦学习的参与方都存在参数泄露风险。因此,如何对联邦学习中的参数交换进行安全防护,是需要解决的问题。

12、中国专利申请文献cn115169589a公开了一种参数更新方法、数据处理方法及相关设备,获取模型的第一参数、模型的第二参数、第一数据以及训练数据的标签值;将同态加密后的第二参数发送给第二设备;获取第一向量与第二向量;基于第一向量与第二向量确定模型的预测值;基于第一数据与误差计算第一梯度,并利用第一梯度更新第一参数;将同态加密后的误差发送给第二设备,以使得第二设备利用同态加密后的误差更新同态加密后的第二参数。通过第一设备初始化整个模型,将第二参数同态加密后发给第二设备。且后续第一设备发送给第二设备的误差也是同态加密后的。第二设备在参数更新的过程中利用的是密文,从而降低第二设备猜出第一设备处标签值的风险。该方案存在以下不足:1、速度慢,采用同态加密保证计算安全,耗费时间为同态之前的百倍之上,而且模型越复杂,耗费时间的比例越高。2、适用范围有限,仅仅适用传统的回归、决策树和聚类等简单算法,现有的文本、语音和图像非结构化数据的识别、分类等模型,参数最小都是100m以上,采用同态加密计算,速度上完全不可行性。3、参数合并的服务器缺少安全保障措施,所有的参数都是在服务器明文合并,如果服务器被渗透,每个训练节点的每次上传的参数的明文都会泄露。

13、中国专利申请文献cn115186285a公开了一种联邦学习的参数聚合方法和装置,方法包括:获取目标用户当前聚合节点上传的模型参数密文、模型准确率和密文审计证明,基于模型参数密文、模型准确率和密文审计证明对目标模型参数密文进行聚合以得到电力数据分析模型当前聚合节点对应的模型参数更新值,模型参数密文是目标用户基于各自的加密随机数集合对当前聚合节点对应的本地模型参数进行加密得到的,当前聚合节点对应的本地模型参数是目标用户对本地电力数据分析模型训练得到的,加密随机数集合是基于各用户两两之间的共享随机数确定的,模型准确率是基于测试集对目标用户的本地模型进行测试得到的,能保证模型准确性和训练效率,并防止数据泄露。该方案存在以下几个缺点:1、模型参数加密是采用2个训练节点共享加密参数。如果训练节点不是偶数,将无法进行。最主要问题的是其加密方式,这2个节点中,一个节点增加一个值,另外一个减少一个相同的值,汇聚的时候相加就得到正确的值,风险是如果被第三方得到后,相加也得到正确的值。2、通过模型准确率用来检验节点是否诚实,但都是明文传送,准确率存在被修改的可能。3、参数服务器没有安全防护措施,作为所有参数的汇聚点缺少必要保护。


技术实现思路

1、针对上述现有技术中存在的问题,本发明提供了一种联邦数据学习的安全参数交换方法。本发明采用第三方签名保护参数服务器的参数汇聚安全,目前还没有保护服务器的专利,本发明创新提出通过对参数服务器中的参数在读写、落盘和网络传输三个方面进行监控,来确保参数服务器进行安全的明文参数汇聚。本发明还通过采用rsa算法(是一种非对称加密算法,产生两个不同的密钥,一个是公钥,一个是私钥,密码机制是:由已知加密密钥推导出解密密钥在计算上是不可行的)保护不安全环境下密码和参数安全通信,确保通信链路的安全,使链路劫持失效。本发明还采用加密强度可配置的训练节点参数加密措施,针对不同的训练节点的采用不同的加密强度,满足实际应用的各种安全场景要求,对训练节点进行安全保护。

2、为解决上述技术问题,本发明提供了一种联邦数据学习的安全参数交换方法,包括:

3、监控服务器对参数服务器的参数进行签名:参数服务器的参数在解密为明文之前,由监控服务器进行签名,参数服务器将从训练节点得到的密码发送给监控服务器,作为监控服务器下一次签名的内容;

4、训练节点与参数服务器之间、参数服务器与监控服务器之间协商共享密钥:训练节点与参数服务器之间、参数服务器与监控服务器之间的通信链路采用rsa加密算法,利用各自的公钥,协商确定安全通信的共享密钥和加密算法,训练节点与参数服务器之间、参数服务器与监控服务器之间利用该共享密钥进行通信;

5、不同的训练节点采用相同或不同的加密强度对参数进行加密,加密强度表现为密码变化周期。

6、优选地,监控服务器对参数服务器的参数进行签名:参数服务器的参数在解密为明文之前,由监控服务器进行签名,参数服务器在从监控服务器得到签名后解密上一轮参数,进行参数汇聚,将汇聚后的参数利用从训练节点得到的密码加密后传给对应的训练节点,再将从训练节点得到的密码发送给监控服务器,作为监控服务器下一次签名的内容。

7、优选地,进行参数汇聚时,参数服务器利用从训练节点得到的密码解密从训练节点接收到的参数文件,汇聚上一轮参数和参数文件,得到汇聚后的参数。

8、优选地,训练节点与参数服务器之间协商共享密钥包括如下步骤:

9、训练节点向参数服务器发送训练节点公钥和支持的加密算法列表;

10、参数服务器收到后,利用训练节点公钥加密所选择的加密算法,向训练节点发送参数服务器公钥和利用训练节点公钥加密后的所选择的加密算法;

11、训练节点收到后,利用私钥解密得到本次通信将要利用的加密算法;

12、训练节点利用接收到的参数服务器公钥,按照参数服务器选择的加密算法生成密码,将生成的密码利用参数服务器的公钥加密发送给参数服务器,参数服务器收到后利用自己的私钥解密得到密码。

13、优选地,监控服务器定期收集参数服务器的监控信息,并定期发送签名,在第一轮参数获取之前,签的内容为约定的初始内容。

14、优选地,在第一轮参数获取之前参数服务器接收监控服务器发送的签名,判断是否为约定的初始内容,如果是,则继续,否则停止训练。

15、优选地,未收到签名的次数达到一定的阈值时,停止训练。

16、优选地,第一轮参数获取之后,监控服务器根据对参数服务器的监控结果定期发出签名,如果发现异常,签名的内容为约定的停止训练内容,否则,签名的内容是上次接收的密码。

17、优选地,所述联邦数据学习的安全参数交换方法包括如下步骤:

18、步骤s1:参数服务器根据与各个训练节点协商的密码,将初始化参数加密后发送给对应的训练节点;

19、步骤s2:监控服务器定期收集参数服务器定期发送的监控信息,并定期发送签名给参数服务器,签名的内容为约定的初始内容;

20、步骤s3:参数服务器接收监控服务器发送的签名,判断签名的内容是否为约定的初始内容,如果是,则继续,否则,所有训练节点停止训练;

21、步骤s4:训练节点完成训练学习,与参数服务器通信约定密码,使用该密码将参数加密后发送到参数服务器,参数服务器解密参数,与未加密的初始化参数汇聚得到的第一轮参数,加密第一轮参数后发送给该训练节点,并将密码安全发送监控服务器;

22、步骤s5:监控服务器根据对参数服务器的监控结果定期发出签名,如果发现异常,签名的内容为约定的停止训练内容,否则,签名的内容是上次接收的密码;

23、步骤s6:后续的训练节点完成训练后,与参数服务器通信约定密码,将参数加密后发送到参数服务器,参数服务器解密参数,使用监控服务器发来的密码解密上一轮参数,汇聚本轮参数和上一轮参数后,加密汇聚后的参数后发送给该训练节点,将加密的密码安全发送监控服务器。

24、优选地,参数存放在内存中,每一次训练节点发送回来的参数汇聚处理会覆盖之前保存的上一轮参数。

25、优选地,所述异常为获取到的监测信息显示参数服务器的数据量大于预设阈值。

26、优选地,所述不同的训练节点采用不同的加密强度对参数进行加密,加密算法能够为不同的训练节点提供不同的密码,采用rsa加密算法。

27、优选地,每轮训练每个训练节点采用不同的密码;

28、优选地,预设学习次数或者预设间隔时间更换一次密码;

29、优选地,训练节点得到一个密码后,整个学习过程不再修改密码。

30、与现有技术相比,本发明至少存在以下有益效果:

31、1.本发明采用监控服务器签名保护参数服务器的参数汇聚安全,通过对参数服务器中的参数采用白名单控制读写,参数存放在内存中,每一次训练节点发送回来的参数汇聚处理会覆盖之前保存的上一轮参数,实现落盘的安全监控,通过监控服务器在参数解码为明文前进行签名,通信双方进行密码协商,并变化密码的方式,保证了网络传输的安全,从而确保参数服务器进行安全的明文参数汇聚。

32、2.本发明采用rsa算法,并为不同训练节点提供不同的密码,保护不安全环境下密码和参数安全通信,使链路劫持失效。

33、3.本发明采用加密强度可配置的训练节点参数加密措施,针对不同的训练节点的采用不同的加密强度,满足实际应用的各种安全场景要求。

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