idnits 2.17.1 draft-iab-privsec-confidentiality-mitigations-01.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 : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([I-D.iab-privsec-confidentiality-threat]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 02, 2015) is 3250 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC2119' is defined on line 458, but no explicit reference was found in the text == Unused Reference: 'STRINT' is defined on line 502, but no explicit reference was found in the text == Outdated reference: A later version (-08) exists of draft-ietf-dnsop-edns-client-subnet-01 -- Obsolete informational reference (is this intentional?): RFC 4306 (Obsoleted by RFC 5996) -- Obsolete informational reference (is this intentional?): RFC 5246 (Obsoleted by RFC 8446) -- Obsolete informational reference (is this intentional?): RFC 5750 (Obsoleted by RFC 8550) -- Obsolete informational reference (is this intentional?): RFC 6962 (Obsoleted by RFC 9162) Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 IAB T. Hardie, Ed. 3 Internet-Draft 4 Intended status: Informational June 02, 2015 5 Expires: December 4, 2015 7 Confidentiality in the Face of Pervasive Surveillance 8 draft-iab-privsec-confidentiality-mitigations-01 10 Abstract 12 The IAB has published [I-D.iab-privsec-confidentiality-threat] in 13 response to several revelations of pervasive attack on Internet 14 communications. In this document we survey the mitigations to those 15 threats which are currently available or which might plausibly be 16 deployed. We discuss these primarily in the context of Internet 17 protocol design, focusing on robustness to pervasive monitoring and 18 avoidance of unwanted cross-mitigation impacts. 20 Status of This Memo 22 This Internet-Draft is submitted in full conformance with the 23 provisions of BCP 78 and BCP 79. 25 Internet-Drafts are working documents of the Internet Engineering 26 Task Force (IETF). Note that other groups may also distribute 27 working documents as Internet-Drafts. The list of current Internet- 28 Drafts is at http://datatracker.ietf.org/drafts/current/. 30 Internet-Drafts are draft documents valid for a maximum of six months 31 and may be updated, replaced, or obsoleted by other documents at any 32 time. It is inappropriate to use Internet-Drafts as reference 33 material or to cite them other than as "work in progress." 35 This Internet-Draft will expire on December 4, 2015. 37 Copyright Notice 39 Copyright (c) 2015 IETF Trust and the persons identified as the 40 document authors. All rights reserved. 42 This document is subject to BCP 78 and the IETF Trust's Legal 43 Provisions Relating to IETF Documents 44 (http://trustee.ietf.org/license-info) in effect on the date of 45 publication of this document. Please review these documents 46 carefully, as they describe your rights and restrictions with respect 47 to this document. Code Components extracted from this document must 48 include Simplified BSD License text as described in Section 4.e of 49 the Trust Legal Provisions and are provided without warranty as 50 described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 55 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 56 3. Available Mitigations . . . . . . . . . . . . . . . . . . . . 4 57 4. Interplay among Mitigations . . . . . . . . . . . . . . . . . 9 58 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 59 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 60 7. Contributors {Contributors} . . . . . . . . . . . . . . . . . 10 61 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 62 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 63 8.2. Informative References . . . . . . . . . . . . . . . . . 11 64 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 66 1. Introduction 68 To ensure that the Internet can be trusted by users, it is necessary 69 for the Internet technical community to address the vulnerabilities 70 exploited in the attacks document in [RFC7258] and the threats 71 described in [I-D.iab-privsec-confidentiality-threat]. The goal of 72 this document is to describe more precisely the mitigations available 73 for those threats and to lay out the interactions among them should 74 they be deployed in combination. 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 a few terms that are specific to the attacks discussed in this 84 document. Note especially that "passive" and "active" below do not 85 refer to the effort used to mount the attack; a "passive attack" is 86 any attack that accesses a flow but does not modify it, while an 87 "active attack" is any attack that modifies a flow. Some passive 88 attacks involve active interception and modifications of devices, 89 rather than simple access to the medium. The introduced terms are: 91 Pervasive Attack: An attack on Internet communications that makes 92 use of access at a large number of points in the network, or 93 otherwise provides the attacker with access to a large amount of 94 Internet traffic; see [RFC7258]. 96 Passive Pervasive Attack: An eavesdropping attack undertaken by a 97 pervasive attacker, in which the packets in a traffic stream 98 between two endpoints are intercepted, but in which the attacker 99 does not modify the packets in the traffic stream between two 100 endpoints, modify the treatment of packets in the traffic stream 101 (e.g. delay, routing), or add or remove packets in the traffic 102 stream. Passive pervasive attacks are undetectable from the 103 endpoints. Equivalent to passive wiretapping as defined in 104 [RFC4949]; we use an alternate term here since the methods 105 employed are wider than those implied by the word "wiretapping", 106 including the active compromise of intermediate systems. 108 Active Pervasive Attack: An attack undertaken by a pervasive 109 attacker, which in addition to the elements of a passive pervasive 110 attack, also includes modification, addition, or removal of 111 packets in a traffic stream, or modification of treatment of 112 packets in the traffic stream. Active pervasive attacks provide 113 more capabilities to the attacker at the risk of possible 114 detection at the endpoints. Equivalent to active wiretapping as 115 defined in [RFC4949]. 117 Observation: Information collected directly from communications by 118 an eavesdropper or observer. For example, the knowledge that 119 sent a message to via SMTP 120 taken from the headers of an observed SMTP message would be an 121 observation. 123 Inference: Information derived from analysis of information 124 collected directly from communications by an eavesdropper or 125 observer. For example, the knowledge that a given web page was 126 accessed by a given IP address, by comparing the size in octets of 127 measured network flow records to fingerprints derived from known 128 sizes of linked resources on the web servers involved, would be an 129 inference. 131 Collaborator: An entity that is a legitimate participant in a 132 communication, and provides information about that communication 133 to an attacker. Collaborators may either deliberately or 134 unwittingly cooperate with the attacker, in the latter case 135 because the attacker has subverted the collaborator through 136 technical, social, or other means. 138 Key Exfiltration: The transmission of cryptographic keying material 139 for an encrypted communication from a collaborator, deliberately 140 or unwittingly, to an attacker. 142 Content Exfiltration: The transmission of the content of a 143 communication from a collaborator, deliberately or unwittingly, to 144 an attacker. 146 Data Minimization: With respect to protocol design, refers to the 147 practice of only exposing the minimum amount of data or metadata 148 necessary for the task supported by that protocol to the other 149 endpoint(s) and/or devices along the path. 151 3. Available Mitigations 153 Given the threat model laid out in 154 [I-D.iab-privsec-confidentiality-threat]., how should the Internet 155 technical community respond to pervasive attack? The cost and risk 156 considerations discussed in it provide a guide to responses. Namely, 157 responses to passive attack should close off avenues for those 158 attacks that are safe, scalable, and cheap, forcing the attacker to 159 mount attacks that expose it to higher cost and risk. Protocols and 160 security measures protecting against active attacks must also limit 161 the impact of compromise and malfeasance by avoiding systems which 162 grant universal credentials. 164 In this section, we discuss a collection of high-level approaches to 165 mitigating pervasive attacks. These approaches are not meant to be 166 exhaustive, but rather to provide general guidance to protocol 167 designers in creating protocols that are resistant to pervasive 168 attack. 170 +--------------------------+----------------------------------------+ 171 | Attack Class | High-level mitigations | 172 +--------------------------+----------------------------------------+ 173 | Passive observation | Encryption for confidentiality | 174 | | | 175 | Passive inference | Path differentiation | 176 | | | 177 | Active | Authentication, monitoring | 178 | | | 179 | Metadata Analysis | Data Minimization | 180 | | | 181 | Static key exfiltration | Encryption with per-session state | 182 | | (PFS) | 183 | | | 184 | Dynamic key exfiltration | Transparency, validation of end | 185 | | systems | 186 | | | 187 | Content exfiltration | Object encryption, distributed systems | 188 +--------------------------+----------------------------------------+ 190 Figure 1: Table of Mitigations 192 The traditional mitigation to passive attack is to render content 193 unintelligible to the attacker by applying encryption, for example, 194 by using TLS or IPsec [RFC5246][RFC4301]. Even without 195 authentication, encryption will prevent a passive attacker from being 196 able to read the encrypted content. Exploiting unauthenticated 197 encryption requires an active attack (man in the middle); with 198 authentication, a key exfiltration attack is required. 200 The additional capabilities of a pervasive passive attacker, however, 201 require some changes in how protocol designers evaluate what 202 information is encrypted. In addition to directly collecting 203 unencrypted data, a pervasive passive attacker can also make 204 inferences about the content of encrypted messages based on what is 205 observable. For example, if a user typically visits a particular set 206 of web sites, then a pervasive passive attacker observing all of the 207 user's behavior can track the user based on the hosts the user 208 communicates with, even if the user changes IP addresses, and even if 209 all of the connections are encrypted. 211 Thus, in designing protocols to be resistant to pervasive passive 212 attacks, protocol designers should consider what information is left 213 unencrypted in the protocol, and how that information might be 214 correlated with other traffic. Some of the data left unencrypted may 215 be considered "metadata" within the context of a single protocol, as 216 it provides adjunct information used for delivery or display, rather 217 than the data directly created or consumed by protocol users. This 218 does not mean it is not useful to attackers, however, and when this 219 metadata is not protected by encryption it may leak substantial 220 amounts of information. Data minimization strategies should thus be 221 applied to any data left unencrypted, whether it be payload or 222 metadata. Information that cannot be encrypted or omited should be 223 be dissociated from other information. For example, the Tor overlay 224 routing network anonymizes IP addresses of by using multi-hop onion 225 routing. 227 As with traditional, limited active attacks, the basic mitigation to 228 pervasive active attack is to enable the endpoints of a communication 229 to authenticate each other. However, attackers that can mount 230 pervasive active attacks can often subvert the authorities on which 231 authentication systems rely. Thus, in order to make authentication 232 systems more resilient to pervasive attack, it is beneficial to 233 monitor these authorities to detect misbehavior that could enable 234 active attack. For example, DANE and Certificate Transparency both 235 provide mechanisms for detecting when a CA has issued a certificate 236 for a domain name without the authorization of the holder of that 237 domain name [RFC6962][RFC6698]. 239 While encryption and authentication protect the security of 240 individual sessions, these sessions may still leak information, such 241 as IP addresses or server names, that a pervasive attacker can use to 242 correlate sessions and derive additional information about the 243 target. Thus, pervasive attack highlights the need for anonymization 244 technologies, which make correlation more difficult. Typical 245 approaches to anonymization against traffic analysis include: 247 o Aggregation: Routing sessions for many endpoints through a common 248 mid-point (e.g, an HTTP proxy). The midpoint appears as the origin 249 of the communication when traffic analysis is conducted from points 250 after it, so individual sources cannot be distinguished. If traffic 251 analysis is being conducted prior to the mid-point, all flows appear 252 to be destined to the same point, which leaks very little 253 information. Even when traffic analysis is being performed both 254 before and after the mid-point, simultaneous connections may make it 255 difficult to corelate the traffic going into and out of the mid- 256 point. For this to be effective as a mitigation, traffic to the mid- 257 point must be encrypted and traffic from the mid-point should be. 259 o Onion routing: Routing a session through several mid-points, rather 260 than directly end-to-end, with encryption that guarantees that each 261 node can only see the previous and next hops. This ensures that the 262 source and destination of a communication are never revealed 263 simultaneously. 265 o Multi-path: Routing different sessions via different paths (even if 266 they originate from the same endpoint). This reduces the probability 267 that the same attacker will be able to collect many sessions or 268 associate them with the same individual. If, for example, a device 269 has both a cellular and 802.11 interface, routing some traffic across 270 the cellular network and other traffic over the 802.11 interface 271 means that traffic analysis conducted only with one network will be 272 incomplete. Even if conducted in both, it may be more difficult for 273 the attacker to associate the traffic in each network with the other. 274 For this to be effective as a mitigation, signalling protocols which 275 gather and transmit data about multiple interfaces (such as SIP) must 276 be encrypted to avoid the information being used in cross-corelation. 278 An encrypted, authenticated session is safe from content-monitoring 279 attacks in which neither end collaborates with the attacker, but can 280 still be subverted by the endpoints. The most common ciphersuites 281 used for HTTPS today, for example, are based on using RSA encryption 282 in such a way that if an attacker has the private key, the attacker 283 can derive the session keys from passive observation of a session. 284 These ciphersuites are thus vulnerable to a static key exfiltration 285 attack - if the attacker obtains the server's private key once, then 286 they can decrypt all past and future sessions for that server. 288 Static key exfiltration attacks are prevented by including ephemeral, 289 per-session secret information in the keys used for a session. Most 290 IETF security protocols include modes of operation that have this 291 property. These modes are known in the literature under the heading 292 "perfect forward secrecy" (PFS) because even if an adversary has all 293 of the secrets for one session, the next session will use new, 294 different secrets and the attacker will not be able to decrypt it. 295 The Internet Key Exchange (IKE) protocol used by IPsec supports PFS 296 by default [RFC4306], and TLS supports PFS via the use of specific 297 ciphersuites [RFC5246]. 299 Dynamic key exfiltration cannot be prevent by protocol means. By 300 definition, any secrets that are used in the protocol will be 301 transmitted to the attacker and used to decrypt what the protocol 302 encrypts. Likewise, no technical means will stop a willing 303 collaborator from sharing keys with an attacker. However, this 304 attack model also covers "unwitting collaborators", whose technical 305 resources are collaborating with the attacker without their owners' 306 knowledge. This could happen, for example, if flaws are built into 307 products or if malware is injected later on. 309 Standards can also define protocols that provide greater or lesser 310 opportunity for dynamic key exfiltration. Collaborators engaging in 311 key exfiltration through a standard protocol will need to use covert 312 channels in the protocol to leak information that can be used by the 313 attacker to recover the key. Such use of covert channels has been 314 demonstrated for SSL, TLS, and SSH. Any protocol bits that can be 315 freely set by the collaborator can be used as a covert channel, 316 including, for example, TCP options or unencrypted traffic sent 317 before a STARTTLS message in SMTP or XMPP. Protocol designers should 318 consider what covert channels their protocols expose, and how those 319 channels can be exploited to exfiltrate key information. 321 Content exfiltration has some similarity to the dynamic exfiltration 322 case, in that nothing can prevent a collaborator from revealing what 323 they know, and the mitigations against becoming an unwitting 324 collaborator apply. In this case, however, applications can limit 325 what the collaborator is able to reveal. For example, the S/MIME and 326 PGP systems for secure email both deny intermediate servers access to 327 certain parts of the message [RFC5750][RFC2015]. Even if a server 328 were to provide an attacker with full access, the attacker would 329 still not be able to read the protected parts of the message. 331 Mechanisms like S/MIME and PGP are often referred to as "end-to- 332 end"security mechanisms, as opposed to "hop-by-hop" or "end-to- 333 middle" mechanisms like the use of SMTP over TLS. These two 334 different mechanisms address different types of attackers: Hop-by-hop 335 mechanisms protect from attackers on the wire (passive or active), 336 while end-to-end mechansims protect against attackers within 337 intermediate nodes. Thus, neither of these mechanisms provides 338 complete protection by itself. For example: 340 o Two users messaging via Facebook over HTTPS are protected against 341 passive and active attackers in the network between the users and 342 Facebook. However, if Facebook is a collaborator in an exfiltration 343 attack, their communications can still be monitored. They would need 344 to encrypt their messages end-to-end in order to protect themselves 345 against this risk. 347 o Two users exchanging PGP-protected email have protected the content 348 of their exchange from network attackers and intermediate servers, 349 but the header information (e. g., To and From addresses) is 350 unnecessarily exposed to passive and active attackers that can see 351 communications among the mail agents handling the email messages. 352 These mail agents need to use hop-by-hop encryption and traffic 353 analysis mitigation to address this risk. 355 Mechanisms such as S/MIME and PGP are also known as "object-based" 356 security mechanisms (as opposed to "communications security" 357 mechanisms), since they operate at the level of objects, rather than 358 communications sessions. Such secure object can be safely handled by 359 intermediaries in order to realize, for example, store and forward 360 messaging. In the examples above, the encrypted instant messages or 361 email messages would be the secure objects. 363 The mitigations to the content exfiltration case regard participants 364 in the protocol as potential passive attackers themselves, and apply 365 the mitigations discussed above with regard to passive attack. 366 Information that is not necessary for these participants to fulfill 367 their role in the protocol can be encrypted, and other information 368 can be anonymized. 370 In summary, many of the basic tools for mitigating pervasive attack 371 already exist. As Edward Snowden put it, "properly implemented 372 strong crypto systems are one of the few things you can rely on". 373 The task for the Internet community is to ensure that applications 374 are able to use the strong crypto systems we have defined - for 375 example, TLS with PFS ciphersuites - and that these properly 376 implemented. (And, one might add, turned on!) Some of this work 377 will require architectural changes to applications, e. g., in order 378 to limit the information that is exposed to servers. In many other 379 cases, however, the need is simply to make the best use we can of the 380 cryptographic tools we have. 382 Some tools that we currently have can also be used for mitigating 383 pervasive attacks, but since they have not generally been designed 384 with this in mind, they may need elaboration or adjustment to be 385 completely suitable. The next section examines one common reason for 386 such adjustment: managing the integration of one mitigation with the 387 environment in which it is deployed. 389 4. Interplay among Mitigations 391 One of the key considerations in selecting mitigations is how to 392 manage the interplay among different mechanisms. Care must be taken 393 to avoid situations where a mitigation is rendered fruitless because 394 of a different mitigation which is working at a different time scale 395 or with a different aim. 397 As an example, there is work in progress in IEEE 802 to standardize a 398 method for the randomization of MAC Addresses. This work aims to 399 enable a mitigation in which the MAC address varies as the device 400 connects to different networks, or connects at different times. In 401 theory, the randomization will mitigate tracking by MAC address. 402 However, the randomization will be defeated if the adversary can link 403 the randomized MAC address to other identifiers such as the interface 404 identifier used in IPv6 addresses, the unique identifiers used in 405 DHCP or DHCPv6, or unique identifiers used in various link-local 406 discovery protocols. 408 For mitigations which rely on aggregation to separate the origin of 409 traffic from its destination, care must be taken that the protocol 410 mechanics do not expose origin IP through secondary means. 411 [I-D.ietf-dnsop-edns-client-subnet] for example, proposes a method to 412 carry the IP address or subnet of a querying party through a 413 recursive resolver to an authoritative resolver. Even with a 414 truncated IP address, this mechanism increases the likelihood that a 415 pervasive monitor would be able to associate query traffic and 416 responses. If a client wished to ensure that its traffic did not 417 expose this data, it would need to require that its stub resolver 418 emit any privacy-sensitive queries with a source NETMASK set to 0, as 419 detailed in Section 5.1 of [I-D.ietf-dnsop-edns-client-subnet]. 420 Given that setting this only occasionally might also be used a signal 421 to observors, any client wishing to have any privacy sensitive 422 traffic would, in essence have to emit this for every query. While 423 this would succeed at providing the required privacy, given the 424 mechanism proposed, it would also mean no split-DNS adjustments in 425 response would be possible for the privacy sensitive client. 427 5. IANA Considerations 429 This memo makes no request of IANA. 431 6. Security Considerations 433 This memorandum describes a series of mitigations to the attacks 434 described in [RFC7258]. No such list could possibly be 435 comprehensive, nor is the attack therein described the only possible 436 attack. 438 7. Contributors {Contributors} 440 This document is derived in part from the work initially done on the 441 Perpass mailing list and at the STRINT workshop. Work from Brian 442 Trammell, Bruce Schneier, Christian Huitema, Cullen Jennings, Daniel 443 Borkmann, and Richard Barnes is incorporated here, as are ideas and 444 commentary from Jeff Hodges, Phillip Hallam-Baker, and Stephen 445 Farrell. 447 8. References 449 8.1. Normative References 451 [I-D.iab-privsec-confidentiality-threat] 452 Barnes, R., Schneier, B., Jennings, C., Hardie, T., 453 Trammell, B., Huitema, C., and D. Borkmann, 454 "Confidentiality in the Face of Pervasive Surveillance: A 455 Threat Model and Problem Statement", draft-iab-privsec- 456 confidentiality-threat-07 (work in progress), May 2015. 458 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 459 Requirement Levels", BCP 14, RFC 2119, March 1997. 461 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", RFC 462 4949, August 2007. 464 [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., 465 Morris, J., Hansen, M., and R. Smith, "Privacy 466 Considerations for Internet Protocols", RFC 6973, July 467 2013. 469 [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an 470 Attack", BCP 188, RFC 7258, May 2014. 472 8.2. Informative References 474 [I-D.ietf-dnsop-edns-client-subnet] 475 Contavalli, C., Gaast, W., Lawrence, D., and W. Kumari, 476 "Client Subnet in DNS Querys", draft-ietf-dnsop-edns- 477 client-subnet-01 (work in progress), May 2015. 479 [RFC2015] Elkins, M., "MIME Security with Pretty Good Privacy 480 (PGP)", RFC 2015, October 1996. 482 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 483 Internet Protocol", RFC 4301, December 2005. 485 [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 486 4306, December 2005. 488 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 489 (TLS) Protocol Version 1.2", RFC 5246, August 2008. 491 [RFC5750] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet 492 Mail Extensions (S/MIME) Version 3.2 Certificate 493 Handling", RFC 5750, January 2010. 495 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 496 of Named Entities (DANE) Transport Layer Security (TLS) 497 Protocol: TLSA", RFC 6698, August 2012. 499 [RFC6962] Laurie, B., Langley, A., and E. Kasper, "Certificate 500 Transparency", RFC 6962, June 2013. 502 [STRINT] S Farrell, ., "Strint Workshop Report", April 2014, 503 . 506 Author's Address 508 Ted Hardie (editor) 510 Email: ted.ietf@gmail.com