## 3 Background
### Communication Principle of Snowflake Protocol
#### 3.2.1 Snowflake Communication Process
It passes user-generated Tor traffic to the Tor core network to achieve censorship evasion, which poses a great challenge to the current censorship and regulation against Tor. DTLS Protocol Analysis  
Facing the problems of UDP protocol such as no authentication of both communication parties and no guarantee of reliable message transmission, DTLS provides an end-to-end secure data transmission channel for UDP. It uses PSK (Pre-Shared Key) or ECC (Elliptic Curve Cryptography) to achieve encryption during the handshake process, cookie authentication mechanism and certificate to achieve authentication of both communicating parties, adding sequential number, caching the message segment arriving out of order and retransmission mechanism to achieve reliable transmission. In this paper, we study the Snowflake based on DTLS1.2 [33] in WebRTC for encrypted data transmission. The process of DTLS connection establishment can be divided into two phases: an initial handshake phase and a data transfer phase. In the initial handshake phase, similar to TLS, the client and server implement a DTLS handshake which transfers multiple types of handshake messages. It allows them to verify their identity and negotiate the keys, passwords, and other cryptographic parameters to be used in the connection. During the data transfer phase, the communication is encrypted with the agreed-upon method and secret. Among these handshake messages, the Client Hello message and Server Hello message contain a lot of fingerprint information. The Client Hello message contains the highest supported version of DTLS, the handshake protocol length, random numbers, encryption suites supported by the client, and optional extensions. Server Hello contains the DTLS version supported by the server, the cipher suit chosen by the server, a random number, and an optional extension. They also contain message sequence, fragment offset and fragment length fields. Since the length of the handshake message may exceed the MTU of the UDP datagram (usually limited to 1500 bytes), the handshake message is split into several fragments for transmission through the fragment mechanism. Since DTLS handshakes are not encrypted, some features exist in these fingerprints that can significantly identify different applications. Snowflake's DTLS fingerprint supports the identification of Snowflake traffic. Snowflake is essentially a tool that attempts to mimic traffic, and it achieves obfuscation by trying to make Snowflake's WebRTC difficult to distinguish from other applications of WebRTC. But there are still some differences. From the study of [PERSON] et al. [27], it is clear that the fingerprint information extracted from Snowflake has high discrimination in the collected fingerprint dataset from the experiment. From the analysis of WebRTC fingerprints of Snowflake by [PERSON] et al. [26], it is clear that these differences are mainly found in the DTLS handshake phase fingerprint information. Therefore, we propose a Snowflake traffic identification method based on fingerprinting information in the DTLS handshake phase. In the DTLS data transfer phase, both the client and server can transmit encrypted and authenticated data with the negotiated key. Although the content of the communication is encrypted, features such as the payload length, direction and time interval of the transmitted message can still reveal the circuit establishment process. These features' information supports our later-proposed method for identifying HS traffic in the Tor-Snowflake scenario.