<?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.17 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-ohai-svcb-config-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.15.1 -->
  <front>
    <title abbrev="Oblivious Services in SVCB">Discovery of Oblivious Services via Service Binding Records</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-ohai-svcb-config-00"/>
    <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>Nokia</organization>
      <address>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <date year="2022" month="October" day="24"/>
    <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 using Oblivious
HTTP, by offering an Oblivious Gateway Resource through which to access the
target. This document also defines a mechanism to learn the key configuration
of the discovered Oblivious Gateway Resource.</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-ietf-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/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ohai/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/tfpauly/draft-ohai-svcb-config"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Oblivious HTTP <xref target="OHTTP"/> allows clients to encrypt
messages exchanged with an Oblivious Target Resource (target). The messages
are encapsulated in encrypted messages to an Oblivious Gateway Resource
(gateway), which gates access to the target. The gateway is access via an
Oblivious Relay Resource (relay), which proxies the encapsulated messages
to hide the identity of the client. Overall, this architecture is designed
in such a way that the relay cannot inspect the contents of messages, and
the gateway and target cannot discover the client's identity.</t>
      <t>Since Oblivious HTTP deployments will often involve very specific coordination
between clients, relays, and gateways, the key configuration can often be
shared in a bespoke fashion. However, some deployments involve clients
discovering oblivious targets and their assoicated gateways 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 relays to access these gateways.</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"/> (<xref target="svc-param"/>).
The presence of this parameter indicates that a service can act as an oblivious
target and has an oblivious gateway that can provide access to the target.</t>
      <t>The client learns the URI to use for the oblivious gateway using a well-known
URI <xref target="WELLKNOWN"/>, "oblivious-gateway", which is accessed on the
oblivious target (<xref target="gateway-location"/>).</t>
      <t>This document also defines a way to fetch an oblivious gateway's key
configuration from the oblivious gateway (<xref target="config-fetch"/>).</t>
      <t>This mechanism does not aid in the discovery of oblivious relays;
relay configuration is out of scope for this document. Models in which
this discovery mechanism is applicable are described in <xref target="applicability"/>.</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="applicability">
      <name>Applicability</name>
      <t>There are multiple models in which the discovery mechanism defined
in this document can be used.</t>
      <ul spacing="normal">
        <li>Upgrading non-oblivious HTTP to oblivious HTTP. In this model, the
client intends to communicate with a specific target service, and
prefers to use oblivious HTTP if it is available. The target service
has an oblivious gateway that it offers to allow access using oblivious
HTTP. Once the client learns about the oblivious gateway, it "upgrades"
to using oblivious HTTP to access the target service.</li>
        <li>Discovering alternative oblivious HTTP services. In this model,
the client has a default oblivious target service that it uses. For
example, this may be a public DNS resolver that is accessible over
oblivious HTTP. The client is willing to use alternative oblivious
target services if they are discovered, which may provide more
optimized or more relevant responses.</li>
      </ul>
      <t>In both of these deployment models, the client is assumed to already
know of an oblivious relay that it trusts and works with. This oblivious
relay either needs to provide generic access to oblivious gateways, or
provide a service to clients to allow them to check which gateways
are accessible.</t>
    </section>
    <section anchor="svc-param">
      <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 be accessed as an oblivious target
using an associated gateway. The service that is queried by the client hosts
one or more target resources.</t>
      <t>In order to access the service's target resources obliviously, the client
needs to send encapsulated messages to the gateway resource and the gateway's
key configuration (both of which can be retrieved using the method described in
<xref target="config-fetch"/>).</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 mark the oblivious
parameter 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 obliviously 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 media type to use for encapsulated requests made to a target 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 target
being described is an Oblivious HTTP service that is accessible using
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 gateway could look like this:</t>
        <artwork><![CDATA[
svc.example.com. 7200  IN HTTPS 1 . ( alpn=h2 oblivious )
]]></artwork>
        <t>A similar record for a service that only support oblivious connectivity
could look like this:</t>
        <artwork><![CDATA[
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, their
associated gateways need to be accessible via an oblivious relay.
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 relay 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 gateway
as described in <xref target="config-fetch"/>, which can either be done directly,
or via the relay or another proxy to avoid exposing client IP addresses.</t>
          <t>For the case of DoH servers, clients also need to ensure that they are not
being targeted with unique DoH paths 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
that learn about DoH servers still need to ensure that they are not being
targeted with unique DoH paths that would reveal their identity. See <xref target="security"/>
for more discussion.</t>
        </section>
      </section>
    </section>
    <section anchor="gateway-location">
      <name>Gateway Location</name>
      <t>Clients that know a service is available as an oblivious target
via discovery through the "oblivious" parameter in a SVCB or HTTPS
record need to know the location of the associated oblivious gateway
before sending oblivious requests.</t>
      <t>By default, the oblivious gateway for an oblivious target is defined
as a well-known resource (<xref target="WELLKNOWN"/>) on the target,
"/.well-known/oblivious-gateway".</t>
      <t>Commonly, servers will not want to actually operate the oblivious gateway
on a well-known URI. In such cases, servers can use 3xx redirection responses
(<xref section="15.4" sectionFormat="of" target="HTTP"/>) to direct clients and relays to the correct
location of the oblivious gateway.</t>
      <t>Generally, the first request a client will make will be a GET request to
discover the key configuration, described in <xref target="config-fetch"/>.
This initial request also provides a convenient way for clients to learn
about the redirect from the well-known resource, if there is a redirect.
When clients work with their oblivious relays to send oblivious requests
to the gateway, clients can communicate this redirected gateway URI.</t>
    </section>
    <section anchor="config-fetch">
      <name>Key Configuration Fetching</name>
      <t>Clients also need to know the key configuration of an oblivious gateway before
sending oblivious requests.</t>
      <t>In order to fetch the key configuration of an oblivious gateway discovered
in the manner described in <xref target="gateway-location"/>, the client issues a GET request
to the URI of the gateway specifying the "application/ohttp-keys" (<xref target="OHTTP"/>)
media type in the Accept header.</t>
      <t>For example, if the client knows an oblivious gateway URI,
"https://osvc.example.com/gateway", it could fetch the key configuration
with the following request:</t>
      <artwork><![CDATA[
GET /gateway HTTP/1.1
Host: osvc.example.com
Accept: application/ohttp-keys
]]></artwork>
      <t>Oblivious gateways that coordinate with targets that advertise oblivious
support <bcp14>SHOULD</bcp14> support GET requests for their key configuration in this
manner, unless there is another out-of-band configuration model that is
usable by clients. Gateways respond with their key configuration in the
response body, with a content type of "application/ohttp-keys".</t>
      <t>Clients can either fetch this key configuration 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 gateway configuration <xref target="config-fetch"/>
on the well-known gateway location <xref target="gateway-location"/>.
Use of encrypted DNS along with DNSSEC can also be used as a mitigation.</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 gateway server's TLS
certificate. See <xref target="ddr"/> for more discussion, as well as the Security
Considerations of <xref target="SVCBDNS"/>.</t>
      <t>For oblivious DoH servers, an attacker could use unique DoH path values
to target or identify specific clients. Clients can mitigate such
attacks in several ways. Some options include: only allow common DoH
paths (such as the de-facto default "/dns-query{?dns}"); performing
consistency checks by fetching the information about the resolver
over multiple resolution paths; or coordinating with a trusted
oblivious relay to validate that DoH paths are common across clients
using the same gateway.</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 gateways that are detected to use targeted
key configurations per-client <bcp14>MUST NOT</bcp14> be used.</t>
      <t>When clients fetch a gateway's configuration (<xref target="config-fetch"/>),
they can expose their identity in the form of an IP address if they do not
connect via a proxy or some other IP-hiding mechanism. In some circumstances,
this might not be a privacy concern, since revealing that a particular
client IP address is preparing to use an Oblivious HTTP service can be
expected. However, if a client is otherwise trying to obfuscate its IP
address or location (and not merely decouple its specific requests from its
IP address), or revealing its IP address will increase the risk of a key
targeting attack (if a gateway service is trying to differentiate traffic
across client IP addresses), a proxy or similar mechanism can be used to fetch
the gateway's configuration.</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">Denotes that a service operates an oblivious HTTP 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 one new entry in the "Well-Known URIs" registry <xref target="WELLKNOWN"/>.</t>
        <t>URI suffix: oblivious-gateway</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" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <date day="26" month="September" year="2022"/>
            <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-05"/>
        </reference>
        <reference anchor="DDR">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="Tommy Pauly" initials="T." surname="Pauly">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Eric Kinnear" initials="E." surname="Kinnear">
              <organization>Apple Inc.</organization>
            </author>
            <author fullname="Christopher A. Wood" initials="C. A." surname="Wood">
              <organization>Cloudflare</organization>
            </author>
            <author fullname="Patrick McManus" initials="P." surname="McManus">
              <organization>Fastly</organization>
            </author>
            <author fullname="Tommy Jensen" initials="T." surname="Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="5" month="August" 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.  An encrypted DNS resolver discovered in
   this manner is referred to as a "Designated Resolver".  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 DNS 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 DNS resolver is
   known.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-ddr-10"/>
        </reference>
        <reference anchor="SVCB">
          <front>
            <title>Service binding and parameter specification via the DNS (DNS SVCB and HTTPS RRs)</title>
            <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Schwartz">
              <organization>Google</organization>
            </author>
            <author fullname="Mike Bishop" initials="M." surname="Bishop">
              <organization>Akamai Technologies</organization>
            </author>
            <author fullname="Erik Nygren" initials="E." surname="Nygren">
              <organization>Akamai Technologies</organization>
            </author>
            <date day="11" month="October" 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-11"/>
        </reference>
        <reference anchor="WELLKNOWN">
          <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 M. Schwartz" initials="B. M." surname="Schwartz">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="August" year="2022"/>
            <abstract>
              <t>   The SVCB DNS resource 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
   encrypted transport protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-svcb-dns-07"/>
        </reference>
        <reference anchor="BINARY-HTTP">
          <front>
            <title>Binary Representation of HTTP Messages</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="6" month="July" 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-06"/>
        </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" initials="M." surname="Boucadair">
              <organization>Orange</organization>
            </author>
            <author fullname="Tirumaleswar Reddy.K" initials="T." surname="Reddy.K">
              <organization>Nokia</organization>
            </author>
            <author fullname="Dan Wing" initials="D." surname="Wing">
              <organization>Citrix Systems, Inc.</organization>
            </author>
            <author fullname="Neil Cook" initials="N." surname="Cook">
              <organization>Open-Xchange</organization>
            </author>
            <author fullname="Tommy Jensen" initials="T." surname="Jensen">
              <organization>Microsoft</organization>
            </author>
            <date day="13" month="August" year="2022"/>
            <abstract>
              <t>   The document specifies new DHCP and IPv6 Router Advertisement options
   to discover encrypted DNS resolvers (e.g., DNS-over-HTTPS, DNS-over-
   TLS, DNS-over-QUIC).  Particularly, it allows a host to learn an
   authentication domain name together with a list of IP addresses and a
   set of service parameters to reach such encrypted DNS resolvers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-dnr-13"/>
        </reference>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding">
              <organization/>
            </author>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes. </t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </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="SVCBDNS">
          <front>
            <title>Service Binding Mapping for DNS Servers</title>
            <author fullname="Benjamin M. Schwartz" initials="B. M." surname="Schwartz">
              <organization>Google LLC</organization>
            </author>
            <date day="11" month="August" year="2022"/>
            <abstract>
              <t>   The SVCB DNS resource 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
   encrypted transport protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-add-svcb-dns-07"/>
        </reference>
        <reference anchor="CONSISTENCY">
          <front>
            <title>Key Consistency and Discovery</title>
            <author fullname="Alex Davidson" initials="A." surname="Davidson">
              <organization>Brave Software</organization>
            </author>
            <author fullname="Matthew Finkel" initials="M." surname="Finkel">
              <organization>The Tor Project</organization>
            </author>
            <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="17" month="August" 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-03"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
+C9/m36G+jwAAA==

-->

</rfc>
