<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.43 (Ruby 3.2.3) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-carpenter-anima-otp-casa-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="One-time Pad for Device Identity">One-time Pad for Authorizing Device Identity</title>
    <seriesInfo name="Internet-Draft" value="draft-carpenter-anima-otp-casa-01"/>
    <author initials="B. E." surname="Carpenter" fullname="Brian E. Carpenter">
      <organization abbrev="Univ. of Auckland">The University of Auckland</organization>
      <address>
        <postal>
          <postalLine>School of Computer Science</postalLine>
          <postalLine>The University of Auckland</postalLine>
          <postalLine>PB 92019</postalLine>
          <postalLine>Auckland 1142</postalLine>
          <postalLine>New Zealand</postalLine>
        </postal>
        <email>brian.e.carpenter@gmail.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="03"/>
    <area>Operations and Management</area>
    <workgroup>Autonomic Networking Integrated Model and Approach</workgroup>
    <keyword>BRSKI</keyword>
    <keyword>IDevID</keyword>
    <keyword>MASA</keyword>
    <abstract>
      <?line 52?>

<t>This document describes how devices joining an autonomic control plane as defined
in RFC 8994 may use the BRSKI onboarding mechanism defined in RFC 8995, even if they cannot
provide a manufacturer-installed X.509 IDevID certificate. Instead, such devices may generate
a self-signed certificate embedding a unique token selected from a one-time pad.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://becarpenter.github.io/otp-casa/draft-carpenter-anima-otp-casa.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-carpenter-anima-otp-casa/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Autonomic Networking Integrated Model and Approach Working Group mailing list (<eref target="mailto:anima@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/anima/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/anima/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/becarpenter/otp-casa"/>.</t>
    </note>
  </front>
  <middle>
    <?line 59?>

<section anchor="intro">
      <name>Introduction</name>
      <t>The Bootstrapping Remote Secure Key Infrastructure (BRSKI) onboarding mechanism
is specified in <xref target="RFC8995"/>. It relies on two elements. The first is an X.509v3
certificate formatted as an IEEE 802.1AR IDevID,
installed in a device by its manufacturer. The second is a Manufacturer Authorized
Signing Authority (MASA), a server that can certify that an IDevID is valid.
During the operation of the BRSKI mechanism, a device attempting to join the
Autonomic Control Plane (ACP) <xref target="RFC8994"/> is known as a "pledge", and the purpose
of BRSKI is to authorize a pledge by obtaining a voucher <xref target="RFC8366"/> from the MASA.</t>
      <t>In practice, it can happen that either the devices needing to connect do not
possess an IDevID, or that the network in question does not have access to
a suitable MASA.  This document describes a solution for this scenario, while
using much of the existing BRSKI protocol framework.</t>
      <t>This solution could be applicable to a corporate network that does not use
manufacturer-installed IDevIDs at all. Alternatively, in a network
using BRSKI for devices with IDevIDs, the solution could be used
in a heterogeneous mode for a subset of pledges for which either an IDevID
or a MASA is unavailable. In the heterogeneous case, the normal BRSKI trust
model for the whole ACP (Section 7.1 of <xref target="RFC8995"/>) is altered as
described in <xref target="trust"/>.</t>
    </section>
    <section anchor="terminology">
      <name>Terminology</name>
      <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
      <?line -18?>

</section>
    <section anchor="corporate-authorized-signing-authority-casa">
      <name>Corporate Authorized Signing Authority (CASA)</name>
      <t>This fills the role of the MASA for BRSKI purposes. It is in effect
a one-time pad.</t>
      <t>The CASA is essentially based on a list of randomly generated
tokens. The tokens <bcp14>MUST</bcp14> be hard to guess, with a minimum size of at
least 64 bits. They <bcp14>SHOULD</bcp14> be cryptographically strong random or
pseudo-random numbers (see <xref target="RFC4086"/>, Section 6.2).</t>
      <t>The list of tokens is referred to as the OPADL (One-time-PAD
List, pronounced Oh-Paddle). It <bcp14>MUST</bcp14> be stored on long-term, backed-up and
cryptographically secured storage.</t>
    </section>
    <section anchor="authorized-installer">
      <name>Authorized Installer</name>
      <t>This is a person or agent that is trusted to authorize new devices to connect
to the network. Whenever needed, each Installer is given a new batch of random
tokens, called an APADL (Agent one-time-PAD List, pronounced "a Paddle").
These tokens are also added to the OPADL when the APADL is created. The APADL
<bcp14>MUST</bcp14> be stored on secure storage, e.g., an encrypted memory stick in the
possession of the Installer.</t>
      <t>When the CASA creates an APADL, a record <bcp14>MUST</bcp14> be made, along with the
identity of the Installer, for audit purposes. This record  <bcp14>MUST</bcp14> be
associated with the OPADL, and stored on long-term, backed-up and
cryptographically secured storage.</t>
      <t>If an APADL is lost or compromised, all the tokens in it <bcp14>MUST</bcp14> immediately
be marked as "claimed" in the OPADL.</t>
    </section>
    <section anchor="connecting-a-pledge">
      <name>Connecting a Pledge</name>
      <t>When an Installer authorizes a new device to connect, the following steps occur:</t>
      <ol spacing="normal" type="1"><li>
          <t>The Installer's software picks a token from the APADL.</t>
        </li>
        <li>
          <t>This token is installed in the pledge and marked as "claimed" in the APADL.</t>
        </li>
        <li>
          <t>The pledge then executes code to create and save a key pair and an X.509v3 certificate in IDevID format. It contains contains the token ("serial-number" in BRSKI terms) and the pledge's new public key, and is self-signed. It is referred to as an ODevID (One-time Device ID) but is in effect an LDevID.</t>
        </li>
      </ol>
      <t>These steps <bcp14>SHOULD</bcp14> be embedded in code stored on the Installer's
secure memory device, such that the token is never viewed by a human.</t>
      <t>The pledge then starts the normal BRSKI process per <xref target="RFC8995"/>,
using the ODevID in place of an IDevID. However, because the ODevID
is self-signed and thus has no CA issuer, the RFC8995 voucher request
is augmented by adding a <tt>pledge-self-cert</tt> binary element which
carries the ODevID certificate. This is used by the registrar to
verify the signed voucher request, and the registrar <strong><bcp14>SHOULD</bcp14></strong> retain
this certificate (which includes the token, i.e. serial number).</t>
      <t>TBD: update the YANG in RFC8995 accordingly.</t>
    </section>
    <section anchor="authorization">
      <name>Authorization</name>
      <t>In practice, the CASA and the Registrar will be a single software
system, so no network protocol is needed between them.
When the Registrar receives a voucher request via EST, as per
<xref target="RFC8995"/>, it will pass the request directly to the CASA.
Instead of the checks normally carried out by a MASA, the CASA will
extract the token ("serial-number") from the pledge's ODevID,
and check if it is present and unused in the OPADL. If yes,
the CASA will mark it as "claimed" in the OPADL, and issue the
required voucher directly to the Registrar, allowing the BRSKI
process to complete. If the token is not available in the OPADL,
authorization will fail.</t>
      <t>The action of checking and marking a token as "claimed" <bcp14>MUST</bcp14>
be an atomic operation.</t>
      <t>Clearly, a bogus token will fail. In the highly unlikely event that
two pledges try the same token, the second Installer simply tries
again with another token from their APADL. The same would apply
if a voucher request failed in such a way that a token was marked
as "claimed" by the CASA but the voucher never reached the pledge.</t>
    </section>
    <section anchor="trust">
      <name>Trust Model</name>
      <t>Section 7.1 of <xref target="RFC8995"/> summarizes the BRSKI trust model.
The present document removes the requirement to trust equipment
manufacturers, the integrity of their IDevID creation, and their
MASA services. It also removes any security exposures during
communication between the Registrar and the MASA.</t>
      <t>On the other hand, it introduces a need to operate
a CASA in a completely secure manner, and a need to trust the
authorized Installers, especially their operational security
practices that keep the APADLs secure. The risk of fraudulent pledges
due to a compromised APADL is real, but can be traced after
the event using logs from the CASA. If an APADL should be
physically lost, all its tokens <bcp14>MUST</bcp14> immediately be marked as claimed
in the OPADL.</t>
      <t>The ODevIDs are self-signed. This is acceptable because each ODevID
certificate includes a unique token from the OPADL, and so
can be trusted exactly to the extent that the Installer is trusted.
However, this means that the BRSKI-EST TLS connection cannot rely on
a CA-signed IDevID as described in Section 5.1 of <xref target="RFC8995"/>. It <strong><bcp14>SHOULD</bcp14></strong>
rely on whatever corporate or general PKI is already in place in the pledge.
In a stand-alone environment, an alternative is to accept self-signed CMS structures.</t>
      <t>The Registrar and the CASA are trustworthy because they constitute
a corporate entity and can present an end-entity certificate satisfying corporate
security requirements.</t>
    </section>
    <section anchor="implementation-status-rfc-editor-please-remove">
      <name>Implementation Status [RFC Editor: please remove]</name>
      <t>See <eref target="https://github.com/becarpenter/graspy/blob/master/casa"/> for a proof of concept.
It's amateur code from a security point of view. DO NOT trust it in the slightest.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The security considerations of <xref target="RFC8995"/> apply in general. However, the trust model
is modified, as discussed in <xref target="trust"/>.</t>
      <t>Also, sections 7.3 and 7.4 of <xref target="RFC8995"/> allow certain security reductions for BRSKI
registrars and MASAs. The mechanism described in the present document removes the need for
some of these reductions, since it caters for devices without manufacturer or ownership credentials.
For example, nonceless vouchers are never needed since the Registrar and the CASA are
colocated.</t>
      <t>However, since the pledge is issued a voucher on the basis of a self-signed certificate,
there is a plausible man-in-the middle attack by a rogue BRSKI proxy, if it intercepts
a voucher request, extracts the token value, creates its own key pair, and simulates all
subsequent pledge actions. Similarly, a rogue registrar could accept any pledge without
checking that its token is known to the genuine CASA registrar. Only good operational
security can protect against such attacks.</t>
      <t>The CASA is under local control so could safely be placed on the local side
of an air gap. In some scenarios, this may be considered a security advantage.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>No IANA actions are required by this document.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC8990" target="https://www.rfc-editor.org/info/rfc8990" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8990.xml">
          <front>
            <title>GeneRic Autonomic Signaling Protocol (GRASP)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="B. Carpenter" initials="B." role="editor" surname="Carpenter"/>
            <author fullname="B. Liu" initials="B." role="editor" surname="Liu"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document specifies the GeneRic Autonomic Signaling Protocol (GRASP), which enables autonomic nodes and Autonomic Service Agents to dynamically discover peers, to synchronize state with each other, and to negotiate parameter settings with each other. GRASP depends on an external security environment that is described elsewhere. The technical objectives and parameters for specific application scenarios are to be described in separate documents. Appendices briefly discuss requirements for the protocol and existing protocols with comparable features.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8990"/>
          <seriesInfo name="DOI" value="10.17487/RFC8990"/>
        </reference>
        <reference anchor="RFC8995" target="https://www.rfc-editor.org/info/rfc8995" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8995.xml">
          <front>
            <title>Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." surname="Behringer"/>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <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="RFC4086" target="https://www.rfc-editor.org/info/rfc4086" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.4086.xml">
          <front>
            <title>Randomness Requirements for Security</title>
            <author fullname="D. Eastlake 3rd" initials="D." surname="Eastlake 3rd"/>
            <author fullname="J. Schiller" initials="J." surname="Schiller"/>
            <author fullname="S. Crocker" initials="S." surname="Crocker"/>
            <date month="June" year="2005"/>
            <abstract>
              <t>Security systems are built on strong cryptographic algorithms that foil pattern analysis attempts. However, the security of these systems is dependent on generating secret quantities for passwords, cryptographic keys, and similar quantities. The use of pseudo-random processes to generate secret quantities can result in pseudo-security. A sophisticated attacker may find it easier to reproduce the environment that produced the secret quantities and to search the resulting small set of possibilities than to locate the quantities in the whole of the potential number space.</t>
              <t>Choosing random quantities to foil a resourceful and motivated adversary is surprisingly difficult. This document points out many pitfalls in using poor entropy sources or traditional pseudo-random number generation techniques for generating such quantities. It recommends the use of truly random hardware techniques and shows that the existing hardware on many systems can be used for this purpose. It provides suggestions to ameliorate the problem when a hardware solution is not available, and it gives examples of how large such quantities need to be for some applications. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="106"/>
          <seriesInfo name="RFC" value="4086"/>
          <seriesInfo name="DOI" value="10.17487/RFC4086"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC8993" target="https://www.rfc-editor.org/info/rfc8993" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8993.xml">
          <front>
            <title>A Reference Model for Autonomic Networking</title>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="B. Carpenter" initials="B." surname="Carpenter"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <author fullname="L. Ciavaglia" initials="L." surname="Ciavaglia"/>
            <author fullname="J. Nobre" initials="J." surname="Nobre"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes a reference model for Autonomic Networking for managed networks. It defines the behavior of an autonomic node, how the various elements in an autonomic context work together, and how autonomic services can use the infrastructure.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8993"/>
          <seriesInfo name="DOI" value="10.17487/RFC8993"/>
        </reference>
        <reference anchor="RFC8994" target="https://www.rfc-editor.org/info/rfc8994" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8994.xml">
          <front>
            <title>An Autonomic Control Plane (ACP)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer"/>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason"/>
            <date month="May" year="2021"/>
            <abstract>
              <t>Autonomic functions need a control plane to communicate, which depends on some addressing and routing. This Autonomic Control Plane should ideally be self-managing and be as independent as possible of configuration. This document defines such a plane and calls it the "Autonomic Control Plane", with the primary use as a control plane for autonomic functions. It also serves as a "virtual out-of-band channel" for Operations, Administration, and Management (OAM) communications over a network that provides automatically configured, hop-by-hop authenticated and encrypted communications via automatically configured IPv6 even when the network is not configured or is misconfigured.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8994"/>
          <seriesInfo name="DOI" value="10.17487/RFC8994"/>
        </reference>
        <reference anchor="RFC8366" target="https://www.rfc-editor.org/info/rfc8366" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8366.xml">
          <front>
            <title>A Voucher Artifact for Bootstrapping Protocols</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <author fullname="M. Pritikin" initials="M." surname="Pritikin"/>
            <author fullname="T. Eckert" initials="T." surname="Eckert"/>
            <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>
      </references>
    </references>
    <?line 243?>

<section anchor="change-log-rfc-editor-please-remove">
      <name>Change Log [RFC Editor: please remove]</name>
      <section anchor="draft-00">
        <name>Draft-00</name>
        <ul spacing="normal">
          <li>
            <t>Original version</t>
          </li>
        </ul>
      </section>
      <section anchor="draft-01">
        <name>Draft-01</name>
        <ul spacing="normal">
          <li>
            <t>Many changes after a proof-of-concept implementation</t>
          </li>
        </ul>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Helpful comments were made by
Michael Richardson,
...</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
8T/48Ut79CgAAA==

-->

</rfc>
