<?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.2 (Ruby 3.2.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-mt-ufmrg-teep-sample-01" category="info" consensus="true" submissionType="IRTF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.18.2 -->
  <front>
    <title abbrev="TEEP Sample">A Usable Formal Methods Sample Problem from TEEP</title>
    <seriesInfo name="Internet-Draft" value="draft-mt-ufmrg-teep-sample-01"/>
    <author fullname="Cory Myers">
      <organization/>
      <address>
        <email>cfm@acm.org</email>
      </address>
    </author>
    <author fullname="Hannes Tschofenig">
      <organization/>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <date year="2023" month="November" day="05"/>
    <workgroup>Usable Formal Methods Proposed Research Group</workgroup>
    <abstract>
      <?line 54?>

<t>This draft follows the invitation of <xref target="I-D.farrell-ufmrg-sample"/> to propose
another sample problem for demonstration, training, and evaluation of formal
methods in IETF work.  It draws on recent work from the Software Updates for the
Internet of Things <xref target="suit"/> and Trusted Execution Environment Provisioning
<xref target="teep"/> working groups to define a sample modeling problem for a novel rather
than a familiar IETF protocol.</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-mt-ufmrg-teep-sample/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Usable Formal Methods Research Group mailing list (<eref target="mailto:ufmrg@irtf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/ufmrg"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/ufmrg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cfm/draft-mt-ufmrg-teep-sample"/>.</t>
    </note>
  </front>
  <middle>
    <?line 64?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>In this draft we take the Trusted Execution Environment Provisioning protocol
<xref target="I-D.ietf-teep-protocol"/> to be a good domain from which to draw a sample
modeling problem for slightly different reasons than those proposed in
<xref target="I-D.farrell-ufmrg-sample"/>.</t>
      <ol spacing="normal" type="1"><li>
          <t>TEEP is a proposed standard under active development, at working-group
consensus as of this writing.  Formal modeling, even for demonstration or
training purposes, can therefore increase familiarity with the TEEP protocol,
including outside of the SUIT and TEEP working groups directly involed in its
development.</t>
        </li>
        <li>
          <t>The TEEP protocol is expressly concerned with security, so it has security
properties amenable to formal description, modeling, and analysis.  Any
findings may have valuable security implications.</t>
        </li>
        <li>
          <t>The TEEP protocol has well-defined use cases and includes a number of options
for flexibility, including provisions for constrained environments.  Modeling
the entire protocol, including all its options, is a reasonable challenge for
a learning or training exercise.  By contrast, <xref target="I-D.farrell-ufmrg-sample"/>
limits itself to just the <tt>SEARCH</tt> command of <xref target="RFC9051"/>.</t>
        </li>
        <li>
          <t>The TEEP protocol follows a typical protocol design in the IETF where
various already-standardized technologies are reused. In this case, protocols
from the Software Updates for Internet of Things (SUIT) architecture
<xref target="RFC9019"/> and the Remote Attestation Procedures (RATS) architecture
<xref target="RFC9334"/> are incorporated into the design.</t>
        </li>
        <li>
          <t>The architecture of the TEEP protocol is also representative for IETF
protocol development since more than two parties are involved in the protocol
communication even in a single, self-contined deployment. Whether a formal
model must consider all parties or can limit itself to a subset is a
worthwhile question about the scope of this sample problem.</t>
        </li>
      </ol>
    </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="the-trusted-execution-environment-provisioning-teep-protocol">
      <name>The Trusted Execution Environment Provisioning (TEEP) Protocol</name>
      <t>The Trusted Execution Environment Provisioning protocol
<xref target="I-D.ietf-teep-protocol"/> specifies communication between a Trusted
Application Manager (TAM) <xref section="2" sectionFormat="parens" target="RFC9397"/> and a TEEP Agent.
Importantly, this communication is relayed by an <em>untrusted</em> TEEP Broker
<xref section="6.1" sectionFormat="parens" target="RFC9397"/>. Two security-sensitive payloads are communicated via
the TEEP protocol, namely:</t>
      <ul spacing="normal">
        <li>
          <t>Trusted Applications (TAs) and Trusted Components (TCs) <xref section="2" sectionFormat="parens" target="RFC9397"/>; and</t>
        </li>
        <li>
          <t>attestation evidence.</t>
        </li>
      </ul>
      <t>A Trusted Application is an application (or, in some implementations, an
application component) that runs in a TEE.</t>
      <t>A Trusted Component is a set of code and/or data in a TEE that is managed as a
unit by a TAM. Trusted Applications and Personalization Data <xref section="2" sectionFormat="parens" target="RFC9397"/> are thus managed by being included in Trusted Components.</t>
      <t>TCs are provided by developers or authors, which TEEP calls "Trusted Component
Signers" <xref section="2" sectionFormat="parens" target="RFC9397"/>.  SUIT manifests protect TCs' integrity and
may optionally protect their confidentiality as well.  Neither the TAM nor the
TEEP Broker should be able to modify TCs.  TEEP Agents only install TCs from
sources they trust.</t>
      <t>Attestation evidence is typically communicated from the TEEP Agent to the TAM,
although there is the option to offer attestation capabilities in both
directions. In the description below, we focus only on attestation of the Device
<xref section="2" sectionFormat="parens" target="RFC9397"/> containing the TEEP Agent to the TAM, rather than
attestation in the other direction.</t>
      <t>The description below illustrates the basic communication interaction, with
details of the TEEP protocol abstracted away.</t>
      <section anchor="noncerequestnoncerespone">
        <name><tt>NonceRequest</tt>/<tt>NonceRespone</tt></name>
        <artwork><![CDATA[
TAM -> Verifier: NonceRequest

TAM <- Verifier: NonceResponse
Nonce
]]></artwork>
      </section>
      <section anchor="queryrequest">
        <name><tt>QueryRequest</tt></name>
        <artwork><![CDATA[
TAM -> TEEP Agent: QueryRequest
{token, challenge, supported-teep-cipher-suites,
supported-suit-cose-profiles, data-item-requested(trusted-components,
attestation)}SK_TAM
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>The <tt>challenge</tt> is a random number provided by the Verifier <xref section="1" sectionFormat="parens" target="RFC9334"/>. It is used to demonstrate the freshness of the attestation
evidence.</t>
          </li>
          <li>
            <t>The <tt>token</tt> is a random number that is used to match the <tt>QueryRequest</tt>
against the <tt>QueryResponse</tt>.</t>
          </li>
          <li>
            <t><tt>supported-teep-cipher-suites</tt> and <tt>supported-suit-cose-profiles</tt> offer
cipher-suite negotation.</t>
          </li>
          <li>
            <t><tt>data-item-requested(X)</tt> indicates the functionality that the TAM requests the
TEEP Agent perform.</t>
          </li>
          <li>
            <t><tt>{_}SK_TAM</tt> indicates a digital signature over the payload of the message
using a private (or secret) key that is only known to the TAM.</t>
          </li>
        </ul>
      </section>
      <section anchor="evidencerequestevidenceresponse">
        <name><tt>EvidenceRequest</tt>/<tt>EvidenceResponse</tt></name>
        <artwork><![CDATA[
TEEP Agent -> Attester: EvidenceRequest
challenge

TEEP Agent <- Attester: EvidenceResponse
{challenge, claims}SK_ATTESTER
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>{challenge, claims}SK_ATTESTER</tt> represents the evidence, which is signed by
the Attester using its private key <tt>SK_ATTESTER</tt>.  </t>
            <t>
In addition to the inclusion of the <tt>Challenge</tt>, the random number provided by
the Verifier, it also includes further (unspecified) claims. While those
claims are important for the overall system, they are not in scope of this
analysis.</t>
          </li>
        </ul>
      </section>
      <section anchor="queryresponse">
        <name><tt>QueryResponse</tt></name>
        <artwork><![CDATA[
TAM <- TEEP Agent: QueryResponse
{token, selected-teep-cipher-suite, attestation-payload-format(EAT),
attestation-payload({challenge, claims}SK_ATTESTER), tc-list}SK_AGENT
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>selected-teep-cipher-suite</tt> indicates the selected cipher suite.</t>
          </li>
          <li>
            <t><tt>attestation-payload-format(EAT)</tt> indicates the format of the attached
attestation evidence.</t>
          </li>
          <li>
            <t><tt>tc-list</tt> conveys the list of Trusted Components installed on the Device.</t>
          </li>
          <li>
            <t><tt>attestation-payload(_)</tt> contains the evidence provided by the Attester in the
previous step.</t>
          </li>
          <li>
            <t><tt>{_}SK_AGENT</tt> indicates a digital signature over the payload of the message
using a private (or secret) key that is only known to the Agent.</t>
          </li>
        </ul>
      </section>
      <section anchor="softwareupdate">
        <name><tt>SoftwareUpdate</tt></name>
        <artwork><![CDATA[
Author -> TAM: SoftwareUpdate
{manifest, sequence_nr, TC}SK_AUTHOR
]]></artwork>
        <ul spacing="normal">
          <li>
            <t>The <tt>manifest</tt> contains instructions for how to install the software.</t>
          </li>
          <li>
            <t><tt>sequence_nr</tt>, as the name indicates, allows the TEEP Agent to distingush this
update from earlier versions of the software.</t>
          </li>
          <li>
            <t><tt>TC</tt> is the Trusted Component to be installed. This could be a binary,
configuration data, or both.</t>
          </li>
          <li>
            <t><tt>{_}SK_AUTHOR</tt> indicates a digital signature over the payload of the message
using a private (or secret) key that is only known to the author, i.e. the
Trusted Component Signer.</t>
          </li>
        </ul>
      </section>
      <section anchor="update">
        <name><tt>Update</tt></name>
        <t>The TAM transmits an update to the TEEP Agent containing the previously obtained payload provided by the author.</t>
        <artwork><![CDATA[
TAM -> TEEP Agent: Update
{token2, {manifest, sequence_nr, software}SK_AUTHOR}SK_TAM
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>token2</tt> is a new random number, which is again used by the TAM to match
requests against responses.</t>
          </li>
          <li>
            <t><tt>{_}SK_TAM</tt> indicates a digital signature over the payload of the message
using a private (or secret) key that is only known to the TAM.</t>
          </li>
        </ul>
      </section>
      <section anchor="success">
        <name><tt>Success</tt></name>
        <t>The TEEP Agent returns this message when the software installation was
successful.</t>
        <artwork><![CDATA[
TAM <- TEEP Agent: Success
{token2}SK_AGENT
]]></artwork>
        <ul spacing="normal">
          <li>
            <t><tt>{_}SK_AGENT</tt> indicates a digital signature over the payload of the message
using a private (or secret) key that is only known to the Agent.</t>
          </li>
        </ul>
      </section>
      <section anchor="security-properties">
        <name>Security Properties</name>
        <t>In addition to the integrity and authentication properties, an important aspect
is replay protection.</t>
        <t>At the <xref target="suit-interim"/> meeting, the following editorial addition was proposed
<xref target="thaler"/> in TEEP's security consideration (<xref section="10" sectionFormat="of" target="I-D.ietf-teep-protocol"/>):</t>
        <ul empty="true">
          <li>
            <t>The TEEP protocol supports replay protection as follows. The transport
protocol under the TEEP protocol might provide replay protection, but may be
terminated in the TEEP Broker which is not trusted by the TEEP Agent and so the
TEEP protocol does replay protection itself. If attestation of the TAM is used,
the attestation freshness mechanism provides replay protection for attested
QueryRequest messages. If non-attested QueryRequest messages are replayed, the
TEEP Agent will generate QueryResponse or Error messages, but the REE can
already conduct Denial of Service attacks against the TEE and/or the TAM even
without the TEEP protocol. QueryResponse messages have replay protection via
attestation freshness mechanism, or the token field in the message if
attestation is not used. Update messages have replay protection via the
suit-manifest-sequence-number (see Section 8.4.2 of [I-D.ietf-suit-manifest]).
Error and Success messages have replay protection via SUIT Reports and/or the
token field in the message, where a TAM can detect which message it is in
response to.</t>
          </li>
        </ul>
        <t>Any formal model of TEEP should be able to prove this replay protection.</t>
        <t>While confidentiality protection is possible for attestation evidence as well as
for Trusted Components, it is not mandatory functionality.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This document has no security considerations of its own, although it may
contribute indirectly to the development of new security considerations
for the TEEP protocol.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.ietf-teep-protocol">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Protocol</title>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
         </author>
            <author fullname="Mingliang Pei" initials="M." surname="Pei">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Dave Wheeler" initials="D. M." surname="Wheeler">
              <organization>Amazon</organization>
            </author>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Akira Tsukamoto" initials="A." surname="Tsukamoto">
              <organization>ALAXALA Networks Corp.</organization>
            </author>
            <date day="23" month="October" year="2023"/>
            <abstract>
              <t>   This document specifies a protocol that installs, updates, and
   deletes Trusted Components in a device with a Trusted Execution
   Environment (TEE).  This specification defines an interoperable
   protocol for managing the lifecycle of Trusted Components.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teep-protocol-17"/>
        </reference>
        <reference anchor="RFC9019">
          <front>
            <title>A Firmware Update Architecture for Internet of Things</title>
            <author fullname="B. Moran" initials="B." surname="Moran"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="M. Meriac" initials="M." surname="Meriac"/>
            <date month="April" year="2021"/>
            <abstract>
              <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.</t>
              <t>In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9019"/>
          <seriesInfo name="DOI" value="10.17487/RFC9019"/>
        </reference>
        <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="suit" target="https://datatracker.ietf.org/wg/suit/about/">
          <front>
            <title>Software Updates for the Internet of Things</title>
            <author>
              <organization>IETF</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="suit-interim" target="https://datatracker.ietf.org/doc/agenda-interim-2023-suit-01-sessa/">
          <front>
            <title>interim-2023-suit-01</title>
            <author initials="D." surname="Thaler" fullname="Dave Thaler">
              <organization/>
            </author>
            <date year="2023" month="September" day="11"/>
          </front>
        </reference>
        <reference anchor="teep" target="https://datatracker.ietf.org/wg/teep/about/">
          <front>
            <title>Trusted Execution Environment Provisioning</title>
            <author>
              <organization>IETF</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="thaler" target="https://datatracker.ietf.org/meeting/interim-2023-suit-01/materials/slides-interim-2023-suit-01-sessa-teep-protocol-00.pdf">
          <front>
            <title>TEEP Protocol: draft-ietf-teep-protocol-16</title>
            <author initials="D." surname="Thaler" fullname="Dave Thaler">
              <organization/>
            </author>
            <date year="2023" month="September" day="11"/>
          </front>
        </reference>
        <reference anchor="I-D.farrell-ufmrg-sample">
          <front>
            <title>Usable Formal Methods Research Group Sample Problems</title>
            <author fullname="Stephen Farrell" initials="S." surname="Farrell">
              <organization>Trinity College, Dublin</organization>
            </author>
            <date day="19" month="June" year="2023"/>
            <abstract>
              <t>   This draft provides reasoning as to why the Usable Formal Methods
   research group might benefit from having an IETF-relevant sample
   problem and describes one such (IMAP search).  This is just an
   initial draft aiming to help move discussion forward so may be
   dropped or replaced by other drafts or the research group may prefer
   some non I-D format, or the research group may decide that sample
   problems aren't sufficiently useful.  Early days, basically!

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-farrell-ufmrg-sample-00"/>
        </reference>
        <reference anchor="RFC9051">
          <front>
            <title>Internet Message Access Protocol (IMAP) - Version 4rev2</title>
            <author fullname="A. Melnikov" initials="A." role="editor" surname="Melnikov"/>
            <author fullname="B. Leiba" initials="B." role="editor" surname="Leiba"/>
            <date month="August" year="2021"/>
            <abstract>
              <t>The Internet Message Access Protocol Version 4rev2 (IMAP4rev2) allows a client to access and manipulate electronic mail messages on a server. IMAP4rev2 permits manipulation of mailboxes (remote message folders) in a way that is functionally equivalent to local folders. IMAP4rev2 also provides the capability for an offline client to resynchronize with the server.</t>
              <t>IMAP4rev2 includes operations for creating, deleting, and renaming mailboxes; checking for new messages; removing messages permanently; setting and clearing flags; parsing per RFCs 5322, 2045, and 2231; searching; and selective fetching of message attributes, texts, and portions thereof. Messages in IMAP4rev2 are accessed by the use of numbers. These numbers are either message sequence numbers or unique identifiers.</t>
              <t>IMAP4rev2 does not specify a means of posting mail; this function is handled by a mail submission protocol such as the one specified in RFC 6409.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9051"/>
          <seriesInfo name="DOI" value="10.17487/RFC9051"/>
        </reference>
        <reference anchor="RFC9397">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Architecture</title>
            <author fullname="M. Pei" initials="M." surname="Pei"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="D. Thaler" initials="D." surname="Thaler"/>
            <author fullname="D. Wheeler" initials="D." surname="Wheeler"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>A Trusted Execution Environment (TEE) is an environment that enforces the following: any code within the environment cannot be tampered with, and any data used by such code cannot be read or tampered with by any code outside the environment. This architecture document discusses the motivation for designing and standardizing a protocol for managing the lifecycle of Trusted Applications running inside such a TEE.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9397"/>
          <seriesInfo name="DOI" value="10.17487/RFC9397"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
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
A/wp2P192zc9gW2jnz104HlyHkUvDlxO+ZbkgGaE8/7qSq5dGFBoMBZq58t1
836TndO1d4CM/cVHatHUfLe5MFgOJssB0nV3s9I/xmnTm1igb1Db/O5ygjzq
2M3Rix1p0tIc0lDuTdBtLg+dg1Bq+NZwRDIO+8xeE5obEL3Cujzoe2gv/g5C
eEqK1frdZcgGx5IUoEBh4OFh/sJvw+fFo77CYog7iyKOvww3zAOyS9VuWlX4
b1hMPMFXeNMp3SlhLX/lSMFG312AqBUUr7DLjamIswk/fO8GTTGdh/pD0mA+
ugXDenQmE66cBo4Z70jXasg33vtGpAPrF//KC1zSaSvGL4VmJGvDKkClXe6s
46NLLlGlcn2MNN74nPmhvMWhusW+lzp2xqiQp5+Pn4+fkin/1KbqYPafT8ZY
UHxEEe3R+KOE4UPXayMJ3bmCgvdBU4zkxlkOq/lOMTV8ACtZ1xqMQdiSN0PJ
xKKEfsU2fOAgd5ZE/snH+4evlB1GStYhHJU+cffEt5+uQMnSOUvLdem0cxDr
T4jpgo/G7PchI68LuZuu8XVNX2wOjkzk6rOtKRd9zHXhK7Jwv0hfWBTlAwjN
dJY/aLijy8Nw1GsZ+yL+LMEi/4RI+89W2lvv7l4aixDteWCPKLTPw9xiJS4n
rycfpwCP1P4IOfonHMl7fpksAAA=

-->

</rfc>
