draft-ietf-6tisch-enrollment-enhanced-beacon-10.txt   draft-ietf-6tisch-enrollment-enhanced-beacon-11.txt 
6tisch Working Group D. Dujovne 6tisch Working Group D. Dujovne
Internet-Draft Universidad Diego Portales Internet-Draft Universidad Diego Portales
Intended status: Standards Track M. Richardson Intended status: Standards Track M. Richardson
Expires: 16 August 2020 Sandelman Software Works Expires: 17 August 2020 Sandelman Software Works
13 February 2020 14 February 2020
IEEE 802.15.4 Information Element encapsulation of 6TiSCH Join and IEEE 802.15.4 Information Element encapsulation of 6TiSCH Join and
Enrollment Information Enrollment Information
draft-ietf-6tisch-enrollment-enhanced-beacon-10 draft-ietf-6tisch-enrollment-enhanced-beacon-11
Abstract Abstract
In TSCH mode of IEEE STD 802.15.4, opportunities for broadcasts are In TSCH mode of IEEE STD 802.15.4, opportunities for broadcasts are
limited to specific times and specific channels. Nodes in a TSCH limited to specific times and specific channels. Nodes in a TSCH
network typically frequently send Enhanced Beacon (EB) frames to network typically frequently transmit Enhanced Beacon (EB) frames to
announce the presence of the network. This document provides a announce the presence of the network. This document provides a
mechanism by which small details critical for new nodes (pledges) and mechanism by which information critical for new nodes (pledges) and
long sleeping nodes may be carried within the Enhanced Beacon. long sleeping nodes may be carried within the Enhanced Beacon.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 16 August 2020. This Internet-Draft will expire on 17 August 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 50 skipping to change at page 2, line 50
section 2.1. section 2.1.
1.2. Layer-2 Synchronization 1.2. Layer-2 Synchronization
As explained in section 6 of [RFC8180], the Enhanced Beacon (EB) has As explained in section 6 of [RFC8180], the Enhanced Beacon (EB) has
a number of purposes: synchronization of ASN and Join Metric, a number of purposes: synchronization of ASN and Join Metric,
carrying timeslot template identifier, carrying the channel hopping carrying timeslot template identifier, carrying the channel hopping
sequence identifier, and indicating the TSCH SlotFrame. sequence identifier, and indicating the TSCH SlotFrame.
The EB is used by nodes already part of a TSCH network to announce The EB is used by nodes already part of a TSCH network to announce
its existence. Receiving an EB allows a Joining Node (pledge) to their existence. Receiving an EB allows a Joining Node (pledge) to
learn about the network and synchronize to it. The EB may also be learn about the network and synchronize to it. The EB may also be
used as a means for a node already part of the network to re- used as a means for a node already part of the network to re-
synchronize [RFC7554]. synchronize [RFC7554].
There is a limited number of timeslots designated as a broadcast slot There are a limited number of timeslots designated as broadcast slots
by each router in the network. Considering 10ms slots and a slot- by each router in the network. Considering 10ms slots and a slot-
frame length of 100, these slots are rare and could result in only 1 frame length of 100, these slots are rare and could result in only 1
slot/s for a broadcast, which needs to be used for the beacon. slot per second for broadcasts, which needs to be used for the
Additional broadcasts for Router Advertisements, or Neighbor beacon. Additional broadcasts for Router Advertisements, or Neighbor
Discovery could even more scarce. Discovery could even more scarce.
1.3. Layer-3 synchronization: IPv6 Router Solicitations and 1.3. Layer-3 synchronization: IPv6 Router Solicitations and
Advertisements Advertisements
At layer 3, [RFC4861] defines a mechanism by which nodes learn about At layer 3, [RFC4861] defines a mechanism by which nodes learn about
routers by receiving multicast Router Advertisements (RA). If no RA routers by receiving multicast Router Advertisements (RA). If no RA
is heard within a set time, then a Router Solicitation (RS) may be is received within a set time, then a Router Solicitation (RS) may be
sent as multicast, to which an RA will be received, usually unicast. transmitted as a multicast, to which an RA will be received, usually
unicast.
Although [RFC6775] reduces the amount of multicast necessary to do Although [RFC6775] reduces the amount of multicast necessary to do
address resolution via Neighbor Solicitation (NS) messages, it still address resolution via Neighbor Solicitation (NS) messages, it still
requires multicast of either RAs or RS. This is an expensive requires multicast of either RAs or RS. This is an expensive
operation for two reasons: First, there are few multicast timeslots operation for two reasons: First, there are few multicast timeslots
for unsolicited RAs; and second, if a pledge node does not hear an for unsolicited RAs; and second, if a pledge node does not receive an
RA, and decides to send a RS, a broadcast aloha slot is consumed with RA, and decides to transmit an RS, a broadcast aloha slot is consumed
unencrypted traffic. In this case, a unicast RS may be sent in with unencrypted traffic. In this case, a unicast RS may be
response. transmitted in response.
This is a particularly acute issue for the join process for the This is a particularly acute issue for the join process for the
following reasons: following reasons:
1. use of a multicast slot by even a non-malicious unauthenticated 1. Use of a multicast slot by even a non-malicious unauthenticated
node for a Router Solicitation (RS) may overwhelm that time slot. node for a Router Solicitation (RS) may overwhelm that time slot.
2. it may require many seconds of on-time before a new pledge hears 2. It may require many seconds of on-time before a new pledge
a Router Advertisement (RA) that it can use. receives a Router Advertisement (RA) that it can use.
3. a new pledge may listen to many Enhanced Beacons (EB) before it 3. A new pledge may have to receive many Enhanced Beacons (EB)
can pick an appropriate network and/or closest Join Assistant to before it can pick an appropriate network and/or closest Join
attach to. If it must listen for a RA as well as find the Assistant to attach to. If it must remain in the receive state
Enhanced Beacon (EB), then the process may take a very long time. for an RA as well as find the Enhanced Beacon (EB), then the
process may take a very long time.
This document defines a new IETF IE subtype to provide join and This document defines a new IETF IE subtype to provide join and
enrollment information to prospective pledges in a more efficient enrollment information to prospective pledges in a more efficient
way. way.
2. Protocol Definition 2. Protocol Definition
[RFC8137] creates a registry for new IETF IE subtypes. This document [RFC8137] creates a registry for new IETF IE subtypes. This document
allocates a new subtype. allocates a new subtype.
skipping to change at page 4, line 38 skipping to change at page 4, line 38
+ variable length, up to 16 bytes + + variable length, up to 16 bytes +
~ ~ ~ ~
+ + + +
| | | |
+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| | | |
+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+
Figure 1: IE subtype structure Figure 1: IE subtype structure
R: the Router Advertisement R-flag is set if the sending node will R: The Router Advertisement R-flag is set if the sending node will
act as a Router for host-only nodes that need addressing via act as a Router for host-only nodes that need addressing via
unicast Router Solicitation messages. unicast Router Solicitation messages.
in most cases, every node sending a beacon will set this flag, and In most cases, every node sending a beacon will set this flag, and
in a typical mesh, this will be every single node. When this bit in a typical mesh, this will be every single node. When this bit
is not set, it indicates that this node may be under provisioned, is not set, it indicates that this node may be under provisioned,
or may have no additional slots for additional nodes. This could or may have no additional slots for additional nodes. This could
make this node more interesting to an attacker. make this node more interesting to an attacker.
P: if the Proxy Address P-flag is set, then the lower 64-bits of the P: If the Proxy Address P-flag is set, then the Join Proxy lower-64
Join Proxy's link-local address follows the network ID. If the bit field is present. Otherwise, it is not provided.
Proxy Address bit is not set, then the Link Layer address of the
Join Proxy is identical to the Layer-2 8-byte address used to
originate this enhanced beacon. In either case, the destination
layer-2 address of this beacon may use the layer-2 address which
was used to originate the beacon.
this bit only indicates if another part of the structure is This bit only indicates if another part of the structure is
present, and has little security or privacy impact. present, and has little security or privacy impact.
proxy priority (proxy prio): this field indicates the willingness of proxy priority (proxy prio): This field indicates the willingness of
the sender to act as join proxy. Lower value indicates greater the sender to act as join proxy. Lower value indicates greater
willingness to act as a Join Proxy as described in willingness to act as a Join Proxy as described in
[I-D.ietf-6tisch-minimal-security]. Values range 0x00 (most [I-D.ietf-6tisch-minimal-security]. Values range 0x00 (most
willing) to 0x7e (least willing). A priority of 0x7f indicates willing) to 0x7e (least willing). A priority of 0x7f indicates
that the announcer should never be considered as a viable that the announcer should never be considered as a viable
enrollment proxy. Only unenrolled pledges look at this value. enrollment proxy. Only unenrolled pledges look at this value.
lower values in this field indicate that the transmitter may have Lower values in this field indicate that the transmitter may have
more capacity to handle unencrypted traffic. A higher value may more capacity to handle unencrypted traffic. A higher value may
indicate that the transmitter is low on neighbor cache entries, or indicate that the transmitter is low on neighbor cache entries, or
other resources. other resources.
rank priority: the rank "priority" is set by the 6LR which sent the rank priority: The rank "priority" is set by the 6LR which sent the
beacon and is an indication of how willing this 6LR is to serve as beacon and is an indication of how willing this 6LR is to serve as
an RPL parent within a particular network ID. This is a local an RPL parent within a particular network ID. This is a local
value to be determined in other work. It might be calculated from value to be determined in other work. It might be calculated from
RPL rank, and it may include some modifications based upon current RPL rank, and it may include some modifications based upon current
number of children, or number of neighbor cache entries available. number of children, or number of neighbor cache entries available.
This value MUST be ignored by pledges, it is for enrolled devices This value MUST be ignored by pledges, it is for enrolled devices
only. Lower values are better. only. Lower values are better.
an attacker can use this value to determine which nodes are An attacker can use this value to determine which nodes are
potentially more interesting. Nodes which are less willing to be potentially more interesting. Nodes which are less willing to be
parents likely have more traffic, and an attacker could use this parents likely have more traffic, and an attacker could use this
information to determine which nodes would be more interesting to information to determine which nodes would be more interesting to
attack or disrupt. attack or disrupt.
pan priority: the pan priority is a value set by the DODAG root to pan priority: The pan priority is a value set by the DODAG root to
indicate the relative priority of this LLN compared to those with indicate the relative priority of this LLN compared to those with
different PANIDs. This value may be used as part of the different PANIDs. This value may be used as part of the
enrollment priority, but typically is used by devices which have enrollment priority, but typically is used by devices which have
already enrolled, and need to determine which PAN to pick. already enrolled, and need to determine which PAN to pick.
Unenrolled pledges MAY consider this value when selecting a PAN to Unenrolled pledges MAY consider this value when selecting a PAN to
join. Enrolled devices MAY consider this value when looking for join. Enrolled devices MAY consider this value when looking for
an eligible parent device. an eligible parent device.
an attacker can use this value, along with the observed PANID in An attacker can use this value, along with the observed PANID in
the Beacon to determine which PANIDs have more network resources, the Beacon to determine which PANIDs have more network resources,
and may have more interesting traffic. and may have more interesting traffic.
Join Proxy lower-64: if the P bit is set, then 64 bits (8 bytes) of Join Proxy lower-64: If the P bit is set, then 64 bits (8 bytes) of
address are present. This field provides the suffix of the Link- address are present. This field provides the suffix (IID) of the
Local address of the Join Proxy. The associated prefix is well- Link-Local address of the Join Proxy. The associated prefix is
known as fe80::/64. well-known as fe80::/64. If this field is not present, then IID
is derived from the layer-2 address of the sender.
this field communicates a lower-64 bits that should be used for This field communicates a lower-64 bits that should be used for
this nodes' layer-3 address, if it should not be derived from the this nodes' layer-3 address, if it should not be derived from the
layer-2 address. Communication with the Join Proxy occurs in the layer-2 address. Communication with the Join Proxy occurs in the
clear, this field avoids the need for an additional service clear, this field avoids the need for an additional service
discovery process for the case where the L3 address is not derived discovery process for the case where the L3 address is not derived
from the L2 address. An attacker will see both L2 and L3 from the L2 address. An attacker will see both L2 and L3
addresses, so this field provides no new information. addresses, so this field provides no new information.
network ID: this is a variable length field, up to 16-bytes in size network ID: This is a variable length field, up to 16-bytes in size
that uniquely identifies this network, potentially among many that uniquely identifies this network, potentially among many
networks that are operating in the same frequencies in overlapping networks that are operating in the same frequencies in overlapping
physical space. The length of this field can be calculated as physical space. The length of this field can be calculated as
being whatever is left in the Information Element. being whatever is left in the Information Element.
In a 6tisch network, where RPL [RFC6550] is used as the mesh In a 6tisch network, where RPL [RFC6550] is used as the mesh
routing protocol, the network ID can be constructed from a SHA256 routing protocol, the network ID can be constructed from a SHA256
hash of the prefix (/64) of the network. That is just a hash of the prefix (/64) of the network. That is just a
suggestion for a default value. In some LLNs where multiple suggestion for a default value. In some LLNs where multiple
PANIDs may lead to the same management device (the JRC), then a PANIDs may lead to the same management device (the JRC), then a
common value that is the same across all PANs MUST be configured. common value that is the same across all PANs MUST be configured.
If the the network ID is derived as suggested, then it will an If the the network ID is derived as suggested, then it will an
opaque, seemingly random value, and will reveal nothing in of opaque, seemingly random value, and will reveal nothing in of
itself. An attacker can match this value across many itself. An attacker can match this value across many
transmissions to map the extent of a network beyond what the PANID transmissions to map the extent of a network beyond what the PANID
might already provide. might already provide.
3. Security Considerations 3. Security Considerations
All of the contents of this Information Element are sent in the All of the contents of this Information Element are transmitted in
clear. The containing Enhanced Beacon is not encrypted. This is a the clear. The content of the Enhanced Beacon is not encrypted.
restriction in the cryptographic architecture of the TSCH mechanism. This is a restriction in the cryptographic architecture of the
In order to decrypt or do integrity checking of layer-2 frames in 802.15.4 mechanism. In order to decrypt or do integrity checking of
TSCH, the TSCH Absolute Slot Number (ASN) is needed. The Enhanced layer-2 frames in TSCH, the TSCH Absolute Slot Number (ASN) is
Beacon provides the ASN to new (and long-sleeping) nodes. needed. The Enhanced Beacon provides the ASN to new (and long-
sleeping) nodes.
The Enhanced Beacon is authenticated at the layer-2 level using The Enhanced Beacon is authenticated at the layer-2 level using
802.15.4 mechanisms using the network-wide keying material. Nodes 802.15.4 mechanisms using the network-wide keying material. Nodes
which are enrolled will have the network-wide keying material and can which are enrolled will have the network-wide keying material and can
validate the beacon, providing them with a trusted validate the beacon.
Pledges which have not yet enrolled are unable to authenticate the Pledges which have not yet enrolled are unable to authenticate the
beacons, and will be forced to temporarily take the contents on beacons, and will be forced to temporarily take the contents on
faith. After enrollment, a newly enrolled node will be able to faith. After enrollment, a newly enrolled node will be able to
return to the beacon and validate it. return to the beacon and validate it.
In addition to the enrollment and join information described in this In addition to the enrollment and join information described in this
document, the Enhanced Beacon contains a description of the TSCH document, the Enhanced Beacon contains a description of the TSCH
schedule to be used by the transmitter of this packet. The schedule schedule to be used by the transmitter of this packet. The schedule
can provide an attacker with a list of channels and frequencies on can provide an attacker with a list of channels and frequencies on
skipping to change at page 7, line 30 skipping to change at page 7, line 28
The use of a SHA256 hash of the DODAGID, rather than using the The use of a SHA256 hash of the DODAGID, rather than using the
DODAGID (which is usually derived from the LLN prefix) directly DODAGID (which is usually derived from the LLN prefix) directly
provides some privacy for the the addresses used within the network. provides some privacy for the the addresses used within the network.
The DODAGID is usually the IPv6 address of the root of the RPL mesh. The DODAGID is usually the IPv6 address of the root of the RPL mesh.
An interloper with a radio sniffer would be able to use the network An interloper with a radio sniffer would be able to use the network
ID to map out the extent of the mesh network. ID to map out the extent of the mesh network.
5. IANA Considerations 5. IANA Considerations
Allocate a new number TBD-XXX from Registry IETF IE Sub-type ID, as Allocate a new number TBD-XXX from Registry IETF Information Element
defined by [RFC8137]. This entry should be called 6tisch-Join-Info, (IE) Sub-type ID, as defined by [RFC8137]. This entry should be
and should refer to this document. called 6tisch-Join-Info, and should refer to this document.
6. Acknowledgements 6. Acknowledgements
Thomas Watteyne provided extensive editorial comments on the Thomas Watteyne provided extensive editorial comments on the
document. Carles Gomez Montenegro generated a detailed review of the document. Carles Gomez Montenegro generated a detailed review of the
document at WGLC. Tim Evens provided a number of useful editorial document at WGLC. Tim Evens provided a number of useful editorial
suggestions. suggestions.
7. References 7. References
 End of changes. 29 change blocks. 
55 lines changed or deleted 54 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/