<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.17 (Ruby 3.0.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-tjjk-cared-00" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.21.0 -->
  <front>
    <title abbrev="CARED">Client Authentication Recommendations for Encrypted DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-tjjk-cared-00"/>
    <author fullname="Tommy Jensen">
      <organization>Microsoft</organization>
      <address>
        <email>tojens@microsoft.com</email>
      </address>
    </author>
    <author fullname="Jessica Krynitsky">
      <organization>Microsoft</organization>
      <address>
        <email>jess.krynitsky@microsoft.com</email>
      </address>
    </author>
    <author fullname="Jeffrey Damick">
      <organization>Amazon</organization>
      <address>
        <email>jdamick@amazon.com</email>
      </address>
    </author>
    <author fullname="Matt Engskow">
      <organization>Amazon</organization>
      <address>
        <email>mengskow@amazon.com</email>
      </address>
    </author>
    <date year="2024" month="June" day="27"/>
    <keyword>DNS</keyword>
    <keyword>encrypted DNS</keyword>
    <keyword>authentication</keyword>
    <keyword>client authentication</keyword>
    <keyword>mTLS</keyword>
    <abstract>
      <?line 39?>

<t>For privacy reasons, encrypted DNS clients need to be anonymous to their encrypted DNS
servers to prevent third parties from correlating client DNS queries with other data for
surveillance or data mining purposes. However, there are cases where the client and server
have a pre-existing relationship and each peer wants to prove its identity to the other.
For example, an encrypted DNS server may only wish to accept resolutions from encrypted
DNS clients that are managed by the same enterprise. This requires mutual authentication.</t>
      <t>This document defines when using client authentication with encrypted DNS is appropriate,
the benefits and limitations of doing so, and the recommended authentication mechanism(s)
when communicating with TLS-based encrypted DNS protocols.</t>
    </abstract>
  </front>
  <middle>
    <?line 52?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>There are times when a client needs to identify itself to a DNS server. One example
would be when an encrypted DNS server only accepts connections from pre-approved clients,
such as an encrypted DNS service provided by an enterprise for its remote employees
to access when they are not connecting to the Internet through a network managed by that
enterprise. Encrypted DNS clients trying to connect to such a server would likely run into
refused connections if they did not provide authentication that proves they have that
enterprise's permission to query this server.</t>
      <t>This is different from general use of encrypted DNS by anonymous clients to public DNS
resolvers, where it is bad practice to provide any kind of identifying
information to an encrypted DNS server. For example, Section 8.2 of RFC 8484 {todo: ref}
discourages use of HTTP cookies with DoH. This ensures that clients provide a minimal amount
of identifiable or correlatable information to servers that do not need to know anything
about the client in order to provide name resolution.</t>
      <t>Because of the significant difference in these scenarios, it
is important to define the situations in which interoperable encrypted DNS clients can
use client authentication without regressing the privacy value provided by encrypted DNS
in the first place. Even then, it is important to recognize what value client authentication
provides to encrypted DNS clients versus encrypted DNS servers in the context of both
connection management and DNS resolution utility. This document will go through these topics
as well as make best practice recommendations for authentication.</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>
      <?line -18?>

</section>
    <section anchor="benefits-of-client-authentication-with-encrypted-dns">
      <name>Benefits of client authentication with encrypted DNS</name>
      <t>Strong identification of encrypted DNS clients by the encrypted DNS server allows the DNS
server to apply client-specific resolution policies in a securely verifiable way. Today, a
common practice is to establish client-specific resolution policies that differentiate
clients based on their observed IP address. This is not only an insecure method that cannot
account for clients routing requests through proxies, but it can only be used when expected
IP addresses are known in advance. This is not practical for enterprises with remote
employees without introducing a dependency on tunneling DNS traffic to a managed gateway or
proxy whose IP address is known. This in turn forces enterprises to choose between running
proxy or gateway infrastructure per client (or at least per-client IP address mappings) or
losing client identification.</t>
      <t>Strong identification of encrypted DNS clients by the encrypted DNS server also brings
identification up to the application layer, which encapsulates this identity management
away from network topology changes (whenever IP address ranges need to change, name 
resolutions have to as well without some form of client authentication).</t>
    </section>
    <section anchor="drawbacks-of-client-authentication-with-encrypted-dns">
      <name>Drawbacks of client authentication with encrypted DNS</name>
      <t>While there are benefits in limited circumstances for using client authentication with
encrypted DNS, it has drawbacks that make it inappropriate in the general case. The
biggest reason client authentication is generally deemed a bad practice with encrypted DNS is
the obvious identification of clients and the association of their queries across 
connections. If a public DNS server, which responds to anonymous clients over
the Internet, were to challenge clients for authentication it would be forced de-anonymization
of the client's domain name history. This is unacceptable practice.</t>
      <t>A less egregious drawback to client authentication with encrypted DNS is the required 
management of client identities and the complexity of matrixing domain name allow- and block-lists
against client identities for policy enforcement. This will be significantly more challenging for
encrypted DNS server operators to deploy and require industry-wide adoption. This drawback will reduce
over time as support for client authentication in encrypted DNS stacks is added.</t>
    </section>
    <section anchor="when-to-use-client-authentication-with-encrypted-dns">
      <name>When to use client authentication with encrypted DNS</name>
      <t>Client authentication with encrypted DNS <bcp14>SHOULD NOT</bcp14> be used outside the situations described
in this section to avoid regressing the privacy model of encrypted DNS. It
also needs to be acceptable to both peers.</t>
      <t>Only encrypted DNS protocols that use TLS or dTLS (such as DoH <xref target="RFC8484"/>,
DoT <xref target="RFC7858"/>, and DoQ <xref target="RFC9250"/>) are in scope for this document.</t>
      <section anchor="when-servers-should-require-client-authentication">
        <name>When servers should require client authentication</name>
        <t>Encrypted DNS servers <bcp14>MUST NOT</bcp14> challenge clients for authentication if they do not need to
restrict connections to a set of clients they have a pre-existing relationship with as defined
in <xref target="restrict-clients"/>, regardless of whether or not the requirements in <xref target="per-client"/> apply.
Encrypted DNS servers that meet the requirements in <xref target="restrict-clients"/> <bcp14>MAY</bcp14>
challenge clients to authenticate to avoid achieving the same goal of identifying clients
through other, less secure means (such as IP address or data in the DNS query payload).</t>
        <section anchor="restrict-clients">
          <name>Restricting connections to allowed clients</name>
          <t>Some encrypted DNS servers provide DNS services to a specific set of clients and refuse
service to all other clients. One example of this may be an encrypted DNS server owned by an
enterprise that only allows connections from devices managed by that same enterprise.</t>
          <t>Encrypted DNS servers <bcp14>SHOULD NOT</bcp14> challenge clients to authenticate when the server knows
it does not have a securely verifiable identity (such as when it is expecting clients to connect
opportunistically as defined in <xref section="4.1" sectionFormat="of" target="RFC7858"/>). Such servers do not need to
identify allowed clients, since security-minded clients need to know to whom they are
authenticating.</t>
        </section>
        <section anchor="per-client">
          <name>Resolving names differently per client</name>
          <t>Some encrypted DNS servers need to change their resolution behavior based on the identity
of the client that issued the query because some clients have permission to resolve names
that other clients do not.</t>
          <t>Encrypted DNS servers <bcp14>SHOULD NOT</bcp14> attempt to authenticate clients when the
difference in resolution behavior between them is opted into by the client rather than
required by the authority operating the encrypted DNS server. For example, some public
DNS services offer multiple servers that each have different resolution behavior. One might
resolve almost every name, whereas another may try to refuse to resolve names associated with
social media sites, or advertisers, or other categories customers find useful. This can be met
by defining these endpoints as separate servers on different dedicated IP addresses or using
different domain names in their encryped DNS configuration (such as DoH template), or both.</t>
        </section>
      </section>
      <section anchor="when-clients-should-attempt-to-authenticate">
        <name>When clients should attempt to authenticate</name>
        <t>Encrypted DNS clients <bcp14>MUST NOT</bcp14> offer authentication to any encrypted DNS server unless it was
specifically configured to expect that server to require authentication, independent of the
mechanism by which the client was configured with or discovered the encrypted DNS server.</t>
        <t>Encrypted DNS clients <bcp14>MUST NOT</bcp14> offer authentication when the server connection was established
via DDR <xref target="RFC9462"/>, even if the IP address of the original DNS server was specifically
configured for the encrypted DNS client as one that might require authentication. This is
because in that circumstance there is not a pre-existing relationship with the encrypted DNS
server (or else DDR bootstrapping into encrypted DNS would not have been necessary).</t>
        <t>TBD: what to do with EDSR destinations</t>
        <t>Otherwise, an encrypted DNS client <bcp14>MAY</bcp14> choose to present authentication to a server that
requests it, but is not required to just because it was challenged to do so if the client
would rather not use the server altogether. The presented client identity <bcp14>SHOULD</bcp14> be unique
per server identity to avoid becoming a correlatable identity between colluding encrypted
DNS servers.</t>
      </section>
    </section>
    <section anchor="recommendations">
      <name>Recommendations</name>
      <t>The following requirements were considered when formulating the recommended authentication
mechanism for encrypted DNS clients:
- <bcp14>SHOULD</bcp14> be per-connection, not per-query (avoid unnecessary payload overheads)
- <bcp14>SHOULD</bcp14> use existing open standards (avoid vendor lock-in and specialized cryptography)
- <bcp14>SHOULD</bcp14> be reusable across multiple encrypted DNS protocols (avoid protocol preference)
- <bcp14>SHOULD NOT</bcp14> require human user interaction to complete authentication</t>
      <t>This document concludes that the current best mechanism for encrypted DNS client authentication
is mTLS <xref target="RFC8705"/> for the following reasons:
- mTLS identifies and authenticates clients, not users, per-connection
- mTLS is an exiting standard and is often already configured for TLS clients
- x.509 certificates used for TLS client authentication allow the server to identify the client's organization via PKI heiracrchy
- mTLS is reusable across multiple encrypted DNS protocols
- mTLS allows session resumption <xref target="RFC5077"/>
- mTLS does not require user interaction or apaplication layer input for authentication</t>
      <t>Encrypted DNS clients and servers that support offering or requesting client authentication
<bcp14>MUST</bcp14> support at least the use of mTLS in addition to whatever other mechanism they wish to support.</t>
      <t>Encrypted DNS clients and servers <bcp14>SHOULD</bcp14> prefer long-lived connections when using client
authentication to minimize the cost over time of doing repeated TLS handshakes and identity
verification.</t>
      <section anchor="why-these-requirements-were-chosen">
        <name>Why these requirements were chosen</name>
        <section anchor="per-connection-scope">
          <name>Per-connection scope</name>
          <t>Any data added to each DNS message will have greater bandwidth and processing costs than presenting
authentication once per connection. This is especially true in this case because the drawback
of having long-running encrypted DNS connections is the decreased privacy through increased
volume of directly correlatable queries. However, this privacy threat does not apply to this
situation because the client's queries can already be correlated by the identity it presents.
Therefore, per-connection bandwidth and data processing overhead is expected to be much lower
than per-query because there is no incentive for clients and servers to not have long-running
encrypted DNS connections.</t>
          <t>This is not expected to create excessive cost for server operators because supporting encrypted
DNS without client authentication already requires per-connection state management.</t>
        </section>
        <section anchor="reuse-open-standards">
          <name>Reuse open standards</name>
          <t>Reusing open standards ensures wide interoperability between vendors that choose to implement
client authentication in their encrypted DNS stacks.</t>
        </section>
        <section anchor="reusable-across-protocols">
          <name>Reusable across protocols</name>
          <t>If a client authentication method for encrypted DNS were defined or recommended that would only
be usable by some TLS-encrypted DNS protocols, it would encourage the development of a second
or even third solution later.</t>
        </section>
        <section anchor="do-not-require-human-interaction">
          <name>Do not require human interaction</name>
          <t>Humans using devices that use encrypted DNS, when given any kind of prompt or login relating to
establishing encrypted DNS connectivity, are unlikely to understand what is happening and why. This
will inevitably lead to click-through behavior. Because the scope of scenarios where client authentication
for encrypted DNS is limited to pre-existing relationships between the client and server, there should
be no need for at-run-time intervention by a human user.</t>
        </section>
      </section>
      <section anchor="why-alternatives-are-not-recommended">
        <name>Why alternatives are not recommended</name>
        <section anchor="web-tokens">
          <name>Web tokens</name>
          <t>OAuth or JSON web tokens alone require HTTP to validate, so would not be a solution for encrypted DNS protocols other than DoH.
Web access tokens can be used as certificate-bound access tokens in combination with mTLS if they are needed to prove
identity with another authorization server, as described in <xref target="RFC8705"/>.</t>
        </section>
        <section anchor="http-authentication">
          <name>HTTP authentication</name>
          <t>HTTP authentication as defined in <xref target="RFC7235"/> provides a basic authentication scheme for the HTTP protocol. Unless it is used with TLS,
i.e. over HTTPS, the credentials are encoded but not encrypted which is insecure. As TLS is already used by the encrypted DNS
protocols in this document's scope, it is simpler to handle client authentication and authorization at the TLS layer. 
Additionally, mTLS is more broadly adopted than HTTP authentication. HTTP authentication would only be a viable option for DoH, 
and not extensible to other encrypted DNS solutions.</t>
        </section>
        <section anchor="fido">
          <name>FIDO</name>
          <t>Web Authentication (WebAuthN) and the FIDO2 Client to Authenticator Protocol (CTAP) use CBOR Object Signing and Encryption (COSE),
described in <xref target="RFC8812"/>. FIDO and WebAuthN are passkey solutions designed to replace passwords for user authentication for online services,
and they are not typically used for general client authentication. Passkeys are unique for each online service and require user input
for registration, and would require DNS servers to support the WebAuthN protocol. Additionally, each sign-in requires user input
for local verification, using biometric, local PIN, or a FIDO security key.</t>
        </section>
        <section anchor="designing-a-novel-solution">
          <name>Designing a novel solution</name>
          <t>Designing a novel solution is never recommended when there is an existing standard that meets the requirements.
Doing so would make the encrypted DNS solution more difficult and time-consuming to adopt, and most likely would
introduce vendor lock-in.</t>
        </section>
      </section>
    </section>
    <section anchor="deployment-considerations">
      <name>Deployment Considerations</name>
      <section anchor="avoiding-connectivity-deadlocks">
        <name>Avoiding connectivity deadlocks</name>
        <t>Deployers should carefully consider how they will handle certificate rollover and revocation. If an
encrypted DNS server only allows connections from clients with valid certificates, and the client is configured
to only use the encrypted DNS server, then there will be a deadlock when the certificate expires or is revoked
such that the client device will not have the connectivity needed to renew or replace its certificate.</t>
        <t>Encrypted DNS servers that challenge clients for authentication <bcp14>SHOULD</bcp14> have a separate resolution policy for
clients that do not have valid credentials that allows them to resolve the subset of names needed to connect to
the infrastructure needed to acquire certificates. Alternatively, encrypted DNS clients that are configured to use encrypted DNS
servers that will require authentication <bcp14>MAY</bcp14> consider configuring knowledge of certificate issuing infrastructure in advance
so that the DNS deadlock can be avoided without introducing less secure DNS servers to their configuration (i.e. 
hard coding IP addresses and host names for certificate checking).</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document describes when and how encrypted DNS clients can authenticate themselves to
an encrypted DNS server. It does not introduce any new security considerations not already
covered by TLS and mTLS. This document does not define recommendations
for when and how to use encrypted DNS client authentication for encrypted DNS protocols that
are not TLS-based.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <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"/>
            <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8484">
          <front>
            <title>DNS Queries over HTTPS (DoH)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <date month="October" year="2018"/>
            <abstract>
              <t>This document defines a protocol for sending DNS queries and getting DNS responses over HTTPS. Each DNS query-response pair is mapped into an HTTP exchange.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8484"/>
          <seriesInfo name="DOI" value="10.17487/RFC8484"/>
        </reference>
        <reference anchor="RFC7858">
          <front>
            <title>Specification for DNS over Transport Layer Security (TLS)</title>
            <author fullname="Z. Hu" initials="Z." surname="Hu"/>
            <author fullname="L. Zhu" initials="L." surname="Zhu"/>
            <author fullname="J. Heidemann" initials="J." surname="Heidemann"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <author fullname="D. Wessels" initials="D." surname="Wessels"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="May" year="2016"/>
            <abstract>
              <t>This document describes the use of Transport Layer Security (TLS) to provide privacy for DNS. Encryption provided by TLS eliminates opportunities for eavesdropping and on-path tampering with DNS queries in the network, such as discussed in RFC 7626. In addition, this document specifies two usage profiles for DNS over TLS and provides advice on performance considerations to minimize overhead from using TCP and TLS with DNS.</t>
              <t>This document focuses on securing stub-to-recursive traffic, as per the charter of the DPRIVE Working Group. It does not prevent future applications of the protocol to recursive-to-authoritative traffic.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7858"/>
          <seriesInfo name="DOI" value="10.17487/RFC7858"/>
        </reference>
        <reference anchor="RFC9250">
          <front>
            <title>DNS over Dedicated QUIC Connections</title>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="S. Dickinson" initials="S." surname="Dickinson"/>
            <author fullname="A. Mankin" initials="A." surname="Mankin"/>
            <date month="May" year="2022"/>
            <abstract>
              <t>This document describes the use of QUIC to provide transport confidentiality for DNS. The encryption provided by QUIC has similar properties to those provided by TLS, while QUIC transport eliminates the head-of-line blocking issues inherent with TCP and provides more efficient packet-loss recovery than UDP. DNS over QUIC (DoQ) has privacy properties similar to DNS over TLS (DoT) specified in RFC 7858, and latency characteristics similar to classic DNS over UDP. This specification describes the use of DoQ as a general-purpose transport for DNS and includes the use of DoQ for stub to recursive, recursive to authoritative, and zone transfer scenarios.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9250"/>
          <seriesInfo name="DOI" value="10.17487/RFC9250"/>
        </reference>
        <reference anchor="RFC9462">
          <front>
            <title>Discovery of Designated Resolvers</title>
            <author fullname="T. Pauly" initials="T." surname="Pauly"/>
            <author fullname="E. Kinnear" initials="E." surname="Kinnear"/>
            <author fullname="C. A. Wood" initials="C. A." surname="Wood"/>
            <author fullname="P. McManus" initials="P." surname="McManus"/>
            <author fullname="T. Jensen" initials="T." surname="Jensen"/>
            <date month="November" year="2023"/>
            <abstract>
              <t>This document defines Discovery of Designated Resolvers (DDR), a set of mechanisms 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". These mechanisms can be used to move from unencrypted DNS to encrypted DNS when only the IP address of a resolver is known. These mechanisms are 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="RFC" value="9462"/>
          <seriesInfo name="DOI" value="10.17487/RFC9462"/>
        </reference>
        <reference anchor="RFC8705">
          <front>
            <title>OAuth 2.0 Mutual-TLS Client Authentication and Certificate-Bound Access Tokens</title>
            <author fullname="B. Campbell" initials="B." surname="Campbell"/>
            <author fullname="J. Bradley" initials="J." surname="Bradley"/>
            <author fullname="N. Sakimura" initials="N." surname="Sakimura"/>
            <author fullname="T. Lodderstedt" initials="T." surname="Lodderstedt"/>
            <date month="February" year="2020"/>
            <abstract>
              <t>This document describes OAuth client authentication and certificate-bound access and refresh tokens using mutual Transport Layer Security (TLS) authentication with X.509 certificates. OAuth clients are provided a mechanism for authentication to the authorization server using mutual TLS, based on either self-signed certificates or public key infrastructure (PKI). OAuth authorization servers are provided a mechanism for binding access tokens to a client's mutual-TLS certificate, and OAuth protected resources are provided a method for ensuring that such an access token presented to it was issued to the client presenting the token.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8705"/>
          <seriesInfo name="DOI" value="10.17487/RFC8705"/>
        </reference>
        <reference anchor="RFC5077">
          <front>
            <title>Transport Layer Security (TLS) Session Resumption without Server-Side State</title>
            <author fullname="J. Salowey" initials="J." surname="Salowey"/>
            <author fullname="H. Zhou" initials="H." surname="Zhou"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <date month="January" year="2008"/>
            <abstract>
              <t>This document describes a mechanism that enables the Transport Layer Security (TLS) server to resume sessions and avoid keeping per-client session state. The TLS server encapsulates the session state into a ticket and forwards it to the client. The client can subsequently resume a session using the obtained ticket. This document obsoletes RFC 4507. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5077"/>
          <seriesInfo name="DOI" value="10.17487/RFC5077"/>
        </reference>
        <reference anchor="RFC7235">
          <front>
            <title>Hypertext Transfer Protocol (HTTP/1.1): Authentication</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding"/>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application- level protocol for distributed, collaborative, hypermedia information systems. This document defines the HTTP Authentication framework.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7235"/>
          <seriesInfo name="DOI" value="10.17487/RFC7235"/>
        </reference>
        <reference anchor="RFC8812">
          <front>
            <title>CBOR Object Signing and Encryption (COSE) and JSON Object Signing and Encryption (JOSE) Registrations for Web Authentication (WebAuthn) Algorithms</title>
            <author fullname="M. Jones" initials="M." surname="Jones"/>
            <date month="August" year="2020"/>
            <abstract>
              <t>The W3C Web Authentication (WebAuthn) specification and the FIDO Alliance FIDO2 Client to Authenticator Protocol (CTAP) specification use CBOR Object Signing and Encryption (COSE) algorithm identifiers. This specification registers the following algorithms (which are used by WebAuthn and CTAP implementations) in the IANA "COSE Algorithms" registry: RSASSA-PKCS1-v1_5 using SHA-256, SHA-384, SHA-512, and SHA-1; and Elliptic Curve Digital Signature Algorithm (ECDSA) using the secp256k1 curve and SHA-256. It registers the secp256k1 elliptic curve in the IANA "COSE Elliptic Curves" registry. Also, for use with JSON Object Signing and Encryption (JOSE), it registers the algorithm ECDSA using the secp256k1 curve and SHA-256 in the IANA "JSON Web Signature and Encryption Algorithms" registry and the secp256k1 elliptic curve in the IANA "JSON Web Key Elliptic Curve" registry.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8812"/>
          <seriesInfo name="DOI" value="10.17487/RFC8812"/>
        </reference>
      </references>
    </references>
    <?line 319?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61b7Y7bRpb9L6DfgeP8GHshNWyPs3GM2Zlpux24M7bb4+4g
GCz2B0WWJLpJloYf3VYMv8s+yz7ZnnNvVbFISbaz2CCJWhRZdet+nvvBxWJx
MuuKrjTPknsvysLUXXLWdxt8FlnaFbZO3pvMVpWpc/naJivbJC/rrNltO5Mn
52+v7p3M0uWyMbdc4uz9y3NcwLNmbZvds6SoV/ZkdjLLbVanFbbJm3TVLboP
H24WWdqYfPHw4cms7ZdV0bbYoNttcdPFy+ufTmZY8U8nsxuzu7NN/uxkliy4
n3yamAK5ko7IlkuZHujAL9X16ytSxZ9sI0vjP/yz6stS6bzGqXfJz6ZuTa2/
2Wad1sVvssqz5E2RNba1q05/NFValM+Szn7AE3+r/I+nYN6h1X82OG2WJn9v
dnXRtTe7b9/iAx49vfHPfctWq1Vjdsl5iltvDu1zVqW/2Xq8SS53/y2Vn44t
/SbtOijDur2xd9+4MDRJbh+tfDKrbVPhoVvzjN+oNPH3k9liAQkv265Js47f
f4IWbpviNs12SWPSFpo5HyuFk36b1AYXOpssTZLWtt5Vtm/5HUpRNFNFak1z
axr5fQuVpvp0m6LJk23adIWB+je2SjLbNKYEffXaKxl3/FdvGt5zV3SbxGL9
JoHVpDQZqjhWLsoyrTMDNukvVVFzjW3fbG1r2tPklb3Drs2c1DUgGP9lacs1
5TuuBq2u80SpPZlt0lvcS4oX5mPRCl1KIPiyKbZys0mzTbI1IOouJV/kiBYP
Qo+SIqeFdDvHGKX+VPlsPqbVtjRzrDJhse6fVOkusXW5w8HbDVdIs8xsO5DQ
2rJ3boN8C0+fzGIJdZu0k6NWaZ2usfZyJ0S0UDI805kGom7NaXK9KVqs+q++
wNJJ1Xd9Wk7M+5TaIffB4/QVOZWbVVErC+ukbyOhjR9VuY1PiHXSLdgEAuDS
5nCWoGtpaiwJwsnWsqiKzvlGu8KuXL+1c/mRdzfegWLJyYaVyTYwl7a63z44
mQl9vLev5QasIxTBVy2WUIJ8QhvI6mxmy/bUW0hV5Hlp+O275KLuGpv3mfo8
8sQrVFdUnhup5wSNRFRCFWG1o1aYciXSjGR9mlzWxmsESLZ9mdOydLUj+iG6
oTrR4oB1bbJIKai1wuNbPOVUYk57gbqm7eFFC9gQnyhy1Ra5yeuJhCiKpzGV
7UAtaLU7Y1pIT3WzdceHMHbCktp2gTCw3RnBBZesDV1AY/s1yAGfOgSjm7Gm
pnBJsZq+POiHumbn1nY78U89pWeUsrMsbgwY1vQ1omeH6NmYVU/xx6wrVkp9
XuRCvePGVMPEtIS3rd4vrmJK8h9bOIbGRWCSRU/Gk0H9ndyDWdGyitUKygS1
EQGuYQ4NDBE00gLG0hLheK8bWAHX0y/LIlOnK36Cbnfu3FzRcZtlCrdLh09p
O28lR6x3yU0B68JmXl3B2Shs6CGOqONpMnJqV8rR5OnpYy74/qcXydMnT58k
nzqb22fQodVnoJeizWzfQOStP+ar6+t3kIi9CR7/3L5yLgoQoG+Mc2z+0IF8
8foVPReYUkMQwzmKdFlKdPARRr5PzhViFFfPrYjfB7mb2t6RQRAdOZIubd/F
UaOosXoOVYv4yVge+WoR9XOTpe6g4omLdQ3qspTu1Ek/I2H8Fbe1manTprCQ
YIEDUU2qrW063o+d1AO7leC0nQrD424K6H9BRbTQQDnt4SiOrU9mpOi46+ZR
G7NuCK1oaBsTIMJtWvZjjzGJ+3qSZFU0LeylTDOa8a26iHruFHJ0Jrp1MOU3
+j7IQXc4gjjdxqL4h49HgfbtQX1tHZtp/p352FEmS8RnoOzgD5w/qjww4NOD
RBP8v0Rwd9oZAuMd4EiytsG9qSw7uy0y+Er43juDG/BZpTeMemSNt8fmQFpw
IBJ/l7ywNWGU3CSkURcK+e7CUgKEnxDit8m9N79cXd+b62fy9lL+fv/yH79c
MK/A31evzl6/Dn/M3B1Xry5/eX0+/DU8+eLyzZuXb8/1YVxNRpdm996c/fOe
hup7l++uLy7fnr2+p/yOGSVRUxBkoT7TUERpO4NMs6ZY4gueef7i3f/89yN4
jk9/gBd5/OjRj58/uy9PH/3wBF/uRJm4m8Il+Uq3PEMANGnDVVKwPEu3wBQl
rAnMbzf2rk7oF09ns3/7T3Lmv54lf15m20dP/uIu8MCji55no4vCs/0rew8r
Ew9cOrBN4Obo+oTTY3rP/jn67vkeXfzzX0v6i8Wjp3/9y0zV6LnHXND+b0Vv
fPIKKAjOwPtXd+9emPJ26JDnQRgDydg7CaNxriCRZruFOHWNRbs1GXeKDXBr
EewYKChgrJchPOAJPO59/l1K87R5uoPQadpVxee8uRXqO1oGBILsb9lL44OP
1cSvWNefU/CkAARmQXYph8mTi3dJmud0oc5Z4F/GF4VwBCRKPKArHG7uIlxa
4x54jCxjQBNf4DeCZ3HpCDBFK2BfnQ184kdQOU+WcNuFLKK7wMoE7QhCMx9x
QkkYBspwNBokQ10tDM1vmVSNCXacQ5QlNQPUcbFaoSEwkMeGIYIUDjeT6BSR
a0vkXmc7YVYPh1vyF6oFktEVeS8Q2QPCNdh8x3yoEbf/kVaO1C5iLCkU2j3B
XLepSSeQ6YhUYsWN5eNL4E4DfgAU1hLZdW0czW8IkNCkSJCB+CkfRFNvJ/fp
mrukRJrc8frCXY9IqqDBWLZ9IHSXNk6SxqZz+v9uVC0ca8PNEYXHC/Zbj8Rp
YP5qme6YICt0wJrptu2BlEThiyiTHUIiNJMcErDqATyinC3tGlaLDIyw7j71
jbl3zJdGf/PoSu+dK2JyuNXlt4qrbeKjplen1laSkFRHHdcDFyjPm/RumWY3
v9vF/bopShMVDEJ6Cs2S7JSpQ9EglsF91NQxmsTXEmHmB9FGgoE2OF0eyBTb
F2hAeFRHebJHLD4zYAmD2g6DWxbrNYGEFm2O7A8xukfhD3IDISLajvOBg7m6
pud2eVsw29hXT6+QPjVP29ZmRfhZfaGv4qSsq7VJDLPgFC9WLLSE5MWpsVdH
aMTW1ppJ76c9Voo1cWaJ54xiC6hWWRpoV7h7H1GRzyHjFneRgzsL3cgV3SSb
GAD/H4liqhTyEJ2FgXS22Q2usq81L5cY5JkrCnkGh4HjE0+vhZ1e8ELt76if
aA1EajY5uBkh1UHPndEK251sEAGRn32kJeM+ZD9N8ZEaGx9HIvJCHlmWNrtZ
IDZ2hK5r3NJ2B1YnUyVAMgMQFpISxw/Bw8tRtgP9qyyLcE48pEDKeYcLHcxh
wOBWkx6GFiHOHR9mkfdw0bvFnSSCud2KS3Ww3PNXyACz+gz2YgViFDwsoGC/
ZQYSBdg9DdnLeTuxVdaxcqQ+ztf8KtUPm3w5odp3NS++Ve4DXgzxHN6w5bEn
WWCA0C4Jk5JDFnL4W1vkx7K6yuam3As7sFF6fMaVUNVi7XfQc15AAiXFUC2e
XRJ4HKmuqZ8jp65fX0nllp/3fX0KWT9A/l8J8p88Bcifn8zO7bW79MPT75/i
kiY+9h/u6o+Pv3/4+fMDcdY4c5tBb0Smo6xDReVk5VNBJAO0f69QR/LNk9nL
g4mkTxW+0dv4EtOoxCBhD8aYdaN6lICg1nSxmx0KTl+qTYv2MLBIkUDV4NMn
v4kDKy25CDVIm1zcEnZBvJYSOwgneZGbqWR3WWaAO0i/BKafHmOOhjNjji21
T1GCVAbhYY+X5MXASjPocZptCnPr1VjK22ublpNCll+HoUKxslTj5+qQA/5O
wfWghRFm8b0FF4N9Y2KXbNNdadPc4Q1o1nt3ItlzIkt61qEem3z6bu/4AgRt
dRjXDeWuqGTrtcQnLRN1UU/JUqfmVq7sx4RYmynuxlENWuN20UoTQlo8R2rQ
d7UvFceVT5W6Zjea3u3Vp3OjtE9KvnvdieNmFznDryuLL0x7wpkqEBqz1Gc0
t3EmdSiNDOg3aIasp/UrTaYiDYuK0Yg0Elv6mjaaCfIajFItwJdKn5w+ItsH
B/fgNLnidv7AU48RmgoTtZojELCOKCcB1YuqkDbJtHUnVU18IpWqQtFeu7fe
X9XrWK1tKVZGkBCVq3GkKC369F3kHL6izOMEwAHFKOdeGsikgOXFeXUQxgST
qfoUbdsbhTpqnktXcpWMwXNARD2uzbtquR6OPoIKHNuHY/+3KWTadciBuz01
9Gt5dWQNPK77Hjy8S1Jxe0V9s7Ixexg+BXQMAEgivSC9Zjhx2NDdoz15wX0C
p7y7/IZavrBOwbl2GIPjsaQ9qfqyK+g0Rj5fGqPC6KGxceB46naqYr3pQssC
Cl1ZAE3mjTuRiGthSONKpULH1DU7FR29254QQx7CqoekXvK1hJPPi5RgiXUS
Bugc+3RwNo1+d2LXYQvC2wzwEjzAyVZskGCzVV86fMkCy1IKN8jCdmrZjrct
uZtvbSFumDFmmzbUAs8nsGHgDSxUdCSuFhmJO5JTDprSxWDdl7FDz90XCWy9
KtZ9o5hjBKuomczsH8hhCdlGmMirqMNERzR53wr8cwENqXJMO2dWGk0Hg0lf
SyhmOpbCBH1AE6fpz6MOQ12uCxihXujh23jLOfMDV2/qXD6KfMn3iGkfmmVG
loT94x118gAAgP0qbOYczEHT+b8yZhqgoi4EqQk1SkK5W6jv+fl7j3uf/Ptj
4jjOVTh0OQIuegWajDQL2h8xnAvHXJak3B9akfPhxhFVydYuzIvtHmF+SIlh
HM4RF659GtdOXJnFFRm/Cmv3yApVYxblTIldyJ6ltR1nW6QIpw5zfBjN+kPs
X9LLgungWtrsFNBdPz9/pq0o5p5W9395fvWeGRbIS0PL5ZJnuIMXOTDR4bgG
YOsrjzoJ0x5I+xzkV6WWjnIo8hadq+sqn4KLxyMf4KJCrCucBntUlDvikbsV
ccj0kwYucHBNcaSDFqZlZ9eSEEihydMcwMSAjFzwY1paF6D3ZEZQ4JaJ52AU
sy/Z6NJi8Lgp6+/0UQ+5YtnnvHMy5uKcqEu9J/N0vge2soRGvlIeMg8pD0HX
mTk3vijOcmJfDpHx+IRJ7D60Dn7A3p+dzBYRVwQVBZueazUd1xSl3FeusBDu
1M/nFVLe2pg05yxLWJBiCgaCgF6zIoHDs9vn1oI3yEGbFHBYzudgE209LYvf
KD9SbNewjs3uwZjUxvStCMPV6kJ8P5bKux39BWqJwzTxynR93ktseuB+nqLR
3l8aShNaoOqmjmR//gjMzKAZviMjWt03Eh+lp/p1Ee1twXyHVQhXePjh4ffI
Rr0fjFVJJuNEwHK/L4m6OlscJ9sBlDvzIsgYK8Owjs7lfCxErF6isiZx36rj
NFCJ7fNRQCSFfDwkuIvk4+n3D39MMsKalaNDqkXjW6euR/KI2PzjyaVR9TMe
SEwYjt79/SIhCoHKZJtdfKLfq03hWZc5tkYxOjxPX0llz8nn+4c//PD5c7g9
5HFex/a0i1Bvm05aHrhj23cHCjXHA/kwI+h0zxcQJbCLRTa+M3e0G3AyEzzg
Hw2dJLLZjYgoB9mJywtvHgxF0k5xKDgoueRvflLQrfoFMBKfwdmnWi0cRr1e
lMXtZDJqb8xvnCgqdTKCw+ENLTXjOEOhNUzxNQBjgnN5PFCft5v0xpnOkNtp
9h3PPBCf7hyuPuDN2Q+sfbL6bmRgWguU8juwp5RxpGwrUJJpCjlT0e+ujdaJ
BQ+sG9LJ7LPO74qc9bRavFzmqqY8oahA7QOjjgeN+WIJcLYjSDd0CozzySWz
md6EIQn2dkI8Jzd9HVuyXqZO2F9E5XqXUw8XD7VptyA3GT2XyUOl1xfCitr9
ArYjP3PCAn+zTqB3FJ9dG2c0Ulu08YomjWoq2sKXdiMxYChQj44WvIrvETGn
8n5uaQIBQzIbUELRec4TCMgwJizZTD3sRISiAZEcfYgdqjlhtrli4sTqirSY
KOgQs6MjeOxKTpKyWzPq1o8chh0AZyy/ae8jbo/FU4J8OKYxEyXFJTnMrTM7
7r7XPQmlEPUOBzCVb68eCw8qkjAqPGEyAlZnogZxVDoSjzaCKfyN1w8AGD/n
J+2caIpNpq0CMFR846cBA6ouCB+0PX20l9Ptz6i7js6I5DhqReHpZCbdysOr
uwGOfcghTsrX/SQ+DOhSjqBQnDVT5kqJ2x4KL+UXTisfCZjzoYGJO3Se0hn8
rSnt1jcFpbRpa4iaxOkUHmfwQ0mGJtYEDpzbUTRVxBaFU973ihdbFxZ8RTc0
diadbokg6+JWRpqHWVOcg/UFgaprKYF5DG5hEz7tPe7hbqEUc2n69LWb8WUL
DoxtRKU0eytY9NtCzyTnkKuuX4skiB4fcsFK2GzHQJy7diyws3eSQ8HqeeS7
tMuEY4RZTTdseyTo7ysGKPPjBJoUHs5827gOuP+2gn+1Qas2okG1duoU2nT0
MwsJxCJDNzwopfsIjceRFrmfaWp5XaQN49yR2npF+dUsQfmNcWkwX3SiNH++
unwLrfe/YTlWDLw6yZwvznuLdCTnOwBMTod8fCmVeK+Y+0wbcg8bap4yKXwy
IzluGt3t7Ep0AoCZFg+oeLG0PQH76PZCXhdYutxeM36FYqtotB2c9RJD+PDF
+G7nGm+uSumqrg4oe1GlUX9WewBDvhHsTzi0D0kPXN7rKEgL4fGfmL2EGVkO
erRFNn20zTamMiHJkdU9c0+TX0JFrnAJhH91Yo4Tn5pTxXd86mquiomEhMun
peoMPZLMBiOqSOgKYnRDym0YfjtNztrEp0Eu1MiehwadZFTLqcB0sBRIQszS
Dxi3EhMkmyHcLI81533uNgjM5ZUkSpKF0wQQ0qFxYrZ5yHJknGHZIGFnhyfX
Gr1o5QGBnR66GAUAVf9bN7a+DTYABZ+DAtKpMAAJYVu43rsq3CSo+UGqoFU/
XZxfynQTrGTySuJ9XOOltw/CtAjvfpy48QTsET0Bct75fP/+i+uzdw/E5794
fvk+uVx+YHn2igMfzt26LET2eXF59fIBFOiQDTx99Bg2IBvLc54mUaZt2rac
ah7mw7AENlFDRF7BCXO5S+eedSBrv9bK6+Azh2F9K2OubO3iV1e63dZVn0Pu
HEavDinQafJOCWxdOGIdTJ0Xk4zxjqMJFpeqIhHVCMHhIFYutVQk4Wo0oDBq
sId0T0QWGDZY8VhjhRZybSHB1kG5KQWl5ZBnnITNXZhfFsAj7FnP3U3vLt5q
G0Wl5ruOnD8fwITISet9NXxGGWTIO47/KohX8t0YL/laucJuLZm045pJGDsY
TUpVLlE4d6+TObbKtN2Bir4nQoyb7Zci60uNuoykxL5tX7nXj8ToVVjSvHJY
5E7jsZ9/NZO6nJ9SlKkmQWovXFlyKGSCf2cssMUDBUQ90H64G6zTKhNl5naY
ZuF7wHypdBcqnclGyzs7n+SqMxziYdKwyCWFX9HOW+s1m5C3Pjaf9aU+f+h4
MnBItB+VpYYX+nxBOe68yKtlsrzHW4cIkMjjFcJPm6WBO0NrJT4pcihRfL7U
1spRb7ifNMqGgqLSpMhWlw7Jm5Y4ImkMkKCBl7hTkK8uiWOj0eYMI1+cl/mm
QSJXtgljC665OJ1Z3+lk3eit0DxKQp1MoritL46Gsfwq7qwK5u2XbsZEO5DD
wYdX8HQgczI9PdyYZm7SKlIFOKoBcYqnOvzCn3+tddwS3Es4oreOJb3S8b9D
TSrty3gb8cvS2jghUZp8LQg/1h6OGWhTaXTAYWyezeZBj0h/UEcHR6Vm7hDV
dEI+Hkma+HrNXSftXYFifGG5YdFOHMV4sB82tqFTUoFJbSI6DTBghnRs7Wem
r7wL3/dF03eANYL7915lm7vj75pNBrigW60p5SVKy/h7ZBjhIiooDX6UOSTN
LMSbbESslp8URrKvqW1bQEkpLdNJ44/pq1thG/dqXTPtKpFzo6Me0rwj8PJL
WYw2+jzwCK8mO3lcnL09+6osOEWOlE/uTaPCkb7DrKVDLnaWea2utFvw6Vnd
V0uy5z/urWD/5p7M7VxfEoKFmzmJ9b/57h122EIAAA==

-->

</rfc>
