<?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.24 (Ruby 3.1.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-pki-01" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.16.0 -->
  <front>
    <title abbrev="SCION CPPKI">SCION Control-Plane PKI</title>
    <seriesInfo name="Internet-Draft" value="draft-dekater-scion-pki-01"/>
    <author initials="C." surname="de Kater" fullname="Corine de Kater">
      <organization>SCION Association</organization>
      <address>
        <email>cdk@scion.org</email>
      </address>
    </author>
    <author initials="N." surname="Rustignoli" fullname="Nicola Rustignoli">
      <organization>SCION Association</organization>
      <address>
        <email>nic@scion.org</email>
      </address>
    </author>
    <date year="2023" month="February" day="24"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document presents the trust concept and design of the SCION <em>control-plane Public Key Infrastructure (PKI)</em>, SCION's public key infrastructure model. SCION (Scalability, Control, and Isolation On Next-generation networks) is a path-aware, inter-domain network architecture. The control-plane PKI, or short CP-PKI, handles cryptographic material and lays the foundation for the authentication procedures in SCION. It is used by SCION's control plane to authenticate and verify path information, and builds the basis for SCION's special trust model based on so-called Isolation Domains.</t>
      <t>This document first introduces the trust model behind the SCION's control-plane PKI, as well as clarifications to the concepts used in it. This is followed by specifications of the different types of certificates and the Trust Root Configuration. The document then specifies how to deploy the whole infrastructure.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://scionassociation.github.io/scion-cppki_I-D/draft-dekater-scion-pki.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-dekater-scion-pki/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/scionassociation/scion-cppki_I-D"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>The control-plane PKI (CP-PKI) lays the foundation for the authentication procedures in SCION. It handles all cryptographic material used in the public key infrastructure of SCION's control plane. This section first introduces the key concepts of the SCION CP-PKI, including the trust model, its core elements (certificates, keys, and roles), and their relationships. The sections after the Introduction provide detailed specifications of the building blocks of the CP-PKI.</t>
      <t><strong>Note:</strong> For extended information on the SCION next-generation inter-domain architecture, see <xref target="CHUAT22"/>, especially Chapter 2, as well as the IETF Internet Drafts <xref target="I-D.scion-overview"/> and <xref target="I-D.scion-components"/>.</t>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      </section>
      <section anchor="trust-model">
        <name>Trust Model</name>
        <t>Given the diverse nature of the constituents in the current Internet, an important challenge is how to scale authentication of network elements (such as AS ownership, hop-by-hop routing information, name servers for DNS, and domains for TLS) to the global environment. The roots of trust of currently prevalent public key infrastructure (PKI) models do not scale well to a global environment, because (1) mutually distrustful parties cannot agree on a single trust root (monopoly model), and because (2) the security of a plethora of roots of trust is only as strong as its weakest link (oligopoly model) - see also <xref target="BARRERA17"/>.</t>
        <t>The monopoly model suffers from two main drawbacks: First, all parties must agree on a single root of trust. Secondly, the single root of trust represents a single point of failure, the misuse of which enables the forging of certificates. Also, its revocation can result in a kill-switch for all the entities it certifies. The oligopoly model relies on several roots of trust, all equally and completely trusted. However, this is not automatically better: Whereas the monopoly model has a single point of failure, the oligopoly model has the drawback of exposing more than one point of failure.</t>
        <t>Thus, there is a need for a trust architecture that supports meaningful trust roots in a global environment with inherently distrustful parties. This new trust architecture should provide the following properties:</t>
        <ul spacing="normal">
          <li>Trust agility (see further below);</li>
          <li>Resilience to single root of trust compromise;</li>
          <li>Multilateral governance; and</li>
          <li>Support for policy versioning and updates.</li>
        </ul>
        <t>Ideally, the trust architecture allows parties that mutually trust each other to form their own trust "union" or "domain", and to freely decide whether to trust other trust unions (domains) outside their own trust bubble.</t>
        <t>To fulfill the above requirements, which in fact apply well to inter-domain networking, SCION introduces the concept of <strong>Isolation Domains</strong>. An Isolation Domain (ISD) is a building block for achieving high availability, scalability, and support for heterogeneous trust. It consists of a logical grouping of ASes that share a uniform trust environment (i.e., a common jurisdiction). An ISD is administered by one or multiple ASes, called the <strong>voting ASes</strong>. Furthermore, each ISD has a set of ASes that form the ISD core; these are the <strong>core ASes</strong>. The set of core and voting ASes can, but not necessarily have to, overlap. It is governed by a policy called the <strong>Trust Root Configuration</strong> (TRC), which is negotiated by the ISD core. The TRC defines the locally scoped roots of trust used to validate bindings between names and public keys.</t>
        <t>Authentication in SCION is based on digital certificates that bind identifiers to public keys and carry digital signatures that are verified by roots of trust. SCION allows each ISD to define its own set of trust roots, along with the policy governing their use. Such scoping of trust roots within an ISD improves security, as compromise of a private key associated with a trust root cannot be used to forge a certificate outside the ISD. An ISD's trust roots and policy are encoded in the TRC, which has a version number, a list of public keys that serves as root of trust for various purposes, and policies governing the number of signatures required for performing different types of actions. The TRC serves as a way to bootstrap all authentication within SCION. Additionally, TRC versioning is used to efficiently revoke compromised roots of trust.</t>
        <t>The TRC also provides <em>trust agility</em>, that is, it enables users to select the trust roots used to initiate certificate validation. This implies that users are free to choose an ISD they believe maintains a non-compromised set of trust roots. ISD members can also decide whether to trust other ISDs and thus transparently define trust relationships between parts of the network. The SCION trust model, therefore, differs from the one provided by other PKI architectures.</t>
      </section>
      <section anchor="trust-relations-within-an-isolation-domain">
        <name>Trust Relations within an Isolation Domain</name>
        <t>As already mentioned previously, the control-plane PKI, SCION's concept of trust, is organized on ISD-level. Each ISD can independently specify its own Trust Root Configuration (TRC) and build its own verification chain. Each TRC consists of a collection of signed root certificates, which are used to sign CA certificates, which are in turn used to sign AS certificates. The TRC also includes ISD-policies that specify, for example, the TRC's usage, validity, and future updates. A TRC is a fundamental component of an ISD's control-plane PKI. The so-called <strong>base TRC</strong> constitutes the ISD's trust anchor. It is signed during a signing ceremony by the voting ASes and then distributed throughout the ISD.</t>
        <section anchor="trust-reset">
          <name>Updates and Trust Resets</name>
          <t>There are two types of TRC updates: regular and sensitive. A <strong>regular TRC update</strong> is a periodic re-issuance of the TRC where the entities and policies listed in the TRC remain unchanged, whereas a <strong>sensitive TRC update</strong> is an update that modifies critical aspects of the TRC, such as the set of core ASes. In both cases, the base TRC remains unchanged. If the ISD's TRC has been compromised, it is necessary for an ISD to re-establish the trust root. This is possible with a process called <strong>trust reset</strong> (if allowed by the ISD's trust policy). In this case, a new base TRC is created.</t>
        </section>
      </section>
      <section anchor="overview-of-certificates-keys-and-roles">
        <name>Overview of Certificates, Keys, and Roles</name>
        <t>The base TRC constitutes the root of trust within an ISD. <xref target="_figure-1"/> provides a first impression of the trust chain within an ISD, based on its TRC. For detailed descriptions, please refer to <xref target="cert-specs"/> and <xref target="trc-specification"/>.</t>
        <figure anchor="_figure-1">
          <name>Chain of trust within an ISD</name>
          <artwork><![CDATA[
                                    TRC 2

               +--------------------------------------+
               |+------------------------------------+|
               ||- Version       - Core ASes         ||
+--------+     ||- ID            - Description       ||    +--------+
| TRC 1  |     ||- Validity      - No Trust Reset    ||    | TRC 3  |
| (Base  |---->||- Grace Period  - Voting Quorum     ||--->|        |
|  TRC)  |     ||- ...                               ||    |        |
+--------+     |+------------------------------------+|    +--------+
               |+----------------+  +----------------+|
               || Regular Voting |  |Sensitive Voting||
               ||  Certificate   |  |  Certificate   ||
               |+----------------+  +----------------+|
               |+----------------+  +----------------+|
               ||     Votes      |  |   Signatures   ||
               |+----------------+  +----------------+|
               |+------------------------------------+|
               ||        CP Root Certificates        ||
               |+----------+-------------+-----------+|
               |           |             |            |
               +-----------+-------------+------------+
                           |             |
                           |             |
                           v             v
                 +-----------+         +-----------+
                 |   CP CA   |         |   CP CA   |
                 |Certificate|         |Certificate|
                 +-+-------+-+         +-----+-----+
                   |       |                 |
                   |       |                 |
                   v       v                 v
          +-----------+ +-----------+      +-----------+
          |   CP AS   | |   CP AS   |      |   CP AS   |
          |Certificate| |Certificate|      |Certificate|
          +-----------+ +-----------+      +-----------+
]]></artwork>
        </figure>
        <t>All certificates used in SCION's control-plane PKI are in X.509 v3 format <xref target="RFC5280"/>. Additionally, the TRC contains self-signed certificates instead of plain public keys. Self-signed certificates have the following advantages over plain public keys: (1) They make the binding between name and public key explicit; and (2) the binding is signed to prove possession of the corresponding private key.</t>
        <t>All ASes in SCION have the task to sign and verify control-plane messages. However, certain ASes have additional roles:</t>
        <ul spacing="normal">
          <li>
            <strong>Core ASes</strong>: Core ASes are a distinct set of ASes in the SCION control plane. For each ISD, the core ASes are listed in the TRC. Each core AS in an ISD has links to other core ASes (in the same or in different ISDs).</li>
          <li>
            <strong>Certification authorities (CAs)</strong>: CAs are responsible for issuing AS certificates to other ASes and/or themselves.</li>
          <li>
            <strong>Voting ASes</strong>: Only certain ASes within an ISD may sign TRC updates. The process of appending a signature to a new TRC is called "casting a vote"; the designated ASes that hold the private keys to sign a TRC update are "voting ASes".</li>
          <li>
            <strong>Authoritative ASes</strong>: Authoritative ASes are those ASes in an ISD that always have the latest TRCs of the ISD. They start the announcement of a TRC update.</li>
        </ul>
        <t>All further details of the SCION control-plane PKI are specified in the following sections.</t>
      </section>
      <section anchor="trust-as-a-function">
        <name>Trust as a Function</name>
        <t>The SCION control-plane PKI can be seen as a function that transforms potential distrust among different parties into a mutually accepted trust contract including a trust update and reset policy as well as certificates used for authentication procedures in SCION's control plane.</t>
        <t>For the function to work, it is not necessary that the ASes of the ISD all trust each other. However, all ASes <bcp14>MUST</bcp14> trust the ISD's core ASes, authoritative ASes, voting ASes, as well as its CA(s). These trusted parties negotiate the ISD trust contract in a "bootstrapping of trust" ceremony, where cryptographic material is exchanged, and the ISD's trust anchor (the initial Trust Root Configuration) is created and signed.</t>
        <section anchor="input">
          <name>Input</name>
          <t>Prior to the ceremony, the trusted parties must decide about the validity period of the TRC as well as the number of votes required to update a TRC. They must also bring the required keys and certificates, the so-called root and voting keys/certificates.</t>
          <t>During the ceremony, the trusted parties decide about the number of the ISD. This must be an integer in the inclusive range between 64 and 4094. The next table shows the current allocation of ISD numbers in SCION:</t>
          <table anchor="_table-1">
            <name>ISD Number Allocations</name>
            <thead>
              <tr>
                <th align="left">ISD</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0</td>
                <td align="left">The wildcard ISD.</td>
              </tr>
              <tr>
                <td align="left">1 - 15</td>
                <td align="left">Reserved for documentation and sample code (analogous to <xref target="RFC5398"/>.</td>
              </tr>
              <tr>
                <td align="left">16 - 63</td>
                <td align="left">Private use (analogous to <xref target="RFC6996"/>). Can be used for testing and private deployments.</td>
              </tr>
              <tr>
                <td align="left">64 - 4094</td>
                <td align="left">Public ISDs. Should be allocated in ascending order, without gaps and "vanity" numbers.</td>
              </tr>
              <tr>
                <td align="left">4095 - 65535</td>
                <td align="left">Reserved for future use.</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="output">
          <name>Output</name>
          <t>The output of the bootstrapping of trust ceremony, or the trust "function", are the ISD's initial Trust Root Configuration as well as mutually trusted and accepted CA and AS certificates--the latter are used to verify SCION's control-plane messages. Together with the ISD's control-plane root certificates, the CA and AS certificates build the ISD's trust and verification chain.</t>
        </section>
      </section>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t><strong>Control-Plane PKI (CP-PKI)</strong>: The control-plane PKI is the public-key infrastructure upon which SCION's control plane relies for the authentication of messages. It is a set of policies, roles, and procedures that are used to manage trust root configurations (TRCs) and certificates.</t>
      <t><strong>Autonomous System (AS)</strong>: An autonomous system is a network under a common administrative control. For example, the network of an Internet service provider, company, or university can constitute an AS. If an organization operates multiple networks that are not directly connected together, then the different networks are considered different ASes.</t>
      <t><strong>Isolation Domain (ISD)</strong>: In SCION, autonomous systems (ASes) are organized into logical groups called isolation domains or ISDs. Each ISD consists of ASes that span an area with a uniform trust environment (i.e., a common jurisdiction). A possible model is for ISDs to be formed along national boundaries or federations of nations.</t>
      <t><strong>Core AS</strong>: Each isolation domain (ISD) is administered by a set of distinguished autonomous systems (ASes) called core ASes, which are responsible for initiating the path-discovery and -construction process (in SCION called "beaconing").</t>
      <t><strong>Trust Root Configuration (TRC)</strong>: A trust root configuration or TRC is a signed collection of certificates pertaining to an isolation domain (ISD). TRCs also contain ISD-specific policies.</t>
      <t><strong>Authoritative AS</strong>: Authoritative ASes are those ASes in an ISD that always have the latest TRCs of the ISD. As a consequence, authoritative ASes also start the announcement of a TRC update.</t>
      <t><strong>Base TRC</strong>: A base TRC is a trust root configuration (TRC) that other parties trust axiomatically. In other words, trust for a base TRC is assumed, not derived from another cryptographic object. Each ISD must create and sign a base TRC when the ISD is established. A base TRC is either the first TRC of the ISD or the result of a trust reset.</t>
      <t><strong>TRC Signing Ceremony</strong>: The ceremony during which the very first base TRC of an ISD, called the initial TRC, is signed. The initial TRC is a special case of the base TRC where the number of the ISD is assigned.</t>
      <t><strong>TRC Update</strong>: A <em>regular</em> TRC update is a periodic re-issuance of the TRC where the entities and policies listed in the TRC remain unchanged. A <em>sensitive</em> TRC update is an update that modifies critical aspects of the TRC, such as the set of core ASes. In both cases, the base TRC remains unchanged.</t>
      <t><strong>Voting ASes</strong>: Those ASes within an ISD that may sign TRC updates. The process of appending a signature to a new TRC is called "casting a vote".</t>
      <t><strong>Voting Quorum</strong>: The voting quorum is a trust root configuration (TRC) field that indicates the number of votes (signatures) needed on a successor TRC for it to be verifiable. A voting quorum greater than one will thus prevent a single entity from creating a malicious TRC update.</t>
      <t><strong>Grace Period</strong>: The grace period is an interval during which the previous version of a trust root configuration (TRC) is still considered active after a new version has been published.</t>
      <t><strong>Trust Reset</strong>: A trust reset is the action of announcing a new base TRC for an existing ISD. A trust reset should only be triggered after a catastrophic event involving the loss or compromise of several important private keys.</t>
    </section>
    <section anchor="cert-specs">
      <name>Certificate Specification</name>
      <t>This section provides a detailed specification of all certificates used in SCION's control-plane PKI. It starts with an overview of the main keys and certificates.</t>
      <section anchor="overview">
        <name>SCION Control-Plane PKI Keys and Certificates - Overview</name>
        <t>There are three types of control-plane (CP) certificates: root certificates, CA certificates, and AS certificates. Together, they build a chain of trust that is anchored in the trust root configuration (TRC) file of the respective Isolation Domain (ISD). Additionally, there are regular and sensitive voting certificates, which define the keys to cast votes in a regular and a sensitive TRC update, respectively.</t>
        <t>All certificates in SCION's control-plane PKI are in X.509 v3 format <xref target="RFC5280"/>.</t>
        <t>The next section shows SCION's trust hierarchy. This is followed by sections that describe the main certificates and corresponding key pairs of SCION's control-plane PKI as well as the voting certificates and keys.</t>
        <section anchor="trust-hierarchy">
          <name>Trust Hierarchy</name>
          <t>The trust is anchored in the Trust Root Configuration (TRC) for each ISD. The trust root is axiomatic: All trust derived from this anchor relies on all parties transitively trusting the TRC.</t>
          <t>The trust hierarchy looks like this:</t>
          <artwork><![CDATA[
TRC
── Regular Voting Certificates
     └── TRC (next version, regular update)
── Sensitive Voting Certificates
     └── TRC (next version, sensitive update)
── CP Root Certificates
     └── CP CA Certificates
          └── CP AS Certificates
]]></artwork>
        </section>
        <section anchor="cp-root-cert">
          <name>Control-Plane Root Certificate</name>
          <t>The control-plane root private key is used to sign control-plane CA certificates. Consequently, the control-plane root certificate with the control-plane root public key is used to verify control-plane CA certificates, i.e., root certificates determine which ASes act as CA in an ISD.</t>
          <t>In X.509 terms, CP root certificates are <em>self-signed</em> CA certificates. That is, issuer and subject of the certificate are the same entity, and the public key in the root certificate can be used to verify the root certificate's signature. The CP root public key and proof of ownership of the private key are embedded in the Trust Root Configuration (TRC) of an Isolation Domain (ISD), via the self-signed CP root certificate. This facilitates the bootstrapping of trust within an ISD, and marks the CP root certificates as the starting point of an ISD's certificate verification path.</t>
          <t>The recommended <strong>maximum validity period</strong> of a CP root certificate is: 1 year.</t>
          <t><strong>Note</strong>: The TRC of each ISD contains a trusted set of control-plane root certificates. This set builds the root of each ISD's verification path. For more information on the selection of this trusted set of root certificates, see <xref target="trc-specification"/>.</t>
        </section>
        <section anchor="control-plane-ca-certificate">
          <name>Control-Plane CA Certificate</name>
          <t>The control-plane CA private key is used to sign control-plane AS certificates. Consequently, control-plane CA certificates holding the control-plane CA public key are used to verify control-plane AS certificates.</t>
          <t>The public key needed to verify the CA certificate is in a CP root certificate. CA certificates do not bundle the root certificate needed to verify them. In order to verify a CA certificate, a pool of root certificates must first be extracted from one or more active TRCs (as described in <xref target="signing-verifying-cp-messages"/>).</t>
          <t>The recommended <strong>maximum validity period</strong> of a CP CA certificate is: 11 days.</t>
        </section>
        <section anchor="control-plane-as-certificate">
          <name>Control-Plane AS Certificate</name>
          <t>SCION ASes sign control-plane messages, such as Path Construction Beacons, with their AS private key. Consequently, control-plane AS certificates holding the corresponding AS public key are required to verify control-plane messages.</t>
          <t>In X.509 terms, control-plane AS certificates are end-entity certificates. That is, they cannot be used to verify other certificates.</t>
          <t>The recommended <strong>maximum validity period</strong> of a CP AS certificate is: 3 days.</t>
        </section>
        <section anchor="cp-voting-cert">
          <name>Voting Certificates</name>
          <t>There are two types of voting certificates: the (1) regular voting certificates and the (2) sensitive voting certificates. They contain the public keys associated with the private keys that are allowed to cast votes in the TRC update process. Voting certificates are X.509-style certificates.</t>
          <t>Regular and sensitive voting certificates are used to verify regular and sensitive TRC updates, respectively, and are embedded in the TRC.</t>
          <section anchor="regular-voting-certificate">
            <name>Regular Voting Certificate</name>
            <t>Regular voting certificates state which keys are allowed to cast votes in a regular update. In X.509 terms, regular voting certificates are self-signed end-entity certificates. This means that the issuer and subject of a regular voting certificate are the same entity, and the public key within the certificate can be used to verify the certificate's signature. However, a regular voting certificate cannot be used to verify other certificates.</t>
            <t>The recommended <strong>maximum validity period</strong> of a regular voting certificate is: 1 year.</t>
          </section>
          <section anchor="sensitive-voting-certificate">
            <name>Sensitive Voting Certificate</name>
            <t>Sensitive voting certificates specify which keys are allowed to cast votes in a sensitive update. In X.509 terms, sensitive voting certificates are self-signed end-entity certificates. This means that the issuer and subject of a sensitive voting certificate are the same entity, and the public key within the certificate can be used to verify the certificate's signature. However, a sensitive voting certificate cannot be used to verify other certificates.</t>
            <t>The recommended <strong>maximum validity period</strong> of a sensitive voting certificate is: 5 years.</t>
            <t><strong>Note</strong>:</t>
            <ul empty="true">
              <li>
                <t>Both SCION's control-plane root certificates and control-plane CA certificates are in fact CA certificates. That is, they can both be used to verify other certificates.</t>
                <t>One important difference between both certificate types lies in their validity period: A SCION control-plane root certificate has a recommended maximum validity period of one year, whereas the recommended maximum validity period of a SCION control-plane CA certificate is 11 days. This is because a root certificate is part of the Trust Root Configuration of an ISD, which itself also has a recommended maximum validity period of one year (see Table 2 below). This ensures that the TRC must not be updated all the time and is thus relatively stable.</t>
                <t>The SCION root private key and public key/certificate are used to sign and verify the control-plane CA certificates, respectively. The control-plane CA certificates are explicitly NOT part of the TRC, for reasons of security. The control-plane CA certificates are used to verify the control-plane AS certificates, which in turn are used to verify control-plane messages. Routing is made more secure if both the SCION control-plane CA and AS certificates can be renewed on a very regular basis. Would the control-plane CA and AS certificates be part of the TRC, then the TRC would have to be updated constantly, which is undesirable.</t>
              </li>
            </ul>
          </section>
        </section>
        <section anchor="formal">
          <name>Certificates - Formal Overview</name>
          <t><xref target="_table-2"/> and <xref target="_table-3"/> below provide a formal overview of the different types of key pairs and certificates in the control-plane PKI.</t>
          <table anchor="_table-2">
            <name>Key chain</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Notation (1)</th>
                <th align="left">Used to verify/sign</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">Sensitive voting key</td>
                <td align="left">K<sub>sens</sub></td>
                <td align="left">TRC updates (sensitive)</td>
              </tr>
              <tr>
                <td align="left">Regular voting key</td>
                <td align="left">K<sub>reg</sub></td>
                <td align="left">TRC updates (regular)</td>
              </tr>
              <tr>
                <td align="left">CP root key</td>
                <td align="left">K<sub>root</sub></td>
                <td align="left">CP CA certificates</td>
              </tr>
              <tr>
                <td align="left">CP CA key</td>
                <td align="left">K<sub>CA</sub></td>
                <td align="left">CP AS certificates</td>
              </tr>
              <tr>
                <td align="left">CP AS key</td>
                <td align="left">K<sub>AS</sub></td>
                <td align="left">CP messages, path segments</td>
              </tr>
            </tbody>
          </table>
          <t>(1)  K<sub>x</sub> = PK<sub>x</sub> + SK<sub>x</sub>, where x = certificate type, PK<sub>x</sub> = public key, and SK<sub>x</sub> = private key</t>
          <table anchor="_table-3">
            <name>Certificates</name>
            <thead>
              <tr>
                <th align="left">Name</th>
                <th align="left">Notation</th>
                <th align="left">Signed with</th>
                <th align="left">Contains</th>
                <th align="left">Validity (2)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">TRC (trust root conf.)</td>
                <td align="left">TRC</td>
                <td align="left">SK<sub>sens</sub>, SK<sub>reg</sub> (1)</td>
                <td align="left">C<sub>root</sub>, C<sub>sens</sub>, C<sub>reg</sub> (1)</td>
                <td align="left">1 year</td>
              </tr>
              <tr>
                <td align="left">Sensitive voting cert.</td>
                <td align="left">C<sub>sens</sub></td>
                <td align="left">SK<sub>sens</sub></td>
                <td align="left">PK<sub>sens</sub></td>
                <td align="left">5 years</td>
              </tr>
              <tr>
                <td align="left">Regular voting cert.</td>
                <td align="left">C<sub>reg</sub></td>
                <td align="left">SK<sub>reg</sub></td>
                <td align="left">PK<sub>reg</sub></td>
                <td align="left">1 year</td>
              </tr>
              <tr>
                <td align="left">CP root certificate</td>
                <td align="left">C<sub>root</sub></td>
                <td align="left">SK<sub>root</sub></td>
                <td align="left">PK<sub>root</sub></td>
                <td align="left">1 year</td>
              </tr>
              <tr>
                <td align="left">CP CA certificate</td>
                <td align="left">C<sub>CA</sub></td>
                <td align="left">SK<sub>root</sub></td>
                <td align="left">PK<sub>CA</sub></td>
                <td align="left">11 days (3)</td>
              </tr>
              <tr>
                <td align="left">CP AS certificate</td>
                <td align="left">C<sub>AS</sub></td>
                <td align="left">SK<sub>CA</sub></td>
                <td align="left">PK<sub>AS</sub></td>
                <td align="left">3 days</td>
              </tr>
            </tbody>
          </table>
          <t>(1) Multiple signatures and certificates of each type may be included in a TRC.<br/>
(2) Recommended maximum validity period.<br/>
(3) A validity of 11 days with 4 days overlap between two CA certificates is recommended to enable best possible operational procedures when performing a CA certificate rollover.</t>
          <t><xref target="_figure-2"/> illustrates, at a high level, the relationship between a TRC and the five types of certificates.</t>
          <figure anchor="_figure-2">
            <name>TRC update chain and the different types of associated certificates. Arrows show how signatures are verified; in other words, they indicate that a public key contained in a certificate or TRC can be used to verify the authenticity of another item.</name>
            <artwork><![CDATA[
   +--------------------+     +--------------------+          +--------------+     +---------------+
   |       TRC 1        +---->|       TRC 2       -+------>╳  |       TRC 3  +---->|       TRC 4   |
   |  (base, initial)   |     |  (regular update)  |          | (base, trust |     | (sensitive    |
+--+--------------------+     +--------------------+------+   |     reset)   |     |     update)   |
|                                                         |   +--------------+     +---------------+
|                                                         |
+--------------------------------------------+        +---+----------------------------------------+
|             TRC 1 (base, initial)          |        |             TRC 2 (regular update)         |
|+------------------------------------------+|        |+------------------------------------------+|
||- Version       - Core ASes               ||        ||- Version       - Core ASes               ||
||- ID            - Description             ||        ||- ID            - Description             ||
||- Validity      - No Trust Reset          ||        ||- Validity      - No Trust Reset          ||
||- Grace Period  - Voting Quorum           ||        ||- Grace Period  - Voting Quorum           ||
||- ...                                     ||        ||- ...                                     ||
|+------------------------------------------+|        |+------------------------------------------+|
|+--------------------++--------------------+|        |+--------------------++--------------------+|
||Votes (cert.indices)||   Regular Voting   ||        ||Votes (cert.indices)||   Regular Voting   ||
||                    ||    Certificates    ||        ||                    ||    Certificates    ||
||    (empty)         ||                    ||        ||    (1),(2)...      ||                    ||
||                    ||+-----+ +-----+     ||        ||                    ||+-----+ +-----+     ||
||                    ||| (1) | | (2) |     ||        ||                    ||| (1) | | (2) |     ||
||                    |||C    | |C    | ... ||        ||                    |||C    | |C    | ... ||
||                    ||| reg | | reg |     ||        ||                    ||| reg | | reg |     ||
|+--------------------+|+--+--+ +--+--+     ||        |+--------------------+|+-----+ +-----+     ||
|+--------------------+|   |       |        ||        |+--------------------+|                    ||
||                    ||   |       +--------++-----+  ||                    ||                    ||
||                    ||   +----------------++-+   |  ||                    ||                    ||
||    Signatures      |+--------------------+| |   |  ||    Signatures      |+--------------------+|
||                    |+--------------------+| |   |  ||                    |+--------------------+|
||+------------------+|| Sensitive Voting   || |   |  ||+------------------+|| Sensitive Voting   ||
|||73 A9 4E AO 0D ...|||    Certificates    || |   +--+>|48 AE E4 80 DB ...|||    Certificates    ||
||+------------------+||+-----+ +-----+     || |      ||+------------------+||+-----+ +-----+     ||
||+------------------+||| (3) | | (4) |     || |      ||+------------------+||| (3) | | (4) |     ||
|||53 B7 7C 98 56 ...||||C    | |C    |     || +------+>|7E BC 75 98 25 ...||||C    | |C    |     ||
||+------------------+||| sens| | sens| ... ||        ||+------------------+||| sens| | sens| ... ||
||        ...         ||+-----+ +-----+     ||        ||        ...         ||+-----+ +-----+     ||
|+--------------------++--------------------+|        |+--------------------++--------------------+|
|+------------------------------------------+|        |+------------------------------------------+|
||          CP Root Certificates            ||        ||          CP Root Certificates            ||
||                                          ||        ||                                          ||
|| +-----+ +-----+ +-----+ +-----+          ||        || +-----+ +-----+ +-----+ +-----+          ||
|| | (5) | | (6) | | (7) | | (8) |          ||        || | (5) | | (6) | | (7) | | (8) |          ||
|| |C    | |C    | |C    | |C    |          ||        || |C    | |C    | |C    | |C    |          ||
|| | root| | root| | root| | root| .....    ||        || | root| | root| | root| | root| .....    ||
|| +-----+ +--+--+ +-----+ +--+--+          ||        || +-----+ +--+--+ +-----+ +--+--+          ||
|+------------+---------------+-------------+|        |+------------+---------------+-------------+|
+-------------+---------------+--------------+        +-------------+---------------+--------------+
              |               |                                     |               |
    +---------v-+           +-v---------+                 +---------v-+           +-v---------+
    |   CP CA   |           |   CP CA   |                 |   CP CA   |           |   CP CA   |
    |Certificate|           |Certificate|                 |Certificate|           |Certificate|
    +-----+-----+           +-----+-----+                 +-+-------+-+           +-----+-----+
          |                       |                         |       |                   |
          |                       |                         |       |                   |
          v                       v                         v       v                   v
    +-----------+           +-----------+          +-----------+ +-----------+        +-----------+
    |   CP AS   |           |   CP AS   |          |   CP AS   | |   CP AS   |        |   CP AS   |
    |Certificate|           |Certificate|          |Certificate| |Certificate|        |Certificate|
    +-----------+           +-----------+          +-----------+ +-----------+        +-----------+
]]></artwork>
          </figure>
        </section>
      </section>
      <section anchor="certificate-specification">
        <name>Certificate Specification</name>
        <t>All certificates used in the SCION control-plane PKI are X.509 v3 certificates. However, the SCION specification is in some places more restrictive. This section defines these additional constraints and conditions compared to <xref target="RFC5280"/> for each type of SCION control-plane PKI certificate.</t>
        <t><strong>Note</strong>: The settings for the SCION-specific constraints and conditions are based on the SCION open-source implementation <eref target="https://github.com/scionproto/scion/">scionproto</eref>. Adjusting these settings to the requirements of a customer implementation may be possible and is allowed.</t>
        <section anchor="basic-fields-scion-specific-constraints-and-conditions">
          <name>Basic Fields: SCION-Specific Constraints and Conditions</name>
          <t>This section briefly describes the fields of the SCION control-plane PKI certificates based on X.509. These fields are relevant for each SCION certificate used in the control plane, regardless of the certificate type. For detailed descriptions of the full generic format of X.509 v3 certificates, see <xref target="RFC5280"/> and <eref target="https://handle.itu.int/11.1002/1000/13031">X509</eref>, clause 7.2. Additionally, the section lists the SCION-specific constraints and conditions compared to <xref target="RFC5280"/>, per certificate field.</t>
          <t><tt>TBSCertificate</tt> sequence: Contains information associated with the subject of the certificate and the CA that issued it. It includes the following fields:</t>
          <ul spacing="normal">
            <li>
              <t><tt>version</tt> field: Describes the version of the encoded certificate.  </t>
              <ul spacing="normal">
                <li>
                  <strong>SCION constraints</strong>: "v1" and "v2" are not allowed.</li>
                <li>
                  <strong>Additional conditions and remarks</strong>: <bcp14>MUST</bcp14> be set to "v3" (as extensions are used and mandatory in SCION).</li>
              </ul>
            </li>
            <li>
              <tt>serialNumber</tt> field: A positive integer assigned by the CA to each certificate. It <bcp14>MUST</bcp14> be unique for each certificate issued by a given CA.</li>
            <li>
              <t><tt>signature</tt> field: Contains the identifier for the algorithm used by the CA to sign the certificate.  </t>
              <ul spacing="normal">
                <li>
                  <strong>SCION constraints</strong>: Currently, SCION only supports the ECDSA signature algorithm. Find all details here: <xref target="certsign"/>.</li>
                <li>
                  <strong>Additional conditions and remarks</strong>: As a consequence, the <tt>parameters</tt> field in the <tt>AlgorithmIdentifier</tt> sequence <bcp14>MUST NOT</bcp14> be used.</li>
              </ul>
            </li>
            <li>
              <t><tt>issuer</tt> field: Contains the distinguished name (DN) of the entity that has issued and signed the certificate (usually a CA).  </t>
              <ul spacing="normal">
                <li>
                  <t><strong>SCION constraints</strong>:      </t>
                  <ul spacing="normal">
                    <li>This field <bcp14>MUST</bcp14> be non-empty.</li>
                    <li>SCION implementations <bcp14>MUST</bcp14> ONLY use the "UTF8String" value type for all attributes (including the  SCION-specific attribute <tt>ISD-AS number</tt>).</li>
                  </ul>
                </li>
                <li>
                  <strong>Additional conditions and remarks</strong>: All SCION implementations <bcp14>MUST</bcp14> support the additional SCION-specific attribute <tt>ISD-AS number</tt>. For details, see <xref target="issuer"/> and <xref target="isd-as-nr"/>.</li>
              </ul>
            </li>
            <li>
              <t><tt>validity</tt> field: Defines the validity period of the certificate.  </t>
              <ul spacing="normal">
                <li>
                  <strong>SCION constraints</strong>: All certificates used in SCION's control-plane PKI <bcp14>MUST</bcp14> have a well-defined expiration date. Certificates with a generalized time value are not valid and <bcp14>MUST</bcp14> be rejected.</li>
                <li>
                  <strong>Additional conditions and remarks</strong>: SCION recommends a specific maximum validity period for each type of control-plane PKI certificate. For details, see <xref target="formal"/>. SCION implementations should adopt these values.</li>
              </ul>
            </li>
            <li>
              <t><tt>subject</tt> field: Defines the entity that owns the certificate.  </t>
              <ul spacing="normal">
                <li>
                  <t><strong>SCION constraints</strong>:      </t>
                  <ul spacing="normal">
                    <li>This field <bcp14>MUST</bcp14> be non-empty.</li>
                    <li>SCION implementations <bcp14>MUST</bcp14> ONLY use the "UTF8String" value type for all attributes (including the  SCION-specific attribute <tt>ISD-AS number</tt>).</li>
                  </ul>
                </li>
                <li>
                  <strong>Additional conditions and remarks</strong>: The <tt>subject</tt> field is specified in the same way as the <tt>issuer</tt> field. For details, see <xref target="issuer"/> and <xref target="isd-as-nr"/>.</li>
              </ul>
            </li>
            <li>
              <t><tt>subjectPublicKeyInfo</tt> field: Carries the public key of the certificate's subject (the entity that owns the certificate, as defined in the <tt>subject</tt> field). The <tt>subjectPublicKeyInfo</tt> field also identifies which algorithm to use with the key.  </t>
              <ul spacing="normal">
                <li>
                  <strong>SCION constraints</strong>: For constraints regarding the algorithm, see the <tt>signature</tt> field.</li>
              </ul>
            </li>
            <li>
              <t><tt>issuerUniqueID</tt> field: If set, it enables reusing the issuer name over time.  </t>
              <ul spacing="normal">
                <li>
                  <strong>SCION constraints</strong>: This field is disallowed in SCION and <bcp14>MUST NOT</bcp14> be used.</li>
              </ul>
            </li>
            <li>
              <t><tt>subjectUniqueID</tt> field: If set, it enables reusing the subject name over time.  </t>
              <ul spacing="normal">
                <li>
                  <strong>SCION constraints</strong>: This field is disallowed in SCION and <bcp14>MUST NOT</bcp14> be used.</li>
              </ul>
            </li>
            <li>
              <tt>extensions</tt> sequence: Defines the extensions of the certificate. For a description of all extensions used in SCION, see <xref target="exts"/>.</li>
          </ul>
          <section anchor="certsign">
            <name><tt>signature</tt> Field - Additional Information</name>
            <t>For security reasons, SCION uses a custom list of acceptable signature algorithms. This list of acceptable signature algorithms is specified in the <tt>signature</tt> field. The list currently only contains the ECDSA signature algorithm (defined in <eref target="https://webstore.ansi.org/standards/ascx9/ansix9621998">X962</eref>). However, the list might be extended in the future. The Object Identifiers (OIDs) for ECDSA are defined as <tt>ecdsa-with-SHA256</tt>, <tt>ecdsa-with-SHA384</tt>, and <tt>ecdsa-with-SHA512</tt> in <xref target="RFC5758"/>.</t>
            <t><strong>Important:</strong> The accepted cryptographic algorithms listed in this document are the only currently accepted cryptographic algorithms. SCION implementations <bcp14>MUST</bcp14> reject cryptographic algorithms not found in the list.</t>
            <t>The only accepted curves for ECDSA are:</t>
            <ul spacing="normal">
              <li>NIST P-256 (NISTFIPS186-4, section D.1.2.3) (named <tt>secp256r1</tt> in <xref target="RFC5480"/>)</li>
              <li>NIST P-384 (NISTFIPS186-4, section D.1.2.4) (named <tt>secp384r1</tt> in <xref target="RFC5480"/>)</li>
              <li>NIST P-521 (NISTFIPS186-4, section D.1.2.5) (named <tt>secp521r1</tt> in <xref target="RFC5480"/>)</li>
            </ul>
            <t>The OIDs for the above curves are specified in section 2.1.1.1 of <xref target="RFC5480"/>.</t>
            <t>The appropriate hash size to use when producing a signature with an ECDSA key is:</t>
            <ul spacing="normal">
              <li>ECDSA with SHA-256, for a P-256 signing key</li>
              <li>ECDSA with SHA-384, for a P-384 signing key</li>
              <li>ECDSA with SHA-512, for a P-521 signing key</li>
            </ul>
            <t><strong>Important:</strong> SCION implementations <bcp14>MUST</bcp14> include support for P-256, P-384, and P-521.</t>
          </section>
          <section anchor="issuer">
            <name><tt>issuer</tt> Field - Additional Information</name>
            <t>The <tt>issuer</tt> field contains the distinguished name (DN) of the CA that created the certificate. <xref target="RFC5280"/>, section 4.1.2.4, describes the field's syntax and attributes. In addition to these attributes, SCION implementations <bcp14>MUST</bcp14> also support the SCION-specific attribute <tt>ISD-AS number</tt>. This attribute is specified below.</t>
            <section anchor="isd-as-nr">
              <name><tt>ISD-AS number</tt> Attribute</name>
              <t>The <tt>ISD-AS number</tt> attribute identifies the SCION ISD and AS. In the SCION open source implementation, the attribute type is <tt>id-at-ia</tt>, defined as:<br/>
                <tt>id-at-ia AttributeType ::= {id-ana id-cppki(1) id-at(2) 1}</tt></t>
              <t>where <tt>id-ana</tt> specifies the root SCION object identifier (OID).</t>
              <t><strong>Note</strong>: The SCION open source implementation currently uses the Anapaya IANA Private Enterprise Number (55324) as root SCION object identifier (OID): <br/>
                <tt>id-ana ::= OBJECT IDENTIFIER {1 3 6 1 4 1 55324}</tt></t>
              <t>The following points apply when setting the attribute value of the <tt>ISD-AS number</tt> attribute:</t>
              <ul spacing="normal">
                <li>The string representation <bcp14>MUST</bcp14> follow the canonical formatting defined in <eref target="https://github.com/scionproto/scion/wiki/ISD-and-AS-numbering">ISD and AS numbering</eref>.</li>
                <li>The canonical string representation uses a dash separator between the ISD and AS numbers.</li>
                <li>The ISD numbers are formatted as decimal.</li>
                <li>The canonical string formatting of AS numbers in the BGP AS range (0, 2<sup>32-1</sup>) is the decimal form. Larger AS numbers, i.e., from 2<sup>32</sup> to 2<sup>48-1</sup>, use a 16-bit, colon-separated, lower-case, hex encoding with leading zeros omitted: <tt>1:0:0</tt> to <tt>ffff:ffff:ffff</tt>.</li>
              </ul>
              <t><strong>Example:</strong> AS <tt>ff00:0:110</tt> in ISD <tt>1</tt> is formatted as <tt>1-ff00:0:110</tt>.</t>
              <t>The <tt>ISD-AS number</tt> attribute <bcp14>MUST</bcp14> be present exactly once in the distinguished name of the certificate issuer or owner, specified in the <tt>issuer</tt> or <tt>subject</tt> field, respectively. Implementations <bcp14>MUST NOT</bcp14> create nor successfully verify certificates whose <tt>issuer</tt> and <tt>subject</tt> fields do not include the ISD-AS number at all, or include it more than once.</t>
              <t><strong>Note</strong>: Voting certificates are not required to include the <tt>ISD-AS number</tt> attribute in their distinguished name.</t>
            </section>
          </section>
        </section>
        <section anchor="exts">
          <name>Extensions</name>
          <t><xref target="RFC5280"/>, section 4.2.1, defines the syntax of the <tt>Extensions</tt> sequence in a X.509 certificate. Descriptions of each standard certificate extension can be found in <xref target="RFC5280"/>, section 4.2.1. The corresponding clauses in <eref target="https://handle.itu.int/11.1002/1000/13031">X509</eref> (10/2016) are clause 7.2 and clause 9, respectively.</t>
          <t>Currently, the following extensions are relevant for SCION:</t>
          <ul spacing="normal">
            <li>
              <tt>authorityKeyIdentifier</tt></li>
            <li>
              <tt>subjectKeyIdentifier</tt></li>
            <li>
              <tt>keyUsage</tt></li>
            <li>
              <tt>extKeyUsage</tt></li>
            <li>
              <tt>basicConstraints</tt></li>
          </ul>
          <t>The following sections describe the SCION-specifics in regard to these extensions.</t>
          <section anchor="authoritykeyidentifier-extension">
            <name><tt>authorityKeyIdentifier</tt> Extension</name>
            <t>The <tt>authorityKeyIdentifier</tt> extension identifies the public key corresponding to the private key used to sign a certificate.</t>
            <t>For the syntax and definition of the <tt>authorityKeyIdentifier</tt> extension, see <xref target="RFC5280"/>, section 4.2.1.1, and <eref target="https://handle.itu.int/11.1002/1000/13031">X509</eref>, clause 9.2.2.1.</t>
            <t>The <tt>authorityKeyIdentifier</tt> extension provides three attributes to specify the public key:</t>
            <ul spacing="normal">
              <li>
                <tt>keyIdentifier</tt></li>
              <li>
                <tt>authorityCertIssuer</tt></li>
              <li>
                <tt>authorityCertSerialNumber</tt></li>
            </ul>
            <t>In SCION, using the <tt>keyIdentifier</tt> attribute is the preferred way to specify the <tt>authorityKeyIdentifier</tt> extension.</t>
            <t><strong>Important:</strong> SCION implementations may also support the use of the <tt>authorityCertIssuer</tt> and <tt>authorityCertSerialNumber</tt> attributes. However, if these attributes are set and support for them is missing, implementations should error out.</t>
            <t>This extension <bcp14>MUST</bcp14> always be non-critical. However, SCION implementations <bcp14>MUST</bcp14> error out if the extension is not present AND the certificate is not self-signed.</t>
          </section>
          <section anchor="subject-key-id-ext">
            <name><tt>subjectKeyIdentifier</tt> Extension</name>
            <t>The <tt>subjectKeyIdentifier</tt> extension identifies certificates that contain a particular public key. It can be used, for example, by control-plane messages to identify which certificate to use for verification. The extension allows for overlapping control-plane CA keys, for example during updates.</t>
            <t>For the syntax and definition of the <tt>subjectKeyIdentifier</tt> extension, see <xref target="RFC5280"/>, section 4.2.1.2, and <eref target="https://handle.itu.int/11.1002/1000/13031">X509</eref>, clause 9.2.2.2.</t>
            <t>This extension <bcp14>MUST</bcp14> always be non-critical. However, SCION implementations <bcp14>MUST</bcp14> error out if the extension is not present.</t>
          </section>
          <section anchor="key-usage-ext">
            <name><tt>keyUsage</tt> Extension</name>
            <t>The <tt>keyUsage</tt> extension identifies the intended usage of the public key in the corresponding certificate. For the syntax and definition of the <tt>keyUsage</tt> extension, see <xref target="RFC5280"/>, section 4.2.1.3, and <eref target="https://handle.itu.int/11.1002/1000/13031">X509</eref>, clause 9.2.2.3.</t>
            <t>The attributes of the <tt>keyUsage</tt> extension define possible ways of using the public key. The attributes have the following meaning in SCION:</t>
            <ul spacing="normal">
              <li>
                <tt>digitalSignature</tt>: The public key can be used to verify the digital signature of a control-plane payload.</li>
              <li>
                <tt>contentCommitment</tt>: Not used.</li>
              <li>
                <tt>keyEncipherment</tt>: Not used.</li>
              <li>
                <tt>dataEncipherment</tt>: Not used.</li>
              <li>
                <tt>keyAgreement</tt>: Not used.</li>
              <li>
                <tt>keyCertSign</tt>: The public key can be used to verify the CA signature on a control-plane certificate.</li>
              <li>
                <tt>cRLSign</tt>: Not used.</li>
              <li>
                <tt>encipherOnly</tt>: Not used.</li>
              <li>
                <tt>decipherOnly</tt>: Not used.</li>
            </ul>
            <t><strong>Important:</strong> If a certificate’s public key is used to verify the signature of a control-plane payload (<tt>digitalSignature</tt> attribute), it must be possible to trace back the private key used to sign the certificate. This is done by referencing the ISD-AS and the subject key identifier (via the <tt>subjectKeyIdentifier</tt> extension). For more information about the <tt>subjectKeyIdentifier</tt> extension, see <xref target="subject-key-id-ext"/>.</t>
            <t>If present, the <tt>keyUsage</tt> extension should be marked as "critical". That is, the <tt>critical</tt> Boolean attribute of this extension must be set to TRUE (the default is FALSE).</t>
            <t><strong>Note</strong>: If a certificate extension is marked "critical", the public key in the certificate should only be used for the purpose set in the critical extension.</t>
            <t>Each control-plane PKI certificate type uses the public key differently, and consequently also specifies the attributes of the <tt>keyUsage</tt> extension differently. The next table shows the specifications per certificate type.</t>
            <table anchor="_table-4">
              <name>keyUsage extension - Specifications per certificate type</name>
              <thead>
                <tr>
                  <th align="left">Certificate Type</th>
                  <th align="left">Root</th>
                  <th align="left">CA</th>
                  <th align="left">AS</th>
                  <th align="left">Voting (regular and sensitive)</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">
                    <em>Attribute:</em></td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>keyUsage</tt> extension itself</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                  <td align="left">
                    <bcp14>MAY</bcp14> be present (but is not required)</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>digitalSignature</tt></td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be set (1)</td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be set (2)</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be set</td>
                  <td align="left">If the extension is present, the <tt>digitalSignature</tt> attribute <bcp14>MUST NOT</bcp14> be set</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>keyCertSign</tt></td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be set</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be set</td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be set</td>
                  <td align="left">If the extension is present, the <tt>keyCertSign</tt> attribute <bcp14>MUST NOT</bcp14> be set</td>
                </tr>
              </tbody>
            </table>
            <t>(1) The root certificate should not be used to verify control-plane messages.<br/>
(2) The CA certificate should not be used to verify control-plane messages.</t>
          </section>
          <section anchor="ext-key-usage-ext">
            <name><tt>extKeyUsage</tt> Extension</name>
            <t>The <tt>extKeyUsage</tt> extension specifies additional usages of the public key in the certificate. For the syntax and definition of the <tt>extKeyUsage</tt> extension, see <eref target="https://handle.itu.int/11.1002/1000/13031">X509</eref>, clause 9.2.2.4.</t>
            <t>SCION uses the following attributes of the Extended Key Usage extension, as defined in Section 4.2.1.12 of <xref target="RFC5280"/>:</t>
            <ul spacing="normal">
              <li>
                <tt>id-kp-serverAuth</tt>: If set, the public key can be used for SCION control-plane server authentication.</li>
              <li>
                <tt>id-kp-clientAuth</tt>: If set, the public key can be used for SCION control-plane client authentication.</li>
              <li>
                <tt>id-kp-timeStamping</tt>: If set, the public key can be used for the verification of timestamps.</li>
            </ul>
            <t>Additionally, the Extended Key Usage extension sequence may include the SCION-specific attributes <tt>id-kp-root</tt>, <tt>id-kp-regular</tt>, and <tt>id-kp-sensitive</tt>. These attributes are used in the Trust Root Configuration setup, to distinguish root certificates, regular voting certificates, and sensitive voting certificates from each other. For more information, see <xref target="cert"/>.</t>
            <t>The specifications of the <tt>extKeyUsage</tt> extension differ per SCION control-plane PKI certificate type. The next table provides an overview of the specifications per certificate type.</t>
            <table anchor="_table-5">
              <name>extKeyUsage extension - Specifications per certificate type</name>
              <thead>
                <tr>
                  <th align="left">Certificate Type</th>
                  <th align="left">Root</th>
                  <th align="left">CA</th>
                  <th align="left">AS</th>
                  <th align="left">Voting (regular and sensitive)</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">
                    <em>Attribute:</em></td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>extKeyUsage</tt> extension itself</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                  <td align="left">
                    <bcp14>MAY</bcp14> be present (not required)</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>id-kp-serverAuth</tt></td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be included</td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be included</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be included, if the certificate is used on the server-side of a control-plane TLS session.</td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be included</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>id-kp-clientAuth</tt></td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be included</td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be included</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be included, if the certificate is used on the client-side of a control-plane TLS session.</td>
                  <td align="left">
                    <bcp14>MUST NOT</bcp14> be included</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>id-kp-timeStamping</tt></td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be included</td>
                  <td align="left"> </td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be included</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be included</td>
                </tr>
                <tr>
                  <td align="left">SCION-specific</td>
                  <td align="left">
                    <tt>id-kp-root</tt> <bcp14>MUST</bcp14> be included. For details, see <xref target="specatt"/></td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                  <td align="left">Regular voting cert: <tt>id-kp-regular</tt> <bcp14>MUST</bcp14> be included. For details, see <xref target="specatt"/><br/> Sensitive voting cert: <tt>id-kp-sensitive</tt> <bcp14>MUST</bcp14> be included. For details, see <xref target="specatt"/></td>
                </tr>
              </tbody>
            </table>
            <section anchor="specatt">
              <name>SCION-Specific Attributes</name>
              <t>The <tt>id-kp-root</tt>, <tt>id-kp-regular</tt>, and <tt>id-kp-sensitive</tt> attributes must be specified as follows:</t>
              <ul spacing="normal">
                <li>Root certificate:<br/> <tt>id-kp-root AttributeType ::= {id-ana id-cppki(1) id-kp(3) 3}</tt></li>
                <li>Regular voting certificate:<br/> <tt>id-kp-regular AttributeType ::= {id-ana id-cppki(1) id-kp(3) 2}</tt></li>
                <li>Sensitive voting certificate:<br/> <tt>id-kp-sensitive AttributeType ::= {id-ana id-cppki(1) id-kp(3) 1}</tt></li>
              </ul>
              <t>where <tt>id-ana</tt> specifies the root SCION object identifier (OID).</t>
              <t><strong>Note</strong>: The SCION open source implementation currently uses the Anapaya IANA Private Enterprise Number (55324) as root SCION object identifier (OID):<br/>
                <tt>id-ana ::= OBJECT IDENTIFIER {1 3 6 1 4 1 55324}</tt></t>
            </section>
          </section>
          <section anchor="basic-constr-ext">
            <name><tt>basicConstraints</tt> Extension</name>
            <t>The <tt>basicConstraints</tt> extension specifies whether the certificate subject may act as a CA. For the syntax and definition of the <tt>basicConstraints</tt> extension, see <eref target="https://handle.itu.int/11.1002/1000/13031">X509</eref>, clause 9.4.2.1.</t>
            <t>The <tt>basicConstraints</tt> extension includes the following attributes relevant for SCION:</t>
            <ul spacing="normal">
              <li>
                <tt>cA</tt> attribute: Specifies whether the certificate subject may act as a CA. If yes, this attribute <bcp14>MUST</bcp14> be set to TRUE.</li>
              <li>
                <tt>pathLenConstraint</tt> attribute: This attribute is only relevant if the <tt>cA</tt> attribute is set to TRUE. It specifies the maximum number of CA certificates that may follow this CA certificate in the certification chain. Value "0" means that this CA may only issue end-entity certificates, but no CA certificates. If the attribute is not set, there is no limit to the allowed length of the certification path.</li>
            </ul>
            <t>The settings of the <tt>basicConstraints</tt> extension differ for each SCION control-plane PKI certificate type. The next table shows the specifications per certificate type.</t>
            <table anchor="_table-6">
              <name>basicConstraints extension - Specifications per certificate type</name>
              <thead>
                <tr>
                  <th align="left">Certificate Type</th>
                  <th align="left">Root</th>
                  <th align="left">CA</th>
                  <th align="left">AS</th>
                  <th align="left">Voting (regular and sensitive)</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">
                    <em>Attribute:</em></td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                  <td align="left"> </td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>basicConstraints</tt> extension itself</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be present</td>
                  <td align="left">
                    <bcp14>SHOULD NOT</bcp14> be present</td>
                  <td align="left">
                    <bcp14>SHOULD NOT</bcp14> be present</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>cA</tt></td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be set to TRUE</td>
                  <td align="left">
                    <bcp14>MUST</bcp14> be set to TRUE</td>
                  <td align="left">If the extension is present, this attribute <bcp14>MUST</bcp14> be set to FALSE</td>
                  <td align="left">If the extension is present, this attribute <bcp14>MUST</bcp14> be set to FALSE</td>
                </tr>
                <tr>
                  <td align="left">
                    <tt>pathLenConstraint</tt></td>
                  <td align="left">
                    <bcp14>SHOULD</bcp14> be set to "1", <bcp14>MUST</bcp14> be marked as "critical"</td>
                  <td align="left">
                    <bcp14>SHOULD</bcp14> be set to "0" (1), <bcp14>MUST</bcp14> be marked as "critical"</td>
                  <td align="left">If the extension is present, this attribute <bcp14>MUST</bcp14> be absent.</td>
                  <td align="left">If the extension is present, this attribute <bcp14>MUST</bcp14> be absent.</td>
                </tr>
              </tbody>
            </table>
            <t>(1) Control-plane CAs can only issue end-entity certificates.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="trc-specification">
      <name>Trust Root Configuration Specification</name>
      <t>This section provides an in-depth specification of the trust root configuration (TRC) file (see <xref target="trc-spec"/>). The TRC contains policy information about an ISD and acts as a distribution mechanism for the trust anchors of that ISD. It enables securing the control-plane interactions, and is thus an integral part of the SCION infrastructure.</t>
      <t>The initial TRC of an ISD is signed during a signing ceremony and then distributed throughout the ISD. This signing ceremony follows specific rules; <xref target="trc-ceremony"/> describes these rules.</t>
      <section anchor="trc-spec">
        <name>TRC Specification</name>
        <t>The trust root configuration (TRC) is a signed collection of <eref target="https://handle.itu.int/11.1002/1000/13031">X.509</eref> v3 certificates. Additionally, the TRC contains ISD-specific policies encoded in a Cryptographic Message Syntax (CMS) <xref target="RFC5652"/> envelope.</t>
        <t>The TRC's certificates collection consists of a set of control-plane root certificates, which build the root of the certification chain for the AS certificates in an ISD. The other certificates in the TRC are solely used for signing the next TRC, a process called "voting". The verification of a new TRC thus depends on the policies and voting certificates defined in the previous TRC.</t>
        <t><strong>Note:</strong> See <xref target="cert-specs"/> for the general specifications of SCION's control-plane PKI certificates, as well as <xref target="cp-root-cert"/> and <xref target="cp-voting-cert"/>, for the specifications of the control-plane root certificates and voting certificates, respectively.</t>
        <t>This section provides a detailed specification of the TRC. It presents the TRC format definitions and describes the TRC payload fields. The section uses the ITU-T <eref target="https://handle.itu.int/11.1002/1000/14468">X.680</eref> syntax.</t>
        <section anchor="trc-states">
          <name> TRC Types and States</name>
          <t>The following types of TRCs exist:</t>
          <ul spacing="normal">
            <li>Initial: The very first TRC of an ISD is the initial TRC of that ISD. It is a special case of the base TRC, where the number of the ISD is specified.</li>
            <li>Base: A base TRC is either the initial TRC, or the first TRC after a trust reset (see <xref target="trust-reset"/>). Trust for a base TRC cannot be inferred by verifying a TRC update; base TRCs are trusted axiomatically, similarly to how root CA certificates are trusted by clients in the Web PKI.</li>
            <li>Update: All non-base TRCs are updated TRCs. They are the product of either a regular or a sensitive update.</li>
          </ul>
          <t>A TRC can have the following states:</t>
          <ul spacing="normal">
            <li>Valid: The validity period of a TRC is defined in the TRC itself, in the <tt>validity</tt> field (see <xref target="validity"/>). A TRC is considered valid if the current time falls within its validity period.</li>
            <li>Active: An active TRC is a valid TRC that can be used for verifying certificate signatures. This is either the latest TRC or the predecessor TRC, if it is still in its grace period (as defined in the <tt>gracePeriod</tt> field of the new TRC, see <xref target="grace"/>). No more than two TRCs can be active at the same time for any ISD.</li>
          </ul>
          <t><xref target="_figure-3"/> shows the content of both a base/initial TRC and the first regularly-updated TRC based on the base TRC. All elements of the shown TRCs are specified in detail in the following subsections.</t>
          <figure anchor="_figure-3">
            <name>The TRC on the left-hand side is the initial base TRC. The TRC on the right is the product of the first regular update of the base TRC.</name>
            <artwork><![CDATA[
+--------------------------------------------+        +--------------------------------------------+
|             TRC 1 (base, initial)          |        |             TRC 2 (regular update)         |
|+------------------------------------------+|        |+------------------------------------------+|
||- Version       - Core ASes               ||        ||- Version       - Core ASes               ||
||- ID            - Description             ||        ||- ID            - Description             ||
||- Validity      - No Trust Reset          ||        ||- Validity      - No Trust Reset          ||
||- Grace Period  - Voting Quorum           ||        ||- Grace Period  - Voting Quorum           ||
||- ...                                     ||        ||- ...                                     ||
|+------------------------------------------+|        |+------------------------------------------+|
|+--------------------++--------------------+|        |+--------------------++--------------------+|
||Votes (cert.indices)||   Regular Voting   ||        ||Votes (cert.indices)||   Regular Voting   ||
||                    ||    Certificates    ||        ||                    ||    Certificates    ||
||    (empty)         ||                    ||        ||    (1),(2)...      ||                    ||
||                    ||+-----+ +-----+     ||        ||                    ||+-----+ +-----+     ||
||                    ||| (1) | | (2) |     ||        ||                    ||| (1) | | (2) |     ||
||                    |||C    | |C    | ... ||        ||                    |||C    | |C    | ... ||
||                    ||| reg | | reg |     ||        ||                    ||| reg | | reg |     ||
|+--------------------+|+--+--+ +--+--+     ||        |+--------------------+|+-----+ +-----+     ||
|+--------------------+|   |       |        ||        |+--------------------+|                    ||
||                    ||   |       +--------++-----+  ||                    ||                    ||
||                    ||   +----------------++-+   |  ||                    ||                    ||
||    Signatures      |+--------------------+| |   |  ||    Signatures      |+--------------------+|
||                    |+--------------------+| |   |  ||                    |+--------------------+|
||+------------------+|| Sensitive Voting   || |   |  ||+------------------+|| Sensitive Voting   ||
|||73 A9 4E AO 0D ...|||    Certificates    || |   +--+>|48 AE E4 80 DB ...|||    Certificates    ||
||+------------------+||+-----+ +-----+     || |      ||+------------------+||+-----+ +-----+     ||
||+------------------+||| (3) | | (4) |     || |      ||+------------------+||| (3) | | (4) |     ||
|||53 B7 7C 98 56 ...||||C    | |C    |     || +------+>|7E BC 75 98 25 ...||||C    | |C    |     ||
||+------------------+||| sens| | sens| ... ||        ||+------------------+||| sens| | sens| ... ||
||        ...         ||+-----+ +-----+     ||        ||        ...         ||+-----+ +-----+     ||
|+--------------------++--------------------+|        |+--------------------++--------------------+|
|+------------------------------------------+|        |+------------------------------------------+|
||          CP Root Certificates            ||        ||          CP Root Certificates            ||
||                                          ||        ||                                          ||
|| +-----+ +-----+ +-----+ +-----+          ||        || +-----+ +-----+ +-----+ +-----+          ||
|| | (5) | | (6) | | (7) | | (8) |          ||        || | (5) | | (6) | | (7) | | (8) |          ||
|| |C    | |C    | |C    | |C    |          ||        || |C    | |C    | |C    | |C    |          ||
|| | root| | root| | root| | root| .....    ||        || | root| | root| | root| | root| .....    ||
|| +-----+ +-----+ +-----+ +-----+          ||        || +-----+ +-----+ +-----+ +-----+          ||
|+------------------------------------------+|        |+------------------------------------------+|
+--------------------------------------------+        +--------------------------------------------+
]]></artwork>
          </figure>
        </section>
        <section anchor="trc-format">
          <name> TRC Format</name>
          <t>The trust root configuration (TRC) of an ISD defines the roots of trust of the ISD, and builds the base of the ISD's control-plane PKI. It holds the root and voting certificates of the ISD and defines the ISD's trust policy.</t>
          <section anchor="trcpayload">
            <name> TRC Schema</name>
            <t>The following code block shows the format of a TRC specification file (the payload schema):</t>
            <artwork><![CDATA[
   TRCPayload  ::=  SEQUENCE {
       version   TRCFormatVersion,
       iD        TRCID,
       validity  Validity,

       gracePeriod   INTEGER,
       noTrustReset  BOOLEAN DEFAULT FALSE,
       votes         SEQUENCE OF INTEGER (SIZE (1..255)),

       votingQuorum  INTEGER (1..255),

       coreASes           SEQUENCE OF ASN,
       authoritativeASes  SEQUENCE OF ASN,
       description        UTF8String (SIZE (0..1024)),

       certificates       SEQUENCE OF Certificate }

   TRCFormatVersion  ::=  INTEGER { v1(0) }

   TRCID  ::=  SEQUENCE {
       iSD           ISD,
       serialNumber  INTEGER (1..MAX),
       baseNumber    INTEGER (1..MAX) }

   ISD  ::=  INTEGER (1..65535)

   Validity  ::=  SEQUENCE {
       notBefore  Time,
       notAfter   Time }

   ASN  ::=  INTEGER (1..281474976710655)
]]></artwork>
            <t>The <tt>TRCPayload</tt> sequence contains the identifying information of a TRC as well as policy information for TRC updates. Furthermore, it defines the list of certificates that build the trust anchor of the ISD.</t>
            <t>For signature calculation, the data that is to be signed is encoded using ASN.1 distinguished encoding rules (DER) <eref target="https://handle.itu.int/11.1002/1000/14472">X.690</eref>. For more details, see <xref target="signed-format"/>.</t>
          </section>
          <section anchor="trc-fields">
            <name> TRC Fields</name>
            <t>This section describes the syntax and semantics of all TRC payload fields.</t>
            <section anchor="version-field">
              <name> <tt>version</tt> Field</name>
              <t>The <tt>version</tt> field describes the version of the TRC format specification.</t>
              <t>Currently, the version <bcp14>MUST</bcp14> always be "v1".</t>
            </section>
            <section anchor="id">
              <name> <tt>iD</tt> Field</name>
              <t>The <tt>iD</tt> field specifies the unique identifier of the TRC.</t>
              <t>The identifier is a unique sequence of</t>
              <ul spacing="normal">
                <li>ISD number (<tt>iSD</tt> attribute),</li>
                <li>base number (<tt>baseNumber</tt> attribute), and</li>
                <li>TRC serial number (<tt>serialNumber</tt> attribute).</li>
              </ul>
              <t>All numbers <bcp14>MUST</bcp14> be positive integers.</t>
              <ul spacing="normal">
                <li>The <strong>ISD number</strong> <bcp14>MUST</bcp14> be an integer in the inclusive range from 64 to 4094 (i.e., the numbering range for public ISDs, see <xref target="input"/>).</li>
                <li>The <strong>base number</strong> indicates the starting point of the current TRC update chain. This starting point is either the ISD's initial TRC or the currently valid base TRC, if the valid base TRC differs from the initial TRC. The latter <bcp14>MUST</bcp14> be the case after a trust reset.</li>
                <li>The <strong>serial number</strong> represents the current update cycle, counting from the initial TRC of a specific ISD.</li>
              </ul>
              <t>A TRC where the base number is equal to the serial number is a base TRC. The initial TRC is a special case of a base TRC. An ISD's initial TRC <bcp14>MUST</bcp14> have a serial number of 1 and a base number of 1. With every TRC update, the serial number <bcp14>MUST</bcp14> be incremented by one. This facilitates uniquely identifying the predecessor and successor TRC in a TRC update chain.</t>
              <t>If a trust reset is necessary, a new base TRC is announced, in order to start a new and clean TRC update chain. The base number of this new TRC update chain <bcp14>SHOULD</bcp14> be the number following the serial number of the latest TRC that was produced by a non-compromised TRC update for this ISD.</t>
              <t><strong>Example</strong><br/>
The following simple example illustrates how to specify the ID of the TRCs in an TRC update chain for <em>ISD 74</em>. The IDs are given in a human-readable notation, where Bxx is the base number, and Sxx the serial number.</t>
              <table anchor="_table-7">
                <name>ID of TRCs in TRC update chain</name>
                <thead>
                  <tr>
                    <th align="left">Update</th>
                    <th align="left">TRC ID</th>
                    <th align="left">Remarks</th>
                  </tr>
                </thead>
                <tbody>
                  <tr>
                    <td align="left">Initial</td>
                    <td align="left">ISD74-B01-S01</td>
                    <td align="left"> </td>
                  </tr>
                  <tr>
                    <td align="left">Regular</td>
                    <td align="left">ISD74-B01-S02</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Regular</td>
                    <td align="left">ISD74-B01-S03</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Sensitive</td>
                    <td align="left">ISD74-B01-S04</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Trust reset</td>
                    <td align="left">ISD74-<strong>B05</strong>-S05</td>
                    <td align="left">A trust reset includes the creation of a new base TRC. The new base number follows the serial number "04" of the latest TRC resulting from a non-compromised TRC update for this ISD.</td>
                  </tr>
                  <tr>
                    <td align="left">Regular</td>
                    <td align="left">ISD74-B05-S06</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Regular</td>
                    <td align="left">ISD74-B05-S07</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">And so on</td>
                    <td align="left"> </td>
                    <td align="left"> </td>
                  </tr>
                </tbody>
              </table>
            </section>
            <section anchor="validity">
              <name> <tt>validity</tt> Field</name>
              <t>The <tt>validity</tt> field defines the validity period of the TRC. This is the period of time during which the TRC is in the "valid" state. The <tt>notBefore</tt> and <tt>notAfter</tt> attributes of the <tt>validity</tt> field specify the lower and upper bound of the time interval during which a TRC can be active.</t>
              <t><strong>Note:</strong> An active TRC is a valid TRC that can be used for verifying certificate signatures. The time period during which a TRC is active can be shorter than the time period during which the TRC is valid. For more information, see <xref target="trc-states"/>.</t>
              <t>The <tt>validity</tt> field consists of a sequence of two dates, as defined in section 7.2. of <eref target="https://handle.itu.int/11.1002/1000/13031">X.509</eref>.</t>
              <t>In addition to this standard definition, the following constraint applies to the <tt>validity</tt> field of the TRC used in SCION:</t>
              <ul spacing="normal">
                <li>All TRCs <bcp14>MUST</bcp14> have a well-defined expiration date. SCION implementations <bcp14>MUST NOT</bcp14> create TRCs that use the "99991231235959Z" generalized time value, and verifiers <bcp14>MUST</bcp14> error out when encountering such a TRC.</li>
              </ul>
            </section>
            <section anchor="grace">
              <name> <tt>gracePeriod</tt> Field</name>
              <t>The <tt>gracePeriod</tt> field of a TRC specifies the period of time during which the predecessor TRC can still be considered active (the "grace period"). The grace period starts at the beginning of the validity period of the new TRC.</t>
              <t>The validity period of the predecessor TRC ends when</t>
              <ul spacing="normal">
                <li>the grace period has passed,</li>
                <li>the predecessor's expiration time is reached, or</li>
                <li>the successor TRC of the new TRC has been announced.</li>
              </ul>
              <t><strong>Note:</strong> The event that happens first marks the end of the predecessor's validity period.</t>
              <t>The <tt>gracePeriod</tt> field defines the grace period as a number of seconds (positive integer).</t>
              <t>The value of the <tt>gracePeriod</tt> field in a base TRC <bcp14>MUST</bcp14> be zero. The value of the <tt>gracePeriod</tt> field in a non-base TRC <bcp14>SHOULD</bcp14> be non-zero. It should be long enough to provide sufficient overlap between the TRCs in order to facilitate interruption-free operations in the ISD. If the grace period is too short, some control-plane AS certificates might expire before the corresponding AS can fetch an updated version from its CA.</t>
            </section>
            <section anchor="notrustreset">
              <name> <tt>noTrustReset</tt> Boolean</name>
              <t>The <tt>noTrustReset</tt> Boolean specifies whether a trust reset is forbidden by the ISD. Within a TRC update chain, this value CANNOT be changed by a regular or sensitive update. However, it is possible to change the <tt>noTrustReset</tt> value in the event of a trust reset, where a new base TRC is created.</t>
              <t>The <tt>noTrustReset</tt> field is optional and defaults to FALSE.</t>
              <t><strong>Important:</strong> Note that once the <tt>noTrustReset</tt> Boolean is set to TRUE and a trust reset is disallowed, this cannot be reversed. Therefore, ISDs <bcp14>SHOULD</bcp14> always set this value to FALSE, unless they have sufficiently assessed the risks and implications of making a trust reset impossible.</t>
              <t><strong>Note:</strong> A trust reset represents a special use case where a new base TRC is created. It therefore differs from a TRC update (regular or sensitive), as the signatures in the new base TRC cannot be verified with the certificates contained in the predecessor TRC. Instead, a trust reset base TRC must be axiomatically trusted, similarly to how the initial TRC is trusted.</t>
            </section>
            <section anchor="votes">
              <name><tt>votes</tt> Field</name>
              <t>The <tt>votes</tt> field contains a sequence of indices that refer to the voting certificates in the predecessor TRC. If index i is part of the <tt>votes</tt> field, then the voting certificate at position i in the <tt>certificates</tt> sequence of the predecessor TRC casted a vote on the successor TRC. For more information on the <tt>certificates</tt> sequence, see <xref target="cert"/>.</t>
              <t><strong>Note:</strong> In a base TRC, the <tt>votes</tt> sequence is empty.</t>
              <t>Every entry in the <tt>votes</tt> sequence <bcp14>MUST</bcp14> be unique.<br/>
Further restrictions on votes are discussed in <xref target="update"/>.</t>
              <t><strong>Note:</strong> The <tt>votes</tt> sequence of indices is mandatory in order to prevent stripping voting signatures from the TRC. Absence of the <tt>votes</tt> sequence makes it possible to transform a TRC with more voting signatures than the voting quorum into multiple verifiable TRCs with the same payload, but different voting signature sets. This would violate the requirement of uniqueness of a TRC.</t>
            </section>
            <section anchor="quorum">
              <name> <tt>votingQuorum</tt> Field</name>
              <t>The <tt>votingQuorum</tt> field defines the number of necessary votes on a successor TRC to make it verifiable.</t>
              <t>A voting quorum greater than one will prevent a single entity from creating a malicious TRC update.</t>
            </section>
            <section anchor="core">
              <name> <tt>coreASes</tt> Field</name>
              <t>The <tt>coreASes</tt> field contains the AS numbers of the core ASes in this ISD.</t>
              <t>Each core AS number <bcp14>MUST</bcp14> be unique in the sequence of core AS numbers. That is, each AS number must appear only once in the <tt>coreASes</tt> field.</t>
              <section anchor="revoking-or-assigning-core-status">
                <name> Revoking or Assigning Core Status</name>
                <ul spacing="normal">
                  <li>To revoke the core status of a given AS, remove the respective AS number from the sequence of AS numbers in the <tt>coreASes</tt> field.</li>
                  <li>To assign the core status to a given AS, add the respective AS number to the sequence of AS numbers in the <tt>coreASes</tt> field.</li>
                </ul>
                <t><strong>Important:</strong> Revoking or assigning the core status of/to an AS always requires a (sensitive) TRC update.</t>
              </section>
            </section>
            <section anchor="auth">
              <name> <tt>authoritativeASes</tt> Field</name>
              <t>The <tt>authoritativeASes</tt> field contains the AS numbers of the authoritative ASes in this ISD.</t>
              <t>Authoritative ASes are those ASes in an ISD that always have the latest TRCs of the ISD. As a consequence, authoritative ASes also start the announcement of a TRC update.</t>
              <ul spacing="normal">
                <li>Every authoritative AS <bcp14>MUST</bcp14> be a core AS and be listed in the <tt>coreASes</tt> field.</li>
                <li>Each authoritative AS number <bcp14>MUST</bcp14> be unique in the sequence of authoritative AS numbers. That is, each AS number must appear only once in the <tt>authoritativeASes</tt> field.</li>
              </ul>
              <section anchor="revoking-or-assigning-authoritative-status">
                <name> Revoking or Assigning Authoritative Status</name>
                <ul spacing="normal">
                  <li>To revoke the authoritative status of a given AS, remove the respective AS number from the sequence of AS numbers in the <tt>authoritativeASes</tt> field.</li>
                  <li>To assign the authoritative status to a given AS, add the respective AS number to the sequence of AS numbers in the <tt>authoritativeASes</tt> field.</li>
                </ul>
                <t><strong>Important:</strong> Revoking or assigning the authoritative status of/to an AS always requires a (sensitive) TRC update.</t>
              </section>
            </section>
            <section anchor="description">
              <name> <tt>description</tt> Field</name>
              <t>The <tt>description</tt> field contains a UTF-8 encoded string that describes the ISD.</t>
              <ul spacing="normal">
                <li>The <tt>description</tt> field <bcp14>SHOULD NOT</bcp14> be empty.</li>
                <li>The description of the ISD <bcp14>MUST</bcp14> be in English. Additionally, the <tt>description</tt> field <bcp14>MAY</bcp14> contain information in other languages.</li>
              </ul>
            </section>
            <section anchor="cert">
              <name><tt>certificates</tt> Field</name>
              <t>The voting ASes and the certification authorities (CAs) of an ISD are not specified explicitly in the ISD's TRC. Instead, this information is defined by the list of voting and root certificates in the <tt>certificates</tt> field of the TRC payload.</t>
              <t>The <tt>certificates</tt> field is a sequence of self-signed X.509 certificates. Each certificate in the certificate sequence must be one of the following types:</t>
              <ul spacing="normal">
                <li>a sensitive voting certificate,</li>
                <li>a regular voting certificate, or</li>
                <li>a CP root certificate.</li>
              </ul>
              <t>A certificate that is no control-plane root or voting certificate <bcp14>MUST NOT</bcp14> be included in the sequence of certificates in the <tt>certificates</tt> field.</t>
              <t><strong>Note</strong>: A certificate's type (voting or root) is specified in the <tt>extKeyUsage</tt> extension of the certificate, by means of the SCION-specific attributes <tt>id-kp-regular</tt>, <tt>id-kp-sensitive</tt>, and <tt>id-kp-root</tt>, respectively. For more information, see <xref target="ext-key-usage-ext"/>.</t>
              <t>The following constraints <bcp14>MUST</bcp14> hold for each certificate in the <tt>certificates</tt> field of the TRC payload:</t>
              <ul spacing="normal">
                <li>Each certificate <bcp14>MUST</bcp14> be unique in the sequence of certificates. That is, each certificate must appear only once in the <tt>certificates</tt> field.</li>
                <li>The <tt>issuer</tt> / <tt>serialNumber</tt> pair for each certificate <bcp14>MUST</bcp14> be unique.</li>
                <li>If an ISD-AS number is present in the distinguished name of the certificate, this ISD number <bcp14>MUST</bcp14> be equal to the ISD number of the TRC (which is defined in the <tt>iD</tt> field (see <xref target="id"/>).</li>
                <li>Every certificate <bcp14>MUST</bcp14> have a validity period that fully contains the validity period of this TRC. That is, the <tt>notBefore</tt> date of this TRC's validity period <bcp14>MUST</bcp14> be equal to or later than the certificate's <tt>notBefore</tt> date, and the <tt>notAfter</tt> date of this TRC's validity period <bcp14>MUST</bcp14> be before or equal to the certificate's <tt>notAfter</tt> date.</li>
                <li>Per certificate type, every certificate distinguished name <bcp14>MUST</bcp14> be unique.</li>
              </ul>
              <t>The following must hold for the entire sequence of certificates in the <tt>certificates</tt> field:</t>
              <ul spacing="normal">
                <li>
                  <tt>votingQuorum</tt> &lt;= count (sensitive voting certificates) <br/>
That is, the quorum defined in the TRC's <tt>votingQuorum</tt> field (<xref target="quorum"/>) must be smaller than or equal to the number of <em>sensitive</em> voting certificates specified in the TRC's <tt>certificates</tt> field.</li>
                <li>
                  <tt>votingQuorum</tt> &lt;= count (regular voting certificates) <br/>
That is, the quorum defined in the TRC's <tt>votingQuorum</tt> field (<xref target="quorum"/>) must be smaller than or equal to the number of <em>regular</em> voting certificates specified in the TRC's <tt>certificates</tt> field.</li>
              </ul>
            </section>
          </section>
        </section>
        <section anchor="signed-format">
          <name> TRC Signature Syntax</name>
          <t>A TRC contains policy information about an ISD and acts as a distribution mechanism for the trust anchors of that ISD. Each TRC (payload) is digitally signed. The syntax used to sign and encapsulate the TRC payload is the Cryptographic Message Syntax (CMS), as defined in <xref target="RFC5652"/>. The signed TRC payload is of the CMS signed-data content type, as defined in Section 5 of <xref target="RFC5652"/>, and encapsulated in a CMS <tt>ContentInfo</tt> element, as defined in Section 3 of <xref target="RFC5652"/>. For detailed information on the general syntax definitions of the Cryptographic Message Syntax, see sections 3 and 5 of <xref target="RFC5652"/>.</t>
          <section anchor="scion-specific-rules">
            <name>SCION-specific rules</name>
            <t>SCION implementations have to fulfil the following additional rules, on top of the general syntax rules from <xref target="RFC5652"/>:</t>
            <ul spacing="normal">
              <li>
                <t><tt>EncapsulatedContentInfo</tt> sequence:
                </t>
                <ul spacing="normal">
                  <li>The <tt>eContentType</tt> field must be set to "id-data".</li>
                  <li>The content of the <tt>eContent</tt> field must be the DER-encoded TRC payload. This has the benefit that the format is backwards compatible with PKCS #7, as described in Section 5.2.1 of <xref target="RFC5652"/>.</li>
                </ul>
              </li>
              <li>
                <t><tt>SignedData</tt> sequence:
                </t>
                <ul spacing="normal">
                  <li>The <tt>certificates</tt> field <bcp14>MUST</bcp14> be left empty. The certificate pool used to verify a TRC update is already specified in the <tt>certificates</tt> field of the predecessor TRC's payload (see also <xref target="cert"/>).</li>
                  <li>The <tt>version</tt> field <bcp14>MUST</bcp14> be set to "1". This is because SCION uses the "id-data" content type to encapsulate content info, and does not specify any certificate in the <tt>SignedData</tt> sequence  (see also Section 5.1 of <xref target="RFC5652"/>).</li>
                </ul>
              </li>
              <li>
                <t><tt>SignerIdentifier</tt> choice:
                </t>
                <ul spacing="normal">
                  <li>The type of signer identifier chosen here <bcp14>MUST</bcp14> be <tt>IssuerAndSerialNumber</tt>.</li>
                </ul>
              </li>
              <li>
                <t><tt>SignerInfo</tt> sequence:
                </t>
                <ul spacing="normal">
                  <li>The <tt>version</tt> field <bcp14>MUST</bcp14> be set to "1". This is because SCION uses the <tt>IssuerAndSerialNumber</tt> type of signer identifier (see also Section 5.3 of <xref target="RFC5652"/>).</li>
                  <li>The algorithm specified in the <tt>signatureAlgorithm</tt> field <bcp14>MUST</bcp14> be one of the algorithms supported by SCION (for details, see <xref target="certsign">signature Field - Additional Information</xref>).</li>
                  <li>The <tt>digestAlgorithm</tt> is determined by the algorithm specified in the <tt>signatureAlgorithm</tt> field.</li>
                </ul>
              </li>
            </ul>
          </section>
          <section anchor="trc-equality">
            <name> TRC Equality</name>
            <t>The signer infos in the signed TRC are part of an unordered set, per <xref target="RFC5652"/>. This implies that the signer infos can be reordered without affecting verification. Certain operations, however, require TRCs to be equal, according to the following equality definition:</t>
            <t><strong>Two TRCs are equal, if and only if their payloads are byte equal.</strong></t>
            <t>Two TRCs with byte equal payloads can be considered as equal, because the TRC payload exactly defines which signatures must be attached in the signed TRC:</t>
            <ul spacing="normal">
              <li>The required signatures from voting certificates are explicitly mentioned in the <tt>votes</tt> field of the payload: If index "i" is part of the <tt>votes</tt> field, then the voting certificate at position i in the <tt>certificates</tt> sequence of the predecessor TRC casted a vote on the successor TRC. See also <xref target="votes"/>.</li>
              <li>The required signatures for new certificates are implied by the currently valid TRC payload, and, in case of a TRC update, the predecessor payload.</li>
            </ul>
          </section>
        </section>
        <section anchor="control-plane-certification-path">
          <name> Control-Plane Certification Path</name>
          <t>The certification path of a control-plane AS certificate starts in a control-plane root certificate. The control-plane root certificates for a given ISD are distributed via the TRC.</t>
          <t>To be able to validate the certification path, the relying party must build a trust anchor pool, which consists of a set of control-plane root certificates from the available TRCs. Based on this pool, the relying party can select candidate certification paths and verify them.</t>
          <section anchor="trc-selection">
            <name> Trust Anchor Pool - TRC Selection</name>
            <t>The selection of the right set of TRCs to build the trust anchor pool depends on the time of verification. The trust anchor pool is usually used to verify control-plane messages. In this case, the time of verification is the current time. However, if the trust anchor pool will be used for auditing, the time of verification is the point in time for which you want to check whether a given signature was verifiable.</t>
            <t>The selection algorithm for building the trust anchor pool is described in pseudo-python code below.</t>
            <sourcecode type="python"><![CDATA[
    def select_trust_anchors(trcs: Dict[(int,int), TRC], verification_time: int) -> Set[RootCert]:
        """
        Args:
            trcs: The dictionary mapping (serial number, base number) to the TRC for a given ISD.
            verification_time: The time of verification.

        Returns:
            The set of CP Root certificates that act as trust anchors.
        """
        # Find highest base number that has a TRC with a validity period
        # starting before verification time.
        base_nr = 1
        for trc in trcs.values():
            if trc.id.base_nr > base_nr and trc.validity.not_before <= verification_time:
                base_nr = trc.id.base_nr

        # Find TRC with highest serial number with the given base number and a
        # validity period starting before verification time.
        serial_nr = 1
        for trc in trcs[isd].values():
            if trc.id.base_nr != base_nr:
                continue
            if trc.id.serial_nr > serial_nr and trc.validity.not_before <= verification_time:
                serial_nr = trc.id.serial_nr

        candidate = trcs[(serial_nr, base_nr)]

        # If the verification time is not inside the validity period,
        # there is no valid set of trust anchors.
        if not candidate.validity.contains(verification_time):
            return set()

        # If the grace period has passed, only the certificates in that TRCs
        # may be used as trust anchors.
        if candidate.validity.not_before + candidate.grace_period < verification_time:
            return collect_trust_anchors(candidate)

        predecessor = trcs.get((serial_nr-1, base_nr))
        if not predecessor or predecessor.validity.not_after < verification_time:
            return collect_trust_anchors(candidate)

        return collect_trust_anchors(candidate) | collect_trust_anchors(predecessor)


    def collect_trust_anchors(trc: TRC) -> Set[RootCert]:
        """
        Args:
            trc: A TRC from which the CP Root Certificates shall be extracted.

        Returns:
            The set of CP Root certificates that act as trust anchors.
        """
        roots = set()
        for cert in trc.certificates:
            if not cert.basic_constraints.ca:
                continue
            roots.add(cert)
        return roots
]]></sourcecode>
          </section>
        </section>
        <section anchor="update">
          <name> TRC Updates</name>
          <t>All non-base TRCs of an ISD are updates of the ISD's base TRC(s). The TRC update chain consists of regular and sensitive TRC updates. Based on the type of update, a different set of voters is necessary to create a verifiable TRC update. The type of update also determines the (payload) information that changes in the updated TRC. This section describes the rules that apply to updating a TRC in regard to the payload information contained in the TRC. Some rules are valid for both update types, some only apply to a regular or a sensitive TRC update, respectively.</t>
          <section anchor="change-new">
            <name> Changed or New Certificates</name>
            <t>In the context of a TRC update,</t>
            <ul spacing="normal">
              <li>A certificate is <em>changing</em>, if the certificate is part of the <tt>certificates</tt> sequence in the predecessor TRC, but no longer part of the <tt>certificates</tt> sequence in the updated TRC. Instead, the <tt>certificates</tt> sequence of the updated TRC holds another certificate of the <em>same type</em> and with the <em>same distinguished name</em>.</li>
              <li>A certificate is <em>new</em>, if there is <strong>no</strong> certificate of the same type and distinguished name at all in the <tt>certificates</tt> sequence of the predecessor TRC.</li>
            </ul>
            <t><strong>Note:</strong> Every new sensitive or regular voting certificate in a TRC attaches a signature to the TRC. This is done to ensure that the freshly included voting entity agrees with the contents of the TRC it is now part of.</t>
          </section>
          <section anchor="update-rules-overview">
            <name> Update Rules - Overview</name>
            <t>The following table gives an overview of the types of TRC update as well as the rules that must apply in regard to the updated TRC's payload information.<br/>
The sections that follow provide more detailed descriptions of each rule.</t>
            <table anchor="_table-8">
              <name>Overview of the update types and corresponding rules</name>
              <thead>
                <tr>
                  <th align="left">Type of Update</th>
                  <th align="left">Payload Updated TRC - Unchanged Elements</th>
                  <th align="left">Payload Updated TRC - Required Changes</th>
                  <th align="left">Payload Updated TRC: Other Rules to Hold</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">Both Regular AND Sensitive Updates</td>
                  <td align="left">- <tt>iD</tt> field: <tt>iSD</tt> and <tt>baseNumber</tt> <br/> - <tt>noTrustReset</tt> field</td>
                  <td align="left">
                    <tt>iD</tt> field: <tt>serialNumber</tt> <bcp14>MUST</bcp14> be incremented by 1</td>
                  <td align="left">
                    <tt>votes</tt> field: Number of votes (indices) =&gt; number set in the <tt>votingQuorum</tt> field of the predecessor TRC</td>
                </tr>
                <tr>
                  <td align="left">Regular TRC Update</td>
                  <td align="left">- Quorum in the <tt>votingQuorum</tt> field<br/>- Core ASes in the <tt>coreASes</tt> field<br/>- ASes in the <tt>authoritativeASes</tt> field<br/>- Nr. and distinguished names of root &amp; voting certificates in the <tt>certificates</tt> field<br/>- Set of sensitive voting certificates in the <tt>certificates</tt> field</td>
                  <td align="left"> </td>
                  <td align="left">
                    <tt>votes</tt> field:<br/> - All votes must only refer to <em>regular</em> voting certificates in the predecessor TRC<br/>- Must include votes of each changed regular voting certificate from the predecessor TRC<br/> <tt>signatures</tt> field:<br/> - Must include signatures of each changed root certificate from the predecessor TRC</td>
                </tr>
                <tr>
                  <td align="left">Sensitive TRC Update</td>
                  <td align="left">If the update does not qualify as a regular update, it is a sensitive update</td>
                  <td align="left"> </td>
                  <td align="left">
                    <tt>votes</tt> field: <br/> - All votes must only refer to <em>sensitive</em> voting certificates in the predecessor TRC</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="general-update-rules">
            <name> General Update Rules</name>
            <t>The following rules <bcp14>MUST</bcp14> hold for each updated TRC, independent of the update type:</t>
            <ul spacing="normal">
              <li>The <tt>iSD</tt> and <tt>baseNumber</tt> in the <tt>iD</tt> field <bcp14>MUST NOT</bcp14> change (see also <xref target="id"/>).</li>
              <li>The <tt>serialNumber</tt> in the <tt>iD</tt> field <bcp14>MUST</bcp14> be incremented by one.</li>
              <li>The <tt>noTrustReset</tt> field <bcp14>MUST NOT</bcp14> change (see also <xref target="notrustreset"/>).</li>
              <li>The <tt>votes</tt> sequence of the updated TRC <bcp14>MUST</bcp14> only contain indices that refer to sensitive or regular voting certificates in the predecessor TRC. This guarantees that the updated TRC only contains valid votes authenticated by sensitive or regular voting certificates in the predecessor TRC. For more information, see <xref target="votes"/> and <xref target="cert"/>.</li>
              <li>The number of votes in the updated TRC <bcp14>MUST</bcp14> be greater than or equal to the number set in the <tt>votingQuorum</tt> field of the predecessor TRC (see <xref target="quorum"/>). The number of votes corresponds to the number of indices in the <tt>votes</tt> field of the updated TRC.</li>
            </ul>
          </section>
          <section anchor="regular-trc-update">
            <name> Regular TRC Update</name>
            <t>A regular TRC update is a periodic re-issuance of the TRC where the entities and policies listed in the TRC remain unchanged.</t>
            <t>A TRC update qualifies as a regular update, if the following rules apply in regard to the TRC's payload information.</t>
            <ul spacing="normal">
              <li>
                <t>The settings of the following fields in the updated TRC <bcp14>MUST</bcp14> remain the same compared to the predecessor TRC:
                </t>
                <ul spacing="normal">
                  <li>The voting quorum set in the <tt>votingQuorum</tt> field.</li>
                  <li>The core ASes specified in the <tt>coreASes</tt> field.</li>
                  <li>The authoritative ASes specified in the <tt>authoritativeASes</tt> field.</li>
                  <li>The number of sensitive and regular voting certificates as well as CP root certificates included in the <tt>certificates</tt> field, and their distinguished names.</li>
                  <li>The set of sensitive voting certificates specified in the <tt>certificates</tt> field.</li>
                </ul>
              </li>
              <li>For every regular voting certificate that changes, the regular voting certificate in the predecessor TRC is part of the voters on the updated TRC. That is, for each changed regular voting certificate, an index in the <tt>votes</tt> field of the updated TRC <bcp14>MUST</bcp14> refer to the changed regular voting certificate in the predecessor TRC.</li>
              <li>For every CP root certificate that changes, the updated TRC <bcp14>MUST</bcp14> include a signature created with the private key belonging to the changed CP root certificate (which is part of the predecessor TRC).</li>
              <li>In order for a regular TRC update to be verifiable, all votes <bcp14>MUST</bcp14> be cast by <em>regular</em> voting certificates. That is, each index in the <tt>votes</tt> field of the regularly updated TRC <bcp14>MUST</bcp14> refer to a <em>regular</em> voting certificate in the <tt>certificates</tt> field of the predecessor TRC.</li>
            </ul>
          </section>
          <section anchor="sensitive-trc-update">
            <name> Sensitive TRC Update</name>
            <t>If a TRC update does not qualify as a regular update, it is considered a sensitive update.</t>
            <ul spacing="normal">
              <li>In order for a sensitive update to be verifiable, all votes <bcp14>MUST</bcp14> be cast by <em>sensitive</em> voting certificates. That is, each index in the <tt>votes</tt> field of the sensitively updated TRC <bcp14>MUST</bcp14> refer to a <em>sensitive</em> voting certificate in the <tt>certificates</tt> field of the predecessor TRC.</li>
            </ul>
          </section>
          <section anchor="trc-update-verification">
            <name> TRC Update Verification</name>
            <t>To verify a TRC update, the relying party must perform the following checks:</t>
            <ul spacing="normal">
              <li>Check that the specified update rules as described above are respected.</li>
              <li>
                <t>Check whether the update is regular or sensitive.
                </t>
                <ul spacing="normal">
                  <li>
                    <t>In case of a regular update,
                    </t>
                    <ul spacing="normal">
                      <li>check that the signatures for the changing certificates are present and verifiable, and</li>
                      <li>check that all votes are cast by a regular voting certificate.</li>
                    </ul>
                  </li>
                  <li>In case of a sensitive update, check that all votes are cast by a sensitive voting certificate.</li>
                </ul>
              </li>
              <li>In both cases, check that all signatures are verifiable, and no superfluous signatures are attached.</li>
            </ul>
            <t>If one or more of the above checks gives a negative result, the updated TRC should be rejected.</t>
          </section>
        </section>
      </section>
      <section anchor="trc-ceremony">
        <name> TRC Signing Ceremony</name>
        <t>The very first base TRC of an ISD, called the initial TRC, is a special case of the base TRC where the number of the ISD is chosen. The initial TRC must be signed during a signing ceremony--all voting representatives of the initial TRC need to take part in this signing ceremony to sign the agreed-upon TRC. As part of the ceremony, the public keys of all voters are exchanged. The TRC is then distributed throughout the ISD. All entities within an ISD can initially obtain an authentic TRC, by means of a secure off- or online mechanism.</t>
        <t><xref target="initial-ceremony"/> describes a possible procedure for the signing ceremony of an ISD's initial TRC. It is in principle up to the initial members of an ISD how to shape the signing ceremony. However, it is recommended having a process in line with the ceremony described in the Appendix.</t>
        <section anchor="non-base-trc-updates">
          <name> Non-Base TRC Updates</name>
          <t>A non-base TRC is the result of a TRC update, either regular or sensitive. Only a predefined quorum of voters needs to partake in a non-base TRC signing ceremony. This is defined in the <tt>votingQuorum</tt> field of the predecessor TRC (see <xref target="quorum"/>). Depending on the kind of update, these voters represent regular or sensitive voting certificates, respectively. Furthermore, if one or more <em>new</em> certificates are added to the updated TRC, the corresponding voting representatives must also join the signing ceremony. For the distinction between changed and new certificates in a TRC update, see <xref target="change-new"/>.</t>
          <t>During the signing ceremony of an updated TRC, it may be necessary to cast votes with both old and new keys: Voters representing regular or sensitive voting certificates already present in the predecessor TRC must cast their votes on the payload file of the updated TRC; the purpose of signing a TRC with keys contained in the previous TRC is to certify the update. Furthermore, if previously non-included voting certificates are added to the TRC, the corresponding voting representatives must show that they have access to the private keys listed in these fresh certificates. This is called "showing proof-of-possession", and done by signing the TRC with the respective private key.</t>
          <t>The ISD members decide themselves about the updating procedure. Some ISDs will make a distinction between regular and sensitive updates. These ISDs divide the regular and sensitive signing keys in different security classes and act accordingly. For example, they keep the regular key in an online vault while the sensitive key would be stored offline in cold storage. This way, the regular TRC update would lend itself to being automated (since the keys are accessible online) whereas the sensitive one would require manual actions to access the offline key. Other ISDs, however, keep both regular and sensitive keys online and perform both updates automatically.</t>
        </section>
      </section>
    </section>
    <section anchor="deploy-cp-pki">
      <name>Deploying the CP PKI - Specifications</name>
      <t>This section provides several specifications regarding the deployment of the control-plane PKI.</t>
      <section anchor="deploying-a-trc">
        <name>Deploying a TRC</name>
        <section anchor="base-trc">
          <name> Base TRC</name>
          <t>Base TRCs are trust anchors and thus axiomatically trusted. All ASes within an ISD must be pre-loaded with the currently valid base-version TRC of their own ISD. For all specifications regarding the creation and distribution of initial/base TRCs, see <xref target="trc-ceremony"/>.</t>
        </section>
        <section anchor="trc-update">
          <name> TRC Update</name>
          <t>All non-base TRCs of an ISD are updates of the ISD's base TRC(s). The TRC update chain consists of regular and sensitive TRC updates. The specifications and rules that apply to updating a TRC are described in <xref target="update"/>.</t>
          <section anchor="trc-update-discovery">
            <name> TRC Update Discovery</name>
            <t>Relying parties <bcp14>MUST</bcp14> have at least one valid TRC available. Relying parties <bcp14>MUST</bcp14> discover TRC updates within the grace period defined in the updated TRC. They <bcp14>SHOULD</bcp14> discover TRC updates in a matter of minutes to hours. Additionally, the following requirement must be satisfied:</t>
            <t><strong>Requirement</strong><br/>
Any entity sending information that is secured by the CP-PKI <bcp14>MUST</bcp14> be able to provide all the necessary trust material to verify said information.</t>
            <t>SCION provides the following mechanisms for discovering TRC updates and fulfilling the above requirement:</t>
            <ul spacing="normal">
              <li>
                <em>Beaconing Process</em><br/>
The TRC version is announced in the beaconing process. Each AS must announce what it considers to be the latest TRC. Furthermore, each AS must include the hash value of the TRC contents to facilitate the discovery of discrepancies. Therefore, relying parties that are part of the beaconing process discover TRC updates passively. That is, the beacon service in a core AS notices TRC updates for remote ISDs that are on the beaconing path. The beacon service in a non-core AS only notices TRC updates for the local ISD through the beaconing process. The creation of a new TRC should trigger the generation of new control-plane messages, as the propagation of control-plane messages will help other ASes rapidly discover the new TRC.</li>
              <li>
                <em>Path Lookup</em><br/>
In every path segment, all ASes must reference the latest TRC of their ISD. Therefore, when resolving paths, every relying party will notice TRC updates, even remote ones.<br/>
                <strong>Note:</strong> The above mechanism only works when there is an active communication between the relying party and the ISD in question.</li>
            </ul>
          </section>
        </section>
      </section>
      <section anchor="signing-verifying-cp-messages">
        <name> Signing and Verifying Control-Plane Messages</name>
        <t>SCION requires that control-plane messages are signed. The main purpose of the SCION control-plane PKI is providing a mechanism to distribute and authenticate public keys that are used to verify control-plane messages and information. For example, each hop information in a path segment is signed by the respective AS. Consequently, all relying parties must be able to verify signatures with the help of the CP-PKI.</t>
        <t>The following sections specify the requirements that apply to the signing and verification of control-plane messages.</t>
        <section anchor="signing-a-control-plane-message">
          <name> Signing a Control-Plane Message</name>
          <t>An AS signs control-plane messages with the private key that corresponds to the (valid) AS' certificate.</t>
          <t>The AS <bcp14>MUST</bcp14> attach the following information as signature metadata. It is the minimum information a relying party requires to identify which certificate to use to verify the signed message.</t>
          <ul spacing="normal">
            <li>ISD-AS number: The ISD-AS number of the signing entity. For specification details, see <xref target="isd-as-nr"/>.</li>
            <li>Subject key identifier: The identifier of the public key that must be used to verify the message. For specification details, see <xref target="subject-key-id-ext"/>.</li>
          </ul>
          <t>Additionally, the signer <bcp14>SHOULD</bcp14> include the following information:</t>
          <ul spacing="normal">
            <li>Serial and base number of the latest TRC: Including this information allows relying parties to discover TRC updates and trust resets. For specification details, see <xref target="id"/>.</li>
            <li>Timestamp: For many messages, the time at which it was signed is useful information to ensure freshness.</li>
          </ul>
        </section>
        <section anchor="verifying-a-control-plane-message">
          <name> Verifying a Control-Plane Message</name>
          <t>When the relying party receives a control-plane message they want to verify, the relying party first needs to identify the certificate needed to validate the corresponding signature on the message.</t>
          <t>AS certificates are bundled together with the corresponding signing CA certificate into certificate chains. For efficiency, SCION distributes these certificate chains separately from the signed messages. A certificate chain is verified against the CP root certificate. However, the root certificate is <strong>not</strong> bundled in the chain, but with the TRC. This makes it possible to extend the validity period of the root certificate, and to update the corresponding TRC, without having to modify the certificate chain.</t>
          <t>To verify a control-plane message, the relying party must perform the following steps:</t>
          <ol spacing="normal" type="1"><li>Build a collection of root certificates from the latest TRC of the relevant ISD (that is, the ISD referenced in the signature metadata of the message). If the grace period (see <xref target="grace"/>) introduced by the latest TRC is still on-going, the root certificates in the second-to-latest TRC must also be included. For a description on how to build the correct collection of certificates, see <xref target="trc-selection"/>.</li>
            <li>If the signature metadata of the message contains the serial and base number of the latest TRC, the relying party must check that they have this latest TRC. If not, the relying party must request the latest TRC.</li>
            <li>
              <t>After constructing the pool of root certificates, the relying party must select the certificate chain used to verify the message. The AS certificate included in this certificate chain <bcp14>MUST</bcp14> have the following properties:
              </t>
              <ul spacing="normal">
                <li>The ISD-AS number in the subject of the AS certificate <bcp14>MUST</bcp14> match the ISD-AS number in the signature metadata. See also <xref target="isd-as-nr"/>.</li>
                <li>The subject key identifier of the AS certificate <bcp14>MUST</bcp14> match the subject key identifier in the signature metadata. See also <xref target="subject-key-id-ext"/>.</li>
                <li>The AS certificate <bcp14>MUST</bcp14> be valid at verification time. Normally, this will be the current time. In special cases, e.g., auditing, the time can be set to the past to check if the message was verifiable at the given time.</li>
              </ul>
            </li>
            <li>
              <t>After selecting a certificate chain to verify the control-plane messages, the relying party must verify the certificate chain, by:
              </t>
              <ul spacing="normal">
                <li>Executing the regular X.509 verification procedure. For details, see <eref target="https://handle.itu.int/11.1002/1000/13031">X.509</eref>.</li>
                <li>
                  <t>Checking that
                  </t>
                  <ul spacing="normal">
                    <li>all subjects of the certificates in the chain carry the same ISD number (see also <xref target="isd-as-nr"/>,</li>
                    <li>each certificate is of the correct type (see also <xref target="overview"/>), and</li>
                    <li>the CA certificate validity period covers the AS certificate validity period.</li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>If the verification of the certificate chain was successful, the relying party can now verify the control-plane messages, with the root certificates from the certificate chain.</li>
          </ol>
          <t>If any cryptographic material is missing in the process, the relying party queries the originator of the message for the missing material. If it cannot be resolved, the verification process fails.</t>
          <t><strong>Important:</strong> An implication of the above procedure is that path segments should be verifiable at time of use. It is not enough to rely on path segments being verified on insert, since TRC updates that change the root key can invalidate a certificate chain.</t>
        </section>
      </section>
      <section anchor="creating-a-new-control-plane-as-certificate">
        <name>Creating a New Control-Plane AS Certificate</name>
        <t>The steps required to create a new AS certificate are the following:</t>
        <ol spacing="normal" type="1"><li>The AS creates a new key pair and a certificate signing request (CSR) using that key pair.</li>
          <li>The AS sends the certificate signing request to the relevant CA within the ISD.</li>
          <li>The CA uses its CA key and the CSR to create the new AS certificate.</li>
          <li>The CA sends the AS certificate back to the AS.</li>
        </ol>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The entire document is about security considerations.
More details will follow in future versions of this draft.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>The PKI requires a root SCION object identifier (OID), as discussed in <xref target="isd-as-nr"/>. The SCION open source implementation currently uses the Anapaya IANA Private Enterprise Number (55324) within the root SCION object identifier (OID). Future iterations of this draft will discuss whether this or another PEN should be used and comprise more detailed IANA considerations.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="W. Polk" initials="W." surname="Polk">
              <organization/>
            </author>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5398">
          <front>
            <title>Autonomous System (AS) Number Reservation for Documentation Use</title>
            <author fullname="G. Huston" initials="G." surname="Huston">
              <organization/>
            </author>
            <date month="December" year="2008"/>
            <abstract>
              <t>To reduce the likelihood of conflict and confusion when relating documented examples to deployed systems, two blocks of Autonomous System numbers (ASNs) are reserved for use in examples in RFCs, books, documentation, and the like.  This document describes the reservation of two blocks of ASNs as reserved numbers for use in documentation.  This memo provides information for the Internet  community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5398"/>
          <seriesInfo name="DOI" value="10.17487/RFC5398"/>
        </reference>
        <reference anchor="RFC5480">
          <front>
            <title>Elliptic Curve Cryptography Subject Public Key Information</title>
            <author fullname="S. Turner" initials="S." surname="Turner">
              <organization/>
            </author>
            <author fullname="D. Brown" initials="D." surname="Brown">
              <organization/>
            </author>
            <author fullname="K. Yiu" initials="K." surname="Yiu">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="T. Polk" initials="T." surname="Polk">
              <organization/>
            </author>
            <date month="March" year="2009"/>
            <abstract>
              <t>This document specifies the syntax and semantics for the Subject Public Key Information field in certificates that support Elliptic Curve Cryptography.  This document updates Sections 2.3.5 and 5, and the ASN.1 module of "Algorithms and Identifiers for the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile", RFC 3279.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5480"/>
          <seriesInfo name="DOI" value="10.17487/RFC5480"/>
        </reference>
        <reference anchor="RFC5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS).  This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="70"/>
          <seriesInfo name="RFC" value="5652"/>
          <seriesInfo name="DOI" value="10.17487/RFC5652"/>
        </reference>
        <reference anchor="RFC5758">
          <front>
            <title>Internet X.509 Public Key Infrastructure: Additional Algorithms and Identifiers for DSA and ECDSA</title>
            <author fullname="Q. Dang" initials="Q." surname="Dang">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="K. Moriarty" initials="K." surname="Moriarty">
              <organization/>
            </author>
            <author fullname="D. Brown" initials="D." surname="Brown">
              <organization/>
            </author>
            <author fullname="T. Polk" initials="T." surname="Polk">
              <organization/>
            </author>
            <date month="January" year="2010"/>
            <abstract>
              <t>This document updates RFC 3279 to specify algorithm identifiers and ASN.1 encoding rules for the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA) digital signatures when using SHA-224, SHA-256, SHA-384, or SHA-512 as the hashing algorithm.  This specification applies to the Internet X.509 Public Key infrastructure (PKI) when digital signatures are used to sign certificates and certificate revocation lists (CRLs).  This document also identifies all four SHA2 hash algorithms for use in the Internet X.509 PKI.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5758"/>
          <seriesInfo name="DOI" value="10.17487/RFC5758"/>
        </reference>
        <reference anchor="RFC6996">
          <front>
            <title>Autonomous System (AS) Reservation for Private Use</title>
            <author fullname="J. Mitchell" initials="J." surname="Mitchell">
              <organization/>
            </author>
            <date month="July" year="2013"/>
            <abstract>
              <t>This document describes the reservation of Autonomous System Numbers (ASNs) that are for Private Use only, known as Private Use ASNs, and provides operational guidance on their use.  This document enlarges the total space available for Private Use ASNs by documenting the reservation of a second, larger range and updates RFC 1930 by replacing Section 10 of that document.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="6"/>
          <seriesInfo name="RFC" value="6996"/>
          <seriesInfo name="DOI" value="10.17487/RFC6996"/>
        </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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="BARRERA17">
          <front>
            <title>The SCION internet architecture</title>
            <author fullname="David Barrera" initials="D." surname="Barrera">
              <organization>ETH Zürich in Switzerland</organization>
            </author>
            <author fullname="Laurent Chuat" initials="L." surname="Chuat">
              <organization>ETH Zürich in Switzerland</organization>
            </author>
            <author fullname="Adrian Perrig" initials="A." surname="Perrig">
              <organization>ETH Zürich in Switzerland</organization>
            </author>
            <author fullname="Raphael M. Reischuk" initials="R." surname="Reischuk">
              <organization>ETH Zürich in Switzerland</organization>
            </author>
            <author fullname="Pawel Szalachowski" initials="P." surname="Szalachowski">
              <organization>ETH Zürich in Switzerland</organization>
            </author>
            <date month="May" year="2017"/>
          </front>
          <seriesInfo name="Communications of the ACM" value="vol. 60, no. 6, pp. 56-65"/>
          <seriesInfo name="DOI" value="10.1145/3085591"/>
        </reference>
        <reference anchor="CHUAT22" target="https://doi.org/10.1007/978-3-031-05288-0">
          <front>
            <title>The Complete Guide to SCION</title>
            <author initials="L." surname="Chuat" fullname="Laurent Chuat">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="M." surname="Legner" fullname="Markus Legner">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="D." surname="Basin" fullname="David Basin">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="D." surname="Hausheer" fullname="David Hausheer">
              <organization>Otto von Guericke University Magdeburg</organization>
            </author>
            <author initials="S." surname="Hitz" fullname="Samuel Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <author initials="P." surname="Mueller" fullname="Peter Mueller">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="A." surname="Perrig" fullname="Adrian Perrig">
              <organization>ETH Zuerich</organization>
            </author>
            <date year="2022"/>
          </front>
          <seriesInfo name="ISBN" value="978-3-031-05287-3"/>
        </reference>
        <reference anchor="I-D.scion-overview" target="https://datatracker.ietf.org/doc/draft-dekater-panrg-scion-overview/">
          <front>
            <title>SCION Overview</title>
            <author initials="C." surname="de Kater" fullname="Corine de Kater">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="N." surname="Rustignoli" fullname="Nicola Rustignoli">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="A." surname="Perrig" fullname="Adrian Perrig">
              <organization>ETH Zuerich</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
        <reference anchor="I-D.scion-components" target="https://datatracker.ietf.org/doc/draft-rustignoli-panrg-scion-components/">
          <front>
            <title>SCION Components Analysis</title>
            <author initials="N." surname="Rustignoli" fullname="Nicola Rustignoli">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="C." surname="de Kater" fullname="Corine de Kater">
              <organization>ETH Zuerich</organization>
            </author>
            <date year="2022"/>
          </front>
        </reference>
      </references>
    </references>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks go to Samuel Hitz (Anapaya), Fritz Steinmann (SIX Group AG), Juan A. Garcia Prado (ETH Zurich) and Russ Housley (IETF) for reviewing this document. We are also very grateful to Adrian Perrig (ETH Zurich), for providing guidance and feedback about each aspect of SCION. Finally, we are indebted to the SCION development teams of Anapaya and ETH Zurich, for their practical knowledge and for the documentation about the CP PKI, as well as to the authors of <xref target="CHUAT22"/> - the book is an important source of input and inspiration for this draft.</t>
    </section>
    <section numbered="false" anchor="initial-ceremony">
      <name>Appendix A. Signing Ceremony Base TRC</name>
      <t>The following sections describe a possible signing ceremony for the first (initial) base TRC of an ISD. Although each ISD is free to decide how to shape this signing ceremony, it is recommended establishing a procedure similar to the one below.</t>
      <section numbered="false" anchor="ceremony-participants">
        <name> Ceremony Participants</name>
        <t>A signing ceremony includes participants from member organizations of the respective Isolation Domain.
The participants of the signing ceremony fulfill different roles:</t>
        <ul spacing="normal">
          <li>The <strong>ceremony administrator</strong> is in charge of moderating the signing process. He/she guides all participants through the steps they need to take. The ceremony administrator may also act as an intermediary between participants when they share information with each other.</li>
          <li>A <strong>voting AS representative</strong> is capable of creating voting signatures on the TRC. This means the voting representative is in possession of a device with the private keys of the respective certificates in the TRC.</li>
          <li>A <strong>witness</strong> is any person that participates in the ceremony as a passive entity. The witness has no active role in any of the steps of the ceremony, but can stop the process and inquire for more information if they feel the integrity of the process might have been compromised.</li>
        </ul>
        <t><strong>Note:</strong> It is assumed that the member organizations of the ISD have decided in advance, before the signing ceremony, on the roles of the ceremony participants. That is, they have reached agreement about the Certificate Authority (CA) ASes (that will also issue the root certificates), the voting ASes, the representatives of the voting ASes, the ceremony administrator and the witnesses.</t>
        <t><strong>Note:</strong> For the signing ceremony, it is assumed that all parties are trustworthy. Issues encountered during the ceremony are assumed to be caused by honest mistakes, and not by malicious intent. Hash comparison checks are included to counter mistakes, such that every participant is sure that they operate on the same data. Furthermore, the private keys of each participant never leave their machine. The ceremony administrator does not have to be entrusted with private keys.</t>
      </section>
      <section numbered="false" anchor="ceremony-preparations">
        <name>Ceremony Preparations</name>
        <t>Prior to the ceremony, participants decide on the physical location of the ceremony, the devices that will be used during the ceremony and the policy of the ISD. Specifically, the voting entities agree on the following parameters:</t>
        <ul spacing="normal">
          <li>validity of the TRC,</li>
          <li>voting quorum,</li>
          <li>core ASes/authoritative ASes,</li>
          <li>description, and</li>
          <li>list of CP root certificates.</li>
        </ul>
        <t>When these values are agreed upon, a number of voters, equal to or larger than the specified voting quorum, needs to execute the signing ceremony. For the base TRC, all voting entities need to be present with both their sensitive and regular voting keys. The ceremony process is structured in multiple rounds of data sharing. The ceremony administrator leads the interaction and gives instructions to each participant.</t>
        <section numbered="false" anchor="location">
          <name> Location</name>
          <t>The location must provide electricity and enough power sockets for each participant. Furthermore, it should provide a monitor (or projector) that allows the ceremony administrator to screen cast.</t>
        </section>
        <section numbered="false" anchor="devices">
          <name> Devices</name>
          <t>Each party brings their own device that is provisioned with the required material, as described below.</t>
          <ul spacing="normal">
            <li>Device to exchange data. This device can either be provided by the ceremony administrator, or, if preferable, by any of the voting representatives.</li>
            <li>Ceremony administrator's device: The ceremony administrator should bring a machine that is capable of creating and verifying a TRC. Furthermore, it needs to be able to compute the SHA-512 digest (hash value) of files.</li>
            <li>Voting representative's device: The voting representative should bring a machine that is capable of signing and verifying TRCs. Thus, the machine needs to have access to all the voting private keys. Furthermore, it needs to be able to compute the SHA-512 digest (hash value) of the files. The exact binaries that are required are described in a separate document.</li>
          </ul>
          <t><strong>Important:</strong> It is very important that all devices, especially the data exchange device, are not compromised. Therefore, the ceremony should ideally include a procedure to verify that the devices are secure.</t>
        </section>
        <section numbered="false" anchor="preparation-steps">
          <name>Preparation Steps</name>
          <t>Each party involved in a TRC signing ceremony must go through a few steps in preparation for the ceremony. This section outlines these steps.</t>
          <section numbered="false" anchor="preparatory-tasks-of-the-ceremony-administrator">
            <name> Preparatory Tasks of the Ceremony Administrator</name>
            <t>In the preparation phase of the TRC Signing Ceremony, the ceremony administrator has the following tasks:</t>
            <ol spacing="normal" type="1"><li>Send out the high-level TRC Signing Ceremony description and the document describing the TRC Signing Ceremony Phases to the participants, all in digital form.</li>
              <li>Remind all representatives of the voting ASes that they need to agree on a common TRC policy before scheduling the TRC ceremony.</li>
              <li>Bring all digitally distributed documents as a printout for all parties that take part.</li>
            </ol>
          </section>
          <section numbered="false" anchor="preparatory-tasks-of-the-voting-as-representatives">
            <name> Preparatory Tasks of the Voting AS Representatives</name>
            <t>The preparatory task of the representatives of the voting ASes (short: the voters) is to generate the necessary certificates.</t>
            <t><strong>Important:</strong> Before generating the certificates, all voters need to agree on a preliminary TRC policy, in particular on the <strong>validity period of the TRC</strong>. This is necessary because all the certificates that are generated in advance must <strong>cover the full TRC validity period</strong>. The other policy values could be amended during the ceremony itself.</t>
            <t>Each representative of a voting AS must create the following keys and certificates:</t>
            <ul spacing="normal">
              <li>A sensitive voting private key, and a certificate holding the corresponding public key.</li>
              <li>A regular voting private key, and a certificate holding the corresponding public key.</li>
            </ul>
          </section>
          <section numbered="false" anchor="preparatory-tasks-of-the-certificate-authority-ases">
            <name>Preparatory Tasks of the Certificate Authority ASes</name>
            <t>Each AS that will be a Certificate Authority (a so-called CA AS) must ensure that the following key and certificate is available:</t>
            <ul spacing="normal">
              <li>A control-plane root private key, and a certificate holding the corresponding public key.</li>
            </ul>
            <t>This implies that there will be one control-plane root certificate per CA AS.</t>
            <t><strong>Note</strong>: Representatives of CA ASes must not be present at the signing ceremony themselves, as they do not have to put a signature on the TRC. However, if a CA AS does not attend the signing ceremony in person, it must ensure that the corresponding root certificate is available at the ceremony to be shared.</t>
          </section>
        </section>
      </section>
      <section numbered="false" anchor="ceremony-process">
        <name> Ceremony Process</name>
        <t>The ceremony process for the initial base TRC is structured in multiple rounds of data sharing. The ceremony administrator leads the interaction and instructs each participant with what to do.</t>
        <t>The ceremony process contains the following phases:</t>
        <ul spacing="normal">
          <li>
            <xref target="phase1">Phase 1: Certificate Exchange</xref>. In the first phase of the ceremony, all voting parties share the certificates that must be part of the TRC with the ceremony administrator.</li>
          <li>
            <xref target="phase2">Phase 2: Generation of the TRC Payload</xref>. In the second phase, the ceremony administrator generates the TRC payload based on the bundled certificates and the agreed-upon ISD policy.</li>
          <li>
            <xref target="phase3">Phase 3: TRC Signing</xref>. In the third phase, each voting representative attaches the required signatures to the TRC.</li>
          <li>
            <xref target="phase4">Phase 4: TRC Validation</xref>. In the final phase of the ceremony, all voting representatives share the signed TRC with the ceremony administrator, who aggregates it in a single signed TRC document.</li>
        </ul>
        <t>A detailed description of each phase follows below.</t>
        <section numbered="false" anchor="phase1">
          <name> Phase 1: Certificate Exchange</name>
          <t>In Phase 1 of the signing ceremony, all parties share the certificates that must be part of the TRC with the ceremony administrator. For the representatives of the voting ASes, these are the sensitive and the regular voting certificates. For the representatives of the CA ASes, these are the CP root certificates. If a CA AS does not attend the signing ceremony in person, it must ensure that the corresponding root certificate is available at the ceremony to be shared.</t>
          <t>The actual sharing happens over the data exchange device, which goes from one voting representative to the next. Each representative copies the requested certificates from their own machine onto the data exchange device, before forwarding the device to the next voter. The last representative returns the device to the ceremony administrator.</t>
          <t><strong>Important:</strong> Note that only the <strong>certificates</strong> must be shared during this step, <strong>not</strong> the private keys. Copying a private key by mistake invalidates the security of the ceremony.</t>
          <t>For each provided certificate, the ceremony administrator checks that its validity period covers the previously agreed-upon TRC validity, that the signature algorithms are correct, and that the certificate is of the valid type (root, sensitive voting or regular voting certificate). If the results of these checks are as expected, the ceremony administrator computes the SHA256 sum for each certificate.</t>
          <t>The ceremony administrator then aggregates and bundles the provided certificates, and calculates the hash value (SHA-512 digest) over the entire bundle. Additionally, the ceremony administrator displays all hash values on the monitor.</t>
          <t>The ceremony administrator now shares the bundle with the representatives of the voting and CA ASes. This could happen again via the data exchange device, which goes from one representative to the next. Each representative verifies that the certificates they contributed have the same hash value as the displayed value on the monitor. Furthermore, all representatives must confirm that the hash value of the bundled certificates on their machine is equal to the value on the monitor.</t>
          <t>Phase 1 is concluded when every representative has confirmed that the SHA256 sums are correct.</t>
          <t><strong>Note:</strong> If there is a mismatch in any of the SHA256 sums, Phase 1 needs to be repeated.</t>
        </section>
        <section numbered="false" anchor="phase2">
          <name>Phase 2: Generation of the TRC Payload</name>
          <t>In Phase 2 of the ceremony, the ceremony administrator generates the TRC payload based on the bundled certificates and the agreed-upon ISD policy. The result is displayed on the monitor along with a hash value (SHA-512 digest).</t>
          <t>To be able to generate the payload, the ceremony administrator must ask the voting representatives for</t>
          <ul spacing="normal">
            <li>The ISD number of the ISD. The number (identifier, ID) of an ISD must be chosen and agreed upon by the participants during the signing ceremony of the ISD's initial TRC. The ceremony administrator needs the ISD number to specify the identifier (ID) of the initial TRC. This <tt>iD</tt> is part of the TRC payload. For more information, see <xref target="id"/>.</li>
            <li>The description of the TRC. For more information, see <xref target="description"/>.</li>
            <li>The AS numbers of the core ASes of the ISD. For more information, see <xref target="core"/>.</li>
            <li>The AS numbers of the authoritative ASes of the ISD. For more information, see <xref target="auth"/>.</li>
            <li>The voting quorum for the next TRC update. For more information, see <xref target="quorum"/>.</li>
            <li>The validity period of the new TRC. For more information, see <xref target="validity"/>.</li>
          </ul>
          <t><strong>Note:</strong> It is assumed that the voting ASes have agreed on the answers to the above questions in advance, before the signing ceremony.</t>
          <t>The ceremony administrator can now specify the TRC payload variables in the payload template file, and show the filled-in template on the monitor. When the voters have verified the data, the ceremony administrator can compute the DER encoding of the TRC data as well as the SHA256 sum of the TRC payload file. The ceremony administrator then distributes the TRC payload (via the data exchange device) to all voting representatives, who verify the payload's hash value. The voters do this by computing the hash value of the TRC payload on their machine and checking whether their value matches the one on the monitor.</t>
          <t>Phase 2 successfully concludes once every voting representative confirms that the contents of the TRC payload are correct.</t>
        </section>
        <section numbered="false" anchor="phase3">
          <name>Phase 3: TRC Signing</name>
          <t>In Phase 3, each voting representative attaches a signature created with each one of their private voting keys to the TRC (payload file). They do this on their own machine. The purpose of signing a TRC that contains newly introduced public keys with the corresponding private keys is to prove the possession of the private keys.</t>
          <t>Phase 3 concludes after all voting representatives have cast their votes.</t>
        </section>
        <section numbered="false" anchor="phase4">
          <name> Phase 4: TRC Validation</name>
          <t>In Phase 4, all voting representatives share the signed TRC with the ceremony administrator. This happens again over the data exchange device, which goes from one voter to the next. Each voting representative copies the TRC payload signed with the voter's private keys from their own machine onto the data exchange device. The last voter returns the device to the ceremony administrator, who assembles the final TRC by aggregating the payload data with the votes (signatures) cast by the voting representatives.</t>
          <t>The signed TRC is validated by inspecting its contents on the monitor and verifying the signatures based on the exchanged certificates in Phase 1. The ceremony administrator then shares the signed TRC with all participants. Each of them must then inspect it once more, and verify it based on the certificates exchanged in Phase 1. At this point, the ceremony is completed. All participants have the signed TRC, and can use it to distribute the trust anchors for their ISD.</t>
        </section>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
nNT2gXuFaDqVplipkAgTN06ddo3Fubg5t0LoSouahrfh00li0kVcum405EQl
WRZhJ1aq6xVhsx1zn//4z199vu9VzeviDLZXF2MsmzWu6ot7mNs0havV3Mub
yduv7uEXb+Gdva+++nIwiIxCtKh5eXGpRTQ4xFYb2qx8rZ8XjJpeggUi/uL4
ScNlwXjtyLd1qUCFXheTaZOPkEaMTr473H/0+eth/OGDLx++5kyQ6ItHe/uv
cR2swX7x6Euq1ba7e6ypowe7u7QwV60+LGprDskWQMU7Ik0VXJ4xH4U7mVsH
7OPndMlYQulfDMo151jHWoGMq5NkYVqIn35FfeUD8JJC/PwY5nk5AnhmO/j7
s+OXJ3tffj56OHR2gyfjvfH++MEg20FaMkWVcrKEF+o9A9SHaBYY+AHhLG4Z
8GE4ILywdsBH+3u3DPgoHBBeSA1IwEFk8/rlGfZQEwh1mjHpHPswB/wfXmQz
ngA7Xy7ralmXkhV8CTfvb4XjaxQ0XlfT1SSuEKvVKflMuDQQHQt/QF8D/uLx
DKU4M5+V9sTGzKbO0wBK/zQexNqn4XL4pxHK9un4kqxBVjG+OF0Gh3zJK3/J
S8KbSVN4Uq2y0a10mh+UwnGhSBVSvlv0WTUcaQ+iDhsKrFx6+A8ZY4cpIyYK
VTewgLdc5sPJpVQbQZU5sdCinds9MFwHTS4ZbtTCzXVBYjr++4CtUAap1I74
JH41O3QvvfMSqMI8etZM4CU7b8ulrlmUaivtsa1JPEuaxJmL+HFJ3ofVvy5h
Je2ozF8PDUc4oMQQ951f+ym+dnDwdfYOv1vksL7RZLl8U2I8JD2OAZF7H15v
bXG24Wt+7rUDkyk9JmtmfmVsU8iuBh0Hwm07NIyBBAqc5nCRL/ObPDs+fH7o
+uc8xVLGQE8AX6T9y86jRw/2gWQCK7x9YQeZBw4AAIHx4vH/eHp0mh0/efr8
9PjZ8dNX2bu97EH2ebaXPYT/p9ERJKeB5ZTqzTVI3mY3TMfE5RAdFStocsV6
MYUoGzlaSLMD9oZdyB1wCO95br6WOWiQJRYFZ0JA81rpxeOYzAUPbOZLuS7f
lPdwmfA6LHXkXqdGjqfB5OnFikA4JWJfoLkOJCefeXRZZJ3VNTq2bYuF/Ea2
x4IOtvICRb93HQYW1FXDNtjCaR9/S95fbuK1c3+Y7f8WyMg3D/ZHe5gptvxm
oGWnZSYacZx9n9cX1GZSB9RCllQDTQfhIZCa8ScPv9RhhxnXmdj7fHRWtlh5
awb6v4AGGwigJlGPJpTwcVm8ZeM61elGTjQrcvrjb0VdgX4wLxEeB9nrvYP7
B/df44Svz+HnwP3nNd2+p9zlBVkTrBweuQ+PH+zt3SfGj4B+jTJAE8L49d7I
PDm+jcCpQUMQAFvLTFjsnhQK9gTbSbgvRHUETKFylsOEwK+sDZ6JVO24nsRx
im+gXibdFhaoz3A1d/RK3bh6DYHxjIrfu1lJeA6ndYX5lMELcntYUULbbDbk
1qj8UNmy+1fqwU9Cb2tfxS6cxpZ7s1OuYUBayKV7CFp/4anXId+RukiVFpKc
HgS9ofVNK3dX6vY0oeiyf5+dfIE08SRyEZIZULWqADWclqsxAU6w71+nFv2w
9fPYF9iwendHT2K2s3f/3v79vc+5D5B3K7JbkP/8qlNH27hUQsdb5KwK/LPa
DHCUvdaOKTdoN/JeDWP86H4BwumPWJngtdgefmf/xiogE+Og7vA1V2I7qK4d
ilgEQrYseenN70gLcPWt3qOckJe+5/zBR4JUEEhij1i8/baGTVikJrLeahNU
I6YSfpe+LOom6+u4q2Ns3Bv+RAf2VzAMDrQxxFwDAS6vb4zCCAspbxbCklHu
TQeh3GToWzhmctj5/MQ6U6napFiivN0tGjoUxPnYivOiRgKHRuJonbfvuWu4
SGsRGOHRUSJWvtFMcsNM//u3HKg3zvhTnnd0G6n01kq1Nq8RwoPUyWQOHAdA
NuxzZACEkEuu2JxRGse36kfUn0ncDNo+xixqjW7lxpaV2yvIRhXl9IfPnyR4
OD1iytg5UpCkVp4QAOuRJ7DB3wikc5hY1av0u0niELBN1mal6GbOte8nlIrn
cZ689ibUjPV91yHvrK+GE7FgnlerBAYhMWzfwLFsUWbmSn7lZERmc4tk6FNZ
7E5lJixAGKxMG7lo151NKdktoLyVju3/PHRs/z8TdR1OOkYZ4CHi3wo/tijo
H+3lSRgtQlZdetmVYu+Uho9kktjOf/sZJtZy67k9+HnO7YEa9Tw1W7Mq7U3i
QunocOEFzxLsRYwGdv3lvGyCVS+pbNrCykjTEvTZfOaS5F6zxcHKCL2hpPKu
sTtybGBwAZf5zazKpxSjg9/AsR9Vc9DDEAVhNhDdxdvD7PPpYlIuL4s69TVc
13zd9/D64QUw7J7viO3AWu+yxyPr7aC6cOH2AokIt/jqe5kimL2QVb9YzG46
uyp6vosZ8vF5KIL9/d/+z2Z9Rwm6DxucTrbTRQSPTgNyBmqLb4eQKC5SIv1Z
PnmzXnLsWEO1juQUazeeoVuMK2wqaotOpmF56nSkXRqjlLZTuI00D3pq+fvG
5psRd6rE3mG1aLCDsxEKOey/0o1rJI3ef7YZbCuh3g7rlgIqyRevs8dVNSuw
s6mT+bTngB9bj0cC+05f/fiUnfFAR3LsWwhPPzv8/uRpaF6McSok/LJMv8Zh
H102I0T9wnwzbnqzXlYcYexe1RZ9VhSlNo9rw1nYjOvMnWZJLkRfS2S7MDjy
nJHsGlhkNyXIftw1HeuD4PWmE89K4b5YNM6G2JNp2f6856zCLPqQcoI6n1JO
RvCJmEF2kgXFXW3C0ZqfLPV18sPEp+nn4mdgBbvOuH6wm9hY4ied0pNOrrrt
B1eQlk24EC0MElvosp4PE5/CJ4f/Yj/YOVu1KkypLWrAi+jSXrsTGxeB92Zn
b5D4kIox2Ohefvk4Ic6FhGoN4e/MoiBznLQL93gJfR8mNrbJaoPJexdqq489
1JwePWoz/CjMbklfV61UdnqZqNUsxC5dcbungq2rU3Z62Sm2/DHjOa+ntVcF
Yjl8MUqK5sEbhlE5+miiRlesu/XL5neXxtPTC6/9ieL2w7E2KHFMwgvDXZL/
VONKsNpohCdxvNpJaJ7a98570h9YsgbZ4M1yhK3gixrbRL/2oVWxFc5In86E
GR02j+Ozt1gj9vNMZiV8/tPn4XH658Fgr5MW1GiA4uYz4ddBfyUEOozU4EiI
wN3sknXn4e3jaI2yxvw+b3aj68cLjBE+8hczSI3u0SMTTvlac4Ei+5PN9ekt
bw5gWS2HeHmN9yDVFGpNZ4zhBn1EyI1G5n/K40sLul56xXe1W1Akqqy/lCL+
EIXcIK1K8poiMck3Zu12Tv1ZBKce0Ym/SIlP3adicUo//+lC1RrJ6DaRqe/7
n0fUWiMv3SZI3T332jyD0kQPtokMlpa2aPxYvIrkqp4XeweM19Uh39H2rMTh
SpGu+aIzv36ndu7YGLwyWZ+8jBG2i05p8affn8AjDelOfSswmzK84j9zU7yM
n2tTAWPqbqq77tsxO/1i74ARBkWsqDu85UidMXvi+XE44EaueJH8N1H1+SDm
cXedAqXUdMXrgy6nvPv6jYT+SCV0Qws+RkiX6LMoofjQM+93Or+L97u7TGCF
AWdzcdEWubZc5nDLVxG7p+AyO+3m4WVvlli76sEHdB72N+4KJ5DH7jjHPs2x
rsVTMIsXT+44z/+3Q+U+OlJOdLlOrEGg0NG3I06zsPpc962UUgdAR1mxa7kT
Myv5eLmBMCZbbqrNrZn8p6t0D60Hf902e5K1zbXtixeZHNqgQqU6HwMvUItu
CrLjBiGzUfI12mhJtcIeGN8XC7+hYB3duFsyrbpdCKcNl59Jz1udBj214eXS
rEKJtYJDjGuakwsY9+aCJ8um0xwq1v3pjmHJlDHW8l0V2fb97bDjGg+C49I+
KESsr2PbMEOr2aJTb32spqJgw+w/Z3W0lk+yWTkvW41t0cSjWbG4aC+7oXRl
2OHYFcLYAMVVQYqLRNxdS/qZjclO4PhIxahPJfLf/xyq0Xp15mP1o02/52du
15OM1HWXL36m7+kZFHnX0r/bNae1GhBIrt+9+PH7Jypsx0/d9r1bJNKj2/ab
oIhrv3Av3mIpXkd2yQv2swyBu0zQ7j6AmrIbe9tDN2bKF5h8CQgpVpa+7cWP
2Vd+RsEdP/VtI9R/rkJ9jKsfa34/iuJ6uGvb7SwEzeNbn/Qb6oIlgGjVac7+
ISo8ZI1Y5WI0LZbYwSoYRdhF1M3Iz7lz+upokJ2XQOx34qbwA0l9pjJemoG0
rGbl5Cbhu+YWipwiNMGUCsoeKBs+InIMF8COF2Uzd5ZYXla+mFxWtbA2YMww
DEkJmvTLKavJlu8YrYOdzEvKZLVdEgkkbXFRY38T0/pOQo8W53XOzb8xZ5N5
rDRpoP26npAkvnAdEAnWyl3+GBxuMa8WNxodsPD7pcSrulpdXKpfn3bFxxe/
Loqar7NQr2Dfv3GHoQ8OwuwskEbpQXa70LL7UEik8lvQoGxkc9T3bzYTNANY
/JEiv+8Uad2pr9a1rAeIhYEWDgCEZSgfaoEiCv07CtJEf2CvU3bCqsDO0Q8n
A3F+fP4IW9IUi6tiVi31eGG2T6PQQrNJ1GCofJT0lm27ZSwSJnMOGTxbldKM
kR5JynJcvE8RP25hR3X9FEWKRDdY2x2cIk+rWTG78X4NxalWBThq8ZhrC3Gg
UDMs6LXNKvQ2TxM7QnJ49ZqmoCsE9IQKgIiVzJ0JtQhNOACiOgpAq6/KCsbh
JuCsHVM4r/EA0JFLWjS+JDVOEh6B/qoqkaOiodIq+C9NwuYNah7vq0+ETeUH
Qzd/2hOxSZfgpNckyiPood6+4FqSeCP8kB4K82scIkj1Na8AN6IQ2xROfFCD
qzjdZSy1ACc+z4sI1OmPo1O86Z9/eX/Dm/7w4edfDkQXF+fvf/w7TnhKJSmp
ZWGbs8GLSBH98SFOVnAFLOFV5MpwD0kPPmaCfKDICpSyrJu2S6DbLvUOOEnp
qthgAZTcx4hjxT2+Kmz+oevj1FAh20GCKarJj+EtLDGmb+MDRekUc7MSyhgi
9d8tPD9v0X2qtJiayRjWCx+OuN8Scl96hlOX3WS+rTZwMY6zP9PUJ+ZPvmbo
b9xr7DCk8VFSe1tWyL0nTIwb0ExBXZpRtD4WCCUUT3XX1QEwopqs5o4y/aE4
46aqo+xHmpsrJGEEcLgG7SyLHxAq3rjaApxDThRU4OmbxRMQOu3Zt7YOXZnR
RKgpIxwhE/XzEVRK9Z+Wc4yIGH1KeszQJbBFVaX86ekXeHSHOiAxlmmBx8QV
mtQfweY/ruR0DufQaIt2mK/TJA42cEh0BKC6QAELYSAz5DIwE+687Ti9PW4E
NiNXBNZHQRosniHk5K7VStCnBXITLu1KnpWSLlfTlnDUsvQLCsUU0O4k6uvQ
A9zzSEEol03Yj7fS06MIzueVybbDtneETrJRAYc01KbyRAxVxBmQr5AMmHZ1
2GjYWzYkFBiXQA2b+abds+TEt6er6coSQs5uRgaTw9qoivBjugLFzBcspQXC
3At/H4IMSeYErqSIR+TVmaZ0aSu8j+9ptvlbv/Y0+7Wn2a89zTbBrl97mt3h
rV97mt3prV97mv3a06zz+K89zVKT/NrTbPO3fu1p9mtPs9t/fu1p9mtPs//y
Pc3+UWfyS9yTX0SPj/sLPXD9hcTIJZaLWXHeji65+P20iG2r3q4RvVZTUVRX
/8NZ8TpWE+1lFNlftd+PmI+fkWF7I5+VtwPbikb4ONtb6G1vy2UnITlsGr8C
/33KwUAm5MtK36Cl9PlAjNXYxaapfZ1G5wWxF1XzpXjTJ5PLYp6zpVwM9h1L
OTrDsrNZNXljLFi+CQtbMUMnAvt26VzEC9DQRIMDsSNlZKF5KV9ShGB28vSf
fnz6/Ohp9k57kF05Iwg8zOcjdpGhPlI6EwY8cvzEfe5smc7+MNzS74wtEP46
fn769Nunr9ybi4rME2KdePzixfdPD59nT54+O/zx+1OOffCzVJY7uA28eKaj
Zjsnx//6FBSs8Xj/0aPBwC+CD1INFO5xedA/N6nqIrL72HkOT5671WiFmRzF
R36n79Fp19Lji8Prou+Px3v39x/aVU+6XNFOYSOxPmxtJQ5Ozlr3+y672tu5
P/APo0mqBxvKE2uuwnul39huLCEsfzj854F7DK+dPtR9TNaAtyhcIz7w+aNH
Dx4N6AFvz+pZ56JqHxfnaK/LTst5YRCrPSQ/DH8u88GpJObb/3Lv4RcPv/ri
8y/27sPcA741HP7pL44plRZUa9XqMlzwwgdNuNtq/JWJ2IpzaaOmFWKyZ6sa
TfRoDKdiCJbCaB3ubuyk91DbkAtDraT0jC/RMMlnWGTHly3FkheZtCRCN9FZ
oaECpXfTc0kQgON4L6pV54ohUshCtvPk6asBORu/2tzZ+MW+LZ/QDemn5YwY
eIOQuHKPr8gDGzpKTUhxA/QRcw4brdCecKJqlP9//LtvuUSzCGqEfZiiuaI2
TMaZGxDvbuk5fTGqs4NtmeyKyidacfjdJ+XUJRlobf0oAFfaHJnIceN5ltgY
/x15nOQVh/PVOTlsXd3PbOc10IigdAd8T8zWPeBpQFjiA04Aa4MiJyNi4t9o
0qW68KzJ1yiFQl1YYdQCiluF4HZ2d/1Sd3d9+NjCdYsSDwzFcDc4BtcbpSTH
zx/iBXh4/6uH2Q6XEPV+Y0JxfrRyFapgMsXT48Vy1WL/C/x34Kqx7u4a2MCK
tOeioGaLRa+0XK2LShAPYtwiUsOMwpdC7x4LI4HPvLaDYjFNcip6D7n4LcOP
JdZYsj8j77eU8seqpLWDMU2Cbycc4R4awckDPFxx2ibYum77ZoJlvibVakE7
Ti1GAns0wohpHntpve/fIigC7K8reFkitkNkpFsQysN2smTEgX3hcJE4A9sf
KJwO3t7j2LpgjfjxOPsD1pctKEDC48IwsWiTG8VNFNmTXy20EM55PilnJYds
8BWf3QQsLPYDc/W7ifcKc6RWByWpLk0Y9IBB8TRMXmN5FHL+2ogKDHNYAW2Z
kue9qqeIuhWjtTzORTuxIE3qDhQxqChoVEOcgqaqPsTVRICYAJUOJOUKGic5
scZr5OKk/mhrOKqAVs3hw3nZiK9YpuaYo7IRXHS1fnd3KWUnlPwbyh5yhePK
GZCltqaDwoCNqMoiiG6ehGt4WWfXuAAihF883GWAYdcA9ElzQzs6yssV8MJR
XeRTSgkAyUmEAr41j9++Vb3PQJvVrBP4rgM6ShPgCBGWxd7TwkL/Z0aphNSZ
KNv4B/T1UOtN68J3UZz5B8OrJRZJ1gZA++Lh6PH9vdHJ/T234jv/4MDqg+sO
vO8GxoJcaRpkbvJ444Ef/LSBvVk8HvjhTxv41FAHHXh39/H9R7u7MPgjGvgw
pCE2xYqqQgehjCF9dp8E97tJLHP7/sPtxBWHOVczz2A2v9xrzuMR7Ozzf8RB
48Bf/LSBD5G4VxnppZvWO7r1x4bmf6FWKKZXSqtiQuVTalHYdtFXKuDqJyrm
xvFZ09ub/gmOcBAU8Tj/NeqHEvrN4b4uLszFvm3TsNscbib9wpzqKTVnVeV8
naryFS/Z0nIqK09jrJaYlnBGZbM1sB9XR1HwMES4zNz23+YQqSAM9x8TRyZL
EvglFoQT8bQyfAOaaEtiab7we0oNYABPK72txIgPOdVCIx1Ax2HfTp2hILOp
Cyk2MWyqPVIz4o+KjR9TYeWwcwoL7Fw13Qf0xvXGfTszallRFq4zdmdnRrUM
mopRMOQh67TNHTpSrqnZakry06CEPNrrcPsr+NnbfwD/e/TVo6/+dbunjyWL
DNKKvu5Ug6XeHGhEWCGyc0ic4pTVfIPgQqUQ9KGSh3T4YWA6LTYjAlFAJCE0
h0KeFTbuU/CdjLDbNjxyWzJsgpBJEnAbjWY8Ky7KxUKaYayhYCLWCp73PBQv
mML7EbKIE228EOyGu8wbLKcsX5v3qeSnQRImRJjSnE8uUWavankpVA/C5dIc
Z9hQxEn7AY3CvYBig2Gy3J8XKOCiEZcCi4c4WrFIbfHTRBhtLwpYJhFAgfKY
vNQPt79CqO3ExoWBB73pFJOYiaRqp+ioSoZtQcbZ5gPYuGqjvuDHPBSmWbsq
n7MKmxUsMB8JCYakHsDRnJ9jTgfaFLhwddDgRfmx0728esg8p16R2Xp0jrXp
KwCYUIXSNYhx6dEBTMmCWDHlB3JdzeMUizg/hpvuEbrhlTivRF8PqzDjW3AF
z4t2Qk3HND5XjWYktWGIMnbq9iTDehl8idN3nwDHxs9J0lTikX62W9Cgo+rC
ks/KKWjS2t6bgPMHjvjuKsyS4ci4cHT4XFJcMYHuQlVLExnfiYs3tetpelsr
lwdh9Ar3w9PJ6fG9qyK1XfW+rr4uDcfGSUi5npvVUor4iXsMK8I2LpO1W2oY
KQFffmpGk1i0HkJYZ0CMJdEp+I6fAmCfTFEjuLDaMV7CmlBsSIY7vV1ibaU5
/NnoyofZajHDTKsWExqIo/rbhdVeGywhJP3Y6rJ5w+kxyE9tttE8f8M5HMHC
53p8oQAXPGQsZN7yhEyYrE+3HRqSi1b3HRr1AuTcSSHdYKitgL0sqFgUTOih
LXx+6nviRol55EIJksks58KWa01b5NNhBCo3lVbECTJdNH0lkfESWwvLRh92
pAJkLPQxGsWj8tlM+l3UsC+UKSX4lvGZKk2r+JbyJfdunQYq3mYl3WyT3Bos
gmTHRc/oKF4wB8PEapeaYed/HYrDSXmHk4nI9+oqhFl231Ptulo7XbdGoMf5
Y8s8h8GmfasiEEy4K/fWUzKKwqWoXXHQzuPKgdneyTVRxcuGSAW6mrTSgVWz
k5k6t5bNZNWIYI1rlbSGjvjSmc/gARW2Bpm/rXh9jtFi7iRSX5ydm0nIEZoL
5ozcbE/GzHd/VJ1ZgbDghG1cNX3R4LHIJafLSKfVnc6pZ/LVX9ldDnJABZdt
1pZoluRrTYZCEh7c7aakHPGgcSkVV8S6MxeSWM1JuiYJ5qqsZpSFj7STK+vN
hTnxqS2Q8qoUH7jmjGvfX1xeu7m55pmuOOiFP2evFkSgMvyhfIvQAFAjpD0w
yNMQwu2CCK9ovVh7/hr1Bj13TMNeXMxcA3M6a7ZvEXeY55iLK8m1PhfObVsj
FfyW8RPdsP820V7UNNxz2a+a76JNgdlgLaXRa/NOdJlcx3iD++ELjak1T7Vq
/FBEwVHgR26ziLrRxXvQjp+w+VfFVUVMFE7ksNHEaErawWTUVUNOwAoZfvWm
8Dts6EvGIrZ/H55gBu+8ulLM02Res0p3C+0eu00Lu+ulNeSN70pg1gBIZNeQ
T6f9C3DeqbtNH8tZFmp5Y9PJQ+Dcw7XhslQekvuIrG7HlNpJ42UnLMYjKH6l
CJp4bCNMDd5Loexh9wHOPcVWAPq8xJMRk5ZNutRSbw22sV5AfhsuG+l5WGIt
XPGf/Fe0WlF5507ODoA2yph7xQN5b7W7SxTTVgStu9MoR1e2M+DGd7fnzY++
xH3n7FCm9zqHB9l3r8P1/mMveP9e4pueXNXPf+XXAHfju98DwJ9GBEzAm7/+
5kOlAsFzHbn6x9Nnoy9d4JH0jqU7G4ba8MXnuILUkGENKREc+XEbmWcCO70X
PXsKTLpsLlPFTVJzYaVg7WRm5WEU/UjenIFmvrKl9D+JhWTHz+FTAZQIFkxi
FnHHb6rQI8eIFoqdo8PGhs1qV1Kfhly8RZ20RK3VG3I+bSK9i6hqsAlvJRcT
h8ajyQJxbd3aGWnVo2PDdt2bRIRJPF3G6pbpYNdtXQpEiwWYdTUEzSVThRJl
NY1sDitYkGXd1ijoql1DeqK/0LqYTXNMfYhBRUJkUJNKgvEWVapASZUaP128
OCWlbXhEQdnTYHkY64wFAHdkFbAeXNcgbNeuQ/cU3+52GKZmflzF0VZ0Wltp
39XR7dTQDUrrSvXdsAfxeg9Tp52FWoFTLhv1tlSzqa/NmEC/Da8CoVsHhTcQ
wIM7EDJuO9It8ncKF4TKaq/le1kUsbfMyzq99UgJx1hCpVCmDbOvAKfr2Kgr
9dCJgLGoEwR4me8NtHfY39MtDWLCKV0FkHLKIX0suXU2KI622DtDF5k7WAcC
btKLUzbqrbYtuoy32edX8KNdN0h3+1VNkq1xwoY3OR5/6BiN8WvfYWIx4SMm
2BPoTmqGRri+TJTlG0rom/08gRYxhkXXlLDdXU12KrVl/XFUkav4hnaF337N
8YlGQEpZ/QaZBH+Z0xWTQbc0DQIpZb3YQVzktwYDXxx8jkXA1OQQgd4j/q5b
327SLNkh3rKQHorQC4Y17Ub+CwBBVvczgMDkNblsaS1a9y4MWv/gyhn90uUW
iY8QuRPuMmB3CXXkArokfYC5chivPezIvaAQ/3zZrJylzgbNS1jN7RX84mgL
U9BPZmd5LhpcCDaMIA+MKF9Bi/swnUj3TnrkmybRNMN4M1p9EMZ+fcQDHsN5
vNbCPn0DP4gGtp0I6MmOQdxVv2OA2MJuusE1AGSxxHV+f0D7iHenbXMjqYmy
MrRNVRzkwdaPClnUeTmLRF/Tl4sGGdJmqqWuONoTp3+QUm1WxQTzqYF5AGil
wQeYpSNCRiFPYKk5vfJR68ntktFge+zfM+WeWjtMPAR++eTpq5EqmFYHYdP0
pfi8zmCD56VEKDBsKJMDHsF+pNd5PUWH1nwJ0KT2uWgTf/m7o5Psky8EdVhf
DbESq8x3zg6AdELo/QS2lYZLSnhU3ofZnaLiMjAMy1xW1Sxu8xa4/lC9mmEc
8E1Cfl8jskZeo08b3+sV8ZWMYs7ZMzBHFafQRKWPt/e2fczeWTGh8vxRnzWH
AQElwLctsdLv8Eby7Z9WRWO04hsqI5YS1VOnkZmN+eOMD3PgT7O2jV6BOJfB
idKKUZulR20mzgTNlouMXLsKnNfc6P5wMQ362tvJeq/UT4d3z+xr9pACVUw4
LVLkswu0ZFzOE0joPEiH+lC8FaO8u4GAna+WaA1jwwXvaOe80zTG+6fYBjMy
Rp/s2BNzQWV8PERn4KZF05q1kU4B8u3cGk0+aoNhsttTlGlA6pbWAQJzWKET
Wg0TRfuP+pAxZmZBTkg0qWGwBwacRiwYEWAusYdK8oI5JK6zLnQkpHgks5yf
4xmjN9NUnh1TqiqaxHwE0RB98hy/IqZFiSysnNoCF3UygRnI/FJFTKkQCBgW
eoCWilOtHIi7lmHKc7ryXL+bcAOUVCFR/ODZTStPj3d3Aag6CFFy/6V/SSBg
QwAbnU5vTiwhFW9BjpvdOM8jq53GAesiGtqWQuy6Z3mgdk7tPtZxF6eEWQKF
N/kh3wdwGawLIhuUqIsNwgcjbJfb/wuEI5xYjkPLcyl4SaDBexjB0gEY3wB3
aeOsOXOwxFAohcmngcVZWnYn3tDJeoNWm3/J1eYDu+7LvL3kS95tHMIzrQur
00jTsttMvmN7dLLTujLIXKiWnRhqWrYV0bVJusSpVlyxn0MRCG6qOXR3MxRv
yIzCzxHJbuRCUGZzHuY1oyyjxbk/prC3d/rkV8ABXDzDmEr/SplPiqrDebor
o0DgAkuL469T3lh3U40PeSY0mhsyTts55O28RNGMM2JPCi1YLhWV9e8P2ifG
VG2nhVHkpGzb0dB0OjiJgFHVb4rrRRt+QLFPk69SW70V6Yub9QvGcB4Jw2vk
KqTmU+3Rlsy1EY7nPVu5llBsl8CQr5BhLy5un0pyZhe+kCxj0021yq6x1xHF
URaTNybikxHfiwmYDBjEgIQH5Bk9Dk9Hom63JGgDNWHZFKtpNVreAGddSFmQ
ApifFIflz6naAfATmfTPNOyfRf/fAfRpDrIn5aT94w5sdgj/D9o3oMifhgFI
/owgOMBAn0E2wkZ87R+xKhNSoj8daEGFbHt72/1+WF80/hv84bnIp8bRVBhD
M885tGknyEka2hytgbJ2yZC35GUczJBY8Wkf+roSGtmrAk5qES2Wj4kujFag
6lZUkC5bgUllnITGJyAvwjW/hIuIoQM2A02C2hsbftUxD5uBXEq32E8DzKVb
4R7Gaf68qLOvsz33GdmB6gmhNRzImCJYm51BuH28TvVkXE7HOsY3bjSy+sKX
usQx6Eh/lsX89uvEIQQjh+sKJ9mK4eUAooALM9dcZBnjg4Uq2cTMcLER+g5Q
5DlvgeMfy2b6p42B+d++Vhh0gYNkslysip4h/Gq+MSv76WdidxlP5c/Fc7Kv
eds77qGhbmnwJ3uOEvrfga92SCtJPE65OoZmlNa0UGPpSi5nz90DeOHgbrke
MGpV3enAJDq1msgCzrMzSGyoL0uGdYjIkSE6V85BQ2Yw7DunzKmfksBuEjsx
R/yZ+Z4W9mdZ2G9vO3rZpTRBibiDG9QAwIqpjAPjCwCRx4PRnseEQXwg9m1k
a/7PcF9cF+LnX/2GL2Tvex4xC4ZRHW9NPwzAOcioQNlPYJkH0kWApFGfdpYs
i9hc5izsFG9b7IhEces61i/B5rjk2tdyafRTJJU4qtDKsZ2hQykXsoQxder6
s/Gcjyf5htSSljHOp1Mqdz2IT5++lgpO3i/D5QiwSwlrZR+knkzQuyIMmZGC
TGHpOH14pzGts4KSC1YbSTYpDKs9GXXDGwJVc8xNDLUcJGq0dROU1iBJlZMz
8yg+2yULnXZGZyXZWadYKDa+IeO74FRhyily9iXTGUGr0SRrLrE3gDFtueRs
DHrXNzKBEQFQmBYroqDz+pg1dPJFWNnHxDKeAo+MmQcJ29joQTZKoTuShEb0
2y2kt/eIVd+jDj+ivh1Jnha8+Ly4Dm/qu08YWKNFcf2BMoFb9Uu87cSBDilb
N25evksjAIx2+9qbB2aYHjNKOr/ENTrFnMGivstIwambQLFbLTm2kQYXWswX
nR5Y+vAuN/iAY9ulq+MkQf6i6/rfHSdhCOB34GMBY3d3Ue3upuZ0U7J3oBtd
QKHCs48zXAUpIxw5gjYnj28YOtXrLPcFd8QwqE3cWAn1+pM33k/RDE4+kGZV
F8ZxBch8SVF/Ehgms0kSQn5RF4XJ6RC3iaOBdFslIu1a8cbfCan58oru4yh7
ARu9KovrTjMook4o1VMTv0oecwUPTK8oR6t8Cb2IqGgME4cyhnTEIJ3xSRmq
MnZleJxPlSN1uAmxJtGaYnTF1MaM0jIp0glXhIB4zz1x4WNbACf6eZ9pLc4f
zbUYZT8uNPvzqTaU6X32ldoyj4QuJx88yF7QJeMjAbB8h/EvdilRRZ2+8rJ3
qKWz8bMfUadnxKV6HiN116Ioh8+fmII1yujfA4x8/NZBJsXqMBbQVqWj7vKj
dC7r+3CAMNCtp9DWHr5ljeIH2tJdeHeT7WiDjuzrb1Sh5Uo3zqTeiXTpsYfb
2jBeyqG9/5Mmb/UOilu3rW56kgr4seCJvrhzfvR5Pe6hoSwToRj6v61Lh0y5
mnnoE5aB1oZXrXVYv+8cjyAACoN8PERQpOu5pG+uDxVKM1le8A84mBBbzSgT
iqFXfQ3ddzbqxNjGVRjvJZjUuDo6M0cKQe98UU2oANOOLX/3XnXyzqFXvTFC
lkpUpfbri3LaqVVDfH02OqBbAtrSRxQUKvpSCxW9iNiRFSK5HF1QkYBYkStf
9B///q0Ew1heGDNAZl+JUGHDsIbkdENDvYllMWtxnsAewtYNYfWFXLg6QBib
oXGtNGRI6nqGSlcZ1CFSBHX9CmwxBrOWRHJtLFDSuIQRPvUilYa9obzVn5dN
4tXFKq9z2LL1jtvV2IVIfKxmFa/QQdrSJASwn7yg9bHr7P30LVE515rhuoi4
UlfAd6ccJrKmAyo/koG5sGqN4hwnF+evXNMN5HSp1muc2VZvcVe1yzkxOLM2
n5q4KDEGYiBdMcLw99wg42lQYpSEaW2j63rqhql7XGxujri6UqnPVSuVaZmG
0kBJKhqnqIgenJaF+2VgJSRwhHhuTtj3A3M95F4UkX04LYoi4erCq/PhoZt4
pDBh+hYcCkL8VGhJxKnFOZHurUS+Zvf1/pw6N44tFaT3lzKf1lxgo8AkEn+a
TqZOSnpxIfllnRKuzAqbTeSkjUL8kFwgkeEA/DWyirURqcN8nUKbogaRVUNM
XVXS4CRx4z7V5FZxasjFn6msxmakQtHbVPHYQGrrodUBIBM4kIBgZykq1Fn1
X+q7eKV9WZdXON6b4oY8xmRGitefWoDPg7GnEO2DGMixFrJgh22CZHIYlzdG
Dsl4wtRc+QpG8yAXXCtex/lLtx+g69665ijztZN+RMyr5yopOVlqIxv43EVQ
tkFm3TpQW93z6MjVdzqN9bL03c/DjXfbiayd+CedidFYfm98ThShlAiE7g1F
AhmAaqmE7JGiRDg39IgCRnzQpCOxchDCom2oR36GyelovRZDM3cgPwpCT4zw
TxX4uhWahPof2yC0CJ3EUzKSsJYgtNNEwzkykYwj1Ow8X8pREGoxTY3v8Syv
PY6tS5BNbSRG6OEmU6zjfkLEyEuA0zSdEQ1Q8rqIt4rW82aF6DBbYY2W6GkN
4OSi6BSSLHK6hibToTPiqCU0W4DARuvlKsRdHuCr/dXFXwRTEMV96hHVQSmw
4MHiRuLHJvKnppIj++Hqiq6SlvN7DbEpyExKmAVN7pPV7vEpN4iXf8MMS3Sn
IRGjSPZuGX2X0MExrlKBkxmcHBotfzSScyZJVyuhEbycxGrHXRQigGKpHuJn
WickHtllONHBoAV8OlqBriFVl0JuqC9JVCc3fwBO6/qIiNDCIbcq2DtPIcee
LYKYyfayxqqNGD4t8JKm4qpGSNN4cU1OSIqhjWLG7hnpu/nCK5fi4jE51HgX
JivCvvMRoiKoqCVF6Un+GKAR2QB4WIcyA+PLy31ZqWVdTYopjqfkogNSh1Fh
+wMqQsdFlUFKWUyootRqqcKJPjkvXM0X2bQWwL/Ml0Vyxk45xLoANWSO5hMM
4LhipKKVNzQ/AcCWpuOFByF4+M0h1iOdlm9dtO7zajF6rEgv1mZU3IJynRJj
yBe5GxEsbTqSdJwLeefMzDjjTPQj7/1F5CZNGFGTalF1CoZ2AeR8Q1GS809T
15+QjYrS/3m8NyWXajWstHGyvLu46dKWCXmjk60fdEcKiSs5/LosK59Oi5RP
aCg+LmvO6yEw7GVCS9VfKhOUHwL4mdwG1s3YGa7FVlXuJt4Rh5tH9UFNdTzn
RsaqA09WtWtVkb5wof2w1QCkMFIAGSTzS85uQB6IVkhdGlKzA+yHGxwYQ2Wz
M3NZZFEqf4xOBFVaDyu1ruQaPeyaMc1SRr/fCAGul1XjEo98TAFtjehyqtDk
lSusxp2uePE3Zo4uoulrcDnxosUe1PVY9xHY1nDNSpbRpN5oTpkO3q7iFL3I
vNSIp7cjuTMFECa/jVOQhAuq4PkI/ockHiYAxN3WLLlFQYZKUzHIgVconFYv
MsuRSGik3ErL4eAlEnDeFDMSeM6U5bl4EMdZJLKDirNSjDdV3MuTVysdZOMC
bE4JHDTStLzSaMT0S7pNgmi5CKJvgIGii3wyozqvmpbtU5S0lIj0bxnysb0p
imUwIWrlzLCFCV9hfVyM/ZoVobpEj16rxNe0FSqAwMHpLQo0wjYC8HF+oc19
rvOb0PZiNE4eaYaFtMsW6+awVkhXZtViBdUC8zVLrcFLMCBEJqQjzs9LHrCs
pwVhvQ17obNoRtc8X6CpOFffeuUw+LJwW0F8ETc1d9FyiWEEPKJP6eNiuYvB
SLZWUc9M8E+jm+PysMjFtz5BpjWrXLejo5fYAxR0jhPbma2hklX43GiyHC3f
lB+i3nISHYAfXHH+c/g62191Eh5qbpw53S6kJGKYxREpU7lDZY6trccuYI0q
2wUp/2whBOKWrIrLgiVZPkOhUqVwoEMjpLpB2d5Ev7CRFtw+dQXfgX5X1xy2
T/eAlKh1EHHNXNRZ7OoakFGfRMF7Ljgv7PngJNRxN8jvv0pk36k3ACgAyEp8
e0AcZVVZQTSsPts1ajwpmwmG0dxsbb0yVouyCNo/tHD7c/KdFiaJzeU/jbPk
u1MZ225OsQehF4RKR7JlZLMFeia12JKDkhg0515yAOJ5uaAaT1S+eYUlCLsl
2IzzwxSNdTolALVB8wtlhr7yT0j/rcPFjUY+NSLEdsIe+cKvap8JePRyhOTC
1WiU9DYNFkK8Jy3YC110Q5HAUnqDz5lq8jJ2xXBusiMt4R6dvsaGGgUifmXh
iFjGhRxmrsof2RsMjMhatfu4yAGp8aGXrBn5vmQ4oF5y26pNj/bMvSpKlVQY
OTwRYVleAF6BUGydFVNTfHEQX2szkrcKO5RavfGNyxykmqB/wqkUU+HOgUEH
AxHG+Wrg8/gHCFtALEu5oVoGvo5Qn++nSZxO7jmNx5grINpKUN+GX8dcjKty
UmhSptTKBUkQnZh2nHNyCs8x1ZXEF7emqnMEeXsp/fASc3APK56HnNN9k9GR
VBNMdqfqqDV3k0if9qkl4ZX24zJmKqDnFxdiu+QSIfooKUDJfEFXZh6mWeYX
7o300ywaXhazpRRXJM5W58tyimnWejZ8G6/VC7OLObXZ91X1ZrVkfD9eiFuG
smqb4kJqviivnHP1eRIFJzHmevZHrM/gFDW0AQG5ml3pITVD50mzxmXaB5+K
PRR6eKE4AGS74YDFsPw4321fC4iO+LrCzinXko/Nwa+5aweFppHVQhN2bEOQ
cF1aAoxseIvsryvYM9MpNjuqyRGf+71rHRXmM/+gh8WVkOCBkesyhZKVHuYH
JX6u0ig7xNInj9fAViwiD7TRBnHVPFxHzOIac0hgmeN6yAH18IY5lvBNxEZg
7XN3caM0WG4EYQh9qCkQtbuslllUMTQPEDIT26XnREHp2DHCnaNkqJcwYm9M
1VyBAU3JFj7krddO6uNbdW44XqegmouZtb3MDI+JpRxruPDug8ktl9xJeA7Z
0ggGYh/Vq8UZmn6CkXCSCp51Qkx2SEgawKCfRlU6EQ5applt/RGnDqp5GfcA
rKTNsVyNWkLxNRB0yjnFapqXopvoL0XlurVq+rv1IVfclasyOeeKNAKEsbRx
9kUXOY82rMOovjuBOUtJjLaBTNvt0V0201HejBY1eYpPVmfoqWC119WE4Rm7
3aj9Dct8cPdZ55IR0GQ3myyp4UVQHc9yqkU8u9Kk1DgRGdWKHcmTJRmKq+Bw
fe64F61lEwfZMY3HEllUWDfnNpUdIaRKCxicD+paojSbncuUY79KgFwLhOeA
g8ew7JHnvrhmyt/MW8Guklve+kbwcBYgXIaCsks0IKsTtmpwt9azhd57+4fL
JPOpQYAWz1jyNrOBRVP1GTVSnlt2djmTubs9Yvd3dwefEDQLKlUEFjt/k0UI
87cq7mhFdWVW2CkQB71gR65JrYiHJdYZJbEsnHGSPyBFVM67kN5DE9g1szrP
vBqxAnbfBXwAsMDfsxtT+DygEKhpdd+knoza0wdEMxirVfNJt5iI88bQecSR
JpKJA3qYg5AWZubWWJig5EDlQy+TLU6oljDLKT1N8eL5JZCqcuERnfMge60W
NRL3Efb9qKYpzNEG2DaaIImydwwsaNpiiXEFe+PssRRBkVxU4Zhrypp0BFSc
trjC24LS3E5rNRP8xMm3QdmhkGvpULKdQbr3m/MS0acDzCVsTcfsaHXUFhPl
X9BSLipXuqO3jDi35xu11cgM4v0zpuq12KHCIu8L9SX6Cil09FjIJYBt6IQK
Go5qgQ8gqPsOBLdCK6z822zIN3pRJgziuNEGFgBOq1UfU85t7yAoVhRyj81r
Ww+ABFCSNmforrimF7ForFWSQr3eOaRMTvLSrOXsImWFBNGGSaIrozOiN3iF
lwk1yoL4qglAjYpPa0EpllnkLKIl0PjA+ETmS4+QkPeCulRWSPJRm0lZabNl
9Ly76XqSEpJbWGrqM7Uh5m2ivEb2HIUDEazKxtXpMfZkefB4EYSVoM47vhgP
U4V8tJswFyskZCTfodbpKcPrFhbn0W6rXEyEa4A8VCyXG01CShejQvTsM1z0
YL99Mx4ZozQEGZ++LSYrd8nUuswtDQLwGheZrzWrBOoj+hTT7BRsxpPnrQvj
Igs+I4bvFJWgyGIdz+ta9I18HpRajxJNHOr7gLRunXzbmoqIM3caCEbSxNHB
IAw/I6EklGBiwYBk6iZ1rzr9ZB+Nk1VOuvAQOJC0zCXpQE7uqx2G+bMbIJX3
s/Zz+pQkQqX1YaaglrCzQKMkVTYNqzNqbsMFp1YLDKLWdslVXV6UC2xmF/M2
NR/quDoX9zJsgy6caBArJG28i9sNbA1RutvEBvR700wzDKXzMUmlmB2s6aQx
oXMRSZDqUcCHVCXHdfpGugiMTAvuueHYb+rEYTLXAEfHVrfkQLXamonr9keJ
dJojuZyykSA94hE88m3hqNZAoEYB/priA1KCDAVHX+7Q1odAQ2iE8nkd8UoW
OZXy05uNvIrrph4P3Hw1qDUoOozKFDtHJ68GAFilK+5dkppk9IYq0cVoHA8l
5N5JsHC7jQeKKoU94CHhGypVyz2AaUo1YsJyDCTUKBzCgniCjOOXFsELaz7r
kg5P6IywtC3HBxyJm4M9fnwc0mdgWk1Wasjj4AcfVRC8Nd76wWecC/OUlHTY
8vmKOLk4Z4RQYlxXnZ+3vJrjw+eHyZWg+dN0ciJUZN2xYvnB1u19cfxEirXH
nTCN+ELQkiGWWByvWtWTIiowbnzIrpDw4SJf5jc5r/WlmOOeYs/pZV2CQCxp
0zuPHj3Yfziw5337qtGbREAqW9exOgATw1T2ZaKske/UrjTFy6fPDeHgMk6U
ADrnJYZ1AWgj8UFubY1GI8IYPJfDyRsg/PAwk5GtdwfMIovp19vnwNcKTCT9
ASk35tphaHCFiHaSz1fFLPuubP+W7Qjc4GSe1fjBSQu0aA7kNds5Of7n7Nu6
Wi2zw2/h+/+xwg5e4+zbvAb5CmCcT6ts5+npd9m/AtZNLjkz8BVC4DsMbIK7
snP89PTZQDxPyFuduUqRd5z9gSkGsWHyZVygOQFtQrDUwylQ/QV28QBWEUzG
uTre8H6xArKHtJLclUUxpWvF94LkgZyM23hudNZjLBrHIuU1rwBTD85aH2Ql
RpDiqphVS7pobZHP6eQV2XAuv6ahsi0sB4wllTBaItMjkpVpUJ/s33ZoEOsH
XKphUKGCl8OZZA1Xuj767sfD0/39Dx9EPjmrqjfikymVx+ndofCH5aoVr0Gz
LMV1xmsJr7rGp+JBdyLAXZzqu05s74c08vVY+DUawYYBd2IQFVRscNuRGQeJ
OHOMQ0HbCrBYOmqJEacm82j05FixKOg3EbqdCvZF6+YZtmwzIb8kGEhDaD0e
imyTgprkzHJQe4nm10m5zHuv6GF386KZcrS4vs1CGofAAWG5yBfl3yw5Clw4
xw22wMVzflLNifmfXhbhcJFV3kOevf0mXg3kA2lXhoPs7rpH8ym6G7DqFkhx
IFRxNDZIG/UFYd68YuoVBZo6t+93xb0G1agVxSegihCs0DqNWQoh44SNxneN
CRILoohVoixSloxEJCxRVUxLjKVQX2Uwqbo5bxBXokbUJEETkhFN50JBu7uu
o14UfMkQmQC1OOOwU9eSt9svuTKFqNg8SQH3JNamAjs18t0FWbLbHAgW+n1T
rqkUmqQ0MPFs48ZgGLS/8z6Qk4Ae02gwi4Oa1d7cQVCQP8cuOIcPHpUMSXUQ
F5X6kBHDOJLxxuElHXgnUwKNuVQvGXuGGG1D6BuHCp6nuoizRn+D7IGDahAX
LkhichHqPNSciiCT2eeM4q2RR1egjRS+gR11F2fpq2mAmE+d9WztFaX8AxyY
yRL3iple5dQDVko0pm7lUBGE7mIMlgCDw0ARseXVBReBp5QUYmeG6xhxVBul
3mDjxwFHLLB5l4Qcuk3Ury2tSA6GFmPxbdUCkzk2ned6LrJK3YI8RRMcg4bK
9xH04IAckSlMxOM18MxLQFBqR9FQl9AVEgqfQxQuDiUWHbTifEcS6M4A2hhZ
0aLqiuSp0QQvSiPzbbhLCjECAogRSJziXuLFkiQupjtinUQ1g5djRm1WZKuD
DWmwiUMAMoLbQl030inBF7mnwmdkuAsCpVIEg6idHX2BE2LwHxtFSySzE+CP
60mxS1HV5kBnRBY4kpTJlZ1ZdVXHRWt2NJHykeSiIPRXPrHaYUBA2kUU0JyA
y5uGZDSMUorMMCYtiymqaN5BifAkagimSiMuf+vHPiDYuYhtvTTCR7ycujxj
bIadz7G0IvNgZ1TyMWvYJzQof4AfuLoG97q1CvB748lgk9fIdWBNVRUYe99q
U3DUnIR0U5ZbhlluWGQyLLdRow02aBtYX9i+gT6pNVy/d7EWZMzsS9TSu69i
oUtGDgCrEsOZTzn16SqMxGurLxBKhujtsr/Q44Q+DYrqBGo+X81aSkUD2YUK
45/TVSNpAsZae0vgVomVgOSUfOJCmjmts1T/iQTAx5fTOcq/F5Tul8sd0rPL
UOJNyXRdY2uPG2lrRgLYsrpGw3Y1eVO0jS+TYGeOUlxa1XVdJCswZJDh4dUd
1txQ166wYrtQZYxZWMMCUHYH8amgTF6/0Sd8O9P7fKqLBFEPYd/IWWNouQhK
GpZLy2y4kYnJRxGblxogo/5bKvGPsicyWuXyNIW+kignc6HYIsl6hIgEGN8T
JLlv7PCrGUMgjXPO8NmNFZTSeT+U9p0c8lNd0ME6VFRThWTQCo138EoJtb47
hYs+76KFu9cmcgwZoF7xk+8OR4/29jPufpTt+Bhd6kKNCVy0t9+ndh1tLS04
b76zTnzZjbjziRisRGbRAdzOouwqjeGW1QRs7ucGD2vMM80YoCZB2Vm5yOsg
Dtkhdic5IHchHd5I07Gds9xLcoe3NzjpShgm0H3xxUmRc6KC/nrQU0PXT9zK
2DbuNbgacnRwbWhUX8HEK+bWvybyuHJwCvOk8HshH1asQNPX8nY6Ui6uyOHg
0yw7+jMRVLS1ifaag8ZxLeoM5Sr7OV2FhDCvVpOCQECfaTXlRjQin7Khi6/g
GE7z5o1v+qgrObQ3Or21Y5fG6Ba1vDQZ+alaAGtFdW1zaCu0Nm8k8OQEY2tU
7cBGDaMZGtiSswSRFipWOau3IK1NI+wM8BI34hMcjSQ41Oq70rGUejCSJ+FV
MceUY453vU1nMRK2ShhOhMspLlqSmkQaFP2uQU1sNbNrdwiArofHTJnIBKMN
VW2OvwJBSnlh8nuLQD2XRKkg7cCVLNgAcX7v7Bivwr33ixFLMxYetLcx3Aq8
HbjNdXugn4OoOJAMWgnwV7+Kpr5E0mhElLjftEsO8IK5CSoxNRUSBwYrnpXz
kprN+FOjXlyMPJyvzDdmd7cnPgze3N316bF++drJTflBYHtxpFn3bi0DTFJ2
d30GAnb/5qyacBE8cyEZDIJ2IqtP1PeQi3Ezpb9wNudYaF7EOcnC5I1dHDnk
PWD+ynO6J3o3gvr9ZFXqJHsbhjhMeAKxqKVbZhBX5wN82V4VCe0/y7jS/nYd
rU3YThC/17ASgF2gTeZ9JhjgxtVIEqyPDuE9aUzdqcRtIR8Dnkwgmpcnh5Bo
aPbzgCvZ7xGbW8lW0VC+vpsa9ZCkzTojz+7uQUyRSEs9NBk1EhDgKgr5akQB
c25dyrhmBwFtrQLLBDlLurG5JM3aJmI5L8CbNjDZUPhUwqIvtlMupZA6xKgU
bCLM1XeXy9vw2rLASAbradcFwapqPxHvKLUql2gNFVuK5JfQdlXPbbrmJ1LO
KA0QfTvVuGcHQXikMaWQSECX4I8kHmR7B8Hleyry6Z92PqFn9wbSdU49UYF0
5C1Fxuqg7JfdB2lK71KkTUJgUAohDbKxX/f+QfZtkAenQ0jhdt3Avt8AB7vy
DtbKcMqDGjeo1s84sw1GNNo6DFSXG2BrH6HRm3mR2cCDAyu16XIf+OW2l2Xt
Vkt4kNbnXB+DQGU3rhXT08BP/5Cn/z0HzHAfXprroT1x7NV7+4nHwo4/edM4
95ajxQw/lEYuMK+95cB01sdghlkwklHMDpOdBLzdlpbO6N9YByVKgevQP3sn
6N/j2QUAyft9bsRhIIr+I+6Cs/1t6FxofHBSaOzjMXrLrd46kfCheJKkETU7
/i/NOJCWAh1Ge61QcGCLGBTQZE72TOvxnOBzUWkwIdUFSN5XrblcvG0lzTt6
YFItS3OdC3IRJMMVxZanFphqIWOnlyjqF/znOqiloaY7XRWrCMy6ZjkFtgfr
495QTeLtPqod6yoo1PD5uRZw5FV3O4RnXN0BOhsvrBMLLpZDl/TSRl4bzN1c
3mjAginfeqP+IxMoqPkDEjoWUTlY+TNn7FV7ZZD7soaLiC+L7Wptsy5s1pRD
imrmubeGHt+9aGaaslO5Rg7v1dLGeTdPwIcCc7w5BwLjlRl2FZO1ZdR9ugrX
ZdOBm8I68bCP91uuw7keVmzia9TGt//o86xZzU1F4k7KaJ+dHH00ho1QTggx
apcL3zlG8VKCooEqri7DVEfYCc2OA08MJBqRZ0gV1ejzB5YNiP83HPThZ3Jx
EOIsWL9XjHum69EYecSa79fxBdyxUG7R1llBZnrHSWmuBfXmNO+uxE7Cfpsk
voqCQgqTGH9cMgo5cc0Zid1NAIsONS5sEcIzNDinzFys1VcLEHfnflHdUhlJ
6Y9n8z5hvHBBhf/kora2VJjgAsXi+KZIHK1wEAANjYyyRBt44S9OQA/CmA3T
wCtHgshpL2HsiRlo6AQda5qH9VChbGdI3kgmV6lq/zapaj/tiv7lxXXpdE+F
J8vGIFd4goBIFVwpaUi8hnB0+rgHpj5Z9trNcnJe88Ze5RiFgWpqsJrJHLG+
ePxKE0p8vO8wO34yMOWdlAVzuVk2inhntzruwhCD9WUVZQFxIdN1NI6xLtwK
OkNNmQQbsSw7sNq7jymjritRSXaDL7e1ANGs78si1jacgWT9AOYtN5LLd7NZ
OtJRwR7Z+pHxnTVDJro1bD42vuzGDrtMqKGExEafp3HbiFLx1I2ZtiRrmZnb
GrPI24NNYtOsAZ79lIzQcp/zRXMtVZXoT0qH0UotzabBauu5tmYsWQy2ROsK
9A4kD75RjXzRFvMliifk4WSRRepa0kdA20b4hj4Vcz5XGUA8ALR9l3WjXH69
mJYvAm/sk6evKFiMS9b6+0TiQtRm0Eh13ZtHW1pLB9qw0nOX1u+sk1UG6ohO
U0w2PpgUMhn008YQ87HiP1XgrFgVObsRgCjVS9fU0kV25AOSOzVh0BSoxwKu
NAixZ80YW/SKDvsmTY47JkkEdYX+ExYi0uqoyBFWAEs0qtQNhGKF4f2hOUs5
/YPbOP2DzUxbvT06OBh5ocCm3ANW+UzokrGAuaa8hHEDKaSnp+mOx2jVfOy9
tXFdXSWytgLJIr+8S9G3ZY56ylUEEYfsAEQlRUSCIL65o+rq8T8wJ84NwdeY
5+jix5WCI7tYxzyoJ/rwthN9+LObBoV5qyGGNZOPM8f43jNGI+m7F84KYy+A
LNstmQbFZlD2FD/GPmPsLbzQu5pZxIIK+DI/U22XLbi4foyZEq3YVR+QLdFq
gg2hc9rZjweuDUS/yCkcz5xp2bjKLxTihak3khaOxhBPYyJBOgg1CqwdTSjO
u4YAnSB+UVhuZydGd46xMc7FEFThOzhnyZjGkH2hcZJIrSiWbhv4RbDuYLV+
E3bdhy2To2VVLtqIIZOGiPmArgJtIH979dhtSI0bVB8ClxNWZsOHw7K3Po+L
kkH/X63lrF/nvQEA

-->

</rfc>
