<?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.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-carpenter-anima-otp-casa-02" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="One-time Pad for Device Identity">One-time Pad for Authorizing Device Identity</title>
    <seriesInfo name="Internet-Draft" value="draft-carpenter-anima-otp-casa-02"/>
    <author initials="B. E." surname="Carpenter" fullname="Brian E. Carpenter">
      <organization abbrev="Univ. of Auckland">The University of Auckland</organization>
      <address>
        <postal>
          <postalLine>School of Computer Science</postalLine>
          <postalLine>The University of Auckland</postalLine>
          <postalLine>PB 92019</postalLine>
          <postalLine>Auckland 1142</postalLine>
          <postalLine>New Zealand</postalLine>
        </postal>
        <email>brian.e.carpenter@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="17"/>
    <area>Operations and Management</area>
    <workgroup>Autonomic Networking Integrated Model and Approach</workgroup>
    <keyword>BRSKI</keyword>
    <keyword>IDevID</keyword>
    <keyword>MASA</keyword>
    <abstract>
      <?line 50?>

<t>This document describes how devices joining an autonomic control plane as defined
in RFC 8994 may use the BRSKI onboarding mechanism defined in RFC 8995, even if they cannot
provide a manufacturer-installed X.509 IDevID certificate. Instead, such devices may generate
a self-signed certificate embedding a unique token selected from a one-time pad.</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-carpenter-anima-otp-casa/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Autonomic Networking Integrated Model and Approach Working Group mailing list (<eref target="mailto:anima@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/anima/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/anima/"/>.
      </t>
    </note>
  </front>
  <middle>
    <?line 57?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Bootstrapping Remote Secure Key Infrastructure (BRSKI) onboarding mechanism
is specified in <xref target="RFC8995"/>. It relies on two elements. The first is an X.509v3
certificate formatted as an IEEE 802.1AR IDevID,
installed in a device by its manufacturer. The second is a Manufacturer Authorized
Signing Authority (MASA), a server that can certify that an IDevID is valid.
During the operation of the BRSKI mechanism, a device attempting to join the
Autonomic Control Plane (ACP) <xref target="RFC8994"/> is known as a "pledge", and the purpose
of BRSKI is to authorize a pledge by obtaining a voucher <xref target="RFC8366"/> from the MASA.</t>
      <t>In practice, it can happen that either the devices needing to connect do not
possess an IDevID, or that the network in question does not have access to
a suitable MASA.  This document describes a solution for this scenario, while
using much of the existing BRSKI protocol framework.</t>
      <t>This solution could be applicable to a corporate network that does not use
manufacturer-installed IDevIDs at all. Alternatively, in a network
using BRSKI for devices with IDevIDs, the solution could be used
in a heterogeneous mode for a subset of pledges for which either an IDevID
or a MASA is unavailable. In the heterogeneous case, the normal BRSKI trust
model for the whole ACP (Section 7.1 of <xref target="RFC8995"/>) is altered as
described in <xref target="trust"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</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="corporate-authorized-signing-authority-casa">
      <name>Corporate Authorized Signing Authority (CASA)</name>
      <t>This fills the role of the MASA for BRSKI purposes. It is in effect
a one-time pad.</t>
      <t>The CASA is essentially based on a list of randomly generated
tokens. The tokens <bcp14>MUST</bcp14> be hard to guess, with a minimum size of at
least 64 bits. They <bcp14>SHOULD</bcp14> be cryptographically strong random or
pseudo-random numbers (see <xref target="RFC4086"/>, Section 6.2).</t>
      <t>The list of tokens is referred to as the OPADL (One-time-PAD
List, pronounced Oh-Paddle). It <bcp14>MUST</bcp14> be stored on long-term, backed-up and
cryptographically secured storage.</t>
    </section>
    <section anchor="authorized-installer">
      <name>Authorized Installer</name>
      <t>This is a person or agent that is trusted to authorize new devices to connect
to the network. Whenever needed, each Installer is given a new batch of random
tokens, called an APADL (Agent one-time-PAD List, pronounced "a Paddle").
These tokens are also added to the OPADL when the APADL is created. The APADL
<bcp14>MUST</bcp14> be stored on secure storage, e.g., an encrypted memory stick in the
possession of the Installer.</t>
      <t>When the CASA creates an APADL, a record <bcp14>MUST</bcp14> be made, along with the
identity of the Installer, for audit purposes. This record  <bcp14>MUST</bcp14> be
associated with the OPADL, and stored on long-term, backed-up and
cryptographically secured storage.</t>
      <t>If an APADL is lost or compromised, all the tokens in it <bcp14>MUST</bcp14> immediately
be marked as "claimed" in the OPADL.</t>
    </section>
    <section anchor="connecting-a-pledge">
      <name>Connecting a Pledge</name>
      <t>When an Installer authorizes a new device to connect, the following steps occur:</t>
      <ol spacing="normal" type="1"><li>
          <t>The Installer's software picks a token from the APADL.</t>
        </li>
        <li>
          <t>This token is installed in the pledge and marked as "claimed" in the APADL.</t>
        </li>
        <li>
          <t>The pledge then executes code to create and save a key pair and an X.509v3 certificate in IDevID format. It contains contains the token ("serial-number" in BRSKI terms) and the pledge's new public key, and is self-signed. It is referred to as an ODevID (One-time Device ID) but is in effect an LDevID.</t>
        </li>
      </ol>
      <t>These steps <bcp14>SHOULD</bcp14> be embedded in code stored on the Installer's
secure memory device, such that the token is never viewed by a human.</t>
      <t>The pledge then starts the normal BRSKI process per <xref target="RFC8995"/>,
using the ODevID in place of an IDevID. However, because the ODevID
is self-signed and thus has no CA issuer, the RFC8995 voucher request
is augmented by adding a <tt>pledge-self-cert</tt> binary element which
carries the ODevID certificate. This is used by the registrar to
verify the signed voucher request, and the registrar <strong><bcp14>SHOULD</bcp14></strong> retain
this certificate (which includes the token, i.e. serial number).
At this point, the ODevID becomes functionally equivalent to the
LDevID (Local Device Identifier) discussed in RFC8995.</t>
      <t>TBD: update the YANG in RFC8995 accordingly.</t>
    </section>
    <section anchor="authorization">
      <name>Authorization</name>
      <t>In practice, the CASA and the Registrar will be a single software
system, so no network protocol is needed between them.
When the Registrar receives a voucher request via EST, as per
<xref target="RFC8995"/>, it will pass the request directly to the CASA.
Instead of the checks normally carried out by a MASA, the CASA will
extract the token ("serial-number") from the pledge's ODevID,
and check if it is present and unused in the OPADL. If yes,
the CASA will mark it as "claimed" in the OPADL, and issue the
required voucher directly to the Registrar, allowing the BRSKI
process to complete. If the token is not available in the OPADL,
authorization will fail.</t>
      <t>The action of checking and marking a token as "claimed" <bcp14>MUST</bcp14>
be an atomic operation.</t>
      <t>Clearly, a bogus token will fail. In the highly unlikely event that
two pledges try the same token, the second Installer simply tries
again with another token from their APADL. The same would apply
if a voucher request failed in such a way that a token was marked
as "claimed" by the CASA but the voucher never reached the pledge.</t>
    </section>
    <section anchor="trust">
      <name>Trust Model</name>
      <t>Section 7.1 of <xref target="RFC8995"/> summarizes the BRSKI trust model.
The present document removes the requirement to trust equipment
manufacturers, the integrity of their IDevID creation, and their
MASA services. It also removes any security exposures during
communication between the Registrar and the MASA.</t>
      <t>On the other hand, it introduces a need to operate
a CASA in a completely secure manner, and a need to trust the
authorized Installers, especially their operational security
practices that keep the APADLs secure. The risk of fraudulent pledges
due to a compromised APADL is real, but can be traced after
the event using logs from the CASA. If an APADL should be
physically lost, all its tokens <bcp14>MUST</bcp14> immediately be marked as claimed
in the OPADL.</t>
      <t>The ODevIDs are self-signed. This is acceptable because each ODevID
certificate includes a unique token from the OPADL, and so
can be trusted exactly to the extent that the Installer is trusted.
However, this means that the BRSKI-EST TLS connection cannot rely on
a CA-signed IDevID as described in Section 5.1 of <xref target="RFC8995"/>. It <strong><bcp14>SHOULD</bcp14></strong>
rely on whatever corporate or general PKI is already in place in the pledge.
In a stand-alone environment, an alternative is to accept self-signed CMS structures.</t>
      <t>The Registrar and the CASA are trustworthy because they constitute
a corporate entity and can present an end-entity certificate satisfying corporate
security requirements.</t>
    </section>
    <section anchor="implementation-status-rfc-editor-please-remove">
      <name>Implementation Status [RFC Editor: please remove]</name>
      <t>See <eref target="https://github.com/becarpenter/graspy/blob/master/casa"/> for a proof of concept.
It's amateur code from a security point of view. DO NOT trust it in the slightest.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC8995"/> apply in general. However, the trust model
is modified, as discussed in <xref target="trust"/>.</t>
      <t>Also, sections 7.3 and 7.4 of <xref target="RFC8995"/> allow certain security reductions for BRSKI
registrars and MASAs. The mechanism described in the present document removes the need for
some of these reductions, since it caters for devices without manufacturer or ownership credentials.
For example, nonceless vouchers are never needed since the Registrar and the CASA are
colocated.</t>
      <t>However, since the pledge is issued a voucher on the basis of a self-signed certificate,
there is a plausible man-in-the middle attack by a rogue BRSKI proxy, if it intercepts
a voucher request, extracts the token value, creates its own key pair, and simulates all
subsequent pledge actions. Similarly, a rogue registrar could accept any pledge without
checking that its token is known to the genuine CASA registrar. Only good operational
security can protect against such attacks.</t>
      <t>The CASA is under local control so could safely be placed on the local side
of an air gap. In some scenarios, this may be considered a security advantage.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8990" target="https://www.rfc-editor.org/info/rfc8990" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8990.xml">
          <front>
            <title>GeneRic Autonomic Signaling Protocol (GRASP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="B. Carpenter" initials="B." role="editor" surname="Carpenter"/>
            <author fullname="B. Liu" initials="B." role="editor" surname="Liu"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies the GeneRic Autonomic Signaling Protocol (GRASP), which enables autonomic nodes and Autonomic Service Agents to dynamically discover peers, to synchronize state with each other, and to negotiate parameter settings with each other. GRASP depends on an external security environment that is described elsewhere. The technical objectives and parameters for specific application scenarios are to be described in separate documents. Appendices briefly discuss requirements for the protocol and existing protocols with comparable features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8990"/>
          <seriesInfo name="DOI" value="10.17487/RFC8990"/>
        </reference>
        <reference anchor="RFC8995" target="https://www.rfc-editor.org/info/rfc8995" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8995.xml">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane. To do this, a Secure Key Infrastructure is bootstrapped. This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline. We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device. The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
        <reference anchor="RFC4086" target="https://www.rfc-editor.org/info/rfc4086" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4086.xml">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. 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="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <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" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <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="RFC8993" target="https://www.rfc-editor.org/info/rfc8993" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8993.xml">
          <front>
            <title>A Reference Model for Autonomic Networking</title>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="L. Ciavaglia" initials="L." surname="Ciavaglia"/>
            <author fullname="J. Nobre" initials="J." surname="Nobre"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes a reference model for Autonomic Networking for managed networks. It defines the behavior of an autonomic node, how the various elements in an autonomic context work together, and how autonomic services can use the infrastructure.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8993"/>
          <seriesInfo name="DOI" value="10.17487/RFC8993"/>
        </reference>
        <reference anchor="RFC8994" target="https://www.rfc-editor.org/info/rfc8994" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8994.xml">
          <front>
            <title>An Autonomic Control Plane (ACP)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>Autonomic functions need a control plane to communicate, which depends on some addressing and routing. This Autonomic Control Plane should ideally be self-managing and be as independent as possible of configuration. This document defines such a plane and calls it the "Autonomic Control Plane", with the primary use as a control plane for autonomic functions. It also serves as a "virtual out-of-band channel" for Operations, Administration, and Management (OAM) communications over a network that provides automatically configured, hop-by-hop authenticated and encrypted communications via automatically configured IPv6 even when the network is not configured or is misconfigured.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8994"/>
          <seriesInfo name="DOI" value="10.17487/RFC8994"/>
        </reference>
        <reference anchor="RFC8366" target="https://www.rfc-editor.org/info/rfc8366" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8366.xml">
          <front>
            <title>A Voucher Artifact for Bootstrapping Protocols</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This document defines a strategy to securely assign a pledge to an owner using an artifact signed, directly or indirectly, by the pledge's manufacturer. This artifact is known as a "voucher".</t>
              <t>This document defines an artifact format as a YANG-defined JSON document that has been signed using a Cryptographic Message Syntax (CMS) structure. Other YANG-derived formats are possible. The voucher artifact is normally generated by the pledge's manufacturer (i.e., the Manufacturer Authorized Signing Authority (MASA)).</t>
              <t>This document only defines the voucher artifact, leaving it to other documents to describe specialized protocols for accessing it.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8366"/>
          <seriesInfo name="DOI" value="10.17487/RFC8366"/>
        </reference>
      </references>
    </references>
    <?line 243?>

<section anchor="change-log-rfc-editor-please-remove">
      <name>Change Log [RFC Editor: please remove]</name>
      <section anchor="draft-00">
        <name>Draft-00</name>
        <ul spacing="normal">
          <li>
            <t>Original version</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-01">
        <name>Draft-01</name>
        <ul spacing="normal">
          <li>
            <t>Many changes after a proof-of-concept implementation.</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-02">
        <name>Draft-02</name>
        <ul spacing="normal">
          <li>
            <t>Indicate that ODevID is also an LDevID</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Helpful comments were made by
Michael Richardson,
...</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA61a23LcRpJ97wj+Qy31MOJEd/Mi2ZYYc2uRmjFjKFEjyuHx
ehyeaqC6u5YAClsFsNXr0L/Mt+yX7cnMqgJapGY2YtfhCIFAXbLycvJkVs9m
s4NJZ7vKnKubxsw6Wxv1Tpdq5bxa9N3GeftftlmrS3NvC6OuStNg+O5gopdL
b+4fmfVgZOmKRtfYoPR61c0K7Vt8Mn6mG1vrmetavAt6dnJ2MAn9srYhWNd0
uxZTDia29eeq833ozk5OXtIY7Y0+V4c3rfG6w8igdFOqN7rRa1Nj5cODydb5
u7V3fYtxOIVrXG0L9dZ09IGOcwUB1phuMNGVpuIlFm3rnS42WOBue34wUTP1
6v3tn6/46QrnurrkxzeL28XBpNDduQpdeTC5N01vaLz6P+2plJz58Ps44U+0
Gn+ota3wgRX2B2u61dz5NX/Rvtjgy6br2nB+fEwD6ZW9N/M07pheHC+92wZz
zEsc89SDSWtZ6s4V52pnAj0H5ztvVuFcKfVElWal+6oLGJIH7Gr5zn/DGuwk
5/So+L9ZelDKNhj3aq5ez9VFsvrwVZzilbe6+cIICH+uPmyM+q7BgXyAOym3
gl8WdxWUNwxMzkjj5o8PaV3odHU+vJip22LjXEXDL1zd9tgar6xpCjMe9b/Z
f6bevVIvz05OX47fpXHq9PT52fChcH3T+d05fGOr/t3o/aWM2HpJapmbeY6W
P6zpw7xwNam6cb6G89+L273/48WLly9PRs9fpefnJy++ZuPYZvXInGej5+f5
+dnXMmc2m0G1ofO66OjvDxsbFMK5pzCDc4TC26UJauO2+IvCPqj/cLYh54VR
dY6CAvHsoeoWZzVKB3Is25iSxKIdFW0PL9+pPhjVQeMceMo1S6d9SevVptjA
eUOd5qph6ldTZRCEyq5o7k4VumkcJEZo3dsSG2Lppl/hFL0H7sAt4QoVlvjr
/KuTlzG0VWF8Z1cWcW3mCNbQGV1OVeiLTT4cSbg2DQEPfESrYKrVLNg1iTOa
DiMuTclia9U39j97HMrdQUJMMAUhwMq7Gh9dQs9Wl/Ok8tqWZWXorycEGt6V
fUFAl1zklyeW3n4Sk0BXznVkpLalHd+b2kGEW1PgsOrPUMdVs/IaA3o+v3rK
uj16VLkwSFChNQVOIir+5ZfoUZ8+QSud8qay0ASkAbApHId8Icw5TFbWh05Z
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

-->

</rfc>
