<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.17 (Ruby 3.3.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-pki-06" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.22.0 -->
  <front>
    <title abbrev="SCION CP-PKI">SCION Control-Plane PKI</title>
    <seriesInfo name="Internet-Draft" value="draft-dekater-scion-pki-06"/>
    <author initials="C." surname="de Kater" fullname="Corine de Kater">
      <organization>SCION Association</organization>
      <address>
        <email>c_de_kater@gmx.ch</email>
      </address>
    </author>
    <author initials="N." surname="Rustignoli" fullname="Nicola Rustignoli">
      <organization>SCION Association</organization>
      <address>
        <email>nic@scion.org</email>
      </address>
    </author>
    <author initials="S." surname="Hitz" fullname="Samuel Hitz">
      <organization>Anapaya Systems</organization>
      <address>
        <email>hitz@anapaya.net</email>
      </address>
    </author>
    <date year="2024" month="July" day="08"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 117?>

<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>
    <?line 124?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>SCION is a path-aware internetworking routing architecture as described in <xref target="RFC9217"/>. It allows endpoints and applications to select paths across the network to use for traffic, based on trustworthy path properties. SCION is an inter-domain network architecture and is therefore not concerned with intra-domain forwarding.</t>
      <t>SCION has been developed with the following goals:</t>
      <t><em>Availability</em> - to provide highly available communication that can send traffic over paths with optimal or required characteristics, quickly handle inter-domain link or router failures (both on the last hop or anywhere along the path) and provide continuity in the presence of adversaries.</t>
      <t><em>Security</em> - to provide higher levels of trust in routing information in order to prevent IP prefix hijacking/leaks, denial-of-service and other attacks. Endpoints can decide the trust roots they wish to rely on, routing information can be unambiguously attributed to an AS, and packets are only forwarded along authorized path segments. A particular use case is to enable geofencing.</t>
      <t><em>Scalability</em> - to improve the scalability of the inter-domain control plane and data plane, avoiding existing limitations related to convergence and forwarding table size. The advertising of path segments is separated into a beaconing process within each Isolation Domain (ISD) and between ISDs which incurs minimal overhead and resource requirements on routers.</t>
      <t>SCION relies on three main components:</t>
      <t><em>PKI</em> - To achieve scalability and trust, SCION organizes existing ASes into logical groups of independent routing planes called <em>Isolation Domains (ISDs)</em>. All ASes in an ISD agree on a set of trust roots called the <em>Trust Root Configuration (TRC)</em> which is a collection of signed root certificates in X.509 v3 format <xref target="RFC5280"/>. The ISD is governed by a set of <em>core ASes</em> which typically manage the trust roots and provide connectivity to other ISDs. This is the basis of the public key infrastructure which the SCION control plane relies upon for the authentication of messages that is used for the SCION control plane.</t>
      <t><em>Control Plane</em> - performs inter-domain routing by discovering and securely disseminating path information between ASes. The core ASes use Path-segment Construction Beacons (PCBs) to explore intra-ISD paths, or to explore paths across different ISDs. See <xref target="I-D.scion-cp"/></t>
      <t><em>Data Plane</em> - carries out secure packet forwarding between SCION-enabled ASes over paths selected by endpoints. A SCION border router reuses existing intra-domain infrastructure to communicate to other SCION routers or SCION endpoints within its AS. See <xref target="I-D.scion-dataplane"/></t>
      <t>This document describes the SCION PKI component used by the Control Plane.</t>
      <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 <bcp14>MUST</bcp14> 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 <bcp14>SHOULD</bcp14> only be triggered after a catastrophic event involving the loss or compromise of several important private keys.</t>
      </section>
      <section anchor="conventions-and-definitions">
        <name>Conventions and Definitions</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
      <section anchor="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>
            <t>Trust agility (see further below);</t>
          </li>
          <li>
            <t>Resilience to single root of trust compromise;</t>
          </li>
          <li>
            <t>Multilateral governance; and</t>
          </li>
          <li>
            <t>Support for policy versioning and updates.</t>
          </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 permitted by the ISD's trust policy). In this case, a new base TRC is created.</t>
        </section>
        <section anchor="substitutes-to-revocation">
          <name>Substitutes to Certificate Revocation</name>
          <t>The CP-PKI does not explicitly support certificate revocation. Instead, it relies on the two mechanisms described above and on short-lived certificates. This approach constitutes an attractive alternative to a revocation system for the following reasons:</t>
          <ul spacing="normal">
            <li>
              <t>Both short-lived certificates and revocation lists must be signed by a CA. Instead of periodically signing a new revocation list, the CA can simply re-issue all the non-revoked certificates. Although the overhead of signing multiple certificates is greater than that of signing a single revocation list, the overall complexity of the system is reduced. In the CP-PKI the number of certificates that each CA must renew is manageable as it is limited to at most the number of ASes within an ISD.</t>
            </li>
            <li>
              <t>Even with a revocation system, a compromised key cannot be instantaneously revoked. Through their validity period, both short-lived certificates and revocation lists implicitly define an attack window (i.e., a period during which an attacker who managed to compromise a key could use it before it becomes invalid). In both cases, the CA must consider a tradeoff between efficiency and security when picking this validity period.</t>
            </li>
          </ul>
        </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>
            <t><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).</t>
          </li>
          <li>
            <t><strong>Certification authorities (CAs)</strong>: CAs are responsible for issuing AS certificates to other ASes and/or themselves.</t>
          </li>
          <li>
            <t><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".</t>
          </li>
          <li>
            <t><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.</t>
          </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 <bcp14>MUST</bcp14> decide about the validity period of the TRC as well as the number of votes required to update a TRC. They <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> 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="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 <bcp14>RECOMMENDED</bcp14> <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 <bcp14>RECOMMENDED</bcp14> <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 <bcp14>RECOMMENDED</bcp14> <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 <bcp14>MAY</bcp14> 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 <bcp14>MAY</bcp14> 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 <bcp14>RECOMMENDED</bcp14> <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 <bcp14>MAY</bcp14> 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 <bcp14>RECOMMENDED</bcp14> <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 <bcp14>RECOMMENDED</bcp14> maximum validity period of one year, whereas the <bcp14>RECOMMENDED</bcp14> 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 <bcp14>RECOMMENDED</bcp14> maximum validity period of one year (see Table 2 below). This ensures that the TRC need 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 <bcp14>MAY</bcp14> 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 <bcp14>RECOMMENDED</bcp14> to enable the 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>
        <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. It <bcp14>MUST</bcp14> be set to "v3" (as extensions are <bcp14>REQUIRED</bcp14> in SCION).</t>
            </li>
            <li>
              <t><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.</t>
            </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>
                  <t><strong>SCION constraints</strong>: Currently, SCION only supports the ECDSA signature algorithm. Find all details here: <xref target="certsign"/>.</t>
                </li>
                <li>
                  <t><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.</t>
                </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>
                      <t>This field <bcp14>MUST</bcp14> be non-empty.</t>
                    </li>
                    <li>
                      <t>SCION implementations <bcp14>MUST</bcp14> ONLY use the “UTF8String” value type for all attributes (including the SCION-specific attribute <tt>ISD-AS number</tt>).</t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t><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"/>.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><tt>validity</tt> field: Defines the validity period of the certificate.  </t>
              <ul spacing="normal">
                <li>
                  <t><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.</t>
                </li>
                <li>
                  <t><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 <bcp14>SHOULD</bcp14> adopt these values.</t>
                </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>
                      <t>This field <bcp14>MUST</bcp14> be non-empty.</t>
                    </li>
                    <li>
                      <t>SCION implementations <bcp14>MUST</bcp14> ONLY use the “UTF8String” value type for all attributes (including the SCION-specific attribute <tt>ISD-AS number</tt>).</t>
                    </li>
                  </ul>
                </li>
                <li>
                  <t><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"/>.</t>
                </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>
                  <t><strong>SCION constraints</strong>: For constraints regarding the algorithm, see the <tt>signature</tt> field.</t>
                </li>
              </ul>
            </li>
            <li>
              <t><tt>issuerUniqueID</tt> field: it <bcp14>MUST NOT</bcp14> be used in SCION.</t>
            </li>
            <li>
              <t><tt>subjectUniqueID</tt> field: it <bcp14>MUST NOT</bcp14> be used in SCION.</t>
            </li>
            <li>
              <t><tt>extensions</tt> sequence: Defines the extensions of the certificate. For a description of all extensions used in SCION, see <xref target="exts"/>.</t>
            </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>
                <t>NIST P-256 (NISTFIPS186-4, section D.1.2.3) (named <tt>secp256r1</tt> in <xref target="RFC5480"/>)</t>
              </li>
              <li>
                <t>NIST P-384 (NISTFIPS186-4, section D.1.2.4) (named <tt>secp384r1</tt> in <xref target="RFC5480"/>)</t>
              </li>
              <li>
                <t>NIST P-521 (NISTFIPS186-4, section D.1.2.5) (named <tt>secp521r1</tt> in <xref target="RFC5480"/>)</t>
              </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>
                <t>ECDSA with SHA-256, for a P-256 signing key</t>
              </li>
              <li>
                <t>ECDSA with SHA-384, for a P-384 signing key</t>
              </li>
              <li>
                <t>ECDSA with SHA-512, for a P-521 signing key</t>
              </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-scion id-cppki(1) id-at(2) 1}</tt></t>
              <t>where <tt>id-scion</tt> specifies the root SCION object identifier (OID).</t>
              <t><strong>Note</strong>: The root SCION object identifier (OID) for the SCION open-source implementation is the IANA Private Enterprise Number '55324':<br/>
                <tt>id-scion ::= 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>
                  <t>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>.</t>
                </li>
                <li>
                  <t>The canonical string representation uses a dash separator between the ISD and AS numbers.</t>
                </li>
                <li>
                  <t>The ISD numbers are formatted as decimal.</t>
                </li>
                <li>
                  <t>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>.</t>
                </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>
              <t><tt>authorityKeyIdentifier</tt></t>
            </li>
            <li>
              <t><tt>subjectKeyIdentifier</tt></t>
            </li>
            <li>
              <t><tt>keyUsage</tt></t>
            </li>
            <li>
              <t><tt>extKeyUsage</tt></t>
            </li>
            <li>
              <t><tt>basicConstraints</tt></t>
            </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>
                <t><tt>keyIdentifier</tt></t>
              </li>
              <li>
                <t><tt>authorityCertIssuer</tt></t>
              </li>
              <li>
                <t><tt>authorityCertSerialNumber</tt></t>
              </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 <bcp14>MAY</bcp14> 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 <bcp14>SHOULD</bcp14> 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>
                <t><tt>digitalSignature</tt>: The public key can be used to verify the digital signature of a control-plane payload.</t>
              </li>
              <li>
                <t><tt>contentCommitment</tt>: Not used.</t>
              </li>
              <li>
                <t><tt>keyEncipherment</tt>: Not used.</t>
              </li>
              <li>
                <t><tt>dataEncipherment</tt>: Not used.</t>
              </li>
              <li>
                <t><tt>keyAgreement</tt>: Not used.</t>
              </li>
              <li>
                <t><tt>keyCertSign</tt>: The public key can be used to verify the CA signature on a control-plane certificate.</t>
              </li>
              <li>
                <t><tt>cRLSign</tt>: Not used.</t>
              </li>
              <li>
                <t><tt>encipherOnly</tt>: Not used.</t>
              </li>
              <li>
                <t><tt>decipherOnly</tt>: Not used.</t>
              </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 <bcp14>MUST</bcp14> 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 <bcp14>SHOULD</bcp14> be marked as "critical". That is, the <tt>critical</tt> Boolean attribute of this extension <bcp14>MUST</bcp14> 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 <bcp14>SHOULD</bcp14> 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 <bcp14>SHOULD NOT</bcp14> be used to verify control-plane messages.<br/>
(2) The CA certificate <bcp14>SHOULD NOT</bcp14> 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>
                <t><tt>id-kp-serverAuth</tt>: If set, the public key can be used for SCION control-plane server authentication.</t>
              </li>
              <li>
                <t><tt>id-kp-clientAuth</tt>: If set, the public key can be used for SCION control-plane client authentication.</t>
              </li>
              <li>
                <t><tt>id-kp-timeStamping</tt>: If set, the public key can be used for the verification of timestamps.</t>
              </li>
            </ul>
            <t>Additionally, the Extended Key Usage extension sequence <bcp14>MAY</bcp14> 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 <bcp14>MUST</bcp14> be specified as follows:</t>
              <ul spacing="normal">
                <li>
                  <t>Root certificate:<br/> <tt>id-kp-root AttributeType ::= {id-scion id-cppki(1) id-kp(3) 3}</tt></t>
                </li>
                <li>
                  <t>Regular voting certificate:<br/> <tt>id-kp-regular AttributeType ::= {id-scion id-cppki(1) id-kp(3) 2}</tt></t>
                </li>
                <li>
                  <t>Sensitive voting certificate:<br/> <tt>id-kp-sensitive AttributeType ::= {id-scion id-cppki(1) id-kp(3) 1}</tt></t>
                </li>
              </ul>
              <t>where <tt>id-scion</tt> specifies the root SCION object identifier (OID).</t>
              <t><strong>Note</strong>: The root SCION object identifier (OID) for the SCION open-source implementation is the IANA Private Enterprise Number '55324':<br/>
                <tt>id-scion ::= 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>
                <t><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.</t>
              </li>
              <li>
                <t><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 maximum length of the certification path.</t>
              </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>
              <t>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.</t>
            </li>
            <li>
              <t>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.</t>
            </li>
            <li>
              <t>Update: All non-base TRCs are updated TRCs. They are the product of either a regular or a sensitive update.</t>
            </li>
          </ul>
          <t>A TRC can have the following states:</t>
          <ul spacing="normal">
            <li>
              <t>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.</t>
            </li>
            <li>
              <t>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.</t>
            </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>
                  <t>ISD number (<tt>iSD</tt> attribute),</t>
                </li>
                <li>
                  <t>base number (<tt>baseNumber</tt> attribute), and</t>
                </li>
                <li>
                  <t>TRC serial number (<tt>serialNumber</tt> attribute).</t>
                </li>
              </ul>
              <t>All numbers <bcp14>MUST</bcp14> be positive integers.</t>
              <ul spacing="normal">
                <li>
                  <t>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"/>).</t>
                </li>
                <li>
                  <t>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.</t>
                </li>
                <li>
                  <t>The <strong>serial number</strong> represents the current update cycle, counting from the initial TRC of a specific ISD.</t>
                </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>
                  <t>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.</t>
                </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>
                  <t>the grace period has passed,</t>
                </li>
                <li>
                  <t>the predecessor’s expiration time is reached, or</t>
                </li>
                <li>
                  <t>the successor TRC of the new TRC has been announced.</t>
                </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 <bcp14>SHOULD</bcp14> 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 <bcp14>MUST NOT</bcp14> 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 <bcp14>OPTIONAL</bcp14> 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 <bcp14>MUST</bcp14> 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>
                    <t>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.</t>
                  </li>
                  <li>
                    <t>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.</t>
                  </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>
                  <t>Every authoritative AS <bcp14>MUST</bcp14> be a core AS and be listed in the <tt>coreASes</tt> field.</t>
                </li>
                <li>
                  <t>Each authoritative AS number <bcp14>MUST</bcp14> be unique in the sequence of authoritative AS numbers. That is, each AS number <bcp14>MUST NOT</bcp14> appear more than once in the <tt>authoritativeASes</tt> field.</t>
                </li>
              </ul>
              <section anchor="revoking-or-assigning-authoritative-status">
                <name> Revoking or Assigning Authoritative Status</name>
                <ul spacing="normal">
                  <li>
                    <t>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.</t>
                  </li>
                  <li>
                    <t>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.</t>
                  </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>
                  <t>The <tt>description</tt> field <bcp14>SHOULD NOT</bcp14> be empty.</t>
                </li>
                <li>
                  <t>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.</t>
                </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 <bcp14>MUST</bcp14> be one of the following types:</t>
              <ul spacing="normal">
                <li>
                  <t>a sensitive voting certificate,</t>
                </li>
                <li>
                  <t>a regular voting certificate, or</t>
                </li>
                <li>
                  <t>a CP root certificate.</t>
                </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>
                  <t>Each certificate <bcp14>MUST</bcp14> be unique in the sequence of certificates. That is, each certificate <bcp14>MUST NOT</bcp14> appear more than once in the <tt>certificates</tt> field.</t>
                </li>
                <li>
                  <t>The <tt>issuer</tt> / <tt>serialNumber</tt> pair for each certificate <bcp14>MUST</bcp14> be unique.</t>
                </li>
                <li>
                  <t>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"/>).</t>
                </li>
                <li>
                  <t>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.</t>
                </li>
                <li>
                  <t>Per certificate type, every certificate distinguished name <bcp14>MUST</bcp14> be unique.</t>
                </li>
              </ul>
              <t>The following must hold for the entire sequence of certificates in the <tt>certificates</tt> field:</t>
              <ul spacing="normal">
                <li>
                  <t><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"/>) <bcp14>MUST</bcp14> be smaller than or equal to the number of <em>sensitive</em> voting certificates specified in the TRC's <tt>certificates</tt> field.</t>
                </li>
                <li>
                  <t><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"/>) <bcp14>MUST</bcp14> be smaller than or equal to the number of <em>regular</em> voting certificates specified in the TRC's <tt>certificates</tt> field.</t>
                </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>
                    <t>The <tt>eContentType</tt> field <bcp14>MUST</bcp14> be set to "id-data".</t>
                  </li>
                  <li>
                    <t>The content of the <tt>eContent</tt> field <bcp14>MUST</bcp14> 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"/>.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>SignedData</tt> sequence:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>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"/>).</t>
                  </li>
                  <li>
                    <t>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"/>).</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>SignerIdentifier</tt> choice:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>The type of signer identifier chosen here <bcp14>MUST</bcp14> be <tt>IssuerAndSerialNumber</tt>.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t><tt>SignerInfo</tt> sequence:
                </t>
                <ul spacing="normal">
                  <li>
                    <t>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"/>).</t>
                  </li>
                  <li>
                    <t>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>).</t>
                  </li>
                  <li>
                    <t>The <tt>digestAlgorithm</tt> is determined by the algorithm specified in the <tt>signatureAlgorithm</tt> field.</t>
                  </li>
                </ul>
              </li>
            </ul>
          </section>
          <section anchor="trc-equality">
            <name> TRC Equality</name>
            <t>The signer information in the signed TRC is part of an unordered set, per <xref target="RFC5652"/>. This implies that the signer information 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>
                <t>The <bcp14>REQUIRED</bcp14> 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"/>.</t>
              </li>
              <li>
                <t>The <bcp14>REQUIRED</bcp14> signatures for new certificates are implied by the currently valid TRC payload, and, in case of a TRC update, the predecessor payload.</t>
              </li>
            </ul>
          </section>
        </section>
        <section anchor="certification-path-trust-anchor-pool">
          <name> Certification Path - Trust Anchor Pool</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. However, AS certificates and the corresponding signing CA certificates are <strong>not</strong> part of the TRC, but bundled into certificate chains and distributed separately from the corresponding TRC. This separation 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. To be able to validate a certification path, each AS  build a collection of root certificates from the latest TRC of the relevant ISD. The following section explains how to build a trust anchor pool.</t>
          <t><strong>Note:</strong> Any entity sending information that is secured by the CP-PKI, such as control-plane messages, <bcp14>MUST</bcp14> be able to provide all the necessary trust material, such as certificates, to verify said information. If any cryptographic material is missing in the process, the relying party <bcp14>MUST</bcp14> query the originator of the message for the missing material. If it cannot be resolved, the verification process fails. For more details, see 4.2 "Signing and Verifying Control-Plane Messages" <xref target="signing-verifying-cp-messages"/>.</t>
          <section anchor="trc-selection">
            <name> TRC Selection For Trust Anchor Pool</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. The type of update 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. Based on the type of update, a different set of voters is necessary to create a verifiable TRC update - the section includes a description of the corresponding voting (signing) process. To verify a TRC update, a relying party <bcp14>MUST</bcp14> perform a couple of checks. These checks are listed at the end of the section.</t>
          <section anchor="change-new">
            <name> Changed or New Certificates</name>
            <t>In the context of a TRC update,</t>
            <ul spacing="normal">
              <li>
                <t>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>.</t>
              </li>
              <li>
                <t>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.</t>
              </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 <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> 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>
                <t>The <tt>iSD</tt> and <tt>baseNumber</tt> in the <tt>iD</tt> field <bcp14>MUST NOT</bcp14> change (see also <xref target="id"/>).</t>
              </li>
              <li>
                <t>The <tt>serialNumber</tt> in the <tt>iD</tt> field <bcp14>MUST</bcp14> be incremented by one.</t>
              </li>
              <li>
                <t>The <tt>noTrustReset</tt> field <bcp14>MUST NOT</bcp14> change (see also <xref target="notrustreset"/>).</t>
              </li>
              <li>
                <t>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"/>.</t>
              </li>
              <li>
                <t>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.</t>
              </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>
                    <t>The voting quorum set in the <tt>votingQuorum</tt> field.</t>
                  </li>
                  <li>
                    <t>The core ASes specified in the <tt>coreASes</tt> field.</t>
                  </li>
                  <li>
                    <t>The authoritative ASes specified in the <tt>authoritativeASes</tt> field.</t>
                  </li>
                  <li>
                    <t>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.</t>
                  </li>
                  <li>
                    <t>The set of sensitive voting certificates specified in the <tt>certificates</tt> field.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>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.</t>
              </li>
              <li>
                <t>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).</t>
              </li>
              <li>
                <t>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.</t>
              </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>
                <t>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.</t>
              </li>
            </ul>
          </section>
          <section anchor="signing-a-trc-update">
            <name> Signing a TRC Update</name>
            <t>As described above, a set of voters <bcp14>MUST</bcp14> cast votes on the updated TRC to make it verifiable. The <tt>votingQuorum</tt> field of the predecessor TRC (see <xref target="quorum"/>) defines the required number of voters, which will 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 <bcp14>MUST</bcp14> also sign the updated TRC, in order to 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. For the distinction between changed and new certificates in a TRC update, see <xref target="change-new"/>.</t>
            <t>It is up to the ISD members to decide how the "casting a vote" procedure for updated TRCs will take place. 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 anchor="trc-update-verification">
            <name> TRC Update Verification</name>
            <t>To verify a TRC update, the relying party <bcp14>MUST</bcp14> perform the following checks:</t>
            <ul spacing="normal">
              <li>
                <t>Check that the specified update rules as described above are respected.</t>
              </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>
                        <t>check that the signatures for the changing certificates are present and verifiable, and</t>
                      </li>
                      <li>
                        <t>check that all votes are cast by a regular voting certificate.</t>
                      </li>
                    </ul>
                  </li>
                  <li>
                    <t>In case of a sensitive update, check that all votes are cast by a sensitive voting certificate.</t>
                  </li>
                </ul>
              </li>
              <li>
                <t>In both cases, check that all signatures are verifiable, and no superfluous signatures are attached.</t>
              </li>
            </ul>
            <t>If one or more of the above checks gives a negative result, the updated TRC <bcp14>SHOULD</bcp14> be rejected.</t>
          </section>
        </section>
      </section>
      <section anchor="trc-ceremony">
        <name>Initial 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 <bcp14>MUST</bcp14> be signed during a special 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>
    </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 <bcp14>MUST</bcp14> 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="discover-trcupdate">
            <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 <bcp14>MUST</bcp14> 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>
                <t><em>Beaconing Process</em><br/>
The TRC version is announced in the beaconing process. Each AS <bcp14>MUST</bcp14> announce what it considers to be the latest TRC. Furthermore, each AS <bcp14>MUST</bcp14> 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, a core AS notices TRC updates for remote ISDs that are on the beaconing path. A non-core AS only notices TRC updates for the local ISD through the beaconing process. The creation of a new TRC <bcp14>SHOULD</bcp14> trigger the generation of new control-plane messages, as the propagation of control-plane messages will help other ASes rapidly discover the new TRC.</t>
              </li>
              <li>
                <t><em>Path Lookup</em><br/>
In every path segment, all ASes <bcp14>MUST</bcp14> 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.</t>
              </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 <bcp14>MUST</bcp14> 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>
              <t>ISD-AS number: The ISD-AS number of the signing entity. For specification details, see <xref target="isd-as-nr"/>.</t>
            </li>
            <li>
              <t>Subject key identifier: The identifier of the public key that <bcp14>MUST</bcp14> be used to verify the message. For specification details, see <xref target="subject-key-id-ext"/>.</t>
            </li>
          </ul>
          <t>Additionally, the signer <bcp14>SHOULD</bcp14> include the following information:</t>
          <ul spacing="normal">
            <li>
              <t>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"/>.</t>
            </li>
            <li>
              <t>Timestamp: For many messages, the time at which it was signed is useful information to ensure freshness.</t>
            </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 <bcp14>MUST</bcp14> perform the following steps:</t>
          <ol spacing="normal" type="1"><li>
              <t>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 <bcp14>MUST</bcp14> also be included. For a description on how to build the correct collection of certificates, see <xref target="trc-selection"/>.</t>
            </li>
            <li>
              <t>If the signature metadata of the message contains the serial and base number of the latest TRC, the relying party <bcp14>MUST</bcp14> check that they have this latest TRC. If not, the relying party <bcp14>MUST</bcp14> request the latest TRC.</t>
            </li>
            <li>
              <t>After constructing the pool of root certificates, the relying party <bcp14>MUST</bcp14> 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>
                  <t>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"/>.</t>
                </li>
                <li>
                  <t>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"/>.</t>
                </li>
                <li>
                  <t>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.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>After selecting a certificate chain to verify the control-plane messages, the relying party <bcp14>MUST</bcp14> verify the certificate chain, by:
              </t>
              <ul spacing="normal">
                <li>
                  <t>Executing the regular X.509 verification procedure. For details, see <eref target="https://handle.itu.int/11.1002/1000/13031">X.509</eref>.</t>
                </li>
                <li>
                  <t>Checking that
                  </t>
                  <ul spacing="normal">
                    <li>
                      <t>all subjects of the certificates in the chain carry the same ISD number (see also <xref target="isd-as-nr"/>,</t>
                    </li>
                    <li>
                      <t>each certificate is of the correct type (see also <xref target="overview"/>), and</t>
                    </li>
                    <li>
                      <t>the CA certificate validity period covers the AS certificate validity period.</t>
                    </li>
                  </ul>
                </li>
              </ul>
            </li>
            <li>
              <t>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.</t>
            </li>
          </ol>
          <t>If any cryptographic material is missing in the process, the relying party <bcp14>MUST</bcp14> query 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 <bcp14>SHOULD</bcp14> 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 <bcp14>REQUIRED</bcp14> to create a new AS certificate are the following:</t>
        <ol spacing="normal" type="1"><li>
            <t>The AS creates a new key pair and a certificate signing request (CSR) using that key pair.</t>
          </li>
          <li>
            <t>The AS sends the certificate signing request to the relevant CA within the ISD.</t>
          </li>
          <li>
            <t>The CA uses its CA key and the CSR to create the new AS certificate.</t>
          </li>
          <li>
            <t>The CA sends the AS certificate back to the AS.</t>
          </li>
        </ol>
        <t>When an AS joins an ISD, the first CSR is sent out of band to one of the CAs as part of the formalities to join the ISD. Subsequent certificate renewals <bcp14>MAY</bcp14> be automated and can leverage the control-plane communication infrastructure.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The goal of SCION is to provide a secure inter-domain network architecture, therefore this paragraph focuses on <em>inter</em>-AS security considerations. Specifically, it covers potential attacks and mitigations for the control-plane PKI. All <em>intra</em>-AS trust- and security aspects are out of scope.</t>
      <section anchor="dependency-on-certificates">
        <name>Dependency on Certificates</name>
        <t>In public key infrastructures, certificate authorities have both the responsibility and power to issue and revoke certificates. If a CA is compromised or malicious, this power can be abused. A misbehaving CA could refuse to issue certificates to legitimate entities, or even issue illegitimate certificates to allow impersonation of another entity. In the context of the SCION control-plane PKI, refusing to issue or renew a certificate to an AS will ultimately cut that AS off from the network, turning the CP-PKI into a potential network "kill switch". In order to prevent this, within each ISD there are usually multiple independent CAs.</t>
        <t>SCION’s trust architecture fundamentally differs from a global monopolistic trust model. In SCION, each ISD manages its own trust roots instead of a single global entity providing those roots. This structure gives each ISD autonomy in terms of key management and in terms of trust, and prevents the occurrence of a global kill switch affecting all ISDs at once. However, each ISD is still susceptible of compromises that could affect or halt other components (control plane and forwarding). The following sections explain these cases and possible countermeasures.</t>
        <section anchor="compromise-of-an-isd">
          <name>Compromise of an ISD</name>
          <t>Compared to other trust architectures, in SCION there is no central authority that could "switch off" an ISD, as each ISD relies on its own independent cryptographic trust roots. Each AS within an ISD is therefore dependant on its ISD's PKI for its functioning. This section discusses potential compromises of the PKI at various levels of the hierarchy.</t>
          <ul spacing="normal">
            <li>
              <t>On TRC level: The private root keys of the root certificates contained in an TRC are used to sign CA certificates. If one of these private root keys is compromised, the adversary could issue illegitimate CA certificates which may be used in further attacks. To maliciously  perform a TRC update, an attacker would need to compromise multiple voting keys. This number depends on the voting quorum set in the TRC: the higher the quorum, the more unlikely a malicious update will be.</t>
            </li>
            <li>
              <t>On CA level: The private keys of an ISD's CA certificates are used to sign the AS certificates. All ASes within an ISD obtain certificates directly from the CAs. If one of the CA’s keys is compromised, an adversary could issue illegitimate AS certificates, which may be used in further attacks.</t>
            </li>
            <li>
              <t>On AS level: Each AS within an ISD signs control-plane messages, such as the Path Construction Beacons (PCBs) used for path discovery, with their AS private key. If the keys of an AS are compromised by an adversary, this adversary can illegitimately sign control-plane messages, including PCBs. This means that the adversary can also manipulate the PCBs, and propagate the manipulated PCBs to neighboring ASes or register/store them as path segments.</t>
            </li>
          </ul>
        </section>
        <section anchor="recovery-from-compromise">
          <name>Recovery from Compromise</name>
          <t>This section deals with possible recovery from the compromises discussed in the previous paragraph.
As described in <xref target="substitutes-to-revocation"/>, there is no revocation in the CP-PKI.</t>
          <ul spacing="normal">
            <li>
              <t>On TRC level: If any of the root keys or voting keys contained in the TRC are compromised, the TRC <bcp14>MUST</bcp14> be updated as described in <xref target="update"/>. Note that this is a sensitive TRC update, as the certificate related to the compromised private key <bcp14>MUST</bcp14> be replaced with an entirely new certificate (and not just changed). A trust reset is only required in the case the number of compromised  keys at the same time is greater or equal than the TRC's quorum (see <xref target="quorum"/>).</t>
            </li>
            <li>
              <t>On CA level: If the private key related to a CA certificate is compromised, the impacted CA AS <bcp14>MUST</bcp14> obtain a new CA certificate from the corresponding root AS. CA certificates are generally short lived to limit the impact of compromise. Alternatively, with a TRC update, a new root keys can also be forced, invalidating the compromised CA.</t>
            </li>
            <li>
              <t>On AS level: In the event of a key compromise of a (non-core) AS, the impacted AS needs to obtain a new certificate from its CA. This process will vary depending on internal issuance protocols.</t>
            </li>
          </ul>
        </section>
      </section>
      <section anchor="denial-of-service-attacks">
        <name>Denial of Service Attacks</name>
        <t>As described previously, the SCION's control-plane PKI lays the foundation for the authentication procedures in SCION. It provides each AS within a specific ISD with a certified key pair. These keys enable the authentication of all control-plane messages - every AS and endpoint can verify all control-plane messages by following the certificate chain.</t>
        <t>The relying party <bcp14>MUST</bcp14> be able to discover and obtain new or updated cryptographic material. For the control plane messages, this is simplified by the observation that the sender of a message (e.g. of a path construction beacon during path exploration or a path segment during a path lookup) always has all the cryptographic material to verify it. Thus, the receiver can always immediately obtain all the cryptographic material from the message originator.
As the corresponding PKI messaging thus only occurs when the control plane is already communicating, these requests to obtain cryptographic material are not prone to additional denial of service attacks. We therefore refer to <xref target="I-D.scion-cp"/> for a more detailed description of DoS vulnerabilities of control-plane messages.</t>
        <t>For certificate renewal, on the other hand, this does not apply.
Denial of Service on the CA infrastructure or on the communication links from the individual ASes to the CA, could be used by an attacker to prevent victim ASes from renewing their certificates, halting the path discovery process.
This risk can be mitigated in multiple ways:</t>
        <ul spacing="normal">
          <li>
            <t>CAs only need to be accessible from ASes within the ISD, reducing the potential DoS attack surface</t>
          </li>
          <li>
            <t>ISDs usually rely on multiple CAs</t>
          </li>
          <li>
            <t>ISDs could create policies and processes to renew certificates out-of-band</t>
          </li>
        </ul>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
      <t>The SCION AS and ISD number are SCION-specific numbers. They are currently allocated by Anapaya Systems, a provider of SCION-based networking software and solutions (see <eref target="https://docs.anapaya.net/en/latest/resources/isd-as-assignments/">Anapaya ISD AS assignments</eref>). This task is currently being transitioned from Anapaya to the SCION Association.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references anchor="sec-normative-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"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <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="RFC5480">
          <front>
            <title>Elliptic Curve Cryptography Subject Public Key Information</title>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="K. Yiu" initials="K." surname="Yiu"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="T. Polk" initials="T." surname="Polk"/>
            <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"/>
            <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"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="K. Moriarty" initials="K." surname="Moriarty"/>
            <author fullname="D. Brown" initials="D." surname="Brown"/>
            <author fullname="T. Polk" initials="T." surname="Polk"/>
            <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="RFC9217">
          <front>
            <title>Current Open Questions in Path-Aware Networking</title>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <date month="March" year="2022"/>
            <abstract>
              <t>In contrast to the present Internet architecture, a path-aware internetworking architecture has two important properties: it exposes the properties of available Internet paths to endpoints, and it provides for endpoints and applications to use these properties to select paths through the Internet for their traffic. While this property of "path awareness" already exists in many Internet-connected networks within single domains and via administrative interfaces to the network layer, a fully path-aware internetwork expands these concepts across layers and across the Internet.</t>
              <t>This document poses questions in path-aware networking, open as of 2021, that must be answered in the design, development, and deployment of path-aware internetworks. It was originally written to frame discussions in the Path Aware Networking Research Group (PANRG), and has been published to snapshot current thinking in this space.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9217"/>
          <seriesInfo name="DOI" value="10.17487/RFC9217"/>
        </reference>
        <reference anchor="I-D.scion-cp" target="https://datatracker.ietf.org/doc/draft-dekater-scion-controlplane/">
          <front>
            <title>SCION Control Plane</title>
            <author initials="C." surname="de Kater" fullname="Corine de Kater">
              <organization>SCION Association</organization>
            </author>
            <author initials="N." surname="Rustignoli" fullname="Nicola Rustignoli">
              <organization>SCION Association</organization>
            </author>
            <author initials="S." surname="Hitz" fullname="Samuel Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="I-D.scion-dataplane" target="https://datatracker.ietf.org/doc/draft-dekater-scion-dataplane/">
          <front>
            <title>SCION Data Plane</title>
            <author initials="C." surname="de Kater" fullname="Corine de Kater">
              <organization>SCION Association</organization>
            </author>
            <author initials="N." surname="Rustignoli" fullname="Nicola Rustignoli">
              <organization>SCION Association</organization>
            </author>
            <author initials="S." surname="Hitz" fullname="Samuel Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <date year="2023"/>
          </front>
        </reference>
        <reference anchor="RFC2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC5398">
          <front>
            <title>Autonomous System (AS) Number Reservation for Documentation Use</title>
            <author fullname="G. Huston" initials="G." surname="Huston"/>
            <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="RFC6996">
          <front>
            <title>Autonomous System (AS) Reservation for Private Use</title>
            <author fullname="J. Mitchell" initials="J." surname="Mitchell"/>
            <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="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"/>
          <refcontent>Association for Computing Machinery (ACM)</refcontent>
        </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>
      </references>
    </references>
    <?line 1401?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Many thanks go to 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 Initial 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>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </li>
          <li>
            <t>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.</t>
          </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>
            <t>validity of the TRC,</t>
          </li>
          <li>
            <t>voting quorum,</t>
          </li>
          <li>
            <t>core ASes/authoritative ASes,</t>
          </li>
          <li>
            <t>description, and</t>
          </li>
          <li>
            <t>list of CP root certificates.</t>
          </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 screencast.</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>
              <t>Device to exchange data. This device can either be provided by the ceremony administrator, or, if preferable, by any of the voting representatives.</t>
            </li>
            <li>
              <t>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.</t>
            </li>
            <li>
              <t>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.</t>
            </li>
          </ul>
          <t>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 <bcp14>MUST</bcp14> 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>
                <t>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.</t>
              </li>
              <li>
                <t>Remind all representatives of the voting ASes that they need to agree on a common TRC policy before scheduling the TRC ceremony.</t>
              </li>
              <li>
                <t>Bring all digitally distributed documents as a printout for all parties that take part.</t>
              </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 <bcp14>MUST</bcp14> <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 <bcp14>MUST</bcp14> create the following keys and certificates:</t>
            <ul spacing="normal">
              <li>
                <t>A sensitive voting private key, and a certificate holding the corresponding public key.</t>
              </li>
              <li>
                <t>A regular voting private key, and a certificate holding the corresponding public key.</t>
              </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) <bcp14>MUST</bcp14> ensure that the following key and certificate is available:</t>
            <ul spacing="normal">
              <li>
                <t>A control-plane root private key, and a certificate holding the corresponding public key.</t>
              </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 need 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 <bcp14>MUST</bcp14> 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>
            <t><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.</t>
          </li>
          <li>
            <t><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.</t>
          </li>
          <li>
            <t><xref target="phase3">Phase 3: TRC Signing</xref>. In the third phase, each voting representative attaches the required signatures to the TRC.</t>
          </li>
          <li>
            <t><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.</t>
          </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 <bcp14>MUST</bcp14> 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> need to 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 <bcp14>MUST</bcp14> 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 <bcp14>MUST</bcp14> ask the voting representatives for:</t>
          <ul spacing="normal">
            <li>
              <t>The ISD number of the ISD. The number (identifier, ID) of an ISD <bcp14>MUST</bcp14> 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"/>.</t>
            </li>
            <li>
              <t>The description of the TRC. For more information, see <xref target="description"/>.</t>
            </li>
            <li>
              <t>The AS numbers of the core ASes of the ISD. For more information, see <xref target="core"/>.</t>
            </li>
            <li>
              <t>The AS numbers of the authoritative ASes of the ISD. For more information, see <xref target="auth"/>.</t>
            </li>
            <li>
              <t>The voting quorum for the next TRC update. For more information, see <xref target="quorum"/>.</t>
            </li>
            <li>
              <t>The validity period of the new TRC. For more information, see <xref target="validity"/>.</t>
            </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 <bcp14>MUST</bcp14> 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:
H4sIAAAAAAAAA+y97XIcx5Uo+B9PUReKWKGh7ibBD33Alu40QcrCtURyCMie
GYfDLHQXgDK7u3qqqgHCJDfmIe7+uBG7EfMO+wbzKH6SPZ+ZJ7OyGg1K9szu
CqMxgarKr5MnT57vMxqNdtqynReH2e7J0fGL59lRtWzraj56Oc+XRfbyt8e7
O/nZWV1c+S9ejujxNG+Li6q+OczK5Xm106zPFmXTlND+ZlXgw1mxKuB/lu3O
zqyaLvMFPJ3V+Xk7mhVvoHE9aqbw+Wj1phzd/3wHRni480mW10UOYx2/Ov12
F/68ruo3F3W1XsGzl3l7mU2u4YvsedHim3J5kb36ze7Om+IG/pwdZsdL6HdZ
tKOnONDOVbFcF4fQTXZ7H/ARz3z3VdEUeT29zH6DjejNIi/n8GaVL+uLfyjr
9nxc1Rf0Bj+EN5dtu2oO7927vr4elwW/v4etRvhBeVXcuy7O7lH7e7s7MJ+y
vVyfQUOCQd401bTMW/j1HgNlugKw/Ol49BQ/ngO0mtaMEjcac3fjsoqb3+uB
+PiyXcx3d3bydXtZ1Yc72SjLYM+aw+xonM2K7Lf4OQwNP7xzR1VdAkaEr2CR
hxmjxcTPht8VDLPpn2bFn2jwf7hYvB1PL3fMWM/H2at105YXy2pe2tGel9Nq
nndebjHespz+A60Sd8COdTLOvivbv9hRTvLFupibx9T/ZJmv8ps8O7lp2mLR
BL1fwqf/kPMHY8CznZ1lVS9gFleAZln26tujxw++vK+/PvK/fv74gf76xeMv
5devHhx8gb/CPo113w5pPDmUwZnM6EzS6xnA8zB7cP/BQ/46ry8KwA9FD3id
t3U+fVPUHhnhDCaRYcq9r7Dze9Sdwwn6Gcm/feixGUNu2bS49wRC3IYTdxwh
QIN+TOhHBr9ZCGYCW2LPnsK7v9GGuWF/2a3bdmsHr6bofD78So/f51999Tn+
+mTy6tWzVxM4i9nTF8fjg/vjg4NHj+89vP/l48dfHcAHR9/9ODl98CDY5t3T
ywKAuFjNi7bIfrMuAZJtxevaDff8QXrPq5K2GYe7f/+Le1998eXo4ej+w4PR
faAhX47uU6umqMuiwWXoDh+fPHl+mIVffzF6eDsufD/Oji7XeRsB8/t8XcMl
Hb0jcD47/S77lzXMAKh2sssfxtn3xcWyg1w/5PWbdRO/267Pp+PsSQ4rjrp8
ml+Vs+jN1h1+l6+by6IzTe6z85K6fdHCbl5VS9ha7PtNkf24BCyqm7K9gfVd
zIqzNVwwfwusTfb5cpz9AM3nnUW8BPyrO++2A81kDM3ruryI+pzM6jJfxu86
fe6MRqMsP2uQdMFVeHpZNhlQrfUC8WlVAxu1bJushYPS1kAHMrhqpsWqzfLl
DAhPA3Qhq87pPZODfbmLRivmPtdn83Ka/ba4Ab7uvM5hnPW0BWzN9oADHewP
udmnTbbiL4ENRGbUfrmoZsV8LP3vnUzzeX5WzmEPh3qtDmk6xw1QK6RD2Ysl
cIZv29FFAbjLj5bMKTaDDBaYZyvgIUc58pBDGA4J86wC9sB9Rzxh2RY0g3GG
hCJa2G+PhwDNrIHD2gpDPcwuYR7zosmm9c2qrS7qfHUJa1ogdS7zOc1ynt8w
PM+r9XLGkwMCR4/w7AO8yyk/XtXVtJjBBBqYI69/nB23uIJ1U8yysxsHPZlc
xpMDtDddFTQu4H15fkMLzxxJrZYMurN1OZ/xtM7geDY0I+27WRVTnD0jAO0G
fgUTgDk21Qg2ZF5Y8D8lUDbjGJ3Oyxo6KHGms/W0sGglvRaXIHN4bPILs1DP
m+waTgr+O53nsCqBV4PrbnmnEEcFSgC6ssUthKnQyubz6pqhRyvzzQWRZ+X5
eUH0FIUJejwt6pY/hL9zmeIpzfxVVbWIh+flxZpxjdHFrRr3QUeC1pfVNc4T
JKt5dUP9XF9W8yJCeoAdncxFOQOE2gEp5VjARhftDh+GCJUZk5deJgLZp8V/
LTIj2ODgTuvyjIHz7p2wsR8+EHblCJ8mA7lvVZV4+HG9+Wo1t2Buijl0R2PD
B9O6ang39fjAJwB8RmzgfwB0Q48ztOXwWXsp+AiIvkIIF40ec1zZ8vaTSXMr
aei6gMFgApXQKIDDLLsuCdthCtoLfASgmgFUxgrFS4DIWQGbNCuuijnMRNrx
IUVoIAwvqnzeHO7s7E+uQIwQCrQPsgksFeZ/hczDZXlxOb/Jcv5ijpi4WKyX
ep7byxwmB+sCojpTuGQVnEwBJA1brdpyAccNQFcX/7oua5jP9DJH+gxHGFix
aTPM4Pn0DQzFBCcE1LxcvqHWsPvQ9TlMhmjI3lmF3S9pYXPANcDFFX6YL2+u
EYCw9RWsFF/jfAYEXV0bHsRyucars+Qu+HaYFnhA8hneqzkyOgDX/ZNiuq7T
8IEZzRHOfNzoCEF/iqmGMuHjqp7B99QDtIHDdPwSfz0v30JffwZmG9rcmxf5
GwDJrFgClRpV5yNguK7KKSNHhaiR5W0LHwN2PXNYjfswg0OJPJ8jQzUcZsKm
G9iL5hJHrgsAM9LJ1BSxk7MiW8OVewbnv1o3uP1tC4cLYD8jQrzMJidMZVco
HeCBAlBXS/hSkBE+ZMgz71f+pZjxuWiKCyQhMO8JPIADMl0DwaOTNYXDRJhf
wUklXLsoqnPYDsbsfXNNyiaUC9wGXm3j3yrVC1AovE7orkdhiP6EtVxVJZ6g
rHiL+Ai/zMtF2Qp1AIDlsnboBtDigpAEO/GHD1hpnHMDa2VySQjUlg2+gxkF
y8d1NgUAgPqFiQJUAew5dI+f0zXZ8OmBucPzy85llO0dnzxlhD4DOoKnHR5A
G7ifkUIAujZAbJd88mAql0U+o88Byat1DQuQw8gzqpZyvBpHRmDdSN/pfNVF
kQkgF6tqiU2QdMD1hZtxCvMHGgYYHWwE3SuIhsIUIbOWLwFCjQf05ISYAYDA
vLoAujJnrRgdJqOuc8hKO4bITlf0fueOJrg0g33AMLhRpXfEWXic5Re4Dvg4
B/C3/rzyKZE+EXf2+67CbO/01dFgX8GM1xWIlHh14EvoEBlI6AR7DC9ZmMU/
jR/f/yq7epjxeeOLCnUzeFEhzuAcoc8L3K8l3+hupsCHwinDBenocJkjwODY
LfJlftE99hG1W+Isr3BjANpMRhBWnpPw3JIcoX4WVmbguOTwfAnmrFf9rCCM
sAAch2k3fI0oD6jfJ/pFMhDonRD34J5FcDbheVd0AQjOymaKACW+ASDSIClH
GggvmgKOSM6IFfGR7lghyJVhlh0ggoVa25GcaEQSBg62fEInGVDx5dET4M+R
or0F5oj5Gbi5cZvpfiSG27wOuA/PtfEunQDqvntn1XIfPgBAvFIHoTHN65oO
7bqVhQqRtqRKV0YgHjG1nfHCzN3NHBFjoeOdkHDzzpzxVSZ3cl0ASMyxDliU
CHeIjiobUXhkFKrDVChTft3wbUIPS/h1ctIFiNNBIVxCRl35w8agFtAuT82c
/NGSBsXgGCDdJ59kp0UNmFIBjboBmO93LBLZHktMg/39w7RwpQeMz9Qocabo
uPDBSktBcqxuP1EqVDnisapgTGiLl/4c/xHSoNIYnUC8xQkMsCNKURw1wal4
MtgQHWz4/rFkDo/o/mTdVstqAcyDqA+yvckJQWayxFnry4Zf0kSVGQYREtkb
whAk1DO8w1CYR3WZwmOcfQswKN7mqOkaBnw6sm5LZ3LJlHMSMlgPacuBP6Sj
t/baE2R88NC2ZbsmAZNQ7Jh6k2tLwLxCCRxgtljP2xLGd5K4hyLy7DO4Wqct
kBmhvATXiwIxfcgiVCiauV6wA5wJThca+S+IECF807wAwvdYDvUw6+xBg5tQ
4JYhsyYX8Sx59cpFWLphZnK3VnpjPCOWBMgYTbRp6cYgAkIwaADCCDi0m7EM
kCOskbYKShXLq7KulnQ498pxMR76Pf8zcNrNrCRaOiBOEchhidwVC9UizRO7
A5M/I6ls4XjOJc0ZVnNG+ggmhyA1FLOi9nIxf8XwPGK6jgCkhcULF14L8VTQ
kXbG3s4zpntr4LFxIjGOO+ALaN1NMpQDj5sCB3GF4MSV4gJhpLbky0klmJFe
Zsxcjab22lG2cU91KzrarmMtdwe04Fu4GzyovUcfYQlfCXlhbidkgQK2B8Vg
ACEtgmSHNHDH2Cf0OG+IycYmuMEjVWg4CqYEBsWKlokC71z8rOCTBA+bIuYD
+aDOr1FzdZmLCMEGTZ6H8D/wLeAfM3nLBthlZPyHKtUEQ+HEmxZEGibNyyUg
35R4ayJJBLL1CtXvtIInKO3AM4b1mfzFQO2FPO0OT55vTBKh8NBRi/xtWSHv
QjzhGGkBf4VWaEA0/ggRKw8HbBq4JGdDplrAJ10hF1ZXC1gFdxAq/6qzP8Ne
Gxrww48np/BNoYo50qGaMa6V2Al7C1AGjoNOyjhafFHSgKSoIN0aPvebkcnN
BycFiC8DVqAFknvLuA0tTmAGiHFHcE6Boty4S1n+zuDWw/eei6UjxUO6+chV
cvJ0aEUDPpVz/GJIchwdAWYQzTs5H6JpJOFW1mHhUjPqLdeLM1i2WSjvC3et
q/qR0IcxZr8uLlB03jeIJdoz2MEKqCeAZAQM7joXhQYp+IJRkXcg9CFmQM4X
SL4NC6WuRV3QOQV8vsyXF7xp+00BlArxvzODpf5BiAokm9WEwH8RasK6ACht
Y+Y0zJo10kBmkISiOhJJmEyaHoRiMwyByJNrzOwQXL+rnHDJe++IgPCQlhAs
8hvGWb8QYfiVoiImrFASJRmCPs6VlUXW5Vp3XAkuzJT1lNlV1Ra7dk7/uK7q
9UIx8oof/is93Or4AzDnMxGZYEJMZUMkwjHhGnDThHtnWRQz1lXmCGxcldBx
umlauUhJp16iPICbHE7ugk44HkBkiYAdvS5Bwm4v4ZJTZRaCZnkxF9S6YSpC
lIGBscgRyfBajMjhb+ocsPQloa6C5oKeMTpb9ekV4FDn/OIMqGPi5/geuhWU
eHpbXIRht/IpEfX8vCU2FPdWu3RqVWLhiXyZyxQJUHBz4gNl+nN3OcrNwPDA
3h0mE2VeehGKL5+gt5PvXvz4/VNWtZ0hd15eXPCsZbqADShQVESoeU/K5VU1
v1ImYo6SJQyEXDBsTslkqYFPawBrCdIQXNdkKCuv8AyDmNKwBHSEqq8l809I
MJ4W50Tu4G+UtuhTvmqyXbwRdof8b/b8Bf3+6tk//nj86tlT/P3ku8n337tf
duQLXp3/zbc8evHDD8+eP+XG8DQLHu3s/jD5512WaXZfvDwFzmfy/S5TMCsE
5nxgz0Q1CCiDhC5vdgLrwZOjl//x7wePQLL8b6++PXpwcPDVhw/yx5cHXzyC
P/A+49FoI/hPVLHuIJHIa2I0EKvyFfAI84YMPM1ldQ0oVJAlZP8PCJk/Hma/
PpuuDh59Iw9wwcFDhVnwkGDWfdJpzEBMPEoM46AZPI8gHc538s/B3wp38/DX
/32O3hyjgy//+zc7OyxGEzL/gGz8zs5v4KCpFIRnrMiEqsrNoOIYa0z5y+m6
ZpWICHhDIgsObeEOAAIM1wAePDFMoUYyJSyrxFjMRQW6p7fQ5CSDzYIZXZar
IdoURmc3IzQtJDTmQ7JOk5yJWgs8xE+fi3pcxSZ8ePr9yUDNeRfz6gxOm5GB
+LphrZ3TSuIlyMsFLEMCB+vAo9mrlCMLNAtJiPbE0PHqybxIl1V37CGciGmO
Gq29A2i9btekU0SJBqdxvp47PnOK1KsN1KhM7w2h3QMGqwJu4oYnMhB7rA7x
YCCXPNtTmE6jvwpw1Dn+FQEBlZF4yvAIAWFDstmQBui6yN8gv07GoT3gXi7s
qNkIhiiYLX/3zjnTfPgwZmIVThKuRBSyG76wAC1Y1z2r8+szNLMcZt8iazik
Y63AWBDP3QEFAUGnj0oqQOPZ/IbZltQ3QNudW4LrhTRe+IkYu7g50Os1U2y+
+Vh1p9b3+kJsDYFCJpsADIYEMkChaurtPMJFI7XK3sA1OGqAOYJe6SKiq93w
iKVTZytzFIHcmAv0Ogm3kqEHQhShFymOxFMJ/qQvkLX8rrrG1kOm3fAfIRzI
006yQfUlHP7D7PdITYVpjPYTr+pbYBlP/1J60k3HBsXbVUUGnEVFPLMwPnGH
hFNr5kzrQvVZostWLiSw8rKWZL1CugWYVOQoruBJs+p72pjueVUb8GUhpCFx
UkWnj/xFYnS4i9ZzbxoIzcLedH24szMSip1fsEVnDw/V+bomKe2sgCaDX8FH
wPzAe7KKIcFNIblnOLDBD6g7Q4Eb0YTNHSin/ArRAl6fMGQIfiSY3CgTpkp8
ZdN3do5nBWLF0Fg/QoM6W/+dqEwcvxI5UUahJMuiLkyftVSXRVnjLSCf7K6X
MPousk67TNaF4cAGQAJwG9j2CuyA9iRknP+k36kXuGnkZhignr6RPQjGO1uf
IRMOiAX9r+fnpZzH/AwtntZyN3QmP0DHaUuODTeO4KccDgCGapCLXFfUFwrN
TV3T2j4a1ZZ9lkjCenK7IRPDvIIjRPhPhkF8hsZydSUQd6fG+j6R7sDs/CU6
kVXo8oSMvdDT4zbQOeah7lIIoNFEXiLX91O0j0snj0e6P6QEMEunBmZ1njUi
7l9ZMXScfcsHB4nJUKy60LXQKpZ6/cwVDUXNWsPhgL+A+ucivu8bi+A+k2Qr
OpOLlB8fKT7c9OuWCOqyQAkwr0vyuEAFGFwReAzn+UqNB6EVUo5hsLw+NeL+
PgtYQ28mXRYXFSozvZFFl8UzRwFohhKFYCKgDx3QZkruKxFToFYK4IhKUjWc
lSSbN860hUyZKDYcu4TUYhKygU5TClN03jyz8gL59lCPSXuCw2Ql2qPxHqxJ
/Wz650str+sb14eXwb11gIVshkS4MHUWUo8lRRFyr0Lg0DWOVKJrvh6K+tt5
+siO8TaK/FeSrwUMg5wuwlYOjL12Qg2JOFk0jmMjaSYUH3MrLmYaAqJeR6EY
zhzkmbc0Id+CJ9RA21JFEYNpMp82wUSd2uqGwArXTzULNFeKf3zCVIxnPQme
eFR1kXXMbCFTDeTmUQMXXWJIla7g1CA9Wq1rYA6cLU3VZwG4jU7GIIJzgqLr
jc3X2CDhpsd6g8afET+zPLvOyZJ/hsBo63xF/FUk58hmiqvlZDYr2TiCFyb2
Z65VNcCjPRr9uErmLpBpfFOYHY9Po3DU2Bux28JWNNl+a3mH/aHa+ZEZdawr
DFlbB7zYh0GnJMaQIsATOf/iooj8IjCU7pbnrhE18IYms/NlhYpAp/wrkJmc
k98K3mQtSWvAu1EEil9v97CNqYNFgbvLnle09M0sABms2NeS7rN82QBXIjwc
H28VCPiCRfnTkzTkYJzWVK5yRgwmGsbvdOj9B4eCVirbIOe7dPZQvshodmii
towTUksvsr/SKVnyEDECQF3REAI8+QyYatYVoeOXqOaUR0s4wBpzt/IfIjKg
+OdslRXbhMjbztogSTPoXIXm6gZ746jlZnuXdxh2DZhEq6x0CYuT8RDLQ/5j
O/cfa+dTlCad89Gk9zskZOt6GX4/OYnEu+DslcvpfI1nD+HkaJLYZAkmQ6I6
gekcWn+KBy2/gAd0pBw7dr4WzwRRik+8aeMcjau4y3hTOjcKZzNJeToLk+Ic
rPf3z5wZzBjfG6X7jt6DbHBZ1cqYCIxFB8zqePzNWXeEw7Dcj7g4L1lYUmfG
S+AZLy7RV0ZvGsL5T8TUws2MfrfJ3n1CMxqRPpbcTMjNFFmy68rTbWNJOMzE
VCPOR2I2ISOKWnHM9wCJv5MZZ8h90FWy7+053bn8Zxt00AvDYwR+4zTxhkrT
rUKcJrO2N6pQFwYK4OgMj9Et4z3gnKeBcC5qAHIIa7TxyOWW57hRi7INGVuH
uMyeDGjFpNDAFQ9jzT8+J+PKTPHvZH3mD0OFdkx3573ySpx3nzT+u1FbjbyC
h1FTwjiyWVWwIgUdzQA/iEaKpGXvU98eZwwIlDNYrScoY/qiwN0pm4X1vWfh
lBXjHEcympM1OaZYiFUrgC1SVHvu8R5tKXCHbDBz1PGykZ10l0Z/Ja5D6grl
1ReI0NAj6S6eII71zUN8YV2PcyLppNQ7K5TGkOhzNHHQIG5RTibLJ0J7eEej
7hizkcKjizzyJjd6nAunYUNmg3msGE6TeXuJ9IkvbXXhlUuGtFIqeoaOpk1o
qmN/gXMzVVXQpGZbkepuLrq5t8af2ntrAe+6ntLBZIQQLAsZ3q70ROIMQGPB
RwgBBp2xpxk5T5NmF5+R97V4myPFadqo864pdwz7/QztCXJyO7giIr5j6lBU
8dIIUBw0IOSka3BcL5n1a92Dsna3oyDBkMnY3VCMeFQ+g8L1MdqjzhFQeFZd
e52EWD8Dc6f7Gl07LtVVT9zTnViW8wJJ0Yc64xKXSQEl9Bt8SR4xtKBBkiLr
TqlxlAS5fFZU5+eOJ1VBYXrjXWsRPOTysSopnIEJXwQ5tim+uEL3PMAD2NKj
gAv6LchizIK8QodFpmaOYMa8QiilhXiRvXtHDF8xOvjwwQsnuQZvLVD5riZj
fy8Q0xd2ZQJ+kE+EibAf4qwAwQGvB6aEK+KTh2jUwPkCG86iwB/+uPcJYgf5
NInrJD5r6+koiNtCH63/HX5cjOOmHwTHg534089GW/18Frd7v1XDz9532r0f
Zb8T+VqCOrMj5y3tv9px/X/m2h0/tT2Nsqceiq5dsKbPdt7Tsg/gjR9d8Ut6
eV5Zxs33wk0fwi/Qyx65YWXvsddvsBfrh4C9BD4bOhZ+65YEvWQkRJi5jMfj
W3ZN5+J6ieGy5T5EcLl1Nz9LoEZqNwFqzJgKAGCg9yeOQ+SH71PtAlaFVth9
1m33sfP8+PXhz+/ITSbL3DzJb0yUNH/beaZ+eucJP0cvRXq1t4v7atN44dCf
bR6v5/for067z3pGiP7q4GfvCN0hPvLTq/Cv7qfB1NNPu41wArAjcEHayQRP
E43M3r1PP01NT6fyWWd6n/UD9X30r3nzM3x+Ff1r3pjPQ8gm4NwHZIHj5IR+
D//qfmAbBhBOwLsP2HecKt3N7w6zT5Sv4PQbX+8eEc+Q5kN2QSLDiLSAP9Rw
7t7YcNUDbYwcC7W6Ku6LFzXF8ZyP1FE7jEjzMs0cZ25NJdlJXzPnMO2Frnx2
hczzhQsgirs7JN+SU1S4LvI33FxsNoHJJrLYOHmVDMPOeURbel2QhOQWJMCH
7Ny0qtmxfsbWbWeoGPOGqGu4hk7L4tq8eeOUbibdQLhFPuDG+S1M2eGd+6Xu
crc/HH1DsqmLOmAPVc8ssb2S4wmmbWAXFGVOKjKOA2JEI6p6VttlRx8kCk35
yjjHo3IFnWoaH5nlu9qTDhrcLIpRiOLUBmNenMMY3Ap1mEclwt7RpKEQg6NJ
kw57APGY9XaRDKmzUYXePRb+F4DgV6iuxnEjx98X6DoU7Eho3frbu/7+ip1K
Cm6oYXYkD19W85k4r3pnS49z1q8a4bRr9Jm7vNpuzMPfNBKCzu/WQQ54uNRV
hEUk11uAwRG108QSDlc9mWmKqQbteMsE6S+/hXlwHonTDd1LcHuD1CYXHfbU
JzIgiwzHkq5g65bkyq/ONVm+qAIbnTqUSPS2cynJp2jCKGY+vQwptEQ1z5gh
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
JvkviWluIELjAQA=

-->

</rfc>
