<?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.18 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-masque-proxy-04" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.23.0 -->
  <front>
    <title>The MASQUE Proxy</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-proxy-04"/>
    <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="2024" month="August" day="28"/>
    <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. 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 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="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="August" year="2024"/>
          <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.  At the time of writing, 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 proposes a new non-probeable
   cryptographic authentication scheme.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-unprompted-auth-10"/>
      </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 161?>

<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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
p6ExHs6Rdluo/wE/ehbU6B0AAA==

-->

</rfc>
