<?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.27 (Ruby 3.1.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-latour-dns-and-digital-trust-00" category="info" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.17.0 -->
  <front>
    <title abbrev="TODO - Abbreviation">Leveraging DNS in Digital Trust: Credential Exchanges and Trust Registries</title>
    <seriesInfo name="Internet-Draft" value="draft-latour-dns-and-digital-trust-00"/>
    <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>NorthernBlock</organization>
      <address>
        <email>mathieu@northernblock.io</email>
      </address>
    </author>
    <date year="2023" month="April" day="05"/>
    <keyword>trust registry</keyword>
    <keyword>distributed ledger</keyword>
    <keyword>did</keyword>
    <keyword>verifiable credential</keyword>
    <keyword>dns</keyword>
    <abstract>
      <t>This memo describes an architecture for digital credential verification and validation using Decentralized Identifiers (DIDs), distributed ledgers, trust registries, and the DNS. This architecture provides a verifier with a simple process by which to cryptographically verify the credential they are being presented with, verify and resolve the issuer of that credential to a domain, and verify that issuer's membership in a trust registry.</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/DNS-Based-VCs-and-Trust-Registries-ID/draft-DNS-Based-Digital-Verifiable-Credential-Verification-and-Trust-Registry-Architecture.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-latour-dns-and-digital-trust/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/CIRALabs/DNS-Based-VCs-and-Trust-Registries-ID"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>With the increasing adoption and deployment of digital credentials around the world, as well as the numerous different standards and implementations surrounding them, there is a strong likelihood the digital credential ecosystem will become fragmented. There all already 150+ DID Methods listed in the <xref target="DID-Specification-Registries"/>, meaning that implementers of digital credentialing solutions would have to ensure they can support the resolution of the right DID Methods that are being used in their interactions. This will present a significant burden to implementers across different nations and organizations, creating large barriers to interoperability.</t>
      <t>This memo aims to improve global interoperability between different decentralized digital identity ecosystems by ensuring that public DID owners (i.e. credential issuers and sometimes verifiers) have unique and accessible global identifiers. The memo also aims to demonstrate how trust registries can enable global interoperability by providing a layer of digital trust in the use of digital credentials, demonstrating that trust registries can facilitate a more efficient and trustworthy credential verification process. By leveraging the publicly resolvable and widely supported DNS/DNSSEC infrastructure, entities looking to make a trust decision can easily validate not only the integrity of the credential they are presented with, but also quickly associate the entity in question with a domain name and organization, as well as their authority and trustworthiness by confirming their membership in a trust registry. We will explore how this implementation can present a more decentralized approach to making trust decisions, without having to integrate directly to all trust registries, but instead letting entities involved in private transactions leverage existing internet infrastructure to facilitate their own trust decisions.</t>
      <t>We will focus this memo around a use case involving an individual or an organization receiving a verifiable credential <xref target="AnonCreds"/> <xref target="W3C-VC-Data-Model"/> from an issuer and storing it in their digital wallet. When the individual needs to provide proof of identity or other claims, they present the verifiable credential to a verifier in the form of a verifiable claim which normally includes a digital signature. The verifier then performs several steps to verify the authenticity of the credential, including extracting the issuer's DID from the credential, resolving it on a distributed ledger (Indy ledger) to obtain the issuer's DID document, verifying the signature of the credential using the public key in the issuer's DID document, verifying the issuer's domain name and public key through DNS queries using URI and TLSA records, and finally verifying the issuer through a trust registry grounded in the DNS using URI and TLSA records, while ensuring all these DNS records are properly signed and validated with DNSSEC.</t>
      <t>This process allows for the secure and decentralized verification of digital credentials in a manner that is transparent and auditable, while also existing alongside and independent of the many different decentralized identity ecosystems and implementations by grounding itself in the DNS.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <ul spacing="normal">
        <li>
          <strong>Issuer</strong>: The source of credentials--every verifiable credential has an issuer. Issuers can include organizations such as government agencies (passports, verified person), financial institutions (credit cards), universities (degrees), corporations (employment IDs), churches (awards), etc. Individuals can issue themselves self-attested credentials - and depending on the governance framework of a digital credentialing ecosystem, individuals could issue credentials to others.</li>
        <li>
          <strong>Holder</strong>: The recipient of digital credentials. The Holder stores their credentials inside a digital wallet and uses agent technology to interact with other entities. A Holder can be a person, an organization or a machine.</li>
        <li>
          <strong>Verifier</strong>: A verifier can be anyone seeking trust assurance of some kind about the holder of a credential. Verifiers request the credentials they need and then follow their own policy to verify their authenticity and validity. For example, a TSA agent at an airport will look for specific features of a passport or driver's license to see if it is valid, then check to ensure it is not expired.</li>
        <li>
          <strong>Digital Wallet/Agent</strong>: A digital wallet, in the context of digital identity, is a secure platform or application that stores and manages an individual's personal identification and authentication credentials, such as government-issued IDs, passports, driver's licenses, and biometric data in the form of verifiable credentials. The Agent allows the subject to establish unique, confidential, private and authentic channels with other agents.</li>
        <li>
          <strong>Verifiable Data Registry (VDR)</strong>: A storage location where information relating to Decentralized Identifiers (DIDs) and credential metadata are stored. Permissionless blockchains or permissioned distributed ledger networks can be used to facilitate the  discovery and resolution of DIDs and credential information.</li>
        <li>
          <strong>Trust Registry</strong>: Trust registries are services that help determine the authenticity and authorization of entities in an ecosystem governance framework. They allow governing authorities to specify what actions are authorized for governed parties and enable checking if an issuer is authorized to issue a particular credential type. Essentially, trust registries serve as a trusted source for verifying the legitimacy of credential issuers, wallet apps, and verifiers.</li>
      </ul>
    </section>
    <section anchor="mapping-a-did-to-the-dns">
      <name>Mapping a DID to the DNS</name>
      <t>The W3C DID Core spec supports multiple ways of associating a DID to a domain.</t>
      <t><strong>alsoKnownAs</strong>: The assertion that two or more DIDs (or other types of URI, such as a domain name) refer to the same DID subject can be made using the <xref target="alsoKnownAs"/> property.</t>
      <t><strong>Services</strong>: Alternatively, <xref target="services"/> are used in DID documents to express ways of communicating with the DID subject or associated entities. In this case we are referring specifically to the "LinkedDomains" service type.</t>
      <t>However, this association 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 DIDs in the DNS.</t>
      <t><strong><em>Ex: _did.example-issuer.ca IN URI 1 0 "did:sov:XXXXXXX"</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>
      <t>The ability for an organization to publish a list of their DIDs on the DNS is also beneficial as it establishes a link between the DNS, which is ubiquitously supported, and the distributed ledger (or other places) where the DID resides on which may not have the same degree of access or support, enhancing discoverability.</t>
      <section anchor="uri-record-scoping">
        <name>URI record scoping</name>
        <ul spacing="normal">
          <li>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).</li>
        </ul>
      </section>
      <section anchor="issuer-handles">
        <name>Issuer Handles</name>
        <t>An issuer may have multiple sub entities issuing credentials on their behalf, such as the different faculties in a university issuing diplomas. Each of these entities will need to be registered separately in a trust registry and will likely have one or more DIDs of their own. For this reason, the introduction of an issuer 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 the issuer.</t>
        <t><strong><em>Ex: _did.diplomas.university-issuer.ca IN URI 1 0 "did:sov:XXXXXXX"</em></strong></t>
        <t><strong><em>Ex: _did.certificates.university-issuer.ca IN URI 1 0 "did:sov:XXXXXXX"</em></strong></t>
      </section>
    </section>
    <section anchor="did-public-keys-in-the-dns">
      <name>DID Public Keys in the DNS</name>
      <t>The DID to DNS mapping illustrated in section 4 provides a way of showing 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 related 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 distributed ledger where it resides, facilitating interoperability.</t>
      <t>TLSA records <xref target="RFC6698"/> provide a simple way of hosting cryptographic information in the DNS.</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>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).</li>
          <li>The Selector Field of the TLSA record must be set to 1, SubjectPublicKeyInfo: DER-encoded binary structure as defined in <xref target="RFC5280"/>.</li>
        </ul>
      </section>
      <section anchor="issuer-handles-1">
        <name>Issuer Handles</name>
        <t>As mentioned in section 4.2, an issuer may have multiple sub entities issuing credentials on their behalf, likely with their own set or sets of keypairs. Because these keypairs will need to be registered in a trust registry, and represented in the DNS as TLSA records, the use of an issuer Handle as outlined in section 4.2 will facilitate the distinction of the different public keys in their relation to the issuer.</t>
        <t><strong><em>Ex: _did.diplomas.university-issuer.ca IN TLSA 3 1 0 "4e18ac22c00fb9...b96270a7b2"</em></strong></t>
        <t><strong><em>Ex: _did.certificates.university-issuer.ca IN TLSA 3 1 0 "4e18ac22c00fb9...b96270a7b3"</em></strong></t>
      </section>
      <section anchor="instances-of-multiple-key-pairs">
        <name>Instances of Multiple Key Pairs</name>
        <t>Depending on the needs of the issuer, it is possible they may use multiple keypairs associated with a single DID to sign and issue credentials. In this case a mechanism to differentiate which verificationMethod the public key is related to will need to be added to the name of the TLSA RRset.</t>
        <t>A simple solution would be to create a standardized naming convention by expanding the RRset name using the fragment of the target verificationMethod's ID.</t>
        <t><strong><em>Ex: _did.key-1.example-issuer.ca IN TLSA 3 1 0 "4e18ac22c00fb9...b96270a7b4"</em></strong></t>
        <t><strong><em>Ex: _did.key-2.example-issuer.ca in TLSA 3 1 0 "4e18ac22c00fb9...b96270a7b5"</em></strong></t>
      </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 the issuer 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 only needs to resolve the DID document on the distributed ledger and can perform the remainder of the cryptographic verification process using data available in the DNS, potentially limiting the burden of having to interoperate with a multitude of different distributed ledger technologies and transactions for key access.</t>
      </section>
    </section>
    <section anchor="digital-credential-verification-using-dids-and-the-dns">
      <name>Digital Credential Verification using DIDs and the DNS</name>
      <t>By leveraging the records and relationships outlined above, the verifier can verify a digital credential claim by:</t>
      <ul spacing="normal">
        <li>Looking up the credential's issuer's DID on a distributed ledger to resolve a DID document.</li>
        <li>Extracting the issuer's domain from that DID document.</li>
        <li>Querying that domain for a <em>_did</em> URI record to confirm the issuer's domain is also claiming ownership over that DID.</li>
        <li>Performing a verification of the credential's signature/proof using the relevant verificationMethod in the DID document.</li>
        <li>Querying that domain for a <em>_did</em> TLSA record to confirm the public key expressed by the verificationMethod is also expressed by the issuer's domain.</li>
      </ul>
      <t>Through this process, the verifier has not only cryptographically verified the credential they are being presented with, but also associated the issuing DID to a publicly resolvable domain, confirming it’s validity both semantically and cryptographically.</t>
    </section>
    <section anchor="role-of-dnssec-for-assurance-and-revocation">
      <name>Role of DNSSEC for Assurance and Revocation</name>
      <t>It is a <bcp14>MUST</bcp14> that all the participants in this digital identity ecosystem enable DNSSEC signing for all 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 provides another mechanism to ensure the integrity of the DID and its public keys outside of the distributed ledger it resides on directly from the domain of its owner.</t>
      <t>Within this use-case, DNSSEC also provides revocation checks for both DIDs and 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 validity of DIDs and public keys by reducing the need for complex revocation mechanisms or implementation specific technologies.</t>
    </section>
    <section anchor="the-role-of-trust-registries-in-bidirectional-credential-verification">
      <name>The Role of Trust Registries in Bidirectional Credential Verification</name>
      <t>A trust registry is a decentralized system that enables the verification of the authenticity and trustworthiness of issuers of digital credentials. Trust registries can be implemented using distributed ledger technology and leverage the DNS to provide a transparent and auditable record of issuer information.</t>
      <t>When an entity is presented with a verifiable claim, there are three things they will want to ensure:</t>
      <ol spacing="normal" type="1"><li>That a claim hasn't been altered/falsified at any point in time, via cryptographic verifiability and Verifiable Data Registries (VDRs).</li>
        <li>That a claim has accurate representation via authentication, via DID Discovery &amp; mapping within DNS as described above.</li>
        <li>That a claim has authority, or in other words, does the issuer have authority in its issuance of credentials, via the use of trust registries (or trust lists).</li>
      </ol>
      <t>In this memo, trust registries enable the verification of the authority of an issuer and by extent their credentials. The role of a trust registry within the context of this document is to confirm the authenticity and trustworthiness of the issuer to the verifier after they have validated the digital credential using the mechanisms described previously. This involves the trust registry taking on the role of a trust anchor for a given ecosystem, providing input for the verifier’s ultimate trust decision regarding the credential they are being presented with. The assumption is made that the trust registry would be operated under the authority of an institution or organization such that their claims and input to the trust decision would be considered significant or definitive. An example of such an organization would be a government entity in relation to the issuance of a driver’s licence.</t>
      <t>It is important to note that the DNS based trust registry mechanism described in this section is not meant to operate in place of an alternative implementation but provide an easy to implement and use mechanism to extend such a solution.</t>
      <t>This section also does not describe the process of the trust registry’s verification of an issuer, or the process of how an issuer would become accredited by or join a trust registry.</t>
      <section anchor="issuers-membership-claim-in-a-trust-registry">
        <name>Issuer's Membership Claim in a Trust Registry</name>
        <t>Once the verifier has successfully completed the credential verification process outlined in section 6, they have definitive proof that the credential they are being presented with was issued by the claimed issuer, and that issuer can be resolved to an organization’s or entity’s domain. However, this process does not provide definitive proof the issuer is to be trusted or has the authority to issue such a credential. The issuer, through use of URI records and the <em>_trustregistry</em> label, can assert the claim that they are a member of a trust registry.</t>
        <t><strong><em>Ex: _trustregistry.example-issuer.ca IN URI 0 1 "example-trustregistry.ca"</em></strong></t>
        <t>This record indicates the verifier can query the <em>example-trustregistry.ca</em> DNS based trust registry for TLSA records containing <em>example-issuer.ca's</em> public key/s, proving their membership.</t>
        <section anchor="uri-record-name-scoping">
          <name>URI Record Name Scoping</name>
          <t>When trust registry membership claims are published in the DNS</t>
          <ul spacing="normal">
            <li>The records <bcp14>MUST</bcp14> be scoped by setting the global (highest-level) underscore name of the URI RRset to <em>_trustregistry</em> (0x5F 0x74 0x72 0x75 0x73 0x74 0x72 0x65 0x67 0x69 0x73 0x74 0x72 0x79)</li>
          </ul>
        </section>
      </section>
      <section anchor="trust-registry-membership-proof">
        <name>Trust Registry Membership Proof</name>
        <t>The trust registry can assert an issuer's membership using TLSA records in a similar fashion to the methods outlined by section 5.1.</t>
        <t><strong><em>Ex: _example-issuer.ca._trustregistration.example-trustregistry.ca in TLSA 3 1 0 "4e18ac22c00fb9...b96270a7b6"</em></strong></t>
        <t>Note that the first component of the URI is the issuer’s domain, followed by the <em>_trustregistration</em> label. This combination indicates that the domain expressed is registered by this trust registry as per its governance model, and this is their public key. This association created by the TLSA record effectively has created a chain of trust, beginning at the DID’s verificationMethod, continuing to the issuer’s domain, and finally resolving at the Trust Registry.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</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>
        <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="AnonCreds" target="https://hyperledger.github.io/anoncreds-spec/">
          <front>
            <title>AnonCreds Specification</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="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="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="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">
              <organization/>
            </author>
            <author fullname="J. Schlyter" initials="J." surname="Schlyter">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="W. Polk" initials="W." surname="Polk">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <author fullname="S. Huque" initials="S." surname="Huque">
              <organization/>
            </author>
            <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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="ToIP_Trust_Registry_Specification" target="https://github.com/trustoverip/tswg-trust-registry-tf/blob/main/v1/docs/ToIP%20Trust%20Registry%20V1%20Specification.md">
          <front>
            <title>ToIP Trust Registry Protocol V1 Specification</title>
            <author>
              <organization>Trust Over IP (ToIP) Working Group</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <reference anchor="Pan-Canadian_Trust_Framework" target="https://diacc.ca/wp-content/uploads/2023/03/PCTF-Trust-Registries-Component-Overview_Draft-Recomendation-V1.0.pdf">
          <front>
            <title>PCTF Trust Registries Draft Recommendation V1.0 DIACC / PCTF13</title>
            <author>
              <organization>DIACC</organization>
            </author>
            <date>n.d.</date>
          </front>
        </reference>
        <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>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
hzuJ6P0vf3hdzMJRAAA=

-->

</rfc>
