<?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-quads-grasp-04" category="std" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Quick and Dirty Secure ACP">Quick and Dirty Secure Autonomic Control Plane for GRASP</title>
    <seriesInfo name="Internet-Draft" value="draft-carpenter-anima-quads-grasp-04"/>
    <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="17"/>
    <area>Operations and Management</area>
    <workgroup>Autonomic Networking Integrated Model and Approach</workgroup>
    <keyword>BRSKI</keyword>
    <keyword>ACP</keyword>
    <abstract>
      <?line 54?>

<t>A secure substrate known as the Autonomic Control Plane (ACP) is required by the Generic Autonomic Signaling Protocol (GRASP) used by Autonomic Service Agents. This document describes QUADS, a QUick And Dirty Secure ACP using symmetric cryptography and preconfigured key material. It also describes a secure mechanism
for providing the prefconfigured key material to enrolled ACP nodes via EST.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-carpenter-anima-quads-grasp/"/>.
      </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>As defined in <xref target="RFC8993"/>, the Autonomic Service Agent (ASA) is the atomic entity of an autonomic function, and it is instantiated on autonomic nodes. When ASAs communicate with each other, they should use the Generic Autonomic Signaling Protocol (GRASP) <xref target="RFC8990"/>. It is essential that such communication is strongly secured to avoid malicious interference with the Autonomic Network Infrastructure (ANI). This includes link-local multicast messages which are an essential part of GRASP.</t>
      <t>For this reason, GRASP must run over a secure substrate that is isolated from regular data plane traffic. This substrate is known as the Autonomic Control Plane (ACP). A method for constructing an ACP at the network layer is described in <xref target="RFC8994"/>. The present document describes a simple method of forming an ACP immediately above the transport layer, known as QUADS (QUick And Dirty Security) ACP for GRASP.</t>
      <t>QUADS depends on all ACP nodes sharing preconfigured key material for symmetric cryptography. This document also describes a secure mechanism to distribute this key material to all ACP nodes that have duly enrolled
using the Bootstrapping Remote Secure Key Infrastructure (BRSKI) onboarding mechanism
specified in <xref target="RFC8995"/> or a variant such as <xref target="I-D.carpenter-anima-otp-casa"/>.</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?>

<t><xref target="RFC8995"/> uses the term "pledge" to refer to a node that onboards itself via the BRSKI process.</t>
    </section>
    <section anchor="quick-and-dirty-security-acp-method">
      <name>QUick And Dirty Security ACP Method</name>
      <t>Every GRASP message, whether unicast or multicast, is encrypted immediately before transmission, and decrypted immediately after reception, using the same symmetric encryption algorithm and domain-wide shared key material. This applies to all unicast and multicast messages sent over either UDP or TCP. Typically encryption will take place immediately after a message is encoded as CBOR <xref target="RFC7049"/>, and decryption will take place immediately before a message is decoded from CBOR.</t>
      <t>There is no attempt to specify an automatic algorithm choice. Every instance of GRASP in a given Autonomic Network (AN) must be pre-configured with the choice of encryption algorithm and any necessary parameters, and provided with the same key material.</t>
      <t>An alternative to configuring the key material is that every instance of GRASP is pre-configured with a fixed salt value and the key material is created from a domain-wide keying password, using a pre-defined hash algorithm and a common salt value. Note that the salt value cannot then be secret as it must be the same in all GRASP implementations. In this model the secrecy depends entirely on the keying password. This method is therefore vulnerable and  <strong><bcp14>NOT RECOMMENDED</bcp14></strong>.</t>
      <t>The choice of algorithms should follow best current practice, e.g. <xref target="RFC8221"/>. At present the following choices are suggested: AES/CBC, key length 32 bytes, initialisation vector length 16 bytes, padding PKCS7(128).</t>
    </section>
    <section anchor="keyd">
      <name>QUick And Dirty Security Key Distribution (QUADSKD)</name>
      <t>The QUADS key material is distributed by an extension to the EST server mechanism used by the BRSKI registrar described in <xref target="RFC8995"/>. When a BRSKI pledge requires the QUADS key material, either as the last step in onboarding or at any later time, it uses an EST POST request <xref target="RFC7030"/> to obtain the key material. The request and response are protected by TLS like any other EST exchange.</t>
      <t>This is done with an HTTP POST using the operation path value of "/.well-known/brski/requestkey".</t>
      <t>The media type "application/request-cms+json" is used. It is a JSON document that has been signed by the pledge using a CMS structure.</t>
      <t>The body of the request is a JSON structure:
<tt>{"request_key": serial-number}</tt>
where the <tt>serial-number</tt> is the pledge's serial number string as defined in <xref target="RFC8995"/>. The registrar <strong><bcp14>MUST</bcp14></strong> verify the signature and that the pledge is already enrolled.</t>
      <t>The body of the response is a JSON structure:
<tt>{"key": key-value, "iv": iv-value}</tt>
where the key and initialization vector values are binary objects encoded once in base64 in order to be transported in this JSON container. It is signed by the BRSKI registrar using a CMS structure.</t>
      <t>On receipt, the pledge <strong><bcp14>MUST</bcp14></strong> verify the signature and save these values as securely as possible for use by GRASP instances within the pledge.</t>
      <t>TBD: consider extending the requestkey response format to specify the symmetric algorithm choices.</t>
      <t>TBD: extend the YANG in RFC8995 accordingly.</t>
    </section>
    <section anchor="implementation-status-rfc-editor-please-remove">
      <name>Implementation Status [RFC Editor: please remove]</name>
      <t>QUADS for GRASP has been implemented as a small extension to the Python GRASP prototype, using the Python 'cryptography' module. The encryption algorithm choice was: AES/CBC, key lengths 32/16, padding PKCS7(128).</t>
      <t>See <eref target="https://github.com/becarpenter/graspy/tree/master/casa"/> for a proof of concept of the key distribution mechanism, associated with the CASA mechanism <xref target="I-D.carpenter-anima-otp-casa"/>.
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>QUADS provides secrecy for all GRASP messages, against any party not in possession of the relevant shared key material. However, before a GRASP message is encrypted or after it is decrypted, it is not protected within the host. Therefore, secrecy is only effective against nodes that do not contain a GRASP instance in possession of the key material. Those nodes cannot send valid GRASP messages, and they cannot interpret intercepted GRASP messages, including multicasts. However, they might attempt traffic analysis.</t>
      <t>A weakness is that QUADS uses a shared and constant initialization vector for CBC. This is not considered best practice as it assists post facto cryptanalysis, especially since many GRASP messages start with the same or similar plaintext.</t>
      <t>QUADS provides authentication of GRASP instances to the extent that they must be in possession of the relevant shared key material.</t>
      <t>QUADS depends on pre-configuration of key material, or on password entry and a public salt value, for each autonomic node, unless QUADSKD (<xref target="keyd"/>) is in use.</t>
      <t>QUADS offers no defence against denial of service attacks.</t>
      <t>QUADSKD securely avoids the need for pre-configuration of keys except in a central server. It could also form the basis for defining a re-keying mechanism.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TBD</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="RFC7030" target="https://www.rfc-editor.org/info/rfc7030" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7030.xml">
          <front>
            <title>Enrollment over Secure Transport</title>
            <author fullname="M. Pritikin" initials="M." role="editor" surname="Pritikin"/>
            <author fullname="P. Yee" initials="P." role="editor" surname="Yee"/>
            <author fullname="D. Harkins" initials="D." role="editor" surname="Harkins"/>
            <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="RFC8017" target="https://www.rfc-editor.org/info/rfc8017" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8017.xml">
          <front>
            <title>PKCS #1: RSA Cryptography Specifications Version 2.2</title>
            <author fullname="K. Moriarty" initials="K." role="editor" surname="Moriarty"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <author fullname="J. Jonsson" initials="J." surname="Jonsson"/>
            <author fullname="A. Rusch" initials="A." surname="Rusch"/>
            <date month="November" year="2016"/>
            <abstract>
              <t>This document provides recommendations for the implementation of public-key cryptography based on the RSA algorithm, covering cryptographic primitives, encryption schemes, signature schemes with appendix, and ASN.1 syntax for representing keys and for identifying the schemes.</t>
              <t>This document represents a republication of PKCS #1 v2.2 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series. By publishing this RFC, change control is transferred to the IETF.</t>
              <t>This document also obsoletes RFC 3447.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8017"/>
          <seriesInfo name="DOI" value="10.17487/RFC8017"/>
        </reference>
        <reference anchor="RFC8221" target="https://www.rfc-editor.org/info/rfc8221" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8221.xml">
          <front>
            <title>Cryptographic Algorithm Implementation Requirements and Usage Guidance for Encapsulating Security Payload (ESP) and Authentication Header (AH)</title>
            <author fullname="P. Wouters" initials="P." surname="Wouters"/>
            <author fullname="D. Migault" initials="D." surname="Migault"/>
            <author fullname="J. Mattsson" initials="J." surname="Mattsson"/>
            <author fullname="Y. Nir" initials="Y." surname="Nir"/>
            <author fullname="T. Kivinen" initials="T." surname="Kivinen"/>
            <date month="October" year="2017"/>
            <abstract>
              <t>This document replaces RFC 7321, "Cryptographic Algorithm Implementation Requirements and Usage Guidance for Encapsulating Security Payload (ESP) and Authentication Header (AH)". The goal of this document is to enable ESP and AH to benefit from cryptography that is up to date while making IPsec interoperable.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8221"/>
          <seriesInfo name="DOI" value="10.17487/RFC8221"/>
        </reference>
        <reference anchor="I-D.carpenter-anima-otp-casa" target="https://datatracker.ietf.org/doc/html/draft-carpenter-anima-otp-casa-01" xml:base="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.carpenter-anima-otp-casa.xml">
          <front>
            <title>One-time Pad for Authorizing Device Identity</title>
            <author fullname="Brian E. Carpenter" initials="B. E." surname="Carpenter">
              <organization>The University of Auckland</organization>
            </author>
            <date day="3" month="September" year="2026"/>
            <abstract>
              <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>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-carpenter-anima-otp-casa-01"/>
        </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="RFC7049" target="https://www.rfc-editor.org/info/rfc7049" xml:base="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.7049.xml">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7049"/>
          <seriesInfo name="DOI" value="10.17487/RFC7049"/>
        </reference>
      </references>
    </references>
    <?line 152?>

<section anchor="change-log-rfc-editor-please-remove">
      <name>Change Log [RFC Editor: please remove]</name>
      <section anchor="draft-00">
        <name>Draft-00</name>
        <t>Initial version</t>
      </section>
      <section anchor="draft-01">
        <name>Draft-01</name>
        <t>Added QUADSKI</t>
      </section>
      <section anchor="draft-02">
        <name>Draft-02</name>
        <t>Added crypto details on QUADSKI</t>
        <t>Minor corrections and clarifications</t>
      </section>
      <section anchor="draft-03">
        <name>Draft-03</name>
        <t>Added ACP terminology</t>
        <t>Updated to xml2rfcv3</t>
      </section>
      <section anchor="draft-04">
        <name>Draft-04</name>
        <t>Scrapped QUADSKI (would only work for RSA, incompatible with ECDSA)</t>
        <t>Deprecated password-based manual keying.</t>
        <t>Added QUADSKD (BRSKI/EST based)</t>
        <t>Fixed many details and references</t>
        <t>Updated to kramdown-rfc</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Helpful comments were made by
TBD,
...</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
C00EmNLXEBkTyeRQGuz1RiNI/i9uke+vgiMAAA==

-->

</rfc>
