In addition to Weibo, there is also WeChat
Please pay attention
WeChat public account
Shulou
2025-01-30 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Network Security >
Share
Shulou(Shulou.com)06/01 Report--
This paper proposes an encryption method of user privacy protection in DNS transmission based on user Datagram protocol: DNSDEA. This method adopts the integration of PKI encryption system and DNS protocol, which not only solves the problem of domain name privacy protection, but also is compatible with traditional DNS system, and maintains the simple and efficient technical characteristics of DNS system.
Domain name system (DNS) is a basic service of the Internet and an important entrance to Internet access. Domain name privacy protection is a research hotspot of DNS security. This paper proposes an encryption method of user privacy protection in DNS transmission based on user Datagram protocol: DNSDEA. This method adopts the integration of PKI encryption system and DNS protocol, which not only solves the problem of domain name privacy protection, but also is compatible with traditional DNS system, and maintains the simple and efficient technical characteristics of DNS system.
Domain name system (domain name system,DNS) is one of the important basic services of the Internet, mainly through the mapping and conversion between domain names and Internet protocol addresses (IP) and other Internet basic resources to identify and locate servers and service entrances on the Internet. DNS is a relatively mature global distributed database, which provides efficient and stable Internet identity resolution services for the Internet.
In 1983, Mockapetris proposed the DNS architecture, which has been continuously evolved and optimized since then. At the beginning of the design, the domain name system did not consider a complete security mechanism in the domain name protocol. In 1999, DNS Security extension Protocol (domain name system security extensions,DNSSEC) was proposed, which can effectively reduce the risk of man-in-the-middle attacks, ensure the integrity of DNS data transmission, and thus improve the security service capability of DNS systems. In 2010, the root service of Internet domain name began to deploy DNSSEC service, indicating that the domain name service began to move towards security service, and DNS also developed from a simple name and address conversion service to a complex and trusted resolution service. The transport layer security protocol DANE (DNS-based authentication of named entities) publishes digital certificates through DNS services based on DNSSEC protocol to ensure that certificates come from specific certificate authorities.
With the continuous improvement of the popularity of the Internet and its continuous penetration into production and life, people have become more and more dependent on the Internet. The current Internet is not only a way to obtain and share information. Moreover, it has become the basic carrier of business systems in most traditional industries, so privacy has become an important problem to be solved on the Internet. DNS mainly uses the plaintext transmission mode of user Datagram Protocol (user datagram protocol,UDP) for name-address conversion. Although DNSSEC protocol increases the difficulty of data tampering, it still uses plaintext to provide resolution services. As a basic service of the Internet, DNS is still vulnerable to the protection of users' privacy. At present, few propositions about security in DNS have been solved, and the issue of privacy has become the focus of the industry and has been paid more and more attention. On the one hand, the industry adopts query minimization (query minimization) method to reduce the risk of privacy theft, and uses the principle of data minimization (data minimization) to reduce the collection of personal privacy information by DNS authoritative services. On the other hand, in order to solve the problem of privacy leakage in the process of DNS parsing service, the international organization Internet Engineering Task Force (IETF) set up a The DNS PRIVate Exchange (DPRIVE) working group in 2014 to discuss and formulate the DNS privacy protection protocol, hoping to achieve DNS privacy protection by means of encrypted data transmission. Based on this background, this paper proposes an encryption method of user privacy protection in DNS transmission based on UDP.
Research status
At present, the vast majority of data exchange between DNS services and terminals (mainly including requests and feedback) is carried out in clear text and non-encrypted way, which will cause users' privacy to be exposed in Internet communications, and their privacy vulnerabilities will be exploited by hackers, for example, hackers can collect information such as user access traces (query time, access content, user IP address, etc.) and analyze user habits. In order to solve this problem, there are two main methods to protect the privacy of users in the process of DNS query.
DNS data message encryption
Dempsky proposed the DNSCurve method, which is based on the existing DNS architecture, uses Curve25519 to exchange keys between the client and the server, and provides authentication and data encryption. The server's public key is stored in the "NS" record and sent to the client, so encrypting DNS messages with DNSCurve does not cause additional query latency. DNSCrypt is a well-known implementation of DNSCurve, which has been widely deployed on OpenDNS services to solve the privacy protection problems of end users. Similar ConfidentialDNS also uses DNS's extension mechanism to add encryption to the DNS protocol. It proposes a new resource record type "ENCRYPT" to transfer the public key of the DNS server to the client. Then the client uses the server public key to encrypt the DNS query request and the client public key used to encrypt the DNS response, thus encrypting and protecting the DNS request and feedback data. Although these two schemes can effectively solve the vulnerability problem caused by DNS plaintext transmission, it is necessary to deploy plug-ins (or upgrade parsing software) at both ends of DNS communication to achieve the goal of DNS communication from plaintext to ciphertext, so it is not widely used at present.
DNS communication link encryption
TLS (transport layer security) is a security protocol that provides data confidentiality and integrity for network communication. It encrypts network connections at the transport layer. At present, one of the most common applications of TLS is HTTPS protocol, which uses public key encryption to authenticate websites and symmetrical encryption to encrypt data transmission. TLS needs TCP protocol to ensure the reliable transmission of the channel, and can not be directly used to encrypt and protect the data of UDP protocol. If DNS wants to use TLS encryption to protect data, it must use TCP protocol. However, the current situation is that the vast majority of DNS queries use UDP protocol, switching to TCP protocol is a long-term process, and the cost is huge. Therefore, at this stage, DNS-over-TLS is not a feasible privacy protection scheme.
DTLS (datagram transport layer security) packet transport layer security protocol is an extension of TLS architecture, which can support UDP protocol. DTLS makes it possible to directly encrypt DNS query messages of UDP protocol. The DNS-over-DTLS proposed in the IETF draft describes in detail how to use DTLS technology to encrypt DNS messages.
DNS-over-TLS and DNS-over-DTLS use the Internet standard protocols TLS and DTLS to implement DNS ciphertext communication. These two methods use TLS protocol to improve DNS, but this method needs to establish a series of complex network communications such as handshake and authentication before communication, which puts forward high network overhead and performance requirements for DNS services with large number of visits and relatively low overhead.
The above two methods bring great challenges to the delay-sensitive and high-throughput Internet basic service DNS.
DNS ciphertext communication method
A new DNS encryption communication method, DNSDEA (DNS data encryption algorithm), is proposed, which uses asymmetric encryption algorithm to communicate under the existing DNS architecture and message format. The public key of the client is queried and transmitted through DNS to reduce the overhead of establishing links based on TLS and other methods and reduce the query delay. At the same time, its stateless characteristic is used to improve the concurrency of the server.
Message structure
1) encrypt the mark bit. In order to mark whether a DNS message is encrypted, the first byte after the header of the DNS message is positioned as the encrypted tag bit. For a normal unencrypted DNS message, this byte indicates the length of the first segment of the query domain name, which should be less than 64 according to the Internet Protocol Standard (request for comments,RFC). Expand the byte to the encrypted mark bit. If the byte is less than 64, the DNS message is unencrypted, and if it is greater than 64, the message is encrypted.
2) key format. DNSDEA uses asymmetric encryption method to generate communication key pairs (including public key and private key) independently at the DNS terminal and the DNS server. The public key of the DNS server is published through the existing Certificate issuance Architecture (certificate authority infrastructure). Customers using the DNS server need to configure the public key manually. The key used by the DNS client is temporarily generated in a query overshoot. Considering the query efficiency and other factors, the DNS client key can be reused for a period of time.
The public key of the client is added by the client in the additional segment of the DNS message in EDNS0 format and sent to the DNS server through DNS query. The specific format is shown in figure 1.
The specific content of the key is stored in the option data above, in which the first two bytes are the algorithm mark bits to identify the encryption algorithm used by the key, the next two bytes are the reserved identification bits, and the last part is the specific public key data. The specific format is shown in figure 2.
3) the format of secret message. The header of the encrypted DNS message is the same as that of the ordinary DNS message, and the second byte of the header is the encrypted mark bit. The last two bytes of the tag bit are the length of the encrypted data, and the last part is the encrypted data, as shown in figure 3.
Encrypted query method
When using the DNSDEA method, the DNS terminal needs to manually configure the public key of the DNS server. The public key of the server can be verified by the PKI system. When the DNS terminal sends the query request to the DNS server, the request resource record (RRset) is encrypted using the public key of the DNS server, the public key of the DNS terminal is made into RRset and encrypted using the public key of the DNS server, and the DNS message format data is generated and transmitted to the DNS server.
The DNS terminal will send the generated DNS query message to the DNS server in accordance with the requirements of the DNS protocol. The DNS server uses its own private key to decrypt and restore the domain name record to be queried and the public key information of the DNS terminal, finds the query result according to the DNS query logic, uses the restored DNS terminal public key to encrypt the query result, and sends it to the DNS terminal.
After receiving the reply message, the DNS terminal uses its private key information to decrypt the reply resource record (RRset) of the reply message, and processes it according to the DNS protocol.
The specific process is shown in figure 4. Taking www.example.com query as an example, the encryption query method is realized, which is mainly divided into the following steps: (1) the server publishes the public key through PKI, and the client configures the server public key manually; (2) the client generates a key pair; (3) the client constructs the www.example.com query package, adds the client public key to the additional segment of the query package, and encrypts it with the server public key, then sends the query package to the server. (4) the server receives the encrypted query packet and decrypts the private key of the server to obtain the DNS query content and the client public key; (5) the server constructs the www.example.com response package and sends the reply packet to the client after encrypting with the client's public key; (6) the client receives the encrypted response packet and uses the client private key to decrypt the response content of the www.example.com.
Experiment and analysis
In order to test the feasibility of DNSDEA, related experiments are carried out to compare DNSDEA with DNS query based on TLS and DTLS encryption methods to verify the feasibility of DNSDEA and its low latency advantage over the current popular encryption methods.
Experimental method.
Because DNS queries are mainly transmitted through UDP, the experiment mainly focuses on DNSDEA and DNS query packet delay based on DTLS encryption. The experiment tests the performance of two encryption methods with different sizes of data packets using RSA and ECC algorithms, takes the average value by initiating multiple DNS queries, calculates the DNS query delay under each method, and compares the characteristics of the two methods in DNS encryption.
The experiment uses openssl-0.9.8 and crypto++5.6.5 encryption library to realize RSA and ECDSA encryption, and simulates the software behavior of DNS server and client under the two encryption methods. Client-side DNS queries are implemented through script timing loop calls, so queries based on DTLS encryption trigger a new DTLS connection each time, without using a historical session. The operating environment of the experiment is CentOS 5.7. the server and client are deployed in different nodes in the same city of Beijing.
Experimental results and analysis
1) fixed communication byte delay comparison. The communication data of 10 Bit is used and the key of different strength is used to test. The experimental results are shown in figure 5.
From the experimental results, in the case of equal key length, the overall delay of DNS query based on DTLS encryption is larger than that of DNS in DNSDEA method because of the time-consuming of key negotiation in the process of establishing a connection. Under the RSA encryption algorithm, the smaller the encryption strength is, the shorter the key is. Compared with the DTLS method, the DNSDEA performance is 2.79 times that of the DTLS method. (the speedup is defined as the ratio of the DTLS method to the DNSDEA delay. The higher the ratio, the lower the DNSDEA delay and the faster the speed.) As the RSA key length increases to 2048 Bit, because DNSDEA needs to encrypt the client key and send the DNS message to the server, the encryption time increases obviously, but the total delay is still lower than that of the DTLS encryption method.
In the case of ECDSA encryption algorithm, when the key length is 112,160,256 Bit, the cost of DNSDEA key encryption is less than the communication cost of DTLS key agreement, so the overall network delay is better than that of DTLS method. But when the encryption intensity increases to 521Bit, the cost of DNSDEA encryption to the key itself increases significantly, which is significantly greater than the communication cost of DTLS key agreement, resulting in a sharp increase in DNS query delay after encryption. The performance is lower than the DTLS method.
2) delay comparison of fixed key length. Using RSA algorithm, the key length is 1024 bits, and the delay of DNS packets with different lengths is tested in DNSDEA and DTLS methods. The experimental results are shown in figure 7.
Because DTLS uses symmetric key to encrypt data after successful key negotiation, with the increase of DNS packets, the delay of DNS encryption method based on DTLS does not increase obviously, while the transmission delay of DNSDEA increases obviously when the DNS message is large.
The experimental results show that under the condition of 1024-bit key encryption, the transmission delay of DNSDEA is significantly lower than that of DNS encryption based on DTLS.
To sum up, when the key length and transmission message are small, the DNSDEA delay is obviously lower than the DTLS method; based on the DTLS encryption method, because both parties use symmetric key encryption after the connection is established, the time-consuming increase is less than DNSDEA; because most DNS messages are generally within 200Byte, so compared with the DTLS method, DNSDEA can significantly reduce the DNS encryption transmission delay. In addition, DNSDEA is based on DNS transmission, and its stateless feature can also significantly improve the concurrency of the server.
As more and more people pay attention to the issue of personal privacy on the Internet, the problem of DNS privacy disclosure will become more and more prominent. Based on the analysis of the existing technologies of DNS personal privacy problems, a new DNS encrypted communication method, DNSDEA, is proposed on the basis of the existing technical solutions. Compared with the traditional method, this method uses asymmetric encryption algorithm to communicate under the existing DNS architecture and message format, which not only completes the protection of DNS personal privacy, but also improves the parallel granularity of the core algorithm of domain name resolution, reduces the communication overhead between the DNS terminal and the DNS server, and effectively maintains the low delay characteristic of DNS.
Experiments are carried out on RSA, elliptical encryption algorithm (ECC) and other encryption algorithms, in order to provide some reference for subsequent communication encryption application research and DNS security parallelization research, and deeply explore the expansion of DNSDEA method for DNSSEC TLSA protocol to improve the security level of encrypted communication. In the future, we will deeply study the improvement and impact of DNSDEA method on the field of social networking and big data exchange, so as to further reduce the risk of Internet privacy disclosure.
Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.
Views: 0
*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.
Continue with the installation of the previous hadoop.First, install zookooper1. Decompress zookoope
"Every 5-10 years, there's a rare product, a really special, very unusual product that's the most un
© 2024 shulou.com SLNews company. All rights reserved.