<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.39 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-masque-proxy-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.0 -->
  <front>
    <title>The MASQUE Proxy</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-proxy-01"/>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
          <country>United States of America</country>
        </postal>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <date year="2023" month="September" day="07"/>
    <keyword>masque</keyword>
    <keyword>proxy</keyword>
    <abstract>
      <?line 33?>

<t>MASQUE (Multiplexed Application Substrate over QUIC Encryption) is a set of
protocols and extensions to HTTP that allow proxying all kinds of Internet
traffic over HTTP. This document defines the concept of a "MASQUE Proxy", an
Internet-accessible node that can relay client traffic in order to provide
privacy guarantees.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://davidschinazi.github.io/masque-drafts/draft-schinazi-masque-proxy.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-schinazi-masque-proxy/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/DavidSchinazi/masque-drafts"/>.</t>
    </note>
  </front>
  <middle>
    <?line 41?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the early days of HTTP, requests and responses weren't encrypted. In order
to add features such as caching, HTTP proxies were developed to parse HTTP
requests from clients and forward them on to other HTTP servers. As SSL/TLS
became more common, the CONNECT method was introduced <xref target="CONNECT"/> to
allow proxying SSL/TLS over HTTP. That gave HTTP the ability to create tunnels
that allow proxying any TCP-based protocol. While non-TCP-based protocols were
always prevalent on the Internet, the large-scale deployment of QUIC
<xref target="QUIC"/> meant that TCP no longer represented the majority of
Internet traffic. Simultaneously, the creation of HTTP/3 <xref target="H3"/> allowed
running HTTP over a non-TCP-based protocol. In particular, QUIC allows
disabling loss recovery <xref target="DGRAM"/> and that can then be used in HTTP
<xref target="HTTP-DGRAM"/>. This confluence of events created both the possibility
and the necessity for new proxying technologies in HTTP.</t>
      <t>This led to the creation of MASQUE (Multiplexed Application Substrate over
QUIC Encryption). MASQUE allows proxying both UDP (<xref target="CONNECT-UDP"/>)
and IP (<xref target="CONNECT-IP"/>) over HTTP. While MASQUE
has uses beyond improving user privacy, its focus and design are best suited
for protecting sensitive information.</t>
    </section>
    <section anchor="privacy-protections">
      <name>Privacy Protections</name>
      <t>There are currently multiple usage scenarios that can benefit from using a
MASQUE Proxy.</t>
      <section anchor="protection-from-web-servers">
        <name>Protection from Web Servers</name>
        <t>Connecting directly to Web servers allows them to access the public IP address
of the user. There are many privacy concerns relating to user IP addresses
<xref target="IP-PRIVACY"/>. Because of
these, many user agents would rather not establish a direct connection to
web servers. They can do that by running their traffic through a MASQUE
Proxy. The web server will only see the IP address of the MASQUE Proxy, not
that of the client.</t>
      </section>
      <section anchor="protection-from-network-providers">
        <name>Protection from Network Providers</name>
        <t>Some users may wish to obfuscate the destination of their network traffic
from their network provider. This prevents network providers from using data
harvested from this network traffic in ways the user did not intend.</t>
      </section>
      <section anchor="partitioning">
        <name>Partitioning</name>
        <t>While routing traffic through a MASQUE proxy reduces the network provider's
ability to observe traffic, that information is transfered to the proxy
operator. This can be suitable for some threat models, but for the majority
of users transferring trust from their network provider to their proxy (or VPN)
provider is not a meaningful security improvement.</t>
        <t>There is a technical solution that allows resolving this issue: it is possible
to nest MASQUE tunnels such that traffic flows through multiple MASQUE proxies.
This has the advantage of partitioning sensitive information to prevent
correlation <xref target="PARTITION"/>.</t>
        <t>Though the idea of nested tunnels dates back decades <xref target="TODO"/>, MASQUE now
allows running HTTP/3 end-to-end from a user agent to an origin via multiple
nested CONNECT-UDP tunnels. The proxy closest to the user can see the user's IP
address but not the origin, whereas the other proxy can see the origin without
knowing the user's IP address. If the two proxies are operated by non-colluding
entities, this allows hiding the user's IP address from the origin without the
proxies knowing the user's browsing history.</t>
      </section>
      <section anchor="obfuscation">
        <name>Obfuscation</name>
        <t>The fact that MASQUE is layered over HTTP makes it much more resilient to
detection. To network observers, the unencrypted bits in a QUIC connection
used for MASQUE are indistinguishable from those of a regular Web browsing
connection. Separately, if paired with a non-probable HTTP authentication
scheme <xref target="UNPROMPTED-AUTH"/>, any Web server
can also become a MASQUE proxy while remaining indistinguishable from a
regular Web server. It might still be possible to detect some level of
MASQUE usage by analyzing encrypted traffic patterns, however the cost of
performing such an analysis at scale makes it impractical.</t>
        <t>This allows MASQUE to operate on networks that disallow VPNs by using a
combination of protocol detection and blocklists.</t>
      </section>
    </section>
    <section anchor="related-technologies">
      <name>Related Technologies</name>
      <t>This section discusses how MASQUE fits in with other contemporary
privacy-focused IETF protocols.</t>
      <section anchor="ohttp">
        <name>OHTTP</name>
        <t>Oblivious HTTP <xref target="OHTTP"/> uses a cryptographic primitive
<xref target="HPKE"/> that is more lightweight than TLS <xref target="TLS"/>, making
it a great fit for decorrelating HTTP requests. In traditional Web browsing,
the user agent will often make many requests to the same origin (e.g., to load
HTML, style sheets, images, scripts) and those requests are correlatable since
the origin can include identifying query parameters to join separate requests.
In such scenarios, MASQUE is a better fit since it operates at the granularity
of a connection. However, there are scenarios where a user agent might want to
make non-correlatable requests (e.g., to anonymously report telemetry); for
those, OHTTP provides better efficiency than using MASQUE with a separate
connection per request. While OHTTP and MASQUE are separate technologies that
serve different use cases, they can be colocated on the same HTTP server that
acts as both a MASQUE Proxy and an OHTTP Relay.</t>
      </section>
      <section anchor="doh">
        <name>DoH</name>
        <t>DNS over HTTPS <xref target="DoH"/> allows encrypting DNS traffic by sending it
through an encrypted HTTP connection. Colocating a DoH server with a MASQUE
IP proxy provides better performance than using DNS over port 53 inside the
encrypted tunnel.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Implementers of a MASQUE proxy need to review the Security Considerations of
the documents referenced by this one.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <displayreference target="H3" to="HTTP/3"/>
    <references>
      <name>Informative References</name>
      <reference anchor="H3">
        <front>
          <title>HTTP/3</title>
          <author fullname="M. Bishop" initials="M." role="editor" surname="Bishop"/>
          <date month="June" year="2022"/>
          <abstract>
            <t>The QUIC transport protocol has several features that are desirable in a transport for HTTP, such as stream multiplexing, per-stream flow control, and low-latency connection establishment. This document describes a mapping of HTTP semantics over QUIC. This document also identifies HTTP/2 features that are subsumed by QUIC and describes how HTTP/2 extensions can be ported to HTTP/3.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9114"/>
        <seriesInfo name="DOI" value="10.17487/RFC9114"/>
      </reference>
      <reference anchor="TODO">
        <front>
          <title>find that 20 year old email about using nested CONNECT tunnels with SSL to improve privacy</title>
          <author>
            <organization/>
          </author>
          <date>n.d.</date>
        </front>
      </reference>
      <reference anchor="CONNECT">
        <front>
          <title>Upgrading to TLS Within HTTP/1.1</title>
          <author fullname="R. Khare" initials="R." surname="Khare"/>
          <author fullname="S. Lawrence" initials="S." surname="Lawrence"/>
          <date month="May" year="2000"/>
          <abstract>
            <t>This memo explains how to use the Upgrade mechanism in HTTP/1.1 to initiate Transport Layer Security (TLS) over an existing TCP connection. [STANDARDS-TRACK]</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="2817"/>
        <seriesInfo name="DOI" value="10.17487/RFC2817"/>
      </reference>
      <reference anchor="QUIC">
        <front>
          <title>QUIC: A UDP-Based Multiplexed and Secure Transport</title>
          <author fullname="J. Iyengar" initials="J." role="editor" surname="Iyengar"/>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson"/>
          <date month="May" year="2021"/>
          <abstract>
            <t>This document defines the core of the QUIC transport protocol. QUIC provides applications with flow-controlled streams for structured communication, low-latency connection establishment, and network path migration. QUIC includes security measures that ensure confidentiality, integrity, and availability in a range of deployment circumstances. Accompanying documents describe the integration of TLS for key negotiation, loss detection, and an exemplary congestion control algorithm.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9000"/>
        <seriesInfo name="DOI" value="10.17487/RFC9000"/>
      </reference>
      <reference anchor="DGRAM">
        <front>
          <title>An Unreliable Datagram Extension to QUIC</title>
          <author fullname="T. Pauly" initials="T." surname="Pauly"/>
          <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <date month="March" year="2022"/>
          <abstract>
            <t>This document defines an extension to the QUIC transport protocol to add support for sending and receiving unreliable datagrams over a QUIC connection.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9221"/>
        <seriesInfo name="DOI" value="10.17487/RFC9221"/>
      </reference>
      <reference anchor="HTTP-DGRAM">
        <front>
          <title>HTTP Datagrams and the Capsule Protocol</title>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <author fullname="L. Pardue" initials="L." surname="Pardue"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document describes HTTP Datagrams, a convention for conveying multiplexed, potentially unreliable datagrams inside an HTTP connection.</t>
            <t>In HTTP/3, HTTP Datagrams can be sent unreliably using the QUIC DATAGRAM extension. When the QUIC DATAGRAM frame is unavailable or undesirable, HTTP Datagrams can be sent using the Capsule Protocol, which is a more general convention for conveying data in HTTP connections.</t>
            <t>HTTP Datagrams and the Capsule Protocol are intended for use by HTTP extensions, not applications.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9297"/>
        <seriesInfo name="DOI" value="10.17487/RFC9297"/>
      </reference>
      <reference anchor="CONNECT-UDP">
        <front>
          <title>Proxying UDP in HTTP</title>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <date month="August" year="2022"/>
          <abstract>
            <t>This document describes how to proxy UDP in HTTP, similar to how the HTTP CONNECT method allows proxying TCP in HTTP. More specifically, this document defines a protocol that allows an HTTP client to create a tunnel for UDP communications through an HTTP server that acts as a proxy.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9298"/>
        <seriesInfo name="DOI" value="10.17487/RFC9298"/>
      </reference>
      <reference anchor="CONNECT-IP">
        <front>
          <title>Proxying IP in HTTP</title>
          <author fullname="Tommy Pauly" initials="T." surname="Pauly">
            <organization>Apple Inc.</organization>
          </author>
          <author fullname="David Schinazi" initials="D." surname="Schinazi">
            <organization>Google LLC</organization>
          </author>
          <author fullname="Alex Chernyakhovsky" initials="A." surname="Chernyakhovsky">
            <organization>Google LLC</organization>
          </author>
          <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
            <organization>Ericsson</organization>
          </author>
          <author fullname="Magnus Westerlund" initials="M." surname="Westerlund">
            <organization>Ericsson</organization>
          </author>
          <date day="28" month="April" year="2023"/>
          <abstract>
            <t>   This document describes how to proxy IP packets in HTTP.  This
   protocol is similar to UDP proxying in HTTP, but allows transmitting
   arbitrary IP packets.  More specifically, this document defines a
   protocol that allows an HTTP client to create an IP tunnel through an
   HTTP server that acts as an IP proxy.  This document updates RFC
   9298.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-masque-connect-ip-13"/>
      </reference>
      <reference anchor="IP-PRIVACY">
        <front>
          <title>IP Address Privacy Considerations</title>
          <author fullname="Matthew Finkel" initials="M." surname="Finkel">
            <organization>Apple Inc.</organization>
          </author>
          <author fullname="Bradford Lassey" initials="B." surname="Lassey">
            <organization>Google</organization>
          </author>
          <author fullname="Luigi Iannone" initials="L." surname="Iannone">
            <organization>Huawei Technologies France S.A.S.U</organization>
          </author>
          <author fullname="Brad Chen" initials="B." surname="Chen">
            <organization>Google</organization>
          </author>
          <date day="23" month="October" year="2022"/>
          <abstract>
            <t>   This document provides an overview of privacy considerations related
   to user IP addresses.  It includes an analysis of some current use
   cases for tracking of user IP addresses, mainly in the context of
   anti-abuse.  It discusses the privacy issues associated with such
   tracking and provides input on mechanisms to improve the privacy of
   this existing model.  It then captures requirements for proposed
   'replacement signals' for IP addresses from this analysis.  In
   addition, existing and under-development techniques are evaluated for
   fulfilling these requirements.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-irtf-pearg-ip-address-privacy-considerations-01"/>
      </reference>
      <reference anchor="PARTITION">
        <front>
          <title>Partitioning as an Architecture for Privacy</title>
          <author fullname="Mirja Kühlewind" initials="M." surname="Kühlewind">
            <organization>Ericsson Research</organization>
          </author>
          <author fullname="Tommy Pauly" initials="T." surname="Pauly">
            <organization>Apple</organization>
          </author>
          <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
            <organization>Cloudflare</organization>
          </author>
          <date day="13" month="March" year="2023"/>
          <abstract>
            <t>   This document describes the principle of privacy partitioning, which
   selectively spreads data and communication across multiple parties as
   a means to improve the privacy by separating user identity from user
   data.  This document describes emerging patterns in protocols to
   partition what data and metadata is revealed through protocol
   interactions, provides common terminology, and discusses how to
   analyze such models.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-iab-privacy-partitioning-01"/>
      </reference>
      <reference anchor="UNPROMPTED-AUTH">
        <front>
          <title>The Signature HTTP Authentication Scheme</title>
          <author fullname="David Schinazi" initials="D." surname="Schinazi">
            <organization>Google LLC</organization>
          </author>
          <author fullname="David Oliver" initials="D." surname="Oliver">
            <organization>Guardian Project</organization>
          </author>
          <author fullname="Jonathan Hoyland" initials="J." surname="Hoyland">
            <organization>Cloudflare Inc.</organization>
          </author>
          <date day="28" month="June" year="2023"/>
          <abstract>
            <t>   Existing HTTP authentication schemes are probeable in the sense that
   it is possible for an unauthenticated client to probe whether an
   origin serves resources that require authentication.  It is possible
   for an origin to hide the fact that it requires authentication by not
   generating Unauthorized status codes, however that only works with
   non-cryptographic authentication schemes: cryptographic signatures
   require a fresh nonce to be signed, and there is no existing way for
   the origin to share such a nonce without exposing the fact that it
   serves resources that require authentication.  This document proposes
   a new non-probeable cryptographic authentication scheme.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-unprompted-auth-04"/>
      </reference>
      <reference anchor="OHTTP">
        <front>
          <title>Oblivious HTTP</title>
          <author fullname="Martin Thomson" initials="M." surname="Thomson">
            <organization>Mozilla</organization>
          </author>
          <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
            <organization>Cloudflare</organization>
          </author>
          <date day="25" month="August" year="2023"/>
          <abstract>
            <t>   This document describes Oblivious HTTP, a protocol for forwarding
   encrypted HTTP messages.  Oblivious HTTP allows a client to make
   multiple requests to an origin server without that server being able
   to link those requests to the client or to identify the requests as
   having come from the same client, while placing only limited trust in
   the nodes used to forward the messages.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-ohai-ohttp-10"/>
      </reference>
      <reference anchor="HPKE">
        <front>
          <title>Hybrid Public Key Encryption</title>
          <author fullname="R. Barnes" initials="R." surname="Barnes"/>
          <author fullname="K. Bhargavan" initials="K." surname="Bhargavan"/>
          <author fullname="B. Lipp" initials="B." surname="Lipp"/>
          <author fullname="C. Wood" initials="C." surname="Wood"/>
          <date month="February" year="2022"/>
          <abstract>
            <t>This document describes a scheme for hybrid public key encryption (HPKE). This scheme provides a variant of public key encryption of arbitrary-sized plaintexts for a recipient public key. It also includes three authenticated variants, including one that authenticates possession of a pre-shared key and two optional ones that authenticate possession of a key encapsulation mechanism (KEM) private key. HPKE works for any combination of an asymmetric KEM, key derivation function (KDF), and authenticated encryption with additional data (AEAD) encryption function. Some authenticated variants may not be supported by all KEMs. We provide instantiations of the scheme using widely used and efficient primitives, such as Elliptic Curve Diffie-Hellman (ECDH) key agreement, HMAC-based key derivation function (HKDF), and SHA2.</t>
            <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9180"/>
        <seriesInfo name="DOI" value="10.17487/RFC9180"/>
      </reference>
      <reference anchor="TLS">
        <front>
          <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
          <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
          <date month="August" year="2018"/>
          <abstract>
            <t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol. TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
            <t>This document updates RFCs 5705 and 6066, and obsoletes RFCs 5077, 5246, and 6961. This document also specifies new requirements for TLS 1.2 implementations.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8446"/>
        <seriesInfo name="DOI" value="10.17487/RFC8446"/>
      </reference>
      <reference anchor="DoH">
        <front>
          <title>DNS Queries over HTTPS (DoH)</title>
          <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
          <author fullname="P. McManus" initials="P." surname="McManus"/>
          <date month="October" year="2018"/>
          <abstract>
            <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8484"/>
        <seriesInfo name="DOI" value="10.17487/RFC8484"/>
      </reference>
    </references>
    <?line 159?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>MASQUE was originally inspired directly or indirectly by prior work from many
people. The author would like to thank <contact fullname="Nick Harper"/>,
<contact fullname="Christian Huitema"/>, <contact fullname="Marcus Ihlar"/>, <contact fullname="Eric Kinnear"/>,
<contact fullname="Mirja Kuehlewind"/>, <contact fullname="Brendan Moran"/>, <contact fullname="Lucas Pardue"/>,
<contact fullname="Tommy Pauly"/>, <contact fullname="Zaheduzzaman Sarker"/> and <contact fullname="Ben Schwartz"/> for their
input.</t>
      <t>In particular, the probing resistance component of MASQUE came from a
conversation with <contact fullname="Chris A. Wood"/> as we were preparing a draft for an
upcoming Thursday evening BoF.</t>
      <t>All of the MASQUE enthusiasts and other contributors to the MASQUE working
group are to thank for the successful standardization of <xref target="HTTP-DGRAM"/>,
<xref target="CONNECT-UDP"/>, and <xref target="CONNECT-IP"/>.</t>
      <t>The author would like to express immense gratitude to Christophe A., an
inspiration and true leader of VPNs.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
MNAQamjPh3E0xx2o/wHL3WvaAx4AAA==

-->

</rfc>
