RFC 9032 | Enroll Beacon | May 2021 |
Dujovne & Richardson | Standards Track | [Page] |
In the Time-Slotted Channel Hopping (TSCH) mode of IEEE Std 802.15.4, opportunities for broadcasts are limited tospecific times and specific channels. Routers in a TSCH networktransmit Enhanced Beacon (EB) frames to announce the presence of thenetwork. This document provides a mechanism by which additional information criticalfor new nodes (pledges) and long-sleeping nodes may be carried within theEB in order to conserve use of broadcast opportunities.¶
This is an Internet Standards Track document.¶
This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 7841.¶
Information about the current status of this document, any errata, and how to provide feedback on it may be obtained athttps://www.rfc-editor.org/info/rfc9032.¶
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. 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.¶
[RFC7554] describes the use of the Time-Slotted Channel Hopping (TSCH) mode of[IEEE.802.15.4].¶
In TSCH mode of IEEE Std 802.15.4, opportunities for broadcasts are limited tospecific times and specific channels.Routers in a TSCH networktransmit Enhanced Beacon (EB) frames during broadcast slots in order toannounce the time and channel schedule.¶
This document defines a new IETF Information Element (IE) subtype to placeinto the EB to provide join and enrollment information to prospectivepledges in a more efficient way.¶
The following subsections explain the problem being solved, whichjustifies carrying the join and enrollment information in the EB.¶
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.¶
Other terminology can be found inSection 2.1 of [RFC9030].¶
As explained inSection 4.5.2 of [RFC8180], the EBhas a number of purposes: it carries synchronization information such as the Absolute Slot Number (ASN) and Join Metric and identifiers for the timeslot template and the channel hopping sequence, and it indicates the TSCH slotframe.¶
An EB announces the existence of a TSCH network and the nodesalready joined to that network. Receiving an EB allows a Joining Node(pledge) to learn about the network and to synchronize with it.¶
The EB may also be used as a means for a node already part of the network toresynchronize[RFC7554].¶
There are a limited number of timeslots designated as broadcast slots by eachrouter in the network.Considering 10 ms slots and a slotframe length of 100, these slots are rareand could result in only 1 slot per second for broadcasts, which needs to beused for the beacon.Additional broadcasts for Router Advertisements (RA) or Neighbor Discovery(ND) could be even more scarce.¶
At Layer 3,[RFC4861] defines a mechanism by which nodes learn aboutrouters by receiving multicast RAs.If no RA is received within a set time, then a Router Solicitation (RS) may betransmitted as a multicast, to which an RA will be received, usually unicast.¶
Although[RFC6775] reduces the amount of multicast necessary for addressresolution via Neighbor Solicitation (NS) messages, it still requires multicastof either RAs or RSes.This is an expensive operation for two reasons: thereare few multicast timeslots for unsolicited RAs; and if a pledge node does notreceive an RA, and decides to transmit an RS,a broadcast Aloha slot (seeAppendix A.5 of [RFC7554]) is consumed withunencrypted traffic.[RFC6775] already allows for a unicast reply to such an RS.¶
This is a particularly acute issue for the join process for the followingreasons:¶
In a complex Low-power and Lossy Network (LLN), multiple LLNs may be connected together by Backbone Routers (technology such as[RFC8929]), resulting in an area that is serviced by multiple, distinct Layer 2 instances.These are called Personal Area Networks (PANs).Each instance will have a separate Layer 2 security profile and will be distinguished by a different PANID.The PANID is part of the Layer 2 header as defined in[IEEE.802.15.4]:it is a 16-bit value that is chosen to be unique, and it contributes context to the Layer 2 security mechanisms.The PANID provides a context similar to the Extended Service Set ID (ESSID) in 802.11 networking and can be considered similar to the 802.3 Ethernet VLAN tag in that it provides context for all Layer 2 addresses.¶
A device that is already enrolled in a network may find after a long sleep that it needs to resynchronize with the Layer 2 network.The device's enrollment keys will be specific to a PANID, but the device may have more than one set of keys.Such a device may wish to connect to a PAN that is experiencing less congestion or that has a shallowerRouting Protocol for LLNs (RPL) tree[RFC6550].It may even observe PANs for which it does not have keys, but for which it believes it may have credentials that would allow it to join.¶
In order to identify which PANs are part of the same backbone network, the network ID is introduced in this extension.PANs that are part of the same backbone will be configured to use the same network ID.For RPL networks[RFC6550], configuration of the network ID can be done with a configuration option, which is the subject of future work.¶
In order to provide some input to the choice of which PAN to use, the PAN priority field has been added.This lists the relative priority for the PAN among different PANs.Every EB from a given PAN will likely have the same PAN priority.Determination of the PAN priority is the subject of future work; but it is expected that it will be calculated by an algorithm in the 6LoWPAN Border Router (6LBR), possibly involving communication between 6LBRs over the backbone network.¶
The parent selection process[RFC6550] can only operate within a single PAN because it depends upon receiving RPL DIO messages from all available parents.As part of the PAN selection process, the device may wish to know how deep in the LLN mesh it will be if it joins a particular PAN, and the rank priority field provides an estimation of each announcer's rank.Once the device synchronizes with a particular PAN's TSCH schedule, it may receive DIOs that are richer in their diversity than this value.The use of this value in practice is the subject of future research, and the interpretation of thisvalue of the structure is considered experimental.¶
[RFC8137] creates a registry for new IETF IE subtypes.This document allocates a new subtype.¶
The new IE subtype structure is as follows. As explained in[RFC8137], the length of the subtype content can be calculated from thecontainer, so no length information is necessary.¶
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+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| 2 |R|P| res | proxy prio | rank priority |+-+-+-+-+-+-+-+-+-+-------------+-------------+-----------------+| PAN priority | |+---------------+ +| Join Proxy Interface ID |+ (present if P=1) +| |+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| | |+-+-+-+-+-+-+-+-+ +| network ID |+ variable length, up to 16 bytes +~ ~+ +| |+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+| |+-+-+-+-+-+-+-+-+
All of the contents of this IE are transmitted in the clear.The content of the EB is not encrypted.This is a restriction in the cryptographic architecture of the 802.15.4 mechanism.In order to decrypt or do integrity checking of Layer 2 frames in TSCH, theTSCH ASN is needed.The EB provides the ASN to new (and long-sleeping) nodes.¶
The sensitivity of each field is described within the description of each field.¶
The EB is authenticated at the Layer 2 level using 802.15.4mechanisms using the network-wide keying material. Nodes that are enrolledwill have the network-wide keying material and can validate the beacon.¶
Pledges that have not yet enrolled are unable to authenticate the beaconsand will be forced to temporarily take the contents on faith.After enrollment, a newly enrolled node will be able to return to the beacon andvalidate it.¶
In addition to the enrollment and join information described in thisdocument, the EB contains a description of the TSCH schedule tobe used by the transmitter of this packet.The schedule can provide an attacker with a list of channels and frequencieson which communication will occur.Knowledge of this can help an attacker to more efficiently jamcommunications, although there is future work being considered to make someof the schedule less visible.Encrypting the schedule does not prevent an attacker from jamming, but ratherincreases the energy cost of doing that jamming.¶
The use of a network ID may reveal information about the network.The use of a SHA-256 hash of the DODAGID (see[RFC6550]), rather than using the DODAGID itselfdirectly provides some privacy for the addresses used within the network,as 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 ID to mapout the extent of the mesh network.¶
IANA has assigned the following value in the "IEEE Std 802.15.4 IETF IE Subtype IDs" registry, as defined by[RFC8137].¶
Value | Subtype ID | Reference |
---|---|---|
2 | 6tisch-Join-Info | RFC 9032 |
Thomas Watteyne provided extensive editorial comments on the document.Carles Gomez Montenegro generated a detailed review of the document at Working Group Last Call.Tim Evens provided a number of useful editorial suggestions.¶