idnits 2.17.1 draft-ietf-opsec-ns-impact-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 69 has weird spacing: '...ecurity and S...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (October 25, 2020) is 1250 days in the past. Is this intentional? Checking references for intended status: Informational ---------------------------------------------------------------------------- ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 7525 (Obsoleted by RFC 9325) == Outdated reference: A later version (-18) exists of draft-ietf-tls-esni-07 Summary: 2 errors (**), 0 flaws (~~), 4 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 OPSEC Working Group N. Cam-Winget 3 Internet-Draft E. Wang 4 Intended status: Informational Cisco Systems, Inc. 5 Expires: April 28, 2021 R. Danyliw 6 Software Engineering Institute 7 R. DuToit 8 Broadcom 9 October 25, 2020 11 Impact of TLS 1.3 to Operational Network Security Practices 12 draft-ietf-opsec-ns-impact-03 14 Abstract 16 Network-based security solutions are used by enterprises, the public 17 sector, internet-service providers, and cloud-service providers to 18 both complement and enhance host-based security solutions. As TLS is 19 a widely deployed protocol to secure communication, these network- 20 based security solutions must necessarily interact with it. This 21 document describes this interaction for current operational security 22 practices and notes the impact of TLS 1.3 on them. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on April 28, 2021. 41 Copyright Notice 43 Copyright (c) 2020 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 59 2. Conventions and Definitions . . . . . . . . . . . . . . . . . 4 60 3. How TLS is used to enable Network-Based Security Solutions . 4 61 4. Changes in TLS 1.3 Relevant to Security Operations . . . . . 5 62 4.1. Perfect Forward Secrecy (PFS) . . . . . . . . . . . . . . 5 63 4.2. Encrypted Server Certificate . . . . . . . . . . . . . . 5 64 5. Network Security Operational Practices . . . . . . . . . . . 6 65 5.1. Passive TLS Inspection . . . . . . . . . . . . . . . . . 7 66 5.1.1. OP-1. Acceptable Use Policy (AUP) Enforcement (via 67 header inspection). . . . . . . . . . . . . . . . . . 7 68 5.1.2. OP-2. Network Behavior Analytics . . . . . . . . . . 8 69 5.1.3. OP-3. Crypto, Security and Security Policy 70 Compliance (server) . . . . . . . . . . . . . . . . . 8 71 5.1.4. OP-4. Crypto and Security Policy Compliance (client) 8 72 5.2. Outbound TLS Proxy . . . . . . . . . . . . . . . . . . . 9 73 5.2.1. OP-5: Acceptable Use Policy (AUP) Enforcement (via 74 payload inspection) . . . . . . . . . . . . . . . . . 10 75 5.2.2. OP-6: Data Loss Prevention Compliance . . . . . . . . 10 76 5.2.3. OP-7: Granular Network Segmentation . . . . . . . . . 11 77 5.2.4. OP-8: Network-based Threat Protection (client) . . . 11 78 5.2.5. OP-9: Protecting Challenging End Points . . . . . . . 11 79 5.2.6. OP-10: Content Injection . . . . . . . . . . . . . . 12 80 5.3. Inbound TLS Proxy . . . . . . . . . . . . . . . . . . . . 12 81 5.3.1. OP-11: TLS offloading . . . . . . . . . . . . . . . . 13 82 5.3.2. OP-12. Content distribution and application load 83 balancing . . . . . . . . . . . . . . . . . . . . . . 13 84 5.3.3. OP-13: Network-based Threat Protection (server) . . . 14 85 5.3.4. OP-14: Full Packet Capture . . . . . . . . . . . . . 14 86 5.3.5. OP-15: Application Layer Gateway (ALG) . . . . . . . 14 87 6. Security Considerations . . . . . . . . . . . . . . . . . . . 15 88 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 15 89 8. Appendix A: Summary Impact to Operational Practices with TLS 90 1.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 91 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 16 92 9.1. Normative References . . . . . . . . . . . . . . . . . . 16 93 9.2. Informative References . . . . . . . . . . . . . . . . . 16 94 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 18 95 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 97 1. Introduction 99 Enterprises, public sector organizations, internet service providers 100 and cloud service providers defend their networks and information 101 systems from attacks that originate from inside and outside their 102 networks. These organizations commonly employ security architectures 103 that involve complementary technologies deployed on both endpoints 104 and in the network; and collaborative watch-and-warning practices to 105 realize this defense. 107 The design of these security architectures and associated practices 108 entails numerous trade-offs. Typically, there is more than one 109 technical approach to realize a particular mitigation, although 110 comparable approaches may have different costs or side-effects. 111 Network-based solutions are often attractive to network 112 administrators because a single network device can: 114 o provide protection to many hosts and systems at once 116 o protect systems regardless of their type (e.g., fully patched 117 desktop systems on a modern operating system; unpatched function- 118 specific industrial control system) 120 o enforce policy on a system even if it is compromised, 121 misconfigured, not under configuration control or had its endpoint 122 protection disabled 124 o be managed (e.g. updates) and provisioned with resources (e.g. 125 disk and computing) independent of the systems it is protecting 127 o by itself, a single system may not be able to detect and mitigate 128 threats 130 In response to the adoption of new technologies, protocols and 131 threats, these security architectures must evolve to remain 132 effective. [RFC8404] documented a need to evolve with the effect of 133 pervasive encryption on operations. This document takes a narrower 134 focus by documenting the interaction of existing network-based 135 security practices with TLS 1.2 [RFC5246] (and earlier) traffic to 136 implement security policy, detection or mitigation of threats; and 137 the impact on these practices with improvements made in TLS 1.3 138 [RFC8446]. The document is not intended to endorse the use of TLS 139 inspection, rather it describes current practice and its implications 140 as observed at the time of this writing to help the IETF community 141 understand the perspective of network operators. The goal is to help 142 further the need to evolve such solutions as protocols evolve, in 143 particular TLS [RFC8446]. 145 2. Conventions and Definitions 147 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 148 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 149 "OPTIONAL" in this document are to be interpreted as described in BCP 150 14 [RFC2119] [RFC8174] when, and only when, they appear in all 151 capitals, as shown here. 153 Specific operational practices are numbered as "OP-##", operational 154 practice 1 (i.e., OP-1), 2 (i.e., OP-2), etc. 156 3. How TLS is used to enable Network-Based Security Solutions 158 Network-based security solutions come in many forms, most commonly as 159 Firewalls, Web Proxies, Intrusion Detection Systems (IDS), Intrusion 160 Prevention Systems (IPS) and Network Security Visibility and 161 Analytics systems. They inspect the network traffic, and then based 162 on their function, log their observation and/or act on the traffic to 163 implement security policy. The conditions under which TLS visibility 164 is required is specific to the network security vendor and deployment 165 and out of scope for this document but the use of visibility and 166 inspection are common and described herein. When these devices act 167 on the network traffic, they are typically deployed inline as 168 middleboxes (e.g. firewalls) or as explicit proxies (e.g. web 169 proxies). 170 If their function is only to observe, they can be deployed either as 171 middleboxes or given access to the network traffic out-of-band (OOB), 172 through the network fabric (e.g., network tap or span port). 174 Depending on their function, network-based security devices use 175 different degrees of visibility into the TLS traffic. Some 176 operational practices require only access to the unencrypted protocol 177 headers and associated meta-data of the TLS traffic. Other practices 178 require full visibility into the encrypted session (payload). 180 The practices that inspect only the unencrypted headers and meta-data 181 of TLS, require no special capabilities beyond access to the TLS 182 packets. However, to inspect the encrypted payload of TLS traffic 183 requires a TLS proxy. 185 A TLS proxy provides visibility and inspection to effectuate security 186 controls without changing the state machine of the TLS Server and TLS 187 Client, or the user experience. The TLS Proxy operates as a 188 transparent hop at the TLS layer in both middlebox and explicit proxy 189 deployments. For the web proxy case, after the client sends an HTTP 190 CONNECT to request a tunnel to the server, the web proxy may insert a 191 TLS Proxy function to proxy the TLS session without awareness by the 192 client or server. The TLS operation afterwards remains the same as a 193 middlebox. 195 To proxy a TLS session, a TLS Proxy must be able to present a valid 196 X.509 certificate to the TLS client to appear as a valid TLS Server; 197 similarly, the client must be able to validate the X.509 certificate 198 using the appropriate trust anchor for that TLS connection. To 199 achieve this, a deployment must properly provision their systems (TLS 200 Proxies and TLS clients). A TLS Proxy is unable to proxy a PSK based 201 session unless it is on-path and has proxied the session leading to 202 the PSK. TLS client authentication requires additional provisioning 203 for X.509 certificate on the TLS Server side. It does not have 204 impact on the deployment scenarios though. 206 4. Changes in TLS 1.3 Relevant to Security Operations 208 TLS 1.3 introduces a number of protocol design changes to improve 209 security and privacy. However, these enhancements impact current 210 network security operational practices that rely on the protocol 211 behavior of earlier TLS versions. 213 4.1. Perfect Forward Secrecy (PFS) 215 TLS 1.2 (and earlier versions) supports static RSA and Diffie-Hellman 216 (DH) cipher suites, which enables the server's private key to be 217 shared with a TLS proxy. [RFC7525] initiated the recommendation of 218 using AEAD cipher suites and specifically decoupling the cipher suite 219 negotiation based on the RSA key transport; this followed with TLS 220 1.3 explicitly removing support for these cipher suites in favor of 221 supporting only ephemeral mode Diffie-Hellman to provide perfect 222 forward secrecy (PFS). As a result of this enhancement, it would no 223 longer be possible for a server to share a key with the middlebox in 224 advance, which in turn implies that the middlebox cannot gain access 225 to the TLS session data. 227 4.2. Encrypted Server Certificate 229 TLS 1.2 (and earlier versions) sends the ClientHello, ServerHello and 230 Certificate messages in clear-text. In TLS 1.3, the Certificate 231 message is encrypted whereby hiding the server identity from any 232 intermediary. As a result of this enhancement, it would no longer be 233 possible to observe the server certificate without inspection the 234 encrypted TLS payload. 236 TLS proxies which implement a selective decryption policy will need 237 to alter their behavior to accommodate TLS 1.3. In TLS 1.2 (and 238 earlier), the proxy could observe the TLS handshake till seeing the 239 clear text server certificate to make the decryption policy decision. 241 For example, a proxy may not be permitted to decrypt certain types of 242 traffic such as those going to a banking and health care service. 243 However, in TLS 1.3, the TLS proxy must participate in both 244 handshakes (i.e., client-to-proxy; and proxy-to-server) in order to 245 view the server certificate. This change will impose a slight 246 increase in load per connection on the proxy. 248 5. Network Security Operational Practices 250 Specific network security operational practices applied to TLS 1.2 251 (and earlier) are described in subsequent sub-sections. They are 252 categorized into the following deployment scenarios: 254 1. Passive TLS inspection, where the network-based security function 255 is inspecting either the inbound or outbound TLS header or meta- 256 data traffic 258 2. Outbound TLS Proxy, where a TLS proxy mediates a TLS session 259 originating from a client inside the enterprise administrative 260 domain (and in the same administrative domain as the proxy) 261 towards an entity on the outside 263 3. Inbound TLS Proxy, where a TLS proxy mediates a TLS session from 264 a client outside the enterprise administrative domain towards an 265 entity on the inside (and in the same administrative domain as 266 the proxy) 268 Each deployment scenario describes current operational practices. 269 For each operational practice, possible deployment modes (e.g., 270 inline, out-of-band), a description of the practice, and the impact 271 of TLS 1.3 is categorized and explained. The categorized impacts to 272 practices when migrating to TLS 1.3 are as follows: 274 o no impact - no change in capability or performance is expected 275 with this practice 277 o no capability impact - no change in capability is expected; but 278 there may be a performance or implementation change required for 279 this practice 281 o reduced effectiveness - this practice will not be as effective on 282 TLS 1.3 traffic 284 o alternative approach required - this practice will not work with 285 TLS 1.3 traffic 287 It should be noted that [ECH] will further reduce the effectiveness 288 (passive inspection) or prevent certain practices (outbound proxy) 289 from being deployed. More study is required in this area. 291 5.1. Passive TLS Inspection 293 Passive TLS inspection is the deployment scenario where a network 294 security device passively inspects inbound or outbound TLS traffic to 295 make visibility inferences or take policy actions. The network 296 security device examines only the unencrypted TLS protocol headers 297 and does not have access to the encrypted content of the payload. 299 The TLS proxy deployment scenarios may also incorporate these 300 practices. 302 5.1.1. OP-1. Acceptable Use Policy (AUP) Enforcement (via header 303 inspection). 305 Deployment mode: inline 307 A firewall or web proxy restricts a client in the same administrative 308 domain from accessing sites or services outside that domain per an 309 acceptable use policy. The identification of the destination server 310 is performed through the inspection of either the SNI field in the 311 TLS ClientHello message from the client; or by extracting the server 312 identity from the Common Name (CN) or Subject Alternative Name (SAN) 313 fields of an X.509 certificate that is presented in the server's 314 Certificate TLS message. This data is used for domain categorization 315 or application identification. 317 This meta-data can also inform decryption eligibility decisions by a 318 firewall, in OP-4. For instance, a firewall may bypass traffic 319 decryption for a connection destined to a healthcare web service due 320 to privacy compliance requirements. 322 TLS 1.3 considerations: reduced effectiveness. Per Section 4.2, 323 domain categorization and application identification will be limited 324 to IP address and SNI information (beyond additional correlation 325 possible with other means such as DNS). 327 While an SNI is mandatory in TLS 1.3, there is no guarantee that the 328 server responding is the one indicated in the SNI from the client. A 329 SNI alone, without comparison of the server certificate, does not 330 provide reliable information about the server that the client is 331 attempting to reach. Where a client has been compromised by malware, 332 it may present an innocuous SNI to bypass protective filters (e.g., 333 to reach a command and control server), and this will be undetectable 334 under TLS 1.3. 336 5.1.2. OP-2. Network Behavior Analytics 338 Deployment mode: inline and out-of-band 340 Network behavior analysis and machine learning engines in IDSs, IPSs 341 and firewalls observe the cleartext fields of the TLS handshake 342 (e.g., session cipher suites) and conducts traffic analysis by 343 observing encrypted record sizes, packet rates and their inter- 344 arrival times, and similar outer connection behavior. They match 345 encrypted connections against known application patterns; identify 346 anomalies; and identify or block those without payload inspection. 347 These analytics may also observe that malicious applications may 348 deliberately manipulate certain TLS header fields, throttle packet 349 rates, and vary payload sizes in order to circumvent detection. 351 Through traffic analysis, researchers have detected devastating 352 pseudo-random number generator failures [TLS_VULNERABILITY], nonce 353 failures [NONCE_FAIL], and deeply flawed random number generators in 354 products in [WEAK_KEY] and [WEAK_K2]. 356 TLS 1.3 considerations: reduced effectiveness. Per Section 4.2, any 357 features relying on Certificate information will not be available. 359 5.1.3. OP-3. Crypto, Security and Security Policy Compliance (server) 361 Deployment: out-of-band 363 A network security device observes TLS handshake traffic to audit 364 that TLS server configuration conforms to policy. This compliance 365 monitoring commonly examines ciphersuites (e.g., use of weak 366 ciphersuites) and certificate properties (e.g., no self-signed 367 certificates, black or white list of certificate authorities, 368 certificate expiration times). 370 TLS 1.3 considerations: reduced effectiveness. Per Section 4.2, only 371 TLS ClientHello and ServerHello parameters can be audited. 372 Certification information will not be visible. 374 5.1.4. OP-4. Crypto and Security Policy Compliance (client) 376 Deployment: inline 378 A network security device observes TLS handshake traffic to ensure 379 that clients negotiating TLS connections have configurations (e.g., 380 only make connections with TLS 1.2+) and server certificate (e.g., 381 black-listed CAs) that adhere to policy. This is a variant of OP-3. 382 It is commonly used in deployments where an organization may have 383 reduced configuration control of end points (e.g., lab environments, 384 Bring Your Own Device arrangements, and IoT). 386 TLS 1.3 considerations: reduced effectiveness. Per Section 4.2, only 387 TLS ClientHello and ServerHello parameters can be audited. 388 Certification information will not be visible. 390 5.2. Outbound TLS Proxy 392 Outbound TLS proxy is the deployment scenario where a security device 393 that performs the TLS proxy function is in the same administrative 394 domain as the TLS client, and the TLS server is located in an 395 external zone such as the Internet or in another policy zone of the 396 same administrative domain. Usually the goal is to protect the 397 client endpoint and the organization by controlling application 398 behaviors and enforcing an acceptable use policy for the 399 organizational network. See Figure 1. 401 The administrator manages the TLS client to allow interception by the 402 TLS proxy, usually by deploying a local Certificate Authority (CA) 403 certificate on the TLS client. A typical scenario is an 404 organization-managed client endpoint, such as a laptop or a mobile 405 device that accesses the Internet through the organizational network. 406 When a client attempts to access an external TLS server, the TLS 407 proxy function typically presents a locally signed certificate from 408 the local CA on behalf of the server; alternatively, the certificate 409 generation function may be offloaded to an external Hardware Security 410 Module (HSM) service with which that the TLS proxy must integrate. 412 It has to be noted that the method does not work if the TLS client 413 does not support customized list of CAs, such as with certificate 414 pinning. The impact is independent of TLS 1.3 deployment. 416 _________ __________ 417 \ / 418 \ | Administrative 419 \ | Domain, _----__ 420 +-+ \ | Zone 2 / / \____ 421 | | \ \______/ __/ +------+ \ 422 |C|.. | . / |S-NEWS| \__ 423 | | . | . ( +------+ \ 424 +-+ . +---+ . ( +--------+ ) 425 ..| |.... \ |S-GAMING| ) 426 | P |..........( +--------+ ) 427 +-+ ...| | \ +---------+ ) 428 | | . +---+ ( |S-BANKING| / 429 |C|... | \_.+---------+ ) 430 | | | \.. / 431 +-+ / \____--' 432 / 433 Administrative / Internet 434 Domain, Zone 1 / 435 _________/ 437 Figure 1: Outbound TLS proxy 439 5.2.1. OP-5: Acceptable Use Policy (AUP) Enforcement (via payload 440 inspection) 442 Deployment: inline 444 A firewall or web proxy restricts a client in the same administrative 445 domain from accessing sites or services outside that domain per an 446 acceptable use policy. Similar in intent to OP-1, but the policy 447 enforcement in this practice requires access to data in the TLS 448 session (e.g., URL). 450 TLS 1.3 considerations: no capability impact. See Section 4.2 if a 451 selective decryption policy is used. 453 5.2.2. OP-6: Data Loss Prevention Compliance 455 Deployment: inline 457 A firewall enforces a Data Loss Prevention (DLP) policy by monitoring 458 the TLS sessions content of outbound communication for systems 459 sending organizational proprietary content or other restricted 460 information. Note that the firewall may be implemented and enforced 461 either at the endpoint or by the network infrastructure. 463 TLS 1.3 considerations: no capability impact. See Section 4.2 if a 464 selective decryption policy is used. 466 5.2.3. OP-7: Granular Network Segmentation 468 Deployment: inline 470 A firewall mediates the traffic between different policy zones in an 471 organization. The access policies between these zones may be based 472 on application names and categories rather than static IP addresses 473 and TCP/UDP port numbers. Through a TLS proxy, the firewall can 474 inspect URLs and other application parameters based on data in the 475 TLS session. 477 TLS 1.3 considerations: no capability impact. See Section 4.2 if a 478 selective decryption policy is used. 480 5.2.4. OP-8: Network-based Threat Protection (client) 482 Deployment: inline or out-of-band (depending on functionality) 484 Web proxies and firewalls protect end-users against a range of 485 threats by inspecting the data in the TLS session with a variety of 486 analytical techniques (e.g., signatures, heuristics, statistical 487 models, machine learning). This practice is a superset of OP-2. 488 Common goals are to prevent malware from reaching the endpoint, 489 preventing malware communication from a compromised host, restricting 490 lateral network movement of an intruder and gathering insight into 491 the behavior of threat activity on the network. 493 In certain deployments these technologies are also used to act as a 494 last line of defense against software vulnerabilities on endpoints - 495 either for 0-days for which there is no patch, or simply unpatched 496 clients. 498 TLS 1.3 considerations: no capability impact. See Section 4.2 if a 499 selective decryption policy is used. 501 5.2.5. OP-9: Protecting Challenging End Points 503 Deployment mode: inline 505 Web proxies, IPS and firewalls implement security policy and afford 506 protection to devices for which it is not feasible to run an end- 507 point solution (e.g., IoT); or that are end-of-life and will not 508 receive patches. This is a specialized instance of OP-8 targeting 509 these disadvantaged classes of devices. 511 These practices ensure that that older endpoints (and in some cases 512 even new ones) are not permanently vulnerable to newly discovered 513 vulnerabilities. 515 TLS 1.3 considerations: no capability impact. See Section 4.2 if a 516 selective decryption policy is used. 518 5.2.6. OP-10: Content Injection 520 Deployment: inline 522 A firewall or web proxy restricts message manipulation or insertion, 523 such as a block page or an interactive authentication portal 524 redirect, into the encrypted flow for the client to see. This may be 525 used in conjunction with OP-1, OP-5, and OP-7. 527 TLS 1.3 considerations: no capability impact. See Section 4.2 if a 528 selective decryption policy is used. 530 5.3. Inbound TLS Proxy 532 Inbound TLS proxy is the deployment scenario where the TLS proxy is 533 deployed in front of one or a set of servers or services. The 534 network device that implements the TLS proxy function is located in 535 the same administrative domain as the server(s) or service(s) it is 536 protecting. Usually it is not predictable or controllable as to 537 which TLS client will initiate a connection. See Figure 2. 539 The TLS proxy is provisioned with the server's certificates and 540 private keys so that it may either decrypt or terminate the TLS 541 connection on behalf of the server. In some instances, the TLS proxy 542 may periodically retrieve the private keys and associated 543 certificates from an external secure distribution service, such as a 544 HSM. Traffic between the TLS proxy and server may be encrypted or in 545 the clear; the former configuration is typical of a perimeter 546 firewall while the latter of a load-balancer. 548 ____________ 549 / 550 / S 551 _----__ / .--. 552 / \____ / |==| 553 __/ / |--| 554 / +-+ +-+ \__ | .....|==| S 555 ( | | | | \ | . |--| .--. 556 ( |C| +-+ |C| +-+ ) +---+ . |::| |==| 557 \ | | | | | | | | ) | |... |__| |--| 558 ( +-+ |C| +-+ |C|..............| P | S " " |==| 559 \ | | | | ) | |... .--. |--| 560 ( +-+ +-+ / +---+ . |==| |::| 561 \_. ) | . |--| |__| 562 \.. / | ..|==| " " 563 \____--' \ |--| 564 \ |::| Administrative 565 External Network \ |__| Domain 566 \ " " 567 \____________ 569 Figure 2: Inbound TLS proxy 571 5.3.1. OP-11: TLS offloading 573 Deployment mode: inline 575 Offloads crypto operations from the application server to a TLS 576 Proxy. This is not a typical security function on its own, but it 577 facilitates security control insertion downstream. As this is in the 578 same administrative domain, it is presumed that a TLS Proxy can be 579 provisioned with the appropriate keys when the TLS Server is 580 configured or managed. 582 TLS 1.3 considerations: no impact. 584 5.3.2. OP-12. Content distribution and application load balancing 586 Deployment mode: inline 588 Load balancers deployed in front of services provide resiliency 589 against denial of service attacks. TLS proxy functionality provides 590 access to the cleartext application layer data to enable service- 591 tailored load balancing. Similar to OP-11, it is presumed that a TLS 592 Proxy can be provisioned with the appropriate keys when the TLS 593 Server is configured or managed. 595 This practice may be combined with OP-11. 597 TLS 1.3 considerations: no impact. 599 5.3.3. OP-13: Network-based Threat Protection (server) 601 Deployment mode: inline and out-of-band 603 Web application firewalls (WAF) and firewalls protect servers and 604 services against a range of threats by inspecting the data in the TLS 605 session with a variety of analytical techniques (e.g., signatures, 606 heuristics, statistical models, machine learning). This practice is 607 identical in function to OP-8, but focused on threat prevention of 608 inbound requests to servers and services. 610 TLS 1.3 considerations for inline deployment mode: no capability 611 impact. Per Section 4.1, the network security device must explicitly 612 terminate the TLS connection from the client. 614 TLS 1.3 considerations for out-of-band mode: alternative approach 615 required. Per Section 4.1, active participation in the TLS exchange 616 is required to inspect the session. 618 5.3.4. OP-14: Full Packet Capture 620 Deployment mode: inline and out-of-band 622 A network security device stores a copy of all decrypted traffic that 623 meets a given filter. This traffic may be continuously captured in a 624 rolling buffer for use in future forensic analysis, incident 625 response, or computationally intensive retrospective analysis. This 626 collection may also be selectively enabled to support application 627 troubleshooting. 629 TLS 1.3 considerations for inline deployment mode: no capability 630 impact. Per Section 4.1, the network security device must explicitly 631 terminate the TLS connection from the client. 633 TLS 1.3 considerations for out-of-band mode: alternative approach 634 required. Per Section 4.1, offline decryption is not possible. 636 5.3.5. OP-15: Application Layer Gateway (ALG) 638 Deployment mode: inline 640 To conduct protocol conformance checks and rewrite embedded IP 641 addresses and TCP/UDP ports within the application layer payload for 642 traffic traversing a NAT boundary. While not strictly a security 643 function, this capability may typically be found in firewalls along 644 with the NAT supporting functions. 646 TLS 1.3 considerations: no impact. 648 6. Security Considerations 650 This document presents common and existing security monitoring and 651 detection functionality and how it interacts with TLS. It further 652 notes where existing practices will have to be adjusted to remain 653 effective as these solutions transition to include TLS 1.3 654 improvements. 656 These operational practices involve both good faith and malicious 657 client applications. The former category typically exhibits 658 consistently identifiable behavior and does not actively prevent any 659 transit inspection devices from performing application identification 660 for visibility and control purposes. The latter category of 661 applications actively attempts to circumvent network security 662 controls by deliberately manipulating various protocol headers, 663 injecting specific messages, and varying payload sizes in order to 664 avoid identification or to masquerade as a different permitted 665 application. 667 7. IANA Considerations 669 This document has no IANA actions. 671 8. Appendix A: Summary Impact to Operational Practices with TLS 1.3 673 +---------------------------------------------+-----------------------+ 674 | Operational Practice | Impact with TLS 1.3 | 675 +---------------------------------------------+-----------------------+ 676 | OP-1: AUP enforcement (headers only) | reduced effectiveness | 677 | OP-2: Behavior analytics (headers only) | reduced effectiveness | 678 | OP-3: Crypto compliance monitoring (server) | reduced effectiveness | 679 | OP-4: Crypto compliance monitoring (client) | reduced effectiveness | 680 | OP-5: AUP enforcement (payload) | no capability impact | 681 | OP-6: Data loss prevention compliance | no capability impact | 682 | OP-7: Granular network segmentation | no capability impact | 683 | OP-8: Network protection (client) | no capability impact | 684 | OP-9: Protecting challenging end points | no capability impact | 685 | OP-10: Content Injection | no capability impact | 686 | OP-11: TLS offloading | no impact | 687 | OP-12: Application load balancing | no impact | 688 | OP-13: inline: Network protection (server) | no operational impact | 689 | OP-13: oob: Network protection (server) | alternative required | 690 | OP-14: inline: Full packet capture | no operational impact | 691 | OP-14: oob: Full packet capture | alternative required | 692 | OP-15: Application layer gateway | no impact | 693 +---------------------------------------------+-----------------------+ 695 9. References 697 9.1. Normative References 699 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 700 Requirement Levels", BCP 14, RFC 2119, 701 DOI 10.17487/RFC2119, March 1997, 702 . 704 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 705 (TLS) Protocol Version 1.2", RFC 5246, 706 DOI 10.17487/RFC5246, August 2008, 707 . 709 [RFC7525] Sheffer, Y., Holz, R., and P. Saint-Andre, 710 "Recommendations for Secure Use of Transport Layer 711 Security (TLS) and Datagram Transport Layer Security 712 (DTLS)", BCP 195, RFC 7525, DOI 10.17487/RFC7525, May 713 2015, . 715 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 716 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 717 May 2017, . 719 [RFC8404] Moriarty, K., Ed. and A. Morton, Ed., "Effects of 720 Pervasive Encryption on Operators", RFC 8404, 721 DOI 10.17487/RFC8404, July 2018, 722 . 724 [RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol 725 Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, 726 . 728 9.2. Informative References 730 [ECH] Rescorla, E., Oku, K., Sullivan, N., and C. Wood, "TLS 731 Encrypted Client Hello", draft-ietf-tls-esni-07 (work in 732 progress), June 2020. 734 [NONCE_FAIL] 735 Jovanovic, P., "Nonce-disrespecting adversaries: Practical 736 forgery attacks on GCM in TLS", 2016, 737 . 740 [TLS_VULNERABILITY] 741 Shenefiel, C., "PRNG Failures and TLS Vulnerabilities in 742 the Wild", 2017, 743 . 745 [WEAK_K2] Heninger, N., "Weak Keys Remain Widespread in Network 746 Devices", 2016, . 749 [WEAK_KEY] 750 Halderman, A., "Mining your Ps and Qs: Detection of 751 widespread weak keys in network devices", 2012, 752 . 755 Acknowledgments 757 The authors thank Andrew Ossipov, Flemming Andreasen, Kirsty Paine, 758 David McGrew, and Eric Vyncke for their contributions and valuable 759 feedback. 761 Authors' Addresses 763 Nancy Cam-Winget 764 Cisco Systems, Inc. 765 3550 Cisco Way 766 San Jose, CA 95134 767 USA 769 EMail: ncamwing@cisco.com 771 Eric Wang 772 Cisco Systems, Inc. 773 3550 Cisco Way 774 San Jose, CA 95134 775 USA 777 EMail: ejwang@cisco.com 779 Roman Danyliw 780 Software Engineering Institute 782 EMail: rdd@cert.org 784 Roelof DuToit 785 Broadcom 787 EMail: roelof.dutoit@broadcom.com