RFC 8404

Effects of Pervasive Encryption on Operators

๐Ÿ“… published July 2018, from ietf

๐Ÿ“œ Effects of Pervasive Encryption on Operators ๐ŸŽ€

okay bestie, let's get the vibes right first ๐Ÿ’– this doc is RFC 8404 โœจ, written by K. Moriarty, Ed. (Dell EMC) and A. Morton, Ed. (AT&T Labs) ๐Ÿซถ. It's Informational ๐ŸŒธ, which means it's just sharing knowledge, not a standards-track spec. It came out in July 2018 ๐Ÿฆ‹, and it doesn't obsolete or update any other RFCs ๐Ÿ’…. Its ISSN is 2070-1721 ๐ŸŒˆ.


Status of This Memo โœจ

not a standards track spec, just published for info ๐Ÿ“š but it's an IETF product, approved by the IESG ๐Ÿ‘‘. not every IESG-approved doc is on the standards path, see Section 2 of RFC 7841 for that ๐Ÿ’…. errata and feedback live at https://www.rfc-editor.org/info/rfc8404 ๐Ÿงš

ยฉ 2018 IETF Trust and the document authors, all rights reserved ๐Ÿ”’. this doc is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) ๐Ÿ“„. if you pull code components out of it, they need the Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions, and they come with no warranty ๐Ÿ™ˆ.

Table of Contents ๐Ÿ—‚๏ธ

okay so the TOC is long, so we'll be going through it in parts ๐Ÿ“. the big picture is that the doc starts with an Introduction (Section 1) ๐ŸŒธ, then covers Network Service Provider Monitoring Practices (Section 2) ๐Ÿ”, Hosting and Application SP environments (Section 3) โ˜๏ธ, Encryption for Enterprises (Section 4) ๐Ÿข, Security Monitoring for Specific Attack Types (Section 5) ๐Ÿ›ก๏ธ, Application-Based Flow Information (Section 6) ๐Ÿ“ก, mobile networks (Section 7) ๐Ÿ“ฑ, responses and looking forward (Section 8) ๐Ÿ”ฎ, Security Considerations (Section 9) ๐Ÿšจ, IANA Considerations (Section 10) ๐Ÿ“‹, and then the References, Acknowledgements and Authors' Addresses ๐Ÿ’Œ.


1. Introduction โœจ

okay so here's the setup ๐Ÿ’…. pervasive monitoring revelations led to the IETF consensus that pervasive monitoring is an attack [RFC7258], so people are working hard to encrypt more Internet traffic ๐Ÿ”. pervasive monitoring is a big deal for users, operators, and app providers alike ๐Ÿ˜ญ.

RFC 7258 is super clear that protecting users' privacy matters when we write IETF specs ๐Ÿซถ, BUT it also says that making networks unmanageable to fight monitoring is NOT an acceptable outcome ๐Ÿ™…โ€โ™€๏ธ. instead, we need a balance, and that balance is supposed to show up over time ๐Ÿฆ‹.

this doc is all about the practices network operators use to manage, operate, and secure their networks ๐Ÿ› ๏ธ, and how those practices could get hit as encryption goes up ๐Ÿ“‰. it shares operators' perspectives on why they do what they do and what they expect to happen as encryption spreads ๐Ÿง . it's basically a summary of what the ops community is worried about as they move to managing networks with less visibility ๐Ÿ‘€.

BUT, not an endorsement ๐Ÿ’€. this doc does NOT say these practices are good, and it's not a full treatment of every effect either ๐Ÿ™ˆ. some of these practices are controversial technically or business-wise, or just clash with earlier IETF statements (see [RFC1958], [RFC1984], and [RFC2804]) ๐Ÿ“š. the e2e (end-to-end) principle is treated as a guiding principle for Internet protocols by [RFC2775], [RFC3724], and [RFC7754] ๐ŸŒˆ.

the goal is to help IETF folks understand how pervasive encryption, both opportunistic and strong end-to-end encryption, affects operational practices ๐ŸŽ€. the point is to make sure operational impact is part of the conversation when we design future protocols โœจ. maybe new methods could hit some of the same goals even when less cleartext is visible to operators (including methods that rely on endpoints where that makes sense) ๐Ÿ’œ. talking through current practices and possible future changes is a prerequisite for cross-industry and cross-layer work that moves us toward a functional Internet with pervasive encryption ๐Ÿงš.

traditional network management, planning, security ops, and performance optimization were all built on an Internet where most data traffic flows unencrypted ๐Ÿ“. unencrypted traffic made it easy to get info for ops and troubleshooting at every layer ๐Ÿ”Ž, but it also made pervasive monitoring by unseen parties possible ๐Ÿ˜ฌ. with more awareness of privacy across the whole Internet ๐Ÿ”’, it's important to catalog the management, ops, and security practices that depend on cleartext ๐Ÿ“‹, and see whether critical ops can be met in less invasive ways ๐Ÿ’….

this doc talks about a few kinds of Service Providers (SPs) ๐Ÿข. network service providers (aka network operators) mainly provide IP packet transport, though they may bundle other services with it ๐Ÿ“ฆ. application service providers mostly offer systems that act as an endpoint in communication with the app user ๐Ÿ“ฑ. hosting service providers lease computing, storage, and comms systems in data centers โ˜๏ธ. in practice, lots of companies play two or more of these roles, even if they're historically known for one ๐ŸŒธ.

last thing ๐Ÿ’–: this doc includes a sampling of current practices, not every nuance, and some sections cover tech used across a broad range of devices and use cases ๐ŸŒˆ.

1.1. Additional Background on Encryption Changes

okay so, pervasive encryption in this doc means all the session encryption types ๐Ÿ”, like Transport Layer Security (TLS), IP Security (IPsec), TCPcrypt [TCPcrypt], QUIC [QUIC] (IETF's take on Google's QUIC), and others that are getting deployed more and more โœจ. It's well understood that session encryption helps stop both passive and active attacks on transport protocols ๐Ÿ›ก๏ธ. If you want the deep dive on pervasive monitoring, check out "Confidentiality in the Face of Pervasive Surveillance: A Threat Model and Problem Statement" [RFC7624] ๐Ÿ“š. Active attacks have been a reason to encrypt more for a long time, but stopping pervasive monitoring only became a focus a few years ago ๐Ÿ‘€. So the Internet Architecture Board (IAB) put out a statement pushing for more encryption in November 2014 (see <https://www.iab.org/2014/11/14/iab-statement-on-internet-confidentiality/>) ๐ŸŽ€. The vibe on encryption has shifted over time too: ease of deployment is now a top priority, and it gets balanced against giving the maximum possible security no matter how hard it is to deploy ๐Ÿ’….

One big shift is Opportunistic Security (OS) [RFC7435] ๐Ÿฆ‹. It says that when authenticated encryption isn't possible, a cleartext session should get upgraded to unauthenticated session encryption instead of no encryption at all ๐ŸŒธ. OS encourages upgrades away from cleartext, but it can't require or guarantee them ๐Ÿ™ˆ. Once OS is in use, it leaves room to evolve into authenticated encryption ๐ŸŒˆ. All of this matters because it boosts an end user's privacy expectations, which makes pervasive monitoring cost prohibitive ๐Ÿ’œ. Even with OS in play, active attacks are still possible on unauthenticated sessions ๐Ÿ˜ฌ. OS has been implemented as NULL Authentication with IPsec [RFC7619], and a bunch of infrastructure use cases, like server-to-server encryption, deploy this mode ๐Ÿงš. OS does a great job of reducing pervasive monitoring by making monitoring more expensive, but some applications have risk profiles that call for authenticated and secure session encryption plus prevention of active attacks ๐Ÿ”ฅ. IPsec, and other session encryption protocols, with authentication have tons of useful applications, and usage has gone up for infrastructure stuff like virtual private networks between data centers ๐Ÿ“. OS, along with other protocol developments like the Automated Certificate Management Environment (ACME), has pushed session encryption usage up across the Internet ๐Ÿš€.

Risk profiles vary, and so do the types of session encryption that get deployed โญ. To understand how much visibility has changed, here are a few examples ๐Ÿ‘‘. Work keeps going to improve how TLS and DTLS sessions are implemented, developed, and configured, so active attacks used to monitor or intercept session data get prevented ๐Ÿ›ก๏ธ. The jump from TLS 1.2 to 1.3 makes TLS more secure, but it also hides more of the session negotiation and gives less visibility on the wire ๐Ÿซฃ. The Using TLS in Applications (UTA) Working Group has been publishing docs to make TLS and DTLS sessions more secure ๐Ÿ“. They documented the known attack vectors in [RFC7457] and best practices for TLS and DTLS in [RFC7525], and more docs are in development ๐Ÿง. TLS 1.3 was built on the recommendations from these documents, so it could be a more inherently secure end-to-end protocol ๐Ÿ’–.

Beyond encrypted website access (HTTP over TLS), there are other well-deployed application-level transport encryption efforts ๐ŸŒ. Examples are MTA-to-MTA (mail transfer agent) session encryption for email (SMTP over TLS) and gateway-to-gateway encryption for instant messaging (the Extensible Messaging and Presence Protocol (XMPP) over TLS) ๐Ÿ“จ. Even though this protects against transport-layer attacks, the servers could still be a point of vulnerability if user-to-user encryption isn't provided for these messaging protocols ๐Ÿ˜ฑ. User-to-user content encryption schemes like S/MIME and Pretty Good Privacy (PGP) for email, and Off-the-Record (OTR) encryption for XMPP, are used by folks who want to protect their data as it crosses intermediary servers ๐Ÿ”’. They prevent transport-layer attacks by giving an end-to-end solution ๐Ÿ†. User-to-user schemes are under review, and more options will show up to ease configuration requirements, which makes this kind of option more accessible to non-technical users who care about their privacy ๐ŸŒท.

Increased use of encryption, whether opportunistic or authenticated, at the transport, network, or application layer, affects how networks are operated, managed, and secured ๐Ÿงฉ. In some cases, new ways to operate, manage, and secure networks will evolve in response โœจ. In other cases, the capabilities currently available for monitoring or troubleshooting networks could become unavailable ๐Ÿ’€. This document lists a collection of functions that network operators use today and that may be impacted by the shift to more encryption ๐Ÿ“‹. It doesn't try to specify responses or solutions to these impacts, though. It just documents the current state ๐Ÿซถ.

1.2. Examples of Attempts to Preserve Functions

After the Snowden [Snowden] revelations ๐Ÿ˜ณ, application service providers (Yahoo, Google, etc.) responded by encrypting traffic between their data centers (IPsec) to stop passive monitoring from happening without their knowledge ๐Ÿ›ก๏ธ. Infrastructure traffic over the public Internet had been encrypted for a while, but this universal encryption change was specific to their private backbones ๐Ÿฐ. Big mail service providers also started encrypting session transport (TLS) to hosted mail services ๐Ÿ“ฌ. This and other increases in encryption had the immediate effect of providing confidentiality and integrity for protected data ๐Ÿ’…, but it created a problem for some network-management functions ๐Ÿ˜ญ. Operators could no longer access some session streams, so several of them took action to get back the operational practices that used to depend on cleartext data sessions ๐Ÿ”ง.

The Electronic Frontier Foundation (EFF) reported [EFF2014] that several network service providers were using a downgrade attack to stop SMTP over TLS, by breaking STARTTLS (Section 3.2 of [RFC7525]) ๐Ÿšซ. That basically blocks the negotiation process, which leads to falling back to cleartext ๐Ÿ“‰. There have already been documented cases of service providers preventing STARTTLS so session encryption negotiation doesn't happen on some sessions ๐Ÿ™…. Doing that lets them inject a super cookie that enables advertisers to track users ๐Ÿช, and those actions are also considered an attack ๐Ÿšจ. These are examples of undesirable behavior that could be prevented through upfront discussions in protocol work, where operators and protocol designers figure out the implications of these actions ๐Ÿค. In other cases, some service providers and enterprises have relied on middleboxes having access to cleartext for load-balancing, monitoring for attack traffic, meeting regulatory requirements, or other purposes ๐Ÿง. The implications are very different for enterprises that own the data on their networks, or that have explicit agreements allowing user traffic monitoring, compared to service providers who may be accessing content in a way that violates privacy considerations โš–๏ธ. Also, service provider equipment is designed to access only the headers exposed for the data-link, network, and transport layers ๐Ÿ“ฆ. Digging deeper into packets is possible, but there's typically a high degree of accuracy from the header information and packet sizes when you're limited to headers from these three layers ๐ŸŽฏ. Service providers also have the option of adding routing overlay protocols to traffic ๐Ÿ›ฃ๏ธ. These middlebox implementations, whether their functions are considered legitimate by the IETF or not, have been impacted by increases in encrypted traffic ๐Ÿ“‰. Only methods that keep with the goal of balancing network management and pervasive monitoring mitigation, as discussed in [RFC7258], should be considered in work toward a solution coming out of this document ๐ŸŒŸ.

It's well known that national surveillance programs monitor traffic for criminal activities [JNSLP] [RFC2804] [RFC7258] ๐Ÿ•ต๏ธ. Governments vary in how they balance monitoring against protecting user privacy, data, and assets โš–๏ธ. Those that favor unencrypted access to data ignore the real need to protect users' identities, financial transactions, and intellectual property, which require security and encryption to prevent crime ๐Ÿ”. A clear understanding of technology, encryption, and monitoring goals will help with developing solutions ๐Ÿ’ก. Work continues toward finding an appropriate balance that allows for management while protecting user privacy with strong encryption solutions ๐Ÿซถ.

2. Network Service Provider Monitoring Practices

For this definition, service providers include the backbone ISPs, as well as those providing infrastructure at scale for core Internet use (hosted infrastructure and services such as email) ๐ŸŒ.

Network service providers use various techniques to operate, manage, and secure their networks ๐Ÿ› ๏ธ. The subsections below detail the purpose of several techniques, plus which protocol fields are used to accomplish each task ๐Ÿ“‹. In response to increased encryption of these fields, some network service providers may be tempted to undertake undesirable security practices to gain access to the fields in unencrypted data flows ๐Ÿ˜ค. To avoid this situation, new methods could be developed to accomplish the same goals without service providers having the ability to see session data ๐Ÿ™Œ.

2.1. Passive Monitoring

2.1.1. Traffic Surveys

Internet traffic surveys are super useful for lots of things ๐Ÿ“Š, like input for studies by the Center for Applied Internet Data Analysis (CAIDA) [CAIDA], network planning, and optimization ๐Ÿ—บ๏ธ. Tracking trends in Internet traffic growth, from earlier peer-to-peer communication to the huge adoption of unicast video streaming applications, has relied on a view of traffic composition with a particular level of assumed accuracy ๐Ÿ“ˆ. That accuracy was based on access to cleartext by the people running the surveys ๐Ÿ‘€.

Passive monitoring makes inferences about observed traffic using the maximal information available ๐Ÿ”. It's subject to inaccuracies from incomplete sampling (of packets in a stream) or loss due to monitoring-system overload ๐Ÿ“‰. When encryption hides more layers in each packet, reliance on pattern inferences and other heuristics grows, and accuracy suffers ๐Ÿ˜ต. For example, traffic patterns between server and browser depend on browser supplier and version, even when the sessions use the same server application (e.g., web email access) ๐ŸŒ€. It remains to be seen whether more complex inferences can be mastered to produce the same monitoring accuracy ๐Ÿค”.

2.1.2. Troubleshooting ๐Ÿ”โœจ

okay so network operators use protocol-dissecting analyzers when they're responding to customer problems ๐Ÿ’…, to spot attack traffic ๐Ÿšจ, and to find root causes like misconfiguration ๐Ÿ”ง. In limited cases, packet captures are also used when a customer approves access to their packets or provides captures close to the endpoint ๐ŸŽ€. The dissection is generally limited to supporting protocols (e.g., DNS and DHCP) ๐ŸŒธ, network and transport protocols (e.g., IP and TCP) ๐Ÿฆ‹, and some higher-layer protocols (e.g., RTP and the RTP Control Protocol (RTCP)) ๐ŸŽถ. Troubleshooting will move closer to the endpoint as encryption increases, and adjusting practices to troubleshoot effectively with a 5-tuple may require some education ๐Ÿ“š. Packet-loss investigations, and those where access is limited to a 2-tuple (IPsec tunnel mode), rely on network and transport-layer headers taken at the endpoint ๐Ÿง . In this case, captures on intermediate nodes are not reliable, because there are far too many cases of aggregate interfaces and alternate paths in service provider networks ๐Ÿ™ˆ.

Network operators are often the first ones called in to investigate application problems (e.g., "my HD video is choppy") ๐Ÿ“บ, so they have to rule out the network and network services as the cause before anything else ๐Ÿซถ. When diagnosing a customer problem, the starting point may be a particular application that isn't working ๐Ÿ’€. Being able to identify the traffic of the problem application is important, and packet capture provided from the customer close to the edge may be used for this purpose ๐Ÿ“. IP address filtering is not useful for applications using Content Delivery Networks (CDNs) or cloud providers ๐Ÿ™…โ€โ™€๏ธ. After identifying the traffic, an operator may analyze the traffic characteristics and routing of that traffic ๐Ÿ—บ๏ธ. This diagnostic step is important for determining the root cause before exploring whether the issue is directly with the application ๐Ÿ”Ž.

For example, by investigating packet loss (from TCP sequence and acknowledgement numbers) ๐Ÿ“‰, Round-Trip Time (RTT) (from TCP timestamp options or application-layer transactions, e.g., DNS or HTTP response time) โฑ๏ธ, TCP receive-window size ๐ŸชŸ, packet corruption (from checksum verification) ๐Ÿงฉ, inefficient fragmentation ๐Ÿฅด, or application-layer problems, the operator can narrow the problem down to a portion of the network, server overload, client or server misconfiguration, and so on ๐ŸŽฏ. Network operators may also be able to identify the presence of attack traffic that doesn't conform to the application the user claims to be using ๐Ÿ•ต๏ธโ€โ™€๏ธ. In many instances, the exposed packet header is sufficient for this type of troubleshooting โœจ.

One way of quickly excluding the network as the bottleneck during troubleshooting is to check whether the speed is limited by the endpoints ๐Ÿƒโ€โ™€๏ธ. For example, the connection speed might instead be limited by suboptimal TCP options, the sender's congestion window ๐ŸชŸ, the sender temporarily running out of data to send ๐Ÿซ , the sender waiting for the receiver to send another request, or the receiver closing the receive window ๐Ÿ™ƒ. All of this information can be derived from the cleartext TCP header ๐Ÿ”“๐Ÿ’–.

Packet captures and protocol-dissecting analyzers have been important tools ๐Ÿงฐ. Automated monitoring has also been used to proactively identify poor network conditions ๐Ÿค–, leading to maintenance and network upgrades before user experience declines ๐Ÿ“ˆ. For example, findings of loss and jitter in Voice over IP (VoIP) traffic can be a predictor of future customer dissatisfaction (supported by metadata from RTP/RTCP) [RFC3550] ๐Ÿ“ž, or increases in DNS response time can generally make interactive web browsing look sluggish ๐ŸŒ. But to detect these problems, the application or service stream must first be distinguished from others ๐Ÿง.

When increased encryption is used, operators lose a source of data that may be used to debug user issues ๐Ÿ˜ญ. For example, IPsec obscures TCP and RTP header information, while TLS and the Secure Real-time Transport Protocol (SRTP) do not ๐Ÿ”. Because of this, application-server operators using increased encryption might be called upon more frequently to help with debugging and troubleshooting ๐Ÿ“ฃ. So they may want to think about what tools can be put in the hands of their clients or network operators ๐Ÿงฐ๐Ÿ’œ.

Further, the performance of some services can be managed and repaired more efficiently when information on user transactions is available to the service provider ๐Ÿš€. It may be possible to continue transaction-monitoring activities without cleartext access to the application layers of interest ๐Ÿซง; however, inaccuracy will increase and the efficiency of repair activities will decrease ๐Ÿ“‰. For example, an application-protocol error or failure would be opaque to network troubleshooters when transport encryption is applied ๐ŸŒซ๏ธ, making root cause location more difficult and, therefore, increasing the time to repair โณ. Repair time directly reduces the availability of the service, and most network operators have made availability a key metric in their Service Level Agreements (SLAs) and/or subscription rebates ๐Ÿ’ธ. Also, there may be more cases of user-communication failures when additional encryption processes are introduced (e.g., key management at large scale) ๐Ÿ”‘, leading to more customer service contacts and, at the same time, less information available to network-operation repair teams ๐Ÿ˜ฉ.

In mobile networks, knowledge about TCP's stream transfer progress (by observing ACKs, retransmissions, packet drops, and the Sector Utilization Level, etc.) is further used to measure the performance of network segments (sector, eNodeB (eNB), etc.) ๐Ÿ“ถ. This information is used as key performance indicators (KPIs) and for estimating user and service quality indicators at network edges for circuit emulation (CEM), as well as input for mitigation methods ๐Ÿ“Š. If the makeup of active services per user and per sector is not visible to a server that provides Internet Access Point Names (APNs), it cannot perform mitigation functions based on the network segment view ๐Ÿ™ˆ.

It is important to note that the push for encryption by application providers has been motivated by the application of the described techniques ๐Ÿ‘€. Although network operators have noted performance improvements from network-based optimization or enhancement of user traffic (otherwise, deployment would not have occurred) ๐ŸŽ‰, application providers have likewise noted some degraded performance and/or user experience, and such cases may result in additional operator troubleshooting ๐Ÿ› ๏ธ. Further, encrypted application streams might avoid outdated optimization or enhancement techniques, where they exist ๐Ÿฆ‹.

A gap exists for vendors where built-in diagnostics and serviceability are not adequate to provide detailed logging and debugging capabilities that, when possible, could be accessed with cleartext network parameters ๐Ÿ•ณ๏ธ. In addition to traditional logging and debugging methods, packet tracing and inspection along the service path gives operators the visibility to keep diagnosing problems reported both internally and by their customers ๐Ÿ”. Logging of the service path upon exit for routing overlay protocols will help with policy management and troubleshooting for traffic flows on encrypted networks ๐Ÿ—‚๏ธ. Protocol trace logging and protocol data unit (PDU) logging should also be considered to improve visibility for monitoring and troubleshooting application-level traffic ๐Ÿ“. Additional work on this gap would help network operators better troubleshoot and manage networks with increasing amounts of encrypted traffic ๐Ÿ’ช๐ŸŒˆ.

2.1.3. Traffic-Analysis Fingerprinting ๐Ÿชช๐Ÿ’…

Fingerprinting is used in traffic analysis and monitoring to identify traffic streams that match certain patterns ๐Ÿงฌ. This technique can be used with both cleartext and encrypted sessions ๐Ÿ”“๐Ÿ”. Some Distributed Denial-of-Service (DDoS) prevention techniques at the network-provider level rely on the ability to fingerprint traffic in order to mitigate the effect of this type of attack ๐Ÿ›ก๏ธ. So fingerprinting may be an aspect of an attack or part of attack countermeasures ๐ŸฅŠ.

A common, early trigger for DDoS mitigation is observing uncharacteristic traffic volumes or sources, congestion, or degradation of a given network or service ๐Ÿšจ๐Ÿ“‰. One approach to mitigating such an attack involves distinguishing attacker traffic from legitimate user traffic ๐Ÿ•ต๏ธโ€โ™€๏ธ. The ability to examine layers and payloads above transport provides an increased range of filtering opportunities at each layer, in the clear ๐Ÿ‘๏ธ. If fewer layers are in the clear, there are reduced filtering opportunities available to mitigate attacks ๐Ÿ˜ฌ. However, fingerprinting is still possible ๐Ÿซฃ.

Passive monitoring of network traffic can lead to an invasion of privacy by external actors at the endpoints of the monitored traffic ๐Ÿšจ๐Ÿ™ˆ. Encryption of traffic end to end is one method to obfuscate some of the potentially identifying information ๐Ÿซฅ.

For example, browser fingerprints are made up of many characteristics, including User Agents, HTTP Accept headers, browser plug-in details, screen size and color details, system fonts, and time zones ๐Ÿ–ฅ๏ธ๐ŸŽจ. A monitoring system could easily identify a specific browser and, by correlating other information, identify a specific user ๐Ÿ‘‘. Iconic behavior, honestly ๐Ÿ’€.

2.2. Traffic Optimization and Management โšก๐ŸŽ€

2.2.1. Load Balancers โœจ

okay bestie, load balancers are lowkey the unsung heroes ๐Ÿ’… A standalone load balancer is a function you can grab off the shelf, park in front of a pool of servers, configure appropriately, and boom, it balances traffic across the pool ๐ŸŽ€ This is a typical setup, periodt. Standalone load balancers rely on the plainly observable info in the packets they forward, plus industry-accepted standards for reading that info ๐Ÿฆ‹ Usually that's a 5-tuple of the connection. This setup terminates TLS sessions at the load balancer, so it becomes the endpoint instead of the server ๐Ÿ˜ญ Standalone load balancers count as middleboxes, but they're an integral part of server infrastructure that scales, so they're giving main character energy ๐Ÿ‘‘

Now the integrated load balancer is a different vibe ๐ŸŒธ It's developed to be an integral part of the service the server pool behind it provides. These load balancers can communicate state with their pool of servers to route flows to the right servers, and they run on non-standard, system-specific info and operational knowledge shared between the load balancer and its servers ๐Ÿงš

Both standalone and integrated load balancers can be deployed in pools for redundancy and load sharing ๐Ÿ’œ For high availability, it is important that when packets belonging to a flow start arriving at a different load balancer in the pool, those packets continue to be forwarded to the original server in the server pool โœจ This requirement matters more as the chance of such a load balancer change event goes up ๐Ÿ’€

Mobile operators deploy integrated load balancers to help maintain connection state as devices migrate ๐Ÿ“ฑ With so many mobile connected devices around, there's an acute need for connection-oriented protocols that keep connections alive after an endpoint migrates to a new network ๐Ÿซถ This connection persistence is a real challenge for multihomed anycast-based services, which large content owners and CDNs usually use ๐Ÿ˜ญ Here's the tea: switching networks mid-connection greatly increases the chances that packets get routed to a different anycast point of presence (POP), because the new network has different connectivity and Internet peering arrangements ๐Ÿ™ˆ The load balancer in the new POP, potentially thousands of miles away, won't have info about the new flow and won't be able to route it back to the original POP. Not me ๐Ÿ’€

To help with endpoint network migration challenges, anycast service operations are likely to employ integrated load balancers that, working with their pool servers, make sure client-to-server packets carry some extra identification in plainly observable parts of the packets (on top of the 5-tuple) ๐Ÿฆ‹ As noted in Section 2 of [RFC7258], careful consideration in protocol design to mitigate pervasive monitoring is important, while still ensuring manageability of the network ๐Ÿ”ฅ

An area for further research includes end-to-end solutions that would provide a simpler architecture and that may solve the CDN anycast issue ๐ŸŒˆ In that case, connections would be migrated to a CDN unicast address.

Current protocols, such as TCP, let stateless integrated load balancers work by availing them of additional plaintext info in client-to-server packets ๐Ÿ“ For TCP, that info can be encoded by using server-generated sequence numbers (that the client ACKs), segment values, lengths of the packets sent, etc. Using some of these mechanisms for load balancing negates some of the security assumptions behind those primitives (for example, that an off-path attacker guessing valid sequence numbers for a flow is hard) ๐Ÿ˜ฑ Another possibility is a dedicated mechanism for storing load-balancer state, like QUIC's proposed connection ID, which gives the load balancer visibility ๐Ÿ’– An identifier could be used for tracking purposes, but this may be an improvement over bolting it onto an unrelated transport signal ๐ŸŽ€

This method allows tight control by one of the endpoints and can be rotated to avoid roving client linkability. In other words, being a specific, separate signal, it can be governed in a way that's finely targeted at that specific use case ๐Ÿซถ

Some integrated load balancers can use additional plainly observable info even for today's protocols that aren't network-migration tolerant โœจ This extra info allows improved availability and scalability of the load-balancing operation ๐Ÿ”ฅ For example, BGP reconvergence can cause a flow to switch anycast POPs, even without a network change by any endpoint ๐Ÿ˜ญ Also, a system that can encode the identity of the pool server in plaintext info available in each incoming packet can provide stateless load balancing ๐Ÿงš This ability confers great reliability and scalability advantages, even if the flow stays in a single POP, because the load-balancing system doesn't have to keep state for each flow ๐Ÿ’… Even more importantly, there's no requirement to continuously synchronize such state among the pool of load balancers ๐Ÿ‘‘ An integrated load balancer repurposing limited existing bits in transport-flow state must maintain and synchronize per-flow state occasionally: using the sequence number as a cookie only works for so long, given that there aren't that many bits available to divide across a pool of machines ๐Ÿ’€

Mobile operators apply 3GPP Self-Organizing Networks (SONs) for intelligent workflows like content-aware Mobility Load Balancing (MLB) ๐ŸŒธ Where network load balancers have been configured to route according to application-layer semantics, an encrypted payload is effectively invisible ๐Ÿ™ˆ This has led to practices of intercepting TLS in front of load balancers to regain that visibility, but at a cost to security and privacy ๐Ÿ˜ญ

In future Network Function Virtualization (NFV) architectures, load-balancing functions are likely to be more prevalent (deployed at locations throughout operators' networks) ๐ŸŒˆ NFV environments will require some type of identifier (IPv6 flow identifiers, the proposed QUIC connection ID, etc.) for managing traffic using encrypted tunnels ๐Ÿฆ‹ The shift to increased encryption will affect visibility of flow information and will require adjustments to perform similar load-balancing functions within an NFV ๐Ÿ’œ

2.2.2. Differential Treatment Based on Deep Packet Inspection (DPI) ๐Ÿ’…

Data transfer capacity resources in cellular radio networks tend to be more constrained than in fixed networks ๐Ÿ“ถ This is because of variance in radio signal strength as a user moves around a cell, the rapid ingress and egress of connections as users hand off between adjacent cells, and temporary congestion at a cell ๐Ÿ˜ฉ Mobile networks handle this by queuing traffic according to its required bandwidth and acceptable latency. For example, a user is unlikely to notice a 20 ms delay when receiving a simple web page, an email, or an instant message response, but will very likely notice a rebuffering pause in a video playback or a VoIP call de-jitter buffer ๐Ÿ™ˆ Ideally, the scheduler manages the queue so that each user has an acceptable experience as conditions vary, but inferences of the traffic type have been used to make bearer assignments and set scheduler priority ๐ŸŽ€

Deep Packet Inspection (DPI) allows identification of applications based on payload signatures, instead of trusting well-known port numbers ๐Ÿ” Application- and transport-layer encryption make traffic type estimation more complex and less accurate, so it may not be effectual to use this info as input for queue management ๐Ÿฅบ With WebSockets [RFC6455], for example, many forms of communication (from isochronous/real-time to bulk/elastic file transfer) take place over HTTP port 80 or port 443, so only the messages and higher-layer data make application differentiation possible ๐Ÿงš If the monitoring system sees only "HTTP port 443", it can't tell apart application streams that would benefit from priority queuing from ones that wouldn't ๐Ÿ˜ตโ€๐Ÿ’ซ

Mobile networks especially rely on content- and application-based prioritization of Over-the-Top (OTT) services ๐Ÿ“ฒ Each application type or service has different delay/loss/throughput expectations, and each type of stream will be unknown to an edge device if encrypted ๐Ÿ”’ This impedes dynamic QoS adaptation ๐Ÿ’” An alternate way to achieve encrypted application separation is possible when the User Equipment (UE) requests a dedicated bearer for the specific application stream (known by the UE), using a mechanism like the one described in Section 6.5 of 3GPP TS 24.301 [TS3GPP] ๐ŸŒŸ The UE's request includes the Quality Class Indicator (QCI) appropriate for each application, based on their different delay/loss/throughput expectations ๐Ÿ’– However, UE requests for dedicated bearers and QCI may not be supported at the subscriber's service level, or in all mobile networks ๐Ÿ™ƒ

These effects and potential alternative solutions have been discussed at the accord BoF [ACCORD] at IETF 95 ๐Ÿ—ฃ๏ธ

This section does not consider traffic discrimination by service providers related to Net Neutrality, where traffic may be favored according to the service provider's preference instead of the user's preference ๐Ÿšซ These use cases are considered out of scope for this document as controversial practices ๐Ÿ™…โ€โ™€๏ธ

2.2.3. Network-Congestion Management ๐ŸŒง๏ธ

For 3GPP User Plane Congestion Management (UPCON) [UPCON], the focus is on the ability to understand content and manage networks during periods of congestion ๐Ÿšฆ Mitigating techniques such as deferred download, off-peak acceleration, and outbound roamers are a few examples of the areas explored in the associated 3GPP documents ๐Ÿ“š The documents describe the issues, describe the data used in managing congestion, and make policy recommendations ๐ŸŽ€

2.2.4. Performance-Enhancing Proxies โœจ

okay so performance-enhancing TCP proxies may do local retransmission at the network edge ๐Ÿฆ‹, and that includes mobile networks too. In TCP, duplicated ACKs get detected and possibly hidden when the proxy retransmits a segment that was lost on the mobile link, without the far end getting involved at all (see Section 2.1.1 of [RFC3135] and Section 3.5 of [MIDDLEBOXES]) ๐Ÿ’….

Operators say this edge optimization helps real-time transmission over long-delay Internet paths or networks with large capacity variation (like mobile/cellular networks) ๐Ÿ”ฅ. but ngl, these optimizations can also cause performance problems, for example if the characteristics of some packet streams start to vary a lot from what the proxy was designed for ๐Ÿ’€.

Some operators have stated that performance-enhancing proxies have a lower RTT to the client, so they determine how responsive flow control is ๐Ÿซถ. A lower RTT makes the flow-control loop more responsive to changes in mobile-network conditions and allows faster adaptation in a delay- and capacity-varying network caused by user mobility ๐ŸŒˆ.

Some providers also use service-provider-operated proxies to cut the control delay between the sender and a receiver on a mobile network, where resources are limited ๐Ÿงš. The RTT decides how fast a user's attempt to cancel a video gets recognized, and therefore how fast the traffic stops, which keeps unwanted video packets from piling up in the radio-scheduler queue ๐Ÿ˜ญ. If encryption gets in the way, performance-enhancing proxies could use routing overlay protocols to do the same job, but that comes with extra overhead ๐Ÿ™ˆ.

An application-type-aware network edge (middlebox) can go even further: it can control pacing, limit simultaneous HD videos, or prioritize active videos over new ones, etc. ๐ŸŽ€ Services at this more granular level are limited when encryption is used ๐Ÿ”’.

Performance-enhancing proxies are mainly used on long-delay links (satellite) ๐Ÿ›ฐ๏ธ, where they get access to the TCP header so they can send an early ACK and make the long-delay link seem shorter ๐Ÿ“. With some specific forms of flow control, TCP can actually be more efficient than alternatives such as proxies ๐Ÿ‘‘. The editors cannot cite research on this point specific to the performance-enhancing proxies described, but they agree this area could be explored ๐Ÿ”. The goal would be to figure out whether flow-control modifications could preserve end-to-end performance on long-delay path sessions where the TCP header is exposed ๐Ÿ’œ.

2.2.5. Caching and Content Replication near the Network Edge

the features and efficiency of some Internet services can be boosted by analyzing user flows and the applications they provide ๐ŸŒธ. For example, caching popular content at a location close to the requesting user can improve delivery efficiency. That means lower request response times, and less use of links on the international Internet when content is located remotely ๐ŸŒ. Service providers, through an authorized agreement where they act on someone's behalf, use DPI together with content-distribution networks to figure out if they can intervene effectively ๐Ÿ•ต๏ธโ€โ™€๏ธ. Encryption of packet contents at a given protocol layer usually makes DPI processing of that layer and higher layers impossible ๐Ÿ”. That being said, some content providers stop caching so they can control content delivery through encrypted end-to-end sessions ๐Ÿ™…โ€โ™€๏ธ. CDNs vary in how they deploy end-to-end encryption ๐Ÿคทโ€โ™€๏ธ. The business risk of losing control of content is a motivation, separate from privacy and pervasive monitoring, that is pushing these content providers toward end-to-end encryption ๐Ÿ’ฐ.

It's worth noting that caching was first supported in [RFC1945] and continued in the recent update of "Hypertext Transfer Protocol (HTTP/1.1): Caching" [RFC7234] ๐Ÿ“š. Some operators also run transparent caches that neither the user nor the origin opts in to. The use of these caches is controversial within the IETF and is generally ruled out by the use of HTTPS ๐Ÿšซ.

Content replication in caches (for example, live video and content protected by Digital Rights Management (DRM)) is used to make the most efficient use of limited bandwidth, which maximizes the user's Quality of Experience (QoE) ๐Ÿ“บ. Especially in mobile networks, duplicating every stream through the transit network increases backhaul cost for live TV ๐Ÿ’ธ. 3GPP Enhanced Multimedia Broadcast/Multicast Services (eMBMS) use trusted edge proxies to deliver the same stream to different users, using either unicast or multicast depending on channel conditions to the user ๐Ÿ“ก. There are ongoing efforts to support multicast inside carrier networks while still preserving end-to-end security. Automatic Multicast Tunneling (AMT), for instance, lets CDNs deliver a single (potentially encrypted) copy of a live stream to a carrier network over the public Internet. The carrier can then distribute that live stream as efficiently as possible within its own network using multicast ๐ŸŽถ.

Alternate approaches are in the early stages of being explored to allow caching of encrypted content ๐Ÿงช. These solutions need cooperation from content owners and fall outside the scope of what this document covers ๐Ÿซก. Content delegation allows for replication with possible benefits, but any form of delegation has the potential to affect the expectation of client-server confidentiality ๐Ÿ‘€.

2.2.6. Content Compression

on top of caching, lots of apps offer data compression to save the user's mobile data plan or make delivery over the mobile link more efficient ๐Ÿ’–. The compression proxy access can be built into a specific user-level application, like a browser, or it can be available to all applications through a system-level application ๐Ÿ“ฑ. The main method is for the mobile application to connect to a centralized server as a transparent proxy (the user does not opt in), with the data channel between the client application and the server using compression to cut down bandwidth use ๐Ÿ—œ๏ธ. The effectiveness of these systems depends on the server having access to unencrypted data flows ๐Ÿ”“.

Aggregated data stream content compression, which spans objects and data sources that can be treated as part of one unified compression scheme (e.g., through a shared segment store), is often effective at offloading data when there's a network element close to the receiver that can see all the content ๐Ÿ“ฆ.

2.2.7. Service Function Chaining

Service Function Chaining (SFC) is defined in RFC 7665 [RFC7665] and RFC 8300 [RFC8300] ๐Ÿ”—. As discussed in RFC 7498 [RFC7498], common SFC deployments may use classifiers to send traffic into VLANs instead of using a Network Service Header (NSH), as defined in RFC 8300 [RFC8300] ๐Ÿท๏ธ. As described in RFC 7665 [RFC7665], the ordered steering of traffic to support specific optimizations depends on a classifier's ability to determine the microflows. RFC 2474 [RFC2474] defines the following ๐Ÿ“–:

Microflow: a single instance of an application-to-application flow of packets which is identified by source address, destination address, protocol id, and source port, destination port (where applicable).

SFC currently depends on a classifier to at least identify the microflow ๐Ÿง . As the classifier's visibility drops from a 5-tuple to a 2-tuple, or if information above the transport layer becomes inaccessible, the SFC classifier can't do its job, and the service functions on the path may be adversely affected ๐Ÿ˜ฑ.

There are also mechanisms to protect security and privacy ๐Ÿ›ก๏ธ. In the SFC case, the layer below a network service header can be protected with session encryption ๐Ÿ”. The goal is to protect end-user data while keeping the intended functions of RFC 7665 [RFC7665] working at the same time ๐Ÿ’…โœจ.

2.3. Content Filtering, Network Access, and Accounting

Mobile networks and many ISPs operate under the regulations of their licensing government authority ๐Ÿ›๏ธ. These regulations include Lawful Intercept, adherence to Codes of Practice on content filtering, and application of court-order filters ๐Ÿ“œ. Such regulations assume network access to provide content filtering and accounting, as discussed below ๐Ÿ‘‡. As previously stated, the intent of this document is to document existing practices. The development of IETF protocols follows the guiding principles of [RFC1984] and [RFC2804], and explicitly does not support tools and methods that could be used for wiretapping and censorship ๐Ÿšซ๐Ÿ™…โ€โ™€๏ธ.

2.3.1. Content Filtering ๐Ÿšซโœจ

okay bestie, there are SO many reasons a service provider might block content ๐Ÿ’€: following orders from law enforcement or regulators, parental controls, enforcing content-based billing, or other reasons some people might find inappropriate ๐Ÿ™ˆ. If you want the full tea on filtering techniques and motivations (plus the IAB consensus on those mechanisms), see RFC 7754 [RFC7754] ๐Ÿ“š. This section documents some of the content-blocking stuff operators are actually doing right now, and how encryption changes the game ๐ŸŽฎ. Content blocking can also happen on endpoints or at the edge of enterprise networks, but those scenarios aren't covered here ๐Ÿ’….

In a mobile network, content filtering usually happens in the core network ๐Ÿ“ฑ. On other networks it could be in the core or at the edge ๐ŸŒ. A proxy gets installed that looks at the transport metadata of what users are viewing, and filters based on either a blacklist of sites or the user's predefined profile (like for age-sensitive content) ๐Ÿ‘€. There are lots of ways to do this, but one popular move is: the proxy spots a DNS lookup for a host name in a URL that's on the operator's blacklist ๐Ÿ•ต๏ธ. Later requests to that domain get rerouted to a proxy that checks whether the full URL matches a blocked URL on the list, and it returns a 404 if there's a match โŒ. All other requests should complete โœ…. This trick doesn't work when DNS traffic is encrypted (for example, by employing [RFC7858]) ๐Ÿ”. This method is also used by other types of network providers who enable traffic inspection but not modification ๐Ÿ”.

Content filtering via a proxy can also use an intercepting certificate ๐ŸŽ€. The client's session is terminated at the proxy so the traffic can be inspected in cleartext, and a new session is created from the intercepting device to the client's destination ๐Ÿ˜ณ. This is an opt-in strategy for the client, since the endpoint is configured to trust the intercepting certificate ๐Ÿซถ. Changes to TLS 1.3 don't affect this more invasive kind of interception, which has the potential to expose every HTTPS session to an active man in the middle (MITM) ๐Ÿ˜ฑ.

Another form of content filtering is parental control, where some users are deliberately denied access to age-sensitive content as a feature for the service subscriber ๐Ÿงธ. Some sites mix universal and age-sensitive content with filtering software ๐ŸŒˆ. In these cases, more granular (application-layer) metadata may be used to analyze and block traffic ๐Ÿ”Ž. Methods that accessed cleartext application-layer metadata stop working once sessions are encrypted ๐Ÿ™…. This granular filtering could happen at the endpoint or as a proxy service ๐Ÿ–ฅ๏ธ. However, the lack of ability to efficiently manage endpoints as a service reduces network service providers' ability to offer parental control ๐Ÿ˜ฉ.

2.3.2. Network Access and Data Usage ๐Ÿ“ถ

Approved access to a network is a prerequisite for requesting Internet traffic ๐Ÿ”‘.

However, there are cases (beyond parental control) when a network service provider currently redirects customer requests for content, which affects content accessibility ๐Ÿšง:

  1. The network service provider is doing the accounting and billing for the content provider, and the customer has not (yet) purchased the requested content ๐Ÿ’ธ.
  2. More content may not be allowed because the customer has hit their usage limit and needs to buy additional data service, which is the usual billing approach in mobile networks ๐Ÿ“Š.

Currently, some network service providers redirect the customer using HTTP redirect to a captive portal page that explains the reason for the block and the steps to proceed ๐Ÿชง. [RFC6108] describes one viable web notification system ๐Ÿ’Œ. When HTTP headers and content are encrypted, this properly stops mobile carriers from intercepting the traffic and doing an HTTP redirect ๐Ÿ”. As a result, some mobile carriers block customers' encrypted requests, which hurts customer experience because the blocking reason has to be conveyed some other way ๐Ÿ˜ค. The customer may need to call customer care to find out the reason and/or resolve the issue, which could stretch out the time needed to restore network access ๐Ÿ“ž. There are well-deployed SMS-based solutions that don't involve out-of-specification protocol interception, but this is still an unsolved problem for non-SMS users ๐Ÿ“ฉ.

Further, when the requested service is about to eat up the rest of the user's plan limits, the transmission could be terminated, and advance notifications may be sent to the user by their service provider to warn them before the plan runs out โฐ. If web content is encrypted, the network provider can't know the data transfer size at request time ๐Ÿ™ˆ. Without visibility into the application type and content size, the network would continue the transmission and stop the transfer only when the limit was reached ๐Ÿ›‘. A partial transfer may not be usable by the client, which wastes both network and user resources and possibly leads to customer complaints ๐Ÿ˜ญ. The content provider doesn't know a user's service plans or current usage, so it can't warn the user about plan exhaustion ๐Ÿซ .

Also, some mobile network operators sell tariffs that allow free-data access to certain sites, known as 'zero rating' ๐ŸŽ. A session to visit such a site incurs no additional cost or data usage to the user ๐Ÿ’–. For some implementations, zero rating is impacted if encryption hides the details of the content domain from the network ๐Ÿฅฒ.

2.3.3. Application Layer Gateways (ALGs) ๐Ÿšช

Application Layer Gateways (ALGs) assist applications to set connectivity across Network Address Translators (NATs), firewalls, and/or load balancers for specific applications running across mobile networks ๐Ÿงฉ. Section 2.9 of [RFC2663] describes the role of ALGs and their interaction with NAT and/or application payloads ๐Ÿ“–. ALGs are deployed with an aim to improve connectivity. However, it is an IETF best common practice recommendation that ALGs for UDP-based protocols be turned off [RFC4787] ๐Ÿ™…โ€โ™€๏ธ.

One example of an ALG in current use is aimed at video applications that use the Real-Time Streaming Protocol (RTSP) [RFC7826] primary stream as a means to identify related RTP/RTCP [RFC3550] flows at setup ๐ŸŽฅ. The ALG in this case relies on the 5-tuple flow information derived from RTSP to provision NAT or other middleboxes and provide connectivity ๐Ÿ› ๏ธ. Implementations vary, and two examples follow ๐Ÿ‘‡:

  1. Parse the content of the RTSP stream and identify the 5-tuple of the supporting streams as they are being negotiated.
  2. Intercept and modify the 5-tuple information of the supporting media streams as they are being negotiated on the RTSP stream, which is more intrusive to the media streams ๐Ÿ˜ฌ.

When RTSP-stream content is encrypted, the 5-tuple information within the payload is not visible to these ALG implementations, so they cannot provision their associated middleboxes with that information ๐Ÿ”’.

The deployment of IPv6 may well reduce the need for NAT and the corresponding requirement for ALGs ๐ŸŒ.

2.3.4. HTTP Header Insertion ๐Ÿ“

Some mobile carriers use HTTP header insertion (see Section 3.2.1 of [RFC7230]) to provide information about their customers to third parties or to their own internal systems [Enrich] ๐Ÿท๏ธ. Third parties use the inserted information for analytics, customization, advertising, cross-site tracking of users, customer billing, or selectively allowing or blocking content ๐Ÿ‘€. HTTP header insertion is also used to pass information internally between a mobile service provider's sub-systems, thus keeping the internal systems loosely coupled ๐Ÿงถ. When HTTP connections are encrypted to protect user privacy, mobile network service providers cannot insert headers to accomplish the (sometimes controversial ๐Ÿ‘€) functions above ๐Ÿ”.

Guidance from the Internet Architecture Board has been provided in "Design Considerations for Metadata Insertion" [RFC8165] ๐Ÿ›๏ธ. The guidance asserts that designs that share metadata only by explicit actions at the host are preferable to designs in which middleboxes insert metadata โœ…. Alternate notification methods that follow this and other guidance would be helpful to mobile carriers ๐Ÿ™Œ.

3. Encryption in Hosting and Application SP Environments โ˜๏ธ

Hosted environments have had varied requirements in the past for encryption ๐ŸŒฅ๏ธ, with many businesses choosing to use these services primarily for data and applications that are not business or privacy sensitive. A shift happened before the revelations on surveillance/passive monitoring, when businesses started asking hosted environments for higher levels of security so that additional applications and services could be hosted externally ๐Ÿ“ˆ. Businesses that understood the threats of monitoring in hosted environments increased that pressure for more secure access and session encryption, to protect the management of hosted environments as well as the data and applications ๐Ÿ”๐Ÿ’ช.

3.1. Management-Access Security ๐Ÿ—๏ธ

Hosted environments may have multiple levels of management access, where some may be strictly for the Hosting service provider (infrastructure that may be shared among customers), and some may be accessed by a specific customer for application management ๐Ÿข. In some cases, there are multiple levels of hosting service providers, further complicating the security of management infrastructure and the associated requirements ๐ŸŒ€.

Hosting service provider management access is typically segregated from other traffic with a control channel and may or may not be encrypted depending upon the isolation characteristics of the management session ๐Ÿงฑ. Customer access may be through a dedicated connection, but discussion for that connection method is out of scope for this document ๐Ÿ™….

In overlay networks (e.g., Virtual eXtensible Local Area Network (VXLAN), Geneve, etc.) that are used to provide hosted services, management access for a customer to support application management may depend upon the security mechanisms available as part of that overlay network ๐Ÿง…. While overlay-network data encapsulations may be used to indicate the desired isolation, this is not sufficient to prevent deliberate attacks that are aware of the use of the overlay network โš ๏ธ. [GENEVE-REQS] describes requirements to handle attacks ๐Ÿ“‹. It is possible to use an overlay header in combination with IPsec or other encrypted traffic sessions, but this adds the requirement for authentication infrastructure and may reduce packet transfer performance ๐Ÿข. The use of an overlay header may also be deployed as a mechanism to manage encrypted traffic streams on the network-by-network service providers ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘. Additional extension mechanisms to provide integrity and/or privacy protections are being investigated for overlay encapsulations ๐Ÿ”ฌ. Section 7 of [RFC7348] describes some of the security issues possible when deploying VXLAN on Layer 2 networks ๐Ÿง. Rogue endpoints can join the multicast groups that carry broadcast traffic, for example ๐Ÿ˜ฑ.

3.1.1. Monitoring Customer Access โœจ

Okay, so hosted apps that let customers do some management stuff ๐Ÿ–ฅ๏ธ might also need the hosting provider to keep an eye on things ๐Ÿ‘€. That monitoring could cover access controls like authentication, authorization, and accounting, making sure the filtering and firewall rules are continuously being met ๐Ÿ”. Customers can get in at more than one level, like regular user access and admin access ๐Ÿ‘‘. The provider may need to check access through session monitoring or by going through logs, just so the security SLAs for access management are actually being met ๐Ÿ“‹. Using session encryption to reach hosted environments means the access restrictions can only look at the metadata described below ๐Ÿ™ˆ. Monitoring and filtering can happen at either of these levels:

  • 2-tuple: IP level, using source and destination IP addresses alone, or
  • 5-tuple: IP and protocol level, using a source IP address, destination IP address, protocol number, source port number, and destination port number.

Session encryption at the application level, like TLS, still lets you see the 5-tuple right now ๐Ÿ”“. IP-level encryption, like IPsec in tunnel mode, hides the original 5-tuple and can make it harder to restrict traffic with filtering ๐Ÿ˜ฌ. This shift might not affect every hosting provider setup, though ๐Ÿคทโ€โ™€๏ธ, because other controls can be used to authenticate sessions, or customers might have to connect to the organization first before reaching the hosted application ๐Ÿข. Access may need to shift so the same level of access-control management is kept ๐Ÿ’…. Logs can also be used to check that access-control restrictions are met, but they're only as good as what's visible at the point where the logs get made, since encryption limits that ๐Ÿ“. Log analysis is out of scope for this document ๐Ÿ™ƒ.

3.1.2. SP Content Monitoring of Applications ๐Ÿ”

Okay, these observations apply to any IT org that's responsible for delivering services ๐Ÿ’ผ. That could be to third parties, like a web-based service, or to internal customers in an enterprise, like a data-processing system that's part of the business ๐Ÿฌ.

Data center operators have a bunch of processes that look at the contents of IP packets (passive methods of measurement, as defined in [RFC7799]) ๐Ÿ‘€. These are usually for service assurance or security as part of running the data center ๐Ÿ›ก๏ธ.

Examples include:

  • Network-Performance Monitoring / Application-Performance Monitoring
  • Intrusion defense/prevention systems
  • Malware detection
  • Fraud monitoring
  • Application DDOS protection
  • Cyber-attack investigation
  • Proof of regulatory compliance
  • Data leakage prevention

Lots of application service providers just end sessions to and from the Internet at the edge of the data center through SSL/TLS offload in the load balancer โš–๏ธ. That not only takes some load off the application servers, it also makes it easier to monitor session content ๐Ÿ™Œ.

But sometimes encryption deeper in the data center is needed to protect personal information or to meet industry regulations, like the ones set by the Payment Card Industry (PCI) ๐Ÿ”’. In those situations, people have used different methods so service assurance and security processes can still get at unencrypted data ๐Ÿ”“. Some of these are SSL/TLS decryption in dedicated units that then forward packets to SP-controlled tools, or real-time or post-capture decryption inside the tools themselves ๐Ÿงฐ. A bunch of these tools do passive decryption by handing the monitoring device the server's private key ๐Ÿ—๏ธ. The move toward more use of the forward-secret key exchange mechanism affects how these techniques work ๐Ÿ˜ญ.

Data center operators might also keep packet recordings so they can investigate attacks, breaches of internal processes, and so on ๐Ÿ•ต๏ธโ€โ™€๏ธ. In some industries, organizations might be legally required to keep this info for compliance ๐Ÿ“œ.

Investigations like this have used access to the unencrypted contents of the packet ๐Ÿ”Ž. Other ways of investigating attacks or process breaches will rely on endpoint information, like logs ๐Ÿชต. As noted before, logs often don't have complete info, and that's seen as a concern, so some people end up relying on session access for extra details ๐Ÿฅฒ.

Application service providers may offer content-level monitoring options to catch intellectual property leakage or other attacks ๐Ÿšจ. In service provider environments where Data Loss Prevention (DLP) was set up on the assumption that the provider has cleartext access to session streams, encrypted streams stop those setups from searching for the keywords or phrases configured in the DLP system ๐Ÿšซ. DLP is often used to prevent leakage of Personally Identifiable Information (PII), financial account information, Personal Health Information (PHI), and PCI data ๐Ÿ’ณ. If session encryption is terminated at a gateway before reaching these services, DLP on session data can still happen ๐Ÿ™Œ. Where to terminate encryption for hosted environments is a risk decision made between the application service provider and the customer organization, based on their priorities โš–๏ธ. DLP can be done at the server for the hosted application, and on an end user's system in an organization, as alternate or additional content monitoring points ๐Ÿ’ป. This isn't really done that often in a service provider environment though ๐Ÿค”.

Application service providers, by their very nature, control the application endpoint ๐Ÿ . So a lot of the info gleaned from sessions is still available on that endpoint โœ…. But when there's a gap in the application's logging and debugging capabilities, providers have ended up accessing data in transport for monitoring and debugging ๐Ÿ˜….

3.2. Hosted Applications ๐Ÿข

Organizations are increasingly using hosted applications instead of in-house solutions that need equipment and software maintenance ๐Ÿ“ˆ. Examples include Enterprise Resource Planning (ERP) solutions, payroll service, time and attendance, travel and expense reporting, and more ๐Ÿงพ. Organizations may need some level of management access to these hosted applications and will typically require session encryption or a dedicated channel for that activity ๐Ÿ”.

In other cases, a hosting service provider may fully manage hosted applications, with SLA expectations for availability and performance, as well as for security functions like malware detection ๐Ÿ›ก๏ธ. Because these hosted environments are sensitive, encryption is already really common ๐Ÿ™Œ. Any impact may be similar to an enterprise that uses tools inside the hosted environment to monitor traffic ๐Ÿ”ง. No additional concerns were reported in the call for contributions ๐Ÿ“ญ.

3.2.1. Monitoring Managed Applications ๐Ÿ“Š

Performance, availability, and other SLA aspects are often collected through passive monitoring ๐Ÿ•ฐ๏ธ. For example:

  • Availability: ability to establish connections with hosts to access applications, and to tell apart network-related and host-related causes of unavailability ๐Ÿ”Œ.
  • Performance: ability to complete transactions within a target response time, and to tell apart network-related and host-related causes of excess response time ๐Ÿข.

Here, like with all passive monitoring, the accuracy of inferences depends on the cleartext info available ๐Ÿ”. Encryption tends to reduce that info, and so reduces the accuracy of each inference ๐Ÿ“‰. Passive measurement of some metrics will be impossible with encryption that stops inferring packet correspondence across multiple observation points, like for packet-loss metrics ๐Ÿ’”.

Application logging currently doesn't have enough detail to make accurate inferences in an environment with more encryption ๐Ÿชต. That makes it a gap for passive performance monitoring ๐Ÿ•ณ๏ธ. (This could be closed if log details are enhanced in the future โœจ.)

3.2.2. Mail Service Providers ๐Ÿ“ฌ

Mail (application) service providers vary in what they offer ๐Ÿ’Œ. Options may include a fully hosted solution, where mail is stored outside an organization's environment on mail service provider equipment ๐Ÿฌ. Or the offering may be limited to monitoring incoming mail to remove spam (Section 5.1), phishing attacks (Section 5.3), and malware (Section 5.6) before mail gets sent to the organization's equipment ๐Ÿ—‘๏ธ. In both of these cases, the content of messages and headers is monitored to detect and remove messages that are undesirable or may be considered an attack ๐Ÿšจ.

STARTTLS should have zero effect on anti-spam efforts for SMTP traffic ๐Ÿ’…. Anti-spam services could easily be performed on an SMTP gateway, which removes the need for TLS decryption services ๐Ÿ™Œ. The impact to anti-spam service providers should just be a change in tools, where middleboxes were deployed to do these functions ๐Ÿ”ง.

Lots of efforts are emerging to improve user-to-user encryption, including promotion of PGP and newer efforts like Dark Mail [DarkMail] ๐Ÿ”โœจ. Of course, content-based spam filtering won't be possible on encrypted content ๐Ÿ˜ฉ.

3.3. Data Storage ๐Ÿ—„๏ธ

Tons of service offerings give you hosted storage solutions ๐Ÿ“ฆ. This section describes the different offerings, details the monitoring for each type of service, and explains how encryption may affect the operational and security monitoring that's done ๐Ÿ”.

Trends in data storage encryption for hosted environments include a range of options ๐ŸŒˆ. The list below is intentionally high-level ๐Ÿซถ. It describes the types of encryption used alongside data storage that may be hosted remotely, meaning the storage is physically located in an external data center and needs transport over the Internet ๐ŸŒ. Monitoring options will vary with each encryption approach described below ๐Ÿ“‹. In most cases, solutions have been identified that keep encryption going while still keeping management capabilities through logging or other means ๐ŸŽ€.

3.3.1. Object-Level Encryption ๐Ÿ”

okay so, for higher security and/or privacy of data and applications ๐Ÿ’…, options that give you end-to-end encryption of the data from the user's desktop or server all the way to the storage platform may be preferred ๐Ÿซถ. This covers any solution that encrypts data at the object level, not the transport level ๐ŸŽ€. The encryption can happen with libraries on the system or at the application level, which includes file-encryption services through a file manager ๐Ÿ—‚๏ธ.

Object-level encryption is super useful when data storage is hosted, or when the storage location gets picked based on capacity or a set of parameters that automate the decisions ๐Ÿค–. So like, large datasets that get accessed infrequently could be sent to an off-site storage platform at an external hosting service, data that gets accessed a lot may be stored locally, or the choice of where to store a dataset could be based on the transaction type ๐Ÿ“. Object-level encryption gets its own group in this document because data may be stored in multiple locations, including off-site remote storage platforms ๐ŸŒ. If session encryption is also used, the protocol is likely to be TLS ๐Ÿ”’.

Impacts to monitoring may include access to content inspection for data-leakage prevention and similar technologies, depending on where they sit in the network ๐Ÿ‘€.

3.3.1.1. Monitoring for Hosted Storage

Monitoring of hosted storage solutions that use host-level (object) encryption is what this subsection is all about โœจ. Host-level encryption can be employed for backup services, and occasionally for external storage services (operated by a third party) when internal storage limits are exceeded ๐Ÿ“ฆ.

Monitoring of data flows to hosted storage solutions is performed for security and operational purposes ๐Ÿ›ก๏ธ. The security side may be there to detect anomalies in the data flows, which could include changes to destination, the amount of data transferred, or alterations in the size and frequency of flows ๐Ÿ•ต๏ธโ€โ™€๏ธ. The operational side covers capacity and availability monitoring ๐Ÿ“Š.

3.3.2. Disk Encryption, Data at Rest (DAR) ๐Ÿ’พ

There are multiple ways to get full disk encryption for stored data, bestie ๐Ÿงš. Data can be encrypted while it's in transit close to the storage media with solutions like Controller Based Encryption (CBE), or inside the drive system with Self-Encrypting Drives (SEDs) ๐Ÿ”. Session encryption is typically paired with these data-at-rest (DAR) solutions so the data in transit is protected too ๐Ÿฆ‹. Transport encryption is likely to be via TLS ๐Ÿ’œ.

3.3.2.1. Monitoring Session Flows for DAR Solutions

Monitoring the transport of data to storage platforms, where object-level encryption happens close to or on the storage platform, is pretty much the same as what we just covered in Section 3.3.1.1 ๐Ÿ™Œ. The big difference with these solutions is the possible exposure of sensitive information, which could include privacy-related data, financial information, or intellectual property if session encryption via TLS is not deployed ๐Ÿ˜ฌ. Session encryption is typically used with these solutions, but that decision should come out of a risk assessment ๐Ÿ“.

There are use cases where DAR or disk-level encryption is required ๐Ÿšจ. Examples include preventing exposure of data if physical disks are stolen or lost ๐Ÿ’€. In the case where TLS is in use, monitoring and the exposure of data is limited to a 5-tuple ๐ŸŽฏ.

3.3.3. Cross-Data-Center Replication Services ๐ŸŒ

Storage services also include data replication, which may happen between data centers and may use Internet connections to tunnel traffic ๐Ÿ›ค๏ธ. The traffic may use an Internet Small Computer System Interface (iSCSI) [RFC7143] or Fibre Channel over TCP/IP (FCIP) [RFC7146] encapsulated in IPsec ๐Ÿ”—. Either transport or tunnel mode may be used for IPsec, depending on the termination points of the IPsec session: transport mode if it's terminated at the storage platform itself, and tunnel mode if it's terminated at a gateway device at the edge of the data center ๐Ÿšช.

3.3.3.1. Monitoring IPsec for Data Replication Services

Monitoring the data flows between data centers (for data replication) may be performed for security and operational purposes ๐Ÿง. It would typically focus more on the operational side, since these flows are basically virtual private networks (VPNs) between data centers ๐Ÿข. Operational considerations include capacity and availability monitoring ๐Ÿ“ˆ. The security monitoring may be there to detect anomalies in the data flows, similar to what was described in Section 3.3.1.1 ๐Ÿ”. If IPsec tunnel mode is in use, monitoring is limited to a 2-tuple; with transport mode, it's limited to a 5-tuple ๐ŸŽ€.


4. Encryption for Enterprises ๐Ÿข๐Ÿ’–

Encrypting network traffic inside a private enterprise is a growing trend, especially in industries with audit and regulatory requirements ๐Ÿ“‹. Some enterprise-internal networks are almost completely TLS and/or IPsec encrypted ๐Ÿ”’โœจ.

For each type of monitoring, different techniques and access to parts of the data stream are part of current practice ๐Ÿงฉ. As we move toward more encryption, alternate methods of monitoring for operational purposes may be necessary to reduce the practice of breaking encryption (other policies may apply in some enterprise settings) ๐Ÿ™.

4.1. Monitoring Practices of the Enterprise ๐Ÿ‘‘

Large corporate enterprises own the platforms, data, and network infrastructure that provide critical business services to their user communities ๐Ÿ›๏ธ. That means these enterprises are responsible for all aspects of the performance, availability, security, and quality of experience for all user sessions ๐Ÿ’…. In many of these enterprises, users are required to consent to the enterprise monitoring all their activities as a condition of employment ๐Ÿ“. The subsections of Section 4 talk about techniques that access data beyond the data-link, network, and transport-level headers that are typically used in service provider networks, since the corporate enterprise owns the data ๐Ÿ—๏ธ. These responsibilities break down into three basic areas:

  1. Security Monitoring and Control ๐Ÿ›ก๏ธ
  2. Application-Performance Monitoring and Reporting ๐Ÿ“ˆ
  3. Network Diagnostics and Troubleshooting ๐Ÿ”ง

In each of these areas, technical support teams use collection, monitoring, and diagnostic systems ๐Ÿง‘โ€๐Ÿ’ป. Some organizations currently use attack methods such as replicated TLS server RSA private keys to decrypt passively monitored copies of encrypted TLS packet streams ๐Ÿ’€.

For an enterprise to avoid costly application downtime and deliver expected levels of performance, protection, and availability, some forms of traffic analysis are currently used, sometimes including examination of packet payloads ๐ŸŽฏ.

4.1.1. Security Monitoring in the Enterprise ๐Ÿ•ต๏ธโ€โ™€๏ธ

Enterprise users are subject to the policies of their organization and the jurisdictions where the enterprise operates ๐ŸŒธ. So proxies may be in use to:

  1. intercept outbound session traffic to monitor for intellectual property leakage (by users, malware, and trojans) ๐Ÿ”
  2. detect viruses/malware entering the network via email or web traffic ๐Ÿ“ง
  3. detect malware/trojans in action, possibly connecting to remote hosts ๐Ÿฆ 
  4. detect attacks (cross-site scripting and other common web-related attacks) ๐Ÿšซ
  5. track misuse and abuse by employees ๐Ÿ‘€
  6. restrict the types of protocols permitted to/from the entire corporate environment ๐Ÿšง
  7. detect and defend against Internet DDoS attacks, including both volumetric and Layer 7 attacks ๐Ÿ›ก๏ธโšก

A significant portion of malware hides its activity within TLS or other encryption protocols ๐Ÿ˜ฑ. That includes lateral movement, Command and Control (C&C), and Data Exfiltration ๐Ÿฅฒ.

The impact on a fully encrypted internal network would include cost and a possible loss of detection capabilities, tied to the transformation of the network architecture and the tools used for monitoring ๐Ÿ’ธ. The detection capabilities through traffic fingerprinting, logging, host-level transaction monitoring, and flow analysis would vary depending on access to a 2-tuple or 5-tuple in the network too ๐ŸŽ€.

Security monitoring in the enterprise may also be done at the endpoint, with numerous current solutions that address the same problems as some of the solutions mentioned above ๐Ÿ’ป. Since the software agents operate on the device, they can monitor traffic before it's encrypted, watch for behavior changes, and lock devices down to use only the expected set of applications ๐Ÿ”. Session encryption does not affect these solutions ๐Ÿ™Œ. Some might argue that scaling is an issue in the enterprise, but some large enterprises have used these tools effectively ๐Ÿ’ช.

Bring-your-own-device (BYOD) policies within organizations may limit the scope of monitoring permitted with these alternate solutions ๐Ÿ“ฑ. Network endpoint assessment (NEA) or the use of virtual hosts could help bridge that monitoring gap ๐ŸŒ‰.

4.1.2. Monitoring Application Performance in the Enterprise โฑ๏ธ

There are two main goals of monitoring, bestie ๐ŸŽฏ:

  1. Assess traffic volume on a per-application basis for billing, capacity planning, optimization of geographical location for servers or proxies, and other goals ๐Ÿ’ฐ.
  2. Assess performance in terms of application response time and user-perceived response time โšก.

Network-based application-performance monitoring tracks application response time by user and by URL, which is the info that application owners and the lines of business request ๐Ÿ“Š. CDNs add complexity when you're trying to figure out the ultimate endpoint destination ๐ŸŒ. By their very nature, this information is obscured by CDNs and encrypted protocols, which adds a new challenge for troubleshooting network and application problems ๐Ÿ˜ฉ. URL identification lets the application support team do granular, code-level troubleshooting at multiple tiers of an application ๐Ÿง‘โ€๐Ÿ”ง.

New methodologies to monitor user-perceived response time and to separate network time from server time are evolving ๐Ÿฆ‹. For example, the IPv6 Destination Option Header (DOH) implementation of Performance and Diagnostic Metrics (PDM) [RFC8250] will provide this โœจ. Using PDM with IPsec Encapsulating Security Payload (ESP) Transport Mode requires placing the PDM DOH within the ESP-encrypted payload, so timing and sequence number information doesn't leak that could be useful to an attacker ๐Ÿ™ˆ. Using PDM DOH may also introduce some security weaknesses, including a timing attack, as described in Section 4 of [RFC8250] ๐Ÿ˜ญ. For these and other reasons, [RFC8250] requires that the PDM DOH option be explicitly turned on by administrative action in each host where this measurement feature will be used ๐Ÿ”‘.

4.1.3. Diagnostics and Troubleshooting for Enterprise Networks ๐Ÿ”

One primary key to network troubleshooting is being able to follow a transaction through the various tiers of an application, so you can isolate the fault domain ๐Ÿ—บ๏ธ. Lots of factors tied to the structure of the modern data center and multi-tiered applications have made it hard to follow a transaction in network traces without being able to examine some of the packet payload ๐Ÿ˜ตโ€๐Ÿ’ซ. Alternate methods, like log analysis, need to improve to fill that gap ๐Ÿซถ.

4.1.3.1. Address Sharing (NAT) ๐ŸŒธ

CDNs, NATs, and Network Address and Port Translators (NAPTs) totally obscure the ultimate endpoint designation ๐Ÿซฃ (see [RFC6269] for types of address sharing and a list of issues). So when you're troubleshooting a problem for one specific end user, you need stuff like the IP address and other identifying info to get their issue fixed fast โฑ๏ธโœจ

NAT is also super popular with the lower layers of data-center infrastructure ๐Ÿข Firewalls, load balancers, web servers, app servers, and middleware servers all regularly NAT the source IP of packets. Now add in the fact that load balancers randomly allocate users to all these devices, and the network troubleshooter is often left with very few options ๐Ÿ˜ญ in today's environment, mostly because applications have poor logging. So network troubleshooting ends up tracing packets at a particular layer, decrypting them, and looking at the payload to find a user session ๐Ÿ•ต๏ธโ€โ™€๏ธ

This kind of bulk packet capture and bulk decryption is frequently used when troubleshooting a large and complex application ๐Ÿ’… Endpoints typically don't have the capacity to handle this level of network packet capture, so out-of-band networks of robust packet brokers and network sniffers that use techniques such as copies of TLS RSA private keys get the job done today ๐Ÿ”‘

4.1.3.2. TCP Pipelining / Session Multiplexing ๐Ÿฆ‹

TCP pipelining / session multiplexing, used mainly by middleboxes today, lets multiple end-user sessions share the same TCP connection ๐Ÿงฉ This raises a few points of interest as encryption use goes up. TCP session multiplexing should still be possible when TLS or TCPcrypt is in use, since the TCP header information is exposed, which leaves the 5-tuple accessible ๐Ÿ‘€ Using TCP session multiplexing with an IP-layer encryption, e.g., IPsec, that only exposes a 2-tuple would not be possible ๐Ÿ™…โ€โ™€๏ธ Troubleshooting with encrypted sessions from the middlebox may limit you to logs from the endpoints doing the TCP multiplexing, or from the middleboxes before any additional encryption that may be added to tunnel the TCP multiplexed traffic ๐Ÿ“‹

Increased use of HTTP/2 will likely make session multiplexing even more common, both on the Internet and in the private data center ๐Ÿš€ HTTP pipelining requires both the client and server to participate. Once packets are encrypted, visibility is lost, so the use of HTTP pipelining gets hidden from any monitoring that happens outside of the endpoint or proxy solution ๐Ÿซฅ Since HTTP pipelining happens between a client and server, logging may need to improve in some servers and clients for debugging purposes, if that isn't already possible ๐Ÿ› ๏ธ Visibility for middleboxes includes anything exposed by TLS and the 5-tuple โœจ

4.1.3.3. HTTP Service Calls ๐Ÿ“ž

When an application server makes an HTTP service call to back-end services on behalf of a user session, it uses a completely different URL and a completely different TCP connection ๐Ÿ™ƒ So troubleshooting via network trace means matching up the user request with the HTTP service call, which is a whole thing ๐Ÿ˜ฉ Some organizations do this today by decrypting the TLS packet and inspecting the payload. Logging just hasn't been adequate for their purposes ๐Ÿคทโ€โ™€๏ธ

4.1.3.4. Application-Layer Data ๐Ÿ“ฆ

Lots of applications use text formats such as XML to transport data or application-level information ๐Ÿ“„ When transaction failures happen and the logs aren't enough to figure out the cause, network and application teams have to work together, and each one has a different view of the failure ๐Ÿ‘ฏ With this method, the network packet gets correlated with the actual problem the application experienced, so the root cause can be found ๐Ÿ” The inability to access the payload blocks this method of troubleshooting, and that's the tea ๐Ÿซ–

4.2. Techniques for Monitoring Internet-Session Traffic ๐ŸŒ

Corporate networks commonly monitor outbound session traffic to detect or prevent attacks, and also to guarantee service-level expectations ๐Ÿ›ก๏ธ When encryption is in use, alternate options are sometimes available through a proxy or a shift to monitoring at the endpoint. In both cases, scaling is a concern, and advancements that support this shift in monitoring practices will help the deployment of end-to-end encryption ๐Ÿ’œ

Some DLP tools intercept traffic at the Internet gateway or proxy services, with the ability to MITM encrypted session traffic (HTTP/TLS). Ngl, that's a lot ๐Ÿ˜ฌ These tools may monitor for keywords important to the enterprise, including business-sensitive information such as trade secrets, financial data, PII, or PHI. Various techniques are used to intercept HTTP/TLS sessions for DLP and other purposes, and they can be misused as described in "Summarizing Known Attacks on Transport Layer Security (TLS) and Datagram TLS (DTLS)" [RFC7457] (see Section 2.8) ๐Ÿ™ˆ

Note: many corporate policies allow access to personal financial and other sites for users without interception. Another option is to terminate a TLS session prior to the point where monitoring is performed. Aside from exposing user information to the enterprise, MITM devices are often subject to severe security defects, which can lead to exposure of user data to attackers outside the enterprise user data [UserData] ๐Ÿ’€ In addition, implementation errors in middleboxes have led to major difficulties in deploying new versions of security protocols such as TLS [Ben17a] [Ben17b] [Res17a] [Res17b] ๐Ÿ˜ญ

Monitoring traffic patterns for anomalous behavior is super common ๐Ÿ‘€ That includes increased flows of traffic that could be bursty at odd times, or flows to unusual destinations (small or large amounts of traffic). This traffic may or may not be encrypted, and various methods of encryption, or just obfuscation, may be used ๐ŸŽญ

Web-filtering devices are sometimes used to allow access only to well-known sites that were found to be legitimate and free of malware on the last check by a web-filtering service company ๐Ÿงน One common example of web filtering in a corporate environment is blocking access to sites that aren't well known to these tools, for the purpose of blocking malware. This may be noticeable to researchers who can't access colleagues' individual sites, or to anyone trying new websites that haven't been screened yet ๐Ÿ”ฌ When new sites are needed, they can typically be added after the user gives notification or after log alerts and review ๐Ÿ“ Account access for personal mail may be blocked in corporate settings to prevent another vector for malware from entering, and to stop intellectual property from leaking out of the network ๐Ÿ” This method still works with increased use of encryption, and it may be more effective at preventing malware from entering the network ๐Ÿ’ช Some enterprises may be more aggressive in their filtering and monitoring policy, which can cause undesirable outcomes ๐Ÿ˜ฌ

Web-filtering solutions monitor and potentially restrict access based on the destination URL (when available), server name, IP address, or DNS name ๐Ÿ—บ๏ธ A complete URL may be used when access restrictions vary for content on a particular site, or for the sites hosted on a particular server. In some cases, the enterprise may use a proxy to access this additional information, based on their policy ๐Ÿง This type of restriction is intended to be transparent to users in a corporate setting, since the typical corporate user doesn't access sites that aren't well known to these tools ๐Ÿซ  However, the mechanisms these web filters use for monitoring and enforcement have the potential to cause access issues or other user-visible failures ๐Ÿšซ

Desktop DLP tools are used in some corporate environments too ๐Ÿ’ป Since these tools live on the desktop, they can intercept traffic before it's encrypted, and they may provide a continued way to monitor leakage of intellectual property from the desktop to the Internet or attached devices ๐Ÿ”’

DLP tools can also be deployed by network service providers, since they have the vantage point of monitoring all traffic paired with destinations off the enterprise network ๐ŸŒ This makes an effective solution for enterprises that allow "bring-your-own" devices when the traffic is not encrypted, and for devices outside the desktop category (such as mobile phones) that are used on corporate networks anyway ๐Ÿ“ฑ

Enterprises may wish to reduce the traffic on their Internet access facilities by monitoring requests for within-policy content and caching it ๐Ÿง  In this case, repeated requests for Internet content spawned by URLs in email trade newsletters or other sources can be served within the enterprise network ๐Ÿ“จ Gradual deployment of end-to-end encryption would tend to reduce the cacheable content over time, owing to the concealment of critical headers and payloads ๐Ÿ™ˆ Many forms of enterprise-performance management may be similarly affected ๐Ÿ“‰ It should be noted that transparent caching is considered an anti-pattern ๐Ÿšฉ


5. Security Monitoring for Specific Attack Types ๐Ÿšจ

Effective incident response today requires collaboration at Internet scale ๐Ÿค This section will only focus on efforts of collaboration at Internet scale that are dedicated to specific attack types. They may require new monitoring and detection techniques in an increasingly encrypted Internet ๐Ÿ” As mentioned previously, some service providers have been interfering with STARTTLS to prevent session encryption, so they can do the stuff they're used to, like injecting ads or monitoring ๐Ÿ‘€ By detailing the current monitoring methods used for attack detection and response, this information can be used to devise new monitoring methods that will be effective in the changed Internet, through collaboration and innovation โœจ

Changes to improve encryption or to deploy OS methods have little impact on the detection of malicious actors ๐Ÿซถ Malicious actors have had access to strong encryption for quite some time ๐Ÿ˜ค Incident responders, in many cases, have developed techniques to locate malicious traffic within encrypted sessions ๐Ÿ•ต๏ธโ€โ™€๏ธ The following section will note some examples where detection and mitigation of such traffic has been successful ๐ŸŽ‰

5.1. Mail Abuse and Spam ๐Ÿ“ง

Okay bestie, the biggest squad effort against mail abuse comes from the Messaging, Malware, Mobile Anti-Abuse Working Group (M3AAWG) [M3AAWG] ๐Ÿ’…. Mail abuse gets shut down directly by mail administrators, who can stop ongoing abuse coming from large-scale providers that take part in using the Abuse Reporting Format (ARF) agents standardized in the IETF [RFC5965] [RFC6430] [RFC6590] [RFC6591] [RFC6650] [RFC6651] [RFC6652] ๐Ÿซถ. The ARF agent reports abuse messages straight to the right service provider, who can then act to stop or mitigate the abuse.

Since this technique uses the actual message, SMTP over TLS between mail gateways won't affect how useful it is โœจ. But remember, as we said before, SMTP over TLS only protects data while it's in transit ๐Ÿ™ˆ. The messages can still be exposed on mail servers or mail gateways if a user-to-user encryption method isn't used. And current user-to-user email encryption (S/MIME and PGP) doesn't encrypt the email header information that ARF and the service provider operators rely on to mitigate abuse. Not me getting stuck on that little detail ๐Ÿ˜ญ.

Another effort, "Domain-based Message Authentication, Reporting, and Conformance (DMARC)" [RFC7489], is a mechanism for policy distribution ๐Ÿ“œ. It enables increasingly strict handling of messages that fail authentication checks, ranging from no action, through altered delivery, up to message rejection. DMARC is also not affected by the use of STARTTLS ๐Ÿ’–.

5.2. Denial of Service ๐Ÿ›ก๏ธ

Responses to Denial-of-Service (DoS) attacks are typically coordinated by the service provider community with a few key vendors who have tools to help with mitigation ๐Ÿ”ฅ. Traffic patterns are figured out from each DoS attack so the traffic flows can be stopped or rate limited using patterns unique to that particular attack.

Data types used in monitoring traffic for DDoS are described in the documents being developed by the DDoS Open Threat Signaling (DOTS) [DOTS] Working Group ๐Ÿงš. The impact of encryption can be understood from their documented use cases [DDOS-USECASE].

Data types used in DDoS attacks have been detailed in the Incident Object Description Exchange Format (IODEF) Guidance document (see [RFC8274], Appendix B.2), with the help of several members of the service provider community ๐Ÿ‘‘. The examples are meant to help identify the useful data for detecting and mitigating these attacks, independent of the transport and protocol descriptions in the documents.

5.3. Phishing ๐ŸŽฃ

Investigations and responses to phishing attacks follow well-known patterns ๐Ÿ•ต๏ธโ€โ™€๏ธ. They need access to specific fields in email headers as well as content from the body of the message. When reporting phishing attacks, the recipient has access to each field as well as the body, so content reporting is possible even when end-to-end encryption is used. The email header information is useful for identifying the mail servers and accounts used to generate or relay the attack messages, so the right actions can be taken. The content of the message often includes an embedded attack, which may be an infected file or a link that results in malware being downloaded to the user's system ๐Ÿ’€.

Administrators often find it helpful to use header information to track down similar messages in their mail queue or in users' inboxes, to prevent further infection ๐ŸŒธ. Combinations of To:, From:, Subject:, and Received: header information might be used for this purpose. Administrators may also search for document attachments with the same name or size, or that contain a file with a matching hash to a known phishing attack. Administrators might also add URLs contained in messages to block lists locally. This may also be done by browser vendors through larger-scale efforts, like those of the Anti-Phishing Working Group (APWG). See "Coordinating Attack Response at Internet Scale (CARIS) Workshop Report" [RFC8073] for additional information and pointers to the APWG's efforts on anti-phishing ๐Ÿฆ‹.

A full list of the fields used in phishing attack incident responses can be found in RFC 5901. Future plans to increase privacy protections may limit some of these capabilities if some email header fields are encrypted, such as the To:, From:, and Subject: header fields. This does not mean that those fields should not be encrypted. It only means we should be aware of how they're currently used ๐Ÿ’œ.

Some products protect users from phishing by maintaining lists of known phishing domains (such as misspelled bank names) and blocking access. This can be done by observing DNS, cleartext HTTP, or Server Name Indication (SNI) in TLS, in addition to analyzing email. Alternate options to detect and prevent phishing attacks may be needed. More recent examples of data exchanged in spear phishing attacks have been detailed in the IODEF Guidance document (see [RFC8274], Appendix B.3) ๐Ÿ”.

5.4. Botnets ๐Ÿค–

Botnet detection and mitigation is complex, since botnets may involve hundreds or thousands of hosts with numerous C&C servers ๐Ÿ˜ต. The techniques and data used to monitor and detect each may vary. Connections to C&C servers are typically encrypted, so a move to an increasingly encrypted Internet may not affect the detection and sharing methods used ๐Ÿซ .

5.5. Malware ๐Ÿฆ 

Techniques for detecting and monitoring malware vary. As mentioned in Section 4, malware monitoring may occur at gateways to the organization that analyze email and web traffic. These services can also be provided by service providers, which changes the scale and location of this type of monitoring. Incident responders may also identify attributes unique to types of malware, helping them track down instances by their communication patterns on the Internet or by alterations to hosts and servers ๐Ÿ”Ž.

Data types used in malware investigations have been summarized in an example of the IODEF Guidance document (see [RFC8274], Appendix B.3) ๐ŸŒˆ.

5.6. Spoofed-Source IP Address Protection ๐Ÿ•ต๏ธ

The IETF has reacted to spoofed-source IP address-based attacks by recommending network ingress filtering in BCP 38 [RFC2827] and the unicast Reverse Path Forwarding (uRPF) mechanism [RFC3704] ๐Ÿ›‘. But uRPF has granularity limitations: a malicious node can still use a spoofed IP address included inside the prefix assigned to its link. Source Address Validation Improvement (SAVI) mechanisms try to solve this issue โœจ.

Basically, a SAVI mechanism monitors a specific address assignment or management protocol (e.g., Stateless Address Autoconfiguration (SLAAC) [RFC4862], Secure Neighbor Discovery (SEND) [RFC3971], and DHCPv4/v6 [RFC2131][RFC3315]). Based on that monitoring, it sets up a filtering policy that allows only the IP flows with a correct source IP address. In other words, any packet with a source IP address from a node that doesn't own it is dropped ๐Ÿšซ. The encryption of parts of the address assignment and management protocols, which are critical for SAVI mechanisms, can cause the SAVI mechanisms to stop working properly ๐Ÿ˜ญ.

5.7. Further Work ๐Ÿ”ฎ

Although incident response work will continue, new methods to prevent system compromise through security automation and continuous monitoring [SACM] may provide alternate approaches. In those approaches, system security is maintained as a preventative measure ๐ŸŒท.


6. Application-Based Flow Information Visible to a Network ๐ŸŒ

This section describes specific techniques used in monitoring applications that are visible to the network if a 5-tuple is exposed. These techniques can potentially be used as input for future network-management approaches ๐Ÿง . It also includes an overview of IP Flow Information Export (IPFIX), a flow-based protocol used to export information about network flows.

6.1. IP Flow Information Export ๐Ÿ“ค

Many of the accounting, monitoring, and measurement tasks described in this document, especially in Sections 2.3.2, 3.1.1, 4.1.3, 4.2, and 5.2, use the IPFIX protocol [RFC7011] for export and storage of the monitored information ๐Ÿ’พ. IPFIX evolved from the widely deployed NetFlow protocol [RFC3954], which exports information about flows identified by 5-tuple. NetFlow was mostly concerned with exporting per-flow byte and packet counts for accounting purposes. IPFIX's extensible Information Model [RFC7012], on the other hand, provides a variety of Information Elements (IEs) [IPFIX-IANA] for representing information above and below the traditional network-layer flow information ๐ŸŽ€. Enterprise-specific IEs also let exporter vendors define their own non-standard IEs, and many of these are driven by header and payload inspection at the Metering Process.

While the deployment of encryption has no direct effect on the use of IPFIX, certain defined IEs may become unavailable when the Metering Process observing the traffic can't decrypt former cleartext information ๐Ÿ˜ค. For example, HTTPS makes HTTP header analysis impossible, so IEs derived from the header (e.g., httpContentType, httpUserAgent) can't be exported.

The collection of IPFIX data is, of course, a point of centralization for information that is potentially business and privacy critical ๐Ÿ”. The IPFIX File Format specification [RFC5655] recommends encryption for this data at rest. The IP Flow Anonymization specification [RFC6235] defines a metadata format for describing the anonymization functions applied to an IPFIX dataset, if anonymization is used for sharing IPFIX information between enterprises or network operators ๐Ÿซถ.

6.2. TLS Server Name Indication โœจ

Okay bestie, so when a client starts a TLS handshake, it may send an extension field called server_name to tell the server which site it's trying to securely reach ๐Ÿฆ‹. TLS SNI got standardized back in 2003 so that servers hosting a bunch of virtual servers on the same infrastructure and IP address could show each client the "correct TLS certificate" ๐ŸŽ€. It's technically optional, but it's literally supported by all modern browsers, web servers, and developer libraries, so it's giving universal. Akamai [Nygren] reports that many of their customers see client TLS SNI usage over 99%. Iconic ๐Ÿ˜ญ.

It's also worth noting that HTTP/2 brings in the Alt-SVC method for upgrading a connection from HTTP/1 to either unencrypted or encrypted HTTP/2 ๐Ÿ”ฅ. If the first HTTP/1 request is unencrypted, the destination alternate service name can be identified before the communication might get upgraded to encrypted HTTP/2 transport. HTTP/2 requires the TLS implementation to support the SNI extension (see Section 9.2 of [RFC7540]). Plus, [RFC7838] "allows an origin server to nominate additional means of interacting with it on the network", while [RFC8164] allows for a URI to be accessed with HTTP/2 and TLS using Opportunistic Security (on an experimental basis) ๐Ÿงš.

This info is only available if the client actually fills in the SNI extension. That's an optional part of the TLS standard, and like we said, every major browser has implemented it ๐Ÿ’…. But because it's optional, existing network filters that look at a TLS ClientHello for an SNI extension can't assume they'll always find one ๐Ÿ™ˆ. "SNI Encryption in TLS Through Tunneling" [SNI-TLS] has been adopted by the TLS Working Group, and it offers solutions to encrypt SNI, so there will be an option to encrypt SNI in future versions of TLS ๐Ÿ”โœจ. SNI is per-domain, so it might not reveal the specific service or media type being accessed, especially when the domain belongs to a provider offering email, video, web pages, and more ๐ŸŒธ. For example, certain blog or social network feeds might be deemed "adult content", but the SNI will only show the server domain and not the URL path.

There are extra wrinkles for identifying content using SNI too ๐Ÿ‘€: [RFC7540] includes connection coalescing, [RFC8336] defines the ORIGIN frame, and the proposal outlined in [HTTP2-CERTS] will make passive monitoring even harder. Main character plot twist ๐Ÿฆ‹.


6.3. Application-Layer Protocol Negotiation (ALPN) ๐ŸŒˆ

ALPN is a TLS extension that may be used to indicate the application protocol inside the TLS session ๐Ÿ’œ. This is probably more useful to the network when it points at a protocol dedicated to one particular traffic type (like video streaming) instead of a multi-use protocol. ALPN is used as part of HTTP/2 'h2', but it won't tell you the traffic types that might make up streams inside an HTTP/2 multiplex ๐Ÿ™ƒ. Also, ALPN is sent cleartext in the ClientHello, and the server sends it back in Encrypted Extensions in TLS 1.3. Cleartext means anyone can read it, so keep that in mind ๐Ÿ‘€.


6.4. Content Length, Bitrate, and Pacing ๐Ÿ“

The content length of encrypted traffic is basically the same as the cleartext. Block ciphers do use padding, but that makes a negligible difference ๐Ÿคทโ€โ™€๏ธ. Bitrate and pacing are usually application specific and don't change much when the content is encrypted ๐ŸŽ€. Multiplexed formats, though (like HTTP/2 and QUIC [QUIC]), can pack several application streams into one connection, which means the bitrate and pacing are no longer application specific ๐Ÿ˜ณ. Also, packet padding is available in HTTP/2, TLS 1.3, and plenty of other protocols, and those countermeasures make traffic analysis harder ๐Ÿซถ.


7. Effect of Encryption on the Evolution of Mobile Networks ๐Ÿ“ฑ

Okay, so transport header encryption stops transit proxies in the middle of the network from working, and it also stops some edge proxies from acting on the stream ๐Ÿšซ. The claimed benefits of those proxies might be achievable with end-to-end client and server optimizations, distribution using CDNs, and the ability to keep connections going across different access technologies (even when user IP addresses change) โœจ. Here's what to think about with this approach:

  1. In a wireless mobile network, the delay and channel capacity per user and sector vary because of coverage, contention, user mobility, and scheduling (which balances fairness, capacity, and service QoE). If most users are at the cell edge, the controller can't use more complex Quadrature Amplitude Modulation (QAM), which cuts total cell capacity. Similarly, if a Universal Mobile Telecommunications System (UMTS) edge is serving some number of CS-Voice Calls, the leftover capacity for packet services shrinks ๐Ÿ“‰.
  2. Mobile wireless networks serve inbound roamers (users of Operator A in the foreign network of Operator B) by backhauling their traffic through the network (from Operator B to Operator A), then serving them through the P-Gateway (PGW), General Packet Radio Service (GPRS) Support Node (GGSN), CDN, etc. of Operator A, the user's home operator ๐ŸŒ. Increasing window sizes to compensate for the path RTT runs into the TCP limitations outlined earlier. The outbound roamer scenario has a similar TCP performance impact ๐Ÿ˜ค.
  3. Deploying CDNs in Radio Access Networks (RANs) has some issues, including reducing the client-server control loop, which means deploying CDNs or cloud functions that terminate encryption closer to the edge ๐Ÿƒโ€โ™€๏ธ. In Cellular RAN, user IP traffic is encapsulated in GPRS Tunneling Protocol-User Plane (GTP-U in UMTS and LTE) tunnels to handle user mobility, and those tunnels terminate in APN/GGSN/PGW boxes that sit in central locations ๐Ÿข. One user's traffic can flow through one or more APN's (for example, Internet APN, Roaming APN for Operator X, Video-Service APN, OnDeckAPN, etc.). Operator private IP addresses might be limited to specific APNs. Since CDNs generally operate on user IP flows, deploying them would mean enhancing them with tunnel translation, tunnel-management functions, and so on ๐Ÿ› ๏ธ.
  4. CDNs that decrypt flows or split connection proxies (similar to split TCP) could be deployed closer to the edges to reduce the control-loop RTT. But with transport header encryption, those CDNs only perform optimization functions for partner client flows ๐Ÿฅฒ. So content from some Small-Medium Businesses (SMBs) wouldn't get those CDN benefits.

8. Response to Increased Encryption and Looking Forward ๐Ÿ”ฎ

As [RFC7258] puts it, "an appropriate balance [between network management and pervasive monitoring mitigations] will emerge over time as real instances of this tension are considered." ๐Ÿ’œ Lots of operators made it super clear in their responses to this document that they fully support strong encryption and privacy for end users. That's a shared goal, bestie ๐Ÿซถ. Operators also get that not every practice in this document needs to keep being supported going forward, either because it puts end-user privacy at risk or because better technologies and tools have already shown up ๐ŸŒŸ.

This document is meant to help network engineers and other innovators work with protocol designers and application developers on network and security management problems in new ways, ways that make strong encryption easier to adopt instead of blocking it ๐Ÿ”. When network and security management folks talk with application developers and protocol designers, each side gets what the other is going for, works on alternate solutions, and retires the practices that shouldn't be supported anymore ๐Ÿงน. One goal of this document is to help the IETF understand some of today's practices, so it can spot new work items for IETF-related use cases that make strong session encryption easier to adopt while still supporting network and security management ๐Ÿฆ‹.


9. Security Considerations ๐Ÿšจ

There are no additional security considerations because this is a summary and doesn't include a new protocol or functionality. Dramatic, I know, but it's true ๐Ÿ’€.


10. IANA Considerations ๐ŸŽ€

This document has no IANA actions. Zero registry drama ๐Ÿ’….


11. Informative References ๐Ÿ“š

Okay bestie, the references are the receipts ๐Ÿงพโœจ every citation the RFC leans on is in here, and I've kept each one exactly as written. Here's who helped make this happen ๐Ÿซถ

   [RFC7624]  Barnes, R., Schneier, B., Jennings, C., Hardie, T.,
              Trammell, B., Huitema, C., and D. Borkmann,
              "Confidentiality in the Face of Pervasive Surveillance: A
              Threat Model and Problem Statement", RFC 7624,
              DOI 10.17487/RFC7624, August 2015,
              <https://www.rfc-editor.org/info/rfc7624>.

   [RFC7665]  Halpern, J., Ed. and C. Pignataro, Ed., "Service Function
              Chaining (SFC) Architecture", RFC 7665,
              DOI 10.17487/RFC7665, October 2015,
              <https://www.rfc-editor.org/info/rfc7665>.

   [RFC7754]  Barnes, R., Cooper, A., Kolkman, O., Thaler, D., and E.
              Nordmark, "Technical Considerations for Internet Service
              Blocking and Filtering", RFC 7754, DOI 10.17487/RFC7754,
              March 2016, <https://www.rfc-editor.org/info/rfc7754>.

   [RFC7799]  Morton, A., "Active and Passive Metrics and Methods (with
              Hybrid Types In-Between)", RFC 7799, DOI 10.17487/RFC7799,
              May 2016, <https://www.rfc-editor.org/info/rfc7799>.

   [RFC7826]  Schulzrinne, H., Rao, A., Lanphier, R., Westerlund, M.,
              and M. Stiemerling, Ed., "Real-Time Streaming Protocol
              Version 2.0", RFC 7826, DOI 10.17487/RFC7826, December
              2016, <https://www.rfc-editor.org/info/rfc7826>.

   [RFC7838]  Nottingham, M., McManus, P., and J. Reschke, "HTTP
              Alternative Services", RFC 7838, DOI 10.17487/RFC7838,
              April 2016, <https://www.rfc-editor.org/info/rfc7838>.

   [RFC7858]  Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D.,
              and P. Hoffman, "Specification for DNS over Transport
              Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May
              2016, <https://www.rfc-editor.org/info/rfc7858>.

   [RFC8073]  Moriarty, K. and M. Ford, "Coordinating Attack Response at
              Internet Scale (CARIS) Workshop Report", RFC 8073,
              DOI 10.17487/RFC8073, March 2017,
              <https://www.rfc-editor.org/info/rfc8073>.

   [RFC8164]  Nottingham, M. and M. Thomson, "Opportunistic Security for
              HTTP/2", RFC 8164, DOI 10.17487/RFC8164, May 2017,
              <https://www.rfc-editor.org/info/rfc8164>.

   [RFC8165]  Hardie, T., "Design Considerations for Metadata
              Insertion", RFC 8165, DOI 10.17487/RFC8165, May 2017,
              <https://www.rfc-editor.org/info/rfc8165>.

   [RFC8250]  Elkins, N., Hamilton, R., and M. Ackermann, "IPv6
              Performance and Diagnostic Metrics (PDM) Destination
              Option", RFC 8250, DOI 10.17487/RFC8250, September 2017,
              <https://www.rfc-editor.org/info/rfc8250>.

   [RFC8274]  Kampanakis, P. and M. Suzuki, "Incident Object Description
              Exchange Format Usage Guidance", RFC 8274,
              DOI 10.17487/RFC8274, November 2017,
              <https://www.rfc-editor.org/info/rfc8274>.

   [RFC8300]  Quinn, P., Ed., Elzur, U., Ed., and C. Pignataro, Ed.,
              "Network Service Header (NSH)", RFC 8300,
              DOI 10.17487/RFC8300, January 2018,
              <https://www.rfc-editor.org/info/rfc8300>.

   [RFC8336]  Nottingham, M. and E. Nygren, "The ORIGIN HTTP/2 Frame",
              RFC 8336, DOI 10.17487/RFC8336, March 2018,
              <https://www.rfc-editor.org/info/rfc8336>.

   [SACM]     IETF, "Security Automation and Continuous Monitoring
              (sacm)", <https://datatracker.ietf.org/wg/sacm/charter/>.

   [SNI-TLS]  Huitema, C. and E. Rescorla, "Issues and Requirements for
              SNI Encryption in TLS", Work in Progress, draft-ietf-tls-
              sni-encryption-03, May 2018.

   [Snowden]  Verble, J., "The NSA and Edward Snowden: Surveillance in
              the 21st Century", SIGCAS Computer & Society, Vol. 44,
              No. 3, DOI 10.1145/2684097.2684101, September 2014,
              <http://www.jjsylvia.com/bigdatacourse/wp-content/
              uploads/2016/04/p14-verble-1.pdf>.

   [TCPcrypt]
              IETF, "TCP Increased Security (tcpinc)",
              <https://datatracker.ietf.org/wg/tcpinc/charter>.

   [TS3GPP]   3GPP, "Non-Access-Stratum (NAS) protocol for Evolved
              Packet System (EPS); Stage 3", 3GPP TS 24.301, version
              15.2.0, March 2018.

   [UPCON]    3GPP, "User Plane Congestion Management", 3GPP Rel-13,
              September 2014, <http://www.3gpp.org/DynaReport/
              FeatureOrStudyItemFile-570029.htm>.

   [UserData]
              Durumeric, Z., Ma, Z., Springall, D., Barnes, R.,
              Sullivan, N., Bursztein, E., Bailey, M., Alex Halderman,
              J., and V. Paxson, "The Security Impact of HTTPS
              Interception", Network and Distributed Systems Symposium,
              February 2017,
              <http://dx.doi.org/10.14722/ndss.2017.23456>.

Acknowledgements ๐Ÿซถ

Huge thank-you to our reviewers, Natasha Rooney, Kevin Smith, Ashutosh Dutta, Brandon Williams, Jean-Michel Combes, Nalini Elkins, Paul Barrett, Badri Subramanyan, Igor Lubashev, Suresh Krishnan, Dave Dolson, Mohamed Boucadair, Stephen Farrell, Warren Kumari, Alia Atlas, Roman Danyliw, Mirja Kuehlewind, Ines Robles, Joe Clarke, Kyle Rose, Christian Huitema, and Chris Morrow, who gave us editorial and content suggestions that were literally so helpful ๐Ÿ’– Surya K. Kovvali brought the material for Section 7 ๐ŸŒธ Chris Morrow and Nik Teague did the reviews and updates for the DoS fingerprinting text ๐Ÿ”ฅ And Brian Trammell wrote the IPFIX text, which is iconic ๐Ÿ‘‘

Authors' Addresses ๐Ÿ’…

The editors who held this whole thing together are below ๐Ÿฆ‹

   Kathleen Moriarty (editor)
   Dell EMC
   176 South St
   Hopkinton, MA
   United States of America

   Email: Kathleen.Moriarty@dell.com


   Al Morton (editor)
   AT&T Labs
   200 Laurel Avenue South
   Middletown, NJ  07748
   United States of America

   Phone: +1 732 420 1571
   Fax:   +1 732 368 1192
   Email: acm@research.att.com
๐Ÿ“ฆ where this page comes from