RFC 8932: BCP 232: Recommendations for DNS Privacy Service Operators
- S. Dickinson,
- B. Overeinder,
- R. van Rijswijk-Deij,
- A. Mankin
Abstract
This document presents operational, policy, and security
considerations for DNS recursive resolver operators who choose to offer
DNS privacy services. With these recommendations
This document also presents a non-normative framework to assist writers of a Recursive operator Privacy Statement, analogous to DNS Security Extensions (DNSSEC) Policies and DNSSEC Practice Statements described in RFC 6841.¶
Status of This Memo
This memo documents an Internet Best Current Practice.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on BCPs is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
https://
Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.¶
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(https://
1. Introduction
The Domain Name System (DNS) is at the core of the Internet; almost every activity on the Internet starts with a DNS query (and often several). However, the DNS was not originally designed with strong security or privacy mechanisms. A number of developments have taken place in recent years that aim to increase the privacy of the DNS, and these are now seeing some deployment. This latest evolution of the DNS presents new challenges to operators, and this document attempts to provide an overview of considerations for privacy-focused DNS services.¶
In recent years, there has also been an increase in the availability of "public resolvers" [RFC8499], which users may prefer to use instead of the default network resolver, either because they offer a specific feature (e.g., good reachability or encrypted transport) or because the network resolver lacks a specific feature (e.g., strong privacy policy or unfiltered responses). These public resolvers have tended to be at the forefront of adoption of privacy-related enhancements, but it is anticipated that operators of other resolver services will follow.¶
Whilst protocols that encrypt DNS messages on the wire provide protection
against certain attacks, the resolver operator still has (in principle) full
visibility of the query data and transport identifiers for each
user. Therefore,
a trust relationship (whether explicit or implicit) is assumed to exist
between
each user and the operator of the resolver(s) used by that user. The ability
of
the operator to provide a transparent, well
It should also be noted that there are both advantages and
disadvantages to a user choosing to configure a single resolver
(or a fixed set of resolvers) and an encrypted transport to use in all network
environments. For example, the user has a
clear expectation of which resolvers have visibility of their query data.
However, this resolver
More recently, the global legislative landscape with regard to personal data
collection, retention, and pseudonymizatio
This document has two main goals:¶
A desired operational impact is that all operators (both those providing resolvers within networks and those operating large public services) can demonstrate their commitment to user privacy, thereby driving all DNS resolution services to a more equitable footing. Choices for users would (in this ideal world) be driven by other factors -- e.g., differing security policies or minor differences in operator policy -- rather than gross disparities in privacy concerns.¶
Community insight (or judgment?) about operational practices can change quickly, and experience shows that a Best Current Practice (BCP) document about privacy and security is a point-in-time statement. Readers are advised to seek out any updates that apply to this document.¶
2. Scope
"DNS Privacy Considerations" [RFC7626] describes the general privacy issues and threats associated with the use of the DNS by Internet users; much of the threat analysis here is lifted from that document and [RFC6973]. However, this document is limited in scope to best-practice considerations for the provision of DNS privacy services by servers (recursive resolvers) to clients (stub resolvers or forwarders). Choices that are made exclusively by the end user, or those for operators of authoritative nameservers, are out of scope.¶
This document includes (but is not limited to) considerations in the following areas:¶
Whilst the issues raised here are targeted at those operators who choose to offer a DNS privacy service, considerations for areas 2 and 3 could equally apply to operators who only offer DNS over unencrypted transports but who would otherwise like to align with privacy best practice.¶
4. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.¶
DNS terminology is as described in [RFC8499], except with
regard to the definition of privacy
Other Terms:¶
5. Recommendations for DNS Privacy Services
In the following sections, we first outline the threats relevant to the specific topic and then discuss the potential actions that can be taken to mitigate them.¶
We describe two classes of threats:¶
We describe three classes of actions that operators of DNS privacy services can take:¶
This document does not specify policy, only best practice. However, for DNS privacy services to be considered compliant with these best-practice guidelines, they SHOULD implement (where appropriate) all:¶
The rest of this document does not use normative language but instead refers only to the three differing classes of action that correspond to the three named levels of compliance stated above. However, compliance (to the indicated level) remains a normative requirement.¶
5.1. On the Wire between Client and Server
In this section, we consider both data on the wire and the service provided to the client.¶
5.1.1. Transport Recommendations
- Threats described in [RFC6973]:
-
- Surveillance:
- Passive surveillance of traffic on the wire.¶
- DNS Privacy Threats:
- Active injection of spurious data or traffic.¶
- Mitigations:
-
A DNS privacy service can mitigate these threats by providing service over one or more of the following transports:¶
It is noted that a DNS privacy service can also be provided over DNS over DTLS [RFC8094]; however, this is an Experimental specification, and there are no known implementations at the time of writing.¶
It is also noted that DNS privacy service might be provided over DNSCrypt [DNSCrypt], IPsec, or VPNs. However, there are no specific RFCs that cover the use of these transports for DNS, and any discussion of best practice for providing such a service is out of scope for this document.¶
Whilst encryption of DNS traffic can protect against active injection on the paths traversed by the encrypted connection, this does not diminish the need for DNSSEC; see Section 5.1.4.¶
5.1.2. Authentication of DNS Privacy Services
- Threats described in [RFC6973]:
-
- Surveillance:
- Active attacks on client resolver configuration.¶
- Mitigations:
-
DNS privacy services should ensure clients can authenticate the server. Note that this, in effect, commits the DNS privacy service to a public identity users will trust.¶
When using DoT, clients that select a "Strict Privacy" usage profile [RFC8310] (to mitigate the threat of active attack on the client) require the ability to authenticate the DNS server. To enable this, DNS privacy services that offer DoT need to provide credentials that will be accepted by the client's trust model, in the form of either X.509 certificates [RFC5280] or Subject Public Key Info (SPKI) pin sets [RFC8310].¶
When offering DoH [RFC8484], HTTPS requires authentication of the server as part of the protocol.¶
5.1.2.1. Certificate Management
Anecdotal evidence to date highlights the management of certificates as one of the more challenging aspects for operators of traditional DNS resolvers that choose to additionally provide a DNS privacy service, as management of such credentials is new to those DNS operators.¶
It is noted that SPKI pin set management is described in [RFC7858] but that key-pinning mechanisms in general have fallen out of favor operationally for various reasons, such as the logistical overhead of rolling keys.¶
- DNS Privacy Threats:
-
- Mitigations:
-
It is recommended that operators:¶
5.1.3. Protocol Recommendations
5.1.3.1. DoT
- DNS Privacy Threats:
-
- Mitigations:
-
In the case of DoT, TLS profiles from Section 9 of [RFC8310] and the "Countermeasure
s to DNS Traffic Analysis" from Section 11.1 of [RFC8310] provide strong mitigations. This includes but is not limited to:¶ - Optimizations:
-
- Additional Options:
- Management of TLS connections to optimize performance for clients using DNS Stateful Operations [RFC8490].¶
5.1.4. DNSSEC
- DNS Privacy Threats:
- Users may be directed to bogus IP addresses that, depending on the application, protocol, and authentication method, might lead users to reveal personal information to attackers. One example is a website that doesn't use TLS or whose TLS authentication can somehow be subverted.¶
- Mitigations:
- All DNS privacy services must offer a DNS privacy service that performs Domain Name System Security Extensions (DNSSEC) validation. In addition, they must be able to provide the DNSSEC Resource Records (RRs) to the client so that it can perform its own validation.¶
The addition of encryption to DNS does not remove the need for DNSSEC [RFC4033]; they are independent and fully compatible protocols, each solving different problems. The use of one does not diminish the need nor the usefulness of the other.¶
While the use of an authenticated and encrypted transport protects origin authentication and data integrity between a client and a DNS privacy service, it provides no proof (for a nonvalidating client) that the data provided by the DNS privacy service was actually DNSSEC authenticated. As with cleartext DNS, the user is still solely trusting the Authentic Data (AD) bit (if present) set by the resolver.¶
It should also be noted that the use of an encrypted transport for DNS actually solves many of the practical issues encountered by DNS validating clients -- e.g., interference by middleboxes with cleartext DNS payloads is completely avoided. In this sense, a validating client that uses a DNS privacy service that supports DNSSEC has a far simpler task in terms of DNSSEC roadblock avoidance [RFC8027].¶
5.1.5. Availability
- DNS Privacy Threats:
- A failing DNS privacy service could force the user to switch providers, fall back to cleartext, or accept no DNS service for the duration of the outage.¶
- Mitigations:
-
A DNS privacy service should strive to engineer encrypted services to the same availability level as any unencrypted services they provide. Particular care should to be taken to protect DNS privacy services against denial
-of -service (DoS) attacks, as experience has shown that unavailability of DNS resolving because of attacks is a significant motivation for users to switch services. See, for example, Section IV-C of [Passive -Observations ].¶-of -a -Large -DNS Techniques such as those described in Section 10 of [RFC7766] can be of use to operators to defend against such attacks.¶
5.1.6. Service Options
- DNS Privacy Threats:
- Unfairly disadvantaging users of the privacy service with respect to the services available. This could force the user to switch providers, fall back to cleartext, or accept no DNS service for the duration of the outage.¶
- Mitigations:
- A DNS privacy service should deliver the same level of service as offered on unencrypted channels in terms of options such as filtering (or lack thereof), DNSSEC validation, etc.¶
5.1.7. Impact of Encryption on Monitoring by DNS Privacy Service Operators
- DNS Privacy Threats:
- Increased use of encryption can impact a DNS privacy service operator's ability to monitor traffic and therefore manage their DNS servers [RFC8404].¶
Many monitoring solutions for DNS traffic rely on the plaintext nature of this traffic and work by intercepting traffic on the wire, either using a separate view on the connection between clients and the resolver, or as a separate process on the resolver system that inspects network traffic. Such solutions will no longer function when traffic between clients and resolvers is encrypted. Many DNS privacy service operators still need to inspect DNS traffic -- e.g., to monitor for network security threats. Operators may therefore need to invest in an alternative means of monitoring that relies on either the resolver software directly, or exporting DNS traffic from the resolver using, for example, [dnstap].¶
- Optimization:
- When implementing alternative means for traffic monitoring, operators of a
DNS
privacy service should consider using privacy
-conscious means to do so. See Section 5.2 for more details on data handling and the discussion on the use of Bloom Filters in Appendix B.¶
5.1.8. Limitations of Fronting a DNS Privacy Service with a Pure TLS Proxy
- DNS Privacy Threats:
-
- Optimization:
-
Some operators may choose to implement DoT using a TLS proxy (e.g., [nginx], [haproxy], or [stunnel]) in front of a DNS nameserver because of proven robustness and capacity when handling large numbers of client connections, load-balancing capabilities, and good tooling. Currently, however, because such proxies typically have no specific handling of DNS as a protocol over TLS or DTLS, using them can restrict traffic management at the proxy layer and the DNS server. For example, all traffic received by a nameserver behind such a proxy will appear to originate from the proxy, and DNS techniques such as Access Control Lists (ACLs), Response Rate Limiting (RRL), or DNS64 [RFC6147] will be hard or impossible to implement in the nameserver.¶
Operators may choose to use a DNS-aware proxy, such as [dnsdist], that offers custom options (similar to those proposed in [DNS-XPF]) to add source information to packets to address this shortcoming. It should be noted that such options potentially significantly increase the leaked information in the event of a misconfiguratio
n .¶
5.2. Data at Rest on the Server
5.2.1. Data Handling
- Threats described in [RFC6973]:
-
- Other Threats
-
- Mitigations:
-
The following are recommendations relating to common activities for DNS service operators; in all cases, data retention should be minimized or completely avoided if possible for DNS privacy services. If data is retained, it should be encrypted and either aggregated, pseudonymized, or anonymized whenever possible. In general, the principle of data minimization described in [RFC6973] should be applied.¶
- Optimizations:
-
5.2.2. Data Minimization of Network Traffic
Data minimization refers to collecting, using, disclosing, and storing the
minimal data necessary to perform a task, and this can be achieved by
removing or obfuscating privacy
The problem of effectively ensuring that DNS traffic logs contain no or
minimal
privacy
Research into data minimization techniques (and particularly IP address
pseudonymizatio
Techniques employed may be broadly categorized as either anonymization or
pseudonymizatio
In practice, there is a fine line between the two; for example, it is difficult to categorize a deterministic algorithm for data minimization of IP addresses that produces a group of pseudonyms for a single given address.¶
5.2.3. IP Address Pseudonymization and Anonymization Methods
A major privacy risk in DNS is connecting DNS queries to an individual, and the major vector for this in DNS traffic is the client IP address.¶
There is active discussion in the space of effective pseudonymizatio
Appendix B provides a more detailed survey of various techniques employed or under development in 2020.¶
5.2.4. Pseudonymization, Anonymization, or Discarding of Other Correlation Data
- DNS Privacy Threats:
-
- Mitigations:
-
5.2.5. Cache Snooping
- Threats described in [RFC6973]:
-
- Surveillance:
- Profiling of client queries by malicious third parties.¶
- Mitigations:
- See [ISC
-Knowledge ] for an example discussion on defending against cache snooping. Options proposed include limiting access to a server and limiting nonrecursive queries.¶-database -on -cache -snooping
5.3. Data Sent Onwards from the Server
In this section, we consider both data sent on the wire in upstream queries and data shared with third parties.¶
5.3.1. Protocol Recommendations
- Threats described in [RFC6973]:
-
- Surveillance:
- Transmission of identifying data upstream.¶
- Mitigations:
-
The server should:¶
- Optimizations:
-
As per Section 2 of [RFC7871], the server should either:¶
If operators do offer a service that sends the ECS options upstream, they should use the shortest prefix that is operationally feasible and ideally use a policy of allowlisting upstream servers to which to send ECS in order to reduce data leakage. Operators should make clear in any policy statement what prefix length they actually send and the specific policy used.¶
Allowlisting has the benefit that not only does the operator know which upstream servers can use ECS, but also the operator can decide which upstream servers apply privacy policies that the operator is happy with. However, some operators consider allowlisting to incur significant operational overhead compared to dynamic detection of ECS support on authoritative servers.¶
Additional options:¶
5.3.2. Client Query Obfuscation
Additional options:¶
Since queries from recursive resolvers to authoritative servers are
performed
using cleartext (at the time of writing), resolver services need to consider
the
extent to which they may be directly leaking information about their client
community via these upstream queries and what they can do to mitigate this
further. Note that, even when all the relevant techniques described above are
employed, there may still be attacks possible -- e.g.,
[Pitfalls
At the time of writing, there are no standardized or widely recognized techniques to perform such obfuscation or bulk prefetches.¶
Another technique that particularly small operators may consider is forwarding local traffic to a larger resolver (with a privacy policy that aligns with their own practices) over an encrypted protocol, so that the upstream queries are obfuscated among those of the large resolver.¶
5.3.3. Data Sharing
- Threats described in [RFC6973]:
-
- DNS Privacy Threats:
- Contravention of legal requirements not to process user data.¶
- Mitigations:
-
Operators should not share identifiable data with third parties.¶
If operators choose to share identifiable data with third parties in specific circumstances, they should publish the terms under which data is shared.¶
Operators should consider including specific guidelines for the collection of aggregated and/or anonymized data for research purposes, within or outside of their own organization. This can benefit not only the operator (through inclusion in novel research) but also the wider Internet community. See the policy published by SURFnet [SURFnet-policy] on data sharing for research as an example.¶
6. Recursive Operator Privacy Statement (RPS)
To be compliant with this Best Current Practice document, a DNS recursive operator SHOULD publish a Recursive operator Privacy Statement (RPS). Adopting the outline, and including the headings in the order provided, is a benefit to persons comparing RPSs from multiple operators.¶
Appendix C provides a comparison of some existing policy and privacy statements.¶
6.1. Outline of an RPS
The contents of Sections 6.1.1 and 6.1.2 are non-normative, other than the order of the headings. Material under each topic is present to assist the operator developing their own RPS. This material:¶
Appendix D provides an example (also non-normative) of an RPS statement for a specific operator scenario.¶
6.2. Enforcement/Accountability
Transparency reports may help with building user trust that operators adhere to their policies and practices.¶
Where possible, independent monitoring or analysis could be performed of:¶
This is by analogy with several TLS or website
Additionally, operators could choose to engage the services of a third-party auditor to verify their compliance with their published RPS.¶
7. IANA Considerations
This document has no IANA actions.¶
8. Security Considerations
Security considerations for DNS over TCP are given in [RFC7766], many of which are generally applicable to session-based DNS. Guidance on operational requirements for DNS over TCP are also available in [DNS-OVER-TCP]. Security considerations for DoT are given in [RFC7858] and [RFC8310], and those for DoH in [RFC8484].¶
Security considerations for DNSSEC are given in [RFC4033], [RFC4034], and [RFC4035].¶
9. References
9.1. Normative References
- [RFC2119]
-
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10
.17487 , , <https:///RFC2119 www >..rfc -editor .org /info /rfc2119 - [RFC4033]
-
Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "DNS Security Introduction and Requirements", RFC 4033, DOI 10
.17487 , , <https:///RFC4033 www >..rfc -editor .org /info /rfc4033 - [RFC5280]
-
Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R., and W. Polk, "Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 5280, DOI 10
.17487 , , <https:///RFC5280 www >..rfc -editor .org /info /rfc5280 - [RFC6973]
-
Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., Morris, J., Hansen, M., and R. Smith, "Privacy Considerations for Internet Protocols", RFC 6973, DOI 10
.17487 , , <https:///RFC6973 www >..rfc -editor .org /info /rfc6973 - [RFC7457]
-
Sheffer, Y., Holz, R., and P. Saint-Andre, "Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)", RFC 7457, DOI 10
.17487 , , <https:///RFC7457 www >..rfc -editor .org /info /rfc7457 - [RFC7525]
-
Sheffer, Y., Holz, R., and P. Saint-Andre, "Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)", BCP 195, RFC 7525, DOI 10
.17487 , , <https:///RFC7525 www >..rfc -editor .org /info /rfc7525 - [RFC7766]
-
Dickinson, J., Dickinson, S., Bellis, R., Mankin, A., and D. Wessels, "DNS Transport over TCP - Implementation Requirements", RFC 7766, DOI 10
.17487 , , <https:///RFC7766 www >..rfc -editor .org /info /rfc7766 - [RFC7816]
-
Bortzmeyer, S., "DNS Query Name Minimisation to Improve Privacy", RFC 7816, DOI 10
.17487 , , <https:///RFC7816 www >..rfc -editor .org /info /rfc7816 - [RFC7828]
-
Wouters, P., Abley, J., Dickinson, S., and R. Bellis, "The edns
-tcp , RFC 7828, DOI 10-keepalive EDNS0 Option" .17487 , , <https:///RFC7828 www >..rfc -editor .org /info /rfc7828 - [RFC7830]
-
Mayrhofer, A., "The EDNS(0) Padding Option", RFC 7830, DOI 10
.17487 , , <https:///RFC7830 www >..rfc -editor .org /info /rfc7830 - [RFC7858]
-
Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., and P. Hoffman, "Specification for DNS over Transport Layer Security (TLS)", RFC 7858, DOI 10
.17487 , , <https:///RFC7858 www >..rfc -editor .org /info /rfc7858 - [RFC7871]
-
Contavalli, C., van der Gaast, W., Lawrence, D., and W. Kumari, "Client Subnet in DNS Queries", RFC 7871, DOI 10
.17487 , , <https:///RFC7871 www >..rfc -editor .org /info /rfc7871 - [RFC8020]
-
Bortzmeyer, S. and S. Huque, "NXDOMAIN: There Really Is Nothing Underneath", RFC 8020, DOI 10
.17487 , , <https:///RFC8020 www >..rfc -editor .org /info /rfc8020 - [RFC8174]
-
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10
.17487 , , <https:///RFC8174 www >..rfc -editor .org /info /rfc8174 - [RFC8198]
-
Fujiwara, K., Kato, A., and W. Kumari, "Aggressive Use of DNSSEC
-Validated Cache" , RFC 8198, DOI 10.17487 , , <https:///RFC8198 www >..rfc -editor .org /info /rfc8198 - [RFC8310]
-
Dickinson, S., Gillmor, D., and T. Reddy, "Usage Profiles for DNS over TLS and DNS over DTLS", RFC 8310, DOI 10
.17487 , , <https:///RFC8310 www >..rfc -editor .org /info /rfc8310 - [RFC8467]
-
Mayrhofer, A., "Padding Policies for Extension Mechanisms for DNS (EDNS(0))", RFC 8467, DOI 10
.17487 , , <https:///RFC8467 www >..rfc -editor .org /info /rfc8467 - [RFC8484]
-
Hoffman, P. and P. McManus, "DNS Queries over HTTPS (DoH)", RFC 8484, DOI 10
.17487 , , <https:///RFC8484 www >..rfc -editor .org /info /rfc8484 - [RFC8490]
-
Bellis, R., Cheshire, S., Dickinson, J., Dickinson, S., Lemon, T., and T. Pusateri, "DNS Stateful Operations", RFC 8490, DOI 10
.17487 , , <https:///RFC8490 www >..rfc -editor .org /info /rfc8490 - [RFC8499]
-
Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS Terminology", BCP 219, RFC 8499, DOI 10
.17487 , , <https:///RFC8499 www >..rfc -editor .org /info /rfc8499 - [RFC8806]
-
Kumari, W. and P. Hoffman, "Running a Root Server Local to a Resolver", RFC 8806, DOI 10
.17487 , , <https:///RFC8806 www >..rfc -editor .org /info /rfc8806
9.2. Informative References
- [Bloom-filter]
-
van Rijswijk-Deij, R., Rijnders, G., Bomhoff, M., and L. Allodi, "Privacy
-Conscious Threat Intelligence Using DNSBLOOM" , IFIP/IEEE International Symposium on Integrated Network Management (IM2019), , <http://dl >..ifip .org /db /conf /im /im2019 /189282 .pdf - [Brekne
-and -Arnes] -
Brekne, T. and A. Årnes, "Circumventing IP-address pseudonymizatio
n" , Communications and Computer Networks, , <https://pdfs >..semanticscholar .org /7b34 /12c951cebe71cd2 cddac5fda164fb21 38a44 .pdf - [BUILD-W-HTTP]
-
Nottingham, M., "Building Protocols with HTTP", Work in Progress, Internet-Draft, draft
-ietf , , <https://-httpbis -bcp56bis -09 tools >..ietf .org /html /draft -ietf -httpbis -bcp56bis -09 - [Crypto-PAn]
-
CESNET, "Crypto-PAn", commit 636b237, , <https://
github >..com /CESNET /ipfixcol /tree /master /base /src /intermediate /anonymization /Crypto -PAn - [DNS-OVER-TCP]
-
Kristoff, J. and D. Wessels, "DNS Transport over TCP - Operational Requirements", Work in Progress, Internet-Draft, draft
-ietf , , <https://-dnsop -dns -tcp -requirements -06 tools >..ietf .org /html /draft -ietf -dnsop -dns -tcp -requirements -06 - [DNS
-Privacy -not -so -private] -
Silby, S., Juarez, M., Vallina
-Rodriguez, N. , and C. Troncoso, "DNS Privacy not so private: the traffic analysis perspective.", Privacy Enhancing Technologies Symposium, , <https://petsymposium >..org /2018 /files /hotpets /4 -siby .pdf - [DNS-XPF]
-
Bellis, R., Dijk, P. V., and R. Gacogne, "DNS X-Proxied-For", Work in Progress, Internet-Draft, draft
-bellis , , <https://-dnsop -xpf -04 tools >..ietf .org /html /draft -bellis -dnsop -xpf -04 - [DNSCrypt]
-
"DNSCrypt - Official Project Home Page", <https://
www >..dnscrypt .org - [dnsdist]
-
PowerDNS, "dnsdist Overview", <https://
dnsdist >..org - [dnstap]
-
"dnstap", <https://
dnstap >..info - [Do
H -resolver -policy] -
Mozilla, "Security
/DOH , , <https://-resolver -policy" wiki >..mozilla .org /Security /DOH -resolver -policy - [dot-ALPN]
-
IANA, "Transport Layer Security (TLS) Extensions: TLS Application
-Layer Protocol Negotiation (ALPN) Protocol IDs" , <https://www >..iana .org /assignments /tls -extensiontype -values - [Geolocation
-Impact -Assessment] -
Conversion Works, "Anonymize IP Geolocation Accuracy Impact Assessment", , <https://
www >..conversionworks .co .uk /blog /2017 /05 /19 /anonymize -ip -geo -impact -test / - [haproxy]
-
"HAProxy - The Reliable, High Performance TCP/HTTP Load Balancer", <https://
www >..haproxy .org / - [Harvan]
-
Harvan, M., "Prefix- and Lexicographical
-order , IEEE/IFIP Network Operations and Management Symposium, DOI 10-preserving IP Address Anonymization" .1109 , , <http:///NOMS .2006 .1687580 mharvan >..net /talks /noms -ip _anon .pdf - [Internet.nl]
-
Internet.nl, "Internet.nl Is Your Internet Up To Date?", , <https://
internet >..nl - [IP
-Anonymization -in -Analytics] -
Google, "IP Anonymization in Analytics", , <https://
support >..google .com /analytics /answer /2763052 ?hl =en - [ipcipher1]
-
Hubert, B., "On IP address encryption: security analysis with respect for privacy", Medium, , <https://
medium >..com /@bert .hubert /on -ip -address -encryption -security -analysis -with -respect -for -privacy -dabe1201b476 - [ipcipher2]
-
PowerDNS, "ipcipher", commit fd47abe, , <https://
github >..com /Power DNS /ipcipher - [ipcrypt]
-
veorq, "ipcrypt: IP
-format , commit 8cc12f9, , <https://-preserving encryption" github >..com /veorq /ipcrypt - [ipcrypt
-analysis] -
Aumasson, J-P., "Subject: Re: [Cfrg] Analysis of ipcrypt?", message to the Cfrg mailing list, , <https://
mailarchive >..ietf .org /arch /msg /cfrg /c Fx5WJo48ZEN -a5cj _Llyrd N8 -0 / - [ISC
-Knowledge -database -on -cache -snooping] -
Goldlust, S. and C. Almond, "DNS Cache snooping - should I be concerned?", ISC Knowledge Database, , <https://
kb >..isc .org /docs /aa -00482 - [MAC
-address -EDNS] -
Hubert, B., "Embedding MAC address in DNS requests for selective filtering", DNS-OARC mailing list, , <https://
lists >..dns -oarc .net /pipermail /dns -operations /2016 -January /014143 .html - [nginx]
-
nginx.org, "nginx news", , <https://
nginx >..org / - [Passive
-Observations -of -a -Large -DNS] -
de Vries, W. B., van Rijswijk-Deij, R., de Boer, P-T., and A. Pras, "Passive Observations of a Large DNS Service: 2.5 Years in the Life of Google", DOI 10
.23919 , , <http:///TMA .2018 .8506536 tma >..ifip .org /2018 /wp -content /uploads /sites /3 /2018 /06 /tma2018 _paper30 .pdf - [pcap]
-
The Tcpdump Group, "Tcpdump & Libpcap", , <https://
www >..tcpdump .org / - [Pitfalls
-of -DNS -Encryption] -
Shulman, H., "Pretty Bad Privacy: Pitfalls of DNS Encryption", Proceedings of the 13th Workshop on Privacy in the
Electronic Society, pp. 191-200, DOI 10
.1145 , , <https:///2665943 .2665959 dl >..acm .org /citation .cfm ?id =2665959 - [policy
-comparison] -
Dickinson, S., "Comparison of policy and privacy statements 2019", DNS Privacy Project, , <https://
dnsprivacy >..org /wiki /display /DP /Comparison+of+p olicy+and+privac y+statements+201 9 - [Power
DNS -dnswasher] -
PowerDNS, "dnswasher", commit 050e687, , <https://
github >..com /Power DNS /pdns /blob /master /pdns /dnswasher .cc - [Ramaswamy
-and -Wolf] -
Ramaswamy, R. and T. Wolf, "High-Speed Prefix
-Preserving IP Address Anonymization for Passive Measurement Systems" , DOI 10.1109 , , <http:///TNET .2006 .890128 www >..ecs .umass .edu /ece /wolf /pubs /ton2007 .pdf - [RFC4034]
-
Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Resource Records for the DNS Security Extensions", RFC 4034, DOI 10
.17487 , , <https:///RFC4034 www >..rfc -editor .org /info /rfc4034 - [RFC4035]
-
Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, "Protocol Modifications for the DNS Security Extensions", RFC 4035, DOI 10
.17487 , , <https:///RFC4035 www >..rfc -editor .org /info /rfc4035 - [RFC5077]
-
Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig, "Transport Layer Security (TLS) Session Resumption without Server-Side State", RFC 5077, DOI 10
.17487 , , <https:///RFC5077 www >..rfc -editor .org /info /rfc5077 - [RFC6147]
-
Bagnulo, M., Sullivan, A., Matthews, P., and I. van Beijnum, "DNS64: DNS Extensions for Network Address Translation from IPv6 Clients to IPv4 Servers", RFC 6147, DOI 10
.17487 , , <https:///RFC6147 www >..rfc -editor .org /info /rfc6147 - [RFC6235]
-
Boschi, E. and B. Trammell, "IP Flow Anonymization Support", RFC 6235, DOI 10
.17487 , , <https:///RFC6235 www >..rfc -editor .org /info /rfc6235 - [RFC6265]
-
Barth, A., "HTTP State Management Mechanism", RFC 6265, DOI 10
.17487 , , <https:///RFC6265 www >..rfc -editor .org /info /rfc6265 - [RFC7626]
-
Bortzmeyer, S., "DNS Privacy Considerations", RFC 7626, DOI 10
.17487 , , <https:///RFC7626 www >..rfc -editor .org /info /rfc7626 - [RFC7873]
-
Eastlake 3rd, D. and M. Andrews, "Domain Name System (DNS) Cookies", RFC 7873, DOI 10
.17487 , , <https:///RFC7873 www >..rfc -editor .org /info /rfc7873 - [RFC8027]
-
Hardaker, W., Gudmundsson, O., and S. Krishnaswamy, "DNSSEC Roadblock Avoidance", BCP 207, RFC 8027, DOI 10
.17487 , , <https:///RFC8027 www >..rfc -editor .org /info /rfc8027 - [RFC8094]
-
Reddy, T., Wing, D., and P. Patil, "DNS over Datagram Transport Layer Security (DTLS)", RFC 8094, DOI 10
.17487 , , <https:///RFC8094 www >..rfc -editor .org /info /rfc8094 - [RFC8404]
-
Moriarty, K., Ed. and A. Morton, Ed., "Effects of Pervasive Encryption on Operators", RFC 8404, DOI 10
.17487 , , <https:///RFC8404 www >..rfc -editor .org /info /rfc8404 - [RFC8446]
-
Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10
.17487 , , <https:///RFC8446 www >..rfc -editor .org /info /rfc8446 - [RFC8555]
-
Barnes, R., Hoffman
-Andrews, J. , McCarney, D., and J. Kasten, "Automatic Certificate Management Environment (ACME)", RFC 8555, DOI 10.17487 , , <https:///RFC8555 www >..rfc -editor .org /info /rfc8555 - [RFC8618]
-
Dickinson, J., Hague, J., Dickinson, S., Manderson, T., and J. Bond, "Compacted-DNS (C-DNS): A Format for DNS Packet Capture", RFC 8618, DOI 10
.17487 , , <https:///RFC8618 www >..rfc -editor .org /info /rfc8618 - [SSL-Labs]
-
SSL Labs, "SSL Server Test", , <https://
www >..ssllabs .com /ssltest / - [stunnel]
-
Goldlust, S., Almond, C., and F. Dupont, "DNS over TLS", ISC Knowledge Database", , <https://
kb >..isc .org /article /AA -01386 /0 /DNS -over -TLS .html - [SURFnet-policy]
-
Baartmans, C., van Wynsberghe, A., van Rijswijk-Deij, R., and F. Jorna, "SURFnet Data Sharing Policy", , <https://
surf >..nl /datasharing - [tcpdpriv]
-
Ipsilon Networks, Inc., "TCPDRIV - Program for Eliminating Confidential Information from Traces", , <http://
fly >..isti .cnr .it /software /tcpdpriv / - [van
-Dijkhuizen -et -al] -
Van Dijkhuizen, N. and J. Van Der Ham, "A Survey of Network Traffic Anonymisation Techniques and Implementations
" , ACM Computing Surveys, DOI 10.1145/3182660, , <https://doi >..org /10 .1145 /3182660 - [Xu-et-al]
-
Fan, J., Xu, J., Ammar, M.H., and S.B. Moon, "Prefix
-preserving IP address anonymization: measurement , DOI 10-based security evaluation and a new cryptography -based scheme" .1016 , , <http:///j .comnet .2004 .03 .033 an >..kaist .ac .kr /~sbmoon /paper /intl -journal /2004 -cn -anon .pdf
Appendix A. Documents
This section provides an overview of some DNS privacy-related documents. However, this is neither an exhaustive list nor a definitive statement on the characteristics of any document with regard to potential increases or decreases in DNS privacy.¶
A.1. Potential Increases in DNS Privacy
These documents are limited in scope to communications between stub clients and recursive resolvers:¶
These documents apply to recursive and authoritative DNS but are relevant when considering the operation of a recursive server:¶
A.2. Potential Decreases in DNS Privacy
These documents relate to functionality that could provide increased tracking of user activity as a side effect:¶
Appendix B. IP Address Techniques
The following table presents a high-level comparison of various techniques employed or under development in 2019 and classifies them according to categorization of technique and other properties. Both the specific techniques and the categorizations are described in more detail in the following sections. The list of techniques includes the main techniques in current use but does not claim to be comprehensive.¶
Legend of techniques:¶
- GA
- = Google Analytics¶
- d
- = dnswasher¶
- TC
- = TCPdpriv¶
- C
- = CryptoPAn¶
- TS
- = TSA¶
- i
- = ipcipher¶
- B
- = Bloom filter¶
The choice of which method to use for a particular application will depend on the requirements of that application and consideration of the threat analysis of the particular situation.¶
For example, a common goal is that distributed packet captures must be in
an existing data format, such as PCAP [pcap] or Compacted-DNS (C-DNS) [RFC8618], that can be used
as input to existing analysis tools. In that case, use of a format
any format
B.1. Categorization of Techniques
Data minimization methods may be categorized by the processing used and the properties of their outputs. The following builds on the categorization employed in [RFC6235]:¶
- Format
-preserving . - Normally, when encrypting, the original data length and
patterns in the data should be hidden from an attacker. Some applications of
de
-identification, such as network capture de -identification, require that the de-identified data is of the same form as the original data, to allow the data to be parsed in the same way as the original.¶ - Prefix preservation.
- Values such as IP addresses and MAC addresses contain
prefix information that can be valuable in analysis -- e.g., manufacturer ID in
MAC addresses, or subnet in IP addresses. Prefix preservation ensures that
prefixes are de-identified consistently; for example, if two IP addresses are from
the
same subnet, a prefix preserving de
-identification will ensure that their de-identified counterparts will also share a subnet. Prefix preservation may be fixed (i.e., based on a user-selected prefix length identified in advance to be preserved ) or general.¶ - Replacement.
- A one-to-one replacement of a field to a new value of the same type -- for example, using a regular expression.¶
- Filtering.
- Removing or replacing data in a field. Field data can be overwritten, often with zeros, either partially (truncation or reverse truncation) or completely (black-marker anonymization).¶
- Generalization.
- Data is replaced by more general data with reduced specificity. One example would be to replace all TCP/UDP port numbers with one of two fixed values indicating whether the original port was ephemeral (>=1024) or nonephemeral (>1024). Another example, precision degradation, reduces the accuracy of, for example, a numeric value or a timestamp.¶
- Enumeration.
- With data from a well-ordered set, replace the first data item's data using a random initial value and then allocate ordered values for subsequent data items. When used with timestamp data, this preserves ordering but loses precision and distance.¶
- Reordering
/shuffling . - Preserving the original data, but rearranging its order, often in a random manner.¶
- Random substitution.
- As replacement, but using randomly generated replacement values.¶
- Cryptographic permutation.
- Using a permutation function, such as a hash function or cryptographic block cipher, to generate a replacement de-identified value.¶
B.2. Specific Techniques
B.2.1. Google Analytics Non-Prefix Filtering
Since May 2010, Google Analytics has provided a facility [IP
- Anonymization:
- Format
-preserving, Filtering (truncation).¶
B.2.2. dnswasher
Since 2006, PowerDNS has included a de
- Anonymization:
- Format
-preserving, Enumeration.¶
B.2.3. Prefix-Preserving Map
Used in [tcpdpriv], this algorithm stores a set of original and anonymized IP address pairs. When a new IP address arrives, it is compared with previous addresses to determine the longest prefix match. The new address is anonymized by using the same prefix, with the remainder of the address anonymized with a random value. The use of a random value means that TCPdpriv is not deterministic; different anonymized values will be generated on each run. The need to store previous addresses means that TCPdpriv has significant and unbounded memory requirements. The need to allocate anonymized addresses sequentially means that TCPdpriv cannot be used in parallel processing.¶
- Anonymization:
- Format
-preserving, prefix preservation (general).¶
B.2.4. Cryptographic Prefix-Preserving Pseudonymization
Cryptographic prefix
- Pseudonymization
: - Format
-preserving, prefix preservation (general).¶
B.2.5. Top-Hash Subtree-Replicated Anonymization
Proposed in [Ramaswamy
- Pseudonymization
: - Format
-preserving, prefix preservation (general).¶
B.2.6. ipcipher
A recently released proposal from PowerDNS, ipcipher
[ipcipher1] [ipcipher2], is a simple
pseudonymizatio
- Pseudonymization
: - Format
-preserving, cryptographic permutation.¶
B.2.7. Bloom Filters
van Rijswijk-Deij et al.
have recently described work using Bloom Filters [Bloom-filter]
to
categorize query traffic and record the traffic as the state of multiple
filters. The goal of this work is to allow operators to identify so-called
Indicators of Compromise (IOCs) originating from specific subnets without
storing information about, or being able to monitor, the DNS queries of an
individual user. By using a Bloom Filter, it is possible to determine with a
high probability if, for example, a particular query was made, but the set of
queries made cannot be recovered from the filter. Similarly, by mixing queries
from a sufficient number of users in a single filter, it becomes practically
impossible to determine if a particular user performed a particular
query. Large
numbers of queries can be tracked in a memory
- Anonymized:
- Generalization.¶
Appendix C. Current Policy and Privacy Statements
A tabular comparison of policy and privacy statements from various DNS
privacy service operators based loosely on the proposed RPS structure can
be found at [policy
We note that the existing policies vary widely in style, content, and detail, and it is not uncommon for the full text for a given operator to equate to more than 10 pages (A4 size) of text in a moderate-sized font. It is a nontrivial task today for a user to extract a meaningful overview of the different services on offer.¶
It is also noted that Mozilla has published a DoH resolver policy
[Do
Appendix D. Example RPS
The following example RPS is very loosely based on some elements of published privacy statements for some public resolvers, with additional fields populated to illustrate what the full contents of an RPS might look like. This should not be interpreted as¶
This is a purely hypothetical example of an RPS to outline example contents -- in this case, for a public resolver operator providing a basic DNS Privacy service via one IP address and one DoH URI with security-based filtering. It does aim to meet minimal compliance as specified in Section 5.¶
Acknowledgements
Many thanks to Amelia Andersdotter for a very thorough review of the first draft of this document and Stephen Farrell for a thorough review at Working Group Last Call and for suggesting the inclusion of an example RPS. Thanks to John Todd for discussions on this topic, and to Stéphane Bortzmeyer, Puneet Sood, and Vittorio Bertola for review. Thanks to Daniel Kahn Gillmor, Barry Green, Paul Hoffman, Dan York, Jon Reed, and Lorenzo Colitti for comments at the mic. Thanks to Loganaden Velvindron for useful updates to the text.¶
Sara Dickinson thanks the Open Technology Fund for a grant to support the work on this document.¶
Contributors
The below individuals contributed significantly to the document:¶