idnits 2.17.1 draft-hardie-privsec-metadata-insertion-08.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (March 27, 2017) is 2586 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- -- Obsolete informational reference (is this intentional?): RFC 5389 (Obsoleted by RFC 8489) Summary: 0 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group T. Hardie 3 Internet-Draft March 27, 2017 4 Intended status: Informational 5 Expires: September 28, 2017 7 Design considerations for Metadata Insertion 8 draft-hardie-privsec-metadata-insertion-08 10 Abstract 12 The IAB has published RFC7624 in response to several revelations of 13 pervasive attack on Internet communications. This document considers 14 the implications of protocol designs which associate metadata with 15 encrypted flows. In particular, it asserts that designs which do so 16 by explicit actions at the host are preferable to designs in which 17 middleboxes insert them. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at http://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on September 18, 2017. 36 Copyright Notice 38 Copyright (c) 2017 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (http://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 55 3. Design pattern . . . . . . . . . . . . . . . . . . . . . . . 2 56 4. Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 57 5. Deployment considerations . . . . . . . . . . . . . . . . . . 4 58 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 59 7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 60 8. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 6 61 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 62 9.1. Normative References . . . . . . . . . . . . . . . . . . 6 63 9.2. Informative References . . . . . . . . . . . . . . . . . 6 64 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 7 66 1. Introduction 68 To minimize the risks associated with pervasive surveillance, it is 69 necessary for the Internet technical community to address the 70 vulnerabilities exploited in the attacks document in [RFC7258] and 71 the threats described in [RFC7624]. The goal of this document is to 72 address a common design pattern which emerges from the increase in 73 encryption: explicit association of metadata which would previously 74 have been inferred from the plaintext protocol. 76 2. Terminology 78 This document makes extensive use of standard security and privacy 79 terminology; see [RFC4949] and [RFC6973]. Terms used from [RFC6973] 80 include Eavesdropper, Observer, Initiator, Intermediary, Recipient, 81 Attack (in a privacy context), Correlation, Fingerprint, Traffic 82 Analysis, and Identifiability (and related terms). In addition, we 83 use terms that are specific to the attacks discussed in [RFC7624]. 84 Terms introduced terms from there include: Pervasive Attack, Passive 85 Pervasive Attack, Active Pervasive Attack, Observation, Inference, 86 and Collaborator. 88 3. Design pattern 90 One of the core mitigations for the loss of confidentiality in the 91 presence of pervasive surveillance is data minimization, which limits 92 the amount of data disclosed to those elements absolutely required to 93 complete the relevant protocol exchange. When data minimization is 94 in effect, some information which was previously available may be 95 removed from specific protocol exchanges. The information may be 96 removed explicitly (by a browser suppressing cookies during private 97 modes, as an example) or by other means. As noted in [RFC7624], some 98 topologies which aggregate or alter the network path also acted to 99 reduce the ease with which metadata is available to eavesdroppers. 101 In some cases, other actors within a protocol context will continue 102 to have access to the information which has been thus withdrawn from 103 specific protocol exchanges. If those actors attach the information 104 as metadata to those protocol exchange, the confidentiality effect of 105 data minimization is lost. 107 The restoration of information is particularly tempting for systems 108 whose primary function is not to provide confidentiality. A proxy 109 providing compression, for example, may wish to restore the identity 110 of the requesting party; similarly a VPN system used to provide 111 channel security may believe that origin IP should be restored. 112 Actors considering restoring metadata may believe that they 113 understand the relevant privacy considerations or believe that, 114 because the primary purpose of the service was not privacy-related, 115 none exist. Examples of this design pattern include [RFC7239] and 116 [RFC7871]. 118 4. Advice 120 Avoid inserting metada to restore information which would otherwise 121 be unavailable to later participants in a protocol exchange. It 122 contributes to the overall loss of confidentiality for the Internet 123 and trust in the Internet as a medium. Do not add metadata to flows 124 at intermediary devices unless a positive affirmation of approval for 125 restoration has been received from the actor whose data will be 126 added. 128 Instead, design the protocol so that the actor can add such metadata 129 themselves so that it flows end-to-end, rather than requiring the 130 action of other parties. In addition to improving privacy, this 131 approach ensures consistent availability between the communicating 132 parties, no matter what path is taken. (Note that this document does 133 not attempt to describe how an actor sets policies on providing this 134 metadata, as the range of systems which might be implied is very 135 broad). 137 As an example, RFC 7871 describes a method that had already been 138 deployed and notes that it is unlikely that a clean-slate design 139 would result in this mechanism. If a clean-slate design were built 140 to follow the advice in this document, that design would likely would 141 not use a core element of RFC 7871: rather than adding metadata at a 142 proxy, it would provide facilities for end systems to add it to their 143 initial queries. In the case of RFC 7871, the relevant metadata is 144 relatively easy for an end system to derive, as STUN [RFC5389] 145 provides a method for learning the reflexive transport address from 146 which a client subnet could be derived. This would allow clients to 147 populate this data themselves, thus affirming their consent and 148 providing data at a granularity with which they were comfortable. As 149 in RFC 7871, the addition of this data would require confirmation 150 that the upstream DNS resolver understood what to do with it, but the 151 same negotiation mechanism, an EDNS0 option [RFC6891], could be used. 152 Because of this negotiation, there would be a new variability in 153 responses that would change the caching behavior for data supplied by 154 participating servers. This not a major change from the current 155 design, however, as the same considerations set out in section 7.3.2 156 and 7.5 of RFC 7871 would apply to client-supplied subnets as well as 157 they do for proxy supplied subnets. 159 From a protocol perspective, in other words, this approach would be a 160 minor change from RFC 7871, would be as fully featured and would 161 provide better privacy properties than the on-path update mechanism 162 RFC 7871 provides. The next section examines why, despite this, 163 deployment considerations have sometimes trumped cleaner designs. 165 5. Deployment considerations 167 There are a few common tensions associated with the deployment of 168 systems which restore metadata. The first is the trade-off in speed 169 of deployment for different actors. The Forwarded HTTP Extension in 170 [RFC7239] provides an example of this. When used with a proxy, it 171 restores information related to the original requesting party, thus 172 allowing a responding server to tailor responses according to the 173 original party's region, network, or other characteristics associated 174 with the identity. It would, of course, be possible for the 175 originating client to add this data itself, after using STUN 176 [RFC5389] or a similar mechanism to first determine the information 177 to declare. This would require, however, full specification and 178 adoption of this mechanism by the end systems. It would not be 179 available at all during this period, and would thereafter be limited 180 to those systems which have been upgraded to include it. The long 181 tail of browser deployments indicates that many systems might go 182 without upgrades for a significant period of time. The proxy 183 infrastructure, in contrast, is commonly under more active management 184 and represents a much smaller number of elements; this impacts both 185 the general deployment difficulty and the number of systems which the 186 origin server must trust. 188 The second common tension is between the metadata minimization and 189 the desire to tailor content responses. For origin servers whose 190 content is common across users, the loss of metadata may have limited 191 impact on the system's functioning. For other systems, which 192 commonly tailor content by region or network, the loss of metadata 193 may imply a loss of functionality. Where the user desires this 194 functionality, restoration can commonly be achieved by the use of 195 other identifiers or login procedures. Where the user does not 196 desire this functionality, but it is a preference of the server or a 197 third party, adjustment is more difficult. At the extreme, content 198 blocking by network origin may be a regulatory requirement. Trusting 199 a network intermediary to provide accurate data is, of course, 200 fragile in this case, but it may be a part of the regulatory 201 framework. 203 There are also tensions with latency of operation. For example, 204 where the end system does not initially know the information which 205 would be added by on-path devices, it must engage the protocol 206 mechanisms to determine it. Determining a public IP address to 207 include in a locally supplied header might require a STUN exchange, 208 and the additional latency of this exchange discourages deployment of 209 host-based solutions. To minimize this latency, engaging those 210 mechanisms may need to be done in parallel with or in advance of the 211 core protocol exchanges with which this metadata would be supplied. 213 These tensions do not change the basic recommendation, but they 214 suggest that the parties who are introducing encryption and data 215 minimization for existing protocols consider carefully whether the 216 work also implies introducing mechanisms for the end-to-end 217 provisioning of metadata when a user has actively consented to 218 provide it. 220 6. IANA Considerations 222 This memo makes no request of IANA. 224 7. Security Considerations 226 This memorandum describes a design pattern related emerging from 227 responses to the attacks described in [RFC7258]. Continued use of 228 this design pattern, which uses mid-flow devices to restore metadat, 229 lowers the impact of mitigations to that attack. 231 Note that some emergency service recipients, notably PSAPs (Public 232 Safety Answering Points) may prefer data provided by a network to 233 data provided by end system, because an end system could use false 234 data to attack others or consume resources. While this has the 235 consequence that the data available to the PSAP is often more coarse 236 than that available to the end system, the risk of false data being 237 provided involved a risk to the lives of those targeted. 239 8. Contributors 241 This document is derived in part from the work initially done on the 242 Perpass mailing list and at the [STRINT] workshop. It has been 243 discussed with the IAB's Privacy and Security program, whose review 244 and input is gratefully acknowledged. The document also benefited 245 from an extensive review by Mohamed Boucadair. 247 9. References 249 9.1. Normative References 251 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", 252 FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, 253 . 255 [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., 256 Morris, J., Hansen, M., and R. Smith, "Privacy 257 Considerations for Internet Protocols", RFC 6973, 258 DOI 10.17487/RFC6973, July 2013, 259 . 261 [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an 262 Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May 263 2014, . 265 [RFC7624] Barnes, R., Schneier, B., Jennings, C., Hardie, T., 266 Trammell, B., Huitema, C., and D. Borkmann, 267 "Confidentiality in the Face of Pervasive Surveillance: A 268 Threat Model and Problem Statement", RFC 7624, 269 DOI 10.17487/RFC7624, August 2015, 270 . 272 9.2. Informative References 274 [RFC5389] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, 275 "Session Traversal Utilities for NAT (STUN)", RFC 5389, 276 DOI 10.17487/RFC5389, October 2008, 277 . 279 [RFC6891] Damas, J., Graff, M., and P. Vixie, "Extension Mechanisms 280 for DNS (EDNS(0))", STD 75, RFC 6891, 281 DOI 10.17487/RFC6891, April 2013, 282 . 284 [RFC7239] Petersson, A. and M. Nilsson, "Forwarded HTTP Extension", 285 RFC 7239, DOI 10.17487/RFC7239, June 2014, 286 . 288 [RFC7871] Contavalli, C., van der Gaast, W., Lawrence, D., and W. 289 Kumari, "Client Subnet in DNS Queries", RFC 7871, 290 DOI 10.17487/RFC7871, May 2016, 291 . 293 [STRINT] S Farrell, ., "Strint Workshop Report", April 2014, 294 . 297 Author's Address 299 Ted Hardie 301 Email: ted.ietf@gmail.com