一种数据传输方法、装置及存储介质与流程
- 国知局
- 2024-08-02 14:35:41
本技术涉及通信,尤其涉及一种数据传输方法、装置及存储介质。
背景技术:
1、联邦学习技术是一种分布式机器学习技术,可以通过多个拥有本地数据的客户端进行分布式模型训练,并在各个客户端的当前模型训练阶段完成后,获取各个客户端在当前模型训练阶段训练得到的模型参数,进而根据获取到的模型参数确定业务需要的模型。
2、但是,在客户端传输模型参数时,可能会出现模型参数被篡改或者被泄露的问题,模型参数的安全性无法保障。
技术实现思路
1、本技术提供一种数据传输方法、装置及存储介质,用于解决数据传输过程中通用技术无法保证数据传输的安全性的技术问题。
2、为达到上述目的,本技术采用如下技术方案:
3、第一方面,提供一种数据传输方法,应用于第一客户端;所述第一客户端归属于包括服务端和多个客户端的数据传输系统;多个客户端包括第一客户端;数据传输方法包括:生成第一本地随机数和多个第一共享随机数;一个第一共享随机数为第一客户端与其他客户端中的每个客户端协商得到的随机数;其他客户端为多个客户端中除第一客户端以外的客户端;将第一本地随机数和多个第一共享随机数添加到当前模型参数中,以得到第一掩码数据;当前模型参数为根据本地训练数据对待训练模型训练得到的模型参数;向服务端发送第一掩码数据,以使得服务端根据多个客户端中的每个客户端发送的掩码数据聚合得到待训练模型对应的目标模型的模型参数。
4、可选的,数据传输方法还包括:接收服务端发送的服务端的签名信息;服务端的签名信息为服务端基于数字签名算法生成的;数字签名算法包括国密sm2算法;将服务端的签名信息添加到第一掩码数据中,以得到第一签名数据;第一签名数据包括第一掩码数据;向服务端发送第一掩码数据,包括:向服务端发送第一签名数据,以使得服务端根据服务端的密钥信息对第一签名数据进行验签,以得到第一掩码数据;服务端的密钥信息为服务端基于数字签名算法生成的。
5、可选的,数据传输方法还包括:接收服务端发送的初始密钥信息和初始签名信息;基于dh密钥交互算法,生成第一客户端的dh密钥信息;第一客户端的dh密钥信息包括:第一客户端的公钥信息和第一客户端的私钥信息;将初始签名信息添加到第一客户端的公钥信息中,以得到第一客户端签名后的公钥信息;通过服务端向其他客户端发送第一客户端签名后的公钥信息;接收其他客户端通过服务端发送的其他客户端签名后的公钥信息;其他客户端签名后的公钥信息为其他客户端将初始签名信息添加到其他客户端的公钥信息中得到的;其他客户端的公钥信息为其他客户端基于dh密钥交互算法生成的其他客户端的dh密钥信息中的公钥信息;基于服务端的初始密钥信息对其他客户端签名后的公钥信息进行验签,并当验签成功时,将第一客户端的dh密钥信息和其他客户端的dh密钥信息确定为第一客户端与其他客户端的通信密钥。
6、可选的,数据传输方法还包括:基于秘密共享算法,将第一本地随机数划分为多个第一秘密份额;基于通信密钥,向其他客户端发送多个第一秘密份额;一个第一秘密份额对应其他客户端中的一个客户端;接收第二客户端通过目标通信密钥发送的第二秘密份额;第二客户端为其他客户端中的任意一个客户端;第二秘密份额为第二客户端基于秘密共享算法,将第二客户端的第二本地随机数划分为多个第二秘密份额中的任意一个;目标通信密钥为第一客户端与第二客户端之间的通信密钥;向服务端发送第二秘密份额,以使得服务端根据多个客户端中的每个客户端发送的第二秘密份额,去除掩码数据中的第二本地随机数。
7、第二方面,提供一种数据传输方法,应用于服务端;服务端归属于包括服务端和多个客户端的数据传输系统;数据传输方法包括:接收多个客户端发送的多个掩码数据;多个掩码数据与多个客户端一一对应;多个掩码数据中的每个掩码数据为每个客户端将每个客户端生成的多个共享随机数和本地随机数添加到模型参数中得到的;模型参数为每个客户端根据每个客户端的本地训练数据对待训练模型训练得到的;根据多个掩码数据聚合得到待训练模型对应的目标模型的模型参数。
8、可选的,数据传输方法还包括:基于数字签名算法生成服务端的签名信息和服务端的密钥信息;向每个客户端发送服务端的签名信息,以使得每个客户端将服务端的签名信息添加到每个客户端生成的掩码数据中,以得到每个客户端的签名数据;接收多个客户端发送的多个掩码数据,包括:接收每个客户端发送的签名数据,并根据服务端的密钥信息对每个客户端发送的签名数据进行验签,以得到多个掩码数据。
9、可选的,多个掩码数据包括第一客户端发送的第一掩码数据和第二客户端发送的第二掩码数据;第一掩码数据包括:目标共享随机数的正值和第一本地随机数;第二掩码数据包括:目标共享随机数的负值和第二本地随机数;第一本地随机数为第一客户端生成的本地随机数;第二本地随机数为第二客户端生成的本地随机数;目标共享随机数为第一客户端和第二客户端协商得到的随机数;根据多个掩码数据聚合得到待训练模型对应的目标模型的模型参数,包括:对第一掩码数据和第二掩码数据求和,以得到待处理数据;待处理数据包括:待训练模型对应的目标模型的模型参数、第一本地随机数和第二本地随机数;接收每个客户端发送的第一本地随机数的多个第一秘密份额和第二本地随机数的多个第二秘密份额;多个第一秘密份额为第一客户端基于秘密共享算法,将第一本地随机数划分得到的;多个第二秘密份额为第二客户端基于秘密共享算法,将第二本地随机数划分得到的;基于秘密共享算法、多个第一秘密份额和多个第二秘密份额,确定第一本地随机数和第二本地随机数;去除待处理数据中的第一本地随机数和第二本地随机数,以得到待训练模型对应的目标模型的模型参数。
10、第三方面,提供一种数据传输装置,应用于第一客户端;第一客户端归属于包括服务端和多个客户端的数据传输系统;多个客户端包括第一客户端,所述第一客户端包括:处理单元和发送单元;处理单元,用于生成第一本地随机数和多个第一共享随机数;一个第一共享随机数为所述第一客户端与其他客户端中的每个客户端协商得到的随机数;其他客户端为多个客户端中除第一客户端以外的客户端;处理单元,还用于将第一本地随机数和多个第一共享随机数添加到当前模型参数中,以得到第一掩码数据;当前模型参数为根据本地训练数据对待训练模型训练得到的模型参数;发送单元,用于向服务端发送第一掩码数据,以使得服务端根据多个客户端中的每个客户端发送的掩码数据聚合得到待训练模型对应的目标模型的模型参数。
11、可选的,数据传输装置还包括:第一接收单元:第一接收单元,用于接收服务端发送的服务端的签名信息;服务端的签名信息为服务端基于数字签名算法生成的;数字签名算法包括国密sm2算法;处理单元,还用于将服务端的签名信息添加到第一掩码数据中,以得到第一签名数据;第一签名数据包括第一掩码数据;发送单元,具体用于:向服务端发送第一签名数据,以使得服务端根据服务端的密钥信息对第一签名数据进行验签,以得到第一掩码数据;服务端的密钥信息为服务端基于数字签名算法生成的。
12、可选的,数据传输装置还包括:第二接收单元;第二接收单元,用于接收服务端发送的初始密钥信息和初始签名信息;处理单元,还用于基于dh密钥交互算法,生成第一客户端的dh密钥信息;第一客户端的dh密钥信息包括:第一客户端的公钥信息和第一客户端的私钥信息;处理单元,还用于将初始签名信息添加到第一客户端的公钥信息中,以得到第一客户端签名后的公钥信息;发送单元,还用于通过服务端向其他客户端发送第一客户端签名后的公钥信息;第二接收单元,还用于接收其他客户端通过服务端发送的其他客户端签名后的公钥信息;其他客户端签名后的公钥信息为其他客户端将初始签名信息添加到其他客户端的公钥信息中得到的;其他客户端的公钥信息为其他客户端基于dh密钥交互算法生成的其他客户端的dh密钥信息中的公钥信息;处理单元,还用于基于服务端的初始密钥信息对其他客户端签名后的公钥信息进行验签,并当验签成功时,将第一客户端的dh密钥信息和其他客户端的dh密钥信息确定为第一客户端与其他客户端的通信密钥。
13、可选的,数据传输装置还包括:第三接收单元;处理单元,还用于基于秘密共享算法,将第一本地随机数划分为多个第一秘密份额;发送单元,还用于基于通信密钥,向其他客户端发送多个第一秘密份额;一个第一秘密份额对应其他客户端中的一个客户端;第三接收单元,用于接收第二客户端通过目标通信密钥发送的第二秘密份额;第二客户端为其他客户端中的任意一个客户端;第二秘密份额为第二客户端基于秘密共享算法,将第二客户端的第二本地随机数划分为多个第二秘密份额中的任意一个;目标通信密钥为第一客户端与第二客户端之间的通信密钥;发送单元,还用于向服务端发送第二秘密份额,以使得服务端根据多个客户端中的每个客户端发送的第二秘密份额,去除掩码数据中的第二本地随机数。
14、第四方面,提供一种数据传输装置,应用于服务端;服务端归属于包括服务端和多个客户端的数据传输系统;服务端包括接收单元和处理单元;接收单元,用于接收多个客户端发送的多个掩码数据;多个掩码数据与多个客户端一一对应;多个掩码数据中的每个掩码数据为每个客户端将每个客户端生成的多个共享随机数和本地随机数添加到模型参数中得到的;模型参数为每个客户端根据每个客户端的本地训练数据对待训练模型训练得到的;处理单元,用于根据多个掩码数据聚合得到待训练模型对应的目标模型的模型参数。
15、可选的,数据传输装置还包括:发送单元;处理单元,还用于基于数字签名算法生成服务端的签名信息和服务端的密钥信息;发送单元,用于向每个客户端发送服务端的签名信息,以使得每个客户端将服务端的签名信息添加到每个客户端生成的掩码数据中,以得到每个客户端的签名数据;接收单元,具体用于:接收每个客户端发送的签名数据,并根据服务端的密钥信息对每个客户端发送的签名数据进行验签,以得到多个掩码数据。
16、可选的,多个掩码数据包括第一客户端发送的第一掩码数据和第二客户端发送的第二掩码数据;第一掩码数据包括:目标共享随机数的正值和第一本地随机数;第二掩码数据包括:目标共享随机数的负值和第二本地随机数;第一本地随机数为第一客户端生成的本地随机数;第二本地随机数为第二客户端生成的本地随机数;目标共享随机数为第一客户端和第二客户端协商得到的随机数;处理单元,具体用于:对第一掩码数据和第二掩码数据求和,以得到待处理数据;待处理数据包括:待训练模型对应的目标模型的模型参数、第一本地随机数和第二本地随机数;接收每个客户端发送的第一本地随机数的多个第一秘密份额和第二本地随机数的多个第二秘密份额;多个第一秘密份额为第一客户端基于秘密共享算法,将第一本地随机数划分得到的;多个第二秘密份额为第二客户端基于秘密共享算法,将第二本地随机数划分得到的;基于秘密共享算法、多个第一秘密份额和多个第二秘密份额,确定第一本地随机数和第二本地随机数;去除待处理数据中的第一本地随机数和第二本地随机数,以得到待训练模型对应的目标模型的模型参数。
17、第五方面,提供一种数据传输装置,包括存储器和处理器;存储器用于存储计算机执行指令,处理器与存储器通过总线连接;当数据传输装置运行时,处理器执行存储器存储的计算机执行指令,以使数据传输装置执行第一方面所述的数据传输方法。
18、该数据传输可以是网络设备,也可以是网络设备中的一部分装置,例如网络设备中的芯片系统。该芯片系统用于支持网络设备实现第一方面及其任意一种可能的实现方式中所涉及的功能,例如,获取、确定、发送上述数据传输方法中所涉及的数据和/或信息。该芯片系统包括芯片,也可以包括其他分立器件或电路结构。
19、第六方面,提供一种计算机可读存储介质,计算机可读存储介质包括计算机执行指令,当计算机执行指令在计算机上运行时,使得该计算机执行第一方面所述的数据传输方法。
20、第七方面,还提供一种计算机程序产品,该计算机程序产品包括计算机指令,当计算机指令在数据传输装置上运行时,使得数据传输装置执行如上述第一方面所述的数据传输方法。
21、需要说明的是,上述计算机指令可以全部或者部分存储在计算机可读存储介质上。其中,计算机可读存储介质可以与数据传输装置的处理器封装在一起的,也可以与数据传输装置的处理器单独封装,本技术实施例对此不作限定。
22、本技术中第三方面、第四方面、第五方面、第六方面以及第七方面的描述,可以参考第一方面和第二方面的详细描述。
23、在本技术实施例中,上述数据传输装置的名字对设备或功能模块本身不构成限定,在实际实现中,这些设备或功能模块可以以其他名称出现。例如,接收单元还可以称为接收模块、接收器等。只要各个设备或功能模块的功能和本技术类似,属于本技术权利要求及其等同技术的范围之内。
24、本技术提供的技术方案至少带来以下有益效果:
25、基于上述任一方面,本技术提供一种数据传输方法,应用于第一客户端。该第一客户端归属于包括服务端和多个客户端的数据传输系统。该第一客户端为多个客户端中的任意一个。
26、上述第一客户端可以生成第一本地随机数和多个第一共享随机数。第一共享随机数为第一客户端与其他客户端中的每个客户端协商得到的随机数;其他客户端为多个客户端中除第一客户端以外的客户端。后续,第一客户端可以将第一本地随机数和多个第一共享随机数添加到当前模型参数中,以得到第一掩码数据。当前模型参数为根据本地训练数据对待训练模型训练得到的模型参数。这样,第一客户端可以向服务端发送第一掩码数据,以使得服务端根据多个客户端中的每个客户端发送的掩码数据聚合得到待训练模型对应的目标模型的模型参数。
27、由上可知,由于第一客户端在传输当前模型参数之前,对当前模型参数添加了第一本地随机数和多个第一共享随机数。因此,本技术提供的数据传输方法可以通过第一本地随机数和多个第一共享随机数对当前模型参数进行加密。这样,可以使传输的当前模型参数的安全性得到保障。
28、本技术中的第一方面、第二方面、第三方面、第四方面、第五方面、第六方面以及第七方面的有益效果,均可以参考上述有益效果的分析,此处不再赘述。
本文地址:https://www.jishuxx.com/zhuanli/20240801/243306.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。