Internet DRAFT - draft-thomson-tmi
draft-thomson-tmi
Network Working Group M. Thomson
Internet-Draft Mozilla
Intended status: Informational 8 September 2022
Expires: 12 March 2023
Principles for the Involvement of Intermediaries in Internet Protocols
draft-thomson-tmi-04
Abstract
This document proposes a set of principles for designing protocols
with rules for intermediaries. The goal of these principles is to
limit the ways in which intermediaries can produce undesirable
effects and to protect the useful functions that intermediaries
legitimately provide.
Discussion Venues
This note is to be removed before publishing as an RFC.
Discussion of this document takes place on the IAB Model-T list
(modelt@iab.org), which is archived at
https://mailarchive.ietf.org/arch/browse/model-t/.
Source for this draft and an issue tracker can be found at
https://github.com/martinthomson/tmi.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 12 March 2023.
Thomson Expires 12 March 2023 [Page 1]
Internet-Draft Too Much Intermediation September 2022
Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. What is Meant by Intermediary . . . . . . . . . . . . . . . . 3
3. Intermediation Is Essential . . . . . . . . . . . . . . . . . 4
4. Intermediation Is Useful . . . . . . . . . . . . . . . . . . 5
5. Intermediation Enables Scaling Of Control . . . . . . . . . . 5
6. Incentive Misalignment at Scale . . . . . . . . . . . . . . . 6
7. Forced and Unwanted Intermediation . . . . . . . . . . . . . 6
8. Contention over Intermediation . . . . . . . . . . . . . . . 7
9. Proposed Principles . . . . . . . . . . . . . . . . . . . . . 8
9.1. Prefer Services to Intermediaries . . . . . . . . . . . . 9
9.2. Deliberately Select Protocol Participants . . . . . . . . 10
9.3. Limit Capabilities of Intermediaries . . . . . . . . . . 10
9.3.1. Limit Information Exposure . . . . . . . . . . . . . 10
9.3.2. Limit Permitted Interactions . . . . . . . . . . . . 11
9.3.3. Costs of Technical Constraints . . . . . . . . . . . 11
10. Applying Non-Technical Constraints . . . . . . . . . . . . . 12
11. The Effect on Existing Practices . . . . . . . . . . . . . . 12
12. Security Considerations . . . . . . . . . . . . . . . . . . . 13
13. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 14
14. Informative References . . . . . . . . . . . . . . . . . . . 14
Appendix A. Acknowledgments . . . . . . . . . . . . . . . . . . 17
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 17
1. Introduction
The Internet owes much of its success to its application of the end-
to-end principle [E2E]. The realization that efficiency is best
served by moving higher-level functions to endpoints is a key insight
in system design, but also a key element of the success of the
Internet.
This does not mean that the Internet avoids a relying on functions
provided by entities in the network. While the principle establishes
that some functions are best provided by endsystems, this does not
exclude all intermediary functions. Some level of function in the
Thomson Expires 12 March 2023 [Page 2]
Internet-Draft Too Much Intermediation September 2022
network is necessary, or else there would be no network. The ways in
which intermediaries can assist protocol endpoints are numerous and
constantly evolving.
This document explores some of the ways in which intermediaries make
both essential and valuable contributions to the function of the
system. Problems arise when the interests of intermediaries are
poorly aligned with those of endpoints. This can result in systemic
costs and tension. Addressing those issues can be difficult.
This document proposes the following design principles for the
protocols that might involve the participation of intermediaries:
* Avoid intermediation (Section 9.1)
* Limit the entities that can intermediate (Section 9.2)
* Limit what intermediaries can do (Section 9.3)
These principles aim to provide clarity about the roles and
responsibilities of protocol participants. These principles produce
more robust protocols with better privacy and security properties.
These also limit the secondary costs associated with intermediation.
2. What is Meant by Intermediary
An intermediary is an element that participates in a protocol
exchange. An intermediary receives protocol units, such as packets
or messages, and forwards the protocol units to other protocol
participants. An intermediary might make changes to protocol units
or leave the content of the unit unchanged.
An intermediary often does not directly benefit from the protocol
exchange, but instead acts to facilitate the exchange. An
intermediary often participates at the request of another participant
in the protocol, which might be an endpoint or an intermediary.
Intermediaries exist at all layers of the stack. A router is an
intermediary that acts at the network layer to forward packets. A
TURN relay [RFC8155] provides similar forwarding capability for UDP
in the presence of a network address translator (NAT) -- a different
type of intermediary that provides the ability to share a limited
supply of addresses. At higher layers of the stack, group messaging
servers intermediate the exchange of messages within groups of
people; a conference focus aids the sending of media group real-time
communications; and a social network intermediates communication and
information sharing through the exchange of messages and formation of
groups.
Thomson Expires 12 March 2023 [Page 3]
Internet-Draft Too Much Intermediation September 2022
A person uses a networked computer as an intermediary for their
communications with other people and computers. This intermediation
is essential, for users are unable to directly interact with a
network. Much of the guidance in this document does not apply to the
relationship between users and user agents; see [RFC8890],
Section 4.2 in particular, for an examination of this topic.
An intermediary at one layer of the stack is often an endpoint for
communication at a lower layer. A Diameter peer [DIAMETER] acts as
an intermediary when it forwards requests to other peers. However, a
Diameter peer establishes connections to neighboring peers using TLS/
TCP or DTLS/SCTP and acts as a endpoint for all of those protocols.
It is possible to facilitate communication without being an
intermediary. The DNS provides information that is critical to
locating and communicating with other Internet hosts, but it does so
without intermediating those communications. Thus, this definition
of intermediary does not necessarily include a service like the DNS.
Of course, the use of the DNS could involve engaging with
intermediaries such as recursive resolvers.
3. Intermediation Is Essential
Intermediaries are essential to scalable communications. The service
an intermediary provides usually involves access to resources that
would not otherwise be available. For instance, the Internet does
not function without routers that enable packets to reach other
networks.
There is some level of intermediation that is essential for the
proper functioning of the Internet.
Scalable solutions to the introduction problem often depend on
services that provide access to information and capabilities. As it
is with the network layer of the Internet, the use of an intermediary
can be absolutely essential. For example, a social networking
application acts as an intermediary that provides a communications
medium, content discovery and publication, and related services.
Video conferencing applications often depend on an intermediary that
mixes audio and selectively forwards video so that bandwidth
requirements don't increase beyond what is available for participants
as conferences grow in size.
Thomson Expires 12 March 2023 [Page 4]
Internet-Draft Too Much Intermediation September 2022
4. Intermediation Is Useful
Not all intermediaries have exclusive control access to the resources
they provide access to. A router might facilitate access to other
networks, but similar access might be obtained via a different route.
The same web content might be provided by multiple CDNs. Multiple
DNS resolvers can provide answers to the same queries. The ability
to access the same capabilities from multiple entities contributes
greatly to the robustness of a system.
Intermediaries often provide capabilities that benefit from economies
of scale by providing a service that serves multiple individuals.
For instance, individuals are unlikely to be in a position to
negotiate connections to multiple networks, but an ISP can.
Similarly, an individual might find it difficult to acquire the
capacity necessary to withstand a DDoS attack, but the scale at which
a CDN operates means that this capacity is likely available to it.
Or the value of a social network is in part due to the existing
participation of other people.
Aggregation also provides other potential benefits. For instance,
caching of shared information can allow for performance advantages.
From an efficiency perspective, the use of shared resources might
allow load to be more evenly distributed over time. Or, for privacy,
individual activity might be mixed with the activity of many others,
thereby making it difficult to isolate that activity.
The ability of an intermediary to operate at scale can therefore
provide a number of different benefits to performance, scalability,
privacy, and other areas.
5. Intermediation Enables Scaling Of Control
An action by an intermediary can affect all who communicate using
that intermediary. For an intermediary that operates at scale, this
means it can be seen as an effective control point.
In addition to facilitating communications, some intermediary
deployments aim to effect a policy. This relies on the ability of a
well-placed intermediary to affect multiple protocol interactions and
participants.
Thomson Expires 12 March 2023 [Page 5]
Internet-Draft Too Much Intermediation September 2022
The ability of an intermediary to affect a large number of network
users can be an advantage or vulnerability, depending on perspective.
For instance, network intermediaries have been used to distribute
warnings of impending natural disasters like fire, flood, or
earthquake, which save lives and property. In contrast, control over
large-scale communications can enable censorship [RFC7754],
misinformation [PARADOX], or pervasive monitoring [RFC7258].
Intermediaries that can affect many people can therefore be powerful
agents for control. While the morality of actions taken can be
subjective, network users have to consider the potential for the
power they vest in intermediaries to be abused or subverted.
6. Incentive Misalignment at Scale
A dependency on an intermediary represents a risk to those that take
the dependency. The incentives and motives of intermediaries can be
important to consider when choosing to use an intermediary.
For instance, the information an intermediary needs to perform its
function might be used (or abused) for other purposes. Even the
simple function of forwarding necessarily involves information about
who was communicating, when, and the size of messages. This can
reveal more than is trivially apparent [CLINIC].
As uses of networks become more diverse, the extent that incentives
for intermediaries and network users align reduce. In particular,
acceptance of the costs and risks associated with intermediation by a
majority of network users does not mean that all users have the same
expectations and requirements. This can be a significant problem if
it becomes difficult to avoid or refuse participation by a particular
intermediary.
A dependency on an intermediary, particularly a technically or
operationally challenging dependency, can reduce the number of viable
choices of intermediary operators. Reduced choice can lead to
dependence on specific intermediaries, which reduces resilience and
exposes endpoints to greater potential for abuse.
7. Forced and Unwanted Intermediation
The ability to act as intermediary can offer more options than a
service that is called upon to provide information or services as
needed. Sometimes those advantages are enough to justify the use of
intermediation over alternative designs. However, the use of an
intermediary also introduces costs.
Thomson Expires 12 March 2023 [Page 6]
Internet-Draft Too Much Intermediation September 2022
The use of transparent or interception proxies in HTTP [HTTP] is an
example of a practice that has fallen out of common usage due to
increased use of HTTPS. Use of transparent proxies was once
widespread with a wide variety of reasons for their deployment.
However, transparent proxies were involved in many abuses, such as
unwanted transcoding of content and insertion of identifiers to the
detriment of individual privacy [X-UIDH].
Introducing intermediaries is often done with the intent of avoiding
disruption to protocols that operate a higher layer of the stack.
However, network layering abstractions often leak, meaning that the
effects of the intermediation can be observed. Where those effects
cause problems, it can be difficult to detect and fix those problems.
The insertion of an intermediary in a protocol imposes other costs on
other protocol participants; see [EROSION] or [MIDDLEBOX]. In
particular, poor implementations of intermediaries can adversely
affect protocol operation.
As an intermediary is another participant in a protocol, they can
make interactions less robust. Intermediaries can also be
responsible for ossification, or the inability to deploy new protocol
mechanisms; see Section 2.3 of [USE-IT]. For example, measurement of
TCP showed that the protocol has poor prospects for extensibility due
to widespread use -- and poor implementation -- of intermediaries
[TCP-EXTEND].
Some forms of intermediation have been deployed without consulting
the endpoints involved in the protocol. As protocols evolve or a
more diverse set of deployments are encountered, assumptions that
might have been valid at the time the intermediary was deployed might
not hold. For example, some intermediaries identified a very early
version of QUIC [RFC9000] by checking that the first byte of the UDP
payload was to to a value of 0x07. As this version used the
different bits in this byte to signal different protocol options,
when endpoints started to exercise the options represented by other
values the classification failed.
8. Contention over Intermediation
The IETF has a long history of dealing with different forms of
intermediation.
A debate about the intent and purpose of IPv6 extension headers
[IPv6] occurred prior to the publication of RFC 8986 [SRv6], in
particular, it's PSP (Penultimate Segment Pop) mode. Here, the use
of extension headers by entities other than the communication
endpoints -- that is, intermediaries -- was contested. As the
Thomson Expires 12 March 2023 [Page 7]
Internet-Draft Too Much Intermediation September 2022
purpose of this feature is to communicate routing information between
intermediaries, this could be seen as a form of tunneling between the
communicating routers that uses the ability of IPv6 intermediaries
(or routers) to add or remove extension headers.
Like HTTP, SIP [RFC3261] defines a role for a proxy, which is a form
of intermediary with limited ability to interact with the session
that it facilitates. In practice, many deployments instead choose to
deploy some form of Back-to-Back UA (B2BUA; [RFC7092]) for reasons
that effectively reduce to greater ability to implement control
functions.
There are several ongoing debates in the IETF that are rooted in
disagreement about the rule of intermediaries. The interests of
network-based devices -- which sometimes act as TLS intermediaries --
is fiercely debated in the context of TLS 1.3 [TLS], where the design
renders certain practices obsolete.
The functions provided by intermediaries in different protocols can
be dramatically different. Even within the one protocol, the same
protocol might be deployed to address many different needs. For an
existing protocol with wide deployment, there might not be a single,
easy method for managing the integration of the functions that
intermediaries provide.
9. Proposed Principles
Many problems caused by intermediation are the result of
intermediaries that are introduced without the involvement of
protocol endpoints. Limiting the extent to which protocol designs
depend on intermediaries makes the resulting system more robust.
These principles are progressive, with three stages:
1. Prefer designs without intermediaries (Section 9.1);
2. Failing that, control which entities can intermediate the
protocol (Section 9.2); and
3. Limit actions and information that are available to
intermediaries (Section 9.3).
The use of technical mechanisms to ensure that these principles are
enforced is encouraged. It is expected that protocols will need to
use cryptography for this.
Thomson Expires 12 March 2023 [Page 8]
Internet-Draft Too Much Intermediation September 2022
New protocol designs therefore need to identify what intermediation
is possible and what is desired. Technical mechanisms to guarantee
conformance, where possible, are highly recommended.
Modifying existing protocols to follow these principles could be
difficult, but worthwhile.
9.1. Prefer Services to Intermediaries
Where protocol functions can provided by a service or a means other
than intermediation, the design should prefer that alternative.
Designing protocols to use services rather than intermediaries
ensures that responsibilities of protocol participants are clearly
defined.
If there is a need for information, defining a means for querying a
service for that information is preferable to allowing an
intermediary to add information during an exchange. Similarly,
direct invocation of service to perform an action is better than
involving that service as a participant in the protocol.
Involving an intermediary in a protocol means depending on that
intermediary for every aspect of protocol functioning. For example,
it might be necessary to negotiate the use of new capabilities with
all protocol participants, including the intermediary, even when the
functions for which the intermediary was added are not affected. It
is also more difficult to limit the extent to which a protocol
participant can be involved than a service that is invoked for a
specific task.
Using discrete services is not always the most performant
architecture as additional network interactions can add latency or
other overheads. The cost of these overheads need to be weighed
against the recurrent costs from the involvement of intermediaries.
The contribution of an intermediary to performance and efficiency can
involve trade-offs, such as those discussed in Section 2.3 of [E2E].
One consideration is the potential need for critical functions to be
replicated in both intermediaries and endpoints, reducing efficiency.
Another is the possibility that an intermediary optimized for one
application could degrade performance in other applications.
Preferring services is analogous to the software design principle
that recommends a preference for composition over inheritance
[PATTERNS].
Thomson Expires 12 March 2023 [Page 9]
Internet-Draft Too Much Intermediation September 2022
9.2. Deliberately Select Protocol Participants
Protocol participants should know what other participants they might
be interacting with, including intermediaries.
Protocols that permit the involvement of an intermediary need to do
so intentionally and provide measures that prevent the addition of
unwanted intermediaries. Ideally, all protocol participants are
identified and known to other protocol participants.
The addition of an unwanted protocol participant is an attack on the
protocol.
This is an extension of the conclusion of [PATH-SIGNALS], which:
| recommends that implicit signals should be avoided and that an
| implicit signal should be replaced with an explicit signal only
| when the signal's originator intends that it be used by the
| network elements on the path.
Applying this principle likely requires the use of authentication and
encryption.
9.3. Limit Capabilities of Intermediaries
Protocol participants should be able to limit the capabilities
conferred to other protocol participants. Though this applies to all
participants, intermediaries often have narrowly-defined roles.
Where the potential for intermediation already exists, or
intermediaries provide essential functions, protocol designs should
limit the capabilities and information that protocol participants are
required to grant others.
Limiting the information that participants are required to provide to
other participants has benefits for privacy or to limit the potential
for misuse of information; see Section 9.3.1. Where confidentiality
is impossible or impractical, integrity protection can be used to
ensure that data origin authentication is preserved; see
Section 9.3.2.
9.3.1. Limit Information Exposure
Protocol participants should only have access to the information they
need to perform their designated function.
Thomson Expires 12 March 2023 [Page 10]
Internet-Draft Too Much Intermediation September 2022
Protocol designs based on a principle of providing the minimum
information necessary have several benefits. In addition to
simplicity, requiring smaller messages, or fewer exchanges, reducing
information provides greater control over exposure of information.
This has privacy benefits.
Where an intermediary needs to carry information that it has no need
to access, protocols should use encryption to ensure that the
intermediary cannot access that information.
Providing information for intermediaries using signals that are
separate from other protocol signaling is preferable [PATH-SIGNALS].
In addition, integrity protection should be applied to these signals
to prevent modification.
9.3.2. Limit Permitted Interactions
An action should only be taken based on signals from protocol
participants that are authorized to request that action.
Where an intermediary needs to communicate with other protocol
participants, ensure that these signals are attributed to an
intermediary. Authentication is the best means of ensuring signals
generated by protocol participants are correctly attributed.
Authentication informs decisions protocol participants make about
actions they take.
In some cases, particularly protocols that are primarily two-party
protocols, it might be sufficient to allow the signal to be
attributed to any intermediary. This is the case in QUIC [RFC9000]
where ECN [ECN] and ICMP [ICMP] signals are assumed to be provided by
elements on the network path. Limited mechanisms exist to
authenticate these as signals that originate from path elements,
informing actions taken by endpoints. Consequently, the actions that
can be taken in response to these signals is limited.
9.3.3. Costs of Technical Constraints
Moving from a protocol in which there are two participants (such as
[TLS]) to more than two participants can be more complex and
expensive to implement and deploy.
More generally, the application of technical measures to control how
intermediaries participate in a protocol incur costs that manifest in
several ways. Protocols are more difficult to design;
implementations are larger and more complex; and deployments might
suffer from added operational costs, higher computation loads, and
more bandwidth consumption. These costs are reflective of the true
Thomson Expires 12 March 2023 [Page 11]
Internet-Draft Too Much Intermediation September 2022
cost of involving additional entities in protocols. In protocols
without technical measures to limit participation, these costs have
historically been borne by other protocol participants.
In general however, most protocols are able to reuse existing
mechanisms for cryptographic protection, such as TLS [TLS]. Adopting
something like TLS provides security properties that are well
understood and analyzed. Using a standardized solution enables use
of well-tested implementations that include optimizations and other
mitigations for these costs.
10. Applying Non-Technical Constraints
Not all intermediary functions can be tightly constrained. For
instance, as described in Section 6, some functions involve granting
intermediaries access to information that can be used for more than
its intended purpose. Applying strong technical constraints on how
that information is used might be infeasible or impossible.
Systems that audit the involvement in protocols can use
authentication to improve accountability. Authentication can enable
the use of legal, social, or other types of control that might cover
any shortfall in technical measures.
11. The Effect on Existing Practices
The application of these principles can have an effect on existing
operational practices, particularly where they rely on protocols not
limiting intermediary access. Several documents have explored
aspects of this in detail:
* [RFC8404] describes effects of encryption on practices performed
by intermediaries;
* [RFC8517] describes a broader set of practices;
* [RFC9065] explores the effect on transport-layer intermediaries in
more detail; and
* [NS-IMPACT] examines the effect of TLS on operational network
security practices.
Thomson Expires 12 March 2023 [Page 12]
Internet-Draft Too Much Intermediation September 2022
In all these documents, the defining characteristic is the move from
a system that lacked controls on participation to one in which
technical controls are employed. In each case, the protocols in
question provided little or no technical controls that prevented the
addition of intermediaries. This allowed for the insertion of
intermediaries into sessions without permission or knowledge of other
protocol participants. Adding controls like encryption and
authentication disrupts these practices.
Overall, the advantages derived from having greater control over or
knowledge of other protocol participants outweighs these costs.
In these settings, finding ways for intermediaries to contribute is
an ongoing process. When looking at how intermediaries contributed
to protocols operation prior to the introduction of technical
controls there are three potential classes of outcome of these
discussion:
* Practices might be deemed valuable. Facilities might be added to
protocols to allow or encourage those practices.
* The use case supported by the practice might be deemed valuable,
but the existence of a superior alternative approach could make
further effort unnecessary.
* Practices might be deemed harmful, such that no replacement
mechanism is needed.
Many factors could influence the outcome of this analysis. For
instance, deployment of alternative methods or limited roles for
intermediaries could be relatively simple for new protocol
deployments; whereas it might be challenging to retrofit controls on
existing protocol deployments.
12. Security Considerations
Understanding how intermediaries participate is highly relevant to
the security of a protocol. The principles in Section 9 are
fundamentally an application of a security principle: namely the
principle of least privilege [LEAST-PRIVILEGE].
Lack of proper controls on intermediaries in protocols has been the
source of significant security problems. A protocol is not secure if
it fails to prevent an intermediary from consuming, modifying, or
generating protocol units in ways that are contrary to the interests
of other protocol participants.
Thomson Expires 12 March 2023 [Page 13]
Internet-Draft Too Much Intermediation September 2022
13. IANA Considerations
This document has no IANA actions.
14. Informative References
[CLINIC] Miller, B., Huang, L., Joseph, A., and J. Tygar, "I Know
Why You Went to the Clinic: Risks and Realization of HTTPS
Traffic Analysis", Privacy Enhancing Technologies pp.
143-163, DOI 10.1007/978-3-319-08506-7_8, 2014,
<https://doi.org/10.1007/978-3-319-08506-7_8>.
[DIAMETER] Fajardo, V., Ed., Arkko, J., Loughney, J., and G. Zorn,
Ed., "Diameter Base Protocol", RFC 6733,
DOI 10.17487/RFC6733, October 2012,
<https://www.rfc-editor.org/rfc/rfc6733>.
[E2E] Saltzer, J., Reed, D., and D. Clark, "End-to-end arguments
in system design", ACM Transactions on Computer
Systems vol. 2, no. 4, pp. 277-288,
DOI 10.1145/357401.357402, November 1984,
<https://doi.org/10.1145/357401.357402>.
[ECN] Ramakrishnan, K., Floyd, S., and D. Black, "The Addition
of Explicit Congestion Notification (ECN) to IP",
RFC 3168, DOI 10.17487/RFC3168, September 2001,
<https://www.rfc-editor.org/rfc/rfc3168>.
[EROSION] Hildebrand, J. and P. McManus, "Erosion of the moral
authority of transparent middleboxes", Work in Progress,
Internet-Draft, draft-hildebrand-middlebox-erosion-01, 10
November 2014, <https://datatracker.ietf.org/doc/html/
draft-hildebrand-middlebox-erosion-01>.
[HTTP] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke,
Ed., "HTTP Semantics", STD 97, RFC 9110,
DOI 10.17487/RFC9110, June 2022,
<https://www.rfc-editor.org/rfc/rfc9110>.
[ICMP] Postel, J., "Internet Control Message Protocol", STD 5,
RFC 792, DOI 10.17487/RFC0792, September 1981,
<https://www.rfc-editor.org/rfc/rfc792>.
[IPv6] Deering, S. and R. Hinden, "Internet Protocol, Version 6
(IPv6) Specification", STD 86, RFC 8200,
DOI 10.17487/RFC8200, July 2017,
<https://www.rfc-editor.org/rfc/rfc8200>.
Thomson Expires 12 March 2023 [Page 14]
Internet-Draft Too Much Intermediation September 2022
[LEAST-PRIVILEGE]
Saltzer, J., "Protection and the control of information
sharing in multics", Communications of the ACM vol. 17,
no. 7, pp. 388-402, DOI 10.1145/361011.361067, July 1974,
<https://doi.org/10.1145/361011.361067>.
[MIDDLEBOX]
Carpenter, B. and S. Brim, "Middleboxes: Taxonomy and
Issues", RFC 3234, DOI 10.17487/RFC3234, February 2002,
<https://www.rfc-editor.org/rfc/rfc3234>.
[NS-IMPACT]
Cam-Winget, N., Wang, E., Danyliw, R., and R. DuToit,
"Impact of TLS 1.3 to Operational Network Security
Practices", Work in Progress, Internet-Draft, draft-ietf-
opsec-ns-impact-04, 26 January 2021,
<https://datatracker.ietf.org/doc/html/draft-ietf-opsec-
ns-impact-04>.
[PARADOX] Valenzuela, S., Halpern, D., Katz, J., and J. Miranda,
"The Paradox of Participation Versus Misinformation:
Social Media, Political Engagement, and the Spread of
Misinformation", Digital Journalism vol. 7, no. 6, pp.
802-823, DOI 10.1080/21670811.2019.1623701, June 2019,
<https://doi.org/10.1080/21670811.2019.1623701>.
[PATH-SIGNALS]
Hardie, T., Ed., "Transport Protocol Path Signals",
RFC 8558, DOI 10.17487/RFC8558, April 2019,
<https://www.rfc-editor.org/rfc/rfc8558>.
[PATTERNS] Gamma, E., Helm, R., Johnson, R., and J. Vlissides,
"Design Patterns: Elements of Reusable Object-Oriented
Software", 1994.
[RFC3261] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston,
A., Peterson, J., Sparks, R., Handley, M., and E.
Schooler, "SIP: Session Initiation Protocol", RFC 3261,
DOI 10.17487/RFC3261, June 2002,
<https://www.rfc-editor.org/rfc/rfc3261>.
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
Text on Security Considerations", BCP 72, RFC 3552,
DOI 10.17487/RFC3552, July 2003,
<https://www.rfc-editor.org/rfc/rfc3552>.
Thomson Expires 12 March 2023 [Page 15]
Internet-Draft Too Much Intermediation September 2022
[RFC3724] Kempf, J., Ed., Austein, R., Ed., and IAB, "The Rise of
the Middle and the Future of End-to-End: Reflections on
the Evolution of the Internet Architecture", RFC 3724,
DOI 10.17487/RFC3724, March 2004,
<https://www.rfc-editor.org/rfc/rfc3724>.
[RFC7092] Kaplan, H. and V. Pascual, "A Taxonomy of Session
Initiation Protocol (SIP) Back-to-Back User Agents",
RFC 7092, DOI 10.17487/RFC7092, December 2013,
<https://www.rfc-editor.org/rfc/rfc7092>.
[RFC7258] Farrell, S. and H. Tschofenig, "Pervasive Monitoring Is an
Attack", BCP 188, RFC 7258, DOI 10.17487/RFC7258, May
2014, <https://www.rfc-editor.org/rfc/rfc7258>.
[RFC7754] Barnes, R., Cooper, A., Kolkman, O., Thaler, D., and E.
Nordmark, "Technical Considerations for Internet Service
Blocking and Filtering", RFC 7754, DOI 10.17487/RFC7754,
March 2016, <https://www.rfc-editor.org/rfc/rfc7754>.
[RFC8155] Patil, P., Reddy, T., and D. Wing, "Traversal Using Relays
around NAT (TURN) Server Auto Discovery", RFC 8155,
DOI 10.17487/RFC8155, April 2017,
<https://www.rfc-editor.org/rfc/rfc8155>.
[RFC8404] Moriarty, K., Ed. and A. Morton, Ed., "Effects of
Pervasive Encryption on Operators", RFC 8404,
DOI 10.17487/RFC8404, July 2018,
<https://www.rfc-editor.org/rfc/rfc8404>.
[RFC8517] Dolson, D., Ed., Snellman, J., Boucadair, M., Ed., and C.
Jacquenet, "An Inventory of Transport-Centric Functions
Provided by Middleboxes: An Operator Perspective",
RFC 8517, DOI 10.17487/RFC8517, February 2019,
<https://www.rfc-editor.org/rfc/rfc8517>.
[RFC8890] Nottingham, M., "The Internet is for End Users", RFC 8890,
DOI 10.17487/RFC8890, August 2020,
<https://www.rfc-editor.org/rfc/rfc8890>.
[RFC9000] Iyengar, J., Ed. and M. Thomson, Ed., "QUIC: A UDP-Based
Multiplexed and Secure Transport", RFC 9000,
DOI 10.17487/RFC9000, May 2021,
<https://www.rfc-editor.org/rfc/rfc9000>.
Thomson Expires 12 March 2023 [Page 16]
Internet-Draft Too Much Intermediation September 2022
[RFC9065] Fairhurst, G. and C. Perkins, "Considerations around
Transport Header Confidentiality, Network Operations, and
the Evolution of Internet Transport Protocols", RFC 9065,
DOI 10.17487/RFC9065, July 2021,
<https://www.rfc-editor.org/rfc/rfc9065>.
[SRv6] Filsfils, C., Ed., Camarillo, P., Ed., Leddy, J., Voyer,
D., Matsushima, S., and Z. Li, "Segment Routing over IPv6
(SRv6) Network Programming", RFC 8986,
DOI 10.17487/RFC8986, February 2021,
<https://www.rfc-editor.org/rfc/rfc8986>.
[TCP-EXTEND]
Honda, M., Nishida, Y., Raiciu, C., Greenhalgh, A.,
Handley, M., and H. Tokuda, "Is it still possible to
extend TCP?", Proceedings of the 2011 ACM SIGCOMM
conference on Internet measurement conference - IMC '11,
DOI 10.1145/2068816.2068834, 2011,
<https://doi.org/10.1145/2068816.2068834>.
[TLS] Rescorla, E., "The Transport Layer Security (TLS) Protocol
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018,
<https://www.rfc-editor.org/rfc/rfc8446>.
[USE-IT] Thomson, M. and T. Pauly, "Long-Term Viability of Protocol
Extension Mechanisms", RFC 9170, DOI 10.17487/RFC9170,
December 2021, <https://www.rfc-editor.org/rfc/rfc9170>.
[X-UIDH] "Verizon Wireless’ use of a Unique Identifier Header
(UIDH)", 19 October 2012,
<https://www.verizon.com/about/news/vzw/2012/10/verizon-
wireless-privacy-policy>.
Appendix A. Acknowledgments
This document is merely an attempt to codify existing practice.
Practice that is inspired, at least in part, by prior work, including
[RFC3552] and [RFC3724] which both advocate for clearer articulation
of trust boundaries.
Jari Arkko, Eric Rescorla, and David Schinazi are acknowledged for
their contributions of thought, review, and text.
Author's Address
Martin Thomson
Mozilla
Email: mt@lowentropy.net
Thomson Expires 12 March 2023 [Page 17]