<?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.7.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-masque-proxy-06" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.29.0 -->
  <front>
    <title>The MASQUE Proxy</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-proxy-06"/>
    <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="2025" month="July" day="07"/>
    <keyword>masque</keyword>
    <keyword>proxy</keyword>
    <keyword>kuzh</keyword>
    <abstract>
      <?line 35?>

<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 43?>

<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-probeable HTTP authentication
scheme <xref target="CONCEALED-AUTH"/>, any Web server can also become a MASQUE
proxy while remaining indistinguishable from a regular Web server. This defeats
detection tools that operate solely on packet formats.</t>
        <t>However, it is still possible to perform statitiscal analyses on the encrypted
data. There exist commercially available products that are able to identify
visited websites based solely on the timing and size of encrypted packets.
While MASQUE increases the cost of such traffic analysis efforts, it doesn't
prevent them from being used at scale.</t>
        <t>MASQUE implementations can leverage the ability for HTTP/2, HTTP/3, TLS, or
QUIC to introduce padding inside the encryption. That enables many defensive
strategies such as ensuring that all packets are the same size, or introducing
variable amounts of cover traffic. From a theoretical perspective, sending data
at a constant bitrate is the only way to fully prevent statistical analysis,
but it likely introduces too much overhead to be deployable at scale. Finding
padding strategies that balance resistance against statistical analysis with
overheads remains an open research problem.</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 anchor="sec-informative-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/>
        </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="T. Pauly" initials="T." role="editor" surname="Pauly"/>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <author fullname="A. Chernyakhovsky" initials="A." surname="Chernyakhovsky"/>
          <author fullname="M. Kühlewind" initials="M." surname="Kühlewind"/>
          <author fullname="M. Westerlund" initials="M." surname="Westerlund"/>
          <date month="October" 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="RFC" value="9484"/>
        <seriesInfo name="DOI" value="10.17487/RFC9484"/>
      </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="M. Kühlewind" initials="M." surname="Kühlewind"/>
          <author fullname="T. Pauly" initials="T." surname="Pauly"/>
          <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
          <date month="July" year="2024"/>
          <abstract>
            <t>This document describes the principle of privacy partitioning, which selectively spreads data and communication across multiple parties as a means to improve 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="RFC" value="9614"/>
        <seriesInfo name="DOI" value="10.17487/RFC9614"/>
      </reference>
      <reference anchor="CONCEALED-AUTH">
        <front>
          <title>The Concealed HTTP Authentication Scheme</title>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi"/>
          <author fullname="D. Oliver" initials="D." surname="Oliver"/>
          <author fullname="J. Hoyland" initials="J." surname="Hoyland"/>
          <date month="February" year="2025"/>
          <abstract>
            <t>Most 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. Prior to this document, there was no existing way for the origin to share such a nonce without exposing the fact that it serves resources that require authentication. This document defines a new non-probeable cryptographic authentication scheme.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="9729"/>
        <seriesInfo name="DOI" value="10.17487/RFC9729"/>
      </reference>
      <reference anchor="OHTTP">
        <front>
          <title>Oblivious HTTP</title>
          <author fullname="M. Thomson" initials="M." surname="Thomson"/>
          <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
          <date month="January" year="2024"/>
          <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="RFC" value="9458"/>
        <seriesInfo name="DOI" value="10.17487/RFC9458"/>
      </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 171?>

<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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
vhjDHTl0mEQwl8FrGPf56hKF9l/axnxsiCAAAA==

-->

</rfc>
