<?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.26 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-masque-proxy-00" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title>The MASQUE Proxy</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-masque-proxy-00"/>
    <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="March" day="13"/>
    <keyword>masque</keyword>
    <keyword>proxy</keyword>
    <abstract>
      <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>
    <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">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="S. Lawrence" initials="S." surname="Lawrence">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="E. Kinnear" initials="E." surname="Kinnear">
            <organization/>
          </author>
          <author fullname="D. Schinazi" initials="D." surname="Schinazi">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="L. Pardue" initials="L." surname="Pardue">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <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="1" month="March" 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 a proxy.  This document updates RFC 9298.

            </t>
          </abstract>
        </front>
        <seriesInfo name="Internet-Draft" value="draft-ietf-masque-connect-ip-08"/>
      </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>HTTP Unprompted Authentication</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="13" month="March" year="2023"/>
          <abstract>
            <t>   Existing HTTP authentication mechanisms 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 schemes (such
   as signatures or message authentication codes) 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-01"/>
      </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="9" month="March" year="2023"/>
          <abstract>
            <t>   This document describes a system for forwarding encrypted HTTP
   messages.  This 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-07"/>
      </reference>
      <reference anchor="HPKE">
        <front>
          <title>Hybrid Public Key Encryption</title>
          <author fullname="R. Barnes" initials="R." surname="Barnes">
            <organization/>
          </author>
          <author fullname="K. Bhargavan" initials="K." surname="Bhargavan">
            <organization/>
          </author>
          <author fullname="B. Lipp" initials="B." surname="Lipp">
            <organization/>
          </author>
          <author fullname="C. Wood" initials="C." surname="Wood">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <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">
            <organization/>
          </author>
          <author fullname="P. McManus" initials="P." surname="McManus">
            <organization/>
          </author>
          <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>
    <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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
Aw2hhvZ8GEdz3EL9D4r8hpkHHgAA

-->

</rfc>
