<?xml version="1.0" encoding="utf-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.36 (Ruby 3.1.3) -->


<!DOCTYPE rfc  [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">

]>

<?rfc compact="yes"?>
<?rfc iprnotified="no"?>
<?rfc strict="yes"?>

<rfc ipr="trust200902" docName="draft-eckert-anima-brski-discovery-00" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true">
  <front>
    <title abbrev="BRSKI-discovery">Discovery for BRSKI variations</title>

    <author initials="T." surname="Eckert" fullname="Toerless Eckert" role="editor">
      <organization abbrev="Futurewei">Futurewei USA</organization>
      <address>
        <postal>
          <country>USA</country>
        </postal>
        <email>tte@cs.fau.de</email>
      </address>
    </author>

    <date year="2023"/>

    <area>Operations and Management</area>
    <workgroup>ANIMA</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<?line 58?>

<t>This document specifies how BRSKI entities, such as registrars, proxies, pledges or others
that are acting as responders, can be discovered and selected by BRSKI entities acting as initiators.</t>



    </abstract>



  </front>

  <middle>


<?line 63?>

<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>This document relies on the terminology defined in <xref target="BRSKI"/>.  The following terms are described partly in addition.</t>

<dl>
  <dt>Context:</dt>
  <dd>
    <t>See Variation Context.</t>
  </dd>
  <dt>Initiator:</dt>
  <dd>
    <t>A host that is using an IP transport protocol to initiate a connection or transaction to another host called the responder.</t>
  </dd>
  <dt>Initiator socket:</dt>
  <dd>
    <t>A socket consisting of an initiators IP or IPv6 address, protocol and protocol port number from which it
initiates connections or transactions to a responder (typically UDP or TCP).</t>
  </dd>
  <dt>Objective Name:</dt>
  <dd>
    <t>See Service Name.</t>
  </dd>
  <dt>Resource Type:</dt>
  <dd>
    <t>See Service Name.</t>
  </dd>
  <dt>Responder:</dt>
  <dd>
    <t>A host that is using an IP transport protocol to respond to transaction or connection requests from an Initiator.</t>
  </dd>
  <dt>Responder socket:</dt>
  <dd>
    <t>A socket consisting of a responders IP or IPv6 address, protocol and protocol port 
number on which it responds to requests of the protocol (typically UDP or TCP).</t>
  </dd>
  <dt>Role:</dt>
  <dd>
    <t>In the context of this document, a type of entity in a variation of BRSKI that can act as a responder and whose supported variations can be discovered. BRSKI roles relevant in this document include Join Registrar, Join Proxy and Pledge. The IANA registry defined by this document allows to specify variations for any roles. See also Variation Context.</t>
  </dd>
  <dt>Socket:</dt>
  <dd>
    <t>The combination of am  IP or IPv6 address, an IP protocol that utilizes a port number (such as TCP or UDP) and a port number of that protocol.</t>
  </dd>
  <dt>Service Name:</dt>
  <dd>
    <t>The name for (a subset of) the functionality/API provided by a discoverable responder socket. This term is inherited from <xref target="DNS-SD"/> but unless otherwise specified also used in this document to apply to any other discovery functionality/API. The terminology used by other mechanisms typically differs. For example, when <xref target="GRASP"/> is used to discover a responder socket for BRSKI, the Objective Name carries the equivalent to the service name. In <xref target="CORE-LF"/>, the Resource Type (rt=) carries the equivalent of the service name.</t>
  </dd>
  <dt>Type:</dt>
  <dd>
    <t>See Variation Type.</t>
  </dd>
  <dt>Variation:</dt>
  <dd>
    <t>A combination one one variation choice each for every variation type applicable to the variation context of one discoverable BRSKI communications.
For example, in the context of BRSKI, a variation is one choice for "mode", one choice for "enroll" and once choice for "vformat".</t>
  </dd>
  <dt>Variation Context:</dt>
  <dd>
    <t>A set of Services for whom the same set of variations applies</t>
  </dd>
  <dt>Variation Type:</dt>
  <dd>
    <t>The name for one aspect of a protocol for which two or more choices exist (or may exist in the future), and where the choice 
can technically be combined orthogonal to other variation types. This document defined the BRSKI variation types "mode", "enroll" and "vformat".</t>
  </dd>
  <dt>Variation Type Choice:</dt>
  <dd>
    <t>The name for different values that a particular variation type may have.
For example, this document does defines the choices "rrm" and "prm" for the BRSKI variation "mode".</t>
  </dd>
  <dt anchor="ACP">ACP:</dt>
  <dd>
    <t>"An Autonomic Control Plane", <xref target="RFC8994"/>.</t>
  </dd>
  <dt anchor="BRSKI">BRSKI:</dt>
  <dd>
    <t>"Bootstrapping Remote Secure Key Infrastructure", <xref target="RFC8995"/></t>
  </dd>
  <dt anchor="BRSKI-AE">BRSKI-AE:</dt>
  <dd>
    <t>"Alternative Enrollment Protocols in <xref target="BRSKI"/>", <xref target="I-D.ietf-anima-brski-ae"/></t>
  </dd>
  <dt anchor="BRSKI-PRM">BRSKI-PRM:</dt>
  <dd>
    <t>"<xref target="BRSKI"/> with Pledge in Responder Mode", <xref target="I-D.ietf-anima-brski-prm"/></t>
  </dd>
  <dt anchor="cBRSKI">cBRSKI:</dt>
  <dd>
    <t>"Constrained Bootstrapping Remote Secure Key Infrastructure (<xref target="BRSKI"/>)", <xref target="I-D.ietf-anima-constrained-voucher"/></t>
  </dd>
  <dt anchor="COAP">COAP:</dt>
  <dd>
    <t>"The Constrained Application Protocol (CoAP)", <xref target="RFC7252"/></t>
  </dd>
  <dt anchor="CORE-LF">CORE-LF:</dt>
  <dd>
    <t>"Constrained RESTful Environments (CoRE) Link Format", <xref target="RFC6690"/>.</t>
  </dd>
  <dt anchor="cPROXY">cPROXY:</dt>
  <dd>
    <t>"Constrained Join Proxy for Bootstrapping Protocols", <xref target="I-D.ietf-anima-constrained-join-proxy"/></t>
  </dd>
  <dt anchor="DNS-SD">DNS-SD:</dt>
  <dd>
    <t>"DNS-Based Service Discovery", <xref target="RFC6763"/>.</t>
  </dd>
  <dt anchor="EST">EST:</dt>
  <dd>
    <t>"Enrollment over Secure Transport", <xref target="RFC7030"/></t>
  </dd>
  <dt anchor="GRASP">GRASP:</dt>
  <dd>
    <t>"GeneRic Autonomic Signaling Protocol", <xref target="RFC8990"/>.</t>
  </dd>
  <dt anchor="GRASP-DNSSD">GRASP-DNSSD:</dt>
  <dd>
    <t>"DNS-SD Compatible Service Discovery in GeneRic Autonomic Signaling Protocol (GRASP)", <xref target="I-D.eckert-anima-grasp-dnssd"/></t>
  </dd>
  <dt anchor="JWS-VOUCHER">JWS-VOUCHER:</dt>
  <dd>
    <t>"JWS signed Voucher Artifacts for Bootstrapping Protocols", <xref target="I-D.ietf-anima-jws-voucher"/></t>
  </dd>
  <dt anchor="lwCMP">lwCMP:</dt>
  <dd>
    <t>"Lightweight Certificate Management Protocol (CMP) Profile", <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/></t>
  </dd>
  <dt anchor="SCEP">SCEP:</dt>
  <dd>
    <t>"Simple Certificate Enrolment Protocol", <xref target="RFC8894"/></t>
  </dd>
</dl>

</section>
<section anchor="overview"><name>Overview</name>

<t>The mechanisms described in this document are intended to help solve the following challenges.</t>

<t>Signaling BRSKI variation for responder selection.</t>

<t>When an initiator such as a proxy or pledge uses a mechanism such as
<xref target="DNS-SD"/> to discover an instance of a role it intends to connect to, such
as a registrar, it may discover more than one such instance. In the presence
of variations of the BRSKI mechanisms that impact interoperability, performance
or security, not all discovered instances may support exactly what the initiator needs to achieve
interoperability and/or best performance, security or other metrics. In this case, the service
announcement mechanism needs to carry the necessary additional information beside the name that
indicates the service to aid the initiator in
selecting an instance that it can interoperate and achieve best performance with.</t>

<t>Easier use of additional discovery mechanisms.</t>

<t>In the presence of different discovery mechanisms, such as <xref target="DNS-SD"/>, <xref target="GRASP"/>,
<xref target="CORE-LF"/> or others, the details of how to apply each of these mechanisms are usually
specified individually for each mechanism, easily resulting in inconsistencies. Deriving
as much as possible the details of discovery from a common specification and registries
can reduce such inconsistencies and easy introduction of additional discovery mechansisms.</t>

<t>Generalization of principles related to discovery and operation of proxies.</t>

<t>Because of the unified approach to discovery of BRSKI Variations described in this document,
it also allows to use <xref target="DNS-SD"/> for document for <xref target="cBRSKI"/> and <xref target="cPROXY"/>, which may be
of interest in networks such as Thread, which use <xref target="DNS-SD"/>.</t>

</section>
<section anchor="specification"><name>Specification</name>

<section anchor="abstracted-brski-discovery-and-selection"><name>Abstracted BRSKI discovery and selection</name>

<t>In the abstract model of discovery used by this document and intended to apply to all described discoverymechanisms, an entity operating as an initiator of a transport
connection for a particular BRSKI protocol role, such as a pledge, discovers one or more responder sockets
(IP/IPv6-address, responder-port, IP-protocol) of entities acting as responders for the peer BRSKI role, such
as registrar. The initiator uses some discovery mechanism such as <xref target="DNS-SD"/>, <xref target="GRASP"/> or <xref target="CORE-LF"/>. In the
the initiator looks for a particular combination of a Service Name and an IP-protocol, and in return learns
about responder sockets from one or more responders that use this IP-protocol and serve the requested Service Name
type service across it. It also learns the BRSKI variation(s) supported on the socket.</t>

<t>Service Name is the name of the protocol element used in <xref target="DNS-SD"/>, unless explicitly specified, it is used
as a placeholder for the equivalent protocol elements in other discovery mechanisms. In <xref target="GRASP"/>, it is called
objective-name, in <xref target="CORE-LF"/> it is called Resource Type.</t>

<t>Upon discovery of the available sockets, the initiator selects one, whose supported variation(s) best match
the expectations of the initiator, including performance, security or other praeferences. Selection may also
include attempting to establish a connection to the responder socket, and upon connection failure
to attempt connecting to the next best responder socket. This is for example necessary when discovery
information may not be updated in real-time, and the best responder has gone offline.</t>

</section>
<section anchor="variation-contexts"><name>Variation Contexts</name>

<t>A Variation Context is a set of (Discover Mechanism, Service Names, IP-protocols) across which this document
and the registry of variations defines a common set of variations. The initial registry defined in this
document defines two variation contexts.</t>

<dl>
  <dt>BRSKI context:</dt>
  <dd>
    <t>context for discovery of BRSKI registrar and proxy variations by proxies, pledges or agents
(as defined in <xref target="BRSKI-PRM"/>) via the Service Names defined for <xref target="DNS-SD"/> and <xref target="GRASP"/> via
TCP and hence (by default) TLS (version 1.2 or higher according to <xref target="BRSKI"/>).</t>
  </dd>
  <dt>cBRSKI context (constrained BRSKI):</dt>
  <dd>
    <t>context for discovery of BRSKI registrar and proxy variations by proxies, pledges 
via the Service Names defined for <xref target="DNS-SD"/>, <xref target="GRASP"/> and <xref target="CORE-LF"/> via UDP, and hence (by default) secure COAP.</t>
  </dd>
</dl>

<t>Note that the Service Names for cBRSKI include the same <xref target="DNS-SD"/> Service Names as for the BRSKI context,
hence enabling the use of <xref target="DNS-SD"/> with cBRSKI.</t>

<t>This document does not define variations for different end-to-end ecnryption mechanisms, so
only the "(by default)" options exist at the time of writing this document. However, the mechanisms described here
can also be used to introduce backward incompatible new secure transport options. For example when responders start
to support only TLS 1.3 or higher in the presence of TLS 1.2 only initiators, then new variations can be added,
such that those initiators will not select those responders.</t>

<t>This document does not introduce variation contexts for discovery of other BRSKI roles, such as discovery
of pledges by agents (as defined in <xref target="BRSKI-PRM"/>), or discovery of MASA by registrars. However, the registry
introduced by this document is defined such that it can be extended by such additional contexts through future
documents.</t>

</section>
<section anchor="variation-types-and-choices"><name>Variation Types and Choices</name>

<t>A Variation Type is a variation in one aspect of the BRSKI connection between initiator and responder that ideally
orthogonal from variations in other aspects of the BRSKI connection.</t>

<t>A Variation Type Choice is one alternative (aka: value) for its Variation Type.</t>

<t>This document, and the initial registry documenting the variation types introduces three variation types as follows:</t>

<dl>
  <dt>mode:</dt>
  <dd>
    <t>A variation in the basic sequence of URI endpoints communicated. This document introduces the choices of
"rrm" to indicate the endpoints and sequence as defined in <xref target="BRSKI"/> and "prm" to indicate the nedpoints and sequence
as defined in <xref target="BRSKI-PRM"/>. Note that registrars also act as responders in "prm". "rrm" was choosen because the
more logical "pim" (pledge initiator mode) term was feared to cause confusion with other technologies that use that term.</t>
  </dd>
  <dt>vformat (voucher format):</dt>
  <dd>
    <t>A variation in the encoding format of the voucher communicated between registrar and pledge. This document introduces
the choices "cms" as defined in <xref target="BRSKI"/>, "cose" as defined in <xref target="cBRSKI"/> and "jose" as defined in <xref target="JWS-VOUCHER"/>.</t>
  </dd>
  <dt>enroll:</dt>
  <dd>
    <t>A variation in the URI endpoints used for enrollment of the pledge with keying material (trust anchors and certificate (chain)).
This document introduces the choices "est" as introduced by <xref target="BRSKI"/> (to indicate the <xref target="EST"/> protocol)
and "cmp" to indicate the lightweight CMP profile (<xref target="lwCMP"/>) introduced by <xref target="BRSKI-AE"/>. It also reserved the choice
"scep" to indicate <xref target="SCEP"/>. This is only a reservation, because no specification for the use of <xref target="SCEP"/> with BRSKI exist.</t>
  </dd>
</dl>

</section>
<section anchor="variations"><name>Variations</name>

<t>A Variation is the combination of one Choice each for every Variation Type applicable to the Variation Context.
In other words, a variation is a possible instance of BRSKI if supported by initiator and responder. In <xref target="BRSKI"/>,
the default variation is "registrar responder mode" (rrm) and use of the "cms voucher format" (cms).</t>

</section>
<section anchor="brski-variations-discovery-registry"><name>BRSKI Variations Discovery Registry</name>

<t>The IANA "BRSKI Variations Registry" as specified by this document, see <xref target="registry"/> specifies the
defined parameters for discovery of BRSKI variations.</t>

<section anchor="brski-variation-contexts-table"><name>BRSKI Variation Contexts table</name>

<t>This  table (<xref target="fig-contexts"/>, defines the BRSKI Variations Contexts.</t>

<t>The "Applicable Variation Types" lists the Variation Types from whose choices a Variation for this
context is formed. The "Service Name(s)" colum lists the discovery mechanisms and their Service Name(s)
that constitute the context.</t>

</section>
<section anchor="brski-variation-type-choices-table"><name>BRSKI Variation Type Choices table</name>

<t>This table (<xref target="fig-choices"/>) defines the Variations Type Choices.</t>

<t>The "Context" column lists the BRSKI Variation Context(s) to which this line applies. If it is empty, then the same
Context(s) apply as that of the last prior line with a non-empty Context column.</t>

<t>The "Variation Type" column lists the BRSKi Variation Type to which this line applies. If it is empty, then the
same Variation Type applies as that of the last prior line with a non-empty Variation Type column.
Variation Types <bcp14>MUST</bcp14> the listed in the order in which the Variation Types are listed in the Applicable Variation Types
column of the BRSKI Variation Contexts table.</t>

<t>The "Variation Type Choice" column defines a Variation Type Choice term within the Context(s) of the line.
To allow the most flexible encodings of variations, all Variation Types and Variation Type Choices <bcp14>MUST</bcp14> be unique strings (across all Variation Types).
This allows to encode Variation Type Choices in a discovery mechanism without indicating their Variation Type. Variation Types
and Variation Type Choices and <bcp14>MUST</bcp14> be strings from lowercase letters a-z and digits 0-9 and <bcp14>MUST</bcp14> start with a letter. The
maximum length of a Variation Type Choice is 12 characters.</t>

<t>The "Reference" column specifies the documents which describe the Variation Type Choice. Relevant specification
includes those that only specify the semantics without referring to the aspects of discovery and/or those
that specify only the Discovery aspects. Current RFCs for BRSKI variations preceeding this RFC typically
only specify the semantics, and this document adds the discovery aspects.</t>

<t>The "Dflt" Flag specifies a Variation Type Choice that is assumed to be the default Choice for the Context,
such as "rrm" for the BRSKI context. Such a Variation Type Choice is to be assumed to be supported in discovery
if discovery is performed without indication of any or an empty signalling element to carry the Variation or
Variation Choices. For example, <xref target="BRSKI"/> specifies the empty string "" as the objective-value in <xref target="GRASP"/>
discovery. Because "rrm", "est" and "cms" are default in the BRSKI context, this Discovery signalling
indicates the support for those Variation Type Choices.</t>

<t>The "Dflt<em>" Flag specifies a Variation Type Choice that is only default in a subset of Discovery options in a
context. The Note(s) column has then to explain which subset this is. Like for "Dflt", the signalling in
this subset of Discovery options can then forego indication of the "Dflt</em>" Variation Type Choice.</t>

<t>The "Rsvd" Flag specifies a Variation Type Choice for which no complete specification exist on how to use it
within BRSKI (or more specifically the context), but which is known to be of potential interest. "Rsvd"
Variation Type Choices <bcp14>MUST NOT</bcp14> be considered for the  Discoverable Variations table. They are documented
primarily to reserve the Variation Type Choice term.</t>

<t>The Note(s) section expands the Variation Type Choice terms and provides additional beneficial specification
references beyond the "Reference" column.</t>

</section>
<section anchor="variation"><name>BRSKI Discoverable Variations table</name>

<t>This table <xref target="fig-variations"/> enumerates the Discoverable Variations and categorizes them.</t>

<t>The "Context" column lists the BRSKI Variation Context(s) to which this line applies. If it is empty, then the same
Context(s) apply as that of the last prior line with a non-empty Context column.</t>

<t>The "Spec / Applicability" lists the document(s) that specify the variation, if the variation is
explicitly described. If the variation is not described explicitly, but rather a combination of
Variation Type Choices from more than one BRSKI related specification, then this column will
indicate "-" if by expert opinion it is assumed that this variation should work, or "NA", if
by expert opinion, this variation could not work. The "Explanations" column includes references
to the relevant documents and as necessary additional explanation.</t>

<t>The "Variation" colum lists the Variation Type Choices that form the Variation. The Variation Type Choices
<bcp14>MUST</bcp14> be listed in the order in which the Variation Types are listed in the Applicable Variation Types
column of the BRSKI Variation Contexts table.</t>

<t>The "Variation String" column has the string term used to indicate the variation when using the
simple encoding of BRSKI Variation Discovery for GRASP as described in <xref target="grasp"/>. It is formed by
concatenating the Choices term from the Variation colum with the "-" character, excluding those
Choices terms (and "-" concatenator) which are Default for the Context. If this procedure ends
up with the empty string, then this is indicated as "" in the column.</t>

<t>The "Explanations" column explains the "Spec / Applicability" status of the Variation.</t>

</section>
<section anchor="extending-or-modifying-the-registry"><name>Extending or modifying the registry</name>

<t>Unless otherwise specified below, extension or changes to the registry require standards action.</t>

<t>Additional Variation Type Choices and Variation Context discovery mechanism Service Names including
additional discovery mechanisms require (only) specification and expert review if they refer to non standard action
protocols and/or protocol variation aspects. For example, a specification how to use <xref target="SCEP"/> with BRSKI would
fall under this clause as it is an informational RFC.</t>

<t>Non standards action Variation Type Choices can not be Default(Dflt). They can only be Dflt* for non standards action
(sub)Contexts.</t>

<t>Reservation of additional Variation Type Choices requires (only) expert review.</t>

<t>Additional Contexts <bcp14>MUST</bcp14> be added at the end of the BRSKI Variation Contexts table.</t>

<t>Additional Variation Types <bcp14>MUST</bcp14> be added at the end of the Applicable Variation Types column of the
BRSKI Variation Contexts table and at the end of existing lines for the Context in the 
BRSKI Variation Type Choices. Additional Variation Types <bcp14>MUST</bcp14> be introduced with a Default (Dflt) 
Variation Type Choice. These rules ensures that the rule to create the Variation String for GRASP
(and as desired by othrer discovery mechanism), and it also enables to add new Variation Type and Choices
wthout changing pre-existing Variation Strings: Any Variations String implicitly include the Default Choice for
any future Variation Types.</t>

<t>When a new Variation Type is added, their Default Choice <bcp14>SHOULD</bcp14> be added to the Variation Column of existing
applicable lines in the BRSKI Discoverable Variations table. Variations that include new non-Default 
Variation Type Choices <bcp14>SHOULD</bcp14> be added at the end of the existing lines for the Context.</t>

</section>
</section>
<section anchor="brski-join-proxies-support-for-variations"><name>BRSKI Join Proxies support for Variations</name>

<section anchor="permissible-variations"><name>Permissible Variations</name>

<t>Variations according to the terminology of this document are those that do not require changes to BRSKI join proxy operations,
but that can transparently pass across existing join proxies without changes to them - as long as they support the rules
outlined in this document.</t>

<t>Different choices for e.g.: pledge to registrar encryption mechanisms, voucher format (vformat), use of different URI endpoints or enrolment
protocol endpoints (mode) are all transparent to join proxies, and hence join proxies can not only support existing, well-defined
Choices of these Variation Types, but without changes to the proxies also future ones - and only those are permitted to become
Variation Type Choices.</t>

<t>Changes to the BRSKI mechanism that do require additional changes to join proxies are not considered Variations
according to this document and <bcp14>MUST NOT</bcp14> use the same discovery protocol signaling elements as those defined for variations
by this document. Instead, they <bcp14>SHOULD</bcp14> use different combinations of Service Name and Protocol (e.g.: TCP vs. UDP).</t>

<t>For example, the stateless join proxy mode defined by <xref target="cPROXY"/> is such a mechanism that requires explicit
join proxy support. Therefore, registrars sockets that support circuit proxy mode use the GRASP objective "AN_join_registrar",
and registrar sockets that support stateless join proxy mode use the GRASP objective "AN_join_registrar_rjp". This
enables join proxies to select the registrar and socket according to what the join proxy supports and prefers. By
not using the same signaling element(s) for variations, join proxies can support discovery of all variations
independent of their support for stateless join proxy operations.</t>

</section>
<section anchor="proxy"><name>Join Proxy support for Variations</name>

<t>Join proxies supporting the mechanisms of this document <bcp14>MUST</bcp14> signal for each socket they announce to initiators via a discovery
mechanism the Variation(s) supported on the socket. These Variation(s) <bcp14>MUST</bcp14> all be supported by the registrar that the join
proxy then uses for the connection from the initiator (e.g.: pledge). Pledges <bcp14>SHOULD</bcp14> announce sockets to initiators so that
all Variations that are supported by registrars that the join proxy can interoperate with are also available to the initiators
connecting to the join proxy.</t>

<t>To meet these requirements, join proxies can employ different implementation option. In the most simple one, a join proxy
allocates a separate responder socket for every Variation for which it discovers one or more registrars supporting
this Variation. It then announces that socket with only that one Variation in the discovery mechanism, even if the Registrar(s) are all
announcing their socket with multiple Variations. When the join proxy operates in circuit mode, it can then
select one of the registrars supporting the variation for every new initiator connection based on policies
as specified by BRSKi specifications and/or discovery parameters, such as priority and weight when <xref target="DNS-SD"/> is used,
and redundant registrars include those parameters.</t>

<t>TBD: insert example of received Registrar annoncement and created proxy announcement ??</t>

<t>Join proxies <bcp14>MAY</bcp14> reduce the number of sockets announced to initiators by using a single socket for all Variations for
which they have the same set of registrar sockets supporting those Variations. This primarily helps to reduce the size
of the discovery messages to initiators and can save socket resources on the join proxy.</t>

<t>Join proxies <bcp14>MAY</bcp14> create multiple sockets in support of other discovery options, even for the same Variation(s).
For example, if <xref target="DNS-SD"/> is used by two registrars, both announcing the same priority but different weights, then 
the join proxy may create a separate socket for each of these registrars - and their variations, so that the join proxy can equally announce the same
priority and weight for both sockets to initiators. This allows to maintain the desired weights of use of registrars,
even when the join proxy operates in stateless mode, in which it can not select a separate registrar for every 
client initiating a connection.</t>

</section>
<section anchor="colo"><name>Co-location of Proxy and Registrar</name>

<t>In networks using <xref target="BRSKI"/> and <xref target="ACP"/>, registrars must have a co-located
proxy, because pledges can only use single-hop discovery (DULL-GRASP) and will only discover
proxies, but not registrar. Such a co-located proxy does not constitute additional processing/code
on a registrar supporting circuit mode, it simply implies that the registrars BRSKI services(s) are
announced with a proxy Service Name, to support pledges, and the  registrar service name, to
support join proxies.</t>

<t>To ease consistency of deployment models in the face of different discovery mechanisms, Variations and
non-Variation enhancements to BRSKI, it is <bcp14>RECOMMENDED</bcp14> that all future options to BRSKI do always have
a Service Name for proxies and a separate Service Name in support of pledge or other initiators. Pledges
and other initiators <bcp14>SHOULD</bcp14> always only look for the proxy Service Name, and only Proxies should look
for a registrar Service Name. Registrars therefore <bcp14>SHOULD</bcp14> always include the proxy functionaliy according
to the prior paragraph. This only involves additional code on the registrar beyond the service announcement
in case the Registrar would otherwise not implement circuit mode.</t>

</section>
</section>
<section anchor="variation-encoding-rules-for-discovery-mechanisms"><name>Variation encoding rules for discovery mechanisms</name>

<section anchor="dns-sd"><name>DNS-SD</name>

<t>Currently defined Variation Type Choices are encoded as <xref target="DNS-SD"/> Keys with a value of 1 in the DNS-SD service instances TXT Record.
This is possible because all Variation Type Choices are required to be unique across all Variation Types. It also allows to shorten
the encoding from "key=1" to just "key" for every Variation Type Choice, so that the TXT-DATA encoding can be more compact.</t>

<t>If the TXT Record does not contain a Variation Type Choice for a particular applicable Variation Type, then this indicates
support for the Default Choice of this Variation Type in the context of the DNS-SD Service Name. For example, if the TXT
Record is "jose", then this indicates support for "rrm" and "est", if the Service Name is brski-registrar or brski-proxy and the
protocol is TCP (BRSKI Context), but also when the protocol is UDP (cBRSKI context), because "rrm" and "est" are defaults
in both contexts.</t>

<t>If multiple Variation Type Choices for the same Variation Type are indicated, then this implies
that either of these Variation Type Choices is supported in conjunction with any of the othrer
Variation Type Choices in the same TXT Record. For example, if the TXT Record is "prm" "rrm" "cms" "jose", then
this implies support for rrm-cms-est, rrm-jose-est, prm-cms-est and prm-jose-est. This example also shows
that if the default Variation Type Choice, such as "rrm" and another Choice of the same Variation Type ("prm") are to
be indicated as supported, then both need to be included in the TXT Record.</t>

<t>In <xref target="DNS-SD"/>, a responder does not only indicate a Service Name, but also its Service Instance Name. This specification
makes no recommendation for choosing the Instance portion of that name. Usually it is the same, or derived from some form
of system name. If the responder needs to indicate different sockets for differernt (set of) Variations, for example,
when operating as a proxy, according to <xref target="proxy"/>, then it needs to signal for each socket a separate Service Instance Name
with the appropriate port information in its SRV Record and the supported Variations for that socket in the TXT Record of that
Service Instance Name. In this case, it is <bcp14>RECOMMENDED</bcp14> that the Instance Name includes the Variation it supports,
such as in the format specified in <xref target="variation"/> and used in the Variation String column of the <xref target="fig-variations"/> table.</t>

<t>TBD: Add an example for DNS-SD.</t>

</section>
<section anchor="grasp"><name>GRASP</name>

<t>To announce protocol variations with <xref target="GRASP"/>, the supported Variation is indicated in the 
objective-value field of the GRASP objective, using the method of forming the Variation string term
in <xref target="variation"/>, and listed in the Variation String column of the <xref target="fig-variations"/> table.</t>

<t>If more than one Variation is supported, then multiple objectives have to be announced, each with
a different objective-value, but the same location information if the different Variations are
supported across the same socket. Different sockets require different objective structures in GRASP anyhow.</t>

<t>Compared to DNS-SD, the choice of encoding for GRASP optimizes for minimum parsing effort, whereas
the DNS-SD encoding is optimized for most compact encoding given the limit for DNS-SD TXT records.</t>

<figure title="GRASP example for a BRSKI registrar supporting RRM and PRM" anchor="grasp-example-1"><artwork><![CDATA[
[M_FLOOD, 12340815, h'fe800000000000000000000000000001', 180000,
    [["AN_Proxy", 4, 1, "",
     [O_IPv6_LOCATOR,
     h'fe800000000000000000000000000001', IPPROTO_TCP, 4443]
     ["AN_Proxy", 4, 1, "prm",
     [O_IPv6_LOCATOR,
     h'fe800000000000000000000000000001', IPPROTO_TCP, 4443]]
]
]]></artwork></figure>

<t><xref target="grasp-example-1"/> is an example for a GRASP service announcement for "AN_Proxy" in support of BRSKI
with both "rrm" and "prm" supported on the same socket.</t>

</section>
<section anchor="core-lf"><name>CORE-LF</name>

<t>TBD</t>

</section>
</section>
</section>
<section anchor="iana-considerations"><name>IANA considerations</name>

<section anchor="registry"><name>BRSKI Variations Discovery Registry (section)</name>

<t>This document requests a new section named "BRSKI Variations Discovery Parameters"
in the "Bootstrapping Remote Secure Key Infrastructures (BRSKI) Parameters"
registry (https://www.iana.org/assignments/brski-parameters/brski-parameters.xhtml).
Its initial content is as follows.</t>

<t>[ RFC editor. Please remove the following sentence.
Note: This section contains three tables according to the specifications of this document.
If it is not possible to introduce more than one table per section, then we will modify the request
accordingly for thee sections, but given how the three tables are tighly linked, that would be unfortunate. ]</t>

<t>Registration Procedure(s):
  Standards action or expert review based on registration.  See ThisRFC.</t>

<t>Experts:
  TBD.</t>

<t>Reference:
  ThisRFC.</t>

<t>Notes:</t>

<dl>
  <dt>Dflt flag:</dt>
  <dd>
    <t>Indicates a Variation Type Choice that is assumed to be used if the service discover/selection mechanism does not indicate any variation.</t>
  </dd>
  <dt>Rsvd Flag:</dt>
  <dd>
    <t>Indicates a Variation Type Choice that is reserved for use with the mechanism described in the Note(s) column, but for which no specification yet exists.</t>
  </dd>
  <dt>Spec / Applicability:</dt>
  <dd>
    <t>A "-" indicates that the variation is considered to be feasible through existing specifications, but not explicitly mentioned in them.
An "NA" indicates that the combination is assumed to be not working with the currently available specifications.</t>
  </dd>
</dl>

<texttable title="BRSKI Variation Contexts" anchor="fig-contexts">
      <ttcol align='left'>Context</ttcol>
      <ttcol align='left'>Applicable Variation Types</ttcol>
      <ttcol align='left'>Service Name(s)</ttcol>
      <c>BRSKI</c>
      <c>mode<br />vformat<br />enroll</c>
      <c>GRASP:  "AN_join_registrar" / "AN_Proxy" with IPPROTO_TCP<br />DNS-SD: "brski-registrar" / "brski-proxy" with TCP</c>
      <c>cBRSKI</c>
      <c>mode<br />vformat<br />enroll</c>
      <c>GRASP: "AN_join_registrar" / "AN_join_registrar_rjp" / "AN_Proxy" with IPPROTO_UDP<br /> DNS-SD: "brski-registrar" / "brski-proxy" SD with UDP <br /> CORE-LF: rt=brski.*</c>
</texttable>

<texttable title="BRSKI Variation Type Choices" anchor="fig-choices">
      <ttcol align='left'>Context</ttcol>
      <ttcol align='left'>VariationType</ttcol>
      <ttcol align='left'>Variation Type Choice</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <ttcol align='left'>Flags</ttcol>
      <ttcol align='left'>Note(s)</ttcol>
      <c>BRSKI, cBRSKI</c>
      <c>mode</c>
      <c>rrm</c>
      <c><xref target="RFC8995"/><br />ThisRFC</c>
      <c>Dflt</c>
      <c>Registrar Responder Mode <br /> the mode specified in <xref target="RFC8995"/></c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>prm</c>
      <c>ThisRFC  <br /></c>
      <c>&#160;</c>
      <c>Pledge Responder Mode    <br /> <xref target="I-D.ietf-anima-brski-prm"/></c>
      <c>BRSKI</c>
      <c>vformat</c>
      <c>cms</c>
      <c><xref target="RFC8368"/><br />ThisRFC</c>
      <c>Dflt</c>
      <c>CMS-signed JSON Voucher  <br /></c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>cose</c>
      <c>ThisRFC<br /></c>
      <c>&#160;</c>
      <c>CBOR with COSE signature <br /></c>
      <c>cBRSKI</c>
      <c>&#160;</c>
      <c>cose</c>
      <c>ThisRFC<br /></c>
      <c>Dflt</c>
      <c>CBOR with COSE signature <br /> <xref target="I-D.ietf-anima-constrained-voucher"/></c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>cms</c>
      <c><xref target="RFC8368"/><br />ThisRFC</c>
      <c>&#160;</c>
      <c>CMS-signed JSON Voucher  <br /></c>
      <c>BRSKI, cBRSKI</c>
      <c>&#160;</c>
      <c>jose</c>
      <c>ThisRFC<br /></c>
      <c>Dflt*</c>
      <c>JOSE-signed JSON, Default when prm is used<br /> <xref target="I-D.ietf-anima-jws-voucher"/>, <xref target="I-D.ietf-anima-brski-ae"/></c>
      <c>BRSKI, cBRSKI</c>
      <c>enroll</c>
      <c>est</c>
      <c><xref target="RFC8995"/><br /><xref target="RFC7030"/></c>
      <c>Dflt</c>
      <c>Enroll via EST           <br /> as specified in <xref target="RFC8995"/></c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>cmp</c>
      <c>ThisRFC</c>
      <c>&#160;</c>
      <c>Lightweight CMP Profile  <br /> {I-D.ietf-anima-brski-ae}}, <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/></c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>scep</c>
      <c>ThisRFC</c>
      <c>Rsvd</c>
      <c><xref target="RFC8894"/></c>
</texttable>

<texttable anchor="fig-variations">
      <ttcol align='left'>Context</ttcol>
      <ttcol align='left'>Spec / Applicability</ttcol>
      <ttcol align='left'>Variation String</ttcol>
      <ttcol align='left'>Variation</ttcol>
      <ttcol align='left'>Explanations</ttcol>
      <c>BRSKI</c>
      <c><xref target="RFC8995"></xref></c>
      <c>""</c>
      <c>rrm cms  est</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c><xref target="I-D.ietf-anima-brski-ae"/></c>
      <c>cmp</c>
      <c>rrm cms  cmp</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c><xref target="I-D.ietf-anima-brski-prm"/></c>
      <c>prm</c>
      <c>prm jose est</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>-</c>
      <c>jose</c>
      <c>rrm jose est</c>
      <c>possible variation of <xref target="RFC8995"/> with voucher according to <xref target="I-D.ietf-anima-jws-voucher"/></c>
      <c>&#160;</c>
      <c>-</c>
      <c>jose-cmp</c>
      <c>rrm jose cmp</c>
      <c>possible variation of <xref target="RFC8995"/> with voucher according to <xref target="I-D.ietf-anima-jws-voucher"/> and enrollment according to <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/></c>
      <c>&#160;</c>
      <c>-</c>
      <c>cose</c>
      <c>rrm cose est</c>
      <c>possible variation of <xref target="RFC8995"/> with voucher according to <xref target="I-D.ietf-anima-constrained-voucher"/></c>
      <c>&#160;</c>
      <c>-</c>
      <c>cose-cmp</c>
      <c>rrm cose cmp</c>
      <c>possible variation of <xref target="RFC8995"/> with voucher according to <xref target="I-D.ietf-anima-constrained-voucher"/> and enrollment according to <xref target="I-D.ietf-lamps-lightweight-cmp-profile"/></c>
      <c>&#160;</c>
      <c>-</c>
      <c>prm-cmp</c>
      <c>prm jose cmp</c>
      <c>possible variation of <xref target="I-D.ietf-anima-brski-prm"/> and <xref target="I-D.ietf-anima-brski-ae"/></c>
      <c>&#160;</c>
      <c>-</c>
      <c>prm-cose</c>
      <c>prm cose est</c>
      <c>possible variation of <xref target="I-D.ietf-anima-brski-prm"/> and <xref target="I-D.ietf-anima-constrained-voucher"/></c>
      <c>&#160;</c>
      <c>-</c>
      <c>prm-cose-cmp</c>
      <c>prm cose cmp</c>
      <c>possible variation of <xref target="I-D.ietf-anima-brski-prm"/>, <xref target="I-D.ietf-anima-constrained-voucher"/> and <xref target="I-D.ietf-anima-brski-ae"/></c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>cBRSKI</c>
      <c><xref target="I-D.ietf-anima-constrained-voucher"/></c>
      <c>""</c>
      <c>rrm cose est</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>-</c>
      <c>&#160;</c>
      <c>&#160;</c>
      <c>TBD: all the possible variations as for BRSKI ???</c>
</texttable>

</section>
<section anchor="service-names-registry"><name>Service Names Registry</name>

<t>IANA is asked to modify and amend the "Service Name and Transport Protocol Port Number Registry" registry (https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.txt) as follows:</t>

<t>brski-proxy and brski-registar are to be added as Service Names for the "udp" protocol using ThisRFC as the reference.</t>

<t>The registrartions for brski-proxy and brski-registar for the "tcp" protocol are to be updated to also include ThisRFC as their reference.</t>

<t>The Defined TXT keys column for brski-proxy and brski-registar for both "tcp" and "udp" protocols are to state the following text:</t>

<t>See ThisRFC and the "BRSKI Variation Type Choices" table in the "Bootstrapping Remote Secure Key Infrastructures (BRSKI) Parameters" registry.</t>

<t>TBD: This request likely does not include all the necessary formatting.</t>

</section>
<section anchor="brski-well-known-uris-fixes-opportunistic"><name>BRSKI Well-Known URIs fixes (opportunistic)</name>

<t>The following change requests to "https://www.iana.org/assignments/brski-parameters/brski-parameters.xhtml#brski-well-known-uris" are cosmetic in nature and are included in this document solely because support for Endpoint URIs is implied by the mechanisms specified in this document and the existing registry has these cosmetic issues.</t>

<t><list style="numbers">
  <t>IANA is asked to change the name of the first column of the table from "URI" to "URI Suffix". This is in alignment with other table columns with the same syntax/semantic, such as "https://www.iana.org/assignments/well-known-uris/well-known-uris.xhtml".</t>
  <t>IANA is asked to change the Reference from <xref target="RFC8995"/> to <xref section="8.3.1" sectionFormat="comma" target="RFC8995"/>.</t>
  <t>IANA is asked to include the following "Note" text: The following table contains the assigned BRSKI protocol Endpoint URI suffixes under "/.well-known/brski"." - This note is added to introduce the term "Endpoint" into the registry table as that is the term commonly used (instead of URI) in several of the memos for which this discovery document was written. It is meant to help readers map the registry to the terminoloy used in those documents.</t>
</list></t>

</section>
</section>
<section anchor="sec-consider"><name>Security Considerations</name>

<t>TBD.</t>

</section>
<section anchor="acknowledgments"><name>Acknowledgments</name>

<t>TBD.</t>

</section>
<section anchor="changelog"><name>Changelog</name>

<t>[RFC Editor: please remove this section.]</t>

<t>Individual version 00:</t>

<t>Initial version.</t>

</section>


  </middle>

  <back>


    <references title='Normative References'>



<reference anchor="RFC6690">
  <front>
    <title>Constrained RESTful Environments (CoRE) Link Format</title>
    <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
    <date month="August" year="2012"/>
    <abstract>
      <t>This specification defines Web Linking using a link format for use by constrained web servers to describe hosted resources, their attributes, and other relationships between links. Based on the HTTP Link Header field defined in RFC 5988, the Constrained RESTful Environments (CoRE) Link Format is carried as a payload and is assigned an Internet media type. "RESTful" refers to the Representational State Transfer (REST) architecture. A well-known URI is defined as a default entry point for requesting the links hosted by a server. [STANDARDS-TRACK]</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6690"/>
  <seriesInfo name="DOI" value="10.17487/RFC6690"/>
</reference>

<reference anchor="RFC6763">
  <front>
    <title>DNS-Based Service Discovery</title>
    <author fullname="S. Cheshire" initials="S." surname="Cheshire"/>
    <author fullname="M. Krochmal" initials="M." surname="Krochmal"/>
    <date month="February" year="2013"/>
    <abstract>
      <t>This document specifies how DNS resource records are named and structured to facilitate service discovery. Given a type of service that a client is looking for, and a domain in which the client is looking for that service, this mechanism allows clients to discover a list of named instances of that desired service, using standard DNS queries. This mechanism is referred to as DNS-based Service Discovery, or DNS-SD.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="6763"/>
  <seriesInfo name="DOI" value="10.17487/RFC6763"/>
</reference>

<reference anchor="RFC8990">
  <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="RFC8994">
  <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="RFC8995">
  <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="I-D.ietf-anima-brski-ae">
   <front>
      <title>BRSKI-AE: Alternative Enrollment Protocols in BRSKI</title>
      <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Steffen Fries" initials="S." surname="Fries">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
         <organization>Siemens AG</organization>
      </author>
      <date day="28" month="June" year="2023"/>
      <abstract>
	 <t>   This document defines an enhancement of Bootstrapping Remote Secure
   Key Infrastructure (BRSKI, RFC 8995) that supports alternative
   certificate enrollment protocols, such as CMP.  This offers the
   following advantages.

   Using authenticated self-contained signed objects for certification
   requests and responses, their origin can be authenticated
   independently of message transfer.  This supports end-to-end
   authentication (proof of origin) also over multiple hops, as well as
   asynchronous operation of certificate enrollment.  This in turn
   provides architectural flexibility where to ultimately authenticate
   and authorize certification requests while retaining full-strength
   integrity and authenticity of certification requests.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-ae-05"/>
   
</reference>


<reference anchor="I-D.ietf-anima-brski-prm">
   <front>
      <title>BRSKI with Pledge in Responder Mode (BRSKI-PRM)</title>
      <author fullname="Steffen Fries" initials="S." surname="Fries">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Thomas Werner" initials="T." surname="Werner">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Eliot Lear" initials="E." surname="Lear">
         <organization>Cisco Systems</organization>
      </author>
      <author fullname="Michael Richardson" initials="M." surname="Richardson">
         <organization>Sandelman Software Works</organization>
      </author>
      <date day="10" month="July" year="2023"/>
      <abstract>
	 <t>   This document defines enhancements to Bootstrapping a Remote Secure
   Key Infrastructure (BRSKI, RFC8995) to enable bootstrapping in
   domains featuring no or only limited connectivity between a pledge
   and the domain registrar.  It specifically changes the interaction
   model from a pledge-initiated mode, as used in BRSKI, to a pledge-
   responding mode, where the pledge is in server role.  For this, BRSKI
   with Pledge in Responder Mode (BRSKI-PRM) introduces a new component,
   the registrar-agent, which facilitates the communication between
   pledge and registrar during the bootstrapping phase.  To establish
   the trust relation between pledge and registrar, BRSKI-PRM relies on
   object security rather than transport security.  The approach defined
   here is agnostic to the enrollment protocol that connects the domain
   registrar to the domain CA.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-brski-prm-09"/>
   
</reference>


<reference anchor="I-D.ietf-anima-constrained-voucher">
   <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="7" month="July" year="2023"/>
      <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 &quot;voucher&quot; which enables a new
   device and the owner&#x27;s network to mutually authenticate.  While the
   BRSKI voucher is typically encoded in JSON, Constrained BRSKI uses 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.  This
   document Updates RFC 8366 and RFC 8995.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-voucher-21"/>
   
</reference>


<reference anchor="I-D.ietf-anima-constrained-join-proxy">
   <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="26" month="April" year="2023"/>
      <abstract>
	 <t>   This document extends the work of Bootstrapping Remote Secure Key
   Infrastructures (BRSKI) by replacing the Circuit-proxy between Pledge
   and Registrar by a stateless/stateful 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.

   This document defines a protocol to securely assign a Pledge to a
   domain, represented by a Registrar, using an intermediary node
   between Pledge and Registrar.  This intermediary node is known as a
   &quot;constrained Join Proxy&quot;.  An enrolled Pledge can act as a
   constrained Join Proxy.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-constrained-join-proxy-14"/>
   
</reference>


<reference anchor="I-D.ietf-anima-jws-voucher">
   <front>
      <title>JWS signed Voucher Artifacts for Bootstrapping Protocols</title>
      <author fullname="Thomas Werner" initials="T." surname="Werner">
         <organization>Siemens AG</organization>
      </author>
      <author fullname="Michael Richardson" initials="M." surname="Richardson">
         <organization>Sandelman Software Works</organization>
      </author>
      <date day="29" month="August" year="2023"/>
      <abstract>
	 <t>   [TODO: I-D.draft-ietf-anima-rfc8366bis] defines a digital artifact
   called voucher as a YANG-defined JSON document that is signed using a
   Cryptographic Message Syntax (CMS) structure.  This document
   introduces a variant of the voucher artifact in which CMS is replaced
   by the JSON Object Signing and Encryption (JOSE) mechanism described
   in RFC7515 to support deployments in which JOSE is preferred over
   CMS.

   In addition to explaining how the format is created, the
   &quot;application/voucher-jws+json&quot; media type is registered and examples
   are provided.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-anima-jws-voucher-09"/>
   
</reference>

<reference anchor="RFC7030">
  <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="RFC8368">
  <front>
    <title>Using an Autonomic Control Plane for Stable Connectivity of Network Operations, Administration, and Maintenance (OAM)</title>
    <author fullname="T. Eckert" initials="T." role="editor" surname="Eckert"/>
    <author fullname="M. Behringer" initials="M." surname="Behringer"/>
    <date month="May" year="2018"/>
    <abstract>
      <t>Operations, Administration, and Maintenance (OAM), as per BCP 161, for data networks is often subject to the problem of circular dependencies when relying on connectivity provided by the network to be managed for the OAM purposes.</t>
      <t>Provisioning while bringing up devices and networks tends to be more difficult to automate than service provisioning later on. Changes in core network functions impacting reachability cannot be automated because of ongoing connectivity requirements for the OAM equipment itself, and widely used OAM protocols are not secure enough to be carried across the network without security concerns.</t>
      <t>This document describes how to integrate OAM processes with an autonomic control plane in order to provide stable and secure connectivity for those OAM processes. This connectivity is not subject to the aforementioned circular dependencies.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8368"/>
  <seriesInfo name="DOI" value="10.17487/RFC8368"/>
</reference>


<reference anchor="I-D.ietf-lamps-lightweight-cmp-profile">
   <front>
      <title>Lightweight Certificate Management Protocol (CMP) Profile</title>
      <author fullname="Hendrik Brockhaus" initials="H." surname="Brockhaus">
         <organization>Siemens</organization>
      </author>
      <author fullname="David von Oheimb" initials="D." surname="von Oheimb">
         <organization>Siemens</organization>
      </author>
      <author fullname="Steffen Fries" initials="S." surname="Fries">
         <organization>Siemens AG</organization>
      </author>
      <date day="17" month="February" year="2023"/>
      <abstract>
	 <t>   This document aims at simple, interoperable, and automated PKI
   management operations covering typical use cases of industrial and
   IoT scenarios.  This is achieved by profiling the Certificate
   Management Protocol (CMP), the related Certificate Request Message
   Format (CRMF), and HTTP-based or CoAP-based transfer in a succinct
   but sufficiently detailed and self-contained way.  To make secure
   certificate management for simple scenarios and constrained devices
   as lightweight as possible, only the most crucial types of operations
   and options are specified as mandatory.  More specialized or complex
   use cases are supported with optional features.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-lightweight-cmp-profile-21"/>
   
</reference>

<reference anchor="RFC2119">
  <front>
    <title>Key words for use in RFCs to Indicate Requirement Levels</title>
    <author fullname="S. Bradner" initials="S." surname="Bradner"/>
    <date month="March" year="1997"/>
    <abstract>
      <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="2119"/>
  <seriesInfo name="DOI" value="10.17487/RFC2119"/>
</reference>

<reference anchor="RFC8174">
  <front>
    <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
    <author fullname="B. Leiba" initials="B." surname="Leiba"/>
    <date month="May" year="2017"/>
    <abstract>
      <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
    </abstract>
  </front>
  <seriesInfo name="BCP" value="14"/>
  <seriesInfo name="RFC" value="8174"/>
  <seriesInfo name="DOI" value="10.17487/RFC8174"/>
</reference>




    </references>

    <references title='Informative References'>



<reference anchor="RFC7252">
  <front>
    <title>The Constrained Application Protocol (CoAP)</title>
    <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
    <author fullname="K. Hartke" initials="K." surname="Hartke"/>
    <author fullname="C. Bormann" initials="C." surname="Bormann"/>
    <date month="June" year="2014"/>
    <abstract>
      <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
      <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="7252"/>
  <seriesInfo name="DOI" value="10.17487/RFC7252"/>
</reference>

<reference anchor="RFC8894">
  <front>
    <title>Simple Certificate Enrolment Protocol</title>
    <author fullname="P. Gutmann" initials="P." surname="Gutmann"/>
    <date month="September" year="2020"/>
    <abstract>
      <t>This document specifies the Simple Certificate Enrolment Protocol (SCEP), a PKI protocol that leverages existing technology by using Cryptographic Message Syntax (CMS, formerly known as PKCS #7) and PKCS #10 over HTTP. SCEP is the evolution of the enrolment protocol sponsored by Cisco Systems, which enjoys wide support in both client and server implementations, as well as being relied upon by numerous other industry standards that work with certificates.</t>
    </abstract>
  </front>
  <seriesInfo name="RFC" value="8894"/>
  <seriesInfo name="DOI" value="10.17487/RFC8894"/>
</reference>


<reference anchor="I-D.eckert-anima-grasp-dnssd">
   <front>
      <title>DNS-SD Compatible Service Discovery in GeneRic Autonomic Signaling Protocol (GRASP)</title>
      <author fullname="Toerless Eckert" initials="T. T." surname="Eckert">
         <organization>Futurewei Technologies USA
      Inc.</organization>
      </author>
      <author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
         <organization>Orange</organization>
      </author>
      <author fullname="Christian Jacquenet" initials="C." surname="Jacquenet">
         <organization>Orange</organization>
      </author>
      <author fullname="Michael H. Behringer" initials="M. H." surname="Behringer">
         </author>
      <date day="10" month="July" year="2023"/>
      <abstract>
	 <t>   DNS Service Discovery (DNS-SD) defines a framework for applications
   to announce and discover services.  This includes service names,
   service instance names, common parameters for selecting a service
   instance (weight or priority) as well as other service-specific
   parameters.  For the specific case of autonomic networks, GeneRic
   Autonomic Signaling Protocol (GRASP) intends to be used for service
   discovery in addition to the setup of basic connectivity.
   Reinventing advanced service discovery for GRASP with a similar set
   of features as DNS-SD would result in duplicated work.  To avoid
   that, this document defines how to use GRASP to announce and discover
   services relying upon DNS-SD features while maintaining the intended
   simplicity of GRASP.  To that aim, the document defines name
   discovery and schemes for reusable elements in GRASP objectives.

	 </t>
      </abstract>
   </front>
   <seriesInfo name="Internet-Draft" value="draft-eckert-anima-grasp-dnssd-05"/>
   
</reference>




    </references>


<?line 653?>

<section anchor="discovery-for-constrained-brski"><name>Discovery for constrained BRSKI</name>

<t>This appendix section is intended to describe the current issues with <xref target="cBRSKI"/> and <xref target="cPROXY"/> as of 08/2023, which
make both drafts incompatible with this document. It will be removed if/when those issues will be fixed.</t>

<section anchor="current-constrained-text-for-grasp"><name>Current constrained text for GRASP</name>

<t>The following is the current encodings from <xref target="cBRSKI"/>.</t>

<t><list style="symbols">
  <t>The transport-proto is IPPROTO_UDP</t>
  <t>the objective is AN_join_registrar, identical to <xref target="BRSKI"/>.</t>
  <t>the objective name is "BRSKI_RJP".</t>
</list></t>

<t>Here is an example M_FLOOD announcing the Registrar on example port 5685, which is a port number chosen by the Registrar.</t>

<figure title="cBRSKI Fig 5: Example of Registrar announcement message" anchor="cbrski-fig5"><artwork align="left"><![CDATA[
[M_FLOOD, 51804231, h'fda379a6f6ee00000200000064000001', 180000,
[["AN_join_registrar", 4, 255, "BRSKI_RJP"],
[O_IPv6_LOCATOR,
h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5685]]]
]]></artwork></figure>

<t>Most Registrars will announce both a JPY-stateless and stateful ports, and may also announce an HTTPS/TLS service:</t>

<figure anchor="cbrski-fig6"><artwork align="left"><![CDATA[
[M_FLOOD, 51840231, h'fda379a6f6ee00000200000064000001', 180000,
[["AN_join_registrar", 4, 255, ""],
 [O_IPv6_LOCATOR,
  h'fda379a6f6ee00000200000064000001', IPPROTO_TCP, 8443],
 ["AN_join_registrar", 4, 255, "BRSKI_JP"],
 [O_IPv6_LOCATOR,
  h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5684],
 ["AN_join_registrar", 4, 255, "BRSKI_RJP"],
 [O_IPv6_LOCATOR,
  h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5685]]]
]]></artwork></figure>

<t>The following is the current text from <xref target="cPROXY"/>.</t>

<t><list style="symbols">
  <t>The transport-proto is IPPROTO_UDP</t>
  <t>the objective is AN_join_registrar, identical to <xref target="BRSKI"/>.</t>
  <t>the objective name is "BRSKI_RJP".</t>
</list></t>

<t>Here is an example M_FLOOD announcing the Registrar on example port 5685, which is a port number chosen by the Registrar.</t>

<figure title="Example of Registrar announcement message" align="left" anchor="cproxy-rjp"><artwork><![CDATA[
   [M_FLOOD, 51804231, h'fda379a6f6ee00000200000064000001', 180000,
   [["AN_join_registrar", 4, 255, "BRSKI_RJP"],
    [O_IPv6_LOCATOR,
     h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5685]]]
]]></artwork></figure>

<t>Most Registrars will announce both a JPY-stateless and stateful ports, and may also announce an HTTPS/TLS service:</t>

<figure title="Example of Registrar announcing two services" align="left" anchor="cproxy-rjp-example"><artwork><![CDATA[
   [M_FLOOD, 51840231, h'fda379a6f6ee00000200000064000001', 180000,
   [["AN_join_registrar", 4, 255, ""],
    [O_IPv6_LOCATOR,
     h'fda379a6f6ee00000200000064000001', IPPROTO_TCP, 8443],
    ["AN_join_registrar", 4, 255, "BRSKI_JP"],
    [O_IPv6_LOCATOR,
     h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5684],
    ["AN_join_registrar", 4, 255, "BRSKI_RJP"],
    [O_IPv6_LOCATOR,
     h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5685]]]
]]></artwork></figure>

<section anchor="issues-and-proposed-change"><name>Issues and proposed change</name>

<t>One goal of this document is to define variations such that proxies can deal with existing
and future variations. This only works for variations for which proxies would need to perform
specific processing other than passing on data between pledge and registrar.</t>

<t>Changes in protocol that require specific new behavior of proxies must therefore not be
variations signalled via the objective-value field of GRASP objectives.</t>

<t>In result, this document recommends the following changes to the encoding for <xref target="cBRSKI"/> and <xref target="cPROXY"/>.</t>

<figure title="Proposed Encoding of registrar announcements" align="left" anchor="new-example"><artwork><![CDATA[
[M_FLOOD, 51840231, h'fda379a6f6ee00000200000064000001', 180000,
[["AN_join_registrar", 4, 255, ""],
 [O_IPv6_LOCATOR,
  h'fda379a6f6ee00000200000064000001', IPPROTO_TCP, 8443],
 ["AN_join_registrar", 4, 255, ""],
 [O_IPv6_LOCATOR,
  h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5684],
 ["AN_join_registrar_rjp", 4, 255, ""],
 [O_IPv6_LOCATOR,
  h'fda379a6f6ee00000200000064000001', IPPROTO_UDP, 5685]]]
]]></artwork></figure>

<t>In summary:</t>

<t><list style="symbols">
  <t>Circuit proxy operation is indicted with objective-name "AN_join_registrar" and IPPROTO_UDP.
The default for AN_join_registrar/UDP is the use of COAPs and CBOR encoded voucher. For this
default, the objective-value is "".</t>
  <t>Stateless JRP proxy operations is indicated with objective-name "AN_join_registrar_rjp" and IPPROTO_UDP.
The default for AN_join_registrar/UDP is the use of COAPs and CBOR encoded voucher. For this
default, the objective-value is "".</t>
</list></t>

</section>
</section>
</section>

    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
        <name>Contributors</name>
    <contact initials="M." surname="Richardson" fullname="Michael Richardson">
      <organization></organization>
      <address>
        <postal>
          <country>Canada</country>
        </postal>
        <phone>+41 44 878 9200</phone>
        <email>mcr+ietf@sandelman.org</email>
      </address>
    </contact>
    </section>

  </back>

<!-- ##markdown-source:
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
pw9dfNDsfovlytJ/0QX/P8gEXtWGpQAA

-->

</rfc>

