<?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.18 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-carter-high-assurance-dids-with-dns-05" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="hiadid">High Assurance DIDs with DNS</title>
    <seriesInfo name="Internet-Draft" value="draft-carter-high-assurance-dids-with-dns-05"/>
    <author initials="J." surname="Carter" fullname="Jesse Carter">
      <organization>CIRA</organization>
      <address>
        <email>jesse.carter@cira.ca</email>
      </address>
    </author>
    <author initials="J." surname="Latour" fullname="Jacques Latour">
      <organization>CIRA</organization>
      <address>
        <email>jacques.latour@cira.ca</email>
      </address>
    </author>
    <author initials="M." surname="Glaude" fullname="Mathieu Glaude">
      <organization>Northern Block</organization>
      <address>
        <email>mathieu@northernblock.ca</email>
      </address>
    </author>
    <author initials="T." surname="Bouma" fullname="Tim Bouma">
      <organization>Digital Governance Council</organization>
      <address>
        <email>tim.bouma@dgc-cgn.org</email>
      </address>
    </author>
    <date year="2024" month="July" day="22"/>
    <keyword>next generation</keyword>
    <keyword>unicorn</keyword>
    <keyword>sparkling distributed ledger</keyword>
    <abstract>
      <?line 93?>

<t>This document outlines a method for improving the authenticity, discoverability, and portability of Decentralized Identifiers (DIDs) by utilizing the current DNS infrastructure and its technologies. This method offers a straightforward procedure for a verifier to cryptographically cross-validate a DID using data stored in the DNS, separate from the DID document.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://ciralabs.github.io/high-assurance-dids-with-dns/draft-carter-high-assurance-dids-with-dns.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-carter-high-assurance-dids-with-dns/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/CIRALabs/high-assurance-dids-with-dns"/>.</t>
    </note>
  </front>
  <middle>
    <?line 97?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In the ever-evolving digital world, the need for secure and verifiable identities is paramount. DIDs have emerged as a promising solution, providing a globally unique, persistent identifier that does not require a centralized registration authority. However, like any technology, DIDs face challenges in terms of authenticity, discoverability, and portability.</t>
      <t>This is where the Domain Name System (DNS), a well-established and globally distributed internet directory service, comes into play. By leveraging the existing DNS infrastructure, we can enhance the verification process of DIDs. Specifically, we can use Transport Layer Security Authentication (TLSA) and Uniform Resource Identifier (URI) DNS records to add an additional layer of verification and authenticity to DIDs.</t>
      <t>TLSA records in DNS allow us to associate a certificate or public key with the domain name where the record is found, thus providing a form of certificate pinning. URI records, on the other hand, provide a way to publish mappings from hostnames to URIs, such as DIDs.</t>
      <t>By storing crucial information about a DID, such as the DID itself and its Public Key Infrastructure (PKI) in these DNS records, we can provide a verifier with a simple yet effective method to cross-validate and authenticate a DID. This not only ensures the authenticity of the DID document but also allows for interaction with material signed by the DID without access to the DID document itself.</t>
      <t>In essence, the integration of DIDs with DNS, specifically through the use of TLSA and URI records, provides a robust solution to some of the challenges faced by DIDs, paving the way for a more secure and trustworthy digital identity landscape.</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="securing-a-did-using-the-dns">
      <name>Securing a DID using the DNS</name>
      <t>Much like presenting two pieces of ID to provide a higher level of assurance when proving your identity or age, replicating important information about a DID into a different domain (like the DNS) enables a similar form of cross validation. This enhances the initial trust establishment between the user and the DID document, as the key information can be compared and verified across two segregated sets of infrastructure. This also acts as a form of ownership verification in a similar way to 2FA, as the implementer must have control over both the DNS zone and the DID document to properly duplicate the relevant information.</t>
      <artwork><![CDATA[
+----------------+     +----------------+
|                |     |                |
|   DNS Server   |     |   Web Server   |
|                |     |                |
|   +-------+    |     |   +-------+    |
|   |  DID  |<---+-----+-->|  DID  |    |
|   +-------+    |     |   +-------+    |
|   +-------+    |     |   +-------+    |
|   |  PKI  |<---+-----+-->|  PKI  |    |
|   +-------+    |     |   +-------+    |
|                |     |                |
+----------------+     +----------------+
]]></artwork>
      <t>The diagram above illustrates how a web server storing the DID document, and the DNS server storing the URI and TLSA records shares and links the key information about the DID across two independent sets of infrastructure.</t>
      <section anchor="specifically-for-didweb">
        <name>Specifically for did:web</name>
        <t>With did:web, there’s an inherent link between the DNS needed to resolve the associated DID document and the domain where the relevant supporting DNS records are located. This means that the domain specified by the did:web identifier (for example, did:web:<strong>example.ca</strong>) is also the location where you can find the supporting DNS records.</t>
      </section>
      <section anchor="consideration-for-other-did-methods">
        <name>Consideration for other DID methods</name>
        <t>In the case of other DID methods, the association between a DID and a DNS domain is still possible although less inherent than with the aforementioned did:web. As such, it provides much of the same benefits as the <xref target="wellKnownDidConfiguration"/>, but the method in which it accomplishes this is slightly different. Specifically, the integrity of the DID document is secured by including a dataIntegrityProof inside the DID document itself rather than in a seperate resource, and the key material used to verify this proof is explicitly duplicated in the DNS, rather than only being referenced back to the DID document which is being verified.</t>
        <section anchor="dnsvalidationdomain">
          <name>dnsValidationDomain</name>
          <t>To faciliate the linking of a non did:web to the DNS, we propose the inclusion of an optional property "dnsValidationDomain" to the DID document.</t>
          <artwork><![CDATA[
{"dnsValidationDomain": "example.ca"}
]]></artwork>
          <t>In the case of non did:webs that wish to use DNS for increased assurance, the verification process is identical to the one used for did:web but instead of referencing the domain in the identifier, the verifier <bcp14>MUST</bcp14> use the domain referenced by the "dnsValidationDomain" property instead.</t>
        </section>
      </section>
      <section anchor="mapping-dids-to-domains-with-uri-records">
        <name>Mapping DIDs to Domains with URI records</name>
        <t>The association to a domain stemming only from the did is unidirectional. By leveraging URI records as outlined in <xref target="DID-in-the-DNS"/>, we can create a bidirectional relationship, allowing a domain to publish their associated DID in the DNS.</t>
        <t><strong><em>Ex: _did.example-issuer.ca IN URI 1 0 “did:web:XXXXXX”</em></strong></t>
        <t>This relationship enhances security, as an entity would require control over both the DID and the domain’s DNS server to create this bidirectional association, reducing the likelihood of malicious impersonation.</t>
        <section anchor="uri-record-scoping">
          <name>URI record scoping</name>
          <ul spacing="normal">
            <li>
              <t>The records <bcp14>MUST</bcp14> be scoped by setting the global underscore name of the URI RRset to <em>_did</em> (0x5F 0x64 0x69 0x64).</t>
            </li>
          </ul>
        </section>
        <section anchor="entity-handles">
          <name>Entity Handles</name>
          <t>An implementer may have multiple sub entities operating and issuing credentials on their behalf, like the different deparments in a university issuing diplomas or publishing research. For this reason, the introduction of an entity handle, represented as a subdomain in the resource record name, provides a simple way to facilitate the distinction of DIDs, their public keys, and credentials they issue in their relationship to another entity or root authority.</t>
          <t><strong><em>Ex: _did.diplomas.example-issuer.ca IN URI 1 0 “did:web:diplomas.example-issuer.ca”</em></strong></t>
          <t><strong><em>Ex: _did.certificates.example-issuer.ca IN URI 1 0 “did:web:certificates.example-issuer.ca”</em></strong></t>
        </section>
      </section>
      <section anchor="mapping-verificationmethods-to-the-dns-with-tlsa-records">
        <name>Mapping verificationMethods to the DNS with TLSA records</name>
        <t>The DID to DNS mapping illustrated in section 3.2 provides a way of expressing the association between a DID and a domain, but no way of verifying that relationship. By hosting the public keys of that DID in its associated domain’s zone, we can provide a cryptographic linkage to bolster this relationship while also providing access to the DID’s public keys outside of the infrastructure where the DID document itself resides, facilitating interoperability and increasing availability.</t>
        <t>TLSA records <xref target="RFC6698"/> provide a simple way of hosting cryptographic information in the DNS. Key material or full x509 certificates can be represented in TLSA records either hashed or unhashed depending on the requirements and use case of the implementer.</t>
        <t>It is important to note that as key sizes increase in respect to the needs of post-quantum cryptography, TLSA records can support these keys via the hashed representation, making this implementation post-quantum compatible.</t>
        <section anchor="tlsa-record-scoping-selector-field">
          <name>TLSA Record Scoping, Selector Field</name>
          <t>When public keys related to DIDs are published in the DNS as TLSA records:</t>
          <ul spacing="normal">
            <li>
              <t>The records <bcp14>MUST</bcp14> be scoped by setting the global underscore name of the TLSA RRset to <em>_did</em> (0x5F 0x64 0x69 0x64).</t>
            </li>
            <li>
              <t>The Selector Field of the TLSA record must be set to 1, SubjectPublicKeyInfo: DER-encoded binary structure as defined in <xref target="RFC5280"/>.</t>
            </li>
          </ul>
          <t>When x509 certificates related to DIDs are published in the DNS as TLSA records:</t>
          <ul spacing="normal">
            <li>
              <t>The records <bcp14>MUST</bcp14> be scoped by setting the global underscore name of the TLSA RRset to <em>_did</em> (0x5F 0x64 0x69 0x64).</t>
            </li>
            <li>
              <t>The Selector Field of the TLSA record must be set to 0, full certificate: the Certificate binary structure as defined in <xref target="RFC5280"/>.</t>
            </li>
          </ul>
        </section>
        <section anchor="instances-of-multiple-key-pairs">
          <name>Instances of Multiple Key Pairs</name>
          <t>Depending on the needs of the implementer, it is possible they may use multiple keypairs associated with a single DID to sign and issue credentials or enable other PKI related interactions. In this case, a TLSA record will be created per <xref target="verificationMethod"/> and then be bundled into the corresponding TLSA RRset. A resolver can then parse the returned records and match the key content to the verificationMethod they wish to interact with or verify.</t>
          <t><strong><em>Ex: _did.example-issuer.ca IN TLSA 3 1 0 "4e18ac22c00fb9...b96270a7b4"</em></strong></t>
          <t><strong><em>Ex: _did.example-issuer.ca IN TLSA 3 1 0 "5f29bd33d11gc1...b96270a7b5"</em></strong></t>
          <section anchor="security-consideration">
            <name>Security Consideration</name>
            <t>It is <bcp14>RECOMMENDED</bcp14> implementers limit the total number of TLSA records for a given domain to 255 to mitigate DoS style attacks, such as creating a problematic number of TLSA records to then be resolved and parsed by the verifier.</t>
            <t>If total number of TLSA records returned to a verifier exceeds this threshold, it is <bcp14>RECOMMENDED</bcp14> the verifier abort the verification process and deem the target DID insecure.</t>
          </section>
        </section>
        <section anchor="benefits-of-public-keys-in-the-dns">
          <name>Benefits of Public Keys in the DNS</name>
          <t>Hosting the public keys in TLSA records provides a stronger mechanism for the verifier to verify a did and its associated entity with, as they are able to perform a cryptographic challenge against the DID using the corresponding TLSA records, or against the domain using the corresponding <xref target="verificationMethod"/> in the DID document. The accessibility of the public keys is also beneficial, as the verifier does not need to resolve the DID document to accesss its associated key material, enhancing interoperability.</t>
        </section>
      </section>
    </section>
    <section anchor="role-of-dnssec-for-assurance-and-revocation">
      <name>Role of DNSSEC for Assurance and Revocation</name>
      <t>It is <bcp14>RECOMMENDED</bcp14> that all the participants in this digital identity ecosystem enable DNSSEC signing for the DNS instances they operate. See <xref target="RFC9364"/>.</t>
      <t>DNSSEC provides cryptographic assurance that the DNS records returned in response to a query are authentic and have not been tampered with. This assurance within the context of the <em>_did</em> URI and <em>_did</em> TLSA records greatly strengthens the mechanism to ensure the integrity of the DID and its public keys. DNSSEC vastly reduces the possible attack vectors in which the repudiated DID information in the DNS can be tampered with.</t>
      <t>Within this use-case, DNSSEC also provides revocation checks for both DIDs and their public keys. In particular, a DNS query for a specific <em>_did</em> URI record or <em>_did</em> TLSA record can return an NXDOMAIN <xref target="RFC8020"/> response if the DID or public key has been revoked. This approach can simplify the process of verifying the current validity of DIDs and public keys by reducing the need for complex revocation mechanisms or implementation specific technologies.</t>
    </section>
    <section anchor="digital-signature-and-proof-value-of-the-did-document">
      <name>Digital Signature and Proof Value of the DID Document</name>
      <t>Digital signatures ensure the integrity of the DID Document, and by extent the public keys, authentication protocols, and service endpoints necessary for initiating trustworthy interactions with the identified entity. The use of digital signatures in this context provides a robust mechanism for verifying that the DID Document has not been tampered with and indeed originates from the correct entity.</t>
      <t>In accordance with W3C specifications, we propose including a data integrity proof such as those outlined in <xref target="dataIntegrityProofECDSA"/> and <xref target="dataIntegrityProofEdDSA"/>, with the mandatory inclusions of the "created" and "expires" fields. The inclusion of which acts as a lifespan for the document, similar to the TTL for a DNS record. Depending on the use case and security requirements, a longer or shorter expiry period would be used as necessary.</t>
      <artwork><![CDATA[
"proof": {
   "type": "DataIntegrityProof",
   "cryptosuite": "ecdsa-jfc-2019",
   "created": "2023-10-11T15:27:27Z",
   "expires": "2099-10-11T15:27:27Z",
   "proofPurpose": "assertionMethod",
   "verificationMethod": "did:web:trustregistry.ca#key-1",
}
]]></artwork>
      <t>The data integrity proof <bcp14>SHOULD</bcp14> be signed using a verificationMethod that has an associated TLSA record to allow for the verification of the data integrity proof using pki material contained outside of the DID document. This provides an added layer of authenticity, as the PKI information contained in the DID document would need to be repudiated across 2 different domains, the resource hosting the DID document and its associated DNS domain.</t>
      <section anchor="use-of-alternative-cryptosuites">
        <name>Use of Alternative Cryptosuites</name>
        <t>While <xref target="dataIntegrityProofECDSA"/> and <xref target="dataIntegrityProofEdDSA"/> are the cryptosuites we have chosen to highlight in this specification, it is important to note that this implementation for a high assurance did using dns is cryptosuite agnostic. It is interoperable with any new and existing cryptosuites and associated key types as required by the implementers and verifiers.</t>
      </section>
    </section>
    <section anchor="verification-process">
      <name>Verification Process</name>
      <t>Using the new DNS records and proof object in the DID document, we enable a more secure and higher assurance verification process for the DID. It is important to note that while not strictly necessary, DNSSEC verification <bcp14>SHOULD</bcp14> be performed each time a DNS record is resolved to ensure their authenticity.</t>
      <t>The process below outlines the general steps required to complete the higher assurance did verification process;</t>
      <ol spacing="normal" type="1"><li>
          <t><strong>Verification of the DID:</strong> The user verifies the DID is represented as a URI record in the associated domain.
          </t>
          <ol spacing="normal" type="1"><li>
              <t>In the case of did:web, the domain and record name to be queried is indicated by the last segment of the did. In example, <strong>did:web:example.ca</strong> would translate to a URI record with the name <strong>_did.example.ca</strong>.</t>
            </li>
            <li>
              <t>In the case of other did methods, the domain and record name to be queried is indicated by the "dnsValidationDomain" property. In example, <strong>{"dnsValidationDomain": "example.ca"}</strong> would translate to a URI record with the name <strong>_did.example.ca</strong>.</t>
            </li>
          </ol>
        </li>
        <li>
          <t><strong>Verification of the PKI:</strong> The user verifies the verificationMethod/s in the DID document are represented as TLSA record/s in the associated domain.
          </t>
          <ol spacing="normal" type="1"><li>
              <t>The domain and record name for the TLSA record to be queried is determined identically to steps 1.a or 1.b.
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>Note: The matching of the TLSA record content and verificationMethod may require some conversion, as TLSA records store key material as hex encoded DER format, and this representation is not supported by <xref target="verificationMethod"/>. However, there are many well supported cryptography libraries in a variety of languages that facilitate the conversion process.</t>
                </li>
              </ol>
            </li>
          </ol>
        </li>
        <li>
          <t><strong>Verification of the DID document's integrity:</strong> The user verifies the "proof" object to ensure the integrity of the DID document.
          </t>
          <ol spacing="normal" type="1"><li>
              <t>This can be accomplished by using either the <xref target="verificationMethod"/> directly from the DID document, or using the key material stored in the TLSA record. Using the TLSA record would provide a higher level of assurance as this confirms the key material is being accurately represented across 2 different domains, both at the DID document level and the DNS level.
              </t>
              <ol spacing="normal" type="1"><li>
                  <t>Note: Unlike with matching the verificationMethod and TLSA record in step 2, DER is a widely supported encoding format for key material enabling a verifier to directly use the TLSA record content to verify the signature without having to convert the key back to its representation in the verificationMethod.</t>
                </li>
              </ol>
            </li>
          </ol>
        </li>
      </ol>
      <t><em>Note</em>: The order of the steps presented does not specify a required order for verification. As a general rule (and depending on the use case) the 3 verification steps outlined above may be performed in any order as best fits the verifier's needs. In example, a verifier may arrive at the DID document during a credential verification process, in which case it makes sense to peform step 3 before steps 1 and 2. Alternatively, a verifier may arrive at the DID document after exploring an organization's domain, in which case it may make more sense to perform steps 1 and 2 prior to step 3. So long as the 3 steps are performed together, the same level of assurance is achieved irrespective of their order.</t>
      <section anchor="verification-failure">
        <name>Verification Failure</name>
        <t>If at any given step verification fails, the DID document should be deemed INSECURE. Whether it is due to the DID and DNS being out of sync with recent updates, or the resource hosting the DID document or DNS zone themselves being compromised, a failed verification <bcp14>MAY</bcp14> indicate malicious activity. It is then up to the verifier to determine, according to their requirements and use case, the appropriate course of action regarding interactions with the target DID until successful verification is restored.</t>
      </section>
    </section>
    <section anchor="control-requirements">
      <name>Control Requirements</name>
      <t>This section defines a simple framework to define a set of technical controls that can be implemented and mapped into levels of assurance for did:web identifiers.
To assist in decision-making and implementation, The controls are ordered in increasing level of security assurance and are grouped into levels of assurance from <strong>LOW-</strong> to <strong>HIGH+</strong>
- <strong>Issuing Authority</strong> is the entity accountable for the did:web identifier.
- <strong>Issuing Service</strong> is the entity responsible for operating the did:web identifier infrastructure.
In many cases the <strong>Issuing Authority</strong> may delegate elements of providing a high assurance did:web identifier to an <strong>Issuing Service</strong> that may be a commercial provider.
In the simplest case, the <strong>Issuing Authority</strong> can be regarded as the same as the <strong>Issuing Service</strong>.
Note that Controls 9, 10, and 11 CANNOT BE DELEGATED to an <strong>Issuing Service</strong></t>
      <t>11 technical controls are defined. These controls would be implemented in order of precedence for an increasing level of security assurance. (e.g., Control No. N would need to be implemented before implementing Control No. N+1)</t>
      <table>
        <thead>
          <tr>
            <th align="left">Control No.</th>
            <th align="left">Control Name</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">1</td>
            <td align="left">DID Resource Control</td>
            <td align="left">The Issuing Service <bcp14>MUST</bcp14> control the resource that generates the DID document. (i.e., website)</td>
          </tr>
          <tr>
            <td align="left">2</td>
            <td align="left">DID Document Management</td>
            <td align="left">The Issuing Service <bcp14>MUST</bcp14> have the ability to do CRUD operations on the DID document.</td>
          </tr>
          <tr>
            <td align="left">3</td>
            <td align="left">DID Document Data Integrity</td>
            <td align="left">The Issuing Service <bcp14>MUST</bcp14> ensure the data integrity of the DID document by cryptographic means, typically a digital signature or other means. The use of approved or established cryptographic algorithms is HIGHLY <bcp14>RECOMMENDED</bcp14></td>
          </tr>
          <tr>
            <td align="left">4</td>
            <td align="left">DID Document Key Control</td>
            <td align="left">The Issuing Service <bcp14>MUST</bcp14> control the keys required to sign the DID document.</td>
          </tr>
          <tr>
            <td align="left">5</td>
            <td align="left">DID Document Key Generation</td>
            <td align="left">With proper delegation from the Issuing Authority, the DID Document signing key <bcp14>MAY</bcp14> be generated by the Issuing Service. Otherwise, the signing key must be generated by the Issuing Authority.</td>
          </tr>
          <tr>
            <td align="left">6</td>
            <td align="left">Domain Zone Control</td>
            <td align="left">The Issuing Service <bcp14>MUST</bcp14> have control of the domain zone (or subdomain zone).If direct control of the domain is not feasible, the use of an accredited DNS provider is HIGHLY <bcp14>RECOMMENDED</bcp14></td>
          </tr>
          <tr>
            <td align="left">7</td>
            <td align="left">Domain Zone Mapping</td>
            <td align="left">There <bcp14>MUST</bcp14> be domain zone records that map the necessary URI, TLSA, CERT and/or TXT records to the specified did:web identifier.</td>
          </tr>
          <tr>
            <td align="left">8</td>
            <td align="left">Domain Zone Signing</td>
            <td align="left">The domain zone records <bcp14>MUST</bcp14> be signed according to DNSSEC. (RRSIG)</td>
          </tr>
          <tr>
            <td align="left">9</td>
            <td align="left">Domain Zone Signing Key Control</td>
            <td align="left">The Issuing Authority <bcp14>MUST</bcp14> have control over the domain zone keys used for signing and delegation. (KSK and ZSK)</td>
          </tr>
          <tr>
            <td align="left">10</td>
            <td align="left">Domain Zone Signing Key Generation</td>
            <td align="left">The domain zone signing key <bcp14>MUST</bcp14> be generated under the control of the Issuing Authority.</td>
          </tr>
          <tr>
            <td align="left">11</td>
            <td align="left">Hardware Security Module</td>
            <td align="left">A FIPS 140-2 compliant hardware security module must be under the control of the Issuing Authority.</td>
          </tr>
        </tbody>
      </table>
      <t>In addition to the technical controls specified in the table it is advisable to add in DANE (DNS-based Authentication of Named Entities) <xref target="RFC6698"/> to secure TLS communications. TLS uses certificates to bind keys to names, which are published by public "Certification Authorities" (CAs). It is important to realize that the public CA model is fundamentally vulnerable because it allows any CA to issue a certificate for any domain name. Thus, a compromised CA can issue a fake replacement certificate which could be used to subvert TLS-protected websites. DANE offers the option to use the DNSSEC infrastructure to store and sign keys and certificates that are used by a TLS-protected website. The keys are bound to names in the Domain Name System (DNS), instead of relying on arbitrary keys and names issued in a potentially compromised certificate.</t>
    </section>
    <section anchor="levels-of-assurance">
      <name>Levels of Assurance</name>
      <t>Many trust frameworks specify levels of assurance to assist in determining which controls must be implemented.</t>
      <t>The following table is not a definitive mapping to trust framework levels of assurance. It is intended to assist in determining mappings by grouping the controls within a range from <strong>LOW-</strong> to <strong>HIGH+</strong> relating to the appropriate risk level. Note that controls are additive in nature. (i.e.,, controls of the preceding level must be fulfilled).</t>
      <table>
        <thead>
          <tr>
            <th align="left">Level of Assurance</th>
            <th align="left">Controls</th>
            <th align="left">Description</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <strong>LOW-</strong></td>
            <td align="left">Control 1</td>
            <td align="left">
              <bcp14>SHOULD</bcp14> only be used for low risk transactions where attribution to originator is desirable.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>LOW</strong></td>
            <td align="left">Control 2</td>
            <td align="left">
              <bcp14>SHOULD</bcp14> only be used for lower risk transactions where establishing the accountability of the originator is desirable.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>MEDIUM</strong></td>
            <td align="left">Controls 3, 4 and 5</td>
            <td align="left">
              <bcp14>MAY</bcp14> be used for medium risk commercial transactions, such as correspondence, proposals, etc.</td>
          </tr>
          <tr>
            <td align="left">
              <strong>MEDIUM+</strong></td>
            <td align="left">Controls 6 and 7</td>
            <td align="left">
              <bcp14>MAY</bcp14> be used for higher risk transactions, such as signing and verifying invoices, contracts, or official/legal documentation</td>
          </tr>
          <tr>
            <td align="left">
              <strong>HIGH</strong></td>
            <td align="left">Controls 8, 9 and 10</td>
            <td align="left">
              <bcp14>MUST</bcp14> be high risk transactions, such as government transactions for signing and verifying licenses, certifications or identification</td>
          </tr>
          <tr>
            <td align="left">
              <strong>HIGH+</strong></td>
            <td align="left">Control 11</td>
            <td align="left">
              <bcp14>MUST</bcp14> be used for extremely high risk transactions where there may be systemic or national security implications</td>
          </tr>
        </tbody>
      </table>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>Per <xref target="RFC8552"/>, IANA is requested to add the following entries to the
"Underscored and Globally Scoped DNS Node Names" registry:</t>
      <artwork><![CDATA[
+---------+------------+-------------------------------------------+
| RR Type | _NODE NAME | Reference                                 |
+---------+------------+-------------------------------------------+
| TLSA    | _did       | [draft-ietf-high-assurance-dids-with-dns] |
| URI     | _did       | [draft-mayrhofer-did-dns-01]              |
+---------+------------+------------------------------------------+.
]]></artwork>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="DID-Specification-Registries" target="https://www.w3.org/TR/did-spec-registries/#did-methods">
          <front>
            <title>DID Specification Registries</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="W3C-VC-Data-Model" target="https://www.w3.org/TR/vc-data-model/">
          <front>
            <title>Verifiable Credentials Data Model v1.1</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="alsoKnownAs" target="https://www.w3.org/TR/did-core/#also-known-as">
          <front>
            <title>Decentralized Identifiers (DIDs) v1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="services" target="https://www.w3.org/TR/did-core/#services">
          <front>
            <title>Decentralized Identifiers (DIDs) v1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="LinkedDomains" target="https://identity.foundation/.well-known/resources/did-configuration/#linked-domain-service-endpoint">
          <front>
            <title>Well Known DID Configuration</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="DID-in-the-DNS" target="https://datatracker.ietf.org/doc/html/draft-mayrhofer-did-dns-05#section-2">
          <front>
            <title>The Decentralized Identifier (DID) in the DNS</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="verificationMethod" target="https://www.w3.org/TR/did-core/#verification-methods">
          <front>
            <title>Decentralized Identifiers (DIDs) v1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="issuer" target="https://www.w3.org/TR/vc-data-model-2.0/#issuer">
          <front>
            <title>Verifiable Credentials Data Model v2.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="dataIntegrityProofECDSA" target="https://www.w3.org/TR/vc-di-ecdsa/#proof-representations">
          <front>
            <title>Data Integrity ECDSA Cryptosuites v1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="dataIntegrityProofEdDSA" target="https://www.w3.org/TR/vc-di-eddsa/#proof-representations">
          <front>
            <title>Data Integrity ECDSA Cryptosuites v1.0</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="wellKnownDidConfiguration" target="https://identity.foundation/.well-known/resources/did-configuration/">
          <front>
            <title>Well Known DID Configuration</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="didSpecRegistries" target="https://w3c.github.io/did-spec-registries">
          <front>
            <title>Did Specification Registries</title>
            <author>
              <organization/>
            </author>
            <date>n.d.</date>
          </front>
        </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"/>
            <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>
        <reference anchor="RFC6698">
          <front>
            <title>The DNS-Based Authentication of Named Entities (DANE) Transport Layer Security (TLS) Protocol: TLSA</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter"/>
            <date month="August" year="2012"/>
            <abstract>
              <t>Encrypted communication on the Internet often uses Transport Layer Security (TLS), which depends on third parties to certify the keys used. This document improves on that situation by enabling the administrators of domain names to specify the keys used in that domain's TLS servers. This requires matching improvements in TLS client software, but no change in TLS server software. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6698"/>
          <seriesInfo name="DOI" value="10.17487/RFC6698"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC9364">
          <front>
            <title>DNS Security Extensions (DNSSEC)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="February" year="2023"/>
            <abstract>
              <t>This document describes the DNS Security Extensions (commonly called "DNSSEC") that are specified in RFCs 4033, 4034, and 4035, as well as a handful of others. One purpose is to introduce all of the RFCs in one place so that the reader can understand the many aspects of DNSSEC. This document does not update any of those RFCs. A second purpose is to state that using DNSSEC for origin authentication of DNS data is the best current practice. A third purpose is to provide a single reference for other documents that want to refer to DNSSEC.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="237"/>
          <seriesInfo name="RFC" value="9364"/>
          <seriesInfo name="DOI" value="10.17487/RFC9364"/>
        </reference>
        <reference anchor="RFC8020">
          <front>
            <title>NXDOMAIN: There Really Is Nothing Underneath</title>
            <author fullname="S. Bortzmeyer" initials="S." surname="Bortzmeyer"/>
            <author fullname="S. Huque" initials="S." surname="Huque"/>
            <date month="November" year="2016"/>
            <abstract>
              <t>This document states clearly that when a DNS resolver receives a response with a response code of NXDOMAIN, it means that the domain name which is thus denied AND ALL THE NAMES UNDER IT do not exist.</t>
              <t>This document clarifies RFC 1034 and modifies a portion of RFC 2308: it updates both of them.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8020"/>
          <seriesInfo name="DOI" value="10.17487/RFC8020"/>
        </reference>
        <reference anchor="RFC8552">
          <front>
            <title>Scoped Interpretation of DNS Resource Records through "Underscored" Naming of Attribute Leaves</title>
            <author fullname="D. Crocker" initials="D." surname="Crocker"/>
            <date month="March" year="2019"/>
            <abstract>
              <t>Formally, any DNS Resource Record (RR) may occur under any domain name. However, some services use an operational convention for defining specific interpretations of an RRset by locating the records in a DNS branch under the parent domain to which the RRset actually applies. The top of this subordinate branch is defined by a naming convention that uses a reserved node name, which begins with the underscore character (e.g., "_name"). The underscored naming construct defines a semantic scope for DNS record types that are associated with the parent domain above the underscored branch. This specification explores the nature of this DNS usage and defines the "Underscored and Globally Scoped DNS Node Names" registry with IANA. The purpose of this registry is to avoid collisions resulting from the use of the same underscored name for different services.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="222"/>
          <seriesInfo name="RFC" value="8552"/>
          <seriesInfo name="DOI" value="10.17487/RFC8552"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Self-Sovereign-Identity">
          <front>
            <title>Self-Sovereign Identity</title>
            <author initials="D." surname="Reed" fullname="Drummond Reed">
              <organization/>
            </author>
            <author initials="A." surname="Preukschat" fullname="Alex Preukschat">
              <organization/>
            </author>
            <date year="2021"/>
          </front>
          <seriesInfo name="ISBN" value="9781617296598"/>
        </reference>
      </references>
    </references>
    <?line 338?>

<section anchor="w3c-considerations">
      <name>W3C Considerations</name>
      <ol spacing="normal" type="1"><li>
          <t>We propose the inclusion of an optional data integrity proof for the DID document, as outlined in <xref target="dataIntegrityProofECDSA"/> and <xref target="dataIntegrityProofEdDSA"/>.</t>
        </li>
        <li>
          <t>We propose the inclusion of the optional "dnsValidationDomain" property to the <xref target="didSpecRegistries"/> as outlined in section 3.2.</t>
        </li>
      </ol>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+Vd63LbyJX+z6fopX/ElklKlHyTNpuEI2nGyliyV5JnMkml
UiDQJBGDAAcNSOZYrsprbNVu1T7LPkqeZM+tG90gqNFkkuyPdU1mZAjoPn36
XL5z6c5wOOxVaZXpI9V/nc4XamJMXUZ5rNXJ2YlRt2m1UCcXV/1eNJ2W+gZe
W6RRkib9XhxVel6U6yOV5rOi10uKOI+WMFBSRrNqGEdlpcvhAgYdRnbQIXxp
hjjoMMnNcO95z9TTZWpMWuTVeqVxrESvNPwrr3p5vZzq8qiXwExHPZj7oPdB
r2+LMjnqqaHK9cdKzXWuy6iC7/FRnadxUdKPZhWVH7I0n6skNVWZTutKJyrT
yVyXvRud1zCkUnMgpZ7Cqo7PLidvoqnZvY/gPnyRATGmQj5U1coc7e7GaRll
8OWIxxqlxb1j7D6YPaNFtcz6vV5UV4sC2DCE2YE/5kj9dqSO6Xt8wkz/rTZG
e0+Lcn6kcFH4F72M0uxI/RnfGfHMv0Gy4edw1DdRVdT+qFH8fa2N97xzXH5r
lNFbHSOfj9RXWVQnuhn5PKoWqa695zTyRVFWC13m6ousiD94cyz5/d/k8sIU
fx/Ocj1SXxT1MmomuU6XzSMa/ySFXYoy9VVxA4OQnB8XdR6nmTdXlS5HU/zs
N8k8HsbzfATf9noo5iXQkd6Q6Kgrnc2GVziQTuf58AxlNq3W9Dv4Y9UqfE3Z
1/rymt1dJX+G7idZ1slIXWqdeI95cSdlvVwWeRL+duPzyUi9K3X9wcSLqNoY
ZJLpj5u/N7pMtcH1NnSps6svLo7U4ctX4xfjl/uHL54fvpJfkn6q/b39ca+X
BywCGzK8Wuk4naUxKenwUs9JHbVp8wneVcG7qnnXMquKyrkG5bO6d3t7O7o9
wO3Zvb7cBe0ZGhhhWLoPdx/hw6UGHicGB/n24Hj4zfHwJKqi4XmR6KxNxjew
9lkaTTOQjFLTZkWZUfiBog/UzXg0fhhBN/EwwYmW+N0ufgJDFV/nxW0+2Vy/
jmEysCXpD2CoWExmqS6Neoym+AnOu/dwRoAd1LuPcL7hB5wQrEyPt/YmjTu4
/4+Y3U6Gn71J8w86OSlAxfKN2b/VWaaILygyoJL5LJ3XbNe3TZqKIo1moMAJ
vbo7uoWBeL27pTZgjWB2IcgbcvdRRtQMEyJnKHQOwe+sijSvrOjCr8DYDMH/
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

-->

</rfc>
