-
Notifications
You must be signed in to change notification settings - Fork 3
/
6tisch-roll-enrollment-priority-04.txt
504 lines (322 loc) · 19 KB
/
6tisch-roll-enrollment-priority-04.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
ROLL Working Group M. Richardson
Internet-Draft Sandelman Software Works
Intended status: Standards Track R.A. Jadhav
Expires: 11 August 2021 Huawei Tech
P. Thubert
H. She
Cisco Systems
7 February 2021
Controlling Secure Network Enrollment in RPL networks
draft-ietf-roll-enrollment-priority-04
Abstract
[I-D.ietf-6tisch-enrollment-enhanced-beacon] defines a method by
which a potential [I-D.ietf-6tisch-minimal-security] enrollment proxy
can announce itself as a available for new Pledges to enroll on a
network. The announcement includes a priority for enrollment. This
document provides a mechanism by which a RPL DODAG root can disable
enrollment announcements, or adjust the base priority for enrollment
operation.
Status of This Memo
This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress."
This Internet-Draft will expire on 11 August 2021.
Copyright Notice
Copyright (c) 2021 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document.
Richardson, et al. Expires 11 August 2021 [Page 1]
Internet-Draft join-metric February 2021
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document. Code Components
extracted from this document must include Simplified BSD License text
as described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
2. Protocol Definition . . . . . . . . . . . . . . . . . . . . . 4
2.1. Upwards compatibility . . . . . . . . . . . . . . . . . . 5
3. Security Considerations . . . . . . . . . . . . . . . . . . . 6
4. Privacy Considerations . . . . . . . . . . . . . . . . . . . 6
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 6
6. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 7
7. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
7.1. Normative References . . . . . . . . . . . . . . . . . . 7
7.2. Informative References . . . . . . . . . . . . . . . . . 8
Appendix A. Change history . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
[RFC7554] describes the use of the time-slotted channel hopping
(TSCH) mode of [ieee802154]. [I-D.ietf-6tisch-minimal-security] and
[I-D.ietf-6tisch-dtsecurity-secure-join] describe mechanisms by which
a new node (the "pledge)" can use a friendly router as a Join Proxy.
[I-D.ietf-6tisch-enrollment-enhanced-beacon] describes an extension
to the 802.15.4 Enhanced Beacon that is used by a Join Proxy to
announce its existence such that Pledges can find them.
The term (1)"Join" has been used in documents like
[I-D.ietf-6tisch-minimal-security] to denote the activity of a new
node authenticating itself to the network in order to obtain
authorization to become a member of the network. This typically
involves a cryptographic authentication protocol in which a network
credential is provided.
In the context of the [RFC6550] RPL protocol, the term (2)"Join" has
an alternate meaning: that of a node (already authenticating to the
network, and already authorized to be a member of the network),
deciding which part of the RPL DODAG to attach to. This term "Join"
has to do with parent selection processes.
In order to avoid the ambiguity of this term, this document refers to
the process (1)"Join" as enrollment, leaving the term "Join" to mean
(2)"Join". The term "onboarding" (or IoT Onboarding) is sometimes
Richardson, et al. Expires 11 August 2021 [Page 2]
Internet-Draft join-metric February 2021
used to describe the enrollment process. However, the term _Join
Proxy_ is retained with it's meaning from
[I-D.ietf-6tisch-minimal-security].
It has become clear that not every routing member of the mesh ought
to announce itself as a _Join Proxy_. There are a variety of local
reasons by which a 6LR might not want to provide the _Join Proxy_
function. They include available battery power, already committed
network bandwidth, and also total available memory available for
Neighbor Cache Entry slots.
There are other situations where the operator of the network would
like to selective enable or disable the enrollment process in a
particular DODAG.
As the enrollment process involves permitting unencrypted traffic
into the best effort part of a (TSCH) network, it would be better to
have the enrollment process off when no new nodes are expected.
A network operator might also be able to recognize when certain parts
of the network are overloaded and can not accomodate additional
enrollment traffic, and it would like to adjust the enrollment
priority (the proxy priority field of
[I-D.ietf-6tisch-enrollment-enhanced-beacon]) among all nodes in the
subtree of a congested link.
This document describes a RPL DIO option that can be used to announce
a minimum enrollment priority. The minimum priority expresses the
(lack of) willingness by the RPL DODAG globally to accept new joins.
It may derive from multiple constaining factors, e.g., the size of
the DODAG, the occupancy of the bandwidth at the Root, the memory
capacity at the DODAG Root, or an administrative decision.
Each potential _Join Proxy_ would this value as a base on which to
add values relating to local conditions such as its Rank and number
of pending joins, which would degrade even further the willingness to
take more joins.
When a RPL domain is composed of multiple DODAGs, nodes at the edge
of 2 DODAGs may not only join either DODAG but also move from one to
the other in order to keep their relative sizes balanced. For this,
the approximate knowledge of size of the DODAG is an essential
metric. Depending on the network policy, the size of the DODAG may
or may not affect the minimum enrollment priority. It would be
limiting its value to enforce that one is proportional to the other.
This is why the current size of the DODAG is advertised separately in
the new option.
Richardson, et al. Expires 11 August 2021 [Page 3]
Internet-Draft join-metric February 2021
As explained in [I-D.ietf-6tisch-enrollment-enhanced-beacon], higher
values decrease the likelyhood of an unenrolled node sending
enrollment traffic via this path.
A network operator can set this value to the maximum value allowed,
effectively disable all new enrollment traffic.
1.1. Terminology
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 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. Protocol Definition
The size of the DODAG is measured by the Root based one the DAO
activity. It represents a number of routes not a number of nodes,
and can only be used to infer a load in an homogeneous network where
each node advertises the same number of addresses and generates
roughly the same amount of traffic. The size may slightly change
between a DIO and the next, so the value transmitted must be
considered as an approxmation.
With this specification, the following option is defined for
transmission in the DIO issued by the DODAG root and it MUST be
propagated down the DODAG without modification.
A 6LR which would otherwise be willing to act as a _Join Proxy_, will
examine the minimum priority field, and to that number, add any
additional local consideration (such as upstream congestion).
The Enrollment Priority can only be increased by each 6LR in value,
to the maximum value of 0x7f.
The resulting priority, if less than 0x7f should enable the _Join
Proxy_ function.
0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type |Opt Length = 3 | exp | DODAG_Size |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R| min priority|
+-+-+-+-+-+-+-+-+
Type To be assigned by IANA
Richardson, et al. Expires 11 August 2021 [Page 4]
Internet-Draft join-metric February 2021
exp a 4 bit unsigned integer, indicating the power of 2 that defines
the unit of the DODAG Size, such that (unit=2^exp).
DODAG_Size a 12 bit unsigned integer, expressing the size of the
DODAG in units that depend on the exp field. The size of the
DODAG is computed as (DAG_Size*2^exp).
min.priority a 7 bit field which provides a base value for the
Enhanced Beacon Join priority. A value of 0x7f (127) disables the
_Join Proxy_ function entirely.
R a reserved bit that SHOULD be set to 0 by senders, and MUST be
ignored by receivers. This reserved bit SHOULD be copied to
options created.
This document uses the extensions mechanism designed into [RFC6550].
It does not need any mechanism to enable it.
Future work like [I-D.ietf-roll-capabilities] will enable collection
of capabilities such as this one in reports to the DODAG root.
2.1. Upwards compatibility
A 6LR which did not support this option would not act on it, or copy
it into it's DIO messages. Children and grandchildren nodes would
therefore not receive any telemetry via that path, and need to assume
a default value.
6LRs that support this option, but whose parent does not send it
SHOULD assume a value of 0x40 as their base value. The nodes then
adjust this base value based upon their observed congestion, emitting
their adjusted DIO value to their children.
A 6LR downstream of a 6LR where there was an interruption in the
telemetry could err in two directions: * if the value implied by the
base value of 0x40 was too low, then a 6LR might continue to attract
enrollment traffic when none should have been collected. This is a
stressor for the network, but this would also be what would occur
without this option at all. * if the value implied by the base value
of 0x40 was too high, then a 6LR might deflect enrollment traffic to
other parts of the DODAG tree, possibly refusing any enrollment
traffic at all. In order for this to happen, some significant
congestion must be seen in the sub-tree where the implied 0x40 was
introduced. The 0x40 is only the half-way point, so if such an
amount of congestion was present, then this sub-tree of the DODAG
simply winds up being more cautious than it needed to be.
Richardson, et al. Expires 11 August 2021 [Page 5]
Internet-Draft join-metric February 2021
It is possible that the temporal alternation of the above two
situations might introduce cycles of accepting and then rejecting
enrollment traffic. This is something an operator should consider if
when they incrementally deploy this option to an existing LLN. In
addition, an operator would be unable to turn off enrollment traffic
by sending a maximum value enrollment priority to the sub-tree. This
situation is unfortunate, but without this option, the the situation
would occur all over the DODAG, rather than just in the sub-tree
where the option was omitted.
3. Security Considerations
As per [RFC7416], RPL control frames either run over a secured layer
2, or use the [RFC6550] Secure DIO methods. This option can be
placed into either a "clear" (layer-2 secured) DIO, or a layer-3
Secure DIO. As such this option will have both integrity and
confidentiality mechanisms applied to it.
A malicious node (that was part of the RPL control plane) could see
these options and could, based upon the observed minimal enrollment
priority signal a confederate that it was a good time to send
malicious join traffic.
Such as a malicious node, being already part of the RPL control
plane, could also send DIOs with a different minimal enrollment
priority which would cause downstream mesh routers to change their
_Join Proxy_ behaviour.
Lower minimal priorities would cause downstream nodes to accept more
pledges than the network was expecting, and higher minimal priorities
cause the enrollment process to stall.
The use of layer-2 or layer-3 security for RPL control messages
prevents the above two attacks, by preventing malicious nodes from
becoming part of the control plane. A node that is attacked and has
malware placed on it creates vulnerabilities in the same way such an
attack on any node involved in Internet routing protocol does. The
rekeying provisions of [I-D.ietf-6tisch-minimal-security] exist to
permit an operator to remove such nodes from the network easily.
4. Privacy Considerations
There are no new privacy issues caused by this extension.
5. IANA Considerations
Allocate a new number TBD01 from Registry RPL Control Message
Options. This entry should be called Minimum Enrollment Priority.
Richardson, et al. Expires 11 August 2021 [Page 6]
Internet-Draft join-metric February 2021
6. Acknowledgements
This has been reviewed by Pascal Thubert and Thomas Wattenye.
7. References
7.1. Normative References
[I-D.ietf-6tisch-enrollment-enhanced-beacon]
Dujovne, D. and M. Richardson, "IEEE 802.15.4 Information
Element encapsulation of 6TiSCH Join and Enrollment
Information", Work in Progress, Internet-Draft, draft-
ietf-6tisch-enrollment-enhanced-beacon-14, 21 February
2020, <http://www.ietf.org/internet-drafts/draft-ietf-
6tisch-enrollment-enhanced-beacon-14.txt>.
[I-D.ietf-6tisch-minimal-security]
Vucinic, M., Simon, J., Pister, K., and M. Richardson,
"Constrained Join Protocol (CoJP) for 6TiSCH", Work in
Progress, Internet-Draft, draft-ietf-6tisch-minimal-
security-15, 10 December 2019, <http://www.ietf.org/
internet-drafts/draft-ietf-6tisch-minimal-security-
15.txt>.
[ieee802154]
IEEE standard for Information Technology, ., "IEEE Std.
802.15.4, Part. 15.4: Wireless Medium Access Control (MAC)
and Physical Layer (PHY) Specifications for Low-Rate
Wireless Personal Area Networks", n.d.,
<http://standards.ieee.org/findstds/
standard/802.15.4-2015.html>.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC6550] Winter, T., Ed., Thubert, P., Ed., Brandt, A., Hui, J.,
Kelsey, R., Levis, P., Pister, K., Struik, R., Vasseur,
JP., and R. Alexander, "RPL: IPv6 Routing Protocol for
Low-Power and Lossy Networks", RFC 6550,
DOI 10.17487/RFC6550, March 2012,
<https://www.rfc-editor.org/info/rfc6550>.
Richardson, et al. Expires 11 August 2021 [Page 7]
Internet-Draft join-metric February 2021
[RFC7416] Tsao, T., Alexander, R., Dohler, M., Daza, V., Lozano, A.,
and M. Richardson, Ed., "A Security Threat Analysis for
the Routing Protocol for Low-Power and Lossy Networks
(RPLs)", RFC 7416, DOI 10.17487/RFC7416, January 2015,
<https://www.rfc-editor.org/info/rfc7416>.
[RFC7554] Watteyne, T., Ed., Palattella, M., and L. Grieco, "Using
IEEE 802.15.4e Time-Slotted Channel Hopping (TSCH) in the
Internet of Things (IoT): Problem Statement", RFC 7554,
DOI 10.17487/RFC7554, May 2015,
<https://www.rfc-editor.org/info/rfc7554>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
7.2. Informative References
[I-D.ietf-6tisch-dtsecurity-secure-join]
Richardson, M., "6tisch Secure Join protocol", Work in
Progress, Internet-Draft, draft-ietf-6tisch-dtsecurity-
secure-join-01, 25 February 2017, <http://www.ietf.org/
internet-drafts/draft-ietf-6tisch-dtsecurity-secure-join-
01.txt>.
[I-D.ietf-roll-capabilities]
Jadhav, R., Thubert, P., Richardson, M., and R. Sahoo,
"RPL Capabilities", Work in Progress, Internet-Draft,
draft-ietf-roll-capabilities-07, 17 September 2020,
<http://www.ietf.org/internet-drafts/draft-ietf-roll-
capabilities-07.txt>.
Appendix A. Change history
version 00.
Authors' Addresses
Michael Richardson
Sandelman Software Works
Email: [email protected]
Rahul Arvind Jadhav
Huawei Tech
Email: [email protected]
Richardson, et al. Expires 11 August 2021 [Page 8]
Internet-Draft join-metric February 2021
Pascal Thubert
Cisco Systems
Email: [email protected]
Huimin She
Cisco Systems
Email: [email protected]
Richardson, et al. Expires 11 August 2021 [Page 9]