<?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 rfcedstyle="yes"?>
<?rfc tocindent="yes"?>
<?rfc strict="yes"?>
<?rfc comments="yes"?>
<?rfc inline="yes"?>
<?rfc text-list-symbols="-o*+"?>
<?rfc docmapping="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-tls-extended-key-update-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="Extended Key Update for TLS">Extended Key Update for Transport Layer Security (TLS) 1.3</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-tls-extended-key-update-04"/>
    <author initials="H." surname="Tschofenig" fullname="Hannes Tschofenig">
      <organization>Siemens</organization>
      <address>
        <email>hannes.tschofenig@gmx.net</email>
      </address>
    </author>
    <author initials="M." surname="Tüxen" fullname="Michael Tüxen">
      <organization>Münster Univ. of Applied Sciences</organization>
      <address>
        <email>tuexen@fh-muenster.de</email>
      </address>
    </author>
    <author initials="T." surname="Reddy" fullname="Tirumaleswar Reddy">
      <organization>Nokia</organization>
      <address>
        <email>kondtir@gmail.com</email>
      </address>
    </author>
    <author initials="S." surname="Fries" fullname="Steffen Fries">
      <organization>Siemens</organization>
      <address>
        <email>steffen.fries@siemens.com</email>
      </address>
    </author>
    <author initials="Y." surname="Rosomakho" fullname="Yaroslav Rosomakho">
      <organization>Zscaler</organization>
      <address>
        <email>yrosomakho@zscaler.com</email>
      </address>
    </author>
    <date year="2025" month="March" day="03"/>
    <area>Security</area>
    <workgroup>Transport Layer Security</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 83?>
<t>The Transport Layer Security (TLS) 1.3 specification provides forward secrecy
by utilizing an ephemeral key exchange during the initial handshake. Forward
secrecy ensures that even if an attacker later obtains a party's long-term private
key, past encrypted sessions cannot be decrypted. This protects against adversaries
who record encrypted conversations in the hope of decrypting them later.</t>
      <t>TLS 1.3 also includes a Key Update mechanism, allowing cryptographic keys to be
refreshed during an ongoing session. However, this update does not establish new
forward-secret key material. While this is generally not an issue for short-lived
sessions, it can pose a security risk for long-lived connections, such as those in
industrial IoT or telecommunication networks, where an attacker could compromise
application traffic secrets after the initial handshake.</t>
      <t>Earlier versions of TLS supported session renegotiation, a mechanism that allowed
peers to establish new cryptographic parameters within an existing session. This
included the ability to update the originally used long-term keys (certificates)
with renewed credentials. However, due to security vulnerabilities, the renegotiation
mechanism was modified via RFC 5746 and later removed entirely in TLS 1.3, leaving
a gap in TLS's ability to refresh cryptographic material securely.</t>
      <t>This specification introduces an extended key update mechanism that supports forward
secrecy, forcing attackers to continuously exfiltrate key material throughout the
session to decrypt the entire conversation.</t>
    </abstract>
  </front>
  <middle>
    <?line 108?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The features of TLS and DTLS have changed over the years and while newer versions
optimized the protocol and at the same time enhanced features (often with the help
of extensions) some functionality was removed without replacement. The ability to
update keys and initialization vectors has been added in TLS 1.3 <xref target="I-D.ietf-tls-rfc8446bis"/>
using the KeyUpdate message and it intended to (partially) replace renegotiation from earlier
TLS versions. The renegotiation feature, while complex, offered additional
functionality that is not supported with TLS 1.3 anymore, including the update
of master keys with a Diffie-Hellman exchange during the lifetime of a session.</t>
      <t>There are use cases of TLS and DTLS where long-lived sessions are common. In those
environments, such as industrial IoT and telecommunication networks, availability
is important and an interruption of the communication due to periodic session
resumptions is not an option. Re-running a handshake with (EC)DHE and switching from
the old to the new session may be a solution for some applications but introduces
complexity, impacts performance and may lead to service interruption as well.</t>
      <t>Some deployments have used IPsec in the past to secure their communication protocol
and have now decided to switch to TLS or DTLS instead. The requirement for updates of
cryptographic keys for an existing session has become a requirement. For IPsec, US NIST,
German BSI, and French ANSSI recommend to re-run Diffie-Hellman exchanges frequently
to provide forward secrecy and force attackers to perform a dynamic key exfiltration
<xref target="RFC7624"/>. ANSSI writes "It is recommended to force the periodic renewal of the
keys, e.g., every hour and every 100 GB of data, in order to limit the impact of a
key compromise." <xref target="ANSSI-DAT-NT-003"/>. While IPsec/IKEv2 <xref target="RFC7296"/> offers the
desired functionality, developers often decide to use TLS/DTLS to simplify
integration with cloud-based environments.</t>
      <t>This specification defines a new, extended key update message supporting
forward secrecy.  It does so by utilizing a Diffie-Hellman exchange using one of
the groups negotiated during the initial exchange.  The support for this extension
is signaled using the TLS flags extension mechanism.  The frequent re-running of
extended key update forces an attacker to do dynamic key exfiltration.</t>
      <t>This specification is applicable to both TLS 1.3 <xref target="I-D.ietf-tls-rfc8446bis"/> and
DTLS 1.3 <xref target="RFC9147"/>. Throughout the specification we do not distinguish between
these two protocols unless necessary for better understanding.</t>
    </section>
    <section anchor="terminology-and-requirements-language">
      <name>Terminology and Requirements Language</name>
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 <xref target="RFC2119"/>.</t>
      <t>To distinguish the key update procedure defined in <xref target="I-D.ietf-tls-rfc8446bis"/>
from the key update procedure specified in this document, we use the terms
"key update" and "extended key update", respectively.</t>
    </section>
    <section anchor="key-exfiltration-and-forward-secrecy">
      <name>Key Exfiltration and Forward Secrecy</name>
      <t><xref target="RFC9325"/> provides a good summary of what (perfect) forward secrecy
is and how it relates to the TLS protocol. In summary, it says:</t>
      <t>"Forward secrecy (also called "perfect forward secrecy" or "PFS") is a
defense against an attacker who records encrypted conversations where
the session keys are only encrypted with the communicating parties'
long-term keys. Should the attacker be able to obtain these long-term
keys at some point later in time, the session keys and thus the entire
conversation could be decrypted."</t>
      <t>Appendix F of <xref target="I-D.ietf-tls-rfc8446bis"/> goes into details of
explaining the security properties of the TLS 1.3 protocol and notes
"... forward secrecy without rerunning (EC)DHE does not stop an attacker
from doing static key exfiltration". It concludes with a recommendation
by saying: "Frequently rerunning (EC)DHE forces an attacker to do dynamic
key exfiltration (or content exfiltration)." The terms static and dynamic
key exfiltration are defined in <xref target="RFC7624"/>. Dynamic key exfiltration,
refers to attacks in which the collaborator delivers keying material to
the attacker frequently, e.g., on a per-session basis. Static key
exfiltration means that the transfer of keys happens once or rarely
and that the transferred key is typically long-lived.</t>
    </section>
    <section anchor="negotiating-the-extended-key-update">
      <name>Negotiating the Extended Key Update</name>
      <t>Client and servers use the TLS flags extension
<xref target="I-D.ietf-tls-tlsflags"/> to indicate support for the functionality
defined in this document.  We call this the "extended_key_update"
extension and the corresponding flag is called "Extended_Key_Update"
flag.</t>
      <t>The "Extended_Key_Update" flag proposed by the client in the
ClientHello (CH) MUST be acknowledged in the EncryptedExtensions
(EE), if the server also supports the functionality defined in this
document and is configured to use it.</t>
      <t>If the "Extended_Key_Update" flag is not set, servers ignore any of the
functionality specified in this document and applications that
require perfect forward security will have to initiate a full
handshake.</t>
    </section>
    <section anchor="ext-key-update">
      <name>Extended Key Update Message</name>
      <t>The ExtendedKeyUpdate handshake message is used to indicate an update
of cryptographic keys. This key update process can be sent by either
peer after it has sent a Finished message.  Implementations that
receive a ExtendedKeyUpdate message prior to receiving a Finished
message MUST terminate the connection with an "unexpected_message"
alert.</t>
      <t>The KeyShareEntry in the ExtendedKeyUpdate message MUST be the same
group mutually supported by the client and server during the initial
handshake. The peers MUST NOT send a KeyShareEntry in the ExtendedKeyUpdate
message that is not mutually supported by the client and server during
the initial handshake. An implementation that receives any other value
MUST terminate the connection with an "illegal_parameter" alert.</t>
      <t><xref target="fig-key-update"/> shows the interaction graphically.
First, support for the functionality in this specification
is negotiated in the ClientHello and the EncryptedExtensions
messages. Then, the ExtendedKeyUpdate exchange is sent to
update the application traffic secrets.</t>
      <t>The extended key update exchange is performed between the initiator and the
responder whereby the initiator may be the TLS client or the TLS server.</t>
      <figure anchor="fig-key-update">
        <name>Extended Key Update Message Exchange.</name>
        <artwork><![CDATA[
       Client                                           Server

Key  ^ ClientHello
Exch | + key_share
     | + signature_algorithms
     v + Extended_Key_Update       -------->
                                                  ServerHello  ^ Key
                                                  + key_share  | Exch
                                                               v
                                        {EncryptedExtensions   ^ Server
                                       + Extended_Key_Update}  | Params
                                         {CertificateRequest}  v
                                                {Certificate}  ^
                                          {CertificateVerify}  | Auth
                                                   {Finished}  v
                               <--------
     ^ {Certificate}
Auth | {CertificateVerify}
     v {Finished}              -------->
       [Application Data]      <------->  [Application Data]
                                  ...
[ExtendedKeyUpdateRequest]     -------->
                               <--------  [ExtendedKeyUpdateResponse]
                                  ...
            [NewKeyUpdate]     -------->
                               <--------  [NewKeyUpdate]
                                  ...
       [Application Data]      <------->  [Application Data]
]]></artwork>
      </figure>
      <t>The structure of the ExtendedKeyUpdate message is shown below.</t>
      <artwork><![CDATA[
struct {
  KeyShareEntry key_share;
} ExtendedKeyUpdateRequest;

enum {
  accepted(0),
  retry(1),
  rejected(2),
  clashed(3),
  (255)
} ExtendedKeyUpdateResponseStatus;

struct {
  ExtendedKeyUpdateResponseStatus status;
  select (ExtendedKeyUpdateResponse.status) {
     case accepted: KeyShareEntry key_share;
     case retry: uint8 delay;
  }
} ExtendedKeyUpdateResponse;

struct {
} NewKeyUpdate;
]]></artwork>
      <t>key_share:  Key share information.  The contents of this field
  are determined by the specified group and its corresponding
  definition. The structures are defined in <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
      <t>status:  Response to ExtendedKeyUpdateRequest. This status field indicates
  whether responder accepted or declined Extended Key Update Request.</t>
      <t>delay:  Delay in seconds for the initiator to retry the request.</t>
      <t>There are three rejection reasons defined:</t>
      <ol spacing="normal" type="1"><li>
          <t><tt>retry</tt>: request was declined temporarily as responder is too busy.
In this case ExtendedKeyUpdateResponse contains delay in seconds for initiator
to retry. Initiator MUST NOT retry within this interval and SHOULD retry after
it lapsed. Note that responder MAY apply an overall rate limit to extended key
update that would not be specific to given TLS session. If initiator cannot
proceed without immediate Extended Key Update it MUST terminate the connection
with TLS alert "extended_key_update_required" (alert number TBD).</t>
        </li>
        <li>
          <t><tt>rejected</tt>: request was declined permanently. Initiator MUST NOT retry and
if it cannot proceed without Extended Key Update it MUST terminate the
connection with alert "extended_key_update_required" (alert number TBD).</t>
        </li>
        <li>
          <t><tt>clashed</tt>: request was declined because responder already initiated its own
extended key update.</t>
        </li>
      </ol>
      <t>The exchange has the following steps:</t>
      <ol spacing="normal" type="1"><li>
          <t>Initiator sends a ExtendedKeyUpdateRequest message, which contains
a key share. While an extended key update is in progress, the initiator
MUST NOT initiate further key updates.</t>
        </li>
        <li>
          <t>On receipt of the ExtendedKeyUpdateRequest message, the responder
sends the ExtendedKeyUpdateResponse message. If the responder accepts the
request, it sets the status to <tt>accepted</tt> and includes its own key share.
If the responder declines the request, it sets the status accordingly and
does not include the key share. While an extended key update is in progress,
the responder MUST NOT initiate further key updates.</t>
        </li>
        <li>
          <t>On receipt of the ExtendedKeyUpdateResponse message with <tt>accepted</tt> status,
the initiator is able to derive a secret key based on the exchanged key shares.
After sending a NewKeyUpdate message, the initiator MUST update its
traffic keys and MUST send all its traffic using the next generation of keys.
The NewKeyUpdate message is intentionally an empty structure that triggers
the transition to new keying material.</t>
        </li>
        <li>
          <t>On receipt of the NewKeyUpdate message by the responder, it MUST update
its receive keys. In response, the responder transmits a NewKeyUpdate message
and MUST update its sending keys.</t>
        </li>
      </ol>
      <t>Both sender and receiver MUST encrypt their NewKeyUpdate messages with
the old keys. Additionally, both sides MUST enforce that a NewKeyUpdate
with the old key is received before accepting any messages encrypted
with the new key.</t>
      <t>If TLS peers independently initiate the extended key update
procedure and the requests cross in flight, the ExtendedKeyUpdateRequest
message with the lower lexicographic order for the key_exchange value
in the KeyShareEntry will be rejected by the responder using <tt>clashed</tt> status
in ExtendedKeyUpdateResponse message. This approach prevents each side incrementing
keys by two generations.</t>
      <figure anchor="fig-handshake">
        <name>Handshake Structure.</name>
        <artwork><![CDATA[
      struct {
          HandshakeType msg_type;    /* handshake type */
          uint24 length;             /* bytes in message */
          select (Handshake.msg_type) {
              case client_hello:          ClientHello;
              case server_hello:          ServerHello;
              case end_of_early_data:     EndOfEarlyData;
              case encrypted_extensions:  EncryptedExtensions;
              case certificate_request:   CertificateRequest;
              case certificate:           Certificate;
              case certificate_verify:    CertificateVerify;
              case finished:              Finished;
              case new_session_ticket:    NewSessionTicket;
              case key_update:            KeyUpdate;
              case extended_key_update:   ExtendedKeyUpdate;
          };
      } Handshake;
]]></artwork>
      </figure>
      <t>The ExtendedKeyUpdate and the KeyUpdates MAY be used in combination
over the lifetime of a TLS communication session, depending on the
desired security properties.</t>
    </section>
    <section anchor="key_update">
      <name>Updating Traffic Secrets</name>
      <t>The ExtendedKeyUpdate handshake message is used to indicate that
the sender is updating its sending cryptographic keys.  This message can
be sent by either endpoint after the Finished messages have been exchanged.</t>
      <t>The design of the key derivation function for computing the next generation
of application_traffic_secret is motivated by the desire to include</t>
      <ul spacing="normal">
        <li>
          <t>the old traffic secret as well as a secret derived from the DH
exchange or from the hybrid key exchange,</t>
        </li>
        <li>
          <t>the concatenation of the ExtendedKeyUpdateRequest and the
ExtendedKeyUpdateResponse messages, which contain the key shares, binding
the encapsulated shared secret ciphertext to IKM in case of hybrid key
exchange, providing MAL-BIND-K-CT security (see <xref target="CDM23"/>), and</t>
        </li>
        <li>
          <t>a new label string to distinguish it from the application traffic
secret computation defined in <xref target="I-D.ietf-tls-rfc8446bis"/> for use with
the regular KeyUpdate.</t>
        </li>
      </ul>
      <artwork><![CDATA[
sk = HKDF-Extract(Transcript-Hash(KeyUpdateMessages), secret)

application_traffic_secret_N+1 =
    HKDF-Expand-Label(sk,
                      "traffic up2", application_traffic_secret_N,
                      Hash.length)
]]></artwork>
      <t>The traffic keys are re-derived from the client_/server_application_traffic_secret_N+1
as described in Section 7.3 of <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
      <t>Once client_/server_application_traffic_secret_N+1 and its associated
traffic keys have been computed, implementations SHOULD delete
client_/server_application_traffic_secret_N and its associated
traffic keys. Note: The client_/server_application_traffic_secret_N and
its associated traffic keys can only be deleted after receiving the
NewKeyUpdate message.</t>
    </section>
    <section anchor="example">
      <name>Example</name>
      <t><xref target="fig-key-update"/> shows the interaction between a TLS 1.3 client
and server graphically. This section shows an example message exchange
where a client updates its sending keys.</t>
      <t>There are two phases:</t>
      <ol spacing="normal" type="1"><li>
          <t>The support for the functionality in this specification
is negotiated in the ClientHello and the EncryptedExtensions
messages.</t>
        </li>
        <li>
          <t>Once the initial handshake is completed, a key update can be
triggered.</t>
        </li>
      </ol>
      <t><xref target="fig-key-update2"/> provides an overview of the exchange starting
with the initial negotiation followed by the key update.</t>
      <figure anchor="fig-key-update2">
        <name>Extended Key Update Message Exchange.</name>
        <artwork><![CDATA[
       Client                                           Server

Key  ^ ClientHello
Exch | + key_share
     | + signature_algorithms
     v + extended_key_update
                             -------->
                                                  ServerHello  ^ Key
                                                  + key_share  | Exch
                                                               v
                                        {EncryptedExtensions   ^ Server
                                       + extended_key_update}  | Params
                                         {CertificateRequest}  v
                                                {Certificate}  ^
                                          {CertificateVerify}  | Auth
                                                   {Finished}  v
                               <--------
     ^ {Certificate}
Auth | {CertificateVerify}
     v {Finished}              -------->
                                  ...
                              some time later
                                  ...
 [ExtendedKeyUpdateRequest]    -------->
  (with key_share)
                               <-------- [ExtendedKeyUpdateResponse]
                                           (with key_share)
 [NewKeyUpdate]                -------->
                               <-------- [NewKeyUpdate]
]]></artwork>
      </figure>
    </section>
    <section anchor="dtls-13-considerations">
      <name>DTLS 1.3 Considerations</name>
      <t>Due to the possibility of a NewKeyUpdate message being lost and
thereby preventing the sender of the NewKeyUpdate message
from updating its keying material, receivers MUST retain the
pre-update keying material until receipt and successful decryption
of a message using the new keys.</t>
      <t>Due to loss and/or reordering, DTLS 1.3 implementations may receive a
record with an older epoch than the current one. They SHOULD attempt to
process those records with that epoch but MAY opt to discard
such out-of-epoch records.</t>
    </section>
    <section anchor="post-quantum-cryptogrphy-considerations">
      <name>Post-Quantum Cryptogrphy Considerations</name>
      <t>Hybrid key exchange refers to using multiple key exchange algorithms
simultaneously and combining the result with the goal of providing
security even if all but one of the component algorithms is broken.
The transition to post-quantum cryptography motivates the introduction
of hybrid key exchanges to TLS, as described in
<xref target="I-D.ietf-tls-hybrid-design"/>. When the hybrid key exchange is used,
then the key_exchange field of a KeyShareEntry in the initial exchange
is the concatenation of the key_exchange field for each of the algorithms.
The same approach is then re-used in the extended key update when
key shares are exchanged.</t>
    </section>
    <section anchor="sslkeylogfile-update">
      <name>SSLKEYLOGFILE update</name>
      <t>As Extended Key Update invalidates previous secrets, SSLKEYLOGFILE <xref target="I-D.ietf-tls-keylogfile"/> needs to
be populated with new entries. Each completed Extended Key Update results
in two additional secret labels in SSLKEYLOGFILE:</t>
      <ol spacing="normal" type="1"><li>
          <t><tt>CLIENT_TRAFFIC_SECRET_N+1</tt>: identified as client_application_traffic_secret_N+1 in the key schedule</t>
        </li>
        <li>
          <t><tt>SERVER_TRAFFIC_SECRET_N+1</tt>: identified as server_application_traffic_secret_N+1 in the key schedule</t>
        </li>
      </ol>
      <t>Similarly to other records in SSLKEYLOGFILE label is followed by 32-byte value
of the Random field from the ClientHello message that established the TLS
connection and corresponding secret encoded in hexadecimal.</t>
      <t>SSLKEYLOGFILE entries for Extended Key Update MUST NOT be produced if
SSLKEYLOGFILE was not used for other secrets in the handshake.</t>
      <t>Note that each successful Extended Key Update invalidates all previous SSLKEYLOGFILE secrets including
past iterations of <tt>CLIENT_TRAFFIC_SECRET_</tt> and <tt>SERVER_TRAFFIC_SECRET_</tt>.</t>
    </section>
    <section anchor="exporter">
      <name>Exporter</name>
      <t>Protocols like DTLS-SRTP and DTLS-over-SCTP utilize TLS or DTLS for key establishment but repurpose
some of the keying material for their own purpose. These protocols use the TLS exporter defined in
Section 7.5 of <xref target="I-D.ietf-tls-rfc8446bis"/>.</t>
      <t>Once the Extended Key Update mechanism is complete, such protocols would need to use the newly
derived key to generate Exported Keying Material (EKM) to protect packets. The "sk" derived in the
<xref target="key_update"/> will be used as the "Secret" in the exporter function, defined in
Section 7.5 of <xref target="I-D.ietf-tls-rfc8446bis"/>, to generate EKM, ensuring that the exported keying material is
aligned with the updated security context.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This entire document is about security.</t>
      <t>When utilizing this extension it is important to understand the interaction
with ticket-based resumption since resumption without the execution of
a Diffie-Hellman exchange offering forward secrecy will potentially undo
updates to the application traffic secret derivation, depending on when
tickets have been exchanged.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to allocate value TBD for the "extended_key_update_required" alert
in the "TLS Alerts" registry. The value for the "DTLS-OK" column is "Y".</t>
      <t>IANA is requested to add the following entry to the "TLS Flags"
extension registry <xref target="TLS-Ext-Registry"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Value: TBD1</t>
        </li>
        <li>
          <t>Flag Name: extended_key_update</t>
        </li>
        <li>
          <t>Messages: CH, EE</t>
        </li>
        <li>
          <t>Recommended: Y</t>
        </li>
        <li>
          <t>Reference: [This document]</t>
        </li>
      </ul>
      <t>IANA is requested to add the following entry to the "TLS
HandshakeType" registry <xref target="TLS-Ext-Registry"/>:</t>
      <ul spacing="normal">
        <li>
          <t>Value: TBD2</t>
        </li>
        <li>
          <t>Description: extended_key_update</t>
        </li>
        <li>
          <t>DTLS-OK: Y</t>
        </li>
        <li>
          <t>Reference: [This document]</t>
        </li>
        <li>
          <t>Comment:</t>
        </li>
      </ul>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <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="I-D.ietf-tls-rfc8446bis">
          <front>
            <title>The Transport Layer Security (TLS) Protocol Version 1.3</title>
            <author fullname="Eric Rescorla" initials="E." surname="Rescorla">
              <organization>Independent</organization>
            </author>
            <date day="17" month="February" year="2025"/>
            <abstract>
              <t>   This document specifies version 1.3 of the Transport Layer Security
   (TLS) protocol.  TLS allows client/server applications to communicate
   over the Internet in a way that is designed to prevent eavesdropping,
   tampering, and message forgery.

   This document updates RFCs 5705, 6066, 7627, and 8422 and obsoletes
   RFCs 5077, 5246, 6961, 8422, and 8446.  This document also specifies
   new requirements for TLS 1.2 implementations.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-rfc8446bis-12"/>
        </reference>
        <reference anchor="RFC9147">
          <front>
            <title>The Datagram Transport Layer Security (DTLS) Protocol Version 1.3</title>
            <author fullname="E. Rescorla" initials="E." surname="Rescorla"/>
            <author fullname="H. Tschofenig" initials="H." surname="Tschofenig"/>
            <author fullname="N. Modadugu" initials="N." surname="Modadugu"/>
            <date month="April" year="2022"/>
            <abstract>
              <t>This document specifies version 1.3 of the Datagram Transport Layer Security (DTLS) protocol. DTLS 1.3 allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.</t>
              <t>The DTLS 1.3 protocol is based on the Transport Layer Security (TLS) 1.3 protocol and provides equivalent security guarantees with the exception of order protection / non-replayability. Datagram semantics of the underlying transport are preserved by the DTLS protocol.</t>
              <t>This document obsoletes RFC 6347.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9147"/>
          <seriesInfo name="DOI" value="10.17487/RFC9147"/>
        </reference>
        <reference anchor="I-D.ietf-tls-tlsflags">
          <front>
            <title>A Flags Extension for TLS 1.3</title>
            <author fullname="Yoav Nir" initials="Y." surname="Nir">
              <organization>Dell Technologies</organization>
            </author>
            <date day="13" month="September" year="2024"/>
            <abstract>
              <t>   A number of extensions are proposed in the TLS working group that
   carry no interesting information except the 1-bit indication that a
   certain optional feature is supported.  Such extensions take 4 octets
   each.  This document defines a flags extension that can provide such
   indications at an average marginal cost of 1 bit each.  More
   precisely, it provides as many flag extensions as needed at 4 + the
   order of the last set bit divided by 8.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-tlsflags-14"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC9325">
          <front>
            <title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer"/>
            <author fullname="P. Saint-Andre" initials="P." surname="Saint-Andre"/>
            <author fullname="T. Fossati" initials="T." surname="Fossati"/>
            <date month="November" year="2022"/>
            <abstract>
              <t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are used to protect data exchanged over a wide range of application protocols and can also form the basis for secure transport protocols. Over the years, the industry has witnessed several serious attacks on TLS and DTLS, including attacks on the most commonly used cipher suites and their modes of operation. This document provides the latest recommendations for ensuring the security of deployed services that use TLS and DTLS. These recommendations are applicable to the majority of use cases.</t>
              <t>RFC 7525, an earlier version of the TLS recommendations, was published when the industry was transitioning to TLS 1.2. Years later, this transition is largely complete, and TLS 1.3 is widely available. This document updates the guidance given the new environment and obsoletes RFC 7525. In addition, this document updates RFCs 5288 and 6066 in view of recent attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="195"/>
          <seriesInfo name="RFC" value="9325"/>
          <seriesInfo name="DOI" value="10.17487/RFC9325"/>
        </reference>
        <reference anchor="RFC7296">
          <front>
            <title>Internet Key Exchange Protocol Version 2 (IKEv2)</title>
            <author fullname="C. Kaufman" initials="C." surname="Kaufman"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="P. Eronen" initials="P." surname="Eronen"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2014"/>
            <abstract>
              <t>This document describes version 2 of the Internet Key Exchange (IKE) protocol. IKE is a component of IPsec used for performing mutual authentication and establishing and maintaining Security Associations (SAs). This document obsoletes RFC 5996, and includes all of the errata for it. It advances IKEv2 to be an Internet Standard.</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="79"/>
          <seriesInfo name="RFC" value="7296"/>
          <seriesInfo name="DOI" value="10.17487/RFC7296"/>
        </reference>
        <reference anchor="RFC7624">
          <front>
            <title>Confidentiality in the Face of Pervasive Surveillance: A Threat Model and Problem Statement</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes"/>
            <author fullname="B. Schneier" initials="B." surname="Schneier"/>
            <author fullname="C. Jennings" initials="C." surname="Jennings"/>
            <author fullname="T. Hardie" initials="T." surname="Hardie"/>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <author fullname="C. Huitema" initials="C." surname="Huitema"/>
            <author fullname="D. Borkmann" initials="D." surname="Borkmann"/>
            <date month="August" year="2015"/>
            <abstract>
              <t>Since the initial revelations of pervasive surveillance in 2013, several classes of attacks on Internet communications have been discovered. In this document, we develop a threat model that describes these attacks on Internet confidentiality. We assume an attacker that is interested in undetected, indiscriminate eavesdropping. The threat model is based on published, verified attacks.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7624"/>
          <seriesInfo name="DOI" value="10.17487/RFC7624"/>
        </reference>
        <reference anchor="I-D.ietf-tls-hybrid-design">
          <front>
            <title>Hybrid key exchange in TLS 1.3</title>
            <author fullname="Douglas Stebila" initials="D." surname="Stebila">
              <organization>University of Waterloo</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Shay Gueron" initials="S." surname="Gueron">
              <organization>University of Haifa and Meta</organization>
            </author>
            <date day="14" month="January" year="2025"/>
            <abstract>
              <t>   Hybrid key exchange refers to using multiple key exchange algorithms
   simultaneously and combining the result with the goal of providing
   security even if all but one of the component algorithms is broken.
   It is motivated by transition to post-quantum cryptography.  This
   document provides a construction for hybrid key exchange in the
   Transport Layer Security (TLS) protocol version 1.3.

   Discussion of this work is encouraged to happen on the TLS IETF
   mailing list tls@ietf.org or on the GitHub repository which contains
   the draft: https://github.com/dstebila/draft-ietf-tls-hybrid-design.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-hybrid-design-12"/>
        </reference>
        <reference anchor="I-D.ietf-tls-keylogfile">
          <front>
            <title>The SSLKEYLOGFILE Format for TLS</title>
            <author fullname="Martin Thomson" initials="M." surname="Thomson">
              <organization>Mozilla</organization>
            </author>
            <author fullname="Yaroslav Rosomakho" initials="Y." surname="Rosomakho">
              <organization>Zscaler</organization>
            </author>
            <author fullname="Hannes Tschofenig" initials="H." surname="Tschofenig">
              <organization>University of Applied Sciences Bonn-Rhein-Sieg</organization>
            </author>
            <date day="4" month="February" year="2025"/>
            <abstract>
              <t>   A format that supports the logging information about the secrets used
   in a TLS connection is described.  Recording secrets to a file in
   SSLKEYLOGFILE format allows diagnostic and logging tools that use
   this file to decrypt messages exchanged by TLS endpoints.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-tls-keylogfile-03"/>
        </reference>
        <reference anchor="ANSSI-DAT-NT-003" target="https://www.ssi.gouv.fr/uploads/2015/09/NT_IPsec_EN.pdf">
          <front>
            <title>Recommendations for securing networks with IPsec, Technical Report</title>
            <author>
              <organization>ANSSI</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
        </reference>
        <reference anchor="TLS-Ext-Registry" target="https://www.iana.org/assignments/tls-extensiontype-values">
          <front>
            <title>Transport Layer Security (TLS) Extensions</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
        <reference anchor="CDM23" target="https://eprint.iacr.org/2023/1933.pdf">
          <front>
            <title>Keeping Up with the KEMs: Stronger Security Notions for KEMs and automated analysis of KEM-based protocols</title>
            <author>
              <organization>ACM</organization>
            </author>
            <date year="2023" month="November"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 561?>

<section anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>We would like to thank the members of the "TSVWG DTLS for SCTP
Requirements Design Team" for their discussion. The members, in
no particular order, were:</t>
      <ul spacing="normal">
        <li>
          <t>Marcelo Ricardo Leitner</t>
        </li>
        <li>
          <t>Zaheduzzaman Sarker</t>
        </li>
        <li>
          <t>Magnus Westerlund</t>
        </li>
        <li>
          <t>John Mattsson</t>
        </li>
        <li>
          <t>Claudio Porfiri</t>
        </li>
        <li>
          <t>Xin Long</t>
        </li>
        <li>
          <t>Michael Tüxen</t>
        </li>
        <li>
          <t>Hannes Tschofenig</t>
        </li>
        <li>
          <t>K Tirumaleswar Reddy</t>
        </li>
        <li>
          <t>Bertrand Rault</t>
        </li>
      </ul>
      <t>Additionally, we would like to thank the chairs of the
Transport and Services Working Group (tsvwg) Gorry Fairhurst and
Marten Seemann as well as the responsible area director Martin Duke.</t>
      <t>Finally, we would like to thank Martin Thomson, Ilari Liusvaara,
Benjamin Kaduk, Scott Fluhrer, Dennis Jackson, David Benjamin,
Matthijs van Duin, Rifaat Shekh-Yusef and Thom Wiggers for their review comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA+08W3Pbxrnv+yt26IdKKUnZci61fNqJIlGxaklORSY5bqZV
luCSRAQCLBaQzOiov6xv/WPnu+0CIEFJds+c6UM1yVgCsLvf/bbfbq/XU0Vc
JPZADz4UNp3YiX5rV/r75cQUVk+zXI9yk7pllhf6zKxsroc2KvO4WOmd0dlw
V7/ov1TKjMe5vXlgjrOhmmRRahaw0CQ306IX22LaKxLXszKmd21XvZLG9J5/
riL4d5blqwPtiolS8TI/0EVeumL/+fNXz/eVK8eL2Lk4S4vVEmY9HYxOlMmt
OdAdD2JH3Wb59SzPyiU83YZIR8HK8OEEJkkLm6e26B0jjEq5wqSTK5NkKayw
sk4t4wOldT6N7MQVq0Seal1kUe3XGPBJC//AwZK5nbrw92rR+LPI4yh8HGWL
BYwNb+M0idNqGSBWL4ld0YNJxlkCn/Wyz34Lb4C6C7NcxumMvzVlMc9yALYH
L/EnTuHjN309ctE8m9o0nskLZsobk6bWbb61CxMnB3pOr/tFeP31bPGhD5SS
z7Ic1h3GFmB3a2uew5r//McHmzbWO4+jubFJ85UsVpQWnn09nfcWJcwHLOlP
bH2h83/+gx7r79P4pq+zqT5cLpMY5G4YxTaN7DoMo76+tJPJqgHCKM7LhUms
uzV547WAcZ2lkyLOAVP4sw+MqYNwkV3HZm2VYV+f5DExqlplWNgpUKzxRhZw
/Ko/xVdfO6be+kLtRO28B4wyly3M9TzryJtpmSS86HuTZy4xN9U31ZQmjX81
BejNgf6ziwD/vAnVKvdjvv6V3xNIKs3yBYy7sagBlydH+y9evMJfT3vH/aDM
oBm/+/zzL8exk69evfj8q42v4P9pYmbwTZxO16Z99XL/C/n1q/1XX/pfv9z/
fGOa+Wqcx5PexLp4lm68BaVOstk0Tmjmw4vhEF4fjnoXo97z5y8PGOmgJrpG
cvqWH4ltvLSslxMinCOb5sh8pDMNWoBmxunbuJjr0+/gRVePbDRPYyAfjEWb
I9OZfGZB1+dFsXQHe3u3t7d9sGH9WVbegBjslcskMxO3t//8xRd7z1/tXYyu
aL6rwUV/OZnyJGghAchyBsZQ45fwGAxsD4xv79LOwDqA1XwAvdPDi8MGdo9Y
eDLqaGjddiRik5o+zL5nHDKDTNhesO7eSvduTFJ6LWA0LrIbuxjDovvP91/C
i6Pj8/2HmXN03gC+89ZaNHvgbpgBxdzqt4Nz1Mciz9JZHaGLrOIffqPBvOMy
IO8FWA9AIlm52KFFgde9sXHwdJlnYNPB2Hba8bdLEIMCSBDlRALEZO/Fq5cv
11nWxFX1ej1txsAtExVqBFA/7mm1W9oonoJcIR4I2U0M4o/4gBGboEzmNlqp
8UqXRZzEvyJhTKrtcg5WJAdpBK3Q9gPYXiCMnrAAI8XiNC5ieA8vJm5uri3Y
Mp5UyaQa+FjmsFgxN4W2N2DT4ilOborCRNcAb2LQJmfjwoCN0kYvTV6sfuM0
uM9ZD14tAOD4Bj5Ch9uF1yC/YK3z1RKJ7yx5c6cj8DVZoccAn5WX4ELmwBbk
hI0KmHuGSxTaTG5s7gyZ1tt5pgFO8OO1SaMspS+Y7XFKuM6zpUUWy/RCggXD
31cKqE3ENonLYEyUlEhjUw9qFhZJGLtFF75KslucgybLZrlZzuMICQ2kygAN
Bd4e6DYHcITgQDQgSYa/CtZ9/Sa7BZrmXQAFMOU4CLw6LIzEsBCJjMHxz8Ha
3Cphd484UxBPUYBzYGBf/zgHk8ezwH8zmyLfkxVNAwtDzFRyUOZAuTCauLHI
YyZ+V8cFMkAvM2cBZedFMI/dNY0iZtIgJG4K7OBxrozm2qB04Mg4BdM+KTG2
AaE6zUagvBC9JGRHy9QLsDedXX07t7ltSFOUlQmusQCuQ6RnlUEfLwNBaaag
BizwKBBTFL12QVZqYHKIDnKNokCCAMxHJrtyiepWCR8IUApRJ0yAqwBvK0az
2BOzgV5LC1MhexuMWRMBkH/wxgV+iZYJpA9V8QMY6AbnUbSViNmEcDBj0F0g
OswvgoBPszyexSnxskS7VKkVydpOZPOCbYN1u4psIaJzi5zKLUakQBdXk7QJ
CAIsEXh8UyYoLLQ4aFSXVm1QRFXkuAVeL7IJLAjz38QGvbT+4qvPvySbyqYg
t4sMBQWXzi3ADSQQ5erqxJoboIMyemaW8gaMRQ130Zs1qnpJZ7hhVtRYlPam
bQSTnGeTMkLNRapLYoK6Uq7pMLNWhCEYU2/3uvggIrUV0STGg/ADG8usdAla
VIgzQCZh1roywsSQe8zmWVkgLb2W4XCxPURiJk/DVvXZPSziySSxSj3TmJoQ
PsQGchdTawoyyCLNSPdj/GVubmA2MvETDQxgxVhZk7PDuyULgZJRqYTKwBAu
4l9FAr3PYwfJYDoQZvC6CwQYJocUqAJhJwMFTCsHPLfJUgFcwf27XciDYOi0
TAkFQ0xGIfJCgmORULldJibCoLdA3ahrgxLOkbwjZKLsEtACMlGRAZJzmHZs
AR4zQZ5XUqfv7raEq/f3qnTeGYKhD3beOTOzvFiBQsViBBzcQfcWozruepib
yqKnYLi0ZdtDTsUTm/Fa+5hJ2RXuoN1L7IcuMHcKlnGCqMRMONWkIQlvzG6i
MmjEieDI0tUiw7nZyng0mZrIpoWhdIroSiONPo7BwNreG5skC1KgzZghiaeW
5AFmMMGekXCiLYf/wU6BN3EtMsr2vuZMgvs3pAqLBZrG05T9ibLpTQzBHMWV
la9ZczE4+UM+xtxAgiPSpNA9LpBYJi1Yyslm2DwvlzQOIEYkm5OJyVyCeoPt
izzU4OJduVhKlOG8r83oCeaevbxMU7IhlWNiSu8MjnaP3wwIBAdPojl+hqKj
yOgnJGz4KzoYb0EWZoUBElA9S0qWH/ToqGE1NwlaUBY1S6hEqgD/LmJvMJYC
XCgHA4UmIHBqsM0Tdg35TRzZJmGA8LcgFcDoIa43AdnPVsQZtjzknCht8QEX
RXre05Azi/M1wnqDoxAEmibNbtFKxqJuTBv8DcUHkCUxwigQYPUK9bcSDCmC
QuRg+UbZUy2xGX7R4o/FeEREyvqUFBD79O77ob44HY666luLpNPfDE+7RL0T
0GoAk1JICkcpbWRvhkKwTa8AHlwL1klWCiWMQ/v1yJ7WQH9km95ImAgQT1ap
WTCOlVtCEb27kzz6/r4v8N2C24eVO6dkQAK0THBehdjnpZ3CCVA2Vg2M4kGr
bH/W72I+kK8gsi5zApH/fPH8uf72Gwq1TWHQ/ADjJuiPMjAei5j9CgsiGRGc
shby9TtgsNczdwSfY1zixd7p28HNvmbs9l99eX/PJtMRiFgbQOvZMJkQ+QB8
CWQBOQoHOi4WNAq4wGSBZO2ReKHcAXhg6MBggA7MmJasuVGSlRPJEev2qT0e
mdhpnFIaATTsbglI2NmIFcfgaI39fYgDCs4KIDVpZnlbLTb7tSxFO002hQqi
YKTE+1R5ST1+9sNhSdQtgYm0hnKL4NnRkmLObxKYqPKhSD4q8lRfVhGXTOpF
XnSDDCTA2EYbkkbXSBAwisq2yvuWqNB5+zhOiN3jrOYnH4gOUKrVcfWhlLZQ
GEeNIG9twVtM4sgfTNjOlJgrjMEnQXyC3ABxA/9UFRl0mSYgB8CdCMUBtAhJ
DgPQQZdAlpyK0jBTH+PCEdifOM2SbMa24bIyWE6fAQNLkCiOF5FCWOYGhT//
fjjqdPlfffGOfr8c/On708vBMf4+fHN4dhZ+4S8U/PHu+zN5j79VI4/enZ8P
Lo558Pnh+w4bw86770an7y4OzzrsCSDPmWRRSQYa3Tylx+xclpDGYZTjQFFc
lMdjjtswqcBCI1McfwOKAzpZg5yFYCeyArSE4BQ9DSsdzfRQ5EeB2tZJhKE8
Dcm+R6KL7EWDgWMxE3OqU03RYRq0SDOQBwKGJebON5zAPKPiwqAmv+xNRP2H
UtdhI44lUpDIUP2BDCrLwEaUiwXKCxjSW4wJd9ApwBq7G+WhmKPnOXjYGJUv
ITcpYQbKuJdGisBkXioNOLNyB0p1Ttbc0g7VSiKIhgHRjiy8vm4H3Xbnu5Nh
Z5cUEazzFCyDrco5Ne2uyjluaz2Hgkgyad55c2YATMtSTMvCuJCY1KIOMDYU
wlv3G9XMpft6OKfqAyXjHiKMt8RqcI1Ls/qGsYpXLzgOW2Yg2JII47cQKHNG
3YQVg4N56WqJoKojKWWQRjGso9ThcglCFX/QJ8juh+zWDJ0FQIIpJwCdOLaw
kK/EqbfVoQIAfF9aIokPf73FaySEYM4gmOz0+/2N+KTK4rxB9wFuqGW5IlvW
Wc3qN+FyWAFYbxrzTh/9HtBFanGSo+SNsjxWPUE+aQuscxKiqRZQHnMman19
yG9zyvjRctVf7EKIMvLK76FHEm2dyaybpVpUdrzFl3WxhCiRHkNMtUzIFCMv
1QkkNhl8DXBOLGZU8DVMg1hX1YhMNQS6ijh9FIfwYbjX8zIK0U2M6hDYohrI
LKxJpSBMJhAL2FOsAU9ZuucG5RSECZMLAC03WLBRLPRrg3IxkWAZitUSt06A
d1WCSEbywifMIrgt+81KHUG+LTkd5i9ICW+jW4IStaY8fm8KVKfA6u+ECmpr
8c9aHUPVGNpwEBDn/GjJLPJzHBkcwhVgeyUOQVVBEhMHeZqjk8jI1xPUSBpv
Yj3mV4D51fcyCX7E+Xf7BzwLKnmGQet4xQsxvdieCfUwiMz0ztGbXU0xAtq+
6BpSMlh85hEF+nsDW9sj2hkMdru4NcCWBRnAlfRQYNugn16jXy1KwLqLQ9Wb
xrMy58wEuRkXgOgpL/IArr4uYsFXe2GAWDWjWvPKJzJNYLb7e64T1PNrlGIl
SaJucXtsVm/jJOGklkQqpqgbNA03bFW9UP2stYPiXPKCu2e4/V+1Sdwzq/2Q
qmpVlRh8ShE7TsvrIg3mr6oAbSbIsueyHhI52qBBgXBIEZAhC8YYrDiWxKUO
D4ECZtH0gdEngDHtfggwmMRgGQIp2iRjZEHTYcQmRh6PJWSiOWfT+DEnPn4B
5b8ikS0oMvbF82qvQpxHqjtlCn4QHoLgyMiOwv3uQnQIlh/OwWIN0iJfBZHf
CptXFF8rVZRn6UVZlGTLquJcU/EqQ9WSh9XEgxwNbzz4uB1JPOGdqSdAGuhT
Lxl+PHhqy37hYYqpfI2vvI6w1bHCoaho2gZWT+QS6I6dmeQq7KZAXC1MursD
q1BXiHvc1Lp1QkD41vBkIteIZ1+dxJBCdR+26EH1G9kcBs61rFnoXLeY3ni3
GUahPld/0+4WaQppeywKVJW9yXlv3wQTqW3LnuuTSqkI+cxZaE3ciiz3KChx
PhSKQ5gtQlF9JyVI71ZFWoSYtLtGQgNQ/f3vf/d7+OKbn/4zpEmUQnOo/1qn
tRoAUvp/9G8R0SuH4s+r4CMqSGA9/cokswyM8HwhbQc38LbFX8hyPfn5g9oC
z6OgshwAqDD3J0xSwwYxQRw/YZbGz82TJ7hrEVuNuAgXnjhNK4HvEZ3vUIfd
0xG6O6r2NLGyYV1x/zEItc0DE/z1IyaoD/0B4ujpijA5LItPYsydd1ZPweO/
vDjyh39t4qEQBgClBUIv6vXV6j8bYv7TYc2uHJvC/KUJwR/aPnkC/pAiqp82
jJyw8i/tsDxKDYClZUq0Vs4+Faj63z9d2Nsw0b8AVGOaj4Pj0+iPhvXuQD9r
ekHujPp956FQcuCrux0JIl2RlxEaTJ/4b49z0DGBl8UYMMluxb7zeH0HCDWD
kWDOXqv7zUlFEl4rZdNyQcNNFFk0QTvPd7vYa2thlp0X8vsvFK7t7NOfUWJQ
tnde0l87+198sdu+BosGJrGle63qsD7yMWX0OEaDN0swtt/ZOqLP3+7SvPCD
+54BmYPtVKk+JlQPdAmRy+8wizcrfHv/EE51bO51XQBfE1tUWOiAGKPZs4S2
S9ydpLhSihtS9wEWQwKUTJAdVK/gMK2KDasciYNc3h93zaQV25IxsYsL6XOp
iZnbLIRsrWH1qREbaAs4eMQxB9gmTZK58BhGJGQ96HwgnqEwtIpwPJs0lU+i
hIBq0x+/glLEHwDoGP9FBCAKg8lciCerSInSFeR6IZuUPEO1TV7Mc2tFurkL
yTh0vUKeA6Ve9PXPNMfPB34Gap4IwBYWN7NNHkMkT00VHjWsOmSZHpcOQt9T
iWpJ3LYKFQkD9fBN2pALiCmPGJaJPbIhNWGUpfGJ29EwIofYn6RFthD4K0ob
VYzl0qXDdr+LrLA+ffCYnB++p/B3RVvrN9TWpqnnRvYSs0bsW0XNMMstVVGl
rdDH9DhiFmMjI4er0o91Oq3xjpsRFaW+tSaVeAEBNGXxbVICwDyY3KjQnUGZ
TGtJ6EqqCpMOFtfxKzCQ2Dw6+uZ4F6RnnySC7eE2oVjS5jRV+B5gEe5sxVNp
/EMSrSP7ZBTVRv72yei9BPTEvm/DbmwjU5LZDGqcgOZMVqHEwjYJXFXblmJI
lyQ1mhupTGW+odMVdulY+SriYcbt2moUYhq8m+xKedbrkjK0Ntlfv4G9pTGN
VAW5MAPUpA2vUrrAvVBImpY52bNqCscC8i7l7HtZbPXqG1CzjRKKKsZ2y0ix
FqGsI+W4dbPqJJ2khXgXyUoVUEw06OHP3gT/LI1dUukXBtZopzaWEYlwdfva
ug6skeXomRKW+rAlIcuFPcBP4JJqwvRULr18IpeatGbtqtGMEeyqpuPBTTbZ
sQKYuLZW6xnm1oWMCwBeDyYVAQC+Q6rnoRRwqa0eYTRlJm6aF0+kwilfpgj7
XfQBV67AgiOH/SdV+0AKJJfmZd+NRUVJ0tk2KLQ4mJRrOOwlwCliQTfEtrzp
kMezmc2dCrsPcSFdmdhitbZrAjz6oo1HrTCMV03R7AY7KZVWRNbXObnIeprK
525d+Ri2BQ5pJ7wKxKyoHXjF1FLfYH8DPrNc2ZHFhUuyQSodWW1r8F5baEVj
mA9DLyJuHVELhaOdaJnUtw5hw3RjVhX2YWUy6Tuy1AI4tlMqzJNUc5/8qoIj
bOZWkwi7eCeA9q2pOorH73B7lLf/ggIW7cUxVe30++qd2BCIk/LMkZpPk3g2
L7bU7MSGqoZyUoNkhi222HAXhdI6N0D5IBEdYvBAXBaVqmIzX6AdhLGPEas4
vBIWVp3gM8Ui4GxPsNwUL0NslWcGXNYyx9MdgL7Fv5CzaCC5qQTDelJkBOA2
q6moa1T6ajmW/3njS8Wj1RLWdrMrPBP0Gl/tfVbbs8Cn+rO92kjMiPY/B0Km
s2L+upFDw8jxqqAt7qCFjbE+bwur9/3Kuw3oQhbGhcyrOdbxDqp3tcrj67Zh
XO3cGFYrCrYOA85cZdMr7BJeXWGXHI8dpJN3Uzy2sMJMf8tI0Yerqsn6QLdV
nluH104LXIm849KbBbfHRteQrY9+dNEbKlUdrA3jAlbr4KnUsg6a73yJq3UM
WIgrCeyviji6toQk2qQhPx3Rw9axVbDaWLGWYbdxZTPUxdEbOlgffO//uK90
5HWjuFNTDq7thO/wkBs7t1DK2azceLsWnjhKpsbSqxtjl8lijGE8JifhxECz
v5uK/I2eXSEstlMuxetwMBHaLlsaS2iXk6DA70fi+IdyjufuWUW3f3F7k/YU
eQ/aJ8KlX7buKNt2Ptkg+tkhLVIb+52oudziU509Wt/plIZoOooQ4ivJO/jU
qo8m0B1RiCaHAWQvivwE9sOWxZbACPdua3tCVxJJXUmYh1hkBR26Cz6DmcO0
orBXqc+CT27uKfleb/w3hI4cSk506Jo7fqOCD8vy6jmfz20cOezKUtjKAzCl
Ibh7MDnxW1KPejK3lnU1A3p4O465MsXdVpFZujIh2tAHE49iFC+BxXjaHsl0
+vacdAT1G0Ct0Apod6UZD5l0fnjW++b04rj3tnc0qjRgx1mr7+7ofOv9/S41
SAIxqB1YJ2ZsE7oJALncbG6ECDJQtGX3T3mQSUrqvcaPldW4R97ZKsLL7QzI
kVd2whd3r/Xv9Zu3xyd4xhj3VHfoqGqUQzzcewMBx04YIQVmt9sVWu4qtV0+
ry5++0L/nqyfTL8EsvTOkBw77rq7pYjeCfnCch9bTR+Yf9sUCHWfA4pdrpSO
OBuopSo5UqS3Ie4SIOyJx38YO7Xe0TqU+shX/ZePtO4B8d9h39RHrRcqsca5
LKIiSDMBqywSS4yddNe27Z2vzU0gdIL4+CPWf2x1LuwdcMX546ZVzWmbrIro
RG2y4j7JhFuJp3wE0feJoAFpy3Ck7cYgDT6ipcBvnpvQIskIqVq/RL3tQGrS
wn2ekyoLtHDwNd6iKDkQ6/fV/VmWlhSvVkfGRvI5nrfiqtVoo3H//7PNQUpQ
cohko2GE+7oQeZJBU6+tcIeRkkydfOY6Y/YbHdBcEL6JwZaKMwkeCRIhPksR
0jIPSuP4XcYne72TbNQJ/+0aGFqizIf3G//T1/B/0tfQQvf/9DXwdP+efQ0P
/Kx3AWz+UBs/JUDUxf/UOR/ud6iDuEMmKSjG7tObDf61BojwswlASy9E7ecT
2iLWuiLaWxb2P7pn4ZnW4TTWEeANbkDKUEod8yFdNOPLDFJUOT9OWWx72dai
O00yTjUwFKZ+N6mDVackKI98oP7LJxkaWeZaNbkbCrBSLM2tz1MULOc7ONZG
6RKgSEIFmiKMMsJe3GmZhGtMJBkMWNWL6bc+WBDaJFjXhHn2sCnfUk0SPu5W
NF0PCbHbLzToKrlnxfdoQuKICfEyo+MIhuMFyHty6ghMuXV15cNKU+BmNTU2
+o5ivjTEH/cRR423zNCUeIgZ6xUZDcLkKKL7GfAUeFYWvWza4w9lAorovgNu
9v5UmrQoF/pIcvzlfLUhLW82s1RdHbdgIi7KpIgxTGt8VfPMLsZPTGr5Pgjk
EJdUPAvwgHhSVKXhWcbnaEPeqEKmGK7WwZJvWcjJTUmbF6Dk1JUb1sY4apxn
1zbt+xymtqOxRDL8TchQK3WsQl0ghLbV9RKNJLd2RJkPX3fXT+mtH6Fo3MvF
x3Wly7RlVl+7ob2rkLBXRXFu3yDBbu1yXj+vquSYRWuFoWVmjIupzi2fVIRl
ctKtF6E0zpPjlk3Pl862bCtgl0mqqtoDBej1ItAzPRyevR28P3v37cnp2cDv
RqhD177hnt5AyM5JABqmOCud7/ztrk21xo/rcBMaxMyptbijm2FFa5ktpfxB
colmAmQLb1Pq64GhMorE560gsUzTHgNmHtUNFb6MQmUNKs034JN+lqOz08HF
6Gp0eXhycnp0NRwcXQ5GmMP+fKBjuq6GGoxA2CRVfCTzrZd7IogNSsznsE1i
OLj8YXD5lIWelmK3LjSMF3GCBXs6Hyj9RWzP1vGXcg82WdWyjpf7PdzJkF0g
kcZLsCTgUkRUfQWinoo1evrDbURyjQveu1nryWCzVD9WJIyyaZTJTSlzyEjx
NPyCtj6bcItwkM60emq/6T2mwyJ45wTMOV2bBZs4cNOdFAinYmr5q5z8JV21
YzFVNxDvSFW+7zFNQRsatKUJRrWe3Imi6JqKuPCuAS3CFiHlJoUtgvWzVBTo
NAVkft+Fo91JDGkvutje8HL0XbgMpYe5a294BI/4PL9t3HGBJCKL6ZlLR5HG
fFVOmeNZLkWhamXkGsGDZP5xTo0UMoJcsrP1c+e1M3JWgK9VElVVuPriiYWr
ek239fK0eglAbnWp4JGWLVud+ZJQJsHzdlyTQ7IUYRPSeqLTalSL9TTYGbw9
39V8rwZeIaeXeASykJt4Ou66E8raEo3d3dVyvPuwAUtCK51CHd616FReQKjm
ayzdT6Nft4nT2/Mu373HsYQcm7Qe1XV2x06B+M/S+qlnRqO2H0Ptnh8KktTq
nsH10IhKVnI7VTgDR00l2BbmJ4NJyMFXd1E0L4igi5Pqt+0gO8NFBuuFNSnT
0LacXK5RXa6jIRqLbP2B71FjkgBE4u7V9vsw6HoQOlO5cXYZrUVW8E1peM0a
GF/lK2+SUWw/gFPbwFnbEqNQgFHatiX0jK7l3OAAPaQeCcogWRfwEjra4iJX
gR1zobr3SKsdddr5DoMOavohPnEdLP3TxaGsEDxxmJSM1Lu3HTxnXC7oFo3O
+05/G3iTyVojnaWATQhIy57gEdv6qVe/PujF+l2m9/cHuEOlf0CgDhDdF/Q3
zqEv6L7btnoYfuJ3Iw700ZuuHgzo4WV1z82Bfi+P8JItEK0D/dOofuLzL5+O
o2r0O3Q+DsN9+vvY8h5LjJf1bsNRmPMUVOD1Ed8vDevRBXNjMIMofIfhcC/d
HAIabcUAk88itEx6Tcgt6BLTcENAZzT84cdvK1eFfkw1riE55q3OkTWLTs0b
YR5XhjsQw7x4TZBKM76bIaL9KMpP8bKN3DKhzk0eWQh+LmPMBDN9ZuMCzCW+
+rPBiOzXXw3q/NDk1/z43MxSCAF+RA7mSUl7b/qP2TxFH1E4B4YHqZMYCAUy
SB7zaZzH+Oi/QVvOMogOcJLmpdWf6ZZrs+Hh27arpeH5N6BqOV3SYiBuhki/
0UZ1u53isGocCK6qa2Kpj5qv6ALUsvwaBfFbasjfKdzN7WxXfwvh3kqfwPh5
mUt9A6iHdx4NrQUapfU93qqlyMXYOIj3qQOfcrpXD6leADWOSwrKTuKHAZev
R/Ns4dAingInY30Wl+7GmNx01Tc2/cUs4JO3ZlJeQw4TZUUBWl3Oc+T2sU0h
RtB/xNsOcPyxgURZ+0FdhXybx784MFYIEzwCcZgacI/Dub2e996Dq54SiRAE
/SM3/dXkD8NCvLNTblzvq/8FrjKvsw1fAAA=

-->

</rfc>
