<?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-rfc2629 version 1.5.25 (Ruby 2.6.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richardson-t2trg-idevid-considerations-06" category="info" tocInclude="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.12.0 -->
  <front>
    <title abbrev="IDevID Considerations">A Taxonomy of operational security considerations for manufacturer installed keys and Trust Anchors</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-t2trg-idevid-considerations-06"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <date year="2022" month="February" day="03"/>
    <workgroup>T2TRG Research Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document provides a taxonomy of methods used by manufacturers of silicon and devices
to secure private keys and public trust anchors.
This deals with two related activities: how trust anchors and private keys
are installed into devices during manufacturing, and how the related
manufacturer held private keys are secured against disclosure.</t>
      <t>This document does not evaluate the different mechanisms, but rather just
serves to name them in a consistent manner in order to aid in communication.</t>
      <t>RFCEDITOR: please remove this paragraph. This work is occurring in https://github.com/mcr/idevid-security-considerations</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>An increasing number of protocols derive a significant part of their security by using trust anchors <xref target="RFC4949"/> that are installed by manufacturers.
Disclosure of the list of trust anchors does not usually cause a problem, but changing them in any way does.
This includes adding, replacing or deleting anchors.
<xref target="RFC6024"/> deals with how trust anchor stores are managed, while this document deals with how the associated PKI which is anchor is managed.</t>
      <t>Many protocols also leverage manufacturer installed identities.
These identities are usually in the form of <xref target="ieee802-1AR"/> Initial Device Identity certificates (IDevID).
The identity has two components: a private key that must remain under the strict control of a trusted part of the device, and a public part (the certificate), which (ignoring, for the moment, personal privacy concerns) may be freely disclosed.</t>
      <t>There also situations where identities are tied up in the provision of symmetric shared secrets.
<!-- FIXME: -->
A common example is the SIM card (<xref target="_3GPP.51.011"/>), it now comes as a virtual SIM, but which is usually not provisioned at the factory.
The provision of an initial, per-device default password also falls into the category of symmetric shared secret.</t>
      <t>It is further not unusual for many devices (particularly smartphones) to also have one or more group identity keys.
This is used, for instance, in <xref target="fidotechnote"/> to make claims about being a particular model of phone (see <xref target="I-D.richardson-rats-usecases"/>).
The key pair that does this is loaded into large batches of phones for privacy reasons.</t>
      <t>The trust anchors are used for a variety of purposes.
Trust anchors are used to verify:</t>
      <ul spacing="normal">
        <li>the signature on a software update (as per <xref target="I-D.ietf-suit-architecture"/>),</li>
        <li>a TLS Server Certificate, such as when setting up an HTTPS connection,</li>
        <li>the <xref target="RFC8366"/> format voucher that provides proof of an ownership change.</li>
      </ul>
      <t>Device identity keys are used when performing enrollment requests (in <xref target="RFC8995"/>, and in some uses of <xref target="I-D.ietf-emu-eap-noob"/>.
The device identity certificate is also used to sign Evidence by an Attesting Environment (see <xref target="I-D.ietf-rats-architecture"/>).</t>
      <t>These security artifacts are used to anchor other chains of information: an EAT Claim as to the version of software/firmware running on a device (<xref target="I-D.birkholz-suit-coswid-manifest"/>), an EAT claim about legitimate network activity (via <xref target="I-D.birkholz-rats-mud"/>, or embedded in the IDevID in <xref target="RFC8520"/>).</t>
      <t>Known software versions lead directly to vendor/distributor signed Software Bill of Materials (SBOM), such as those described by <xref target="I-D.ietf-sacm-coswid"/> and the NTIA/SBOM work <xref target="ntiasbom"/> and CISQ/OMG SBOM work underway <xref target="cisqsbom"/>.</t>
      <t>In order to manage risks and assess vulnerabilities in a Supply Chain, it is necessary to determine a degree of trustworthiness in each device.
A device may mislead audit systems as to its provenance, about its software load or even about what kind of device it is (see <xref target="RFC7168"/> for a humorous example).</t>
      <t>In order to properly assess the security of a Supply Chain it is necessary to understand the kinds and severity of the threats which a device has been designed to resist.
To do this, it is necessary to understand the ways in which the different trust anchors and identities are initially provisioned, are protected, and are updated.</t>
      <t>To do this, this document details the different trust anchors (TrAnc) and identities (IDs) found in typical devices.
The privacy and integrity of the TrAncs and IDs is often provided by a different, superior artifact.
This relationship is examined.</t>
      <t>While many might desire to assign numerical values to different mitigation techniques in order to be able to rank them,  this document does not attempt to do that, as there are too many other (mostly human) factors that would come into play.
Such an effort is more properly in the purview of a formal ISO9001 process such as ISO14001.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>This document is not a standards track document, and it does not make use of formal requirements language.</t>
        <t>This section will be expanded to include needed terminology as required.</t>
        <t>The words Trust Anchor are contracted to TrAnc rather than TA, in order not to confuse with <xref target="I-D.ietf-teep-architecture"/>'s "Trusted Application".</t>
        <t>This document defines a number of hyphenated terms, and they are summarized here:</t>
        <dl>
          <dt>
device-generated:  </dt>
          <dd>
            <t>a private or symmetric key which is generated on the device</t>
          </dd>
          <dt>
infrastructure-generated:  </dt>
          <dd>
            <t>a private or symmetric key which is generated by some system, likely
located at the factory that built the device</t>
          </dd>
          <dt>
mechanically-installed:  </dt>
          <dd>
            <t>when a key or certificate is programmed into non-volatile storage by
an out-of-band mechanism such as JTAG <xref target="JTAG"/></t>
          </dd>
          <dt>
mechanically-transferred:  </dt>
          <dd>
            <t>when a key or certificate is transferred into a system via private interface, such as serial console, JTAG managed mailbox, or other physically private interface</t>
          </dd>
          <dt>
network-transferred:  </dt>
          <dd>
            <t>when a key or certificate is transferred into a system using a network interface which would be available after the device has shipped.  This applies even if the network is physically attached using a bed-of-nails <xref target="BedOfNails"/>.</t>
          </dd>
          <dt>
device/infrastructure-co-generated:  </dt>
          <dd>
            <t>when a private or symmetric key is derived from a secret previously synchronized between the silicon vendor and the factory using a common algorithm.</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="applicability-model">
      <name>Applicability Model</name>
      <t>There is a wide variety of devices to which this analysis can apply.
(See <xref target="I-D.bormann-lwig-7228bis"/>.)
This document will use a J-group processor as a sample.
This class is sufficiently large to experience complex issues among multiple CPUs, packages and operating systems, but at the same time, small enough that this class is often deployed in single-purpose IoT-like uses.
Devices in this class often have Secure Enclaves (such as the "Grapeboard"), and can include silicon manufacturer controlled processors in the boot process (the Raspberry PI boots under control of the GPU).</t>
      <t>Almost all larger systems (servers, laptops, desktops) include a Baseboard Management Controller (BMC), which ranges from a M-Group Class 3 MCU, to a J-Group Class 10 CPU (see, for instance <xref target="openbmc"/> which uses a Linux kernel and system inside the BMC).
As the BMC usually has complete access to the main CPU's memory, I/O hardware and disk, the boot path security of such a system needs to be understood first as being about the security of the BMC.</t>
      <section anchor="a-reference-manufacturingboot-process">
        <name>A reference manufacturing/boot process</name>
        <t>In order to provide for immutability and privacy of the critical TrAnc and IDs, many CPU manufacturers will provide for some kind of private memory area which is only accessible when the CPU is in certain privileged states.
See the Terminology section of <xref target="I-D.ietf-teep-architecture"/>, notably TEE, REE, and TAM, and also section 4, Architecture.</t>
        <t>The private memory that is important is usually non-volatile and rather small.
It may be located inside the CPU silicon die, or it may be located externally.
If the memory is external, then it is usually encrypted by a hardware mechanism on the CPU, with only the key kept inside the CPU.</t>
        <t>The entire mechanism may be external to the CPU in the form of a hardware-TPM module, or it may be entirely internal to the CPU in the form of a firmware-TPM.
It may use a custom interface to the rest of the system, or it may implement the TPM 1.2 or TPM 2.0 specifications.
Those details are important to performing a full evaluation, but do not matter much to this model (see initial-enclave-location below).</t>
        <t>During the manufacturing process, once the components have been soldered to the board, the system is usually put through a system-level test.
This is often done as a "bed-of-nails" test <xref target="BedOfNails"/>, where the board has key points attached mechanically to a test system.
A <xref target="JTAG"/> process tests the System Under Test, and then initializes some firmware into the still empty flash storage.</t>
        <t>It is now common for a factory test image to be loaded first: this image will include code to initialize the private memory key described above, and will include a first-stage bootloader and some kind of (primitive) Trusted Application Manager (TAM).
(The TAM is a piece of software that lives within the trusted execution environment.)</t>
        <t>Embedded in the stage one bootloader will be a Trust Anchor that is able to verify the second-stage bootloader image.</t>
        <t>After the system has undergone testing, the factory test image is erased, leaving the first-stage bootloader.
One or more second-stage bootloader images are installed.
The production image may be installed at that time, or if the second-stage bootloader is able to install it over the network, it may be done that way instead.</t>
        <t>There are many variations of the above process, and this section is not attempting to be prescriptive, but to be provide enough illustration to motivate subsequent terminology.</t>
        <t>The process may be entirely automated, or it may be entirely driven by humans working in the factory, or a combination of the above.</t>
        <t>These steps may all occur on an access-controlled assembly line, or the system boards may be shipped from one place to another (maybe another country) before undergoing testing.</t>
        <t>Some systems are intended to be shipped in a tamper-proof state, but it is usually not desirable that bed-of-nails testing be possible without tampering, so the initialization process is usually done prior to rendering the system tamper-proof.
An example of a one-way tamper-proof, weather resistant treatment might to mount the system board in a case and fill the case with resin.</t>
        <t>Quality control testing may be done prior to as well as after the application of tamper-proofing, as systems which do not pass inspection may be reworked to fix flaws, and this should ideally be impossible once the system has been made tamper-proof.</t>
      </section>
    </section>
    <section anchor="types-of-trust-anchors">
      <name>Types of Trust Anchors</name>
      <t>Trust Anchors (TrAnc) are fundamentally public keys with authorizations implicitly attached through the code that references them.</t>
      <t>They are used to validate other digitally signed artifacts.
Typically, these are chains of PKIX certificates leading to an End-Entity certificate (EE).</t>
      <t>The chains are usually presented as part of an externally provided object, with the term "externally" to be understood as being as close as untrusted flash, to as far as objects retrieved over a network.</t>
      <t>There is no requirement that there be any chain at all: the trust anchor can be used to validate a signature over a target object directly.</t>
      <t>The trust anchors are often stored in the form of self-signed certificates.
The self-signature does not offer any cryptographic assurance, but it does provide a form of error detection, providing verification against non-malicious forms of data corruption.
If storage is at a premium (such as inside-CPU non-volatile storage) then only the public key itself need to be stored.
For a 256-bit ECDSA key, this is 32 bytes of space.</t>
      <t>When evaluating the degree of trust for each trust anchor there are four aspects that need to be determined:</t>
      <ul spacing="normal">
        <li>can the trust anchor be replaced or modified?</li>
        <li>can additional trust anchors be added?</li>
        <li>can trust anchors be removed?</li>
        <li>how is the private key associated with the trust anchor, maintained by the manufacturer, maintained?</li>
      </ul>
      <t>The first three things are device specific properties of how the integrity of the trust anchor is maintained.</t>
      <t>The fourth property has nothing to do with the device, but has to do with the reputation and care of the entity that maintains the private key.</t>
      <t>Different anchors have different authorizations associated with them.</t>
      <t>These are:</t>
      <section anchor="secured-first-boot-trust-anchor">
        <name>Secured First Boot Trust Anchor</name>
        <t>This anchor is part of the first-stage boot loader, and it is used to validate a second-stage bootloader which may be stored in external flash.
This is called the initial software trust anchor.</t>
      </section>
      <section anchor="software-update-trust-anchor">
        <name>Software Update Trust Anchor</name>
        <t>This anchor is used to validate the main application (or operating system) load for the device.</t>
        <t>It can be stored in a number of places.
First, it may be identical to the Secure Boot Trust Anchor.</t>
        <t>Second, it may be stored in the second-stage bootloader, and therefore its integrity is protected by the Secured First Boot Trust Anchor.</t>
        <t>Third, it may be stored in the application code itself, where the application validates updates to the application directly (update in place), or via a double-buffer arrangement.
The initial (factory) load of the application code initializes the trust arrangement.</t>
        <t>In this situation the application code is not in a secured boot situation, as the second-stage bootloader does not validate the application/operating system before starting it, but it may still provide measured boot mechanism.</t>
      </section>
      <section anchor="trusted-application-manager-anchor">
        <name>Trusted Application Manager anchor</name>
        <t>This anchor is the secure key for the <xref target="I-D.ietf-teep-architecture"/> Trusted Application Manager (TAM).
Code which is signed by this anchor will be given execution privileges as described by the manifest which accompanies the code.
This privilege may include updating anchors.</t>
      </section>
      <section anchor="public-webpki-anchors">
        <name>Public WebPKI anchors</name>
        <t>These anchors are used to verify HTTPS certificates from web sites.
These anchors are typically distributed as part of desktop browsers, and via desktop operating systems.</t>
        <t>The exact set of these anchors is not precisely defined: it is usually determined by the browser vendor (e.g., Mozilla, Google, Apple, Safari, Microsoft), or the operating system vendor (e.g., Apple, Google, Microsoft, Ubuntu).
In most cases these vendors look to the CA/Browser Forum <xref target="CABFORUM"/> for inclusion criteria.</t>
      </section>
      <section anchor="dnssec-root">
        <name>DNSSEC root</name>
        <t>This anchor is part of the DNS Security extensions.
It provides an anchor for securing DNS lookups.
Secure DNS lookups may be important in order to get access to software updates.
This anchor is now scheduled to change approximately every 3 years, with the new key announced several years before it is used, making it possible to embed keys that
will be valid for up to five years.</t>
        <t>This trust anchor is typically part of the application/operating system code and is usually updated by the manufacturer when they do updates.
However, a system that is connected to the Internet may update the DNSSEC anchor itself through the mechanism described in <xref target="RFC5011"/>.</t>
        <t>There are concerns that there may be a chicken and egg situation for devices that have remained in a powered off state (or disconnected from the Internet) for some period of years.
That upon being reconnected, that the device would be unable to do DNSSEC validation.
This failure would result in them being unable to obtain operating system updates that would then include the updates to the DNSSEC key.</t>
      </section>
      <section anchor="what-else">
        <name>What else?</name>
        <t>TBD?</t>
      </section>
    </section>
    <section anchor="types-of-identities">
      <name>Types of Identities</name>
      <t>Identities are installed during manufacturing time for a variety of purposes.</t>
      <t>Identities require some private component.
Asymmetric identities (e.g., RSA, ECDSA, EdDSA systems) require a corresponding public component, usually in the form of a certificate signed by a trusted third party.</t>
      <t>This certificate associates the identity with attributes.</t>
      <t>The process of making this coordinated key pair and then installing it into the device is called identity provisioning.</t>
      <section anchor="manufacturer-installed-idevid-certificates">
        <name>Manufacturer installed IDevID certificates</name>
        <t><xref target="ieee802-1AR"/> defines a category of certificates that are installed by the manufacturer, which contain at the least, a device unique serial number.</t>
        <t>A number of protocols depend upon this certificate.</t>
        <ul spacing="normal">
          <li>
            <xref target="RFC8572"/> and <xref target="RFC8995"/> introduce mechanisms for new devices (called pledges) to be onboarded into a network without intervention from an expert operator. A number of derived protocols such as <xref target="I-D.ietf-anima-brski-async-enroll"/>,                <xref target="I-D.ietf-anima-constrained-voucher"/>, <xref target="I-D.richardson-anima-voucher-delegation"/>, <xref target="I-D.friel-anima-brski-cloud"/> extend this in a number of ways.</li>
          <li>
            <xref target="I-D.ietf-rats-architecture"/> depends upon a key provisioned into the Attesting Environment to sign Evidence.</li>
          <li>
            <xref target="I-D.ietf-suit-architecture"/> may depend upon a key provisioned into the
device in order to decrypt software updates.
Both symmetric and asymmetric keys are possible.
In both cases, the decrypt operation depends upon the device having access to
a private key provisioned in advance.
The IDevID can be used for this if algorithm choices permit.
ECDSA keys do not directly support encryption in the same way that RSA does, for
instance, but the addition of ECIES can solve this.
There may be other legal considerations why the IDevID might not be used, and
a second key provisioned.</li>
          <li>TBD</li>
        </ul>
        <section anchor="operational-considerations-for-manufacturer-idevid-public-key-infrastructure">
          <name>Operational Considerations for Manufacturer IDevID Public Key Infrastructure</name>
          <t>The manufacturer has the responsibility to provision a key pair into each
device as part of the manufacturing process.
There are a variety of mechanisms to accomplish this, which this document will overview.</t>
          <t>There are three fundamental ways to generate IDevID certificates for devices:</t>
          <ol spacing="normal" type="1"><li>generating a private key on the device, creating a Certificate Signing
Request (or equivalent), and then returning a certificate to the device.</li>
            <li>generating a private key outside the device, signing the certificate, and
the installing both into the device.</li>
            <li>deriving the private key from a previously installed secret seed, that is shared with only the manufacturer.</li>
          </ol>
          <t>There is a fourth situation where the IDevID is provided as part of a Trusted
Platform Module (TPM), in which case the TPM vendor may be making the same
tradeoffs.</t>
          <t>The document <xref target="I-D.moskowitz-ecdsa-pki"/> provides some practical instructions
on setting up a reference implementation for ECDSA keys using a three-tier
mechanism.</t>
        </section>
        <section anchor="key-generation-process">
          <name>Key Generation process</name>
          <section anchor="on-device-private-key-generation">
            <name>On-device private key generation</name>
            <t>Generating the key on-device has the advantage that the private key never leaves the device.
The disadvantage is that the device may not have a verified random number generator.
<xref target="factoringrsa"/> is an example of a successful attack on this scenario.</t>
            <t>There are a number of options of how to get the public key securely from the
device to the certification authority.</t>
            <t>This transmission must be done in an integral manner, and must be securely associated with the assigned serial number.
The serial number goes into the certificate, and the resulting certificate needs to be loaded into the manufacturer's asset database.</t>
            <t>One way to do the transmission is during a factory Bed of Nails test (see <xref target="BedOfNails"/>) or Boundary Scan.
When done via a physical connection like this, then this is referred to as a
<em>device-generated</em> / <em>mechanically-transferred</em> method.</t>
            <t>There are other ways that could be used where a certificate signing request is sent over a special network channel when the device is powered up in the factory.
This is referred to as the <em>device-generated</em> / <em>network-transferred</em>  method.</t>
            <t>Regardless of how the certificate signing request is sent from the device to the factory, and how the certificate is returned to the device, a concern from production line managers is that the assembly line may have to wait for the certification authority to respond with the certificate.</t>
            <t>After the key generation, the device needs to set a flag such that it no longer will generate a new key / will accept a new IDevID via the factory connection.
This may be a software setting, or could be as dramatic as blowing a fuse.</t>
            <t>The risk is that if an attacker with physical access is able to put the device back into an unconfigured mode, then the attacker may be able to substitute a new certificate into the device.
It is difficult to construct a rationale for doing this, unless the network initialization also permits an attacker to load or replace trust anchors at the same time.</t>
            <t>Devices are typically constructed in a fashion such that the device is unable to ever disclose the private key via an external interface.
This is usually done using a secure-enclave provided by the CPU architecture in combination with on-chip non-volatile memory.</t>
          </section>
          <section anchor="off-device-private-key-generation">
            <name>Off-device private key generation</name>
            <t>Generating the key off-device has the advantage that the randomness of the private key can be better analyzed.
As the private key is available to the manufacturing infrastructure, the authenticity of the public key is well known ahead of time.</t>
            <t>If the device does not come with a serial number in silicon, then one should be assigned and placed into a certificate.
The private key and certificate could be programmed into the device along with the initial bootloader firmware in a single step.</t>
            <t>Aside from the change of origin for the randomness, a major advantage of this mechanism  is that it can be done with a single write to the flash.
The entire firmware of the device, including configuration of trust anchors and private keys can be loaded in a single write pass.
Given some pipelining of the generation of the keys and the creation of certificates, it may be possible to install unique identities without taking any additional time.</t>
            <t>The major downside to generating the private key off-device is that it could be seen by the manufacturing infrastructure.
It could be compromised by humans in the factory, or the equipment could be compromised.
The use of this method increases the value of attacking the manufacturing infrastructure.</t>
            <t>If private keys are generated by the manufacturing plant, and are immediately installed, but never stored, then the window in which an attacker can gain access to the private key is immensely reduced.</t>
            <t>As in the previous case, the transfer may be done via physical interfaces such as bed-of-nails, giving the <em>infrastructure-generated</em> / <em>mechanically-transferred</em> method.</t>
            <t>There is also the possibility of having a <em>infrastructure-generated</em> / <em>network-transferred</em>
key.
There is a support for "server-generated" keys in <xref target="RFC7030"/>, <xref target="RFC8894"/>, and <xref target="RFC4210"/>.
All methods strongly recommend encrypting the private key for transfer.
This is difficult to comply with here as there is not yet any private key material in the device, so in many cases it will not be possible to encrypt the private key.</t>
          </section>
          <section anchor="key-setup-based-on-256-bit-secret-seed">
            <name>Key setup based on 256 bit secret seed</name>
            <t>A hybrid of the previous two methods leverages a symmetric key that is often provided by a silicon vendor to OEM manufacturers.</t>
            <t>Each CPU (or a Trusted Execution Environment <xref target="I-D.ietf-teep-architecture"/>, or a TPM) is provisioned at fabrication time with a unique, secret seed, usually at least 256 bits in size.</t>
            <t>This value is revealed to the OEM board manufacturer only via a secure channel.
Upon first boot, the system (probably within a TEE, or within a TPM) will generate a key pair using the seed to initialize a Pseudo-Random-Number-Generator (PRNG).
The OEM, in a separate system, will initialize the same PRNG and generate the same key pair.
The OEM then derives the public key part, signs it and turns it into a certificate.
The private part is then destroyed, ideally never stored or seen by anyone.
The certificate (being public information) is placed into a database, in some cases it is loaded by the device as its IDevID certificate, in other cases, it is retrieved during the onboarding process based upon a unique serial number asserted by the device.</t>
            <t>This method appears to have all of the downsides of the previous two methods: the device must correctly derive its own private key, and the OEM has access to the private key, making it also vulnerable.
The secret seed must be created in a secure way and it must also be communicated securely.</t>
            <t>There are some advantages to the OEM however: the major one is that the problem of securely communicating with the device is outsourced to the silicon vendor.
The private keys and certificates may be calculated by the OEM asynchronously to the manufacturing process, either done in batches in advance of actual manufacturing, or on demand when an IDevID is demanded.
Doing the processing in this way permits the key derivation system to be completely disconnected from any network, and requires placing very little trust in the system assembly factory.
<!-- FIXME: What? -->
Operational security such as often incorrectly presented fictionalized stories of a "mainframe" system to which only physical access is permitted begins to become realistic.
That trust has been replaced with a heightened trust placed in the silicon (integrated circuit) fabrication facility.</t>
            <t>The downsides of this method to the OEM are: they must be supplied by a trusted silicon fabrication system, which must communicate the set of secrets seeds to the OEM in batches, and they OEM must store and care for these keys very carefully.
There are some operational advantages to keeping the secret seeds around in some form, as the same secret seed could be used for other things.
There are some significant downsides to keeping that secret seed around.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="public-key-infrastructures-pki">
      <name>Public Key Infrastructures (PKI)</name>
      <t><xref target="RFC5280"/> describes the format for certificates, and numerous mechanisms
for doing enrollment have been defined (including: EST <xref target="RFC7030"/>, CMP <xref target="RFC4210"/>,
SCEP <xref target="RFC8894"/>).</t>
      <t><xref target="RFC5280"/> provides mechanisms to deal with multi-level certification
authorities, but it is not always clear what operating rules apply.</t>
      <t>The certification authority (CA) that is central to <xref target="RFC5280"/>-style public key infrastructures can suffer three kinds of failures:</t>
      <ol spacing="normal" type="1"><li>disclosure of a private key,</li>
        <li>loss of a private key,</li>
        <li>inappropriate signing of a certificate from an unauthorized source.</li>
      </ol>
      <t>A PKI which discloses one or more private certification authority keys is no
longer secure.</t>
      <t>An attacker can create new identities, and forge certificates connecting
existing identities to attacker controlled public/private keypairs.
This can permit the attacker to impersonate any specific device.</t>
      <t>There is an additional kind of failure when the CA is convinced to sign (or issue) a certificate which it is not authorized to do so.
See for instance <xref target="ComodoGate"/>.
This is an authorization failure, and while a significant event, it does not result in the CA having to be re-initialized from scratch.</t>
      <t>This is distinguished from when a loss as described above renders the CA completely useless and likely requires a recall of all products that have ever had an IDevID issued from this CA.</t>
      <t>If the PKI uses Certificate Revocation Lists (CRL)s, then an attacker that has access to the private key can also revoke existing identities.</t>
      <t>In the other direction, a PKI which loses access to a private key can no
longer function.
This does not immediately result in a failure, as existing identities remain valid until their expiry time (notAfter).
However, if CRLs or OCSP are in use, then the inability to sign a fresh CRL or OCSP response will result in all identities becoming invalid once the existing CRLs or OCSP statements expire.</t>
      <t>This section details some nomenclature about the structure of certification
authorities.</t>
      <section anchor="number-of-levels-of-certification-authorities">
        <name>Number of levels of certification authorities</name>
        <t>Section 6.1 of <xref target="RFC5280"/> provides a Basic Path Validation.
In the formula, the certificates are arranged into a list.</t>
        <t>The certification authority (CA) starts with a Trust Anchor (TrAnc).
This is counted as the first level of the authority.</t>
        <t>In the degenerate case of a self-signed certificate, then this a one level PKI.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" class="diagram" version="1.1" height="89" width="136" viewBox="0 0 136.0 89.0">
              <g transform="translate(8,16)">
                <path d="M 0,16 L 88,16" fill="none" stroke="black"/>
                <path d="M 96,16 L 112,16" fill="none" stroke="black"/>
                <path d="M 96,48 L 112,48" fill="none" stroke="black"/>
                <path d="M 0,64 L 88,64" fill="none" stroke="black"/>
                <path d="M 0,16 L 0,64" fill="none" stroke="black"/>
                <path d="M 88,16 L 88,64" fill="none" stroke="black"/>
                <path d="M 112,16 L 112,48" fill="none" stroke="black"/>
                <polygon points="104.000000,16.000000 92.000000,10.400000 92.000000,21.600000" transform="rotate(180.000000, 96.000000, 16.000000)" fill="black"/>
                <text text-anchor="middle" font-family="monospace" x="8" y="36" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="36" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="36" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="52" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="52" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="52" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="52" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="36" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="8" y="52" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="52" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="52" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="36" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="36" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="36" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="36" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="52" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="52" fill="black" font-size="1em">X</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
.----------.<-.
|Issuer= X |  | 
|Subject=X |--'
'----------'
]]></artwork>
        </artset>
        <t>The private key associated with the Trust Anchor signs one or more certificates.
When this first level authority trusts only End-Entity (EE) certificates,
then this is a two level PKI.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" class="diagram" version="1.1" height="249" width="232" viewBox="0 0 232.0 249.0">
              <g transform="translate(8,16)">
                <path d="M 0,16 L 88,16" fill="none" stroke="black"/>
                <path d="M 96,16 L 112,16" fill="none" stroke="black"/>
                <path d="M 88,48 L 112,48" fill="none" stroke="black"/>
                <path d="M 0,64 L 24,64" fill="none" stroke="black"/>
                <path d="M 24,64 L 72,64" fill="none" stroke="black"/>
                <path d="M 72,64 L 88,64" fill="none" stroke="black"/>
                <path d="M 72,96 L 136,96" fill="none" stroke="black"/>
                <path d="M 0,144 L 24,144" fill="none" stroke="black"/>
                <path d="M 80,144 L 88,144" fill="none" stroke="black"/>
                <path d="M 128,144 L 152,144" fill="none" stroke="black"/>
                <path d="M 208,144 L 216,144" fill="none" stroke="black"/>
                <path d="M 0,192 L 88,192" fill="none" stroke="black"/>
                <path d="M 128,192 L 216,192" fill="none" stroke="black"/>
                <path d="M 0,16 L 0,64" fill="none" stroke="black"/>
                <path d="M 0,144 L 0,192" fill="none" stroke="black"/>
                <path d="M 24,64 L 24,128" fill="none" stroke="black"/>
                <path d="M 72,64 L 72,96" fill="none" stroke="black"/>
                <path d="M 88,16 L 88,48" fill="none" stroke="black"/>
                <path d="M 88,48 L 88,64" fill="none" stroke="black"/>
                <path d="M 88,144 L 88,192" fill="none" stroke="black"/>
                <path d="M 112,16 L 112,48" fill="none" stroke="black"/>
                <path d="M 128,144 L 128,192" fill="none" stroke="black"/>
                <path d="M 136,96 L 136,128" fill="none" stroke="black"/>
                <path d="M 216,144 L 216,192" fill="none" stroke="black"/>
                <path d="M 24,128 L 24,136" fill="none" stroke="black"/>
                <polygon points="40.000000,128.000000 28.000000,122.400002 28.000000,133.600006" transform="rotate(90.000000, 24.000000, 128.000000)" fill="black"/>
                <polygon points="104.000000,16.000000 92.000000,10.400000 92.000000,21.600000" transform="rotate(180.000000, 96.000000, 16.000000)" fill="black"/>
                <path d="M 136,128 L 136,136" fill="none" stroke="black"/>
                <polygon points="152.000000,128.000000 140.000000,122.400002 140.000000,133.600006" transform="rotate(90.000000, 136.000000, 128.000000)" fill="black"/>
                <text text-anchor="middle" font-family="monospace" x="40" y="52" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="52" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="52" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="52" fill="black" font-size="1em">A</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="36" fill="black" font-size="1em">o</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="164" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="180" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="36" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="180" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="36" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="52" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="180" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="36" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="148" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="8" y="164" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="164" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="164" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="200" y="180" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="52" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="164" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="164" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="180" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="8" y="36" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="164" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="80" y="180" fill="black" font-size="1em">1</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="36" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="180" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="36" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="36" fill="black" font-size="1em">o</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="148" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="164" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="180" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="180" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="144" y="36" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="200" y="164" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="180" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="148" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="52" fill="black" font-size="1em">C</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="36" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="52" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="148" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="36" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="164" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="136" y="180" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="144" y="180" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="36" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="52" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="200" y="148" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="180" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="180" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="180" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="52" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="208" y="180" fill="black" font-size="1em">2</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="164" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="136" y="164" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="144" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="8" y="180" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="180" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="180" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="180" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="8" y="52" fill="black" font-size="1em">S</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
.----------.<-.
|Issuer= X |  |   root
|Subject=X +--'    CA
'--+-----+-'
   |     |
   |     '-------.
   |             |
   v             v
.----EE----.    .----EE----.
|Issuer= X |    |Issuer= X |
|Subject=Y1|    |Subject=Y2|
'----------'    '----------'


]]></artwork>
        </artset>
        <t>When this first level authority signs subordinate certification authorities,
and those certification authorities sign End-Entity certificates, then
this is a three level PKI.</t>
        <artset>
          <artwork type="svg"><svg xmlns="http://www.w3.org/2000/svg" class="diagram" version="1.1" height="425" width="480" viewBox="0 0 480.0 425.0">
              <g transform="translate(8,16)">
                <path d="M 120,16 L 208,16" fill="none" stroke="black"/>
                <path d="M 216,16 L 232,16" fill="none" stroke="black"/>
                <path d="M 208,48 L 232,48" fill="none" stroke="black"/>
                <path d="M 120,64 L 144,64" fill="none" stroke="black"/>
                <path d="M 144,64 L 192,64" fill="none" stroke="black"/>
                <path d="M 192,64 L 208,64" fill="none" stroke="black"/>
                <path d="M 48,96 L 144,96" fill="none" stroke="black"/>
                <path d="M 192,96 L 296,96" fill="none" stroke="black"/>
                <path d="M 24,144 L 112,144" fill="none" stroke="black"/>
                <path d="M 272,144 L 360,144" fill="none" stroke="black"/>
                <path d="M 24,192 L 48,192" fill="none" stroke="black"/>
                <path d="M 48,192 L 80,192" fill="none" stroke="black"/>
                <path d="M 80,192 L 112,192" fill="none" stroke="black"/>
                <path d="M 272,192 L 296,192" fill="none" stroke="black"/>
                <path d="M 296,192 L 336,192" fill="none" stroke="black"/>
                <path d="M 336,192 L 360,192" fill="none" stroke="black"/>
                <path d="M 24,224 L 48,224" fill="none" stroke="black"/>
                <path d="M 80,224 L 144,224" fill="none" stroke="black"/>
                <path d="M 264,224 L 296,224" fill="none" stroke="black"/>
                <path d="M 336,224 L 392,224" fill="none" stroke="black"/>
                <path d="M 0,272 L 24,272" fill="none" stroke="black"/>
                <path d="M 80,272 L 88,272" fill="none" stroke="black"/>
                <path d="M 128,272 L 152,272" fill="none" stroke="black"/>
                <path d="M 208,272 L 216,272" fill="none" stroke="black"/>
                <path d="M 248,272 L 272,272" fill="none" stroke="black"/>
                <path d="M 328,272 L 336,272" fill="none" stroke="black"/>
                <path d="M 376,272 L 400,272" fill="none" stroke="black"/>
                <path d="M 456,272 L 464,272" fill="none" stroke="black"/>
                <path d="M 0,320 L 88,320" fill="none" stroke="black"/>
                <path d="M 128,320 L 216,320" fill="none" stroke="black"/>
                <path d="M 248,320 L 336,320" fill="none" stroke="black"/>
                <path d="M 376,320 L 464,320" fill="none" stroke="black"/>
                <path d="M 0,272 L 0,320" fill="none" stroke="black"/>
                <path d="M 24,144 L 24,192" fill="none" stroke="black"/>
                <path d="M 24,224 L 24,256" fill="none" stroke="black"/>
                <path d="M 48,96 L 48,128" fill="none" stroke="black"/>
                <path d="M 48,192 L 48,224" fill="none" stroke="black"/>
                <path d="M 80,192 L 80,224" fill="none" stroke="black"/>
                <path d="M 88,272 L 88,320" fill="none" stroke="black"/>
                <path d="M 112,144 L 112,192" fill="none" stroke="black"/>
                <path d="M 120,16 L 120,64" fill="none" stroke="black"/>
                <path d="M 128,272 L 128,320" fill="none" stroke="black"/>
                <path d="M 144,64 L 144,96" fill="none" stroke="black"/>
                <path d="M 144,224 L 144,256" fill="none" stroke="black"/>
                <path d="M 192,64 L 192,96" fill="none" stroke="black"/>
                <path d="M 208,16 L 208,48" fill="none" stroke="black"/>
                <path d="M 208,48 L 208,64" fill="none" stroke="black"/>
                <path d="M 216,272 L 216,320" fill="none" stroke="black"/>
                <path d="M 232,16 L 232,48" fill="none" stroke="black"/>
                <path d="M 248,272 L 248,320" fill="none" stroke="black"/>
                <path d="M 264,224 L 264,256" fill="none" stroke="black"/>
                <path d="M 272,144 L 272,192" fill="none" stroke="black"/>
                <path d="M 296,96 L 296,128" fill="none" stroke="black"/>
                <path d="M 296,192 L 296,224" fill="none" stroke="black"/>
                <path d="M 336,192 L 336,224" fill="none" stroke="black"/>
                <path d="M 336,272 L 336,320" fill="none" stroke="black"/>
                <path d="M 360,144 L 360,192" fill="none" stroke="black"/>
                <path d="M 376,272 L 376,320" fill="none" stroke="black"/>
                <path d="M 392,224 L 392,256" fill="none" stroke="black"/>
                <path d="M 464,272 L 464,320" fill="none" stroke="black"/>
                <path d="M 24,256 L 24,264" fill="none" stroke="black"/>
                <polygon points="40.000000,256.000000 28.000000,250.399994 28.000000,261.600006" transform="rotate(90.000000, 24.000000, 256.000000)" fill="black"/>
                <path d="M 48,128 L 48,136" fill="none" stroke="black"/>
                <polygon points="64.000000,128.000000 52.000000,122.400002 52.000000,133.600006" transform="rotate(90.000000, 48.000000, 128.000000)" fill="black"/>
                <path d="M 144,256 L 144,264" fill="none" stroke="black"/>
                <polygon points="160.000000,256.000000 148.000000,250.399994 148.000000,261.600006" transform="rotate(90.000000, 144.000000, 256.000000)" fill="black"/>
                <polygon points="224.000000,16.000000 212.000000,10.400000 212.000000,21.600000" transform="rotate(180.000000, 216.000000, 16.000000)" fill="black"/>
                <path d="M 264,256 L 264,264" fill="none" stroke="black"/>
                <polygon points="280.000000,256.000000 268.000000,250.399994 268.000000,261.600006" transform="rotate(90.000000, 264.000000, 256.000000)" fill="black"/>
                <path d="M 296,128 L 296,136" fill="none" stroke="black"/>
                <polygon points="312.000000,128.000000 300.000000,122.400002 300.000000,133.600006" transform="rotate(90.000000, 296.000000, 128.000000)" fill="black"/>
                <path d="M 392,256 L 392,264" fill="none" stroke="black"/>
                <polygon points="408.000000,256.000000 396.000000,250.399994 396.000000,261.600006" transform="rotate(90.000000, 392.000000, 256.000000)" fill="black"/>
                <text text-anchor="middle" font-family="monospace" x="352" y="180" fill="black" font-size="1em">2</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="272" y="308" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="164" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="296" y="180" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="336" y="180" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="292" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="400" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="320" y="308" fill="black" font-size="1em">Z</text>
                <text text-anchor="middle" font-family="monospace" x="384" y="308" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="96" y="180" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="164" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="180" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="180" fill="black" font-size="1em">A</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="308" fill="black" font-size="1em">Z</text>
                <text text-anchor="middle" font-family="monospace" x="456" y="308" fill="black" font-size="1em">4</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="52" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="136" y="292" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="392" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="308" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="384" y="292" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="180" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="8" y="292" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="280" y="292" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="328" y="292" fill="black" font-size="1em">2</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="308" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="288" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="164" fill="black" font-size="1em">d</text>
                <text text-anchor="middle" font-family="monospace" x="440" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="292" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="164" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="52" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="164" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="280" y="164" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="416" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="292" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="448" y="292" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="308" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="36" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="392" y="308" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="52" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="288" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="8" y="308" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="308" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="128" y="52" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="52" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="208" y="164" fill="black" font-size="1em">n</text>
                <text text-anchor="middle" font-family="monospace" x="296" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="304" y="292" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="52" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="308" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="200" y="308" fill="black" font-size="1em">Z</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="36" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="180" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="80" y="180" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="408" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="456" y="292" fill="black" font-size="1em">2</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="308" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="36" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="168" y="292" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="304" y="164" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="280" y="180" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="304" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="16" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="308" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="256" y="308" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="280" y="308" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="96" y="164" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="296" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="180" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="80" y="292" fill="black" font-size="1em">1</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="164" fill="black" font-size="1em">o</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="144" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="292" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="416" y="292" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="296" y="308" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="440" y="308" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="52" fill="black" font-size="1em">A</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="36" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="320" y="180" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="192" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="312" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="256" y="292" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="308" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="304" y="308" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="36" fill="black" font-size="1em">o</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="208" y="308" fill="black" font-size="1em">1</text>
                <text text-anchor="middle" font-family="monospace" x="224" y="164" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="344" y="164" fill="black" font-size="1em">X</text>
                <text text-anchor="middle" font-family="monospace" x="104" y="180" fill="black" font-size="1em">1</text>
                <text text-anchor="middle" font-family="monospace" x="344" y="180" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="200" y="292" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="264" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="24" y="308" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="328" y="308" fill="black" font-size="1em">3</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="80" y="164" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="164" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="288" y="180" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="308" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="416" y="308" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="36" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="304" y="180" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="424" y="292" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="164" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="200" y="164" fill="black" font-size="1em">i</text>
                <text text-anchor="middle" font-family="monospace" x="312" y="180" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="448" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="288" y="292" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="320" y="292" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="136" y="36" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="88" y="180" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="272" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="308" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="432" y="308" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="312" y="164" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="36" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="320" y="164" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="180" fill="black" font-size="1em">C</text>
                <text text-anchor="middle" font-family="monospace" x="328" y="180" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="432" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="48" y="292" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="136" y="308" fill="black" font-size="1em">S</text>
                <text text-anchor="middle" font-family="monospace" x="144" y="36" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="408" y="308" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="424" y="276" fill="black" font-size="1em">E</text>
                <text text-anchor="middle" font-family="monospace" x="408" y="292" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="144" y="308" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="52" fill="black" font-size="1em">C</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="52" fill="black" font-size="1em">t</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="180" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="72" y="292" fill="black" font-size="1em">Y</text>
                <text text-anchor="middle" font-family="monospace" x="432" y="292" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="264" y="308" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="288" y="308" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="136" y="52" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="144" y="52" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="328" y="164" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="64" y="180" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="292" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="296" y="292" fill="black" font-size="1em">r</text>
                <text text-anchor="middle" font-family="monospace" x="400" y="308" fill="black" font-size="1em">b</text>
                <text text-anchor="middle" font-family="monospace" x="128" y="36" fill="black" font-size="1em">I</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="36" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="40" y="164" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="320" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="208" y="292" fill="black" font-size="1em">1</text>
                <text text-anchor="middle" font-family="monospace" x="424" y="308" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="32" y="36" fill="black" font-size="1em">o</text>
                <text text-anchor="middle" font-family="monospace" x="160" y="308" fill="black" font-size="1em">j</text>
                <text text-anchor="middle" font-family="monospace" x="312" y="308" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="216" y="164" fill="black" font-size="1em">a</text>
                <text text-anchor="middle" font-family="monospace" x="232" y="164" fill="black" font-size="1em">e</text>
                <text text-anchor="middle" font-family="monospace" x="200" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="280" y="276" fill="black" font-size="1em">-</text>
                <text text-anchor="middle" font-family="monospace" x="152" y="292" fill="black" font-size="1em">s</text>
                <text text-anchor="middle" font-family="monospace" x="184" y="292" fill="black" font-size="1em">=</text>
                <text text-anchor="middle" font-family="monospace" x="80" y="308" fill="black" font-size="1em">1</text>
                <text text-anchor="middle" font-family="monospace" x="176" y="308" fill="black" font-size="1em">c</text>
                <text text-anchor="middle" font-family="monospace" x="56" y="164" fill="black" font-size="1em">u</text>
                <text text-anchor="middle" font-family="monospace" x="448" y="308" fill="black" font-size="1em">Z</text>
              </g>
            </svg>
          </artwork>
          <artwork type="ascii-art"><![CDATA[
               .----------.<-.
   root        |Issuer= X |  |
    CA         |Subject=X +--'
               '--+-----+-'
                  |     |
      .-----------'     '------------.
      |                              |
      v                              v
   .----------.                   .----------.
   |Issuer= X |    subordinate    |Issuer= X |
   |Subject=Y1|        CA         |Subject=Y2|
   '--+---+---'                   '--+----+--'
      |   |                          |    |
   .--'   '-------.              .---'    '------.
   |              |              |               |
   v              v              v               v
.----EE----.    .----EE----.   .----EE----.    .----EE----.
|Issuer= Y1|    |Issuer= Y1|   |Issuer= Y2|    |Issuer= Y2|
|Subject=Z1|    |Subject=Z1|   |Subject=Z3|    |Subject=Z4|
'----------'    '----------'   '----------'    '----------'





]]></artwork>
        </artset>
        <t>In general, when arranged as a tree, with the End-Entity certificates at the
bottom, and the Trust Anchor at the top, then the level is where the deepest EE
certificates are, counting from one.</t>
        <t>It is quite common to have a three-level PKI, where the root of the CA is
stored in a Hardware Security Module, while the level one subordinate CA is
available in an online form.</t>
      </section>
      <section anchor="protection-of-ca-private-keys">
        <name>Protection of CA private keys</name>
        <t>The private key for the certification authorities must be protected from
disclosure.
The strongest protection is afforded by keeping them in a offline device,
passing Certificate Signing Requests (CSRs) to the offline device by human
process.</t>
        <t>For examples of extreme measures, see <xref target="kskceremony"/>.
There is however a wide spectrum of needs, as exampled in <xref target="rootkeyceremony"/>.
The SAS70 audit standard is usually used as a basis for the Ceremony, see <xref target="keyceremony2"/>.</t>
        <t>This is inconvenient, and may involve latencies of days, possibly even weeks
to months if the offline device is kept in a locked environment that requires
multiple keys to be present.</t>
        <t>There is therefore a tension between protection and convenience.
This is often mitigated by having some levels of the PKI be offline, and
some levels of the PKI be online.</t>
        <t>There is usually a need to maintain backup copies of the critical keys.
It is often appropriate to use secret splitting technology such as Shamir
Secret Sharing among a number of parties <xref target="shamir79"/>
This mechanism can be setup such that some threshold k (less than the total
n) of shares are needed in order to recover the secret.</t>
      </section>
      <section anchor="supporting-provisioned-anchors-in-devices">
        <name>Supporting provisioned anchors in devices</name>
        <t>IDevID-type Identity (or Birth) Certificates which are provisioned into
devices need to be signed by a certification authority maintained by the manufacturer.
During the period of manufacture of new product, the manufacturer needs to be be able to sign new Identity Certificates.</t>
        <t>During the anticipated lifespan of the devices the manufacturer needs to maintain the ability for third parties to validate the Identity Certificates.
If there are Certificate Revocation Lists (CRLs) involved, then they will need to re-signed during this period.
Even for devices with a short active lifetime, the lifespan of the device could very long if devices are kept in a warehouse for many decades before being activated.</t>
        <t>Trust anchors which are provisioned in the devices will have corresponding
private keys maintained by the manufacturer.
The trust anchors will often anchor a PKI which is going to be used for a
particular purpose.
There will be End-Entity (EE) certificates of this PKI which will be used to sign
particular artifacts (such as software updates), or messages in communications protocols
(such as TLS connections).
The private keys associated with these EE certificates are not stored in the
device, but are maintained by the manufacturer.
These need even more care than the private keys stored in the devices, as
compromise of the software update key compromises all of the devices, not
just a single device.</t>
      </section>
    </section>
    <section anchor="evaluation-questions">
      <name>Evaluation Questions</name>
      <t>This section recaps the set of questions that may need to be answered.
This document does not assign valuation to the answers.</t>
      <section anchor="integrity-and-privacy-of-on-device-data">
        <name>Integrity and Privacy of on-device data</name>
        <dl>
          <dt>
initial-enclave-location:  </dt>
          <dd>
            <t>Is the location of the initial software trust anchor internal to the CPU package?
Some systems have a software verification public key which is built into the CPU package, while other systems store that initial key in a non-volatile device external to the CPU.</t>
          </dd>
          <dt>
initial-enclave-integrity-key:  </dt>
          <dd>
            <t>If the first-stage bootloader is external to the CPU, and if it is integrity protected, where is the key used to check the integrity?</t>
          </dd>
          <dt>
initial-enclave-privacy-key:  </dt>
          <dd>
            <t>If the first-stage data is external to the CPU, is it kept confidential by use of encryption?</t>
          </dd>
          <dt>
first-stage-initialization:  </dt>
          <dd>
            <t>The number of people involved in the first stage initialization. An entirely automated system would have a number zero.  A factory with three 8 hour shifts might have a number that is a multiple of three.  A system with humans involved may be subject to bribery attacks, while a system with no humans may be subject to attacks on the system which are hard to notice.</t>
          </dd>
          <dt>
first-second-stage-gap:  </dt>
          <dd>
            <t>If a board is initialized with a first-stage bootloader in one location
(factory), and then shipped to another location, there may situations where
the device can not be locked down until the second step.</t>
          </dd>
        </dl>
      </section>
      <section anchor="integrity-and-privacy-of-device-identify-infrastructure">
        <name>Integrity and Privacy of device identify infrastructure</name>
        <t>For IDevID provisioning, which includes a private key and matching
certificate installed into the device, the associated public key
infrastructure that anchors this identity must be maintained by the
manufacturer.</t>
        <dl>
          <dt>
identity-pki-level:  </dt>
          <dd>
            <t>how deep are the IDevID certificates that are issued?</t>
          </dd>
          <dt>
identity-time-limits-per-subordinate:  </dt>
          <dd>
            <t>how long is each subordinate CA maintained before a new
subordinate CA key is generated?  There may be no time limit, only a device
count limit.</t>
          </dd>
          <dt>
identity-number-per-subordinate:  </dt>
          <dd>
            <t>how many identities are signed by a particular subordinate CA before it is
retired?  There may be no numeric limit, only a time limit.</t>
          </dd>
          <dt>
identity-anchor-storage:  </dt>
          <dd>
            <t>how is the root CA key stored?  How many people are needed to recover the private key?</t>
          </dd>
        </dl>
      </section>
      <section anchor="integrity-and-privacy-of-included-trust-anchors">
        <name>Integrity and Privacy of included trust anchors</name>
        <t>For each trust anchor (public key) stored in the device, there will be an
associated PKI.
For each of those PKI the following questions need to be answered.</t>
        <dl>
          <dt>
pki-level:  </dt>
          <dd>
            <t>how deep is the EE that will be evaluated (the trust root is at level 1)</t>
          </dd>
          <dt>
pki-algorithms:  </dt>
          <dd>
            <t>what kind of algorithms and key sizes will be considered to valid</t>
          </dd>
          <dt>
pki-level-locked:  </dt>
          <dd>
            <t>(a Boolean) is the level where the EE cert will be found locked by the device, or can
levels be added or deleted by the PKI operator without code changes to the
device.</t>
          </dd>
          <dt>
pki-breadth:  </dt>
          <dd>
            <t>how many different non-expired EE certificates is the PKI designed to manage?</t>
          </dd>
          <dt>
pki-lock-policy:  </dt>
          <dd>
            <t>can any EE certificate be used with this trust anchor to sign?  Or, is there
some kind of policy OID or Subject restriction?  Are specific subordinate
CAs needed that lead to the EE?</t>
          </dd>
          <dt>
pki-anchor-storage:  </dt>
          <dd>
            <t>how is the private key associated with this trust root stored? How many people are needed to recover it?</t>
          </dd>
        </dl>
      </section>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>many yet to be detailed</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>This entire document is about security considerations.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no IANA requests.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Robert Martin of MITRE provided some guidance about citing the SBOM efforts.
Carsten Borman provides many editorial suggestions.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC5280" target="https://www.rfc-editor.org/info/rfc5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper">
              <organization/>
            </author>
            <author fullname="S. Santesson" initials="S." surname="Santesson">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen">
              <organization/>
            </author>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <author fullname="W. Polk" initials="W." surname="Polk">
              <organization/>
            </author>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet.  An overview of this approach and model is provided as an introduction.  The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms.  Standard certificate extensions are described and two Internet-specific extensions are defined.  A set of required certificate extensions is specified.  The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions.  An algorithm for X.509 certification path validation is described.  An ASN.1 module and examples are provided in the appendices.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="ieee802-1AR" target="http://standards.ieee.org/findstds/standard/802.1AR-2009.html">
          <front>
            <title>IEEE 802.1AR Secure Device Identifier</title>
            <author>
              <organization>IEEE Standard</organization>
            </author>
            <date year="2009"/>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8995" target="https://www.rfc-editor.org/info/rfc8995">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="T. Eckert" initials="T." surname="Eckert">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." surname="Behringer">
              <organization/>
            </author>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies automated bootstrapping of an Autonomic Control Plane.  To do this, a Secure Key Infrastructure is bootstrapped.  This is done using manufacturer-installed X.509 certificates, in combination with a manufacturer's authorizing service, both online and offline.  We call this process the Bootstrapping Remote Secure Key Infrastructure (BRSKI) protocol. Bootstrapping a new device can occur when using a routable address and a cloud service, only link-local connectivity, or limited/disconnected networks. Support for deployment models with less stringent security requirements is included. Bootstrapping is complete when the cryptographic identity of the new key infrastructure is successfully deployed to the device.  The established secure connection can be used to deploy a locally issued certificate to the device as well.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8995"/>
          <seriesInfo name="DOI" value="10.17487/RFC8995"/>
        </reference>
        <reference anchor="I-D.richardson-anima-voucher-delegation" target="https://www.ietf.org/archive/id/draft-richardson-anima-voucher-delegation-03.txt">
          <front>
            <title>Delegated Authority for Bootstrap Voucher Artifacts</title>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Wei Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="22" month="March" year="2021"/>
            <abstract>
              <t>   This document describes an extension of the RFC8366 Voucher Artifact
   in order to support delegation of signing authority.  The initial
   voucher pins a public identity, and that public indentity can then
   issue additional vouchers.  This chain of authorization can support
   permission-less resale of devices, as well as guarding against
   business failure of the BRSKI [I-D.ietf-anima-bootstrapping-keyinfra]
   Manufacturer Authorized Signing Authority (MASA).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-anima-voucher-delegation-03"/>
        </reference>
        <reference anchor="I-D.friel-anima-brski-cloud" target="https://www.ietf.org/archive/id/draft-friel-anima-brski-cloud-04.txt">
          <front>
            <title>BRSKI Cloud Registrar</title>
            <author fullname="Owen Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Rifaat Shekh-Yusef">
              <organization>Auth0</organization>
            </author>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="6" month="April" year="2021"/>
            <abstract>
              <t>   This document specifies the behaviour of a BRSKI Cloud Registrar, and
   how a pledge can interact with a BRSKI Cloud Registrar when
   bootstrapping.

   RFCED REMOVE: It is being actively worked on at https://github.com/
   anima-wg/brski-cloud

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-friel-anima-brski-cloud-04"/>
        </reference>
        <reference anchor="I-D.ietf-anima-constrained-voucher" target="https://www.ietf.org/archive/id/draft-ietf-anima-constrained-voucher-15.txt">
          <front>
            <title>Constrained Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Peter van der Stok">
              <organization>vanderstok consultancy</organization>
            </author>
            <author fullname="Panos Kampanakis">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Esko Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <date day="7" month="December" year="2021"/>
            <abstract>
              <t>   This document defines the Constrained Bootstrapping Remote Secure Key
   Infrastructure (Constrained BRSKI) protocol, which provides a
   solution for secure zero-touch bootstrapping of resource-constrained
   (IoT) devices into the network of a domain owner.  This protocol is
   designed for constrained networks, which may have limited data
   throughput or may experience frequent packet loss.  Constrained BRSKI
   is a variant of the BRSKI protocol, which uses an artifact signed by
   the device manufacturer called the "voucher" which enables a new
   device and the owner's network to mutually authenticate.  While the
   BRSKI voucher is typically encoded in JSON, Constrained BRSKI defines
   a compact CBOR-encoded voucher.  The BRSKI voucher is extended with
   new data types that allow for smaller voucher sizes.  The Enrollment
   over Secure Transport (EST) protocol, used in BRSKI, is replaced with
   EST-over-CoAPS; and HTTPS used in BRSKI is replaced with CoAPS.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-voucher-15"/>
        </reference>
        <reference anchor="I-D.ietf-anima-brski-async-enroll" target="https://www.ietf.org/archive/id/draft-ietf-anima-brski-async-enroll-04.txt">
          <front>
            <title>Support of Asynchronous Enrollment in BRSKI (BRSKI-AE)</title>
            <author fullname="Steffen Fries">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Hendrik Brockhaus">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="David von Oheimb">
              <organization>Siemens AG</organization>
            </author>
            <author fullname="Eliot Lear">
              <organization>Cisco Systems</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <abstract>
              <t>   This document describes enhancements of bootstrapping a remote secure
   key infrastructure (BRSKI, [RFC8995] ) to also operate in domains
   featuring no or only timely limited connectivity between involved
   components.  To support such use cases, BRSKI-AE relies on the
   exchange of authenticated self-contained objects (signature-wrapped
   objects) also for requesting and distributing of domain specific
   device certificates.  The defined approach is agnostic regarding the
   utilized enrollment protocol allowing the application of existing and
   potentially new certificate management protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-async-enroll-04"/>
        </reference>
        <reference anchor="I-D.moskowitz-ecdsa-pki" target="https://www.ietf.org/archive/id/draft-moskowitz-ecdsa-pki-10.txt">
          <front>
            <title>Guide for building an ECC pki</title>
            <author fullname="Robert Moskowitz">
              <organization>HTT Consulting</organization>
            </author>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Liang Xia">
              <organization>Huawei</organization>
            </author>
            <author fullname="Michael C. Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="31" month="January" year="2021"/>
            <abstract>
              <t>   This memo provides a guide for building a PKI (Public Key
   Infrastructure) using openSSL.  All certificates in this guide are
   ECDSA, P-256, with SHA256 certificates.  Along with common End Entity
   certificates, this guide provides instructions for creating IEEE
   802.1AR iDevID Secure Device certificates.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-moskowitz-ecdsa-pki-10"/>
        </reference>
        <reference anchor="RFC4949" target="https://www.rfc-editor.org/info/rfc4949">
          <front>
            <title>Internet Security Glossary, Version 2</title>
            <author fullname="R. Shirey" initials="R." surname="Shirey">
              <organization/>
            </author>
            <date month="August" year="2007"/>
            <abstract>
              <t>This Glossary provides definitions, abbreviations, and explanations of terminology for information system security. The 334 pages of entries offer recommendations to improve the comprehensibility of written material that is generated in the Internet Standards Process (RFC 2026). The recommendations follow the principles that such writing should (a) use the same term or definition whenever the same concept is mentioned; (b) use terms in their plainest, dictionary sense; (c) use terms that are already well-established in open publications; and (d) avoid terms that either favor a particular vendor or favor a particular technology or mechanism over other, competing techniques that already exist or could be developed.  This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="FYI" value="36"/>
          <seriesInfo name="RFC" value="4949"/>
          <seriesInfo name="DOI" value="10.17487/RFC4949"/>
        </reference>
        <reference anchor="RFC5011" target="https://www.rfc-editor.org/info/rfc5011">
          <front>
            <title>Automated Updates of DNS Security (DNSSEC) Trust Anchors</title>
            <author fullname="M. StJohns" initials="M." surname="StJohns">
              <organization/>
            </author>
            <date month="September" year="2007"/>
            <abstract>
              <t>This document describes a means for automated, authenticated, and authorized updating of DNSSEC "trust anchors".  The method provides protection against N-1 key compromises of N keys in the trust point key set.  Based on the trust established by the presence of a current anchor, other anchors may be added at the same place in the hierarchy, and, ultimately, supplant the existing anchor(s).</t>
              <t>This mechanism will require changes to resolver management behavior (but not resolver resolution behavior), and the addition of a single flag bit to the DNSKEY record.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="STD" value="74"/>
          <seriesInfo name="RFC" value="5011"/>
          <seriesInfo name="DOI" value="10.17487/RFC5011"/>
        </reference>
        <reference anchor="RFC8366" target="https://www.rfc-editor.org/info/rfc8366">
          <front>
            <title>A Voucher Artifact for Bootstrapping Protocols</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin">
              <organization/>
            </author>
            <author fullname="T. Eckert" initials="T." surname="Eckert">
              <organization/>
            </author>
            <date month="May" year="2018"/>
            <abstract>
              <t>This document defines a strategy to securely assign a pledge to an owner using an artifact signed, directly or indirectly, by the pledge's manufacturer.  This artifact is known as a "voucher".</t>
              <t>This document defines an artifact format as a YANG-defined JSON document that has been signed using a Cryptographic Message Syntax (CMS) structure.  Other YANG-derived formats are possible.  The voucher artifact is normally generated by the pledge's manufacturer (i.e., the Manufacturer Authorized Signing Authority (MASA)).</t>
              <t>This document only defines the voucher artifact, leaving it to other documents to describe specialized protocols for accessing it.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8366"/>
          <seriesInfo name="DOI" value="10.17487/RFC8366"/>
        </reference>
        <reference anchor="RFC8572" target="https://www.rfc-editor.org/info/rfc8572">
          <front>
            <title>Secure Zero Touch Provisioning (SZTP)</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen">
              <organization/>
            </author>
            <author fullname="I. Farrer" initials="I." surname="Farrer">
              <organization/>
            </author>
            <author fullname="M. Abrahamsson" initials="M." surname="Abrahamsson">
              <organization/>
            </author>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a technique to securely provision a networking device when it is booting in a factory-default state.  Variations in the solution enable it to be used on both public and private networks.  The provisioning steps are able to update the boot image, commit an initial configuration, and execute arbitrary scripts to address auxiliary needs.  The updated device is subsequently able to establish secure connections with other systems.  For instance, a device may establish NETCONF (RFC 6241) and/or RESTCONF (RFC 8040) connections with deployment-specific network management systems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8572"/>
          <seriesInfo name="DOI" value="10.17487/RFC8572"/>
        </reference>
        <reference anchor="RFC7030" target="https://www.rfc-editor.org/info/rfc7030">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin">
              <organization/>
            </author>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee">
              <organization/>
            </author>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins">
              <organization/>
            </author>
            <date month="October" year="2013"/>
            <abstract>
              <t>This document profiles certificate enrollment for clients using Certificate Management over CMS (CMC) messages over a secure transport.  This profile, called Enrollment over Secure Transport (EST), describes a simple, yet functional, certificate management protocol targeting Public Key Infrastructure (PKI) clients that need to acquire client certificates and associated Certification Authority (CA) certificates.  It also supports client-generated public/private key pairs as well as key pairs generated by the CA.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7030"/>
          <seriesInfo name="DOI" value="10.17487/RFC7030"/>
        </reference>
        <reference anchor="RFC8894" target="https://www.rfc-editor.org/info/rfc8894">
          <front>
            <title>Simple Certificate Enrolment Protocol</title>
            <author fullname="P. Gutmann" initials="P." surname="Gutmann">
              <organization/>
            </author>
            <date month="September" year="2020"/>
            <abstract>
              <t>This document specifies the Simple Certificate Enrolment Protocol (SCEP), a PKI protocol that leverages existing technology by using Cryptographic Message Syntax (CMS, formerly known as PKCS #7) and PKCS #10 over HTTP.  SCEP is the evolution of the enrolment protocol sponsored by Cisco Systems, which enjoys wide support in both client and server implementations, as well as being relied upon by numerous other industry standards that work with certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8894"/>
          <seriesInfo name="DOI" value="10.17487/RFC8894"/>
        </reference>
        <reference anchor="RFC4210" target="https://www.rfc-editor.org/info/rfc4210">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Management Protocol (CMP)</title>
            <author fullname="C. Adams" initials="C." surname="Adams">
              <organization/>
            </author>
            <author fullname="S. Farrell" initials="S." surname="Farrell">
              <organization/>
            </author>
            <author fullname="T. Kause" initials="T." surname="Kause">
              <organization/>
            </author>
            <author fullname="T. Mononen" initials="T." surname="Mononen">
              <organization/>
            </author>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Internet X.509 Public Key Infrastructure (PKI) Certificate Management Protocol (CMP).  Protocol messages are defined for X.509v3 certificate creation and management.  CMP provides on-line interactions between PKI components, including an exchange between a Certification Authority (CA) and a client system.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4210"/>
          <seriesInfo name="DOI" value="10.17487/RFC4210"/>
        </reference>
        <reference anchor="_3GPP.51.011" target="http://www.3gpp.org/ftp/Specs/html-info/51011.htm">
          <front>
            <title>Specification of the Subscriber Identity Module - Mobile Equipment (SIM-ME) interface</title>
            <author>
              <organization>3GPP</organization>
            </author>
            <date day="15" month="June" year="2005"/>
          </front>
          <seriesInfo name="3GPP TS" value="51.011 4.15.0"/>
        </reference>
        <reference anchor="RFC6024" target="https://www.rfc-editor.org/info/rfc6024">
          <front>
            <title>Trust Anchor Management Requirements</title>
            <author fullname="R. Reddy" initials="R." surname="Reddy">
              <organization/>
            </author>
            <author fullname="C. Wallace" initials="C." surname="Wallace">
              <organization/>
            </author>
            <date month="October" year="2010"/>
            <abstract>
              <t>A trust anchor represents an authoritative entity via a public key and associated data.  The public key is used to verify digital signatures, and the associated data is used to constrain the types of information for which the trust anchor is authoritative.  A relying party uses trust anchors to determine if a digitally signed object is valid by verifying a digital signature using the trust anchor's public key, and by enforcing the constraints expressed in the associated data for the trust anchor.  This document describes some of the problems associated with the lack of a standard trust anchor management mechanism and defines requirements for data formats and push-based protocols designed to address these problems.  This  document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6024"/>
          <seriesInfo name="DOI" value="10.17487/RFC6024"/>
        </reference>
        <reference anchor="BedOfNails" target="https://en.wikipedia.org/wiki/In-circuit_test#Bed_of_nails_tester">
          <front>
            <title>Bed of nails tester</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date year="2020" month="July" day="01"/>
          </front>
        </reference>
        <reference anchor="pelionfcu" target="https://www.pelion.com/docs/device-management-provision/1.2/introduction/index.html">
          <front>
            <title>Factory provisioning overview</title>
            <author>
              <organization>ARM Pelion</organization>
            </author>
            <date year="2020" month="June" day="28"/>
          </front>
        </reference>
        <reference anchor="factoringrsa" target="https://core.ac.uk/download/pdf/204886987.pdf">
          <front>
            <title>Factoring RSA keys from certified smart cards: Coppersmith in the wild</title>
            <author>
              <organization/>
            </author>
            <date year="2013" month="September" day="16"/>
          </front>
        </reference>
        <reference anchor="kskceremony" target="https://www.iana.org/dnssec/dps/zsk-operator/dps-zsk-operator-v2.0.pdf">
          <front>
            <title>DNSSEC Practice Statement for the Root Zone ZSK Operator</title>
            <author>
              <organization>Verisign</organization>
            </author>
            <date year="2017"/>
          </front>
        </reference>
        <reference anchor="rootkeyceremony" target="https://cryptography.fandom.com/wiki/Root_Key_Ceremony">
          <front>
            <title>Root Key Ceremony, Cryptography Wiki</title>
            <author>
              <organization>Community</organization>
            </author>
            <date year="2020" month="April" day="04"/>
          </front>
        </reference>
        <reference anchor="keyceremony2" target="http://www.digi-sign.com/compliance/key%20ceremony/index">
          <front>
            <title>SAS 70 Key Ceremony</title>
            <author>
              <organization>Digi-Sign</organization>
            </author>
            <date year="2020" month="April" day="04"/>
          </front>
        </reference>
        <reference anchor="shamir79" target="https://www.cs.jhu.edu/~sdoshi/crypto/papers/shamirturing.pdf">
          <front>
            <title>How to share a secret.</title>
            <author initials="A." surname="Shamir" fullname="Adi Shamir">
              <organization/>
            </author>
            <date year="1979"/>
          </front>
        </reference>
        <reference anchor="nistsp800-57" target="https://csrc.nist.gov/publications/detail/sp/800-57-part-1/rev-4/final">
          <front>
            <title>SP 800-57 Part 1 Rev. 4 Recommendation for Key Management, Part 1: General</title>
            <author>
              <organization>NIST</organization>
            </author>
            <date year="2016" month="January" day="01"/>
          </front>
        </reference>
        <reference anchor="fidotechnote" target="https://fidoalliance.org/fido-technotes-the-truth-about-attestation/">
          <front>
            <title>FIDO TechNotes: The Truth about Attestation</title>
            <author>
              <organization>FIDO Alliance</organization>
            </author>
            <date year="2018" month="July" day="19"/>
          </front>
        </reference>
        <reference anchor="ntiasbom" target="https://www.ntia.doc.gov/SoftwareTransparency">
          <front>
            <title>NTIA Software Component Transparency</title>
            <author>
              <organization>NTIA</organization>
            </author>
            <date year="2020" month="July" day="01"/>
          </front>
        </reference>
        <reference anchor="cisqsbom" target="https://www.it-cisq.org/software-bill-of-materials/index.htm">
          <front>
            <title>TOOL-TO-TOOL SOFTWARE BILL OF MATERIALS EXCHANGE</title>
            <author>
              <organization>CISQ/Object Management Group</organization>
            </author>
            <date year="2020" month="July" day="01"/>
          </front>
        </reference>
        <reference anchor="ComodoGate" target="https://www.theregister.com/2011/03/28/comodo_gate_hacker_breaks_cover/">
          <front>
            <title>Comodo-gate hacker brags about forged certificate exploit</title>
            <author>
              <organization/>
            </author>
            <date year="2011" month="March" day="28"/>
          </front>
        </reference>
        <reference anchor="openbmc" target="https://www.openbmc.org/">
          <front>
            <title>Defining a Standard Baseboard Management Controller Firmware Stack</title>
            <author>
              <organization>Linux Foundation/OpenBMC Group</organization>
            </author>
            <date year="2020" month="July" day="01"/>
          </front>
        </reference>
        <reference anchor="JTAG" target="https://en.wikipedia.org/wiki/JTAG">
          <front>
            <title>Joint Test Action Group</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="August" day="26"/>
          </front>
        </reference>
        <reference anchor="JTAGieee" target="https://ieeexplore.ieee.org/document/5412866">
          <front>
            <title>1149.7-2009 - IEEE Standard for Reduced-Pin and Enhanced-Functionality Test Access Port and Boundary-Scan Architecture</title>
            <author>
              <organization>IEEE Standard</organization>
            </author>
            <date year="2009"/>
          </front>
          <seriesInfo name="DOI" value="10.1109/IEEESTD.2010.5412866"/>
        </reference>
        <reference anchor="rootkeyrollover" target="https://www.icann.org/en/system/files/files/proposal-future-rz-ksk-rollovers-01nov19-en.pdf">
          <front>
            <title>Proposal for Future Root Zone KSK Rollovers</title>
            <author>
              <organization>ICANN</organization>
            </author>
            <date year="2019"/>
          </front>
        </reference>
        <reference anchor="CABFORUM" target="https://cabforum.org/wp-content/uploads/CA-Browser-Forum-BR-1.7.3.pdf">
          <front>
            <title>CA/Browser Forum Baseline Requirements for the Issuance and Management of Publicly-Trusted Certificates, v.1.7.3</title>
            <author>
              <organization>CA/Browser Forum</organization>
            </author>
            <date year="2020" month="October"/>
          </front>
        </reference>
        <reference anchor="I-D.richardson-rats-usecases" target="https://www.ietf.org/archive/id/draft-richardson-rats-usecases-08.txt">
          <front>
            <title>Use cases for Remote Attestation common encodings</title>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Carl Wallace">
              <organization>Red Hound Software</organization>
            </author>
            <author fullname="Wei Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="2" month="November" year="2020"/>
            <abstract>
              <t>   This document details mechanisms created for performing Remote
   Attestation that have been used in a number of industries.  The
   document initially focuses on existing industry verticals, mapping
   terminology used in those specifications to the more abstract
   terminology used by the IETF RATS Working Group.

   The document aspires to describe possible future use cases that would
   be enabled by common formats.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-rats-usecases-08"/>
        </reference>
        <reference anchor="I-D.ietf-suit-architecture" target="https://www.ietf.org/archive/id/draft-ietf-suit-architecture-16.txt">
          <front>
            <title>A Firmware Update Architecture for Internet of Things</title>
            <author fullname="Brendan Moran">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Hannes Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="David Brown">
              <organization>Linaro</organization>
            </author>
            <author fullname="Milosch Meriac">
              <organization>Consultant</organization>
            </author>
            <date day="27" month="January" year="2021"/>
            <abstract>
              <t>Vulnerabilities in Internet of Things (IoT) devices have raised the need for a reliable and secure firmware update mechanism suitable for devices with resource constraints. Incorporating such an update mechanism is a fundamental requirement for fixing vulnerabilities, but it also enables other important capabilities such as updating configuration settings and adding new functionality.

 In addition to the definition of terminology and an architecture, this document provides the motivation for the standardization of a manifest format as a transport-agnostic means for describing and protecting firmware updates.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-suit-architecture-16"/>
        </reference>
        <reference anchor="I-D.ietf-emu-eap-noob" target="https://www.ietf.org/archive/id/draft-ietf-emu-eap-noob-06.txt">
          <front>
            <title>Nimble Out-of-Band Authentication for EAP (EAP-NOOB)</title>
            <author fullname="Tuomas Aura">
              <organization>Aalto University</organization>
            </author>
            <author fullname="Mohit Sethi">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Aleksi Peltonen">
              <organization>Aalto University</organization>
            </author>
            <date day="3" month="September" year="2021"/>
            <abstract>
              <t>The Extensible Authentication Protocol (EAP) provides support for multiple authentication methods.  This document defines the EAP-NOOB authentication method for nimble out-of-band (OOB) authentication and key derivation.  The EAP method is intended for bootstrapping all kinds of Internet-of-Things (IoT) devices that have no preconfigured authentication credentials.  The method makes use of a user-assisted, one-directional, out-of-band (OOB) message between the peer device and authentication server to authenticate the in-band key exchange.  The device must have a nonnetwork input or output interface, such as a display, microphone, speaker, or blinking light, that can send or receive dynamically generated messages of tens of bytes in length.
              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-emu-eap-noob-06"/>
        </reference>
        <reference anchor="I-D.ietf-rats-architecture" target="https://www.ietf.org/archive/id/draft-ietf-rats-architecture-14.txt">
          <front>
            <title>Remote Attestation Procedures Architecture</title>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Dave Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Michael Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Ned Smith">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Wei Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="9" month="December" year="2021"/>
            <abstract>
              <t>   In network protocol exchanges it is often useful for one end of a
   communication to know whether the other end is in an intended
   operating state.  This document provides an architectural overview of
   the entities involved that make such tests possible through the
   process of generating, conveying, and evaluating evidentiary claims.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-14"/>
        </reference>
        <reference anchor="I-D.birkholz-suit-coswid-manifest" target="https://www.ietf.org/archive/id/draft-birkholz-suit-coswid-manifest-00.txt">
          <front>
            <title>A SUIT Manifest Extension for Concise Software Identifiers</title>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="17" month="July" year="2018"/>
            <abstract>
              <t>   This document defines a resource extension for Concise Software
   Identifiers (CoSWID) that represents a SUIT firmware manifest.  This
   extension combines the information elements of the SUIT information
   model with the semantic expressiveness of Software Identifiers.  In
   consequence, this composite enables the integration of Firmware
   Updates for the Internet of Things (SUIT) in existing work-flows for
   updates of software components in general.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-suit-coswid-manifest-00"/>
        </reference>
        <reference anchor="I-D.birkholz-rats-mud" target="https://www.ietf.org/archive/id/draft-birkholz-rats-mud-00.txt">
          <front>
            <title>MUD-Based RATS Resources Discovery</title>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="9" month="March" year="2020"/>
            <abstract>
              <t>   Manufacturer Usage Description (MUD) files and the MUD URI that point
   to them are defined in RFC 8520.  This document introduces a new type
   of MUD file to be delivered in conjunction with a MUD file signature
   and/or to be referenced via a MUD URI embedded in an IEEE 802.1AR
   Secure Device Identifier (DevID).  A DevID is a device specific pub-
   key identity document that can be presented to other entities, e.g. a
   network management system.  If this entity is also a verifier as
   defined by the IETF Remote ATtestation procedureS (RATS)
   architecture, this verifier can use the references found in the MUD
   file specified in this document in order to discover appropriate
   Reference Integrity Measurements (RIM), Endorsement Documents, or
   even globally suitable Remote Attestation Services (RAS).  All three
   types of theses resources are required to conduct RATS.  Hence, the
   MUD file defined in this document enables remote attestation
   procedures by supporting the discovery of these required resources or
   services.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-mud-00"/>
        </reference>
        <reference anchor="RFC8520" target="https://www.rfc-editor.org/info/rfc8520">
          <front>
            <title>Manufacturer Usage Description Specification</title>
            <author fullname="E. Lear" initials="E." surname="Lear">
              <organization/>
            </author>
            <author fullname="R. Droms" initials="R." surname="Droms">
              <organization/>
            </author>
            <author fullname="D. Romascanu" initials="D." surname="Romascanu">
              <organization/>
            </author>
            <date month="March" year="2019"/>
            <abstract>
              <t>This memo specifies a component-based architecture for Manufacturer Usage Descriptions (MUDs).  The goal of MUD is to provide a means for end devices to signal to the network what sort of access and network functionality they require to properly function.  The initial focus is on access control.  Later work can delve into other aspects.</t>
              <t>This memo specifies two YANG modules, IPv4 and IPv6 DHCP options, a Link Layer Discovery Protocol (LLDP) TLV, a URL, an X.509 certificate extension, and a means to sign and verify the descriptions.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8520"/>
          <seriesInfo name="DOI" value="10.17487/RFC8520"/>
        </reference>
        <reference anchor="I-D.ietf-sacm-coswid" target="https://www.ietf.org/archive/id/draft-ietf-sacm-coswid-20.txt">
          <front>
            <title>Concise Software Identification Tags</title>
            <author fullname="Henk Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Jessica Fitzgerald-McKay">
              <organization>National Security Agency</organization>
            </author>
            <author fullname="Charles Schmidt">
              <organization>The MITRE Corporation</organization>
            </author>
            <author fullname="David Waltermire">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date day="26" month="January" year="2022"/>
            <abstract>
              <t>   ISO/IEC 19770-2:2015 Software Identification (SWID) tags provide an
   extensible XML-based structure to identify and describe individual
   software components, patches, and installation bundles.  SWID tag
   representations can be too large for devices with network and storage
   constraints.  This document defines a concise representation of SWID
   tags: Concise SWID (CoSWID) tags.  CoSWID supports a similar set of
   semantics and features as SWID tags, as well as new semantics that
   allow CoSWIDs to describe additional types of information, all in a
   more memory efficient format.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-sacm-coswid-20"/>
        </reference>
        <reference anchor="RFC7168" target="https://www.rfc-editor.org/info/rfc7168">
          <front>
            <title>The Hyper Text Coffee Pot Control Protocol for Tea Efflux Appliances (HTCPCP-TEA)</title>
            <author fullname="I. Nazar" initials="I." surname="Nazar">
              <organization/>
            </author>
            <date month="April" year="2014"/>
            <abstract>
              <t>The Hyper Text Coffee Pot Control Protocol (HTCPCP) specification does not allow for the brewing of tea, in all its variety and  complexity.  This paper outlines an extension to HTCPCP to allow  for pots to provide networked tea-brewing facilities.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7168"/>
          <seriesInfo name="DOI" value="10.17487/RFC7168"/>
        </reference>
        <reference anchor="I-D.bormann-lwig-7228bis" target="https://www.ietf.org/archive/id/draft-bormann-lwig-7228bis-07.txt">
          <front>
            <title>Terminology for Constrained-Node Networks</title>
            <author fullname="Carsten Bormann">
              <organization>Universitaet Bremen TZI</organization>
            </author>
            <author fullname="Mehmet Ersue">
	 </author>
            <author fullname="Ari Keranen">
              <organization>Ericsson</organization>
            </author>
            <author fullname="Carles Gomez">
              <organization>UPC/i2CAT</organization>
            </author>
            <date day="25" month="October" year="2021"/>
            <abstract>
              <t>   The Internet Protocol Suite is increasingly used on small devices
   with severe constraints on power, memory, and processing resources,
   creating constrained-node networks.  This document provides a number
   of basic terms that have been useful in the standardization work for
   constrained-node networks.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bormann-lwig-7228bis-07"/>
        </reference>
        <reference anchor="I-D.ietf-teep-architecture" target="https://www.ietf.org/archive/id/draft-ietf-teep-architecture-15.txt">
          <front>
            <title>Trusted Execution Environment Provisioning (TEEP) Architecture</title>
            <author fullname="Mingliang Pei">
              <organization>Broadcom</organization>
            </author>
            <author fullname="Hannes Tschofenig">
              <organization>Arm Limited</organization>
            </author>
            <author fullname="Dave Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="David Wheeler">
              <organization>Amazon</organization>
            </author>
            <date day="12" month="July" year="2021"/>
            <abstract>
              <t>   A Trusted Execution Environment (TEE) is an environment that enforces
   that any code within that environment cannot be tampered with, and
   that any data used by such code cannot be read or tampered with by
   any code outside that environment.  This architecture document
   motivates the design and standardization of a protocol for managing
   the lifecycle of trusted applications running inside such a TEE.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-teep-architecture-15"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAIYn/GEAA619bXPbSJLmd0Tsf8C542KkG4J6sdsvit3zyrLs0XbL1krq
7bn94gDBIokRCHBRoGS2p/e3Xz6ZWS8AKblvbx0zbZMECllVWZlPviLLsqQr
u8qcpKfpbf61qZvlJm1mabMybd6VTZ1XqTXFui27TVo0tS2n+oNNZ02bLvN6
PcuLbt2aNi1r2+VVZabpndnYNK+n6W27tl16WheLprVJPpm05v4kvXhv7i/e
p2e98ZJpU9T5kkiZtvmsy9qyWOTt1DZ11h137TyjS+/LadanIjt8mSTlqj1J
Ozzq+PDwzeFx8jA/SW+Pb68/ptfGmrwtFunHtlmvkrsHenrdmbY2XfYez0mK
vDsh0mdNQtTX0y951dSGhzNJsipPkjTtmuIk3RhL/7SbZWtmVj4m+bqjiZ0k
SZJh9ifp5Ti99nTT5TKhS3xlqv5PTUtE3tATTUWrmN40s+4hb036a9Pe4Ulm
mZfVSbos2j+Xppv9s3WXjos8SeqmXdIK3BvQd/3h7Mfj14f4Z2mMeX14nB2d
XuMj0Z63c0MzfLboutXJwQFPEkSMcemYqDiYlfXUdlPrfzugEcY0QoblHC+6
ZfVMxhJWeXZxfn6e6jXpDdjDpLSlZWHSi6mpu3JWmlZucSuU8h+es9x+o8+S
y6Z5RwPjcbSbtBf9yb1+8+bHk/Td9c1PF/TFRfZ+HDFHXpfLPLtv1sXCtBkt
kZkza5zopbO2NJVeNWntXZkVVbOeup+xtvorOKtr87I2UzfejqtkjNxu6iIz
ddtUlbto2di75qHsfstMMbV5trordQIv3rx44zbq8OjITev5y5funz++OtZ/
vjp8fui+ff3mBfHI2fmVDnN8dHiSnl3i4/OPV1fjH4/GYbiXh8cv8M93Zvp5
9omYx570d63OirIt1mWXdsZ2j+/Pr+VduTLTMn+2zUGWWMjU4wd3CTMQPh2E
4b9g+B+IjC/N7EsNQvgbxxJur4/eZIdH9L+Evl2ZirZsVqz7JH8g0dK0m3TV
NvelpSvKep4296a9L81Dn7rUUffw8DCW4cZFszwgqWIPpsycGR2efG6WxKGZ
H/HgaHx8UNZd20zXBfiGPkzNV+b6R1fo9PoyveJn9Kd0fEjyKDt+jSnNmHYi
uLX5rllhKtc3pyIrZ22zTAvT8tGZpnaZt11agMNpv5sVSWO7LLsFCZm0W5j0
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
U3XGp6Nq5rTOWZaxtzP5v7M8R1p6nwAA

-->

</rfc>
