<?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 2.6.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-wilson-dance-architecture-02" category="info" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.7 -->
  <front>
    <title abbrev="DNS-Bound Identities Architecture">An Architecture for DNS-Bound Client and Sender Identities</title>
    <seriesInfo name="Internet-Draft" value="draft-wilson-dance-architecture-02"/>
    <author initials="A." surname="Wilson" fullname="Ash Wilson">
      <organization>Valimail</organization>
      <address>
        <email>ash.d.wilson@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Huque" fullname="Shumon Huque">
      <organization>Salesforce</organization>
      <address>
        <email>shuque@gmail.com</email>
      </address>
    </author>
    <author initials="O." surname="Johansson" fullname="Olle Johansson">
      <organization>Edvina.net</organization>
      <address>
        <email>oej@edvina.net</email>
      </address>
    </author>
    <date year="2022" month="May" day="24"/>
    <area>Internet</area>
    <workgroup>DANCE</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This architecture document defines terminology, interaction, and authentication patterns, related to the use of DANE DNS records for TLS client and messaging peer identity, within the context of existing object security and TLS-based protocols.</t>
    </abstract>
    <note removeInRFC="true">
      <name>Discussion Venues</name>
      <t>Discussion of this document takes place on the
    DANE Authentication for Network Clients Everywhere Working Group mailing list (dance@ietf.org),
    which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/dance/"/>.</t>
      <t>Source for this draft and an issue tracker can be found at
    <eref target="https://github.com/ashdwilson/draft-dance-architecture"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>A digital identity, in an abstract sense, possesses at least two features: an identifier (or name), and a means of proving ownership of the identifier. One of the most resilient mechanisms for tying an identifier to a method for proving ownership of the identifier is the digital certificate, issued by a well-run Certification Authority (CA). The CA acts as a mutually trusted third party, a root of trust.</t>
      <t>Certificate-based identities are limited in scope by the issuing CA, or by the namespace of the application responsible for issuing or validating the identity.</t>
      <t>An example of this limitation is well-illustrated by organizational Public Key Infrastructure (PKI). Organizational PKI is very often coupled with email and LDAP systems, and can be used for associating a human or machine identity identifier with a public key. Within the organization, authentication systems already agree on the roots of trust for validating entity certificates issued by organizational PKI.</t>
      <t>Attempting to use organizational PKI outside the organization can be challenging. In order to authenticate a certificate, the certificate's CA must be trusted. CAs have no way of controlling identifiers in certificates issued by other CAs. Consequently, trusting multiple CAs at the same time can enable entity identifier collisions. Asking an entity to trust your CA implies trust in anything that your CA signs. This is why many organizations operate a private CA, and require devices connecting to the organization's networks or applications to possess certificates issued by the organization's CA.</t>
      <t>These limitations make the implementation and ongoing maintenance of a PKI costly, and have a chilling effect on the broader adoption of certificate-based IoT device identity. If certificate-based device identity were easier to manage, more broadly trusted, and less operationally expensive, more organizations and applications would be able to use it.</t>
      <t>The lack of trust between PKI domains has lead to a lack of simple and globally scalable solutions for secure end-to-end inter-domain communication between entities, such as SIP phones, email and chat accounts and IoT devices belonging to different organizations.</t>
      <t>DANCE seeks to make PKI-based IoT device identity universally discoverable, more broadly recognized, and less expensive to maintain by using DNS as the constraining namespace and lookup mechanism. DANCE builds on patterns established by the original DANE RFCs to enable client and sending entity certificate, public key, and trust anchor discovery. DANCE allows entities to possess a first-class identity, which, thanks to DNS, may be trusted by any application also trusting the DNS. A first-class identity is an application-independent identity.</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>
      <t><strong>This section will be interesting to define. We have great examples of identity terminology in the https://datatracker.ietf.org/doc/html/draft-sarikaya-t2trg-sbootstrapping-06 document, but this document also admits that there is semantic drift on terms like "bootstrapping", depending on who's talking.</strong></t>
      <t><strong>Identity provisioning:</strong> This refers to the set of tasks required to securely provision an asymmetric key pair for the device, sign the certificate (if the public credential is not simply a raw public key), and publish the public key or certificate in DNS. Under some circumstances, these steps are not all performed by the same party or organization. A manufacturer may instantiate the key pair, and a systems integrator may be responsible for issuing (and publishing) the device certificate in DNS. In some circumstances, a manufacturer may also publish device identity records in DNS. In this case, the system integrator needs to perform network and application access configuration, since the identity already exists in DNS.</t>
      <t><strong>Security Domain:</strong> DNS-bound client identity allows the device to establish secure communications with any server with a DNS-bound identity, as long as a network path exists, the entity is configured to trust its communicating peer by name, and agreement on protocols can be achieved. The act of joining a security domain, in the past, may have involved certificate provisioning. Now, it can be as simple as using a manufacturer-provisioned identity to join the device to the network and application.  [Is the security domain defined by how broadly the identity is recognized, or by the breadth of the application or network access policy?]</t>
      <t><strong>Client:</strong> This architecture document adopts the definition of "Client" from RFC 8446: "The endpoint initiating the TLS connection"</t>
      <t><strong>Server:</strong> This architecture document adopts the definition of "Server" from RFC 8446: "The endpoint that did not initiate the TLS connection"</t>
      <t><strong>Sending agent:</strong> Software which encodes and transmits messages. A sending agent may perform tasks related to generating cryptographic signatures and/or encrypting messages before transmission.</t>
      <t><strong>Receiving agent:</strong> Software which interprets and processes messages. A receiving agent may perform tasks related to the decryption of messages, and verification of message signatures.</t>
      <t><strong>Store-and-forward system:</strong> A message handling system in-path between the sending agent and the receiving agent.</t>
      <t><strong>Hardware supplier role:</strong> The entity which manufactures or assembles the physical device. In many situations, multiple hardware suppliers are involved in producing a given device. In some cases, the hardware supplier may provision an asymmetric key pair for the device and establish the device identity in DNS. In some cases, the hardware supplier may ship a device with software pre-installed.</t>
      <t><strong>Systems integrator:</strong> The party responsible for configuration and deployment of application components. In some cases, the systems integrator also installs the software onto the device, and may provision the device identity in DNS.</t>
      <t><strong>Consumer:</strong> The entity or organization which pays for the value provided by the application, and defines the success criteria for the output of the application.</t>
    </section>
    <section anchor="communication-patterns">
      <name>Communication Patterns</name>
      <section anchor="clientserver">
        <name>Client/Server</name>
        <t>Client/server communication patterns imply a direct connection between an entity which provides a service (the server), and an entity which initiates a connection to the server, called a client. A secure implementation of this pattern includes a TLS-protected session directly between the client and the server. A secure implementation may also include public key-based mutual authentication.</t>
        <t>Extending DANE to include client identity allows the server to authenticate clients independent of the private PKI used to issue the client certificate. This reduces the complexity of managing the CA certificate collection, and mitigates the possibility of client identifier collision.</t>
      </section>
      <section anchor="peer2peer">
        <name>Peer2peer</name>
        <t>The extension also allows an application to find an application identity and set up a secure communication channel directly. This pattern can be used in mesh networking, IoT and in many communication protocols for multimedia sessions, chat and messaging.</t>
      </section>
      <section anchor="decoupled">
        <name>Decoupled</name>
        <t>Decoupled architecture, frequently incorporating store-and-forward systems, provides no direct connection between the producer and consumer of information. The producer (or sending agent) and consumer (or receiving agent) are typically separated by at least one layer of messaging-oriented middleware. The Messaging-oriented middleware components may act as a server for the purpose of establishing TLS sessions for the producer and consumer. This allows the assertion of identity between the middleware and sending agent, and the middleware and receiving agent. The trust relationship between the sending agent and receiving agent is based on the presumed trustworthiness of the middleware, unless an identity can be attached to the message itself, independent of transport and middleware components.</t>
        <t>Within many existing store-and-forward protocols, certificates may be transmitted within the signed message itself. An example of this is S/MIME. Within IoT applications, we find that networks may be more constrained. Including certificates in message payloads can present an unnecessary overhead on constrained network links. Decoupled applications benefit from an out-of-band public key discovery mechanism, which may enable the retrieval of certificates only when needed, and sometimes using a less expensive network connection.</t>
      </section>
    </section>
    <section anchor="use-cases">
      <name>Use Cases</name>
      <section anchor="mutual-tls-authentication">
        <name>Mutual TLS Authentication</name>
        <t>Using DNS to convey certificate information for authenticating TLS clients gives a not-yet-authenticated client the ability to trigger a DNS lookup on the server side of the TLS connection. An opportunity for DDOS may exist when malicious clients can trigger arbitrary DNS lookups. For instance, an authoritative DNS server which has been configured to respond slowly, may cause a high concurrency of in-flight TLS authentication processes as well as open connections to upstream resolvers. This sort of attack (of type slowloris) could have a performance or availability impact on the TLS server.</t>
        <section anchor="example-1-tls-authentication-for-https-api-interaction-dane-preauthorization">
          <name>Example 1: TLS authentication for HTTPS API interaction, DANE preauthorization</name>
          <ul spacing="normal">
            <li>The client initiates a TLS connection to the server.</li>
            <li>The TLS server compares the dane_clientid (conveyed via the DANE Client Identity extension) to a list of allowed client domains.</li>
            <li>If the dane_clientid is allowed, the TLS server then performs a DNS lookup for the client's TLSA record. If the dane_clientid is not allowed, authentication fails.</li>
            <li>If the client's TLSA record matches the presented certificate or public key, the TLS handshake completes successfully and the authenticated dane_clientid is presented to the web application in the (TBD) header field.</li>
          </ul>
          <t>This pattern has the following advantages:</t>
          <ul spacing="normal">
            <li>This pattern translates well to TLS/TCP load balancers, by using a TCP TLV instead of an HTTP header.</li>
            <li>No traffic reaches the application behind the load balancer unless DANE client authentication is successful.</li>
          </ul>
          <section anchor="example-2-tls-authentication-for-https-api-interaction-dane-matching-in-web-application">
            <name>Example 2: TLS authentication for HTTPS API interaction, DANE matching in web application</name>
            <ul spacing="normal">
              <li>The client initiates a TLS connection to the server.</li>
              <li>The TLS server accepts any certificate for which the client can prove possession of the corresponding private key.</li>
              <li>The TLS server passes the certificate to the web application in (TBD) header field.</li>
              <li>The HTTP request body contains the dane_clientid, and is passed to the web application.</li>
              <li>The web application compares the dane_clientid to a list of allowed clients or client domains.</li>
              <li>If the dane_clientid is allowed, the web application makes the DNS query for the TLSA records for dane_clientid</li>
              <li>If the presented certificate (which was authenticated by the TLS server) matches at least one TLSA record for dane_clientid, authentication succeeds.</li>
            </ul>
            <t>This pattern has the following advantages:</t>
            <ul spacing="normal">
              <li>In a web application where a TLS-terminating load balancer sits in front of a web application, the authentication logic in the load balancer remains simple.</li>
              <li>The web application ultimately decides whether to make the DNS query to support DANE authentication. This allows the web application to reject clients with identifiers which are not allowed, before making a DNS query for TLSA retrieval and comparison. No need to manage an allow-list in the load balancer.</li>
              <li>This can be implemented with no changes to the TLS handshake.</li>
            </ul>
          </section>
        </section>
        <section anchor="iot-device-to-cloud">
          <name>IoT: Device to cloud</name>
          <t>Direct device-to-cloud communication is common in simple IoT applications. Authentication in these applications is usually accomplished using shared credentials like API keys, or using client certificates. Client certificate authentication frequently requires the consumer to maintain a CA. The CA trust anchor certificate is installed into the cloud application, and used in the TLS authentication process.</t>
          <t>Using DANE for device identity can allow parties other than the implementer to operate the CA. A hardware manufacturer can provide a pre-established identity, with the certificate or public key already published in DNS. This makes PKI-based identity more approachable for small organizations which currently lack the resources to operate an organizational CA.</t>
        </section>
        <section anchor="oauth2">
          <name>Oauth2</name>
          <t>[This can be a broad topic. Should we include, or wait until a re-chartering to update?]</t>
        </section>
        <section anchor="edge-computing">
          <name>Edge Computing</name>
          <t><eref target="Edge Computing">https://datatracker.ietf.org/doc/html/draft-hong-t2trg-iot-edge-computing-01</eref> may require devices to mutually authenticate in the field. A practical example of this pattern is the edge computing in construction use case [https://datatracker.ietf.org/doc/html/draft-hong-t2trg-iot-edge-computing-01#section-6.2.1]. Using traditional certificate-based identity, the sensor and the gateway may have certificates issued by the same organizational PKI. By using DANE for client and sender identity, the sensor and the gateway may have identities represented by the equipment supplier, and still be able to mutually authenticate. Important sensor measurements forwarded by the gateway to the cloud may bear the DNS name and signature of the originating sensor, and the cloud application may authenticate the measurement independent of the gateway which forwarded the information to the application.</t>
        </section>
        <section anchor="sip-and-webrtc-inter-domain-privacy">
          <name>SIP and WebRTC inter-domain privacy</name>
          <t>End to end security in SIP is currently based on a classical S/MIME model which has not received much implementation. There are also SIP standards that build upon a trust chained anchored on the HTTP trust chain (SIP identity, STIR). WebRTC has a trust model between the web browser and the servers using TLS, but no inter-domain trust infrastructure. WebRTC lacks a definition of namespace to map to DNS, where SIP is based on an email-style addressing scheme. For WebRTC the application developer needs to define the name space and mapping to DNS.</t>
          <t>By using DNS as a shared root of trust SIP and WebRTC end points can anchor the keys used for DTLS/SRTP media channel setup. In addition, SIP devices can establish security in the SIP messaging by using DNS to find the callee's and the callers digital identity.</t>
          <t>[https://datatracker.ietf.org/doc/html/draft-johansson-sipcore-dane-sip]</t>
          <t><strong>NOTE: include reference to earlier drafts for SIP + DANE</strong></t>
        </section>
        <section anchor="dns-over-tls-client-authentication">
          <name>DNS over TLS client authentication</name>
        </section>
        <section anchor="smtp-starttls">
          <name>SMTP, STARTTLS</name>
        </section>
        <section anchor="ssh-client">
          <name>SSH client</name>
        </section>
        <section anchor="network-access">
          <name>Network Access</name>
          <section anchor="eap-tls-with-radius">
            <name>EAP-TLS with RADIUS</name>
            <section anchor="terminology">
              <name>Terminology</name>
              <t><strong>Supplicant:</strong> The entity which acts as the TLS client in the EAP-TLS authentication protocol. This term is defined in IEEE 802.1x. The suppliant acts as a client in the EAPOL (EAP over LAN) protocol, which is terminated at the authenticator (defined below).</t>
              <t><strong>Authentication server:</strong> The entity which acts as the TLS server in the EAP-TLS protocol. RADIUS (RFC 2865) is a frequently-used authentication server protocol.</t>
              <t><strong>Authenticator:</strong> The authenticator is the device which acts as a server the EAPOL (EAP over LAN) protocol, and is a client of the authentication server. The authenticator is responsible for passing EAP messages between the supplicant and the authentication server, and for ensuring that only authenticated supplicants gain access to the network.</t>
              <t><eref target="EAP-TLS">https://datatracker.ietf.org/doc/html/rfc5216</eref> is a mature and widely-used protocol for network authentication, for IoT and IT equipment. IEEE 802.1x defines the encapsulation of EAP over LAN access technologies, like IEEE 802.11 wireless and IEEE 802.3 ethernet. RADIUS is a protocol and server technology frequently used for supporting the server side of EAP-TLS authentication. Guidance for implementing RADIUS strongly encourages the use of a single common CA for all supplicants, to mitigate the possibility of identifier collisions across PKIs. The use of DANE for client identity can allow the safe use of any number of CAs. DNS acts as a constraining namespace, which prevents two unrelated CAs from issuing valid certificates bearing the same identifier. Certificates represented in DNS are valid, and all others are un-trusted.</t>
            </section>
          </section>
          <section anchor="radsec">
            <name>RADSEC</name>
            <t>The RADIUS protocol has a few recognized security problems. <eref target="RADSEC">https://datatracker.ietf.org/doc/html/rfc6614</eref> addresses the challenges related to the weakness of MD5-based authentication and confidentiality over untrusted networks by establishing a TLS session between the RADIUS protocol client and the RADIUS protocol server.  RADIUS datagrams are then transmitted between the authenticator and authentication server within the TLS session. Updating the RADSEC standard to include the use of DANE for client and server identity would allow a RADIUS server and client to mutually authenticate, independent of the client's and server's issuing CAs. The benefit for this use case is that a hosted RADIUS service may mutually authenticate any client device, like a WiFi access point or ethernet switch, via RADSEC, without requiring the distribution of CA certificates.</t>
          </section>
        </section>
        <section anchor="lorawan">
          <name>LoRaWAN</name>
          <t><strong>We should ask S. if he wants to contribute to this section</strong></t>
        </section>
      </section>
      <section anchor="object-security">
        <name>Object Security</name>
        <section anchor="structured-data-messages-josecose">
          <name>Structured data messages: JOSE/COSE</name>
          <t>JOSE and COSE provide formats for exchanging authenticated and encrypted structured data. JOSE defines the x5u field in <eref target="RFC7515">https://datatracker.ietf.org/doc/html/rfc7515#section-4.1.5</eref>, and COSE defines a field of the same name in <eref target="draft-ietf-cose-x509">https://datatracker.ietf.org/doc/html/draft-ietf-cose-x509-08#section-2</eref> which can be used for out-of-band x.509 certificate discovery. By adopting DANE for out-of-band certificate discovery, CBOR and JSON data may be authenticated, even if the originating sending agent not have IP connectivity, provided that the sending agent's certificate is discoverable in DNS and the receiving agent has access to DNS.</t>
        </section>
      </section>
      <section anchor="operational-anomaly-reporting">
        <name>Operational anomaly reporting</name>
        <section anchor="mud-reporting-for-improper-provisioning">
          <name>MUD reporting for improper provisioning</name>
        </section>
        <section anchor="xarf-for-abuse-reporting">
          <name>XARF for abuse reporting</name>
        </section>
      </section>
      <section anchor="adjacent-ecosystem-components">
        <name>Adjacent Ecosystem Components</name>
        <section anchor="certification-authority">
          <name>Certification Authority</name>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="confidentiality">
        <name>Confidentiality</name>
        <t>DNS clients should use DNS over TLS with trusted DNS resolvers to protect the identity of authenticating peers.</t>
      </section>
      <section anchor="integrity">
        <name>Integrity</name>
        <t>The integrity of public keys represented in DNS is most important. An altered public key can enable device impersonation, and the denial of existence for a valid identity can cause devices to become un-trusted by the network or the application. DNS records should be validated by the DNS stub resolver, using the DNSSEC protocol.</t>
        <t>Compartmentalizing failure domains within an application is a well-known architectural best practice. Within the context of protecting DNS-based identities, this compartmentalization may manifest by hosting an identity zone on a DNS server which only supports the resource record types essential for representing device identities. This can prevent a compromised identity zone DNS server from presenting records essential for impersonating web sites under the organization's domain name.</t>
        <t>The naming pattern suggested in <eref target="https://datatracker.ietf.org/doc/html/draft-huque-dane-client-cert">https://datatracker.ietf.org/doc/html/draft-huque-dane-client-cert</eref> includes an underscore label (_device) which also prevents the issuance of Web PKI-validating certificates in the event a DNS server hosting a client identity zone, which is capable of presenting A and AAAA records, is compromised.</t>
      </section>
      <section anchor="availability">
        <name>Availability</name>
      </section>
      <section anchor="privacy">
        <name>Privacy</name>
        <t>If the name of the identity proven by a certificate is directly or indirectly relatable to a person, privacy needs to be considered when forming the name of the DNS resource record for the certificate.
When creating the name of the RR, effects of DNS zone walking and possible harvesting of identities in the DNS zone will have to be considered. The name of the RR may note have to have a direct relation to the name of the subject
of the certificate.</t>
        <t>Further work has do be done in this area.</t>
        <t>AW: Consider if an approach like the email local-part hashing used in SMIMEA <eref target="https://datatracker.ietf.org/doc/html/rfc8162">https://datatracker.ietf.org/doc/html/rfc8162</eref> might work for this. If the identifier/local-part is hashed and the certificate association is a SHA256 or SHA512 hash, the effort required to walk a zone would not produce much useful information.</t>
        <section anchor="dns-scalability">
          <name>DNS Scalability</name>
          <t>In the use case for IoT an implementation must be scalable to a large amount of devices. In many cases, identities may also be very short lived as revocation is performed by simply removing a DNS record. A zone will have to manage a large amount of changes as devices are constantly added and de-activated.</t>
          <t>In these cases it is important to consider the architecture of the DNS zone and when possible use a tree-like structure with many subdomain parts, much like reverse DNS records or how telephone numbers are represented in the ENUM standard (RFC 6116).</t>
          <t>If an authoritative resolver were configured to respond quite slowly (think slow loris), is it possible to cause a DoS on the TLS server via complete exhaustion of TCP connections?</t>
          <t>The availability of a client identity zone is essential to permitting clients to authenticate. If the DNS infrastructure hosting client identities becomes unavailable, then the clients represented by that zone cannot be authenticated.</t>
          <t><strong>OEJ: We may want to have a discussion with the IETF DNS directorate. The scalability section above is from a discussion with one of the members...</strong></t>
        </section>
        <section anchor="change-of-ownership">
          <name>Change of ownership</name>
          <t>What happens if an organization owning the client identity goes out of business? What's the best way to transfer an identifier to another zone? &lt;note: there may be an opportunity here to take advantage of EST, or another protocol supporting certificate renewal, to allow client devices to rotate to another zone&gt;</t>
        </section>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <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">
            <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>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAD4ujWIAA61c/3Ibx5H+H0+xR/8RUgdAps5SHJbPCUzSZzqSqCOpOCmX
yjXADoA1F7vIzi4pJJWqvMZV3VXds9yj5Emuv+6eH7uAFDuVVBIRwO5MT3dP
99c/ZiaTyeiT7KpqbVPZdnLRmGWbvTLNfV4/Vtmd3WxL09rRJ/TQja3Mxmbt
unDZsihttmzqTZbjjUlb5/VkV3cNHplsm7qtF3U53eRZW2cr22auNU1r8ymN
I3PwWMu62Zg2owFlmC/8EF9Ovnism/tVU3db+pu/otGYjlsarl3b7Kgt2tIe
ES22zLO5LevHzMhPjgktNnaaZXd41MznjX3wz7p13fErNFq3zWmBoLOmh8OD
C1PR71luS4tfi2UG0jKeEvTSEE07ZXr+UHf8uM0LmX1REzur1mX1kj/n9aLb
0BeZcQPqmPVFW5gyc7bttlldlbussjaXJ8FmZpSpcpmbX2FissXaVCurJNWN
cBTSasbyO9HUdJXw6sY+NkVrs5vL2cWry6PMLNqirmQBF3VW1SSFalF2OT07
wSCuPaJvAhU8OiYHO4lXpcs6R8+q3ERm/j2S+bIAxVh8lPaTonJFbp/E78c0
oOsWa8+ZI2IVHu0Jdcyrbyxp4oJ432aPRUtv+JG7zdw2nrKDA3hhlpaeN2Vd
2TMZpizxtdcAUkbwTXhyBy1vVf2xVJfdN2aDXTFplotnL5796ixbt+3WnT19
uiKCuvl0UW+eLsy8fjp8MlESvwysllSiaJS9omDZtrFL22BxxZL+gNLIHsEC
z1XgXiT2PamZIzGC4fQM8ZF/k011PH2/KXlRv3/1cpzZdjGdTk9E4KzVspOJ
aNbNx7WtmATTQGMrCHvEunWWHc2qbNYs1qRAi7ZreIrs4vXt5Ku6I9GclwVr
N/15a6uc6L/Ksba2sO5oJDuKBokvxJ97wx6NVHpnag5IQq6uJrmpFnZikicn
nz4bLUgwq7rZkSyrZT0aFdvmLGubzrXPPv30V/QALcScBdM2CvbkLLuYvT6/
HN3bHX2Xnw2s32hEtqrKf1BF2Vk3chsyXj/8satJvc9or4y2xVn2PZm4cebI
DJDMHP212+CPd6OR6VqyDmejbDLK6D+yoplbZ9/xevjLulmZqviTwS48y35n
ymJjipJ/svjrjLbEeppPhQW/WeE7KFh/0Nt1tyHxf9P9sbMHhr01pXUkq4VN
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

-->

</rfc>
