Internet-Draft | IE for ICMPv6 | February 2020 |
Dujovne & Richardson | Expires 20 August 2020 | [Page] |
In TSCH mode of IEEE STD 802.15.4, opportunities for broadcasts are limited to specific times and specific channels. Routers in a Time-Slotted Channel Hopping (TSCH) network transmit Enhanced Beacon (EB) frames to announce the presence of the network. This document provides a mechanism by which additional information critical for new nodes (pledges) and long sleeping nodes may be carried within the Enhanced Beacon in order to conserve use of broadcast opportunities.¶
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 20 August 2020.¶
Copyright (c) 2020 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 [ieee802154]. As further detailed in [RFC8180], an Enhanced Beacon (EB) is transmitted during a slot designated as a broadcast slot.¶
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 in [I-D.ietf-6tisch-architecture] in section 2.1.¶
As explained in section 6 of [RFC8180], the Enhanced Beacon (EB) has a number of purposes: synchronization of Absolute Slot Number (ASN) and Join Metric, carrying timeslot template identifier, carrying the channel hopping sequence identifier, and indicating the TSCH SlotFrame.¶
An EB announces the existence of a TSCH network, and of the nodes already joined to that network. Receiving an EB allows a Joining Node (pledge) to 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-synchronize [RFC7554].¶
There are a limited number of timeslots designated as broadcast slots 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 slot per second for broadcasts, which needs to be used for the beacon. Additional broadcasts for Router Advertisements (RS), or Neighbor Discovery (ND) could even more scarce.¶
At layer 3, [RFC4861] defines a mechanism by which nodes learn about routers by receiving multicast Router Advertisements (RA). If no RA is received within a set time, then a Router Solicitation (RS) may be transmitted as a multicast, to which an RA will be received, usually unicast.¶
Although However, even in this case, a unicast RS may be transmitted in response[RFC6775] reduces the amount of multicast necessary to do address resolution via Neighbor Solicitation (NS) messages, it still requires multicast of either RAs or RS. This is an expensive operation for two reasons: there are few multicast timeslots for unsolicited RAs; and if a pledge node does not receive an RA, and decides to transmit an RS, a broadcast aloha slot (see {?RFC7554} section A.5) is consumed with unencrypted traffic.¶
This is a particularly acute issue for the join process for the following reasons:¶
This document defines a new IETF Information Element (IE) subtype to place into the Enhanced Beacon (EB) to provide join and enrollment information to prospective pledges in a more efficient way.¶
[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 Sub-Type Content can be calculated from the container, 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | TBD-XXX |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 + ~ ~ + + | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | +-+-+-+-+-+-+-+-+
This field indicates the willingness of the sender to act as join proxy. Lower value indicates greater willingness to act as a Join Proxy as described in [I-D.ietf-6tisch-minimal-security]. Values range 0x00 (most willing) to 0x7e (least willing). A priority of 0x7f indicates that the announcer should never be considered as a viable enrollment proxy.¶
Only unenrolled pledges look at this value.¶
Lower values in this field indicate that the transmitter may have more capacity to handle unencrypted traffic.¶
A higher value may indicate that the transmitter is low on neighbor cache entries, or other resources.¶
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 an RPL {?RFC6550} parent within a particular network ID.¶
Lower values indicate more willing, and higher values indicate less willing. This value is calculated by each 6LR according to algorithms specific to the routing metrics used by the RPL ({?RFC6550}).¶
The exact process is a subject of significant research work.¶
It will typically be calculated from the RPL rank, and it may include some modifications based upon current number of children, or number of neighbor cache entries available.¶
This value MUST be ignored by pledges, it is to help enrolled devices only to compare different connection points.¶
The pan priority is a value set by the Destination-Oriented Directed Acycling Graph (DODAG) root (see {?RFC6550}, typically, the 6LBR) to indicate the relative priority of this LLN compared to those with different PANIDs that the operator might control.¶
This value may be used as part of the enrollment priority, but typically is used by devices which have already enrolled, and need to determine which PAN to pick when resuming from a long sleep. Unenrolled pledges MAY consider this value when selecting a PAN to join. Enrolled devices MAY consider this value when looking for an eligible parent device. Lower values indicate a higher willingness to accept new nodes.¶
All of the contents of this Information Element are transmitted in the clear. The content of the Enhanced Beacon 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, the TSCH Absolute Slot Number (ASN) is needed. The Enhanced Beacon provides the ASN to new (and long-sleeping) nodes.¶
The sensitivity of each field is describe within the description of each field.¶
The Enhanced Beacon is authenticated at the layer-2 level using 802.15.4 mechanisms using the network-wide keying material. Nodes which are enrolled will have the network-wide keying material and can validate the beacon.¶
Pledges which have not yet enrolled are unable to authenticate the beacons, and will be forced to temporarily take the contents on faith. After enrollment, a newly enrolled node will be able to return to the beacon and validate it.¶
In addition to the enrollment and join information described in this document, the Enhanced Beacon contains a description of the TSCH schedule to be used by the transmitter of this packet. The schedule can provide an attacker with a list of channels and frequencies on which communication will occur. Knowledge of this can help an attacker to more efficiently jam communications, although there is future work being considered to make some of the schedule less visible. Encrypting the schedule does not prevent an attacker from jamming, but rather increases the energy cost of doing that jamming.¶
The use of a network ID may reveal information about the network. The use of a SHA256 hash of the DODAGID, rather than using the DODAGID (which is usually derived from the LLN prefix) directly provides some privacy for the 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 map out the extent of the mesh network.¶
IANA is asked to assign a new number TBD-XXX from Registry "IEEE Std 802.15.4 IETF IE Subtype IDs" as defined by [RFC8137].¶
This entry should be called 6tisch-Join-Info, and should refer to this document.¶
Value Subtype-ID Reference ---- ---------- ----------- TBD-XXX 6tisch-Join-Inbfo [this document]¶
Thomas Watteyne provided extensive editorial comments on the document. Carles Gomez Montenegro generated a detailed review of the document at WGLC. Tim Evens provided a number of useful editorial suggestions.¶