<?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.10 (Ruby 3.0.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-pauly-ohai-svcb-config-01" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.7 -->
  <front>
    <title abbrev="Oblivious Services in SVCB">Discovery of Oblivious Services via Service Binding Records</title>
    <seriesInfo name="Internet-Draft" value="draft-pauly-ohai-svcb-config-01"/>
    <author initials="T." surname="Pauly" fullname="Tommy Pauly">
      <organization>Apple Inc.</organization>
      <address>
        <email>tpauly@apple.com</email>
      </address>
    </author>
    <author initials="T." surname="Reddy" fullname="Tirumaleswar Reddy">
      <organization>Akamai</organization>
      <address>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <date year="2022" month="May" day="25"/>
    <area>Security</area>
    <workgroup>Oblivious HTTP Application Intermediation</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document defines a parameter that can be included in SVCB and HTTPS
DNS resource records to denote that a service is accessible as an Oblivious
HTTP target, as well as a mechanism to look up oblivious key configurations
using a well-known URI.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-pauly-ohai-svcb-config/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Oblivious HTTP Application Intermediation Working Group mailing list (<eref target="mailto:ohai@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ohai/"/>.
      </t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Oblivious HTTP <xref target="OHTTP"/> allows clients to encrypt
messages exchanged with an HTTP server accessed via a proxy, in such a way
that the proxy cannot inspect the contents of the message and the target HTTP
server does not discover the client's identity. In order to use Oblivious
HTTP, clients need to possess a key configuration to use to encrypt messages
to the oblivious target.</t>
      <t>Since Oblivious HTTP deployments will often involve very specific coordination
between clients, proxies, and targets, the key configuration can often be
shared in a bespoke fashion. However, some deployments involve clients
discovering oblivious targets more dynamically. For example, a network may
want to advertise a DNS resolver that is accessible over Oblivious HTTP
and applies local network resolution policies via mechanisms like Discovery
of Designated Resolvers (<xref target="DDR"/>. Clients
can work with trusted proxies to access these target servers.</t>
      <t>This document defines a mechanism to advertise that an HTTP service supports
Oblivious HTTP using DNS records, as a parameter that can be included in SVCB
and HTTPS DNS resource records <xref target="SVCB"/>.
The presence of this parameter indicates that a service has an oblivious
target; see <xref section="3" sectionFormat="of" target="OHTTP"/> for a description of oblivious targets.</t>
      <t>This document also defines a well-known URI <xref target="RFC8615"/>, "oblivious-configs",
that can be used to look up key configurations on a service that is known
to have an oblivious target.</t>
      <t>This mechanism does not aid in the discovery of proxies to use to access
oblivious targets; the configuration of proxies is out of scope for this
document.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="the-oblivious-svcparamkey">
      <name>The oblivious SvcParamKey</name>
      <t>The "oblivious" SvcParamKey <xref target="iana"/> is used to indicate that a service
described in an SVCB record can act as an oblivious target. Clients
can issue requests to this service through an oblivious proxy once
they learn the key configuration to use to encrypt messages to the
oblivious target.</t>
      <t>Both the presentation and wire format values for the "oblivious"
parameter <bcp14>MUST</bcp14> be empty.</t>
      <t>The "oblivious" parameter can be included in the mandatory parameter
list to ensure that clients that do not support oblivious access
do not try to use the service. Services that include mark oblivious
support as mandatory can, therefore, indicate that the service might
not be accessible in a non-oblivious fashion. Services that are
intended to be accessed either as an oblivious target or directly
<bcp14>SHOULD NOT</bcp14> mark the "oblivious" parameter as mandatory. Note that since
multiple SVCB responses can be provided for a single query, the oblivious
and non-oblivious versions of a single service can have different SVCB
records to support different names or properties.</t>
      <t>The scheme to use for oblivious requests made to a service depends on
the scheme of the SVCB record. This document defines the interpretation for
the "https" <xref target="SVCB"/> and "dns" <xref target="DNS-SVCB"/>
schemes. Other schemes that want to use this parameter <bcp14>MUST</bcp14> define the
interpretation and meaning of the configuration.</t>
      <section anchor="use-in-https-service-records">
        <name>Use in HTTPS service records</name>
        <t>For the "https" scheme, which uses the HTTPS RR type instead of SVCB,
the presence of the "oblivious" parameter means that the service
being described is an Oblivious HTTP service that uses the default
"message/bhttp" media type <xref target="OHTTP"/>
          <xref target="BINARY-HTTP"/>.</t>
        <t>For example, an HTTPS service record for svc.example.com that supports
an oblivious target could look like this:</t>
        <artwork><![CDATA[
svc.example.com. 7200  IN HTTPS 1 . alpn=h2,h2 oblivious
]]></artwork>
        <t>A similar record for a service that only support oblivious connectivity
could look like this:</t>
        <artwork><![CDATA[
oblivious-svc.example.com. 7200  IN HTTPS 1 . (
    mandatory=oblivious oblivious )
]]></artwork>
      </section>
      <section anchor="use-in-dns-server-svcb-records">
        <name>Use in DNS server SVCB records</name>
        <t>For the "dns" scheme, as defined in <xref target="DNS-SVCB"/>, the presence of
the "oblivious" parameter means that the DNS server being
described is an Oblivious DNS over HTTP (DoH) service. The default
media type expected for use in Oblivious HTTP to DNS resolvers
is "application/dns-message" <xref target="DOH"/>.</t>
        <t>In order for DNS servers to function as oblivious targets, they need
to be accessible via an oblivious proxy. Encrypted DNS servers
used with the discovery mechanisms described in this section can
either be publicly accessible, or specific to a network. In general,
only publicly accessible DNS servers will work as Oblivious DNS
servers, unless there is a coordinated deployment with an oblivious
proxy that is also hosted within a network.</t>
        <section anchor="ddr">
          <name>Use with DDR</name>
          <t>Clients can discover an oblivious DNS server configuration using
DDR, by either querying _dns.resolver.arpa to a locally configured
resolver or querying using the name of a resolver <xref target="DDR"/>.</t>
          <t>For example, a DoH service advertised over DDR can be annotated
as supporting oblivious resolution using the following record:</t>
          <artwork><![CDATA[
_dns.resolver.arpa  7200  IN SVCB 1 doh.example.net (
     alpn=h2 dohpath=/dns-query{?dns} oblivious )
]]></artwork>
          <t>Clients still need to perform some verification of oblivious DNS servers,
such as the TLS certificate check described in <xref target="DDR"/>. This certificate
check can be done when looking up the configuration on the resolver
using the well-known URI (<xref target="well-known"/>), which can either be done
directly, or via a proxy to avoid exposing client IP addresses.</t>
          <t>Clients also need to ensure that they are not being targeted with unique
key configurations that would reveal their identity. See <xref target="security"/> for
more discussion.</t>
        </section>
        <section anchor="dnr">
          <name>Use with DNR</name>
          <t>The SvcParamKeys defined in this document also can be used with Discovery
of Network-designated Resolvers (DNR) <xref target="DNR"/>. In this
case, the oblivious configuration and path parameters can be included
in DHCP and Router Advertisement messages.</t>
          <t>While DNR does not require the same kind of verification as DDR, clients
still need to ensure that they are not being targeted with unique
key configurations that would reveal their identity. See <xref target="security"/> for
more discussion.</t>
        </section>
      </section>
    </section>
    <section anchor="well-known">
      <name>Configuration Well-Known URI</name>
      <t>Clients that know a service is available as an oblivious target, e.g.,
either via discovery through the "oblivious" parameter in a SVCB or HTTPS
record, or by configuration, need to know the key configuration before sending
oblivious requests.</t>
      <t>This document defines a well-known URI <xref target="RFC8615"/>, "oblivious-configs",
that allows a target to host its configurations.</t>
      <t>The URI is constructed using the TargetName in the associated ServiceMode
SVCB record.</t>
      <t>For example, the URI for the following record:</t>
      <artwork><![CDATA[
svc.example.com. 7200  IN HTTPS 1 . alpn=h2,h2 oblivious
]]></artwork>
      <t>would be "https://svc.example.com/.well-known/oblivious-configs".</t>
      <t>As another example, the URI for the following record:</t>
      <artwork><![CDATA[
_dns.resolver.arpa  7200  IN SVCB 1 doh.example.net (
     alpn=h2 dohpath=/dns-query{?dns} oblivious )
]]></artwork>
      <t>would be "https://doh.example.net/.well-known/oblivious-configs".</t>
      <t>The content of this resource is expected to be "application/ohttp-keys",
as defined in <xref target="OHTTP"/>.</t>
      <t>Before being able to use a server as an oblivious target, clients need
to use this URI to fetch the configuration. They can either fetch it
directly, or do so via a proxy in order to avoid the server discovering
information about the client's identity. See <xref target="security"/> for more
discussion of avoiding key targeting attacks.</t>
    </section>
    <section anchor="security">
      <name>Security and Privacy Considerations</name>
      <t>Attackers on a network can remove SVCB information from cleartext DNS
answers that are not protected by DNSSEC <xref target="DNSSEC"/>. This
can effectively downgrade clients. However, since SVCB indications
for oblivious support are just hints, a client can mitigate this by
always checking for oblivious target information. Use of encrypted DNS
or DNSSEC also can be used as mitigations.</t>
      <t>When discovering designated oblivious DNS servers using this mechanism,
clients need to ensure that the designation is trusted in lieu of
being able to directly check the contents of the target server's TLS
certificate. See <xref target="ddr"/> for more discussion, as well as the Security
Considerations of <xref target="I-D.ietf-add-svcb-dns"/>.</t>
      <t>As discussed in <xref target="OHTTP"/>, client requests using Oblivious HTTP
can only be linked by recognizing the key configuration. In order to
prevent unwanted linkability and tracking, clients using any key
configuration discovery mechanism need to be concerned with attacks
that target a specific user or population with a unique key configuration.</t>
      <t>There are several approaches clients can use to mitigate key targeting
attacks. <xref target="CONSISTENCY"/> provides an analysis
of the options for ensuring the key configurations are consistent between
different clients. Clients <bcp14>SHOULD</bcp14> employ some technique to mitigate key
targeting attack. Oblivious targets that are detected to use targeted
key configurations per-client <bcp14>MUST NOT</bcp14> be used.</t>
      <t>When clients fetch a target's configuration using the well-known URI,
they can expose their identity in the form of an IP addres if they do not
connect via a proxy or some other IP-hiding mechanism. Clients <bcp14>SHOULD</bcp14>
use a proxy or similar mechanism to avoid exposing client IPs to a target.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="svcb-service-parameter">
        <name>SVCB Service Parameter</name>
        <t>IANA is requested to add the following entry to the SVCB Service Parameters
registry (<xref target="SVCB"/>).</t>
        <table>
          <thead>
            <tr>
              <th align="left">Number</th>
              <th align="left">Name</th>
              <th align="left">Meaning</th>
              <th align="left">Reference</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">TBD</td>
              <td align="left">oblivious</td>
              <td align="left">Describes if a service has an oblivious target</td>
              <td align="left">(This document)</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="well-known-uri">
        <name>Well-Known URI</name>
        <t>IANA is requested to add a new entry in the "Well-Known URIs" registry <xref target="RFC8615"/> with the following information:</t>
        <t>URI suffix: oblivious-configs</t>
        <t>Change controller: IETF</t>
        <t>Specification document: This document</t>
        <t>Status: permanent</t>
        <t>Related information: N/A</t>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="OHTTP">
          <front>
            <title>Oblivious HTTP</title>
            <author fullname="Martin Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="15" month="February" year="2022"/>
            <abstract>
              <t>   This document describes a system for the forwarding of encrypted HTTP
   messages.  This allows a client to make multiple requests of a server
   without the server being able to link those requests to the client or
   to identify the requests as having come from the same client.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-ohai-ohttp-01"/>
        </reference>
        <reference anchor="DDR">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="Tommy Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Patrick McManus">
              <organization>Fastly</organization>
            </author>
            <author fullname="Tommy Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="4" month="April" year="2022"/>
            <abstract>
              <t>   This document defines Discovery of Designated Resolvers (DDR), a
   mechanism for DNS clients to use DNS records to discover a resolver's
   encrypted DNS configuration.  This mechanism can be used to move from
   unencrypted DNS to encrypted DNS when only the IP address of a
   resolver is known.  This mechanism is designed to be limited to cases
   where unencrypted resolvers and their designated resolvers are
   operated by the same entity or cooperating entities.  It can also be
   used to discover support for encrypted DNS protocols when the name of
   an encrypted resolver is known.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-ddr-06"/>
        </reference>
        <reference anchor="SVCB">
          <front>
            <title>Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)</title>
            <author fullname="Ben Schwartz">
              <organization>Google</organization>
            </author>
            <author fullname="Mike Bishop">
              <organization>Akamai Technologies</organization>
            </author>
            <author fullname="Erik Nygren">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="24" month="May" year="2022"/>
            <abstract>
              <t>   This document specifies the "SVCB" and "HTTPS" DNS resource record
   (RR) types to facilitate the lookup of information needed to make
   connections to network services, such as for HTTP origins.  SVCB
   records allow a service to be provided from multiple alternative
   endpoints, each with associated parameters (such as transport
   protocol configuration and keys for encrypting the TLS ClientHello).
   They also enable aliasing of apex domains, which is not possible with
   CNAME.  The HTTPS RR is a variation of SVCB for use with HTTP [HTTP].
   By providing more information to the client before it attempts to
   establish a connection, these records offer potential benefits to
   both performance and privacy.

   TO BE REMOVED: This document is being collaborated on in Github at:
   https://github.com/MikeBishop/dns-alt-svc
   (https://github.com/MikeBishop/dns-alt-svc).  The most recent working
   version of the document, open issues, etc. should all be available
   there.  The authors (gratefully) accept pull requests.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-dnsop-svcb-https-10"/>
        </reference>
        <reference anchor="RFC8615">
          <front>
            <title>Well-Known Uniform Resource Identifiers (URIs)</title>
            <author fullname="M. Nottingham" initials="M." surname="Nottingham">
              <organization/>
            </author>
            <date month="May" year="2019"/>
            <abstract>
              <t>This memo defines a path prefix for "well-known locations", "/.well-known/", in selected Uniform Resource Identifier (URI) schemes.</t>
              <t>In doing so, it obsoletes RFC 5785 and updates the URI schemes defined in RFC 7230 to reserve that space.  It also updates RFC 7595 to track URI schemes that support well-known URIs in their registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8615"/>
          <seriesInfo name="DOI" value="10.17487/RFC8615"/>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="DNS-SVCB">
          <front>
            <title>Service Binding Mapping for DNS Servers</title>
            <author fullname="Benjamin Schwartz">
              <organization>Google LLC</organization>
            </author>
            <date day="22" month="April" year="2022"/>
            <abstract>
              <t>   The SVCB DNS record type expresses a bound collection of endpoint
   metadata, for use when establishing a connection to a named service.
   DNS itself can be such a service, when the server is identified by a
   domain name.  This document provides the SVCB mapping for named DNS
   servers, allowing them to indicate support for new transport
   protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-svcb-dns-03"/>
        </reference>
        <reference anchor="BINARY-HTTP">
          <front>
            <title>Binary Representation of HTTP Messages</title>
            <author fullname="Martin Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="23" month="May" year="2022"/>
            <abstract>
              <t>   This document defines a binary format for representing HTTP messages.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-httpbis-binary-message-04"/>
        </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>
        <reference anchor="DNR">
          <front>
            <title>DHCP and Router Advertisement Options for the Discovery of Network-designated Resolvers (DNR)</title>
            <author fullname="Mohamed Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Tirumaleswar Reddy">
              <organization>Akamai</organization>
            </author>
            <author fullname="Dan Wing">
              <organization>Citrix Systems, Inc.</organization>
            </author>
            <author fullname="Neil Cook">
              <organization>Open-Xchange</organization>
            </author>
            <author fullname="Tommy Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="13" month="April" year="2022"/>
            <abstract>
              <t>   The document specifies new DHCP and IPv6 Router Advertisement options
   to discover encrypted DNS servers (e.g., DNS-over-HTTPS, DNS-over-
   TLS, DNS-over-QUIC).  Particularly, it allows to learn an
   authentication domain name together with a list of IP addresses and a
   set of service parameters to reach such encrypted DNS servers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-dnr-07"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="DNSSEC">
          <front>
            <title>DNS Security Introduction and Requirements</title>
            <author fullname="R. Arends" initials="R." surname="Arends">
              <organization/>
            </author>
            <author fullname="R. Austein" initials="R." surname="Austein">
              <organization/>
            </author>
            <author fullname="M. Larson" initials="M." surname="Larson">
              <organization/>
            </author>
            <author fullname="D. Massey" initials="D." surname="Massey">
              <organization/>
            </author>
            <author fullname="S. Rose" initials="S." surname="Rose">
              <organization/>
            </author>
            <date month="March" year="2005"/>
            <abstract>
              <t>The Domain Name System Security Extensions (DNSSEC) add data origin authentication and data integrity to the Domain Name System.  This document introduces these extensions and describes their capabilities and limitations.  This document also discusses the services that the DNS security extensions do and do not provide.  Last, this document describes the interrelationships between the documents that collectively describe DNSSEC.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4033"/>
          <seriesInfo name="DOI" value="10.17487/RFC4033"/>
        </reference>
        <reference anchor="I-D.ietf-add-svcb-dns">
          <front>
            <title>Service Binding Mapping for DNS Servers</title>
            <author fullname="Benjamin Schwartz">
              <organization>Google LLC</organization>
            </author>
            <date day="22" month="April" year="2022"/>
            <abstract>
              <t>   The SVCB DNS record type expresses a bound collection of endpoint
   metadata, for use when establishing a connection to a named service.
   DNS itself can be such a service, when the server is identified by a
   domain name.  This document provides the SVCB mapping for named DNS
   servers, allowing them to indicate support for new transport
   protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-svcb-dns-03"/>
        </reference>
        <reference anchor="CONSISTENCY">
          <front>
            <title>Key Consistency and Discovery</title>
            <author fullname="Alex Davidson">
              <organization>Brave Software</organization>
            </author>
            <author fullname="Matthew Finkel">
              <organization>The Tor Project</organization>
            </author>
            <author fullname="Martin Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="4" month="March" year="2022"/>
            <abstract>
              <t>   This document describes the key consistency and correctness
   requirements of protocols such as Privacy Pass, Oblivious DoH, and
   Oblivious HTTP for user privacy.  It discusses several mechanisms and
   proposals for enabling user privacy in varying threat models.  In
   concludes with discussion of open problems in this area.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-wood-key-consistency-02"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA81a0XLjuLF9x1cgmofM3JLk8ezkJnEyyXrs2YwrM7Zje7K1
lUptQSQkIaYIhSClUbzeb7nfcr8spxsAQVLyZpNUpeIXSxQJNBqnT59ucDKZ
iNrUhT6Ro3PjMrvR1U7aubyaFWZjbOPkra42JtNOboyKX+RbU+amXMgbndkq
dyOhZrNKbzDKgQdNKW//ePZ2JDJV64Wtdie4NLdC5DYr1Qpz55Wa15O1aord
xC6VmbhNNptktpybxeTlsTDr6kTWVePqVy9f/vLlK6EqrTDZrc6aytS7kdja
6n5R2WbdM+H93d21PF2vC4OpjS3lRVnraqVzw19H4l7v8GR+4n8odT05J1PE
RpeNPhFS/gtjSlnv1uTQr2ETOel3NAZdXylT4Dqt8Euj6/nUVgu6rqpsievL
ul67k6Mjuo0umY2extuO6MLRrLJbp49ogKOREK5WZf6tKmyJ6XbaCbdSVf3t
Xxtba3ciSyvW5kT+qbbZWDpb1ZWeO3zarejDn4VQTb20FZY5gRFS+r24s6vV
Tl7TXvBVTK5K8zde3AkvXGPJ2ZR/1H5JNW/dl4p+nGZ2NRjRVM1KFdptVQXE
5PnBge8VxuoOem/LvDbVlwv6yqOK0lYr3L/B1giCUPomJpOJVDNXVyqrhbhb
GicBr2aly1rmem5KAFHJtapgEvZL1ktVy0yVcqaBxqxocp1HpEq4lff5Vpxf
3spKO9tUQH3l0S5riyFLONmPoqQLYYFJVQbIOzODlxS+lSmSBCOnVtVC12P6
cauLgm+SK50t4Qu3oqELa+9ls5a2hRxQKn0wNBW7y4nGEbIUjzG5L+22lJ9u
LqbeDyuT54UW4hlhs7J5k9FDQgxA/PDwkyv68OZicj71IUhw8xFoCY2Pj1IV
BTAns8LAk7x0XWbVbl2LFdapFnCr/kzWL+C/ramXtGYenpwCR3uH4EfiD+xA
ZT/vxuRp12RLWoHaCXZjvdT+V9oWeBf3uLXO/A9Yfs0GgJvoe5icd4q+e7fy
xCJMnFvYRuPkgdj8QLyQn4KVsIWgvt0UTgIWc/rdysbpwY6N27WXGqvAPWuL
9Tjat72NiUMkN0VLncA1MiBtq7cZe3YLAHam9e7L9bqwuxXPvDVAip3DA3DK
xhYbLZmoyT9mbjIYgRWYkm0QM11vNW4Ndo/Zq0bjA3uLZ8UXMmZ/ARQSfqaZ
Fm4JouWwUPjq1vZey7lyS9w4le/tVsMKopaV7pkbbQwGiLgBBNnh8p1c2QqP
78AVYNSiwIZ8ZSuASq3AJrAZfq+J3kGfO7FViGd4UuUYrzZwtZIxRotNjOt+
HPLe970ryBNEV3ALAg7ztrPwSA37Ym1B8iakvjZG8YCBH9p0KQDJc+3MAu6H
s26CJU4+R4Cdn98Mw0vl+STPq8fHqTwLDiKn8+QcQJzoMFLYNl4ur4a2zLVY
9zB306fZrkcryWOetDpRStTlmvUaKcINScITjXcxs9/YU9aPY1LRMqk8yKTw
EN02dFFeOrv2IoCTInyFRRI9YP0UK8wCWHSyggQJ6Qs35OSlp+EWd8K771e4
QWN+SAje6y9Y9ZCpID1kFoyQa5dVZs0/48c95O55XhXOdtzf52Za681XZ7/4
3+OfPT6OoQLicEHnuNFYdF3ZOM82MR3sJwFpy846I/B5QiKbpdro3soT4bDZ
CR0tUyrDO0fMkHfVYAeJgd08IMWeT34V2bpDKZ0BMK1tarqC0deaHU0bKaIP
p5S1zmy5IXKmNRKAzsmlxic+xgH5YssAGn38dHs3Gvv/8vKKP9+8+8Oni5t3
5/T59v3phw/tBxHuuH1/9enDefqUnjy7+vjx3eW5fxhXZe+SGH08/WbkiXR0
dX13cXV5+mHkfdZDQsVe4ogAOoFbCmiFdTKmZj5C3p5d////Hb8OyHh1fPxL
YC/A5Pjnr/Flu9Sln82WxS58hYd3AuSlVcXUjNyQqbWpAT8OTrckyC11peHN
//kTeebPJ/LXs2x9/Po34QItuHcx+qx3kX22f2XvYe/EA5cOTNN6s3d94Om+
vaff9L5Hv3cuEmruesn1dpNdEzn8Hr5izKSAG3V/hL+NKhV8jf2LMRfJZMAl
/d1TQSx6LuOwhfaUA7qJQdfjeuNcQyT410Y7L6oYPimUUTEslv1xvDSyYD9B
AJAFtr98Iok/rUL8XHovcIGUt5ZyT8uytR+KsLc1FYcq1LbcqAJGh8DteVUk
MmaEAfx6tYbA2vd/uvNA3mB5h2lVjVIx3SoK42q/JNdUYWtaWUpfcsskFjJZ
x3WBrMLvNUaNDsJUwenTVK96JvUWwRKk5ZQ84uDY5WQjFsFRibIKWmY8gE9n
EijzxbIWZAUW3ZEorLBKW06S0a3O6tsFZhHEKWXuodqOg6/akBFPIBAaF6QO
sNYo7FJ0+gXWT25Qd6FTedkWPY40q1g1RW2oIgyRAIlYQhvHbQVmN4YM9QmV
pATuBeqr3bgvhlko9B1A4sanuXl6NjqSJuAEl5v5HI4H57Le6JRocavSHVSO
OvID7FqTGNIugNNlS73SERZkbbKjDdOVyn3ua62A6MVGUCIWdRollCgdcpjK
wxKNbmsThI83zM1j+W7AiBQKxqFCjFIOhBFd+gnE1OSQcCJtybIJNz4+Cm+Q
m8orBkb46jcwKmkfBz0txeHrbWSyGJhIlqw0pAPJ+fl+wqcc/kx+cgxrL/6i
w8L2CPFV5I+wTG/aGBnOoCpsXHCOf/rmhlsqVBDWWuU0KS1+LOo9TfgUjMle
txePKJVoER1a75fsfYnMT7emwT8K6BejQK1HM1rKSHInyNv78BAEpcCWvb24
PL35ZnKo4KYHZ8ZNZqjgqt0kDEiiV/RLocPuZLxi16fhRuqVhCCNov4QH2S2
KXIvL7mgIRCcCPH999+LwWBT+fNXL19KeXEZ5j+WU8iOdflm+Wq8fNWJYnpY
nCJYV9TC6to3EKosZ/aZGjgqSZBvUJiLHzAwiecfY+pzbiu1NPYmzZc+vfC2
J+BSvRI6CZ1I7kKXgzECFzzpI4Zz2MNDjFDS+gOYih8N044NjFTxNFLpVi50
GbLPz+37Fym13XXw2sGn/kz9lUDPjV/2APsgiG557QTmHanU/TyCEyJgPTNd
vX9D+vX1L14zgNvmCs2R1sMMPW9KX3wpt19deZ3LTRfRzXOcL7mXtKeOpvKd
lztYUmcqwbLOl9a9yqZT0veUXRBjWWyIiJBYKaM1mDIDdpMxY8oobSeG80Po
JXBraaFLXaliLBjyB57veYU7PdwKgE96uxvaWvBLUxahGVD5lmNq/8D+1Ihp
23EpPr2IbHskVK8uLTcb6F6vQoLtFAs+GHiY8/Mb+fCM+hZCBCnLSbhtrvW2
owPcvjLldoLAYGM520XBwoKAiPhboGkasTZV1Vp5f3KHpkgqF5BoGz6287xv
VtAmU6r3wqG9ETF5fnOAVCVipSWntkuS+2iiZQcxw01JcrGgGstTV7+j1Wkd
JUvmljqo9M0zSGCwA0tN1MWEcwy9sGy5DdsSeCwyL/28VvXyDccg++Dht5T3
91ktbpirCV5tH1NXJOp9/47ac/N4pNHrdnTgORa+aesz4N2HW5mRt+Ze7YIJ
s/t+JEWfe/3TuVn4m4NrcwulQcUtsz3v5PpQI8EXB9FrIjl50Gp5/vCQrjw+
voi6gqZLsUyziiiJOYo7LWoG3saanFjS8kS+2JAX10BJXpHkJvkYfcvBFF3b
rVGYxqgh4GU/m8wUF0mpKQ12Txxo8Hihxmmw0hutChrMVJ3e9S03sVw4B/Ot
K+E7qgjMxrmox7qhfMmhXFIoU2boVMO9JFbvN7e6vSk/VrcLeumpY5If7IZi
2hdeux5uiZbcEr3w86JMdnpQIwzQQDKU8J/SpxuWk4Ly+Puza773xjaUYk9j
hPOqYl0MH329NEzGN6kfRtLfVKFOJEYBNll+9qIF4cCEFtvd/Sj7r4MCtdc6
bvyaAuX3qUv5rBM5Cd08PV0cnHZt6KwyHXYNs/hY6uliOo4JlOIrpd/Y5nha
DnFCYjK0VTiQ8yTK0TobOGnc+pwNPdwamXGNjjXwAbbYL/N+oJ/+LzZ0wxGa
isK79klXmnoA6ViN0uCGf3N11bBCS1R3x4NcEhpDs0Q5ZzPD4RZ6BR9trkW3
/hzkvDpMErs4T+Sof68M8GCd6XSwPRjvaJocerTvPRh9SqCyDJ1/1vb/aH7d
X+pg6H+81Lt0yNmebrTHJcYlre61cE+D81ntBFgnyA0LkVCCUoPPQ9/zDgdt
KP9Ve1b7RBB3T0BFt2dAG0FCXtfZ8kAjgAqPXTfr+htN3U+7uYUG6SVf0zmS
9Vk4Vu10sJuOE9NbAMTDMzpbeOKQ9xA78tGjSOzIgpFmIwcRdfj1s7vqWmX3
jvkzvnXCWeW6MhuV7YhUHWaLdP3wrJ0KMOaHKT/ZjsJmv1R6haV4QHbXMq9Q
w2fU463155r1PyrDLRdOoQ3ISQTuqj0uwIa46/bdGZb5W/+JCrHXL7/4Igow
7j3r+ZwrbA09nQOOi4raWmGHu6e6fCgdDMsD1Jzo98badijM+UsDTkMNQaWb
imKJZlyZ2ix8OxSQme2EKrYKUoMlIDm3P2ZgyY43pqxdsDm6W94JX1DSive0
CXUt/ayBVr8mcdk9h+5olINSt2Xc7knZWAzfBRhk93ZY2kM8GY9ygWc82FDx
3w+/GAdBPB961aF33AtMQ3aLjpKO0OYj5RbVnZzfe9eEG5MBmWKAWcwH6JA0
O9BL9GwcRh1wSySI1Cr1zhucufOrBVQEY5cKU9570BJrL0rzt5jf9lJ27wUN
VLCazgahlKiBiSFoJDUzRQxIegOIUJVYK7wrU+5obNGXAweaAe3ezngvMnov
LL7a4lkgvK/i90Wl2h/Q43p0bddN4cf3jwVdd2BtTPzYLsWaZEOdAnovobIK
gEiv3ZDrwolOG009ghKRoGgLz64uby9u795dnn3TUdpba3NKEpR1nAEsy4x4
MPTomflVqYodfhMBenbtkUGoYqQ/uUmOV9COTOqWX0IRqfveUkzUlOEQQq+o
YeGrUHDZ0rtqsFIxpOJpB13xTZKWGXNdt8myad+YQO46YDeq4EmAbzwYjTQS
eSPugs9eUcf9dFiQPFWOjv2BHZMv1ZJ6IN2jjuNinFJQmWpMaea+avCHVyI0
SHvJktpP5DwvlC6uJ0ufwVpED10ufNJPT4d2bf99kSeKX/8+Sjo2fCYvTi9P
9/Mfn6pyQ5VzSHxz9Lo9zxP8nGmVt98uLHsg6zCtP7FrD1X2xnIoCxYAHu57
Hg9MXsC27+Rls5rBKRKfSDGnv+/kx3CE8QN/36F+ZfRm8dHvMObE/8n201MX
Dv3t38Rj3r09DzOmbBQunIeGCmPh6fdaIh/hiee9AuYFJqBt6Bd6P+B+Uijb
4PYAzVH/YRRprcO7VVBqsqbt6+RxSHMSjK6Zz83nE7mng1Fu8ouEnAIrjKCr
E3nx7u4rIW4DxwbWDks76Z+r4bZa1Y07oaBeqZIv3ehC+RSc7JCXR6f+VckZ
qET8HcqRXoIGLQAA

-->

</rfc>
