<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.22 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-reddy-jose-detached-aad-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.26.0 -->
  <front>
    <title abbrev="Enhanced JWE Security with Detached AAD">Enhanced JWE Security with Detached Additional Authenticated Data (AAD)</title>
    <seriesInfo name="Internet-Draft" value="draft-reddy-jose-detached-aad-00"/>
    <author fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <postal>
          <city>Bangalore</city>
          <region>Karnataka</region>
          <country>India</country>
        </postal>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization abbrev="H-BRS">University of Applied Sciences Bonn-Rhein-Sieg</organization>
      <address>
        <postal>
          <country>Germany</country>
        </postal>
        <email>Hannes.Tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2025" month="February" day="03"/>
    <area>Security</area>
    <workgroup>JOSE</workgroup>
    <abstract>
      <?line 36?>

<t>This draft introduces a mechanism to support detached Additional Authenticated Data (AAD) in JWE (JSON Web Encryption), allowing the AAD to be
derived from context-specific information, such as session identifiers, algorithm identifiers, and identifiers of communication endpoints,
rather than being transmitted in-band. This mechanism strengthens security by mitigating risk against unknown-key-share attacks and/or other
exploitation techniques that depend on some type of confusion over the role played by each party.</t>
      <t>The document explains how to integrate this functionality into JWE, covering both JWE JSON Serialization and JWE Compact Serialization.</t>
    </abstract>
  </front>
  <middle>
    <?line 45?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>Encryption of payloads is performed using a symmetric content encryption key, which can be established through various key distribution mechanisms. Examples of such content key distribution mechanisms include public key encryption, such as HPKE, and ephemeral-static Diffie-Hellman. As part of this content key distribution mechanism an important design decision is what information is included about the context in which the encryption is use. This ensures that the content key material is "bound" to the context of the transaction.</t>
      <t>There are various techniques to ensure that the established content encryption key is not used across different contexts, such as incorporating the context into the key derivation function, adding extra context information in protected JOSE headers, or including out-of-band information in the Additional Authenticated Data (AAD).</t>
      <t>This specification uses the AAD for including context information shared out of band. This approach reduces the amount of data transmitting
directly within the message. It enhances security by ensuring the cryptographic binding of context information, by minimizing the attack surface.
As a consequence, the AAD must be derived by both the sender and receiver independently. A JSON-based data structure is proposed to standardize
the AAD information. The described approach is applicable to both JWE JSON Serialization and JWE Compact Serialization. This mechanism is
particularly useful in scenarios like OpenID for Verifiable Credentials (OID4VC), where a verifier must validate context information without
depending on in-band AAD.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="motivation-and-use-cases">
      <name>Motivation and Use Cases</name>
      <t>A common use case for detached AAD arises in protocols like OpenID for Verifiable Credentials (OID4VC), where a verifier receives a JWE response
from a wallet application.</t>
      <t>In such scenarios:</t>
      <ul spacing="normal">
        <li>
          <t>The verifier sends a request to the wallet (typically a mobile app).</t>
        </li>
        <li>
          <t>The wallet responds with an encrypted message that includes context information (e.g., the origin and the recipient of the request) as part of the AAD.</t>
        </li>
        <li>
          <t>Without proper validation of AAD, attackers could exploit vulnerabilities by manipulating context data, potentially leading to malicious actions.</t>
        </li>
      </ul>
      <t>By requiring the verifier and wallet to securely agree on a method for deriving the AAD, the encrypted response can be cryptographically bound to the
request's context. This ensures the response is valid only within its intended context, reducing risks such as phishing, replay, and tampering attacks.</t>
    </section>
    <section anchor="benefits-of-detached-aad">
      <name>Benefits of Detached AAD</name>
      <t>The introduction of detached AAD offers several key benefits:</t>
      <ul spacing="normal">
        <li>
          <t>Improved Security: By deriving AAD directly from the context, the need to transmit and validate in-band AAD is eliminated. This minimizes the attack
surface and reduces the risks of tampering and replay.</t>
        </li>
        <li>
          <t>Enhanced Flexibility: Applications gain greater control over AAD usage, ensuring it is transmitted only when necessary and otherwise derived out-of-band.</t>
        </li>
        <li>
          <t>Consistency Across Serializations: Supporting detached AAD in both JWE JSON Serialization and JWE Compact Serialization enables a consistent approach
to context-specific AAD across various serialization formats.</t>
        </li>
      </ul>
    </section>
    <section anchor="jwe-json-serialization">
      <name>JWE JSON Serialization</name>
      <t>When the AAD is detached, the "detached_aad" parameter is set to true, indicating that the AAD <bcp14>MUST</bcp14> be computed by both the sender and receiver from context information.</t>
      <ul spacing="normal">
        <li>
          <t>If the "detached_aad" parameter is true, the detached AAD <bcp14>MUST</bcp14> be derived out-of-band, following the process specified in Step 5 of <xref target="Derived"/>.</t>
        </li>
        <li>
          <t>If the "aad" parameter contains data, it is used directly as the AAD for encryption.</t>
        </li>
        <li>
          <t>If both the "detached_aad" and "aad" parameters are present, the AADs are combined and used according to the process outlined in Step 5 of <xref target="Derived"/>.</t>
        </li>
        <li>
          <t>The derived AAD is treated as part of the encryption context but is never transmitted within the JWE structure.</t>
        </li>
      </ul>
      <t>Example:</t>
      <t>A JSON Encoded JWE is shown below (with line-breaks added for readability).</t>
      <artwork><![CDATA[
{
  "protected": "eyJhbGciOiJIUEtFLVAyNTYtU0hBMjU2LUExMjhHQ00iLCJlbmMiOiJkaXIiLCJraWQiOiJ1cm46aWV0ZjpwYXJhbXM6b
   2F1dGg6andrLXRodW1icHJpbnQ6c2hhLTI1NjpTNkFYZmRVXzZZZnp2dTBLRERKYjBzRnV3bklXUGs2TE1URXJZaFBiMzJzIiwicHNrX2l
   kIjoib3VyLXByZS1zaGFyZWQta2V5LWlkIiwiYXV0aF9raWQiOiJ1cm46aWV0ZjpwYXJhbXM6b2F1dGg6andrLXRodW1icHJpbnQ6c2hhL
   TI1NjpTNkFYZmRVXzZZZnp2dTBLRERKYjBzRnV3bklXUGs2TE1URXJZaFBiMzJzIn0",
  "encrypted_key": "BD7QVodtG-FwYASgb36zuTzUCc80aiYwS6JOOE-6_heUGyAZt-cU0818e4oYqP7ebBuW3KTM9EQA0vM5fWp6hj0",
  "ciphertext": "ZxqtYoomgVQGctnv1I_EBVI1NIeJ7qJw2iVtqwUw3fXa8FK-",
  "aad": "8J-PtOKAjeKYoO-4jyBiZXdhcmUgdGhlIGFhZCE"
}
]]></artwork>
      <t>After verification:</t>
      <artwork><![CDATA[
{
  "protectedHeader": {
    "alg": "HPKE-0",
    "enc": "dir",
    "kid": "urn:ietf:params:oauth:jwk-thumbprint:sha-256:S6AXfdU_6Yfzvu0KDDJb0sFuwnIWPk6LMTErYhPb32s",
    "psk_id": "our-pre-shared-key-id",
    "auth_kid": "urn:ietf:params:oauth:jwk-thumbprint:sha-256:S6AXfdU_6Yfzvu0KDDJb0sFuwnIWPk6LMTErYhPb32s",
    "aad_detached": true
  },
  "plaintext": "This is plaintext!",
  "aad": "This is aad!"
}
]]></artwork>
      <t>In this case, the "aad_detached" parameter set to true indicates that the AAD must be derived from context information shared between the sender and receiver.</t>
    </section>
    <section anchor="jwe-compact-serialization">
      <name>JWE Compact Serialization</name>
      <section anchor="supporting-detached-aad-in-jwe-compact-serialization">
        <name>Supporting Detached AAD in JWE Compact Serialization</name>
        <t>To enable the use of detached Additional Authenticated Data (AAD) without introducing backward compatibility issues, this specification defines a mechanism
that leverages external context-specific information and an optional protected header parameter to signal the presence of detached AAD. The existing JWE
Compact Serialization format, as defined in Section 7.1 of <xref target="RFC7516"/>, remains unchanged.</t>
      </section>
      <section anchor="mechanism-overview">
        <name>Mechanism Overview</name>
        <ol spacing="normal" type="1"><li>
            <t>External Metadata for Detached AAD: The detached AAD is not included in the JWE Compact Serialization format.</t>
          </li>
          <li>
            <t>Optional Protected Header Parameter:
            </t>
            <ul spacing="normal">
              <li>
                <t>A new optional parameter, "detached_aad", is introduced in the JWE Protected Header.</t>
              </li>
              <li>
                <t>When set to <tt>true</tt>, this parameter indicates that the AAD is detached and must be obtained through an external context.</t>
              </li>
            </ul>
          </li>
          <li>
            <t>Backward Compatibility: This mechanism does not alter the structure of the JWE Compact Serialization format, ensuring full compatibility with existing implementations.</t>
          </li>
        </ol>
        <t>The "aad_detached": true parameter is included in the JWE Protected Header. For example:</t>
        <artwork><![CDATA[
{
  "alg": "HPKE-0",
  "enc": "A256GCM",
  "detached_aad": true
}
]]></artwork>
      </section>
    </section>
    <section anchor="Derived">
      <name>Deriving detached AAD</name>
      <t>When using detached AAD, both the sender and receiver <bcp14>MUST</bcp14> follow the same derivation process to ensure consistency.
The derived AAD is never transmitted; instead, it is independently computed by both parties. The process for deriving
the AAD involves the following steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>Identify Context Information Elements: Applications define the context information required for AAD derivation and they are shared by both sender and receiver.</t>
        </li>
      </ol>
      <t>Example:</t>
      <artwork><![CDATA[
{
   "session_id": "sess-1234",
   "sender": "alice@example.com",
   "receiver": "bob@example.com"
}
]]></artwork>
      <ol spacing="normal" type="1"><li>
          <t>Normalize Context Information Elements
          </t>
          <ul spacing="normal">
            <li>
              <t>Each context element <bcp14>MUST</bcp14> be encoded as a UTF-8 string.</t>
            </li>
            <li>
              <t>The elements <bcp14>MUST</bcp14> be sorted in lexicographical order of their keys (as per <xref target="RFC8785"/>), ensuring consistent ordering during derivation.</t>
            </li>
          </ul>
        </li>
      </ol>
      <t>Example:</t>
      <artwork><![CDATA[
Normalize Elements (Sorted):
{
   "sender": "alice@example.com",
   "session_id": "sess-1234",
   "receiver": "bob@example.com"
}
]]></artwork>
      <ol spacing="normal" type="1"><li>
          <t>Serialize the Canonicalized JSON: Serialize the canonicalized JSON object, ensuring it has no extra spaces or newlines.</t>
        </li>
      </ol>
      <t>Example:</t>
      <artwork><![CDATA[
Concatenated String: {"sender": "alice@example.com","session_id":"sess-1234","receiver":"bob@example.com"}
]]></artwork>
      <ol spacing="normal" type="1"><li>
          <t>Apply Cryptographic Hashing: Apply a cryptographic hash function (e.g., SHA-256) to the serialized canonicalized JSON string to derive the AAD. The resulting hash will serve as the AAD used in the encryption operation. The use of SHA-256 is <bcp14>RECOMMENDED</bcp14>; however, other cryptographic hash functions <bcp14>MAY</bcp14> be used if they provide equivalent or stronger security properties.</t>
        </li>
      </ol>
      <t>Example:</t>
      <artwork><![CDATA[
Derived AAD: "SHA256({"session_id":"sess-1234","timestamp":"2025-01-10T12:00Z"})"
]]></artwork>
      <ol spacing="normal" type="1"><li>
          <t>Use the Derived AAD in Encryption</t>
        </li>
      </ol>
      <ul spacing="normal">
        <li>
          <t>Step 15 in Section 5.1 of <xref target="RFC7516"/> outlines how the AAD is used in the encryption operation. In the case of detached AAD, the derived AAD is treated as part of the encryption context, even though it is never transmitted within the JWE structure.</t>
        </li>
        <li>
          <t>For a message that lacks the JWE AAD but includes the derived AAD, the derived AAD is used in conjunction with the Content Encryption Key (CEK), JWE IV, and the message M to generate the JWE Ciphertext and JWE Authentication Tag. The Additional Authenticated Data (AAD) encryption parameter is:</t>
        </li>
      </ul>
      <artwork><![CDATA[
ASCII(Encoded Protected Header || '.' ||BASE64URL(Detached AAD)).
]]></artwork>
      <ul spacing="normal">
        <li>
          <t>In the case of a message containing both the JWE AAD and the derived AAD, the derived AAD is used in conjunction with the Content Encryption Key (CEK), JWE IV, JWE AAD, and the message M to generate the JWE Ciphertext and JWE Authentication Tag. The Additional Authenticated Data (AAD) encryption parameter is:</t>
        </li>
      </ul>
      <artwork><![CDATA[
ASCII(Encoded Protected Header || '.' ||BASE64URL(JWE AAD)|| '.' ||BASE64URL(Detached AAD)).
]]></artwork>
      <ul spacing="normal">
        <li>
          <t>Both the sender and receiver <bcp14>MUST</bcp14> independently compute the detached AAD to ensure consistency.</t>
        </li>
        <li>
          <t>The detached AAD is not transmitted within the JWE structure; instead, it is derived from context information elements out-of-band.</t>
        </li>
      </ul>
      <ol spacing="normal" type="1"><li>
          <t>Error Handling: If the derived AAD does not match the expected value during decryption, the JWE <bcp14>MUST</bcp14> be treated as invalid, and the decryption process <bcp14>MUST</bcp14> fail.</t>
        </li>
      </ol>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Detached AAD enhances security by ensuring that the AAD is tightly bound to the specific context shared by both the sender and recipient.
However, the following considerations must be observed:</t>
      <ul spacing="normal">
        <li>
          <t>Both the sender and recipient <bcp14>MUST</bcp14> use the same method to derive the AAD from the context to avoid mismatches, as discrepancies will lead to decryption failures.</t>
        </li>
        <li>
          <t>Applications using detached AAD must ensure that context information is validated and securely exchanged to prevent manipulation by attackers.</t>
        </li>
        <li>
          <t>Implementations should account for potential synchronization issues, such as clock drift, when deriving the AAD from time-sensitive context.</t>
        </li>
      </ul>
    </section>
    <section anchor="IANA">
      <name>IANA Considerations</name>
      <section anchor="json-web-signature-and-encryption-header-parameters">
        <name>JSON Web Signature and Encryption Header Parameters</name>
        <t>The following entry is requested to be added by IANA to the "JSON Web Signature and Encryption Header Parameters" registry:</t>
        <section anchor="aaddetached">
          <name>aad_detached</name>
          <ul spacing="normal">
            <li>
              <t>Header Parameter Name: "detached_aad"</t>
            </li>
            <li>
              <t>Header Parameter Description: Indicates that the AAD is detached and must be conveyed through an external mechanism.</t>
            </li>
            <li>
              <t>Header Parameter Usage Location(s): JWE</t>
            </li>
            <li>
              <t>Change Controller: IETF</t>
            </li>
            <li>
              <t>Specification Document(s): RFCXXXX</t>
            </li>
          </ul>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <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="RFC7516">
        <front>
          <title>JSON Web Encryption (JWE)</title>
          <author fullname="M. Jones" initials="M." surname="Jones"/>
          <author fullname="J. Hildebrand" initials="J." surname="Hildebrand"/>
          <date month="May" year="2015"/>
          <abstract>
            <t>JSON Web Encryption (JWE) represents encrypted content using JSON-based data structures. Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries defined by that specification. Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="7516"/>
        <seriesInfo name="DOI" value="10.17487/RFC7516"/>
      </reference>
      <reference anchor="RFC8785">
        <front>
          <title>JSON Canonicalization Scheme (JCS)</title>
          <author fullname="A. Rundgren" initials="A." surname="Rundgren"/>
          <author fullname="B. Jordan" initials="B." surname="Jordan"/>
          <author fullname="S. Erdtman" initials="S." surname="Erdtman"/>
          <date month="June" year="2020"/>
          <abstract>
            <t>Cryptographic operations like hashing and signing need the data to be expressed in an invariant format so that the operations are reliably repeatable. One way to address this is to create a canonical representation of the data. Canonicalization also permits data to be exchanged in its original form on the "wire" while cryptographic operations performed on the canonicalized counterpart of the data in the producer and consumer endpoints generate consistent results.</t>
            <t>This document describes the JSON Canonicalization Scheme (JCS). This specification defines how to create a canonical representation of JSON data by building on the strict serialization methods for JSON primitives defined by ECMAScript, constraining JSON data to the Internet JSON (I-JSON) subset, and by using deterministic property sorting.</t>
          </abstract>
        </front>
        <seriesInfo name="RFC" value="8785"/>
        <seriesInfo name="DOI" value="10.17487/RFC8785"/>
      </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>
    </references>
  </back>
  <!-- ##markdown-source:
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
48vr25f7+/sw3vR7e6eX7cuTu4e9l8vw+mP/Mbi9Okw3e+361eXt8T0/2JNn
L8cvHTnBeufJ7WZAuz12HiLZ/3g9Pb3dm9536y/88GB6f/Ml45vX26c3wSON
v7u93uAHv7xN+3t0027/W9rDDZQb0EiBDb4iD5JW9lqfvlxHfnboHkzumt1h
/+POS957udr3dje4vJt0d44vLtruzteRuDqcNu8z17va2K3viq3o7tvnT6K/
l998POmd/dL+0tx4Otse3MQ7owezG3AaUgKZJ211//wtu4ui8fD6y6GXhU/1
ztf23jUY64jjT9+OJ5vyOvs2uZp8HNzy3YMTV69B7ojJu8fu5+zipPkgTu6i
C3frYbon72/9kTe+GvqHo6BzeDC6329XnFdlfk5zQLFCwyqd+BqrDPNIdVaw
wXfVfK/wYEi7USPO1UxoodFLhBf75lEqovIkbEiRDRoqXKSNiI4/Gg+TRzcb
5eN+jASaNdIRdze3dxrdnebtwL/6unM3eHnKN05areP+RnqQT8LOzefHndOz
Xju5G33uf9xM7TZx+vhV7xTliYsgpJvGvuof44MZRrt+/ReRBHV8tUGzYk6H
GHtVqlJNZKtthW2olWFf/jSnT/sZjz8VSuuYypcKqWoR/Gf7lbJAKUXaDFlu
M65q0fxW/rMdrL7IJsKk7BX5s8j1K0EGPn4oo5fWAnp5Y2IvMghF7UyF5ByE
/YHDF9MHKXCw6skDRk544it8gJ10eIbIU2D8qpbzfN/Pp8bI/HGQowQaKOg8
xCdITiREyluHNUpqKDii2NA962bqRmZJjVTjyCEN0tmS0qwnFjG87nEBz6ZK
tpClsxrpaRpU30JzoxOu0JXBp1pdZ11zUvb6SqXHWIGJPCSWh0DlSpNnRa/r
Arw/STFxnDo1/w3/Z6BOte0o/ZV13TBZvKx93VsuWumlZPwWFyBks8YurBA/
F0LUMYt9tkKkAz/msiZy/6QkdPu5uoByqrqvb07/5shZ3KOmV1ZA1jjcP8jj
/mHspwQPV7tgCfUqq7AuGfUJwpWOXqhJsGBb4P9jje1ZM94vm3FjsSPpR0JL
mQeZOf2aNVQNaHpP4KWih86tFxxHwZ/CBCXhJmrOcVvS95ailY6O8xh6lREs
SZ0dEGgtsFmRtZaTk01NTUTzw/0z/W5O2yZEmwD7gbVsXTtnot8/WCBqyhZ9
qlYeU327uFBVgEb7egx4Lp9/WCA8O57xZtVgzVkBfZeQ7J/p2D6DiCzon+up
L9dBqkUtUh087P7ltkmpnf4UBU+mxJ6VLNgsph4BHL+jj5GnVMOq/NEpxbu2
NoV0oc7WEWjhdGg2SzeADIJWXYaZtEyra6rKDJueDFurU1N7yVxYxZyVGwhB
T2598+OWTuUVvQ59oQaV+LsxOHVPQo+wy9OYftSfG2EtaqvGzokl+JJ4Uzg6
lLS5PTHFMKE/FRWkMNUHpxx01Ttwd8mJoQkTh1QSMMsVk1IkXO1P1PDwZt0t
hkoMctLOLxNq/KRsjauzY50D6IrE6+t6ye9L/QE1WzmB/jTTzpK0ZwKwzLK1
riJrvVGo4j1hv62sH1HFdq0Ia9rq9nkY0V0HeuGrAq+xMMJbGoHQ/IBgNN8A
GnEKrubIMkUApePvhPIN1YPpkkBgB5QMVJcL5S4tA4T9thDmBFDmv8T7EuuG
852a8jx459z53xFX/cWG+cgXjgfB1ag4l7X95u5Rk6Dxui3gbduH+pnLwtLm
SWN18CrazspWgWbyQKULtdVEIqlgPQwrNShU38Bkg1JZT63q0vmeQYWGOgp+
pfONP9O9DYqWVd2De4tPOE7zjvxG7zvQYYY6oNIHAQhJTzzQ9k/cRYBEyey8
VbfQVVRd1HlrFr0b6nwMdK59/22tZnJM5/LjGO83Nza33Y26W9/o1TcbGxv3
ldf1ilbtbk0dt5B0WuX8EJYuGFH/SjVV6ttluLe9BPdsG8ZcdJmBlPeV0AmN
wyzCc9t1/6ONG3jakyo6FA6Sv7+J4yq4wOePVgJ1qcgOJ5pUf8geuCwQvJID
KxPQ+WCdRIEgFVrMNYrSDZ0T2NHafvsE8ZT27FxXixMbS9oZecpQ0JlKJmaY
rOgSFH3cUqVDS/f4ULvBjxRDJRGXoZcx02Z3v9NZs32uJVD9z3+yn2s/46+9
Zre9s3V1ebpWRvfr6zVtlu6iQczkb/qTxb2oshKsQP4Fsjdb/j9RguFm/cf1
s/cuWl0JH5f727+BWN3fLPR+xG+XsOy7TYoC+Mwdqji/oChNEgSAIzwHKtuZ
vnnZpIryCIvZG1vPsRY64j2qlALlzG6lWaIt0iqFNABmOt6qlgx6pm+DtHVF
QDdvqe4objOrQyDfxNXUceYaJe/d8JkvLTM5HGULh5hFT6MQ4gJ8XjYJfZhc
c45sEp2vArw5gkslrErlfuMNYzPH1EoSucliqjAyZ7hLuGHpgJGG8KdIonRG
mUvKE/pahi9TLxExpEUH0wpa0JmzXrLQBYmfjm7JXOdqk+X6TjNWvjq38m5a
Whxs6oq+OKEWz6aBQiTECSW1rHRajrnQQHHQXtMHr+Uamk4b6PCdzlDoihiV
RcWROkunoTcCHLElu+1j2cNkL4i8R+YncpBV9eHk4uG4kS1gh0t32yXdoC71
Gj4w1mmeNxfsE5UxvX1VTaHibnOXWlaqtUAiKMXhxdaMuWE0MyZBF75Jiuas
XYsL5qQPUyAiRYSx5cof2LGi7smndK+ciP7Ayj0JstXFGexc3XqfbxusGtdS
t41ifd298/saPh5dwpr+RsOnaOPUVm17pbLWaaRNdy1db6gGoMv2lb2pdJhA
wCIx/5QBYHCur9ky96jUVGDBW/whfTc9uowdCH+oC9TvDf2PIIT/75UBD1KB
8sLpXbQunP8BDOByrfYxAAA=

-->

</rfc>
