<?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-08" 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-08"/>
    <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="2025" month="September" day="03"/>
    <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">https://github.com/ubitech/daa</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-14"/>
            <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="7" month="July" 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:
H4sIAEN4uGgAA+1c63LjNpb+z6fAOD9kJ5La7kviqLJJFLs77Z12t8d2Z2Zq
amoLIiGJY4pgCFJqpd1b8w77a//ts+yjzJPMuQAgSNGXpLa2aqtWVWlLJC4H
B+fy4ZyDjEajaD0Rz6KoSqtMTcRpWqq4EtNc59uVro2YVpUylaxSnYu5LkW1
VOJSrXSlWq8uSh2rpC4V9CjjZVrBKPArkrNZqWCG0+mUul9Or6+iRMe5XMFs
SSnn1ShV1XxUysqMEilHh8fRZjGhhuKPurxJ84X4sdR1EclSyYm4UnFdptU2
MhX8Xk3E2cvrV9HNBr7klSpzVY1OcdgoltVEpPlcR9Fa5bWaREIscKCJX8B1
zwKuxD7ScgCtVzLNJgJ/fY80jnW5wDHSalnPYGhP9mbxpGclUSTraqnLSTQS
vNzXKr8RP6TlzVJnv8BIMN5EvCplnS/1XJXi6uwanjqW7bxQTM8SRhnP7ChM
WKzzSsYVtEGmKFj35VKlOfyQxijx1Qt4E+sESBh8+fzp1y8G+Bt4CPsiyxWw
IKmoRZ1XJTz8UZUrmW893SfLMjWVLpZAylu1qXTuiH+fp2tVGhhK6Lm4qstS
bRtK4/zw8OjL7w09Hst4XN/4Md+kP9c5jKweOVaG7ccxtO8f73opc1hsasSP
qcxBCow2fuQZyuOyGUwufJvva345VrUf61SuFQ6YqdINcZ7GpTZ6XjWDJBW1
+H7lXsE2rEI2vr+aRlGugZcVrAzF7/LVyYunx4f4FRQCJnp3Nj46HB8dPX/x
5Ojw2eHh8bMx/oX/oMkPJxdPD19MogiFuD3K18+ePWcdgd9no9NxI3mlAolR
eaxGKeoDiAWI92gFu5+ZieC/0Onih2D+w8Ovnnz91fHo2ejF88PR8Yvj4y9H
X/0bWIXRaATyiHIE0hVdL4G9oLz1SuUVaEdhyByA9MWqqHDX7jUf+7DmA1Hp
R9iQfVzaQcuUjGF6JYpSVzrWmQAKUFLQrpwZU4NkAm2w4lInNYwiZJ6ItDJI
ZYEmZANaK9QHkGP8Rdal1JnCPjSIH9hUCtYFg5lCxek8VcmY+bBKkyRTUfQZ
GhqaBqmOoh5jUgTGBKcaio8fR/jl06cDkSgTl+lMiWB/jJipaqNULjYqy0aJ
mqc5LqJZv8yQz0B9VcPSiWxTF4Uuie+XKtviui5kWaUKt0VWolQ/17AfwApR
5wmoVgVMwVZypuuKdqEqa1NtYJAlzGcMDiWhHy2oUKpkpqeJ5Ta+zu2eAccd
j2MNCmkKzaPza/z2Ml+npc5XRHCRyS0Mvk4rWAqyHpeAPBlHUxhhtQK+baAJ
yAeJMH4xdbzEGT0BKUvcFAwrPomZ3eASSlWJs1MhQT4t72B0ljOrDuwemN3i
nNTAeyTcHtaMT594yXNoyFxUYJS2/YsSMdAGG1nnYJxgByydKDNuerTM6gPt
EVGDkwW7qnBFua5gpcCXGTAFSeIpQXAzt0LobndFNgoDjEuSFL8BR1NUAhR3
6AjWWokNcEhcwK7j64A2msVbFFTLi7OzAwECDj0qNPF6Nq8NTAyrAGJgIXGm
JOwHrgPtAVKdx1md8DIDisTLNU4DzOZV5L2iwU0vlamzyow7ViXNshrtDTQU
S715jEXBXVgBHxbQibhMvECe+Y3ZL9XooMWBfikFarSQMYgj8N4sWQIWWmZD
Gvge60OSx4pNXPn4EV5++nSHVUpqUlPohPqOfwNbZdhYadqMwFIh40Oj9Jm4
Bked5jrTi23XOtdGsa7MdZbpDS7UKJZD6GSGPOaQKLIG3HTUx9usSeRUfih+
UiXOD99Cm7MdAhsTXRp8ccLD1SCV52BU5EINvWAMe2Rg2L8ZsMJGvrMt7sDO
ApF6mUigfYjE5yrGCcvtsLP0ZoW4AYHwq0yxedpZurMHzeLFmTVDw34DdMdj
sEuwEnHx+7M/iRNVogSicqFkgOD+afzi8Ov1M8EkiThoIAMfJGZbIMriBzRS
ZKVu1FaA9U6M2Dt/f3W9N+S/4u07+n758g/vzy5fnuL3q9fTN2/8l8i2uHr9
7v2b0+Zb0/Pk3fn5y7en3BmeitajaO98+uc9lp69dxfXZ+/eTt/ssdELNwlF
Fuy4c3YFsAO1wEQtXQGg89//dfQcFvg7WOHTo6OvQXH4x/HRV8/hBxoznk3n
oM78E3i9jUBl0DihHQJFimWB/oWlwYD9yAEuI3aIPv8LcuavE/HNLC6Onn9r
H+CCWw8dz1oPiWe7T3Y6MxN7HvVM47nZet7hdJve6Z9bvx3fg4fffJeBCIvR
0fF330ZoIe4znyBDG+1tmrnThJHB92Y5mZBu/atOCbGxPcSdwafQYXSVLnKy
C/blWJBlMopdrxNptk4Onln/eI+B7SeNdAh8NTuqHsIaC9tt2HZNfZQTFiHT
2+ihgxVoltvwNDrrIeBBv1HJGxhfB6PyjMAQZ2rZyhmj45SccsvwIncbNqK3
aXaKOfU3oGdkG5Dl+Hf4CCnNGk+zQoxH9jMWrZ/2906DsAk9xVFuvf2Hr/iz
wV231Oe2WY570FqHuCViBqMveNSB7SQzcOX8nf99t8lhjL4H/DsSQXP3HbYD
HVDpnw9gii/8PPaBmxue9ozCTajNoDV499NHwh2N7+tsGcruiR81TOXf06Io
ZWrA0Yruk/toIKaa5veFBqC5Jei58+TXrMWjv4acwNrYh4NQdB7LFIcWo51X
rv3jOes/JMa3/p/g0/3tn4y7Y9y2/3lgFf100PO1/yf4dH/fO8Z4h+iu3t45
huv6bUO011b7+aI90s4Yt/7P4E46Bq2m943x4Oe+MbpiGH5C9Plb6bCy+L+y
lseOsW7/xTHG3lzBtj00Rld4xjzGbXPYv31wjB2LzmMMQgGgMQL31/10hWfQ
I+t3C9jdkkdOL/o4EZ+F7lBQ1Ptf9na8uQ91t5z53ieG3W2IAT4XDh3o2emc
DTBD5eDDMwLA3vPTSRIjOACMTSOi81KvOKTh+LyPxz4F86sWQLJhM6+WiBIO
xnDWap2vvT8gA44gCxfiZ7MwJnajdbASTAmnqgTfFnxi7Tux4+sExkmUjxjA
Ez5zS9pbOPUkzA98E0aMgBiMdty/xrYU8UI9uurDacM2eGqgCIeLcgJZOYIs
OEXZQZwAdqDZw3DKwOQ7cIrR1I4SRbcdWb+NbkUbUN3+JsR120Fct78Ncd2K
NuK6/W2I6zZozt9+C+JitW5c7+D/EdeDa/k/hrjo81ik09P58RAn2un0K7BN
09n3eTyo6en84Ke386+GMY+duRe//I+R/diPRyzYuYVVHvjsWlnRASoPkt1z
8hzs7Ojdnx2Q0qCL0Ds8jC76nJkDGWFsOeYAJXbxRt+NQblxcVHPwH6I36st
Iw3wXOTKrcPzEu96SW/H9FwoH7XH/A5GitJfoK/jqE0nwXjeeTYe3nSjExiT
XMG30rp/hyScOLMrRySkfq45JGzzb9gAhhPIQ0l8MvESrDFPLzGWa2w4JV3L
mNJRQJSjD+FLQAfF0EPssa/Gi/GQAu0aHdiBjUyuZJpXEiO/4+hlA+SYLJvh
MZiawxgSVxDskkizUcxZ8XPOHKSYA2FQ1HTJ9UjnioaepxjSrCtAUox9sBUB
FyB0rMaMbOyecP4L8VOp1jrGNAblK4A+Smlgwgy62+a6NriIkANLSeBNz3C5
QFaA0wiHykDoxl0h5Hg7875STwoWONztQqYEARcKSMfAdSgdKHCOa7BfjUx9
87vRiKPFsa6zBFdRLEuJQivFLCWwPK8N5SsxPQq7D3tHidmKNpg4XHEUfEQ0
OKG/c07wAiSuKwq6kSg1y9i3oT2MxHMiNHgZxOUPhFzLNHMsb6kXDKHLhBGx
yjnVVuGPtczSxOWnvGUvVaxARBLWCd/TJXahrVFt4THDLoClKLaXe1KffJGp
ZmdYEe7cAsS4lU3xqVzXiyUII+Y9P4DZgfPMXl/XPbFSMjffeY4642DkKpwa
wTdIg6TcDgVdu6KRZS7229Dl0gg0b1cQ//H3/7Rv7tgf4GqRydhuMChYCuzG
ZNROHsfnKTAhV5KkuQQOvrV7hj6WVL+QpU/ktuyn308QWSwLYLsrvVjYHCel
AikjDGJOUgGGp6YElxdmMA9WS1GrbQKzh/KCIuLrlOzpK2AkMIhFg05Alsrw
IBSeUd1ODcUMbA9sfw7K5S1wCwZbCQ8EDlScznxLMC0JpReybVcR6BhlVHso
qxCt0+595qg9LyU8ySTDxAvlKdvxrm1dCiZFGcUaFeSUFLnauLQgCsfKZSqx
5UlDySV6KVMNkYW+LAM9Hg2AzN7RSH6I6b0k4dO025fd6oSeNMLu5JMomohp
YMhhJxOUyN2mPfvVz2KblSltN6ogS3PTSo42dSI43I3DFq0N3MABmbVfs6ar
Bk4An4A5esFBArJDvp9qJKM1p0MvVho9gmnSyzgRuIa0XDXk+GWg+bG+jNTX
TwiMbXjCDA0iBjSQns/R+vyiSj26AY3IVLKg3I2egwMiz4S1PWR0Rh2j85Dn
2e/CNHPgklhj8Rq0rzF47Y6B2LlSEZ+LQnPBKow84M6rGtgAtiOTJRBvDbpD
fT4/HkAKa2qALyU5opfAhRhLzTjljlrcWqdZShu2gd2TaCspWRVq+jCAQz4F
rz6gqmGtE3D/c/G+AF6y/yPD2yfLvJGN3Fs01GA86wYYkpCAdnBvWw2sTHUF
mNxjGLMiEeTqHifZOgcyY9X29rZhEM6D6UnsCJfdKFVgh7Rs2D1sT16CimhE
28ZCoYYKJWNgYergb+ox/VhMs2pJ+9pZIgqtaU/gHQbVeWAK1CMFmtBvVDAz
hfJAcx1xtlIiN1Sat2MCBqapz4IZUERnqJFrJTM2fzLfAuAd2qohBwVC0/45
hd08Yz3nW80G9/v9rqkhu+D4m/R6l0CweoxK4NYxZttrVmgqtJK8Xre2Ht7g
IqdtNpNYqS3ajS787gZOCTisZmnOm9FsG40g7eGtMQN3QCOapz1LA1LAv7qC
G/KuPSWaoGp5nBbgybpeFoWDUuwAjDQ0o3NAizjPznUqw9pHW5OKS+QTRNat
3ilKRbWMJuVBDQYWm3qyUMwJDVO5iSAQ2IHTIl0VXPHj6+p2KRlHBIwdZpNi
Ayqc0NATcVY5O8yQGQ9uNGmiGTdTvQni4igKOedXPw0gJvuhvlaM6l3TMbYL
+e0smXVOeFoJhh32j2lLUWao7NsClKWUxRLkgrIWuwfntIuSvW+WoV61wwG2
MKnZu55iK+vQABB+qEBwSNzQQ7ULMnqrtPpLtMDfwDqWFAHg+lLUHsAl1bbg
UgpfFN273T+BR8QpSTuMzmpGItp/H7JkgkL1UmWDBCol4xPWRpKbjHVBCuBT
DRZrGjxyYlEuMI4OSLuFc82KrUPbKSA9wJyKJaBVldmUhvp54QAD+IhgRUCO
NelzGadZWrkzalt3adoe8sbR+wx8FHTKdmru+nbeIk44NfARKd+KGwqBzIFN
ks/Uu4WuTT214IAAyhzXSOaevIF5YJej/hres1PYhwHMBg/h++CAlPJzgDZw
9tPl9nOre/6A1TtM6ASbII33gO2z0R0V0t52kf/tASY9oMZqZKCPthQr96m8
IBwU+DjFjsxWdTNKaUJ07bRiCG/swVcldivaBPUezschB+/aBLAyivlmy3S3
3eNvtw8dXc2u5eqi6J4aX2vZZyqWCDO8o+1OYZYUmrKQJuHLA+CHliSoQdFb
uEtsi0oFXsvwEfouoensXIP40oqRHl02aHusK/hbg/d9izqCTvrViXgJ26jL
ibgAj2RYgdYW37mqu6AOzmsJOfmPH/mayadPsETKyE7fX79+fjy2BcVuAIDq
VGhKFo1oQA4j4sw7TtXsFPO1bFhzs8JWyVq0RQtHs6SZTzQING7f6uIi0DQ4
j2FIUkMnmXVLBN3COILELwvv9js0u5iTWy/XbcMp1SoRXi1iQvG+GTanOm5Y
iPEWyhi+TwI/FrD5pB90MczYnQLZs3uU0/Y5pJmlfs1oEoOYVQevUICo0RR4
uW2dpK2FQBLH0au6RIe00nhKzAGkzecIg5YUTlVUiZlzcBIt09aGyxqjbQXY
HjSZ2g3W1dZ4M4H3k5hBIa0U9BHoaLSLKHQslLbUnI6nVp/oPktZM4NnCoMy
IBIy08wIH2TdEa/S2isba4c5L5XECy6cA0jWqTV9DZe5mL47Et6WoDtB6B1i
FHBbhtAIzzDaswcl1B70bWjYU7Wh6WBFG3tHkayOcbKyyEVSN2BVOkTRRByJ
rKVcs7udAb6YpxReLOs855r1RDlkg4QaVa6pKDxM14ARr4lJ6kMBu9hICpI2
VyqZyfgmmGsl7fnXswI41SABlBXM3lAkiqEumFLrwAKx3F00H9fSTgCJ7AWS
DsAgrfbQoAUWTZWMFgEf5SOj6zLeAegob2meVmzgre43GRsUQXu7rzM2d38L
eOfBOVBWoV0i9q4vzh9z4eRNOisBMnaXw03eX755cEZg+N9wEpBdfm8BXKb5
2g2ckCbim2VVFWby5AlfOMXbhU/sZcUniZTf0uTnuFd4G5amRJEBJJIB8qDA
9Mq+tWdNEkWnbmKv8JfY7EpOwG2UAOuIzz/hXUyg9USvCqB6huDQTYMXMMF0
rG2T/UGsjl+o2dHgoFkpxSfBshGraMQAnu2cwh5zcRAjWmQmcZuejg//8ff/
QCxZFCjCmaxQ7oz3ymc/nLuGwqSrOkM0x+t8k8Zw7rCCYcWHvLjfGIrw4n2C
Fg5C9tIrQIYylEKg8ce0el3PyAD50CXduiNizs+ugRU0a6/QnKoC7WSOJVtM
VodFFjWbMJCNX6/xAh9MhbtUV/6utNi/PvnxwL+90vNqg6QBegBzsH99dXXA
9hjk7vXVOeNlENiSbImPLrj+F5a7eG+uhgZWAdqOHCw8Z1jlnf32YUMOaEfw
fhisCMwX4aDWYsdWlkPWdzUGMHtrNw7oBPkmzesPIwsNCjK7eO9pC8Ss2Dn0
b1rVq2xVsXo6MpZ1/Ksy5sm3Tln4znXUd/NY7PdfMT6gSxkXNn99EnoH2Pep
wVxwxjmGGSjjkFaFktk683NvF9RtR0ex8T2RYDzUVrroZC0t4u5Gr2Chl60Y
oBW6DuC1oMMHYyg1KGzBI5bPYVd3v7VzgLGWxl4pIyeL6AAT59h0RXgIPDoc
ktEwUUKx4tM65s/cUaFDdSsh1hsL8ZG3bgaXDmFIQvdSZ2cScTa/e3R0m3x0
6dY/EgxphV8EigY19oEExP689eqDRNUYEsZVWKzCwh0ejv9y8cP0r3RUcP9r
hB3Bum4VEfixOBlms+FcU0AjJukclLrOqrH4Ix4aGOW7YIhxcQY4KB+NxaVe
hBnKYBhMLrcuDA9MN1aPFy1LkC9jnTvP1C1aoeMsCkK7jsKGcUHM/OyWgUjE
DZ6fno7Fyws4XI7oGJENMLm5xKBG4pUQ39pChJaRDVOUqHpgvQCLBDlgAKDB
5h94NJ+WrdOgZCTsTuO+SALX06yFsnPNz4CLGcPTa8LgkspHrBiR9YUpjNv2
Fto03nagV2djP+NzoTbqjhtNravJPu7nL4L2HUj7ZA1To52EqI9RBbiTFp3X
qxlqxhxvf5uW2LOATakmCO+uj+BskCsCwuBLgTM3mCMP71RO6f+4QSFQ2ZjZ
KQnCtJvDD8RyJfMar3wj7qVUhM+ch4d8uxxfr+LS6O5al2sbjFYCVMbWJMLO
gst2TN7a8Z3AfTduxP8bAgT00T8BDUkpbrhFAAA=

-->

</rfc>
