Message transmission method and device

By configuring multiple IPv6 addresses for the server and implementing verification and forwarding mechanisms, the problem that existing technology is difficult to prevent DDOS segment attacks is solved, and effective prevention of DDOS attacks and protection of server resources is achieved.

CN120034347APending Publication Date: 2025-05-23HUAWEI CLOUD COMPUTING TECHNOLOGIES CO LTD
View PDF 0 Cites 2 Cited by

Patent Information

Application Number
CN202410529260.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-11-21
Filing Date
2024-04-26
Publication Date
2025-05-23

AI Technical Summary

Technical Problem

The existing technology is difficult to effectively prevent or mitigate DDOS attacks, especially elephant stream attacks, real source attacks and scanned attacks, resulting in a large amount of server resources being occupied and affecting the service response of legitimate users.

Method used

By configuring multiple IPv6 addresses for the server as preconfigured addresses, and implementing verification and forwarding mechanisms in the security modules of the client and server, it is ensured that only service messages with preconfigured addresses can be accessed by blocking service messages with unpreconfigured addresses and blacklisted addresses.

Benefits of technology

Effectively prevent or mitigate DDOS scan attacks, avoid attack sources from attacking the server through direct DDOS scan attacks, ensure that the server resources are not occupied in large quantities, and ensure the service response of legitimate users.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120034347A_ABST
    Figure CN120034347A_ABST
Patent Text Reader

Abstract

The invention discloses a message transmission method and device, and belongs to the technical field of security. The method is applied to a security module of a server, the server is used for providing a target service for a client, and the client is a registered user of the target service. The method comprises the following steps: receiving a target service message which is sent by a client and is used for accessing a target service, wherein a destination address of the target service message comprises a verification field; verifying the destination address of the target service message according to the verification field to determine that the destination address of the target service message is a pre-configured address; and sending the target service message to the server. Wherein the pre-configured address is an IPv6 address configured for the client and used for accessing the target service. According to the method, an access address is allocated to a server providing a target service by using a huge address space of IPv6, so that an attack source cannot directly perform DDOS segment scanning attack on the target service.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application claims priority to Chinese patent application No. 202311563092.X filed on November 21, 2023, and application name “A method, device and other equipment for data processing”, the entire contents of which are incorporated by reference into this application. Technical Field

[0002] The present application relates to the field of security technology, and in particular to a message transmission method and device. Background Art

[0003] Distributed denial of service (DDOS) attacks are an old but still active attack method. DDOS attacks generally use reasonable service requests to occupy too many service resources, making it impossible for legitimate users to get service responses.

[0004] Common but difficult to defend DDOS attacks include but are not limited to elephant flow attacks, real source attacks, and sweep attacks. Among them, elephant flow attacks refer to attacks that access target services in large quantities and continuously through a network connection. Since elephant flow attacks focus on a network connection, it is difficult to divert to multiple central processing units (CPUs) for prevention. Real source attacks refer to attacks that use many real hosts as attack sources, so the attack behavior of these hosts is difficult to distinguish from normal and legitimate users. Sweep attacks are between elephant flow attacks and real source attacks. Sweep attacks perform scanning attacks on continuous Internet protocol (IP) address segments, so the traffic of sweep attacks is scattered on multiple target IP addresses. The traffic attacking each target IP address is not very large, but the traffic attacking all target IP addresses together is very large. It is generally difficult to discover the attack pattern and prevent it.

[0005] Therefore, in the process of the client accessing the services provided by the server through business messages, how to effectively prevent or mitigate the DDOS attack from the attack source to the server has become a technical problem that needs to be solved urgently. Summary of the invention

[0006] The present application provides a message transmission method and device, which can effectively prevent or alleviate typical DDOS attacks on the current Internet.

[0007] The technical solutions provided by this application are as follows:

[0008] In the first aspect, the present application provides a message transmission method, which is applied to a security module of a server, the server is used to provide a target service to a client, the client is a registered user of the target service, and the target service runs on at least one server in at least one cloud data center located in one of multiple regions. The method includes: receiving a target business message sent by a client for accessing the target service, the destination address of the target business message including a verification field; verifying the destination address of the target business message according to the verification field to determine that the destination address of the target business message is a preconfigured address; and sending the target business message to the server. The preconfigured address is an Internet Protocol version 6 (IPv6) address configured for the client to access the target service.

[0009] Through the method provided in this application, since the IPv6 address space is huge and many of them are idle addresses, when the huge IPv6 address space is used to allocate access addresses to the server that provides the target service, when the attack source attacks the target service provided by the server through a direct DDOS sweep attack, the direct DDOS sweep attack cannot be effectively carried out.

[0010] In a possible design, the method further includes: when the destination address of the target service message is not a preconfigured address, and / or when the destination address of the target service message exists in a blocking list, blocking the target service message. The blocking list is used to record the destination addresses of service messages that are prohibited from being forwarded.

[0011] Through this possible design, it is achieved to block the message that does not use the pre-configured address allocated for the target service to access the target service, thereby preventing illegal users from accessing the target service.

[0012] In another possible design, the destination address of the target business message also includes a preset field. The above-mentioned verification of the destination address of the target business message according to the verification field to determine that the destination address of the target business message is a preconfigured address includes: obtaining a first preset rule corresponding to the preset field, the first preset rule being used to determine the verification field in the preconfigured address based on a logical operation; determining the target verification field according to the first preset rule; and determining that the destination address of the target business message is a preconfigured address when the verification field included in the destination address of the target business message is the same as the target verification field.

[0013] Through this possible design, the destination address of the target service message is verified.

[0014] In another possible design, the method further includes: when the preset time is reached, receiving a second preset rule, where the second preset rule is a preset rule that updates the first preset rule.

[0015] Through this possible design, when the client periodically changes the destination address used to access the target service, the security module on the server side can periodically receive preset rules for verifying the destination address in the business message from the client, that is, the security module on the server side can timely update the preset rules for verifying the access address.

[0016] In another possible design, the security module of the server is deployed in a gateway of the server, and the method further includes: sending a first preset rule to a forwarding node that can reach the gateway.

[0017] Through this possible design, the forwarding nodes close to the client can receive preset rules for verifying the destination address in the service message from the client, so that these forwarding nodes can forward or block the service message from the client by executing the method described in the present application, thereby filtering the DDOS attack traffic at a location close to the client (i.e., the source end), thereby improving the impact of the DDOS attack on the communication network between the client and the service gateway.

[0018] In another possible design, the method further includes: determining that the number of blocked service messages sent by the same registered user through the client exceeds a preset threshold, and adding a user identifier (identifier, ID) of the same registered user to a user blacklist.

[0019] Through this possible design, the security module on the server side can collect a user blacklist that records the registered user IDs that maliciously access the back-end services. Subsequently, network security can be guaranteed by timely discarding or isolating the messages of malicious registered users. Malicious registered users can also be included in the security information system for reference by other attack prevention systems.

[0020] In another possible design, the security module of the server is deployed in the gateway of the server, and the above-mentioned sending of the target service message to the server includes: performing network address translation (NAT) on the destination address of the target service message; and sending the NATed target service message to the server, wherein the address of the destination address of the target service message after NAT is the address of the server.

[0021] In another possible design, the address after NAT of the destination address of the target service message is an IPv6 address or an Internet protocol version 4 (IPv4) address.

[0022] Through this possible design, the purpose of flexibly deploying the real IP address of the backend service can be achieved.

[0023] In the second aspect, the present application provides a message transmission method, which is applied to a client, the client is a registered user of a target service provided by a server, the server is used to provide the target service to the client, and the target service runs on at least one server in at least one cloud data center located in one of multiple regions. The method includes: obtaining a destination address of a target service message to be sent, the destination address is one of the preconfigured addresses, the preconfigured address is an IPv6 address configured for the client to access the target service; sending a target service message, the target service message is used to access the target service.

[0024] Through the method provided by the present application, since the IPv6 address space is huge and many of them are idle addresses, when the destination address of the service message used to access the target service is allocated to the client by using the huge IPv6 address space, it can effectively prevent the attack source from attacking the target service provided by the server through a direct DDOS sweep attack. In addition, the premise for the client to obtain the pre-configured address allocated for the target service is that the client is a registered user of the target service, so that the real source attack in the DDOS attack can be avoided.

[0025] In one possible design, the above-mentioned acquisition of the destination address of the target business message to be sent includes: obtaining a first preset rule, the first preset rule is used to determine a verification field in a preconfigured address based on a logical operation, and the verification field is used to verify whether the destination address of the target business message is a preconfigured address; according to the first preset rule, determine the verification field in the destination address; according to the verification field, obtain the destination address of the target business message.

[0026] In another possible design, the method further includes: when the preset time is reached, receiving a second preset rule, where the second preset rule is a preset rule that updates the first preset rule.

[0027] Through this possible design, when the client accesses the target service, it regularly receives different preset rules, which enables the client to regularly update the pre-configured address used as the destination address when accessing the target service. In this way, it is difficult for an attacker to accurately parse the access address of the target service and launch an attack against it.

[0028] In another possible design, before obtaining the destination address of the target business message to be sent, the method also includes: obtaining the access address of a registration service by accessing the portal service of the target service, the registration service being used to provide user registration services for users accessing the target service; and registering as a registered user of the target service based on the access address of the registration service.

[0029] In another possible design, a portal service device for providing portal services is configured with at least one access address of a registration service. The above-mentioned obtaining the access address of the registration service by accessing the portal service of the target service includes: receiving the access address of the registration service returned by the portal service device.

[0030] Through these two possible designs, before the client obtains the pre-configured address allocated for the target service, it needs to first register as a registered user of the target service, which can avoid the real source attack in the DDOS attack.

[0031] In the third aspect, the present application provides a message transmission device, which is applied to a security module of a server, and the server is used to provide a target service to a client, and the client is a registered user of the target service, and the target service runs on at least one server in at least one cloud data center located in one of multiple regions. The device includes: a receiving unit, which is used to receive a target business message sent by the client for accessing the target service, and the destination address of the target business message includes a verification field; a processing unit, which is used to verify the destination address of the target business message according to the verification field to determine whether the destination address of the target business message is a preconfigured address; and a sending unit, which is used to send the target business message to the server. Among them, the preconfigured address is an IPv6 address configured for the client to access the target service.

[0032] In a possible design, the processing unit is further used to block the target service message when the destination address of the target service message is not a preconfigured address and / or when the destination address of the target service message exists in a blocking list. The blocking list is used to record the destination addresses of the service messages that are prohibited from being forwarded.

[0033] In another possible design, the destination address of the target business message also includes a preset field, and the above-mentioned device also includes: an acquisition unit, used to obtain a first preset rule corresponding to the preset field, the first preset rule is used to determine the verification field in the preconfigured address based on a logical operation; the processing unit is also used to determine the target verification field according to the first preset rule, and to determine that the destination address of the target business message is a preconfigured address when the verification field included in the destination address of the target business message is the same as the target verification field.

[0034] In yet another possible design, the receiving unit is further configured to receive a second preset rule when a preset duration arrives, and the second preset rule is a preset rule obtained by updating the first preset rule.

[0035] In yet another possible design, the security module of the server is deployed in the gateway of the server, and the sending unit is further configured to send a first preset rule to a forwarding node reachable by the gateway.

[0036] In yet another possible design, the processing unit is further configured to determine that the number of service packets blocked sent by the same registered user through the client exceeds a preset threshold, and add the user ID of the same registered user to the user blacklist.

[0037] In yet another possible design, the security module of the server is deployed in the gateway of the server, and the processing unit is further configured to perform NAT on the destination address of the target service packet. The sending unit is specifically configured to send the target service packet after NAT to the server, and the address after NAT of the destination address of the target service packet is the address of the server.

[0038] In yet another possible design, the address after NAT of the destination address of the target service packet is an IPv6 address or an IPv4 address.

[0039] It can be understood that for the beneficial effects obtained by the packet transmission device provided by the third aspect and any possible design manner in the third aspect, reference can be made to the technical effects of the corresponding solutions provided by the first aspect and any possible design manner in the first aspect, which will not be elaborated herein.

[0040] In a fourth aspect, the present application provides a packet transmission device, which is applied to a client. The client is a registered user of a target service provided by a server, and the server is configured to provide the target service to the client. The target service runs on at least one server in at least one cloud data center in one of multiple regions. The device includes: an obtaining unit, configured to obtain the destination address of a target service packet to be sent, where the destination address is one of pre-configured addresses, and the pre-configured addresses are IPv6 addresses configured for the client to access the target service; a sending unit, configured to send the target service packet, and the target service packet is used to access the target service.

[0041] In a possible design manner, the obtaining unit is further configured to obtain a first preset rule, where the first preset rule is used to determine a verification field in the pre-configured address based on a logical operation, and the verification field is used to verify whether the destination address of the target service packet is a pre-configured address. The above device further includes a processing unit, configured to determine the verification field in the destination address according to the first preset rule, and obtain the destination address of the target service packet according to the verification field.

[0042] In another possible design, the above-mentioned device also includes a receiving unit, which is used to receive a second preset rule when the preset time is reached, and the second preset rule is a preset rule that updates the first preset rule.

[0043] In another possible design, the acquisition unit is further used to obtain the access address of the registration service by accessing the portal service of the target service before obtaining the destination address of the target service message to be sent. The processing unit is further used to register as a registered user of the target service based on the access address of the registration service. The registration service is used to provide user registration services for users accessing the target service.

[0044] In another possible design, the portal service device for providing the portal service is configured with at least one access address of the registration service. The receiving unit is further configured to receive the access address of the registration service returned by the portal service device.

[0045] It can be understood that the beneficial effects achieved by the message transmission device provided by the fourth aspect and any possible design method in the fourth aspect can be referred to the technical effects of the corresponding solutions provided by the second aspect and any possible design method in the second aspect, and will not be repeated here.

[0046] In a fifth aspect, the present application provides a computing device, comprising: a memory, a communication interface and one or more processors, the one or more processors receiving or sending data through the communication interface, the one or more processors being configured to read program instructions stored in the memory to execute a method as provided in the first aspect and any possible design of the first aspect, or to execute a method as provided in the second aspect and any possible design of the second aspect.

[0047] In a sixth aspect, the present application provides a computing device cluster, the computing device cluster comprising at least one computing device, each computing device comprising a processor and a memory. The processor of the at least one computing device is used to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster performs the method provided in the first aspect and any possible design of the first aspect, or performs the method provided in the second aspect and any possible design of the second aspect.

[0048] In a seventh aspect, the present application provides a message transmission system, which includes a security module on a server side and a client side. The security module on the server side is used to execute the method provided in the first aspect and any possible design method in the first aspect. The client side is used to execute the method provided in the second aspect and any possible design method in the second aspect. In a specific design, the security module on the server side is implemented as the message transmission device provided in the third aspect or the fifth aspect, and the client side is implemented as the message transmission device provided in the fourth aspect or the fifth aspect.

[0049] In an eighth aspect, the present application provides a chip, the chip comprising a processor, when the processor runs a program instruction or code, the chip comprising the processor or the device comprising the chip executes the method provided in the first aspect and any possible design method in the first aspect, or executes the method provided in the second aspect and any possible design method in the second aspect. Exemplarily, the chip also includes: an input interface, an output interface and a memory. Among them, the input interface, output interface, processor and memory of the chip are connected through the internal connection path of the chip, the memory in the chip is used to store the program instructions or code run by the processor, and the input interface and output interface of the chip are used for the connection and communication between the chip and other chips or devices.

[0050] In a ninth aspect, the present application provides a computer-readable storage medium, which is a non-volatile computer-readable storage medium, and the computer-readable storage medium includes computer program instructions. When the computer program instructions are executed by a computing device or a processor, the computing device or the processor executes the method provided in the first aspect and any possible design method in the first aspect, or executes the method provided in the second aspect and any possible design method in the second aspect.

[0051] In the tenth aspect, the present application provides a computer program product comprising instructions, which, when executed by a processor, causes a computing device or a processor to execute a method as provided in the first aspect and any possible design method in the first aspect, or to execute a method as provided in the second aspect and any possible design method in the second aspect.

[0052] It can be understood that any of the message transmission devices, systems, computing device clusters, computer-readable storage media, computer program products or chips provided above can be applied to the corresponding methods provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding methods and will not be repeated here.

[0053] In this application, the names of the above-mentioned message transmission device, message transmission system, etc. do not limit the devices or functional modules themselves. In actual implementation, these devices or functional modules may appear with other names. As long as the functions of each device or functional module are similar to those of this application, they all fall within the protection scope of this application. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 It is a schematic diagram of an implementation environment of the method provided in the embodiment of the present application;

[0055] Figure 2 It is a schematic diagram of another implementation environment of the method provided in the embodiment of the present application;

[0056] Figure 3 It is a flowchart of a message transmission method provided in an embodiment of the present application;

[0057] Figure 4 is a schematic diagram of obtaining a first address provided in an embodiment of the present application;

[0058] Figure 5 It is a flowchart of another message transmission method provided in an embodiment of the present application;

[0059] Figure 6 This is a schematic diagram of a process of a client registering as a registered user of a target service provided by an embodiment of the present application;

[0060] Figure 7 is a schematic diagram of a portal service access page provided in an embodiment of the present application;

[0061] Figure 8 This is a schematic diagram of a client outputting registration page related information provided by an embodiment of the present application;

[0062] Fig. 9 It is a process schematic diagram of a message transmission method provided by an embodiment of the present application;

[0063] Fig.10 It is a structural schematic diagram of a message transmission device provided in an embodiment of the present application;

[0064] Fig.11 It is a structural schematic diagram of another message transmission device provided in an embodiment of the present application;

[0065] Fig.12 is a schematic diagram of the structure of a computing device provided in an embodiment of the present application;

[0066] Fig.13 is a schematic diagram of the structure of a computing device cluster provided in an embodiment of the present application;

[0067] Fig.14This is a network connection diagram of one or more computing devices in a computing device cluster provided in an embodiment of the present application. DETAILED DESCRIPTION

[0068] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.

[0069] To facilitate understanding, the technology and background involved in the embodiments of the present application are first explained below.

[0070] 1) Distributed denial of service (DDOS) attacks

[0071] A DDOS attack generally refers to a network attack that uses reasonable service requests to occupy too many service resources, thereby preventing legitimate users from receiving service responses.

[0072] Common but difficult to defend DDOS attacks include but are not limited to the following:

[0073] A. Elephant flow attack: refers to an attack that accesses the target service in large quantities and continuously through a network connection. Since the elephant flow attack focuses on a network connection, it is difficult to divert it to multiple central processing units (CPUs) for prevention;

[0074] B. Real source attack: refers to the use of many real hosts as attack sources to carry out attacks, so the attack behavior of these hosts is difficult to distinguish from normal and legitimate users;

[0075] C. Segment sweeping attack: Between the elephant flow attack and the real source attack, the segment sweeping attack performs a scanning attack on continuous Internet protocol (IP) address segments. Therefore, the traffic of the segment sweeping attack is dispersed on multiple target IP addresses. The traffic of attacking each target IP address is not large, but the traffic of attacking all target IP addresses added together is very large. It is generally difficult to discover the attack pattern and prevent it.

[0076] Among the current mainstream DDOS attacks, the gaming industry accounts for about half of the attacks. Secondly, the targets of DDOS attacks include corporate websites, e-commerce networks, etc. Among them, the network access characteristics of corporate websites are generally that any source IP address or user can access it, and users or source IPs accessing the network do not need to register in advance. The network access characteristics of gaming networks and e-commerce networks are that users or source IPs need to be registered in advance, and only users or source IPs that have successfully registered can access it.

[0077] 2) Network address translation (NAT)

[0078] NAT is a technology used to use private addresses in a local network and use global IP addresses when connecting to the Internet.

[0079] For example, when a host in a local network sends a message to the Internet, the local network uses NAT on a border device located at the network boundary to convert the source address of the message into the global IP address of the local network in the Internet, and the source address before NAT in the message is the private address of the host in the local network. For another example, when a message from the Internet is sent to a host in a local network, the local network uses NAT on a border device located at the network boundary to convert the destination address of the message into the private address of the host in the local network, and the destination address before NAT in the message is the global IP address of the local network in the Internet.

[0080] 3) Closed network

[0081] A closed network refers to a network in which the connections between nodes are relatively closed, that is, the connections between nodes are relatively independent and restricted. In a closed network, the connection relationship between nodes is usually determined in advance, and communication is often only allowed between specific nodes. This network structure is common in some private networks and local area networks, such as internal networks within enterprises, home networks, etc.

[0082] Currently, the prevention of DDOS attacks usually requires a large amount of CPU to participate in analysis and processing, so whether it is through the general computing resources and network resources on the cloud or the server, the consumption of preventing and processing DDOS attacks is very large. In addition, due to the characteristics of the Internet Protocol version 4 (IPv4) address, it is difficult to prevent the scanning attack based on the IPv4 address. In addition, IPv4 addresses are expensive and costly.

[0083] In some related technologies, the service message sent by the client to the server carries the features pre-negotiated by the client and the server. The forwarding node identifies the features carried in the service message, thereby filtering out normal service traffic and forwarding it, and blocking abnormal traffic, thereby achieving the purpose of preventing DDOS attacks. However, this method needs to be implemented at the application layer, so the forwarding node (such as a router or gateway) that executes this method has a high processing cost for identifying the features in the service message.

[0084] In other related technologies, a tunnel is built between the client and the server. When the server detects a DDOS attack, the tunnel between the client and the server is migrated. Since the inner destination IP of the service message transmitted through the tunnel remains unchanged, this method can ensure the client's service continuity experience. However, building a tunnel between the client and the server and migrating the tunnel in the event of a DDOS attack have high requirements on the network and are relatively complex in technical implementation.

[0085] In some related technologies, the server that provides services to the client deploys access gateways (or service gateways) in multiple regional locations, such as multi-cloud deployment, so that when a certain access gateway of the server detects a DDOS attack, the service packets accessing the services provided by the server are instructed to bypass the access gateway and access the services provided by the server through other access gateways. However, this method is complex to manage and has high costs.

[0086] Based on this, an embodiment of the present application provides a message transmission method, which pre-configures multiple Internet Protocol version 6 (IPv6) addresses (recorded as pre-configured addresses) for a target service, and detects whether the destination address of a target service message accessing the target service is a pre-configured address pre-issued to a client that initiates the target service message, and, when it is determined that the destination address of the target service message is a pre-configured address pre-issued to a client that initiates the target service message, the target service message is forwarded normally, for example, the target service message is sent to a server that provides the target service. Through this method, since the IPv6 address space is huge and many of them are idle addresses, when a large number of pre-configured addresses are allocated to a server that provides the target service using the huge IPv6 address space, when the attack source attacks the target service provided by the server through a direct DDOS sweep attack, the direct DDOS sweep attack cannot be effectively carried out.

[0087] refer to Figure 1 , Figure 1 Schematic diagram of an implementation environment of the method provided in the embodiment of the present application. Figure 1 As shown, the implementation environment is implemented as a message transmission system including a client and a server. The client transmits a service message to the server through a network (such as the Internet) to access the service provided by the server. Optionally, Figure 1 The network to which the client belongs and the network to which the server belongs can be the same or different. Figure 1When the network to which the client belongs is the same as the network to which the server belongs, it indicates that the network to which the client and the server belong is a closed network. By applying the method provided in the embodiment of the present application in the system, when the client accesses the server through a service message, when the attack source attacks the service provided by the server through a direct DDOS sweep attack, the direct DDOS sweep attack cannot be effectively carried out.

[0088] Exemplarily, the server includes but is not limited to an application server that provides any one or more services, and the services provided by the application server include but are not limited to game services, e-commerce services, media services, social services, etc. Another exemplary example, the client includes but is not limited to a mobile phone, laptop computer, tablet, desktop computer, vehicle-mounted device or other smart device, etc., which provides client functions.

[0089] Exemplarily, the service provided by the application server may be run on at least one server in at least one cloud data center located in one of the multiple regions, and this is not limited to this.

[0090] refer to Figure 2 , Figure 2 Schematic diagram of another implementation environment of the method provided in the embodiment of the present application. Figure 1 ,like Figure 2 As shown, the server of the message transmission system only provides services to registered users. Therefore, the client can first access the registration service through the portal service (such as the portal website of the game application, etc.) of the service provided by the server (such as the target service) to register as a registered user of the service provided by the server, and then the client accesses the target service as a registered user. When the method provided in the embodiment of the present application is applied when the client accesses the target service as a registered user, the direct DDOS sweep attack cannot be effectively carried out when the attack source attacks the target service through a direct DDOS sweep attack. Among them, the portal service is provided by a portal service device, such as a portal server. The registration service is provided by a registration service device, such as a registration server.

[0091] It should be understood that the above content is an illustrative description of the implementation environment of the method provided in the embodiment of the present application, and does not constitute a limitation on the implementation environment of the method. A person of ordinary skill in the art can know that as business needs change, the implementation environment can be adjusted according to application requirements, and the embodiments of the present application do not list them one by one.

[0092] The embodiment of the present application also provides a message transmission device, which can be implemented by hardware and / or software, and can be applied to the security module of the server or the client accessing the service provided by the server, so that the security module of the server and the client perform the corresponding steps of the method described below. As an example, the server can be Figure 1 or Figure 2 The server is shown, and the client can be Figure 1 or Figure 2 The client shown.

[0093] When the message transmission device is applied to the security module of the server, the message transmission device can be implemented as a security module deployed in the server or a functional module in the security module. Exemplarily, the security module is a firewall installed in the server, in which case the message transmission device can be implemented as a functional module of the firewall.

[0094] Alternatively, when the message transmission device is applied to the security module of the server, the message transmission device can also be implemented as a forwarding node or a functional module in the forwarding node that forwards the service message from the client to the server, without limitation. The forwarding node can be any node / device with message forwarding processing capability. As an example, the forwarding node is a network device such as a router, switch, gateway, etc. on the communication link from the client to the server, without limitation thereto.

[0095] When the message transmission device is applied to a client accessing services provided by a server, the device may be a terminal device for implementing client functions, or a functional module in the terminal device, without limitation. The terminal device includes but is not limited to a mobile phone, a laptop computer, a tablet, a desktop computer, a vehicle-mounted device, or other smart devices.

[0096] The following describes the implementation process of the message transmission method provided in the embodiment of the present application.

[0097] refer to Figure 3 , Figure 3 The following is a flow chart of a message transmission method provided by an embodiment of the present application. Optionally, the method can be applied to Figure 1 or Figure 2 For the sake of simplicity, the following description is given by taking the client accessing a service provided by the server (referred to as the target service) and the security module of the server executing the corresponding steps of the method described in the embodiment of the present application as an example. Optionally, the target service can be run on at least one server in at least one cloud data center located in one of the multiple regions. Figure 3 As shown, the method includes the following steps.

[0098] Step 101: The client obtains a destination address of a target service message to be sent, where the destination address is one of preconfigured addresses, and the preconfigured address is an IPv6 address configured for the client to access a target service.

[0099] The client is a registered user of the target service provided by the server. The client can access the target service provided by the server by accessing the pre-configured address. Exemplary target services include but are not limited to game services, e-commerce services, media services, social services, etc.

[0100] In the embodiment of the present application, the preconfigured address is an IPv6 address with a length of 128 bits. Since the address space of IPv6 addresses is huge, the address space that can be allocated to the target service by the method of the embodiment of the present application is huge, so that when the attack source attacks the target service provided by the server through a direct DDOS sweep attack, the direct DDOS sweep attack cannot be carried out effectively.

[0101] For any preconfigured address, the preconfigured address is composed of a preset field and a verification field. Therefore, when the length of the preset field is x bits, the length of the verification field is y=(128-x) bits.

[0102] Among them, the embodiment of the present application configures at least one preset field for the target service. In some examples, the preset field is the network prefix of the network where the server providing the target service is located (such as a network prefix with a length of 64 bits or 96 bits), or the preset field is composed of the network prefix of the network where the server providing the target service is located and the subnet address of the server in the network (such as a subnet address with a length of 16 bits or 32 bits), without limitation. Optionally, different preset fields configured for the target service can be used to configure preconfigured addresses for clients located in different regions to access the target service.

[0103] In addition, the verification field in the preconfigured address can be calculated based on any of the following preset rules. Taking the length of the verification field as y bits as an example, the preset rules include but are not limited to: (1) the verification field is calculated based on the y bits in the source address of the client accessing the target service, the preset value of the length of y bits, and any logical operation algorithm; (2) the verification field is calculated based on the y bits in the preset field configured for the target service, the preset value of the length of y bits, and any logical operation algorithm; (3) the verification field is calculated based on the y bits in the source address of the client accessing the target service, the y bits in the preset field configured for the target service, and any logical operation algorithm. It can be seen that the preset rules are used to determine the verification field in the preconfigured address based on logical operations. Among them, the logical operation includes but is not limited to logical AND operation, logical OR operation, or logical XOR operation, etc. The source address of the client accessing the target service can be a 32-bit IPv4 address or a 128-bit IPv6 address, which is not limited to this. In addition, the y bit in the client source address (or the preset field configured for the target service) can be the high y bit in the client source address (or the preset field configured for the target service), or the low y bit in the client source address (or the preset field configured for the target service), or the middle y bit in the client source address (or the preset field configured for the target service). It should be understood that the y bit in the client source address (or the preset field configured for the target service) can be continuous y bits in the client source address (or the preset field configured for the target service), or discontinuous y bits, and there is no limitation on this. In addition, the embodiments of the present application do not specifically limit the above-mentioned preset value.

[0104] Taking the pre-configured address as the destination address of the target service message as an example, the destination address is composed of a first preset field configured for the target service and a first verification field calculated according to a first preset rule. Figure 4 , Figure 4 FIG. 4 shows a schematic diagram of obtaining a first address. Figure 4 As shown, when the source address of the client accessing the target service using the first address is a, the first preset field is the network prefix of the network where the server providing the target service is located (recorded as the server network prefix) b, the length x of b is 96 bits, the length y of the first verification field is (128-96=32) bits, and the first preset rule is based on the low y bits in the source address of the client accessing the target service, the low y bits in the first preset field configured for the target service, and the logical exclusive OR (symbol is ) operation to obtain the validation field, the first validation field Then the first address is formed by concatenating b and c. It should be understood that when x is 32 bits, the length of c is also 32 bits.

[0105] In the embodiment of the present application, the preset rule for calculating a verification field in a preconfigured address and the preset field in the preconfigured address are referred to as a set of preset rules and preset fields having a corresponding relationship, and are recorded as a combination. For example, the first preset rule for calculating a first verification field in a destination address of a target service message and the first preset field in the destination address are referred to as a first combination, and there is a corresponding relationship between the first preset rule and the first preset field in the first combination.

[0106] Specifically, when the client needs to access the target service provided by the server, it obtains the destination address of the target service message.

[0107] In the first possible implementation, the client obtains the destination address of the target service message, including: after the client determines that it has registered as a registered user of the target service, it obtains the first preset rule, determines the first verification field according to the obtained first preset rule, and determines the destination address of the target service message according to the first verification field. Among them, the first preset rule is used to determine the verification field (such as the first verification field) in the preconfigured address based on a logical operation, and the first verification field is used to verify whether the destination address of the target service message is the preconfigured address. The following describes the process of the client obtaining the destination address of the target service message under different situations (including situation 1 to situation 4) of this implementation.

[0108] Case 1: Multiple combinations corresponding to the target service are preset in the client, and each combination includes one preset rule among multiple preset rules and one preset field among multiple preset fields configured for the target service. In this case, the client obtains the first preset rule, including: selecting a combination from the preset multiple combinations as the first combination according to the first strategy, and determining the preset rule in the first combination as the first preset rule, and determining the preset field in the first combination as the first preset field. Furthermore, after the client determines the first verification field according to the first preset rule, the client determines the destination address of the target business message according to the first verification field, including: concatenating the first preset field and the first verification field to obtain the destination address of the target business message. Among them, the process of the client determining the first verification field according to the first preset rule can be referred to. Figure 4 The relevant description of is not repeated. In addition, the embodiment of the present application does not specifically limit the first strategy. For example, the first strategy is a polling strategy. For another example, the first strategy includes: selecting combination 1 in time period 1, selecting combination 2 in time period 2, etc. It is not limited thereto.

[0109] In some examples, when the client accessing the target service and the server providing the target service belong to the same closed network, the client can obtain the destination address of the target service message in the manner described in Case 1.

[0110] Case 2: Multiple preset rules are preset in the client, and multiple preset fields configured for the target service are preset in the network control device or registration service device of the network where the server is located, or multiple preset fields corresponding to the domain name of the target service are preset in the domain name system (DNS), and the multiple preset fields corresponding to the domain name of the target service are multiple preset fields configured for the target service. Among them, the network control device is a network control device of the network where the server providing the target service is located. The registration service device is used to provide user registration services for one or more services including the target service. In this case, the client obtains the first preset rule, including: selecting a preset rule from the preset multiple preset rules as the first preset rule according to the second strategy. Then, the client sends an address acquisition request to the DNS, and the request carries the domain name of the target service and the first preset rule. In this way, the DNS queries multiple preset fields corresponding to the domain name according to the domain name of the target service carried in the address acquisition request, and selects a preset field from the multiple preset fields as the first preset field according to the third strategy and returns it to the client, and the DNS also sends the selected first preset field and the received first preset rule as a first combination to the gateway of the server providing the target service. Alternatively, the client sends an address acquisition request to the aforementioned network control device (or registration service device), the request carrying an identifier (ID) of the target service and a first preset rule, so that the network control device (or registration service device) queries multiple preset fields configured for the target service according to the ID of the target service carried in the address acquisition request, and selects a preset field from the multiple preset fields as the first preset field according to the third strategy and returns it to the client, and the network control device (or registration service device) also sends the selected first preset field and the received first preset rule as a first combination to the gateway of the server providing the target service. In response, the client receives the first preset field returned by the DNS or the network control device (or registration service device), and the gateway of the server receives the first combination. Furthermore, after the client determines the first verification field according to the first preset rule, the client determines the destination address of the target service message according to the first verification field, including: splicing the first preset field and the first verification field to obtain the destination address of the target service message. Among them, the description of the second strategy and the third strategy refers to the description of the first strategy, which is not repeated here. It should be understood that the second strategy and the third strategy may be the same as the first strategy or may be different, and this is not limited. For example, the second strategy or the third strategy is a polling strategy. For another example, the second strategy includes: selecting preset rule 1 in time period 1, selecting preset rule 2 in time period 2, etc. For another example, the third strategy includes: selecting preset field 1 in time period 1, selecting preset field 2 in time period 2, etc.For another example, the third strategy includes: when the client is located in area 1, select preset field 1; when the client is located in area 2, select preset field 2, and so on.

[0111] Case 3: the client has multiple preset fields configured for the target service, and the network control device or registration service device of the network where the server is located has multiple preset rules preset, or the DNS has multiple preset rules corresponding to the domain name of the target service preset. In this case, the client obtains the first preset rule, including: the client selects a preset field from a plurality of preset fields as the first preset field according to the third strategy; then, the client sends an address acquisition request to the DNS, the request carrying the domain name of the target service and the first preset field, so that the DNS queries multiple preset rules corresponding to the domain name according to the domain name of the target service carried in the address acquisition request, and selects a preset rule from the multiple preset rules as the first preset rule according to the second strategy and returns it to the client, and the DNS also sends the selected first preset rule and the received first preset field as a first combination to the gateway of the service end providing the target service; or, the client sends an address acquisition request to the aforementioned network control device (or registration service device), the request carrying the first preset field, so that the network control device (or registration service device) responds to the address acquisition request, selects a preset rule from the multiple preset rules according to the second strategy and returns it to the client, and the network control device (or registration service device) also sends the selected first preset rule and the received first preset field as a first combination to the gateway of the service end providing the target service. In response, the client receives the first preset rule returned by the DNS or the network control device (or the registration service device). The gateway of the server receives the first combination. Furthermore, after the client determines the first verification field according to the received first preset rule, the client determines the destination address of the target service message according to the first verification field, including: concatenating the first preset field and the first verification field to obtain the destination address of the target service message. Among them, the description of the second strategy and the third strategy refers to the above, which will not be repeated here.

[0112] Case 4: Multiple combinations corresponding to the target service are preset in the network control device, registration service device or DNS of the network where the server is located, and each combination includes one preset rule among multiple preset rules and one preset field of multiple preset fields configured for the target service. In this case, the client obtains the first preset rule, including: the client sends an address acquisition request to the DNS, and the request carries the domain name of the target service, so that the DNS queries multiple combinations corresponding to the target service represented by the domain name according to the domain name of the target service carried in the address acquisition request, and then selects one combination from the multiple combinations as the first combination according to the first strategy, and sends the first combination to the client and the gateway of the server providing the target service; or, the client sends an address acquisition request to the aforementioned network control device (or registration service device), and the request carries the ID of the target service, so that the network control device (or registration service device) queries multiple combinations corresponding to the target service represented by the ID according to the ID of the target service carried in the address acquisition request, and then selects one combination from the multiple combinations as the first combination according to the first strategy, and sends the first combination to the client and the gateway of the server providing the target service. In response, the gateways of the client and the server both receive the first combination sent by the DNS or the network control device (or the registration service device). Thus, the client determines the preset field in the received first combination as the first preset field, and determines the preset rule in the first combination as the first preset rule. Furthermore, after the client determines the first verification field according to the first preset rule, the client determines the destination address of the target business message according to the first verification field, including: concatenating the first preset field and the first verification field to obtain the destination address of the target business message. Among them, the description of the first strategy refers to the above and is not repeated here.

[0113] A second possible implementation method is that a plurality of preconfigured addresses configured for the target service are preset in the client, and the plurality of preconfigured addresses may be a plurality of discrete IPv6 addresses, or one or more continuous IPv6 addresses. In this case, the client obtains the destination address of the target service message, including: after the client determines that it has registered as a registered user of the target service, the client selects a preconfigured address from the preset plurality of preconfigured addresses as the destination address of the target service message according to a fourth strategy. Among them, the fourth strategy and the above-mentioned first strategy, second strategy, and third strategy may be the same or different (such as the fourth strategy is a random selection strategy, etc.), and the detailed description can be referred to the above description, which will not be repeated here. In some examples, when the client accessing the target service and the server providing the target service belong to the same closed network, the client can adopt this implementation method to obtain the destination address of the target service message.

[0114] In a third possible implementation, the client obtains the destination address of the target service message, including: after the client determines that it has registered as a registered user of the target service, the client directly obtains the destination address of the target service message from the DNS, the above-mentioned network control device or the registration service device. The following describes the process of the client directly obtaining the destination address of the target service message from the DNS, the above-mentioned network control device or the registration service device under different situations (including situation 5 to situation 7) in this implementation.

[0115] Case 5: Multiple preconfigured addresses configured for the target service are preset in the DNS, the above-mentioned network control device or the registration service device. The multiple preconfigured addresses can be multiple discrete IPv6 addresses, or one or more continuous IPv6 addresses, but are not limited thereto. In this case, the client directly obtains the destination address of the target service message from the DNS, the above-mentioned network control device or the registration service device, including: the client sends an address acquisition request to the DNS, the request carries the domain name of the target service, so that the DNS queries multiple preconfigured addresses configured for the target service represented by the domain name according to the domain name carried in the address acquisition request, and selects a preconfigured address from the multiple preconfigured addresses according to the fourth strategy as the destination address of the target service message and returns it to the client, and sends the preconfigured address as the destination address of the target service message to the gateway of the server providing the target service; or, the client sends an address acquisition request to the network control device (or registration service device), the request carries the ID of the target service, so that the network control device (or registration service device) queries multiple preconfigured addresses configured for the target service represented by the ID according to the ID of the target service carried in the address acquisition request, and selects a preconfigured address from the multiple preconfigured addresses according to the fourth strategy as the destination address of the target service message and returns it to the client, and sends the preconfigured address as the destination address of the target service message to the gateway of the server providing the target service. In response, the gateways of the client and the server both receive the pre-configured address sent by the DNS, the network control device or the registration service device as the destination address of the target service message.

[0116] Case 6: Multiple combinations corresponding to the target service are preset in the DNS, the above-mentioned network control device or the registration service device, and each combination includes one of the multiple preset rules and one of the multiple preset fields configured for the target service. In this case, the client directly obtains the destination address of the target service message from the DNS, the above-mentioned network control device or the registration service device, including: the client sends an address acquisition request to the DNS, and the request carries the domain name of the target service. In this way, the DNS queries multiple combinations corresponding to the target service represented by the domain name according to the domain name carried in the address acquisition request, and selects one combination from the multiple combinations as the first combination according to the first strategy. Then, the DNS determines the first verification field according to the first preset rule in the first combination, and splices the first verification field and the first preset field in the first combination to obtain the destination address of the target service message. Then, the DNS returns the destination address to the client, and the DNS also sends the first combination or the destination address to the gateway of the server providing the target service; or the client sends a query to the network. The control device (or registration service device) sends an address acquisition request, which carries the ID of the target service. In this way, the network control device (or registration service device) queries multiple combinations corresponding to the target service represented by the ID according to the ID of the target service carried in the address acquisition request, and selects a combination from the multiple combinations as the first combination according to the first strategy. Then, the network control device (or registration service device) determines the first verification field according to the first preset rule in the first combination, and splices the first verification field and the first preset field in the first combination to obtain the destination address of the target service message. Then, the network control device (or registration service device) returns the destination address to the client, and the network control device (or registration service device) also sends the first combination or the destination address to the gateway of the service end providing the target service. In response, the client receives the destination address returned by the DNS, the network control device or the registration service device, and the gateway of the service end receives the first combination or the destination address sent by the DNS, the network control device or the registration service device.

[0117] Case 7, each combination corresponding to the target service includes one of the above-mentioned preset rules and a preset field. For any combination, the preset rule and preset field in the combination are called two elements in the combination (recorded as the first element and the second element). In this case, when multiple first elements are preset in the client, and multiple second elements are preset in the DNS, the above-mentioned network control device or the registration service device, the client directly obtains the destination address of the target service message from the DNS, the above-mentioned network control device or the registration service device, including: the client selects a first element from the preset multiple first elements according to the fifth strategy; in one example, the client then sends an address acquisition request to the DNS, which carries the domain name of the target service and the first element selected by the client. In this way, the DNS queries the multiple second elements corresponding to the target service represented by the domain name carried in the address acquisition request, and selects a second element from the multiple second elements according to the sixth strategy. Then, the DNS determines the destination address of the target service message based on the first combination composed of the received first element and the selected second element, and then the DNS returns the destination address to the client. , and, the DNS also sends the first combination or the destination address to the gateway of the server providing the target service; in another example, the client sends an address acquisition request to the network control device (or registration service device), the request carries the ID of the target service and the first element selected by the client, so that the network control device queries multiple second elements corresponding to the target service represented by the ID according to the ID of the target service carried in the address acquisition request, and selects a second element from the multiple second elements according to the sixth strategy, then, the network control device (or registration service device) determines the destination address of the target service message according to the first combination of the received first element and the selected second element, and then, the network control device (or registration service device) returns the destination address to the client, and, the network control device (or registration service device) also sends the first combination or the destination address to the gateway of the server providing the target service. In response, the client receives the destination address returned by the DNS, the network control device or the registration service device, and the gateway of the server receives the first combination or the destination address sent by the DNS, the network control device or the registration service device. Among them, the detailed description of the fifth strategy and the sixth strategy can refer to the above description of the first strategy, the second strategy, the third strategy and the fourth strategy, which will not be repeated here.

[0118] It should be understood that, when in the first possible implementation, the first preset rule obtained by the client is the first preset rule received from the DNS, the network control device or the registration service device, then when the preset duration is reached, the client can also receive the second preset rule, and the second preset rule is the preset rule after the first preset rule is updated. Alternatively, when the first preset field obtained by the client is the first preset field received from the DNS, the network control device or the registration service device, then when the preset duration is reached, the client can also receive the second preset rule and / or the second preset field. Among them, the second preset rule is the preset rule after the first preset rule is updated, and the second preset field is a field different from the first preset field. Furthermore, the client can determine the second verification field according to the second preset rule, and determine another destination address of the target service message according to the second verification field and the second preset field. Among them, the embodiment of the present application does not specifically limit the value of the preset duration.

[0119] In this way, when the client receives the preset rules and / or preset fields at regular intervals of a preset time, it can periodically obtain different preconfigured addresses for accessing the target service. In this way, when the client accesses the target service, it can regularly update the preconfigured address used as the destination address when accessing the target service. In this way, it is difficult for an attacker to accurately parse the access address of the target service and launch an attack against it.

[0120] When, in the second possible implementation, the client obtains the destination address of the target service message from the multiple pre-configured addresses preset by itself, when the preset time period is reached, the client obtains another destination address of the target service message from the multiple pre-configured addresses preset by itself. When, in the third possible implementation, the client directly obtains the destination address of the target service message from the DNS, the above-mentioned network control device or the registration service device, when the preset time period is reached, the client obtains another destination address of the target service message from the DNS, the above-mentioned network control device or the registration service device.

[0121] In this way, when the client directly obtains the preconfigured address for accessing the target service at regular intervals of a preset duration, it can periodically obtain different preconfigured addresses for accessing the target service. In this way, when the client accesses the target service, it can regularly update the preconfigured address used as the destination address when accessing the target service. In this way, it is difficult for an attacker to accurately parse the access address of the target service and launch an attack against it.

[0122] It should be noted that each time the client obtains a pre-configured address for accessing the target service from another device (such as a DNS, a network control device, a registration service device, etc.), and there are multiple pre-configured addresses for accessing the target service pre-set in the other device, the other device simultaneously sends the pre-configured address sent to the client to the gateway of the server providing the target service. Each time the client obtains a pre-configured address for accessing the target service from another device, and there is a preset rule and / or a preset field for determining the pre-configured address pre-set in the other device, the other device simultaneously sends the pre-configured address sent to the client to the gateway of the server providing the target service, or the other device simultaneously sends a combination including the preset rule and / or the preset field sent to the client to the gateway of the server providing the target service. For the detailed description, reference can be made to the relevant descriptions in "The First Possible Implementation Manner" to "The Third Possible Implementation Manner", which will not be elaborated here.

[0123] The fourth possible implementation manner: When the client first needs to access the target service, it needs to first obtain the access address of the registration service of the target service and register through the registration service to become a registered user of the target service. Then, the registration service device configures and actively sends down the destination address of the target service message for the client that has become a registered user of the target service. Or, the registration service device instructs the DNS or the network control device to configure and actively send down the destination address of the target service message for the client that has become a registered user of the target service. In response, the client can obtain the destination address of the target service message sent down by the registration service device, the DNS or the network control device. Among them, the registration service device is used to provide user registration services for one or more services including the target service. For example, the registration service device is a registration server that provides user registration functions for the service. Among them, the detailed process of the client obtaining the access address of the registration service and registering through the registration service to become a registered user of the target service is described below and will not be elaborated here. In this way, by only sending down the pre-configured address of the target service to the registered user, the real source attack in the DDOS attack can be avoided. Taking the registration service device actively configuring and sending down the destination address of the target service message for the client as an example, the process of the registration service device sending down the destination address of the target service message in the following different situations (including Situation 8 to Situation 10) will be described.

[0124] In case 8, the registration service device is pre-set with multiple pre-configured addresses configured for the target service, so that after registering the client as a registered user of the target service, the registration service device selects an address from the multiple pre-configured addresses according to the fourth strategy as the destination address of the target service message and sends it to the client, and sends the destination address to the gateway of the service end providing the target service. In response, the client and the gateway of the service end receive the destination address of the target service message for accessing the target service.

[0125] Optionally, after registering the client as a registered user of the target service, the registration service device can periodically select different preconfigured addresses from multiple preconfigured addresses according to the fourth strategy as the destination address of the target service message and send them to the gateway of the client and the server. In response, the gateway of the client and the server can periodically receive different preconfigured addresses for accessing the target service. Thus, when the client needs to access the target service, the most recently received preconfigured address is determined as the destination address of the target service message.

[0126] Case 9: Multiple combinations corresponding to the target service are preset in the registration service device, and each combination includes one preset rule among multiple preset rules and one preset field among multiple preset fields configured for the target service. In this case, after the registration service device registers the client as a registered user of the target service, the registration service device selects a combination as a target combination (such as a first combination) from the multiple combinations corresponding to the target service according to the first strategy, and determines a preconfigured address as the destination address of the target business message according to the preset rules and preset fields in the target combination, and sends the preconfigured address to the client and the gateway of the server that provides the target service. In response, the client and the gateway of the server receive a preconfigured address for accessing the target service. Among them, the process of the registration service device determining the first preconfigured address according to the preset rules and preset fields of the target combination can refer to the above. Figure 4 The description of determining the destination address of the target service message is omitted here.

[0127] Optionally, after registering the client as a registered user of the target service, the registration service device may also periodically determine different target combinations according to the first strategy, and determine a preconfigured address as the destination address of the target service message according to the preset rules and preset fields in the target combination determined in each cycle, and send the preconfigured address determined in each cycle to the client and the gateway of the server that provides the target service. In response, the client and the gateway of the server periodically receive the preconfigured address for accessing the target service sent by the registration service device. Thus, when the client needs to access the target service, it determines the most recently received preconfigured address as the destination address of the target service message.

[0128] Case 10, multiple combinations corresponding to the target service are preset in the registration service device, and each combination includes a preset rule among multiple preset rules and a preset field of multiple preset fields configured for the target service. In this case, after the registration service device registers the client as a registered user of the target service, the registration service device selects a combination as a target combination (such as a first combination) from the multiple combinations corresponding to the target service according to the first strategy, and sends the target combination to the client and the gateway of the server that provides the target service. In response, the client and the gateway of the server receive the target combination. Furthermore, the client can determine the verification field according to the preset rules in the received target combination, and splice the verification field and the preset field in the target combination, so as to obtain a preconfigured address for accessing the target service, and the preconfigured address is used as the destination address of the target service message.

[0129] Optionally, after registering the client as a registered user of the target service, the registration service device may also periodically select different target combinations from multiple combinations corresponding to the target service according to the first strategy, and send the target combination selected in each cycle to the client and the gateway of the server that provides the target service. In response, the client and the gateway of the server periodically receive different target combinations. Thus, when the client needs to access the target service, it determines the most recently received target combination as the first combination, and determines the destination address of the target service message according to the first preset field and the first preset rule in the first combination.

[0130] It can be understood that in a scenario where the server only provides the target service to registered users of the target service, when the registration service device periodically sends a preconfigured address to the client, and / or sends a combination of preset rules and preset fields, the embodiment of the present application does not limit the specific value of the period duration.

[0131] As can be seen from the above, when the server only provides services to registered users of the target service, different registered users obtain different pre-configured addresses as the destination addresses of the target service messages. Therefore, even if a large number of registered users access the target service at the same time, since the pre-configured addresses obtained by these registered users for accessing the target service are different, a network connection (such as a transmission control protocol (TCP) connection or a user datagram protocol (UDP) connection) is established between each of these registered users and the server providing the target service, so that the traffic accessing the target service can be dispersed on the network connection between different registered users and the server providing the target service, and then the server can disperse the traffic accessing the target service but located on different network connections on multiple CPUs for concurrent processing, which can alleviate the elephant flow attack in the DDOS attack.

[0132] Optionally, in some embodiments, when the client obtains the destination address of the target service message, it also obtains the destination port and / or communication protocol type used when accessing the target service, wherein the destination port and / or communication protocol type corresponds to the destination address of the target service message. The following describes the process of the client obtaining the destination port and / or communication protocol type corresponding to the destination address of the target service message through Examples 1 to 4.

[0133] Example 1: In each of the multiple combinations corresponding to the target service preset by the client, in addition to including a preset rule and a preset field configured for the target service, it also includes a port and / or a communication protocol type configured for the target service. In this way, when the client selects the first combination from the preset combinations, the port in the first combination is determined as the destination port corresponding to the destination address of the target service message, and the communication protocol type in the first combination is determined as the communication protocol type corresponding to the destination address of the target service message.

[0134] Example 2: Each of the multiple preconfigured addresses preset by the client is configured with a corresponding port and / or communication protocol type. In this way, when the client selects the destination address of the target service message from the preset preconfigured addresses, it can also determine the port and / or communication protocol type corresponding to the destination address of the target service message.

[0135] Example 3: In each of the multiple combinations corresponding to the target service preset in devices such as DNS / network control device / registration service device, in addition to a preset rule and a preset field configured for the target service, it also includes a port and / or a communication protocol type configured for the target service. In this way, the client can obtain a combination preset by these devices from devices such as DNS / network control device / registration service device, such as the first combination, so that the client determines the port in the first combination as the destination port corresponding to the destination address of the target business message, and determines the communication protocol type in the first combination as the communication protocol type corresponding to the destination address of the target business message.

[0136] Example 4: Each of the multiple preconfigured addresses preset by the DNS / network control device / registration service device and other devices is configured with a corresponding port and / or communication protocol type. In this way, when the client obtains a preconfigured address preset in the DNS / network control device / registration service device and other devices as the destination address of the service message, it also obtains the port and / or communication protocol type corresponding to the preconfigured address from the DNS / network control device / registration service device and other devices.

[0137] It should be noted that the above examples 1 to 4 are only limited examples and do not constitute a limitation on the protection scope of the examples of this application. Any method that enables the client to obtain the port and / or communication protocol type corresponding to the preconfigured address, or any method that enables the client to obtain a combination of a preset rule and a preset field that also includes a port and / or a communication protocol type, is within the protection scope of the embodiments of this application.

[0138] Step 102: The client sends a target service message, where the target service message is used to access a target service.

[0139] The client first generates a target service message based on the service content / data and the destination address of the target service message that is newly acquired, and sends the target service message. Since the destination address of the target service message is one of the pre-configured addresses configured by the target service, the target service message is used to access the target service.

[0140] Optionally, when the client also obtains the destination port and / or communication protocol type corresponding to the destination address of the target service message in step 101, the IP header of the target service message also includes the destination port and / or communication protocol type.

[0141] Exemplarily, the client sends the target service message through its own communication interface.

[0142] Step 103: The security module of the server receives the target service message sent by the client.

[0143] Taking the example that the security module of the server is implemented by a gateway deployed on the server (referred to as a service gateway), in response to step 102, the service gateway receives the target service message sent by the client through its own communication interface.

[0144] Step 104: The security module of the server verifies the destination address of the target service message according to the verification field included in the destination address of the target service message to determine that the destination address of the target service message is a preconfigured address, and sends the target service message to the server.

[0145] For a detailed description of the preconfigured address, please refer to the relevant description of step 101, which will not be repeated here.

[0146] Taking the example that the security module of the service end is implemented by the service gateway, in the embodiment of the present application, the service gateway pre-acquires at least one combination corresponding to the target service, and / or the service gateway pre-acquires at least one pre-configured address configured for the target service. Among them, each combination corresponding to the target service includes a preset rule among multiple preset rules and a preset field of multiple preset fields configured for the target service. The set consisting of multiple pre-configured addresses pre-acquired in the service gateway is called a release list.

[0147] Exemplarily, in some possible situations, when multiple combinations corresponding to the target service are pre-set in the client, such as situation 1 described above, the server is also pre-configured (such as manually configured) with the multiple combinations. In other possible situations, such as situations 2 to 10 described above, the service gateway is able to receive a combination or pre-configured address corresponding to the target service sent by a DNS, a network control device, or a registration service device. For detailed descriptions, refer to the relevant descriptions of situations 2 to 10 above. In some other possible situations, when multiple pre-configured addresses configured for the target service are pre-set in the client, such as the situation described in the "second possible implementation method" above, the service gateway is also pre-configured (such as manually configured) with the multiple pre-configured addresses.

[0148] Optionally, when the client also obtains the destination port and / or communication protocol type corresponding to the destination address of the target service message in step 101, each combination of at least one combination corresponding to the target service pre-acquired by the service gateway includes, in addition to the preset fields and preset rules with corresponding relationships, the corresponding port and / or communication protocol type. When the service gateway pre-acquires the pre-configured address configured for the target service, it also obtains the port and / or communication protocol type configured for the pre-configured address.

[0149] As an example, in some possible situations, such as the situation described in Example 1 above, the service gateway is preset with the same combination as the combination preset by the client, and each combination includes a preset rule, a preset field configured for the target service, and a port and / or a communication protocol type. In other possible situations, such as the situation described in Example 2 above, the service gateway is preset with the same preconfigured address as the preconfigured address preset by the client, and each preconfigured address is also configured with a corresponding port and / or communication protocol type. In some other possible situations, such as the situation in Example 3 described above, when the client obtains a combination from a device such as a DNS / network control device / registration service device, the DNS / network control device / registration service device and the like also sends the combination to the service gateway, so that the service gateway obtains the combination. In some other possible situations, such as the situation in Example 4 described above, when the client obtains a preconfigured address and a port and / or a communication protocol type corresponding to the preconfigured address from a device such as a DNS / network control device / registration service device, the DNS / network control device / registration service device and other devices will also send the preconfigured address and the port and / or the communication protocol type corresponding to the preconfigured address to the service gateway.

[0150] Specifically, after receiving the target service message, the service gateway first extracts the destination address of the target service message. It should be understood that the destination address of the target service message received by the security module of the server includes a verification field and a preset field. For ease of description, the following description is based on the example that the verification field included in the destination address of the target service message is the first verification field described above, and the preset field included in the destination address of the target service message is the first preset field described above.

[0151] Next, in a possible implementation, the service gateway obtains a first preset rule corresponding to a first preset field included in the destination address of the target service message. The first preset rule is used to determine a verification field in the pre-configured address based on a logical operation. Specifically, the service gateway has previously obtained at least one combination corresponding to the target service. Therefore, after extracting the destination address of the target service message from the received target service message, the service gateway traverses the combinations previously obtained by the service gateway according to the first preset field in the destination address of the target service message, so as to query the first combination including the first preset field. The preset rule in the first combination is the first preset rule corresponding to the first preset field. Furthermore, the service gateway calculates the target verification field according to the first preset rule. The service gateway compares the calculated target verification field with the first verification field included in the destination address of the target service message, and processes the target service message according to the comparison result (denoted as the first comparison result). Optionally, when the client also obtains the destination port and / or communication protocol type corresponding to the destination address of the target service message in step 101, the service gateway also compares the destination port included in the target service message with the destination port in the first combination, and compares the communication protocol type included in the target service message with the communication protocol type in the first combination, and processes the target service message according to the comparison result (denoted as the second comparison result) and the foregoing first comparison result.

[0152] When the first comparison result indicates that the target verification field calculated by the service gateway is the same as the first verification field included in the destination address of the target service message, the service gateway determines that the destination address of the target service message is a preconfigured address configured for the target service. At this point, the service gateway can determine that the target service message is a safe service message. Optionally, when the client also obtains a destination port and / or communication protocol corresponding to the destination address of the target service message in step 101, if the first comparison result indicates that the target verification field calculated by the service gateway is the same as the first verification field carried in the destination address of the target service message, and the second comparison result indicates that the destination port included in the target service message is the same as the destination port in the first combination, and indicates that the communication protocol type included in the target service message is the same as the communication protocol type in the first combination, then the service gateway determines that the target service message is a safe service message. Then, the service gateway forwards the target service message to the service end. Optionally, the service gateway also adds the destination address of the target service message to the release list, so that when a service message with the destination address being the destination address of the target service message is subsequently received, the release list can be directly queried, and the service message can be forwarded to the server when the destination address of the target service message is included in the release list. Optionally, when the client also obtains the destination port and / or communication protocol corresponding to the destination address of the target service message in step 101, the service gateway also adds a triplet including the destination address of the target service message, the destination port corresponding to the destination address of the target service message, and the communication protocol type to the release list, so that the release list can be directly queried when the triplet of the service message is subsequently received, and the service message can be forwarded to the server when the triplet is included in the release list.

[0153] When the first comparison result indicates that the target verification field calculated by the service gateway is different from the first verification field included in the destination address of the target service message, the service gateway determines that the destination address of the target service message is not a preconfigured address configured for the target service. At this time, the service gateway determines that the target service message is not a secure service message. Optionally, when the client also obtains a destination port and / or a communication protocol type corresponding to the destination address of the target service message in step 101, if the first comparison result indicates that the target verification field calculated by the service gateway is different from the first verification field included in the destination address of the target service message, and / or, the second comparison result indicates that the destination port included in the target service message is different from the destination port in the first combination, and / or, the second comparison result indicates that the communication protocol type included in the target service message is different from the communication protocol type in the first combination, then the service gateway determines that the target service message is not a secure service message. Then, the service gateway blocks the target service message. Here, blocking the target business message includes: discarding the target business message; or forwarding the target business message to a back-end network security device (such as a honeypot node, etc.) for collecting attack information. In this way, the network security device parses the target business message to obtain attack characteristics and related information related to the network attack, and subsequently applies these attack characteristics and related information related to the network attack to network security strategies, etc., which will not be repeated here.

[0154] In another possible implementation, the service gateway obtains the preconfigured address configured for the target service in advance, that is, the service gateway is configured with a release list consisting of multiple preconfigured addresses. In this case, after extracting the destination address of the target service message from the received target service message, the service gateway traverses the release list according to the destination address of the target service message to determine whether the destination address of the target service message exists in the release list.

[0155] When it is determined that the destination address of the target service message exists in the release list, it is determined that the destination address of the target service message is a pre-configured address configured for the target service. At this time, the service gateway can determine that the target service message is a safe service message, and then the service gateway forwards the target service message to the server. Optionally, when the server also obtains the port and / or communication protocol type configured corresponding to the pre-configured address configured for the target service in advance, the release list includes at least one triple with a pre-configured address and a port and / or communication protocol type corresponding to the pre-configured address. Therefore, when the server also determines that the triple carried by the target service message exists in the release list, the service gateway forwards the target service message.

[0156] In some embodiments, when the service gateway determines that the destination address of the target service message does not exist in the release list, the service gateway can directly determine that the destination address of the target service message is not a pre-configured address configured for the target service, and the service gateway blocks the target service message. Alternatively, when the service gateway determines that the triplet carried by the target service message does not exist in the release list, the service gateway can directly determine that the triplet carried by the target service message is not a triplet configured for the target service, and the service gateway blocks the target service message.

[0157] In some other embodiments, the service gateway also pre-acquires at least one combination corresponding to the target service. At this time, after determining that the destination address of the target service message or the triple carried by the target service message does not exist in the release list, the service gateway can also traverse the combination pre-acquired by the service gateway according to the first preset field included in the destination address of the target service message extracted from the target service message, to query whether there is a first combination including the first preset field in at least one combination pre-acquired corresponding to the target service, and the preset rule in the first combination is the first preset rule corresponding to the first preset field. Alternatively, the service gateway can also traverse the combination pre-acquired by the service gateway according to the first preset field, the destination port and the communication protocol type in the destination address of the target service message extracted from the target service message, to determine whether there is a first combination including the first preset field, the destination port and the communication protocol type in at least one combination pre-acquired corresponding to the target service, and the preset rule in the first combination is the first preset rule corresponding to the first preset field. When the service gateway determines that there is no first combination in at least one combination pre-acquired corresponding to the target service, the service gateway blocks the target service message. When the service gateway determines that a first combination exists in at least one pre-acquired combination corresponding to the target service, the target verification field is calculated according to the first preset rule in the first combination. Then, the service gateway compares the calculated target verification field with the first verification field carried in the destination address of the target business message, and processes the target business message according to the comparison result, such as forwarding the target business message or blocking the target business message. For detailed explanation, please refer to the previous description and will not be repeated here.

[0158] In some embodiments provided in the present application, the service gateway is also configured with a blocking list, which is used to record the destination addresses of the service messages that are prohibited from being forwarded. Exemplarily, the addresses in the blocking list can be IP addresses collected based on the collected network attack information, or they can be the destination addresses of the service messages blocked by the service gateway in history. For example, the service gateway blocks the service messages sent to a certain destination address for multiple consecutive times according to the above implementation method. When the number of blocking times exceeds the threshold, the service gateway adds the destination address to the blocking list.

[0159] In this case, for the target service message received by the service gateway, the service gateway also traverses the blocking list according to the destination address of the target service message extracted from the target service message to determine whether the destination address of the target service message exists in the blocking list. When the service gateway determines that the destination address of the target service message exists in the blocking list, it means that the target service message with the destination address of the target service message is a message with security issues, and the service gateway blocks the target service message.

[0160] It can be understood that the above-mentioned implementation methods of determining whether to forward or block a service message can be used alone or in combination, and there is no limitation on this.

[0161] Optionally, since the service end only provides the target service to the registered users of the target service in the embodiment of the present application, when the service gateway determines that the destination address of the target service message exists in the blocking list, the service gateway parses the user ID of the registered user who initiates the target service message according to the target service message, and determines the registered user represented by the user ID as a suspicious user, and records the suspicious user. In a possible implementation, the service gateway can record the suspicious user through the suspicious user log. Among them, the suspicious user log includes at least one log record, and each log record is used to record a user ID determined by the service gateway as a suspicious user. In this way, after determining the suspicious user (such as the first user), the service gateway first traverses the suspicious user log based on the user ID of the first user (referred to as the first ID), and when there is no log record including the first ID in the suspicious user log, a new log record for recording the first ID is added in the suspicious user log.

[0162] Optionally, the service gateway also counts the number of times that the suspicious user recorded in the suspicious user log expects to access the backend service via the service gateway. When the service gateway determines that the number of times the same registered user recorded in the suspicious user log expects to access the backend service via the service gateway exceeds a threshold, the service gateway determines the same user as a malicious user and adds the same registered user to the user blacklist. Among them, the user blacklist is used to record malicious users. In some examples, the user blacklist can be used as network security information in other security policies, and the embodiments of the present application are not limited to this.

[0163] Exemplary, each log record in the suspicious user log is provided with a counter, and the counter is used to record the number of times the suspicious user expects to access the backend service via the service gateway. In this way, after determining the suspicious user (such as the first user), the service gateway traverses the suspicious user log based on the user ID (referred to as the first ID) of the first user, and when there is no log record including the first ID in the suspicious user log, a new log record for recording the first ID is added in the suspicious user log, and a counter is set for the newly added log record. Thus, when the service gateway determines the first user as a suspicious user again according to the received business message, the service gateway traverses the suspicious user log according to the first ID, and when it is determined that there is a log record including the first ID in the suspicious user log, the counter of the log record is increased by one. When the service gateway determines that the difference between the current value and the initial value of the counter of a certain log record in the suspicious user log exceeds the threshold value, it is determined that the number of times the suspicious user expected to access the backend service via the service gateway recorded by this log record exceeds the threshold value, and thus the service gateway determines the suspicious user as a malicious user, and adds the malicious user to the user blacklist.

[0164] Optionally, the service gateway can also set the upper limit of the flow rate of accessing the target service within the preset duration for the same registered user. Since the service end only provides the target service to the registered users of the target service in the embodiment of the present application, the pre-configured addresses configured for the target service obtained by different registered users are different, and when a malicious user launches a DDOS attack on the target service by communicating with the botnet, a large number of messages (i.e., DDOS attack messages) accessing the target service can be replayed, so by monitoring the size of the flow rate of a registered user accessing the target service within the preset duration, it is possible to identify whether the flow rate is DDOS attack flow rate. For example, when the size of the flow rate of a certain registered user accessing the target service within the preset duration exceeds a threshold, the service gateway determines that the flow rate is DDOS attack flow rate, so that the service gateway can determine the registered user who initiates the flow rate as a malicious user, and add the malicious user to the above-mentioned user blacklist. In addition, by limiting the upper limit of the flow rate of the same registered user accessing the target service within the preset duration, the pressure of the back end (i.e., the service end) of the service gateway to process business messages can also be alleviated.

[0165] Optionally, the service gateway supports NAT conversion. In this case, after determining that the destination address of the target service message is a pre-configured address configured for the target service, the service gateway performs NAT conversion on the destination address of the target service message, and uses the NATed address of the destination address of the target service message as the new destination address of the target service message to send the target service message, that is, the service gateway sends the target service message to the NATed address of the destination address of the target service message, which will not be repeated here.

[0166] When the service gateway performs NAT conversion on the message accessing the target service, the real IP address of the target service can be an IPv4 address or an IPv6 address, without limitation. It should be understood that the real IP address of the target service refers to the private network address of the server providing the target service in the network to which it belongs.

[0167] Through steps 101 to 104, due to the huge address space of IPv6, the embodiment of the present application can configure a large number of discrete preconfigured addresses for the target service by presetting or the preset rules described above, and regularly send these discrete preconfigured addresses to the client. Since most of the addresses between the discrete preconfigured addresses are idle in the huge address space of IPv6, when the client uses the discrete preconfigured addresses configured for the target service to access the target service at different times, when the attack source attacks the target service by a direct DDOS sweep attack, the direct DDOS sweep attack is invalid.

[0168] In addition, since the service end only provides the target service to the registered users of the target service, the method provided by the embodiment of the present application can also identify and discover malicious users, thereby ensuring network security by timely discarding or isolating the messages of malicious users, and malicious users can also be included in the security information system for reference by other attack prevention systems. Since only registered users can obtain the pre-configured address configured for the target service, the real source attack in the DDOS attack can be avoided. In addition, when a large number of registered users access the target service at the same time, since the pre-configured addresses obtained by these registered users for accessing the target service are different, each of these registered users and the service end providing the target service are respectively established with a network connection (such as a TCP connection or a UDP connection), so that the traffic for accessing the target service can be dispersed on the network connection between different registered users and the service end providing the target service, and then the service end can disperse the traffic for accessing the target service but located on different network connections on multiple CPUs for concurrent processing, so that the elephant flow attack in the DDOS attack can be alleviated.

[0169] In other embodiments, in order to filter DDOS attack traffic at a location close to the source, refer to Figure 5 , Figure 5 The flowchart of another message transmission method provided by the embodiment of the present application is shown. Optionally, the method can be applied to Figure 1 or Figure 2The implementation environment shown. For the sake of simplicity, the following description is based on an example in which a client accessing a service provided by a server (referred to as the target service) and the security module of the server perform the corresponding steps of the method described in the embodiment of the present application, and the security module of the server is implemented by a service gateway. Optionally, the target service can be run on at least one server in at least one cloud data center located in one of the multiple regions. Figure 5 As shown, the method includes the following steps.

[0170] Step 201: The service gateway obtains at least one combination corresponding to a target service and / or at least one preconfigured address configured for the target service.

[0171] The service gateway obtains a detailed description of at least one combination corresponding to the target service and / or at least one preconfigured address configured for the target service. Please refer to the relevant description in step 104 above, which will not be repeated here.

[0172] Step 202: The service gateway sends at least one combination corresponding to the target service and / or at least one preconfigured address configured for the target service to a forwarding node reachable to itself.

[0173] Since the set of multiple preconfigured addresses pre-acquired in the service gateway is called a release list, "the service gateway sends at least one combination corresponding to the target service and / or at least one preconfigured address configured for the target service to the forwarding node reachable to itself" can also be understood as the service gateway sending at least one combination or a release list corresponding to the target service to the forwarding node reachable to itself. For example, if the at least one combination corresponding to the target service acquired by the service gateway includes a first combination, and the first combination includes a first preset field and a first preset rule, then after acquiring the first combination, the service gateway can send the first preset rule and the first preset field in the first combination to the forwarding node reachable to itself.

[0174] Optionally, the forwarding nodes reachable to the service gateway include all nodes reachable to the service gateway on the network, or the forwarding nodes reachable to the service gateway include nodes that forward messages between the client accessing the target service and the service gateway. Figure 1 or Figure 2 The message forwarding devices such as routers and switches in the Internet shown are not limited to this.

[0175] Exemplarily, the service gateway can carry at least one combination and / or release list corresponding to the target service through an extended field of the border gateway protocol (BGP), thereby sending at least one combination or release list corresponding to the target service to a forwarding node that can reach itself.

[0176] By executing steps 201 to 202, after the forwarding nodes that forward messages between the client accessing the target service and the service gateway obtain at least one combination or release list corresponding to the target service, these forwarding nodes can execute step 104 described above for the received business messages, thereby forwarding or blocking these business messages, thereby filtering DDOS attack traffic at a location close to the client (i.e., the source end), thereby improving the impact of DDOS attacks on the communication network between the client and the service gateway.

[0177] Reference below Figure 6 , describes the detailed process of "the client obtains the access address of the registration service and registers through the registration service to become a registered user of the target service" in the above text. Optionally, this process can be applied to Figure 2 The implementation environment shown. Figure 6 As shown, the process includes the following steps.

[0178] Step 301: The client sends a registration request to the portal service device.

[0179] Exemplarily, when the client needs to access the target service for the first time, it may first access the portal service of the target service, and in the process of accessing the portal service, send a registration request to the portal service device that provides the portal service.

[0180] refer to Figure 7 , Figure 7 A schematic diagram of a portal service access page provided by an embodiment of the present application is shown. Figure 7 As shown, the client first searches the access address of the portal service through a network search (web search), and then accesses the access address of the portal service, so that the client outputs the access page of the portal service to the user through its own output interface (such as a display screen). For example, the client displays the access page of the portal service to the user through its own display screen. Figure 7 The interface 700 shown is the home page of the portal service. In this way, the client can achieve communication between the client and the portal service device providing the portal service by responding to the user's input operation on the portal service access page.

[0181] Continue to refer Figure 7 , the interface 700 may include a "register" control, and the "register" control is used to submit a registration request to the registration service device. When a user using the client needs to register as a registered user of the target service, the user performs an input operation (such as a click operation) on the "register" control in the interface 700 through the input interface of the client (such as a mouse, finger, touch pen, etc.). In response to the input operation performed by the user on the "register" control of the interface 700, the client sends a registration request to the portal service device.

[0182] Step 302: In response to the received registration request, the portal service device obtains the access address of the registration service and returns the access address of the registration service to the client.

[0183] After receiving the registration request from the client, the portal service device obtains the access address of the registration service in response to the registration request.

[0184] Among them, when the portal service device is regarded as the client described in steps 101 to 104, the registration service is regarded as the target service described in steps 101 to 104, and the registration service device providing the registration service is regarded as the server providing the target service described in steps 101 to 104, the portal service device obtains the detailed description of the access address of the registration service, which can refer to the description of the client obtaining the destination address of the target service message in step 101, and will not be repeated here.

[0185] After obtaining the access address, the portal service device returns the access address to the client that initiated the registration request.

[0186] Step 303: The client registers as a registered user of the target service based on the access address of the registration service.

[0187] When the client accesses the registration service based on the access address of the registration service, it first sends a first registration message with a destination address of the access address to the registration service device providing the registration service. The first registration message is used to obtain relevant information of the registration service access page (recorded as the registration page), and the registration page is used to receive the registration information entered by the user. Exemplary, the registration information includes but is not limited to the user nickname, account password, user identity ID, user region, user date of birth, etc. Among them, the process of the client sending the first registration message to the registration service device, and the process of the security module of the registration service device forwarding or blocking the first registration message, can refer to the description of steps 102 to 104 above, and will not be repeated. The method executed by the security module of the registration service device in the embodiment of the present application can refer to steps 103 to 104 executed by the service gateway above, and steps 201 to 202, which will not be repeated. In this way, it is possible to avoid or mitigate DDOS attacks on the registration service device from the attack source. For details, see the above description of the method of the embodiment of the present application to avoid or mitigate DDOS attacks on the target service from the attack source, which will not be repeated.

[0188] Then, after the registration service device receives the first registration message and returns a response message (referred to as the first response message) to the client, the client receives the first response message and outputs the relevant information of the registration page carried by the first response message to the user through its own output interface (such as a display screen). Figure 8 , Figure 8 A schematic diagram showing a client outputting registration page related information provided by an embodiment of the present application is shown. Figure 8 As shown, the client can display the registration page information to the user on its own display screen according to the relevant information of the registration page carried in the first response message. Figure 8 Interface 800 is shown, and interface 800 is a registration page.

[0189] Next, the client obtains the user's registration information through the registration page and sends the registration information to the registration service device. The process of the client sending the registration information to the registration service device can also refer to the description of the client sending the target service message to the server in steps 102 to 104, which will not be repeated here.

[0190] Exemplary, combined Figure 8 , interface 800 includes an input box for a user nickname for obtaining user registration information, an input box for an account password, and an input box for the region to which the user belongs, etc. The embodiment of the present application does not limit the specific input form of the input box, and the input form includes but is not limited to filling in characters, selecting a drop-down menu, etc. The user performs information input operations (such as selecting and clicking operations, filling in characters, etc.) in each input box in interface 800 through the input interface of the client (such as a mouse, finger, touch pen, etc.), and after completing the information input operation, performs an input operation (such as a click operation, etc.) on the "Submit" control. In response to the user's information input operation in interface 800 and the input operation performed on the "Submit" control, the client sends the registration information input by the user into the client through the information input operation to the registration service device.

[0191] Further, the registration service device completes the user registration according to the registration information. Exemplarily, the process of the registration service device completing the user registration according to the registration information includes: the registration service device establishes a correspondence between the registration information and the target service, generates a corresponding registered user ID for the registration information, returns the registered user ID to the client, and sends the registration information and the registered user ID to the server.

[0192] Subsequently, the client can enter the login page of the target service through the portal service access page, and complete the authentication of the registered user based on the login information entered by the user on the login page, thereby entering the service page provided by the target service for the registered user. Figure 7The portal page 700 also includes a "Login" control, which is used to enter the login page of the target service. On the login page, the client obtains the login information entered by the user by responding to the user's operation of entering the account and password on the login page. The login information includes but is not limited to the user's nickname and account password. Then the client sends the login information to the server, so that the server authenticates the login information and enters the service page provided by the target service for registered users after the authentication is passed.

[0193] Through the process described in steps 301 to 303, the client can register as a registered user of the target service. In the scenario where the server only provides services to registered users of the target service, the client of the registered user who has completed the registration can obtain the pre-configured address of the target service through the relevant description of step 101, and access the target service through the method described in steps 102 to 104. In this way, the real source attack in the DDOS attack on the target service can be prevented.

[0194] Optionally, after the client completes registration and logs in to the service page provided by the target service for registered users, it can also perform a recharge operation. This can prove that the registered user logged in by the client is a real user, not a zombie user. Furthermore, in the scenario where the server only provides services to registered users of the target service, only the client of the real registered user who has successfully recharged can obtain the pre-configured address of the target service through the relevant description of step 101, and access the target service through the methods described in steps 102 to 104. In this way, it is possible to prevent the real source attack in the DDOS attack on the target service.

[0195] In order to further deepen the understanding of the method provided in the embodiments of the present application, it is further explained below with reference to specific examples.

[0196] refer to Fig. 9 , Fig. 9 A schematic diagram of a message transmission method provided by an embodiment of the present application is shown. Fig. 9 As shown, the client 910 is implemented as a terminal device such as a mobile phone or a computer, and the client 910 can communicate with the portal server 920, the registration server 930, and the application server 940 through the Internet. Among them, R1 is the gateway of the client 910, R2 is the gateway of the portal server 920, R3 is the gateway of the registration server 930, and R4 is the gateway of the application server 940.

[0197] When the client 910 needs to access the service 900 provided by the application server 940 for the first time, the client 910 communicates with the portal server 920 through the transmission links including R1 and R2 to execute steps 301-302, and the client 910 communicates with the registration server 930 through the transmission links including R1 and R3 to execute step 303, so that the client 910 is registered as a registered user of the service 900. After the registration is successful, the client 910 also recharges the registered user account to prove that the client 910 is a real registered user.

[0198] The registration server 930 is preset with multiple preconfigured addresses configured for service 900 (or multiple combinations of preset fields and preset rules are preconfigured for service 900). Therefore, after the registration server 930 completes the registration of the client 910 and the client 910 recharges the registered user account, the registration server 930 regularly sends the preconfigured addresses configured for service 900 (or sends the combination of preset fields and preset rules preconfigured for service 900) to the client 910 through the transmission links including R1 and R3. Furthermore, for any time when the registration server 930 sends the preconfigured address (or a combination of preset fields and preset rules) configured for the service 900 to the client 910, when the registration server 930 sends the preconfigured address (such as IPv6 address 11) to the client 910 via the transmission link including R1 and R3, the registration server 930 simultaneously sends the IPv6 address 11 to R4 via R3, or, when the registration server 930 sends the combination (such as combination 1) including the preset fields and preset rules to the client 910 via the transmission link including R1 and R3, the registration server 930 simultaneously sends the combination 1 to R4 via R3. For detailed description, please refer to the relevant description in step 101, which will not be repeated here. It can be seen that only the client where the real registered user of the service 900 is located can obtain the preconfigured address configured for the service 900 or the combination including the preset fields and preset rules, which can prevent the real source attack in the DDOS attack on the service 900.

[0199] When the client 910 receives the IPv6 address 11, it generates and sends a service message 11 with the destination address being the IPv6 address 11, and the service message 11 is used to access the service 900. After receiving the IPv6 address 11 sent by the registration server 930, the gateway R4 of the application server 940 adds the IPv6 address 11 to the release list. Furthermore, when R4 receives any service message, such as the service message 11, R4 queries the release list according to the destination address IPv6 address 11 of the service message 11, and performs NAT on the destination address of the service message 11 when it is determined that the IPv6 address 11 exists in the release list, and forwards the service message 11 to the application server 940 based on the NATed address. Of course, if R4 determines that the destination address of a service message does not exist in the release list, the service message is directly blocked. For a detailed description, please refer to the relevant description of steps 101 to 104, which will not be repeated here.

[0200] Alternatively, when the client receives combination 1, it generates IPv6 address 21 based on combination 1, and generates and sends service message 21 with the destination address being IPv6 address 21. Service message 21 is used to access service 900. For a detailed description, please refer to the relevant description of step 101 and step 102, which will not be repeated here. Gateway R4 of application server 940 stores combination 1 after receiving combination 1 sent by registration server 930. Furthermore, when R4 receives any service message, such as service message 21, R4 queries its own pre-acquired combination according to the preset field in the destination address of service message 21. When R4 queries combination 1 containing the preset field according to the preset field in the destination address of service message 21, it calculates the verification field according to the preset rule in combination 1, and compares the calculated verification field with the verification field included in the destination address of service message 21. When R4 determines that the calculated verification field is the same as the verification field included in the destination address of the service message 21, R4 performs NAT on the destination address of the service message 21, and forwards the service message 21 to the application server 940 based on the NATed address. Optionally, R4 also adds the destination address of the service message 21 to the release list, so as to quickly forward or block the service message with the destination address as the aforementioned destination address. When R4 determines that the calculated verification field is different from the verification field included in the destination address of the service message 21, R4 blocks the service message 21. For a detailed description, please refer to the relevant description of steps 101-104, which will not be repeated here.

[0201] Since client 910 can regularly obtain the IPv6 address for accessing service 900, and most of the addresses in the huge IPv6 address space are empty, when client 910 uses different IPv6 addresses to access service 900 at different times, when the attack source attacks service 900 through a direct DDOS sweep attack, the direct DDOS sweep attack cannot be effectively carried out.

[0202] Optionally, after receiving the IPv6 address 11 (or combination 1) from the registration server 930, R4 also spreads the IPv6 address 11 (or combination 1) to all forwarding nodes that can reach itself in the Internet, so that the forwarding nodes that receive the IPv6 address 11 (or combination 1) execute the method described in the embodiment of the present application to transmit the message. The detailed description is referred to the description of step 201-step 202, which will not be repeated here. In this way, the service message sent by the client 910 can be forwarded or blocked at a location close to the client 910, thereby filtering the DDOS attack traffic at a location close to the client 910 (i.e., the source end), which can improve the impact of the DDOS attack on the communication network between the client 910 and R4.

[0203] Optionally, R4 may also detect the size of the traffic of the service message from the client 910 for accessing the service 900, and when the size of the traffic of the service message from the client 910 for accessing the service 900 exceeds a threshold, block the service message from the client 910 for accessing the service 900. This can alleviate the message processing pressure of the application server 940.

[0204] Optionally, R4 can also determine the registered user as a suspicious user when the destination address of the service message initiated by the registered user of the client 910 exists in the blocking list. Optionally, R4 counts the number of times the service message initiated by the registered user is blocked, and when the number of blocking times exceeds a threshold, the registered user is determined as a malicious user and added to the user blacklist. Network security can be guaranteed by timely discarding or isolating the messages of malicious users, and malicious users can also be included in the security information system for reference by other attack prevention systems.

[0205] The above mainly introduces the solution provided in the embodiment of the present application from the perspective of method.

[0206] To achieve the above functions, refer to Fig.10 , Fig.10 FIG. 1 shows a schematic diagram of the structure of a message transmission device provided in an embodiment of the present application. Fig.10As shown, the message transmission device 1000 is applied to a security module of a server, the server is used to provide a target service to a client, the client is a registered user of the target service, and the target service runs on at least one server of at least one cloud data center located in one of the multiple regions. The message transmission device 1000 is specifically used to execute the message transmission method described above, for example, to execute Figure 3 , Figure 5 or Figure 6 The steps in the method shown are performed by the security module of the server. The message transmission device 1000 may include a receiving unit 1001 , a processing unit 1002 and a sending unit 1003 .

[0207] The receiving unit 1001 is used to receive a target service message sent by a client for accessing a target service, wherein the destination address of the target service message includes a verification field. The processing unit 1002 is used to verify the destination address of the target service message according to the verification field to determine whether the destination address of the target service message is a preconfigured address. The sending unit 1003 is used to send the target service message to the server. The preconfigured address is an IPv6 address configured for the client to access the target service.

[0208] As an example, combining Figure 3 , the receiving unit 1001 can be used to execute step 103, and the processing unit 1002 and the sending unit 1003 can be used to execute step 104.

[0209] Optionally, the processing unit 1002 is further configured to block the target service message when the destination address of the target service message is not a preconfigured address and / or when the destination address of the target service message exists in a blocking list, wherein the blocking list is used to record the destination addresses of service messages that are prohibited from being forwarded.

[0210] Optionally, the destination address of the target service message further includes a preset field, and the message transmission device 1000 further includes an acquisition unit 1004. The acquisition unit 1004 is used to acquire a first preset rule corresponding to the preset field, and the first preset rule is used to determine the verification field in the preconfigured address based on a logical operation. The processing unit 1002 is also used to determine the target verification field according to the first preset rule, and to determine that the destination address of the target service message is a preconfigured address when the verification field included in the destination address of the target service message is the same as the target verification field.

[0211] Optionally, the receiving unit 1001 is further configured to receive a second preset rule when the preset duration is reached, where the second preset rule is a preset rule that updates the first preset rule.

[0212] Optionally, the security module of the server is deployed in a gateway of the server, and the sending unit 1003 is further configured to send the first preset rule to a forwarding node that can reach the gateway.

[0213] As an example, combining Figure 5 , the sending unit 1003 can be used to execute step 202.

[0214] Optionally, the processing unit 1002 is further configured to determine that the number of blocked service messages sent by the same registered user through the client exceeds a preset threshold, and to add the user ID of the same registered user to a user blacklist.

[0215] Optionally, the security module of the server is deployed in the gateway of the server, and the processing unit 1002 is further used to perform NAT on the destination address of the target service message. The sending unit 1003 is specifically used to send the NATed target service message to the server, and the NATed address of the destination address of the target service message is the address of the server.

[0216] Optionally, the address after NAT of the destination address of the target service message is an IPv6 address or an IPv4 address.

[0217] For the detailed description of the above optional methods, please refer to the above method embodiments, which will not be repeated here. In addition, the explanation of any of the above message transmission devices 1000 and the description of the beneficial effects can refer to the above corresponding method embodiments, which will not be repeated here.

[0218] As an example, in combination with the following Fig.12 The functions implemented by the receiving unit 1001 and the sending unit 1002 in the message transmission device 1000 can be realized by Fig.12 The functions implemented by the processing unit 1002 in the message transmission device 1000 can be realized by Fig.12 Processor 1204 executes Fig.12 The functions implemented by the acquisition unit 1004 in the message transmission device 1000 can be implemented by Fig.12 The communication interface 1208 is implemented as shown, or by Fig.12 Processor 1204 executes Fig.12 The program code in the memory 1206 is implemented, and no limitation is made to this.

[0219] refer to Fig.11 , Fig.11 FIG. 2 shows a schematic diagram of the structure of another message transmission device provided in an embodiment of the present application. Fig.11As shown, the message transmission device 1100 is applied to a client, the client is a registered user of a target service provided by a server, and the server is used to provide the target service to the client, and the target service runs on at least one server of at least one cloud data center located in one of the multiple regions. The message transmission device 1100 is specifically used to execute the message transmission method described above, for example, to execute Figure 3 , Figure 5 or Figure 6 The steps in the method shown are performed by the client. The message transmission device 1100 may include an acquisition unit 1101 and a sending unit 1102.

[0220] The acquiring unit 1101 is used to acquire the destination address of the target service message to be sent, the destination address is one of the preconfigured addresses, and the preconfigured address is an IPv6 address configured for the client to access the target service. The sending unit 1102 is used to send the target service message, and the target service message is used to access the target service.

[0221] As an example, combining Figure 3 , the acquiring unit 1101 can be used to execute step 101, and the sending unit 1102 can be used to execute step 102.

[0222] Optionally, the acquisition unit 1101 is further used to acquire a first preset rule, the first preset rule is used to determine a verification field in a preconfigured address based on a logical operation, and the verification field is used to verify whether the destination address of the target service message is a preconfigured address. The message transmission device 1100 also includes a processing unit 1103, the processing unit 1103 is used to determine the verification field in the destination address according to the first preset rule, and obtain the destination address of the target service message according to the verification field.

[0223] Optionally, the message transmission device 1100 further includes a receiving unit 1104, and the receiving unit 1104 is used to receive a second preset rule when a preset time period is reached, where the second preset rule is a preset rule that updates the first preset rule.

[0224] Optionally, the acquisition unit 1101 is further configured to obtain an access address of a registration service by accessing a portal service of the target service before obtaining the destination address of the target service message to be sent. The processing unit 1103 is further configured to register as a registered user of the target service based on the access address of the registration service. The registration service is configured to provide a user registration service for users accessing the target service.

[0225] As an example, combining Figure 6 The acquisition unit 1101 may be used to execute steps 301 to 302. The processing unit 1103 may be used to execute step 303.

[0226] Optionally, the portal service device for providing portal services is configured with at least one access address of the registration service. The receiving unit 1104 is further configured to receive the access address of the registration service returned by the portal service device.

[0227] For the specific description of the above optional manner, reference may be made to the foregoing method embodiments, which will not be elaborated here. In addition, for the explanations of any of the message transmission devices 1100 provided above and the descriptions of the beneficial effects, reference may be made to the corresponding method embodiments above, which will not be elaborated.

[0228] As an example, in combination with the Fig.12 described below, the functions implemented by the sending unit 1102 and the receiving unit 1104 in the message transmission device 1100 can be implemented through the Fig.12 shown communication interface 1208. The functions implemented by the processing unit 1003 in the message transmission device 1100 can be implemented by the processor 1204 in the Fig.12 executing the program code in the memory 1206 in the Fig.12 . The functions implemented by the obtaining unit 1101 in the message transmission device 1100 can be implemented through the Fig.12 shown communication interface 1208, or by the processor 1204 in the Fig.12 executing the program code in the memory 1206 in the Fig.12 , and this is not limited.

[0229] Those skilled in the art should easily realize that, in combination with the units and algorithm steps of the examples described in the embodiments disclosed herein, the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a certain function is executed in the form of hardware or computer software driving hardware depends on the specific application and design constraints of the technical solution. Professional technicians can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the present application.

[0230] It should be noted that Fig.10 or Fig.11 the division of modules / units is illustrative, only a logical function division, and there can be other division methods in actual implementation. For example, two or more functions can also be integrated into one processing module. The above integrated modules can be implemented in the form of hardware or in the form of software function modules.

[0231] Exemplarily, next, taking the processing unit 1002 of the message transmission device 1000 shown in Fig.10 as an example, the implementation manner of the processing unit 1002 will be introduced. Similarly, Fig.10The implementation of the receiving unit 1001 , the sending unit 1003 and the acquiring unit 1004 shown may refer to the implementation of the processing unit 1002 .

[0232] As an example of a software functional unit, the processing unit 1002 may include code running on a computing instance. Among them, the computing instance may include at least one of a physical host (computing device), a virtual machine, and a container. Further, the above-mentioned computing instance may be one or more. For example, the processing unit 1002 may include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the code may be distributed in the same region (region) or in different regions. Furthermore, the multiple hosts / virtual machines / containers used to run the code may be distributed in the same availability zone (AZ) or in different AZs, each AZ including a data center or multiple data centers with similar geographical locations. Among them, usually a region may include multiple AZs.

[0233] Similarly, multiple hosts / virtual machines / containers used to run the code can be distributed in the same virtual private cloud (VPC) or in multiple VPCs. Usually, a VPC is set up in a region. For cross-region communication between two VPCs in the same region and between VPCs in different regions, a communication gateway needs to be set up in each VPC to achieve interconnection between VPCs through the communication gateway.

[0234] As an example of a hardware functional unit, the processing unit 1002 may include at least one computing device, such as a server, etc. Alternatively, the processing unit 1002 may also be a device implemented using an application-specific integrated circuit (ASIC) or a programmable logic device (PLD). The PLD may be a complex programmable logical device (CPLD), a field-programmable gate array (FPGA), a generic array logic (GAL) or any combination thereof.

[0235] The multiple computing devices included in the processing unit 1002 can be distributed in the same region or in different regions. The multiple computing devices included in the processing unit 1002 can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the processing unit 1002 can be distributed in the same VPC or in multiple VPCs. The multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0236] It should be noted that, in other embodiments, the processing unit 1002 can be used to execute any step related to data / message processing in the message transmission method described in the embodiment of the present application, the receiving unit 1001 can be used to execute any step related to the receiving operation in the message transmission method described in the embodiment of the present application, the sending unit 1003 can be used to execute any step related to the sending operation in the message transmission method described in the embodiment of the present application, and the acquisition unit 1004 can be used to execute any step related to the acquisition operation in the message transmission method described in the embodiment of the present application. The steps that the receiving unit 1001, the processing unit 1002, the sending unit 1003 and the acquisition unit 1004 are responsible for implementing can be specified as needed. The receiving unit 1001, the processing unit 1002, the sending unit 1003 and the acquisition unit 1004 respectively implement different steps in the message transmission method described in the embodiment of the present application to realize all the functions of the message transmission device.

[0237] The embodiment of the present application also provides a message transmission system, which includes a security module of a server and a client. The security module of the server is used to execute the part of the message transmission method described above that is executed by the security module of the server. The client is used to execute the part of the message transmission method described above that is executed by the client.

[0238] Among them, the security module of the server and the client can be implemented by software or hardware. As an example, the implementation method of the security module of the server is introduced below. Similarly, the implementation method of the client can refer to the implementation method of the security module of the server.

[0239] As an example of a software functional unit, the security module of the server can include code running on a computing instance. Among them, the computing instance can be at least one of computing devices such as a physical host (computing device), virtual machine, container, etc. Further, the above computing device can be one or more. For example, the security module of the server can include code running on multiple hosts / virtual machines / containers. It should be noted that the multiple hosts / virtual machines / containers used to run the application can be distributed in the same region or in different regions. The multiple hosts / virtual machines / containers used to run the code can be distributed in the same AZ or in different AZs, and each AZ includes one data center or multiple geographically proximate data centers. Among them, generally one region can include multiple AZs.

[0240] Similarly, the multiple hosts / virtual machines / containers used to run the code can be distributed in the same VPC or in multiple VPCs. Among them, generally one VPC is set within one region. For cross-region communication between two VPCs within the same region and between VPCs in different regions, a communication gateway needs to be set in each VPC, and the interconnection between VPCs is realized through the communication gateway.

[0241] As an example of a hardware functional unit, the security module of the server can include at least one computing device, such as a server, etc. Or, the security module of the server can also be a device implemented by ASIC or PLD, etc. Among them, the above PLD can be implemented by CPLD, FPGA, GAL or any combination thereof.

[0242] The multiple computing devices included in the security module of the server can be distributed in the same region or in different regions. The multiple computing devices included in the security module of the server can be distributed in the same AZ or in different AZs. Similarly, the multiple computing devices included in the security module of the server can be distributed in the same VPC or in multiple VPCs. Among them, the multiple computing devices can be any combination of computing devices such as servers, ASICs, PLDs, CPLDs, FPGAs, and GALs.

[0243] The embodiment of the present application provides a computing device. As Fig.12As shown, the computing device 1200 includes: a bus 1202, a processor 1204, a memory 1206, and a communication interface 1208. The processor 1204, the memory 1206, and the communication interface 1208 are connected to each other through the bus 1202. Optionally, the computing device 1200 also includes an input / output interface 1210, and the input / output interface 1210, the processor 1204, the memory 1206, and the communication interface 1208 are connected to each other through the bus 1202.

[0244] The bus 1202 may be a peripheral component interconnect (PCI) bus or an extended industry standard architecture (EISA) bus. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Fig.12 The bus 1202 may include a path for transmitting information between various components of the computing device 1200 (eg, the memory 1206, the processor 1204, and the communication interface 1208).

[0245] Processor 1204 may include a general processor and / or a dedicated hardware chip. A general processor may include: a central processing unit (CPU), a microprocessor (MP) or a graphics processing unit (GPU). The CPU is, for example, a single-core processor (single-CPU), or a multi-core processor (multi-CPU). A dedicated hardware chip is a hardware module for high-performance processing. Dedicated hardware chips include digital signal processors (DSP), data processors (DPU), application-specific integrated circuits (ASIC), field-programmable gate arrays (FPGA), other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, neural processing units (NPU), tensor processing units (TPU), artificial intelligence (artificial intelligent) chips or network processors (NP). Processor 1204 may also be an integrated circuit chip with signal processing capabilities. During the implementation process, part or all of the functions of the method provided in the embodiment of the present application can be completed by the hardware integrated logic circuit in the processor 1204 or the instructions in the form of software.

[0246] The memory 1206 may include a volatile memory, such as a random access memory (RAM). The memory 1206 may also include a non-volatile memory, such as a read-only memory (ROM), a flash memory, a hard disk drive (HDD), or a solid state drive (SSD).

[0247] The memory 1206 stores executable program codes, and the processor 1204 executes the executable program codes to respectively implement Fig.10The functions of the receiving unit 1001, the processing unit 1002, the sending unit 1003 and the obtaining unit 1004 are implemented to realize the method part executed by the security module of the server in the message transmission method described in the embodiment of the present application. That is, the memory 1206 stores instructions for executing the method of the functions implemented by the receiving unit 1001, the processing unit 1002, the sending unit 1003 and the obtaining unit 1004 in the message transmission method described in the embodiment of the present application.

[0248] Alternatively, the memory 1206 stores executable codes, and the processor 1204 executes the executable program codes to respectively implement Fig.11 The functions of the acquisition unit 1101, the sending unit 1102, the processing unit 1103 and the receiving unit 1104 are implemented to realize the method part executed by the client in the message transmission method described in the embodiment of the present application. That is, the memory 1206 stores instructions for executing the method of the functions realized by the acquisition unit 1101, the sending unit 1102, the processing unit 1103 and the receiving unit 1104 in the message transmission method described in the embodiment of the present application.

[0249] The communication interface 1208 uses a transceiver module such as, but not limited to, a transceiver to achieve communication with other devices or communication networks. For example, the communication interface 1208 can be any one or any combination of the following devices: a network interface (such as an Ethernet interface), a wireless network card, and other devices with network access functions. The communication interface 1208 includes a receiving unit for receiving data / messages, and a sending unit for sending data / messages.

[0250] The input and output interface 1210 is used to implement human-computer interaction between the user and the computing device 1200. For example, text interaction or voice interaction between the user and the computing device 1200 is implemented. Among them, the input and output interface 1210 includes an input interface for implementing the user to input information to the computing device 1200, and includes an output interface for implementing the computing device 1200 to output information to the user. As an example, the input interface includes but is not limited to a touch screen, a keyboard, a mouse or a microphone, etc., and the output interface includes but is not limited to a display screen, a speaker, etc. Among them, the touch screen, keyboard or mouse is used to input text / image information, the microphone is used to input voice information, the display screen is used to output text / image information, and the speaker is used to output voice information.

[0251] It should be noted that the above-mentioned multiple devices can be respectively arranged on independent chips, or at least partially or completely arranged on the same chip. Whether to independently arrange each device on different chips or to integrate and arrange it on one or more chips often depends on the needs of product design. The embodiments of the present application do not limit the specific implementation form of the above-mentioned devices. The descriptions of the processes corresponding to the above-mentioned figures have different focuses. For the parts not described in detail in a certain process, please refer to the relevant descriptions of other processes.

[0252] In the above embodiments, all or part of the embodiments may be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments may be implemented in the form of a computer program product. The computer program product providing the program development platform includes one or more computer instructions, and when these computer program instructions are loaded and executed on the computing device 1200, all or part of the functions of the message transmission method provided in the embodiments of the present application are implemented.

[0253] Furthermore, computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium. For example, computer instructions may be transmitted from one website, computer, server or data center to another website, computer, server or data center via wired (e.g., coaxial cable, optical fiber, digital subscriber line) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium stores computer program instructions that provide a program development platform.

[0254] The embodiment of the present application also provides a computing device cluster. The computing device cluster includes at least one computing device. The computing device can be a server, such as a central server, an edge server, or a local server in a local data center. In some embodiments, the computing device can also be a terminal device such as a desktop computer, a laptop computer, or a smart phone.

[0255] like Fig.13 As shown, the computing device cluster includes at least one computing device 1200. The memory 1206 in one or more computing devices 1200 in the computing device cluster may store the same instructions for executing the message transmission method described above.

[0256] In some possible implementations, the memory 1206 of one or more computing devices 1200 in the computing device cluster may also store instructions for executing the message transmission method described above. In other words, the combination of one or more computing devices 1200 may jointly execute instructions for executing the message transmission method described above.

[0257] It should be noted that the memory 1206 in different computing devices 1200 in the computing device cluster may store different instructions, which are respectively used to execute the above Fig.10 Part of the functions of the message transmission device. That is, the instructions stored in the memory 1206 of different computing devices 1200 can be implemented Fig.10 The functions of one or more unit modules in the receiving unit 1001, the processing unit 1002, the sending unit 1003 and the acquiring unit 1004 are shown.

[0258] Alternatively, the memory 1206 in different computing devices 1200 in the computing device cluster may store different instructions, respectively, for executing the above Fig.11 Part of the functions of the message transmission device. That is, the instructions stored in the memory 1206 of different computing devices 1200 can be implemented Fig.11 The functions of one or more unit modules in the acquisition unit 1101, the sending unit 1102, the processing unit 1103 and the receiving unit 1104 are shown.

[0259] In some possible implementations, one or more computing devices in the computing device cluster may be connected via a network, which may be a wide area network or a local area network. Fig.14 A possible implementation is shown. Fig.14 As shown, two computing devices 1200A and 1200B are connected via a network. Specifically, the network is connected via a communication interface in each computing device. In this possible implementation, Fig.10 , the memory 1206 in the computing device 1200A stores the implementation Fig.10 The instructions for the functions of the processing unit 1002 are shown. Meanwhile, the memory 1206 in the computing device 1200B stores the instructions for implementing Fig.10 Instructions of the functions of the receiving unit 1001, the sending unit 1003 and the acquiring unit 1004 are shown.

[0260] Fig.14 The connection method between the computing device clusters shown can be based on the consideration that the method steps executed by the security module of the server in the message transmission method provided in the embodiment of the present application require relevant calculations for verifying the destination address of the received message. Therefore, it is considered that the functions implemented by the processing unit 1002 are executed by the computing device 1200A, and other operations (such as receiving, sending, etc.) are executed by the computing device 1200B.

[0261] It should be understood that Fig.14The functions of the computing device 1200A shown in the figure may also be completed by multiple computing devices 1200. Similarly, the functions of the computing device 1200B may also be completed by multiple computing devices 1200, which is not limited.

[0262] The present application embodiment also provides another computing device cluster. The connection relationship between the computing devices in the computing device cluster can be similar to that of Fig.13 and Fig.14 The connection mode of the computing device cluster is different in that the memory 1206 in one or more computing devices 1200 in the computing device cluster may store the same instructions for executing the message transmission method described in the embodiment of the present application.

[0263] In some possible implementations, the memory 1206 of one or more computing devices 1200 in the computing device cluster may also store some instructions for executing the message transmission method described in the embodiment of the present application. In other words, the combination of one or more computing devices 1200 can jointly execute the instructions for executing the message transmission method described in the embodiment of the present application.

[0264] It should be noted that the memory 1206 in different computing devices 1200 in the computing device cluster can store different instructions for executing some functions of the message transmission system described in the embodiment of the present application. That is, the instructions stored in the memory 1206 in different computing devices 1200 can implement the functions of the security module of the server and one or more device modules in the client described above.

[0265] The embodiment of the present application also provides a computer program product including instructions. The computer program product may be a software or program product including instructions that can be run on a computing device or stored in any available medium. When the computer program product is run on at least one computing device, the at least one computing device executes the message transmission method described in the embodiment of the present application.

[0266] The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium can be any available medium that can be stored by a computing device or a data storage device such as a data center containing one or more available media. The available medium can be a magnetic medium (e.g., a floppy disk, a hard disk, a tape), an optical medium (e.g., a DVD), or a semiconductor medium (e.g., a solid-state hard disk). The computer-readable storage medium includes instructions that instruct the computing device to execute the message transmission method provided in the embodiment of the present application.

[0267] The embodiment of the present application also provides a chip, which includes a processor. When the processor runs a program instruction or code, the chip including the processor or the device including the chip executes the message transmission method described above. Exemplarily, the chip also includes: an input interface, an output interface, and a memory. Among them, the input interface, output interface, processor, and memory of the chip are connected through the internal connection path of the chip, the memory in the chip is used to store the program instructions or code run by the processor, and the input interface and output interface of the chip are used for the connection and communication between the chip and other chips or devices.

[0268] In the embodiments of the present application, the terms "first", "second" and "third" are used for descriptive purposes only and should not be understood as indicating or implying relative importance. The term "at least one" means one or more, and the term "plurality" means a plurality, unless otherwise expressly defined.

[0269] The term "and / or" in this application is only a description of the association relationship of associated objects, indicating that there can be three relationships. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. In addition, the character " / " in this article generally indicates that the associated objects before and after are in an "or" relationship.

[0270] It should be understood that the terms used in the description of the various examples herein are only for describing specific examples and are not intended to be limiting. As used in the description of the various examples and the appended claims, the singular forms "a", "an", and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.

[0271] It should be understood that determining B based on A does not mean determining B only based on A. B can also be determined based on A and / or other information.

[0272] It should be understood that the term “comprise” (also known as “includes”, “including”, “comprises” and / or “comprising”) when used in this specification specifies the presence of stated features, integers, steps, operations, elements, and / or components, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0273] It should also be understood that in the various embodiments of the present application, the size of the serial number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application.

[0274] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the concept and principle of the present application shall be included in the protection scope of the present application.

[0275] It should be noted that the information (including but not limited to user device information, user personal information, etc.), data (including but not limited to data used for analysis, stored data, displayed data, etc.) and signals involved in this application are all authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.

[0276] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the protection scope of the technical solutions of the embodiments of the present invention.

Claims

1. A message transmission method, characterized in that: A security module applied to a server, the server being used to provide a target service to a client, the client being a registered user of the target service, the target service running on at least one server in at least one cloud data center located in one of the multiple regions, the method comprising: receiving a target service message sent by a client, wherein the target service message is used to access the target service, wherein the destination address of the target service message includes a verification field; Verify, according to the verification field, the destination address of the target service message to determine that the destination address of the target service message is a preconfigured address, where the preconfigured address is an Internet Protocol version 6 IPv6 address configured for the client to access the target service; Send the target service message to the server.

2. The method according to claim 1, characterized in that The method further comprises: When the destination address of the target service message is not the preconfigured address, and / or when the destination address of the target service message exists in a blocking list, the target service message is blocked, and the blocking list is used to record the destination addresses of service messages that are prohibited from being forwarded.

3. The method according to claim 1 or 2, characterized in that The destination address of the target service message further includes a preset field, and the verifying the destination address of the target service message according to the verification field to determine that the destination address of the target service message is a preconfigured address includes: Acquire a first preset rule corresponding to the preset field, wherein the first preset rule is used to determine a verification field in the preconfigured address based on a logical operation; According to the first preset rule, determine the target verification field; In a case where the verification field included in the destination address of the target service message is the same as the target verification field, it is determined that the destination address of the target service message is the pre-configured address.

4. The method according to claim 3, characterized in that The method further comprises: When the preset time period is reached, a second preset rule is received, where the second preset rule is a preset rule that updates the first preset rule.

5. The method according to claim 3 or 4, characterized in that The security module is deployed in the gateway of the server, and the method further includes: The first preset rule is sent to a forwarding node that is reachable to the gateway.

6. The method according to claim 2, characterized in that The method further comprises: It is determined that the number of blocked service messages sent by the same registered user through the client exceeds a preset threshold, and the user identifier ID of the same registered user is added to a user blacklist.

7. A message transmission method, characterized in that: Applied to a client, the client is a registered user of a target service provided by a server, the server is used to provide the target service to the client, the target service is run on at least one server of at least one cloud data center located in one of multiple regions, the method comprising: Acquire a destination address of a target service message to be sent, wherein the destination address is one of preconfigured addresses, and the preconfigured address is an Internet Protocol version 6 IPv6 address configured for the client to access the target service; The target service message is sent, where the target service message is used to access the target service.

8. The method according to claim 7, characterized in that The obtaining of the destination address of the target service message to be sent includes: Obtain a first preset rule, where the first preset rule is used to determine a verification field in the preconfigured address based on a logical operation, where the verification field is used to verify whether the destination address of the target service message is the preconfigured address; Determine the verification field in the destination address according to the first preset rule; The destination address is obtained according to the verification field.

9. The method according to claim 8, characterized in that The method further comprises: When the preset time period is reached, a second preset rule is received, where the second preset rule is a preset rule that updates the first preset rule.

10. The method according to any one of claims 7 to 9, characterized in that Before obtaining the destination address of the target service message to be sent, the method further includes: By accessing the portal service of the target service, an access address of a registration service is obtained, wherein the registration service is used to provide user registration services for users accessing the target service; Register as a registered user of the target service based on the access address of the registration service.

11. A message transmission device, characterized in that: A security module applied to a server, the server being used to provide a target service to a client, the client being a registered user of the target service, the target service running on at least one server in at least one cloud data center located in one of the multiple regions, the device comprising: A receiving unit, configured to receive a target service message sent by a client, wherein the target service message is used to access the target service, wherein the destination address of the target service message includes a verification field; a processing unit, configured to verify the destination address of the target service message according to the verification field to determine that the destination address of the target service message is a preconfigured address, wherein the preconfigured address is an Internet Protocol Version 6 IPv6 address configured for the client to access the target service; A sending unit is used to send the target service message to the server.

12. A message transmission device, characterized in that: Applied to a client, the client is a registered user of a target service provided by a server, the server is used to provide the target service to the client, the target service runs on at least one server of at least one cloud data center located in one of multiple regions, the device includes: an acquiring unit, configured to acquire a destination address of a target service message to be sent, wherein the destination address is one of preconfigured addresses, and the preconfigured address is an Internet Protocol version 6 IPv6 address configured for the client to access the target service; The sending unit is used to send the target service message, where the target service message is used to access the target service.

13. A computing device cluster, characterized in that: comprising at least one computing device, each computing device comprising a processor and a memory; The processor of the at least one computing device is configured to execute instructions stored in the memory of the at least one computing device, so that the computing device cluster executes the method according to any one of claims 1-6 or claims 7-10.

14. A computer program product comprising instructions, characterized in that When the instructions are executed by a computing device, the computing device is caused to perform the method according to any one of claims 1 to 6 or claims 7 to 10.

15. A computer-readable storage medium, characterized in that: The method comprises computer program instructions, and when the computer program instructions are executed by a computing device, the computing device performs the method according to any one of claims 1 to 6 or claims 7 to 10.

Citation Information

Cited By

  • Message transmission method and apparatus

    EP4797613A1

  • Message transmission method and apparatus

    WO2025107569A1