<?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.1 (Ruby 3.0.2) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<?rfc toc_levels="4"?>

<rfc ipr="trust200902" docName="draft-tschofenig-oauth-attested-dclient-reg-01" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="Attestation in Dynamic Client Registration">The Use of Attestation in OAuth 2.0 Dynamic Client Registration</title>

    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="J." surname="Herrmann" fullname="Jan Herrmann">
      <organization>Siemens</organization>
      <address>
        <email>jan.herrmann@siemens.com</email>
      </address>
    </author>
    <author initials="N." surname="Smith" fullname="Ned Smith">
      <organization>Intel Corperation</organization>
      <address>
        <email>ned.smith@intel.com</email>
      </address>
    </author>
    <author initials="T." surname="Hardjono" fullname="Thomas Hardjono">
      <organization>Massachusetts Institute of Technology</organization>
      <address>
        <email>hardjono@mit.edu</email>
      </address>
    </author>

    <date year="2023" month="October" day="23"/>

    <area>Security</area>
    <workgroup>OAuth</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 66?>

<t>The OAuth 2.0 Dynamic Client Registration specification described in RFC 7591
describes how an OAuth 2.0 client can be dynamically registered with an authorization
server to obtain information to interact with this authorization server, including an
OAuth 2.0 client identifier.</t>

<t>To offer proper security protection for this dynamic client registration some security
credentials need to be available on the OAuth 2.0 client. For this purpose RFC 7591
relies on two mechanisms, a trust-on-first-use model and a model where the client is
in possession of a software statement (a sort-of bearer token).</t>

<t>This specification improves the security of the OAuth 2.0 Dynamic Client Registration
specification by introducing the support of attestation.</t>



    </abstract>



  </front>

  <middle>


<?line 81?>

<section anchor="introduction"><name>Introduction</name>

<t>The OAuth 2.0 Dynamic Client Registration specification described in RFC 7591
describes how an OAuth 2.0 client can be dynamically registered with an authorization
server to obtain information to interact with this authorization server, including an
OAuth 2.0 client identifier. As part of the registration process, this specification
also defines a mechanism for the client to present the authorization server with a
set of metadata, such as a set of valid redirection URIs.</t>

<t>To offer proper security protection for this dynamic client registration some security
credentials need to be available on the OAuth 2.0 client. For this purpose RFC 7591
relies on two mechanisms, a trust-on-first-use model and a model where the client is
in possession of a software statement (a sort-of bearer token).</t>

<t>This specification improves the security of the OAuth 2.0 Dynamic Client Registration
specification by introducing the support of attestation.</t>

<t><xref target="fig-arch"/> shows the high-level communication pattern of the IETF RATS background
check model where the attester transmits the evidence in the OAuth 2.0 Dynamic
Client Registration to the authorization server. The authorization server thereby
acts as a relying party and relays the evidence to the verifier. The verifier
processes the received evidence and computes an attestation result, which is then
processed by the authorization server. Note that the verifier is a logical role that may
be included in an authorization server product. In this case the interaction between
the relying party and the verifier is local.</t>

<figure title="Generic Attestation Architecture Applied to OAuth 2.0" anchor="fig-arch"><artwork><![CDATA[
                              .-------------.
                              |             | Compare Evidence
                              |   Verifier  | against
                              |             | policy
                              '--------+----'
                                   ^   |
                          Evidence |   | Attestation
                                   |   | Result
                                   |   v
 .------------.               .----|----------.
 |            +-------------->|---'           | Compare Attestation
 | OAuth 2.0  |   Evidence    | Relying       | Result against
 |   Client   |  in Dynamic   | Party (AS)    | policy
 '------------' Client Reg.   '---------------'
]]></artwork></figure>

<t>As a design goal, the proposed extension is agnostic to the attestation
technology being used. No new attestation technology (and evidence
format in particular) is defined by this specification. Instead, this
document focuses on conveying evidence to the authorization server
during the process of dynamically registering a client.</t>

<t>To prevent the replay of evidence, attestation technologies require some
replay protection to be used. Nonce-based freshness is one
approach supported by various attestation technologies. TPM v2.0 <xref target="TPM20"/>,
for example, supports nonce-based replay protection. Hence, it is necessary
to convey a nonce from the authorization server (which typically obtains
it from the verifier) to the OAuth 2.0 Client.</t>

<t>In <xref target="extension"/> we describe the protocol mechanism</t>

</section>
<section anchor="conventions-and-definitions"><name>Conventions and Definitions</name>

<t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>

<?line -18?>

<t>This document re-uses the terms defined in RFC 9334 related to remote
attestation. Readers of this document are assumed to be familiar with
the following terms: evidence, claim, attestation result, attester,
verifier, and relying party.</t>

</section>
<section anchor="extension"><name>Extension</name>

<t>This section defines the extensions needed to support the use of
attestation.</t>

<t>The abstract OAuth 2.0 client dynamic registration flow illustrated
in <xref target="fig-arch2"/> describes the interaction between the client or developer
and the endpoint defined in <xref target="RFC7591"/>.  This figure does not
demonstrate error conditions.</t>

<figure title="Abstract Dynamic Client Registration Flow" anchor="fig-arch2"><artwork><![CDATA[
        +--------(A)- Attestation Evidence (OPTIONAL)
        |
        |   +----(B)- Initial Access Token (OPTIONAL),
        |   |         Software Statement (OPTIONAL)
        v   v
    +-----------+                                      +---------------+
    |           |--(C)- Client Registration Request -->|    Client     |
    | Client or |                                      | Registration  |
    | Developer |<-(D)- Client Information Response ---|   Endpoint    |
    |           |        or Client Error Response      +---------------+
    +-----------+
]]></artwork></figure>

<t>This flow includes the following steps:</t>

<t>(A)   Optionally, but defined in this specification, the client is
     obtains evidence from an attester. The attester is typically a
     component on the device that consists of hardware and low-level
     software. The methodused by the OAuth 2.0 software to obtain evidence is
     specific to a given attestation technology and outside the
     scope for this specification.</t>

<t>(B)   Optionally, the client or developer is issued an initial access
     token or a software statement giving access to the client
     registration endpoint. The method by which the initial access
     token or the software statement are issued to the
     client or developer is out of scope for this specification.</t>

<t>(C)   The client or developer calls the client registration endpoint
     with the client's desired registration metadata, optionally
     including information from (A) or (B) if one is required
     by the authorization server.</t>

<t>(D)   The authorization server registers the client and returns:</t>

<t><list style="symbols">
  <t>the client's registered metadata,</t>
  <t>a client identifier that is unique at the server, and</t>
  <t>a set of client credentials such as a client secret, if
  applicable for this client.</t>
</list></t>

<t>This specification re-uses the client registration endpoint, as
described in Section 3.1 of <xref target="RFC7591"/>.</t>

<t>Upon a successful registration request, the authorization server
returns a client identifier for the client.  The server responds with
an HTTP 201 Created status code and a body of type "application/json"
with content as described in Section 3.2.1 of <xref target="RFC7591"/>.</t>

<t>If evidence was used as part of the registration, its
value <bcp14>MUST NOT</bcp14> be returned in the response along with other
metadata to the OAuth 2.0 client. Evidence is only communicated
from the OAuth 2.0 client to the authorization server - not vice versa.</t>

<t>Upon an unsuccessful registration request, the authorization server
responds with an error, as described in Section 3.2.2 of <xref target="RFC7591"/>.</t>

<t>This specification defines a new error message that is used when the
authorization server challenges the OAuth 2.0 client for evidence
using a fresh nonce. The nonce <bcp14>MUST</bcp14> be randomly generated with a
length of 32 bytes or more (before base64 encoding the value).
The error is defined as:</t>

<figure><artwork><![CDATA[
stale_evidence
  The provided evidence is not current. Resend fresh evidence.
]]></artwork></figure>

<t>A new member is used in the response JSON object called "nonce".
It contains the nonce value that will be used by the OAuth 2.0
client as input to the API call for requesting fresh evidence
from the attester. Typically, the nonce value will be included
(directly or indirectly) in the returned evidence. The verifier
who provided the nonce to the authorization server <bcp14>MUST</bcp14> store
the provided nonce for later comparison against the nonce
included in the evidence.</t>

<t>An OAuth 2.0 client that is configured to use attestation
information with dynamic client registration <bcp14>MAY</bcp14> send a
minimal registration request in the anticipation that an error
response will follow. This error response will contain a nonce,
which is then used to obtain fresh evidence from the attester.
At a minimum the OAuth 2.0 client <bcp14>MUST</bcp14> convey the "client_name"
but <bcp14>MAY</bcp14> also include any (likely stale) evidence available since
it might provide the authorization server with information
to distinguish clients with different capabilities, some of which
may not offer any attestation capabilities.</t>

<t>Once an error response with a nonce is available the OAuth 2.0
client <bcp14>MUST</bcp14> include the obtained evidence in the newly constructed
full request.</t>

<t>The following is a non-normative example of an error response
containing a nonce (with line breaks within values for display
purposes only):</t>

<figure><artwork><![CDATA[
 HTTP/1.1 400 Bad Request
 Content-Type: application/json
 Cache-Control: no-store
 Pragma: no-cache

 {
  "error": "stale_evidence",
  "error_description": "The provided evidence is not current.",
  "nonce": "lBjvTtuPbpzIaqyiAOOkrIol3WmflPUUepzUXNDFuUgMKUL"
 }
]]></artwork></figure>

<t>To include evidence in a registration request the following <bcp14>OPTIONAL</bcp14>
member is included in the JSON object:</t>

<figure><artwork><![CDATA[
   evidence
      Evidence is a set of claims generated by an attester to
      be appraised by a verifier. Evidence may include configuration
      data, measurements, telemetry, or inferences. This is a string
      value containing the evidence, as produced by the selected
      attestation technology.
]]></artwork></figure>

<t>[Editor's Note: The evidence structure may utilize the format defined
in the RATS Conceptual Messages Wrapper specification
<xref target="I-D.ftbs-rats-msg-wrap"/>, which allows to indicate type information
as well.]</t>

<t>In the following example, a request is sent containing attestation
evidence and registering a JWK Set by value (with line breaks
within values for display purposes only). Some registration
parameters are conveyed in the evidence while some values specific
to the client instance are conveyed as regular parameters.</t>

<figure><artwork><![CDATA[
 POST /register HTTP/1.1
 Content-Type: application/json
 Accept: application/json
 Host: server.example.com

 {
   "redirect_uris": [
    "https://client.example.org/callback",
    "https://client.example.org/callback2"
   ],
   "client_name": "My Example Client",
   "jwks": {"keys": [{
       "e": "AQAB",
       "n": "nj3YJwsLUFl9BmpAbkOswCNVx17Eh9wMO-_AReZwBqfaWFcfG
   HrZXsIV2VMCNVNU8Tpb4obUaSXcRcQ-VMsfQPJm9IzgtRdAY8NN8Xb7PEcYyk
   lBjvTtuPbpzIaqyiUepzUXNDFuAOOkrIol3WmflPUUgMKULBN0EUd1fpOD70p
   RM0rlp_gg_WNUKoW1V-3keYUJoXH9NztEDm_D2MQXj9eGOJJ8yPgGL8PAZMLe
   2R7jb9TxOCPDED7tY_TU4nFPlxptw59A42mldEmViXsKQt60s1SLboazxFKve
   qXC_jpLUt22OC6GUG63p-REw-ZOr3r845z50wMuzifQrMI9bQ",
       "kty": "RSA"
     }]},
   "evidence": "eyJhbGciOiJSUzI1NiJ9eyJzb2Z0d2FyZV9pZCI6IjRO
    UkIxLTBYWkFCWkk5RTYtNVNNM1IiLCJjbGllbnRfbmFtZSI6IkV4YW1wbGUg
    U3RhdGVtZW50LWJhc2VkIENsaWVudCIsImNsaWVudF91cmkiOiJodHRwczov
    GHfL4QNIrQwL18BSRdE595T9jbzqa06R9BT8w409x9oIcKaZo_mt15riEXHa
    zdISUvDIZhtiyNrSHQ8K4TvqWxH6uJgcmoodZdPwmWRIEYbQDLqPNxREtYn0
    5X3AR7ia4FRjQ2ojZjk5fJqJdQ-JcfxyhK-P8BAWBd6I2LLA77IG32xtbhxY
    fHX7VhuU5ProJO8uvu3Ayv4XRhLZJY4yKfmyjiiKiPNe-Ia4SMy_d_QSWxsk
    U5XIQl5Sa2YRPMbDRXttm2TfnZM1xx70DoYi8g6czz-CPGRi4SW_S2RKHIJf
    IjoI3zTJ0Y2oe0_EJAiXbL6OyF9S5tKxDXV8JIndSA",
   "scope": "read write"
}
]]></artwork></figure>

</section>
<section anchor="sec-cons"><name>Security Considerations</name>

<t>It is up to the verifier and to the authorization server to place
as much or as little trust in the evidence provided by the attester
on the OAuth 2.0 client information as dictated by policies.</t>

<t>This document defines the transport of evidence of different formats
in the OAuth 2.0 Dynamic Client Registration protocol. Some of the
attestation formats are based on standards while others are
proprietary formats. A verifier will need to understand these
formats for matching the received values against policies.</t>

<t>Policies drive the processing of evidence at the verifier and other
policies influence the decision making at the relying party when
evaluating the attestation result. The relying party is ultimately
responsible for making a decision of what attestation-related
information it will accept. The presence of the evidence defined
in this specification provide the authorizations server with additional
assurance about attester (and indirectly about the OAuth 2.0 client).
Policies used at the verifier and the authorization are implementation 
and configuration dependent and out of scope for this document.
Whether to require the use of evidence in OAuth 2.0 Dynamic Client
Registration is out-of-scope for this document.</t>

<t>Evidence generated by the attestation generally needs to be fresh to provide
value to the verifier since the configuration on the device may change
over time. Section 10 of <xref target="RFC9334"/> discusses different approaches for
providing freshness, including a nonce-based approach, the use of timestamps
and an epoch-based technique.  The use of nonces requires an extra message
exchange and the use of timestamps requires synchronized clocks.
Epochs also require communication. This document offers a way to
convey a nonce to the tester to allow evidence to be freshly generated.</t>

<t>Different attestation technologies provide different security and privacy
properties. Some evidence formats convey more information about the target
environment while others offer less. Some evidence formats offer the
security capabilities equivalent to a bearer tokens while others are
semantically closer to proof-of-possession tokens. Implementers and
operators need to make a conscious decision about the attestation
technologies they want to support in their products.</t>

</section>
<section anchor="iana-considerations"><name>IANA Considerations</name>

<t>TBD.</t>

</section>


  </middle>

  <back>


    <references title='Normative References' anchor="sec-normative-references">



<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>

<reference anchor="RFC7591">
  <front>
    <title>OAuth 2.0 Dynamic Client Registration Protocol</title>
    <author fullname="J. Richer" initials="J." role="editor" surname="Richer"/>
    <author fullname="M. Jones" initials="M." surname="Jones"/>
    <author fullname="J. Bradley" initials="J." surname="Bradley"/>
    <author fullname="M. Machulak" initials="M." surname="Machulak"/>
    <author fullname="P. Hunt" initials="P." surname="Hunt"/>
    <date month="July" year="2015"/>
    <abstract>
      <t>This specification defines mechanisms for dynamically registering OAuth 2.0 clients with authorization servers. Registration requests send a set of desired client metadata values to the authorization server. The resulting registration responses return a client identifier to use at the authorization server and the client metadata values registered for the client. The client can then use this registration information to communicate with the authorization server using the OAuth 2.0 protocol. This specification also defines a set of common client metadata fields and values for clients to use during registration.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7591"/>
  <seriesInfo name="DOI" value="10.17487/RFC7591"/>
</reference>




    </references>

    <references title='Informative References' anchor="sec-informative-references">



<reference anchor="RFC9334">
  <front>
    <title>Remote ATtestation procedureS (RATS) Architecture</title>
    <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>
  <seriesInfo name="RFC" value="9334"/>
  <seriesInfo name="DOI" value="10.17487/RFC9334"/>
</reference>


<reference anchor="I-D.ftbs-rats-msg-wrap">
   <front>
      <title>RATS Conceptual Messages Wrapper</title>
      <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
         <organization>Fraunhofer SIT</organization>
      </author>
      <author fullname="Ned Smith" initials="N." surname="Smith">
         <organization>Intel</organization>
      </author>
      <author fullname="Thomas Fossati" initials="T." surname="Fossati">
         <organization>Linaro</organization>
      </author>
      <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
      <date day="6" month="October" year="2023"/>
      <abstract>
	 <t>   This document defines two encapsulation formats for RATS conceptual
   messages (i.e., evidence, attestation results, endorsements and
   reference values.)

   The first format uses a CBOR or JSON array with two mandatory
   members, one for the type, another for the value, and a third
   optional member complementing the type field that says which kind of
   conceptual message(s) are carried in the value.  The other format
   wraps the value in a CBOR byte string and prepends a CBOR tag to
   convey the type information.

   This document also defines a corresponding CBOR tag, as well as JSON
   Web Tokens (JWT) and CBOR Web Tokens (CWT) claims.  These allow
   embedding the wrapped conceptual messages into CBOR-based protocols
   and web tokens, respectively.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ftbs-rats-msg-wrap-04"/>
   
</reference>


<reference anchor="TPM20" target="https://trustedcomputinggroup.org/resource/tpm-library-specification/">
  <front>
    <title>Trusted Platform Module Library Specification, Family 2.0, Level 00, Revision 01.59</title>
    <author >
      <organization>Trusted Computing Group</organization>
    </author>
    <date year="2019" month="November"/>
  </front>
</reference>


    </references>


<?line 394?>

<section anchor="acknowledgements"><name>Acknowledgements</name>

<t>We would like to thank the OAuth working group for their feedback
at the 117 meeting in San Francisco. We would also like to thank
Ionut Mihalcea for his review.</t>

</section>


  </back>

<!-- ##markdown-source:
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
1dAJHkejx9vL/lf/tnZjbE7Eff/Mvzvdu3yJm0fu41H94vruaU+cXJ2d7c7b
o5Pz3Xbj4eJc+uR6Z+dpsNd7vjpsHzWPduL7x15/yztuO89BPNvea2zVXcdq
ujf2XfT1Ov5SjWrd84HPX56Pv07lCt/uDh+fgvN+XK9fHX456Z982QyMTnNm
PFyFm+Hu1vbLdnV2kbzYw+vworU3uM7zfxLPUQKdbqOkHv7484cSZhpJYYCY
n40HJ6Z9ZZ91+y+t2qV9tgfPXgb1h6pVP54/3OwFD4etL62nzpVcqD9pPZ/3
Du5vJ8eHt5PJdqd3H4OcLi9qLfv88OxpcAKa5nWGA/c4fujCzMnN1v1tbTY4
6SsX39/sjK2Tm/jhdrt6fns2Nus3k1bzMuK3N4l12Iparvp8vFcz3QnS5lun
nZn54qvGycnp8Hzr+rIVXs/Oa7sH3Y7V3N7b7u09DV6+8eqXzt5Bb3e2Vd17
3vNb5lf+4D+6cW07tJt3p6rw/WK1uv3pUethHNvzy7B7er37das3/Xb7fPol
ORuZru9bD1Z75t52Ws37wfXR+bf25XOnGd97VbnC9t1mo7Nj863jztN13X96
eJpsD8++nVnXxpk5fJ6Pvxrt3YPG7YH1pVU/P2/s7LRONuvP8WD8fC9XGJ7e
7dyMk/52O/TPrnaTabLZmE+37jrj84ez+63516E7f7Ltr3b7UhgtvtW9mD9a
j9fd2+dooji5fde6dra7vH7faV8Mjjp3cezWe0Pv4aL2/LxTPfLv7d3RF/Pl
xThsn3Tsre7tY7fe+XraOhvKFVpPfmvzpXdWva/7ovrYPGvYd4PzL1fz473u
dvz1+ejuZves5VmgR0p7qCiMqgN+32Kz0I4xdcgQ0S/pT5XQZ2JhXjr5iL3+
EgnTQPRLPZOWLIcEixcE5eW3dxJQvLrrcMQ+4M5drGdi8T2CcBTHCNLxnupS
5Ehhoa7zKhC0vvbGPdlCFRmLQ7YZaxBF95l0FlHscOd7unRbU18fTSnBSzVp
OiO3iFIw8XO3wfWVDRVLZfWv0BrWC1P4k/dVkIH4azCO1zVkIKUyH42hS5NB
aIsYf2KiJldYI5MKJa36onHiYQM+Vq3eKL3IJAM/fDDHGrmlNzpVwNalgAIP
2+oLs0JMcXJ3kHCZPPcWb2tSA0hWK/WKKDnYiuoY1NEy5U9hXD6RoIctX7ic
0cVRgTTyWJO+fA9Alk+KU1GJndiGQwvsRahUzNYldL1rRgflq1g6yJY31JWH
YvnCVuUnTtCiompmWBIztdAzxhRh6VJp8s2EPCredrdkp507aF2A4yWGGmBH
KM0b6A5bVm1Sr1cZERYHU9nKivUK+S1bOvWrEIegTclH8mJBIe+AMweCfqWo
+4ArulbaMoGS27FATZH3SuSts+xmRSF/e8sM19cKdihbZYY/NN7edH0tTaAK
idiigsmX2JtFI4v0/RUq+8RpkU4X9Bd9JtVfJP4tcKjY1cWMBu94jWAdn1yp
7YpKWuquVdM6N97DwWsgdmQmdDk7c1n6mp1E+eQ4gLK0uunRTzNyP/UoXJrT
k8t5ziMVwAY3iKSQsawR+OZYzaEUDjteqkmjZtGyaRuP7oaLZ5CMrriDOT/L
w6ZKtrRfNjuae+Y49D1I9kDLHN+coGdqIhmRLIhplSnc6ldpbOr+qfKEOe0M
WI359cK9PyW3NAGXuV7hhqaWer5ST3p0lIngrcuU2sozaaU/jEAegIOfcryI
K3+LQoUwGUKywqLy44pu6gEUImFq6/LXhMBlb2oD4+j4hbAiq3AOSOOtTeQI
il0pnfkqHUOWg8KrhhEv/DBkVRCLhEslWrIjkGKk4ELog43Cf7mfocg1Kqyl
3Qwtgj1Un3766ofZ72rAhwtsIoK3NOkyaerLM3asvhpsSygAAYbLM+grXTLe
2+lvBSJ1dYy1GpeNBeREKOPgKP1JGSZycnTDnHj+zBHWSNZb8OktpMl+4lgM
i7ZS4bg3ybln/AE5Wib93FP3QYGSIZxWLq2cdK22A8YkYtlTZ12wsGMMCOAU
/ApL9yHrKGwG4M73sJhsj7ljCk6bjKnnPrXFDA7yP3hrO0qyPwAA

-->

</rfc>

