idnits 2.17.1 draft-iab-privsec-confidentiality-mitigations-00.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 (May 19, 2015) is 3265 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- == Unused Reference: 'RFC2119' is defined on line 345, but no explicit reference was found in the text == Unused Reference: 'STRINT' is defined on line 376, but no explicit reference was found in the text == Outdated reference: A later version (-07) exists of draft-iab-privsec-confidentiality-threat-06 -- 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 May 19, 2015 5 Expires: November 20, 2015 7 Confidentiality in the Face of Pervasive Surveillance 8 draft-iab-privsec-confidentiality-mitigations-00 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 November 20, 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. Available Mitigations . . . . . . . . . . . . . . . . . . . . 2 56 3. Interplay among Mitigations . . . . . . . . . . . . . . . . . 7 57 4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 58 5. Security Considerations . . . . . . . . . . . . . . . . . . . 8 59 6. References . . . . . . . . . . . . . . . . . . . . . . . . . 8 60 6.1. Normative References . . . . . . . . . . . . . . . . . . 8 61 6.2. Informative References . . . . . . . . . . . . . . . . . 8 62 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 9 64 1. Introduction 66 To ensure that the Internet can be trusted by users, it is necessary 67 for the Internet technical community to address the vulnerabilities 68 exploited in the attacks document in [RFC7258] and the threats 69 described in [I-D.iab-privsec-confidentiality-threat]. The goal of 70 this document is to describe more precisely the mitigations available 71 for those threats and to lay out the interactions among them should 72 they be deployed in combination. 74 2. Available Mitigations 76 Given the threat model laid out in 77 [I-D.iab-privsec-confidentiality-threat]., how should the Internet 78 technical community respond to pervasive attack? The cost and risk 79 considerations discussed in it provide a guide to responses. Namely, 80 responses to passive attack should close off avenues for those 81 attacks that are safe, scalable, and cheap, forcing the attacker to 82 mount attacks that expose it to higher cost and risk. Protocols and 83 security measures protecting against active attacks must also limit 84 the impact of compromise and malfeasance by avoiding systems which 85 grant universal credentials. 87 In this section, we discuss a collection of high-level approaches to 88 mitigating pervasive attacks. These approaches are not meant to be 89 exhaustive, but rather to provide general guidance to protocol 90 designers in creating protocols that are resistant to pervasive 91 attack. 93 +--------------------------+----------------------------------------+ 94 | Attack Class | High-level mitigations | 95 +--------------------------+----------------------------------------+ 96 | Passive observation | Encryption for confidentiality | 97 | | | 98 | Passive inference | Path differentiation | 99 | | | 100 | Active | Authentication, monitoring | 101 | | | 102 | Metadata Analysis | Data Minimiaztion | 103 | | | 104 | Static key exfiltration | Encryption with per-session state | 105 | | (PFS) | 106 | | | 107 | Dynamic key exfiltration | Transparency, validation of end | 108 | | systems | 109 | | | 110 | Content exfiltration | Object encryption, distributed systems | 111 +--------------------------+----------------------------------------+ 113 Figure 1: Table of Mitigations 115 The traditional mitigation to passive attack is to render content 116 unintelligible to the attacker by applying encryption, for example, 117 by using TLS or IPsec [RFC5246][RFC4301]. Even without 118 authentication, encryption will prevent a passive attacker from being 119 able to read the encrypted content. Exploiting unauthenticated 120 encryption requires an active attack (man in the middle); with 121 authentication, a key exfiltration attack is required. 123 The additional capabilities of a pervasive passive attacker, however, 124 require some changes in how protocol designers evaluate what 125 information is encrypted. In addition to directly collecting 126 unencrypted data, a pervasive passive attacker can also make 127 inferences about the content of encrypted messages based on what is 128 observable. For example, if a user typically visits a particular set 129 of web sites, then a pervasive passive attacker observing all of the 130 user's behavior can track the user based on the hosts the user 131 communicates with, even if the user changes IP addresses, and even if 132 all of the connections are encrypted. 134 Thus, in designing protocols to be resistant to pervasive passive 135 attacks, protocol designers should consider what information is left 136 unencrypted in the protocol, and how that information might be 137 correlated with other traffic. Some of the data left unencrypted may 138 be considered "metadata" within the context of a single protocol, as 139 it provides adjunct information used for delivery or display, rather 140 than the data directly created or consumed by protocol users. This 141 does not mean it is not useful to attackers, however, and when this 142 metadata is not protected by encryption it may leak substantial 143 amounts of information. Data minimization strategies should thus be 144 applied to any data left unencrypted, whether it be payload or 145 metadata. Information that cannot be encrypted or omited should be 146 be dissociated from other information. For example, the Tor overlay 147 routing network anonymizes IP addresses of by using multi-hop onion 148 routing. 150 As with traditional, limited active attacks, the basic mitigation to 151 pervasive active attack is to enable the endpoints of a communication 152 to authenticate each other. However, attackers that can mount 153 pervasive active attacks can often subvert the authorities on which 154 authentication systems rely. Thus, in order to make authentication 155 systems more resilient to pervasive attack, it is beneficial to 156 monitor these authorities to detect misbehavior that could enable 157 active attack. For example, DANE and Certificate Transparency both 158 provide mechanisms for detecting when a CA has issued a certificate 159 for a domain name without the authorization of the holder of that 160 domain name [RFC6962][RFC6698]. 162 While encryption and authentication protect the security of 163 individual sessions, these sessions may still leak information, such 164 as IP addresses or server names, that a pervasive attacker can use to 165 correlate sessions and derive additional information about the 166 target. Thus, pervasive attack highlights the need for anonymization 167 technologies, which make correlation more difficult. Typical 168 approaches to anonymization against traffic analysis include: 170 o Aggregation: Routing sessions for many endpoints through a common 171 mid-point (e.g, an HTTP proxy). The midpoint appears as the origin 172 of the communication when traffic analysis is conducted from points 173 after it, so individual sources cannot be distinguished. If traffic 174 analysis is being conducted prior to the mid-point, all flows appear 175 to be destined to the same point, which leaks very little 176 information. Even when traffic analysis is being performed both 177 before and after the mid-point, simultaneous connections may make it 178 difficult to corelate the traffic going into and out of the mid- 179 point. For this to be effective as a mitigation, traffic to the mid- 180 point must be encrypted and traffic from the mid-point should be. 182 o Onion routing: Routing a session through several mid-points, rather 183 than directly end-to-end, with encryption that guarantees that each 184 node can only see the previous and next hops. This ensures that the 185 source and destination of a communication are never revealed 186 simultaneously. 188 o Multi-path: Routing different sessions via different paths (even if 189 they originate from the same endpoint). This reduces the probability 190 that the same attacker will be able to collect many sessions or 191 associate them with the same individual. If, for example, a device 192 has both a cellular and 802.11 interface, routing some traffic across 193 the cellular network and other traffic over the 802.11 interface 194 means that traffic analysis conducted only with one network will be 195 incomplete. Even if conducted in both, it may be more difficult for 196 the attacker to associate the traffic in each network with the other. 197 For this to be effective as a mitigation, signalling protocols which 198 gather and transmit data about multiple interfaces (such as SIP) must 199 be encrypted to avoid the information being used in cross-corelation. 201 An encrypted, authenticated session is safe from content-monitoring 202 attacks in which neither end collaborates with the attacker, but can 203 still be subverted by the endpoints. The most common ciphersuites 204 used for HTTPS today, for example, are based on using RSA encryption 205 in such a way that if an attacker has the private key, the attacker 206 can derive the session keys from passive observation of a session. 207 These ciphersuites are thus vulnerable to a static key exfiltration 208 attack - if the attacker obtains the server's private key once, then 209 they can decrypt all past and future sessions for that server. 211 Static key exfiltration attacks are prevented by including ephemeral, 212 per-session secret information in the keys used for a session. Most 213 IETF security protocols include modes of operation that have this 214 property. These modes are known in the literature under the heading 215 "perfect forward secrecy" (PFS) because even if an adversary has all 216 of the secrets for one session, the next session will use new, 217 different secrets and the attacker will not be able to decrypt it. 218 The Internet Key Exchange (IKE) protocol used by IPsec supports PFS 219 by default [RFC4306], and TLS supports PFS via the use of specific 220 ciphersuites [RFC5246]. 222 Dynamic key exfiltration cannot be prevent by protocol means. By 223 definition, any secrets that are used in the protocol will be 224 transmitted to the attacker and used to decrypt what the protocol 225 encrypts. Likewise, no technical means will stop a willing 226 collaborator from sharing keys with an attacker. However, this 227 attack model also covers "unwitting collaborators", whose technical 228 resources are collaborating with the attacker without their owners' 229 knowledge. This could happen, for example, if flaws are built into 230 products or if malware is injected later on. 232 Standards can also define protocols that provide greater or lesser 233 opportunity for dynamic key exfiltration. Collaborators engaging in 234 key exfiltration through a standard protocol will need to use covert 235 channels in the protocol to leak information that can be used by the 236 attacker to recover the key. Such use of covert channels has been 237 demonstrated for SSL, TLS, and SSH. Any protocol bits that can be 238 freely set by the collaborator can be used as a covert channel, 239 including, for example, TCP options or unencrypted traffic sent 240 before a STARTTLS message in SMTP or XMPP. Protocol designers should 241 consider what covert channels their protocols expose, and how those 242 channels can be exploited to exfiltrate key information. 244 Content exfiltration has some similarity to the dynamic exfiltration 245 case, in that nothing can prevent a collaborator from revealing what 246 they know, and the mitigations against becoming an unwitting 247 collaborator apply. In this case, however, applications can limit 248 what the collaborator is able to reveal. For example, the S/MIME and 249 PGP systems for secure email both deny intermediate servers access to 250 certain parts of the message [RFC5750][RFC2015]. Even if a server 251 were to provide an attacker with full access, the attacker would 252 still not be able to read the protected parts of the message. 254 Mechanisms like S/MIME and PGP are often referred to as "end-to- 255 end"security mechanisms, as opposed to "hop-by-hop" or "end-to- 256 middle" mechanisms like the use of SMTP over TLS. These two 257 different mechanisms address different types of attackers: Hop-by-hop 258 mechanisms protect from attackers on the wire (passive or active), 259 while end-to-end mechansims protect against attackers within 260 intermediate nodes. Thus, neither of these mechanisms provides 261 complete protection by itself. For example: 263 o Two users messaging via Facebook over HTTPS are protected against 264 passive and active attackers in the network between the users and 265 Facebook. However, if Facebook is a collaborator in an exfiltration 266 attack, their communications can still be monitored. They would need 267 to encrypt their messages end-to-end in order to protect themselves 268 against this risk. 270 o Two users exchanging PGP-protected email have protected the content 271 of their exchange from network attackers and intermediate servers, 272 but the header information (e. g., To and From addresses) is 273 unnecessarily exposed to passive and active attackers that can see 274 communications among the mail agents handling the email messages. 275 These mail agents need to use hop-by-hop encryption and traffic 276 analysis mitigation to address this risk. 278 Mechanisms such as S/MIME and PGP are also known as "object-based" 279 security mechanisms (as opposed to "communications security" 280 mechanisms), since they operate at the level of objects, rather than 281 communications sessions. Such secure object can be safely handled by 282 intermediaries in order to realize, for example, store and forward 283 messaging. In the examples above, the encrypted instant messages or 284 email messages would be the secure objects. 286 The mitigations to the content exfiltration case regard participants 287 in the protocol as potential passive attackers themselves, and apply 288 the mitigations discussed above with regard to passive attack. 289 Information that is not necessary for these participants to fulfill 290 their role in the protocol can be encrypted, and other information 291 can be anonymized. 293 In summary, many of the basic tools for mitigating pervasive attack 294 already exist. As Edward Snowden put it, "properly implemented 295 strong crypto systems are one of the few things you can rely on". 296 The task for the Internet community is to ensure that applications 297 are able to use the strong crypto systems we have defined - for 298 example, TLS with PFS ciphersuites - and that these properly 299 implemented. (And, one might add, turned on!) Some of this work 300 will require architectural changes to applications, e. g., in order 301 to limit the information that is exposed to servers. In many other 302 cases, however, the need is simply to make the best use we can of the 303 cryptographic tools we have. 305 3. Interplay among Mitigations 307 One of the key considerations in selecting mitigations is how to 308 manage the interplay among different mechanisms. Care must be taken 309 to avoid situations where a mitigation is rendered fruitless because 310 of a different mitigation is working at a different time scale or 311 with a different aim. As an example, there is work in progress in 312 IEEE 802 to organize the "randomization" of MAC Addresses, ensuring 313 that the address varies as the device connects to different networks, 314 or connects at different times. In theory, the randomization will 315 mitigate the tracking by MAC address. However, the randomization 316 will be defeated if the adversary can link the randomized MAC address 317 to other identifiers such as the interface identifier in IPv6 318 addresses, the unique identifiers used in DHCP or DHCPv6, or unique 319 identifiers used in various link-local discovery protocols. The need 320 to consider the interplay among responses is a general one, and this 321 section will examine some common interactions. 323 4. IANA Considerations 325 This memo makes no request of IANA. 327 5. Security Considerations 329 This memorandum describes a series of mitigations to the attacks 330 described in [RFC7258]. No such list could possibly be 331 comprehensive, nor is the attack therein described the only possible 332 attack. 334 6. References 336 6.1. Normative References 338 [I-D.iab-privsec-confidentiality-threat] 339 Barnes, R., Schneier, B., Jennings, C., Hardie, T., 340 Trammell, B., Huitema, C., and D. Borkmann, 341 "Confidentiality in the Face of Pervasive Surveillance: A 342 Threat Model and Problem Statement", draft-iab-privsec- 343 confidentiality-threat-06 (work in progress), May 2015. 345 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 346 Requirement Levels", BCP 14, RFC 2119, March 1997. 348 [RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an 349 Attack", BCP 188, RFC 7258, May 2014. 351 6.2. Informative References 353 [RFC2015] Elkins, M., "MIME Security with Pretty Good Privacy 354 (PGP)", RFC 2015, October 1996. 356 [RFC4301] Kent, S. and K. Seo, "Security Architecture for the 357 Internet Protocol", RFC 4301, December 2005. 359 [RFC4306] Kaufman, C., "Internet Key Exchange (IKEv2) Protocol", RFC 360 4306, December 2005. 362 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 363 (TLS) Protocol Version 1.2", RFC 5246, August 2008. 365 [RFC5750] Ramsdell, B. and S. Turner, "Secure/Multipurpose Internet 366 Mail Extensions (S/MIME) Version 3.2 Certificate 367 Handling", RFC 5750, January 2010. 369 [RFC6698] Hoffman, P. and J. Schlyter, "The DNS-Based Authentication 370 of Named Entities (DANE) Transport Layer Security (TLS) 371 Protocol: TLSA", RFC 6698, August 2012. 373 [RFC6962] Laurie, B., Langley, A., and E. Kasper, "Certificate 374 Transparency", RFC 6962, June 2013. 376 [STRINT] S Farrell, ., "Strint Workshop Report", April 2014, 377 . 380 Author's Address 382 Ted Hardie (editor) 384 Email: ted.ietf@gmail.com