| < draft-ietf-dprive-bcp-op-03.txt | draft-ietf-dprive-bcp-op-04.txt > | |||
|---|---|---|---|---|
| dprive S. Dickinson | dprive S. Dickinson | |||
| Internet-Draft Sinodun IT | Internet-Draft Sinodun IT | |||
| Intended status: Best Current Practice B. Overeinder | Intended status: Best Current Practice B. Overeinder | |||
| Expires: January 9, 2020 R. van Rijswijk-Deij | Expires: April 6, 2020 R. van Rijswijk-Deij | |||
| NLnet Labs | NLnet Labs | |||
| A. Mankin | A. Mankin | |||
| Salesforce | Salesforce | |||
| July 8, 2019 | October 4, 2019 | |||
| Recommendations for DNS Privacy Service Operators | Recommendations for DNS Privacy Service Operators | |||
| draft-ietf-dprive-bcp-op-03 | draft-ietf-dprive-bcp-op-04 | |||
| Abstract | Abstract | |||
| This document presents operational, policy and security | This document presents operational, policy and security | |||
| considerations for DNS operators who choose to offer DNS Privacy | considerations for DNS recursive resolver operators who choose to | |||
| services. With these recommendations, the operator can make | offer DNS Privacy services. With these recommendations, the operator | |||
| deliberate decisions regarding which services to provide, and how the | can make deliberate decisions regarding which services to provide, | |||
| decisions and alternatives impact the privacy of users. | and how the decisions and alternatives impact the privacy of users. | |||
| This document also presents a framework to assist writers of DNS | This document also presents a framework to assist writers of a DNS | |||
| Privacy Policy and Practices Statements (analogous to DNS Security | Recursive Operator Privacy Statement (analogous to DNS Security | |||
| Extensions (DNSSEC) Policies and DNSSEC Practice Statements described | Extensions (DNSSEC) Policies and DNSSEC Practice Statements described | |||
| in [RFC6841]). | in RFC6841). | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on January 9, 2020. | This Internet-Draft will expire on April 6, 2020. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| skipping to change at page 2, line 20 ¶ | skipping to change at page 2, line 20 ¶ | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 3. Privacy related documents . . . . . . . . . . . . . . . . . . 5 | 3. Privacy related documents . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
| 5. Recommendations for DNS privacy services . . . . . . . . . . 6 | 5. Recommendations for DNS privacy services . . . . . . . . . . 6 | |||
| 5.1. On the wire between client and server . . . . . . . . . . 7 | 5.1. On the wire between client and server . . . . . . . . . . 7 | |||
| 5.1.1. Transport recommendations . . . . . . . . . . . . . . 7 | 5.1.1. Transport recommendations . . . . . . . . . . . . . . 7 | |||
| 5.1.2. Authentication of DNS privacy services . . . . . . . 8 | 5.1.2. Authentication of DNS privacy services . . . . . . . 8 | |||
| 5.1.3. Protocol recommendations . . . . . . . . . . . . . . 9 | 5.1.3. Protocol recommendations . . . . . . . . . . . . . . 9 | |||
| 5.1.4. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 11 | 5.1.4. DNSSEC . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 5.1.5. Availability . . . . . . . . . . . . . . . . . . . . 11 | 5.1.5. Availability . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.1.6. Service options . . . . . . . . . . . . . . . . . . . 12 | 5.1.6. Service options . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.1.7. Impact on Operators . . . . . . . . . . . . . . . . . 12 | 5.1.7. Impact on DNS Privacy Service Operators . . . . . . . 12 | |||
| 5.1.8. Limitations of using a pure TLS proxy . . . . . . . . 13 | 5.1.8. Limitations of using a pure TLS proxy . . . . . . . . 13 | |||
| 5.2. Data at rest on the server . . . . . . . . . . . . . . . 13 | 5.2. Data at rest on the server . . . . . . . . . . . . . . . 14 | |||
| 5.2.1. Data handling . . . . . . . . . . . . . . . . . . . . 13 | 5.2.1. Data handling . . . . . . . . . . . . . . . . . . . . 14 | |||
| 5.2.2. Data minimization of network traffic . . . . . . . . 14 | 5.2.2. Data minimization of network traffic . . . . . . . . 15 | |||
| 5.2.3. IP address pseudonymization and anonymization methods 15 | 5.2.3. IP address pseudonymization and anonymization methods 16 | |||
| 5.2.4. Pseudonymization, anonymization or discarding of | 5.2.4. Pseudonymization, anonymization or discarding of | |||
| other correlation data . . . . . . . . . . . . . . . 16 | other correlation data . . . . . . . . . . . . . . . 17 | |||
| 5.2.5. Cache snooping . . . . . . . . . . . . . . . . . . . 17 | 5.2.5. Cache snooping . . . . . . . . . . . . . . . . . . . 18 | |||
| 5.3. Data sent onwards from the server . . . . . . . . . . . . 17 | 5.3. Data sent onwards from the server . . . . . . . . . . . . 18 | |||
| 5.3.1. Protocol recommendations . . . . . . . . . . . . . . 17 | 5.3.1. Protocol recommendations . . . . . . . . . . . . . . 18 | |||
| 5.3.2. Client query obfuscation . . . . . . . . . . . . . . 18 | 5.3.2. Client query obfuscation . . . . . . . . . . . . . . 19 | |||
| 5.3.3. Data sharing . . . . . . . . . . . . . . . . . . . . 19 | 5.3.3. Data sharing . . . . . . . . . . . . . . . . . . . . 20 | |||
| 6. DNS privacy policy and practice statement . . . . . . . . . . 19 | 6. DNS Recursive Operator Privacy (DROP) statement . . . . . . . 21 | |||
| 6.1. Recommended contents of a DPPPS . . . . . . . . . . . . . 20 | 6.1. Recommended contents of a DROP statement . . . . . . . . 21 | |||
| 6.1.1. Policy . . . . . . . . . . . . . . . . . . . . . . . 20 | 6.1.1. Policy . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 6.1.2. Practice . . . . . . . . . . . . . . . . . . . . . . 21 | 6.1.2. Practice . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 6.2. Current policy and privacy statements . . . . . . . . . . 22 | 6.2. Current policy and privacy statements . . . . . . . . . . 23 | |||
| 6.3. Enforcement/accountability . . . . . . . . . . . . . . . 22 | 6.3. Enforcement/accountability . . . . . . . . . . . . . . . 24 | |||
| 7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 23 | 7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 8. Security considerations . . . . . . . . . . . . . . . . . . . 23 | 8. Security considerations . . . . . . . . . . . . . . . . . . . 24 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 23 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 23 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 11. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 11. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 25 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 25 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 27 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 27 | 12.2. Informative References . . . . . . . . . . . . . . . . . 28 | |||
| 12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
| Appendix A. Documents . . . . . . . . . . . . . . . . . . . . . 30 | Appendix A. Documents . . . . . . . . . . . . . . . . . . . . . 31 | |||
| A.1. Potential increases in DNS privacy . . . . . . . . . . . 30 | A.1. Potential increases in DNS privacy . . . . . . . . . . . 32 | |||
| A.2. Potential decreases in DNS privacy . . . . . . . . . . . 30 | A.2. Potential decreases in DNS privacy . . . . . . . . . . . 32 | |||
| A.3. Related operational documents . . . . . . . . . . . . . . 31 | A.3. Related operational documents . . . . . . . . . . . . . . 33 | |||
| Appendix B. IP address techniques . . . . . . . . . . . . . . . 31 | Appendix B. IP address techniques . . . . . . . . . . . . . . . 33 | |||
| B.1. Google Analytics non-prefix filtering . . . . . . . . . . 32 | B.1. Google Analytics non-prefix filtering . . . . . . . . . . 34 | |||
| B.2. dnswasher . . . . . . . . . . . . . . . . . . . . . . . . 33 | B.2. dnswasher . . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| B.3. Prefix-preserving map . . . . . . . . . . . . . . . . . . 33 | B.3. Prefix-preserving map . . . . . . . . . . . . . . . . . . 35 | |||
| B.4. Cryptographic Prefix-Preserving Pseudonymisation . . . . 33 | B.4. Cryptographic Prefix-Preserving Pseudonymisation . . . . 35 | |||
| B.5. Top-hash Subtree-replicated Anonymisation . . . . . . . . 34 | B.5. Top-hash Subtree-replicated Anonymisation . . . . . . . . 35 | |||
| B.6. ipcipher . . . . . . . . . . . . . . . . . . . . . . . . 34 | B.6. ipcipher . . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| B.7. Bloom filters . . . . . . . . . . . . . . . . . . . . . . 34 | B.7. Bloom filters . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 | Appendix C. Example DROP statement . . . . . . . . . . . . . . . 36 | |||
| C.1. Policy . . . . . . . . . . . . . . . . . . . . . . . . . 37 | ||||
| C.2. Practice . . . . . . . . . . . . . . . . . . . . . . . . 39 | ||||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 41 | ||||
| 1. Introduction | 1. Introduction | |||
| The Domain Name System (DNS) is at the core of the Internet; almost | 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 | every activity on the Internet starts with a DNS query (and often | |||
| several). However the DNS was not originally designed with strong | several). However the DNS was not originally designed with strong | |||
| security or privacy mechanisms. A number of developments have taken | security or privacy mechanisms. A number of developments have taken | |||
| place in recent years which aim to increase the privacy of the DNS | place in recent years which aim to increase the privacy of the DNS | |||
| system and these are now seeing some deployment. This latest | system and these are now seeing some deployment. This latest | |||
| evolution of the DNS presents new challenges to operators and this | evolution of the DNS presents new challenges to operators and this | |||
| document attempts to provide an overview of considerations for | document attempts to provide an overview of considerations for | |||
| privacy focused DNS services. | privacy focused DNS services. | |||
| In recent years there has also been an increase in the availability | In recent years there has also been an increase in the availability | |||
| of "public resolvers" [I-D.ietf-dnsop-terminology-bis] which users | of "public resolvers" [RFC8499] which users may prefer to use instead | |||
| may prefer to use instead of the default network resolver because | of the default network resolver because they offer a specific feature | |||
| they offer a specific feature (e.g. good reachability, encrypted | (e.g. good reachability, encrypted transport, strong privacy policy, | |||
| transport, strong privacy policy, filtering (or lack of), etc.). | filtering (or lack of), etc.). These open resolvers have tended to | |||
| These open resolvers have tended to be at the forefront of adoption | be at the forefront of adoption of privacy related enhancements but | |||
| of privacy related enhancements but it is anticipated that operators | it is anticipated that operators of other resolver services will | |||
| of other resolver services will follow. | follow. | |||
| Whilst protocols that encrypt DNS messages on the wire provide | Whilst protocols that encrypt DNS messages on the wire provide | |||
| protection against certain attacks, the resolver operator still has | protection against certain attacks, the resolver operator still has | |||
| (in principle) full visibility of the query data and transport | (in principle) full visibility of the query data and transport | |||
| identifiers for each user. Therefore, a trust relationship exists. | identifiers for each user. Therefore, a trust relationship exists. | |||
| The ability of the operator to provide a transparent, well | The ability of the operator to provide a transparent, well | |||
| documented, and secure privacy service will likely serve as a major | documented, and secure privacy service will likely serve as a major | |||
| differentiating factor for privacy conscious users if they make an | differentiating factor for privacy conscious users if they make an | |||
| active selection of which resolver to use. | active selection of which resolver to use. | |||
| skipping to change at page 4, line 30 ¶ | skipping to change at page 4, line 32 ¶ | |||
| changes on data pertaining to the users of both Internet Service | changes on data pertaining to the users of both Internet Service | |||
| Providers and public DNS resolvers is not fully understood at the | Providers and public DNS resolvers is not fully understood at the | |||
| time of writing. | time of writing. | |||
| This document has two main goals: | This document has two main goals: | |||
| o To provide operational and policy guidance related to DNS over | o To provide operational and policy guidance related to DNS over | |||
| encrypted transports and to outline recommendations for data | encrypted transports and to outline recommendations for data | |||
| handling for operators of DNS privacy services. | handling for operators of DNS privacy services. | |||
| o To introduce the DNS Privacy Policy and Practice Statement (DPPPS) | o To introduce the DNS Recursive Operator Privacy (DROP) statement | |||
| and present a framework to assist writers of this document. A | and present a framework to assist writers of this document. A | |||
| DPPPS is a document that an operator can publish outlining their | DROP statement is a document that an operator can publish | |||
| operational practices and commitments with regard to privacy | outlining their operational practices and commitments with regard | |||
| thereby providing a means for clients to evaluate the privacy | to privacy thereby providing a means for clients to evaluate the | |||
| properties of a given DNS privacy service. In particular, the | privacy properties of a given DNS privacy service. In particular, | |||
| framework identifies the elements that should be considered in | the framework identifies the elements that should be considered in | |||
| formulating a DPPPS. This document does not, however, define a | formulating a DROP statement. This document does not, however, | |||
| particular Policy or Practice Statement, nor does it seek to | define a particular Privacy statement, nor does it seek to provide | |||
| provide legal advice or recommendations as to the contents. | legal advice or recommendations as to the contents. | |||
| A desired operational impact is that all operators (both those | A desired operational impact is that all operators (both those | |||
| providing resolvers within networks and those operating large anycast | providing resolvers within networks and those operating large anycast | |||
| services) can demonstrate their commitment to user privacy thereby | services) can demonstrate their commitment to user privacy thereby | |||
| driving all DNS resolution services to a more equitable footing. | driving all DNS resolution services to a more equitable footing. | |||
| Choices for users would (in this ideal world) be driven by other | Choices for users would (in this ideal world) be driven by other | |||
| factors e.g. differing security policies or minor difference in | factors e.g. differing security policies or minor difference in | |||
| operator policy rather than gross disparities in privacy concerns. | operator policy rather than gross disparities in privacy concerns. | |||
| Community insight [or judgment?] about operational practices can | Community insight [or judgment?] about operational practices can | |||
| skipping to change at page 6, line 7 ¶ | skipping to change at page 6, line 13 ¶ | |||
| Appendix A for reference. | Appendix A for reference. | |||
| 4. Terminology | 4. Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] and [RFC8174] when, and only when, they appear in all | 14 [RFC2119] and [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| DNS terminology is as described in [I-D.ietf-dnsop-terminology-bis] | DNS terminology is as described in [RFC8499] with one modification: | |||
| with one modification: we restate the clause in the original | we restate the clause in the original definition of Privacy-enabling | |||
| definition of Privacy-enabling DNS server in [RFC8310] to include the | DNS server in [RFC8310] to include the requirement that a DNS over | |||
| requirement that a DNS over (D)TLS server should also offer at least | (D)TLS server should also offer at least one of the credentials | |||
| one of the credentials described in Section 8 and implement the | described in Section 8 and implement the (D)TLS profile described in | |||
| (D)TLS profile described in Section 9 of [RFC8310]. | Section 9 of [RFC8310]. | |||
| Other Terms: | Other Terms: | |||
| o DPPPS: DNS Privacy Policy and Practice Statement, see Section 6. | o DROP: DNS Recursive Operator Privacy statement, see Section 6. | |||
| o DNS privacy service: The service that is offered via a privacy- | o DNS privacy service: The service that is offered via a privacy- | |||
| enabling DNS server and is documented either in an informal | enabling DNS server and is documented either in an informal | |||
| statement of policy and practice with regard to users privacy or a | statement of policy and practice with regard to users privacy or a | |||
| formal DPPPS. | formal DROP statement. | |||
| 5. Recommendations for DNS privacy services | 5. Recommendations for DNS privacy services | |||
| We describe two classes of threats: | We describe two classes of threats: | |||
| o 'Privacy Considerations for Internet Protocols' [RFC6973] Threats | o 'Privacy Considerations for Internet Protocols' [RFC6973] Threats | |||
| * Privacy terminology, threats to privacy and mitigations as | * Privacy terminology, threats to privacy and mitigations as | |||
| described in Sections 3, 5 and 6 of [RFC6973]. | described in Sections 3, 5 and 6 of [RFC6973]. | |||
| skipping to change at page 8, line 24 ¶ | skipping to change at page 8, line 32 ¶ | |||
| Mitigations: | Mitigations: | |||
| DNS privacy services should ensure clients can authenticate the | DNS privacy services should ensure clients can authenticate the | |||
| server. Note that this, in effect, commits the DNS privacy service | server. Note that this, in effect, commits the DNS privacy service | |||
| to a public identity users will trust. | to a public identity users will trust. | |||
| When using DNS-over-TLS clients that select a 'Strict Privacy' usage | When using DNS-over-TLS clients that select a 'Strict Privacy' usage | |||
| profile [RFC8310] (to mitigate the threat of active attack on the | profile [RFC8310] (to mitigate the threat of active attack on the | |||
| client) require the ability to authenticate the DNS server. To | client) require the ability to authenticate the DNS server. To | |||
| enable this, DNS privacy services that offer DNS-over-TLS should | enable this, DNS privacy services that offer DNS-over-TLS should | |||
| provide credentials in the form of either X.509 certificates or SPKI | provide credentials in the form of either X.509 certificates | |||
| pinsets. | [RFC5280] or SPKI pin sets [RFC8310]. | |||
| When offering DoH [RFC8484], HTTPS requires authentication of the | When offering DoH [RFC8484], HTTPS requires authentication of the | |||
| server as part of the protocol. | server as part of the protocol. | |||
| NOTE: At this time the reference to the TLS DNSSEC chain extension | ||||
| draft has been removed as it is no longer considered an active TLS WG | ||||
| document. | ||||
| Optimizations: | Optimizations: | |||
| DNS privacy services can also consider the following capabilities/ | DNS privacy services can also consider the following capabilities/ | |||
| options: | options: | |||
| o As recommended in [RFC8310] providing DANE TLSA records for the | o As recommended in [RFC8310] providing DANE TLSA records for the | |||
| nameserver | nameserver | |||
| * In particular, the service could provide TLSA records such that | * In particular, the service could provide TLSA records such that | |||
| authenticating solely via the PKIX infrastructure can be | authenticating solely via the PKIX infrastructure can be | |||
| avoided. | avoided. | |||
| 5.1.2.1. Certificate management | 5.1.2.1. Certificate management | |||
| Anecdotal evidence to date highlights the management of certificates | Anecdotal evidence to date highlights the management of certificates | |||
| as one of the more challenging aspects for operators of traditional | as one of the more challenging aspects for operators of traditional | |||
| DNS resolvers that choose to additionally provide a DNS privacy | DNS resolvers that choose to additionally provide a DNS privacy | |||
| service as management of such credentials is new to those DNS | service as management of such credentials is new to those DNS | |||
| operators. | operators. | |||
| It is noted that SPKI pinset management is described in [RFC7858] but | It is noted that SPKI pin set management is described in [RFC7858] | |||
| that key pinning mechanisms in general have fallen out of favor | but that key pinning mechanisms in general have fallen out of favor | |||
| operationally for various reasons such as the logistical overhead of | operationally for various reasons such as the logistical overhead of | |||
| rolling keys. | rolling keys. | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o Invalid certificates, resulting in an unavailable service. | o Invalid certificates, resulting in an unavailable service. | |||
| o Mis-identification of a server by a client e.g. typos in URLs or | o Mis-identification of a server by a client e.g. typos in URLs or | |||
| authentication domain names | authentication domain names | |||
| skipping to change at page 9, line 39 ¶ | skipping to change at page 9, line 47 ¶ | |||
| certificates | certificates | |||
| 5.1.3. Protocol recommendations | 5.1.3. Protocol recommendations | |||
| 5.1.3.1. DNS-over-TLS | 5.1.3.1. DNS-over-TLS | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o Known attacks on TLS such as those described in [RFC7457] | o Known attacks on TLS such as those described in [RFC7457] | |||
| o Traffic analysis, for example: Pitfalls of DNS Encryption [1] | o Traffic analysis, for example: [Pitfalls-of-DNS-Encryption] | |||
| o Potential for client tracking via transport identifiers | o Potential for client tracking via transport identifiers | |||
| o Blocking of well known ports (e.g. 853 for DNS-over-TLS) | o Blocking of well known ports (e.g. 853 for DNS-over-TLS) | |||
| Mitigations: | Mitigations: | |||
| In the case of DNS-over-TLS, TLS profiles from Section 9 and the | In the case of DNS-over-TLS, TLS profiles from Section 9 and the | |||
| Countermeasures to DNS Traffic Analysis from section 11.1 of | Countermeasures to DNS Traffic Analysis from section 11.1 of | |||
| [RFC8310] provide strong mitigations. This includes but is not | [RFC8310] provide strong mitigations. This includes but is not | |||
| limited to: | limited to: | |||
| o Adhering to [RFC7525] | o Adhering to [RFC7525] | |||
| o Implementing only (D)TLS 1.2 or later as specified in [RFC8310] | o Implementing only (D)TLS 1.2 or later as specified in [RFC8310] | |||
| o Implementing EDNS(0) Padding [RFC7830] using the guidelines in | o Implementing EDNS(0) Padding [RFC7830] using the guidelines in | |||
| [RFC8467] | [RFC8467] or a successor specification. | |||
| o Clients should not be required to use TLS session resumption | o Clients should not be required to use TLS session resumption | |||
| [RFC5077] or Domain Name System (DNS) Cookies [RFC7873]. | [RFC5077] with TLS 1.2 or Domain Name System (DNS) Cookies | |||
| [RFC7873]. | ||||
| o A DNS-over-TLS privacy service on both port 853 and 443. This | o A DNS-over-TLS privacy service on both port 853 and 443. This | |||
| practice may not be possible if e.g. the operator deploys DoH on | practice may not be possible if e.g. the operator deploys DoH on | |||
| the same IP address. | the same IP address. | |||
| Optimizations: | Optimizations: | |||
| o Concurrent processing of pipelined queries, returning responses as | o Concurrent processing of pipelined queries, returning responses as | |||
| soon as available, potentially out of order as specified in | soon as available, potentially out of order as specified in | |||
| [RFC7766]. This is often called 'OOOR' - out-of-order responses. | [RFC7766]. This is often called 'OOOR' - out-of-order responses. | |||
| (Providing processing performance similar to HTTP multiplexing) | (Providing processing performance similar to HTTP multiplexing) | |||
| o Management of TLS connections to optimize performance for clients | o Management of TLS connections to optimize performance for clients | |||
| using either | using either | |||
| * [RFC7766] and EDNS(0) Keepalive [RFC7828] and/or | * [RFC7766] and EDNS(0) Keepalive [RFC7828] and/or | |||
| * DNS Stateful Operations [I-D.ietf-dnsop-session-signal] | * DNS Stateful Operations [RFC8490] | |||
| Additional options that providers may consider: | Additional options that providers may consider: | |||
| o Offer a .onion [RFC7686] service endpoint | o Offer a .onion [RFC7686] service endpoint | |||
| 5.1.3.2. DoH | 5.1.3.2. DoH | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o Known attacks on TLS such as those described in [RFC7457] | o Known attacks on TLS such as those described in [RFC7457] | |||
| o Traffic analysis, for example: DNS Privacy not so private: the | o Traffic analysis, for example: DNS Privacy not so private: the | |||
| traffic analysis perspective [2] | traffic analysis perspective [1] | |||
| o Potential for client tracking via transport identifiers | o Potential for client tracking via transport identifiers | |||
| Mitigations: | Mitigations: | |||
| o Clients must be able to forego the use of HTTP Cookies [RFC6265] | o Clients must be able to forego the use of HTTP Cookies [RFC6265] | |||
| and still use the service | and still use the service | |||
| o Clients should not be required to include any headers beyond the | o Clients should not be required to include any headers beyond the | |||
| absolute minimum to obtain service from a DoH server. (See | absolute minimum to obtain service from a DoH server. (See | |||
| skipping to change at page 12, line 11 ¶ | skipping to change at page 12, line 21 ¶ | |||
| outage. | outage. | |||
| Mitigations: | Mitigations: | |||
| A DNS privacy service must be engineered for high availability. | A DNS privacy service must be engineered for high availability. | |||
| Particular care should to be taken to protect DNS privacy services | Particular care should to be taken to protect DNS privacy services | |||
| against denial-of-service attacks, as experience has shown that | against denial-of-service attacks, as experience has shown that | |||
| unavailability of DNS resolving because of attacks is a significant | unavailability of DNS resolving because of attacks is a significant | |||
| motivation for users to switch services. See, for example | motivation for users to switch services. See, for example | |||
| Section IV-C of Passive Observations of a Large DNS Service: 2.5 | Section IV-C of Passive Observations of a Large DNS Service: 2.5 | |||
| Years in the Life of Google [3]. | Years in the Life of Google [2]. | |||
| Techniques such as those described in Section 10 of [RFC7766] can be | Techniques such as those described in Section 10 of [RFC7766] can be | |||
| of use to operators to defend against such attacks. | of use to operators to defend against such attacks. | |||
| 5.1.6. Service options | 5.1.6. Service options | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o Unfairly disadvantaging users of the privacy service with respect | o Unfairly disadvantaging users of the privacy service with respect | |||
| to the services available. This could force the user to switch | to the services available. This could force the user to switch | |||
| providers, fallback to cleartext or accept no DNS service for the | providers, fallback to cleartext or accept no DNS service for the | |||
| outage. | outage. | |||
| Mitigations: | Mitigations: | |||
| A DNS privacy service should deliver the same level of service as | A DNS privacy service should deliver the same level of service as | |||
| offered on un-encrypted channels in terms of such options as | offered on un-encrypted channels in terms of such options as | |||
| filtering (or lack thereof), DNSSEC validation, etc. | filtering (or lack thereof), DNSSEC validation, etc. | |||
| 5.1.7. Impact on Operators | 5.1.7. Impact on DNS Privacy Service Operators | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o Increased use of encryption impacts operator ability to manage | o Increased use of encryption impacts operator ability to manage | |||
| their network [RFC8404] | their network [RFC8404] | |||
| Many monitoring solutions for DNS traffic rely on the plain text | Many monitoring solutions for DNS traffic rely on the plain text | |||
| nature of this traffic and work by intercepting traffic on the wire, | nature of this traffic and work by intercepting traffic on the wire, | |||
| either using a separate view on the connection between clients and | either using a separate view on the connection between clients and | |||
| the resolver, or as a separate process on the resolver system that | the resolver, or as a separate process on the resolver system that | |||
| inspects network traffic. Such solutions will no longer function | inspects network traffic. Such solutions will no longer function | |||
| when traffic between clients and resolvers is encrypted. There are, | when traffic between clients and resolvers is encrypted. There are, | |||
| however, legitimate reasons for operators to inspect DNS traffic, | however, legitimate reasons for operators to inspect DNS traffic, | |||
| e.g. to monitor for network security threats. Operators may | e.g. to monitor for network security threats. Operators may | |||
| therefore need to invest in alternative means of monitoring that | therefore need to invest in alternative means of monitoring that | |||
| relies on either the resolver software directly, or exporting DNS | relies on either the resolver software directly, or exporting DNS | |||
| traffic from the resolver using e.g. dnstap [4]. | traffic from the resolver using e.g. dnstap [3]. | |||
| Optimization: | Optimization: | |||
| When implementing alternative means for traffic monitoring, operators | When implementing alternative means for traffic monitoring, operators | |||
| of a DNS privacy service should consider using privacy conscious | of a DNS privacy service should consider using privacy conscious | |||
| means to do so (see, for example, the discussion on the use of Bloom | means to do so (see, for example, the discussion on the use of Bloom | |||
| Filters in the #documents appendix in this document). | Filters in the #documents appendix in this document). | |||
| 5.1.8. Limitations of using a pure TLS proxy | 5.1.8. Limitations of using a pure TLS proxy | |||
| skipping to change at page 13, line 23 ¶ | skipping to change at page 13, line 31 ¶ | |||
| o Limited ability to manage or monitor incoming connections using | o Limited ability to manage or monitor incoming connections using | |||
| DNS specific techniques | DNS specific techniques | |||
| o Misconfiguration of the target server could lead to data leakage | o Misconfiguration of the target server could lead to data leakage | |||
| if the proxy to target server path is not encrypted. | if the proxy to target server path is not encrypted. | |||
| Optimization: | Optimization: | |||
| Some operators may choose to implement DNS-over-TLS using a TLS proxy | Some operators may choose to implement DNS-over-TLS using a TLS proxy | |||
| (e.g. nginx [5], haproxy [6] or stunnel [7]) in front of a DNS | (e.g. nginx [4], haproxy [5] or stunnel [6]) in front of a DNS | |||
| nameserver because of proven robustness and capacity when handling | nameserver because of proven robustness and capacity when handling | |||
| large numbers of client connections, load balancing capabilities and | large numbers of client connections, load balancing capabilities and | |||
| good tooling. Currently, however, because such proxies typically | good tooling. Currently, however, because such proxies typically | |||
| have no specific handling of DNS as a protocol over TLS or DTLS using | have no specific handling of DNS as a protocol over TLS or DTLS using | |||
| them can restrict traffic management at the proxy layer and at the | them can restrict traffic management at the proxy layer and at the | |||
| DNS server. For example, all traffic received by a nameserver behind | DNS server. For example, all traffic received by a nameserver behind | |||
| such a proxy will appear to originate from the proxy and DNS | such a proxy will appear to originate from the proxy and DNS | |||
| techniques such as ACLs, RRL or DNS64 will be hard or impossible to | techniques such as ACLs, RRL or DNS64 will be hard or impossible to | |||
| implement in the nameserver. | implement in the nameserver. | |||
| Operators may choose to use a DNS aware proxy such as dnsdist [8] | Operators may choose to use a DNS aware proxy such as dnsdist [7] | |||
| which offer custom options (similar to that proposed in | which offer custom options (similar to that proposed in | |||
| [I-D.bellis-dnsop-xpf]) to add source information to packets to | [I-D.bellis-dnsop-xpf]) to add source information to packets to | |||
| address this shortcoming. It should be noted that such options | address this shortcoming. It should be noted that such options | |||
| potentially significantly increase the leaked information in the | potentially significantly increase the leaked information in the | |||
| event of a misconfiguration. | event of a misconfiguration. | |||
| 5.2. Data at rest on the server | 5.2. Data at rest on the server | |||
| 5.2.1. Data handling | 5.2.1. Data handling | |||
| skipping to change at page 14, line 37 ¶ | skipping to change at page 14, line 50 ¶ | |||
| o The retention period of DNS traffic logs should be only those | o The retention period of DNS traffic logs should be only those | |||
| required to sustain operation of the service and, to the extent | required to sustain operation of the service and, to the extent | |||
| that such exists, meet regulatory requirements. | that such exists, meet regulatory requirements. | |||
| o DNS privacy services should not track users except for the | o DNS privacy services should not track users except for the | |||
| particular purpose of detecting and remedying technically | particular purpose of detecting and remedying technically | |||
| malicious (e.g. DoS) or anomalous use of the service. | malicious (e.g. DoS) or anomalous use of the service. | |||
| o Data access should be minimized to only those personnel who | o Data access should be minimized to only those personnel who | |||
| require access to perform operational duties. | require access to perform operational duties. It should also be | |||
| limited to anonymized or pseudonymized data were operationally | ||||
| feasible, with access to full logs (if any are held) only | ||||
| permitted when necessary. | ||||
| Optimizations: | Optimizations: | |||
| o Consider use of full disk encryption for logs and data capture | o Consider use of full disk encryption for logs and data capture | |||
| storage. | storage. | |||
| 5.2.2. Data minimization of network traffic | 5.2.2. Data minimization of network traffic | |||
| Data minimization refers to collecting, using, disclosing, and | Data minimization refers to collecting, using, disclosing, and | |||
| storing the minimal data necessary to perform a task, and this can be | storing the minimal data necessary to perform a task, and this can be | |||
| skipping to change at page 15, line 29 ¶ | skipping to change at page 15, line 44 ¶ | |||
| the decade. Developments over the last decade have been both a | the decade. Developments over the last decade have been both a | |||
| blessing and a curse; the large increase in size between an IPv4 and | blessing and a curse; the large increase in size between an IPv4 and | |||
| an IPv6 address, for example, renders some techniques impractical, | an IPv6 address, for example, renders some techniques impractical, | |||
| but also makes available a much larger amount of input entropy, the | but also makes available a much larger amount of input entropy, the | |||
| better to resist brute force re-identification attacks that have | better to resist brute force re-identification attacks that have | |||
| grown in practicality over the period. | grown in practicality over the period. | |||
| Techniques employed may be broadly categorized as either | Techniques employed may be broadly categorized as either | |||
| anonymization or pseudonymization. The following discussion uses the | anonymization or pseudonymization. The following discussion uses the | |||
| definitions from [RFC6973] Section 3, with additional observations | definitions from [RFC6973] Section 3, with additional observations | |||
| from van Dijkhuizen et al. [9] | from van Dijkhuizen et al. [8] | |||
| o Anonymization. To enable anonymity of an individual, there must | o Anonymization. To enable anonymity of an individual, there must | |||
| exist a set of individuals that appear to have the same | exist a set of individuals that appear to have the same | |||
| attribute(s) as the individual. To the attacker or the observer, | attribute(s) as the individual. To the attacker or the observer, | |||
| these individuals must appear indistinguishable from each other. | these individuals must appear indistinguishable from each other. | |||
| o Pseudonymization. The true identity is deterministically replaced | o Pseudonymization. The true identity is deterministically replaced | |||
| with an alternate identity (a pseudonym). When the | with an alternate identity (a pseudonym). When the | |||
| pseudonymization schema is known, the process can be reversed, so | pseudonymization schema is known, the process can be reversed, so | |||
| the original identity becomes known again. | the original identity becomes known again. | |||
| skipping to change at page 16, line 9 ¶ | skipping to change at page 16, line 25 ¶ | |||
| 5.2.3. IP address pseudonymization and anonymization methods | 5.2.3. IP address pseudonymization and anonymization methods | |||
| As [I-D.bortzmeyer-dprive-rfc7626-bis] makes clear, the big privacy | As [I-D.bortzmeyer-dprive-rfc7626-bis] makes clear, the big privacy | |||
| risk in DNS is connecting DNS queries to an individual and the major | risk in DNS is connecting DNS queries to an individual and the major | |||
| vector for this in DNS traffic is the client IP address. | vector for this in DNS traffic is the client IP address. | |||
| There is active discussion in the space of effective pseudonymization | There is active discussion in the space of effective pseudonymization | |||
| of IP addresses in DNS traffic logs, however there seems to be no | of IP addresses in DNS traffic logs, however there seems to be no | |||
| single solution that is widely recognized as suitable for all or most | single solution that is widely recognized as suitable for all or most | |||
| use cases. There are also as yet no standards for this that are | use cases. There are also as yet no standards for this that are | |||
| unencumbered by patents. The following table presents a high level | unencumbered by patents. | |||
| comparison of various techniques employed or under development today | ||||
| and classifies them according to categorization of technique and | The following table presents a high level comparison of various | |||
| other properties. The list of techniques includes the main | techniques employed or under development today and classifies them | |||
| techniques in current use, but does not claim to be comprehensive. | according to categorization of technique and other properties. | |||
| Appendix B provides a more detailed survey of these techniques and | Appendix B provides a more detailed survey of these techniques and | |||
| definitions for the categories and properties listed below. | definitions for the categories and properties listed below. The list | |||
| of techniques includes the main techniques in current use, but does | ||||
| not claim to be comprehensive. | ||||
| Figure showing comparison of IP address techniques (SVG) [10] | +---------------------------+----+---+----+---+----+---+---+ | |||
| | Categorisation/Property | GA | d | TC | C | TS | i | B | | ||||
| +---------------------------+----+---+----+---+----+---+---+ | ||||
| | Anonymisation | X | X | X | | | | X | | ||||
| | Pseudoanonymisation | | | | X | X | X | | | ||||
| | Format preserving | X | X | X | X | X | X | | | ||||
| | Prefix preserving | | | X | X | X | | | | ||||
| | Replacement | | | X | | | | | | ||||
| | Filtering | X | | | | | | | | ||||
| | Generalisation | | | | | | | X | | ||||
| | Enumeration | | X | | | | | | | ||||
| | Reordering/Shuffling | | | X | | | | | | ||||
| | Random substitution | | | X | | | | | | ||||
| | Crytpographic permutation | | | | X | X | X | | | ||||
| | IPv6 issues | | | | | X | | | | ||||
| | CPU intensive | | | | X | | | | | ||||
| | Memory intensive | | | X | | | | | | ||||
| | Security concerns | | | | | | X | | | ||||
| +---------------------------+----+---+----+---+----+---+---+ | ||||
| Table 1: Classification 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 | The choice of which method to use for a particular application will | |||
| depend on the requirements of that application and consideration of | depend on the requirements of that application and consideration of | |||
| the threat analysis of the particular situation. | the threat analysis of the particular situation. | |||
| For example, a common goal is that distributed packet captures must | For example, a common goal is that distributed packet captures must | |||
| be in an existing data format such as PCAP [pcap] or C-DNS | be in an existing data format such as PCAP [pcap] or C-DNS [RFC8618] | |||
| [I-D.ietf-dnsop-dns-capture-format] that can be used as input to | that can be used as input to existing analysis tools. In that case, | |||
| existing analysis tools. In that case, use of a format-preserving | use of a format-preserving technique is essential. This, though, is | |||
| technique is essential. This, though, is not cost-free - several | not cost-free - several authors (e.g. Brenker & Arnes [9]) have | |||
| authors (e.g. Brenker & Arnes [11]) have observed that, as the | observed that, as the entropy in an IPv4 address is limited, given a | |||
| entropy in an IPv4 address is limited, given a de-identified log from | de-identified log from a target, if an attacker is capable of | |||
| a target, if an attacker is capable of ensuring packets are captured | ensuring packets are captured by the target and the attacker can send | |||
| by the target and the attacker can send forged traffic with arbitrary | forged traffic with arbitrary source and destination addresses to | |||
| source and destination addresses to that target, any format- | that target, any format-preserving pseudonymization is vulnerable to | |||
| preserving pseudonymization is vulnerable to an attack along the | an attack along the lines of a cryptographic chosen plaintext attack. | |||
| lines of a cryptographic chosen plaintext attack. | ||||
| 5.2.4. Pseudonymization, anonymization or discarding of other | 5.2.4. Pseudonymization, anonymization or discarding of other | |||
| correlation data | correlation data | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o IP TTL/Hoplimit can be used to fingerprint client OS | o IP TTL/Hoplimit can be used to fingerprint client OS | |||
| o TLS version/Cipher suite combinations can be used to fingerprint | o TLS version/Cipher suite combinations can be used to fingerprint | |||
| the client application or TLS library | the client application or TLS library | |||
| o Tracking of TCP sessions | o Tracking of TCP sessions | |||
| o Tracking of TLS sessions and session resumption mechanisms | o Tracking of TLS sessions and session resumption mechanisms | |||
| o Resolvers _might_ receive client identifiers e.g. MAC addresses | o Resolvers _might_ receive client identifiers e.g. MAC addresses | |||
| in EDNS(0) options - some CPE devices are known to add them. | in EDNS(0) options - some CPE devices are known to add them. | |||
| skipping to change at page 17, line 21 ¶ | skipping to change at page 18, line 30 ¶ | |||
| 5.2.5. Cache snooping | 5.2.5. Cache snooping | |||
| [RFC6973] Threats: | [RFC6973] Threats: | |||
| o Surveillance: | o Surveillance: | |||
| * Profiling of client queries by malicious third parties | * Profiling of client queries by malicious third parties | |||
| Mitigations: | Mitigations: | |||
| o See ISC Knowledge database on cache snooping [12] for an example | o See ISC Knowledge database on cache snooping [10] for an example | |||
| discussion on defending against cache snooping | discussion on defending against cache snooping | |||
| 5.3. Data sent onwards from the server | 5.3. Data sent onwards from the server | |||
| In this section we consider both data sent on the wire in upstream | In this section we consider both data sent on the wire in upstream | |||
| queries and data shared with third parties. | queries and data shared with third parties. | |||
| 5.3.1. Protocol recommendations | 5.3.1. Protocol recommendations | |||
| [RFC6973] Threats: | [RFC6973] Threats: | |||
| skipping to change at page 17, line 43 ¶ | skipping to change at page 19, line 4 ¶ | |||
| o Surveillance: | o Surveillance: | |||
| * Transmission of identifying data upstream. | * Transmission of identifying data upstream. | |||
| Mitigations: | Mitigations: | |||
| As specified in [RFC8310] for DNS-over-TLS but applicable to any DNS | As specified in [RFC8310] for DNS-over-TLS but applicable to any DNS | |||
| Privacy services the server should: | Privacy services the server should: | |||
| o Implement QNAME minimization [RFC7816] | o Implement QNAME minimization [RFC7816] | |||
| o Honor a SOURCE PREFIX-LENGTH set to 0 in a query containing the | o Honor a SOURCE PREFIX-LENGTH set to 0 in a query containing the | |||
| EDNS(0) Client Subnet (ECS) option and not send an ECS option in | EDNS(0) Client Subnet (ECS) option and not send an ECS option in | |||
| upstream queries. | upstream queries. | |||
| Optimizations: | Optimizations: | |||
| o The server should either | o The server should either | |||
| * not use the ECS option in upstream queries at all, or | * not use the ECS option in upstream queries at all, or | |||
| * offer alternative services, one that sends ECS and one that | * offer alternative services, one that sends ECS and one that | |||
| does not. | does not. | |||
| If operators do offer a service that sends the ECS options upstream | If operators do offer a service that sends the ECS options upstream | |||
| they should use the shortest prefix that is operationally feasible | they should use the shortest prefix that is operationally feasible | |||
| (NOTE: the authors believe they will be able to add a reference for | and ideally use a policy of whitelisting upstream servers to send ECS | |||
| advice here soon) and ideally use a policy of whitelisting upstream | to in order to minimize data leakage. Operators should make clear in | |||
| servers to send ECS to in order to minimize data leakage. Operators | any policy statement what prefix length they actually send and the | |||
| should make clear in any policy statement what prefix length they | specific policy used. | |||
| actually send and the specific policy used. | ||||
| Whitelisting has the benefit that not only does the operator know | Whitelisting has the benefit that not only does the operator know | |||
| which upstream servers can use ECS but also allows the operator to | which upstream servers can use ECS but also allows the operator to | |||
| decide which upstream servers apply privacy policies that the | decide which upstream servers apply privacy policies that the | |||
| operator is happy with. However some operators consider whitelisting | operator is happy with. However some operators consider whitelisting | |||
| to incur significant operational overhead compared to dynamic | to incur significant operational overhead compared to dynamic | |||
| detection of ECS on authoritative servers. | detection of ECS on authoritative servers. | |||
| Additional options: | Additional options: | |||
| skipping to change at page 19, line 43 ¶ | skipping to change at page 21, line 4 ¶ | |||
| consent). | consent). | |||
| Even when consent is granted operators should employ data | Even when consent is granted operators should employ data | |||
| minimization techniques such as those described in Section 5.2.1 if | minimization techniques such as those described in Section 5.2.1 if | |||
| data is shared with third-parties. | data is shared with third-parties. | |||
| Operators should consider including specific guidelines for the | Operators should consider including specific guidelines for the | |||
| collection of aggregated and/or anonymized data for research | collection of aggregated and/or anonymized data for research | |||
| purposes, within or outside of their own organization. This can | purposes, within or outside of their own organization. This can | |||
| benefit not only the operator (through inclusion in novel research) | benefit not only the operator (through inclusion in novel research) | |||
| but also the wider Internet community. See SURFnet's policy [13] on | but also the wider Internet community. See SURFnet's policy [11] on | |||
| data sharing for research as an example. | data sharing for research as an example. | |||
| 6. DNS privacy policy and practice statement | 6. DNS Recursive Operator Privacy (DROP) statement | |||
| 6.1. Recommended contents of a DPPPS | ||||
| 6.1.1. Policy | The following section outlines the recommended contents of a DROP | |||
| statement an operator might choose to publish. An example statement | ||||
| for a specific scenario is provided for guidance only in Appendix C. | ||||
| 1. Make an explicit statement that IP addressses are treated as PII | 6.1. Recommended contents of a DROP statement | |||
| 2. State if IP addresses are being logged | 6.1.1. Policy | |||
| 3. Specify clearly what data (including whether it is aggregated, | 1. Treatment of IP addresses. Make an explicit statement that IP | |||
| pseudonymized or anonymized and the conditions of data transfer) | addresses are treated as PII. | |||
| is: | ||||
| 2. Data collection and sharing. Specify clearly what data | ||||
| (including IP addresses) is: | ||||
| * Collected and retained by the operator, and for what period it | * Collected and retained by the operator, and for what period it | |||
| is retained | is retained | |||
| * Shared with partners | * Shared with partners | |||
| * Shared, sold or rented to third-parties | * Shared, sold or rented to third-parties | |||
| 4. Specify any exceptions to the above, for example technically | and in each case whether it is aggregated, pseudonymized or | |||
| malicious or anomalous behavior | anonymized and the conditions of data transfer. | |||
| 5. Declare any partners, third-party affiliations or sources of | 3. Exceptions. Specify any exceptions to the above, for example | |||
| funding | technically malicious or anomalous behavior. | |||
| 6. Whether user DNS data is correlated or combined with any other | 4. Associated entities. Declare any partners, third-party | |||
| personal information held by the operator | affiliations or sources of funding. | |||
| 7. Result filtering. This section should explain whether the | 5. Correlation. Whether user DNS data is correlated or combined | |||
| with any other personal information held by the operator. | ||||
| 6. Result filtering. This section should explain whether the | ||||
| operator filters, edits or alters in any way the replies that it | operator filters, edits or alters in any way the replies that it | |||
| receives from the authoritative servers for each DNS zone, before | receives from the authoritative servers for each DNS zone, before | |||
| forwarding them to the clients. For each category listed below, | forwarding them to the clients. For each category listed below, | |||
| the operator should also specify how the filtering lists are | the operator should also specify how the filtering lists are | |||
| created and managed, whether it employs any third-party sources | created and managed, whether it employs any third-party sources | |||
| for such lists, and which ones. | for such lists, and which ones. | |||
| * Specify if any replies are being filtered out or altered for | * Specify if any replies are being filtered out or altered for | |||
| network and computer security reasons (e.g. preventing | network and computer security reasons (e.g. preventing | |||
| connections to malware-spreading websites or botnet control | connections to malware-spreading websites or botnet control | |||
| skipping to change at page 21, line 13 ¶ | skipping to change at page 22, line 23 ¶ | |||
| operator aiming at reducing potential legal risks | operator aiming at reducing potential legal risks | |||
| * Specify if any replies are being filtered out or altered for | * Specify if any replies are being filtered out or altered for | |||
| any other reason, including commercial ones | any other reason, including commercial ones | |||
| 6.1.2. Practice | 6.1.2. Practice | |||
| This section should explain the current operational practices of the | This section should explain the current operational practices of the | |||
| service. | service. | |||
| 1. Specify any temporary or permanent deviations from the policy for | 1. Deviations. Specify any temporary or permanent deviations from | |||
| operational reasons | the policy for operational reasons. | |||
| 2. With reference to section Section 5 provide specific details of | 2. Client facing capabilities. With reference to section Section 5 | |||
| which capabilities are provided on which client facing addresses | provide specific details of which capabilities are provided on | |||
| and ports | which client facing addresses and ports: | |||
| 3. Specify the authentication name to be used (if any) and if TLSA | 1. For DoT, specify the authentication name to be used (if any) | |||
| records are published (including options used in the TLSA | and if TLSA records are published (including options used in | |||
| records) | the TLSA records) | |||
| 4. Specify the SPKI pinsets to be used (if any) and policy for | 2. For DoT, specify the SPKI pin sets to be used (if any) and | |||
| rolling keys | policy for rolling keys | |||
| 5. Provide contact/support information for the service | 3. Upstream capabilities. With reference to section Section 5.3 | |||
| provide specific details of which capabilities are provided | ||||
| upstream for data sent to authoritative servers. | ||||
| 6. Jurisdiction. This section should communicate the applicable | 4. Support. Provide contact/support information for the service. | |||
| 5. Jurisdiction. This section should communicate the applicable | ||||
| jurisdictions and law enforcement regimes under which the service | jurisdictions and law enforcement regimes under which the service | |||
| is being provided. | is being provided. | |||
| * Specify the entity or entities that will control the data and | 1. Specify the operator entity or entities that will control the | |||
| be responsible for their treatment, and their legal place of | data and be responsible for their treatment, and their legal | |||
| business | place of business. | |||
| * Specify, either directly or by pointing to the applicable | ||||
| privacy policy, the relevant privacy laws that apply to the | ||||
| treatment of the data, the rights that users enjoy in regard | ||||
| to their own personal information that is treated by the | ||||
| service, and how they can contact the operator to enforce them | ||||
| * Specify the countries in which the servers handling the DNS | ||||
| requests and the data are located (if the operator applies a | ||||
| geolocation policy so that requests from certain countries are | ||||
| only served by certain servers, this should be specified as | ||||
| well) | ||||
| * Specify whether the operator has any agreement in place with | ||||
| law enforcement agencies, or other public and private parties | ||||
| dealing with security and intelligence, to give them access to | ||||
| the servers and/or to the data | ||||
| 7. Describe how consent is obtained from the user of the DNS privacy | 2. Specify, either directly or by pointing to the applicable | |||
| service differentiating | privacy policy, the relevant privacy laws that apply to the | |||
| treatment of the data, the rights that users enjoy in regard | ||||
| to their own personal information that is treated by the | ||||
| service, and how they can contact the operator to enforce | ||||
| them. | ||||
| * Uninformed users for whom this trust relationship is implicit | 3. Additionally specify the countries in which the servers | |||
| handling the DNS requests and the data are located (if the | ||||
| operator applies a geolocation policy so that requests from | ||||
| certain countries are only served by certain servers, this | ||||
| should be specified as well). | ||||
| * Privacy-conscious users, that make an explicit trust choice | 4. Specify whether the operator has any agreement in place with | |||
| law enforcement agencies, or other public and private parties | ||||
| dealing with security and intelligence, to give them access | ||||
| to the servers and/or to the data. | ||||
| (this may prove relevant in the context of e.g. the GDPR as it | 6. Consent. For any activity which is documented in this statement | |||
| relates to consent) | as 'requiring consent' before being performed, describe the full | |||
| process of what you as an operator consider 'obtaining consent', | ||||
| distinguishing clearly between any implicit and explicit consent | ||||
| models. Additionally, state if these processes are considered by | ||||
| you the operator to conform to any relevant legislation (this may | ||||
| prove relevant in the context of e.g. the GDPR as it relates to | ||||
| consent). | ||||
| 6.2. Current policy and privacy statements | 6.2. Current policy and privacy statements | |||
| A tabular comparison of existing policy and privacy statements from | A tabular comparison of existing policy and privacy statements from | |||
| various DNS Privacy service operators based on the proposed DPPPS | various DNS Privacy service operators based loosely on the proposed | |||
| structure can be found on dnsprivacy.org [14]. | DROP structure can be found on dnsprivacy.org [12]. | |||
| We note that the existing set of policies vary widely in style, | We note that the existing set of policies vary widely in style, | |||
| content and detail and it is not uncommon for the full text for a | content and detail and it is not uncommon for the full text for a | |||
| given operator to equate to more than 10 pages of moderate font sized | given operator to equate to more than 10 pages of moderate font sized | |||
| A4 text. It is a non-trivial task today for a user to extract a | A4 text. It is a non-trivial task today for a user to extract a | |||
| meaningful overview of the different services on offer. | meaningful overview of the different services on offer. | |||
| It is also noted that Mozilla have published a Security/DoH-resolver | It is also noted that Mozilla have published a Security/DoH-resolver | |||
| policy [15], which describes the minimum set of policy requirements | policy [13], which describes the minimum set of policy requirements | |||
| that a party must satisfy to be considered as a potential partner for | that a party must satisfy to be considered as a potential partner for | |||
| Mozilla's Trusted Recursive Resolver (TRR) program. | Mozilla's Trusted Recursive Resolver (TRR) program. | |||
| 6.3. Enforcement/accountability | 6.3. Enforcement/accountability | |||
| Transparency reports may help with building user trust that operators | Transparency reports may help with building user trust that operators | |||
| adhere to their policies and practices. | adhere to their policies and practices. | |||
| Independent monitoring or analysis could be performed where possible | Independent monitoring or analysis could be performed where possible | |||
| of: | of: | |||
| o ECS, QNAME minimization, EDNS(0) padding, etc. | o ECS, QNAME minimization, EDNS(0) padding, etc. | |||
| o Filtering | o Filtering | |||
| o Uptime | o Uptime | |||
| This is by analogy with e.g. several TLS or website analysis tools | This is by analogy with e.g. several TLS or website analysis tools | |||
| that are currently available e.g. SSL Labs [16] or Internet.nl [17]. | that are currently available e.g. SSL Labs [14] or Internet.nl [15]. | |||
| Additionally operators could choose to engage the services of a third | Additionally operators could choose to engage the services of a third | |||
| party auditor to verify their compliance with their published DPPPS. | party auditor to verify their compliance with their published DROP | |||
| statement. | ||||
| 7. IANA considerations | 7. IANA considerations | |||
| None | None | |||
| 8. Security considerations | 8. Security considerations | |||
| Security considerations for DNS-over-TCP are given in [RFC7766], many | Security considerations for DNS-over-TCP are given in [RFC7766], many | |||
| of which are generally applicable to session based DNS. | of which are generally applicable to session based DNS. | |||
| TODO: e.g. New issues for DoS defence, server admin policies | ||||
| 9. Acknowledgements | 9. Acknowledgements | |||
| Many thanks to Amelia Andersdotter for a very thorough review of the | Many thanks to Amelia Andersdotter for a very thorough review of the | |||
| first draft of this document. Thanks to John Todd for discussions on | first draft of this document and Stephen Farrell for a thorough | |||
| this topic, and to Stephane Bortzmeyer, Puneet Sood and Vittorio | review at WGLC and for suggesting the inclusion of an example DROP | |||
| Bertola for review. Thanks to Daniel Kahn Gillmor, Barry Green, Paul | statement. Thanks to John Todd for discussions on this topic, and to | |||
| Hoffman, Dan York, John Reed, Lorenzo Colitti for comments at the | Stephane Bortzmeyer, Puneet Sood and Vittorio Bertola for review. | |||
| mic. Thanks to Loganaden Velvindron for useful updates to the text. | Thanks to Daniel Kahn Gillmor, Barry Green, Paul Hoffman, Dan York, | |||
| John Reed, 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 | Sara Dickinson thanks the Open Technology Fund for a grant to support | |||
| the work on this document. | the work on this document. | |||
| 10. Contributors | 10. Contributors | |||
| The below individuals contributed significantly to the document: | The below individuals contributed significantly to the document: | |||
| John Dickinson | John Dickinson | |||
| Sinodun Internet Technologies | Sinodun Internet Technologies | |||
| skipping to change at page 23, line 48 ¶ | skipping to change at page 25, line 25 ¶ | |||
| Jim Hague | Jim Hague | |||
| Sinodun Internet Technologies | Sinodun Internet Technologies | |||
| Magdalen Centre | Magdalen Centre | |||
| Oxford Science Park | Oxford Science Park | |||
| Oxford OX4 4GA | Oxford OX4 4GA | |||
| United Kingdom | United Kingdom | |||
| 11. Changelog | 11. Changelog | |||
| draft-ietf-dprive-bcp-op-04 | ||||
| o Change DPPPS to DROP (DNS Recursive Operator Privacy) statement | ||||
| o Update structure of DROP slightly | ||||
| o Add example DROP statement | ||||
| o Add text about restricting access to full logs | ||||
| o Move table in section 5.2.3 from SVG to inline table | ||||
| o Fix many editorial and reference nits | ||||
| draft-ietf-dprive-bcp-op-03 | draft-ietf-dprive-bcp-op-03 | |||
| o Add paragraph about operational impact | o Add paragraph about operational impact | |||
| o Move DNSSEC requirement out of the Appendix into main text as a | o Move DNSSEC requirement out of the Appendix into main text as a | |||
| privacy threat that should be mitigated | privacy threat that should be mitigated | |||
| o Add TLS version/Cipher suite as tracking threat | o Add TLS version/Cipher suite as tracking threat | |||
| o Add reference to Mozilla TRR policy | o Add reference to Mozilla TRR policy | |||
| o Remove several TODOs and QUESTIONS. | o Remove several TODOs and QUESTIONS. | |||
| draft-ietf-dprive-bcp-op-02 | draft-ietf-dprive-bcp-op-02 | |||
| skipping to change at page 25, line 21 ¶ | skipping to change at page 27, line 9 ¶ | |||
| draft-ietf-dprive-bcp-op-00 | draft-ietf-dprive-bcp-op-00 | |||
| o Initial commit of re-named document after adoption to replace | o Initial commit of re-named document after adoption to replace | |||
| draft-dickinson-dprive-bcp-op-01 | draft-dickinson-dprive-bcp-op-01 | |||
| 12. References | 12. References | |||
| 12.1. Normative References | 12.1. Normative References | |||
| [I-D.ietf-dnsop-session-signal] | ||||
| Bellis, R., Cheshire, S., Dickinson, J., Dickinson, S., | ||||
| Lemon, T., and T. Pusateri, "DNS Stateful Operations", | ||||
| draft-ietf-dnsop-session-signal-20 (work in progress), | ||||
| December 2018. | ||||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | |||
| editor.org/info/rfc2119>. | editor.org/info/rfc2119>. | |||
| [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/RFC5077, | ||||
| January 2008, <https://www.rfc-editor.org/info/rfc5077>. | ||||
| [RFC6265] Barth, A., "HTTP State Management Mechanism", RFC 6265, | [RFC6265] Barth, A., "HTTP State Management Mechanism", RFC 6265, | |||
| DOI 10.17487/RFC6265, April 2011, <https://www.rfc- | DOI 10.17487/RFC6265, April 2011, <https://www.rfc- | |||
| editor.org/info/rfc6265>. | editor.org/info/rfc6265>. | |||
| [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., | |||
| Morris, J., Hansen, M., and R. Smith, "Privacy | Morris, J., Hansen, M., and R. Smith, "Privacy | |||
| Considerations for Internet Protocols", RFC 6973, | Considerations for Internet Protocols", RFC 6973, | |||
| DOI 10.17487/RFC6973, July 2013, <https://www.rfc- | DOI 10.17487/RFC6973, July 2013, <https://www.rfc- | |||
| editor.org/info/rfc6973>. | editor.org/info/rfc6973>. | |||
| skipping to change at page 27, line 24 ¶ | skipping to change at page 28, line 47 ¶ | |||
| [I-D.bellis-dnsop-xpf] | [I-D.bellis-dnsop-xpf] | |||
| Bellis, R., Dijk, P., and R. Gacogne, "DNS X-Proxied-For", | Bellis, R., Dijk, P., and R. Gacogne, "DNS X-Proxied-For", | |||
| draft-bellis-dnsop-xpf-04 (work in progress), March 2018. | draft-bellis-dnsop-xpf-04 (work in progress), March 2018. | |||
| [I-D.bortzmeyer-dprive-rfc7626-bis] | [I-D.bortzmeyer-dprive-rfc7626-bis] | |||
| Bortzmeyer, S. and S. Dickinson, "DNS Privacy | Bortzmeyer, S. and S. Dickinson, "DNS Privacy | |||
| Considerations", draft-bortzmeyer-dprive-rfc7626-bis-02 | Considerations", draft-bortzmeyer-dprive-rfc7626-bis-02 | |||
| (work in progress), January 2019. | (work in progress), January 2019. | |||
| [I-D.ietf-dnsop-dns-capture-format] | ||||
| Dickinson, J., Hague, J., Dickinson, S., Manderson, T., | ||||
| and J. Bond, "C-DNS: A DNS Packet Capture Format", draft- | ||||
| ietf-dnsop-dns-capture-format-10 (work in progress), | ||||
| December 2018. | ||||
| [I-D.ietf-dnsop-dns-tcp-requirements] | [I-D.ietf-dnsop-dns-tcp-requirements] | |||
| Kristoff, J. and D. Wessels, "DNS Transport over TCP - | Kristoff, J. and D. Wessels, "DNS Transport over TCP - | |||
| Operational Requirements", draft-ietf-dnsop-dns-tcp- | Operational Requirements", draft-ietf-dnsop-dns-tcp- | |||
| requirements-04 (work in progress), June 2019. | requirements-04 (work in progress), June 2019. | |||
| [I-D.ietf-dnsop-terminology-bis] | ||||
| Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | ||||
| Terminology", draft-ietf-dnsop-terminology-bis-14 (work in | ||||
| progress), September 2018. | ||||
| [I-D.ietf-httpbis-bcp56bis] | [I-D.ietf-httpbis-bcp56bis] | |||
| Nottingham, M., "Building Protocols with HTTP", draft- | Nottingham, M., "Building Protocols with HTTP", draft- | |||
| ietf-httpbis-bcp56bis-08 (work in progress), November | ietf-httpbis-bcp56bis-08 (work in progress), November | |||
| 2018. | 2018. | |||
| [pcap] tcpdump.org, "PCAP", 2016, <http://www.tcpdump.org/>. | [pcap] tcpdump.org, "PCAP", 2016, <http://www.tcpdump.org/>. | |||
| [Pitfalls-of-DNS-Encryption] | [Pitfalls-of-DNS-Encryption] | |||
| Shulman, H., "Pretty Bad Privacy: Pitfalls of DNS | Shulman, H., "Pretty Bad Privacy: Pitfalls of DNS | |||
| Encryption", 2014, <https://www.ietf.org/mail-archive/web/ | Encryption", 2014, <https://dl.acm.org/ | |||
| dns-privacy/current/pdfWqAIUmEl47.pdf>. | citation.cfm?id=2665959>. | |||
| [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S. | |||
| Rose, "DNS Security Introduction and Requirements", | Rose, "DNS Security Introduction and Requirements", | |||
| RFC 4033, DOI 10.17487/RFC4033, March 2005, | RFC 4033, DOI 10.17487/RFC4033, March 2005, | |||
| <https://www.rfc-editor.org/info/rfc4033>. | <https://www.rfc-editor.org/info/rfc4033>. | |||
| [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/RFC5077, | ||||
| January 2008, <https://www.rfc-editor.org/info/rfc5077>. | ||||
| [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/RFC5280, May 2008, | ||||
| <https://www.rfc-editor.org/info/rfc5280>. | ||||
| [RFC6235] Boschi, E. and B. Trammell, "IP Flow Anonymization | [RFC6235] Boschi, E. and B. Trammell, "IP Flow Anonymization | |||
| Support", RFC 6235, DOI 10.17487/RFC6235, May 2011, | Support", RFC 6235, DOI 10.17487/RFC6235, May 2011, | |||
| <https://www.rfc-editor.org/info/rfc6235>. | <https://www.rfc-editor.org/info/rfc6235>. | |||
| [RFC6841] Ljunggren, F., Eklund Lowinder, AM., and T. Okubo, "A | ||||
| Framework for DNSSEC Policies and DNSSEC Practice | ||||
| Statements", RFC 6841, DOI 10.17487/RFC6841, January 2013, | ||||
| <https://www.rfc-editor.org/info/rfc6841>. | ||||
| [RFC7457] Sheffer, Y., Holz, R., and P. Saint-Andre, "Summarizing | [RFC7457] Sheffer, Y., Holz, R., and P. Saint-Andre, "Summarizing | |||
| Known Attacks on Transport Layer Security (TLS) and | Known Attacks on Transport Layer Security (TLS) and | |||
| Datagram TLS (DTLS)", RFC 7457, DOI 10.17487/RFC7457, | Datagram TLS (DTLS)", RFC 7457, DOI 10.17487/RFC7457, | |||
| February 2015, <https://www.rfc-editor.org/info/rfc7457>. | February 2015, <https://www.rfc-editor.org/info/rfc7457>. | |||
| [RFC7686] Appelbaum, J. and A. Muffett, "The ".onion" Special-Use | [RFC7686] Appelbaum, J. and A. Muffett, "The ".onion" Special-Use | |||
| Domain Name", RFC 7686, DOI 10.17487/RFC7686, October | Domain Name", RFC 7686, DOI 10.17487/RFC7686, October | |||
| 2015, <https://www.rfc-editor.org/info/rfc7686>. | 2015, <https://www.rfc-editor.org/info/rfc7686>. | |||
| [RFC7706] Kumari, W. and P. Hoffman, "Decreasing Access Time to Root | [RFC7706] Kumari, W. and P. Hoffman, "Decreasing Access Time to Root | |||
| skipping to change at page 28, line 42 ¶ | skipping to change at page 30, line 14 ¶ | |||
| [RFC8094] Reddy, T., Wing, D., and P. Patil, "DNS over Datagram | [RFC8094] Reddy, T., Wing, D., and P. Patil, "DNS over Datagram | |||
| Transport Layer Security (DTLS)", RFC 8094, | Transport Layer Security (DTLS)", RFC 8094, | |||
| DOI 10.17487/RFC8094, February 2017, <https://www.rfc- | DOI 10.17487/RFC8094, February 2017, <https://www.rfc- | |||
| editor.org/info/rfc8094>. | editor.org/info/rfc8094>. | |||
| [RFC8198] Fujiwara, K., Kato, A., and W. Kumari, "Aggressive Use of | [RFC8198] Fujiwara, K., Kato, A., and W. Kumari, "Aggressive Use of | |||
| DNSSEC-Validated Cache", RFC 8198, DOI 10.17487/RFC8198, | DNSSEC-Validated Cache", RFC 8198, DOI 10.17487/RFC8198, | |||
| July 2017, <https://www.rfc-editor.org/info/rfc8198>. | July 2017, <https://www.rfc-editor.org/info/rfc8198>. | |||
| 12.3. URIs | [RFC8490] Bellis, R., Cheshire, S., Dickinson, J., Dickinson, S., | |||
| Lemon, T., and T. Pusateri, "DNS Stateful Operations", | ||||
| RFC 8490, DOI 10.17487/RFC8490, March 2019, | ||||
| <https://www.rfc-editor.org/info/rfc8490>. | ||||
| [1] https://www.ietf.org/mail-archive/web/dns-privacy/current/ | [RFC8499] Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | |||
| pdfWqAIUmEl47.pdf | Terminology", BCP 219, RFC 8499, DOI 10.17487/RFC8499, | |||
| January 2019, <https://www.rfc-editor.org/info/rfc8499>. | ||||
| [2] https://petsymposium.org/2018/files/hotpets/4-siby.pdf | [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/RFC8618, September | ||||
| 2019, <https://www.rfc-editor.org/info/rfc8618>. | ||||
| [3] http://tma.ifip.org/2018/wp-content/uploads/sites/3/2018/06/ | 12.3. URIs | |||
| tma2018_paper30.pdf | ||||
| [4] http://dnstap.info | [1] https://petsymposium.org/2018/files/hotpets/4-siby.pdf | |||
| [5] https://nginx.org/ | [2] http://tma.ifip.org/2018/wp-content/uploads/sites/3/2018/06/ | |||
| tma2018_paper30.pdf | ||||
| [6] https://www.haproxy.org/ | [3] http://dnstap.info | |||
| [7] https://kb.isc.org/article/AA-01386/0/DNS-over-TLS.html | [4] https://nginx.org/ | |||
| [8] https://dnsdist.org | [5] https://www.haproxy.org/ | |||
| [9] https://doi.org/10.1145/3182660 | [6] https://kb.isc.org/article/AA-01386/0/DNS-over-TLS.html | |||
| [10] https://github.com/Sinodun/draft-dprive-bcp-op/blob/master/ | [7] https://dnsdist.org | |||
| draft-00/ip_techniques_table.svg | ||||
| [11] https://pdfs.semanticscholar.org/7b34/12c951cebe71cd2cddac5fda16 | [8] https://doi.org/10.1145/3182660 | |||
| 4fb2138a44.pdf | ||||
| [12] https://kb.isc.org/docs/aa-00482 | [9] https://pdfs.semanticscholar.org/7b34/12c951cebe71cd2cddac5fda164 | |||
| fb2138a44.pdf | ||||
| [13] https://surf.nl/datasharing | [10] https://kb.isc.org/docs/aa-00482 | |||
| [14] https://dnsprivacy.org/wiki/display/DP/ | [11] https://surf.nl/datasharing | |||
| [12] https://dnsprivacy.org/wiki/display/DP/ | ||||
| Comparison+of+policy+and+privacy+statements | Comparison+of+policy+and+privacy+statements | |||
| [15] https://wiki.mozilla.org/Security/DOH-resolver-policy | [13] https://wiki.mozilla.org/Security/DOH-resolver-policy | |||
| [16] https://www.ssllabs.com/ssltest/ | [14] https://www.ssllabs.com/ssltest/ | |||
| [17] https://internet.nl | [15] https://internet.nl | |||
| [18] https://support.google.com/analytics/answer/2763052?hl=en | [16] https://support.google.com/analytics/answer/2763052?hl=en | |||
| [19] https://www.conversionworks.co.uk/blog/2017/05/19/anonymize-ip- | [17] https://www.conversionworks.co.uk/blog/2017/05/19/anonymize-ip- | |||
| geo-impact-test/ | geo-impact-test/ | |||
| [20] https://github.com/edmonds/pdns/blob/master/pdns/dnswasher.cc | [18] https://github.com/edmonds/pdns/blob/master/pdns/dnswasher.cc | |||
| [21] http://ita.ee.lbl.gov/html/contrib/tcpdpriv.html | [19] http://ita.ee.lbl.gov/html/contrib/tcpdpriv.html | |||
| [22] http://an.kaist.ac.kr/~sbmoon/paper/intl-journal/2004-cn- | [20] http://an.kaist.ac.kr/~sbmoon/paper/intl-journal/2004-cn- | |||
| anon.pdf | anon.pdf | |||
| [23] https://www.cc.gatech.edu/computing/Telecomm/projects/cryptopan/ | [21] https://www.cc.gatech.edu/computing/Telecomm/projects/cryptopan/ | |||
| [24] http://mharvan.net/talks/noms-ip_anon.pdf | [22] http://mharvan.net/talks/noms-ip_anon.pdf | |||
| [25] http://www.ecs.umass.edu/ece/wolf/pubs/ton2007.pdf | [23] http://www.ecs.umass.edu/ece/wolf/pubs/ton2007.pdf | |||
| [26] https://medium.com/@bert.hubert/on-ip-address-encryption- | [24] https://medium.com/@bert.hubert/on-ip-address-encryption- | |||
| security-analysis-with-respect-for-privacy-dabe1201b476 | security-analysis-with-respect-for-privacy-dabe1201b476 | |||
| [27] https://github.com/PowerDNS/ipcipher | [25] https://github.com/PowerDNS/ipcipher | |||
| [28] https://github.com/veorq/ipcrypt | [26] https://github.com/veorq/ipcrypt | |||
| [29] https://www.ietf.org/mail-archive/web/cfrg/current/msg09494.html | [27] https://www.ietf.org/mail-archive/web/cfrg/current/msg09494.html | |||
| [30] http://dl.ifip.org/db/conf/im/im2019/189282.pdf | [28] http://dl.ifip.org/db/conf/im/im2019/189282.pdf | |||
| Appendix A. Documents | Appendix A. Documents | |||
| This section provides an overview of some DNS privacy related | This section provides an overview of some DNS privacy related | |||
| documents, however, this is neither an exhaustive list nor a | documents, however, this is neither an exhaustive list nor a | |||
| definitive statement on the characteristic of the document. | definitive statement on the characteristic of the document. | |||
| A.1. Potential increases in DNS privacy | A.1. Potential increases in DNS privacy | |||
| These documents are limited in scope to communications between stub | These documents are limited in scope to communications between stub | |||
| skipping to change at page 31, line 4 ¶ | skipping to change at page 32, line 36 ¶ | |||
| o 'DNS Query Name minimization to Improve Privacy' [RFC7816] | o 'DNS Query Name minimization to Improve Privacy' [RFC7816] | |||
| referred to here as 'QNAME minimization' | referred to here as 'QNAME minimization' | |||
| A.2. Potential decreases in DNS privacy | A.2. Potential decreases in DNS privacy | |||
| These documents relate to functionality that could provide increased | These documents relate to functionality that could provide increased | |||
| tracking of user activity as a side effect: | tracking of user activity as a side effect: | |||
| o 'Client Subnet in DNS Queries' [RFC7871] | o 'Client Subnet in DNS Queries' [RFC7871] | |||
| o 'Domain Name System (DNS) Cookies' [RFC7873]) | o 'Domain Name System (DNS) Cookies' [RFC7873]) | |||
| o 'Transport Layer Security (TLS) Session Resumption without Server- | o 'Transport Layer Security (TLS) Session Resumption without Server- | |||
| Side State' [RFC5077] referred to here as simply TLS session | Side State' [RFC5077] referred to here as simply TLS session | |||
| resumption. | resumption. | |||
| o 'A DNS Packet Capture Format' [I-D.ietf-dnsop-dns-capture-format] | o 'A DNS Packet Capture Format' [RFC8618] | |||
| o Passive DNS [I-D.ietf-dnsop-terminology-bis] | o Passive DNS [RFC8499] | |||
| Note that depending on the specifics of the implementation [RFC8484] | Note that depending on the specifics of the implementation [RFC8484] | |||
| may also provide increased tracking. | may also provide increased tracking. | |||
| A.3. Related operational documents | A.3. Related operational documents | |||
| o 'DNS Transport over TCP - Implementation Requirements' [RFC7766] | o 'DNS Transport over TCP - Implementation Requirements' [RFC7766] | |||
| o 'Operational requirements for DNS-over-TCP' | o 'Operational requirements for DNS-over-TCP' | |||
| [I-D.ietf-dnsop-dns-tcp-requirements] | [I-D.ietf-dnsop-dns-tcp-requirements] | |||
| o 'The edns-tcp-keepalive EDNS0 Option' [RFC7828] | o 'The edns-tcp-keepalive EDNS0 Option' [RFC7828] | |||
| o 'DNS Stateful Operations' [I-D.ietf-dnsop-session-signal] | o 'DNS Stateful Operations' [RFC8490] | |||
| Appendix B. IP address techniques | Appendix B. IP address techniques | |||
| Data minimization methods may be categorized by the processing used | Data minimization methods may be categorized by the processing used | |||
| and the properties of their outputs. The following builds on the | and the properties of their outputs. The following builds on the | |||
| categorization employed in [RFC6235]: | categorization employed in [RFC6235]: | |||
| o Format-preserving. Normally when encrypting, the original data | o Format-preserving. Normally when encrypting, the original data | |||
| length and patterns in the data should be hidden from an attacker. | length and patterns in the data should be hidden from an attacker. | |||
| Some applications of de-identification, such as network capture | Some applications of de-identification, such as network capture | |||
| skipping to change at page 32, line 37 ¶ | skipping to change at page 34, line 23 ¶ | |||
| o Random substitution. As replacement, but using randomly generated | o Random substitution. As replacement, but using randomly generated | |||
| replacement values. | replacement values. | |||
| o Cryptographic permutation. Using a permutation function, such as | o Cryptographic permutation. Using a permutation function, such as | |||
| a hash function or cryptographic block cipher, to generate a | a hash function or cryptographic block cipher, to generate a | |||
| replacement de-identified value. | replacement de-identified value. | |||
| B.1. Google Analytics non-prefix filtering | B.1. Google Analytics non-prefix filtering | |||
| Since May 2010, Google Analytics has provided a facility [18] that | Since May 2010, Google Analytics has provided a facility [16] that | |||
| allows website owners to request that all their users IP addresses | allows website owners to request that all their users IP addresses | |||
| are anonymized within Google Analytics processing. This very basic | are anonymized within Google Analytics processing. This very basic | |||
| anonymization simply sets to zero the least significant 8 bits of | anonymization simply sets to zero the least significant 8 bits of | |||
| IPv4 addresses, and the least significant 80 bits of IPv6 addresses. | IPv4 addresses, and the least significant 80 bits of IPv6 addresses. | |||
| The level of anonymization this produces is perhaps questionable. | The level of anonymization this produces is perhaps questionable. | |||
| There are some analysis results [19] which suggest that the impact of | There are some analysis results [17] which suggest that the impact of | |||
| this on reducing the accuracy of determining the user's location from | this on reducing the accuracy of determining the user's location from | |||
| their IP address is less than might be hoped; the average discrepancy | their IP address is less than might be hoped; the average discrepancy | |||
| in identification of the user city for UK users is no more than 17%. | in identification of the user city for UK users is no more than 17%. | |||
| Anonymization: Format-preserving, Filtering (grey marking). | Anonymization: Format-preserving, Filtering (grey marking). | |||
| B.2. dnswasher | B.2. dnswasher | |||
| Since 2006, PowerDNS have included a de-identification tool dnswasher | Since 2006, PowerDNS have included a de-identification tool dnswasher | |||
| [20] with their PowerDNS product. This is a PCAP filter that | [18] with their PowerDNS product. This is a PCAP filter that | |||
| performs a one-to-one mapping of end user IP addresses with an | performs a one-to-one mapping of end user IP addresses with an | |||
| anonymized address. A table of user IP addresses and their de- | anonymized address. A table of user IP addresses and their de- | |||
| identified counterparts is kept; the first IPv4 user addresses is | identified counterparts is kept; the first IPv4 user addresses is | |||
| translated to 0.0.0.1, the second to 0.0.0.2 and so on. The de- | translated to 0.0.0.1, the second to 0.0.0.2 and so on. The de- | |||
| identified address therefore depends on the order that addresses | identified address therefore depends on the order that addresses | |||
| arrive in the input, and running over a large amount of data the | arrive in the input, and running over a large amount of data the | |||
| address translation tables can grow to a significant size. | address translation tables can grow to a significant size. | |||
| Anonymization: Format-preserving, Enumeration. | Anonymization: Format-preserving, Enumeration. | |||
| B.3. Prefix-preserving map | B.3. Prefix-preserving map | |||
| Used in TCPdpriv [21], this algorithm stores a set of original and | Used in TCPdpriv [19], this algorithm stores a set of original and | |||
| anonymised IP address pairs. When a new IP address arrives, it is | anonymised IP address pairs. When a new IP address arrives, it is | |||
| compared with previous addresses to determine the longest prefix | compared with previous addresses to determine the longest prefix | |||
| match. The new address is anonymized by using the same prefix, with | match. The new address is anonymized by using the same prefix, with | |||
| the remainder of the address anonymized with a random value. The use | the remainder of the address anonymized with a random value. The use | |||
| of a random value means that TCPdrpiv is not deterministic; different | of a random value means that TCPdrpiv is not deterministic; different | |||
| anonymized values will be generated on each run. The need to store | anonymized values will be generated on each run. The need to store | |||
| previous addresses means that TCPdpriv has significant and unbounded | previous addresses means that TCPdpriv has significant and unbounded | |||
| memory requirements, and because of the need to allocated anonymized | memory requirements, and because of the need to allocated anonymized | |||
| addresses sequentially cannot be used in parallel processing. | addresses sequentially cannot be used in parallel processing. | |||
| Anonymization: Format-preserving, prefix preservation (general). | Anonymization: Format-preserving, prefix preservation (general). | |||
| B.4. Cryptographic Prefix-Preserving Pseudonymisation | B.4. Cryptographic Prefix-Preserving Pseudonymisation | |||
| Cryptographic prefix-preserving pseudonymisation was originally | Cryptographic prefix-preserving pseudonymisation was originally | |||
| proposed as an improvement to the prefix-preserving map implemented | proposed as an improvement to the prefix-preserving map implemented | |||
| in TCPdpriv, described in Xu et al. [22] and implemented in the | in TCPdpriv, described in Xu et al. [20] and implemented in the | |||
| Crypto-PAn tool [23]. Crypto-PAn is now frequently used as an | Crypto-PAn tool [21]. Crypto-PAn is now frequently used as an | |||
| acronym for the algorithm. Initially it was described for IPv4 | acronym for the algorithm. Initially it was described for IPv4 | |||
| addresses only; extension for IPv6 addresses was proposed in Harvan & | addresses only; extension for IPv6 addresses was proposed in Harvan & | |||
| Schoenwaelder [24] and implemented in snmpdump. This uses a | Schoenwaelder [22] and implemented in snmpdump. This uses a | |||
| cryptographic algorithm rather than a random value, and thus | cryptographic algorithm rather than a random value, and thus | |||
| pseudonymity is determined uniquely by the encryption key, and is | pseudonymity is determined uniquely by the encryption key, and is | |||
| deterministic. It requires a separate AES encryption for each output | deterministic. It requires a separate AES encryption for each output | |||
| bit, so has a non-trivial calculation overhead. This can be | bit, so has a non-trivial calculation overhead. This can be | |||
| mitigated to some extent (for IPv4, at least) by pre-calculating | mitigated to some extent (for IPv4, at least) by pre-calculating | |||
| results for some number of prefix bits. | results for some number of prefix bits. | |||
| Pseudonymization: Format-preserving, prefix preservation (general). | Pseudonymization: Format-preserving, prefix preservation (general). | |||
| B.5. Top-hash Subtree-replicated Anonymisation | B.5. Top-hash Subtree-replicated Anonymisation | |||
| Proposed in Ramaswamy & Wolf [25], Top-hash Subtree-replicated | Proposed in Ramaswamy & Wolf [23], Top-hash Subtree-replicated | |||
| Anonymisation (TSA) originated in response to the requirement for | Anonymisation (TSA) originated in response to the requirement for | |||
| faster processing than Crypto-PAn. It used hashing for the most | faster processing than Crypto-PAn. It used hashing for the most | |||
| significant byte of an IPv4 address, and a pre-calculated binary tree | significant byte of an IPv4 address, and a pre-calculated binary tree | |||
| structure for the remainder of the address. To save memory space, | structure for the remainder of the address. To save memory space, | |||
| replication is used within the tree structure, reducing the size of | replication is used within the tree structure, reducing the size of | |||
| the pre-calculated structures to a few Mb for IPv4 addresses. | the pre-calculated structures to a few Mb for IPv4 addresses. | |||
| Address pseudonymization is done via hash and table lookup, and so | Address pseudonymization is done via hash and table lookup, and so | |||
| requires minimal computation. However, due to the much increased | requires minimal computation. However, due to the much increased | |||
| address space for IPv6, TSA is not memory efficient for IPv6. | address space for IPv6, TSA is not memory efficient for IPv6. | |||
| Pseudonymization: Format-preserving, prefix preservation (general). | Pseudonymization: Format-preserving, prefix preservation (general). | |||
| B.6. ipcipher | B.6. ipcipher | |||
| A recently-released proposal from PowerDNS [26], ipcipher [27] is a | A recently-released proposal from PowerDNS [24], ipcipher [25] is a | |||
| simple pseudonymization technique for IPv4 and IPv6 addresses. IPv6 | simple pseudonymization technique for IPv4 and IPv6 addresses. IPv6 | |||
| addresses are encrypted directly with AES-128 using a key (which may | addresses are encrypted directly with AES-128 using a key (which may | |||
| be derived from a passphrase). IPv4 addresses are similarly | be derived from a passphrase). IPv4 addresses are similarly | |||
| encrypted, but using a recently proposed encryption ipcrypt [28] | encrypted, but using a recently proposed encryption ipcrypt [26] | |||
| suitable for 32bit block lengths. However, the author of ipcrypt has | suitable for 32bit block lengths. However, the author of ipcrypt has | |||
| since indicated [29] that it has low security, and further analysis | since indicated [27] that it has low security, and further analysis | |||
| has revealed it is vulnerable to attack. | has revealed it is vulnerable to attack. | |||
| Pseudonymization: Format-preserving, cryptographic permutation. | Pseudonymization: Format-preserving, cryptographic permutation. | |||
| B.7. Bloom filters | B.7. Bloom filters | |||
| van Rijswijk-Deij et al. [30] have recently described work using | van Rijswijk-Deij et al. [28] have recently described work using | |||
| Bloom filters to categorize query traffic and record the traffic as | Bloom filters to categorize query traffic and record the traffic as | |||
| the state of multiple filters. The goal of this work is to allow | the state of multiple filters. The goal of this work is to allow | |||
| operators to identify so-called Indicators of Compromise (IOCs) | operators to identify so-called Indicators of Compromise (IOCs) | |||
| originating from specific subnets without storing information about, | originating from specific subnets without storing information about, | |||
| or be able to monitor the DNS queries of an individual user. By | or be able to monitor the DNS queries of an individual user. By | |||
| using a Bloom filter, it is possible to determine with a high | using a Bloom filter, it is possible to determine with a high | |||
| probability if, for example, a particular query was made, but the set | probability if, for example, a particular query was made, but the set | |||
| of queries made cannot be recovered from the filter. Similarly, by | of queries made cannot be recovered from the filter. Similarly, by | |||
| mixing queries from a sufficient number of users in a single filter, | mixing queries from a sufficient number of users in a single filter, | |||
| it becomes practically impossible to determine if a particular user | it becomes practically impossible to determine if a particular user | |||
| performed a particular query. Large numbers of queries can be | performed a particular query. Large numbers of queries can be | |||
| tracked in a memory-efficient way. As filter status is stored, this | tracked in a memory-efficient way. As filter status is stored, this | |||
| approach cannot be used to regenerate traffic, and so cannot be used | approach cannot be used to regenerate traffic, and so cannot be used | |||
| with tools used to process live traffic. | with tools used to process live traffic. | |||
| Anonymized: Generalization. | Anonymized: Generalization. | |||
| Appendix C. Example DROP statement | ||||
| The following example DROP statement is very loosely based on some | ||||
| elements of published privacy statements for some public resolvers, | ||||
| with additional fields populated to illustrate the what the full | ||||
| contents of a DROP statement might look like. This should not be | ||||
| interpreted as | ||||
| o having been reviewed or approved by any operator in any way | ||||
| o having any legal standing or validity at all | ||||
| o being complete or exhaustive | ||||
| This is a purely hypothetical example of a DROP statement 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. | ||||
| C.1. Policy | ||||
| 1. Treatment of IP addresses. Many nations classify IP addresses as | ||||
| Personally-Identifiable Information (PII), and we take a | ||||
| conservative approach in treating IP addresses as PII in all | ||||
| jurisdictions in which our systems reside. | ||||
| 2. Data collection and sharing. | ||||
| 1. IP addresses. Our normal course of data management does not | ||||
| have any IP address information or other PII logged to disk | ||||
| or transmitted out of the location in which the query was | ||||
| received. We may aggregate certain counters to larger | ||||
| network block levels for statistical collection purposes, but | ||||
| those counters do not maintain specific IP address data nor | ||||
| is the format or model of data stored capable of being | ||||
| reverse-engineered to ascertain what specific IP addresses | ||||
| made what queries. | ||||
| 2. Data collected in logs. We do keep some generalized location | ||||
| information (at the city/metropolitan area level) so that we | ||||
| can conduct debugging and analyze abuse phenomena. We also | ||||
| use the collected information for the creation and sharing of | ||||
| telemetry (timestamp, geolocation, number of hits, first | ||||
| seen, last seen) for contributors, public publishing of | ||||
| general statistics of use of system (protections, threat | ||||
| types, counts, etc.) When you use our DNS Services, here is | ||||
| the full list of items that are | ||||
| included in our logs: | ||||
| + Request domain name, e.g. example.net | ||||
| + Record type of requested domain, e.g. A, AAAA, NS, MX, | ||||
| TXT, etc. | ||||
| + Transport protocol on which the request arrived, i.e. UDP, | ||||
| TCP, DoT, | ||||
| DoH | ||||
| + Origin IP general geolocation information: i.e. geocode, | ||||
| region ID, city ID, and metro code | ||||
| + IP protocol version - IPv4 or IPv6 | ||||
| + Response code sent, e.g. SUCCESS, SERVFAIL, NXDOMAIN, | ||||
| etc. | ||||
| + Absolute arrival time | ||||
| + Name of the specific instance that processed this request | ||||
| + IP address of the specific instance to which this request | ||||
| was addressed (no relation to the requestor's IP address) | ||||
| We may keep the following data as summary information, | ||||
| including all the above EXCEPT for data about the DNS record | ||||
| requested: | ||||
| + Currently-advertised BGP-summarized IP prefix/netmask of | ||||
| apparent client origin | ||||
| + Autonomous system number (BGP ASN) of apparent client | ||||
| origin | ||||
| All the above data may be kept in full or partial form in | ||||
| permanent archives. | ||||
| 3. Sharing of data. Except as described in this document, we do | ||||
| not intentionally share, sell, or rent individual personal | ||||
| information associated with the requestor (i.e. source IP | ||||
| address or any other information that can positively identify | ||||
| the client using our infrastructure) with anyone without your | ||||
| consent. We generate and share high level anonymized | ||||
| aggregate statistics including threat metrics on threat type, | ||||
| geolocation, and if available, sector, as well as other | ||||
| vertical metrics including performance metrics on our DNS | ||||
| Services (i.e. number of threats blocked, infrastructure | ||||
| uptime) when available with the our threat intelligence (TI) | ||||
| partners, academic researchers, or the public. Our DNS | ||||
| Services share anonymized data on specific domains queried | ||||
| (records such as domain, timestamp, geolocation, number of | ||||
| hits, first seen, last seen) with its threat intelligence | ||||
| partners. Our DNS Services also builds, stores, and may | ||||
| share certain DNS data streams which store high level | ||||
| information about domain resolved, query types, result codes, | ||||
| and timestamp. These streams do not contain IP address | ||||
| information of requestor and cannot be correlated to IP | ||||
| address or other PII. We do not and never will share any of | ||||
| its data with marketers, nor will it use this data for | ||||
| demographic analysis. | ||||
| 3. Exceptions. There are exceptions to this storage model: In the | ||||
| event of events or observed behaviors which we deem malicious or | ||||
| anomalous, we may utilize more detailed logging to collect more | ||||
| specific IP address data in the process of normal network defence | ||||
| and mitigation. This collection and transmission off-site will | ||||
| be limited to IP addresses that we determine are involved in the | ||||
| event. | ||||
| 4. Associated entities. Details of our Threat Intelligence partners | ||||
| can be found at our website page (insert link). | ||||
| 5. Correlation of Data. We do not correlate or combine information | ||||
| from our logs with any personal information that you have | ||||
| provided us for other services, or with your specific IP address. | ||||
| 6. Result filtering. | ||||
| 1. Filtering. We utilise cyber threat intelligence about | ||||
| malicious domains from a variety of public and private | ||||
| sources and blocks access to those malicious domains when | ||||
| your system attempts to contact them. An NXDOMAIN is | ||||
| returned for blocked sites. | ||||
| 1. Censorship. We will not provide a censoring component | ||||
| and will limit our actions solely to the blocking of | ||||
| malicious domains around phishing, malware, and exploit | ||||
| kit domains. | ||||
| 2. Accidental blocking. We implement whitelisting | ||||
| algorithms to make sure legitimate domains are not | ||||
| blocked by accident. However, in the rare case of | ||||
| blocking a legitimate domain, we work with the users to | ||||
| quickly whitelist that domain. Please use our support | ||||
| form (insert link) if you believe we are blocking a | ||||
| domain in error. | ||||
| C.2. Practice | ||||
| 1. Deviations from Policy. None currently in place. | ||||
| 2. Client facing capabilities. | ||||
| 1. We offer UDP and TCP DNS on port 53 on (insert IP address) | ||||
| 2. We offer DNS-over-TLS as specified in RFC7858 on (insert IP | ||||
| address). It is available on port 853 and port 443. We also | ||||
| implement RFC7766. | ||||
| 1. The DoT authentication name used is (insert domain name). | ||||
| No TLSA records are available for this domain name. | ||||
| 2. We do not publish SPKI pin sets. | ||||
| 3. We offer DNS-over-HTTPS as specified in RFC8484 on (insert | ||||
| URI template). Both POST and GET are supported. | ||||
| 4. Both services offer TLS 1.2 and TLS 1.3. | ||||
| 5. Both services pad DNS responses according to RFC8467. | ||||
| 6. Both services provide DNSSEC validation. | ||||
| 3. Upstream capabilities. | ||||
| 1. Our servers implement QNAME minimisation. | ||||
| 2. Our servers do not send ECS upstream. | ||||
| 4. Support. Support information for this service is available at | ||||
| (insert link). | ||||
| 5. Jurisdiction. | ||||
| 1. We operate as the legal entity (insert entity) registered in | ||||
| (insert country) as (insert company identifier e.g Company | ||||
| Number). Our Headquarters are located at (insert address). | ||||
| 2. As such we operate under (insert country) law. For details | ||||
| of our company privacy policy see (insert link). For | ||||
| questions on this policy and enforcement contact our Data | ||||
| Protection Officer on (insert email address). | ||||
| 3. We operate servers in the following countries (insert list). | ||||
| 4. We have no agreements in place with law enforcement agencies | ||||
| to give them access to the data. Apart from as stated in the | ||||
| Policy section of this document with regard to cyber threat | ||||
| intelligence, we have no agreements in place with other | ||||
| public and private parties dealing with security and | ||||
| intelligence, to give them access to the servers and/or to | ||||
| the data. | ||||
| 6. Consent. As described, we do not intentionally share, sell, or | ||||
| rent individual personal information associated with the | ||||
| requestor with anyone without your consent. In order to provide | ||||
| consent you must have a user account for our service - this can | ||||
| be set up via our support page (insert link). We may contact | ||||
| existing users with accounts to enquire if you would be willing | ||||
| to provide consent for specific situations. Users can then | ||||
| provide explicit consent by choosing to enable certain account | ||||
| options which are disabled by default. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Sara Dickinson | Sara Dickinson | |||
| Sinodun IT | Sinodun IT | |||
| Magdalen Centre | Magdalen Centre | |||
| Oxford Science Park | Oxford Science Park | |||
| Oxford OX4 4GA | Oxford OX4 4GA | |||
| United Kingdom | United Kingdom | |||
| Email: sara@sinodun.com | Email: sara@sinodun.com | |||
| End of changes. 127 change blocks. | ||||
| 268 lines changed or deleted | 524 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||