<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-dekater-scion-pki-10" category="info" submissionType="independent" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="SCION CP-PKI">SCION Control Plane PKI</title>
    <seriesInfo name="Internet-Draft" value="draft-dekater-scion-pki-10"/>
    <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="2025" month="September" day="06"/>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 144?>

<t>This document presents the trust concept and design of the SCION <em>Control Plane Public Key Infrastructure (CP-PKI)</em>. SCION (Scalability, Control, and Isolation On Next-generation networks) is a path-aware, inter-domain network architecture where the Control Plane 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 provisions SCION's trust model based on Isolation Domains.</t>
      <t>This document describes the trust model behind the SCION Control Plane PKI, including specifications of the different types of certificates and the Trust Root Configuration. It also specifies how to deploy the Control Plane PKI infrastructure.</t>
      <t>This document contains new approaches to secure path aware networking. It is not an Internet Standard, has not received any formal review of the IETF, nor was the work developed through the rough consensus process. The approaches offered in this work are offered to the community for its consideration in the further evolution of the Internet.</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 152?>

<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 introduce a new approach to inter-domain path security that leverages path awareness in combination with a unique trust model. The goal is to provide higher levels of trust in routing information to prevent traffic hijacking, and enable users to decide where their data travels based on routing information that can be unambiguously attributed to an AS, ensuring that 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 used for the authentication of messages used by 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.</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.</t>
      <t>This document describes the SCION PKI component used by the Control Plane. It should be read in conjunction with the other components <xref target="I-D.dekater-scion-controlplane"/> and <xref target="I-D.dekater-scion-dataplane"/>.</t>
      <t>The SCION architecture was initially developed outside of the IETF by ETH Zurich with significant contributions from Anapaya Systems. It is deployed in the Swiss finance sector to provide resilient connectivity between financial institutions. The aim of this document is to document the existing protocol specification as deployed, to encourage interoperability among implementations, and to introduce new concepts that can potentially be further improved to address particular problems with the current Internet architecture.</t>
      <t>Note (to be removed before publication): this document, together with the other components <xref target="I-D.dekater-scion-controlplane"/> and <xref target="I-D.dekater-scion-dataplane"/>, deprecates <xref target="I-D.dekater-panrg-scion-overview"/>.</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 or organization can constitute an AS.</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 path construction process known as "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. Its revocation can also result in a kill switch for all the entities it certifies.</t>
        <t>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).</t>
        <t>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 do 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, and which 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 uncompromised 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>
        <t>The need for trust agility also means that SCION does not by design provide IP prefix origin validation as provided by RPKI <xref target="RFC8210"/>. RPKI's trust model is currently reliant on the trust roots provided by the five Regional Internet Registries, and therefore outside of the governance of an ISD.</t>
      </section>
      <section anchor="trust-relations-within-an-isolation-domain">
        <name>Trust Relations within an Isolation Domain</name>
        <t>As previously mentioned, the Control Plane PKI is organized at an ISD level whereby 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. The so-called <strong>base TRC</strong> constitutes the ISD's trust anchor which 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.</t>
          <t>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 Control Plane 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 Control Plane 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 view 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>
          <artset>
            <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="656" width="576" viewBox="0 0 576 656" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,96 L 8,160" fill="none" stroke="black"/>
                <path d="M 80,96 L 80,160" fill="none" stroke="black"/>
                <path d="M 96,576 L 96,624" fill="none" stroke="black"/>
                <path d="M 128,32 L 128,400" fill="none" stroke="black"/>
                <path d="M 144,64 L 144,160" fill="none" stroke="black"/>
                <path d="M 144,192 L 144,240" fill="none" stroke="black"/>
                <path d="M 144,272 L 144,304" fill="none" stroke="black"/>
                <path d="M 144,336 L 144,368" fill="none" stroke="black"/>
                <path d="M 152,464 L 152,512" fill="none" stroke="black"/>
                <path d="M 168,512 L 168,568" fill="none" stroke="black"/>
                <path d="M 192,576 L 192,624" fill="none" stroke="black"/>
                <path d="M 200,368 L 200,392" fill="none" stroke="black"/>
                <path d="M 200,408 L 200,456" fill="none" stroke="black"/>
                <path d="M 208,576 L 208,624" fill="none" stroke="black"/>
                <path d="M 232,512 L 232,568" fill="none" stroke="black"/>
                <path d="M 248,464 L 248,512" fill="none" stroke="black"/>
                <path d="M 280,192 L 280,240" fill="none" stroke="black"/>
                <path d="M 280,272 L 280,304" fill="none" stroke="black"/>
                <path d="M 304,192 L 304,240" fill="none" stroke="black"/>
                <path d="M 304,272 L 304,304" fill="none" stroke="black"/>
                <path d="M 304,576 L 304,624" fill="none" stroke="black"/>
                <path d="M 328,464 L 328,512" fill="none" stroke="black"/>
                <path d="M 328,576 L 328,624" fill="none" stroke="black"/>
                <path d="M 376,368 L 376,392" fill="none" stroke="black"/>
                <path d="M 376,408 L 376,456" fill="none" stroke="black"/>
                <path d="M 376,512 L 376,568" fill="none" stroke="black"/>
                <path d="M 424,464 L 424,512" fill="none" stroke="black"/>
                <path d="M 424,576 L 424,624" fill="none" stroke="black"/>
                <path d="M 440,64 L 440,160" fill="none" stroke="black"/>
                <path d="M 440,192 L 440,240" fill="none" stroke="black"/>
                <path d="M 440,272 L 440,304" fill="none" stroke="black"/>
                <path d="M 440,336 L 440,368" fill="none" stroke="black"/>
                <path d="M 456,32 L 456,400" fill="none" stroke="black"/>
                <path d="M 496,96 L 496,160" fill="none" stroke="black"/>
                <path d="M 568,96 L 568,160" fill="none" stroke="black"/>
                <path d="M 128,32 L 456,32" fill="none" stroke="black"/>
                <path d="M 144,64 L 440,64" fill="none" stroke="black"/>
                <path d="M 8,96 L 80,96" fill="none" stroke="black"/>
                <path d="M 496,96 L 568,96" fill="none" stroke="black"/>
                <path d="M 88,128 L 120,128" fill="none" stroke="black"/>
                <path d="M 464,128 L 488,128" fill="none" stroke="black"/>
                <path d="M 8,160 L 80,160" fill="none" stroke="black"/>
                <path d="M 144,160 L 440,160" fill="none" stroke="black"/>
                <path d="M 496,160 L 568,160" fill="none" stroke="black"/>
                <path d="M 144,192 L 280,192" fill="none" stroke="black"/>
                <path d="M 304,192 L 440,192" fill="none" stroke="black"/>
                <path d="M 144,240 L 280,240" fill="none" stroke="black"/>
                <path d="M 304,240 L 440,240" fill="none" stroke="black"/>
                <path d="M 144,272 L 280,272" fill="none" stroke="black"/>
                <path d="M 304,272 L 440,272" fill="none" stroke="black"/>
                <path d="M 144,304 L 280,304" fill="none" stroke="black"/>
                <path d="M 304,304 L 440,304" fill="none" stroke="black"/>
                <path d="M 144,336 L 440,336" fill="none" stroke="black"/>
                <path d="M 144,368 L 440,368" fill="none" stroke="black"/>
                <path d="M 128,400 L 456,400" fill="none" stroke="black"/>
                <path d="M 152,464 L 248,464" fill="none" stroke="black"/>
                <path d="M 328,464 L 424,464" fill="none" stroke="black"/>
                <path d="M 152,512 L 248,512" fill="none" stroke="black"/>
                <path d="M 328,512 L 424,512" fill="none" stroke="black"/>
                <path d="M 96,576 L 192,576" fill="none" stroke="black"/>
                <path d="M 208,576 L 304,576" fill="none" stroke="black"/>
                <path d="M 328,576 L 424,576" fill="none" stroke="black"/>
                <path d="M 96,624 L 192,624" fill="none" stroke="black"/>
                <path d="M 208,624 L 304,624" fill="none" stroke="black"/>
                <path d="M 328,624 L 424,624" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="496,128 484,122.4 484,133.6" fill="black" transform="rotate(0,488,128)"/>
                <polygon class="arrowhead" points="384,568 372,562.4 372,573.6" fill="black" transform="rotate(90,376,568)"/>
                <polygon class="arrowhead" points="384,456 372,450.4 372,461.6" fill="black" transform="rotate(90,376,456)"/>
                <polygon class="arrowhead" points="240,568 228,562.4 228,573.6" fill="black" transform="rotate(90,232,568)"/>
                <polygon class="arrowhead" points="208,456 196,450.4 196,461.6" fill="black" transform="rotate(90,200,456)"/>
                <polygon class="arrowhead" points="176,568 164,562.4 164,573.6" fill="black" transform="rotate(90,168,568)"/>
                <polygon class="arrowhead" points="128,128 116,122.4 116,133.6" fill="black" transform="rotate(0,120,128)"/>
                <g class="text">
                  <text x="280" y="52">TRC</text>
                  <text x="304" y="52">2</text>
                  <text x="152" y="84">-</text>
                  <text x="192" y="84">Version</text>
                  <text x="280" y="84">-</text>
                  <text x="308" y="84">Core</text>
                  <text x="348" y="84">ASes</text>
                  <text x="152" y="100">-</text>
                  <text x="172" y="100">ID</text>
                  <text x="280" y="100">-</text>
                  <text x="336" y="100">Description</text>
                  <text x="32" y="116">TRC</text>
                  <text x="56" y="116">1</text>
                  <text x="152" y="116">-</text>
                  <text x="196" y="116">Validity</text>
                  <text x="280" y="116">-</text>
                  <text x="300" y="116">No</text>
                  <text x="336" y="116">Trust</text>
                  <text x="384" y="116">Reset</text>
                  <text x="520" y="116">TRC</text>
                  <text x="544" y="116">3</text>
                  <text x="40" y="132">(Base</text>
                  <text x="152" y="132">-</text>
                  <text x="184" y="132">Grace</text>
                  <text x="236" y="132">Period</text>
                  <text x="280" y="132">-</text>
                  <text x="316" y="132">Voting</text>
                  <text x="372" y="132">Quorum</text>
                  <text x="44" y="148">TRC)</text>
                  <text x="152" y="148">-</text>
                  <text x="176" y="148">...</text>
                  <text x="184" y="212">Regular</text>
                  <text x="244" y="212">Voting</text>
                  <text x="344" y="212">Sensitive</text>
                  <text x="412" y="212">Voting</text>
                  <text x="208" y="228">Certificate</text>
                  <text x="368" y="228">Certificate</text>
                  <text x="208" y="292">Votes</text>
                  <text x="372" y="292">Signatures</text>
                  <text x="220" y="356">CP</text>
                  <text x="252" y="356">Root</text>
                  <text x="324" y="356">Certificates</text>
                  <text x="188" y="484">CP</text>
                  <text x="212" y="484">CA</text>
                  <text x="364" y="484">CP</text>
                  <text x="388" y="484">CA</text>
                  <text x="200" y="500">Certificate</text>
                  <text x="376" y="500">Certificate</text>
                  <text x="132" y="596">CP</text>
                  <text x="156" y="596">AS</text>
                  <text x="244" y="596">CP</text>
                  <text x="268" y="596">AS</text>
                  <text x="364" y="596">CP</text>
                  <text x="388" y="596">AS</text>
                  <text x="144" y="612">Certificate</text>
                  <text x="256" y="612">Certificate</text>
                  <text x="376" y="612">Certificate</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art"><![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>
          </artset>
        </figure>
        <t>All certificates used in the Control plane PKI are in X.509 v3 format <xref target="RFC5280"/> and 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", and 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>
      </section>
      <section anchor="trust-as-a-function">
        <name>Trust as a Function</name>
        <t>The 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>The trusted parties require an ISD number, whose numbering scheme is described in <xref target="I-D.dekater-scion-controlplane"/> section <tt>ISD Numbers</tt>, and allocation in <xref target="ISD-AS-assignments"/>.</t>
        </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 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 by the Control Plane PKI.</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 or sensitive TRC update.</t>
        <t>All certificates in the Control Plane PKI are in X.509 v3 format <xref target="RFC5280"/>.</t>
        <section anchor="trust-hierarchy">
          <name>Trust Hierarchy</name>
          <t>The trust is anchored in the 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 private key of the Control Plane root certificate is used to sign Control Plane CA certificates. Consequently, the public key of the Control Plane Root certificate is used to verify Control Plane CA certificates, i.e. root certificates determine which ASes act as a CA in an ISD.</t>
          <t>In X.509 terms, Control Plane 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 public key of the Control Plane root certificate and proof of ownership of the private key are embedded in the TRC of an ISD, via the self-signed Control Plane root certificate. This facilitates the bootstrapping of trust within an ISD, and marks the Control Plane 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 Control Plane root certificate is 1 year.</t>
          <t><strong>Note</strong>: The TRC of each ISD contains a trusted set of Control Plane root certificates, and 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 private key of the Control Plane CA is used to sign Control Plane AS certificates. Consequently, Control Plane CA certificates holding the public key of the Control Plane CA are used to verify Control Plane AS certificates.</t>
          <t>The public key needed to verify the CA certificate is in a Control Plane 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 Control Plane 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 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 TRC of an ISD, which itself also has a <bcp14>RECOMMENDED</bcp14> maximum validity period of one year (see <xref target="_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. If the control plane CA and AS certificates were 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 an 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"/> shows the content of a base/initial TRC, and the relationship between a TRC and the five types of certificates. The initial signatures are replaced by those of the Regular Voting Certificates with the first regular update to the base TRC.</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>
            <artset>
              <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="912" width="456" viewBox="0 0 456 912" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                  <path d="M 8,32 L 8,688" fill="none" stroke="black"/>
                  <path d="M 24,80 L 24,176" fill="none" stroke="black"/>
                  <path d="M 24,208 L 24,336" fill="none" stroke="black"/>
                  <path d="M 24,368 L 24,512" fill="none" stroke="black"/>
                  <path d="M 24,544 L 24,672" fill="none" stroke="black"/>
                  <path d="M 40,400 L 40,432" fill="none" stroke="black"/>
                  <path d="M 40,464 L 40,496" fill="none" stroke="black"/>
                  <path d="M 40,592 L 40,656" fill="none" stroke="black"/>
                  <path d="M 56,736 L 56,784" fill="none" stroke="black"/>
                  <path d="M 56,832 L 56,880" fill="none" stroke="black"/>
                  <path d="M 88,592 L 88,656" fill="none" stroke="black"/>
                  <path d="M 104,592 L 104,656" fill="none" stroke="black"/>
                  <path d="M 104,784 L 104,824" fill="none" stroke="black"/>
                  <path d="M 128,656 L 128,728" fill="none" stroke="black"/>
                  <path d="M 152,592 L 152,656" fill="none" stroke="black"/>
                  <path d="M 152,736 L 152,784" fill="none" stroke="black"/>
                  <path d="M 152,832 L 152,880" fill="none" stroke="black"/>
                  <path d="M 168,592 L 168,656" fill="none" stroke="black"/>
                  <path d="M 176,400 L 176,432" fill="none" stroke="black"/>
                  <path d="M 176,464 L 176,496" fill="none" stroke="black"/>
                  <path d="M 184,208 L 184,336" fill="none" stroke="black"/>
                  <path d="M 192,368 L 192,512" fill="none" stroke="black"/>
                  <path d="M 200,208 L 200,336" fill="none" stroke="black"/>
                  <path d="M 208,368 L 208,512" fill="none" stroke="black"/>
                  <path d="M 216,592 L 216,656" fill="none" stroke="black"/>
                  <path d="M 224,256 L 224,320" fill="none" stroke="black"/>
                  <path d="M 224,432 L 224,496" fill="none" stroke="black"/>
                  <path d="M 232,592 L 232,656" fill="none" stroke="black"/>
                  <path d="M 232,736 L 232,784" fill="none" stroke="black"/>
                  <path d="M 232,832 L 232,880" fill="none" stroke="black"/>
                  <path d="M 256,656 L 256,728" fill="none" stroke="black"/>
                  <path d="M 272,256 L 272,320" fill="none" stroke="black"/>
                  <path d="M 272,432 L 272,496" fill="none" stroke="black"/>
                  <path d="M 280,592 L 280,656" fill="none" stroke="black"/>
                  <path d="M 280,784 L 280,824" fill="none" stroke="black"/>
                  <path d="M 288,256 L 288,320" fill="none" stroke="black"/>
                  <path d="M 288,432 L 288,496" fill="none" stroke="black"/>
                  <path d="M 328,736 L 328,784" fill="none" stroke="black"/>
                  <path d="M 328,832 L 328,880" fill="none" stroke="black"/>
                  <path d="M 336,256 L 336,320" fill="none" stroke="black"/>
                  <path d="M 336,432 L 336,496" fill="none" stroke="black"/>
                  <path d="M 368,80 L 368,176" fill="none" stroke="black"/>
                  <path d="M 368,208 L 368,336" fill="none" stroke="black"/>
                  <path d="M 368,368 L 368,512" fill="none" stroke="black"/>
                  <path d="M 368,544 L 368,672" fill="none" stroke="black"/>
                  <path d="M 384,32 L 384,688" fill="none" stroke="black"/>
                  <path d="M 8,32 L 384,32" fill="none" stroke="black"/>
                  <path d="M 24,80 L 368,80" fill="none" stroke="black"/>
                  <path d="M 24,176 L 368,176" fill="none" stroke="black"/>
                  <path d="M 24,208 L 184,208" fill="none" stroke="black"/>
                  <path d="M 200,208 L 368,208" fill="none" stroke="black"/>
                  <path d="M 224,256 L 272,256" fill="none" stroke="black"/>
                  <path d="M 288,256 L 336,256" fill="none" stroke="black"/>
                  <path d="M 224,320 L 272,320" fill="none" stroke="black"/>
                  <path d="M 288,320 L 336,320" fill="none" stroke="black"/>
                  <path d="M 24,336 L 184,336" fill="none" stroke="black"/>
                  <path d="M 200,336 L 368,336" fill="none" stroke="black"/>
                  <path d="M 24,368 L 192,368" fill="none" stroke="black"/>
                  <path d="M 208,368 L 368,368" fill="none" stroke="black"/>
                  <path d="M 40,400 L 176,400" fill="none" stroke="black"/>
                  <path d="M 40,432 L 176,432" fill="none" stroke="black"/>
                  <path d="M 224,432 L 272,432" fill="none" stroke="black"/>
                  <path d="M 288,432 L 336,432" fill="none" stroke="black"/>
                  <path d="M 40,464 L 176,464" fill="none" stroke="black"/>
                  <path d="M 40,496 L 176,496" fill="none" stroke="black"/>
                  <path d="M 224,496 L 272,496" fill="none" stroke="black"/>
                  <path d="M 288,496 L 336,496" fill="none" stroke="black"/>
                  <path d="M 24,512 L 192,512" fill="none" stroke="black"/>
                  <path d="M 208,512 L 368,512" fill="none" stroke="black"/>
                  <path d="M 24,544 L 368,544" fill="none" stroke="black"/>
                  <path d="M 40,592 L 88,592" fill="none" stroke="black"/>
                  <path d="M 104,592 L 152,592" fill="none" stroke="black"/>
                  <path d="M 168,592 L 216,592" fill="none" stroke="black"/>
                  <path d="M 232,592 L 280,592" fill="none" stroke="black"/>
                  <path d="M 40,656 L 88,656" fill="none" stroke="black"/>
                  <path d="M 104,656 L 152,656" fill="none" stroke="black"/>
                  <path d="M 168,656 L 216,656" fill="none" stroke="black"/>
                  <path d="M 232,656 L 280,656" fill="none" stroke="black"/>
                  <path d="M 24,672 L 368,672" fill="none" stroke="black"/>
                  <path d="M 8,688 L 384,688" fill="none" stroke="black"/>
                  <path d="M 56,736 L 152,736" fill="none" stroke="black"/>
                  <path d="M 232,736 L 328,736" fill="none" stroke="black"/>
                  <path d="M 56,784 L 152,784" fill="none" stroke="black"/>
                  <path d="M 232,784 L 328,784" fill="none" stroke="black"/>
                  <path d="M 56,832 L 152,832" fill="none" stroke="black"/>
                  <path d="M 232,832 L 328,832" fill="none" stroke="black"/>
                  <path d="M 56,880 L 152,880" fill="none" stroke="black"/>
                  <path d="M 232,880 L 328,880" fill="none" stroke="black"/>
                  <polygon class="arrowhead" points="288,824 276,818.4 276,829.6" fill="black" transform="rotate(90,280,824)"/>
                  <polygon class="arrowhead" points="264,728 252,722.4 252,733.6" fill="black" transform="rotate(90,256,728)"/>
                  <polygon class="arrowhead" points="136,728 124,722.4 124,733.6" fill="black" transform="rotate(90,128,728)"/>
                  <polygon class="arrowhead" points="112,824 100,818.4 100,829.6" fill="black" transform="rotate(90,104,824)"/>
                  <g class="text">
                    <text x="184" y="52">TRC</text>
                    <text x="208" y="52">1</text>
                    <text x="196" y="68">(base/initial)</text>
                    <text x="40" y="100">-</text>
                    <text x="80" y="100">Version</text>
                    <text x="192" y="100">-</text>
                    <text x="220" y="100">Core</text>
                    <text x="260" y="100">ASes</text>
                    <text x="40" y="116">-</text>
                    <text x="60" y="116">ID</text>
                    <text x="192" y="116">-</text>
                    <text x="248" y="116">Description</text>
                    <text x="40" y="132">-</text>
                    <text x="84" y="132">Validity</text>
                    <text x="192" y="132">-</text>
                    <text x="212" y="132">No</text>
                    <text x="248" y="132">Trust</text>
                    <text x="296" y="132">Reset</text>
                    <text x="40" y="148">-</text>
                    <text x="72" y="148">Grace</text>
                    <text x="124" y="148">Period</text>
                    <text x="192" y="148">-</text>
                    <text x="228" y="148">Voting</text>
                    <text x="284" y="148">Quorum</text>
                    <text x="40" y="164">-</text>
                    <text x="64" y="164">...</text>
                    <text x="112" y="228">Votes</text>
                    <text x="256" y="228">Regular</text>
                    <text x="316" y="228">Voting</text>
                    <text x="68" y="244">(cert.</text>
                    <text x="132" y="244">indices)</text>
                    <text x="284" y="244">Certificates</text>
                    <text x="112" y="276">(empty)</text>
                    <text x="248" y="276">(1)</text>
                    <text x="312" y="276">(2)</text>
                    <text x="248" y="292">C</text>
                    <text x="312" y="292">C</text>
                    <text x="248" y="308">reg</text>
                    <text x="312" y="308">reg</text>
                    <text x="108" y="388">Signatures</text>
                    <text x="256" y="388">Sensitive</text>
                    <text x="324" y="388">Voting</text>
                    <text x="292" y="404">Certificates</text>
                    <text x="60" y="420">73</text>
                    <text x="84" y="420">A9</text>
                    <text x="108" y="420">4E</text>
                    <text x="132" y="420">AO</text>
                    <text x="160" y="420">...</text>
                    <text x="112" y="452">...</text>
                    <text x="248" y="452">(3)</text>
                    <text x="312" y="452">(4)</text>
                    <text x="248" y="468">C</text>
                    <text x="312" y="468">C</text>
                    <text x="60" y="484">53</text>
                    <text x="84" y="484">B7</text>
                    <text x="108" y="484">7C</text>
                    <text x="132" y="484">98</text>
                    <text x="160" y="484">...</text>
                    <text x="252" y="484">sens</text>
                    <text x="316" y="484">sens</text>
                    <text x="116" y="564">CP</text>
                    <text x="148" y="564">Root</text>
                    <text x="220" y="564">Certificates</text>
                    <text x="64" y="612">(5)</text>
                    <text x="128" y="612">(6)</text>
                    <text x="192" y="612">(7)</text>
                    <text x="256" y="612">(8)</text>
                    <text x="64" y="628">C</text>
                    <text x="128" y="628">C</text>
                    <text x="192" y="628">C</text>
                    <text x="256" y="628">C</text>
                    <text x="68" y="644">root</text>
                    <text x="132" y="644">root</text>
                    <text x="196" y="644">root</text>
                    <text x="260" y="644">root</text>
                    <text x="304" y="644">...</text>
                    <text x="92" y="756">CP</text>
                    <text x="116" y="756">CA</text>
                    <text x="268" y="756">CP</text>
                    <text x="292" y="756">CA</text>
                    <text x="104" y="772">Certificate</text>
                    <text x="280" y="772">Certificate</text>
                    <text x="92" y="852">CP</text>
                    <text x="116" y="852">AS</text>
                    <text x="268" y="852">CP</text>
                    <text x="292" y="852">AS</text>
                    <text x="104" y="868">Certificate</text>
                    <text x="280" y="868">Certificate</text>
                  </g>
                </svg>
              </artwork>
              <artwork type="ascii-art"><![CDATA[
+----------------------------------------------+
|                    TRC 1                     |
|                (base/initial)                |
| +------------------------------------------+ |
| | - Version          - Core ASes           | |
| | - ID               - Description         | |
| | - Validity         - No Trust Reset      | |
| | - Grace Period     - Voting Quorum       | |
| | - ...                                    | |
| +------------------------------------------+ |
|                                              |        
| +-------------------+ +--------------------+ |
| |        Votes      | |   Regular Voting   | |
| |  (cert. indices)  | |    Certificates    | |
| |                   | |  +-----+ +-----+   | |
| |       (empty)     | |  | (1) | | (2) |   | |
| |                   | |  |  C  | |  C  |   | |
| |                   | |  | reg | | reg |   | |
| |                   | |  +-----+ +-----+   | |
| +-------------------+ +--------------------+ |
|                                              |
| +--------------------+ +-------------------+ |
| |     Signatures     | | Sensitive Voting  | |
| | +----------------+ | |    Certificates   | |
| | | 73 A9 4E AO ...| | |                   | |
| | +----------------+ | | +-----+ +-----+   | |
| |         ...        | | | (3) | | (4) |   | |
| | +----------------+ | | |  C  | |  C  |   | |
| | | 53 B7 7C 98 ...| | | | sens| | sens|   | |
| | +----------------+ | | +-----+ +-----+   | |
| +--------------------+ +-------------------+ |
|                                              |        
| +------------------------------------------+ |
| |          CP Root Certificates            | |
| |                                          | |
| | +-----+ +-----+ +-----+ +-----+          | |
| | | (5) | | (6) | | (7) | | (8) |          | |
| | |  C  | |  C  | |  C  | |  C  |          | |
| | | root| | root| | root| | root| ...      | |
| | +-----+ +--+--+ +-----+ +--+--+          | |
| +------------+---------------+-------------+ |
+--------------+---------------+---------------+
               |               |
               v               v
      +-----------+         +-----------+
      |   CP CA   |         |   CP CA   |
      |Certificate|         |Certificate|
      +-----+-----+         +-----+-----+
            |                     |
            v                     v
      +-----------+         +-----------+
      |   CP AS   |         |   CP AS   |
      |Certificate|         |Certificate|
      +-----------+         +-----------+

]]></artwork>
            </artset>
          </figure>
        </section>
      </section>
      <section anchor="certificate-specification">
        <name>Certificate Specification</name>
        <t>Whilst the certificates used in the Control Plane PKI are X.509 v3 certificates, the SCION specification is more restrictive. This section defines these additional constraints and conditions in comparison to <xref target="RFC5280"/>.</t>
        <section anchor="basic-fields-scion-specific-constraints-and-conditions">
          <name>Basic Fields: SCION-Specific Constraints and Conditions</name>
          <t>The described fields of the Control Plane PKI certificates are relevant for each certificate regardless of the certificate type. For detailed descriptions of the full generic format of X.509 v3 certificates, see <xref target="RFC5280"/> and <xref target="X.509"/> clause 7.2.</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. The details can be found at: <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 <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 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>The <tt>signature</tt> field contains information about the signature algorithm. Current implementations use the ECDSA signature algorithm defined in <xref target="X9.62"/>.</t>
            <t>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>SCION implementations <bcp14>MUST</bcp14> include support for the ECDSA curves below. Other algorithms or curves <bcp14>MAY</bcp14> be used in the future.</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>
          </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>. See <xref target="isd-as-nr"/>.</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 string representation of the ISD-AS number attribute <bcp14>MUST</bcp14> follow the text representation defined in <xref target="I-D.dekater-scion-controlplane"/>, section "Text Representation" where AS numbers in the lower 32-bit range are represented in decimal notation, and others in hexadecimal notation.</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>CA certificates <bcp14>MUST</bcp14> include an ISD-AS number in their distinguished name so the control plane knows from which AS to retrieve the certificate, thereby avoiding circular dependencies.</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 <xref target="X.509"/> 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 <xref target="X.509"/>, 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 <xref target="X.509"/>, 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 <xref target="X.509"/>, 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 <xref target="X.509"/>, 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 TRC 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 <xref target="X.509"/>, 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 the securing of 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 TRC is a signed collection of <xref target="X.509"/> 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>This section specifies the TRC including format definitions and dpayload fields. The section uses the ITU-T <xref target="X.680"/> 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-2"/> shows the content of both a base/initial TRC, the changes made with the first regular update to the base TRC. All elements of the TRC is detailed in the following subsections.</t>
        </section>
        <section anchor="trc-format">
          <name>TRC Format</name>
          <t>The TRC defines the roots of trust of an ISD and is the basis 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) <xref target="X.690"/>. For more details, see <xref target="signed-format"/>.</t>
          </section>
          <section anchor="trcfields">
            <name>TRC Fields</name>
            <t>This section describes the syntax and semantics of all TRC payload fields.</t>
            <section anchor="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 and <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 an 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 15</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">ISD15-B01-S01</td>
                    <td align="left"> </td>
                  </tr>
                  <tr>
                    <td align="left">Regular</td>
                    <td align="left">ISD15-B01-S02</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Regular</td>
                    <td align="left">ISD15-B01-S03</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Sensitive</td>
                    <td align="left">ISD15-B01-S04</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Trust reset</td>
                    <td align="left">ISD15-<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">ISD15-B05-S06</td>
                    <td align="left">Only the serial number is incremented.</td>
                  </tr>
                  <tr>
                    <td align="left">Regular</td>
                    <td align="left">ISD15-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 <xref target="X.509"/>.</t>
              <t>In addition to this standard definition, the following constraint applies to the <tt>validity</tt> field of the TRC:</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.</t>
          <t>Each TRC is digitally signed and 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"/>.</t>
          <t>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 <bcp14>MUST</bcp14> fulfil the following additional rules, as well as the general syntax rules specified in <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, as per <xref target="RFC5652"/>. This implies that the signer information can be reordered without affecting verification, although certain operations require TRCs to be equal im accordance with the following 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 PlaneAS certificate starts in a Control Plane root certificate. The Control Plane root certificate for a given ISD is distributed via the TRC.</t>
          <t>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 builds a collection of root certificates from the latest TRC of the relevant ISD.</t>
          <t>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 Control Plane 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 and 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 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 acting as trust anchors.
        """
        # Find highest base number that has a TRC with 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 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 TRC 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 acting 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, and the type of update determines the (payload) information that changes in the updated TRC.</t>
          <t>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 whilst some only apply to a regular or a sensitive TRC update. Based on the type of update, different sets of voters are needed to create a verifiable TRC update and the corresponding voting (signing) process is also described. To verify a TRC update, a relying party <bcp14>MUST</bcp14> perform a couple of checks which are also listed.</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.</t>
            <t>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 Control Plane 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 Control Plane root certificate that changes, the updated TRC <bcp14>MUST</bcp14> include a signature created with the private key belonging to the changed Control Plane 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.</t>
            <t>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, e.g. they keep the regular key in an online vault while the sensitive key would be stored offline. 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. However, other ISDs 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 this and exchange their public keys. Following this, all entities within an ISD can obtain the TRC by means of a secure offline 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 organize 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 Control Plane 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, and <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, i.e. 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/></t>
              </li>
              <li>
                <t><em>Active Discovery</em><br/>
Any TRC can be obtained at any time from the sender of the information it secures; either in a specific version or in its latest available version. The necessary query and response is described in <xref target="I-D.dekater-scion-controlplane"/>, section "Control Service gRPC API - Trust Material".</t>
              </li>
            </ul>
            <t><strong>Note:</strong> The first two mechanisms above only work when there is active communication between the relying party and the ISD in question.</t>
          </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 Control Plane PKI is providing a mechanism to distribute and authenticate public keys that are used to verify control plane messages and information, e.g. 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 Control Plane 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.</t>
          <t>A certificate chain is verified against the Control Plane root certificate, although the the root certificate is bunded with the TRC and <strong>not</strong> in the chain. This makes it possible to extend the validity period of the root certificate and 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 <xref target="X.509"/>.</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 section focuses on <em>inter</em>-AS security considerations. 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 PKIs, CAs have both the responsibility and power to issue and revoke certificates. A compromised or misbehaving CA could refuse to issue certificates to legitimate entities and/or issue illegitimate certificates to allow impersonation of another entity. In the context of the Control Plane PKI, refusing to issue or renew a certificate to an AS will ultimately cut that AS off from the network, turning the Control Plane PKI into a potential network kill switch, so within each ISD there are usually multiple independent CAs.</t>
        <t>SCION fundamentally differs from a global monopolistic trust model as 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 to compromises that could affect or halt other components (control plane and forwarding).</t>
        <section anchor="compromise-of-an-isd">
          <name>Compromise of an ISD</name>
          <t>In SCION there is no central authority that could "switch off" an ISD as each relies on its own independent trust roots. Each AS within an ISD is therefore dependant on its ISD's PKI for its functioning, although the following compromises are potentially possible:</t>
          <ul spacing="normal">
            <li>
              <t>At 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, the number of which is dependent on the voting quorum set in the TRC - the higher the quorum, the more unlikely a malicious update will be.</t>
            </li>
            <li>
              <t>At CA level: The private keys of an ISD's CA certificates are used to sign the AS certificates and 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>At AS level: Each AS within an ISD signs control plane messages 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 Path Construction Beacons (PCBs). This means that the adversary can manipulate the PCBs and propagate them 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 Control Plane PKI.</t>
          <ul spacing="normal">
            <li>
              <t>At 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"/>. 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"/>) and a invalid update has been produced and distributed in the network.</t>
            </li>
            <li>
              <t>At 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>At 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>The Control Plane PKI lays the foundation for the authentication procedures in SCION by providing 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.dekater-scion-controlplane"/> 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 ISD and SCION AS number are SCION-specific numbers. They are currently allocated by Anapaya Systems, a provider of SCION-based networking software and solutions (see <xref target="ISD-AS-assignments-Anapaya"/>). This task is being transitioned from Anapaya to the SCION Association (see <xref target="ISD-AS-assignments"/>).</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="I-D.dekater-scion-controlplane">
          <front>
            <title>SCION Control Plane</title>
            <author fullname="Corine de Kater" initials="C." surname="de Kater">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Nicola Rustignoli" initials="N." surname="Rustignoli">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Samuel Hitz" initials="S." surname="Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This document describes the Control Plane of the path-aware, inter-
   domain network architecture SCION (Scalability, Control, and
   Isolation On Next-generation networks).  A fundamental characteristic
   of SCION is that it gives path control to SCION-capable endpoints
   that can choose between multiple path options, thereby enabling the
   optimization of network paths.  The Control Plane is responsible for
   discovering these paths and making them available to the endpoints.

   The SCION Control Plane creates and securely disseminates path
   segments between SCION Autonomous Systems (AS) which can then be
   combined into forwarding paths to transmit packets in the data plane.
   This document describes mechanisms of path exploration through
   beaconing and path registration.  In addition, it describes how
   Endpoints construct end-to-end paths from a set of possible path
   segments through a path lookup process.

   This document contains new approaches to secure path aware
   networking.  It is not an Internet Standard, has not received any
   formal review of the IETF, nor was the work developed through the
   rough consensus process.  The approaches offered in this work are
   offered to the community for its consideration in the further
   evolution of the Internet.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekater-scion-controlplane-09"/>
        </reference>
        <reference anchor="I-D.dekater-scion-dataplane">
          <front>
            <title>SCION Data Plane</title>
            <author fullname="Corine de Kater" initials="C." surname="de Kater">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Nicola Rustignoli" initials="N." surname="Rustignoli">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Jean-Christophe Hugly" initials="J." surname="Hugly">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Samuel Hitz" initials="S." surname="Hitz">
              <organization>Anapaya Systems</organization>
            </author>
            <date day="7" month="July" year="2025"/>
            <abstract>
              <t>   This document describes the data plane of the path-aware, inter-
   domain network architecture SCION (Scalability, Control, and
   Isolation On Next-generation networks).  One of the basic
   characteristics of SCION is that it gives path control to endpoints.
   The SCION Control Plane is responsible for discovering these paths
   and making them available as path segments to the endpoints.  The
   role of the SCION Data Plane is to combine the path segments into
   end-to-end paths, and forward data between endpoints according to the
   specified path.

   The SCION Data Plane fundamentally differs from today's IP-based data
   plane in that it is _path-aware_: In SCION, interdomain forwarding
   directives are embedded in the packet header.  This document provides
   a detailed specification of the SCION data packet format as well as
   the structure of the SCION header.  SCION also supports extension
   headers, which are additionally described.  The document continues
   with the life cycle of a SCION packet while traversing the SCION
   Internet, followed by a specification of the SCION path authorization
   mechanisms and the packet processing at routers.

   This document contains new approaches to secure path aware
   networking.  It is not an Internet Standard, has not received any
   formal review of the IETF, nor was the work developed through the
   rough consensus process.  The approaches offered in this work are
   offered to the community for its consideration in the further
   evolution of the Internet.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekater-scion-dataplane-06"/>
        </reference>
        <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="X.509" target="https://handle.itu.int/11.1002/1000/13031">
          <front>
            <title>ITU-T X.509 (10/2016) | Information technology – Open Systems Interconnection – The Directory: Public-key and attribute certificate frameworks</title>
            <author>
              <organization/>
            </author>
            <date year="2016" month="January"/>
          </front>
        </reference>
        <reference anchor="X.680" target="https://handle.itu.int/11.1002/1000/14468">
          <front>
            <title>ITU-T X.680 (02/2021) | Information technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="January"/>
          </front>
        </reference>
        <reference anchor="X.690" target="https://handle.itu.int/11.1002/1000/14472">
          <front>
            <title>ITU-T X.690 (02/2021) | Information technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="January"/>
          </front>
        </reference>
        <reference anchor="X9.62">
          <front>
            <title>ANSI X9.62-1998 | Public Key Cryptography For The Financial Services Industry: The Elliptic Curve Digital Signature Algorithm</title>
            <author>
              <organization/>
            </author>
            <date year="1998"/>
          </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="I-D.dekater-panrg-scion-overview">
          <front>
            <title>SCION Overview</title>
            <author fullname="Corine de Kater" initials="C." surname="de Kater">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Nicola Rustignoli" initials="N." surname="Rustignoli">
              <organization>SCION Association</organization>
            </author>
            <author fullname="Adrian Perrig" initials="A." surname="Perrig">
              <organization>ETH Zuerich</organization>
            </author>
            <date day="7" month="May" year="2024"/>
            <abstract>
              <t>   The Internet has been successful beyond even the most optimistic
   expectations and is intertwined with many aspects of our society.
   But although the world-wide communication system guarantees global
   reachability, the Internet has not primarily been built with security
   and high availability in mind.  The next-generation inter-network
   architecture SCION (Scalability, Control, and Isolation On Next-
   generation networks) aims to address these issues.  SCION was
   explicitly designed from the outset to offer security and
   availability by default.  The architecture provides route control,
   failure isolation, and trust information for end-to-end
   communication.  It also enables multi-path routing between hosts.

   This document discusses the motivations behind the SCION architecture
   and gives a high-level overview of its fundamental components,
   including its authentication model and the setup of the control- and
   data plane.  As SCION is already in production use today, the
   document concludes with an overview of SCION deployments.

   For detailed descriptions of SCION's components, refer to
   [I-D.dekater-scion-pki], [I-D.dekater-scion-controlplane], and
   [I-D.dekater-scion-dataplane].  A more detailed analysis of
   relationships and dependencies between components is available in
   [I-D.rustignoli-scion-components].

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-dekater-panrg-scion-overview-06"/>
        </reference>
        <reference anchor="ISD-AS-assignments-Anapaya" target="https://docs.anapaya.net/en/latest/resources/isd-as-assignments/">
          <front>
            <title>SCION ISD and AS Assignments</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <reference anchor="ISD-AS-assignments" target="http://scion.org/registry/">
          <front>
            <title>SCION Registry</title>
            <author>
              <organization/>
            </author>
            <date year="2025"/>
          </front>
        </reference>
        <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="RFC8210">
          <front>
            <title>The Resource Public Key Infrastructure (RPKI) to Router Protocol, Version 1</title>
            <author fullname="R. Bush" initials="R." surname="Bush"/>
            <author fullname="R. Austein" initials="R." surname="Austein"/>
            <date month="September" year="2017"/>
            <abstract>
              <t>In order to verifiably validate the origin Autonomous Systems and Autonomous System Paths of BGP announcements, routers need a simple but reliable mechanism to receive Resource Public Key Infrastructure (RFC 6480) prefix origin data and router keys from a trusted cache. This document describes a protocol to deliver them.</t>
              <t>This document describes version 1 of the RPKI-Router protocol. RFC 6810 describes version 0. This document updates RFC 6810.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8210"/>
          <seriesInfo name="DOI" value="10.17487/RFC8210"/>
        </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>
        <reference anchor="SCIONLAB" target="https://ieeexplore.ieee.org/abstract/document/9259355">
          <front>
            <title>SCIONLAB - A Next-Generation Internet Testbed</title>
            <author initials="J." surname="Kown" fullname="Jonghoon Kwon">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="J." surname="García-Pardo" fullname="Juan A. García-Pardo">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="M." surname="Legner" fullname="Markus Legner">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="F." surname="Wirz" fullname="François Wirz">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="M." surname="Frei" fullname="Matthias Frei">
              <organization>ETH Zuerich</organization>
            </author>
            <author initials="D." surname="Hausheer" fullname="David Hausheer">
              <organization>Otto von Guericke University Magdeburg</organization>
            </author>
            <author initials="A." surname="Perrig" fullname="Adrian Perrig">
              <organization>ETH Zuerich</organization>
            </author>
            <date year="2020"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 1395?>

<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="deployment-testing-scionlab">
      <name>Deployment Testing: SCIONLab</name>
      <t>SCIONLab is a global research network that is available to test the SCION architecture. You can create and use your ASes using your own computation resources which allows you to gain real-world experience of deploying and managing a SCION network.</t>
      <t>More information can be found on the SCIONLab website and in the <xref target="SCIONLAB"/> paper.</t>
    </section>
    <section numbered="false" anchor="initial-ceremony">
      <name>Appendix A. Signing Ceremony Initial TRC</name>
      <t>A Signing Ceremony is used to create the initial (first) Trust Root Configuration of an ISD. Each ISD may decide how to conduct this ceremony, but it is <bcp14>RECOMMENDED</bcp14> to establish a procedure similar to the one described below:</t>
      <section numbered="false" anchor="ceremony-participants">
        <name> Ceremony Participants</name>
        <t>The Signing Ceremony <bcp14>SHOULD</bcp14> include the following participants:</t>
        <ul spacing="normal">
          <li>
            <t><strong>Ceremony Administrator</strong> - an individual in charge of moderating the signing process, guiding the participants through the steps, and acting as an intermediary for sharing information. The Ceremony Administrator is typically appointed by the ISD Manager or by resolution of the Voting ASes.</t>
          </li>
          <li>
            <t><strong>Voting AS Representatives</strong> - individuals representing each Voting AS who are able to create voting signatures on the TRC. They are in possession of a device with the private keys of their respective certificates in the TRC.</t>
          </li>
          <li>
            <t><strong>Witness(es)</strong> - individual(s) who have no active role in the Signing Ceremony but may stop the process and request more information if they feel its integrity may have been compromised. The Witness(es) are typically appointed by resolution of the Voting ASes.</t>
          </li>
        </ul>
        <t><strong>Note:</strong> The ISD members <bcp14>MUST</bcp14> decide on the roles of the Signing Ceremony participants in advance of Signing Ceremony, and <bcp14>MUST</bcp14> have reached agreement about the Certificate Authority (CA) ASes (that will also issue the root certificates). It is assumed that all parties are trustworthy and issues encountered during the Signing Ceremony may be assumed to be caused by honest mistakes and not by malicious intent. Hash comparison checks are included to counter mistakes and so that every participant can ensure they are operating on the same data, and 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="ceremonyprep">
        <name>Ceremony Preparations</name>
        <t>The participants <bcp14>MUST</bcp14> decide in advance on the physical location of the Signing Ceremony, the devices that will be used, and the ISD policy as follows:</t>
        <ul spacing="normal">
          <li>
            <t>ISD number - usually obtained from the SCION registry, see <xref target="id"/>;</t>
          </li>
          <li>
            <t>The description of the TRC, see <xref target="description"/>;</t>
          </li>
          <li>
            <t>Validity period of the TRC, see <xref target="validity"/>;</t>
          </li>
          <li>
            <t>Voting quorum for the TRC, see <xref target="quorum"/>;</t>
          </li>
          <li>
            <t>AS numbers of the Core ASes, see <xref target="core"/>;</t>
          </li>
          <li>
            <t>AS numbers of the Authoritative ASes, see <xref target="auth"/>;</t>
          </li>
          <li>
            <t>The list of Control Plane Root Certificates.</t>
          </li>
        </ul>
        <t>Each representative of a Voting AS <bcp14>MUST</bcp14> also create the following before the ceremony:</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>
        <t>In addition, each Certificate Authority <bcp14>MUST</bcp14> create a control plane root private key and a certificate holding the corresponding public key. A representative of the Certificate Authority need not be present at the ceremony as they do not need to sign the TRC, but they <bcp14>MUST</bcp14> provide their root certificate to be shared at the ceremony. The validity period of the certificates generated in advance <bcp14>MUST</bcp14> cover the full TRC validity period.</t>
        <t>The location <bcp14>MUST</bcp14> provide electricity and power sockets for each participant, and should provide a monitor or projector that allows the Ceremony Administrator to display proceedings.</t>
        <t>The Ceremony Administrator and Voting ASes <bcp14>MUST</bcp14> each bring to the Signing Ceremony a secure machine capable of signing and verifying TRCs and computing the SHA-512 digest of the files. For voting ASes, the machine requires access to their own sensitive and regular voting private keys.</t>
        <t>The Ceremony Administrator <bcp14>MUST</bcp14> provide or be provided with a device to exchange data between the ceremony participants.</t>
        <t>The Signing Ceremony <bcp14>SHOULD</bcp14> include a procedure to verify that all devices are secure.</t>
      </section>
      <section numbered="false" anchor="ceremonyprocess">
        <name> Ceremony Process</name>
        <t>The number of Voting ASes present at the Signing Ceremony must be equal to or larger than the specified voting quorum.</t>
        <t>The signing process has four phases of data sharing, led by the Ceremony Administrator who provides instructions to the other participants:</t>
        <section numbered="false" anchor="phase1">
          <name>Phase 1: Certificate Exchange</name>
          <t>All parties share the certificates that must be part of the TRC with the Ceremony Administrator. For the Voting ASes, these are the sensitive and the regular voting certificates, and for the Certificate Authority these are the Control Plane root certificates.</t>
          <t>Each representative copies the requested certificates from their machine onto a data exchange device provided by the Ceremony Administrator that is passed between all representatives, before being returned to the Ceremony Administrator. Representatives <bcp14>MUST NOT</bcp14> copy the corresponding private keys onto the data exchange device as this invalidates the security of the ceremony.</t>
          <t>The Ceremony Administrator then checks that the validity period of each provided certificate covers the previously agreed upon TRC validity, that the signature algorithms are correct, and that the certificate type is valid (root, sensitive voting or regular voting certificate). If these parameters are correct, the Ceremony Administrator computes the SHA256 hash value for each certificate, aggregates and bundles all the provided certificates, and finally calculates the SHA512 hash value for the entire bundle. All hash values must be displayed to the participants.</t>
          <t>The Ceremony Administrator <bcp14>MUST</bcp14> then share the bundle with the representatives of the voting ASes who <bcp14>MUST</bcp14> validate on their machine that the hash value of their certificates and that of the bundled certificates is the same as displayed by the Ceremony Administrator.</t>
          <t>Phase 1 concludes when every representative has confirmed the SHA256 sums are correct. If there is any mismatch then this phase <bcp14>MUST</bcp14> be repeated.</t>
        </section>
        <section numbered="false" anchor="phase2">
          <name>Phase 2: Generation of the TRC Payload</name>
          <t>The Ceremony Administrator generates the TRC payload based on the bundled certificates and the <xref target="trcfields"/> completed in accordance with ISD policy, see <xref target="ceremonyprep"/>.</t>
          <t>Once the voting representatives have verified the TRC data, the Ceremony Administrator computes the DER encoding of the data according to <xref target="trcpayload"/> and the SHA256 hash value of the TRC payload file. The TRC payload file is then shared with the voting representatives via the data exchange device who verify the TRC payload hash value by computing this on their machine and checking it matches the one displayed by the Ceremony Administrator.</t>
          <t>Phase 2 concludes when all voting representatives confirm that the contents of the TRC payload are correct.</t>
        </section>
        <section numbered="false" anchor="phase3">
          <name>Phase 3: TRC Signing</name>
          <t>Each voting representative attaches a signature created with their own private voting key to the TRC (payload file), using their own machine. This serves to prove possession of the private keys.</t>
          <t>Phase 3 concludes when all voting representatives have attached their signatures to the TRC.</t>
        </section>
        <section numbered="false" anchor="phase4">
          <name>Phase 4: TRC Validation</name>
          <t>All voting representatives copy the TRC payload signed with their private voting keys to the data exchange device and return this to the Ceremony Administrator. The Ceremony Administrator assembles the final TRC by aggregating the payload data and verifying the signatures based on the certificates exchanged during Phase 1. The Ceremony Administrator then shares the assembled TRC with all participants who <bcp14>MUST</bcp14> again inspect the signatures and verify them based on the certificates exchanged in Phase 1.</t>
          <t>The Signing Ceremony is completed once when every voting representative confirms that the signatures match. All participants can then use the TRC to distribute trust anchors for the ISD.</t>
        </section>
      </section>
    </section>
    <section numbered="false" anchor="change-log">
      <name>Change Log</name>
      <t>Changes made to drafts since ISE submission. This section is to be removed before publication.</t>
      <section numbered="false" anchor="draft-dekater-scion-pki-10">
        <name>draft-dekater-scion-pki-10</name>
        <ul spacing="normal">
          <li>
            <t>removed ISD assignment table and replaced to reference in control-plane draft</t>
          </li>
          <li>
            <t>Updated number assignment reference</t>
          </li>
          <li>
            <t>Signatures: mention that other algorithms that ECDSA may be used in the future</t>
          </li>
          <li>
            <t>Figures: add SVG version</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-pki-09">
        <name>draft-dekater-scion-pki-09</name>
        <ul spacing="normal">
          <li>
            <t>Signing ceremony and introduction - improved text</t>
          </li>
          <li>
            <t>Clarified why a CA must have an ISD-AS number assigned</t>
          </li>
          <li>
            <t>Mention Active Discovery as a TRC discovery mechanism</t>
          </li>
          <li>
            <t>Abstract: mention goal and that document is not an Internet Standard</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-pki-08">
        <name>draft-dekater-scion-pki-08</name>
        <ul spacing="normal">
          <li>
            <t>Fix some oversized diagrams</t>
          </li>
          <li>
            <t>Introduction text rewording</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-pki-07">
        <name>draft-dekater-scion-pki-07</name>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>Clarified relationship with RPKI.</t>
          </li>
          <li>
            <t>Added this changelog</t>
          </li>
          <li>
            <t>General text editing</t>
          </li>
          <li>
            <t>References: fixed ITU, ANSI, Assigned ISD-AS, fixed cross-reference to text formatting in the CP draft</t>
          </li>
        </ul>
      </section>
      <section numbered="false" anchor="draft-dekater-scion-pki-06">
        <name>draft-dekater-scion-pki-06</name>
        <t>Major changes:</t>
        <ul spacing="normal">
          <li>
            <t>Added overview of SCION components to Introduction section.</t>
          </li>
        </ul>
        <t>Minor changes:</t>
        <ul spacing="normal">
          <li>
            <t>General edits to make terminology consistent, remove duplication and rationalize text.</t>
          </li>
          <li>
            <t>Removed forward references.</t>
          </li>
          <li>
            <t>Added RFC2119 compliant terminology.</t>
          </li>
        </ul>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
oY/mFZlkV0VLZui8nl2WbUETDdkeLW3LTbzBeTWj84Vf92mU/RFhkQYeBiti
Vz8+V+f0HFlFRuKxlldyMpeyQi4n08xABvSBCJQeOCMiYItPULmJ1789AbqJ
50ayJIVMqRUW1zJFz9uNZCldc/gsNfgR/wA13QtDYSeU3AP0vWy46gX8Mi1E
u0TOJlGF52LK4+EC7gCfLooLQBo89SBX6j66M+gFELX8I/HbZHFCYgt8slp5
D5hUklB7X7feRtIyPOTVinbM05OPDy9gSERcizwSBbFJ7pKtESD2MBVBF9/5
uWeAgj6AMZvaBQIn7PorCnBfV+gWpQpugnbvcKIGyMnsEsSjSgkLCSXsJKQ+
4GTN5/qSrnevTR4FFHC+6fPNap5TI4gFeemC1uAXi2qKoUHVqsK8NVBqZ+r+
ruYFZS+5uZf5iuzSSM0wsESselSwqOSaIBIZVVLzWxlbfPfej8EdO7nCkJTc
1Sst8XVuSqQVq2rJXeyKekmiGJJRXstSoxvt17Qsdk9LP14Jap2xEC/tMHV5
BuKmkjnKm+Tulcb1JgrKLc4ZAZpNMyvWrZp1/IVxLiG8Izw4otplvmjFg4rP
AsnFNe6FlI+CAqr6muNzXFjNkRvcx9DQ3efDbk05uBn2zUZ1XRLcbuxqdmXL
gL27LhRHIA+crWSqpkdtccscuw8hCIOX2FegzejpTWSUMiCH9+A1QDENPwEU
JYJKqlNggrNN2DxUyfGvdweQWo1qZOSesHUFmcqCbffqP1FZp+kzr0WN6/OV
i/4J+uRE5apJqPR8s0lNWDaWjjIvzuco+KOPlo8kQQnjwths5rbF8WCZ59Ls
nJw77xqqhOQ6TAN0TLGjoC7SSt5AUy8tQKMu/UpNZ3CO3cTN8Oq97cc0VXPJ
66lW4ybbk+NT8TeqZMnCOj/Go1MA7ma1KN8hubUdszVmnpXzMR84wClx3nrU
LmYyVWc8ONmufCVpA+kgPYkPDR6fl6gjWos1EuMQReCjv/z5vzZp1MBzuR0z
olUO74YaDC14V6CVvr538kqWGP4R5rKIbmrAjt1l6yIQITDe2+xQbC1mx6iH
mJ1K66q+5ZTOUUVRJkfO9AcoyNFSQFlfHz3jIELUNimC1wXUhxMDWynXvvkV
vieMhMNj6GPyvq8KQNxpRbFchBmczo/JRfV9ygDhR0mANrqa0vE3hYQ9EZp4
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
0MYB2qzz08ViSSPvVBcuNpzN/gC9gU7aPLIBAA==

-->

</rfc>
