<?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.6.13 (Ruby 3.1.2) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-schinazi-httpbis-transport-auth-06" category="exp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.0 -->
  <front>
    <title abbrev="HTTP Transport Authentication">HTTP Transport Authentication</title>
    <seriesInfo name="Internet-Draft" value="draft-schinazi-httpbis-transport-auth-06"/>
    <author initials="D." surname="Schinazi" fullname="David Schinazi">
      <organization>Google LLC</organization>
      <address>
        <postal>
          <street>1600 Amphitheatre Parkway</street>
          <city>Mountain View</city>
          <region>CA</region>
          <code>94043</code>
          <country>United States of America</country>
        </postal>
        <email>dschinazi.ietf@gmail.com</email>
      </address>
    </author>
    <author initials="D." surname="Oliver" fullname="David M. Oliver">
      <organization>Guardian Project</organization>
      <address>
        <email>david@guardianproject.info</email>
        <uri>https://guardianproject.info</uri>
      </address>
    </author>
    <date year="2022" month="July" day="11"/>
    <area>Applications and Real-Time</area>
    <workgroup>HTTPBIS</workgroup>
    <keyword>secure</keyword>
    <keyword>tunnels</keyword>
    <keyword>masque</keyword>
    <keyword>http-ng</keyword>
    <abstract>
      <t>Existing HTTP authentication mechanisms are probeable in the sense that it is
possible for an unauthenticated client to probe whether an origin serves
resources that require authentication. It is possible for an origin to hide the
fact that it requires authentication by not generating Unauthorized status
codes, however that only works with non-cryptographic authentication schemes:
cryptographic schemes (such as signatures or message authentication codes)
require a fresh nonce to be signed, and there is no existing way for the origin
to share such a nonce without exposing the fact that it serves resources that
require authentication. This document proposes a new non-probeable cryptographic
authentication scheme.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://DavidSchinazi.github.io/draft-schinazi-httpbis-transport-auth/draft-schinazi-httpbis-transport-auth.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-schinazi-httpbis-transport-auth/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        HTTP Working Group mailing list (<eref target="mailto:ietf-http-wg@w3.org"/>),
        which is archived at <eref target="https://lists.w3.org/Archives/Public/ietf-http-wg/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/DavidSchinazi/draft-schinazi-httpbis-transport-auth"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Existing HTTP authentication mechanisms are probeable in the sense that it is
possible for an unauthenticated client to probe whether an origin serves
resources that require authentication. It is possible for an origin to hide the
fact that it requires authentication by not generating Unauthorized status
codes, however that only works with non-cryptographic authentication schemes:
cryptographic schemes (such as signatures or message authentication codes)
require a fresh nonce to be signed, and there is no existing way for the origin
to share such a nonce without exposing the fact that it serves resources that
require authentication. This document proposes a new non-probeable cryptographic
authentication scheme.</t>
      <t>There are scenarios where servers may want to expose the fact that
authentication is required for access to specific resources. This is left for
future work.</t>
      <section anchor="conventions">
        <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>
        <t>This document uses the Augmented BNF defined in <xref target="ABNF"/> and updated by
<xref target="ABNF2"/> along with the "#rule" extension defined in <xref section="5.6.1" sectionFormat="of" target="HTTP"/>. The rules below are defined in <xref target="HTTP"/> and <xref target="OID"/>.</t>
        <artwork><![CDATA[
  OWS           = <OWS, see {{Section 5.6.3 of HTTP}}>
  quoted-string = <quoted-string, see {{Section 5.6.4 of HTTP}}>
  token         = <token, see {{Section 5.6.2 of HTTP}}>
  token68       = <token68, see {{Section 5.6.3 of HTTP}}>
  oid           = <oid, see {{Section 2 of OID}}>
]]></artwork>
      </section>
    </section>
    <section anchor="compute-proof">
      <name>Computing the Authentication Proof</name>
      <t>This document only defines Transport Authentication for uses of HTTP with TLS.
This includes any use of HTTP over TLS as typically used for HTTP/2, or
HTTP/3 where the transport protocol uses TLS as its authentication and key
exchange mechanism <xref target="QUIC-TLS"/>.</t>
      <t>The user agent leverages a TLS keying material exporter <xref target="KEY-EXPORT"/>
to generate a nonce which can be signed using the user-id's key. The keying
material exporter uses a label that starts with the characters
"EXPORTER-HTTP-Transport-Authentication-" (see <xref target="schemes"/> for the labels and
contexts used by each scheme). The TLS keying material exporter is used to
generate a 32-byte key which is then used as a nonce.</t>
    </section>
    <section anchor="header-definition">
      <name>Header Field Definition</name>
      <t>The "Transport-Authentication" header allows a user agent to authenticate
its transport connection with an origin server.</t>
      <artwork><![CDATA[
  Transport-Authentication = tpauth-scheme *( OWS ";" OWS param )
  tpauth-scheme            = token
  param                    = token "=" ( token / quoted-string )
]]></artwork>
      <section anchor="directive-u">
        <name>The u Directive</name>
        <t>The <bcp14>OPTIONAL</bcp14> "u" (user-id) directive specifies the user-id that the user
agent wishes to authenticate. It is encoded using
Base64 (<xref section="4" sectionFormat="of" target="BASE64"/>).</t>
        <artwork><![CDATA[
    u = token68
]]></artwork>
      </section>
      <section anchor="directive-p">
        <name>The p Directive</name>
        <t>The <bcp14>OPTIONAL</bcp14> "p" (proof) directive specifies the proof that the user agent
provides to attest to possessing the credential that matches its user-id.
It is encoded using Base64 (<xref section="4" sectionFormat="of" target="BASE64"/>).</t>
        <artwork><![CDATA[
    p = token68
]]></artwork>
      </section>
      <section anchor="directive-a">
        <name>The a Directive</name>
        <t>The <bcp14>OPTIONAL</bcp14> "a" (algorithm) directive specifies the algorithm used to compute
the proof transmitted in the "p" directive.</t>
        <artwork><![CDATA[
    a = oid
]]></artwork>
      </section>
    </section>
    <section anchor="schemes">
      <name>Transport Authentication Schemes</name>
      <t>The Transport Authentication Framework allows defining Transport
Authentication Schemes, which specify how to authenticate user-ids. This
documents defined the "Signature" and "HMAC" schemes.</t>
      <section anchor="signature">
        <name>Signature</name>
        <t>The "Signature" Transport Authentication Scheme uses asymmetric cyptography.
User agents possess a user-id and a public/private key pair, and origin
servers maintain a mapping of authorized user-ids to their associated public
keys. When using this scheme, the "u", "p", and "a" directives are <bcp14>REQUIRED</bcp14>.
The TLS keying material export label for this scheme is
"EXPORTER-HTTP-Transport-Authentication-Signature" and the associated
context is empty. The nonce is then signed using the selected asymmetric
signature algorithm and transmitted as the proof directive.</t>
        <t>For example, the user-id "john.doe" authenticating using Ed25519
<xref target="ED25519"/> could produce the following header (lines are folded to
fit):</t>
        <artwork><![CDATA[
Transport-Authentication: Signature u="am9obi5kb2U=";
a=1.3.101.112;
p="SW5zZXJ0IHNpZ25hdHVyZSBvZiBub25jZSBoZXJlIHdo
aWNoIHRha2VzIDUxMiBiaXRzIGZvciBFZDI1NTE5IQ=="
]]></artwork>
      </section>
      <section anchor="hmac">
        <name>HMAC</name>
        <t>The "HMAC" Transport Authentication Scheme uses symmetric cyptography.
User agents possess a user-id and a secret key, and origin servers maintain a
mapping of authorized user-ids to their associated secret key. When using this
scheme, the "u", "p", and "a" directives are <bcp14>REQUIRED</bcp14>.
The TLS keying material export label for this scheme is
"EXPORTER-HTTP-Transport-Authentication-HMAC" and the associated
context is empty. The nonce is then HMACed using the selected HMAC algorithm
and transmitted as the proof directive.</t>
        <t>For example, the user-id "john.doe" authenticating using
HMAC-SHA-512 <xref target="SHA"/> could produce the following
header (lines are folded to fit):</t>
        <artwork><![CDATA[
Transport-Authentication: HMAC u="am9obi5kb2U=";
a=2.16.840.1.101.3.4.2.3;
p="SW5zZXJ0IEhNQUMgb2Ygbm9uY2UgaGVyZSB3aGljaCB0YWtl
cyA1MTIgYml0cyBmb3IgU0hBLTUxMiEhISEhIQ=="
]]></artwork>
      </section>
    </section>
    <section anchor="intermediary">
      <name>Intermediary Considerations</name>
      <t>Since Transport Authentication authenticates the underlying transport by
leveraging TLS keying material exporters, it cannot be transparently forwarded
by HTTP intermediaries. HTTP intermediaries that support this specification will
validate the authentication received from the client themselves, then inform the
upstream HTTP server of the presence of valid authentication using some other
mechanism.</t>
    </section>
    <section anchor="security">
      <name>Security Considerations</name>
      <t>Transport Authentication allows a user-agent to authenticate to an origin
server while guaranteeing freshness and without the need for the server
to transmit a nonce to the user agent. This allows the server to accept
authenticated clients without revealing that it supports or expects
authentication for some resources. It also allows authentication without
the user agent leaking the presence of authentication to observers due to
clear-text TLS Client Hello extensions.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <section anchor="iana-header">
        <name>Transport-Authentication Header Field</name>
        <t>This document will request IANA to register the following entry in the "HTTP
Field Name" registry maintained at
&lt;<eref target="https://www.iana.org/assignments/http-fields"/>&gt;:</t>
        <dl spacing="compact">
          <dt>Field Name:</dt>
          <dd>
            <t>Transport-Authentication</t>
          </dd>
          <dt>Template:</dt>
          <dd>
            <t>None</t>
          </dd>
          <dt>Status:</dt>
          <dd>
            <t>provisional (permanent if this document is approved)</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
          <dt>Comments:</dt>
          <dd>
            <t>None</t>
          </dd>
        </dl>
      </section>
      <section anchor="iana-schemes">
        <name>Transport Authentication Schemes Registry</name>
        <t>This document, if approved, requests IANA to create a new "HTTP Transport
Authentication Schemes" Registry. This new registry contains strings and is
covered by the First Come First Served policy from <xref section="4.4" sectionFormat="of" target="IANA-POLICY"/>. Each entry contains an optional "Reference" field.</t>
        <t>It initially contains the following entries:</t>
        <ul spacing="normal">
          <li>Signature</li>
          <li>HMAC</li>
        </ul>
        <t>The reference for both is this document.</t>
      </section>
      <section anchor="iana-exporter-label">
        <name>TLS Keying Material Exporter Labels</name>
        <t>This document, if approved, requests IANA to register the following entries in
the "TLS Exporter Labels" registry maintained at
<eref target="https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels">https://www.iana.org/assignments/tls-parameters/tls-parameters.xhtml#exporter-labels</eref></t>
        <ul spacing="normal">
          <li>EXPORTER-HTTP-Transport-Authentication-Signature</li>
          <li>EXPORTER-HTTP-Transport-Authentication-HMAC</li>
        </ul>
        <t>Both of these entries are listed with the following qualifiers:</t>
        <dl spacing="compact">
          <dt>DTLS-OK:</dt>
          <dd>
            <t>N</t>
          </dd>
          <dt>Recommended:</dt>
          <dd>
            <t>Y</t>
          </dd>
          <dt>Reference:</dt>
          <dd>
            <t>This document</t>
          </dd>
        </dl>
      </section>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="HTTP">
          <front>
            <title>HTTP Semantics</title>
            <author fullname="R. Fielding" initials="R." role="editor" surname="Fielding">
              <organization/>
            </author>
            <author fullname="M. Nottingham" initials="M." role="editor" surname="Nottingham">
              <organization/>
            </author>
            <author fullname="J. Reschke" initials="J." role="editor" surname="Reschke">
              <organization/>
            </author>
            <date month="June" year="2022"/>
            <abstract>
              <t>The Hypertext Transfer Protocol (HTTP) is a stateless application-level protocol for distributed, collaborative, hypertext information systems. This document describes the overall architecture of HTTP, establishes common terminology, and defines aspects of the protocol that are shared by all versions. In this definition are core protocol elements, extensibility mechanisms, and the "http" and "https" Uniform Resource Identifier (URI) schemes. </t>
              <t>This document updates RFC 3864 and obsoletes RFCs 2818, 7231, 7232, 7233, 7235, 7538, 7615, 7694, and portions of 7230.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="97"/>
          <seriesInfo name="RFC" value="9110"/>
          <seriesInfo name="DOI" value="10.17487/RFC9110"/>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
        <reference anchor="ABNF">
          <front>
            <title>Augmented BNF for Syntax Specifications: ABNF</title>
            <author fullname="D. Crocker" initials="D." role="editor" surname="Crocker">
              <organization/>
            </author>
            <author fullname="P. Overell" initials="P." surname="Overell">
              <organization/>
            </author>
            <date month="January" year="2008"/>
            <abstract>
              <t>Internet technical specifications often need to define a formal syntax.  Over the years, a modified version of Backus-Naur Form (BNF), called Augmented BNF (ABNF), has been popular among many Internet specifications.  The current specification documents ABNF. It balances compactness and simplicity with reasonable representational power.  The differences between standard BNF and ABNF involve naming rules, repetition, alternatives, order-independence, and value ranges.  This specification also supplies additional rule definitions and encoding for a core lexical analyzer of the type common to several Internet specifications.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="68"/>
          <seriesInfo name="RFC" value="5234"/>
          <seriesInfo name="DOI" value="10.17487/RFC5234"/>
        </reference>
        <reference anchor="ABNF2">
          <front>
            <title>Case-Sensitive String Support in ABNF</title>
            <author fullname="P. Kyzivat" initials="P." surname="Kyzivat">
              <organization/>
            </author>
            <date month="December" year="2014"/>
            <abstract>
              <t>This document extends the base definition of ABNF (Augmented Backus-Naur Form) to include a way to specify US-ASCII string literals that are matched in a case-sensitive manner.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7405"/>
          <seriesInfo name="DOI" value="10.17487/RFC7405"/>
        </reference>
        <reference anchor="OID">
          <front>
            <title>A URN Namespace of Object Identifiers</title>
            <author fullname="M. Mealling" initials="M." surname="Mealling">
              <organization/>
            </author>
            <date month="February" year="2001"/>
            <abstract>
              <t>This document describes a Uniform Resource Name (URN) namespace that contains Object Identifiers (OIDs).  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3061"/>
          <seriesInfo name="DOI" value="10.17487/RFC3061"/>
        </reference>
        <reference anchor="KEY-EXPORT">
          <front>
            <title>Keying Material Exporters for Transport Layer Security (TLS)</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla">
              <organization/>
            </author>
            <date month="March" year="2010"/>
            <abstract>
              <t>A number of protocols wish to leverage Transport Layer Security (TLS) to perform key establishment but then use some of the keying material for their own purposes.  This document describes a general mechanism for allowing that.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5705"/>
          <seriesInfo name="DOI" value="10.17487/RFC5705"/>
        </reference>
        <reference anchor="BASE64">
          <front>
            <title>The Base16, Base32, and Base64 Data Encodings</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <date month="October" year="2006"/>
            <abstract>
              <t>This document describes the commonly used base 64, base 32, and base 16 encoding schemes.  It also discusses the use of line-feeds in encoded data, use of padding in encoded data, use of non-alphabet characters in encoded data, use of different encoding alphabets, and canonical encodings.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4648"/>
          <seriesInfo name="DOI" value="10.17487/RFC4648"/>
        </reference>
        <reference anchor="IANA-POLICY">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <author fullname="T. Narten" initials="T." surname="Narten">
              <organization/>
            </author>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="QUIC-TLS">
          <front>
            <title>Using TLS to Secure QUIC</title>
            <author fullname="M. Thomson" initials="M." role="editor" surname="Thomson">
              <organization/>
            </author>
            <author fullname="S. Turner" initials="S." role="editor" surname="Turner">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes how Transport Layer Security (TLS) is used to secure QUIC.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9001"/>
          <seriesInfo name="DOI" value="10.17487/RFC9001"/>
        </reference>
        <reference anchor="ED25519">
          <front>
            <title>Algorithm Identifiers for Ed25519, Ed448, X25519, and X448 for Use in the Internet X.509 Public Key Infrastructure</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson">
              <organization/>
            </author>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies algorithm identifiers and ASN.1 encoding formats for elliptic curve constructs using the curve25519 and curve448 curves.  The signature algorithms covered are Ed25519 and Ed448.  The key agreement algorithms covered are X25519 and X448. The encoding for public key, private key, and Edwards-curve Digital Signature Algorithm (EdDSA) structures is provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8410"/>
          <seriesInfo name="DOI" value="10.17487/RFC8410"/>
        </reference>
        <reference anchor="SHA">
          <front>
            <title>US Secure Hash Algorithms (SHA and SHA-based HMAC and HKDF)</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd">
              <organization/>
            </author>
            <author fullname="T. Hansen" initials="T." surname="Hansen">
              <organization/>
            </author>
            <date month="May" year="2011"/>
            <abstract>
              <t>Federal Information Processing Standard, FIPS</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6234"/>
          <seriesInfo name="DOI" value="10.17487/RFC6234"/>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank many members of the IETF community, as this
document is the fruit of many hallway conversations. Using the OID for the
signature and HMAC algorithms was inspired by Signature Authentication in
IKEv2.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+1a63LbNhb+j6dA6R8bd0zZki9N1Lpb2VZibX1JLbup0+kP
iIQkxBTJEqQVJeM+yz7LPtl+BwApUrbStDs7s7PTTDLhBQc4t+/cKN/3Wa7y
SHb56fX1a36diVinSZbzXpFPZZyrQOQqiZkYjTJ5/3urwiSIxQybhZkY574O
pioWH5Q/zfN0pLSfl4S+AKG/c8B0MZoprUGcL1IQDvrXL1lczEYy67JQ5LLL
giTWMtaF7vI8KyQDF7sMB8pJki26XL5P2XxiOTsaDJnIpOhyr5emkWNLcxGH
/EqKyL9WM+mxexkX2JjzSZYUKRYTrYd7y4P3JsnuVDzhr+g1PZ8JFeG5kvnY
yOLPJ9/Nd1tJNqG3IgumeEsvdHd7O1I61y37eruHd+pe6u3XxQj8bNe32Cbi
icqnxQjkJ+JehUOnse3PUiDRR1CEzmvHN/Zp2e1bKvm8HT9vVWuazyKP3cnF
PMlCUqTPtQyKTJrLvIhjGWlzPRP618I+NlLHE0Y7JJmhwj/OVQzLnrR4ybN5
aN3IyNJ8AaV2+askmUSSn50dm2c6z6SEDtoHOzu8N0unEFoKPOSvRXY3Fwuz
KlA53OU8KeJcqJj/qOTcPM/kBE7S5cc9uywJcfKLvZ29XXcPAnK0m1jlEtzk
pHGejHGSzOBiZpW0LhKWmmuRob+b0NNWkMweCXsZwSuyR6KeN95YWQuRhUrE
/HWWvJNB3jiOiL6buBWpXdBS8Tgxq4pMdXnpF0+uipNsBozcGzQQCrr86uXx
i3Z7hzHf97kYQbcCh7L+e7g1gcJEANHAPZ/JYCpipWeAGrSOI0ZSjGAh6BkL
OeFX4krkXOGvZmkCzNOCcZIBnbyIaztCyUGkcMPzxO7F51OJ12ZpkqkJttUy
A6xYJnVSZAEMYnbP5K+FAgdN/lp8QKfy1VPdVjhlqkLiT7IxhK0YdbvpVXFH
Cx4nOZ/IWGbCKOUmtl6tPoB5DQ8pNCNH0lt8mswlDGo3TeJowQGaO83ncFJs
E/tBtkjzZJIJ+G2wehT8Sc6kRhRsrHKP+TNdBFMuNNdqEuNUYhay4ZUWk1U1
GNfWm6xSEh9jvWEikKQFKJr2keGWiZikcUl6ixNEWWd+oMmoj8xq9cdAqadk
d8uM24/kS4qc4nOiiZIoGuq1JuRNE7J1JryeghMkmGJGngG3wLZkGh7LudHj
0usaumJParRl/XumwjCSjG3wAUCehEVg1nzcULXbh7+8/y/v/3/z/msjnuE7
kLHIVKLJz+ieGMs0UjeMJawfGjFkU4jVrZUuXSa0LhZAKk3UOpWBGsNwlbBO
IPyN5Din5WxckAGNe4C9jQ1+nMT3tH1ZwJ3IsUIKNvcfN4Ll2wcjDUc5QtSh
5t75zfDa27L/84tLc33V/+FmcNU/oevhae/srLpgbsXw9PLm7GR5taQ8vjw/
71+cWGI85Y1HzDvv3XrWa7zL19eDy4vemWfRX7caKdv6GaKLzNJMEtiFZvDL
IFMj3IDm6Pj1v/7Z3uMfP36BVNxpt188PLib5+2v9nADM8X2NAsocwtTLJhI
Uyky2kVEEQ9EqnIRAYUEESAx5mRgaPfLn0kzv3T5N6Mgbe996x6QwI2Hpc4a
D43OHj95RGyV+MSjJ46ptNl4vqLpJr+928Z9qffaQ3KLuv4LbVAm0bVM6AH0
fXTxkofkV1b3UHMPjw6h6/3OLumatFykoQnLowVzCzq04qu9nX1aESUUGCie
0d7eRlZE0gNicoR9wkVj/6G0GWa/ddBqMxSRlFAeHggPkhOlhn9Eydw4S4PS
LjQMgYvLwQnxsLtz0AY1Y7/99hsquMs3Q778c8i/wYMtAFqunLzLq5O/Bdmv
RQL5fJR6FKlA1njw1AZ7zQ3y5E7G9XPNg6cIO08QHjxfITx4/hlMJyiXG7Li
wSqZOQ2qIgrSECX642SWFnkZkpsNLNXYoKDoQoskRdVk/LDqSAZ21jh6bTNs
YqBxOce29ZHrs2HLbqfiICpCCuLxghZW6xJKmFhHsEVHiv2iyKywcZXWbHe2
kH+Yudx1cZvEqfo0ShF5EiSRZcHtpvJH2Zz8CZGTyfdUxCBrVtUM9Ph3wP/Y
BzH52oudHetr5KrYFRF+QtqIKMHjkrIRnYPdSLvoK9AeicjkjgzX5Lbf92/9
/k+vL6+uDca+IgRRBnXFhFzmT+SuKSJYvEzLOLO0Gp3uq/Bvmg6z2LGnssen
FjZPRgK4sskXFUqW6yVkIS/1OMh5zLPM9a98Uq1f2dZv2tb3UHsYT3OlCIBZ
lgXmIJOxaHKRIw5oazvUTVJAKEuyadn+pMKUo8wTVlPQbscfLXKX74yalAlr
sV0sdKnElvH3UylC7PVSyaieQ+HkU/PGD6tnLpF668T2uCWh7JLM6ZyaG8CK
9SqWka8t3RGqiB0ojd5XStmsCmHrzgbC89RMjaz++JfPTLjzvvbM/ylsOOOb
FFMayxoxwkQXLLGLn/jjlnDvEBZ219sr8XGzDCUbxoIFP0HJE1ATDZ2G5bVf
OG2WiYl7BfZ0nrvJq4VldeRyk1tgPbV8wKyK50pPpV7VdFnfy5gqXAcTdiS0
PNjjz5bB0MTsL456w/7BHqFv72Dv+cPDZqV5DlEOy4jclDFdI2P6SMYUMpqg
uV5C87opn3Uhhjf3KnQS5jTXMj0Q+hYUkiX2A9SXJLpwaAZsAtKKsjgj5bXY
ExrhazRiFdJURLpOEWKNIsQjRQgoQkQTOHk+na1XRrWkRDp3qYfVVEWQmKk8
t6WAqTKg52rLGuMCjCMPVslubXIauhbq40YZwawAawleAjGSivMS/DZsQK8V
CXv6jC0XpazgC2oJV124NJzrC1iZaXVVAhmhh2Wb59la+/S8d+yV3WDLWqla
Q6KV12Vgq23wO5pxaUMvZjMJ2Ac8qJqqRYvdVD6rS/d0wZCgS7wJntqBb5qp
e+GidSpU5gp32zsuWy1lh5ICl2lKWoXda011qR9SHLhVOF3rJFCmLrUn0TgW
+ntjE4FFCzBgtbNlFVhQ/5KWrYqo+ZAdXZT1fot9Oje5bGpTXnUIjTY+N4Gu
mNJAoZKoTJwGw7M0dyneVgZlsntUFGgZQRaTAUurscoDakAz59UgJephqQ6q
lxBPvhezNHL6Kw3svUumcStMiPmaWODDctMPO/v77RfoFv7ePzGXFG+f77V3
UCcESYFEnJrpkuuoE0IUEbr0+iwylSVZBO9CWwGMVb7ZtUhfp9VuzfuLQ0/M
XiQjtX836twcel8zcdhu7bbaO+1Wu935mqWH3vDN/oe3P/1jZ3B6kb7t7E/D
0x8Xb4dH92/VUTHq7L/DdYL30eA0TJh4c5EMTq+movPjh8HJzftzdaTET1cf
Bq/e3gfq6OXbk0H74rq/P/jh8NBbRk3CKNUaMxGUKLSw/SwA/gf40xKZIicH
rkOOP4Yc+xOQW27+CHHsfxRxVut/EmxE/DTYjH0rcLH/OrgYHegPT3v+frtD
LQouCV0Htl//BLrYJ9DFPwtdRtangNVptQ9az/d2Wm2Dr93WXqvT2m1irD+9
+OHmfDLq3E5GsxfFbedmIl4ZvO2KV9E7cXy0c/smj1iw6LXPrweT21m0EyyO
ZqPdweRmZ3p0dk2Y608HQ/yrY4xG1zKbyVCJbEFTM40aKhPloEzV3gKBQ0V2
XQu+elZ2BWmM3SLjk8tyfrRgru0zFcAnmhikf5VTI0cz41HZoUL5cR6ZWepc
ZLABQ3dkmt8au4rmhE88dF1ckRpWLBzchFG4DiOK2L2IFM1trLs3pYQbSrgh
+uksmdmq0o3cgSq49j1VLcbx6StZZpawIqXvjOgbDEs2jnBTyZJ/Sy1Jsbg3
B6+eaJGjE2A2ockyq9ps26UN6fOpyp+wn3ZvKHqutVq9H/Of7MfMfdwsPKgw
iySnL4MCGpbEohmKxyagAsrlGJtkjKUbQFj80wbUupdor1p3Gy9rdb0b9jom
l9SGpSCQaWOUXH3/0NXpGVwNSjWhxw3PrfHNuB+ehqiiV8fRxKnRd23ojLZA
RDqp9NWkcMexJvc8kuKuDHt1O69QQ5hkVGaXsCA9sAC0mW+iK2Hk2DrZqcTx
ywGhrVz5oHfRewK9IqbeYmNjfWPcaPAthW9D3aPBFQHDDOmptTIHgmv6/q1z
ma3UIpK+elf9Bvk8s0dcoBHwHBVWlImUgn3Ovvn5l2flF+f5fN4ibswPIZBw
UJuYon7b/BJgTJvpzW8RdZf7dll3raAQBvkpMr8J6fKLJJaIZuZjE92b3pHU
idjzLEW0EDFJrMYrQ3hyxJQWy3CTsSs5lhkZ1BxcX8jYcTIz7IJBd9zHLgKN
CKCdQ4/aNBHk3gNrWmddo3VV6stZqN521Y7dIo5LBrdKW+nKWCg73JhMzq1V
frf/8qqzHRCJtDIfZX9YT3M73bCwV/T9Do5sp1bkAC9VBpc5JjzZyyF5OjJt
gtZjYeNorbE2A2L2BXHtv748Gxzfmgq43TmgWXefxmDWv6rjKTalubWfV5nF
48ZNgBDq6GlKZWahFdVjl1X0uZB9uayE6YYSty0+s3JnEx9GiMW2xqmZwH59
Irx+b3PaeZnT+uVg7szO+Jwpy1Tnmxrtj1r0E/CjXEdfGM1MDvysnL8ehL+L
wDzSvhmCSUrRK7et9/T7no2mWPpbUuQf7e7+AI210RFZxCZVLSslUK1GP6uS
4XJqu1TVrwWSA/wkI8ufQFH+5fcWtATwwMAYJYZ5dNvA/CPQr0E4/VRgJII7
itO94C5O5pEMJ3ZC8XFDNJ88YBf7CzYZHnpjJBzpudbHthdIbKZKjdSdy5Yi
voMJY9hREp0uywr6NRwNhGYFXH+xZavp2nzE1eeAX4GkCCKzyRQYoQ/V5hNp
pm0uafGbqni/HJyUibzeIcer1TwYpY8GsJdyoWDZX67EGrjp4Pv+fYdy2b8B
AR95M1UoAAA=

-->

</rfc>
