You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -146,8 +146,8 @@ The Voucher Artifact is normally generated by
146
146
the Pledge's manufacturer (i.e., the Manufacturer Authorized Signing
147
147
Authority (MASA)).
148
148
149
-
This document updates RFC8366: it includes a number of desired extensions into the YANG module.
150
-
The Voucher Request YANG module defined in RFC8995 is also updated and now included in this document, as well as other YANG extensions needed for variants of BRSKI/RFC8995.
149
+
This document obsoletes RFC8366: it includes a number of desired extensions into the YANG module.
150
+
The Voucher Request YANG module defined in RFC8995 is also updated and now included in this document, as well as other YANG extensions needed for variants of RFC8995.
151
151
152
152
--- middle
153
153
@@ -177,8 +177,8 @@ The collection of all these actors is collectively known as the Domain.
177
177
A Voucher may be useful in several contexts, but the driving motivation herein is to support secure Onboarding mechanisms.
178
178
This is accomplished by assigning an Owner to the Pledge, enabling it to authenticate the network that it is connected to.
179
179
180
-
{{RFC8366}} originally defined the Voucher as the only Voucher Artifact, leaving the Voucher Request that is used in BRSKI to be defined in {{BRSKI}}.
181
-
This document includes both Voucher and Voucher Request, and therefore updates {{BRSKI}}.
180
+
{{RFC8366}} originally defined the Voucher as the only Voucher Artifact, leaving the Voucher Request that is used in BRSKI to be defined in {{RFC8995}}.
181
+
This document includes both Voucher and Voucher Request obsoleting {{RFC8366}}, and updating {{RFC8995}}.
182
182
183
183
YANG is not easily extended except by updating the YANG module definition.
184
184
Since {{RFC8366}} was written, the common pattern is to publish YANG modules as two documents: one with only the YANG module, and the other one with usage, motivation and further explanation.
@@ -194,7 +194,7 @@ indicated lifetime.
194
194
In order to support long lifetimes, this document recommends using short lifetimes with programmatic renewal, see {{renewal-over-revocation}}.
195
195
196
196
Some Onboarding protocols using the Voucher Artifact defined in
197
-
this document include: {{ZERO-TOUCH}}, {{SECUREJOIN}}, {{BRSKI}} and {{cBRSKI}}.
197
+
this document include: {{ZERO-TOUCH}}, {{SECUREJOIN}}, {{RFC8995}} and {{cBRSKI}}.
198
198
199
199
# Terminology
200
200
@@ -211,8 +211,9 @@ Attribute:
211
211
212
212
Bootstrapping:
213
213
: The process where a Pledge obtains cryptographic key material to identify
214
-
and trust future interactions within a specific Domain network. Based on imprinted
215
-
key material provided during the manufacturing process (see: Imprint).
214
+
and trust future interactions within a specific Domain network.
215
+
Bootstrapping is based on imprinted key material provided during the
216
+
manufacturing process (see: Imprint).
216
217
This term was used in {{RFC8366}}, but has been supplanted by the term Onboarding.
217
218
218
219
Domain:
@@ -412,23 +413,23 @@ This document obsoletes {{RFC8366}}.
412
413
413
414
## Attempts and motivation to extend RFC8366 {#extendfail}
414
415
415
-
{{RFC8366}} was published in 2018 during the development of {{BRSKI}},
416
+
{{RFC8366}} was published in 2018 during the development of {{RFC8995}},
416
417
{{ZERO-TOUCH}} and other work-in-progress efforts.
417
418
Since then the industry has matured significantly, and the in-the-field activity which this document supports has become known as _Onboarding_ rather than _Bootstrapping_.
418
419
419
-
The focus of {{BRSKI}} was Onboarding of ISP and Enterprise owned wired routing and switching equipment, with IoT devices being a less important aspect.
420
+
The focus of {{RFC8995}} was Onboarding of ISP and Enterprise owned wired routing and switching equipment, with IoT devices being a less important aspect.
420
421
{{ZERO-TOUCH}} has focused upon Onboarding of CPE equipment like cable modems and other larger IoT devices, again with smaller IoT devices being of lesser importance.
421
422
422
-
Since {{BRSKI}} was published there is now a mature effort to do application-level Onboarding of constrained IoT devices defined by the Thread Group and the Fairhair Alliance (now OCF) {{fairhair}}.
423
-
The {{cBRSKI}} document has defined a version of {{BRSKI}} that is usable over constrained IEEE 802.15.4 6LoWPAN networks using CoAP and DTLS, while {{?I-D.ietf-lake-authz}} provides for using CoAP and EDHOC on even more constrained devices with very constrained networks.
423
+
Since {{RFC8995}} was published there is now a mature effort to do application-level Onboarding of constrained IoT devices defined by the Thread Group and the Fairhair Alliance (now OCF) {{fairhair}}.
424
+
The {{cBRSKI}} document has defined a version of {{RFC8995}} that is usable over constrained IEEE 802.15.4 6LoWPAN networks using CoAP and DTLS, while {{?I-D.ietf-lake-authz}} provides for using CoAP and EDHOC on even more constrained devices with very constrained networks.
424
425
425
426
{{PRM}} has created a new methodology for Onboarding that does not depend upon a synchronous connection between the Pledge and the Registrar.
426
427
This mechanism uses a mobile Registrar agent that works to collect and transfer signed artifacts via physical travel from one network to another.
427
428
428
429
Both {{cBRSKI}} and {{PRM}} require extensions to the Voucher Request and the resulting Voucher. The new Attributes are required to carry the additional data and describe the extended semantics.
429
430
In addition {{cBRSKI}} uses the serialization mechanism described in {{RFC9254}} to produce significantly more compact artifacts.
430
431
431
-
When the process to define {{cBRSKI}} and {{PRM}} was started, there was a belief that the appropriate process was to use the {{RFC7950}} _augment_ mechanism to further extend both the Voucher Request {{BRSKI}} and Voucher {{RFC8366}} artifacts.
432
+
When the process to define {{cBRSKI}} and {{PRM}} was started, there was a belief that the appropriate process was to use the {{RFC7950}} _augment_ mechanism to further extend both the Voucher Request {{RFC8995}} and Voucher {{RFC8366}} artifacts.
432
433
However, {{PRM}} needs to extend an enumerated type with additional values and _augment_ can not do this, so that was initially the impetus for this document.
433
434
434
435
An attempt was then made to determine what would happen if one wanted to have a constrained version of the {{PRM}} Voucher Artifact.
@@ -440,12 +441,12 @@ After significant discussion the decision was made to simply roll all of the nee
440
441
441
442
# Updates to RFC8995
442
443
443
-
This document represents a merge of YANG definitions of the Voucher from {{RFC8366}}, the Voucher Request from {{BRSKI}}, and extensions to each of these from {{cBRSKI}}, {{CLOUD}} and {{PRM}}.
444
+
This document represents a merge of YANG definitions of the Voucher from {{RFC8366}}, the Voucher Request from {{RFC8995}}, and extensions to each of these from {{cBRSKI}}, {{CLOUD}} and {{PRM}}.
444
445
The difficulty with this approach is that the semantics of the definitions needed for the other documents are not included in this document, but rather in the respective other documents.
445
446
446
447
## Updates to the use of `idevid-issuer` {#updates-idevid-issuer}
447
448
448
-
The `voucher-request` module definition that was in {{BRSKI}} Sections 3.2 (tree diagram) and 3.4 (YANG module) is now included in this document.
449
+
The `voucher-request` module definition that was in {{RFC8995}} Sections 3.2 (tree diagram) and 3.4 (YANG module) is now included in this document.
449
450
There is a change to it: the '`idevid-issuer`' Attribute MUST be included in a Registrar Voucher Request (RVR).
450
451
Like the '`serial-number`' value in the RVR, the '`idevid-issuer`' value in the RVR is to be taken from the Pledge's (IDevID) client certificate.
451
452
In some variations of BRSKI, such as {{PRM}}, there is no direct TLS connection between Pledge and Registrar. Therefore the Pledge's IDevID certificate cannot be extracted from the TLS connection, so those variations define a different channel binding process and may deviate from the above requirement.
@@ -460,11 +461,11 @@ A Registrar MUST apply the following rules for the value of the '`idevid-issuer`
460
461
461
462
## Clarifications on the use of `idevid-issuer`
462
463
463
-
{{RFC8366}} and {{BRSKI}} define the '`idevid-issuer`' attribute for the '`voucher`' and '`voucher-request`' modules (respectively), but they summarily explain when to use it, and why it is used.
464
+
{{RFC8366}} and {{RFC8995}} define the '`idevid-issuer`' attribute for the '`voucher`' and '`voucher-request`' modules (respectively), but they summarily explain when to use it, and why it is used.
464
465
465
466
The '`idevid-issuer`' Attribute is provided so that the serial number to which the issued Voucher pertains can be relative to the entity that issued the Pledge's IDevID.
466
467
In most cases there is a one to one relationship between the trust anchor that signs Vouchers (and is trusted by the Pledge), and the Certification Authority that signs the IDevID.
467
-
In that case, the '`serial-number`' in the Voucher Data must refer to the same device as the serial number that is in the IDevID certificate (in the '`serialNumber`' element of type '`X520SerialNumber`' per {{Section 2.3.1 of BRSKI}}).
468
+
In that case, the '`serial-number`' in the Voucher Data must refer to the same device as the serial number that is in the IDevID certificate (in the '`serialNumber`' element of type '`X520SerialNumber`' per {{Section 2.3.1 of RFC8995}}).
468
469
469
470
However, there are situations where the one to one relationship may be broken.
470
471
This occurs whenever a manufacturer has a common MASA, but different products (on different assembly lines) are produced with identical serial numbers.
@@ -490,7 +491,7 @@ If this rule does not apply, the MASA SHOULD NOT include the '`idevid-issuer`' A
490
491
491
492
## Clarifications on the format of `idevid-issuer` {#idevid-issuer-format}
492
493
493
-
{{RFC8366}} and {{BRSKI}} were not fully clear on the required binary format of the '`idevid-issuer`' Attribute.
494
+
{{RFC8366}} and {{RFC8995}} were not fully clear on the required binary format of the '`idevid-issuer`' Attribute.
494
495
This gave rise to incompatible implementations.
495
496
496
497
This section clarifies the format of the '`idevid-issuer`' Attribute, which contains the full Authority Key Identifier from an IDevID certificate.
@@ -502,7 +503,7 @@ However, because of the above requirement to include the full '`extnValue`' OCTE
502
503
503
504
## Errata closed
504
505
505
-
This above updates to {{BRSKI}} addresses errata {{eid7263}}.
506
+
The above updates to {{RFC8995}} addresses errata {{eid7263}}.
506
507
507
508
# Signature mechanisms
508
509
@@ -543,7 +544,7 @@ In the Voucher Request, the signer is the Pledge (in the PVR), or the Registrar
543
544
Note that Section 5.1 of {{RFC5652}} includes a
544
545
discussion about how to validate a CMS object, which is really a
545
546
PKCS7 object (cmsVersion=1). Intermediate systems (such as the
that might need to evaluate the Voucher in flight MUST be prepared for
548
549
such an older format.
549
550
No signaling of the format version is necessary, as the manufacturer knows the capabilities
@@ -789,13 +790,13 @@ Note that {{RFC9254}} does not strictly require use of SIDs: instead of a SID va
789
790
be used. But this would significantly increase the size of the Voucher Data.
790
791
791
792
Instead, a manufacturer MAY use the '`manufacturer-private`' Attribute to put any content they wish.
792
-
In CBOR serialization, if a plain CBOR map would be used, it would be subject to delta encoding: so use of this Attribute requires that the contents are bstr-encoded {{CBOR}} {{RFC8949, Section 3.1}} (Major type 2).
793
+
In CBOR serialization, if a plain CBOR map would be used, it would be subject to delta encoding: so use of this Attribute requires that the contents are bstr-encoded (Major type 2).
793
794
In JSON serialization, delta encoding does not get in the way, and the manufacturer MAY use any encoding that is convenient for them, but base64URL encoding {{?RFC4648, Section 5}} is RECOMMENDED.
794
795
795
796
796
797
# Voucher Request Artifact {#voucher-request}
797
798
798
-
{{BRSKI, Section 3}} defined a "voucher-request" Artifact as an augmented Artifact from the "voucher" Artifact originally defined in {{RFC8366}}.
799
+
{{RFC8995, Section 3}} defined a "voucher-request" Artifact as an augmented Artifact from the "voucher" Artifact originally defined in {{RFC8366}}.
799
800
That definition has been moved to this document, and translated from the "yang-data" extension {{RFC8040}} to the "sx:structure" extension {{RFC8791}}.
800
801
801
802
## Tree Diagram {#voucher-request-tree-diagram}
@@ -959,7 +960,8 @@ of {{RFC5652}}), though details for how to do this are outside
959
960
the scope of this document.
960
961
961
962
The use of YANG to define data structures, via the "sx:structure"
962
-
extension {{RFC8791}}, is relatively new and distinct from the traditional use of
963
+
extension {{RFC8791}}, is relatively new and distinct from the conventional
964
+
use of
963
965
YANG to define an API accessed by network management protocols such as
964
966
NETCONF {{RFC6241}} and RESTCONF {{RFC8040}}. For this reason, this
965
967
security considerations section does not follow the template described
@@ -972,7 +974,7 @@ by Section 3.7 of {{YANG-GUIDE}}.
972
974
973
975
This document updates two URIs in the "IETF XML Registry" {{RFC3688}}.
974
976
975
-
IANA has registered the following based on {{RFC8366}} and {{BRSKI}} respectively:
977
+
IANA has registered the following based on {{RFC8366}} and {{RFC8995}} respectively:
976
978
977
979
> {:compact}
978
980
> URI:
@@ -1019,7 +1021,7 @@ IANA has registered the following based on {{RFC8366}}:
1019
1021
This reference should be updated to point to this document and the "File" entry should be updated to point to the
1020
1022
new module revision in {{voucher-yang-module}}.
1021
1023
1022
-
IANA has registered the following based on {{BRSKI}}:
1024
+
IANA has registered the following based on {{RFC8995}}:
1023
1025
1024
1026
> {:compact}
1025
1027
> name:
@@ -1177,6 +1179,11 @@ and also the following YANG module:
1177
1179
* URI for the ".sid" file: a pointer to the file defined in {{voucher-request-sid-allocations}}
1178
1180
* Number of SIDs: 24
1179
1181
1182
+
# YANG references
1183
+
1184
+
RFC-editor, please remove.
1185
+
This section just lists references present in YANG modules which otherwise do not get included in the references, like {{!RFC7250}}.
1186
+
1180
1187
--- back
1181
1188
1182
1189
# Examples
@@ -1308,3 +1315,5 @@ by last name):
1308
1315
{{{Thomas Werner}}}.
1309
1316
1310
1317
{{{Max Pritikin}}} and {{{Kent Watsen}}} were instrumental in creating the original {{RFC8366}}.
0 commit comments