draft-fairhurst-tsvwg-transport-encrypt-05.txt | draft-fairhurst-tsvwg-transport-encrypt-06.txt | |||
---|---|---|---|---|
TSVWG G. Fairhurst | TSVWG G. Fairhurst | |||
Internet-Draft University of Aberdeen | Internet-Draft University of Aberdeen | |||
Intended status: Informational C.S. Perkins | Intended status: Informational C.S. Perkins | |||
Expires: June 20, 2018 University of Glasgow | Expires: August 11, 2018 University of Glasgow | |||
December 19, 2017 | February 9, 2018 | |||
The Impact of Transport Header Encryption on Network Operation and | The Impact of Transport Header Confidentiality on Network Operation and | |||
Evolution of the Internet | Evolution of the Internet | |||
draft-fairhurst-tsvwg-transport-encrypt-05 | draft-fairhurst-tsvwg-transport-encrypt-06 | |||
Abstract | Abstract | |||
This document describes implications of applying end-to-end | This document describes implications of applying end-to-end | |||
encryption at the transport layer. It identifies in-network uses of | encryption at the transport layer. It identifies in-network uses of | |||
transport layer header information. It then reviews the implications | transport layer header information. It then reviews the implications | |||
of developing encrypted end-to-end transport protocols on transport | of developing end-to-end transport protocols that use encryption to | |||
protocol design and the implications on network operation. Since | provide confidentiality of the transport protocol header and expected | |||
transport measurement and analysis of the impact of network | implications of transport protocol design and network operation. | |||
Since transport measurement and analysis of the impact of network | ||||
characteristics have been important to the design of current | characteristics have been important to the design of current | |||
transport protocols, it also considers some anticipated implications | transport protocols, it also considers the impact on transport and | |||
on transport and application evolution. | application evolution. | |||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on June 20, 2018. | This Internet-Draft will expire on August 11, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2017 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents (http://trustee.ietf.org/ | Provisions Relating to IETF Documents (http://trustee.ietf.org/ | |||
license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
extracted from this document must include Simplified BSD License text | extracted from this document must include Simplified BSD License text | |||
as described in Section 4.e of the Trust Legal Provisions and are | as described in Section 4.e of the Trust Legal Provisions and are | |||
provided without warranty as described in the Simplified BSD License. | provided without warranty as described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Current uses of Transport Headers within the Network . . . . . 7 | 2. Current uses of Transport Headers within the Network . . . . . 8 | |||
2.1. Observing Transport Information in the Network . . . . . . 7 | 2.1. Observing Transport Information in the Network . . . . . . 8 | |||
2.1.1. Flow Identification . . . . . . . . . . . . . . . . . 7 | 2.1.1. Flow Identification . . . . . . . . . . . . . . . . . 9 | |||
2.1.2. Metrics derived from Transport Layer Headers . . . . . 8 | 2.1.2. Metrics derived from Transport Layer Headers . . . . . 9 | |||
2.1.3. Metrics derived from Network Layer Headers . . . . . . 11 | 2.1.3. Metrics derived from Network Layer Headers . . . . . . 12 | |||
2.2. Transport Measurement . . . . . . . . . . . . . . . . . . 12 | 2.2. Transport Measurement . . . . . . . . . . . . . . . . . . 14 | |||
2.2.1. Point of Measurement . . . . . . . . . . . . . . . . . 13 | 2.2.1. Point of Measurement . . . . . . . . . . . . . . . . . 14 | |||
2.2.2. Use by Operators to Plan and Provision Networks . . . 14 | 2.2.2. Use by Operators to Plan and Provision Networks . . . 15 | |||
2.2.3. Service Performance Measurement . . . . . . . . . . . 14 | 2.2.3. Service Performance Measurement . . . . . . . . . . . 15 | |||
2.2.4. Measuring Transport to Support Network Operations . . 14 | 2.2.4. Measuring Transport to Support Network Operations . . 16 | |||
2.3. Use for Network Diagnostics and Troubleshooting . . . . . 15 | 2.3. Use for Network Diagnostics and Troubleshooting . . . . . 17 | |||
2.4. Observing Headers to Implement Network Policy . . . . . . 16 | 2.3.1. Examples of measurements . . . . . . . . . . . . . . . 17 | |||
3. Encryption and Authentication of Transport Headers . . . . . . 16 | 2.4. Observing Headers to Implement Network Policy . . . . . . 18 | |||
3.1. Authenticating the Transport Protocol Header . . . . . . . 18 | 3. Encryption and Authentication of Transport Headers . . . . . . 18 | |||
3.2. Encrypting the Transport Payload . . . . . . . . . . . . . 18 | 3.1. Authenticating the Transport Protocol Header . . . . . . . 20 | |||
3.3. Encrypting the Transport Header . . . . . . . . . . . . . 18 | 3.2. Encrypting the Transport Payload . . . . . . . . . . . . . 20 | |||
3.3. Encrypting the Transport Header . . . . . . . . . . . . . 20 | ||||
3.4. Authenticating Transport Information and Selectively | 3.4. Authenticating Transport Information and Selectively | |||
Encrypting the Transport Header . . . . . . . . . . . . . 19 | Encrypting the Transport Header . . . . . . . . . . . . . 21 | |||
3.5. Adding Transport Information to Network-Layer Protocol | 3.5. Optional Encryption of Header Information . . . . . . . . 21 | |||
Headers . . . . . . . . . . . . . . . . . . . . . . . . . 19 | 4. Addition of Transport Information to Network-Layer Protocol | |||
4. Implications of Protecting the Transport Headers . . . . . . . 20 | Headers . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
4.1. Independent Measurement . . . . . . . . . . . . . . . . . 20 | 5. Implications of Protecting the Transport Headers . . . . . . . 22 | |||
4.2. Characterising "Unknown" Network Traffic . . . . . . . . . 21 | 5.1. Independent Measurement . . . . . . . . . . . . . . . . . 22 | |||
4.3. Accountability and Internet Transport Protocols . . . . . 21 | 5.2. Characterising "Unknown" Network Traffic . . . . . . . . . 23 | |||
4.4. Impact on Research, Development and Deployment . . . . . . 22 | 5.3. Accountability and Internet Transport Protocols . . . . . 23 | |||
5. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 22 | 5.4. Impact on Research, Development and Deployment . . . . . . 24 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | 6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 23 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 8. Security Considerations . . . . . . . . . . . . . . . . . . . 27 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . . 23 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . . 23 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 27 | |||
Appendix A. Revision information . . . . . . . . . . . . . . . . . 28 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 28 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 28 | 10.2. Informative References . . . . . . . . . . . . . . . . . 28 | |||
Appendix A. Revision information . . . . . . . . . . . . . . . . . 32 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 33 | ||||
1. Introduction | 1. Introduction | |||
This document describes implications of applying end-to-end | ||||
This document discusses the implications of end-to-end encryption | encryption at the transport layer. It reviews the implications of | |||
applied at the transport layer, and examines the impact on transport | developing end-to-end transport protocols that use encryption to | |||
protocol design, transport usage, and network operations and | provide confidentiality of the transport protocol header and expected | |||
management. It also considers anticipated implications on transport | implications of transport protocol design and network operation. It | |||
and application evolution. | also considers anticipated implications on transport and application | |||
evolution. | ||||
The transport layer provides the first end-to-end interactions across | The transport layer provides the first end-to-end interactions across | |||
the Internet. Transport protocols layer directly over the network- | the Internet. Transport protocols layer directly over the network- | |||
layer service and are sent in the payload of network-layer packets. | layer service and are sent in the payload of network-layer packets. | |||
They support end-to-end communication between applications, supported | They support end-to-end communication between applications, supported | |||
by higher-layer protocols, running on the end systems (or transport | by higher-layer protocols, running on the end systems (or transport | |||
endpoints). This simple architectural view hides one of the core | endpoints). This simple architectural view hides one of the core | |||
functions of the transport, however - to discover and adapt to the | functions of the transport, however - to discover and adapt to the | |||
properties of the Internet path that is currently being used. The | properties of the Internet path that is currently being used. The | |||
design of Internet transport protocols is as much about trying to | design of Internet transport protocols is as much about trying to | |||
skipping to change at page 3, line 30 ¶ | skipping to change at page 3, line 37 ¶ | |||
To achieve stable Internet operations the IETF transport community | To achieve stable Internet operations the IETF transport community | |||
has to date relied heavily on measurement and insights of the network | has to date relied heavily on measurement and insights of the network | |||
operations community to understand the trade-offs, and to inform | operations community to understand the trade-offs, and to inform | |||
selection of appropriate mechanisms, to ensure a safe, reliable, and | selection of appropriate mechanisms, to ensure a safe, reliable, and | |||
robust Internet (e.g., [RFC1273]). In turn, the network operations | robust Internet (e.g., [RFC1273]). In turn, the network operations | |||
community relies on being able to understand the pattern and | community relies on being able to understand the pattern and | |||
requirements of traffic passing over the Internet, both in aggregate | requirements of traffic passing over the Internet, both in aggregate | |||
and at the flow level - inspecting transport layer headers to help | and at the flow level - inspecting transport layer headers to help | |||
understand traffic dynamics. | understand traffic dynamics. | |||
There are many motivations for deploying encrypted transports, and | There are many motivations for deploying encrypted transports (i.e., | |||
encryption of transport payloads. The increasing public concerns | transport protocols that use encryption to provide confidentiality of | |||
about the interference with Internet traffic have led to a rapidly | some or all of the transport-layer header information), and | |||
expanding deployment of encryption to protect end-user privacy, in | encryption of transport payloads (i.e. Confidentiality of the | |||
protocols like QUIC. At the same time, network operators and access | payload data). The increasing public concerns about the interference | |||
providers, especially in mobile networks, have come to rely on the | with Internet traffic have led to a rapidly expanding deployment of | |||
in-network measurement of transport properties and the functionality | encryption to protect end-user privacy, in protocols like QUIC, but | |||
provided by middleboxes to both support network operations and | also expected to forma a basis of future protocol designs. | |||
enhance performance (e.g., [I-D.dolson-plus-middlebox-benefits]). | ||||
This document considers some implications of working with encrypted | Introducing cryptographic integrity checks to header fields can also | |||
transport protocols, and discusses trade-offs around authentication, | prevent undetected manipulation of the field by network devices. | |||
and encryption of transport protocol headers. It describes some of | However, it does not prevent inspection of the information by device | |||
the architectural challenges and considerations in the way transport | on path, and it is possible that such devices could develop | |||
protocols are designed when using encryption [Measure]. | mechanisms that rely on the presence of such a field, or a known | |||
value in the field. This leads to ossification of the header: An | ||||
endpoint could be required to supply the header to receive the | ||||
network service that it desires. In some cases, this could be benign | ||||
to the protocol (e.g., recognising the start of a connection), but in | ||||
other cases, any change to the protocol use of a specific header can | ||||
have undesirable implications (e.g., a mechanism implemented in a | ||||
network device, such as a firewall, that requires a header field to | ||||
have only a specific known set of values could prevent the device | ||||
from forwarding packets using a different version of a protocol that | ||||
introduces a new feature that changes the value present in this | ||||
field). A protocol that intentionally varies the format and value of | ||||
header fields (sometimes known as Greasing) has been suggested as a | ||||
way to help avoid such ossification of the transport protocol. | ||||
Encryption of the transport layer brings some well-known privacy and | Implementations of network devices are encouraged to avoid side- | |||
security benefits, but also introduces various costs that need to be | effects when protocols are updated. In particular, it is important | |||
considered. Specifically, it can impact the following activities | that protocols either do not expose information where the usage may | |||
that rely on measurement and analysis of traffic flows: | change in future protocols, or that methods that utilise the | |||
information are robust to potential changes as protocols evolve over | ||||
time. | ||||
At the same time, some network operators and access providers, have | ||||
come to rely on the in-network measurement of transport properties | ||||
and the functionality provided by middleboxes to both support network | ||||
operations and enhance performance (e.g., [I-D.dolson-plus-middlebox- | ||||
benefits]). | ||||
A protocol design can use header encryption to provide | ||||
confidentiality of some or all of the protocol header information. | ||||
This prevents an on-path device from knowledge of the header field. | ||||
It therefore prevents mechanisms being built that directly rely on | ||||
the information or seeks to imply semantics of an exposed header | ||||
field. Protocol designers have often ignored these implications and | ||||
this document suggests that exposure of information should be | ||||
carefully considered when specifying new protocols. | ||||
Using encryption to provide confidentiality of the transport layer | ||||
brings some well-known privacy and security benefits. While a | ||||
protocol design that encrypts (hides) all the transport information | ||||
can help reduce ossification of the transport layer, it could result | ||||
in ossification of the network service. There can be advantages in | ||||
providing a level of ossification of the header in terms of providing | ||||
a set of specified header fields that are observable from in-network | ||||
devices. | ||||
There can also be implications when working with encrypted transport | ||||
protocols that hide transport header information from the network. | ||||
This present architectural challenges and considerations in the way | ||||
transport protocols are designed, and ability to characterise and | ||||
compare different transport solutions [Measure]. This results in | ||||
trade-offs around authentication, and confidentiality of transport | ||||
protocol headers and the potential support for other uses of this | ||||
header information. For example, it can impact the following | ||||
activities that rely on measurement and analysis of traffic flows: | ||||
Network Operations and Research: Observable transport headers enable | Network Operations and Research: Observable transport headers enable | |||
both operators and the research community to measure and analyse | both operators and the research community to measure and analyse | |||
protocol performance, network anomalies, and failure pathologies. | protocol performance, network anomalies, and failure pathologies. | |||
This information can help inform capacity planning, and assist in | This information can help inform capacity planning, and assist in | |||
determining the need for equipment and/or configuration changes by | determining the need for equipment and/or configuration changes by | |||
network operators. | network operators. | |||
This data information can inform Internet engineering research, | This data information can inform Internet engineering research, | |||
and help the development of new protocols, methodologies, and | and help the development of new protocols, methodologies, and | |||
procedures. Encryption of the entire transport protocol, | procedures. Hiding the entire transport protocol, including | |||
including header information, will restrict the availability of | header information, will restrict the availability of data, and | |||
data, and might lead to the development of alternative, and | might lead to the development of alternative, and potentially more | |||
potentially more intrusive, methods to acquire the needed data. | intrusive, methods to acquire the needed data. | |||
Encrypting the transport payload, but leaving some, or all, of the | Providing confidentiality of the transport payload, but leaving | |||
transport headers unencrypted, possibly with authentication, can | some, or all, of the transport headers unencrypted, possibly with | |||
provide the majority of the privacy and security benefits while | authentication, can provide the majority of the privacy and | |||
allowing some measurement. | security benefits while allowing some measurement. | |||
Protection from Denial of Service: Observable transport headers can | Protection from Denial of Service: Observable transport headers can | |||
provide useful input to classification of traffic and detection of | provide useful input to classification of traffic and detection of | |||
anomalous events, such as distributed denial of service attacks. | anomalous events, such as distributed denial of service attacks. | |||
To be effective, this protection needs to be able to uniquely | To be effective, this protection needs to be able to uniquely | |||
disambiguate unwanted traffic. An inability to separate this | disambiguate unwanted traffic. An inability to separate this | |||
traffic using packet header information is expected to lead to | traffic using packet header information is expected to lead to | |||
less precise pattern matching techniques or resort to | less precise pattern matching techniques or resort to | |||
indiscriminately (rate) limiting uncharacterised traffic. | indiscriminately (rate) limiting uncharacterised traffic. | |||
skipping to change at page 4, line 39 ¶ | skipping to change at page 6, line 18 ¶ | |||
like an unaffected flow when only observing network layer headers | like an unaffected flow when only observing network layer headers | |||
(if transport sequence numbers and flow identifiers are obscured). | (if transport sequence numbers and flow identifiers are obscured). | |||
This limits understanding of the impact of packet loss on the | This limits understanding of the impact of packet loss on the | |||
flows that share a network segment. Encrypted traffic therefore | flows that share a network segment. Encrypted traffic therefore | |||
implies "don't touch", and a likely trouble-shooting response will | implies "don't touch", and a likely trouble-shooting response will | |||
be "can't help, no trouble found". The additional mechanisms that | be "can't help, no trouble found". The additional mechanisms that | |||
will need to be introduced to help reconstruct transport-level | will need to be introduced to help reconstruct transport-level | |||
metrics add complexity and operational costs [I-D.mm-wg-effect- | metrics add complexity and operational costs [I-D.mm-wg-effect- | |||
encrypt]. | encrypt]. | |||
Network Traffic Analysis: The use of encryption can make it harder to | Network Traffic Analysis: Hiding transport protocol header | |||
determine which transport protocols and features are being used | information can make it harder to determine which transport | |||
across a network segment. The trends in usage. This could impact | protocols and features are being used across a network segment. | |||
the ability for an operator to anticipate the need for network | The trends in usage. This could impact the ability for an | |||
upgrades and roll-out. It can also impact the on-going traffic | operator to anticipate the need for network upgrades and roll-out. | |||
engineering activities performed by operators. While the impact | It can also impact the on-going traffic engineering activities | |||
may, in many cases, be small there are scenarios where operators | performed by operators. While the impact may, in many cases, be | |||
directly support particular services (e.g., in radio links, or to | small there are scenarios where operators directly support | |||
troubleshoot issues relating to Quality of Service, QoS; the | particular services (e.g., in radio links, or to troubleshoot | |||
ability to perform fast re-routing of critical traffic, or support | issues relating to Quality of Service, QoS; the ability to perform | |||
to mitigate the characteristics of specific radio links). The | fast re-routing of critical traffic, or support to mitigate the | |||
more complex the underlying infrastructure the more important this | characteristics of specific radio links). The more complex the | |||
impact. | underlying infrastructure the more important this impact. | |||
Open and Verifiable Network Data: The use of transport header | Open and Verifiable Network Data: The Hiding transport protocol | |||
encryption reduces the range of actors that can capture useful | header information can reduces the range of actors that can | |||
measurement data. This is, of course, its goal. Doing so, | capture useful measurement data. This is, of course, its goal. | |||
however, limits the information sources available to the Internet | Doing so, however, limits the information sources available to the | |||
community to understand the operation of transport protocols, so | Internet community to understand the operation of transport | |||
preventing access to the information necessary to inform design | protocols, so preventing access to the information necessary to | |||
decisions and standards for new protocols and related operational | inform design decisions and standards for new protocols and | |||
practices. | related operational practices. | |||
There are dangers in a model where only endpoints (i.e., at user | There are dangers in a model where only endpoints (i.e., at user | |||
devices and within service platforms) can observe performance, and | devices and within service platforms) can observe performance, and | |||
this cannot be independently verified. | this cannot be independently verified. | |||
To ensure the health of the standards and research communities, we | To ensure the health of the standards and research communities, we | |||
need independently captured data to develop new transport protocol | need independently captured data to develop new transport protocol | |||
mechanisms based on the behaviour experienced in deployed | mechanisms based on the behaviour experienced in deployed | |||
networks. | networks. | |||
Independently verifiable performance metrics might also important | Independently verifiable performance metrics might also important | |||
in order to demonstrate regulatory compliance in some | in order to demonstrate regulatory compliance in some | |||
jurisdictions. | jurisdictions. | |||
The last point leads us to consider the impact of encrypting all the | The last point leads us to consider the impact of hiding transport | |||
transport headers the specification and development of protocols and | headers in the specification and development of protocols and | |||
standards. It has potential impact on: | standards. This has potential impact on: | |||
o Understanding Feature Interactions: An appropriate vantage point, | o Understanding Feature Interactions: An appropriate vantage point, | |||
coupled with timing information about traffic flows, provides a | coupled with timing information about traffic flows, provides a | |||
valuable tool for benchmarking equipment, functions, and/or | valuable tool for benchmarking equipment, functions, and/or | |||
configurations, and to understand complex feature interactions. | configurations, and to understand complex feature interactions. | |||
Transport header encryption limits the ability to diagnose and | An inability to observe transport protocol information can limit | |||
explore interactions between features at different protocol | the ability to diagnose and explore interactions between features | |||
layers, a side-effect of not allowing a choice of vantage point | at different protocol layers, a side-effect of not allowing a | |||
from which this information is observed. | choice of vantage point from which this information is observed. | |||
o Supporting Common Specifications: The Transmission Control | o Supporting Common Specifications: The Transmission Control | |||
Protocol (TCP) is the predominant transport protocol used over | Protocol (TCP) is the predominant transport protocol used over | |||
Internet paths. Its many variants have broadly consistent | Internet paths. Its many variants have broadly consistent | |||
approaches to avoiding congestion collapse, and to ensuring the | approaches to avoiding congestion collapse, and to ensuring the | |||
stability of the network. Increased use of transport layer | stability of the network. Increased use of transport layer | |||
encryption can overcome ossification, allowing deployment of new | encryption can overcome ossification, allowing deployment of new | |||
transports with different types of congestion control. This | transports and different types of congestion control. This | |||
flexibility can be beneficial, but it comes at the cost of | flexibility can be beneficial, but it can come at the cost of | |||
fragmenting the ecosystem. There's little doubt that developers | fragmenting the ecosystem. There is little doubt that developers | |||
will try to produce high quality transports for their target uses, | will try to produce high quality transports for their target uses, | |||
but it is not clear there are sufficient incentives to ensure good | but it is not clear there are sufficient incentives to ensure good | |||
practice that benefits the wide diversity of requirements for the | practice that benefits the wide diversity of requirements for the | |||
Internet community as a whole. Increased diversity, and the | Internet community as a whole. Increased diversity, and the | |||
ability to innovate without public scrutiny, risks point solutions | ability to innovate without public scrutiny, risks point solutions | |||
that optimise for specific needs, but accidentally disrupt | that optimise for specific needs, but accidentally disrupt | |||
operations of/in different parts of the network. The social | operations of/in different parts of the network. The social | |||
contract that maintains the stability of the network relies on | contract that maintains the stability of the network relies on | |||
accepting common specifications, and on the ability to verify that | accepting common specifications, and on the ability to verify that | |||
others also conform. | others also conform. | |||
o Operational practice: Published transport specifications allow | o Operational practice: Published transport specifications allow | |||
operators to check compliance. This can bring assurance to those | operators to check compliance. This can bring assurance to those | |||
operating networks, often avoiding the need to deploy complex | operating networks, often avoiding the need to deploy complex | |||
techniques that routinely monitor and manage TCP/IP traffic flows | techniques that routinely monitor and manage TCP/IP traffic flows | |||
(e.g. Avoiding the capital and operational costs of deploying | (e.g. Avoiding the capital and operational costs of deploying | |||
flow rate-limiting and network circuit-breaker methods [RFC8084]). | flow rate-limiting and network circuit-breaker methods [RFC8084]). | |||
This should continue when encrypted transport headers are used, | When it is not possible to observe transport header information, | |||
but methods need to confirm that the traffic produced conforms to | methods are still needed to confirm that the traffic produced | |||
the expectations of the operator or developer. | conforms to the expectations of the operator or developer. | |||
o Restricting research and development: The use of encryption may | o Restricting research and development: Hiding transport information | |||
impede independent research into new mechanisms, measurement of | can impede independent research into new mechanisms, measurement | |||
behaviour, and development initiatives. Experience shows that | of behaviour, and development initiatives. Experience shows that | |||
transport protocols are complicated to design and complex to | transport protocols are complicated to design and complex to | |||
deploy, and that individual mechanisms need to be evaluated while | deploy, and that individual mechanisms need to be evaluated while | |||
considering other mechanisms, across a broad range of network | considering other mechanisms, across a broad range of network | |||
topologies and with attention to the impact on traffic sharing the | topologies and with attention to the impact on traffic sharing the | |||
capacity. Adopting pervasive encryption of transport information | capacity. Hiding transport header information (e.g., by pervasive | |||
could eliminate the independent self-checks that have previously | encryption of transport information) could eliminate the | |||
been in place from research and academic contributors (e.g., the | independent self-checks that have previously been in place from | |||
role of the IRTF ICCRG, and research publications in reviewing new | research and academic contributors (e.g., the role of the IRTF | |||
transport mechanisms and assessing the impact of their | ICCRG, and research publications in reviewing new transport | |||
experimental deployment). | mechanisms and assessing the impact of their experimental | |||
deployment). | ||||
Pervasive use of transport header encryption can impact the ways that | In summary, a lack of visibility of transport header information can | |||
protocols are designed, standardised, deployed, and operated. The | impact the ways that protocols are designed, standardised, deployed, | |||
choice of whether future transport protocols encrypt their protocol | and operated. The choice of whether future transport protocols | |||
headers therefore needs to be taken based not solely on security and | encrypt their protocol headers therefore needs to be taken based not | |||
privacy considerations, but also taking into account the impact on | solely on security and privacy considerations, but also taking into | |||
operations, standards, and research. A network that is secure but | account the impact on operations, standards, and research. A network | |||
unusable due to persistent congestion collapse is not an improvement, | that is secure but unusable due to persistent congestion collapse is | |||
and while that would be an extreme outcome proposals that impose high | not an improvement, and while that would be an extreme outcome | |||
costs for very limited benefits need to be considered carefully, to | proposals that impose high costs for very limited benefits need to be | |||
ensure the benefits outweigh the costs. | considered carefully, to ensure the benefits outweigh the costs. | |||
2. Current uses of Transport Headers within the Network | 2. Current uses of Transport Headers within the Network | |||
Despite transport headers having end-to-end meaning, some of these | Despite transport headers having end-to-end meaning, some of these | |||
transport headers have come to be used in various ways within the | transport headers have come to be used in various ways within the | |||
Internet. In response to pervasive monitoring [RFC7624] revelations | Internet. In response to pervasive monitoring [RFC7624] revelations | |||
and the IETF consensus that "Pervasive Monitoring is an Attack" | and the IETF consensus that "Pervasive Monitoring is an Attack" | |||
[RFC7258], efforts are underway to increase encryption of Internet | [RFC7258], efforts are underway to increase encryption of Internet | |||
traffic, which would prevent visibility of transport headers. This | traffic,. Applying confidentiality to transport header fields would | |||
affects on how network protocols are designed and used [I-D.mm-wg- | affect how network protocols are designed and used [I-D.mm-wg-effect- | |||
effect-encrypt]. To understand these implications, it is first | encrypt]. To understand these implications, it is first necessary to | |||
necessary to understand how transport layer headers are currently | understand how transport layer headers are currently observed and/or | |||
observed and/or modified by middleboxes within the network. | modified by middleboxes within the network. | |||
Transport protocols can be designed to encrypt or authenticate | Transport protocols can be designed to encrypt or authenticate | |||
transport header fields. Authentication methods at the transport | transport header fields. Authentication methods at the transport | |||
layer can be used to detect any changes to an immutable header field | layer can be used to detect any changes to an immutable header field | |||
that were made by a network device along a path. The intentional | that were made by a network device along a path. The intentional | |||
modification of transport headers by middleboxes (such as Network | modification of transport headers by middleboxes (such as Network | |||
Address Translation, NAT, or Firewalls) is not considered. Common | Address Translation, NAT, or Firewalls) is not considered. Common | |||
issues concerning IP address sharing are described in [RFC6269]. | issues concerning IP address sharing are described in [RFC6269]. | |||
2.1. Observing Transport Information in the Network | 2.1. Observing Transport Information in the Network | |||
skipping to change at page 8, line 31 ¶ | skipping to change at page 9, line 44 ¶ | |||
2.1.2. Metrics derived from Transport Layer Headers | 2.1.2. Metrics derived from Transport Layer Headers | |||
Some actors have a need to characterise the performance of link/ | Some actors have a need to characterise the performance of link/ | |||
network segments. Passive monitoring uses observed traffic to makes | network segments. Passive monitoring uses observed traffic to makes | |||
inferences from transport headers to derive these measurements. A | inferences from transport headers to derive these measurements. A | |||
variety of open source and commercial tools have been deployed that | variety of open source and commercial tools have been deployed that | |||
utilise this information. The following metrics can be derived from | utilise this information. The following metrics can be derived from | |||
transport header information: | transport header information: | |||
Traffic Rate and Volume: Header information may allow derivation of | Traffic Rate and Volume: Header information e.g., (sequence number, | |||
volume measures per-application, to characterise the traffic that | length) may allow derivation of volume measures per-application, | |||
uses a network segment or the pattern of network usage. This may | to characterise the traffic that uses a network segment or the | |||
be measured per endpoint or for an aggregate of endpoints (e.g., | pattern of network usage. This may be measured per endpoint or | |||
by an operator to assess subscriber usage). It can also be used to | for an aggregate of endpoints (e.g., by an operator to assess | |||
trigger measurement-based traffic shaping and to implement QoS | subscriber usage). It can also be used to trigger measurement- | |||
support within the network and lower layers. Volume measures can | based traffic shaping and to implement QoS support within the | |||
be valuable for capacity planning (providing detail of trends | network and lower layers. Volume measures can be valuable for | |||
rather than the volume per subscriber). | capacity planning (providing detail of trends rather than the | |||
volume per subscriber). | ||||
Loss Rate and Loss Pattern: Flow loss rate may be derived and is | Loss Rate and Loss Pattern: Flow loss rate may be derived (e.g., from | |||
often used as a metric for performance assessment and to | sequence number) and is often used as a metric for performance | |||
characterise transport behaviour. Understanding the root cause of | assessment and to characterise transport behaviour. Understanding | |||
loss can help an operator determine whether this requires | the root cause of loss can help an operator determine whether this | |||
corrective action. Network operators may also use the variation | requires corrective action. Network operators may also use the | |||
in patterns of loss as a key performance metric, utilising this to | variation in patterns of loss as a key performance metric, | |||
detect changes in the offered service. | utilising this to detect changes in the offered service. | |||
There are various cause of loss, including: corruption on a link | There are various cause of loss, including: corruption on a link | |||
(e.g., interference on a radio link), buffer overflow (e.g., due | (e.g., interference on a radio link), buffer overflow (e.g., due | |||
to congestion), policing (traffic management), buffer management | to congestion), policing (traffic management), buffer management | |||
(e.g., Active Queue Management, AQM), inadequate provision of | (e.g., Active Queue Management, AQM), inadequate provision of | |||
traffic preemption. Understanding flow loss rate requires either | traffic preemption. Understanding flow loss rate requires either | |||
maintaining per flow packet counters or by observing sequence | maintaining per flow packet counters or by observing sequence | |||
numbers in transport headers. Loss can be monitored at the | numbers in transport headers. Loss can be monitored at the | |||
interface level by devices in the network. It is often important | interface level by devices in the network. It is often important | |||
to understand the conditions under which packet loss occurs. This | to understand the conditions under which packet loss occurs. This | |||
skipping to change at page 10, line 30 ¶ | skipping to change at page 12, line 5 ¶ | |||
timing. For such applications, it can be necessary to measure the | timing. For such applications, it can be necessary to measure the | |||
jitter observed along a portion of the path. The requirements to | jitter observed along a portion of the path. The requirements to | |||
measure jitter resemble those for the measurement of latency. | measure jitter resemble those for the measurement of latency. | |||
Flow Reordering: Significant flow reordering can impact time-critical | Flow Reordering: Significant flow reordering can impact time-critical | |||
applications and can be interpreted as loss by reliable | applications and can be interpreted as loss by reliable | |||
transports. Many transport protocol techniques are impacted by | transports. Many transport protocol techniques are impacted by | |||
reordering (e.g., triggering TCP retransmission, or re-buffering | reordering (e.g., triggering TCP retransmission, or re-buffering | |||
of real-time applications). Packet reordering can occur for many | of real-time applications). Packet reordering can occur for many | |||
reasons (from equipment design to misconfiguration of forwarding | reasons (from equipment design to misconfiguration of forwarding | |||
rules). | rules). Since this impacts transport performance, network tools | |||
are needed to detect and measure unwanted/excessive reordering. | ||||
As in the drive to reduce network latency, there is a need for | As in the drive to reduce network latency, there is a need for | |||
operational tools to detect mis-ordered packet flows and quantify | operational tools to detect mis-ordered packet flows and quantify | |||
the degree or reordering. Techniques for measuring reordering | the degree or reordering. Techniques for measuring reordering | |||
typically observe packet sequence numbers. Metrics have been | typically observe packet sequence numbers. Metrics have been | |||
defined that evaluate whether a network has maintained packet | defined that evaluate whether a network has maintained packet | |||
order on a packet-by-packet basis [RFC4737] and [RFC5236]. | order on a packet-by-packet basis [RFC4737] and [RFC5236]. | |||
There have been initiatives in the IETF transport area to reduce | There have been initiatives in the IETF transport area to reduce | |||
the impact of reordering within a transport flow, possibly leading | the impact of reordering within a transport flow, possibly leading | |||
skipping to change at page 11, line 19 ¶ | skipping to change at page 12, line 38 ¶ | |||
performance indicators are retransmission rate, packet drop rate, | performance indicators are retransmission rate, packet drop rate, | |||
sector utilisation level, a measure of reordering, peak rate, the CE- | sector utilisation level, a measure of reordering, peak rate, the CE- | |||
marking rate, etc. Metadata is often important to understand the | marking rate, etc. Metadata is often important to understand the | |||
context under which the data was collected, including the time, | context under which the data was collected, including the time, | |||
observation point, and way in which metrics were accumulated. The | observation point, and way in which metrics were accumulated. The | |||
RTCP protocol directly reports some of this information in a form | RTCP protocol directly reports some of this information in a form | |||
that can be directly visible in the network. A user of summary | that can be directly visible in the network. A user of summary | |||
measurement data needs to trust the source of this data and the | measurement data needs to trust the source of this data and the | |||
method used to generate the summary information. | method used to generate the summary information. | |||
When encryption conceals information in packet headers, measurements | When information in transport headers is concealed, measurements need | |||
need to rely on pattern inferences and other heuristics grows, and | to rely on pattern inferences and other heuristics grows, and | |||
accuracy suffers [I-D.mm-wg-effect-encrypt]. | accuracy suffers [I-D.mm-wg-effect-encrypt]. | |||
2.1.3. Metrics derived from Network Layer Headers | 2.1.3. Metrics derived from Network Layer Headers | |||
Some transport information is made visible in the network-layer | Some transport information is made visible in the network-layer | |||
protocol header. These header fields are not encrypted and can be | protocol header. These header fields are not encrypted and can be | |||
used to make flow observations. | used to make flow observations. | |||
Use of IPv6 Network-Layer Flow Label: Endpoints are encouraged expose | Use of IPv6 Network-Layer Flow Label: Endpoints are encouraged expose | |||
flow information in the IPv6 Flow Label field of the network-layer | flow information in the IPv6 Flow Label field of the network-layer | |||
skipping to change at page 14, line 6 ¶ | skipping to change at page 15, line 19 ¶ | |||
but current methods typically employ heuristics that can result in | but current methods typically employ heuristics that can result in | |||
more loss under certain path conditions (e.g., large RTT, effects of | more loss under certain path conditions (e.g., large RTT, effects of | |||
multiple bottlenecks [RFC7567]). | multiple bottlenecks [RFC7567]). | |||
In-network measurements can distinguish between upstream and | In-network measurements can distinguish between upstream and | |||
downstream metrics with respect to a measurement point. These are | downstream metrics with respect to a measurement point. These are | |||
particularly useful for locating the source of problems or to assess | particularly useful for locating the source of problems or to assess | |||
the performance of a network segment or a particular device | the performance of a network segment or a particular device | |||
configuration. | configuration. | |||
By correlating observations at multiple points along the path (e.g., | By correlating observations of headers at multiple points along the | |||
at the ingress and egress of a network segment), an observer can | path (e.g., at the ingress and egress of a network segment), an | |||
determine the contribution of a portion of the path to an observed | observer can determine the contribution of a portion of the path to | |||
metric (to locate a source of delay, jitter, loss, reordering, | an observed metric (to locate a source of delay, jitter, loss, | |||
congestion marking, etc.). | reordering, congestion marking, etc.). | |||
2.2.2. Use by Operators to Plan and Provision Networks | 2.2.2. Use by Operators to Plan and Provision Networks | |||
Traffic measurements (e.g., traffic volume, loss, latency) is used by | Traffic measurements (e.g., traffic volume, loss, latency) is used by | |||
operators to help plan deployment of new equipment and configurations | operators to help plan deployment of new equipment and configurations | |||
in their networks. Data is also important to equipment vendors who | in their networks. Data is also important to equipment vendors who | |||
need to understand traffic trends and patterns of usage as inputs to | need to understand traffic trends and patterns of usage as inputs to | |||
decisions about planning products and provisioning for new | decisions about planning products and provisioning for new | |||
deployments. This measurement information can also be correlated | deployments. This measurement information can also be correlated | |||
with billing information when this is also collected by an operator. | with billing information when this is also collected by an operator. | |||
skipping to change at page 14, line 34 ¶ | skipping to change at page 15, line 47 ¶ | |||
in aggregate traffic can be observed and can be related this to the | in aggregate traffic can be observed and can be related this to the | |||
endpoint addresses being used, but it may not be possible to | endpoint addresses being used, but it may not be possible to | |||
correlate patterns in measurements with changes in transport | correlate patterns in measurements with changes in transport | |||
protocols (e.g., the impact of changes in introducing a new transport | protocols (e.g., the impact of changes in introducing a new transport | |||
protocol mechanism). This increases the dependency on other indirect | protocol mechanism). This increases the dependency on other indirect | |||
sources of information to inform planning and provisioning. | sources of information to inform planning and provisioning. | |||
2.2.3. Service Performance Measurement | 2.2.3. Service Performance Measurement | |||
Traffic measurements (e.g., traffic volume, loss, latency) can be | Traffic measurements (e.g., traffic volume, loss, latency) can be | |||
used by various actors to help analyse the performance available to | used by various actors to help analyse the performance offered to the | |||
users of a network segment, and inform operational practice. While | users of a network segment, and inform operational practice. | |||
active measurements may be used in-network passive measurements can | ||||
have advantages in terms of eliminating unproductive traffic, | While active measurements may be used in-network passive measurements | |||
can have advantages in terms of eliminating unproductive traffic, | ||||
reducing the influence of test traffic on the overall traffic mix, | reducing the influence of test traffic on the overall traffic mix, | |||
and the ability to choose the point of measurement Section 2.2.1. | and the ability to choose the point of measurement Section 2.2.1. | |||
However, passive measurements may rely on observing transport | ||||
headers. | ||||
2.2.4. Measuring Transport to Support Network Operations | 2.2.4. Measuring Transport to Support Network Operations | |||
Information provided by tools observing transport headers can help | Information provided by tools observing transport headers can help | |||
determine whether mechanisms are needed in the network to prevent | determine whether mechanisms are needed in the network to prevent | |||
flows from acquiring excessive network capacity. Operators can | flows from acquiring excessive network capacity. Operators can | |||
implement operational practices to manage traffic flows (e.g., to | implement operational practices to manage traffic flows (e.g., to | |||
prevent flows from acquiring excessive network capacity under severe | prevent flows from acquiring excessive network capacity under severe | |||
congestion) by deploying rate-limiters, traffic shaping or network | congestion) by deploying rate-limiters, traffic shaping or network | |||
transport circuit breakers [RFC8084]. | transport circuit breakers [RFC8084]. | |||
skipping to change at page 16, line 27 ¶ | skipping to change at page 17, line 55 ¶ | |||
relying on traditional tools. This can impact the ability of the | relying on traditional tools. This can impact the ability of the | |||
operator to respond to faults, it could require reliance on endpoint | operator to respond to faults, it could require reliance on endpoint | |||
diagnostic tools or user involvement in diagnosing and | diagnostic tools or user involvement in diagnosing and | |||
troubleshooting unusual use cases or non-trivial problems. A key | troubleshooting unusual use cases or non-trivial problems. A key | |||
need here is that tools need to provide useful information during | need here is that tools need to provide useful information during | |||
network anomalies (e.g., significant reordering, high or intermittent | network anomalies (e.g., significant reordering, high or intermittent | |||
loss). Although many network operators utilise transport information | loss). Although many network operators utilise transport information | |||
as a part of their operational practice, the network will not break | as a part of their operational practice, the network will not break | |||
because transport headers are encrypted. | because transport headers are encrypted. | |||
2.3.1. Examples of measurements | ||||
Future versions of this document may provide more about existing | ||||
tooling at Network Operations Centres that rely upon observing | ||||
transport layer header information. | ||||
Debugging and diagnosing the root causes of faults concern particular | ||||
users traffic is an activity that may depend on connection | ||||
information from the protocol - In some case, this may involve active | ||||
injection of test traffic to complete a measurement. Most operators | ||||
do not have access to user equipment. There may also be costs | ||||
associated with running such tests (e.g., the implications of | ||||
bandwidth tests in a mobile network are obvious). Some active | ||||
measurements (e.g., response under load or particular workloads) may | ||||
perturb other traffic, and could require dedicated access to the | ||||
network segment. An alternative approach is to use in-network | ||||
techniques that observe transport packet headers in operational | ||||
networks to make the measurements. | ||||
in other cases, measurement involves dissecting traffic flows. The | ||||
observed transport layer information can help identify whether the | ||||
link/network tuning is effective and alert to potential problems that | ||||
can be hard to derive from link or device measurements alone. The | ||||
design trade-offs for radio networks are often very different to | ||||
those of wired networks. A radio-based network (e.g., cellular | ||||
mobile, enterprise WiFi, satellite access/back-haul, point-to-point | ||||
radio) has the complexity of a subsystem that performs radio resource | ||||
management - with direct impact on the available capacity, and | ||||
potentially loss/reordering of packets. The impact of the pattern of | ||||
loss and congestion, differs for different traffic types, correlation | ||||
with propagation and interference can all have significant impact on | ||||
the cost and performance of a provided service. The need for this | ||||
type of information is expected to increase as operators bring | ||||
together heterogeneous types of network equipment and seek to deploy | ||||
opportunistic methods to access radio spectrum. | ||||
XXX Note: The authors are looking for contributions that say more | ||||
about the things people are currently doing with exposed transport | ||||
fields and what problems they are trying to solve, or how they use | ||||
the information they derive. How problematic is new tools to follow- | ||||
up. Examples could include: Health monitoring; anomoly/DoS | ||||
detection; Capacity planning, etc XXX | ||||
2.4. Observing Headers to Implement Network Policy | 2.4. Observing Headers to Implement Network Policy | |||
Information from the transport protocol can be used by a multi-field | Information from the transport protocol can be used by a multi-field | |||
classifier as a part of policy framework. Policies are commonly used | classifier as a part of policy framework. Policies are commonly used | |||
for QoS management for resource-constrained networks and by firewalls | for QoS management for resource-constrained networks and by firewalls | |||
that use the information to implement access rules. Traffic that | that use the information to implement access rules. Traffic that | |||
cannot be classified, will typically receive a default treatment. | cannot be classified, will typically receive a default treatment. | |||
3. Encryption and Authentication of Transport Headers | 3. Encryption and Authentication of Transport Headers | |||
End-to-end encryption can be applied at various protocol layers. It | End-to-end encryption can be applied at various protocol layers. It | |||
can be applied above the transport to encrypt the transport payload. | can be applied above the transport to encrypt the transport payload. | |||
Encryption methods can hide information from an eavesdropper in the | Encryption methods can hide information from an eavesdropper in the | |||
network. Encryption can also help protect the privacy of a user, by | network. Encryption can also help protect the privacy of a user, by | |||
hiding data relating to user/device identity or location. Neither an | hiding data relating to user/device identity or location. Neither an | |||
integrity check nor encryption methods prevent traffic analysis, and | integrity check nor encryption methods prevent traffic analysis, and | |||
usage needs to reflect that profiling of users, identification of | usage needs to reflect that profiling of users, identification of | |||
location and fingerprinting of behaviour can take place even on | location and fingerprinting of behaviour can take place even on | |||
encrypted traffic flows. | encrypted traffic flows. | |||
skipping to change at page 18, line 33 ¶ | skipping to change at page 20, line 35 ¶ | |||
avoid a receiving accepting changes and avoid impact on the transport | avoid a receiving accepting changes and avoid impact on the transport | |||
protocol operation. | protocol operation. | |||
An example transport authentication mechanism is TCP-Authentication | An example transport authentication mechanism is TCP-Authentication | |||
(TCP-AO) [RFC5925]. This TCP option authenticates TCP segments, | (TCP-AO) [RFC5925]. This TCP option authenticates TCP segments, | |||
including the IP pseudo header, TCP header, and TCP data. TCP-AO | including the IP pseudo header, TCP header, and TCP data. TCP-AO | |||
protects the transport layer, preventing attacks from disabling the | protects the transport layer, preventing attacks from disabling the | |||
TCP connection itself. TCP-AO may interact with middleboxes, | TCP connection itself. TCP-AO may interact with middleboxes, | |||
depending on their behaviour [RFC3234]. | depending on their behaviour [RFC3234]. | |||
The IPsec Authentication Header (AH) [RFC4302] works at the network | The IPsec Authentication Header (AH) [RFC4302] was designed to work | |||
layer and authenticates the IP payload. This therefore also | at the network layer and authenticate the IP payload. This approach | |||
authenticates all transport headers, and verifies their integrity at | authenticates all transport headers, and verifies their integrity at | |||
the receiver, preventing in-network modification. | the receiver, preventing in-network modification. | |||
3.2. Encrypting the Transport Payload | 3.2. Encrypting the Transport Payload | |||
The transport layer payload can be encrypted to protect the content | The transport layer payload can be encrypted to protect the content | |||
of transport segments. This leaves transport protocol header | of transport segments. This leaves transport protocol header | |||
information in the clear. The integrity of immutable transport | information in the clear. The integrity of immutable transport | |||
header fields could be protected by combining this with an integrity | header fields could be protected by combining this with an integrity | |||
check (Section 3.1). | check (Section 3.1). | |||
skipping to change at page 19, line 38 ¶ | skipping to change at page 21, line 40 ¶ | |||
Mutable fields in the transport header provide opportunities for | Mutable fields in the transport header provide opportunities for | |||
middleboxes to modify the transport behaviour (e.g., the extended | middleboxes to modify the transport behaviour (e.g., the extended | |||
headers described in [I-D.trammell-plus-abstract-mech]). This | headers described in [I-D.trammell-plus-abstract-mech]). This | |||
considers only immutable fields in the transport headers, that is, | considers only immutable fields in the transport headers, that is, | |||
fields that may be authenticated End-to-End across a path. | fields that may be authenticated End-to-End across a path. | |||
An example of a method that encrypts some, but not all, transport | An example of a method that encrypts some, but not all, transport | |||
information is GRE-in-UDP [RFC8086] when used with GRE encryption. | information is GRE-in-UDP [RFC8086] when used with GRE encryption. | |||
3.5. Adding Transport Information to Network-Layer Protocol Headers | 3.5. Optional Encryption of Header Information | |||
There are implications to the use of optional header encryption in | ||||
the design of a transport protocol, where support of optional | ||||
mechanisms can increase the complexity of the protocol and its | ||||
implementation and in the management decisions that are required to | ||||
use variable format fields. Instead, fields of a specific type ought | ||||
to always be sent with the same level of confidentiality or integrity | ||||
protection. | ||||
4. Addition of Transport Information to Network-Layer Protocol Headers | ||||
The transport information can be made visible in a network-layer | The transport information can be made visible in a network-layer | |||
header. This has the advantage that this information can then be | header. This has the advantage that this information can then be | |||
observed by in-network devices. This has the advantage that a single | observed by in-network devices. This has the advantage that a single | |||
header can support all transport protocols, but there may also be | header can support all transport protocols, but there may also be | |||
less desirable implications of separating the operation of the | less desirable implications of separating the operation of the | |||
transport protocol from the measurement framework. | transport protocol from the measurement framework. | |||
Some measurements may be made by adding additional protocol headers | Some measurements may be made by adding additional protocol headers | |||
carrying operations, administration and management (OAM) information | carrying operations, administration and management (OAM) information | |||
skipping to change at page 20, line 38 ¶ | skipping to change at page 22, line 38 ¶ | |||
It can be undesirable to rely on methods requiring options or | It can be undesirable to rely on methods requiring options or | |||
extension headers. IPv4 network options are often not supported (or | extension headers. IPv4 network options are often not supported (or | |||
are carried on a slower processing path) and some IPv6 networks are | are carried on a slower processing path) and some IPv6 networks are | |||
also known to drop packets that set an IPv6 header extension (e.g., | also known to drop packets that set an IPv6 header extension (e.g., | |||
[RFC7872]). Another disadvantage is that protocols that separately | [RFC7872]). Another disadvantage is that protocols that separately | |||
expose header information do not necessarily have an advantage to | expose header information do not necessarily have an advantage to | |||
expose the information that is utilised by the protocol itself, and | expose the information that is utilised by the protocol itself, and | |||
could manipulate this header information to gain an advantage from | could manipulate this header information to gain an advantage from | |||
the network. | the network. | |||
4. Implications of Protecting the Transport Headers | 5. Implications of Protecting the Transport Headers | |||
This section explores key implications of working with encrypted | This section explores key implications of working with encrypted | |||
transport protocols. | transport protocols. | |||
4.1. Independent Measurement | 5.1. Independent Measurement | |||
Independent observation by multiple actors is important for | Independent observation by multiple actors is important for | |||
scientific analysis. Encrypting transport header encryption changes | scientific analysis. Encrypting transport header encryption changes | |||
the ability for other actors to collect and independently analyse | the ability for other actors to collect and independently analyse | |||
data. Internet transport protocols employ a set of mechanisms. Some | data. Internet transport protocols employ a set of mechanisms. Some | |||
of these need to work in cooperation with the network layer - loss | of these need to work in cooperation with the network layer - loss | |||
detection and recovery, congestion detection and congestion control, | detection and recovery, congestion detection and congestion control, | |||
some of these need to work only End-to-End (e.g., parameter | some of these need to work only End-to-End (e.g., parameter | |||
negotiation, flow-control). | negotiation, flow-control). | |||
skipping to change at page 21, line 24 ¶ | skipping to change at page 23, line 24 ¶ | |||
information. Protocols that expose the state information used by the | information. Protocols that expose the state information used by the | |||
transport protocol in their header information (e.g., timestamps used | transport protocol in their header information (e.g., timestamps used | |||
to calculate the RTT, packet numbers used to asses congestion and | to calculate the RTT, packet numbers used to asses congestion and | |||
requests for retransmission) provide an incentive for the sending | requests for retransmission) provide an incentive for the sending | |||
endpoint to provide correct information, increasing confidence that | endpoint to provide correct information, increasing confidence that | |||
the observer understands the transport interaction with the network. | the observer understands the transport interaction with the network. | |||
This becomes important when considering changes to transport | This becomes important when considering changes to transport | |||
protocols, changes in network infrastructure, or the emergence of new | protocols, changes in network infrastructure, or the emergence of new | |||
traffic patterns. | traffic patterns. | |||
4.2. Characterising "Unknown" Network Traffic | 5.2. Characterising "Unknown" Network Traffic | |||
The patterns and types of traffic that share Internet capacity | The patterns and types of traffic that share Internet capacity | |||
changes with time as networked applications, usage patterns and | changes with time as networked applications, usage patterns and | |||
protocols continue to evolve. | protocols continue to evolve. | |||
If "unknown" or "uncharacterised" traffic patterns form a small part | If "unknown" or "uncharacterised" traffic patterns form a small part | |||
of the traffic aggregate passing through a network device or segment | of the traffic aggregate passing through a network device or segment | |||
of the network the path, the dynamics of the uncharacterised traffic | of the network the path, the dynamics of the uncharacterised traffic | |||
may not have a significant collateral impact on the performance of | may not have a significant collateral impact on the performance of | |||
other traffic that shares this network segment. Once the proportion | other traffic that shares this network segment. Once the proportion | |||
skipping to change at page 21, line 46 ¶ | skipping to change at page 23, line 46 ¶ | |||
determine if appropriate safety measures need to be put in place. | determine if appropriate safety measures need to be put in place. | |||
Tracking the impact of new mechanisms and protocols requires traffic | Tracking the impact of new mechanisms and protocols requires traffic | |||
volume to be measured and new transport behaviours to be identified. | volume to be measured and new transport behaviours to be identified. | |||
This is especially true of protocols operating over a UDP substrate. | This is especially true of protocols operating over a UDP substrate. | |||
The level and style of encryption needs to be considered in | The level and style of encryption needs to be considered in | |||
determining how this activity is performed. On a shorter timescale, | determining how this activity is performed. On a shorter timescale, | |||
information may also need to be collected to manage denial of service | information may also need to be collected to manage denial of service | |||
attacks against the infrastructure. | attacks against the infrastructure. | |||
4.3. Accountability and Internet Transport Protocols | 5.3. Accountability and Internet Transport Protocols | |||
Information provided by tools observing transport headers can help | Information provided by tools observing transport headers can help | |||
determine whether mechanisms are needed in the network to prevent | determine whether mechanisms are needed in the network to prevent | |||
flows from acquiring excessive network capacity, and where needed to | flows from acquiring excessive network capacity, and where needed to | |||
deploy appropriate tools Section 2.2.4. Obfuscating or hiding this | deploy appropriate tools Section 2.2.4. Obfuscating or hiding this | |||
information using encryption is expected to lead operators and | information using encryption is expected to lead operators and | |||
maintainers of middleboxes (firewalls, etc.) to seek other methods to | maintainers of middleboxes (firewalls, etc.) to seek other methods to | |||
classify and mechanisms to condition network traffic. | classify and mechanisms to condition network traffic. | |||
A lack of data seems likely to reduce the level of precision with | A lack of data seems likely to reduce the level of precision with | |||
which these mechanisms are applied, and this needs to be considered | which these mechanisms are applied, and this needs to be considered | |||
when evaluating the impact of designs for transport encryption. This | when evaluating the impact of designs for transport encryption. This | |||
could lead to increased use of rate limiting, circuit breaker | could lead to increased use of rate limiting, circuit breaker | |||
techniques [RFC8084], or even blocking of uncharacterised traffic. | techniques [RFC8084], or even blocking of uncharacterised traffic. | |||
This would hinder deployment of new mechanisms and/or protocols. | This would hinder deployment of new mechanisms and/or protocols. | |||
4.4. Impact on Research, Development and Deployment | 5.4. Impact on Research, Development and Deployment | |||
There are both opportunities and also challenges to the design, | ||||
evaluation and deployment of new transport protocol mechanisms. | ||||
Integrity checks can avoiding network devices undetected modification | ||||
of protocols, whereas encryption and obfuscation can prevent these | ||||
headers being utilised by network devices. This provides greater | ||||
freedom to update the protocols and can therefore ease | ||||
experimentation with new techniques and their final deployment in | ||||
endpoints. | ||||
Measurement data is increasingly being used to inform design | Measurement data is increasingly being used to inform design | |||
decisions in networking research, during development of new | decisions in networking research, during development of new | |||
mechanisms and protocols and in standardisation. Measurement has a | mechanisms and protocols and in standardisation. Measurement has a | |||
critical role in the design of transport protocol mechanisms and | critical role in the design of transport protocol mechanisms and | |||
their acceptance by the wider community (e.g., as a method to judge | their acceptance by the wider community (e.g., as a method to judge | |||
the safety for Internet deployment). Observation of pathologies are | the safety for Internet deployment). Observation of pathologies are | |||
also important in understanding the interactions between cooperating | also important in understanding the interactions between cooperating | |||
protocols and network mechanism, the implications of sharing capacity | protocols and network mechanism, the implications of sharing capacity | |||
with other traffic and the impact of different patterns of usage. | with other traffic and the impact of different patterns of usage. | |||
Attention needs to be paid to the expected scale of deployment of new | Attention needs to be paid to the expected scale of deployment of new | |||
protocols and protocol mechanisms. Whatever the mechanism, | protocols and protocol mechanisms. Whatever the mechanism, | |||
experience has shown that it is often difficult to correctly | experience has shown that it is often difficult to correctly | |||
implement combination of mechanisms [RFC8085]. These mechanisms | implement combination of mechanisms [RFC8085]. These mechanisms | |||
therefore typically evolve as a protocol matures, or in response to | therefore typically evolve as a protocol matures, or in response to | |||
changes in network conditions, changes in network traffic or changes | changes in network conditions, changes in network traffic or changes | |||
to application usage. | to application usage. | |||
The growth and diversity of applications and protocols using the | New transport protocol formats are expected to facilitate an | |||
Internet continues to expand - and there has been recent interest in | increased pace of transport evolution, and with it the possibility to | |||
a wide range of new transport methods, e.g., Larger Initial Window, | experiment with and deploy a wide range of protocol mechanisms. | |||
Proportional Rate Reduction (PRR), congestion control methods based | There has been recent interest in a wide range of new transport | |||
on measuring bottleneck bandwidth and round-trip propagation time, | methods, e.g., Larger Initial Window, Proportional Rate Reduction | |||
the introduction of AQM techniques and new forms of ECN response | (PRR), congestion control methods based on measuring bottleneck | |||
(e.g., DCTP, and methods proposed for L4S). For each new method it is | bandwidth and round-trip propagation time, the introduction of AQM | |||
desirable to build a body of data reflecting its behaviour under a | techniques and new forms of ECN response (e.g., DCTP, and methods | |||
wide range of deployment scenarios, traffic load, and interactions | proposed for L4S).The growth and diversity of applications and | |||
with other deployed/candidate methods. | protocols using the Internet also continues to expand. For each new | |||
method or application it is desirable to build a body of data | ||||
reflecting its behaviour under a wide range of deployment scenarios, | ||||
traffic load, and interactions with other deployed/candidate methods. | ||||
Open standards motivate a desire for this evaluation to include | Open standards motivate a desire for this evaluation to include | |||
independent observation and evaluation of performance data, which in | independent observation and evaluation of performance data, which in | |||
turn suggests control over where and when measurement samples are | turn suggests control over where and when measurement samples are | |||
collected. This requires consideration of the appropriate balance | collected. This requires consideration of the appropriate balance | |||
between encrypting all and no transport information. | between encrypting all and no transport information. | |||
5. Acknowledgements | 6. Conclusions | |||
XXX Notes for a draft conclusion XXX | ||||
The majority of traffic sent by the present Internet uses two well- | ||||
known transport protocols: e.g., TCP and UDP. | ||||
Although TCP represents the majority of current traffic, some | ||||
important real-time applications have used UDP, and much of this | ||||
traffic utilises RTP format headers in the payload of the UDP data. | ||||
Since these protocol headers have been fixed for decades, a range of | ||||
tools and analysis methods have became common and well-understood. | ||||
Over this period, the transport protocol headers have mostly changed | ||||
slowly, and so also the need to develop tools track new versions of | ||||
the protocol. | ||||
Encryption (confidentiality and strong integrity checks) have | ||||
properties that are being incorporated into new protocols and which | ||||
have important benefits. The pace of development of transports using | ||||
the WebRTC data channel and the rapid deployment of QUIC prototype | ||||
transports can both be attributed to using a combination of UDP | ||||
transport and encryption of the UDP payload. | ||||
The traffic that can be observed by devices in a network is a | ||||
function of transport protocol design/options, network use, | ||||
applications and user characteristics. In general, when only a small | ||||
proportion of the traffic has a specific (different) characteristic. | ||||
Such traffic seldom leads to an operational issue although the | ||||
ability to measure and monitor it is less. The desire to understand | ||||
the traffic and protocol interactions typically grows as the | ||||
proportion of traffic increases in volume. The challenges increase | ||||
when multiple instances of an evolving protocol contribute to the | ||||
traffic that share network capacity. | ||||
An increased pace of evolution therefore needs to be accompanied by | ||||
methods that can be successfully deployed and used across operational | ||||
networks. This leads to a need for network operators (at various | ||||
level (ISPs, enterprises, firewall maintainer, etc) to identify | ||||
appropriate operational support functions and procedures. | ||||
Protocols that change their transport header format (wire format) or | ||||
their behaviour (e.g., algorithms that are needed to classify and | ||||
characterise the protocol), will require new tooling needs to be | ||||
developed to catch-up with the changes. If the currently deployed | ||||
tools and methods are no longer relevant and performance may not be | ||||
correctly measured. This can increase the response-time after | ||||
faults, and can impact the ability to manage the network resulting in | ||||
traffic causing traffic to be treated inappropriately (e.g., rate | ||||
limiting because of being incorrectly classified/monitored). There | ||||
are benefits in exposing consistent information to the network that | ||||
avoids traffic being mis-classified and then receiving a default | ||||
treatment by the network. | ||||
A protocol specification therefore needs to weigh the benefits of | ||||
ossifying common headers, versus the potential demerits of exposing | ||||
specific information that could be observed along the network path to | ||||
provide tools to manage new variants of protocols. Several scenarios | ||||
to illustrate different ways this could evolve are provided below: | ||||
o One scenario is when transport protocols provide consistent | ||||
information to the network by intentionally exposing a part of the | ||||
transport header. The design fixes the format of this information | ||||
between versions of the protocol. This level of ossification | ||||
allows an operator to establish tooling and procedures that allow | ||||
it to provide consistent traffic management as the protocol | ||||
evolves. In contrast to TCP (where all protocol information is | ||||
exposed), evolution of the transport is facilitated by providing | ||||
cryptographic integrity checks of the transport header fields | ||||
(preventing undetected middlebox changes) and encryption of other | ||||
protocol information (preventing observation within the network). | ||||
The transport information can be used by operators to provide | ||||
troubleshooting, easement and any necessary functions for the | ||||
class of traffic (priority, retransmission, reordering, circuit | ||||
breakers, etc). | ||||
o An alternative scenario adopts different design goals, with a | ||||
different outcome. A protocol that encrypts all header | ||||
information forces network operators to act independently from | ||||
apps/transport developments to provide the transport information | ||||
they need. A range of approaches may proliferate - as in current | ||||
networks, operators can add a shim header to each packet as a flow | ||||
as it crosses the network ; other operators/managers could develop | ||||
heuristics and pattern recognition to derive information that | ||||
classifies flows and estimates quality metrics for the service | ||||
being used; some could decide to rate-limit or block traffic until | ||||
new tooling is in place. In many cases, the derived information | ||||
can be used by operators to provide necessary functions for the | ||||
class of traffic (priority, retransmission, reordering, circuit | ||||
breakers, etc). Troubleshooting, and measurement becomes more | ||||
difficult or could require additional information. In some cases, | ||||
operators might need access to keying information to interpret | ||||
encrypted data that they observe. Some use cases could demand use | ||||
of transports that do not use encryption. | ||||
The outcome could have significant implications on the way the | ||||
Internet architecture develops. It exposes a risk that significant | ||||
actors (e.g., developers and transport designers) achieve more | ||||
control of the way in which the Internet architecture develops.In | ||||
particular, there is a possibility that designs could evolve to | ||||
significantly benefit of customers for a specific vendor, and that | ||||
communities with very different network, applications or platforms | ||||
could then suffer at the expense of benefits to their vendors own | ||||
customer base. In such a scenario, there could be no incentive to | ||||
support other applications/products or to work in other networks | ||||
leading to reduced access for new approaches. | ||||
7. Acknowledgements | ||||
The author would like to thank all who have talked to him face-to- | The author would like to thank all who have talked to him face-to- | |||
face or via email. ... | face or via email. ... | |||
This work has received funding from the European Union's Horizon 2020 | This work has received funding from the European Union's Horizon 2020 | |||
research and innovation programme under grant agreement No 688421.The | research and innovation programme under grant agreement No 688421.The | |||
opinions expressed and arguments employed reflect only the authors' | opinions expressed and arguments employed reflect only the authors' | |||
view. The European Commission is not responsible for any use that | view. The European Commission is not responsible for any use that | |||
may be made of that information. | may be made of that information. | |||
6. Security Considerations | 8. Security Considerations | |||
This document is about design and deployment considerations for | This document is about design and deployment considerations for | |||
transport protocols. Authentication, confidentiality protection, and | transport protocols. Authentication, confidentiality protection, and | |||
integrity protection are identified as Transport Features by | integrity protection are identified as Transport Features by | |||
RFC8095". As currently deployed in the Internet, these features are | RFC8095". As currently deployed in the Internet, these features are | |||
generally provided by a protocol or layer on top of the transport | generally provided by a protocol or layer on top of the transport | |||
protocol; no current full-featured standards-track transport protocol | protocol; no current full-featured standards-track transport protocol | |||
provides these features on its own. Therefore, these features are | provides these features on its own. Therefore, these features are | |||
not considered in this document, with the exception of native | not considered in this document, with the exception of native | |||
authentication capabilities of TCP and SCTP for which the security | authentication capabilities of TCP and SCTP for which the security | |||
skipping to change at page 23, line 34 ¶ | skipping to change at page 27, line 51 ¶ | |||
Open data, and accessibility to tools that can help understand trends | Open data, and accessibility to tools that can help understand trends | |||
in application deployment, network traffic and usage patterns can all | in application deployment, network traffic and usage patterns can all | |||
contribute to understanding security challenges. Standard protocols | contribute to understanding security challenges. Standard protocols | |||
and understanding of the interactions between mechanisms and traffic | and understanding of the interactions between mechanisms and traffic | |||
patterns can also provide valuable insight into appropriate security | patterns can also provide valuable insight into appropriate security | |||
design. Like congestion control mechanisms, security mechanisms are | design. Like congestion control mechanisms, security mechanisms are | |||
difficult to design and implement correctly. It is hence recommended | difficult to design and implement correctly. It is hence recommended | |||
that applications employ well-known standard security mechanisms such | that applications employ well-known standard security mechanisms such | |||
as DTLS, TLS or IPsec, rather than inventing their own. | as DTLS, TLS or IPsec, rather than inventing their own. | |||
7. IANA Considerations | 9. IANA Considerations | |||
XX RFC ED - PLEASE REMOVE THIS SECTION XXX | XX RFC ED - PLEASE REMOVE THIS SECTION XXX | |||
This memo includes no request to IANA. | This memo includes no request to IANA. | |||
8. References | 10. References | |||
10.1. Normative References | ||||
8.1. Normative References | ||||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
RFC2119, March 1997, <http://www.rfc-editor.org/info/ | RFC2119, March 1997, <http://www.rfc-editor.org/info/ | |||
rfc2119>. | rfc2119>. | |||
8.2. Informative References | 10.2. Informative References | |||
[I-D.dolson-plus-middlebox-benefits] | [I-D.dolson-plus-middlebox-benefits] | |||
Dolson, D., Snellman, J., Boucadair, M. and C. Jacquenet, | Dolson, D., Snellman, J., Boucadair, M. and C. Jacquenet, | |||
"Beneficial Functions of Middleboxes", Internet-Draft | "Beneficial Functions of Middleboxes", Internet-Draft | |||
draft-dolson-plus-middlebox-benefits-03, March 2017. | draft-dolson-plus-middlebox-benefits-03, March 2017. | |||
[I-D.ietf-aqm-codel] | [I-D.ietf-aqm-codel] | |||
Nichols, K., Jacobson, V., McGregor, A. and J. Jana, | Nichols, K., Jacobson, V., McGregor, A. and J. Jana, | |||
"Controlled Delay Active Queue Management", Internet-Draft | "Controlled Delay Active Queue Management", Internet-Draft | |||
draft-ietf-aqm-codel-00, October 2014. | draft-ietf-aqm-codel-00, October 2014. | |||
skipping to change at page 28, line 50 ¶ | skipping to change at page 33, line 7 ¶ | |||
-04 This adds an additional contributor and includes significant | -04 This adds an additional contributor and includes significant | |||
reworking to ready this for review by the wider IETF community Colin | reworking to ready this for review by the wider IETF community Colin | |||
Perkins joined the author list. | Perkins joined the author list. | |||
Comments from the community are welcome on the text and | Comments from the community are welcome on the text and | |||
recommendations. | recommendations. | |||
-05 Corrections received and helpful inputs from Mohamed Boucadair. | -05 Corrections received and helpful inputs from Mohamed Boucadair. | |||
-06 Updated following comments from Stephen Farrell, and feedback via | ||||
email. Added a draft conclusion section to sketch some strawman | ||||
scenarios that could emerge. | ||||
Authors' Addresses | Authors' Addresses | |||
Godred Fairhurst | Godred Fairhurst | |||
University of Aberdeen | University of Aberdeen | |||
Department of Engineering | Department of Engineering | |||
Fraser Noble Building | Fraser Noble Building | |||
Aberdeen, AB24 3UE | Aberdeen, AB24 3UE | |||
Scotland | Scotland | |||
Email: gorry@erg.abdn.ac.uk | Email: gorry@erg.abdn.ac.uk | |||
URI: http://www.erg.abdn.ac.uk/ | URI: http://www.erg.abdn.ac.uk/ | |||
End of changes. 49 change blocks. | ||||
187 lines changed or deleted | 420 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |