Method for blocking traffic based on domain in out of band network
Patent Information
- Application Number
- TW114127086
- Authority / Receiving Office
- TW · TW
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2024-07-18
- Filing Date
- 2025-07-17
- Publication Date
- 2026-10-21
- Estimated Expiration
- 2045-07-16
AI Technical Summary
Existing methods for masking functional variable names in HTTP/3 traffic are ineffective due to the encryption of DNS and TLS traffic, making it difficult to extract Server Name Indication (SNI) in QUIC-based connections, which are commonly used by large enterprises like Google and Meta.
A method involving a mirroring device that copies QUIC data packets, decodes them to identify SNI, generates a fake QUIC server initial data packet, and transmits it to the client, masking HTTP/3 traffic based on functional variable names in an out-of-band network environment.
Effectively masks HTTP/3 traffic by extracting and mimicking SNI in QUIC-based connections, ensuring secure and reliable identification of masking objects even in encrypted environments.
Smart Images

Figure TWG2TB001917300_001 
Figure TWG2TB001917300_002 
Figure TWG2TB001917300_003
Abstract
Description
[Technical Field]
[0001] One embodiment of the present invention relates to an HTTP / 3 traffic masking method based on functional variable names in an out-of-band network environment. [Previous Technology]
[0002] The following content is merely background information related to this embodiment and does not constitute conventional technology.
[0003] Large enterprises such as Google and Meta are rapidly transitioning to HTTP / 3. HTTP / 3 is based on QUIC (Quick UDP Internet Connection), and as a result, its adoption on the internet is gradually expanding.
[0004] QUIC, as the basic choice for FAANG (Facebook, Apple, Amazon, Netflix, Google) for network streaming media and data transmission, is a popular newer protocol. QUIC is a new session layer protocol based on UDP, offering extremely fast speeds, stability, and security, potentially replacing TLS & TCP. Therefore, the internet community often considers it a new transport layer protocol. The QUIC protocol significantly improves the security of network traffic packets, even protecting against basic sniffing of handshake packets to prevent packet modulation and easy sniffing by network equipment. Currently, functional variable name masking services treat DNS and TLS traffic as service objects; however, due to the increasing prevalence of encrypted DNS, the effectiveness of traditional DNS-based functional variable name masking methods is gradually decreasing.
[0005] The simplest access method for implementing masking based on functional variable names is DNS hijacking. Confirm whether it is necessary to intercept all DNS queries and mask the requested functional variable names.
[0006] However, when DNS requests are encrypted, the function variable name cannot be extracted. This issue occurs, for example, when using DNS-over-HTTPS (DoH) or DNS-over-TLS (DoT). With the increasing adoption of DoH (e.g., in Firefox and Android), it is important to go beyond relying solely on DNS in order to achieve masking based on function variable names.
[0007] When only TLS traffic exists, detection and masking can be implemented within the actual TLS Handshake. To identify the functional variable name of the World Wide Web server in the connection, the client extracts the SNI (Server Name Indication) field from the unencrypted TLS Client Hello message. If the server name is the functional variable name of the masking object, the TLS connection will be masked. However, the drawback of the above method is that it only works in connections that do not use HTTP / 3. HTTP / 3 uses "UDP & QUIC & TLS" instead of "TCP & TLS," so it is difficult to extract the SNI within TLS or mask the TLS connection using the simple methods used in the past. Nevertheless, QUIC still uses TLS Handshake in its internal Initial data packets, so the SNI can be analyzed and extracted. However, the drawback is that extraction is not simple because it is encrypted using a fixed key (refer to RFC9001) based on the payload (and part of the header) of the Initial data packet. [Summary of the Invention]
[0008] [Problem to be Solved by the Invention] The purpose of this embodiment is to provide a method as follows: In an out-of-band network environment, a mirrored QUIC data packet is received, the data packet information is confirmed based on the QUIC protocol, and SNI parsing is performed after decoding. When the parsing result is the SNI of the masking object, a pseudo-QUIC data packet is generated and transmitted to the client. The client masks the traffic based on the functional variable name, and the out-of-band QUIC data packets received from the mirroring device are discarded. In a network environment where the masking system is composed of out-of-band data packets, HTTP / 3 traffic is masked based on the functional variable name.
[0009] [Technical Means for Solving the Problem] One aspect of this embodiment provides a traffic masking method based on functional variable names in an out-of-band network, which includes the following steps: In an out-of-band network environment, a mirroring device copies QUIC data packets received from a client and transmits them to a traffic masking device; after confirming that the QUIC data packet is a QUIC Client Initial data packet, the traffic masking device generates a decoding result; based on the decoding result, after confirming a TLS Client Hello message, the traffic masking device performs SNI (Server Name Indication) resolution and generates an SNI resolution result; when the traffic masking device confirms that the SNI resolution result is the masking object's SNI, it generates a fake QUIC Server. Initial data packet; the traffic masking device transmits the pseudo-QUIC server initial data packet to the client, masking the traffic based on the function variable name; the traffic masking device discards the QUIC data packet received from the mirroring device.
[0010] As described above, according to this embodiment, the following technical effects are achieved: In an out-of-band network environment, a mirrored QUIC data packet is received, the data packet related message is confirmed based on the QUIC protocol, after decoding, SNI parsing is performed, and when the parsing result is a masking object SNI, a pseudo QUIC data packet is generated and transmitted to the client, and the traffic is masked on the client based on the functional variable name.
Implementation Method
[0012] Hereinafter, this embodiment will be described in detail with reference to the accompanying drawings.
[0013] Figure 1 is a view of the traffic masking system based on the functional variable name in the out-of-band network described in this embodiment.
[0014] According to this embodiment, the traffic masking system based on functional variable names in an out-of-band network includes one HTTP / 3 client 112, another HTTP / 3 client 114, a third HTTP / 3 client 116, a mirroring device 120, a traffic masking device 130, one HTTP / 3 server 142, another HTTP / 3 server 144, and a third HTTP / 3 server 146. The components included in the traffic masking system based on functional variable names in an out-of-band network are not necessarily limited to these.
[0015] In an out-of-band network environment, the mirroring device 120 copies the QUIC data packets received from the client and transmits them to the traffic masking device 130. In other words, the mirroring device 120 uses mirroring functionality to copy the QUIC data packets received from HTTP / 3 client 112, HTTP / 3 client 114, and HTTP / 3 client 116 and transmit them to the traffic masking device 130.
[0016] In an out-of-band network environment, the traffic masking device 130 masks the masked website for HTTP / 3 traffic based on the functional variable name. The mirroring device 120 and the traffic masking device 130 are connected to the client side via in-band communication.
[0017] In an out-of-band network environment, the traffic masking device 130 described in this embodiment receives QUIC data packets from the mirroring device 120. After confirming that the QUIC data packet is a QUIC Client Initial data packet, the traffic masking device 130 generates a decoding result. Based on the decoding result, the traffic masking device 130 confirms the TLS Client Hello message, performs SNI (Server Name Indication) resolution, and generates an SNI resolution result. When the traffic masking device 130 confirms that the SNI resolution result is the masking object SNI, it generates a fake QUIC Server Initial data packet. The traffic masking device 130 transmits the fake QUIC Server Initial data packet to the client, masking traffic based on the functional variable name. The traffic masking device 130 discards the QUIC data packets received from the mirroring device 120.
[0018] The traffic masking device 130 performs the following operations to facilitate the decoding of the QUIC Client Initial data packet: The traffic masking device 130 determines whether the QUIC Client Initial data packet is UDP and generates a payload parsing result. Based on the payload parsing result, the traffic masking device 130 generates multiple decoding keys for decoding. The traffic masking device 130 uses the multiple decoding keys to decode the QUIC Client Initial data packet. The traffic masking device 130 uses the multiple decoding keys to selectively authenticate the QUIC Client Initial data packet.
[0019] The traffic masking device 130 performs the following operations to facilitate SNI (Server Name Indication) resolution for TLS Client Hello messages. The traffic masking device 130 queries the cached memory for stored CRYPTO data. The traffic masking device 130 confirms the CRYPTO framework from the QUIC Client Initial Payload, parses the data, and generates an assembly result. Based on the assembly result, the traffic masking device 130 confirms the TLS Client Hello message from the CRYPTO data and generates a resolution result that resolves the SNI (Server Name Indication).
[0020] The traffic masking device 130 performs the following operations to generate a fake QUIC Server Initial data packet. Using the QUIC Server Initial Payload as its content, the traffic masking device 130 generates a connection termination frame and generates a packet number length and packet number to be included in the QUIC Server Initial Header. The traffic masking device 130 generates multiple encryption keys for encryption. Using the multiple encryption keys, the traffic masking device 130 generates an encryption and authentication tag for the QUIC Server Initial Payload. The traffic masking device 130 generates an encryption result that encrypts the packet number length and packet number of the QUIC Server Initial Header. Traffic masking device 130 uses the encryption result to generate a fake QUIC Server Initial data packet.
[0021] Figure 2 is a schematic diagram of the QUIC protocol in this embodiment.
[0022] QUIC (Quick UDP Internet Connection) was initially called GQUIC and was developed by Google. Later, the IETF adopted it and named it QUIC. Currently, both the Google version and the IETF version of QUIC have millions of users on the Internet.
[0023] QUIC is a UDP-based protocol that provides both transport and session layer functionality. Compared to conventional TCP-based connections, performance is significantly improved. As shown in Figure 2, QUIC replaces the "TCP & TLS" portion of the network.
[0024] The reliable components of TCP, such as loss repair, congestion control, and connection setup, are handled by QUIC, while the security provided by TLS is adjusted by QUIC. QUIC itself implements TLS Handshake and TCP Handshake settings at the transport layer. Multiple QUICs save round-trip time and significantly improve connection setup.
[0025] The entire encrypted transport layer does not rely on "TCP & TLS", thus enhancing QUIC's security. The entire encrypted transport layer therefore prevents transparent traffic modification by attackers in the middle of the network, ultimately eliminating attacks provided by TCP.
[0026] Figure 3 is a schematic diagram of the QUIC communication process in this embodiment.
[0027] Typically, a Handshake process occurs during the initial QUIC connection, but unlike the existing "TCP & TLS" Handshake, the number of round trips is significantly reduced and the process is faster.
[0028] When the connection is started, the HTTP / 3 client transmits a QUIC Initial data packet including a TLS 1.3 ClientHello message to the HTTP / 3 server (S310).
[0029] When the server agrees to the attached parameters, the HTTP / 3 server responds to the HTTP / 3 client with a QUIC Initial data packet including a TLS ServerHello message (S320).
[0030] After the HTTP / 3 server transmits the QUIC Initial data packet to the HTTP / 3 client, it then transmits the QUIC Handshake data packet to the HTTP / 3 client (S330). In step S330, the HTTP / 3 server continuously transmits the Handshake data packet, which includes the TLS ServerHello message followed by the remaining TLS server messages (server authentication related information).
[0031] The HTTP / 3 client transmits the QUIC Handshake to the HTTP / 3 server while ending the client's message (S340).
[0032] The HTTP / 3 client and HTTP / 3 server work together, based on a 1-RTT data packet exchange application (S350). 1-RTT (One Round-Trip Time) is a conventional communication method, including the following steps: the client sends a request to the server, the server receives and processes the request, and then responds to the client again. This process consumes round-trip time. 0-RTT (Zero Round-Trip Time) is a technology to improve transmission speed. If the client has previously communicated with the server, it can cache previously exchanged information and reuse it. The client can send data to the server without attaching any additional information. The client can use information obtained from previous sessions, and the server can send data without waiting for a response, thus reducing the RTT to 0. This shortens transmission time and improves webpage download speed, etc.
[0033] The three steps corresponding to different data packet types in QUIC (Initial, Handshake, 1-RTT) are equivalent to the three encryption steps used in TLS 1.3 (Cleartext messages, Protection using Handshake secrets, Protection using Traffic secrets). TLS 1.3 typically encrypts all content after the Hello message, but in order to hide it from intermediate devices in the network path, the QUIC protocol also encrypts the Hello message.
[0034] All QUIC data packets consist of two parts: a header and a payload (encrypted TLS data). From a QUIC-level encryption perspective, the two parts of the QUIC data packet, namely the header and the payload, are encrypted using different methods to generate a QUIC data packet that is completely encrypted by overlapping these two parts.
[0035] Figure 4 is a schematic flowchart of the traffic masking method based on the name of the functional variable in the out-of-band network described in this embodiment.
[0036] In an out-of-band network environment, the traffic masking device 130 receives QUIC data packets from the mirroring device 120 (S410).
[0037] After confirming that the QUIC data packet is a QUIC Client Initial data packet, the traffic masking device 130 generates a decoding result for decoding (S420).
[0038] The traffic masking device 130 confirms whether the decoding of the initial data packet of the QUIC client was successful based on the decoding result (S430).
[0039] In step S430, when the initial data packet of the QUIC client is successfully decoded, the traffic masking device 130 confirms the TLS client greeting (TLS Client Hello) message based on the decoding result, and then performs SNI (Server Name Indication) parsing to generate the SNI parsing result (S440).
[0040] The traffic masking device 130 confirms whether the SNI parsing of the TLS client greeting message is successful based on the SNI parsing result (S450).
[0041] In step S450, when the SNI of the TLS client greeting message is successfully parsed, the traffic masking device 130 confirms whether the SNI parsing result is the masking object SNI (S460).
[0042] According to the confirmation result of step S460, when the SNI parsing result is confirmed to be the masking object SNI, the traffic masking device 130 generates a fake QUIC server initial data packet.
[0043] The traffic masking device 130 transmits the initial data packet of the pseudo-QUIC server to the HTTP / 3 client, masking the traffic based on the function variable name (S480). The traffic masking device 130 discards the QUIC data packet received from the mirroring device 120 (S490).
[0044] Figure 4 shows the flow of steps S410 to S490 being implemented sequentially, but it is not necessarily limited to this. In other words, the following methods can be applied: the steps shown in Figure 4 can be modified and implemented or more than one step can be implemented in parallel. Therefore, Figure 4 is not limited to the time sequence.
[0045] As described above, as shown in FIG4, in the out-of-band network of this embodiment, the traffic masking method based on the functional variable name can be implemented by a program and recorded in a computer-readable recording medium. In the out-of-band network of this embodiment, the recording medium records a program for implementing the traffic masking method based on the functional variable name and can be read by a computer, and includes all types of recording devices for storing computer system readable data.
[0046] Figure 5 is a view of the data packets received by the traffic masking system based on the functional variable name in the out-of-band network described in this embodiment.
[0047] As shown in Figure 5, one of the HTTP / 3 clients 112 attempts to access the masked object website, namely, one of the HTTP / 3 servers 142.
[0048] One of the HTTP / 3 clients 112 transmits the QUIC Client Initial data packet to one of the HTTP / 3 servers 142. The mirroring device 120 mirrors the QUIC Client Initial data packet transmitted from one of the HTTP / 3 clients 112 to one of the HTTP / 3 servers 142 and passes it to the traffic masking device 130. The traffic masking device 130 receives the copied QUIC Client Initial data packet.
[0049] Figure 6 is a view of the QUIC Client Initial data packet before decoding in this embodiment.
[0050] The traffic masking device 130 receives the copied QUIC client initial data packet from the mirroring device 120. The QUIC client initial data packet before decoding is shown in Figure 6.
[0051] Figure 7 is a schematic flowchart of the method for confirming and decoding the initial data packet of the QUIC client in this embodiment.
[0052] The traffic masking device 130 confirms whether the QUIC client initial data packet of the QUIC data packet is a User Datagram Protocol (UDP) and generates a payload parsing result (S710) to parse the payload.
[0053] The traffic masking device 130 confirms whether the parsing of the initial data packet of the QUIC client is successful based on the payload parsing result (S712).
[0054] According to the confirmation result of step S712, when the parsing of the QUIC client initial data packet is successful, the traffic masking device 130 analyzes the payload based on the payload parsing result to confirm whether it is the QUIC initial message (S714).
[0055] According to the confirmation result of step S714, when it is confirmed to be a QUIC initial message, the traffic masking device 130 parses the version and destination connection ID from the QUIC Client Initial Header (S716).
[0056] The flow masking device 130 uses the version to obtain the initial salt value (S718).
[0057] The flow masking device 130 generates an initial secret using the initial salt value and the destination connection ID (S720).
[0058] The traffic masking device 130 generates a client initial secret (S722) using the initial secret and the client in label.
[0059] The traffic masking device 130 generates a key using the Client Initial Secret and the QUIC key label (S724).
[0060] The traffic masking device 130 uses the Client Initial Secret and the "QUIC Initialization Vector Label" to generate a Previous IV (Initialization Vector) (S726).
[0061] The traffic masking device 130 uses the Client Initial Secret and the QUIC Header Protection Label to generate a Header Protection Key (S728).
[0062] The traffic masking device 130 parses the sample payload from the QUIC Client Initial Payload (S730).
[0063] The flow masking device 130 generates a mask using the sample payload and the header protection key (S732).
[0064] The traffic masking device 130 uses a mask to decode the packet number length of the QUIC Client Initial Header (S736).
[0065] The traffic masking device 130 uses the mask and the packet number length to decode the packet number of the QUIC Client Initial Header (S736).
[0066] The flow masking device 130 generates an initialization vector (IV) using the previous initialization vector (IV) and the data packet number (S738).
[0067] The traffic masking device 130 parses the authentication tag from the QUIC Client Initial Payload (S740). In step S740, the traffic masking device 130 may optionally omit the authentication tag parsing process.
[0068] The traffic masking device 130 uses the key, initialization vector (IV), and authentication tag to decode the QUIC Client Initial Payload and authenticate the QUIC Client Initial Header (S750). In step S750, the traffic masking device 130 may optionally omit the authentication process of the QUIC Client Initial Header.
[0069] Figure 7 shows the sequential implementation of steps S710 to S750, but it is not necessarily limited to this. In other words, the following methods can be applied: modifying the steps shown in Figure 7 and implementing them, or implementing one or more steps in parallel. Therefore, Figure 7 is not limited to the timing sequence.
[0070] As described above, as shown in FIG7, the QUIC client initial data packet confirmation and decoding method of this embodiment can be implemented by a program and recorded in a computer-readable recording medium. The recording medium contains a program for implementing the QUIC client initial data packet confirmation and decoding method of this embodiment and can be read by a computer, including all types of recording devices for storing computer system readable data.
[0071] Figure 8 is a view of the initial data packet of the QUIC client after decoding in this embodiment.
[0072] The QUIC client initial data packet decoded after confirmation by the traffic masking device 130 is shown in Figure 8.
[0073] Figure 9 is a schematic flowchart of the SNI (Server Name Indication) resolution method after confirming the TLS Client Hello message in this embodiment.
[0074] Based on the decoding result of decoding the QUIC Client Initial data packet, the traffic masking device 130 confirms the TLS Client Hello message, performs SNI (Server Name Indication) parsing, and generates SNI parsing result.
[0075] The QUIC Client Initial Payload consists of multiple frames. A CRYPTO frame can be segmented and transmitted on more than one QUIC initial message. CRYPTO data can be segmented and transmitted on more than one CRYPTO frame. In other words, CRYPTO data can be segmented and transmitted on more than one data packet, and should be configured on the receiving server.
[0076] The flow masking device 130 queries the stored CRYPTO data in the high-speed cache memory (S910). In step S910, the flow masking device 130 may optionally omit the CRYPTO data query process.
[0077] In step S910, the source IP address, source port, destination IP address, destination port, source connection ID, and destination connection ID can be used as the key for querying CRYPTO data.
[0078] The flow masking device 130 confirms the CRYPTO framework from the QUIC Client Initial Payload, parses the data, and then generates the assembly result of the assembly (S920).
[0079] After analyzing the CRYPTO frame based on the assembly results, the flow shielding device 130 confirms whether the assembly is successful (S930).
[0080] According to the confirmation result of step S930, when the assembly fails after parsing the CRYPTO frame, the flow masking device 130 stores the CRYPTO data in the cache memory (S940). In step S940, the flow masking device 130 may optionally omit the process of storing the CRYPTO data in the cache memory.
[0081] According to the confirmation result of step S930, when the CRYPTO framework is successfully assembled after parsing, the traffic masking device 130 confirms the TLS Client Hello message from the CRYPTO data based on the assembly result and generates the parsing result of the SNI (Server Name Indication) (S950).
[0082] The traffic masking device 130 confirms whether the parsing of the SNI (Server Name Indication) of the TLS Client Hello message was successful (S960).
[0083] According to the confirmation result of step S960, when the SNI (Server Name Indication) of the TLS Client Hello message is successfully parsed, the traffic masking device 130 terminates the SNI parsing.
[0084] According to the confirmation result of step S960, when the parsing of the SNI (Server Name Indication) of the TLS Client Hello message fails, the traffic masking device 130 returns to step S920.
[0085] Figure 9 shows the sequential implementation of steps S910 to S960, but it is not necessarily limited to this. In other words, the following methods can be applied: modifying the steps shown in Figure 9 and implementing them, or implementing one or more steps in parallel. Therefore, Figure 9 is not limited to the timing sequence.
[0086] As described above, as shown in FIG9, the TLS client greeting message acknowledgment and SNI parsing method described in this embodiment can be implemented by a program and recorded in a computer-readable recording medium. The recording medium contains a program for implementing the TLS client greeting message acknowledgment and SNI parsing method described in this embodiment and can be read by a computer, including all types of recording devices for storing computer system readable data.
[0087] Figure 10 is a view of the SNI parsing results of this embodiment.
[0088] When the traffic masking device 130 successfully parses the SNI (Server Name Indication) of the TLS Client Hello message, as shown in Figure 10.
[0089] Figure 11 is a schematic flowchart of the method for generating fake QUIC server initial data packets when the SNI parsing result is confirmed to be the mask object SNI in this embodiment.
[0090] When the SNI resolution result is confirmed to be the masked object SNI, the traffic masking device 130 generates a fake QUIC server initial data packet.
[0091] The traffic masking device 130 generates a connection termination frame (S1110) based on the contents of the QUIC Server Initial Payload.
[0092] Traffic masking device 130 generates the packet number length (S1112) that will enter the QUIC Server Initial Header.
[0093] Traffic masking device 130 generates a packet number (S1114) that will enter the QUIC Server Initial Header.
[0094] The traffic masking device 130 generates a QUIC server initial header (S1116) using the version and source connection ID parsed from the QUIC client initial header.
[0095] The flow masking device 130 obtains the initial salt value (S1118) by using the version parsed from the QUIC Client Initial Header.
[0096] The flow masking device 130 generates an initial secret (S1120) by using the destination connection ID parsed from the initial salt and the QUIC client initial header.
[0097] The traffic masking device 130 generates a server initial secret (S1122) using the initial secret and the server in label.
[0098] The traffic masking device 130 generates a key using the Server Initial Secret and the QUIC key label (S1124).
[0099] The traffic masking device 130 uses the Server Initial Secret and the QUIC Initialization Vector Label to generate a Previous IV (Initialization Vector) (S1126).
[0100] The traffic masking device 130 uses the Server Initial Secret and the QUIC header protection label to generate a header protection key (S1128).
[0101] The flow masking device 130 generates an initialization vector (IV) using the previous initialization vector (Previous IV) and the already generated data packet number (S1130).
[0102] The traffic masking device 130 uses the key, the initialization vector (IV) and the already generated QUIC server initial header to encrypt the QUIC server initial payload and generate an authentication tag (S1132).
[0103] The traffic masking device 130 parses the sample payload from the encrypted QUIC Server Initial Payload (S1134).
[0104] The flow masking device 130 generates a mask using the sample payload and the header protection key (S1136).
[0105] The traffic masking device 130 uses a mask to encrypt the packet number length of the QUIC Server Initial Header (S1138).
[0106] The traffic masking device 130 uses a mask to encrypt the packet number of the QUIC Server Initial Header (S1140).
[0107] The traffic masking device 130 sequentially attaches the encrypted QUIC Server Initial Header, Payload, and Authentication Tag to generate a QUIC Server Initial message (S1142).
[0108] The traffic masking device 130 uses the source IP address, destination IP address, source port, destination port, and QUIC Server Initial message parsed from the IP header and UDP header of the received QUIC data packet to generate a fake QUIC Server Initial data packet (S1144).
[0109] Figure 11 shows the sequential implementation of steps S1110 to S1144, but it is not necessarily limited to this. In other words, the following methods can be applied: modifying the steps shown in Figure 11 and implementing them, or implementing more than one step in parallel. Therefore, Figure 11 is not limited to the time sequence.
[0110] As described above, as shown in FIG11, when the SNI parsing result described in this embodiment is confirmed to be a masking object SNI, the method for generating the pseudo-QUIC server initial data packet can be implemented by a program and recorded in a computer-readable recording medium. When the SNI parsing result described in this embodiment is confirmed to be a masking object SNI, the recording medium contains a program for implementing the pseudo-QUIC server initial data packet generation method and can be read by a computer, including all types of recording devices for storing computer system readable data.
[0111] Figure 12 is a view of the initial data packet of the QUIC server before encryption in this embodiment.
[0112] The QUIC server initial data packet before the QUIC server initial header and QUIC server initial payload encrypted by the traffic masking device 130 is shown in Figure 12.
[0113] Figure 13 is a view of the encrypted QUIC server initial data packet in this embodiment.
[0114] After the traffic masking device 130 encrypts the QUIC Server Initial Header and QUIC Server Initial Payload, the QUIC Server Initial Data Packet is shown in Figure 13.
[0115] Figure 14 is a view of the transmission of QUIC server initial data packets in the out-of-band network described in this embodiment, based on the traffic masking system of the function variable name.
[0116] The traffic masking device 130 transmits the generated fake QUIC server initial data packet to one of the HTTP / 3 clients 112, masking the connection between one of the HTTP / 3 clients 112 and one of the HTTP / 3 servers 142 identified as the masking target website.
[0117] The above description merely illustrates the technical concept of this embodiment. Those skilled in the art to which this embodiment pertains can make various modifications and variations without departing from the essential characteristics of this embodiment. Therefore, this embodiment is not intended to limit the technical concept of this embodiment, but rather to describe it. The scope of the technical concept of this embodiment is not limited by this embodiment. The scope of protection of this embodiment should be interpreted in accordance with the scope of the appended claims, and it should be interpreted that all technical concepts within the same scope are included in the scope of the claims of this embodiment. [Simplified Explanation of the Diagram]
[0011] Figure 1 is a view of the traffic masking system based on functional variable names in the out-of-band network described in this embodiment. Figure 2 is a schematic diagram of the QUIC protocol in this embodiment. Figure 3 is a schematic diagram of the QUIC communication process in this embodiment. Figure 4 is a schematic flowchart of the traffic masking method based on functional variable names in the out-of-band network described in this embodiment. Figure 5 is a view of the traffic masking system based on functional variable names receiving data packets in the out-of-band network described in this embodiment. Figure 6 is a view of the QUIC client initial data packet before decoding in this embodiment. Figure 7 is a schematic flowchart of the confirmation and decoding method of the QUIC client initial data packet in this embodiment. Figure 8 is a view of the QUIC client initial data packet after decoding in this embodiment. Figure 9 is a schematic flowchart of the SNI (Server Name Indication) resolution method implemented after confirming the TLS client Hello message in this embodiment. Figure 10 is a view of the SNI resolution result in this embodiment. Figure 11 is a schematic flowchart of the method for generating fake QUIC server initial data packets when the SNI parsing result is confirmed to be the masking object SNI in this embodiment. Figure 12 is a view of the QUIC server initial data packet before encryption in this embodiment. Figure 13 is a view of the QUIC server initial data packet after encryption in this embodiment. Figure 14 is a view of the transmission of fake QUIC server initial data packets in the out-of-band network described in this embodiment, based on the traffic masking system using functional variable names.
Claims
1. A traffic masking method based on functional variable names in out-of-band networks, wherein, The process includes the following steps: In an out-of-band network environment, the mirroring device copies the QUIC data packets received from the client and transmits them to the traffic masking device; After confirming that the QUIC data packet is a QUIC Client Initial data packet, the traffic masking device generates a decoding result. Based on the decoding result, the traffic masking device confirms the TLS Client Hello message, performs SNI (Server Name Indication) parsing, and generates an SNI parsing result. When the traffic masking device confirms that the SNI parsing result is the SNI of the masked object, it generates a fake QUIC Server Initial data packet. The process of generating the fake QUIC Server Initial data packet includes: the traffic masking device generating a connection termination frame (CONNECTION_CLOSE Frame) with the content of the QUIC Server Initial Payload, and generating the packet number length and packet number (Packet Number) to enter the QUIC Server Initial Header. The traffic masking device generates multiple encryption keys for encryption; the traffic masking device uses the multiple encryption keys to encrypt the QUIC server initial payload and generate an authentication tag; the traffic masking device generates an encryption result that encrypts the data packet number length and the data packet number in the QUIC server initial header; the traffic masking device uses the encryption result to generate the pseudo QUIC server initial data packet; the traffic masking device transmits the pseudo QUIC server initial data packet to the client, masking traffic based on the functional variable name; and the traffic masking device discards the QUIC data packet received from the mirroring device.
2. The traffic masking method based on functional variable names in out-of-band networks as described in request item 1, wherein, The decoding process of the initial data packet of the QUIC client includes the following steps: the traffic masking device confirms that the initial data packet of the QUIC client is UDP, and generates a payload parsing result that parses the payload; The traffic masking device generates multiple decoding keys for decoding based on the payload parsing results; The traffic masking device uses the multiple decoding keys to decode the initial data packet of the QUIC client; The traffic masking device uses the multiple decoding keys to selectively authenticate the initial data packets of the QUIC client.
3. The traffic masking method based on functional variable names in out-of-band networks as described in claim 2, wherein, The process of generating multiple keys for decoding based on the payload parsing result includes the following steps: When the traffic masking device analyzes the payload based on the payload parsing result and confirms it as a QUIC initial message, it parses the version and destination connection ID from the QUIC Client Initial Header; the traffic masking device uses the version to obtain the initial salt; the traffic masking device uses the initial salt and the destination connection ID to generate the initial secret; the traffic masking device uses the initial secret and the client in label to generate the client initial secret; the traffic masking device uses the client initial secret and the QUIC key label to generate the key; the traffic masking device uses the client initial secret and the QUIC initialization vector label to generate the previous initialization vector (Initialization IV). Vector); and the traffic masking device uses the client's initial secret and the QUIC header protection label to generate a header protection key.
4. The traffic masking method based on functional variable names in out-of-band networks as described in claim 3, wherein, The process of decoding the QUIC client initial data packet using the multiple keys includes the following steps: the traffic masking device parses the sample payload from the QUIC client initial payload; the traffic masking device generates a mask using the sample payload and the header protection key; the traffic masking device decodes the packet number length of the QUIC client initial header using the mask; and the traffic masking device decodes the packet number of the QUIC client initial header using the mask and the packet number length. The traffic masking device generates an initialization vector (IV) using the prior initialization vector and the data packet number; and the traffic masking device decodes the initial payload of the QUIC client using the key and the initialization vector (IV).
5. The traffic masking method based on functional variable names in out-of-band networks as described in claim 4, wherein, The process of selectively authenticating the initial data packet of the QUIC client using multiple keys includes the following steps: the traffic masking device selectively parses the authentication tag from the initial payload of the QUIC client; The traffic masking device uses the key, the initialization vector (IV), and the authentication tag to decode the initial payload of the QUIC client and selectively authenticate the initial header of the QUIC client.
6. The traffic masking method based on functional variable names in an out-of-band network as described in request item 1, wherein, The process of performing SNI (Server Name Indication) parsing on the TLS client greeting message includes the following steps: the traffic masking device queries the cache memory for CRYPTO data; the traffic masking device confirms the CRYPTO framework from the QUIC Client Initial Payload, parses the data, and generates the assembled result. The traffic masking device, based on the assembly result, confirms the TLS client greeting message from the CRYPTO data and generates a parsing result for the SNI.
7. The traffic masking method based on functional variable names in out-of-band networks as described in Request 1, wherein, The generation process of the multiple encryption keys used for encryption includes the following steps: The traffic masking device generates the QUIC server initial header using the version and source connection ID parsed from the QUIC client initial header; The traffic masking device obtains the initial salt using the version parsed from the QUIC client initial header; The traffic masking device generates the initial secret using the initial salt and the target connection ID parsed from the QUIC client initial header; The traffic masking device generates the server initial secret using the initial secret and the server in label; The traffic masking device generates the key using the server initial secret and the QUIC key label; The traffic masking device generates the previous initialization vector (IV) using the server initial secret and the QUIC initialization vector label. Vector); and the traffic masking device uses the server initial secret and the QUIC header protection label to generate a header protection key.
8. The traffic masking method based on functional variable names in an out-of-band network as described in claim 7, wherein, The process of encrypting the initial payload of the QUIC server and generating an authentication tag using the multiple encryption keys includes the following steps: the traffic masking device generates an initialization vector (IV) using the prior initialization vector and the data packet number; The traffic masking device uses the key, the initialization vector (IV), and the QUIC server initial header to encrypt the QUIC server initial payload and generate an authentication tag.
9. The traffic masking method based on functional variable names in an out-of-band network as described in claim 8, wherein, The process of encrypting the data packet number length of the QUIC server initial header and generating the encryption result of the data packet number includes the following steps: the traffic masking device parses the sample payload from the encrypted QUIC server initial payload; the traffic masking device uses the sample payload and the header protection key to generate a mask; the traffic masking device uses the mask to encrypt the data packet number length of the QUIC server initial header; The traffic masking device uses the mask to encrypt the data packet number in the initial header of the QUIC server.
10. The traffic masking method based on functional variable names in an out-of-band network as described in claim 9, wherein, The process of generating the pseudo QUIC server initial data packet using the encryption result includes the following steps: the traffic masking device sequentially affixes the encrypted QUIC server initial header, payload, and authentication tag to generate the QUIC server initial message; The traffic masking device uses the source IP address, destination IP address, source port, destination port, and QUIC Server Initial message parsed from the IP header and UDP header of the received QUIC data packets to generate the pseudo QUIC Server Initial data packet.
Citation Information
Patent Citations
Methods, systems, and devices for determining short-form video content traffic flows and long-form video content traffic flows from encrypted video traffic
US20230188801A1
Encrypted data packet forwarding
US20230198964A1
Methods for managing insertion of metadata into a data stream to assist with analysis of network traffic and devices thereof
US20240146628A1
Method, apparatus and system for diagnosing network performance
US20240195721A1
