| < draft-ietf-dprive-bcp-op-01.txt | draft-ietf-dprive-bcp-op-02.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: June 21, 2019 R. van Rijswijk-Deij | Expires: September 12, 2019 R. van Rijswijk-Deij | |||
| NLnet Labs | NLnet Labs | |||
| A. Mankin | A. Mankin | |||
| Salesforce | Salesforce | |||
| December 18, 2018 | March 11, 2019 | |||
| Recommendations for DNS Privacy Service Operators | Recommendations for DNS Privacy Service Operators | |||
| draft-ietf-dprive-bcp-op-01 | draft-ietf-dprive-bcp-op-02 | |||
| 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 operators who choose to offer DNS Privacy | |||
| services. With these recommendations, the operator can make | services. With these recommendations, the operator can make | |||
| deliberate decisions regarding which services to provide, and how the | deliberate decisions regarding which services to provide, and how the | |||
| decisions and alternatives impact the privacy of users. | 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 DNS | |||
| skipping to change at page 1, line 36 ¶ | skipping to change at page 1, line 36 ¶ | |||
| 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 https://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 June 21, 2019. | This Internet-Draft will expire on September 12, 2019. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2018 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 | |||
| (https://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 | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. Privacy related documents . . . . . . . . . . . . . . . . . . 5 | 3. Privacy related documents . . . . . . . . . . . . . . . . . . 5 | |||
| 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | 4. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 5 | |||
| 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 . . . . . . . 7 | 5.1.2. Authentication of DNS privacy services . . . . . . . 7 | |||
| 5.1.3. Protocol recommendations . . . . . . . . . . . . . . 9 | 5.1.3. Protocol recommendations . . . . . . . . . . . . . . 9 | |||
| 5.1.4. Availability . . . . . . . . . . . . . . . . . . . . 11 | 5.1.4. Availability . . . . . . . . . . . . . . . . . . . . 10 | |||
| 5.1.5. Service options . . . . . . . . . . . . . . . . . . . 11 | 5.1.5. Service options . . . . . . . . . . . . . . . . . . . 11 | |||
| 5.1.6. Impact on Operators . . . . . . . . . . . . . . . . . 11 | 5.1.6. Impact on Operators . . . . . . . . . . . . . . . . . 11 | |||
| 5.1.7. Limitations of using a pure TLS proxy . . . . . . . . 11 | 5.1.7. Limitations of using a pure TLS proxy . . . . . . . . 12 | |||
| 5.2. Data at rest on the server . . . . . . . . . . . . . . . 12 | 5.2. Data at rest on the server . . . . . . . . . . . . . . . 12 | |||
| 5.2.1. Data handling . . . . . . . . . . . . . . . . . . . . 12 | 5.2.1. Data handling . . . . . . . . . . . . . . . . . . . . 12 | |||
| 5.2.2. Data minimization of network traffic . . . . . . . . 13 | 5.2.2. Data minimization of network traffic . . . . . . . . 13 | |||
| 5.2.3. IP address pseudonymization and anonymization methods 14 | 5.2.3. IP address pseudonymization and anonymization methods 14 | |||
| 5.2.4. Pseudonymization, anonymization or discarding of | 5.2.4. Pseudonymization, anonymization or discarding of | |||
| other correlation data . . . . . . . . . . . . . . . 15 | other correlation data . . . . . . . . . . . . . . . 15 | |||
| 5.2.5. Cache snooping . . . . . . . . . . . . . . . . . . . 15 | 5.2.5. Cache snooping . . . . . . . . . . . . . . . . . . . 16 | |||
| 5.3. Data sent onwards from the server . . . . . . . . . . . . 16 | 5.3. Data sent onwards from the server . . . . . . . . . . . . 16 | |||
| 5.3.1. Protocol recommendations . . . . . . . . . . . . . . 16 | 5.3.1. Protocol recommendations . . . . . . . . . . . . . . 16 | |||
| 5.3.2. Client query obfuscation . . . . . . . . . . . . . . 17 | 5.3.2. Client query obfuscation . . . . . . . . . . . . . . 17 | |||
| 5.3.3. Data sharing . . . . . . . . . . . . . . . . . . . . 17 | 5.3.3. Data sharing . . . . . . . . . . . . . . . . . . . . 18 | |||
| 6. DNS privacy policy and practice statement . . . . . . . . . . 18 | 6. DNS privacy policy and practice statement . . . . . . . . . . 19 | |||
| 6.1. Recommended contents of a DPPPS . . . . . . . . . . . . . 18 | 6.1. Recommended contents of a DPPPS . . . . . . . . . . . . . 19 | |||
| 6.1.1. Policy . . . . . . . . . . . . . . . . . . . . . . . 18 | 6.1.1. Policy . . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 6.1.2. Practice. . . . . . . . . . . . . . . . . . . . . . . 19 | 6.1.2. Practice . . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 6.2. Current policy and privacy statements . . . . . . . . . . 20 | 6.2. Current policy and privacy statements . . . . . . . . . . 21 | |||
| 6.3. Enforcement/accountability . . . . . . . . . . . . . . . 21 | 6.3. Enforcement/accountability . . . . . . . . . . . . . . . 21 | |||
| 7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 21 | 7. IANA considerations . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 8. Security considerations . . . . . . . . . . . . . . . . . . . 21 | 8. Security considerations . . . . . . . . . . . . . . . . . . . 22 | |||
| 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 | 10. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 11. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | 11. Changelog . . . . . . . . . . . . . . . . . . . . . . . . . . 22 | |||
| 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 12. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
| 12.1. Normative References . . . . . . . . . . . . . . . . . . 23 | 12.1. Normative References . . . . . . . . . . . . . . . . . . 24 | |||
| 12.2. Informative References . . . . . . . . . . . . . . . . . 25 | 12.2. Informative References . . . . . . . . . . . . . . . . . 26 | |||
| 12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 12.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
| Appendix A. Documents . . . . . . . . . . . . . . . . . . . . . 27 | Appendix A. Documents . . . . . . . . . . . . . . . . . . . . . 29 | |||
| A.1. Potential increases in DNS privacy . . . . . . . . . . . 27 | A.1. Potential increases in DNS privacy . . . . . . . . . . . 29 | |||
| A.2. Potential decreases in DNS privacy . . . . . . . . . . . 28 | A.2. Potential decreases in DNS privacy . . . . . . . . . . . 29 | |||
| A.3. Related operational documents . . . . . . . . . . . . . . 28 | A.3. Related operational documents . . . . . . . . . . . . . . 30 | |||
| Appendix B. Encryption and DNSSEC . . . . . . . . . . . . . . . 29 | Appendix B. Encryption and DNSSEC . . . . . . . . . . . . . . . 30 | |||
| Appendix C. IP address techniques . . . . . . . . . . . . . . . 29 | Appendix C. IP address techniques . . . . . . . . . . . . . . . 30 | |||
| C.1. Google Analytics non-prefix filtering . . . . . . . . . . 30 | C.1. Google Analytics non-prefix filtering . . . . . . . . . . 31 | |||
| C.2. dnswasher . . . . . . . . . . . . . . . . . . . . . . . . 30 | C.2. dnswasher . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| C.3. Prefix-preserving map . . . . . . . . . . . . . . . . . . 31 | C.3. Prefix-preserving map . . . . . . . . . . . . . . . . . . 32 | |||
| C.4. Cryptographic Prefix-Preserving Pseudonymisation . . . . 31 | C.4. Cryptographic Prefix-Preserving Pseudonymisation . . . . 32 | |||
| C.5. Top-hash Subtree-replicated Anonymisation . . . . . . . . 31 | C.5. Top-hash Subtree-replicated Anonymisation . . . . . . . . 33 | |||
| C.6. ipcipher . . . . . . . . . . . . . . . . . . . . . . . . 32 | C.6. ipcipher . . . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| C.7. Bloom filters . . . . . . . . . . . . . . . . . . . . . . 32 | C.7. Bloom filters . . . . . . . . . . . . . . . . . . . . . . 33 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
| 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 "open resolvers" [I-D.ietf-dnsop-terminology-bis] which users may | of "public resolvers" [I-D.ietf-dnsop-terminology-bis] which users | |||
| prefer to use instead of the default network resolver because they | may prefer to use instead of the default network resolver because | |||
| offer a specific feature (e.g. good reachability, encrypted | they offer a specific feature (e.g. good reachability, encrypted | |||
| transport, strong privacy policy, filtering (or lack of), etc.). | transport, strong privacy policy, filtering (or lack of), etc.). | |||
| These open resolvers have tended to be at the forefront of adoption | These open resolvers have tended to be at the forefront of adoption | |||
| of privacy related enhancements but it is anticipated that operators | of privacy related enhancements but it is anticipated that operators | |||
| of other resolver services will follow. | of other resolver services will 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 | |||
| skipping to change at page 4, line 12 ¶ | skipping to change at page 4, line 12 ¶ | |||
| 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. | |||
| It should also be noted that the choice of a user to configure a | It should also be noted that the choice of a user to configure a | |||
| single resolver (or a fixed set of resolvers) and an encrypted | single resolver (or a fixed set of resolvers) and an encrypted | |||
| transport to use in all network environments has both advantages and | transport to use in all network environments has both advantages and | |||
| disadvantages. For example the user has a clear expectation of which | disadvantages. For example the user has a clear expectation of which | |||
| resolvers have visibility of their query data however this resolver/ | resolvers have visibility of their query data however this resolver/ | |||
| transport selection may provide an added mechanism to track them as | transport selection may provide an added mechanism to track them as | |||
| they move across network environments. Commitments from operators to | they move across network environments. Commitments from operators to | |||
| minimize such tracking are also likely to play a role in users | minimize such tracking are also likely to play a role in user | |||
| selection of resolver. | selection of resolvers. | |||
| More recently the global legislative landscape with regard to | More recently the global legislative landscape with regard to | |||
| personal data collection, retention, and pseudonymization has seen | personal data collection, retention, and pseudonymization has seen | |||
| significant activity. It is an untested area that simply using a DNS | significant activity. It is an untested area that simply using a DNS | |||
| resolution service constitutes consent from the user for the operator | resolution service constitutes consent from the user for the operator | |||
| to process their query data. The impact of recent legislative | to process their query data. The impact of recent legislative | |||
| changes on data pertaining to the users of both Internet Service | changes on data pertaining to the users of both Internet Service | |||
| Providers and DNS open resolvers is not fully understood at the time | Providers and public DNS resolvers is not fully understood at the | |||
| 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 Privacy Policy and Practice Statement (DPPPS) | |||
| 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 | DPPPS is a document that an operator can publish outlining their | |||
| skipping to change at page 6, line 20 ¶ | skipping to change at page 6, line 20 ¶ | |||
| 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 DPPPS. | |||
| 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 are | * 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]. | |||
| o DNS Privacy Threats | o DNS Privacy Threats | |||
| * These are threats to the users and operators of DNS privacy | * These are threats to the users and operators of DNS privacy | |||
| services that are not directly covered by [RFC6973]. These may | services that are not directly covered by [RFC6973]. These may | |||
| be more operational in nature such as certificate management or | be more operational in nature such as certificate management or | |||
| service availability issues. | service availability issues. | |||
| We describe three classes of actions that operators of DNS privacy | We describe three classes of actions that operators of DNS privacy | |||
| skipping to change at page 7, line 39 ¶ | skipping to change at page 7, line 39 ¶ | |||
| o DoH [RFC8484] | o DoH [RFC8484] | |||
| It is noted that a DNS privacy service can also be provided over DNS- | It is noted that a DNS privacy service can also be provided over DNS- | |||
| over-DTLS [RFC8094], however this is an Experimental specification | over-DTLS [RFC8094], however this is an Experimental specification | |||
| and there are no known implementations at the time of writing. | and there are no known implementations at the time of writing. | |||
| It is also noted that DNS privacy service might be provided over | It is also noted that DNS privacy service might be provided over | |||
| IPSec, DNSCrypt or VPNs. However, use of these transports for DNS | IPSec, DNSCrypt or VPNs. However, use of these transports for DNS | |||
| are not standardized and any discussion of best practice for | are not standardized and any discussion of best practice for | |||
| providing such service is out of scope for this document. | providing such a service is out of scope for this document. | |||
| Whilst encryption of DNS traffic can protect against active injection | Whilst encryption of DNS traffic can protect against active injection | |||
| this does not diminish the need for DNSSEC, see Appendix B. | this does not diminish the need for DNSSEC, see Appendix B. | |||
| 5.1.2. Authentication of DNS privacy services | 5.1.2. Authentication of DNS privacy services | |||
| [RFC6973] Threats: | [RFC6973] Threats: | |||
| o Surveillance: | o Surveillance: | |||
| skipping to change at page 8, line 15 ¶ | skipping to change at page 8, line 15 ¶ | |||
| 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, SPKI | provide credentials in the form of either X.509 certificates or SPKI | |||
| pinsets or TLSA records. | pinsets. | |||
| 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 | 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 | draft has been removed as it is no longer considered an active TLS WG | |||
| document. | document. | |||
| Optimizations: | Optimizations: | |||
| skipping to change at page 10, line 23 ¶ | skipping to change at page 10, line 23 ¶ | |||
| [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 [I-D.ietf-dnsop-session-signal] | |||
| o Offer a separate service that uses only TLS 1.3 [RFC8446] | ||||
| 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 [2] | |||
| o Potential for client tracking via transport identifiers | o Potential for client tracking via transport identifiers | |||
| Mitigations: | Mitigations: | |||
| o Clients should not be required to use HTTP Cookies [RFC6265]. | o Clients must be able to forego the use of HTTP Cookies [RFC6265] | |||
| 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. (Some | absolute minimum to obtain service from a DoH server. (See | |||
| initial work in this area has been proposed | Section 6.1 of [I-D.ietf-httpbis-bcp56bis].) | |||
| [I-D.dickinson-doh-dohpe] but there are no clear guidelines for | ||||
| HTTP header privacy, more work on this topic is required.) | ||||
| Optimizations: | ||||
| o Offer a separate service that uses only TLS 1.3 [RFC8446] | ||||
| 5.1.4. Availability | 5.1.4. Availability | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o A failed DNS privacy service could force the user to switch | o A failed DNS privacy service 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 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. | motivation for users to switch services. See, for example | |||
| Section IV-C of Passive Observations of a Large DNS Service: 2.5 | ||||
| TODO: Add reference to ongoing research on this topic. | Years in the Life of Google [3]. | |||
| 5.1.5. Service options | 5.1.5. 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 | to the services available. This could force the user to switch | |||
| the services available. providers, fallback to cleartext or accept | providers, fallback to cleartext or accept no DNS service for the | |||
| 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 of), DNSSEC validation, etc. | filtering (or lack thereof), DNSSEC validation, etc. | |||
| 5.1.6. Impact on Operators | 5.1.6. Impact on 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 | ||||
| nature of this traffic and work by intercepting traffic on the wire, | ||||
| either using a separate view on the connection between clients and | ||||
| the resolver, or as a separate process on the resolver system that | ||||
| inspects network traffic. Such solutions will no longer function | ||||
| when traffic between clients and resolvers is encrypted. There are, | ||||
| however, legitimate reasons for operators to inspect DNS traffic, | ||||
| e.g. to monitor for network security threats. Operators may | ||||
| therefore need to invest in alternative means of monitoring that | ||||
| relies on either the resolver software directly, or exporting DNS | ||||
| traffic from the resolver using e.g. dnstap [4]. | ||||
| Optimization: | ||||
| When implementing alternative means for traffic monitoring, operators | ||||
| of a DNS privacy service should consider using privacy conscious | ||||
| means to do so (see, for example, the discussion on the use of Bloom | ||||
| Filters in the #documents appendix in this document). | ||||
| 5.1.7. Limitations of using a pure TLS proxy | 5.1.7. Limitations of using a pure TLS proxy | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| 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 | ||||
| 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 [3], haproxy [4] or stunnel [5]) in front of a DNS | (e.g. nginx [5], haproxy [6] or stunnel [7]) 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. | Operators may choose to use a DNS aware proxy such as dnsdist [8] | |||
| which offer custom options (similar to that proposed in | ||||
| [I-D.bellis-dnsop-xpf]) to add source information to packets to | ||||
| address this shortcoming. It should be noted that such options | ||||
| potentially significantly increase the leaked information in the | ||||
| event of a 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 | |||
| [RFC6973] Threats: | [RFC6973] Threats: | |||
| o Surveillance | o Surveillance | |||
| o Stored data compromise | o Stored data compromise | |||
| skipping to change at page 12, line 28 ¶ | skipping to change at page 13, line 4 ¶ | |||
| 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 | |||
| [RFC6973] Threats: | [RFC6973] Threats: | |||
| o Surveillance | o Surveillance | |||
| o Stored data compromise | o Stored data compromise | |||
| o Correlation | o Correlation | |||
| o Identification | o Identification | |||
| o Secondary use | o Secondary use | |||
| o Disclosure | o Disclosure | |||
| Other Treats | Other Threats | |||
| o Contravention of legal requirements not to process user data? | o Contravention of legal requirements not to process user data? | |||
| Mitigations: | Mitigations: | |||
| The following are common activities for DNS service operators and in | The following are common activities for DNS service operators and in | |||
| all cases should be minimized or completely avoided if possible for | all cases should be minimized or completely avoided if possible for | |||
| DNS privacy services. If data is retained it should be encrypted and | DNS privacy services. If data is retained it should be encrypted and | |||
| either aggregated, pseudonymized or anonymized whenever possible. In | either aggregated, pseudonymized or anonymized whenever possible. In | |||
| general the principle of data minimization described in [RFC6973] | general the principle of data minimization described in [RFC6973] | |||
| skipping to change at page 14, line 8 ¶ | skipping to change at page 14, line 30 ¶ | |||
| 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. [6] | from van Dijkhuizen et al. [9] | |||
| 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 14, line 35 ¶ | skipping to change at page 15, line 9 ¶ | |||
| 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. This following table presents a high level | unencumbered by patents. The following table presents a high level | |||
| comparison of various techniques employed or under development today | comparison of various techniques employed or under development today | |||
| and classifies them according to categorization of technique and | and classifies them according to categorization of technique and | |||
| other properties. The list of techniques includes the main | other properties. The list of techniques includes the main | |||
| techniques in current use, but does not claim to be comprehensive. | techniques in current use, but does not claim to be comprehensive. | |||
| Appendix C provides a more detailed survey of these techniques and | Appendix C 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. | |||
| Figure showing comparison of IP address techniques (SVG) [7] | Figure showing comparison of IP address techniques (SVG) [10] | |||
| 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 | |||
| [I-D.ietf-dnsop-dns-capture-format] that can be used as input to | [I-D.ietf-dnsop-dns-capture-format] that can be used as input to | |||
| existing analysis tools. In that case, use of a Format-preserving | existing analysis tools. In that case, use of a format-preserving | |||
| technique is essential. This, though, is not cost-free - several | technique is essential. This, though, is not cost-free - several | |||
| authors (e.g. Brenker & Arnes [8]) have observed that, as the | authors (e.g. Brenker & Arnes [11]) have observed that, as the | |||
| entropy in a IPv4 address is limited, given a de-identified log from | entropy in an IPv4 address is limited, given a de-identified log from | |||
| a target, if an attacker is capable of ensuring packets are captured | a target, if an attacker is capable of ensuring packets are captured | |||
| by the target and the attacker can send forged traffic with arbitrary | by the target and the attacker can send forged traffic with arbitrary | |||
| source and destination addresses to that target, any format- | source and destination addresses to that target, any format- | |||
| preserving pseudonymization is vulnerable to an attack along the | preserving pseudonymization is vulnerable to 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: | |||
| skipping to change at page 15, line 45 ¶ | skipping to change at page 16, line 19 ¶ | |||
| 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 [9] for an example | o See ISC Knowledge database on cache snooping [12] for an example | |||
| discussion on defending against cache snooping | discussion on defending against cache snooping | |||
| TODO: Describe other techniques to defend against cache snooping | TODO: Describe other techniques to defend 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 | |||
| skipping to change at page 18, line 4 ¶ | skipping to change at page 18, line 21 ¶ | |||
| o Surveillance | o Surveillance | |||
| o Stored data compromise | o Stored data compromise | |||
| o Correlation | o Correlation | |||
| o Identification | o Identification | |||
| o Secondary use | o Secondary use | |||
| o Disclosure | o Disclosure | |||
| DNS Privacy Threats: | DNS Privacy Threats: | |||
| o Contravention of legal requirements not to process user data? | o Contravention of legal requirements not to process user data? | |||
| Mitigations: | Mitigations: | |||
| Operators should not provide identifiable data to third-parties | Operators should not provide identifiable data to third-parties | |||
| without explicit consent from clients (we take the stance here that | without explicit consent from clients (we take the stance here that | |||
| simply using the resolution service itself does not constitute | simply using the resolution service itself does not constitute | |||
| 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. | purposes, within or outside of their own organization. See SURFnet's | |||
| policy [13] on data sharing for research as an example. | ||||
| TODO: More on data for research vs operations... how to still | TODO: More on data for research vs operations... how to still | |||
| motivate operators to share anonymized data? | motivate operators to share anonymized data? | |||
| TODO: Guidelines for when consent is granted? | TODO: Guidelines for when consent is granted? | |||
| TODO: Applies to server data handling too.. could operators offer | TODO: Applies to server data handling too.. could operators offer | |||
| alternatives services one that implies consent for data processing, | alternatives services one that implies consent for data processing, | |||
| one that doesn't? | one that doesn't? | |||
| skipping to change at page 18, line 45 ¶ | skipping to change at page 19, line 16 ¶ | |||
| 6.1. Recommended contents of a DPPPS | 6.1. Recommended contents of a DPPPS | |||
| 6.1.1. Policy | 6.1.1. Policy | |||
| 1. Make an explicit statement that IP addressses are treated as PII | 1. Make an explicit statement that IP addressses are treated as PII | |||
| 2. State if IP addresses are being logged | 2. State if IP addresses are being logged | |||
| 3. Specify clearly what data (including whether it is aggregated, | 3. Specify clearly what data (including whether it is aggregated, | |||
| pseudonymized or anonymized) is: | pseudonymized or anonymized and the conditions of data transfer) | |||
| is: | ||||
| * Collected and retained by the operator (and for how long) | * Collected and retained by the operator, and for what period it | |||
| 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 | 4. Specify any exceptions to the above, for example technically | |||
| malicious or anomalous behavior | malicious or anomalous behavior | |||
| 5. Declare any partners, third-party affiliations or sources of | 5. Declare any partners, third-party affiliations or sources of | |||
| funding | funding | |||
| skipping to change at page 19, line 38 ¶ | skipping to change at page 20, line 12 ¶ | |||
| mandatory legal reasons, due to applicable legislation or | mandatory legal reasons, due to applicable legislation or | |||
| binding orders by courts and other public authorities | binding orders by courts and other public authorities | |||
| * Specify if any replies are being filtered out or altered for | * Specify if any replies are being filtered out or altered for | |||
| voluntary legal reasons, due to an internal policy by the | voluntary legal reasons, due to an internal policy by the | |||
| 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. Specify any temporary or permanent deviations from the policy for | |||
| operational reasons | operational reasons | |||
| 2. With reference to section Section 5 provide specific details of | 2. With reference to section Section 5 provide specific details of | |||
| which capabilities are provided on which client facing address | which capabilities are provided on which client facing addresses | |||
| and ports | and ports | |||
| 3. Specify the authentication name to be used (if any) and if TLSA | 3. Specify the authentication name to be used (if any) and if TLSA | |||
| records are published (including options used in the TLSA | records are published (including options used in the TLSA | |||
| records) | records) | |||
| 4. Specify the SPKI pinsets to be used (if any) and policy for | 4. Specify the SPKI pinsets to be used (if any) and policy for | |||
| rolling keys | rolling keys | |||
| 5. Provide contact/support information for the service | 5. Provide contact/support information for the service | |||
| skipping to change at page 20, line 42 ¶ | skipping to change at page 21, line 17 ¶ | |||
| dealing with security and intelligence, to give them access to | dealing with security and intelligence, to give them access to | |||
| the servers and/or to the data | the servers and/or to the data | |||
| 7. Describe how consent is obtained from the user of the DNS privacy | 7. Describe how consent is obtained from the user of the DNS privacy | |||
| service differentiating | service differentiating | |||
| * Uninformed users for whom this trust relationship is implicit | * Uninformed users for whom this trust relationship is implicit | |||
| * Privacy-conscious users, that make an explicit trust choice | * Privacy-conscious users, that make an explicit trust choice | |||
| this may prove relevant in the context of e.g. the GDPR as it relates | (this may prove relevant in the context of e.g. the GDPR as it | |||
| to consent. | 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 on the proposed DPPPS | |||
| structure can be found on dnsprivacy.org [10]. | structure can be found on dnsprivacy.org [14]. | |||
| 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. | |||
| 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 | |||
| skipping to change at page 21, line 23 ¶ | skipping to change at page 21, line 47 ¶ | |||
| 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 [11] or Internet.nl [12]. | that are currently available e.g. SSL Labs [15] or Internet.nl [16]. | |||
| 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 DPPPS. | |||
| 7. IANA considerations | 7. IANA considerations | |||
| None | None | |||
| 8. Security considerations | 8. Security considerations | |||
| skipping to change at page 22, line 25 ¶ | skipping to change at page 22, line 48 ¶ | |||
| 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-02 | ||||
| o Change 'open resolver' for 'public resolver' | ||||
| o Minor editorial changes | ||||
| o Remove recommendation to run a separate TLS 1.3 service | ||||
| o Move TLSA to purely a optimisation in Section 5.2.1 | ||||
| o Update reference on minimal DoH headers. | ||||
| o Add reference on user switching provider after service issues in | ||||
| Section 5.1.4 | ||||
| o Add text in Section 5.1.6 on impact on operators. | ||||
| o Add text on additional threat to TLS proxy use (Section 5.1.7) | ||||
| o Add reference in Section 5.3.1 on example policies. | ||||
| draft-ietf-dprive-bcp-op-01 | draft-ietf-dprive-bcp-op-01 | |||
| o Many minor editorial fixes | o Many minor editorial fixes | |||
| o Update DoH reference to RFC8484 and add more text on DoH | o Update DoH reference to RFC8484 and add more text on DoH | |||
| o Split threat descriptions into ones directly referencing RFC6973 | o Split threat descriptions into ones directly referencing RFC6973 | |||
| and other DNS Privacy threats | and other DNS Privacy threats | |||
| o Improve threat descriptions throughout | o Improve threat descriptions throughout | |||
| skipping to change at page 23, line 4 ¶ | skipping to change at page 23, line 45 ¶ | |||
| o Re-structure the DPPPS, add Result filtering section. | o Re-structure the DPPPS, add Result filtering section. | |||
| o Remove the direct inclusion of privacy policy comparison, now just | o Remove the direct inclusion of privacy policy comparison, now just | |||
| reference dnsprivacy.org and an example of such work. | reference dnsprivacy.org and an example of such work. | |||
| o Add an appendix briefly discussing DNSSEC | o Add an appendix briefly discussing DNSSEC | |||
| o Update affiliation of 1 author | o Update affiliation of 1 author | |||
| 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] | [I-D.ietf-dnsop-session-signal] | |||
| Bellis, R., Cheshire, S., Dickinson, J., Dickinson, S., | Bellis, R., Cheshire, S., Dickinson, J., Dickinson, S., | |||
| Lemon, T., and T. Pusateri, "DNS Stateful Operations", | Lemon, T., and T. Pusateri, "DNS Stateful Operations", | |||
| draft-ietf-dnsop-session-signal-20 (work in progress), | draft-ietf-dnsop-session-signal-20 (work in progress), | |||
| December 2018. | 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, | DOI 10.17487/RFC2119, March 1997, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc2119>. | editor.org/info/rfc2119>. | |||
| [RFC5077] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig, | [RFC5077] Salowey, J., Zhou, H., Eronen, P., and H. Tschofenig, | |||
| "Transport Layer Security (TLS) Session Resumption without | "Transport Layer Security (TLS) Session Resumption without | |||
| Server-Side State", RFC 5077, DOI 10.17487/RFC5077, | Server-Side State", RFC 5077, DOI 10.17487/RFC5077, | |||
| January 2008, <https://www.rfc-editor.org/info/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, | DOI 10.17487/RFC6265, April 2011, <https://www.rfc- | |||
| <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, | DOI 10.17487/RFC6973, July 2013, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc6973>. | editor.org/info/rfc6973>. | |||
| [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, | [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, | |||
| "Recommendations for Secure Use of Transport Layer | "Recommendations for Secure Use of Transport Layer | |||
| Security (TLS) and Datagram Transport Layer Security | Security (TLS) and Datagram Transport Layer Security | |||
| (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May | (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May | |||
| 2015, <https://www.rfc-editor.org/info/rfc7525>. | 2015, <https://www.rfc-editor.org/info/rfc7525>. | |||
| [RFC7766] Dickinson, J., Dickinson, S., Bellis, R., Mankin, A., and | [RFC7766] Dickinson, J., Dickinson, S., Bellis, R., Mankin, A., and | |||
| D. Wessels, "DNS Transport over TCP - Implementation | D. Wessels, "DNS Transport over TCP - Implementation | |||
| Requirements", RFC 7766, DOI 10.17487/RFC7766, March 2016, | Requirements", RFC 7766, DOI 10.17487/RFC7766, March 2016, | |||
| <https://www.rfc-editor.org/info/rfc7766>. | <https://www.rfc-editor.org/info/rfc7766>. | |||
| [RFC7816] Bortzmeyer, S., "DNS Query Name Minimisation to Improve | [RFC7816] Bortzmeyer, S., "DNS Query Name Minimisation to Improve | |||
| Privacy", RFC 7816, DOI 10.17487/RFC7816, March 2016, | Privacy", RFC 7816, DOI 10.17487/RFC7816, March 2016, | |||
| <https://www.rfc-editor.org/info/rfc7816>. | <https://www.rfc-editor.org/info/rfc7816>. | |||
| [RFC7828] Wouters, P., Abley, J., Dickinson, S., and R. Bellis, "The | [RFC7828] Wouters, P., Abley, J., Dickinson, S., and R. Bellis, "The | |||
| edns-tcp-keepalive EDNS0 Option", RFC 7828, | edns-tcp-keepalive EDNS0 Option", RFC 7828, | |||
| DOI 10.17487/RFC7828, April 2016, | DOI 10.17487/RFC7828, April 2016, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc7828>. | editor.org/info/rfc7828>. | |||
| [RFC7830] Mayrhofer, A., "The EDNS(0) Padding Option", RFC 7830, | [RFC7830] Mayrhofer, A., "The EDNS(0) Padding Option", RFC 7830, | |||
| DOI 10.17487/RFC7830, May 2016, | DOI 10.17487/RFC7830, May 2016, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc7830>. | editor.org/info/rfc7830>. | |||
| [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., | [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., | |||
| and P. Hoffman, "Specification for DNS over Transport | and P. Hoffman, "Specification for DNS over Transport | |||
| Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May | Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May | |||
| 2016, <https://www.rfc-editor.org/info/rfc7858>. | 2016, <https://www.rfc-editor.org/info/rfc7858>. | |||
| [RFC7871] Contavalli, C., van der Gaast, W., Lawrence, D., and W. | [RFC7871] Contavalli, C., van der Gaast, W., Lawrence, D., and W. | |||
| Kumari, "Client Subnet in DNS Queries", RFC 7871, | Kumari, "Client Subnet in DNS Queries", RFC 7871, | |||
| DOI 10.17487/RFC7871, May 2016, | DOI 10.17487/RFC7871, May 2016, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc7871>. | editor.org/info/rfc7871>. | |||
| [RFC7873] Eastlake 3rd, D. and M. Andrews, "Domain Name System (DNS) | [RFC7873] Eastlake 3rd, D. and M. Andrews, "Domain Name System (DNS) | |||
| Cookies", RFC 7873, DOI 10.17487/RFC7873, May 2016, | Cookies", RFC 7873, DOI 10.17487/RFC7873, May 2016, | |||
| <https://www.rfc-editor.org/info/rfc7873>. | <https://www.rfc-editor.org/info/rfc7873>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| [RFC8310] Dickinson, S., Gillmor, D., and T. Reddy, "Usage Profiles | [RFC8310] Dickinson, S., Gillmor, D., and T. Reddy, "Usage Profiles | |||
| for DNS over TLS and DNS over DTLS", RFC 8310, | for DNS over TLS and DNS over DTLS", RFC 8310, | |||
| DOI 10.17487/RFC8310, March 2018, | DOI 10.17487/RFC8310, March 2018, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc8310>. | editor.org/info/rfc8310>. | |||
| [RFC8404] Moriarty, K., Ed. and A. Morton, Ed., "Effects of | [RFC8404] Moriarty, K., Ed. and A. Morton, Ed., "Effects of | |||
| Pervasive Encryption on Operators", RFC 8404, | Pervasive Encryption on Operators", RFC 8404, | |||
| DOI 10.17487/RFC8404, July 2018, | DOI 10.17487/RFC8404, July 2018, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc8404>. | editor.org/info/rfc8404>. | |||
| [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol | ||||
| Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | ||||
| <https://www.rfc-editor.org/info/rfc8446>. | ||||
| [RFC8467] Mayrhofer, A., "Padding Policies for Extension Mechanisms | [RFC8467] Mayrhofer, A., "Padding Policies for Extension Mechanisms | |||
| for DNS (EDNS(0))", RFC 8467, DOI 10.17487/RFC8467, | for DNS (EDNS(0))", RFC 8467, DOI 10.17487/RFC8467, | |||
| October 2018, <https://www.rfc-editor.org/info/rfc8467>. | October 2018, <https://www.rfc-editor.org/info/rfc8467>. | |||
| [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS | [RFC8484] Hoffman, P. and P. McManus, "DNS Queries over HTTPS | |||
| (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, | (DoH)", RFC 8484, DOI 10.17487/RFC8484, October 2018, | |||
| <https://www.rfc-editor.org/info/rfc8484>. | <https://www.rfc-editor.org/info/rfc8484>. | |||
| 12.2. Informative References | 12.2. Informative References | |||
| [I-D.bellis-dnsop-xpf] | ||||
| Bellis, R., Dijk, P., and R. Gacogne, "DNS X-Proxied-For", | ||||
| 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-01 | Considerations", draft-bortzmeyer-dprive-rfc7626-bis-02 | |||
| (work in progress), July 2018. | (work in progress), January 2019. | |||
| [I-D.dickinson-doh-dohpe] | ||||
| Dickinson, S. and W. Toorop, "DoHPE: DoH with Privacy | ||||
| Enhancements", draft-dickinson-doh-dohpe-00 (work in | ||||
| progress), July 2018. | ||||
| [I-D.ietf-dnsop-dns-capture-format] | [I-D.ietf-dnsop-dns-capture-format] | |||
| Dickinson, J., Hague, J., Dickinson, S., Manderson, T., | Dickinson, J., Hague, J., Dickinson, S., Manderson, T., | |||
| and J. Bond, "C-DNS: A DNS Packet Capture Format", draft- | and J. Bond, "C-DNS: A DNS Packet Capture Format", draft- | |||
| ietf-dnsop-dns-capture-format-10 (work in progress), | ietf-dnsop-dns-capture-format-10 (work in progress), | |||
| December 2018. | 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-02 (work in progress), May 2018. | requirements-03 (work in progress), January 2019. | |||
| [I-D.ietf-dnsop-terminology-bis] | [I-D.ietf-dnsop-terminology-bis] | |||
| Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | Hoffman, P., Sullivan, A., and K. Fujiwara, "DNS | |||
| Terminology", draft-ietf-dnsop-terminology-bis-14 (work in | Terminology", draft-ietf-dnsop-terminology-bis-14 (work in | |||
| progress), September 2018. | progress), September 2018. | |||
| [I-D.ietf-httpbis-bcp56bis] | ||||
| Nottingham, M., "Building Protocols with HTTP", draft- | ||||
| ietf-httpbis-bcp56bis-08 (work in progress), November | ||||
| 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://www.ietf.org/mail-archive/web/ | |||
| dns-privacy/current/pdfWqAIUmEl47.pdf>. | dns-privacy/current/pdfWqAIUmEl47.pdf>. | |||
| [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, | |||
| skipping to change at page 26, line 16 ¶ | skipping to change at page 27, line 21 ¶ | |||
| 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 | |||
| Servers by Running One on Loopback", RFC 7706, | Servers by Running One on Loopback", RFC 7706, | |||
| DOI 10.17487/RFC7706, November 2015, | DOI 10.17487/RFC7706, November 2015, <https://www.rfc- | |||
| <https://www.rfc-editor.org/info/rfc7706>. | editor.org/info/rfc7706>. | |||
| [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, | DOI 10.17487/RFC8094, February 2017, <https://www.rfc- | |||
| <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 | 12.3. URIs | |||
| [1] https://www.ietf.org/mail-archive/web/dns-privacy/current/ | [1] https://www.ietf.org/mail-archive/web/dns-privacy/current/ | |||
| pdfWqAIUmEl47.pdf | pdfWqAIUmEl47.pdf | |||
| [2] https://petsymposium.org/2018/files/hotpets/4-siby.pdf | [2] https://petsymposium.org/2018/files/hotpets/4-siby.pdf | |||
| [3] https://nginx.org/ | [3] http://tma.ifip.org/2018/wp-content/uploads/sites/3/2018/06/ | |||
| tma2018_paper30.pdf | ||||
| [4] https://www.haproxy.org/ | [4] http://dnstap.info | |||
| [5] https://kb.isc.org/article/AA-01386/0/DNS-over-TLS.html | [5] https://nginx.org/ | |||
| [6] https://doi.org/10.1145/3182660 | [6] https://www.haproxy.org/ | |||
| [7] https://github.com/Sinodun/draft-dprive-bcp-op/blob/master/draft- | [7] https://kb.isc.org/article/AA-01386/0/DNS-over-TLS.html | |||
| 00/ip_techniques_table.svg | ||||
| [8] https://pdfs.semanticscholar.org/7b34/12c951cebe71cd2cddac5fda164 | [8] https://dnsdist.org | |||
| fb2138a44.pdf | ||||
| [9] https://kb.isc.org/docs/aa-00482 | [9] https://doi.org/10.1145/3182660 | |||
| [10] https://dnsprivacy.org/wiki/display/DP/ | [10] https://github.com/Sinodun/draft-dprive-bcp-op/blob/master/ | |||
| draft-00/ip_techniques_table.svg | ||||
| [11] https://pdfs.semanticscholar.org/7b34/12c951cebe71cd2cddac5fda16 | ||||
| 4fb2138a44.pdf | ||||
| [12] https://kb.isc.org/docs/aa-00482 | ||||
| [13] https://surf.nl/datasharing | ||||
| [14] https://dnsprivacy.org/wiki/display/DP/ | ||||
| Comparison+of+policy+and+privacy+statements | Comparison+of+policy+and+privacy+statements | |||
| [11] https://www.ssllabs.com/ssltest/ | [15] https://www.ssllabs.com/ssltest/ | |||
| [12] https://internet.nl | [16] https://internet.nl | |||
| [13] https://support.google.com/analytics/answer/2763052?hl=en | [17] https://support.google.com/analytics/answer/2763052?hl=en | |||
| [14] https://www.conversionworks.co.uk/blog/2017/05/19/anonymize-ip- | [18] https://www.conversionworks.co.uk/blog/2017/05/19/anonymize-ip- | |||
| geo-impact-test/ | geo-impact-test/ | |||
| [15] https://github.com/edmonds/pdns/blob/master/pdns/dnswasher.cc | [19] https://github.com/edmonds/pdns/blob/master/pdns/dnswasher.cc | |||
| [16] http://ita.ee.lbl.gov/html/contrib/tcpdpriv.html | [20] http://ita.ee.lbl.gov/html/contrib/tcpdpriv.html | |||
| [17] http://an.kaist.ac.kr/~sbmoon/paper/intl-journal/2004-cn- | [21] http://an.kaist.ac.kr/~sbmoon/paper/intl-journal/2004-cn- | |||
| anon.pdf | anon.pdf | |||
| [18] https://www.cc.gatech.edu/computing/Telecomm/projects/cryptopan/ | [22] https://www.cc.gatech.edu/computing/Telecomm/projects/cryptopan/ | |||
| [19] http://mharvan.net/talks/noms-ip_anon.pdf | [23] http://mharvan.net/talks/noms-ip_anon.pdf | |||
| [20] http://www.ecs.umass.edu/ece/wolf/pubs/ton2007.pdf | [24] http://www.ecs.umass.edu/ece/wolf/pubs/ton2007.pdf | |||
| [21] https://medium.com/@bert.hubert/on-ip-address-encryption- | [25] https://medium.com/@bert.hubert/on-ip-address-encryption- | |||
| security-analysis-with-respect-for-privacy-dabe1201b476 | security-analysis-with-respect-for-privacy-dabe1201b476 | |||
| [22] https://github.com/PowerDNS/ipcipher | [26] https://github.com/PowerDNS/ipcipher | |||
| [23] https://github.com/veorq/ipcrypt | [27] https://github.com/veorq/ipcrypt | |||
| [24] https://www.ietf.org/mail-archive/web/cfrg/current/msg09494.html | [28] https://www.ietf.org/mail-archive/web/cfrg/current/msg09494.html | |||
| [25] https://tnc18.geant.org/core/presentation/127 | [29] https://tnc18.geant.org/core/presentation/127 | |||
| 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 30, line 30 ¶ | skipping to change at page 31, line 43 ¶ | |||
| 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. | |||
| C.1. Google Analytics non-prefix filtering | C.1. Google Analytics non-prefix filtering | |||
| Since May 2010, Google Analytics has provided a facility [13] that | Since May 2010, Google Analytics has provided a facility [17] 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 [14] which suggest that the impact of | There are some analysis results [18] 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). | |||
| C.2. dnswasher | C.2. dnswasher | |||
| Since 2006, PowerDNS have included a de-identification tool dnswasher | Since 2006, PowerDNS have included a de-identification tool dnswasher | |||
| [15] with their PowerDNS product. This is a PCAP filter that | [19] 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. | |||
| C.3. Prefix-preserving map | C.3. Prefix-preserving map | |||
| Used in TCPdpriv [16], this algorithm stores a set of original and | Used in TCPdpriv [20], 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). | |||
| C.4. Cryptographic Prefix-Preserving Pseudonymisation | C.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. [17] and implemented in the | in TCPdpriv, described in Xu et al. [21] and implemented in the | |||
| Crypto-PAn tool [18]. Crypto-PAn is now frequently used as an | Crypto-PAn tool [22]. 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 [19] and implemented in snmpdump. This uses a | Schoenwaelder [23] 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). | |||
| C.5. Top-hash Subtree-replicated Anonymisation | C.5. Top-hash Subtree-replicated Anonymisation | |||
| Proposed in Ramaswamy & Wolf [20], Top-hash Subtree-replicated | Proposed in Ramaswamy & Wolf [24], 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). | |||
| C.6. ipcipher | C.6. ipcipher | |||
| A recently-released proposal from PowerDNS [21], ipcipher [22] is a | A recently-released proposal from PowerDNS [25], ipcipher [26] 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 [23] | encrypted, but using a recently proposed encryption ipcrypt [27] | |||
| suitable for 32bit block lengths. However, the author of ipcrypt has | suitable for 32bit block lengths. However, the author of ipcrypt has | |||
| since indicated [24] that it has low security, and further analysis | since indicated [28] 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. | |||
| C.7. Bloom filters | C.7. Bloom filters | |||
| van Rijswijk-Deij et al. [25] have recently described work using | van Rijswijk-Deij et al. [29] 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 | |||
| End of changes. 96 change blocks. | ||||
| 155 lines changed or deleted | 208 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/ | ||||