<?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.24 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-reddy-jose-detached-aad-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.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-01"/>
    <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="March" day="16"/>
    <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 and the "detached_aad" parameter is not present or set to false, 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>Compact JWE and JWE JSON Serialization without an explicit JWE AAD: 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>JWE JSON Serialization with an explicit JWE AAD: 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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
2fE2R6PTXqd+/hD3zh8P7u7Hl9e3L/f392G86ff2Ti/blyd3D3svl+H1x/5j
cHt1mG722vWry9vje36wJ89ejl86coL1zpPbzYB2e+w8RLL/8Xp6ers3ve/W
X/jhwfT+5kvGN6+3T2+CRxp/d3u9wQ9+eZv29+im3f63tIcbKFegkQJbfEUe
Ja3stT59uY787NA9mNw1u8P+x52XvPdyte/tbnB5N+nuHF9ctN2dryNxdTht
3meud7WxW98VW9Hdt8+fRH8vv/l40jv7pf2lufF0tj24iXdGD2Y34DykFDJP
2ur++Vt2F0Xj4fWXQy8Ln+qdr+29azDWEcefvh1PNuV19m1yNfk4uOW7Byeu
XoPcEZN3j93P2cVJ80Gc3EUX7tbDdE/e3/ojb3w19A9HQefwYHS/3644r8r8
nOaAgoeGZTpxNlYZ5pHqzGCD76p5X+HBkHajRp6rmdBCo5cIL/bNo1RE5UnY
kCIbNFS4SBsRHZ80HiaPbjbKx/0YCThrpCPubm7vNLo7zduBf/V1527w8pRv
nLRax/2N9CCfhJ2bz487p2e9dnI3+tz/uJnabeL08aveKcoTF0FIN5191X/G
BzOMdv36LyIJ6vhqg2bFnC4x9qpUpZrQVtsKG1ErxL78aU6f9jMefyqU1jGV
MxVi1SJ5zPYrpYVSirUZttymXNXi+a38aTtgfZFNhEn5K/JvgRVWghR8/FBG
P60F9PPGxF5kEI7amQrROQj8A4c3po9S4GjV0wcMnfDEV/gCO+nwDJGnqBGq
Ws7zfUOfGivzx0mOEmigoPcQnyA5kRApbx32KKmhYIliQ/esG6oboSU1Uo0k
hzRIZ0tKs55YrAF0jwx4OFWyhSyd1UhR06D6HpobnXCFriw+1eo665qTttdX
Kl3GCozkIbE8BKpXmjwremUX4P1Jionj1OnwwPB/BuoUfqH0V9Z1w2TxsvY1
gila8aVk/BYXIGSzxi6sED8XQtQxi322QqQDQ+ayJnL/pCR0+7m6gHKq+lzA
nB7OkbO4R02vrICwcbh/kMf9w9hPCaWtdsESalZWYV0y6hMELB3dUJNhwbbA
/8ca27NmvF8248ZiR9OPhJYyDzJzejZryBrQ9J7AS0UTnXsvOI6CP4UJSsJN
1NzjtiXQW4pWOjrOQ9lVRrAkdXZAoLXAZkXWWk5ONjU1Ec0P98/0uzltmxBt
AuwH1rJ18ZyJfv9ggagpe/SpXHlM9e3iRFURulrQY8Bz+fzEAuHZ8Y43qyZr
zgrou4Rk/0zH/hlEZEH/XE9+uY5SLW6R6uBh9y+3XUrt+KcoeDIl+qzkwWYx
9Rjg+B19DD2lGljlj04p3rW1KaQLdbqOQAunS7NZuoFkELTqUsykZaqiqSoz
bHoybK1OTe0lc2EVc9ZuIAQ9ufXNj1s6lVf0OvSFGlzi78bg1D0LPcIuT2P6
UX9uhLWorRo7J5bgS+JN4ehQ0ub2xBXDhP5UVKDCVB+cctBV78DdJSeGJkwc
UknALFdMSpFwtT9Rw8SbdcdQKpKctPPLhBpHKVvj6uxZ5wC6YvH6ul7y+1J/
Qc1WTqA/zbSzJO2ZACyzbK2ryFpvFKp4T9hvK+tHVLFdK8Katrp9HkZ0V4Je
+KrAayyM8JZGIDQ/IBjNN5BGnIKrOfJMEUDp+DyhfEP1YLokENgBJQPVJUO5
S8sAYb8thDkBlPkv8b7EuuF8p6Y8D945d354xFV/smE+8oXjRXA1Ks51bb+6
e9QkaLxuC3jbNqJ+6LKwtHnSWB28ira1slWgmTxQ6UJtNZFIKlgPw0oNCtU3
MNmgVNZTq7t0PmhQoaGOgl/pfOTPdO+DomVV9/De4hOO07wjv9H7DnSYoQ6q
9EEAQtITD2yjBRgBkCiZndfqFryKqos6b82id0Odr4HOte+/rdVMjulcfxzj
/ebG5ra7UXfrG736ZmNj477yul7Rqt2tqeMakk6rnB/C0gUl6n+ppkp9uwz3
tpfgnm3DmIsyM5DyvhI6oXGYRXhuu/Z/tHEDT3tSRYfCQfL3N3HcAtTQF9tJ
XdFktVWCwlqUp6SeojRGkIPPH+8E6mKT3ZL4Uj0me+izwPRKKVi5gtcH62gK
SKnwZK5ylG4JncAW1/bbJ4jJtGfnulo0CC1pZ+RtQ0HnOpmY4bqi01BIoFQt
0dI9PtSu9CMFVUlNZfhmTL3Z3e901myvbAmY//Of7Ofaz/hrr9lt72xdXZ6u
lSuE9fWaNm33LUWt1tKCFc4UZpqqxWWustasBP8FyjJb/j/RmuFm/ccVuvcu
RF6JWZeb8r8Bk93frC5/JFgsAeh3OyMF2po7CXJ+QSWcJIgYR3gOVIo1zf6y
SRU1GRaz18yeYy10JBmURgW0ml2ls0RbeFeKo0DpdCZXLRn0TN8G3usyhK4L
U7FTXMFWJ1e+Ceap48x1Z967ljRfz2ZyOMoWTl6LRkohxAXMvmwS+gS85hzZ
zD1fenhzBJfqZoUf/MYbxmbO1pUkcpM6VTVmDp6XwMrSqSgN4U+RRL2O2pqU
J/RdEl+mXiJiSItO0xWeoYNyvWShCxI/nTeTuc4VRMtFpWasfN9v5YW6tDiN
1W2E4lhdPJuuDZEQJ5RJs9IRP+ZCA8XtgJo+LS4X7nTEQTcG6OCG7rVRLVbc
A2DpNPRGwEA2MNvmmT0B94LIe2R+IgdZVZ+oLp7oG9kC67h0IV/Ste9Sg+MD
Y53meXPBPlGO09tX1YkqLmR3qU+m+hkkglIcXuwHmWtRM2MSdEudpGguCGhx
wZz0CQ5EpIgwtlz5AztW1OX+lC7DE9EfWLkRQra6OIOdq6v6872KVeNa6opU
rO/od35fl8mjm2PT3+gyFb2j2qptr1TWOo206a6l6w3VdQTWUvam0mECAYvE
/PsLINC5ZmrLXP5SUwFAb/GH9N306AZ5IPyhroq/N/S/3BD+v1fUiSZqGqd3
0bpw/gfAGe6VqzIAAA==

-->

</rfc>
