<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.19 (Ruby 2.5.1) -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-rats-daa-09" category="info" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.46.0 -->
  <front>
    <title abbrev="DAA for RATS">Direct Anonymous Attestation for the Remote Attestation Procedures Architecture</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-rats-daa-09"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@ietf.contact</email>
      </address>
    </author>
    <author initials="C." surname="Newton" fullname="Christopher Newton">
      <organization>University of Surrey</organization>
      <address>
        <email>cn0016@surrey.ac.uk</email>
      </address>
    </author>
    <author initials="L." surname="Chen" fullname="Liqun Chen">
      <organization>University of Surrey</organization>
      <address>
        <email>liqun.chen@surrey.ac.uk</email>
      </address>
    </author>
    <author initials="T." surname="Giannetsos" fullname="Thanassis Giannetsos">
      <organization>Ubitech</organization>
      <address>
        <email>agiannetsos@ubitech.eu</email>
      </address>
    </author>
    <author initials="D." surname="Thaler" fullname="Dave Thaler">
      <organization>Microsoft</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>dthaler@microsoft.com</email>
      </address>
    </author>
    <date year="2026" month="March" day="02"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 51?>

<t>This document maps the concept of Direct Anonymous Attestation (DAA) to the Remote Attestation Procedures (RATS) Architecture.
The protocol entity DAA Issuer is introduced and its mapping with existing RATS roles in DAA protocol steps is specified.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-rats-daa/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Remote ATtestation ProcedureS (rats) Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-rats-wg/draft-ietf-rats-daa"/>.</t>
    </note>
  </front>
  <middle>
    <?line 56?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Remote ATtestation procedureS (RATS, <xref target="RFC9334"/>) describe interactions between well-defined architectural constituents in support of Relying Parties that require an understanding about the trustworthiness of a remote peer.
The identity of an Attester and its corresponding Attesting Environments play a vital role in RATS.
A common way to refer to such an identity is the Authentication Secret ID as defined in the Reference Interaction Models for RATS <xref target="I-D.ietf-rats-reference-interaction-models"/>.
The fact that every Attesting Environment can be uniquely identified in the context of the RATS architecture is not suitable for every application of remote attestation.
Additional issues may arise when Personally identifiable information (PII) -- whether obfuscated or in clear text -- are included in attestation Evidence or even corresponding Attestation Results.
This document illustrates how Direct Anonymous Attestation (DAA) can mitigate the issue of uniquely (re-)identifiable Attesting Environments.
To accomplish that goal, the protocol entity DAA Issuer as described in <xref target="DAA"/> is introduced and its duties as well as its mappings with other RATS roles are specified.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>This document uses the following set of terms, roles, and concepts as defined in <xref target="RFC9334"/>:
Attester, Verifier, Relying Party, Endorser, Conceptual Message, Evidence, Attestation Result, Attesting Environment.</t>
      <t>Additionally, this document uses and adapts, as necessary, the following concepts and information elements as defined in <xref target="I-D.ietf-rats-reference-interaction-models"/>:
Attester Identity, Authentication Secret, Authentication Secret ID</t>
      <t>A PKIX Certificate is an X.509v3 format certificate as specified by <xref target="RFC5280"/>.</t>
      <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&nbsp;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="direct-anonymous-attestation">
      <name>Direct Anonymous Attestation</name>
      <t>Two protocols as described in <xref target="DAA"/> are illustrated: the Join Protocol and the DAA-Signing Protocol. This section specifies the mapping of the protocol entity DAA Issuer described in <xref target="DAA"/> as an actor in the Join Protocol as well as an actor in the corresponding DAA-Signing Protocol to roles specified in the RATS Architecture.</t>
      <t>In the Join Protocol, the protocol entity DAA Issuer takes on the RATS roles of Verifier and associated Relying Party. The mapping is illustrated in <xref target="join-mapping"/>.</t>
      <figure anchor="join-mapping">
        <name>RATS Architecture for the Join Protocol</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="568" viewBox="0 0 568 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
              <path d="M 8,384 L 8,416" fill="none" stroke="black"/>
              <path d="M 40,64 L 40,160" fill="none" stroke="black"/>
              <path d="M 56,288 L 56,384" fill="none" stroke="black"/>
              <path d="M 96,384 L 96,416" fill="none" stroke="black"/>
              <path d="M 112,208 L 112,264" fill="none" stroke="black"/>
              <path d="M 112,280 L 112,304" fill="none" stroke="black"/>
              <path d="M 112,336 L 112,432" fill="none" stroke="black"/>
              <path d="M 136,48 L 136,80" fill="none" stroke="black"/>
              <path d="M 136,256 L 136,288" fill="none" stroke="black"/>
              <path d="M 152,192 L 152,248" fill="none" stroke="black"/>
              <path d="M 192,96 L 192,248" fill="none" stroke="black"/>
              <path d="M 232,48 L 232,80" fill="none" stroke="black"/>
              <path d="M 280,48 L 280,64" fill="none" stroke="black"/>
              <path d="M 320,80 L 320,248" fill="none" stroke="black"/>
              <path d="M 344,256 L 344,288" fill="none" stroke="black"/>
              <path d="M 368,48 L 368,64" fill="none" stroke="black"/>
              <path d="M 368,384 L 368,416" fill="none" stroke="black"/>
              <path d="M 400,288 L 400,376" fill="none" stroke="black"/>
              <path d="M 416,48 L 416,64" fill="none" stroke="black"/>
              <path d="M 464,80 L 464,376" fill="none" stroke="black"/>
              <path d="M 496,384 L 496,416" fill="none" stroke="black"/>
              <path d="M 520,208 L 520,432" fill="none" stroke="black"/>
              <path d="M 544,48 L 544,64" fill="none" stroke="black"/>
              <path d="M 32,32 L 88,32" fill="none" stroke="black"/>
              <path d="M 152,32 L 216,32" fill="none" stroke="black"/>
              <path d="M 296,32 L 352,32" fill="none" stroke="black"/>
              <path d="M 432,32 L 528,32" fill="none" stroke="black"/>
              <path d="M 32,64 L 88,64" fill="none" stroke="black"/>
              <path d="M 296,80 L 352,80" fill="none" stroke="black"/>
              <path d="M 432,80 L 528,80" fill="none" stroke="black"/>
              <path d="M 152,96 L 216,96" fill="none" stroke="black"/>
              <path d="M 56,176 L 136,176" fill="none" stroke="black"/>
              <path d="M 112,208 L 144,208" fill="none" stroke="black"/>
              <path d="M 160,208 L 184,208" fill="none" stroke="black"/>
              <path d="M 200,208 L 312,208" fill="none" stroke="black"/>
              <path d="M 328,208 L 456,208" fill="none" stroke="black"/>
              <path d="M 472,208 L 520,208" fill="none" stroke="black"/>
              <path d="M 136,256 L 344,256" fill="none" stroke="black"/>
              <path d="M 72,272 L 128,272" fill="none" stroke="black"/>
              <path d="M 344,272 L 384,272" fill="none" stroke="black"/>
              <path d="M 136,288 L 344,288" fill="none" stroke="black"/>
              <path d="M 8,384 L 96,384" fill="none" stroke="black"/>
              <path d="M 368,384 L 496,384" fill="none" stroke="black"/>
              <path d="M 8,416 L 96,416" fill="none" stroke="black"/>
              <path d="M 368,416 L 496,416" fill="none" stroke="black"/>
              <path d="M 112,432 L 520,432" fill="none" stroke="black"/>
              <path d="M 32,32 C 23.16936,32 16,39.16936 16,48" fill="none" stroke="black"/>
              <path d="M 88,32 C 96.83064,32 104,39.16936 104,48" fill="none" stroke="black"/>
              <path d="M 152,32 C 143.16936,32 136,39.16936 136,48" fill="none" stroke="black"/>
              <path d="M 216,32 C 224.83064,32 232,39.16936 232,48" fill="none" stroke="black"/>
              <path d="M 296,32 C 287.16936,32 280,39.16936 280,48" fill="none" stroke="black"/>
              <path d="M 352,32 C 360.83064,32 368,39.16936 368,48" fill="none" stroke="black"/>
              <path d="M 432,32 C 423.16936,32 416,39.16936 416,48" fill="none" stroke="black"/>
              <path d="M 528,32 C 536.83064,32 544,39.16936 544,48" fill="none" stroke="black"/>
              <path d="M 32,64 C 23.16936,64 16,56.83064 16,48" fill="none" stroke="black"/>
              <path d="M 88,64 C 96.83064,64 104,56.83064 104,48" fill="none" stroke="black"/>
              <path d="M 296,80 C 287.16936,80 280,72.83064 280,64" fill="none" stroke="black"/>
              <path d="M 352,80 C 360.83064,80 368,72.83064 368,64" fill="none" stroke="black"/>
              <path d="M 432,80 C 423.16936,80 416,72.83064 416,64" fill="none" stroke="black"/>
              <path d="M 528,80 C 536.83064,80 544,72.83064 544,64" fill="none" stroke="black"/>
              <path d="M 152,96 C 143.16936,96 136,88.83064 136,80" fill="none" stroke="black"/>
              <path d="M 216,96 C 224.83064,96 232,88.83064 232,80" fill="none" stroke="black"/>
              <path d="M 56,176 C 47.16936,176 40,168.83064 40,160" fill="none" stroke="black"/>
              <path d="M 136,176 C 144.83064,176 152,183.16936 152,192" fill="none" stroke="black"/>
              <path d="M 72,272 C 63.16936,272 56,279.16936 56,288" fill="none" stroke="black"/>
              <path d="M 384,272 C 392.83064,272 400,279.16936 400,288" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="472,376 460,370.4 460,381.6 " fill="black" transform="rotate(90,464,376)"/>
              <polygon class="arrowhead" points="408,376 396,370.4 396,381.6 " fill="black" transform="rotate(90,400,376)"/>
              <polygon class="arrowhead" points="328,248 316,242.4 316,253.6 " fill="black" transform="rotate(90,320,248)"/>
              <polygon class="arrowhead" points="200,248 188,242.4 188,253.6 " fill="black" transform="rotate(90,192,248)"/>
              <polygon class="arrowhead" points="160,248 148,242.4 148,253.6 " fill="black" transform="rotate(90,152,248)"/>
              <polygon class="arrowhead" points="136,272 124,266.4 124,277.6 " fill="black" transform="rotate(0,128,272)"/>
              <g class="text">
                <text x="60" y="52">Endorser</text>
                <text x="184" y="52">Reference</text>
                <text x="324" y="52">Verifier</text>
                <text x="456" y="52">Relying</text>
                <text x="512" y="52">Party</text>
                <text x="168" y="68">Value</text>
                <text x="312" y="68">Owner</text>
                <text x="448" y="68">Owner</text>
                <text x="180" y="84">Provider</text>
                <text x="100" y="132">Endorsements</text>
                <text x="240" y="132">Reference</text>
                <text x="368" y="132">Appraisal</text>
                <text x="512" y="132">Appraisal</text>
                <text x="228" y="148">Values</text>
                <text x="356" y="148">Policy</text>
                <text x="400" y="148">for</text>
                <text x="500" y="148">Policy</text>
                <text x="544" y="148">for</text>
                <text x="364" y="164">Evidence</text>
                <text x="520" y="164">Attestation</text>
                <text x="504" y="180">Results</text>
                <text x="244" y="276">Verifier</text>
                <text x="108" y="324">Evidence</text>
                <text x="344" y="324">Attestation</text>
                <text x="328" y="340">Results</text>
                <text x="52" y="404">Attester</text>
                <text x="408" y="404">Relying</text>
                <text x="464" y="404">Party</text>
                <text x="160" y="420">DAA</text>
                <text x="204" y="420">Issuer</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
    .--------.     .---------.       .--------.       .-------------.
   | Endorser |   | Reference |     | Verifier |     | Relying Party |
    '-+------'    | Value     |     | Owner    |     | Owner         |
      |           | Provider  |      '---+----'       '----+--------'
      |            '-----+---'           |                 |
      |                  |               |                 |
      | Endorsements     | Reference     | Appraisal       | Appraisal
      |                  | Values        | Policy for      | Policy for
      |                  |               | Evidence        | Attestation
       '-----------.     |               |                 | Results
                    |    |               |                 |
               .----|----|---------------|-----------------|------.
               |    |    |               |                 |      |
               |    v    v               v                 |      |
               |  .-------------------------.              |      |
         .------->|         Verifier        +-----.        |      |
        |      |  '-------------------------'      |       |      |
        |      |                                   |       |      |
        |  Evidence                    Attestation |       |      |
        |      |                       Results     |       |      |
        |      |                                   |       |      |
        |      |                                   v       v      |
  .-----+----. |                               .---------------.  |
  | Attester | |                               | Relying Party |  |
  '----------' |    DAA Issuer                 '---------------'  |
               '--------------------------------------------------'
]]></artwork>
        </artset>
      </figure>
      <t>The Join Protocol is essentially an enrollment protocol that consumes Evidence from the Attester (therefore the mapping to the Verifier role). Corresponding Appraisal Policies for Evidence specific to the Join Protocol are used to produce Attestation Results to decide whether to issue a DAA credential to an Attester or not (therefore the mapping to the Relying Party role).</t>
      <t>In the DAA-Signing Protocol, the RATS role Endorser is then taken on by the DAA Issuer protocol entity. The mapping is illustrated in <xref target="sign-mapping"/>.</t>
      <figure anchor="sign-mapping">
        <name>RATS Architecture for the DAA-Signing Protocol</name>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="432" width="584" viewBox="0 0 584 432" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px">
              <path d="M 8,32 L 8,128" fill="none" stroke="black"/>
              <path d="M 32,384 L 32,416" fill="none" stroke="black"/>
              <path d="M 56,96 L 56,192" fill="none" stroke="black"/>
              <path d="M 80,288 L 80,384" fill="none" stroke="black"/>
              <path d="M 120,384 L 120,416" fill="none" stroke="black"/>
              <path d="M 136,32 L 136,128" fill="none" stroke="black"/>
              <path d="M 152,80 L 152,112" fill="none" stroke="black"/>
              <path d="M 152,256 L 152,288" fill="none" stroke="black"/>
              <path d="M 168,224 L 168,248" fill="none" stroke="black"/>
              <path d="M 208,128 L 208,248" fill="none" stroke="black"/>
              <path d="M 248,80 L 248,112" fill="none" stroke="black"/>
              <path d="M 296,80 L 296,96" fill="none" stroke="black"/>
              <path d="M 336,112 L 336,248" fill="none" stroke="black"/>
              <path d="M 360,256 L 360,288" fill="none" stroke="black"/>
              <path d="M 384,80 L 384,96" fill="none" stroke="black"/>
              <path d="M 384,384 L 384,416" fill="none" stroke="black"/>
              <path d="M 416,288 L 416,376" fill="none" stroke="black"/>
              <path d="M 432,80 L 432,96" fill="none" stroke="black"/>
              <path d="M 480,112 L 480,376" fill="none" stroke="black"/>
              <path d="M 512,384 L 512,416" fill="none" stroke="black"/>
              <path d="M 560,80 L 560,96" fill="none" stroke="black"/>
              <path d="M 8,32 L 136,32" fill="none" stroke="black"/>
              <path d="M 48,64 L 104,64" fill="none" stroke="black"/>
              <path d="M 168,64 L 232,64" fill="none" stroke="black"/>
              <path d="M 312,64 L 368,64" fill="none" stroke="black"/>
              <path d="M 448,64 L 544,64" fill="none" stroke="black"/>
              <path d="M 48,96 L 104,96" fill="none" stroke="black"/>
              <path d="M 312,112 L 368,112" fill="none" stroke="black"/>
              <path d="M 448,112 L 544,112" fill="none" stroke="black"/>
              <path d="M 8,128 L 48,128" fill="none" stroke="black"/>
              <path d="M 64,128 L 136,128" fill="none" stroke="black"/>
              <path d="M 168,128 L 232,128" fill="none" stroke="black"/>
              <path d="M 72,208 L 152,208" fill="none" stroke="black"/>
              <path d="M 152,256 L 360,256" fill="none" stroke="black"/>
              <path d="M 96,272 L 144,272" fill="none" stroke="black"/>
              <path d="M 360,272 L 400,272" fill="none" stroke="black"/>
              <path d="M 152,288 L 360,288" fill="none" stroke="black"/>
              <path d="M 32,384 L 120,384" fill="none" stroke="black"/>
              <path d="M 384,384 L 512,384" fill="none" stroke="black"/>
              <path d="M 32,416 L 120,416" fill="none" stroke="black"/>
              <path d="M 384,416 L 512,416" fill="none" stroke="black"/>
              <path d="M 48,64 C 39.16936,64 32,71.16936 32,80" fill="none" stroke="black"/>
              <path d="M 104,64 C 112.83064,64 120,71.16936 120,80" fill="none" stroke="black"/>
              <path d="M 168,64 C 159.16936,64 152,71.16936 152,80" fill="none" stroke="black"/>
              <path d="M 232,64 C 240.83064,64 248,71.16936 248,80" fill="none" stroke="black"/>
              <path d="M 312,64 C 303.16936,64 296,71.16936 296,80" fill="none" stroke="black"/>
              <path d="M 368,64 C 376.83064,64 384,71.16936 384,80" fill="none" stroke="black"/>
              <path d="M 448,64 C 439.16936,64 432,71.16936 432,80" fill="none" stroke="black"/>
              <path d="M 544,64 C 552.83064,64 560,71.16936 560,80" fill="none" stroke="black"/>
              <path d="M 48,96 C 39.16936,96 32,88.83064 32,80" fill="none" stroke="black"/>
              <path d="M 104,96 C 112.83064,96 120,88.83064 120,80" fill="none" stroke="black"/>
              <path d="M 312,112 C 303.16936,112 296,104.83064 296,96" fill="none" stroke="black"/>
              <path d="M 368,112 C 376.83064,112 384,104.83064 384,96" fill="none" stroke="black"/>
              <path d="M 448,112 C 439.16936,112 432,104.83064 432,96" fill="none" stroke="black"/>
              <path d="M 544,112 C 552.83064,112 560,104.83064 560,96" fill="none" stroke="black"/>
              <path d="M 168,128 C 159.16936,128 152,120.83064 152,112" fill="none" stroke="black"/>
              <path d="M 232,128 C 240.83064,128 248,120.83064 248,112" fill="none" stroke="black"/>
              <path d="M 72,208 C 63.16936,208 56,200.83064 56,192" fill="none" stroke="black"/>
              <path d="M 152,208 C 160.83064,208 168,215.16936 168,224" fill="none" stroke="black"/>
              <path d="M 96,272 C 87.16936,272 80,279.16936 80,288" fill="none" stroke="black"/>
              <path d="M 400,272 C 408.83064,272 416,279.16936 416,288" fill="none" stroke="black"/>
              <polygon class="arrowhead" points="488,376 476,370.4 476,381.6 " fill="black" transform="rotate(90,480,376)"/>
              <polygon class="arrowhead" points="424,376 412,370.4 412,381.6 " fill="black" transform="rotate(90,416,376)"/>
              <polygon class="arrowhead" points="344,248 332,242.4 332,253.6 " fill="black" transform="rotate(90,336,248)"/>
              <polygon class="arrowhead" points="216,248 204,242.4 204,253.6 " fill="black" transform="rotate(90,208,248)"/>
              <polygon class="arrowhead" points="176,248 164,242.4 164,253.6 " fill="black" transform="rotate(90,168,248)"/>
              <polygon class="arrowhead" points="152,272 140,266.4 140,277.6 " fill="black" transform="rotate(0,144,272)"/>
              <g class="text">
                <text x="32" y="52">DAA</text>
                <text x="76" y="52">Issuer</text>
                <text x="76" y="84">Endorser</text>
                <text x="200" y="84">Reference</text>
                <text x="340" y="84">Verifier</text>
                <text x="472" y="84">Relying</text>
                <text x="528" y="84">Party</text>
                <text x="184" y="100">Value</text>
                <text x="328" y="100">Owner</text>
                <text x="464" y="100">Owner</text>
                <text x="196" y="116">Provider</text>
                <text x="116" y="164">Endorsements</text>
                <text x="256" y="164">Reference</text>
                <text x="384" y="164">Appraisal</text>
                <text x="528" y="164">Appraisal</text>
                <text x="244" y="180">Values</text>
                <text x="372" y="180">Policy</text>
                <text x="416" y="180">for</text>
                <text x="516" y="180">Policy</text>
                <text x="560" y="180">for</text>
                <text x="380" y="196">Evidence</text>
                <text x="536" y="196">Attestation</text>
                <text x="520" y="212">Results</text>
                <text x="260" y="276">Verifier</text>
                <text x="124" y="324">Evidence</text>
                <text x="360" y="324">Attestation</text>
                <text x="344" y="340">Results</text>
                <text x="76" y="404">Attester</text>
                <text x="424" y="404">Relying</text>
                <text x="480" y="404">Party</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
.---------------.
| DAA Issuer    |
|   .--------.  |  .---------.       .--------.       .-------------.
|  | Endorser | | | Reference |     | Verifier |     | Relying Party |
|   '-+------'  | | Value     |     | Owner    |     | Owner         |
|     |         | | Provider  |      '---+----'       '----+--------'
'-----|---------'  '-----+---'           |                 |
      |                  |               |                 |
      | Endorsements     | Reference     | Appraisal       | Appraisal
      |                  | Values        | Policy for      | Policy for
      |                  |               | Evidence        | Attestation
       '-----------.     |               |                 | Results
                    |    |               |                 |
                    v    v               v                 |
                  .-------------------------.              |
          .------>|         Verifier        +-----.        |
         |        '-------------------------'      |       |
         |                                         |       |
         | Evidence                    Attestation |       |
         |                             Results     |       |
         |                                         |       |
         |                                         v       v
   .-----+----.                                .---------------.
   | Attester |                                | Relying Party |
   '----------'                                '---------------'
]]></artwork>
        </artset>
      </figure>
      <t>The DAA Issuer acts as the Endorser for the Group Public Key that is used by the Verifier for the appraisal of evidence of anonymized Attesters that use the DAA credentials and associated key material to produce Evidence.</t>
      <t>In consequence, DAA provides a signature scheme that allows the privacy of users that are associated with an Attester (e.g., its owner) to be maintained.
Essentially, DAA can be seen as a group signature scheme with the feature that given a DAA signature no-one can find out who the signer is, i.e., the anonymity is not revocable.
To be able to sign anonymously, an Attester has to obtain a credential from a DAA Issuer.
The DAA Issuer uses a private/public key pair to generate credentials for a group of Attesters <!-- this could be phrased a bit confusing as below it is stated that the key-pair is used for a group of Attesters --> and makes the public key (in the form of a public key certificate) available to the Verifier in order to enable it to validate the Evidence received.</t>
      <t>In order to support these DAA signatures, the DAA Issuer <bcp14>MUST</bcp14> associate a single key pair with a group of Attesters <!-- is it clear enough what exactly "a group of Attesters" means? --> and use the same key pair when creating the credentials for all of the Attesters in this group.
The DAA Issuer's group public key certificate replaces the individual Attester Identity documents during authenticity validation as a part of the appraisal of Evidence conducted by a Verifier.
This is in contrast to intuition that there has to be a unique Attester Identity per device.</t>
      <t>For DAA, the role of the Endorser is essentially the same, but it now provides Endorsements to the DAA Issuer rather than directly to the Verifier. These Endorsements enable the Attester to obtain a credential from the DAA Issuer.</t>
    </section>
    <section anchor="daa-changes-to-the-rats-architecture">
      <name>DAA changes to the RATS Architecture</name>
      <t>In order to enable the use of DAA, a new conceptual message, the Credential Request, is defined and a new role, the DAA Issuer role, is added to the roles defined in the RATS Architecture.</t>
      <dl>
        <dt>Credential Request:</dt>
        <dd>
          <t>An Attester sends a Credential Request to the DAA Issuer to obtain a credential. This request contains information about the DAA key that the Attester will use to create evidence and, together with Attester endorsement information that is provided by the Endorser, to confirm that the request came from a valid Attester.</t>
        </dd>
        <dt>DAA Issuer:</dt>
        <dd>
          <t>A RATS role that offers zero-knowledge proofs based on public-key certificates used for a group of Attesters (Group Public Keys) <xref target="DAA"/>. How this group of Attesters is defined is not specified here, but the group must be large enough for the necessary anonymity to be assured.</t>
        </dd>
      </dl>
      <t>Effectively, these certificates share the semantics of Endorsements, with the following exceptions:</t>
      <ul spacing="normal">
        <li>Upon receiving a Credential Request from an Attester, the associated group private key is used by the DAA Issuer to provide the Attester with a credential that it can use to convince the Verifier that its Evidence is valid.
To keep their anonymity, the Attester randomizes this credential each time that it is used. Although the DAA Issuer knows the Attester Identity and can associate this with the credential issued, randomization ensures that the Attester's identity cannot be revealed to anyone, including the DAA Issuer.</li>
        <li>The Verifier can use the DAA Issuer's group public key certificate, together with the randomized credential from the Attester, to confirm that the Evidence comes from a valid Attester without revealing the Attester's identity.</li>
        <li>A credential is conveyed from a DAA Issuer to an Attester in combination with the conveyance of the group public key certificate from DAA Issuer to Verifier.</li>
      </ul>
    </section>
    <section anchor="additions-to-remote-attestation-principles">
      <name>Additions to Remote Attestation principles</name>
      <t>In order to ensure an appropriate conveyance of Evidence via interaction models in general, the following prerequisite considering Attester Identity <bcp14>MUST</bcp14> be in place to support the implementation of interaction models.
<!-- This is a weird MUST: It is not clear who MUST do what here. -->
      </t>
      <dl>
        <dt>Attestation Evidence Authenticity:</dt>
        <dd>
          <t>Attestation Evidence <bcp14>MUST</bcp14> authentic.</t>
        </dd>
        <dt/>
        <dd>
          <t>In order to provide proofs of authenticity, Attestation Evidence <bcp14>SHOULD</bcp14> be cryptographically associated with an identity document that is a randomized DAA credential.</t>
        </dd>
      </dl>
      <t>The following information element defines extensions for corresponding information elements defined in <xref target="I-D.ietf-rats-reference-interaction-models"/>, which are vital to all types of reference interaction models.
Varying from solution to solution, generic information elements can be either included in the scope of protocol messages (instantiating Conceptual Messages defined by the RATS architecture) or can be included in additional protocol parameters of protocols that facilitate the conveyance of RATS Conceptual Messages.
Ultimately, the following information element is required by any kind of scalable remote attestation procedure using DAA with one of RATS's reference interaction models.</t>
      <dl>
        <dt>Attesting Environment IDs ('attEnvIDs'):</dt>
        <dd>
          <t><em>mandatory</em></t>
        </dd>
        <dt/>
        <dd>
          <t>In DAA, the Attesting Environment's identity is not revealed to the Verifier. Attesting Environments <bcp14>MUST</bcp14> be issued with a credential by the DAA Issuer that is randomized and then used to anonymously confirm the validity of their Evidence.
Corresponding Evidence is appraised using the DAA Issuer's group public key.</t>
        </dd>
        <dt/>
        <dd>
          <t>In DAA, Attesting Environment ID does not identify a unique Attesting Environment but is associated with a group of Attesting Environments.
This is because an Attesting Environment should not be distinguishable and the DAA credential which represents the Attesting Environment is randomized each time it used.</t>
        </dd>
      </dl>
    </section>
    <section anchor="implementation-status">
      <name>Implementation Status</name>
      <t>Note to RFC Editor: Please remove this section as well as references to <xref target="BCP205"/> before AUTH48.</t>
      <t>This section records the status of known implementations of the protocol defined by this specification at the time of posting of this Internet-Draft, and is based on a proposal described in <xref target="BCP205"/>.
The description of implementations in this section is intended to assist the IETF in its decision processes in progressing drafts to RFCs.
Please note that the listing of any individual implementation here does not imply endorsement by the IETF.
Furthermore, no effort has been spent to verify the information presented here that was supplied by IETF contributors.
This is not intended as, and must not be construed to be, a catalog of available implementations or their features.
Readers are advised to note that other implementations may exist.</t>
      <t>According to <xref target="BCP205"/>,
"this will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.
It is up to the individual working groups to use this information as they see fit".</t>
      <section anchor="implementer">
        <name>Implementer</name>
        <t>The open-source implementation was initiated and is maintained by Ubitech.</t>
      </section>
      <section anchor="implementation-name">
        <name>Implementation Name</name>
        <t>The open-source implementation is named "TPM Direct Anonymous Attestation (DAA) Library".</t>
      </section>
      <section anchor="implementation-url">
        <name>Implementation URL</name>
        <t>The open-source implementation project resource can be located via: <eref target="https://github.com/ubitech/daa-a">https://github.com/ubitech/daa-a</eref></t>
      </section>
      <section anchor="maturity">
        <name>Maturity</name>
        <t>The code's level of maturity is considered to be "production".</t>
      </section>
      <section anchor="coverage-and-version-compatibility">
        <name>Coverage and Version Compatibility</name>
        <t>The current version ('ce85eb1') implements a C library and reference implementation of Direct Anonymous Attestation (DAA) targeting TPM 2.0-equipped platforms and the IBM TPM 2.0 simulator.</t>
      </section>
      <section anchor="license">
        <name>License</name>
        <t>The Ubitech DAA  project and all corresponding code and data maintained on GitHub are provided under the MIT license.</t>
      </section>
      <section anchor="implementation-dependencies">
        <name>Implementation Dependencies</name>
        <t>The implementation requires the use of the Trusted Computing Group (TCG) Trusted Software Stack (TSS), and an HSM interoperable with the Trusted Platform Module Library specifications, e.g., a Trusted Platform Module (TPM) 2.0 or equivalent implementation.
The corresponding project resources (code and data) for Linux-based operating systems are maintained on GitHub at <eref target="https://github.com/tpm2-software/tpm2-tss/">https://github.com/tpm2-software/tpm2-tss/</eref>.</t>
      </section>
      <section anchor="contact">
        <name>Contact</name>
        <t>Thanassis Giannetsos (agiannetsos@ubitech.eu)</t>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>As outlined above, for DAA to provide privacy for the Attester, the DAA group must be large enough to stop the Verifier identifying the Attester.</t>
      <t>Randomization of the DAA credential by the Attester means that collusion between the DAA Issuer and Verifier, will not give them any advantage when trying to identify the Attester.</t>
      <t>For DAA, the Attestation Evidence conveyed to the Verifier <bcp14>MUST</bcp14> not uniquely identify the Attester. If the Attestation Evidence is unique to an Attester other cryptographic techniques can be used, for example, property based attestation <xref target="PBA"/>.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The anonymity property of DAA makes revocation difficult. Well known solutions include:</t>
      <ol spacing="normal" type="1">
        <li>Rogue Attester revocation -- if an Attester's private key is compromised and known by the Verifier then any DAA signature from that Attester can be revoked.</li>
        <li>EPID - Intel's Enhanced Privacy ID -- this requires the Attester to prove (as part of their Attestation) that their credential was not used to generate any signature in a signature revocation list.</li>
      </ol>
      <t>There are no other special security considerations for DAA over and above those specified in the RATS architecture document <xref target="RFC9334"/>.</t>
    </section>
    <section anchor="implementation-considerations">
      <name>Implementation Considerations</name>
      <t>The new DAA Issuer role can be implemented in a number of ways, for example:</t>
      <ol spacing="normal" type="1">
        <li>As a stand-alone service like a Certificate Authority, a Privacy CA.</li>
        <li>As a part of the Attester's manufacture. The Endorser and the DAA Issuer could be the same entity and the manufacturer would then provide a certificate for the group public key to the Verifier.</li>
      </ol>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <seriesInfo name="DOI" value="10.17487/RFC5280"/>
            <seriesInfo name="RFC" value="5280"/>
            <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>
        </reference>
        <reference anchor="DAA">
          <front>
            <title>Direct anonymous attestation</title>
            <seriesInfo name="DOI" value="10.1145/1030083.1030103"/>
            <seriesInfo name="Proceedings of the 11th ACM conference on Computer and communications security" value="pp. 132-145"/>
            <author fullname="Ernie Brickell" initials="E." surname="Brickell">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Jan Camenisch" initials="J." surname="Camenisch">
              <organization>IBM Research</organization>
            </author>
            <author fullname="Liqun Chen" initials="L." surname="Chen">
              <organization>HP Laboratories</organization>
            </author>
            <date month="October" year="2004"/>
          </front>
          <refcontent>ACM</refcontent>
        </reference>
        <referencegroup anchor="BCP205" target="https://www.rfc-editor.org/info/bcp205">
          <reference anchor="RFC7942" target="https://www.rfc-editor.org/info/rfc7942">
            <front>
              <title>Improving Awareness of Running Code: The Implementation Status Section</title>
              <seriesInfo name="DOI" value="10.17487/RFC7942"/>
              <seriesInfo name="RFC" value="7942"/>
              <seriesInfo name="BCP" value="205"/>
              <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
              <author fullname="A. Farrel" initials="A." surname="Farrel"/>
              <date month="July" year="2016"/>
              <abstract>
                <t>This document describes a simple process that allows authors of Internet-Drafts to record the status of known implementations by including an Implementation Status section. This will allow reviewers and working groups to assign due consideration to documents that have the benefit of running code, which may serve as evidence of valuable experimentation and feedback that have made the implemented protocols more mature.</t>
                <t>This process is not mandatory. Authors of Internet-Drafts are encouraged to consider using the process for their documents, and working groups are invited to think about applying the process to all of their protocol specifications. This document obsoletes RFC 6982, advancing it to a Best Current Practice.</t>
              </abstract>
            </front>
          </reference>
        </referencegroup>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <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>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="BCP" value="14"/>
            <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>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9334">
          <front>
            <title>Remote ATtestation procedureS (RATS) Architecture</title>
            <seriesInfo name="DOI" value="10.17487/RFC9334"/>
            <seriesInfo name="RFC" value="9334"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="N. Smith" initials="N." surname="Smith"/>
            <author fullname="W. Pan" initials="W." surname="Pan"/>
            <date month="January" year="2023"/>
            <abstract>
              <t>In network protocol exchanges, it is often useful for one end of a communication to know whether the other end is in an intended operating state. This document provides an architectural overview of the entities involved that make such tests possible through the process of generating, conveying, and evaluating evidentiary Claims. It provides a model that is neutral toward processor architectures, the content of Claims, and protocols.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-reference-interaction-models">
          <front>
            <title>Reference Interaction Models for Remote Attestation Procedures</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-reference-interaction-models-15"/>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Michael Eckel" initials="M." surname="Eckel">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <date day="5" month="November" year="2025"/>
            <abstract>
              <t>   This document describes interaction models for remote attestation
   procedures (RATS) [RFC9334].  Three conveying mechanisms --
   Challenge/Response, Uni-Directional, and Streaming Remote Attestation
   -- are illustrated and defined.  Analogously, a general overview
   about the information elements typically used by corresponding
   conveyance protocols are highlighted.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="PBA">
          <front>
            <title>Property-Based Attestation without a Trusted Third Party</title>
            <seriesInfo name="ISBN" value="[&quot;9783540858843&quot;, &quot;9783540858867&quot;]"/>
            <seriesInfo name="DOI" value="10.1007/978-3-540-85886-7_3"/>
            <seriesInfo name="Lecture Notes in Computer Science" value="pp. 31-46"/>
            <author fullname="Liqun Chen" initials="L." surname="Chen">
              <organization/>
            </author>
            <author fullname="Hans Löhr" initials="H." surname="Löhr">
              <organization/>
            </author>
            <author fullname="Mark Manulis" initials="M." surname="Manulis">
              <organization/>
            </author>
            <author fullname="Ahmad-Reza Sadeghi" initials="A." surname="Sadeghi">
              <organization/>
            </author>
            <date month="September" year="2008"/>
          </front>
          <refcontent>Springer Berlin Heidelberg</refcontent>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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

-->

</rfc>
