Internet-Draft | Secure UAS Transport | April 2022 |
Moskowitz, et al. | Expires 23 October 2022 | [Page] |
This document defines a transport mechanism for Unmanned Aircraft System (UAS) Network Remote ID (N-RID). CoAP/CBOR is used for the N-RID messaging. This is secured via either HIP/ESP or DTLS. HIP/ESP or DTLS secure messaging Command-and-Control (C2) for is also described.¶
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 23 October 2022.¶
Copyright (c) 2022 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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
This document defines a set of messages for Unmanned Aircraft System (UAS) Network Remote ID (N-RID) derived from the ASTM Remote ID [F3411-19] broadcast messages and common data dictionary. These messages are transported from the UAS to its USS Network Service Provider (Net-RID SP) over CoAP/CBOR ([RFC7252]/[RFC8949]).¶
CoAP/CBOR were selected for their low communication "cost". This may not be an issue if N-RID originates from the Ground Control Station (GCS, Section 4.1.2), but it may be an important determinant when originating from the UA (Section 4.1.1). Particularly, very small messages may open N-RID transmissions over a variety of wireless technologies.¶
To further reduce the communication cost, SCHC [RFC8724] is defined for the CoAP layer ([RFC8824]) and security "compression" (ESP Implicit IV, [RFC8750]) for ESP. SCHC for the IP/UDP layer is currently defined by IP carrier (e.g. LoRaWAN, [RFC9011]) and will be covered in any specific implementation.¶
This document defines mechanisms to provide secure transport for these N-RID messages and Command and Control (C2) messaging.¶
A secure end-to-end transport for C2 is critical for UAS especially for Beyond Line of Sight (BLOS) operations. It needs to provide data Confidentiality, Integrity, and Authenticity (CIA). Depending on the underlying network technology, this secure transport may need to manage IP address changes (IP mobility) for both the UA and GCS.¶
A secure end-to-end transport for N-RID (UAS to Network RID Service Provider (Net-RID SP)) also should provide full CIA. It may seem that confidentiality is optional, as most of the information in N-RID is sent in the clear in Broadcast Remote ID (B-RID), but this is a potentially flawed analysis. N-RID has evesdropping risks not in B-RID and may contain more sensitive information than B-RID. The secure transport for N-RID should only need to manage IP address changes (IP mobility) for the UAS.¶
Two options for secure transport are provided: HIPv2 [RFC7401] and DTLS 1.3 [DTLS-1.3-draft]. These options are generally defined and their applicability is compared and contrasted. It is up to N-RID and C2 to select which is preferred for their situation.¶
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.¶
See Section 2.2 of [RFC9153] for common DRIP terms. The following new terms are used in the document:¶
Secure UDP-based protocols are preferred for both Network Remote ID (N-RID) and C2. Both HIPv2 and DTLS can be used. It will be shown below that HIPv2 is better suited in most cases.¶
For IPv6 and CoAP over both WiFi and Bluetooth (or any other radio link), SCHC [RFC8724] is defined to significantly reduce the per packet transmission cost. SCHC is used both within the secure envelope and before the secure envelope as shown in Section 5.2.10 of [lpwan-architecture]. For Bluetooth, there is also IPv6 over Bluetooth LE [RFC7668] for more guidance.¶
Local link (direct radio) C2 security is possible with the link's MAC layer security. SCHC SHOULD still be used as above. Both WiFi and Bluetooth link security can provide appropriate security, but this would not provide trustworthy multi-homed security.¶
HIP has already been used for C2 mobility, managing the ongoing connectivity over WiFi at start of an operation, switching to LTE once out of WiFi range, and returning to WiFi connectivity at the end of the operation. This functionality is especially important for BLOS. HHITs are already defined for RID, and need only be added to the GCS via a GCS Registration as part of the UAS to USS registration to be usedfor C2 HIP.¶
When the UA is the UAS endpoint for N-RID (Section 4.1.1), and particularly when HIP is used for C2, HIP for N-RID simplifies protocol use on the UA. The Net-RID SP endpoint may already support HIP if it is also the HHIT Registrar. If the UA lacks any IP ability and the RID HHIT registration was done via the GCS or Operator device, then they may also be set for using HIP for N-RID.¶
Further, double jump and multi-homing support is mandatory for C2 mobility. This is inherent in the HIP design. The HIP address update can be improved with [hip-fast-mobility].¶
DTLS is a good fit for N-RID for any of the possible UAS endpoints. There are challenges in using it for C2. To use DTLS for C2, the GCS will need to be the DTLS server. How does it 'push' commands to the UA? How does it reestablish DTLS security if state is lost? And finally, how is the double jump scenario handled?¶
All the above DTLS for C2 probably have solutions. None of them are inherent in the DTLS design.¶
The cipher choice for either HIP or DTLS depends, in large measure, on the UAS endpoint. If the endpoint is computationally constrained, the cipher computations become important. If any of the links are constrained or expensive, then the over-the-wire cost needs to be minimized. AES-CCM and AES-GCM are the preferred, modern, AEAD ciphers.¶
For ESP with HIP [RFC7402], an additional 4 - 8 bytes can be trimmed by using the Implicit IV for ESP option [RFC8750].¶
NIST is working on selecting a new lightweight cipher that may be the best choice for use on a UA. The Keccak Xoodyak cipher in [new-hip-crypto] is a good "Green Cipher".¶
This document specifies the use of DTLS 1.3 for its 0-RTT mobility feature and improved (over 1.2) handshake. DTLS 1.3 is still an IETF draft, so there is little data available to properly contrast it with HIPv2. This section will be based on the current DTLS 1.2. The basic client-server model is unchanged.¶
The use of DTLS vs HIPv2 (both over UDP, HIP in IPsec ESP BEET mode) has pros and cons. DTLS is currently at version 1.2 and based on TLS 1.2. It is a more common protocol than HIP, with many different implementations available for various platforms and languages.¶
DTLS implements a client-server model, where the client initiates the communication. In HIP, two parties are equal and either can be an Initiator or Responder of the Base Exchange. HIP provides separation between key management (base exchange) and secure transport (for example IPsec ESP BEET) while both parts are tightly coupled in DTLS.¶
DTLS 1.2 still has quite chatty connection establishment taking 3-5 RTTs and 15 packets. HIP connection establishment requires 4 packets (I1,R1,I2,R2) over 2 RTTs. This is beneficial for constrained environments of UAs. HIPv2 supports cryptoagility with possibility to negotiate cryptography mechanisms during the Base Exchange.¶
Both DTLS and HIP support mobility with a change of IP address. However, in DTLS only client mobility is well supported, while in HIP either party can be mobile. The double-jump problem (simultaneous mobility) is supported in HIP with a help of Rendezvous Server (RVS) [RFC8004]. HIP can implement secure mobility with IP source address validation in 2 RTTs, and in 1 RTT with fast mobility extension.¶
One study comparing DTLS and IPsec-ESP performance concluded that DTLS is recommended for memory-constrained applications while IPSec-ESP for battery power-constrained [Vignesh].¶
In UAS Traffic Management (UTM), the purpose of N-RID is to provide situational awareness of UA (in the form of flight tracking) in a user specified 3D volume. The data needed for this is already defined in [F3411-19], but a standard message format, protocol, and secure communications methodology are missing. F3411, and other UTM based standards going through ASTM, provide JSON objects and some of the messages for passing information between various UTM entities (e.g., Net-RID SP to Net-RID SP and Net-RID SP to Net-RID DP) but does not specify how the data gets into UTM to begin with. This document will provide such an open standard.¶
The Broadcast Remote ID (B-RID) messages in [F3411-19] are sufficient to meet the needs of N-RID. These messages can be sent to the Net-RID SP when their contents change. Further, a UAS supporting B-RID will have minimal development to add N-RID support.¶
This approach has the added advantage of being very compact, minimizing the N-RID communications cost.¶
The FAA defines the Network Remote ID endpoints as a USS Network Service Provider (Net-RID SP) and the UAS. Both of these are rather nebulous items and what they actually are will impact how communications flow between them.¶
The Net-RID SP may be provided by the same entity serving as the UAS Service Provider (USS). This simplifies a number of aspects of the N-RID communication flow. An Operator is expected to register an operation with the USS. If this is done via the GCS and the GCS is the source (directly acting as a gateway), this could set up the secure connection for N-RID. The Net-RID SP is likely to be stable in the network, that is its IP address will not change during a mission. This simplifies maintaining the N-RID communications.¶
The UAS component in N-RID may be either the UA, GCS, or the Operator's Internet connected device (e.g. smartphone or tablet). In all cases, mobility MUST be assumed. That is the IP address of this end of the N-RID communication will change during an operation. The N-RID mechanism MUST support this. The UAS Identity for the secure connection may vary based on the UAS endpoint.¶
Some UA will be equipped with direct Internet access. These UA will also tend to have multiple radios for their Internet access (e.g. Cellular and WiFi). Thus multi-homing with "make before break" behavior is needed. This is on top of any IP address changes on any of the interfaces while in use.¶
Many UA will lack direct Internet access, but their GCS are connected. There are two sources for the GCS for the RID messages, both from the UA. These are UA B-RID messages, or content from C2 messages that the GCS converts to RID message format. In either case, the GCS may be mobile with changing IP addresses. The GCS may be in a fast moving ground device (e.g. delivery van), so it can have as mobility demanding connection needs as the UA.¶
Many UAS will have no Internet connectivity, but the UA is sending B-RID messages and the Operator, when within RF range, can receive these B-RID messages on an Internet Connected device that can act as the proxy for these messages, turning them into N-RID messages.¶
N-RID messaging is tied to a UA operation (generally called a flight or mission). This consists of an initial secure link setup, followed by a set of mostly static information related to the operation. During the operation, continuous location information is sent by the UA with any needed updates to the mostly static operation information.¶
The Net-RID SP SHOULD send regular "heartbeats" to the UAS. If the UAS does not receive these heartbeats for some policy set time, the UA MUST take the policy set response to loss of Net-RID SP connectivity. For example, this could be a mandated immediate landing. There may be other messages from the Net-RID SP to the UAS (e.g., call the USS operator at this number NOW!). The UAS MUST acknowledge these messages.¶
If the Net-RID SP stops receiving messages from the UAS (Section 4.2.3), it should notify the UTM of a non-communicating UA while still in operation.¶
The secure link setup MUST be done before the operation begins, thus it can use a high capacity connection like WiFi. It MAY use the UA RID for this setup, including other data elements provided in the B-RID Basic ID (Msg Type 0x0) Message. If the Basic ID information is NOT included via the secure setup (including the Net-RID SP querying the USS for this information), it MUST be sent as part of the Static Messages (Section 4.2.2)¶
The UAS MAY use its RID if it is a HHIT [drip-uas-rid]. It may use some other Identity, based on the Net-RID SP policy.¶
The GCS or Operator smart device may have a copy of the UA credentials and use them in the connection to the Net-RID SP. In this case, they are indistinguishable from the UA as seen from the Net-RID SP. Alternatively, they may use their own credentials with the Net-RID SP which would need some internal mechanism to tie that to the UA.¶
For simplicity, a class of UAS information is called here "Static", though in practice any of it can change during the operation, but will change infrequently. This information is the contents of the B-RID Self-ID (Msg Type 0x3), Operator ID (Msg Type 0x5), and System Messages (Msg Type 0x4). This information can simply be sent in the same format as the B-RID messages. Alternatively the individual data elements may be send as separate CBOR objects.¶
The Basic ID (Msg Type 0x0) Message may be included as a static message if this information was not used for the secure setup. There may be more than one Basic ID Message needed if as in the case where the Japan Civil Aviation Bureau (JCAB) has mandated that the CAA assigned ID (UA ID type 2) and Serial Number (UA ID type 1) be broadcasted.¶
The information in the System Message is most likely to change during an operation. Noteably the Operator Location data elements are subject to change if the GCS is physically moving (e.g. hand-held and the operator is walking or driving in a car). The whole System Message may be sent, or only the changing data elements as CBOR objects.¶
These static message elements may be sent before the operation begins, thus their transmission can use a high capacity connection like WiFi. Once the operation is underway, any updates will have to traverse the operational link which may be very constrained and this will impact data element formatting.¶
The Net-RID SP MUST acknowledge these messages. The UAS MUST receive these ACKs. If no ACK is received, the UAS MUST resent the message(s). This send/ACK sequence continues either until ACK is received, or some policy number of tries. If this fails, the UAS MUST act that the Net-RID SP connection is lost and MUST take the policy set response to loss of Net-RID SP connectivity. If the information changes during this cycle, the latest information MUST always be sent.¶
Many CAAs mandate that the UA Vector/Location information be updated at least once per second. Without careful message design, this messaging volume would overwhelm many wireless technologies. Thus to enable the widest deployment choices, a highly compressed format is recommended.¶
The B-RID Vector/Location Message (Msg Type 0x1) is the simplest small object (24 bytes) for sending this information as a single CBOR object. It may be possible to send only those data elements that changed in the last time interval. This may result in smaller individual transmissions, but should not be used if the resulting message is larger than the Vector/Location Message.¶
The Command and Control (C2) connection is between the UA and GCS. This is often this over a direct link radio. Some times, particularly for BLOS, it is via Internet connections. In either case C2 SHOULD be secure from eavesdropping and tampering. For design and implementation consistency it is best to treat the direct link as a local link Internet connection and use constrained networking compression standards.¶
Both the UA and GCS need to be treated as fully mobile in the IP networking sense. Either one can have its IP address change and both could change at the same time (the double jump problem). It is preferable to use a peer-to-peer (P2P) secure technology like HIPv2 [RFC7401].¶
Finally UA may also tend to have multiple radios for their C2 communications. Thus multi-homing with "make before break" behavior is needed. This is on top of any IP address changes on any of the interfaces while in use.¶
MAVLink [MAVLINK] is a commonly used protocol for C2. Message authenticity was added in MAVLink 2 in the form of a SHA-256 (secret + message hash) left-truncated to 6 byte. This does not follow HMAC [RFC2104] security recommendations, nor provides confidentiality.¶
By following the security approach here, UAS C2 is superior to that currently provided within MAVlink.¶
Designing secure transports is challenging. Where possible, existing technologies SHOULD be used. Both ESP and DTLS have stood "the test of time" against many attack scenarios. Their use here for N-RID and C2 do not represent new uses, but rather variants on existing depoyments.¶
The same can be said for both key establishment, using HIPv2 and DTLS, and the actual cipher choice for per packet encryption and authentication. N-RID and C2 do not present new challenges, rather new opportunities to provide communications security using well researched technologies.¶
Stuart Card and Adam Wiethuechter provivded information on their use of HIP for C2 at the Syracuse NY UAS test corridor. This, in large measure, was the impetus to develop this document.¶