CN116915418A - 基于集群化部署的udp代理方法、装置以及设备 - Google Patents

基于集群化部署的udp代理方法、装置以及设备 Download PDF

Info

Publication number
CN116915418A
CN116915418A CN202211369414.2A CN202211369414A CN116915418A CN 116915418 A CN116915418 A CN 116915418A CN 202211369414 A CN202211369414 A CN 202211369414A CN 116915418 A CN116915418 A CN 116915418A
Authority
CN
China
Prior art keywords
client
identification information
udp
authentication
information
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.)
Pending
Application number
CN202211369414.2A
Other languages
English (en)
Inventor
韩文
吴焕政
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile Hangzhou Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd, China Mobile Hangzhou Information Technology Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202211369414.2A priority Critical patent/CN116915418A/zh
Publication of CN116915418A publication Critical patent/CN116915418A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/164Adaptation or special uses of UDP protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于集群化部署的UDP代理方法、装置以及设备,应用于服务端,所述方法包括:接收来自客户端的UDP代理请求,响应于UDP代理请求,向客户端发送UDP代理应答;基于UDP代理应答,接收来自客户端发送的UDP数据报文,UDP数据报文包括客户端的加密认证信息,加密认证信息为对客户端的标识信息进行加密得到的,UDP数据报文采用socks5协议中UDP数据包的封装格式;对加密认证信息进行解密,得到客户端的标识信息;基于客户端的标识信息进行鉴权认证,完成UDP数据报文中业务数据的传输。通过本方案,能够提高UDP代理的安全性。

Description

基于集群化部署的UDP代理方法、装置以及设备
技术领域
本发明涉及计算机技术领域,涉及但不限于基于集群化部署的UDP代理方法、装置以及设备。
背景技术
Socks5代理服务器在基于UDP协议进行通讯的客户端和业务端之间扮演一个中介角色,使得客户端的能够安全的访问业务端。针对云端集群化部署的Socks5代理服务器集群,包括负载均衡器以及多个代理服务器,首先,客户端与TCP代理服务器实现安全代理认证连接,然后,负载均衡器利用调度算法将流量合理分配到UDP代理服务器,最后,客户端基于UDP代理服务器实现与业务端的交互。但是,由于TCP代理服务器与UDP代理服务器之间相互独立,导致UDP代理服务器获取不到TCP代理服务器的鉴权认证信息,因此UDP代理服务器不能确定客户端的合法性,进而影响了UDP代理的安全性。
发明内容
本发明实施例提供一种基于集群化部署的UDP代理方法、装置及设备,能够提高UDP代理的安全性。
本发明实施例的技术方案是这样实现的:
根据本发明实施例的一个方面,提供一种基于集群化部署的用户数据协议UDP代理方法,应用于服务端,包括:接收来自客户端的UDP代理请求,响应于所述UDP代理请求,向所述客户端发送UDP代理应答;基于所述UDP代理应答,接收来自所述客户端发送的UDP数据报文,所述UDP数据报文包括所述客户端的加密认证信息,所述加密认证信息为对所述客户端的标识信息进行加密得到的,所述UDP数据报文采用socks5协议中UDP数据包的封装格式;对所述加密认证信息进行解密,得到所述客户端的标识信息;基于所述客户端的标识信息进行鉴权认证,完成所述UDP数据报文中业务数据的传输。
根据本发明实施例的一个方面,提供一种基于集群化部署的用户数据协议UDP代理方法,应用于客户端,包括:向服务端发送UDP代理请求;接收所述服务端响应于所述UDP代理请求发送的UDP代理应答;将自身的标识信息进行加密,得到所述客户端的加密认证信息;基于所述UDP代理应答,将所述加密认证信息携带在UDP数据报文发送给所述服务端,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式。
根据本发明实施例的一个方面,提供一种服务端,包括:第一接收单元、第一发送单元、解密单元以及鉴权单元;其中,所述第一接收单元,用于接收来自客户端的UDP代理请求;所述第一发送单元,用于响应于所述UDP代理请求,向所述客户端发送UDP代理应答;所述第一接收单元,还用于基于所述UDP代理应答,接收来自所述客户端发送的UDP数据报文,所述UDP数据报文包括所述客户端的加密认证信息,所述加密认证信息为对所述客户端的标识信息进行加密得到的,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式;所述解密单元,用于对所述加密认证信息进行解密,得到所述客户端的标识信息;所述鉴权单元,用于基于所述客户端的标识信息进行鉴权认证,完成所述UDP数据报文中业务数据的传输。
根据本发明实施例的一个方面,提供一种客户端,包括:第二接收单元、第二发送单元以及加密单元;其中,所述第二发送单元,用于向服务端发送UDP代理请求;所述第二接收单元,用于接收所述服务端响应于所述UDP代理请求发送的UDP代理应答;所述加密单元,用于将自身的标识信息进行加密,得到所述客户端的加密认证信息;所述第二发送单元,还用于基于所述UDP代理应答,将所述加密认证信息携带在UDP数据报文发送给所述服务端,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式。
根据本发明实施例的一个方面,提供一种业务端,包括:第三接收单元以及第三发送单元;其中,所述第三接收单元用于接收所述服务端发送的业务报文;所述第三发送单元用于基于所述业务报文,向所述服务端发送业务报文回包。
根据本发明实施例的一个方面,提供一种集群化部署的UDP代理设备,包括存储器以及处理器;其中,所述存储器,用于存储可执行指令;所述处理器,用于执行所述存储器中存储的可执行指令时,实现执行如本发明实施例所述的方法。
根据本发明实施例的一个方面,提供一种服务端,包括第一存储器和第一处理器;其中,第一存储器,用于存储可执行指令;第一处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例服务端侧所述的方法。
根据本发明实施例的一个方面,提供一种客户端,包括第二存储器和第二处理器;其中,第二存储器,用于存储可执行指令;第二处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例客户端侧所述的方法。
根据本发明实施例的一个方面,提供一种业务端,包括第三存储器和第三处理器;其中,第三存储器,用于存储可执行指令;第三处理器,用于执行所述存储器中存储的可执行指令时,实现本发明实施例业务端侧所述的方法。
根据本发明实施例的一个方面,提供一种计算机可读存储介质,所述存储介质存储有可执行指令,当所述可执行指令被执行时,用于引起第一处理器执行本发明实施例提供的所述的方法;用于引起第二处理器执行本发明实施例提供的所述的方法;或者,用于引起第三处理器执行本发明实施例提供的所述的方法。
在本发明实施例提供了一种基于集群化部署的用户数据协议UDP代理方法,应用于服务端,包括:接收来自客户端的UDP代理请求,响应于UDP代理请求,向客户端发送UDP代理应答;基于UDP代理应答,接收来自客户端发送的UDP数据报文,UDP数据报文包括客户端的加密认证信息,加密认证信息为对客户端的标识信息进行加密得到的,UDP数据报文采用socks5协议中UDP数据包的封装格式;对加密认证信息进行解密,得到客户端的标识信息;基于客户端的标识信息进行鉴权认证,完成UDP数据报文中业务数据的传输。在该方法中,服务端接收来自客户端发送的UDP数据报文,通过对UDP数据报文中的客户端的加密认证信息进行解密,可以得到客户端的标识信息,这样保证了服务端接收到的UDP数据报文包含了客户端的标识信息,基于客户端的标识信息可以实现会客户端的鉴权认证,进而完成UDP数据报文中业务数据的传输。因此,通过在UDP数据报文添加客户端的标识信息,可以避免原始定义的UDP数据报文无法在云上或者多台物理机的集群化部署环境下两个服务主机无法互通认证的问题,如此,能够有效提高UDP代理的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本发明的实施例,并与说明书一起用于说明本发明的技术方案。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1为本发明实施例提供的一种可能适用的网络架构示意图;
图2为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图一;
图3为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图二;
图4为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图三;
图5为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图四;
图6为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图五;
图7为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图六;
图8为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图七;
图9为本发明实施例提供的一种基于集群化部署的UDP代理方法的流程示意图八;
图10为本发明实施例提供的一种客户端、服务端和业务端的交互示意图;
图11为本发明实施例提供的一种客户端标识信息进行加密的流程示意图;
图12为本发明实施例提供的一种加密认证信息进行解密的流程示意图;
图13为本发明实施例提供的一种服务端的结构示意图一;
图14为本发明实施例提供的一种客户端的结构示意图一;
图15为本发明实施例提供的一种业务端的结构示意图一;
图16为本发明实施例提供的一种服务端的结构示意图二;
图17为本发明实施例提供的一种客户端的结构示意图二;
图18为本发明实施例提供的一种业务端的结构示意图二。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同,本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
在以下的描述中,涉及到“一些实施例”、“本实施例”、“本发明实施例”以及举例等等,其描述了所有可能实施例的子集,但是可以理解“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
如果申请文件中出现“第一/第二”的类似描述则增加以下的说明,在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本发明实施例能够以除了在这里图示或描述的以外的顺序实施。
本发明实施例提供一种集群化部署的UDP代理装置,包括:客户端、服务端以及业务端。其中,客户端以及业务端可以为各种个人计算机、笔记本电脑、智能手机、平板电脑以及便携式可穿戴设备。服务端具有多台服务器,各个服务器之间相互独立,服务端的多台服务器可以分为TCP代理服务器以及UDP代理服务器。
一个完整的UDP代理过程需要TCP/IP协议与UDP协议一起完成,且TCP/IP协议对应的过程与UDP协议对应的过程是串行过程,只有先完成TCP/IP连接过程,才能继续进行UDP代理的数据传输过程。当一个客户端发起基于UDP代理的业务端数据交互时,客户端首先通过TCP的三次握手,建立客户端与TCP代理服务器的Socks5连接,随后TCP代理服务器对客户端的身份信息进行鉴权认证,若鉴权认证通过TCP代理服务器会给客户端分配UDP代理服务器的IP地址与端口,这样TCP代理服务器完成了客户端的鉴权认证与分配UDP代理服务器的两大任务。接下来,客户端根据获得的UDP代理服务器的IP地址与端口,向该IP地址与端口发送UDP数据报文,UDP代理服务器将接收到的UDP数据报文转发至业务端,完后客户端与业务端的数据交互。
基于集群化部署的UDP代理会经历两个阶段,第一个阶段为TCP代理服务器进行安全认证,第二个阶段为UDP代理服务器实现业务数据的转发。针对集群化部署的环境,负载均衡器利用负载均衡原理将TCP代理服务器与UDP代理服务器分配到两个独立的服务器。因此,SOCKS5协议未定义服务器之间鉴权信息同步,在一台服务器上完成的安全鉴权在另外一台服务器并不知道其鉴权是否合法,如此,上述过程给UDP代理带来了安全隐患。如果有个恶意客户端来截获SOCKS5客户端和服务端之间的数据,那么UDP代理服务器的IP地址和端口就会被恶意客户端获取,恶意客户端在拿到UDP代理服务器的IP地址和端口后会恶意公布这个信息,那么任意的客户端即可通过这个信息实现UDP代理转发,从而完全绕开SOCKS5原本定义的TCP鉴权机制。
根据上述分析,UDP代理过程的安全认证完全依赖于TCP代理服务器的正,而UDP代理服务器与客户端的数据交互不再进行任何的鉴权认证和合法性验证,如此,降低了UDP代理的安全性。
图1为本发明实施例提供的一种可能适用的网络架构示意图。如图1所示,本实施例提供的网络架构包括:客户端110、服务端120、业务端130以及负载均衡器140。本发明实施例所涉及到的客户端110可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑以及便携式可穿戴设备。服务端120是多个服务器集群组成的服务器集群来实现的,服务端120可以基于云上进行集群化部署的,服务端120也可以基于多台物理机进行集群化部署的,本实施例对此不作任何限制。如图1所示,服务端120具有多台服务器(图1中以服务器121、服务器122、服务器123、服务器124和服务器125示出),各个服务器之间相互独立。业务端130可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑以及便携式可穿戴设备,业务端130也可以为独立的服务器或者是多个服务器组成的服务器集群,本实施例对此不作任何限制。负载均衡器140用于利用负载均衡原理将流量均衡到服务端120中合适的服务器中,以网络流量的并发压力,增强网络处理能力,减轻单个设备的资源压力,提高网络整体服务性能。
本发明实施例的基于集群化部署的UDP代理方法可以应用第四代移动通信系统(the 4th generation mobile communication system,4G)、第五代移动通信技术(5th-Generation wireless communication technology,5G)新空口(New Radio,NR)系统或未来的通信系统,也可以用于其他各种无线通信系统,例如:窄带物联网(Narrow Band-Internet of Things,NB-IoT)系统、全球移动通讯系统(Global System of MobileCommunication,GSM)、增强型数据速率GSM演进(Enhanced Data rate for GSMEvolution,EDGE)系统、宽带码分多址(Wideband Code Division Multiple Access,WCDMA)系统、码分多址2000(Code Division Multiple Access,CDMA2000)系统、时分同步码分多址(Time Division-Synchronization Code Division Multiple Access,TD-SCDMA)系统、通用分组无线业务(General Packet Radio Service,GPRS)、长期演进(LongTerm Evolution,LTE)系统、LTE频分双工(Frequency Division Duplex,FDD)系统、LTE时分双工(Time Division Duplex,TDD)、通用移动通信系统(Universal MobileTelecommunication System,UMTS)等。
SOCKS5是一种代理协议,在使用TCP/IP协议通讯的前端机器和服务器机器之间扮演一个中介角色,使得内部网中的前端机器变得能够访问Internet网中的服务器,或者使通讯更加安全。以图1为例,服务端120将客户端110发来的请求转发给真正的目标服务器,服务端120模拟了一个前端的行为。在这里,客户端110和服务端120之间通过TCP/IP协议进行通讯,客户端110将原本要发送给真正业务端130的请求发送给服务端120,然后服务端120将请求转发给业务端130。在通常的UDP代理过程中,服务端120首先通过TCP/IP协议实现客户端110的认证鉴权,服务端120在认证鉴权通过之后,将服务端120的IP地址和端口发送至客户端110,客户端110在拿到服务端120的IP地址和端口之后,向服务端120发送UDP数据报文,服务端120基于上述UDP数据报文实现向业务端130的数据转发。
但是,当服务端120部署在云上或者多台服务器集群化的时候,会出现UDP代理安全性的问题。如图1所示,服务端120为云上集群化部署的云主机,服务端120具有多台服务器,各个服务器之间相互独立。在服务端120的前端会部署一个负载均衡器140。用于通过流量均衡原理将流量均衡到合适的服务器中,通过如上述的集群化部署可以实现容量弹性扩容。在这里,服务端120首先通过TCP/IP协议实现客户端110的认证鉴权,服务端120在认证鉴权通过之后,将服务端120中TCP代理服务器的IP地址和端口发送至客户端110,客户端110在拿到TCP代理服务器的IP地址和端口之后,向TCP代理服务器发送UDP数据报文。但是,由于负载均衡器140的负载均衡作用,负载均衡器140将流量均衡到服务端120中的UDP代理服务器中,UDP代理服务器基于上述UDP数据报文实现向业务端130的数据转发。因此,TCP代理服务器与UDP代理服务器未定义鉴权信息的同步,也就是说,TCP代理服务器的鉴权认证在UDP代理服务器中不能确定是否合法,这种鉴权信息不同步的现象就给UDP代理埋下了安全隐患。如果在UDP代理的过程中有一个恶意客户端来截获客户端110与业务端130之间的数据,那么服务端120的IP地址和端口就会被恶意客户端截获,上述恶意客户端在拿到服务端120的IP地址和端口之后就会恶意公布这个信息,那么任意的客户端都可以通过这个信息实现UDP代理转发,从而完全绕开TCP代理服务器的鉴权认证机制,进而影响UDP代理的安全性。
基于此,本发明实施例提供一种基于集群化部署的UDP代理方法,该方法应用于电子设备,该电子设备在实施的过程中可以为各种类型的具有信息处理能力的设备,例如所述电子设备可以包括手机、平板电脑、台式机、笔记本电脑、个人数字助理、导航仪、数字电话、视频电话、电视机或传感设备等。该方法所实现的功能可以通过电子设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该电子设备至少包括处理器和存储介质。
本发明实施例提供一种基于集群化部署的UDP代理方法,如图2所示,应用于服务端120,所述方法包括步骤201至步骤204:
步骤201、接收来自客户端的UDP代理请求,响应于UDP代理请求,向客户端发送UDP代理应答。
在本发明实施例中,服务端中的UDP代理服务器接收来自客户端的UDP代理请求,UDP代理服务器响应于UDP代理请求,向客户端发送UDP代理应答。
在本发明实施例中,服务端与客户端通过TCP(Transmission Control Protocol,TCP)传输控制协议进行通信,TCP协议提供的是面向连接、可靠的字节流服务,当客户端和服务端彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。
在本发明实施例中,UDP代理请求的TCP数据帧格式如表1所示:
表1
IP头:A-B TCP头:a-b Socks报文
其中,A-B表示客户端的IP地址A到服务端的IP地址B,a-b客户端的目标端口a到服务端的目标端口b,Socks报文采用socks5协议中TCP数据包的封装格式。
在本发明实施例中,UDP代理请求中Socks报文的格式如表2所示(单位字节):
表2
VER CMD RSV ATYP DST.PORT DST.PORT
1 1 X’00’ 1 Variable 2
其中,VER(Version)为协议版本号,长度为4比特;CMD为请求内容,RSV(Reserved)为保留字段,基于该保留字段继续扩展,当RSV保留字段的值为0x00时,表示作为保留字段使用,当RSV保留字段的值为0x01,表示UDP报文转TCP报文;ATYP(Address type offollowing address)为代理地址类型,DST.PORT(Desired destination address)为代理目标服务器地址,DST.PORT(Desired destination port in network octet order)为代理目标服务器目标端口。
在本发明实施例中,UDP代理应答的TCP数据帧格式如表3所示:
表3
IP头:B-A TCP头:b-a Socks报文
其中,B-A表示服务端的IP地址B到客户端的IP地址A,b-a表示服务端的目标端口b到客户端的目标端口a,Socks报文采用socks5协议中TCP数据包的封装格式。
在本发明实施例中,UDP代理应答中Socks报文的格式如表4所示(单位字节):
表4
VER REP RSV ATYP BND.PORT BND.PORT
1 1 X’00’ 1 Variable 2
其中,VER(Version)为协议版本号,长度为4比特;REP为响应内容,RSV(Reserved)为保留字段,如果发送请求则RSV保留字段的值为0x01,如果响应请求RSV保留字段的值为0x01,其他情况时RSV保留字段的值为0x00;ATYP(Address type of following address)为代理地址类型,BND.PORT为CMD相关的地址信息,BND.PORT为CMD相关的端口信息。
步骤202、基于UDP代理应答,接收来自客户端发送的UDP数据报文,UDP数据报文包括客户端的加密认证信息,加密认证信息为对客户端的标识信息进行加密得到的,UDP数据报文采用socks5协议中UDP数据包的封装格式。
在本发明实施例中,基于UDP代理应答,服务端中的UDP代理服务器接收来自客户端发送的UDP数据报文,UDP数据报文包括客户端的加密认证信息,加密认证信息为对客户端的标识信息进行加密得到的,UDP数据报文采用socks5协议中UDP数据包的封装格式。
在本发明实施例中,UDP代理服务器与客户端基于UDP(User Datagram Protocol,UDP)用户数据协议进行通讯,UDP是一个面向数据的运输层协议。UDP不提供可靠性,它只是把应用程序传给的数据发送出去,但是并不能保证它们能到达目的地。由于UDP在传输数据报文前不用在客户和服务器之间建立一个连接,且没有超时重发等机制,故而传输速度很快。
在本发明实施例中,UDP代理服务器根据UDP代理应答中携带的地址信息以及端口信息,接收来自客户端发送的UDP数据报文。
在本发明实施例中,客户端将自身的标识信息进行加密得到加密认证信息,进一步的,客户端将加密认证信息加入至原UDP数据帧,得到UDP数据报文。其中,原UDP数据帧的格式如表5所示:
表5
RSV FRAG ATYP DST.ADDR DST.PORT DATA
2 1 1 Variable 2 Variable
其中,RSV为保留字段,其长度为2,该保留字段为全0,X'0000',X代表16进制。FRAG为分片指示(Current fragment number)是否将数据报文进行分段重组的标志,当FRAG为0表示该数据报文是独立的不需要重新组合,其他的表示特定的序列号,以利于UDP报文整合。ATYP(Address type of following address)为代理地址类型,DST.PORT(Desireddestination address)为代理目标服务器地址,DST.PORT(Desired destination port innetwork octet order)为代理目标服务器目标端口。DATA为客户端发送至业务端的业务数据。
在本发明实施例中,UDP数据报文的格式如表6所示:
表6
其中,User auth encrypt info表示加密认证信息,加密认证信息为对客户端的标识信息进行加密得到的,也就是说,加密认证信息包含客户端的标识信息。
在本发明实施例中,客户端的标识信息可以为客户端的用户名、身份证号码、自定义用户标识等,客户端的标识信息还可以包括客户端的自定义的密码信息等,本实施例对客户端的标识信息不做任何限制。
步骤203、对加密认证信息进行解密,得到客户端的标识信息。
在本发明实施例中,服务端中的UDP代理服务器对加密认证信息进行解密,得到客户端的标识信息。
在本发明实施例中,UDP代理服务器基于获取的会话标识信息,对加密认证信息进行解密,得到客户端的标识信息,会话标识信息为客户端发起会话的标识信息。
在本发明实施例中,会话标识信息表示数据传输过程中的一个动态信息,可以理解的是,会话标识信息为网络传输过程中每次都不固定的信息。
步骤204、基于客户端的标识信息进行鉴权认证,完成UDP数据报文中业务数据的传输。
在本发明实施例中,服务端中的UDP代理服务器基于客户端的标识信息进行鉴权认证,若鉴权认证通过,则将UDP数据报文发送至业务端,完成业务数据的传输,若鉴权认证通过,则说明该客户端为恶意客户端,则UDP代理服务器不会将UDP数据报文发送至业务端。
在本发明实施例中,若UDP代理服务器对客户端标识信息的鉴权认证没有通过,可以向指定客户端发出预警信息,便于对恶意客户端进行拦截。
在本发明实施例中,提供了一种基于集群化部署的用户数据协议UDP代理方法,应用于服务端,服务端中UDP代理服务器接收来自客户端发送的UDP数据报文,UDP数据报文包括客户端的加密认证信息,加密认证信息为对客户端的标识信息进行加密得到的,UDP数据报文采用socks5协议中UDP数据包的封装格式;UDP代理服务器对加密认证信息进行解密,得到客户端的标识信息;基于客户端的标识信息进行鉴权认证,进而完成UDP数据报文中业务数据的传输。本发明实施例中,UDP代理服务器接收来自客户端发送的UDP数据报文,通过对UDP数据报文中的客户端的加密认证信息进行解密,可以得到客户端的标识信息,这样保证了UDP代理服务器接收到的UDP数据报文包含了客户端的标识信息,基于客户端的标识信息可以是实现会客户端的鉴权认证,进而完成UDP数据报文中业务数据的传输。因此,通过在UDP数据报文添加客户端的标识信息,可以避免在集群化部署环境下的服务端中两个服务器无法互通认证的问题,如此,能够有效提高UDP代理的安全性。
在本发明实施例中,如图3所示,步骤203包括步骤301至步骤302:
步骤301、基于获取的会话标识信息,对加密认证信息进行一次解密,得到客户端的加密标识信息。
在本发明实施例中,服务端中的UDP代理服务器基于获取的会话标识信息,对加密认证信息进行一次解密,得到客户端的加密标识信息。
在本发明实施例中,服务端中的UDP代理服务器基于获取的会话标识信息,利用二次混合动态加密技术对加密认证信息进行一次解密,得到客户端的所述加密标识信息。
步骤302、对加密标识信息进行二次解密,得到客户端的标识信息。
在本发明实施例中,服务端中的UDP代理服务器对加密标识信息进行二次解密,得到客户端的标识信息。
在本发明实施例中,服务端中的UDP代理服务器根据预设加密技术,对加密标识信息进行二次解密,得到客户端的标识信息。
在本发明实施例中,预设加密技术为服务端与客户端事先约定好的加密技术,本实施例对采用的预设加密技术不做任何限制。
在本发明实施例中,预设加密技术为AES-128(Advanced Encryption Standard,高级加密标准)加密技术。AES-128是一种对称加密算法,采用对称分组密码体制,分组密码算法通常由密钥扩展算法和加密(解密)算法两部分组成。
在本发明实施例中,服务端中的UDP代理服务器基于获取的会话标识信息,对加密认证信息进行一次解密,得到客户端的加密标识信息,对加密标识信息进行二次解密,得到客户端的标识信息。本发明实施例基于获取的会话标识信息,利用二次混合动态加密技术对加密认证信息进行一次解密,得到客户端的加密标识信息,由于会话标识信息是随着传输网络而动态变化的参数,因此,即使恶意客户端截获了加密认证信息也无法反向解密出真正的客户端的标识信息,如此,提高了UDP代理的安全性。
在本发明实施例中,如图4所示,步骤204包括步骤401至步骤402:
步骤401、若基于客户端的标识信息进行鉴权认证的结果为鉴权认证通过,则将业务报文发送至业务端,业务报文包括UDP数据报文中的业务数据。
在本发明实施例中,若基于客户端的标识信息进行鉴权认证的结果为鉴权认证通过,服务端中的UDP代理服务器则将业务报文发送至业务端,业务报文包括UDP数据报文中的业务数据,业务数据为客户端向业务端发送的数据,比如,业务数据可以为请求访问www.XXX.com。
步骤402、接收业务端针对业务报文发送的业务报文回包,并将业务报文回包转发至客户端。
在本发明实施例中,业务端接收到服务端发送的业务报文之后,业务端对业务报文进行解析,获得客户端发送的业务数据,随后基于业务数据向服务端发送业务报文汇报回包,服务端将业务报文回包转发至客户端。示例性的,业务端在接收到“请求访问www.XXX.com”的业务数据之后,向服务端发送“允许访问”的业务报文回包,服务端在接收到该业务报文回包之后,将业务报文回包转发至客户端,客户端根据业务报文回包的内容实现与业务端的交互。
在本发明实施例中,如图5所示,在步骤201之前,所述方法还包括步骤501至步骤504:
步骤501、接收来自客户端的认证协商请求。
在本发明实施例中,服务端中的TCP代理服务器接收来自客户端的认证协商请求。
在本发明实施例中,服务端中的TCP代理服务器与客户端通过TCP/IP协议进行通信。
在本发明实施例中,认证协商请求采用socks5协议中TCP数据包的封装格式,认证协商请求的格式如表7所示:
表7
VER NMETHODS METHODS
1 1 1to 255
其中,VER表示协议版本号,NMETHODS表示客户端支持的身份验证方法数量,METHODS表示客户端支持的身份验证方法,比如可以通过账号密码认证来进行身份验证。
步骤502、响应于认证协商请求,向客户端发送认证代理应答。
在本发明实施例中,响应于认证协商请求,服务端中的TCP代理服务器向客户端发送认证代理应答,认证代理应答的格式如表8所示:
表8
VER METHOD
1 1
其中,VER表示协议版本号,METHOD表示客户端支持的身份验证方法,比如,当METHOD为0x00时,表示不用进行身份验证,即此代理服务任何人都可连接,客户端收到此回应直接进入“准备代理”阶段,不用走身份验证流程。当METHOD为0xff时,表示需要身份验证且无可用的验证方法,这时当握手失败,就会关闭连接。当METHOD为0x02时,表示需要身份验证,验证方式为账号密码方式。
步骤503、基于认证代理应答,接收来自客户端的认证请求信息,对认证请求信息中客户端的加密身份信息进行解密,得到客户端的身份信息。
在本发明实施例中,服务端中的TCP代理服务器基于认证代理应答,接收来自客户端的认证请求信息,对认证请求信息中客户端的加密身份信息进行解密,得到客户端的身份信息,当认证代理应答中METHOD为0x02时,客户端向TCP代理服务器发出账号密码验证方式的身份验证帧,该身份验证帧为认证请求信息,认证请求信息的格式如表9所示:
表9
VER ULEN UNAME PLEN PASSWD
1 1 1to 255 1 1to 255
其中,VER表示协议版本号,ULEN表示用户账号的长度,UNAME表示用户账号,PLEN表示用户密码的长度,PASSWD表示用户密码。
在本发明实施例中,TCP代理服务器基于与客户端事先约定好的加密方式进行解密,本实施例对加密身份信息的加密方式不作任何限制。
步骤504、基于客户端的身份信息,进行鉴权认证,并向客户端发送认证应答信息,完成客户端的安全认证连接。
在本发明实施例中,服务端中的TCP代理服务器基于客户端的身份信息,进行鉴权认证,并向客户端发送认证应答信息,完成客户端的安全认证连接,认证应答信息的格式如表10所示:
表10
VER STATUS
1 1
其中,VER表示协议版本号,STATUS表示鉴权状态,当STATUS为0x00时,则表示鉴权认证通过,当STATUS非0x00时,则表示鉴权认证未通过,当鉴权认证未通过时,TCP连接将关闭。
在本发明实施例中,在接收来自客户端的认证协商请求之前,客户端与TCP代理服务器通过三次握手,建立Socks5连接。
在本发明实施例中,服务端中的TCP代理服务器首先接收来自客户端的认证协商请求,随后向客户端发送认证代理应答,然后接收来自客户端的认证请求信息,对认证请求信息中客户端的加密身份信息进行解密,得到客户端的身份信息,最后基于客户端的身份信息,进行鉴权认证,并向客户端发送认证应答信息,完成客户端的安全认证连接。如此,TCP代理服务器完成客户端的鉴权认证,从而建立TCP连接。
在本发明实施例中,提供一种基于集群化部署的UDP代理方法,如图6所示,应用于客户端,所述方法包括步骤601至步骤604:
步骤601、向服务端发送UDP代理请求。
在本发明实施例中,客户端向服务端发送UDP请求,服务端与客户端通过TCP/IP传输控制协议进行通信。
在本发明实施例中,UDP代理请求的TCP数据帧格式如表1所示,本发明实施例在此不再赘述。
在本发明实施例中,UDP代理请求中Socks报文的格式如表2所示,本发明实施例在此不再赘述。
步骤602、接收服务端响应于UDP代理请求发送的UDP代理应答。
在本发明实施例中,服务端在接收到客户端发送的UDP代理请求之后,服务端向客户端发送UDP代理应答。
在本发明实施例中,UDP代理应答的TCP数据帧格式如表3所示,本发明实施例在此不再赘述。
在本发明实施例中,UDP代理应答中Socks报文的格式如表4所示,本发明实施例在此不再赘述。
步骤603、将自身的标识信息进行加密,得到客户端的加密认证信息。
在本发明实施例中,客户端在接收到服务端发送的UDP代理应答后,基于上述UDP代理应答,客户端将自身的标识信息进行加密,得到客户端的加密认证信息。
基于获取的会话标识信息,客户端将自身的标识信息进行加密,得到客户端的加密认证信息,会话标识信息为向服务端发起会话的标识信息。
在本发明实施例中,会话标识信息表示数据传输过程中的一个动态信息,可以理解的是,会话标识信息为网络传输过程中每次都不固定的信息。
在本发明实施例中,客户端的标识信息可以为客户端的用户名、身份证号码、自定义用户标识等,客户端的标识信息还可以包括客户端的自定义的密码信息等,本实施例对客户端的标识信息不做任何限制。
步骤604、基于UDP代理应答,将加密认证信息携带在UDP数据报文发送给服务端,UDP数据报文采用socks5协议中的UDP数据包的封装格式。
在本发明实施例中,客户端将加密认证信息携带在UDP数据报文发送给服务端的UDP代理服务器,UDP代理服务器与客户端基于UDP用户数据协议进行通讯。
在本发明实施例中,客户端基于UDP代理应答中携带的地址信息以及端口信息,将加密认证信息携带在UDP数据报文发送给服务端。
在本发明实施例中,UDP数据报文采用socks5协议中的UDP数据包的封装格式,UDP数据报文的格式如表6所示,本发明实施例在此不再赘述。
在本发明实施例中,提供了一种基于集群化部署的用户数据协议UDP代理方法,应用于客户端,客户端首先向服务端发送UDP代理请求,然后客户端接收服务端响应于UDP代理请求发送的UDP代理应答,随后客户端将自身的标识信息进行加密,得到客户端的加密认证信息,最后客户端基于UDP代理应答,将加密认证信息携带在UDP数据报文发送给服务端,UDP数据报文采用socks5协议中的UDP数据包的封装格式。本发明实施例中,一方面,客户端将自身的标识信息进行加密,将加密的标识信息携带在UDP数据报文发送给服务端的UDP代理服务器中,这样保证了UDP代理服务器接收到的UDP数据报文包含了客户端的标识信息,基于客户端的标识信息可以是实现会客户端的鉴权认证,进而完成UDP数据报文中业务数据的传输。因此,通过在UDP数据报文添加客户端的标识信息,可以避免在集群化部署环境下的服务端中两个服务器无法互通认证的问题,如此,能够有效提高UDP代理的安全性。
在本发明实施例中,如图7所示,步骤603包括步骤701至步骤702:
步骤701、将自身的标识信息进行一次加密,得到客户端的加密标识信息。
在本发明实施例中,客户端将自身的标识信息进行一次加密,得到客户端的加密标识信息。
在本发明实施例中,客户端根据预设加密技术,对自身的标识信息进行一次加密,得到客户端的加密标识信息。
在本发明实施例中,预设加密技术为服务端与客户端事先约定好的加密技术,本实施例对采用的预设加密技术不做任何限制。
在本发明实施例中,预设加密技术为AES-128(Advanced Encryption Standard,高级加密标准)加密技术。AES-128是一种对称加密算法,采用对称分组密码体制,分组密码算法通常由密钥扩展算法和加密(解密)算法两部分组成。
步骤702、基于获取的会话标识信息,对加密标识信息进行二次加密,得到客户端的加密认证信息。
在本发明实施例中,客户端基于获取的会话标识信息,对加密标识信息进行二次加密,得到客户端的加密认证信息。
在本发明实施例中,客户端基于会话标识信息,利用二次混合动态加密技术对加密标识信息进行二次加密,得到客户端的加密认证信息。
在本发明实施例中,客户端首先将自身的标识信息进行一次加密,得到客户端的加密标识信息,然后基于获取的会话标识信息,对加密标识信息进行二次加密,得到客户端的加密认证信息。本发明实施例基于获取的会话标识信息,利用二次混合动态加密技术对加密认证信息进行二次加密,得到客户端的加密标识信息,由于会话标识信息是随着传输网络而动态变化的参数,因此,即使恶意客户端截获了加密认证信息也无法反向解密出真正的客户端的标识信息,如此,提高了UDP代理的安全性。
在本发明实施例中,如图8所示,步骤604包括步骤801至步骤802:
步骤801、接收服务端发送的业务报文回包,业务报文回包为业务端基于服务端发送的业务报文作出的响应。
在本发明实施例中,客户端接收服务端发送的业务报文回包,业务报文回包为业务端基于服务端发送的业务报文作出的响应,示例性的,业务端在接收到“请求访问www.XXX.com”的业务数据之后,向服务端发送“允许访问”的业务报文回包,服务端在接收到该业务报文回包之后,将业务报文回包转发至客户端,客户端根据业务报文回包的内容实现与业务端的交互。
步骤802、基于业务报文回包获取业务端发送的目标数据。
在本发明实施例中,客户端基于业务报文回包获取业务端发送的目标数据,示例性的,客户端根据“允许访问www.XXX.com”业务报文回包实现与业务端的交互。
在本发明实施例中,如图9所示,在步骤601之前,还包括步骤901至步骤904:
步骤901、向服务端发送认证协商请求。
在本发明实施例中,客户端向服务端中的TCP代理服务器发送认证协商请求,认证协商请求的格式如表7所示,本发明实施例对此不再赘述。
步骤902、基于认证协商请求,接收服务端发送的认证代理应答。
在本发明实施例中,服务端中的TCP代理服务器在接收到客户端的认证协商请求之后,向客户端发送认证代理应答,客户端接收服务端的认证代理应答,认证代理应答的格式如表8所示,本发明实施例对此不再赘述。
步骤903、响应于认证代理应答,向服务端发送认证请求信息,认证请求信息包括客户端的加密身份信息,加密身份信息为对自身的身份信息进行加密得到的。
在本发明实施例中,客户端在接收TCP代理服务器发送的认证代理应答后,向TCP代理服务器发送认证请求信息,认证请求信息的格式如图9所示,本发明实施例对此不再赘述。
客户端基于与TCP代理服务器事先约定好的加密方式进行加密,本实施例对加密身份信息的加密方式不作任何限制。
步骤904、接收服务端发送的认证应答信息,响应于认证应答信息,与服务端建立安全认证连接。
在本发明实施例中,服务端中的TCP代理服务器在接收到客户端发送的认证请求信息之后,TCP代理服务器向客户端发送认证应答信息,认证应答信息的格式如表10所示,本发明实施例对此不再赘述。
在本发明实施例中,客户端接收TCP代理服务器发送的认证应答信息,响应于认证应答信息,与服务端建立安全认证连接。
在本发明实施例中,客户端首先向服务端发送认证协商请求,然后客户端基于认证协商请求,接收服务端发送的认证代理应答,随后客户端响应于认证代理应答,向服务端发送认证请求信息,最后客户端接收服务端发送的认证应答信息,响应于认证应答信息,与服务端建立安全认证连接。如此,TCP代理服务器完成客户端的鉴权认证,从而建立TCP连接。
本发明实施例提供一种基于集群化部署的UDP代理方法,应用于客户端、服务端与业务端之间的交互,图10为本发明实施例提供的一种客户端、服务端和业务端的交互示意图,如图10所示,该方法包括步骤1001至步骤1015:
步骤1001、客户端向服务端发送认证协商请求。
在本发明实施例中,客户端向服务端中的TCP代理服务器发送认证协商请求。
步骤1002、服务端响应于认证协商请求,向客户端发送认证代理应答。
在本发明实施例中,服务端中的TCP代理服务器接收到客户端的发送的认证协商请求之后,向客户端发送认证代理应答。
步骤1003、基于认证代理应答,客户端向服务端发送认证请求信息。
在本发明实施例中,客户端接收到TCP代理服务器发送的认证代理应答之后,向TCP代理服务器发送认证请求信息。
步骤1004、服务端对认证请求信息中客户端的加密身份信息进行解密,得到客户端的身份信息,对客户端的身份信息进行鉴权认证。
在本发明实施例中,服务端中的TCP代理服务器在接收到客户端发送的认证请求信息之后,TCP代理服务器基于与客户端事先约定好的加密方式,对上述认证请求信息中客户端的加密身份信息进行解密,得到客户端的身份信息。客户端的身份信息可以为用户名以及用户密码,随后TCP代理服务器对客户端的用户名以及用户密码进行鉴权认证。
步骤1005、服务端向客户端发送认证应答信息,完成客户端的安全认证连接。
在本发明实施例中,基于鉴权认证结果,服务端中的TCP代理服务器对客户端的用户名以及用户密码进行鉴权认证,若鉴权认证结果为通过,则TCP代理服务器向客户端发送认证应答信息,完成TCP代理服务器与客户端的安全认证连接。
步骤1006、客户端向服务端发送UDP代理请求。
在本发明实施例中,客户端在接收到TCP代理服务器发送的认证应答信息之后,客户端建立与TCP代理服务器的安全认证连接,随后客户端向TCP代理服务器发送UDP代理请求。
步骤1007、服务端响应于UDP代理请求,向客户端发送UDP代理应答。
在本发明实施例中,服务端中的TCP代理服务器在接收到客户端的UDP代理请求之后,向客户端发送UDP代理应答。
步骤1008、客户端根据预设加密技术,对自身的标识信息进行一次加密,得到客户端的加密标识信息,基于会话标识信息,利用二次混合动态加密技术对加密标识信息进行二次加密,得到客户端的加密认证信息。
在本发明实施例中,客户端在接收到TCP代理服务器发送的UDP代理应答之后,客户端根据AES-128加密技术,对自身的标识信息进行一次加密,得到客户端的加密标识信息,随后客户端基于会话标识信息,利用二次混合动态加密技术对加密标识信息进行二次加密,得到客户端的加密认证信息。
图11为本发明实施例提供的一种客户端标识信息进行加密的流程示意图,如图11所示,在本发明实施例中,客户端自身的标识信息为用户名以及用户密码。客户端首先依据AES-128加密技术,将用户名以及用户密码进行一次加密,得到客户端的加密标识信息;随后客户端获取会话标识信息,该会话标识信息为数据传输过程中的一个动态信息,可以理解的是,会话标识信息为网络传输过程中每次都不固定的信息,示例性的,会话标识信息为客户端向业务端发起会话的标识信息;最后客户端基于该会话标识信息利用二次混合动态加密技术对加密标识信息进行二次加密,得到客户端的加密认证信息。
在本发明实施例中,为了防止用户名和用户密码泄漏,客户端将上述用户名以及用户密码进行一次加密,采用可逆的加密算法保证加密数据不会逆向破解,这一次合成加密信息与用户名和用户密码是线性对应的,即同一个用户名和用户密码固定后加密标识信息也是固定的。进一步的,为了保证同样的用户名和用户密码下传输也能动态变化,保证即使第三方恶意客户端截获该加密标识信息也无法进行冒名认证,客户端将数据传输过程中的一个动态信息进行二次加密,得到加密认证信息,这样保证了用户名和用户密码的加密混淆,也保证了加密信息的动态变化,保证了UDP代理的安全性。
步骤1009、客户端基于UDP代理应答中携带的地址信息以及端口信息,将加密认证信息携带在UDP数据报文发送给服务端,服务端根据UDP代理应答中携带的地址信息以及端口信息,接收来自客户端发送的UDP数据报文。
在本发明实施例中,客户端基于TCP代理服务器发送的UDP代理应答中获取UDP代理服务器的地址信息以及端口信息,客户端基于上述地址信息以及端口信息将加密认证信息携带在UDP数据报文发送给服务端中的UDP代理服务器,服务端中的UDP代理服务器接收来自客户端发送的UDP数据报文。
在本发明实施例中,负载均衡器根据负载均衡原理将客户端发送的UDP数据报文发送至UDP代理服务器中。
步骤1010、服务端基于获取的会话标识信息,利用二次混合动态加密技术对加密认证信息进行一次解密,得到客户端的加密标识信息,根据预设加密技术,对加密标识信息进行二次解密,得到客户端的标识信息。
在本发明实施例中,服务端中的UDP代理服务器在接收到客户端发送的UDP数据报文之后,UDP代理服务器首先基于获取的会话标识信息,利用二次混合动态加密技术对加密认证信息进行一次解密,得到客户端的加密标识信息;随后UDP代理服务器根据AES-128加密技术,对加密标识信息进行二次解密,得到客户端的标识信息。
图12为本发明实施例提供的一种加密认证信息进行解密的流程示意图,如图12所示,在本发明实施例中,UDP代理服务器基于与客户端是实现约定好的规则,获取会话标识信息。UDP代理服务器首先基于上述会话标识信息,利用二次混合动态加密技术对加密认证信息进行一次解密,得到客户端的加密标识信息;随后UDP代理服务器根据AES-128加密技术,对加密标识信息进行二次解密,得到客户端的标识信息,上述AES-128加密技术是客户端与服务端事先约定好的,该客户端的标识信息为客户端的用户名与用户密码。
步骤1011、服务端基于客户端的标识信息进行鉴权认证,若基于鉴权认证的结果为鉴权认证通过,则服务端将业务报文发送至业务端,业务报文包括UDP数据报文中的业务数据。
在本发明实施例中,服务端中的UDP代理服务器基于客户端的标识信息进行鉴权认证,若鉴权认证的结果为通过,则UDP代理服务器将业务报文发送至业务端,业务报文包括UDP数据报文中的业务数据。
步骤1012、业务端向服务端发送业务报文回包。
在本发明实施例中,业务端在接收到UDP代理服务器发送的业务报文之后,对上述业务报文进行解析,向UDP代理服务器发送业务报文回包。
步骤1013、服务端向客户端转发业务端发送的业务报文回包,客户端基于业务报文回包获取业务端发送的目标数据。
在本发明实施例中,服务端中的UDP代理服务器在接收到业务端发送的业务报文回包之后,将上述业务报文回包转发至客户端,客户端在接收到UDP代理服务器发送的业务报文回包之后,对上述业务报文回包进行解析,获取业务端发送的目标数据。
在本发明实施例中,提供了一种基于集群化部署的UDP代理方法,应用于客户端、服务端与业务端之间的交互。一方面,本发明实施例通过在UDP数据报文的帧格式中添加客户端的标识信息,避免了在原始定义的UDP数据报文的帧格式无法在云上或者多台物理机的集群化环境下,TCP代理服务器UDP代理服务器两个服务器无法互通认证信息,解决了无法确认源客户端合法性的根本性问题。另一方面,本发明实施例通过二次混合动态加密技术对客户端的标识信息进行加密,如此,即使客户端的加密标识信息在被恶意客户端截获并冒名顶替源客户端的情况下也能解决UDP代理安全性的问题。这是因为通过二次混合动态加密技术后,客户端的标识信息在传输过程中是随着传输网络而动态变化,由于会话标识信息的网络波动性,加密算法的私密性,恶意客户端即使截获了传输的加密认证信息,也无法反向解密出真正的用户名和用户密码等关键信息,如此,提高了UDP代理的安全性。
图13为本发明实施例提供的一种服务端的结构示意图,如图13所示,所述服务端130包括第一接收单元1301、第一发送单元1302、解密单元1303以及鉴权单元1304,其中,
所述第一接收单元1301,用于接收来自客户端的UDP代理请求;
所述第一发送单元1302,用于响应于所述UDP代理请求,向所述客户端发送UDP代理应答;
所述第一接收单元1301,还用于基于所述UDP代理应答,接收来自所述客户端发送的UDP数据报文,所述UDP数据报文包括所述客户端的加密认证信息,所述加密认证信息为对所述客户端的标识信息进行加密得到的,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式;
所述解密单元1303,用于对所述加密认证信息进行解密,得到所述客户端的标识信息;
所述鉴权单元1304,用于基于所述客户端的标识信息进行鉴权认证,完成所述UDP数据报文中业务数据的传输。
在一些实施例中,所述第一接收单元1301,还用于根据所述UDP代理应答中携带的地址信息以及端口信息,接收来自所述客户端发送的UDP数据报文。
在一些实施例中,所述解密单元1303,还用于基于获取的会话标识信息,对所述加密认证信息进行解密,得到所述客户端的标识信息,所述会话标识信息为所述客户端发起会话的标识信息。
在一些实施例中,所述解密单元1303,还用于基于获取的会话标识信息,对所述加密认证信息进行一次解密,得到客户端的加密标识信息;对所述加密标识信息进行二次解密,得到所述客户端的标识信息。
在一些实施例中,所述解密单元1303,还用于基于获取的会话标识信息,利用二次混合动态加密技术对所述加密认证信息进行一次解密,得到所述客户端的所述加密标识信息。
在一些实施例中,所述解密单元1303,还用于根据预设加密技术,对所述加密标识信息进行二次解密,得到所述客户端的标识信息。
在一些实施例中,所述第一发送单元1302,还用于将业务报文发送至业务端,所述业务报文包括所述UDP数据报文中的业务数据。
在一些实施例中,所述第一接收单元1301,还用于接收所述业务端针对所述业务报文发送的业务报文回包。
在一些实施例中,所述第一发送单元1302,还用于将所述业务报文回包转发至所述客户端。
在一些实施例中,所述第一接收单元1301,还用于接收来自所述客户端的认证协商请求。
在一些实施例中,所述第一发送单元1302,还用于响应于所述认证协商请求,向所述客户端发送认证代理应答。
在一些实施例中,所述第一接收单元1301,还用于基于所述认证代理应答,接收来自客户端的认证请求信息。
在一些实施例中,所述解密单元1303,还用于对所述认证请求信息中所述客户端的加密身份信息进行解密,得到所述客户端的身份信息。
在一些实施例中,所述第一发送单元1302,还用于基于所述客户端的身份信息,进行鉴权认证,并向所述客户端发送认证应答信息,完成所述客户端的安全认证连接。
图14为本发明实施例提供的一种客户端的结构示意图,如图14所示,所述客户端140包括第二接收单元1401、第二发送单元1402以及加密单元1403;其中,
所述第二发送单元1402,用于向服务端发送UDP代理请求;
所述第二接收单元1401,用于接收所述服务端响应于所述UDP代理请求发送的UDP代理应答;
所述加密单元1403,用于将自身的标识信息进行加密,得到所述客户端的加密认证信息;
所述第二发送单元1402,还用于基于所述UDP代理应答,将所述加密认证信息携带在UDP数据报文发送给所述服务端,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式。
在一些实施例中,所述第二发送单元1401,还用于基于所述UDP代理应答中携带的地址信息以及端口信息,将所述加密认证信息携带在UDP数据报文发送给所述服务端。
在一些实施例中,所述加密单元1403,还用于基于获取的会话标识信息,将自身的标识信息进行加密,得到所述客户端的加密认证信息,所述会话标识信息为向所述服务端发起会话的标识信息。
在一些实施例中,所述加密单元1403,还用于将自身的标识信息进行一次加密,得到所述客户端的加密标识信息;基于获取的会话标识信息,对所述加密标识信息进行二次加密,得到所述客户端的加密认证信息。
在一些实施例中,所述加密单元1403,还用于根据预设加密技术,对所述自身的标识信息进行一次加密,得到所述客户端的所述加密标识信息。
在一些实施例中,所述加密单元1403,还用于基于所述会话标识信息,利用二次混合动态加密技术对所述加密标识信息进行二次加密,得到所述客户端的所述加密认证信息。
在一些实施例中,所述第二接收单元1401,还用于接收所述服务端发送的业务报文回包,所述业务报文回包为业务端基于所述服务端发送的业务报文作出的响应;基于所述业务报文回包获取业务端发送的目标数据。
在一些实施例中,所述第二发送单元1402,还用于向所述服务端发送认证协商请求。
在一些实施例中,所述第二接收单元1401,还用于基于所述认证协商请求,接收所述服务端发送的认证代理应答。
在一些实施例中,所述第二发送单元1402,还用于响应于所述认证代理应答,向所述服务端发送认证请求信息,所述认证请求信息包括所述客户端的加密身份信息,所述加密身份信息为对自身的身份信息进行加密得到的。
在一些实施例中,所述第二接收单元1401,还用于接收所述服务端发送的认证应答信息,响应于所述认证应答信息,与所述服务端建立安全认证连接。
图15为本发明实施例提供的一种业务端的结构示意图,如图15所示,所述业务端150包括第三接收单元1501以及第三发送单元1502;其中,
所述第三接收单元1501,用于接收所述服务端发送的业务报文;
所述第三发送单元1502,用于基于所述业务报文,向所述服务端发送业务报文回包。
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明装置实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
需要说明的是,本发明实施例中图13至图15所示的装置对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。也可以采用软件和硬件结合的形式实现。
需要说明的是,本发明实施例中,如果以软件功能模块的形式实现上述的方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本发明实施例不限制于任何特定的硬件和软件结合。
基于上述实施例的方法,本发明实施例提供的一种集群化部署的UDP代理设备,包括存储器以及处理器;其中,所述存储器,用于存储可执行指令;所述处理器,用于执行所述存储器中存储的可执行指令时,实现执行如本发明实施例所述的基于集群化部署的UDP代理方法。
基于上述实施例的方法,本发明实施例提供的一种集群化部署的UDP代理设备包括服务端、客户端以及业务端,其中:
如图16所示,所述服务端包括:第一处理器1601和第一存储器1602;第一存储器1602存储第一处理器1601可执行的一个或者多个程序,当一个或者多个程序被执行时,通过第一处理器1601执行如本发明实施例服务端侧所述的基于集群化部署的UDP代理方法。
如图17所示,所述客户端包括:第二处理器1701和第二存储器1702;第二存储器1702存储第二处理器1701可执行的一个或者多个程序,当一个或者多个程序被执行时,通过第二处理器1701执行如本发明实施例客户端侧所述的基于集群化部署的UDP代理方法。
如图18所示,所述业务端包括:第三处理器1801和第三存储器1802;第三存储器1802存储第三处理器1801可执行的一个或者多个程序,当一个或者多个程序被执行时,通过第三处理器1801执行如本发明实施例业务端侧所述的基于集群化部署的UDP代理方法。
本发明实施例还供了一种存储介质,应用于服务端,所述存储介质存储有可执行指令,当所述可执行指令被执行时,用于引起第一处理器执行如本发明实施例所述的基于集群化部署的UDP代理方法。
本发明实施例还供了一种存储介质,应用于客户端,所述存储介质存储有可执行指令,当所述可执行指令被执行时,用于引起第二处理器执行如本发明实施例所述的基于集群化部署的UDP代理方法。
本发明实施例还供了一种存储介质,应用于业务端,所述存储介质存储有可执行指令,当所述可执行指令被执行时,用于引起第三处理器执行如本发明实施例所述的基于集群化部署的UDP代理方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本发明存储介质、存储介质和设备实施例中未披露的技术细节,请参照本发明方法实施例的描述而理解。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”或“一些实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”或“在一些实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如对象A和/或对象B,可以表示:单独存在对象A,同时存在对象A和对象B,单独存在对象B这三种情况。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者设备中还存在另外的相同要素。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个模块或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或模块的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的模块可以是、或也可以不是物理上分开的,作为模块显示的部件可以是、或也可以不是物理模块;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部模块来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能模块可以全部集成在一个处理单元中,也可以是各模块分别单独作为一个单元,也可以两个或两个以上模块集成在一个单元中;上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的介质。
或者,本发明上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得电子设备执行本发明各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、磁碟或者光盘等各种可以存储程序代码的介质。
本发明所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本发明所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本发明所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本发明的实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种基于集群化部署的用户数据协议UDP代理方法,其特征在于,应用于服务端,包括:
接收来自客户端的UDP代理请求,响应于所述UDP代理请求,向所述客户端发送UDP代理应答;
基于所述UDP代理应答,接收来自所述客户端发送的UDP数据报文,所述UDP数据报文包括所述客户端的加密认证信息,所述加密认证信息为对所述客户端的标识信息进行加密得到的,所述UDP数据报文采用socks5协议中UDP数据包的封装格式;
对所述加密认证信息进行解密,得到所述客户端的标识信息;
基于所述客户端的标识信息进行鉴权认证,完成所述UDP数据报文中业务数据的传输。
2.根据权利要求1所述的方法,其特征在于,所述对所述加密认证信息进行解密,得到所述客户端的标识信息,包括:
基于获取的会话标识信息,对所述加密认证信息进行解密,得到所述客户端的标识信息,所述会话标识信息为所述客户端发起会话的标识信息。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述加密认证信息进行解密,得到所述客户端的标识信息,包括:
基于获取的会话标识信息,对所述加密认证信息进行一次解密,得到客户端的加密标识信息;
对所述加密标识信息进行二次解密,得到所述客户端的标识信息;
所述基于获取的会话标识信息,对所述加密认证信息进行一次解密,得到客户端的加密标识信息,包括:
基于获取的会话标识信息,利用二次混合动态加密技术对所述加密认证信息进行一次解密,得到所述客户端的所述加密标识信息;
所述对所述加密标识信息进行二次解密,得到所述客户端的标识信息,包括:
根据预设加密技术,对所述加密标识信息进行二次解密,得到所述客户端的标识信息。
4.根据权利要求1或2所述的方法,其特征在于,所述基于所述客户端的标识信息进行鉴权认证,完成所述UDP数据报文中业务数据的传输,包括:
若基于所述客户端的标识信息进行鉴权认证的结果为鉴权认证通过,则将业务报文发送至业务端,所述业务报文包括所述UDP数据报文中的业务数据;
接收所述业务端针对所述业务报文发送的业务报文回包,并将所述业务报文回包转发至所述客户端。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收来自所述客户端的认证协商请求;
响应于所述认证协商请求,向所述客户端发送认证代理应答;
基于所述认证代理应答,接收来自客户端的认证请求信息,对所述认证请求信息中所述客户端的加密身份信息进行解密,得到所述客户端的身份信息;
基于所述客户端的身份信息,进行鉴权认证,并向所述客户端发送认证应答信息,完成所述客户端的安全认证连接。
6.一种基于集群化部署的用户数据协议UDP代理方法,其特征在于,应用于客户端,包括:
向服务端发送UDP代理请求;
接收所述服务端响应于所述UDP代理请求发送的UDP代理应答;
将自身的标识信息进行加密,得到所述客户端的加密认证信息;
基于所述UDP代理应答,将所述加密认证信息携带在UDP数据报文发送给所述服务端,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式。
7.根据权利要求6所述的方法,其特征在于,所述将自身的标识信息进行加密,得到所述客户端的加密认证信息,所述方法还包括:
基于获取的会话标识信息,将自身的标识信息进行加密,得到所述客户端的加密认证信息,所述会话标识信息为向所述服务端发起会话的标识信息;
所述将自身的标识信息进行加密,得到所述客户端的加密认证信息,包括:
将自身的标识信息进行一次加密,得到所述客户端的加密标识信息;
基于获取的会话标识信息,对所述加密标识信息进行二次加密,得到所述客户端的加密认证信息;
所述将自身的标识信息进行一次加密,得到所述客户端的加密标识信息,包括:
根据预设加密技术,对所述自身的标识信息进行一次加密,得到所述客户端的所述加密标识信息;
所述基于所述会话标识信息,对所述加密标识信息进行二次加密,得到自身的加密认证信息,包括:
基于所述会话标识信息,利用二次混合动态加密技术对所述加密标识信息进行二次加密,得到所述客户端的所述加密认证信息。
8.一种服务端,其特征在于,包括:第一接收单元、第一发送单元、解密单元以及鉴权单元;其中,
所述第一接收单元,用于接收来自客户端的UDP代理请求;
所述第一发送单元,用于响应于所述UDP代理请求,向所述客户端发送UDP代理应答;
所述第一接收单元,还用于基于所述UDP代理应答,接收来自所述客户端发送的UDP数据报文,所述UDP数据报文包括所述客户端的加密认证信息,所述加密认证信息为对所述客户端的标识信息进行加密得到的,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式;
所述解密单元,用于对所述加密认证信息进行解密,得到所述客户端的标识信息;
所述鉴权单元,用于基于所述客户端的标识信息进行鉴权认证,完成所述UDP数据报文中业务数据的传输。
9.一种客户端,其特征在于,包括:第二接收单元、第二发送单元以及加密单元;其中,
所述第二发送单元,用于向服务端发送UDP代理请求;
所述第二接收单元,用于接收所述服务端响应于所述UDP代理请求发送的UDP代理应答;
所述加密单元,用于将自身的标识信息进行加密,得到所述客户端的加密认证信息;
所述第二发送单元,还用于基于所述UDP代理应答,将所述加密认证信息携带在UDP数据报文发送给所述服务端,所述UDP数据报文采用socks5协议中的UDP数据包的封装格式。
10.一种集群化部署的UDP代理设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现执行如权利要求1-5任一项所述的基于集群化部署的UDP代理方法;或者,执行如权利要求6或7任一项所述的基于集群化部署的UDP代理方法。
CN202211369414.2A 2022-11-03 2022-11-03 基于集群化部署的udp代理方法、装置以及设备 Pending CN116915418A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211369414.2A CN116915418A (zh) 2022-11-03 2022-11-03 基于集群化部署的udp代理方法、装置以及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211369414.2A CN116915418A (zh) 2022-11-03 2022-11-03 基于集群化部署的udp代理方法、装置以及设备

Publications (1)

Publication Number Publication Date
CN116915418A true CN116915418A (zh) 2023-10-20

Family

ID=88363434

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211369414.2A Pending CN116915418A (zh) 2022-11-03 2022-11-03 基于集群化部署的udp代理方法、装置以及设备

Country Status (1)

Country Link
CN (1) CN116915418A (zh)

Similar Documents

Publication Publication Date Title
CN105917689B (zh) 以信息为中心的网络中的安全的点对点组
CN111052672B (zh) 无证书或预共享对称密钥的安全密钥传输协议
CN102725995B (zh) 在节点之间建立安全通信信道的装置、设备及执行方法
US11303431B2 (en) Method and system for performing SSL handshake
Harsha et al. Analysis of vulnerabilities in MQTT security using Shodan API and implementation of its countermeasures via authentication and ACLs
CN103036872B (zh) 数据传输的加密和解密方法、设备及系统
CN114503507A (zh) 安全的发布-订阅通信方法和设备
Sahraoui et al. Compressed and distributed host identity protocol for end-to-end security in the IoT
US10419212B2 (en) Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols
CN104735037A (zh) 一种网络认证方法、装置及系统
US11096047B2 (en) Methods and systems for SCTP probing
CN110832806B (zh) 针对面向身份的网络的基于id的数据面安全
WO2015156622A2 (ko) 인증 장치 및 방법
CN116915418A (zh) 基于集群化部署的udp代理方法、装置以及设备
CN110351308B (zh) 一种虚拟专用网络通信方法和虚拟专用网络设备
CN116830525A (zh) 数据传输方法、装置、系统、电子设备及可读介质
CN109792459B (zh) 用于向至少一个设备发送数据的方法、数据发送控制服务器、存储服务器、处理服务器和系统
EP2984783B1 (en) Secure radio information transfer over mobile radio bearer
Gharib et al. SCC5G: A PQC-based Architecture for Highly Secure Critical Communication over Cellular Network in Zero-Trust Environment
US20240097903A1 (en) Ipcon mcdata session establishment method
Asaduzzaman et al. An auspicious secure processing technique for near field communication systems
WO2019227986A1 (zh) 实现信息处理的方法、系统及装置
US10616212B2 (en) Method of sending a data from a secure token to a server
CN115278661A (zh) 基于空口帧的单播传输方法、系统、电子设备及存储介质
CN115734211A (zh) 一种标识解析方法和系统,及存储介质

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