CN114186213B - 基于联邦学习的数据传输方法及装置、设备和介质 - Google Patents
基于联邦学习的数据传输方法及装置、设备和介质 Download PDFInfo
- Publication number
- CN114186213B CN114186213B CN202210142452.8A CN202210142452A CN114186213B CN 114186213 B CN114186213 B CN 114186213B CN 202210142452 A CN202210142452 A CN 202210142452A CN 114186213 B CN114186213 B CN 114186213B
- Authority
- CN
- China
- Prior art keywords
- target
- participant
- data packet
- reverse proxy
- proxy server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Artificial Intelligence (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种基于联邦学习的数据传输方法及装置、设备和介质。实现方案为:响应于与任一目标参与方之间的证书信息认证通过,通过反向代理服务器从该目标参与方接收数据和/或向该目标参与方发送数据,反向代理服务器存储有多个目标参与方的地址,其中,接收数据包括:从该目标参与方接收第一数据包;对所述第一数据包进行解密;以及将解密后的第一数据包发送到本地联邦学习框架,以执行联邦学习任务,其中,发送数据包括:从本地联邦学习框架接收待发送的第二数据包;查询待接收第二数据包的该目标参与方的地址;对第二数据包进行加密;以及基于该目标参与方的地址,将加密后的第二数据包发送至该目标参与方。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及联邦学习领域,具体涉及一种基于联邦学习的数据传输方法及联邦学习方法、装置、电子设备和计算机可读存储介质。
背景技术
联邦机器学习(Federated machine learning),又名联邦学习(FederatedLearning),是一个机器学习框架,能有效帮助多个参与方在满足用户隐私保护和数据安全的情况下,进行数据使用和机器学习建模。联邦学习作为分布式的机器学习范式,可以有效解决数据孤岛问题,让参与方在不共享数据的基础上完成联合学习任务,能从技术上打破数据孤岛,实现AI(Artificial Intelligence)协作。
联邦学习定义了机器学习框架,在此框架下可以通过设计虚拟模型来解决不同数据拥有方在不交换数据的情况下进行协作的问题。虚拟模型是各方将数据聚合在一起的最优模型,联邦学习的目标是虚拟模型无限接近按照传统建模模式所得到的模型,即将多个数据拥有方的数据汇聚到一处进行建模所得到的模型。在联邦机制下,各参与方(即数据拥有方)的身份和地位相同,可建立共享数据策略。由于数据不发生转移,因此不会泄露用户隐私或影响数据规范。需要说明的,联邦学习任务不局限于联邦建模,例如还可以为联邦查询任务、联邦统计任务等。
在此部分中描述的方法不一定是之前已经设想到或采用的方法。除非另有指明,否则不应假定此部分中描述的任何方法仅因其包括在此部分中就被认为是现有技术。类似地,除非另有指明,否则此部分中提及的问题不应认为在任何现有技术中已被公认。
发明内容
本公开提供了一种基于联邦学习的数据传输方法及联邦学习方法、装置、电子设备和计算机可读存储介质。
根据本公开的一方面,提供了一种基于联邦学习的数据传输方法,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,并且所述数据传输方法包括:响应于与任一目标参与方之间的证书信息认证通过,通过反向代理服务器从该目标参与方接收数据和/或向该目标参与方发送数据,所述反向代理服务器存储有所述多个目标参与方的地址,其中,通过反向代理服务器从该目标参与方接收数据包括:从该目标参与方接收第一数据包;对所述第一数据包进行解密;以及将解密后的第一数据包发送到本地联邦学习框架,以执行联邦学习任务,其中,通过反向代理服务器向该目标参与方发送数据包括:从本地联邦学习框架接收待发送的第二数据包;查询待接收所述第二数据包的该目标参与方的地址;对所述第二数据包进行加密;以及基于该目标参与方的地址,将加密后的第二数据包发送至该目标参与方。
根据本公开的另一方面,提供了一种联邦学习方法,适用于一个参与方与多个目标参与方通信连接,所述一个参与方包括本地联邦学习框架和反向代理服务器,并且所述反向代理服务器存储有所述多个目标参与方的地址,所述联邦学习方法包括:所述一个参与方利用上述的数据传输方法与任一目标参与方之间进行数据交互,以从该目标参与方接收第一数据包和/或将第二数据包发送至该目标参与方。
根据本公开的另一方面,提供了一种基于联邦学习的数据传输装置,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,所述数据传输装置包括反向代理服务器,所述数据传输装置被配置用于响应于与任一目标参与方之间的证书信息认证通过,通过反向代理服务器从该目标参与方接收数据和/或向该目标参与方发送数据,所述反向代理服务器存储有所述多个目标参与方的地址,其中,所述反向代理服务器包括接收单元和发送单元,所述接收单元包括:第一接收模块,被配置用于从该目标参与方接收第一数据包;解密模块,被配置用于对所述第一数据包进行解密;以及第一发送模块,被配置用于将解密后的第一数据包发送到本地联邦学习框架,以执行联邦学习任务,其中,所述发送单元包括:第二接收模块,被配置用于从本地联邦学习框架接收待发送的第二数据包;查询模块,被配置用于查询待接收所述第二数据包的该目标参与方的地址;加密模块,被配置用于对所述第二数据包进行加密;以及第二发送模块,被配置用于基于该目标参与方的地址,将加密后的第二数据包发送至该目标参与方。
根据本公开的另一方面,提供了一种联邦学习装置,适用于一个参与方与多个目标参与方通信连接,所述一个参与方包括本地联邦学习框架和反向代理服务器并且所述反向代理服务存储有所述多个目标参与方的地址,所述联邦学习装置包括:上述的数据传输装置,所述一个参与方被配置用于利用所述数据传输装置与任一目标参与方之间进行数据交互,以从该目标参与方接收第一数据包和/或将第二数据包发送至该目标参与方。
根据本公开的另一方面,提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述方法。
根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述方法。
根据本公开的一个或多个实施例,通过使用支持配置多个证书的反向代理服务器,来实现联邦学习在网络数据传输过程中的网络信道加密,从而能够实现在不改动联邦学习框架的前提下,使得一个参与方能够同时连接多个使用证书加解密的参与方,进而能够根据需求灵活配置联邦学习的多个参与方进行数据传输而不需要依赖交换节点或转发节点,提升数据传输的可靠性。
应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。
附图说明
附图示例性地示出了实施例并且构成说明书的一部分,与说明书的文字描述一起用于讲解实施例的示例性实施方式。所示出的实施例仅出于例示的目的,并不限制权利要求的范围。在所有附图中,相同的附图标记指代类似但不一定相同的要素。
图1示出了根据本公开示例性实施例的联邦学习框架的结构示意图;
图2a-2c示出了根据本公开示例性实施例的联邦学习的多个参与方的连接示意图;
图3示出了根据本公开示例性实施例的数据传输方法的流程图;
图4示出了根据本公开示例性实施例的参与方之间的证书信息认证握手图;
图5示出了根据本公开示例性实施例的点对点网络中多个参与方的连接示意图;
图6示出了根据本公开示例性实施例参与方之间的数据传输过程示意图;
图7示出了根据本公开示例性实施例的数据传输装置的结构框图;
图8示出了根据本公开实施例的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本公开中,除非另有说明,否则使用术语“第一”、“第二”等来描述各种要素不意图限定这些要素的位置关系、时序关系或重要性关系,这种术语只是用于将一个元件与另一元件区分开。在一些示例中,第一要素和第二要素可以指向该要素的同一实例,而在某些情况下,基于上下文的描述,它们也可以指代不同实例。
在本公开中对各种所述示例的描述中所使用的术语只是为了描述特定示例的目的,而并非旨在进行限制。除非上下文另外明确地表明,如果不特意限定要素的数量,则该要素可以是一个也可以是多个。此外,本公开中所使用的术语“和/或”涵盖所列出的项目中的任何一个以及全部可能的组合方式。
联邦学习是一种带有隐私保护、安全加密技术的分布式机器学习框架,旨在让分散的各参与方在满足不向其它参与方披露隐私数据的前提下,协作进行联邦学习任务。联邦学习任务例如可以为机器学习模型的训练。
联邦学习的各参与方配置有联邦学习框架,在图1示意的示例中,联邦学习框架100包括数据库101、任务管理模块102、通信模块103、计算模块104和存储模块105。数据库101用于存放系统的数据和工作日志等。任务管理模块102用于发起联邦学习任务,并通过通信模块103同步任务信息到其它参与方,期间任务管理模块102会检测其它参与方的运行状态。计算模块104用于执行计算任务,并通过通信模块103与其它参与方通讯,例如,将加密后的计算结果通过通信模块103传输至其它参与方,以及通过通信模块103接收其它参与方所发送的加密后的计算结果。存储模块105用来存储中间计算数据和计算结果等。需要说明的,图1仅是联邦学习框架的一个示例架构,联邦学习框架的架构并不局限于此,例如还可包括其它模块(例如可视化界面)或者为其它架构。
在联邦学习场景中,各参与方互联的方案有以下几种:星型网络(如图2a所示)、环形网络(如图2b所示)和点对点网络(如图2c所示)。从图中可以看出,星型网络中各参与方(例如参与方211、212、213、214)与一个可信第三方提供的转发节点210通信连接,转发节点210收到各参与方的网络消息后,根据消息中待接收参与方的地址信息将消息转发到待接收参与方。环形网络中每一参与方221、222、223或224只与一个“相邻”的参与方通信连接,形成一个环形的网络。点对点网络中每一个参与方231、232、233或234均与其它所有参与方通信连接。
相关技术中,联邦学习框架的其中一个参与方支持通过非加密的网络信道与其他一个或多个参与方同时通信连接,而联邦学习框架的其中一个参与方只支持通过加密的网络信道与另一个参与方通信连接。换言之,对于联邦学习框架,如果要通过网络信道加密来提升联邦学习过程中的数据安全性,联邦学习的多个参与方只能实现星型网络或者环形网络的连接方式。发明人注意到,星型网络需要有可信第三方提供转发节点,转发节点的网络压力很大。当转发节点故障时,会影响所有参与方之间的通信。环形网络虽然不需要可信第三方提供转发节点,但对于两个不相邻的参与方之间的数据传输,需要通过它们之间的一个或多个参与方进行数据转发,不利于保证数据安全性。
基于此,本公开提供一种基于联邦学习的数据传输方法,应用于联邦学习任务中任一参与方,该参与方可以与联邦学习任务中的多个目标参与方通信连接。通过使用支持配置多个证书的反向代理服务器,来实现联邦学习在网络数据传输过程中的网络信道加密,从而能够实现在不改动联邦学习框架的前提下,使得一个参与方能够同时连接多个使用证书加解密的参与方,进而能够根据需求灵活配置联邦学习的多个参与方进行数据传输而不需要依赖交换节点或转发节点,提升数据传输的安全性和可靠性。
通过利用本公开的数据传输方法能够实现联邦学习任务中多个参与方之间通过点对点网络互联,并且实现各参与方之间通过加密的网络信道进行数据交互。可以理解的,本公开的数据传输方法也适用于联邦学习任务中多个参与方之间通过星型网络或环形网络互联的场景,即适用于一个参与方仅与另一个参与方之间通信连接的场景。
在网络应用中,为了保证网络传输过程中的数据不被泄漏,可基于证书信息对数据进行信道加密(具体的加密过程将在下面内容中介绍)。所述证书信息可以为传输层安全性协议证书(即TLS证书),也可以为安全通道层安全性协议证书(即SSL证书)等等,在此不作限定。
下面将结合附图详细描述本公开的实施例。
根据本公开的一方面,提供一种基于联邦学习的数据传输方法,应用于联邦学习任务中任一参与方,并且该参与方与联邦学习任务中的多个目标参与方通信连接。
如图3所示,所述数据传输方法包括:响应于与任一目标参与方之间的证书信息认证通过,通过反向代理服务器从该目标参与方接收数据和/或向该目标参与方发送数据,所述反向代理服务器存储有所述多个目标参与方的地址。
其中,通过反向代理服务器从该目标参与方接收数据(步骤S310)包括:步骤S311、从该目标参与方接收第一数据包;步骤S312、对所述第一数据包进行解密;以及步骤S313、将解密后的第一数据包发送到本地联邦学习框架,以执行联邦学习任务。
其中,通过反向代理服务器向该目标参与方发送数据(步骤S320)包括:步骤S321、从本地联邦学习框架接收待发送的第二数据包;步骤S322、查询待接收所述第二数据包的该目标参与方的地址;步骤S323、对所述第二数据包进行加密;以及步骤S324、基于该目标参与方的地址,将加密后的第二数据包发送至该目标参与方。
由此,能够基于证书信息来实现网络信道的加密,提升数据传输的安全性和可靠性,并且通过使用支持配置多个证书的反向代理服务器,来实现联邦学习在网络数据传输过程中的信道加密,能够实现在不改动联邦学习框架的前提下,支持同时连接多个使用证书加解密的参与方,从而能够根据需求灵活配置联邦学习的多个参与方进行数据传输而不需要依赖交换节点或转发节点。
根据本公开的一些实施例,用于网络信道加密的证书信息可以但不局限于为TLS证书,在实现数据保密的同时还能够保证数据完整性。TLS证书基于TLS协议,TLS协议能够与高层的应用层协议(如HTTP、FTP、Telnet等)无耦合。应用层协议能透明地运行在TLS协议之上,由TLS协议进行创建加密信道所需要的协商和认证。应用层协议传送的数据在通过TLS协议时都会被加密,从而保证通信的私密性。
示例性的,目标参与方的地址例如可以是IP地址。IP地址是IP协议提供的一种统一的地址格式,互联网上的每台计算机和其它设备都具有一个唯一的IP地址,以此来屏蔽物理地址的差异。IP地址使互联网上的计算机和其它设备能够被高效而且方便地找到,以与之建立通信连接。
可以理解的,目标参与方的地址并不局限于为IP地址,可以根据具体的应用网络来配置,在此不作限定。
证书信息的认证可以为响应于所述一个参与方或任一目标参与方发起连接请求而执行,并且只有在证书信息认证通过的情况下才进行数据传输。证书信息的认证可以为双向认证或单向认证。
需要说明的,对于一个参与方,将与该参与方通信连接的每一参与方定义为目标参与方,仅是为了便于理解和描述,不具有其它限定作用。即,目标参与方只是当前描述的参与方的一个相对概念,并不作具体发送、接收功能的限制,二者在联邦学习过程中的角色可以根据具体的任务执行情况切换。
本公开的数据传输方法可以适用于联邦学习中的任一参与方,也就是说,联邦学习中的任一参与方均可利用本公开实施例中的数据传输方法,和与该参与方通信连接的多个目标参与方之间进行数据传输。
本文中以其中一个参与方侧为例来具体介绍本公开实施例中的数据传输方法,换言之,本文中除特殊声明外,提及的该参与方均是指所述其中一个参与方,而目标参与方是指与所述其中一个参与方通信连接的参与方。
为了实现基于证书信息进行网络信道的加密,至少生成该参与方的证书。示例性的,证书信息例如可以包括该参与方的公钥、该参与方的组织信息、有效时间、证书序列号等信息的明文,同时包括一个数字签名。
根据一些实施例,证书信息可以由CA机构签发,也可以通过自签名方式生成。由CA机构签发的证书信息具有更高的可靠性,能够提升网络信道的安全性。而通过自签名方式生成的证书信息能够适用于对网络信道安全要求不是特别高的应用场景,例如联邦学习中的各参与方。由于联邦学习中的各参与方为已知而且确定的,通过自签名方式生成的证书信息即可满足联邦学习对网络信道安全的要求,并且能够降低成本。
根据本公开的一些实施例,该参与方的证书信息通过自签名方式而生成。在这种情况下,反向代理服务器可以存储有该参与方的服务端证书信息,以及多个目标参与方的地址和客户端证书信息之间的映射关系,并且所述客户端证书信息也为通过自签名方式而生成。示例性的,该参与方的证书信息的数字签名可以通过对证书信息中的明文信息进行哈希,得到信息摘要,并使用该参与方的私钥对信息摘要进行加密来生成。
需要说明的,考虑到本文中是以该参与方侧来具体描述数据传输的方法,为了便于描述和理解,将该参与方侧定义为服务器侧,而将与该参与方通信理解的目标参与方侧定义为客户端侧,并非限定该参与方与目标参与方为服务器—客户端的关系,联邦学习中的各参与方是在保证数据隐私的前提下进行协作来完成联邦学习任务。
在一些实施例中,当该参与方的证书信息通过自签名方式而生成时,可以通过双向认证的方式进行证书信息的认证。在这种情况下,如图4所示,该参与方与任一目标参与方之间的证书信息认证过程包括:步骤S401、响应于接收到该目标参与方的连接请求,向该目标参与方发送服务端证书信息;步骤S402、从该目标参与方接收客户端证书信息,其中,所述客户端证书信息为响应于该目标参与方对所述服务端证书信息认证通过而发送的;步骤S403、基于所存储的该目标参与方的客户端证书信息,对所接收的该目标参与方的客户端证书信息进行认证;以及步骤S404、响应于认证结果指示所述客户端证书信息认证通过,确定与该目标参与方之间的证书信息认证通过。 由此,通过双向认证的方式能够进一步提升数据传输的安全性和可靠性。
示例性的,该目标参与方也可存储有该参与方地址和服务端证书信息之间的映射关系,则步骤S402中,该目标参与方能够基于所存储的服务端证书信息,对所接收的服务端证书信息进行认证。
以该参与方对所接收的客户端证书信息进行认证为例,证书信息的认证原理可以为:使用所存储的该目标参与方的证书信息的公钥,对所接收的客户端证书信息的数字签名进行解密,得到第一信息摘要,并且对所存储的该目标参与方的证书信息的明文信息进行哈希,得到第二信息摘要;比对所述第一信息摘要和第二信息摘要;响应于比对结果指示所述第一信息摘要和第二信息摘要相同,确定证书信息认证通过。
在上述双向认证过程中,连接请求的发起方也可以为该参与方,则该参与方与任一目标参与方之间的证书信息认证过程包括:向该目标参与方发起连接请求;接收该目标参与方所发送的客户端证书信息;基于所存储的该目标参与方的客户端证书信息,对所接收的该目标参与方的客户端证书信息进行认证;响应于所述客户端证书信息认证通过,向该目标参与方发送服务端证书信息;从该目标参与方接收认证结果,并且响应于认证结果指示所述服务端证书信息认证通过,确定与该目标参与方之间的证书信息认证通过。
在另一些实施例中,当该参与方的证书信息通过自签名方式而生成时,也可以通过单向认证的方式进行证书信息的认证。在这种情况下,示例性的,该参与方与任一目标参与方之间的证书信息认证过程可以包括:响应于接收到该目标参与方的连接请求,向该目标参与方发送服务端证书信息;从该目标参与方接收认证结果,并且响应于认证结果指示所述服务端证书信息认证通过,确定与该目标参与方之间的证书信息认证通过。
同样地,在上述单向认证过程中,连接请求的发起方也可以为该参与方,则该参与方与任一目标参与方之间的证书信息认证过程可包括:向该目标参与方发起连接请求;接收该目标参与方所发送的客户端证书信息;基于所存储的该目标参与方的客户端证书信息,对所接收的该目标参与方的客户端证书信息进行认证;响应于所述客户端证书信息认证通过,确定与该目标参与方之间的证书信息认证通过。
上述内容中以通过自签名方式来生成证书为例,介绍了证书信息认证的过程。
根据本公开的另一些实施例,当该参与方的证书信息通过自签名方式而生成时,所述反向代理服务器存储有该参与方的第一自签名根证书和服务端证书信息,以及所述多个目标参与方的地址和第二自签名根证书之间的映射关系,并且所述服务端证书信息为基于第一自签名根证书而生成,每一目标参与方的客户端证书信息为基于相应的第二自签名根证书而生成。其中,该参与方的证书信息的数字签名可以通过对证书中的明文信息进行哈希,得到信息摘要,并使用该参与方的第一自签名根证书对信息摘要进行加密来生成。在这种情况下,同样可以通过双向认证或单向认证的方式进行证书信息的认证,具体的认证过程与上述类似,不同的是,该参与方是基于所存储的目标参与方的第二自签名根证书来对客户端证书信息进行认证,而该目标参与方是基于所存储的该参与方的第一自签名根证书来对服务端证书信息进行认证。
根据本公开的另一些实施例,该参与方的证书信息和多个目标参与方的证书信息可以是由CA机构签发的。在这种情况下,所述反向代理服务器存储有CA根证书和该参与方的服务端证书信息,并且所述服务端证书信息为基于所述CA根证书而生成,每一目标参与方的客户端证书信息也为基于所述CA根证书而生成。示例性的,证书信息的数字签名可以通过对证书中的明文信息进行哈希,得到信息摘要,并使用CA的私钥对信息摘要进行加密来生成。同样可以通过双向认证或单向认证的方式进行证书信息的认证,具体的认证过程与上述类似,不同的是,该参与方是使用所存储的CA根证书来对客户端证书信息进行认证,具体的认证原理与上面内容类似。
以上结合具体的实施例介绍了证书信息认证的过程,证书信息认证通过后即可进行数据传输。该参与方的证书信息认证是由反向代理服务器来实现的。
示例性的,反向代理服务器可以但不局限于为基于nginx、openresty或ingress等等。
优选地,反向代理服务器为基于nginx,nginx是一个高性能的HTTP和反向代理web服务器,具有良好的稳定性、丰富的模块库、灵活的配置和低系统资源的消耗。Nginx可以应用于静态服务器、动态服务、反向代理、缓存服务等。Nginx具有多个端口,每一端口对应一个应用服务,能够用于反向代理,以实现负载均衡。Nginx采用的是master-worker模型,也就是一个master进程管理多worker进程。Master进程负责全局初始化以及对多个worker进程进行管理。每一个worker进程都维护一个线程,处理连接和请求。每个worker是独立的进程,若其中一个worker出现问题,不会造成服务中断。示例性的,针对联邦学习中的其中一个参与方,master进程可以负责配置与该参与方通信连接的多个目标参与方的标识信息、地址和客户端证书信息之间的映射关系,可以通过配置增加、修改或取消与该参与方通信连接的多个目标参与方。
Openresty又被称为ngx_openresty,是基于nginx的核心web应用程序服务器。Openresty是基于nginx和lua的高性能web平台,openresty通过汇聚各种设计精良的nginx模块,从而将nginx有效地变成一个强大的通用web应用平台。Openresty的目标是让web服务直接运行在nginx服务内部,充分利用nginx的非堵塞I/O模型,对HTTP客户端请求进行一系列的高性能响应。
在一些实施例中,联邦学习采用kubernets集群技术。在kubernets集群中,作为网关的ingress组件是基于nginx实现的,而nginx是最常用的反向代理软件。所以通过一定的配置,ingress组件也可以达成上述的效果。示例性的,当反向代理服务器存储有与该参与方通信连接的多个目标参与方的标识信息和地址之间的映射关系时,在kubernets集群中,可以使用hostalias来为一个容器定义与该参与方通信连接的多个目标参与方各自相应的多个域名。
由此,nginx、openresty和ingress等反向代理服务器都能够支持配置多个证书,同时连接多个使用证书加解密的参与方。进一步地,通过联邦学习中的任一参与方配置反向代理服务,能够实现与多个目标参与方之间的数据传输,并且实现用于数据传输的多个网络信道的加密。
根据一些实施例,参见图4所示,该数据传输方法还可包括:步骤S405、响应于与任一目标参与方之间的证书信息认证通过,获取与该目标参与方之间的协商密钥;其中,基于所述协商密钥,对所述第一数据包进行解密,并且基于所述协商密钥,对所述第二数据包进行加密,即,该参与方与该目标参与方使用协商密钥进行加密通信。由此,通过协商得到该参与方和该目标参与方的临时会话密钥(即协商密钥),不同会话所使用的密钥不同,每次会话都进行证书认证,能够进一步保证数据安全性。示例性的,协商密钥例如可以为对称密钥,从而该参与方和目标参与方可以使用协商密钥进行加密和解密。
在一些实施例中,与目标参与方之间的协商密钥可以但不限于通过以下步骤生成:响应于与任一目标参与方之间的证书信息认证通过,从该目标参与方接收加密后的协商密钥,其中,所述协商密钥包括该目标参与方随机产生的随机数,并且该目标参与方使用所存储的该参与方的服务端证书信息的公钥对所述协商密钥进行加密;使用该参与方的私钥对加密后的协商密钥进行解密,以得到所述协商密钥。然后即可开始使用协商密钥与该目标参与方进行加密通信。需要说明的,协商密钥的生成方法并不局限于此,例如,响应于与任一目标参与方之间的证书信息认证通过,还可从该目标参与方接收一段加密数据,该加密数据可以通过对证书中的明文信息进行哈希,得到信息摘要,并使用协商密钥对信息摘要进行加密来生成。该参与方在解密得到协商密钥后,使用协商密钥对所接收的所述加密数据进行解密,得到所述信息摘要,通过信息摘要比对(已在上述内容中描述)验证数据和协商密钥正确性。
综上,联邦学习任务中任一参与方和与该参与方通信连接的多个目标参与方进行加密通信之前,可以进行证书信息认证并协商加密通信所使用的密钥,从而提升数据传输的安全性和可靠性。
本公开实施例中的数据传输方法通过为该参与方配置反向代理服务器来进行数据转发,能够实现与多个目标参与方的加密通信。
基于此,根据一些实施例,该参与方的本地联邦学习框架可通过非加密信道与反向代理服务器通信连接,反向代理服务器通过加密信道与多个目标参与方分别通信连接。如上所述,联邦学习框架的其中一个参与方支持通过非加密的网络信道与其他一个或多个参与方同时通信连接,而联邦学习框架的其中一个参与方只支持通过加密的网络信道与另一个参与方通信连接。由此,本地联邦学习框架可通过非加密信道与一个或多个反向代理服务器通信连接,配置更加灵活,而反向代理服务器通过加密信道与多个目标参与方分别通信连接,能够实现数据安全性。
进一步地,在一些实施例中,所述反向代理服务器可包括第一服务器和第二服务器,所述第二服务器被配置用于从本地联邦学习框架接收所述第二数据包,所述第一服务器被配置用于从该目标参与方接收第一数据包。具体的,所述第二服务器通过非加密信道从本地联邦学习框架接收所述第二数据包,所述第一服务器通过加密信道从该目标参与方接收第一数据包,从而便于实现本公开实施例中的数据传输方案。
作为一个示性,反向代理服务器的实现方式可以为:反向代理服务器定义两个端口8443和443,其中,本地联邦学习框架的第二数据包发送至端口8443,目标参与方的第一数据包发送至端口443。也就是,反向代理服务器通过监听端口8443来接收从本地联邦学习框架所发送的第二数据包,而通过监听端口443来接收从目标参与方所发送的第一数据包。其中,监听端口8443不开启信道加密,监听端口443开启信道加密。
根据一些实施例,该参与方可通过多个所述反向代理服务器接收数据和/或发送数据。由于联邦学习框架可以通过非加密信道与多方进行通信连接,因此,能够在不对联邦学习框架的架构进行改动的前提下,实现该参与方的本地联邦学习框架通过多个非加密信道分别与多个所述反向代理服务器通信连接,并通过反向代理服务器实现与多个目标参与方的加密通信。同时,通过配置多个所述反向代理服务器能够提升数据吞吐量,提高数据传输效率。
该参与方可通过多个所述反向代理服务器接收数据和发送数据可以包括:该参与方可通过多个所述反向代理服务器从目标参与方接收数据和向目标参与方发送数据,以及该参与方可通过多个所述反向代理服务器从本地联邦学习框架接收数据和向本地联邦学习框架发送数据。
根据一些实施例,可以从本地联邦学习框架接收待接收所述第二数据包的该目标参与方的目标标识信息,并且配置所述反向代理服务器还存储有所述多个目标参与方的标识信息和地址之间的映射关系。反向代理服务器基于所述目标标识信息,查询待接收所述第二数据包的该目标参与方的地址,并基于相应的地址将第二数据包发送至待接收所述第二数据包的该目标参与方。通过在反向代理服务器配置多个目标参与方的标识信息和地址之间的映射关系,能够方便快捷地查询到待接收第二数据包的该目标参与方的地址,提升数据传输效率。
示例性的,所述目标标识信息例如可以为该目标参与方的域名。域名又称网域,是由一串用点分隔的名字组成的互联网上某一计算机或其它设备名称,用于在数据传输时计算机或其它设备的定位标识。由于IP地址具有不方便记忆并且不能显示地址组织的名称和性质等缺点,通过域名,并通过网域名称系统(DNS,Domain Name System)来将域名和IP地址相互映射,更方便互联网通信,而不用去记住能够被机器直接读取的IP地址数串。
可以理解的,所述目标标识信息也可以为其它预设的唯一标识。
根据一些实施例,可以通过以下其中一种方式从本地联邦学习框架接收待接收所述第二数据包的该目标参与方的目标标识信息:从本地联邦学习框架接收包括所述第二数据包的封装包,其中,所述封装包的头部包括所述目标标识信息;从本地联邦学习框架接收具有所述目标标识信息的字段的所述第二数据包;以及从本地联邦学习框架接收相关联的所述第二数据包和所述目标标识信息。
上述第一种方式中,目标标识信息是第二数据包的外部封装,反向代理服务器接收到封装包之后,通过对封装包进行解封装,以获得目标标识信息,在基于目标标识信息查询到待接收第二数据包的目标参与方的地址之后,并且基于相应的地址仅将第二数据包转发至该目标参与方。
上述第二种方式中,反向代理服务器接收到第二数据包之后,通过对第二数据包进行解析,以获得目标标识信息,在基于目标标识信息查询到待接收第二数据包的目标参与方的地址之后,并且基于相应的地址将具有所述目标标识信息的字段的第二数据包转发至该目标参与方。
上述第三种方式中,反向代理服务器可以直接获得目标标识消息,而不需要进行任何处理(比如解封装或解析),仅是基于所接收的目标标识消息,查询待接收与该目标标识消息相关联的第二数据包的目标参与方的地址,并基于相应的地址仅将第二数据包转发至该目标参与方。在一些实施例中,可以通过队列来实现第二数据包和目标标识信息相关联,示例性,本地联邦学习框架在发送第二数据包之前,可以先发送目标标识信息,相应地,反向代理服务器将确定在先接收到的目标标识信息和在后接收的第二数据包相关联,即基于在先接收到的目标标识信息查询在后接收的第二数据包将发送至的目标参与方的地址。可以理解的,也可以通过其它数据结构来实现第二数据包和目标标识信息相关联,在此不作限定。
在上述第三种方式中反向代理服务器仅起到转发数据的作用,能够简化反向代理服务器的配置。而上述第一种方式中和上述第二种方式中反向代理服务器不仅要转发数据,还要对数据进行处理,由此能够简化联邦学习框架的配置。
在一个示例性实施例中,以一个参与方与一个目标参与方之间的数据传输为例,基于联邦学习的数据传输的具体过程为:
该参与方响应于接收到该目标参与方的连接请求,向该目标参与方发送服务端证书信息;
该目标参与方基于本地所存储的该参与方的服务端证书信息,对所接收的服务端证书信息进行认证;
该目标参与方响应于对所接收的所述服务端证书信息认证通过,向该参与方发送客户端证书信息;
该参与方基于所存储的该目标参与方的客户端证书信息,对所接收的该目标参与方的客户端证书信息进行认证;
响应于认证结果指示所述客户端证书信息认证通过,确定与该目标参与方之间的证书信息认证通过;
响应于该参与方与该目标参与方之间的证书信息认证通过,获取该参与方与该目标参与方之间的协商密钥;
该参与方与该目标参与方使用协商密钥进行加密通信,包括:
该目标参与方通过协商密钥对第一数据包进行加密,并将加密后的第一数据包发送至该参与方;
该参与方使用协商密钥对所接收的加密后的第一数据包进行解密,得到第一数据包;以及
将第一数据包发送至该参与方的本地联邦学习框架,和/或
该参与方使用协商密钥对从本地联邦学习框架所接收的第二数据包进行加密,并将加密后的第二数据包发送至该目标参与方;
该目标参与方使用协商密钥对所接收的加密后的第二数据包进行解密,得到第二数据包;以及
将第二数据包发送至该目标参与方的联邦学习框架。
其中,该参与方通过反向代理服务器与该目标参与方进行数据传输,由于本地联邦学习框架所发送的第二数据包是经过信道加密发送至目标参与方,因此,该参与方的本地联邦学习框架可以将未加密的第二数据包发送至反向代理服务器,由反向代理服务器进行信道加密并转发至待接收的目标参与方。
需要说明的,上述仅是以一个参与方和与该参与方通信连接的一个目标参与方之间的数据传输为例,来具体描述本公开实施例中的数据传输方法,可以理解的,该参与方可以同时和与该参与方通信连接的多个目标参与方之间进行数据传输,与每一目标参与方之间的数据传输过程与上述相同或类似。本文中的多个可以是指两个及两个以上。如上所述,联邦学习框架的其中一个参与方支持通过非加密的网络信道与其他一个或多个参与方同时通信连接,而联邦学习框架的其中一个参与方只支持通过加密的网络信道与另一个参与方通信连接。本公开实施例中的方案通过配置支持多个证书的反向代理服务器,来实现联邦学习在网络数据传输过程中的网络信道加密,从而能够实现在不改动联邦学习框架的前提下,使得一个参与方能够同时连接多个使用证书加解密的参与方,进而能够根据需求灵活配置联邦学习的多个参与方进行数据传输而不需要依赖交换节点或转发节点,提升数据传输的安全性和可靠性。
根据本公开的另一方面,还提供一种联邦学习方法,适用于一个参与方与多个目标参与方通信连接,其特征在于,所述一个参与方包括本地联邦学习框架和反向代理服务器,并且所述反向代理服务器存储有所述多个目标参与方的地址,所述联邦学习方法包括:所述一个参与方利用上述的数据传输方法与任一目标参与方之间进行数据交互,以从该目标参与方接收第一数据包和/或将第二数据包发送至该目标参与方。
根据一些实施例,所述反向代理服务器还存储有所述多个目标参与方的标识信息和地址之间的映射关系,并且所述反向代理服务器从本地联邦学习框架接收待接收所述第二数据包的该目标参与方的目标标识信息,并且基于所述目标标识信息,查询待接收所述第二数据包的该目标参与方的地址,具体的实现方式可以参见上面内容。
本公开实施例中的联邦学习方法可以适用于通过点对点网络互联的多个参与方,也可以适用于通过星型网络互联的多个参与方以及通过环形网络互联的多个参与方。只是针对星型网络和环形网络,对于任一参与方,仅有一个目标参与方与该参与方通信连接。
参见图5,根据一些实施例,一个参与方501、502、503或504与多个目标参与方之间通过点对点网络通信连接,例如,参与方501与多个目标参与方502、503或504通信连接。在这种情况下,每一目标参与方均包括联邦学习框架和反向代理服务器,并且每一目标参与方的反向代理服务器均存储有所述点对点网络中所有其它参与方的地址。通过在每一目标参与方配置反向代理服务器,使得每一目标参与方均能够和与该目标参与方通信连接的多个参与方进行加密通信,具体的实现与上面内容中介绍的内容相同,不再详述。
进一步地,在一些实施例中,每一目标参与方的反向代理服务器存储有所述点对点网络中所有其它参与方的标识信息和地址之间的映射关系。
进一步地,在一些实施例中,所述点对点网络中每一参与方的反向代理服务器存储有该参与方的证书信息,以及所有其它参与方的地址和证书信息之间的映射关系,并且所述每一参与方的证书信息为通过自签名方式而生成。
在另一些实施例中,所述点对点网络中每一参与方的反向代理服务器存储有该参与方的自签名根证书和证书信息,以及所有其它参与方的地址和自签名根证书之间的映射关系,并且所述每一参与方的证书信息为基于相应的自签名根证书而生成。
在另一些实施例中,所述点对点网络中每一参与方的反向代理服务器存储有CA根证书和该参与方的证书信息,并且所述每一参与方的证书信息为基于所述CA根证书而生成。
上述给出了点对点网络中各参与方的证书信息的多种生成方式,具体的生成原理以及相应认证的方法可参见上面内容,不再详述。
下面以一个参与方和一个目标参与方为例,来介绍本公开实施例中的数据传输方法在点对点网络中的具体应用过程。
如图6所示,该过程包括:
该参与方的本地联邦学习框架向反向代理服务器发送未加密的第二数据包以及待接收的目标参与方的目标域名;
该参与方的反向代理服务器基于目标域名查询待接收第二数据包的目标参与方的地址,并基于该地址向该目标参与方发起连接请求;
该目标参与方响应于接收到该参与方的连接请求,向该参与方发送客户端证书信息;
该参与方基于本地所存储的该目标参与方的客户端证书信息,对所接收的客户端证书信息进行认证;
响应于对所接收的所述客户端证书信息认证通过,获取该参与方与该目标参与方之间的协商密钥;
该参与方使用协商密钥对从本地联邦学习框架所接收的第二数据包进行加密,并将加密后的第二数据包发送至该目标参与方;
该目标参与方使用协商密钥对所接收的加密后的第二数据包进行解密,得到第二数据包;以及
将解密后的第二数据包发送至该目标参与方的联邦学习框架。
上述过程中的证书认证采用为单向认证的方式,可以理解的,也可以采用双向认证的方式。
根据本公开的另一方面,还提供一种基于联邦学习的数据传输装置,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接。
如图7所示,所述数据传输装置700包括反向代理服务器701,所述数据传输装置被配置用于响应于与任一目标参与方之间的证书信息认证通过,通过反向代理服务器701从该目标参与方接收数据和/或向该目标参与方发送数据,所述反向代理服务器701存储有所述多个目标参与方的地址。
其中,所述反向代理服务器701包括接收单元7011和发送单元7012,所述接收单元包括:第一接收模块70111,被配置用于从该目标参与方接收第一数据包;解密模块70112,被配置用于对所述第一数据包进行解密;以及第一发送模块70113,被配置用于将解密后的第一数据包发送到本地联邦学习框架,以执行联邦学习任务。
其中,所述发送单元7012包括:第二接收模块70121,被配置用于从本地联邦学习框架接收待发送的第二数据包;查询模块70122,被配置用于查询待接收所述第二数据包的该目标参与方的地址;加密模块70123,被配置用于对所述第二数据包进行加密;以及第二发送模块70124,被配置用于基于该目标参与方的地址,将加密后的第二数据包发送至该目标参与方。
数据传输装置700中反向代理服务器701的单元7011和7012的操作与前面描述的步骤S310和步骤S320的操作类似,在此不作赘述。数据传输装置700还可包括执行上述方法中每一步骤的单元。
根据本公开的另一方面,还提供一种联邦学习装置,适用于一个参与方与多个目标参与方通信连接,所述一个参与方包括本地联邦学习框架和反向代理服务器并且所述反向代理服务存储有所述多个目标参与方的地址。所述联邦学习装置包括:上述的数据传输装置,所述一个参与方被配置用于利用所述数据传输装置与任一目标参与方之间进行数据交互,以从该目标参与方接收第一数据包和/或将第二数据包发送至该目标参与方。
根据本公开的另一方面,还提供一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
根据本公开的另一方面,还提供一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述的方法。
参见图8,现将描述电子设备800,其是可以应用于本公开的各方面的硬件设备(电子设备)的示例。电子设备800可以是被配置为执行处理和/或计算的任何机器,可以是但不限于工作站、服务器、台式计算机、膝上型计算机、平板计算机、个人数字助理、机器人、智能电话、车载计算机或其任何组合。上述数据传输方法可以全部或至少部分地由电子设备800或类似设备或系统实现。
电子设备800可以包括(可能经由一个或多个接口)与总线802连接或与总线802通信的元件。例如,电子设备800可以包括总线802、一个或多个处理器804、一个或多个输入设备806以及一个或多个输出设备808。一个或多个处理器804可以是任何类型的处理器,并且可以包括但不限于一个或多个通用处理器和/或一个或多个专用处理器(例如特殊处理芯片)。输入设备806可以是能向电子设备800输入信息的任何类型的设备,并且可以包括但不限于鼠标、键盘、触摸屏、麦克风和/或遥控器。输出设备808可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。电子设备800还可以包括非暂时性存储设备810,非暂时性存储设备可以是非暂时性的并且可以实现数据存储的任何存储设备,包括但不限于磁盘驱动器、光学存储设备、固态存储器、软盘、柔性盘、硬盘、磁带或任何其他磁介质,光盘或任何其他光学介质、ROM(只读存储器)、RAM(随机存取存储器)、高速缓冲存储器和/或任何其他存储器芯片或盒、和/或计算机可从其读取数据、指令和/或代码的任何其他介质。非暂时性存储设备810可以从接口拆卸。非暂时性存储设备810可以具有用于实现上述方法和步骤的数据/程序(包括指令)/代码。电子设备800还可以包括通信设备812。通信设备812可以是使得能够与外部设备和/或与网络通信的任何类型的设备或系统,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组,例如蓝牙TM设备、802.11设备、Wi-Fi设备、WiMAX设备、蜂窝通信设备和/或类似物。
电子设备800还可以包括工作存储器814,其可以是可以存储对处理器804的工作有用的程序(包括指令)和/或数据的任何类型的工作存储器,并且可以包括但不限于随机存取存储器和/或只读存储器设备。
软件要素(程序)可以位于工作存储器814中,包括但不限于操作系统816、一个或多个应用程序818、驱动程序和/或其他数据和代码。用于执行上述方法和步骤的指令可以被包括在一个或多个应用程序818中,并且上述数据传输方法可以通过由处理器804读取和执行一个或多个应用程序818的指令来实现。更具体地,上述数据传输方法中,步骤S310和S320可以例如通过处理器804分别执行具有步骤S311-S313以及步骤S321-S324的指令的应用程序818而实现。此外,上述数据传输方法中的其它步骤可以例如通过处理器804执行具有执行相应步骤中的指令的应用程序818而实现。软件要素(程序)的指令的可执行代码或源代码可以存储在非暂时性计算机可读存储介质(例如上述存储设备810)中,并且在执行时可以被存入工作存储器814中(可能被编译和/或安装)。软件要素(程序)的指令的可执行代码或源代码也可以从远程位置下载。
还应该理解,可以根据具体要求而进行各种变型。例如,也可以使用定制硬件,和/或可以用硬件、软件、固件、中间件、微代码,硬件描述语言或其任何组合来实现特定元件。例如,所公开的方法和设备中的一些或全部可以通过使用根据本公开的逻辑和算法,用汇编语言或硬件编程语言(诸如VERILOG,VHDL,C ++)对硬件(例如,包括现场可编程门阵列(FPGA)和/或可编程逻辑阵列(PLA)的可编程逻辑电路)进行编程来实现。
还应该理解,前述方法可以通过服务器-客户端模式来实现。例如,客户端可以接收用户输入的数据并将所述数据发送到服务器。客户端也可以接收用户输入的数据,进行前述方法中的一部分处理,并将处理所得到的数据发送到服务器。服务器可以接收来自客户端的数据,并且执行前述方法或前述方法中的另一部分,并将执行结果返回给客户端。客户端可以从服务器接收到方法的执行结果,并例如可以通过输出设备呈现给用户。
还应该理解,电子设备800的组件可以分布在网络上。例如,可以使用一个处理器执行一些处理,而同时可以由远离该一个处理器的另一个处理器执行其他处理。电子设备800的其他组件也可以类似地分布。这样,电子设备800可以被解释为在多个位置执行处理的分布式计算系统。
虽然已经参照附图描述了本公开的实施例或示例,但应理解,上述的方法、系统和设备仅仅是示例性的实施例或示例,本发明的范围并不由这些实施例或示例限制,而是仅由授权后的权利要求书及其等同范围来限定。实施例或示例中的各种要素可以被省略或者可由其等同要素替代。此外,可以通过不同于本公开中描述的次序来执行各步骤。进一步地,可以以各种方式组合实施例或示例中的各种要素。重要的是随着技术的演进,在此描述的很多要素可以由本公开之后出现的等同要素进行替换。
Claims (21)
1.一种基于联邦学习的数据传输方法,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,其特征在于,所述数据传输方法包括:
响应于与任一目标参与方之间的证书信息认证通过,通过反向代理服务器从该目标参与方接收数据和/或向该目标参与方发送数据,所述反向代理服务器存储有所述多个目标参与方的地址,
其中,通过反向代理服务器从该目标参与方接收数据包括:
从该目标参与方接收第一数据包;
对所述第一数据包进行解密;以及
将解密后的第一数据包发送到本地联邦学习框架,以执行联邦学习任务,
其中,通过反向代理服务器向该目标参与方发送数据包括:
从本地联邦学习框架接收待发送的第二数据包;
查询待接收所述第二数据包的该目标参与方的地址;
对所述第二数据包进行加密;以及
基于该目标参与方的地址,将加密后的第二数据包发送至该目标参与方,
其中,所述反向代理服务器存储有该参与方的服务端证书信息,以及所述多个目标参与方的地址和客户端证书信息之间的映射关系,并且所述服务端证书信息和客户端证书信息为通过自签名方式而生成,或
所述反向代理服务器存储有该参与方的第一自签名根证书和服务端证书信息,以及所述多个目标参与方的地址和第二自签名根证书之间的映射关系,并且所述服务端证书信息为基于第一自签名根证书而生成,每一目标参与方的客户端证书信息为基于相应的第二自签名根证书而生成。
2.根据权利要求1所述的方法,其特征在于,本地联邦学习框架通过非加密信道与所述反向代理服务器通信连接,所述反向代理服务器通过加密信道与所述多个目标参与方分别通信连接。
3.根据权利要求2所述的方法,其特征在于,所述反向代理服务器包括第一服务器和第二服务器,所述第二服务器被配置用于从本地联邦学习框架接收所述第二数据包,所述第一服务器被配置用于从该目标参与方接收第一数据包。
4.根据权利要求1所述的方法,其特征在于,所述反向代理服务器还存储有所述多个目标参与方的标识信息和地址之间的映射关系,并且从本地联邦学习框架接收待接收所述第二数据包的该目标参与方的目标标识信息,
其中,基于所述目标标识信息,查询待接收所述第二数据包的该目标参与方的地址。
5.根据权利要求4所述的方法,其特征在于,通过以下其中一种方式从本地联邦学习框架接收待接收所述第二数据包的该目标参与方的目标标识信息:
从本地联邦学习框架接收包括所述第二数据包的封装包,其中,所述封装包的头部包括所述目标标识信息;
从本地联邦学习框架接收具有所述目标标识信息的字段的所述第二数据包;以及
从本地联邦学习框架接收相关联的所述第二数据包和所述目标标识信息。
6.根据权利要求4所述的方法,其特征在于,所述目标标识信息为所述目标参与方的域名。
7.根据权利要求1所述的方法,其特征在于,通过多个所述反向代理服务器接收数据和/或发送数据。
8.根据权利要求1-7中任一项所述的方法,其特征在于,还包括:
响应于与任一目标参与方之间的证书信息认证通过,获取与该目标参与方之间的协商密钥,
其中,基于所述协商密钥,对所述第一数据包进行解密,并且基于所述协商密钥,对所述第二数据包进行加密。
9.根据权利要求1所述的方法,其特征在于,与任一目标参与方之间的证书信息认证过程包括:
响应于接收到该目标参与方的连接请求,向该目标参与方发送服务端证书信息;
从该目标参与方接收客户端证书信息,其中,所述客户端证书信息为响应于该目标参与方对所述服务端证书信息认证通过而发送的;
基于所存储的该目标参与方的客户端证书信息,对所接收的该目标参与方的客户端证书信息进行认证;以及
响应于认证结果指示所述客户端证书信息认证通过,确定与该目标参与方之间的证书信息认证通过。
10.根据权利要求1-7中任一项所述的方法,其特征在于,所述证书信息为传输层安全性协议证书。
11.根据权利要求1-7中任一项所述的方法,其特征在于,所述反向代理服务器为基于nginx、openresty或ingress。
12.一种联邦学习方法,适用于一个参与方与多个目标参与方通信连接,其特征在于,所述一个参与方包括本地联邦学习框架和反向代理服务器,并且所述反向代理服务器存储有所述多个目标参与方的地址,所述联邦学习方法包括:
所述一个参与方利用权利要求1-11中任一项所述的数据传输方法与任一目标参与方之间进行数据交互,以从该目标参与方接收第一数据包和/或将第二数据包发送至该目标参与方。
13.根据权利要求12所述的方法,其中,所述反向代理服务器还存储有所述多个目标参与方的标识信息和地址之间的映射关系,并且所述反向代理服务器从本地联邦学习框架接收待接收所述第二数据包的该目标参与方的目标标识信息,并且基于所述目标标识信息,查询待接收所述第二数据包的该目标参与方的地址。
14.根据权利要求12或13所述的方法,其特征在于,所述一个参与方与所述多个目标参与方之间通过点对点网络通信连接,每一目标参与方均包括联邦学习框架和反向代理服务器,并且每一目标参与方的反向代理服务器均存储有所述点对点网络中所有其它参与方的地址。
15.根据权利要求14所述的方法,其特征在于,每一目标参与方的反向代理服务器存储有所述点对点网络中所有其它参与方的标识信息和地址之间的映射关系。
16.根据权利要求14所述的方法,其特征在于,所述点对点网络中每一参与方的反向代理服务器存储有该参与方的证书信息,以及所有其它参与方的地址和证书信息之间的映射关系,并且所述每一参与方的证书信息为通过自签名方式而生成。
17.根据权利要求14所述的方法,其特征在于,所述点对点网络中每一参与方的反向代理服务器存储有该参与方的自签名根证书和证书信息,以及所有其它参与方的地址和自签名根证书之间的映射关系,并且所述每一参与方的证书信息为基于相应的自签名根证书而生成。
18.一种基于联邦学习的数据传输装置,应用于联邦学习任务中任一参与方,该参与方与联邦学习任务中的多个目标参与方通信连接,其特征在于,所述数据传输装置包括反向代理服务器,所述数据传输装置被配置用于响应于与任一目标参与方之间的证书信息认证通过,通过反向代理服务器从该目标参与方接收数据和/或向该目标参与方发送数据,所述反向代理服务器存储有所述多个目标参与方的地址,
其中,所述反向代理服务器包括接收单元和发送单元,所述接收单元包括:
第一接收模块,被配置用于从该目标参与方接收第一数据包;
解密模块,被配置用于对所述第一数据包进行解密;以及
第一发送模块,被配置用于将解密后的第一数据包发送到本地联邦学习框架,以执行联邦学习任务,
其中,所述发送单元包括:
第二接收模块,被配置用于从本地联邦学习框架接收待发送的第二数据包;
查询模块,被配置用于查询待接收所述第二数据包的该目标参与方的地址;
加密模块,被配置用于对所述第二数据包进行加密;以及
第二发送模块,被配置用于基于该目标参与方的地址,将加密后的第二数据包发送至该目标参与方,
其中,所述反向代理服务器存储有该参与方的服务端证书信息,以及所述多个目标参与方的地址和客户端证书信息之间的映射关系,并且所述服务端证书信息和客户端证书信息为通过自签名方式而生成,或
所述反向代理服务器存储有该参与方的第一自签名根证书和服务端证书信息,以及所述多个目标参与方的地址和第二自签名根证书之间的映射关系,并且所述服务端证书信息为基于第一自签名根证书而生成,每一目标参与方的客户端证书信息为基于相应的第二自签名根证书而生成。
19.一种联邦学习装置,适用于一个参与方与多个目标参与方通信连接,其特征在于,所述一个参与方包括本地联邦学习框架和反向代理服务器并且所述反向代理服务存储有所述多个目标参与方的地址,所述联邦学习装置包括:
权利要求18所述的数据传输装置,所述一个参与方被配置用于利用所述数据传输装置与任一目标参与方之间进行数据交互,以从该目标参与方接收第一数据包和/或将第二数据包发送至该目标参与方。
20.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-17中任一项所述的方法。
21.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求1-17中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210142452.8A CN114186213B (zh) | 2022-02-16 | 2022-02-16 | 基于联邦学习的数据传输方法及装置、设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210142452.8A CN114186213B (zh) | 2022-02-16 | 2022-02-16 | 基于联邦学习的数据传输方法及装置、设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114186213A CN114186213A (zh) | 2022-03-15 |
CN114186213B true CN114186213B (zh) | 2022-07-05 |
Family
ID=80607078
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210142452.8A Active CN114186213B (zh) | 2022-02-16 | 2022-02-16 | 基于联邦学习的数据传输方法及装置、设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114186213B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114925072B (zh) * | 2022-06-13 | 2023-07-21 | 深圳致星科技有限公司 | 数据管理方法、装置、系统、设备、介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611610A (zh) * | 2020-04-12 | 2020-09-01 | 西安电子科技大学 | 联邦学习信息处理方法、系统、存储介质、程序、终端 |
CN112636989A (zh) * | 2020-12-31 | 2021-04-09 | 中国农业银行股份有限公司 | 一种联邦学习通信方法及装置 |
CN113541960A (zh) * | 2021-07-13 | 2021-10-22 | 建信金融科技有限责任公司 | 一种基于联邦学习的网络认证方法及装置 |
CN113645197A (zh) * | 2021-07-20 | 2021-11-12 | 华中科技大学 | 一种去中心化的联邦学习方法、装置及系统 |
CN113923167A (zh) * | 2021-09-16 | 2022-01-11 | 深圳致星科技有限公司 | 联邦学习中数据传输优化方法 |
CN113973125A (zh) * | 2021-10-26 | 2022-01-25 | 杭州博盾习言科技有限公司 | 联邦学习中的通信方法及装置、电子设备、存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060005237A1 (en) * | 2003-01-30 | 2006-01-05 | Hiroshi Kobata | Securing computer network communication using a proxy server |
US20210406782A1 (en) * | 2020-06-30 | 2021-12-30 | TieSet, Inc. | System and method for decentralized federated learning |
CN111552986B (zh) * | 2020-07-10 | 2020-11-13 | 鹏城实验室 | 基于区块链的联邦建模方法、装置、设备及存储介质 |
-
2022
- 2022-02-16 CN CN202210142452.8A patent/CN114186213B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111611610A (zh) * | 2020-04-12 | 2020-09-01 | 西安电子科技大学 | 联邦学习信息处理方法、系统、存储介质、程序、终端 |
CN112636989A (zh) * | 2020-12-31 | 2021-04-09 | 中国农业银行股份有限公司 | 一种联邦学习通信方法及装置 |
CN113541960A (zh) * | 2021-07-13 | 2021-10-22 | 建信金融科技有限责任公司 | 一种基于联邦学习的网络认证方法及装置 |
CN113645197A (zh) * | 2021-07-20 | 2021-11-12 | 华中科技大学 | 一种去中心化的联邦学习方法、装置及系统 |
CN113923167A (zh) * | 2021-09-16 | 2022-01-11 | 深圳致星科技有限公司 | 联邦学习中数据传输优化方法 |
CN113973125A (zh) * | 2021-10-26 | 2022-01-25 | 杭州博盾习言科技有限公司 | 联邦学习中的通信方法及装置、电子设备、存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114186213A (zh) | 2022-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11108748B2 (en) | Systems and methods for secure multi-party communications using a proxy | |
JP2020080530A (ja) | データ処理方法、装置、端末及びアクセスポイントコンピュータ | |
US8788805B2 (en) | Application-level service access to encrypted data streams | |
US11303431B2 (en) | Method and system for performing SSL handshake | |
US20040161110A1 (en) | Server apparatus, key management apparatus, and encrypted communication method | |
Braeken et al. | Anonymous lightweight proxy based key agreement for IoT (ALPKA) | |
CN112787806A (zh) | 一种基于ibe的工业互联网终端通用安全服务系统 | |
CN103716280B (zh) | 数据传输方法、服务器及系统 | |
CN114186213B (zh) | 基于联邦学习的数据传输方法及装置、设备和介质 | |
US10158610B2 (en) | Secure application communication system | |
CN113472668B (zh) | 多方安全计算中的路由方法和系统 | |
WO2016134631A1 (zh) | 一种OpenFlow报文的处理方法及网元 | |
US10931662B1 (en) | Methods for ephemeral authentication screening and devices thereof | |
EP3220604B1 (en) | Methods for client certificate delegation and devices thereof | |
JP4190521B2 (ja) | マルチプロトコルアドレス登録方法、マルチプロトコルアドレス登録システム、マルチプロトコルアドレス登録サーバおよびマルチプロトコルアドレス通信端末 | |
CN117353932A (zh) | 一种基于p2p的跨平台剪贴数据共享方法 | |
Maffina et al. | An improved and efficient message passing interface for secure communication on distributed clusters | |
Hsu et al. | The design and implementation of a lightweight CoAP-based IoT framework with smart contract security guarantee | |
US11611541B2 (en) | Secure method to replicate on-premise secrets in a cloud environment | |
Lu et al. | Distributed Ledger Technology Based Architecture for Decentralized Device-to-Device Communication Network | |
Jain | “Sec-KeyD” an efficient key distribution protocol for critical infrastructures | |
CN114051031B (zh) | 基于分布式身份的加密通讯方法、系统、设备及存储介质 | |
Andersen | Adopting Device Communities for Modern Android Systems | |
WO2016141513A1 (zh) | 业务处理方法及装置 | |
WO2023024540A1 (zh) | 处理报文、获取sa信息的方法、装置、系统及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |