<?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.6.4 (Ruby 2.6.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-richardson-anima-registrar-considerations-06" category="bcp" consensus="true" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.13.1 -->
  <front>
    <title abbrev="Registrar Considerations">Operational Considerations for BRSKI Registrar</title>
    <seriesInfo name="Internet-Draft" value="draft-richardson-anima-registrar-considerations-06"/>
    <author initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization>Sandelman Software Works</organization>
      <address>
        <email>mcr+ietf@sandelman.ca</email>
      </address>
    </author>
    <author initials="W." surname="Pan" fullname="Wei Pan">
      <organization>Huawei Technologies</organization>
      <address>
        <email>william.panwei@huawei.com</email>
      </address>
    </author>
    <date year="2022" month="November" day="07"/>
    <area>Internet</area>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes a number of operational modes that a
BRSKI Registration Authority (Registrar) may take on.</t>
      <t>Each mode is defined, and then each mode is given a relevance
within an over applicability of what kind of organization the
Registrar is deployed into.
This document does not change any protocol mechanisms.</t>
      <t>This document includes operational advice about avoiding unwanted
consequences.</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-richardson-anima-registrar-considerations/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        anima Working Group mailing list (<eref target="mailto:anima@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/anima/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/mcr/registrar-operational-considerations.git"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t><xref target="RFC8995"/> introduces a mechanism for
new devices (called pledges) to be onboarded into a network without
intervention from an expert operator.</t>
      <t>A key aspect of this is that there has to be a thing for the pledge to join!
<xref target="RFC8995"/> refers to this thing as the
"Domain", identified technically by the "DomainID".  The Registrar component
embodies the identity, membership and trust anchor of the domain.
Membership in the domain is proven by possession of a valid Local DeviceID, a
form of <xref target="ieee802-1AR"/> certificate.</t>
      <t>The Registrar is the component that implements the domain, authorizing new devices (pledges) to join.  Proper and efficient operation of the Registrar is key aspect for the Autonomic mechanisms, and for enabling secure onboarding.</t>
      <t>This document provides implementation, deployment and operational guidance for the BRSKI Registrar.</t>
      <t>There are however several classes of operator of a local domain: ISP and large
managed multi-side Enterprises are the primary target for this document.
Medium sized single site Enterprises and Industrial Plant users are a
secondary target for this document.  Unmanaged small enterprises and home
users are addressed in a separate section at the end as special case.</t>
      <t>This document first introduces the different scales of deployment as a reference for further discussion and contrasts, and then provides analyses some consequences of architectural choices that may be appropriate for different scales of deployments.</t>
      <t>The document includes security best practices for the management of the certificates and the certification authorities.</t>
      <section anchor="terminology">
        <name>Terminology</name>
        <t>Although this document is not an IETF Standards Track publication, it
adopts the conventions for normative language to provide clarity of
instructions to the implementer.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" 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>
      </section>
      <section anchor="reference-network-and-diagrams">
        <name>Reference Network and Diagrams</name>
        <t>In order to deal with the full complexity and generality of operations, the
reference network described herein is a bit more complicated than many
networks actually are.</t>
        <t>XXX-some of these diagrams as more complex than the document currently justifies.</t>
        <section anchor="tier-1-network">
          <name>Tier-1 Network</name>
          <t>In this guide one target is a world-wide Tier-1 ISP.  It has three network
operations centers (NOC), the two major ones in Frankfurt and Denver, with an
secondary center located in Perth, Australia.  The exact location of these
NOCs is not important: the locations have been chosen to have an hour
overlap in their 8-6 daytime shift, typical of world-wide operations.
This overlap is also not important, it just adds a degree of realism to this
discussion.  The use of actual names makes subsequent discussion about
failures easier.</t>
          <figure>
            <name>Reference Tier-1 ISP network</name>
            <artwork type="WHOLEFLOW" align="center"><![CDATA[

               .---------.   .------.
               | Denver  |   | NYC  |
          .----|---------|---|router|-.   .-----------.
         /     | NOC/JRC |   '------'   \ | Frankfurt |
        '      '---------'               '|-----------|
   .---------.                            | NOC/JRC   |
   | SanJose |                            '-----------'
   | router  |                                  .
   '---------'                                 /
       |                                      /
       |                                     /
.-----------.                               /
|   Perth   |              .-------.       /
|-----------|              | Tokyo |      /
| NOC/EST   |--------------|router |-----'
|           |              '-------'
'-----------'
]]></artwork>
          </figure>
        </section>
        <section anchor="enterprise-network">
          <name>Enterprise Network</name>
          <t>A second target is a medium Enterprise that has a single (probably on-premise) data
center.  The Enterprise has Information Technology (IT) operations that
include the routers and systems supporting it's office staff in it's
buildings.  It has Building Operations which integrates the IoT devices found
in the buildings that it owns, and it has Operations Technology (OT) that
manages the automated systems in it's on-site manufacturing facilities.</t>
          <figure>
            <name>Reference Enterprise network</name>
            <artwork type="WHOLEFLOW" align="center"><![CDATA[
                      .-------------.
                      | Data Center |
                 .----|-------------|------.
                /     | NOC/JRC     |       \
               /      '-------------'        \
              /                               \
             /                                 \
            /                                   \
   .--------------.                      .-------------.
   | Office Staff |                      |   building  |
   |   routers    |                      |  automation |
   |   switches   |                      |     IoT     |
   |   servers    |                      |   sensors   |
   '--------------'                      '-------------'
]]></artwork>
          </figure>
        </section>
        <section anchor="home-network">
          <name>Home Network</name>
          <t>A third target is a resident with a single CPE device.  The home owner has a
few medium sized devices (a home NAS) as well as a few IoT devices (light
bulbs, clothes washing machine).</t>
        </section>
      </section>
      <section anchor="internal-architectural-view">
        <name>Internal architectural view</name>
        <t>A Registrar will have four major interfaces, connected together by a common database.</t>
        <figure anchor="tier1isp">
          <name>Reference Internal Architecture for Registrar</name>
          <artwork type="ARCHVIEW" align="center"><![CDATA[
                  .------------.
                  |    MASA    |
                  |  Interface |
                  | BRSKI-MASA |
                  '------------'
                         ^
                         |
 .------------.          |           .---------------.
 | management |    .----------.      | certification |
 | interface  |<---| database |----->|   authority   |
 '------------'    '----------'      '---------------'
                         |
                         |
                         v
.------------.     .-----------.       .------------.
| Join Proxy |     |  Pledge   |--.    | EST/BRSKI  |
|------------|     | Interface |  |    |------------|
| GRASP      |     | BRSKI-EST |e |    |    GRASP   |
| (DULL)     |     '-----------'T |    '------------'
'------------'        '-----------'
]]></artwork>
        </figure>
        <section anchor="pledge-interface-southbound-interface">
          <name>Pledge Interface (Southbound Interface)</name>
          <t>The pledge interface is the southbound interface.  This interface runs the
BRSKI-EST protocol.  This interface faces into the operator's network,
receiving requests from devices to join the network.</t>
          <t>For <xref target="RFC8995"/> use, the pledge interface is an HTTPS interface.
Due to the use of provinsional trust state in the BRSKI-EST interface the pledge never verifies the contents of the TLS server certificate.
As a result, the registrar may run on arbitrary port numbers.
The voucher pins the associated certificate, so the Registrar does not need to have any
specific (subjectAltName) dnsName.</t>
          <t>When a constrained onboarding mechanism is supported via <xref target="I-D.ietf-anima-constrained-voucher"/>, then CoAP is used.</t>
          <t><xref target="I-D.ietf-anima-constrained-join-proxy"/> describes a mechanism to provide a stateless proxy of CoAPS connections, in which case DTLS traffic will be proxied by the Join Proxy to the port that the Registrar announces via GRASP within the ACP.
In this case, then there is DTLS layer below the CoAP layer.</t>
          <t><xref target="RFC9031"/> describes a proxy mechanism that can be used with <xref target="I-D.selander-ace-ake-authz"/> to pass CoAP traffic.
In this case, depending upon the chosen AKE, the key agreement protocol would be above CoAP.</t>
          <t><xref target="I-D.richardson-anima-state-for-joinrouter"/> offers some additional
mechanisms, one of which involves dynamically created IPIP tunnels.
If these mechanisms are in use, then the southbound interface would need to support
these options as well.</t>
          <t>The Pledge Interface requires a TLS ServerCertificate, and <xref target="brskiestcert"/>
discusses option for creating this certificate.</t>
          <t>The Pledge Inteface does not require a public IP address, nor does it have have to run on port 443.
The address and port of the Pledge interface to the Registrar is advertised by the Registrar using GRASP, according to <xref target="RFC8995"/> section 4.1.1.
The service may run on any available port.
The HTTPS, CoAP and CoAPS port numbers do not need to be coordinated.</t>
          <t>In an ACP application (<xref target="RFC8994"/>), the Pledge Interface SHOULD have an IPv6 Unique Local Address (ULA) address from the prefix allocated to the ACP.
<xref target="acpnoc"/> provides some options for how the Pledge Interface can be best connected to the ACP.</t>
          <t>Outside of the ACP context, running the Pledge interface on an IP address that has a FQDN that resolves to that IP address (if only internally), and operating it on port 443 may have operational advantages.
The Registrar may have additional management functions, it may also serve as an EST end point for certificate renewal, and <xref target="I-D.ietf-anima-brski-cloud"/> proposes a mechanism to bootstrap devices which are not connected by a convex ACP, or no ACP.
The Registrar may be accessible via multiple interfaces.</t>
        </section>
        <section anchor="masa-client-northbound-interface">
          <name>MASA client (Northbound Interface)</name>
          <t>The MASA client interface connects outward to the Internet to speak to the
Manufacturer Authorized Signing Authority (MASA).
This is a TLS Client interface.</t>
          <t>Use of a TLSClientCertificate is RECOMMENDED as this may be the best way for
a manufacturer to identify clients.
<xref target="brskimasacert"/> discusses options for signing this certificate.</t>
          <t>The MASA client interface is outgoing only and does not require any special connectivity.
It may be placed behind a typical enterprise or residential NAT44 gateway.
IPv6 connectivity is RECOMMENDED.
It does need access to DNS, and the DNS lookups SHOULD be validated with DNSSEC.</t>
          <t>The MASA client interface will need to validate the server certificates of the MASA, and to do this it will need access to the common public WebPKI (<xref target="WebPKI"/>) trust anchors to validate the MASA.
The MASA client MAY also require access to a database of pinned certificates to validate specific manufacturers as called out for in <xref target="RFC8995"/> section 2.8 and section 5.4.</t>
        </section>
        <section anchor="join-proxy-southbound-interface">
          <name>Join Proxy (Southbound Interface)</name>
          <t>In the ACP context, the Registrar is expected to have a Join Proxy operating
on the Southbound Interface in order to announce the existence of the
Registrar to the local network, for the benefit of directly connected
devices.
This permits the systems on the LAN in the NOC itself to autonomically join the domain.</t>
          <t>The Join Proxy MAY announce the IP address (ULA) and port of the actual Pledge Interface, rather than announcing a link-local address and then performing a proxy operation.</t>
        </section>
        <section anchor="est-and-brski-grasp-announcements">
          <name>EST and BRSKI GRASP announcements</name>
          <t>As specified in <xref target="RFC8995"/> section 4.3, in an ACP context, the Registrar MUST announce itself inside the ACP using GRASP.
The Registrar MUST incorporate enough of a GRASP daemon in order to perform the M_FLOOD announcements.</t>
          <t>As specified in <xref target="RFC8995"/> section 6.1.2, in an ACP context, if the Registrar will also be providing for renewal of certificates using EST, then it SHOULD
announce itself inside the ACP using GRASP.
See <xref target="RFC8994"/> section 6.1.5.1 for details.
Unless made impossible due to loading concerns, it is RECOMMENDED that all Registrar instances offer certificate renewal services in this fashion.</t>
          <t>The use of <xref target="RFC8739"/> Short-Term Automatically-Renewed Certificates is RECOMMENDED.
This mandates that the EST server be highly available.
If STAR-style renewals are not used, then the Certification Authority will need to make OCSP or CRL Distribution points available.</t>
        </section>
        <section anchor="certification-authority">
          <name>Certification Authority</name>
          <t>If the Enterprise/ISP has an existing certification authority system that it wishes to use, then an interface to it has to be enabled.
This may run protocols like EST, CMP or ACME.</t>
          <t>Smaller Enterprises and Residential uses of BRSKI are encouraged to use an internal (private) certification authority.
See <xref target="certauthsecurity"/> for a discussion of securing this CA.</t>
        </section>
        <section anchor="management-interface">
          <name>Management Interface</name>
          <t>The Registrar will require a management interface.
As is the trend, this will often be a web-based single page application using AJAX API calls to perform communications.
This interface SHOULD be made available on the Southbound NOC interface only, and it MUST be on a different IP address and port number then the BRSKI-EST interface.
It should be secured with HTTPS, and use of a public (<xref target="WebPKI"/>) anchor is reasonable as it may be that the internal certification authority may be unavailable or require maintenance.</t>
          <t>An entirely separate process is justified with the only connection to the other procesess being the database.
(This does not mean it can not share code modules)</t>
        </section>
      </section>
    </section>
    <section anchor="acpnoc">
      <name>Connecting the Autonomic Control Plane to the Network Operations Center (NOC)</name>
      <t><xref target="RFC8994"/> section 8.1 describes a mechanism to connect non-ACP capable systems to the ACP.
The use of this mechanism is critical to incremental deployment of ANIMA and BRSKI in operators.</t>
      <t>The deployment of BRSKI capable equipment would ideally occur in an outward
wave, a concentric ring, from the NOC.</t>
      <t>(EDNOTE: INSERT DIAGRAMS)</t>
      <t>This would start by an upgrade of the router that connects the NOC to the production network.  This device needs to support the ACP connect functionality.</t>
      <t>It is possible, but beyond the scope of this document, to do initial
connectivity of the ACP and of multiple NOCs by manually configured IPsec tunnels.
This is likely an important step for incremental initial deployment.</t>
      <t>The Registrar described in the next section either needs to be connected via one of the above mentioned tunnels, or it must be located on a network with ACP Connect, or it must itself be part of an automatically configured ACP.
It is quite reasonable for the Registrar to be part of a larger appliance that also includes an ACP Connect functionality.</t>
    </section>
    <section anchor="certauthsecurity">
      <name>Public Key Infrastructure Recommendations for the Registrar</name>
      <t>The Registrar requires access to, or must contain a Certification Authority (CA).</t>
      <t>This section deals with the situation where the CA is provided internally.
<xref target="I-D.ietf-acme-integrations"/> deals with the case where the CA is provided by an external service, and the CA trust anchors are public.
These use ACME (<xref target="RFC8555"/>) is used as the interface.
That is out of scope for this document.</t>
      <t>There are also a number of commercial offerings where a private CA is operated by an external entity using a wide variety of protocols, including proprietary ones.
Those are also out of scope for this document.</t>
      <t>The requirements for the PKI depends upon what kind of network is being managed.</t>
      <section anchor="pki-recommendations-for-tier-1isp-networks">
        <name>PKI recommendations for Tier-1/ISP Networks</name>
        <t>A three-tier PKI infrastructure is appropriate for an ISP.
This entails having a root CA created with the key kept offline, and a number of intermediate CAs that have online keys that issue "day-to-day" certificates.</t>
        <t>Whether the root private key is secured by applying secret-splitting, and then storing the results on multiple USBs key kept in multiple safes, or via Hardware Security Module is a local decision informed by best current practices.</t>
        <t>The root CA is then used to sign a number of intermediate entities: this will include an intermediate CA for the Registrar that is deployed into each redundant NOC location.
Multiple intermediate CAs with a common root provides significantly more
security and operational flexibility than attempts to share a private key among locations.</t>
        <t>While the root CA should have a longevity of at least 5 years, after which it can be re-signed rather than re-generated.
(Resigning an existing key might not require replacement of trust anchors on all devices)</t>
        <t>The intermediate CA keys need only have a 1-2 year duration, and before the end of their lifetime, a new private key should be generated and replace the old one.</t>
        <t>Shorter periods are possible, but until there is more experience with them, not recommended.  The intermediate CA key should be regenerated because the intermediate CA private key will need to be online, available to the Registrar CA system.
There are many more opportunities for the key to leak, such as into backups.</t>
        <t>The intermediate CA is then used to sign End-Entity certificates which are returned as part of the BRSKI-EST mechanism.</t>
        <t>The Registrar needs both of client and server certificates for it's BRSKI-EST and BRSKI-MASA connections.
It is recommended that an additional intermediate CA can be created for manually issued certificates such as these.
This intermediate CA could be called the NOC Infrastructure CA, and could be used to issue certificates for all manner of infrastructure such as web-based monitoring tools.
The private root CA certificate should be installed into the browsers of NOC personnel.</t>
        <t>The document <xref target="I-D.moskowitz-ecdsa-pki"/> provides some practical instructions on setting up this kind of system.</t>
        <t>This document recommends the use of ECDSA keys for the root and subordinate CAs, but there may be  operational reasons why an RSA subordinate CA will be required for some legacy equipment.</t>
      </section>
      <section anchor="enterprise-network-1">
        <name>Enterprise Network</name>
        <t>Enterprises that have multiple Network Operations Center should consider the recommendations above for an ISP.</t>
        <t>This section applies to Enterprises that have all NOC operations/personel into a single location, which is probably on-premise data center.
This is not a hard rule for scaling, but the intent is that physical security for the ACP Connect network is rather easy, that only a single legal jurisdiction will apply, and that it is possible to get people together easily to do things like resign keys.</t>
        <t>A three-tier PKI infrastructure is still recommended for the reason that it provides operational continuity options not available with a two-level system.
The recommendation is to have a root CA mechanism installed on a Virtual Machine which is not connected to a network.
The root CA private key is kept offline, secret split among a number of USB keys, kept in the possession of key personnel.</t>
        <t>The secret split should have at least five components, of which at least three are required to reconstruct the key.
See <xref target="I-D.hallambaker-mesh-udf"/> section 4.5 for one such mechanism, there are many others, and there are no interoperability requirements for the secret split.</t>
        <t>The essential point is that the Enterprise is able to recover the root CA key even without some number of personnel and is able to continue operating it's network.</t>
        <t>As in the ISP case, the intermediate CA is then used to sign End-Entity certificates which  are returned as part of the BRSKI-EST mechanism.
One intermediate CA key suffices as there is only one NOC location with a Registrar.
Incidental certificates for internal operations (such as internal web servers, email servers, etc.), and for the BRSKI-EST server certificate can be done with this single intermediate CA.</t>
        <t>The BRSKI-MASA TLS Client Certificate key for an enterprise may not be needed; it depends upon the policies of the manufacturers which are involved.
It may be simpler to use a certificate produced by a public CA (such as LetsEncrypt), as this makes it easier for manufacturers to validate the provided certificate.</t>
        <t>The document <xref target="I-D.moskowitz-ecdsa-pki"/> provides some practical instructions on setting up this kind of system.
This document recommends the use of ECDSA keys for the root and intermediate CAs.
In an  Enterprise, there are likely many more legacy devices that might need to become involved in the secure domain.
It is recommended that an RSA root and intermediate CA be more strongly considered.</t>
      </section>
      <section anchor="home-network-1">
        <name>Home Network</name>
        <t>Home networks and small offices that use residential class equipment are the most challenging situation.
The three-tier PKI architecture is not justified because the ability to keep the root CA offline has no operational value.</t>
        <t>The home network registrar should be initialized with a single key pair used as the certification authority.</t>
        <t>Secret splitting is useful in order to save the generated key with a few neighbours.
It is recommended that the entire PKI system database (including CA private key) be encrypted with a symmetric key and the results made available regularly for download to a variety of devices.
The symmetric key is split among the neighbours.</t>
        <t>The most difficult part of the Home Network PKI and Registrar is where to locate it.
Generally it should be located on a device that is fully owned by the home user.
This is sometimes the Home Router, but in a lot of situations the Home Router is the ISP's CPE router.
If the home has a Network Attached Storage (NAS) system, then running it there is probably better.</t>
        <t>A compromise for CPE devices owned by the ISP that can run containers is for the Registrar to be located on detachable storage that is inserted into the CPE.
The detachable storage is owned by the home owner, and can be removed from the CPE device if it is replaced.
More experience will be necessary in order to determine if this is a workable solution.</t>
      </section>
    </section>
    <section anchor="arch">
      <name>Architecture Considerations for the Registrar</name>
      <t>There are a number of ways to scale the Registrar.
Web framework three-tier mechanisms are the most obvious.
See <xref target="threetier"/> for an overview.
This architecture is very familiar and can work well for a Registrar.
There are a few small issues that need to be addressed relating to the TLS connections.</t>
      <t>The BRSKI-EST connection uses TLS Client Certificate information, so it is necessary for the presentation tier to pass the entire certificate through to the application layer.
The presentation tier MUST accept all Client Certificates, many of which might it might not have anchors for.
Many n-tier systems provide for non-standard ways to transmit the client certificate from presentation layer to application layer, but <xref target="I-D.bdc-something-something-certificate"/> also intends to provide a standards track mechanism.</t>
      <t>In addition, the Registrar Voucher-Request MUST be signed using the same key pair that is used to terminate the TLS connection, so the application layer will need access to the same keypair that the presentation tier uses.
This can be operationally challenging if the presentation tier is provided by a hardware-based TLS load balancer.</t>
      <t>For this reason, an alternate architecture where the front-end load balancer provides TCP level load balancing, leaving the TLS operations to software TLS implementations in the application layer may be simpler to build.
Given that the Registrar is an inward facing system, and is not subject to the Internet-scale loads typical of "Black Friday" web system, the same kind of extreme scaling is not necessary.</t>
      <t>The BRSKI-EST flow includes a back-end call to the BRSKI-MASA flow.
That is, during the BRSKI-EST /voucherrequest call, a voucher will need to be fetched from the MASA using a BRSKI-MASA connection.
There are three ways to do this.</t>
      <section anchor="completely-synchronous-registrar">
        <name>Completely Synchronous Registrar</name>
        <t>In this simplest version the Registrar operates as a single thread, processing the voucher-request from the Pledge, and then starting a BRSKI-MASA client session, while the connection from the Pledge waits.</t>
        <t>This flow is very simple to implement, but requires an entire processing thread to block while the BRSKI-MASA protocol executes.
The Pledge may timeout on this request, disconnect and retry.
Experience so far is that typical default timeouts work fine.</t>
        <t>It is recommended that the voucher-request be recorded in a database, and if a corresponding fresh voucher is also found in the database, that it be returned rather than fetching a new voucher from the MASA.
This accomodates the situation where the Pledge did timeout, but the BRSKI-MASA protocol did complete.
This results in the Pledge receiving the voucher upon retrying without having to go through the process of getting a new voucher.
This only works if the Pledge retries with the same Nonce each time.</t>
      </section>
      <section anchor="partially-synchronous-registrar">
        <name>Partially Synchronous Registrar</name>
        <t>A slightly more complicated version is for the Registrar to look in a database for a matching voucher-request, and if none is found, to return a 202 code upon the voucher-request, asking the Pledge to retry.</t>
        <t>In the meantime the BRSKI-MASA connection can be performed, and the resulting voucher stored in a database.
The connection can be done in the same thread that just deferred the connection, or in another thread kicked off for this purpose.</t>
      </section>
      <section anchor="asynchronous-registrar">
        <name>Asynchronous Registrar</name>
        <t>In the completely asynchronous architecture, things work as with the Partially Synchronous version.
The voucher request is placed into a database as before.</t>
        <t>A completely separate system, probably with different network connectivity, but connected to the same database,  performs the BRSKI-MASA processing, then fills the database with the answer.</t>
        <t>This version may have a noticeably higher latency as it requires a database operation and a database trigger to invoke the process.
This architecture has the advantage, however, that the internal facing Registrar never connects to the Internet.
Furthermore, the number of internal facing Registrar instances can be tuned independently from the number of outward facing clients.
This may be an advantage for networks that need to deal with a high number of malicious or lost internal clients.</t>
      </section>
    </section>
    <section anchor="certificates-needed-for-the-registrar">
      <name>Certificates needed for the Registrar</name>
      <t>In addition to hosting a PKI root, the Registrar needs several other key pairs.  They are:</t>
      <section anchor="brskiestcert">
        <name>TLS Server Certificate for BRSKI-EST</name>
        <t>A certificate to be used to answer TLS connections from new devices (pledges).
This must be of a type that expected pledges can understand.
Returning an RSA key to a client that can validate only ECDSA chains is a problem.
The constrained IoT ecosystem prefers ECDSA, and often does not have code that can verify RSA.  Meanwhile, older FIPS-140 validated libraries present in many router operating systems support only RSA!</t>
        <t>The recommendation is to use ECDSA keys, with a sensitiviity to when a majority of systems might support EdDSA.
There are well established mechanisms in most TLS server libraries to permit multiple certificates to be loaded and to return an appropriate key based upon the client capabilities.
This should be used.</t>
        <t>The certificate used for the BRSKI-EST end point is not validated by the BRSKI pledge using public trust anchors, but rather it is pinned by the <xref target="RFC8366"/> voucher.
As such it can come from the private CA, as recommended above: either signed by a specific intermediate CA or via a root CA as appropriate for the environment.</t>
      </section>
      <section anchor="brskimasacert">
        <name>TLS Client Certificate for BRSKI-MASA</name>
        <t>A certificate may optionally be used for authentication of the Registrar to the MASA.
It is recommended to always include one.</t>
        <t>It can be the same certificate used by TLS Server Certificate above, and this is most appropriate in small Registrars which are not distributed, such as ones aimed as Residential/Home networks.</t>
        <t>In larger, distributed Registrars, cryptographic hygiene dictates that the private key not be distributed, so a unique certificate per Registrar client is appropriate.
They should all be signed by the same intermediate CA, with the intermediate and root CA certificates being supplied in the TLS connection.</t>
        <section anchor="use-of-publically-anchored-tls-client-certificate-with-brski-masa-connection">
          <name>Use of Publically Anchored TLS Client Certificate with BRSKI-MASA connection</name>
          <t>The use TLS Client Certificate which has a public anchor (such as from LetsEncrypt) has an advantage that is makes it easier for the MASA to reject malicious clients.</t>
          <t>If the Registrar is not using a supply chain integration that includes the MASA being aware of the cryptographic identity of the Registrar, then the use of a publically anchored certificate is RECOMMENDED.</t>
        </section>
      </section>
      <section anchor="brskivoucherrequest">
        <name>Certificate for signing of Voucher-Requests</name>
        <t>As part of the BRSKI voucher-request process the Pledge's Voucher-Request is wrapped by the Registrar in another voucher-request and signed.
It is this certificate which pinned by MASA to validate the connection.</t>
        <t>The certificate used to sign the (parboiled) voucher-request MUST be the same as the one that is used for the TLS Server Connection.
This implies that the signed voucher-request MUST be constructed on the same machine that terminates the BRSKI-EST connection.</t>
      </section>
    </section>
    <section anchor="autonomic-control-plane-addressing">
      <name>Autonomic Control Plane Addressing</name>
      <t>In the Enterprise and ISP use cases, the creation of an <xref target="RFC8994"/> Autonomic Control Plane is assumed.
(The use of an ACP for the Home Network of IoT devices is considered unnecessary due to HNCP)</t>
      <t>In these context the certificates which are returned by the Registrar MUST contain a unique IPv6 ULA address.
<xref target="RFC8994"/> section 6.10 outlines several addressing schemes for the ULA addresses.
The use of the ACP Vlong Addressing Sub-Scheme (6.10.5) is recommended as it provides the most flexibility for devices.</t>
      <t>The use of this mode limits the number of nodes in the network to between 32768 and 8 Million.
32K routers in an ISP network seems like quite a lot already, but use of F=0 addresses provides for up to 8 Million devices, each with 256 management end points.</t>
      <t>It should be noted that a mix of F=0 and F=1 addresses may be used, but the BRSKI protocol does not directly provide a way to negotiated this.
This could be done as part of the Certificate Signing Request: the device could decide which kind of address to ask for by changing the address that it asks for, but this is non-standardized and may not work.</t>
      <t>A network manager that saw that a device was running out of F=0 space, that is if 256 addresses was not enough for a device, could allocate an F=1 address in a management interface.
At the next certificate renewal (which could be forced by a management action), then a new certificate would be issues with the larger address space.</t>
      <t>256 addresses for a single device may seem like a lot, but it is increasing the case that routers may have a large number of virtualized functions within and each may reasonably need to be separately connected to it's SDN controller.</t>
    </section>
    <section anchor="privacy-considerations">
      <name>Privacy Considerations</name>
      <t>Section 10.2 of <xref target="RFC8995"/> details a number of things that are revealed by the BRSKI-EST protocol.
A multi-location Registrar with different TLS Server Certificates will have a different privacy profile than a Registrar that uses only a single certificate.</t>
      <t>Section 10.3 of <xref target="RFC8995"/> details what is revealed by the BRSKI-MASA protocol.
The operational recommendations of this document do not affect or mitigate things at all.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Section 11 of <xref target="RFC8995"/> does not deal with any attacks against the Registrar, as the Registrar is considered to be an internally facing system.</t>
      <t>In the context of the Autonomic Control Plane (<xref target="RFC8995"/> section 9, and <xref target="RFC8994"/>) it is expected that the majority of equipment attached to a network are connected by wired ethernet.  The opportunity for a massive attack against the Registrar is considered low in an ISP, or multi-side Enterprise backbone network.</t>
      <section anchor="denial-of-service-attacks-against-the-registrar">
        <name>Denial of Service Attacks against the Registrar</name>
        <t>However, there are some exposures which need to be taken into account, particular in the Enterprise or Institutional Campus network: typically these networks have large number of access ports, one for each desktop system.
Those systems can be infected with Malware, or may be located in student computer labs physically accessible with minimal authorization.
While an attack on the Registrar might be part of some kind of student protest, an attack by malware seems more likely.</t>
        <t>The different architectures proposed in <xref target="arch"/> of this document provides some recommendations on differing scales.
The use of a fully asynchronous design is recommended for Enterprise uses of BRSKI where there may be a large number of IoT devices that are expected to onboard.
The ability to scale the BRSKI-EST Pledge Interface without having the scale the rest of the system provides for resiliency of the Registrary.</t>
        <t>It bears repeating that the use of of a stateless technology in the Join Proxy moves the load due to attacking systems from the Join Proxy into the Registrar.
This increases the network bandwidth required from the Join Proxy to the Registrar with the benefit of simplifying the Join Proxy.</t>
        <t>This is an intentional design decision to centralize the impact into the purpose built Registrar system(s).</t>
      </section>
      <section anchor="loss-of-keyscorruption-of-infrastructure">
        <name>Loss of Keys/Corruption of Infrastructure</name>
        <t>In Home/Residential Network ("homenet") uses of <xref target="RFC8995"/> the biggest risk is likely that of loss of the Registrar's key pairs.
That is, accidental loss of the private key is more likely than loss to a malicious entity that steals them with intent to cause damage.</t>
        <t>This can be due to failure to backup the database followed by a CPE device failure, but the case where a CPE device is simply thrown away to be replaced by an uninformed technician or household member is probably the most likely situation.</t>
        <t>This situation results in loss of control for all devices in the home, and much frustration from the home owner who has to go through an onboarding process for all the devices.
The use of a standardized onboarding protocol significantly mitigates the hassle; the current "state of the art" proccess involves a series of appliance-specific smartphone applications, which may or not not actually work on more recent devices.</t>
        <t>This is why the focus on saving of the database along with a secret splitting process to secure it.
At present there is no cross-vendor format for this database, so the saved data is only useable with a Registrar from the same vendor.
So this protects against device failure, where it is replaced by an identical device or an upward compatible device from the same manufacturer, but not against changes of vendor.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document makes no IANA allocations.</t>
    </section>
    <section anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Your name here.</t>
    </section>
    <section anchor="changelog">
      <name>Changelog</name>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <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>
        <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="RFC8994" target="https://www.rfc-editor.org/info/rfc8994">
          <front>
            <title>An Autonomic Control Plane (ACP)</title>
            <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert">
              <organization/>
            </author>
            <author fullname="M. Behringer" initials="M." role="editor" surname="Behringer">
              <organization/>
            </author>
            <author fullname="S. Bjarnason" initials="S." surname="Bjarnason">
              <organization/>
            </author>
            <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="I-D.ietf-anima-constrained-voucher" target="https://www.ietf.org/archive/id/draft-ietf-anima-constrained-voucher-18.txt">
          <front>
            <title>Constrained Bootstrapping Remote Secure Key Infrastructure (BRSKI)</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
              <organization>vanderstok consultancy</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Esko Dijk" initials="E." surname="Dijk">
              <organization>IoTconsultancy.nl</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <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-18"/>
        </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="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <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>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8739" target="https://www.rfc-editor.org/info/rfc8739">
          <front>
            <title>Support for Short-Term, Automatically Renewed (STAR) Certificates in the Automated Certificate Management Environment (ACME)</title>
            <author fullname="Y. Sheffer" initials="Y." surname="Sheffer">
              <organization/>
            </author>
            <author fullname="D. Lopez" initials="D." surname="Lopez">
              <organization/>
            </author>
            <author fullname="O. Gonzalez de Dios" initials="O." surname="Gonzalez de Dios">
              <organization/>
            </author>
            <author fullname="A. Pastor Perales" initials="A." surname="Pastor Perales">
              <organization/>
            </author>
            <author fullname="T. Fossati" initials="T." surname="Fossati">
              <organization/>
            </author>
            <date month="March" year="2020"/>
            <abstract>
              <t>Public key certificates need to be revoked when they are compromised, that is, when the associated private key is exposed to an unauthorized entity.  However, the revocation process is often unreliable. An alternative to revocation is issuing a sequence of certificates, each with a short validity period, and terminating the sequence upon compromise.  This memo proposes an Automated Certificate Management Environment (ACME) extension to enable the issuance of Short-Term, Automatically Renewed (STAR) X.509 certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8739"/>
          <seriesInfo name="DOI" value="10.17487/RFC8739"/>
        </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="I-D.richardson-anima-state-for-joinrouter" target="https://www.ietf.org/archive/id/draft-richardson-anima-state-for-joinrouter-03.txt">
          <front>
            <title>Considerations for stateful vs stateless join router in ANIMA bootstrap</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="22" month="September" year="2020"/>
            <abstract>
              <t>   This document explores a number of issues affecting the decision to
   use a stateful or stateless forwarding mechanism by the join router
   (aka join assistant) during the bootstrap process for ANIMA.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-richardson-anima-state-for-joinrouter-03"/>
        </reference>
        <reference anchor="RFC8555" target="https://www.rfc-editor.org/info/rfc8555">
          <front>
            <title>Automatic Certificate Management Environment (ACME)</title>
            <author fullname="R. Barnes" initials="R." surname="Barnes">
              <organization/>
            </author>
            <author fullname="J. Hoffman-Andrews" initials="J." surname="Hoffman-Andrews">
              <organization/>
            </author>
            <author fullname="D. McCarney" initials="D." surname="McCarney">
              <organization/>
            </author>
            <author fullname="J. Kasten" initials="J." surname="Kasten">
              <organization/>
            </author>
            <date month="March" year="2019"/>
            <abstract>
              <t>Public Key Infrastructure using X.509 (PKIX) certificates are used for a number of purposes, the most significant of which is the authentication of domain names.  Thus, certification authorities (CAs) in the Web PKI are trusted to verify that an applicant for a certificate legitimately represents the domain name(s) in the certificate.  As of this writing, this verification is done through a collection of ad hoc mechanisms.  This document describes a protocol that a CA and an applicant can use to automate the process of verification and certificate issuance.  The protocol also provides facilities for other certificate management functions, such as certificate revocation.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8555"/>
          <seriesInfo name="DOI" value="10.17487/RFC8555"/>
        </reference>
        <reference anchor="I-D.friel-acme-integrations" target="https://www.ietf.org/archive/id/draft-friel-acme-integrations-02.txt">
          <front>
            <title>ACME Integrations</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Rifaat Shekh-Yusef" initials="R." surname="Shekh-Yusef">
              <organization>Avaya</organization>
            </author>
            <date day="24" month="October" year="2019"/>
            <abstract>
              <t>   This document outlines multiple advanced use cases and integrations
   that ACME facilitates without any modifications or enhancements
   required to the base ACME specification.  The use cases include ACME
   integration with EST, BRSKI and TEAP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-friel-acme-integrations-02"/>
        </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" initials="R." surname="Moskowitz">
              <organization>HTT Consulting</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Liang Xia" initials="L." surname="Xia">
              <organization>Huawei</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="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="I-D.hallambaker-mesh-udf" target="https://www.ietf.org/archive/id/draft-hallambaker-mesh-udf-17.txt">
          <front>
            <title>Mathematical Mesh 3.0 Part II: Uniform Data Fingerprint.</title>
            <author fullname="Phillip Hallam-Baker" initials="P." surname="Hallam-Baker">
              <organization>ThresholdSecrets.com</organization>
            </author>
            <date day="23" month="October" year="2022"/>
            <abstract>
              <t>   This document describes the underlying naming and addressing schemes
   used in the Mathematical Mesh.  The means of generating Uniform Data
   Fingerprint (UDF) values and their presentation as text sequences and
   as URIs are described.

   A UDF consists of a binary sequence, the initial eight bits of which
   specify a type identifier code.  For convenience, UDFs are typically
   presented to the user in the form of a Base32 encoded string.  Type
   identifier codes have been selected so as to provide a useful
   mnemonic indicating their purpose when presented in Base32 encoding.

   Two categories of UDF are described.  Data UDFs provide a compact
   presentation of a fixed length binary data value in a format that is
   convenient for data entry.  A Data UDF may represent a cryptographic
   key, a nonce value or a share of a secret.  Fingerprint UDFs provide
   a compact presentation of a Message Digest or Message Authentication
   Code value.

   A Strong Internet Name (SIN) consists of a DNS name which contains at
   least one label that is a UDF fingerprint of a policy document
   controlling interpretation of the name.  SINs allow a direct trust
   model to be applied to achieve end-to-end security in existing
   Internet applications without the need for trusted third parties.

   UDFs may be presented as URIs to form either names or locators for
   use with the UDF location service.  An Encrypted Authenticated
   Resource Locator (EARL) is a UDF locator URI presenting a service
   from which an encrypted resource may be obtained and a symmetric key
   that may be used to decrypt the content.  EARLs may be presented on
   paper correspondence as a QR code to securely provide a machine-
   readable version of the same content.  This may be applied to
   automate processes such as invoicing or to provide accessibility
   services for the partially sighted.

   [Note to Readers]

   Discussion of this draft takes place on the MATHMESH mailing list
   (mathmesh@ietf.org), which is archived at
   https://mailarchive.ietf.org/arch/search/?email_list=mathmesh.

   This document is also available online at
   http://mathmesh.com/Documents/draft-hallambaker-mesh-udf.html.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-hallambaker-mesh-udf-17"/>
        </reference>
        <reference anchor="I-D.bdc-something-something-certificate" target="https://www.ietf.org/archive/id/draft-bdc-something-something-certificate-05.txt">
          <front>
            <title>Client-Cert HTTP Header: Conveying Client Certificate Information from TLS Terminating Reverse Proxies to Origin Server Applications</title>
            <author fullname="Brian Campbell" initials="B." surname="Campbell">
              <organization>Ping Identity</organization>
            </author>
            <date day="23" month="March" year="2021"/>
            <abstract>
              <t>   This document defines the HTTP header field "Client-Cert" that allows
   a TLS terminating reverse proxy to convey the client certificate of a
   mutually-authenticated TLS connection to the origin server in a
   common and predictable manner.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-bdc-something-something-certificate-05"/>
        </reference>
        <reference anchor="threetier" target="https://en.wikipedia.org/wiki/Multitier_architecture">
          <front>
            <title>Multitier architecture</title>
            <author>
              <organization>Wikipedia</organization>
            </author>
            <date year="2019" month="December"/>
          </front>
        </reference>
        <reference anchor="WebPKI" target="https://cabforum.org/wp-content/uploads/BRv1.2.2.pdf">
          <front>
            <title>CA/Browser Forum Baseline Requirements for the Issuance and Management of Publicly-Trusted Certificates, v.1.2.2</title>
            <author initials="" surname="CA/Browser Forum">
              <organization/>
            </author>
            <date year="2014" month="October"/>
          </front>
        </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 initials="" surname="IEEE Standard">
              <organization/>
            </author>
            <date year="2009"/>
          </front>
        </reference>
        <reference anchor="I-D.ietf-anima-constrained-join-proxy" target="https://www.ietf.org/archive/id/draft-ietf-anima-constrained-join-proxy-13.txt">
          <front>
            <title>Constrained Join Proxy for Bootstrapping Protocols</title>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Peter Van der Stok" initials="P." surname="Van der Stok">
              <organization>vanderstok consultancy</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>Cisco Systems</organization>
            </author>
            <date day="23" month="October" year="2022"/>
            <abstract>
              <t>   This document extends the work of Bootstrapping Remote Secure Key
   Infrastructures (BRSKI) by replacing the (stateful) TLS Circuit proxy
   between Pledge and Registrar with a stateless or stateful Circuit
   proxy using CoAP which is called the constrained Join Proxy.  The
   constrained Join Proxy is a mesh neighbor of the Pledge and can relay
   a DTLS session originating from a Pledge with only link-local
   addresses to a Registrar which is not a mesh neighbor of the Pledge.

   Like the BRSKI Circuit proxy, this constrained Join Proxy eliminates
   the need of Pledges to have routeable IP addresses before enrolment
   by utilizing link-local addresses.  Use of the constrained Join Proxy
   also eliminates the need of the Pledge to authenticate to the network
   or perform network-wide Registrar discover before enrolment.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-join-proxy-13"/>
        </reference>
        <reference anchor="RFC9031" target="https://www.rfc-editor.org/info/rfc9031">
          <front>
            <title>Constrained Join Protocol (CoJP) for 6TiSCH</title>
            <author fullname="M. Vučinić" initials="M." role="editor" surname="Vučinić">
              <organization/>
            </author>
            <author fullname="J. Simon" initials="J." surname="Simon">
              <organization/>
            </author>
            <author fullname="K. Pister" initials="K." surname="Pister">
              <organization/>
            </author>
            <author fullname="M. Richardson" initials="M." surname="Richardson">
              <organization/>
            </author>
            <date month="May" year="2021"/>
            <abstract>
              <t>This document describes the minimal framework required for a new device, called a "pledge", to securely join a 6TiSCH (IPv6 over the Time-Slotted Channel Hopping mode of IEEE 802.15.4) network. The framework requires that the pledge and the JRC (Join Registrar/Coordinator, a central entity), share a symmetric key. How this key is provisioned is out of scope of this document. Through a single CoAP (Constrained Application Protocol) request-response exchange secured by OSCORE (Object Security for Constrained RESTful Environments), the pledge requests admission into the network, and the JRC configures it with link-layer keying material and other parameters. The JRC may at any time update the parameters through another request-response exchange secured by OSCORE. This specification defines the Constrained Join Protocol and its CBOR (Concise Binary Object Representation) data structures, and it describes how to configure the rest of the 6TiSCH communication stack for this join process to occur in a secure manner. Additional security mechanisms may be added on top of this minimal framework.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9031"/>
          <seriesInfo name="DOI" value="10.17487/RFC9031"/>
        </reference>
        <reference anchor="I-D.selander-ace-ake-authz" target="https://www.ietf.org/archive/id/draft-selander-ace-ake-authz-05.txt">
          <front>
            <title>Lightweight Authorization for Authenticated Key Exchange.</title>
            <author fullname="Göran Selander" initials="G." surname="Selander">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="John Preuß Mattsson" initials="J. P." surname="Mattsson">
              <organization>Ericsson AB</organization>
            </author>
            <author fullname="Mališa Vučinić" initials="M." surname="Vučinić">
              <organization>INRIA</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Aurelio Schellenbaum" initials="A." surname="Schellenbaum">
              <organization>Institute of Embedded Systems, ZHAW</organization>
            </author>
            <date day="18" month="April" year="2022"/>
            <abstract>
              <t>   This document describes a procedure for augmenting the lightweight
   authenticated Diffie-Hellman key exchange protocol EDHOC with third
   party assisted authorization, targeting constrained IoT deployments
   (RFC 7228).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-selander-ace-ake-authz-05"/>
        </reference>
        <reference anchor="I-D.ietf-anima-brski-cloud" target="https://www.ietf.org/archive/id/draft-ietf-anima-brski-cloud-04.txt">
          <front>
            <title>BRSKI Cloud Registrar</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Rifaat Shekh-Yusef" initials="R." surname="Shekh-Yusef">
              <organization>Auth0</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="24" month="May" year="2022"/>
            <abstract>
              <t>   This document specifies the behavior 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-ietf-anima-brski-cloud-04"/>
        </reference>
        <reference anchor="I-D.ietf-acme-integrations" target="https://www.ietf.org/archive/id/draft-ietf-acme-integrations-10.txt">
          <front>
            <title>ACME Integrations</title>
            <author fullname="Owen Friel" initials="O." surname="Friel">
              <organization>Cisco</organization>
            </author>
            <author fullname="Richard Barnes" initials="R." surname="Barnes">
              <organization>Cisco</organization>
            </author>
            <author fullname="Rifaat Shekh-Yusef" initials="R." surname="Shekh-Yusef">
              <organization>Auth0</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <date day="30" month="September" year="2022"/>
            <abstract>
              <t>   This document outlines multiple advanced use cases and integrations
   that ACME facilitates without any modifications or enhancements
   required to the base ACME specification.  The use cases include ACME
   integration with EST, BRSKI and TEAP.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-acme-integrations-10"/>
        </reference>
      </references>
    </references>
  </back>
  <!-- ##markdown-source:
H4sIAElOaWMAA71963LbSJbmfzwFWv5hKYakfO8qzfZusyR5Sl3WZSS5qzti
YjtAMClmCQQ4SFA0y/Y+yz7LPNmca15A0lWzu7Hq6LJEAonMkyfP9TsHw+Ew
62xXmZP8emnaorNNXVT5aVM7O5W/XT5r2vyH27ufLvJb82Bd1xZtVkwmrXk6
CZ/0bsqmTVkXCxh42hazbtjacl60U9fUw6K2i2LY6o3DMrlx+OJdlrmuqKf/
KKqmhgG6dmWyzC5b+tV1r168+P7Fq6xoTXGSX9SdaWvTZY/r8MfwDJ+ZlUV3
kk/KZZYt7UkOP8/ysqjzlTN50bbFJj+0s7yoqnxj3FEOi5wXbp7PTWuyPO+a
8gS/gF9d03atmbkTGmJqZsWq6hxcod9vFvw1/pkVq27etCdZlg1zW8Onl6P8
1q8eLmeyXOJHpkq/atqHk/wO1m6qBcz0rpl1a1hn/nPTPuKTzKKw1Um+KNt/
sqab/dnppaOy8M/7eZTfFOFBPxsrf9PoP66KNXxyb8p53VTNgzXRwGtbVbZY
jJZFDRf9eU7XjspmkWV10y5gh57MCVx++/70u5d/fKO/fv/92xPmEP/Bm5N8
fHoDf14Mz0Y4V9l23GzYdVub6fCpWZVAbR3l9bt3QDVbz/pP+uPr7+XXP754
/eJEBt3iKGCazgzh7uEvja3bZtWFsd++fav3zVprqmFRLszQAr88CN/p14vG
PTZr2/06NOXUFcPlo9Wv5sArxWJSPJp2uDBuPlxNZ/rdZFoOXbMw3dzWD9Fv
pWk7O7PAirScbt4a01meGPxZtA8GmPRg3nVLd3J8bOrR2j7apZnaYgT7dYx/
HV8Cv1m86x9FW85tZ8pu1ZoDHoKP74G/Jt++Rlkypx9ig4Of9TF8yRQnmB+c
mdIsJjDIqxcvvz/I4KufzeTmp4s90y2LCdB7teCpLnF3O1N3x6tl1RRTd/zD
7dPL0Sv433I62zUV4teD0/HxD22zdvDY9zhaurD+t/kPhTMVMBDInn9f2dYs
4IkspLq5yS+cWxV1CUe8nuaXRV080AV5M8tvVpPKltVmeI9ixEzz07A5bpA/
jWiuCT2uy64RcrwhclhjzHcvXg1fjm930ARIQqIL+XKElxJhZraeug7Iod8d
wwgjGGGIomw07xZVuuSL8/PzXK7J70wJG5mfmScLq7qYwmJgzqbdT0+6/U6e
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

-->

</rfc>
