idnits 2.17.00 (12 Aug 2021) /tmp/idnits45891/draft-iab-privsec-confidentiality-mitigations-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 : ---------------------------------------------------------------------------- ** The abstract seems to contain references ([RFC7624]), 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 (October 27, 2016) is 2025 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC2119' is defined on line 433, but no explicit reference was found in the text == Unused Reference: 'STRINT' is defined on line 505, but no explicit reference was found in the text == Outdated reference: draft-ietf-dnsop-edns-client-subnet has been published as RFC 7871 -- 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 October 27, 2016 4 Intended status: Informational 5 Expires: April 30, 2017 7 Confidentiality in the Face of Pervasive Surveillance 8 draft-iab-privsec-confidentiality-mitigations-08 10 Abstract 12 The IAB has published [RFC7624] in response to several revelations of 13 pervasive attack on Internet communications. This document surveys 14 the most plausible mitigations to those threats currently available 15 to the designers of Internet protocols. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on April 30, 2017. 34 Copyright Notice 36 Copyright (c) 2016 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 2 53 3. Available Mitigations . . . . . . . . . . . . . . . . . . . . 3 54 3.1. Encryption . . . . . . . . . . . . . . . . . . . . . . . 4 55 3.1.1. Forward Secrecy . . . . . . . . . . . . . . . . . . . 4 56 3.1.2. Covert Channel Reduction . . . . . . . . . . . . . . 5 57 3.2. Auditing Authentication . . . . . . . . . . . . . . . . . 5 58 3.3. Metadata Minimization . . . . . . . . . . . . . . . . . . 6 59 3.3.1. Length Hiding . . . . . . . . . . . . . . . . . . . . 6 60 3.4. Anonymization . . . . . . . . . . . . . . . . . . . . . . 6 61 3.5. End-to-End Protection . . . . . . . . . . . . . . . . . . 7 62 4. Interplay among Mechanisms . . . . . . . . . . . . . . . . . 9 63 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 64 6. Security Considerations . . . . . . . . . . . . . . . . . . . 10 65 7. Contributors {Contributors} . . . . . . . . . . . . . . . . . 10 66 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 10 67 8.1. Normative References . . . . . . . . . . . . . . . . . . 10 68 8.2. Informative References . . . . . . . . . . . . . . . . . 11 69 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 12 71 1. Introduction 73 To ensure that the Internet can be trusted by users, it is necessary 74 for the Internet technical community to address the vulnerabilities 75 exploited in the attacks document in [RFC7258] and the threats 76 described in [RFC7624]. The goal of this document is to describe 77 more precisely the mitigations available for those threats and to lay 78 out the interactions among them should they be deployed in 79 combination. 81 2. Terminology 83 This document makes extensive use of standard security and privacy 84 terminology; see [RFC4949] and [RFC6973]. Terms used from [RFC6973] 85 include Eavesdropper, Observer, Initiator, Intermediary, Recipient, 86 Attack (in a privacy context), Correlation, Fingerprint, Traffic 87 Analysis, and Identifiability (and related terms). In addition, we 88 use a few terms that are specific to the attacks discussed in 89 [RFC7624]. Note especially that "passive" and "active" below do not 90 refer to the effort used to mount the attack; a "passive attack" is 91 any attack that accesses a flow but does not modify it, while an 92 "active attack" is any attack that modifies a flow. Some passive 93 attacks involve active interception and modifications of devices, 94 rather than simple access to the medium. 96 3. Available Mitigations 98 Given the threat model laid out in [RFC7624], how should the Internet 99 technical community respond to pervasive attack? The cost and risk 100 considerations discussed in it provide a guide to responses. Namely, 101 responses to passive attack should close off avenues for those 102 attacks that are safe, scalable, and cheap, forcing the attacker to 103 mount attacks that expose it to higher cost and risk. Protocols and 104 security measures protecting against active attacks must also limit 105 the impact of compromise and malfeasance by avoiding systems which 106 grant universal credentials. 108 In this section, we discuss a collection of high-level approaches to 109 mitigating pervasive attacks. These approaches are not meant to be 110 exhaustive, but rather to provide general guidance to protocol 111 designers in creating protocols that are resistant to pervasive 112 attack. 114 Many of these are basic tools which already exist. As Edward Snowden 115 put it, "properly implemented strong crypto systems are one of the 116 few things you can rely on". The task for the Internet community is 117 to ensure that applications are able to use the strong crypto and 118 other mitigations already available- and that these are properly 119 implemented and commonly turned on. Some of this work will require 120 architectural changes to applications, e.g., in order to limit the 121 information that is exposed to servers. In many other cases, 122 however, the need is simply to make the best use we can of the 123 cryptographic tools we have. 125 +--------------------------+----------------------------------------+ 126 | Attack Class | High-level mitigations | 127 +--------------------------+----------------------------------------+ 128 | Passive observation | Encryption for confidentiality | 129 | | | 130 | Passive inference | Path differentiation | 131 | | | 132 | Active | Authentication, monitoring | 133 | | | 134 | Metadata Analysis | Data Minimization | 135 | | | 136 | Static key exfiltration | Encryption with per-session state | 137 | | (PFS) | 138 | | | 139 | Dynamic key exfiltration | Transparency, validation of end | 140 | | systems | 141 | | | 142 | Content exfiltration | Object encryption, distributed systems | 143 +--------------------------+----------------------------------------+ 145 Table 1: Table of Mitigations 147 3.1. Encryption 149 The traditional mitigation to passive attack is to render content 150 unintelligible to the attacker by applying encryption, for example, 151 by using TLS or IPsec [RFC5246][RFC4301]. Even without 152 authentication, encryption will prevent a passive attacker from being 153 able to read the encrypted content. Exploiting unauthenticated 154 encryption requires an active attack (man in the middle); with 155 authentication, a key exfiltration attack is required. For 156 cryptographic systems providing forward secrecy, even exfiltration of 157 long-term keys will not compromise data captured under session keys 158 used before the exfiltration. 160 3.1.1. Forward Secrecy 162 An encrypted, authenticated session is safe from content-monitoring 163 attacks in which neither end collaborates with the attacker, but can 164 still be subverted by the endpoints. The most common ciphersuites 165 used for HTTPS today, for example, are based on using RSA encryption 166 in such a way that if an attacker has the private key, the attacker 167 can derive the session keys from passive observation of a session. 168 These ciphersuites are thus vulnerable to a static key exfiltration 169 attack - if the attacker obtains the server's private key once, then 170 they can decrypt all past and future sessions for that server. 172 Static key exfiltration attacks are prevented by including ephemeral, 173 per-session secret information in the keys used for a session. Most 174 IETF security protocols include modes of operation that have this 175 property. These modes are known in the literature under the heading 176 "perfect forward secrecy" (PFS) because even if an adversary has all 177 of the secrets for one session, the next session will use new, 178 different secrets and the attacker will not be able to decrypt it. 179 The Internet Key Exchange (IKE) protocol used by IPsec supports PFS 180 by default [RFC4306], and TLS supports PFS via the use of specific 181 ciphersuites [RFC5246]. 183 3.1.2. Covert Channel Reduction 185 Dynamic key exfiltration cannot be prevented by protocol means. By 186 definition, any secrets that are used in the protocol will be 187 transmitted to the attacker and used to decrypt what the protocol 188 encrypts. Likewise, no technical means will stop a willing 189 collaborator from sharing keys with an attacker. However, this 190 attack model also covers "unwitting collaborators", whose technical 191 resources are collaborating with the attacker without their owners' 192 knowledge. This could happen, for example, if flaws are built into 193 products or if malware is injected later on. 195 Standards can also define protocols that provide greater or lesser 196 opportunity for dynamic key exfiltration. Collaborators engaging in 197 key exfiltration through a standard protocol will need to use covert 198 channels in the protocol to leak information that can be used by the 199 attacker to recover the key. Such use of covert channels has been 200 demonstrated for SSL, TLS, and SSH. Any protocol bits that can be 201 freely set by the collaborator can be used as a covert channel, 202 including, for example, TCP options or unencrypted traffic sent 203 before a STARTTLS message in SMTP or XMPP. Protocol designers should 204 consider what covert channels their protocols expose, and how those 205 channels can be exploited to exfiltrate key information. 207 3.2. Auditing Authentication 209 As with traditional, limited active attacks, a basic mitigation to 210 pervasive active attack is to enable the endpoints of a communication 211 to authenticate each other over the encrypted channel. However, 212 attackers that can mount pervasive active attacks can often subvert 213 the authorities on which authentication systems rely. 215 Thus, in order to make authentication systems more resilient to 216 pervasive attack, it is beneficial to monitor these authorities to 217 detect misbehavior that could enable active attack. For example, 218 DANE and Certificate Transparency both provide mechanisms for 219 detecting when a CA has issued a certificate for a domain name 220 without the authorization of the holder of that domain name 221 [RFC6962][RFC6698]. Other systems may use external notaries to 222 detect certificate authority mismatch (e.g. Convergence 223 [Convergence]). 225 3.3. Metadata Minimization 227 The additional capabilities of a pervasive passive attacker, however, 228 require some changes in how protocol designers evaluate what 229 information is encrypted. In addition to directly collecting 230 unencrypted data, a pervasive passive attacker can also make 231 inferences about the content of encrypted messages based on what is 232 observable. For example, if a user typically visits a particular set 233 of web sites, then a pervasive passive attacker observing all of the 234 user's behavior can track the user based on the hosts the user 235 communicates with, even if the user changes IP addresses, and even if 236 all of the connections are encrypted. 238 Thus, in designing protocols to be resistant to pervasive passive 239 attacks, protocol designers should consider what information is left 240 unencrypted in the protocol, and how that information might be 241 correlated with other traffic. Some of the data left unencrypted may 242 be considered "metadata" within the context of a single protocol, as 243 it provides adjunct information used for delivery or display, rather 244 than the data directly created or consumed by protocol users. This 245 does not mean it is not useful to attackers, however, and when this 246 metadata is not protected by encryption it may leak substantial 247 amounts of information. Data minimization strategies should thus be 248 applied to any data left unencrypted, whether it be payload or 249 metadata. Information that cannot be encrypted or omited should be 250 be dissociated from other information. For example, the TOR overlay 251 routing network [TOR] anonymizes IP addresses by using multi-hop 252 onion routing. 254 3.3.1. Length Hiding 256 One fundamental limitation of encryption is that it exposes the size 257 of the plaintext that protects. A passive attacker can use this to 258 obtain information about the plaintext [CLINIC]. Protocols that use 259 encryption can provide the ability to pad plaintext. This enables 260 control over the size of ciphertext by endpoints, which can be used 261 to reduce the information available to passive attackers. 263 3.4. Anonymization 265 While encryption and authentication protect the security of 266 individual sessions, these sessions may still leak information, such 267 as IP addresses or server names, that a pervasive attacker can use to 268 correlate sessions and derive additional information about the 269 target. Thus, pervasive attack highlights the need for anonymization 270 technologies, which make correlation more difficult. Typical 271 approaches to anonymization against traffic analysis include: 273 o Aggregation: Routing sessions for many endpoints through a common 274 mid-point (e.g, an HTTP proxy). The midpoint appears as the 275 origin of the communication when traffic analysis is conducted 276 from points after it, so individual sources cannot be 277 distinguished. If traffic analysis is being conducted prior to 278 the mid-point, all flows appear to be destined to the same point, 279 which leaks very little information. Even when traffic analysis 280 is being performed both before and after the mid-point, 281 simultaneous connections may make it difficult to correlate the 282 traffic going into and out of the mid-point. For this to be 283 effective as a mitigation, traffic to the mid-point must be 284 encrypted and traffic from the mid-point should be. 286 o Onion routing: Routing a session through several mid-points, 287 rather than directly end-to-end, with encryption that guarantees 288 that each node can only see the previous and next hops. This 289 ensures that the source and destination of a communication are 290 never revealed simultaneously. Note, however, that onion routing 291 anonymity guarantees depend on an attacker being unable to control 292 many of the routing nodes [TorPaper]. 294 o Multi-path: Routing different sessions via different paths (even 295 if they originate from the same endpoint). This reduces the 296 probability that the same attacker will be able to collect many 297 sessions or associate them with the same individual. If, for 298 example, a device has both a cellular and 802.11 interface, 299 routing some traffic across the cellular network and other traffic 300 over the 802.11 interface means that traffic analysis conducted 301 only with one network will be incomplete. Even if conducted in 302 both, it may be more difficult for the attacker to associate the 303 traffic in each network with the other. For this to be effective 304 as a mitigation, signalling protocols which gather and transmit 305 data about multiple interfaces (such as SIP) must be encrypted to 306 avoid the information being used in cross-correlation. 308 3.5. End-to-End Protection 310 Content exfiltration has some similarity to the dynamic exfiltration 311 case, in that nothing can prevent a collaborator from revealing what 312 they know, and the mitigations against becoming an unwitting 313 collaborator apply. In this case, however, applications can limit 314 what the collaborator is able to reveal. For example, the S/MIME and 315 PGP systems for secure email both deny intermediate servers access to 316 certain parts of the message [RFC5750][RFC2015]. Even if a server 317 were to provide an attacker with full access, the attacker would 318 still not be able to read the protected parts of the message. 320 Mechanisms like S/MIME and PGP are often referred to as "end-to-end" 321 security mechanisms, as opposed to "hop-by-hop" or "end-to-middle" 322 mechanisms like the use of SMTP over TLS. These two different 323 mechanisms address different types of attackers: Hop-by-hop 324 mechanisms protect from attackers on the wire (passive or active), 325 while end-to-end mechanisms protect against attackers within 326 intermediate nodes as well as those on the wire. Even end-to-end 327 mechanisms are not complete protection in themselves, as intermediate 328 nodes can still access some metadata. For example: 330 o Two users messaging via Facebook over HTTPS are protected against 331 passive and active attackers in the network between the users and 332 Facebook. However, if Facebook is a collaborator in an 333 exfiltration attack, their communications can still be monitored. 334 They would need to encrypt their messages end-to-end in order to 335 protect themselves against this risk. 337 o Two users exchanging PGP-protected email have protected the 338 content of their exchange from network attackers and intermediate 339 servers, but the header information (e.g., To and From addresses) 340 is unnecessarily exposed to passive and active attackers that can 341 see communications among the mail agents handling the email 342 messages. These mail agents need to use hop-by-hop encryption and 343 traffic analysis mitigation to address this risk. 345 Mechanisms such as S/MIME and PGP are also known as "object-based" 346 security mechanisms (as opposed to "communications security" 347 mechanisms), since they operate at the level of objects, rather than 348 communications sessions. Such secure object can be safely handled by 349 intermediaries in order to realize, for example, store and forward 350 messaging. In the examples above, the encrypted instant messages or 351 email messages would be the secure objects. Hop-to-hop security 352 mechanisms may be susceptible to downgrade attacks (e.g., STARTTLS- 353 secured SMTP has been downgraded by intermediate network nodes 354 [WaPo-STARTTLS]) in which case end-to-end mechanisms are advised. 356 The mitigations to the content exfiltration case regard participants 357 in the protocol as potential passive attackers themselves, and apply 358 the mitigations discussed above with regard to passive attack. 359 Information that is not necessary for these participants to fulfill 360 their role in the protocol can be encrypted, and other information 361 can be anonymized. 363 4. Interplay among Mechanisms 365 One of the key considerations in selecting mitigations is how to 366 manage the interplay among different mechanisms. Care must be taken 367 to avoid situations where a mitigation is rendered fruitless because 368 of mechanisms which working at a different time scale or with a 369 different aim. 371 The tools that we currently have have not generally been designed 372 with all of these mitigations in mind, so they may need elaboration 373 or adjustment to be completely suitable. Thus, managing the 374 integration of one mitigation with the environment in which it is 375 deployed is critical. 377 As an example, there is work in progress in IEEE 802 to standardize a 378 method for the randomization of MAC Addresses. This work aims to 379 enable the MAC address to vary as the device connects to different 380 networks, or connects at different times. In theory, the 381 randomization will mitigate tracking by MAC address. However, the 382 randomization will be defeated if the adversary can link the 383 randomized MAC address to other identifiers such as the interface 384 identifier used in IPv6 addresses, the unique identifiers used in 385 DHCP or DHCPv6, or unique identifiers used in various link-local 386 discovery protocols. 388 For mitigations which rely on aggregation to separate the origin of 389 traffic from its destination, care must be taken that the protocol 390 mechanics do not expose origin IP through secondary means. 391 [I-D.ietf-dnsop-edns-client-subnet] for example, documents a method 392 to carry the IP address or subnet of a querying party through a 393 recursive resolver to an authoritative resolver. Even with a 394 truncated IP address, this mechanism increases the likelihood that a 395 pervasive monitor would be able to associate query traffic and 396 responses. 398 If a client wished to ensure that its traffic did not expose this 399 data, it would need to require that its stub resolver emit any 400 privacy-sensitive queries with a source NETMASK set to 0, as detailed 401 in Section 5.1 of [I-D.ietf-dnsop-edns-client-subnet]. Given that 402 setting this only occasionally might also be used a signal to 403 observers, any client wishing to have any privacy sensitive traffic 404 would, in essence have to emit this for every query. While this 405 would succeed at providing the required privacy, given the mechanism 406 proposed, it would also mean no split-DNS adjustments in response 407 would be possible for the privacy sensitive client. 409 5. IANA Considerations 411 This memo makes no request of IANA. 413 6. Security Considerations 415 This memorandum describes a series of mitigations to the attacks 416 described in [RFC7258]. No such list could possibly be 417 comprehensive, nor is the attack therein described the only possible 418 attack. 420 7. Contributors {Contributors} 422 This document is derived in part from the work initially done on the 423 Perpass mailing list and at the STRINT workshop. Work from Brian 424 Trammell, Bruce Schneier, Christian Huitema, Cullen Jennings, Daniel 425 Borkmann, Martin Thomson, and Richard Barnes is incorporated here, as 426 are ideas and commentary from Jeff Hodges, Phillip Hallam-Baker, and 427 Stephen Farrell. 429 8. References 431 8.1. Normative References 433 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 434 Requirement Levels", BCP 14, RFC 2119, 435 DOI 10.17487/RFC2119, March 1997, 436 . 438 [RFC4949] Shirey, R., "Internet Security Glossary, Version 2", 439 FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, 440 . 442 [RFC6973] Cooper, A., Tschofenig, H., Aboba, B., Peterson, J., 443 Morris, J., Hansen, M., and R. Smith, "Privacy 444 Considerations for Internet Protocols", RFC 6973, 445 DOI 10.17487/RFC6973, July 2013, 446 . 448 [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an 449 Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May 450 2014, . 452 [RFC7624] 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", RFC 7624, 456 DOI 10.17487/RFC7624, August 2015, 457 . 459 8.2. Informative References 461 [CLINIC] Miller, B., Huang, L., Joseph, A., and J. Tygar, "I Know 462 Why You Went to the Clinic: Risks and Realization of HTTPS 463 Traffic Analysis", March 2014. 465 [Convergence] 466 M Marlinspike, ., "Convergence Project", August 2011, 467 . 469 [I-D.ietf-dnsop-edns-client-subnet] 470 Contavalli, C., Gaast, W., tale, t., and W. Kumari, 471 "Client Subnet in DNS Queries", draft-ietf-dnsop-edns- 472 client-subnet-08 (work in progress), April 2016. 474 [RFC2015] Elkins, M., "MIME Security with Pretty Good Privacy 475 (PGP)", RFC 2015, DOI 10.17487/RFC2015, October 1996, 476 . 478 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 479 Internet Protocol", RFC 4301, DOI 10.17487/RFC4301, 480 December 2005, . 482 [RFC4306] Kaufman, C., Ed., "Internet Key Exchange (IKEv2) 483 Protocol", RFC 4306, DOI 10.17487/RFC4306, December 2005, 484 . 486 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 487 (TLS) Protocol Version 1.2", RFC 5246, 488 DOI 10.17487/RFC5246, August 2008, 489 . 491 [RFC5750] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet 492 Mail Extensions (S/MIME) Version 3.2 Certificate 493 Handling", RFC 5750, DOI 10.17487/RFC5750, January 2010, 494 . 496 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 497 of Named Entities (DANE) Transport Layer Security (TLS) 498 Protocol: TLSA", RFC 6698, DOI 10.17487/RFC6698, August 499 2012, . 501 [RFC6962] Laurie, B., Langley, A., and E. Kasper, "Certificate 502 Transparency", RFC 6962, DOI 10.17487/RFC6962, June 2013, 503 . 505 [STRINT] S Farrell, ., "Strint Workshop Report", April 2014, 506 . 509 [TOR] The Tor Project, "Tor", 2013, 510 . 512 [TorPaper] 513 Dingledine, R., Mathewson, N., and P. Syverson, "Tor: The 514 Second-Generation Onion Router", 2004, 515 . 518 [WaPo-STARTTLS] 519 Scola, N. and A. Soltani, "Mobile ISP Cricket was 520 thwarting encrypted emails, researchers find", 2014, 521 . 525 Author's Address 527 Ted Hardie (editor) 529 Email: ted.ietf@gmail.com