WO2021129681A1 - 一种调度方法、装置、介质及设备 - Google Patents

一种调度方法、装置、介质及设备 Download PDF

Info

Publication number
WO2021129681A1
WO2021129681A1 PCT/CN2020/138689 CN2020138689W WO2021129681A1 WO 2021129681 A1 WO2021129681 A1 WO 2021129681A1 CN 2020138689 W CN2020138689 W CN 2020138689W WO 2021129681 A1 WO2021129681 A1 WO 2021129681A1
Authority
WO
WIPO (PCT)
Prior art keywords
uri
scheduling
dispatch
client
original
Prior art date
Application number
PCT/CN2020/138689
Other languages
English (en)
French (fr)
Inventor
李逸骏
蔡少君
Original Assignee
贵州白山云科技股份有限公司
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 贵州白山云科技股份有限公司 filed Critical 贵州白山云科技股份有限公司
Publication of WO2021129681A1 publication Critical patent/WO2021129681A1/zh

Links

Images

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
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses

Definitions

  • This article relates to Internet technology, especially to scheduling methods, devices, media and equipment.
  • a specific field in the HTTP response header is usually used to request the client to use a new URL to obtain resources.
  • the location field is generally used for this specific field, and its value is usually a new URL.
  • the new URL can be an absolute address, including the protocol name, domain name, resource path, and query string. After redirection, the unencrypted new URL can easily be hijacked by the middleman and tamper with the content. At the same time, the new URL usually also contains some scheduling information within the service system, which is easy to leak the server's strategy and security information, which causes the server to expose security weaknesses and is easy to be exploited.
  • this article provides a scheduling method, device, medium and equipment.
  • a scheduling method is provided, which is applied to a scheduling server, including:
  • a dispatch URI is generated and sent to the client.
  • generating the dispatch URI includes: encrypting the service server address into a first character string using a preset algorithm, and using the first character string as the domain name of the dispatch URI a part of;
  • the original URI is encrypted into a second character string, and the second character string is used as a part of the PATH of the scheduling URI.
  • the obtaining the original URI sent by the client includes:
  • Scheduling method applied to DNS server, including:
  • Scheduling methods applied to business servers, including:
  • Scheduling methods applied to the client, including:
  • a scheduling device applied to a scheduling server including:
  • the first receiving module is used to obtain the original URI sent by the client;
  • the scheduling module is used to determine the service server based on the original URI
  • the first sending module is configured to generate a dispatch URI after encrypting the service server address and the original URI, and send it to the client.
  • generating a dispatch URI includes: encrypting the service server address into a first character string using a preset algorithm, and using the first character string as the dispatch URI Part of the domain name;
  • the original URI is encrypted into a second character string, and the second character string is used as a part of the PATH of the scheduling URI.
  • the obtaining the original URI sent by the client includes:
  • Scheduling device applied to DNS server, including:
  • the second receiving module is configured to receive the domain name of the dispatch URI forwarded by the client;
  • the first extraction module is used to extract the first character string in the domain name
  • the first decryption module is configured to decrypt the first character string into a service server address
  • the second sending module is configured to send the address of the service server to the client.
  • Scheduling device applied to business server, including:
  • the third receiving module is used to receive the scheduling URI forwarded by the client;
  • the second extraction module is used to extract the second character string in the scheduling URI;
  • the second decryption module is configured to decrypt the second character string using a preset algorithm to obtain the original URI;
  • the response module is used to respond to the original URI request.
  • Scheduling device applied to the client, including:
  • the request module is used to send the original URI request or the encrypted URI request to the dispatch server;
  • the fourth receiving module is used to receive the dispatch URI responded by the dispatch server; it is also used to receive the resolution response of the DNS server and obtain the service server address;
  • the first forwarding module is configured to extract the domain name in the dispatch URI, and forward the domain name to a DNS server;
  • the second forwarding module is configured to forward the dispatch URI to the service server
  • the response receiving module is used to receive the response of the service server.
  • a computer-readable storage medium having a computer program stored thereon, which implements the steps of the scheduling method when the computer program is executed.
  • a computer device including a processor, a memory, and a computer program stored on the memory, and the processor implements the steps of the scheduling method when the computer program is executed.
  • This article uses a scheduling method to encrypt the URI.
  • the server is equipped with a decoding device to decrypt the received request.
  • an encoding device is set to encrypt the response information sent to prevent the hijacking of the middleman and protect the information security.
  • Hidden scheduling strategy to avoid attacks on business servers. At the same time, there is no need to carry out complex transformations on existing servers.
  • Figure 1 is a schematic diagram of the existing scheduling framework.
  • Fig. 2 is a schematic diagram showing a scheduling framework according to an exemplary embodiment.
  • Fig. 3 is a flow chart showing a scheduling method according to an exemplary embodiment.
  • Fig. 4 is a schematic diagram showing a scheduling framework according to an exemplary embodiment.
  • Fig. 5 is a flow chart showing a scheduling method according to an exemplary embodiment.
  • Fig. 6 is a flow chart showing a scheduling method according to an exemplary embodiment.
  • Fig. 7 is a flow chart showing a scheduling method according to an exemplary embodiment.
  • Fig. 8 shows a block diagram of a scheduling device according to an exemplary embodiment.
  • Fig. 9 shows a block diagram of a scheduling device according to an exemplary embodiment.
  • Fig. 10 shows a block diagram of a scheduling device according to an exemplary embodiment.
  • Fig. 11 shows a block diagram of a scheduling device according to an exemplary embodiment.
  • Fig. 12 is a block diagram showing a computer device according to an exemplary embodiment.
  • Figure 1 is a schematic diagram of the existing scheduling framework.
  • the client sends an HTTP request to the dispatch server, and the dispatch server responds to the client by redirecting the address of the target server, and then the client initiates a request to the target server.
  • both the request message and the response message are sent in plain text.
  • FIG. 2 is a schematic diagram showing a scheduling framework according to an exemplary embodiment.
  • the dispatch server adds an encoder to encrypt the redirect response, and the target server sets a decoder to decrypt the encrypted request, restore the URI of the original request, and respond correctly.
  • a DNS server is added to the dispatch system to resolve the encrypted target server address in the redirection response message.
  • Fig. 3 is a flow chart showing a scheduling method according to an exemplary embodiment. Referring to Figure 3, the scheduling method is applied to the scheduling server, including:
  • Step S31 Obtain the original URI sent by the client.
  • Step S32 Determine the service server based on the original URI.
  • Step S33 After the service server address and the original URI are encrypted, a dispatch URI is generated and sent to the client.
  • the dispatch server After receiving the client's request, the dispatch server determines the destination service server according to the original URI requested by the client, and generates redirection response information.
  • the original URI is also encrypted according to the preset encryption algorithm, and the dispatch URI is generated, and the dispatch URI is generated. Sent to the client. Even if an intermediate hijacking occurs, the hijacker cannot learn the user's original request and scheduling strategy through the hijacked scheduling URI. Thereby ensuring the safety of the dispatching system.
  • the dispatch server may receive a normal request from the client to obtain the original URI.
  • the client encrypts the requested URI according to a preset algorithm.
  • the dispatch server needs to decrypt the encrypted URI in the client request according to the preset algorithm to obtain the original URI.
  • Fig. 4 is a schematic diagram showing a scheduling framework according to an exemplary embodiment. An encoder is set on the client to encode and encrypt the sent request. The dispatch server also needs to set a decoder to decrypt the encrypted URI request of the client.
  • the original URI requested by the client is
  • an encoder can be set on the client to encrypt the request sent by the client.
  • the key fields in the original URI can be encrypted.
  • the key fields are fields related to key information. They can be part of the URI or the entire URI.
  • the specific key fields are based on specific usage scenarios. determine.
  • generating the dispatch URI includes: encrypting the business server address into a first character string using a preset algorithm, and using the first character string as a part of the domain name of the dispatch URI;
  • the dispatch server sends the new URI to the encoder for encryption, and encrypts 1.1.1.1 to YYY according to a preset algorithm, and uses YYY as a part of the dispatch domain name to generate the dispatch domain name, for example, the dispatch domain name is YYY.diaodu.com.
  • the dispatch domain name is YYY.diaodu.com.
  • all fields of the original URI can be encrypted, and part of the key fields of the original URI can also be encrypted.
  • all fields of the original URI are encrypted, and the encrypted form becomes ZZZ, and ZZZ is used as a part of the PATH of the scheduling URI. This generates the dispatch URI:
  • the dispatch server decrypts and encrypts the received and sent URI addresses by setting a codec device to ensure normal dispatch while increasing the security of the dispatch system.
  • Fig. 5 is a flow chart showing a scheduling method according to an exemplary embodiment. Referring to Figure 5, the scheduling method is applied to the DNS server, including:
  • Step S51 Receive the domain name of the dispatch URI forwarded by the client.
  • Step S52 Extract the first character string in the domain name.
  • Step S53 Decrypt the first character string into a service server address.
  • Step S54 Send the service server address to the client.
  • the client After the client receives the dispatch URI, since the dispatch URI is encrypted, the client cannot know the specific address of the target server, so it needs to send the domain name in the dispatch URI to the DNS server for resolution. Still taking the scheduling URI: http://YYY.diaodu.com/ydis/ZZZ as an example, the client extracts YYY.diaodu.com and sends it to the DNS server. After the DNS server judges according to the encryption rules, it extracts the first character string YYY, decrypts the encrypted characters through the inverse algorithm of the preset algorithm, and decrypts the address of the business server, 1.1.1.1. Send the address of the business server to the client to complete the address resolution.
  • Fig. 6 is a flow chart showing a scheduling method according to an exemplary embodiment. Referring to Figure 6, the scheduling method is applied to the service server, including:
  • Step S61 receiving the scheduling URI forwarded by the client
  • Step S62 extract the second character string in the scheduling URI
  • Step S63 Use a preset algorithm to decrypt the second character string to obtain the original URI;
  • Step S64 respond to the original URI request.
  • the client After the client is parsed by the DNS server, it knows the address of the business server and forwards the dispatch URI to the business server. After the business server also judges according to the encryption rules, it extracts the second string in the dispatch URI, and compares it with the inverse algorithm of the preset algorithm. The second string is decrypted. Still taking the scheduling URI: http://YYY.diaodu.com/ydis/ZZZ as an example, the business server extracts ZZZ and decrypts ZZZ to obtain the original URI:
  • Fig. 7 is a flow chart showing a scheduling method according to an exemplary embodiment. Referring to Figure 7, the scheduling method is applied to the client, including:
  • Step S71 Send the original URI request or the encrypted URI request to the dispatch server;
  • Step S72 receiving the dispatch URI responded by the dispatch server
  • Step S73 extract the domain name in the dispatch URI, and forward the domain name to the DNS server;
  • Step S74 receiving the resolution response of the DNS server, and obtaining the address of the business server;
  • Step S75 forward the scheduling URI to the service server
  • Step S76 Receive a response from the service server.
  • the client can send the original URI request, or the original URI can be encrypted and sent to further improve the security of the information, prevent intermediate hijacking and expose the access intent.
  • the client does not need to decrypt it, but only forwards it, which further prevents the possibility of exposing the dispatch policy.
  • the URI can be encrypted by the scheduling method provided in this article.
  • the server is equipped with a decoding device to decrypt the received request.
  • an encoding device is set to encrypt the response information sent to prevent the middleman from hijacking and protect Information security, while hiding scheduling strategies to avoid attacks on business servers.
  • Fig. 8 shows a block diagram of a scheduling device according to an exemplary embodiment.
  • the scheduling device applied to the scheduling server includes: a first receiving module 801, a scheduling module 802, and a first sending module 803.
  • the first receiving module 801 is configured to obtain the original URI sent by the client.
  • the scheduling module 802 is configured to determine the service server based on the original URI.
  • the first sending module 803 is configured to generate a dispatch URI after encrypting the service server address and the original URI, and send it to the client.
  • generating the dispatch URI includes: encrypting the business server address into a first character string using a preset algorithm, and using the first character string as a part of the domain name of the dispatch URI;
  • Obtaining the original URI sent by the client includes:
  • Fig. 9 shows a block diagram of a scheduling device according to an exemplary embodiment.
  • the scheduling device applied to the DNS server includes: a second receiving module 901, a first extracting module 902, a first decrypting module 903, and a second sending module 904.
  • the second receiving module 901 is configured to receive the domain name of the scheduling URI forwarded by the client.
  • the first extraction module 902 is configured to extract the first character string in the domain name.
  • the first decryption module 903 is configured to decrypt the first character string into a service server address.
  • the second sending module 904 is configured to send the address of the service server to the client.
  • Fig. 10 is a block diagram showing a scheduling device according to an exemplary embodiment.
  • the dispatching device applied to the service server includes: a third receiving module 1001, a second extraction module 1002, a second decryption module 1003, and a response module 1004.
  • the third receiving module 1001 is configured to receive the scheduling URI forwarded by the client.
  • the second extraction module 1002 is configured to extract the second character string in the scheduling URI.
  • the second decryption module 1003 is configured to use a preset algorithm to decrypt the second character string to obtain the original URI.
  • the response module 1004 is configured to respond to the original URI request.
  • Fig. 11 is a block diagram showing a scheduling device according to an exemplary embodiment.
  • the scheduling device applied to the client includes: a request module 1101, a fourth receiving module 1102, a first forwarding module 1103, a second forwarding module 1104, and a response receiving module 1105.
  • the request module 1101 is configured to send the original URI request or the encrypted URI request to the dispatch server.
  • the fourth receiving module 1102 is configured to receive the dispatch URI responded by the dispatch server; it is also used to receive the resolution response of the DNS server and obtain the service server address.
  • the first forwarding module 1103 is configured to extract the domain name in the dispatch URI, and forward the domain name to the DNS server.
  • the second forwarding module 1104 is configured to forward the scheduling URI to the service server.
  • the response receiving module 1105 is configured to receive a response from the service server.
  • Fig. 12 is a block diagram showing a computer device 1200 for a scheduling method according to an exemplary embodiment.
  • the computer device 1200 may be provided as a server.
  • the computer device 1200 includes a processor 1201, and the number of processors can be set to one or more as required.
  • the computer device 1200 further includes a memory 1202 for storing instructions executable by the processor 1201, such as application programs.
  • the number of memories can be set to one or more as required.
  • the stored application programs can be one or more.
  • the processor 1201 is configured to execute instructions to perform the scheduling method.
  • Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data) , Including but not limited to RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical disk storage, magnetic cartridge, magnetic tape, magnetic disk storage or other magnetic storage device, or can be used for Any other medium that stores desired information and can be accessed by a computer.
  • communication media usually contain computer-readable instructions, data structures, program modules, or other data in a modulated data signal such as carrier waves or other transmission mechanisms, and may include any information delivery media. .
  • These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • the dispatch server adds an encoder to encrypt the redirection response information sent; the business server sets a decoder to decrypt the encrypted request, restore the original request URI, and respond correctly. Effectively prevent hijacking by the middleman, protect information security, and hide scheduling strategies to avoid attacks on business servers.

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)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本文是关于一种调度方法、装置、介质及设备,调度方法应用于调度服务器包括:获取客户端发送的原始URI;基于所述原始URI,确定业务服务器;将所述业务服务器地址和所述原始URI加密后,生成调度URI,发送至所述客户端。本文提供的调度方法,对调度信息进行加密,防止中间人的劫持,保护信息安全,同时隐藏调度策略,避免对业务服务器的攻击。同时,不需要对现有服务器进行复杂的改造。

Description

一种调度方法、装置、介质及设备
本申请要求在2019年12月27日提交中国专利局、申请号为201911372848.6、发明名称为“调度方法、装置、介质及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本文涉及互联网技术,尤其涉及调度方法、装置、介质及设备。
背景技术
相关技术中,使用HTTP重定向等调度技术时,通常通过HTTP响应头部的特定字段来要求客户端使用新的URL来获取资源。这种特定字段一般用location字段,它的值通常是一个新的URL。
新的URL可以是绝对地址,包含了协议名称、域名、资源路径和查询串等内容。重定向后,未经加密的新URL,很容易被中间人劫持,并篡改内容。同时新URL通常还包含一些服务系统内部的调度信息,容易泄露服务端的策略、安全信息等,导致服务端暴露安全弱点,容易被利用。
发明内容
以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
为克服相关技术中存在的问题,本文提供一种调度方法、装置、介质及设备。
根据本文的第一方面,提供一种调度方法,应用于调度服务器,包括:
获取客户端发送的原始URI;
基于所述原始URI,确定业务服务器;
将所述业务服务器地址和所述原始URI加密后,生成调度URI,发送至所述 客户端。
所述将所述业务服务器地址和所述原始URI加密后,生成调度URI包括:使用预设算法将所述业务服务器地址加密为第一字符串,将所述第一字符串作为调度URI的域名的一部分;
将原始URI加密为第二字符串,将所述第二字符串作为所述调度URI的PATH的一部分。
所述获取客户端发送的原始URI包括:
接收客户端发送的原始URI请求;或者,接受客户端发送的加密URI请求,使用预设算法解密所述加密URI请求,获取原始URI。
调度方法,应用于DNS服务器,包括:
接收客户端转发的调度URI的域名;
提取所述域名中的第一字符串;
将所述第一字符串解密为业务服务器地址;
发送所述业务服务器地址至所述客户端。
调度方法,应用于业务服务器,包括:
接收客户端转发的调度URI;
提取所述调度URI中的第二字符串;
使用预设算法对所述第二字符串解密,获取原始URI;
响应所述原始URI请求。
调度方法,应用于客户端,包括:
发送原始URI请求或者加密后的URI请求至调度服务器;
接收所述调度服务器响应的调度URI;
提取所述调度URI中的域名,转发所述域名至DNS服务器;
接收所述DNS服务器的解析响应,获取业务服务器地址;
转发所述调度URI至所述业务服务器;
接收所述业务服务器的响应。
根据本文的另一方面,提供一种调度装置,应用于调度服务器,包括:
第一接收模块,用于获取客户端发送的原始URI;
调度模块,用于基于所述原始URI,确定业务服务器;
第一发送模块,用于将所述业务服务器地址和所述原始URI加密后,生成调度URI,发送至所述客户端。
所述调度模块将所述业务服务器地址和所述原始URI加密后,生成调度URI包括:使用预设算法将所述业务服务器地址加密为第一字符串,将所述第一字符串作为调度URI的域名的一部分;
将原始URI加密为第二字符串,将所述第二字符串作为所述调度URI的PATH的一部分。
所述获取客户端发送的原始URI包括:
接收客户端发送的原始URI请求;或者,接受客户端发送的加密URI请求,使用预设算法解密所述加密URI请求,获取原始URI。
调度装置,应用于DNS服务器,包括:
第二接收模块,用于接收客户端转发的调度URI的域名;
第一提取模块,用于提取所述域名中的第一字符串;
第一解密模块,用于将所述第一字符串解密为业务服务器地址;
第二发送模块,用于发送所述业务服务器地址至所述客户端。
调度装置,应用于业务服务器,包括:
第三接收模块,用于接收客户端转发的调度URI;
第二提取模块,用于提取所述调度URI中的第二字符串;
第二解密模块,用于使用预设算法对所述第二字符串解密,获取原始URI;
响应模块,用于响应所述原始URI请求。
调度装置,应用于客户端,包括:
请求模块,用于发送原始URI请求或者加密后的URI请求至调度服务器;
第四接收模块,用于接收所述调度服务器响应的调度URI;还用于接收DNS 服务器的解析响应,获取业务服务器地址;
第一转发模块,用于提取所述调度URI中的域名,转发所述域名至DNS服务器;
第二转发模块,用于转发所述调度URI至所述业务服务器;
响应接收模块,用于接收所述业务服务器的响应。
根据本文的另一方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现调度方法的步骤。
根据本文的另一方面,提供一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,所述处理器执行所述计算机程序时实现调度方法的步骤。
本文通过一种调度方法,可以实现将URI进行加密,服务器端设置解码装置,用来解密接收的请求,同时设置编码装置,对发送的响应信息进行加密,防止中间人的劫持,保护信息安全,同时隐藏调度策略,避免对业务服务器的攻击。同时,不需要对现有服务器进行复杂的改造。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本文。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,本发明实施例的示意性实施例及其说明用于解释本发明实施例,并不构成对本发明实施例的不当限定。在附图中:
图1为现有调度框架示意图。
图2是根据一示例性实施例示出的一种调度框架示意图。
图3是根据一示例性实施例示出的一种调度方法的流程图。
图4是根据一示例性实施例示出的一种调度框架示意图。
图5是根据一示例性实施例示出的一种调度方法的流程图。
图6是根据一示例性实施例示出的一种调度方法的流程图。
图7是根据一示例性实施例示出的一种调度方法的流程图。
图8根据一示例性实施例示出的一种调度装置的框图。
图9根据一示例性实施例示出的一种调度装置的框图。
图10根据一示例性实施例示出的一种调度装置的框图。
图11根据一示例性实施例示出的一种调度装置的框图。
图12是根据一示例性实施例示出的一种计算机设备的框图。
具体实施方式
为使本文实施例的目的、技术方案和优点更加清楚,下面将结合本文实施例中的附图,对本文实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本文一部分实施例,而不是全部的实施例。基于本文中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本文保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为现有调度框架示意图。参考图1,客户端发送HTTP请求至调度服务器,调度服务器将目标服务器的地址以重定向的方式响应给客户端,然后客户端再向目标服务器发起请求。在此过程中,请求报文和响应报文都是以明文的方式发送,一旦被中间人劫持,容易暴露用户的访问意图,导致隐私泄露,更有可能暴露系统的调度策略,暴露目标服务器地址,威胁信息安全。
为解决以上问题,本文提供一种加密的调度方法。图2是根据一示例性实施例示出的一种调度框架示意图。如图2所示,调度服务器增加编码器,用以对重定向响应进行加密,目标服务器设置解码器,用以对加密的请求解密,还原出原始请求的URI,并正确响应。同时,为使加密的请求发送到目标服务器,调度系统中增加DNS服务器,用以解析重定向响应信息中加密的目标服务器地址。
图3是根据一示例性实施例示出的一种调度方法的流程图。参考图3,调度方法应用于调度服务器,包括:
步骤S31,获取客户端发送的原始URI。
步骤S32,基于原始URI,确定业务服务器。
步骤S33,将业务服务器地址和原始URI加密后,生成调度URI,发送至客户端。
调度服务器接收到客户端的请求后,根据客户端请求的原始URI,确定目的业务服务器,生成重定向响应信息。为了保护调度策略,隐藏目的服务器的真实地址,将业务服务器的地址按预设算法加密,同时为了保护客户端的隐私,将原始URI也按预设的加密算法加密,并生成调度URI,将调度URI发送给客户端。即使发生中间劫持,劫持人也无法通过劫持到的调度URI,获知用户的原始请求以及调度策略。从而保证调度系统的安全。
在一实施例中,调度服务器可以接收客户端的正常请求,从而获取原始的URI。或者,为了进一步保护客户端的隐私,客户端将请求的URI按预设算法加密,调度服务器接收客户端发送的请求后,调度服务器需要先根据预设算法解密客户端请求中的加密URI,获取原始的URI。例如图4所示,图4是根据一示例性实施例示出的一种调度框架示意图。客户端设置了编码器,对发出的请求进行编码加密,调度服务器还需要设置解码器,用以对客户端的加密URI请求进行解密。
例如,客户端请求的原始URI为
http://www.baidu.com/doc/2019/readme.txt?token=abc&user=bsc,为防止暴露访问意图,可以在客户端设置编码器,对客户端发出的请求进行加密。在本实施例中,可以对原始URI中的关键字段进行加密,关键字段是涉及关键信息的字段,可以是URI中的一部分,也可以是整个URI,具体关键字段根据具体的使用场景确定。调度服务器与客户端使用约定的KEY进行加密和解密。如对原始URI中的PATH字段进行加密,将doc/2019/readme.txt?token=abc&user=bsc加密为XXX后,将原始URI变为加密的URI:http://www.baidu.com/XXX。可以很好的隐藏客户端的访问意图。
调度服务器接收到加密的URI请求后,提取加密URI中的加密字段XXX,使用预设加密算法的逆运算,将XXX解密为doc/2019/readme.txt?token=abc&user=bsc后,还原为原始URI。根据原始URI确定目的业务服务器。
在一实施例中,将业务服务器地址和原始URI加密后,生成调度URI包括: 使用预设算法将业务服务器地址加密为第一字符串,将第一字符串作为调度URI的域名的一部分;
将原始URI加密为第二字符串,将第二字符串作为调度URI的PATH的一部分。
例如,仍以原始请求:
http://www.baidu.com/doc/2019/readme.txt?token=abc&user=bsc为例,调度服务器根据该请求确定业务服务器地址为1.1.1.1后,会响应一个新的URI给客户端,新的URI:
http://1.1.1.1/xdis/www.baidu.com/doc/2019/readme.txt?token=abc&user=bsc
调度服务器将新的URI发给编码器进行加密,按预设的算法,将1.1.1.1加密为YYY,并且将YYY作为调度域名的一部分,生成调度域名,例如调度域名为YYY.diaodu.com。同时,将原始URI进行加密,可以对原始URI的全部字段进行加密,也可以对原始URI的部分关键字段进行加密。本实施例中将原始URI的全部字段进行加密,加密后为ZZZ,将ZZZ作为调度URI的PATH的一部分。由此生成调度URI:
http://YYY.diaodu.com/ydis/ZZZ。并将调度RUI发送回客户端。
调度服务器通过设置编解码装置,对接收和发送的URI地址进行解密和加密,保证正常调度的同时,增加了调度系统的安全性。
图5是根据一示例性实施例示出的一种调度方法的流程图。参考图5,调度方法应用于DNS服务器,包括:
步骤S51,接收客户端转发的调度URI的域名。
步骤S52,提取域名中的第一字符串。
步骤S53,对第一字符串解密为业务服务器地址。
步骤S54,发送业务服务器地址至客户端。
客户端接收到调度URI后,由于调度URI是经过加密的,客户端也无法知道目标服务器的具体地址,因此需要将调度URI中的域名发送给DNS服务器进行解析。仍以调度URI:http://YYY.diaodu.com/ydis/ZZZ为例,客户端提取YYY.diaodu.com,并将其发送给DNS服务器。DNS服务器按加密规则判断后,提 取第一字符串YYY,通过预设算法的逆算法对加密字符进行解密,解密出业务服务器的地址,1.1.1.1。将业务服务器的地址发送给客户端,完成地址解析。
图6是根据一示例性实施例示出的一种调度方法的流程图。参考图6,调度方法应用于业务服务器,包括:
步骤S61,接收客户端转发的调度URI;
步骤S62,提取调度URI中的第二字符串;
步骤S63,使用预设算法对第二字符串解密,获取原始URI;
步骤S64,响应原始URI请求。
客户端经过DNS服务器解析后,知道了业务服务器的地址,将调度URI转发至业务服务器,业务服务器同样根据加密规则判断后,提取调度URI中的第二字符串,通过预设算法的逆算法对第二字符串解密。仍以调度URI:http://YYY.diaodu.com/ydis/ZZZ为例,业务服务器提取ZZZ,对ZZZ解密后,得到原始URI:
http://www.baidu.com/doc/2019/readme.txt?token=abc&user=bsc。业务服务器根据原始URI正确响应客户端的请求。
图7是根据一示例性实施例示出的一种调度方法的流程图。参考图7,调度方法应用于客户端,包括:
步骤S71,发送原始URI请求或者加密后的URI请求至调度服务器;
步骤S72,接收调度服务器响应的调度URI;
步骤S73,提取调度URI中的域名,转发域名至DNS服务器;
步骤S74,接收DNS服务器的解析响应,获取业务服务器地址;
步骤S75,转发调度URI至所述业务服务器;
步骤S76,接收业务服务器的响应。
客户端可以发送原始的URI请求,也可以将原始URI加密后发送,进一步提高信息的安全,防止发生中间劫持,暴露访问意图。对于调度服务器响应的调度URI,客户端不需要进行解密,只进行转发,进一步防止调度策略被暴露的可能。
综上所述,通过本文提供的调度方法可以实现将URI进行加密,服务器端 设置解码装置,用来解密接收的请求,同时设置编码装置,对发送的响应信息进行加密,防止中间人的劫持,保护信息安全,同时隐藏调度策略,避免对业务服务器的攻击。同时,不需要对现有服务器进行复杂的改造。
图8根据一示例性实施例示出的一种调度装置的框图。参考图8,调度装置应用于调度服务器包括:第一接收模块801,调度模块802,第一发送模块803。
该第一接收模块801被配置为用于获取客户端发送的原始URI。
该调度模块802被配置为用于基于原始URI,确定业务服务器。
该第一发送模块803被配置为用于将业务服务器地址和原始URI加密后,生成调度URI,发送至所述客户端。
调度模块802将业务服务器地址和原始URI加密后,生成调度URI包括:使用预设算法将业务服务器地址加密为第一字符串,将第一字符串作为调度URI的域名的一部分;
将原始URI加密为第二字符串,将第二字符串作为调度URI的PATH的一部分。
获取客户端发送的原始URI包括:
接收客户端发送的原始URI请求;或者,接受客户端发送的加密URI请求,使用预设算法解密所述加密URI请求,获取原始URI。
图9根据一示例性实施例示出的一种调度装置的框图。参考图9,调度装置应用于DNS服务器包括:第二接收模块901,第一提取模块902,第一解密模块903,第二发送模块904。
该第二接收模块901被配置为用于接收客户端转发的调度URI的域名。
该第一提取模块902被配置为用以提取域名中的第一字符串。
该第一解密模块903被配置为用于将第一字符串解密为业务服务器地址。
该第二发送模块904被配置为用于发送业务服务器地址至客户端。
图10是根据一示例性实施例示出的一种调度装置的框图。参考图10,调度装置应用于业务服务器包括:第三接收模块1001,第二提取模块1002,第二解密模块1003,响应模块1004。
该第三接收模块1001被配置为用于接收客户端转发的调度URI。
该第二提取模块1002被配置为用于提取所述调度URI中的第二字符串。
该第二解密模块1003被配置为用于使用预设算法对第二字符串解密,获取原始URI。
该响应模块1004被配置为用于响应原始URI请求。
图11是根据一示例性实施例示出的一种调度装置的框图。参考图11,调度装置应用于客户端包括:请求模块1101,第四接收模块1102,第一转发模块1103,第二转发模块1104,响应接收模块1105。
该请求模块1101被配置为用于发送原始URI请求或者加密后的URI请求至调度服务器。
该第四接收模块1102被配置为用于接收调度服务器响应的调度URI;还用于接收DNS服务器的解析响应,获取业务服务器地址。
该第一转发模块1103被配置为用于提取所述调度URI中的域名,转发所述域名至DNS服务器。
该第二转发模块1104被配置为用于转发调度URI至所述业务服务器。
该响应接收模块1105被配置为用于接收业务服务器的响应。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图12是根据一示例性实施例示出的一种用于调度方法的计算机设备1200的框图。例如,计算机设备1200可以被提供为一服务器。参照图12,计算机设备1200包括处理器1201,处理器的个数可以根据需要设置为一个或者多个。计算机设备1200还包括存储器1202,用于存储可由处理器1201的执行的指令,例如应用程序。存储器的个数可以根据需要设置一个或者多个。其存储的应用程序可以为一个或者多个。处理器1201被配置为执行指令,以执行调度方法。
本领域技术人员应明白,本文的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本文可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本文可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质上实施的计算机程序产品的形式。计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除 和不可移除介质,包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质等。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
本文是参照根据本文实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的物品或者设备中还存在另外的相同要素。
尽管已描述了本文的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本文范围的所有变更和修改。
显然,本领域的技术人员可以对本文进行各种改动和变型而不脱离本文的 精神和范围。这样,倘若本文的这些修改和变型属于本文权利要求及其等同技术的范围之内,则本文的意图也包含这些改动和变型在内。
工业实用性
调度服务器增加编码器,对发送的重定向响应信息进行加密;业务服务器设置解码器,用以对加密的请求解密,还原出原始请求的URI,并正确响应。有效防止中间人的劫持,保护信息安全,同时隐藏调度策略,避免对业务服务器的攻击。

Claims (14)

  1. 一种调度方法,应用于调度服务器,其特征在于,包括:
    获取客户端发送的原始URI;
    基于所述原始URI,确定业务服务器;
    将所述业务服务器地址和所述原始URI加密后,生成调度URI,发送至所述客户端。
  2. 如权利要求1所述的调度方法,其特征在于,
    所述将所述业务服务器地址和所述原始URI加密后,生成调度URI包括:使用预设算法将所述业务服务器地址加密为第一字符串,将所述第一字符串作为调度URI的域名的一部分;
    将原始URI加密为第二字符串,将所述第二字符串作为所述调度URI的PATH的一部分。
  3. 如权利要求1所述的调度方法,其特征在于,所述获取客户端发送的原始URI包括:
    接收客户端发送的原始URI请求;或者,接受客户端发送的加密URI请求,使用预设算法解密所述加密URI请求,获取原始URI。
  4. 一种调度方法,应用于DNS服务器,其特征在于,包括:
    接收客户端转发的调度URI中的域名;
    提取所述域名中的第一字符串;
    将所述第一字符串解密为业务服务器地址;
    发送所述业务服务器地址至所述客户端。
  5. 一种调度方法,应用于业务服务器,其特征在于,包括:
    接收客户端转发的调度URI;
    提取所述调度URI中的第二字符串;
    使用预设算法对所述第二字符串解密,获取原始URI;
    响应所述原始URI请求。
  6. 一种调度方法,应用于客户端,其特征在于,包括:
    发送原始URI请求或者加密后的URI请求至调度服务器;
    接收所述调度服务器响应的调度URI;
    提取所述调度URI中的域名,转发所述域名至DNS服务器;
    接收所述DNS服务器的解析响应,获取业务服务器地址;
    转发所述调度URI至所述业务服务器;
    接收所述业务服务器的响应。
  7. 一种调度装置,应用于调度服务器,其特征在于,包括:
    第一接收模块,用于获取客户端发送的原始URI;
    调度模块,用于基于所述原始URI,确定业务服务器;
    第一发送模块,用于将所述业务服务器地址和所述原始URI加密后,生成调度URI,发送至所述客户端。
  8. 如权利要求7所述的调度装置,其特征在于,
    所述调度模块将所述业务服务器地址和所述原始URI加密后,生成调度URI包括:使用预设算法将所述业务服务器地址加密为第一字符串,将所述第一字符串作为调度URI的域名的一部分;
    将原始URI加密为第二字符串,将所述第二字符串作为所述调度URI的PATH的一部分。
  9. 如权利要求7所述的调度装置,其特征在于,所述获取客户端发送的原始URI包括:
    接收客户端发送的原始URI请求;或者,接受客户端发送的加密URI请求,使用预设算法解密所述加密URI请求,获取原始URI。
  10. 一种调度装置,应用于DNS服务器,其特征在于,包括:
    第二接收模块,用于接收客户端转发的调度URI的域名;
    第一提取模块,用于提取所述域名中的第一字符串;
    第一解密模块,用于将所述第一字符串解密为业务服务器地址;
    第二发送模块,用于发送所述业务服务器地址至所述客户端。
  11. 一种调度装置,应用于业务服务器,其特征在于,包括:
    第三接收模块,用于接收客户端转发的调度URI;
    第二提取模块,用于提取所述调度URI中的第二字符串;
    第二解密模块,用于使用预设算法对所述第二字符串解密,获取原始URI;
    响应模块,用于响应所述原始URI请求。
  12. 一种调度装置,应用于客户端,其特征在于,包括:
    请求模块,用于发送原始URI请求或者加密后的URI请求至调度服务器;
    第四接收模块,用于接收所述调度服务器响应的调度URI;还用于接收DNS服务器的解析响应,获取业务服务器地址;
    第一转发模块,用于提取所述调度URI中的域名,转发所述域名至DNS服务器;
    第二转发模块,用于转发所述调度URI至所述业务服务器;
    响应接收模块,用于接收所述业务服务器的响应。
  13. 一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被执行时实现如权利要求1-6中任意一项所述方法的步骤。
  14. 一种计算机设备,包括处理器、存储器和存储于所述存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-6中任意一项所述方法的步骤。
PCT/CN2020/138689 2019-12-27 2020-12-23 一种调度方法、装置、介质及设备 WO2021129681A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911372848.6A CN113055344B (zh) 2019-12-27 2019-12-27 调度方法、装置、介质及设备
CN201911372848.6 2019-12-27

Publications (1)

Publication Number Publication Date
WO2021129681A1 true WO2021129681A1 (zh) 2021-07-01

Family

ID=76505979

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/138689 WO2021129681A1 (zh) 2019-12-27 2020-12-23 一种调度方法、装置、介质及设备

Country Status (2)

Country Link
CN (1) CN113055344B (zh)
WO (1) WO2021129681A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117278211A (zh) * 2023-09-27 2023-12-22 北京火山引擎科技有限公司 基于内容分发网络的域名加密方法、解密方法和装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138910A1 (en) * 2008-12-03 2010-06-03 Check Point Software Technologies, Ltd. Methods for encrypted-traffic url filtering using address-mapping interception
CN102801810A (zh) * 2012-08-24 2012-11-28 乐视网信息技术(北京)股份有限公司 在内容分发网络中隐藏url的方法
CN108574660A (zh) * 2017-03-09 2018-09-25 武汉斗鱼网络科技有限公司 一种获取ip地址的方法及系统
CN109617912A (zh) * 2019-01-15 2019-04-12 成都知道创宇信息技术有限公司 一种采用多个域名智能切换防DDoS攻击的装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103944900B (zh) * 2014-04-18 2017-11-24 中国科学院计算技术研究所 一种基于加密的跨站请求攻击防范方法及其装置
CN104009989B (zh) * 2014-05-22 2018-02-16 Tcl集团股份有限公司 一种媒体文件的防盗链方法、系统及服务器
CN106453675B (zh) * 2016-09-19 2022-07-08 网宿科技股份有限公司 302跳转方法、url生成方法及系统、域名解析方法及系统
CN107959660A (zh) * 2016-10-17 2018-04-24 中兴通讯股份有限公司 一种基于Nginx的静态文件访问方法和装置
CN106357841A (zh) * 2016-11-02 2017-01-25 腾讯科技(深圳)有限公司 一种域名解析方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100138910A1 (en) * 2008-12-03 2010-06-03 Check Point Software Technologies, Ltd. Methods for encrypted-traffic url filtering using address-mapping interception
CN102801810A (zh) * 2012-08-24 2012-11-28 乐视网信息技术(北京)股份有限公司 在内容分发网络中隐藏url的方法
CN108574660A (zh) * 2017-03-09 2018-09-25 武汉斗鱼网络科技有限公司 一种获取ip地址的方法及系统
CN109617912A (zh) * 2019-01-15 2019-04-12 成都知道创宇信息技术有限公司 一种采用多个域名智能切换防DDoS攻击的装置

Also Published As

Publication number Publication date
CN113055344A (zh) 2021-06-29
CN113055344B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
JP6625211B2 (ja) 部分的に信頼できる第三者機関を通しての鍵交換
US8261071B2 (en) Stateless human detection for real-time messaging systems
US8898482B2 (en) Encryption system using clients and untrusted servers
CN109728914B (zh) 数字签名验证方法、系统、装置及计算机可读存储介质
US10904227B2 (en) Web form protection
US10348701B2 (en) Protecting clients from open redirect security vulnerabilities in web applications
US20120163598A1 (en) Session secure web content delivery
US10250385B2 (en) Customer call logging data privacy in cloud infrastructure
CN110944012B (zh) 抗协议分析数据安全传输方法、系统、信息数据处理终端
WO2021129681A1 (zh) 一种调度方法、装置、介质及设备
US20190095628A1 (en) Method and a device for secure storage of at least one element of digital information, and system comprising such device
CN107968793B (zh) 一种下载白盒密钥的方法、装置及存储介质
WO2021129676A1 (zh) 一种uri构造方法、装置、介质及设备
Goudar et al. Secure data transmission using steganography based data hiding in TCP/IP
CN110555175A (zh) 二维码解析和生成方法及设备
Ren et al. Toward efficient and secure deep packet inspection for outsourced middlebox
Aghili Improving security using blow fish algorithm on deduplication cloud storage
Malik et al. Cloud computing security improvement using Diffie Hellman and AES
Kumar et al. A review and analysis on text data encryption techniques
Arvin S. Lat et al. SOUL System: secure online USB login system
Shi et al. Verification of LINE encryption version 1.0 using proverif
CN109274765B (zh) 一种数据传输方法、设备及系统
Adkinson-Orellana et al. Sharing secure documents in the cloud-a secure layer for Google Docs
Rathore et al. Data Storage Security Issues and Solutions in Cloud Computing
Singh et al. Enhancing the Security of JSON Web Token Using Signal Protocol and Ratchet System

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20905688

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20905688

Country of ref document: EP

Kind code of ref document: A1