﻿<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<?rfc toc="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes" ?>
<?rfc subcompact="no" ?>
<?rfc iprnotified="no" ?>
<?rfc strict="no" ?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" consensus="true" docName="draft-moskowitz-drip-secure-nrid-c2-04"
	category="std" ipr="trust200902" obsoletes="" updates="" submissionType="IETF"
	xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" version="3">

<front>
<title abbrev="Secure UAS Transport">Secure UAS Network RID and C2 Transport</title>
    <seriesInfo name="Internet-Draft" value="draft-moskowitz-drip-secure-nrid-c2-04"/>
	<author fullname="Robert Moskowitz" initials="R" surname="Moskowitz">
    <organization>HTT Consulting</organization>
    <address>
      <postal> 
	    <street></street>
        <city>Oak Park</city>
        <region>MI</region>
        <code>48237</code>
        <country>USA</country>
      </postal>
      <email>rgm@labs.htt-consult.com</email>
	</address>
	</author>
	<author fullname="Stuart W. Card" initials="S." surname="Card">
	<organization>AX Enterprize</organization>
	<address>
	  <postal>
	    <street>4947 Commercial Drive</street>
	    <city>Yorkville</city>
	    <region>NY</region>
	    <code>13495</code>
	    <country>USA</country>
	  </postal>
	  <email>stu.card@axenterprize.com</email>
	</address>
	</author>
	<author fullname="Adam Wiethuechter" initials="A." surname="Wiethuechter">
	<organization>AX Enterprize</organization>
	<address>
	  <postal>
	    <street>4947 Commercial Drive</street>
	    <city>Yorkville</city>
	    <region>NY</region>
	    <code>13495</code>
	    <country>USA</country>
	  </postal>
	  <email>adam.wiethuechter@axenterprize.com</email>
	</address>
	</author>
	<author fullname="Andrei Gurtov" initials="A." surname="Gurtov">
	<organization>Linköping University</organization>
	<address>
	  <postal>
		<street>IDA</street>
		<city>Linköping</city>
		<code>58183</code>
		<country>Sweden</country>
	  </postal>
	  <email>gurtov@acm.org</email>
	</address>
	</author>
   <date year="2021" />
   <area>Internet</area>
   <workgroup>DRIP</workgroup>
    <keyword>RFC</keyword>
     <keyword>Request for Comments</keyword>
     <keyword>I-D</keyword>
     <keyword>Internet-Draft</keyword>
     <keyword>RID</keyword>
<abstract>
<t>
	This document provides the mechanisms for secure transport of 
	Unmanned Aircraft System (UAS) Network Remote ID (N-RID) and 
	Command-and-Control (C2) messaging. Both HIP and DTLS based methods 
	are described.
</t>
</abstract>
</front>
<middle>   
<section numbered="true" toc="default"> <name>Introduction</name>
<t> 
	This document defines mechanisms to provide secure transport for 
	Unmanned Aircraft System (UAS) ASTM Network Remote ID <xref 
	target="F3411-19" format="default"/> (N-RID) and Command and 
	Control (C2) messaging.
</t>
<t> 
	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.
</t>
<t> 
	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.
</t>
<t>
	Two options for secure transport are provided:  HIPv2 <xref 
	target="RFC7401" /> and DTLS 1.3 <xref target="I-D.ietf-tls-dtls13" />.  
	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.
</t>
</section>
<section anchor="terms" numbered="true" toc="default"> <name>Terms and Definitions</name>
<section numbered="true" toc="default"> <name>Requirements Terminology</name>
	<t>
		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 <xref target="RFC2119" /> <xref 
		target="RFC8174" /> when, and only when, they appear in all 
		capitals, as shown here.
	</t>
</section>
<section numbered="true" toc="default"> <name>Definitions</name>
<t>
	This document uses the terms defined in <xref 
	target="I-D.ietf-drip-reqs" format="default" />.  The following new 
	terms are used in the document:
</t>
	<dl newline="true" spacing="normal">
		<dt>B-RID</dt>
		<dd>
			Broadcast Remote ID. A method of sending RID messages as 
			1-way transmissions from the UA to any Observers within 
			radio range.
		</dd>
		<dt>N-RID</dt>
		<dd>
			Network Remote ID. A method of sending RID messages via the 
			Internet connection of the UAS directly to the UTM.
		</dd>
		<dt>RID</dt>
		<dd>
			Remote ID. A unique identifier found on all UA to be used 
			in communication and in regulation of UA operation.
		</dd>
	</dl>
</section>
</section>
<section anchor="NRID" numbered="true" toc="default"> <name>Network Remote ID</name>
<t>
	The purpose/goal of Network Remote ID (N-RID) is to provide the UAS 
	Traffic Management (UTM) UA situational awareness.  The data needed 
	for this is already defined in <xref target="F3411-19" 
	format="default"/>, but a standard message format, protocol, and 
	secure communications methodology are missing.  This document will 
	provide such an open standard.
</t>
<t>
	The Broadcast Remote ID (B-RID) messages in <xref target="F3411-19" 
	format="default"/> are sufficient to meet the needs of N-RID.  In 
	particular, the Message Pack (Msg Type 0xF) is well suited, as this 
	single message can send all the needed information.  Further, a UAS 
	supporting B-RID will have minimal development to add N-RID 
	support.
</t>
<t>
	This approach has the added advantage of being very compact, 
	minimizing the N-RID communications cost.
</t>
<section anchor="NRID_EP" numbered="true" toc="default"> <name>Network RID endpoints</name>
<t>
	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.
</t>
<t>
	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.
</t>
<t>
	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.
</t>
<section anchor="NRID_UA" numbered="true" toc="default"> <name>N-RID from the UA</name>
<t>
	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.
</t>
</section>
<section anchor="NRID_GCS" numbered="true" toc="default"> <name>N-RID from the GCS</name>
<t>
	Many UA will lack direct Internet access, but their GCS may be so 
	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.
</t>
</section>
<section anchor="NRID_Op" numbered="true" toc="default"> <name>N-RID from the Operator</name>
<t>
	Many UAS will have no Internet connectivity, but the UA is sending 
	B-RID messages and the Operator has an Internet Connected device 
	that is receiving these B-RID messages.  The Operator's device can 
	act as the proxy for these messages, turning them into N-RID 
	messages.
</t>
</section>
</section>
<section anchor="UAS_ID" numbered="true" toc="default"> <name>UAS Identity</name>
<t>
	The UA MAY use its RID if it is a HHIT <xref 
	target="I-D.ietf-drip-rid" format="default"/>.  It may use some 
	other Identity, based on the Net-RID SP policy.
</t>
<t>
	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.
</t>
</section>
</section>
<section anchor="c2_End" numbered="true" toc="default"> <name>Command and Control</name>
<t>
	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.
</t>
<t>
	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 
	<xref target="RFC7401">HIPv2</xref>.
</t>
<t>
	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.
</t>
<section anchor="sMAVLINK" numbered="true" toc="default"> <name>Securing MAVLink</name>
<t>
	<xref target="MAVLINK">MAVLink</xref> 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 <xref target="RFC2104">HMAC</xref> security 
	recommendations, nor provides confidentiality.
</t>
<t>
	By following the security approach here, UAS C2 is superior to that 
	currently provided within MAVlink.
</t>
</section>
</section>
<section anchor="Sec_TP" numbered="true" toc="default"> <name>Secure Transports</name>
<t>
	The raw N-RID and C2 messages will be wrapped in UDP.  These UDP 
	packets will either be transported in ESP for the HIPv2 approach or 
	DTLS application messages for DTLS.  In both cases header 
	compression technologies SHOULD be used and negotiated based on 
	policy.
</t>
<t>
	For IPv6 over both WiFi and Bluetooth (or any other radio link), 
	Robust Header Compression (ROHC) <xref target="RFC5795" /> and/or 
	Generic Header Compression (6LoWAN-HGC) <xref target="RFC7400" /> 
	can significantly reduce the per packet transmission cost of IPv6. 
	For Bluetooth, there is also IPv6 over Bluetooth LE <xref 
	target="RFC7668" /> for more guidance.
</t>
<t>
	Local link (direct radio) C2 security is possible with the link's 
	MAC layer security.  Both WiFi and Bluetooth link security can 
	provide appropriate security, but this would not provide 
	trustworthy multi-homed security.
</t>
<section anchor="HIP_TP" numbered="true" toc="default"> <name>HIPv2 for Secure Transport</name>
<t>
	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.
</t>
<t>
	When the UA is the UAS endpoint for N-RID, 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.
</t>
<t>
	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 <xref 
	target="I-D.moskowitz-hip-fast-mobility" format="default"/>.
</t>
</section>
<section anchor="DTLS_TP" numbered="true" toc="default"> <name>DTLS for Secure Transport</name>
<t>
	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?
</t>
<t>
	All the above DTLS for C2 probably have solutions.  None of them 
	are inherent in the DTLS design.
</t>
</section>
<section anchor="TP_Cipher" numbered="true" toc="default"> <name>Ciphers for Secure Transport</name>
<t>
	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.
</t>
<t>
	For ESP with HIP <xref target="RFC7402" />, an additional 4 - 8 
	bytes can be trimmed by using the Implicit IV for ESP option <xref 
	target="RFC8750" />.
</t>
<t>
	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 <xref 
	target="I-D.moskowitz-hip-new-crypto" format="default"/> is a good 
	"Green Cipher".
</t>
</section>
<section anchor="HIP_DTLS" numbered="true" toc="default"> <name>HIP and DTLS contrasted and compared</name>
<t>
	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.
</t>
<t>
	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.
</t>
<t>
	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.
</t>
<t>
	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.
</t>
<t>
	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 <xref target="RFC8004">(RVS)</xref>. HIP can 
	implement secure mobility with IP source address validation in 2 
	RTTs, and in 1 RTT with fast mobility extension.
</t>
<t>
	One study comparing DTLS and IPsec-ESP performance concluded that 
	DTLS is recommended for memory-constrained applications while 
	IPSec-ESP for battery power-constrained <xref target="Vignesh" 
	format="default"/>.
</t>
</section>
</section>

<section anchor="IANA" numbered="true" toc="default"> <name>IANA Considerations</name>
<t>
	TBD
</t>
</section>
<section numbered="true" toc="default"> <name>Security Considerations</name>
<t>
	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.
</t>
<t>
	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.
</t>
</section>
<section numbered="true" toc="default"> <name>Acknowledgments</name>
<t>
	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.
</t>
</section>
</middle>
<back>
<displayreference target="I-D.ietf-tls-dtls13" to="DTLS-1.3-draft"/>
<displayreference target="I-D.ietf-drip-reqs" to="drip-requirements"/>
<displayreference target="I-D.ietf-drip-rid" to="drip-uas-rid"/>
<displayreference target="I-D.moskowitz-hip-new-crypto" to="new-crypto"/>
<displayreference target="I-D.moskowitz-hip-fast-mobility" to="hip-fast-mobility"/>
<references> <name>References</name>
<references title="Normative References">
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
</references>
<references title="Informative References">
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.2104.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.5795.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7400.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7401.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7402.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.7668.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8004.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8750.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tls-dtls13.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-drip-reqs.xml?anchor=drip-reqs"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-drip-rid.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.moskowitz-hip-new-crypto.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml3/reference.I-D.moskowitz-hip-fast-mobility.xml"/>
	<reference anchor="F3411-19"  target="http://www.astm.org/cgi-bin/resolver.cgi?F3411">
		<front>
			<title>Standard Specification for Remote ID and Tracking</title>
			<author><organization>ASTM International</organization></author>
			<date month="02" year="2020" />
		</front>
	</reference>
	<reference anchor="MAVLINK"  target="http://mavlink.io/">
		<front>
			<title>Micro Air Vehicle Communication Protocol</title>
			<author/>
			<date year="2021"/>
		</front>
	</reference>
	<reference anchor="Vignesh"  target="http://www.diva-portal.org/smash/get/diva2:1157047/FULLTEXT02">
		<front>
			<title>Performance analysis of end-to-end DTLS and IPsec-based communication in IoT environments</title>
            <author fullname="Kuna Vignesh" initials="K." surname="Vignesh">
              <organization>Blekinge Institute of Technology</organization>
              <address/>
            </author>
			<date month="" year="2017" />
        </front>
		<seriesInfo name='Thesis no.' value='MSEE-2017: 42'/>
	</reference>
</references>
</references>
</back>
</rfc>
