﻿<?xml version='1.0' encoding='utf-8'?>
<?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-stateless-nrid-02"
	category="std" ipr="trust200902" obsoletes="" updates="" submissionType="IETF"
	xml:lang="en" tocInclude="true" symRefs="true" sortRefs="true" tocDepth="4" version="3">

<front>
<title abbrev="Secure UAS Stateless NRID">Secure UAS Stateless Network RID</title>
    <seriesInfo name="Internet-Draft" value="draft-moskowitz-drip-stateless-nrid-02"/>
	<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="2025" />
   <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 defines a stateless transport mechanism and message 
	content between an Uncrewed Aircraft System (UAS) and its UAS 
	Service Supplier (USS) for Network Remote ID (Net-RID) messages. It 
	leverages the Broadcast Remote ID (B-RID) messages as constructed 
	by the UA, or constructed by the Ground Control Station (GCS) from 
	the Command-and-Control (C2) messages that are then sent directly 
	over UDP from the UAS. These messages are authenticated by the DRIP 
	Authentication messages if originating from the UA.  When 
	originating from the GCS, CBOR Web Tokens (CWT) signed by the GCS's 
	DRIP Entity Tag (DET), are used.
</t>
<t>
	Transport privacy is out-of-scope in this approach per the 
	stateless design.  Some proposals are offered for data privacy 
	that require some minimal state.
</t>
</abstract>
</front>
<middle>   
<section numbered="true" toc="default"> <name>Introduction</name>
<t>
	The ASTM Remote ID <xref target="F3411-22a" format="default"/> 
	standard in Section 4.5 defines that there may be communications 
	from the Uncrewed Aircraft System's (UAS) to its UAS Service 
	Supplier (USS) Network Service Provider (Net-RID SP) to convey the 
	Remote ID data.  However, Section 4.5.4 specifically states the 
	standard does not specify the details of this interface.  This 
	document provides the UAS to Net-RID SP interface for DRIP enabled 
	UAS.
</t>
<t>
	This document leverages the ASTM F3411 Remote ID broadcast messages 
	to inform the Net-RID SP of the UA flight activity.  This is 
	realtime data transmission over a UDP connection between the UAS 
	and USS.
</t>
<t> 
	Direct UDP with CoAP/CBOR (<xref target="RFC7252" format="default" 
	/>/<xref target="RFC8949" format="default" />) was selected for 
	their low communication "cost".  This may not be an issue if 
	Net-RID originates from the Ground Control Station (GCS, <xref 
	target="NRID_GCS" format="default"/>), but it may be an important 
	determinant when originating from the UA (<xref target="NRID_UA" 
	format="default"/>).  Particularly, very small messages may open 
	Net-RID transmissions over a variety of constrained wireless 
	technologies.
</t>
<t>
	If a flight activity originates directly from the Uncrewed Aicraft 
	(UA), the data is protected with DRIP Wrapper Messages <xref 
	target="RFC9575" section="4.3" format="default"/>.  This message 
	may be directly transmitted from the UA to its Net-RID SP over some 
	airborn Internet path, or it may be proxied through the UA's Ground 
	Control Station (GCS).  With the GCS in the loop, the GCS handles 
	the Net-RID SP Heartbeat messaging.  Other systems MAY act as a 
	proxy for the UA, provided they are configured with a DET.
</t>
<t>
	If a flight activity originates directly from the GCS, the GCS 
	constructs the appropriate ASTM F3411 messages based on information 
	it receives from the UA over the Command-and-Control (C2) link 
	(e.g. derived from the MAVLink protocol <xref target="MAVLINK" 
	format="default"/>).  These messages are sent to the Net-RID SP in 
	an ASTM F3411 Message Pack.  The GCS's DET is used for the DRIP 
	authentication in this case.  The GCS handles all the USS Heartbeat 
	messages.
</t>
<t>
	The flight activity MAY originate from another Operator owned 
	device (e.g. a smartphone).  This is a device that is capable of 
	receiving all the UA's transmissions and forward them to the 
	Net-RID SP just as the GCS does.  This will require this device to 
	have its own DET known to the USS to be owned by the Operator.
</t>
<section anchor="Stateless_Design" numbered="true" toc="default"> <name>Stateless Design Implications</name>
<t>
	Unlike the <xref target="FAA-UTM-ConOps-2.0" format="default"/> and 
	<xref target="EU-UTM-ConOps-4.0" format="default"/> where they 
	envision a stateful session between the NRID components. The 
	approach here is stateless.  The most compelling justification that 
	is missed in the CONOPS is that there will often not be a single 
	Net-RID SP server but a set of them.  Thus major design 
	consideration driving a stateless design is to support handoffs 
	between multiple Net-RID SPs.  Two major uses of multiple Net-RID 
	SPs are:
</t>
<ul empty="true">
	<li>
		Provide load balancing handoff between Net-RID SPs
 	</li>
	<li>
		Provide geographic diversity handoff as UA travels
 	</li>
</ul>
<t>
	Even in situations where a UA only communicates with a single 
	Net-RID SP during an operation, the Net-RID SP may have a default, 
	starting server for all operations and, based on a filed flight 
	plan, immediately hand off the UA to the best server for that 
	operation.  The stateless design here gives the Net-RID SP 
	extensive flexiblity in how this could be deployed.
</t>
<t>
	There really is a very minimal piece of state, in that the UAS is 
	transmitting to a specific Net-RID SP and said Net-RID SP is 
	informing the UAS that it is receiving its messages.  If the UAS 
	does not get acknowledgments from its Net-RID SP, this MAY impact 
	its CAA (Civil Aviation Authority) operation rules.  Likewise if 
	the Net-RID SP is not receiving the messages, it MAY need to flag 
	the operation as ended.
</t>
<t>
	This minimal state can be maintained through through a RESTFUL 
	token included within the UDP messaging in place of a stateful TCP 
	connection.  To facilitate this, CBOR Web Tokens (CWTs) <xref 
	target="RFC8392" format="default" /> are used.
</t>
<t>
	Thus CWTs are used by the UAS to convey the flight activity and 
	other information to the Net-RID SP.  They are used by the Net-RID 
	SP for its communication to the UAS.
</t>
</section>
<section anchor="SCHC_use" numbered="true" toc="default"> <name>SCHC Compression usage</name>
<t> 
	To further reduce the communication cost, SCHC <xref 
	target="RFC8724" format="default" /> is defined for both the direct 
	UDP and CoAP layer <xref target="RFC8824" format="default" />.
</t>
<t>
	UDP SCHC compression is handled separately here from IP header as 
	is currently defined by IP carrier (e.g. LoRaWAN, <xref 
	target="RFC9011" format="default" />).  This is to allow for the 
	endpoints to not need to know what constrained carrier is in-path 
	and just design for worst case.
</t>
</section>
<section anchor="Secure_state" numbered="true" toc="default"> <name>Privacy Requires some State</name>
<t>
	Content privacy via a secure transport is out-of-scope for this 
	protocol.  Most secure transports are stateful, breaking the 
	stateless approach taken here.  It may seem that confidentiality is 
	optional, as most of the information in Net-RID is sent in the 
	clear in Broadcast Remote ID (B-RID), but this is a potentially 
	flawed analysis. Net-RID has eavesdropping risks not in B-RID and 
	may contain more sensitive information than B-RID. The secure 
	transport for Net-RID should also manage IP address changes (IP 
	mobility) for the UAS.  Thus for some use cases a way to provide 
	confidentiality is desirable.
</t>
<t>
	CBOR Object Signing and Encryption (COSE) <xref target="RFC8152" 
	format="default" /> may provide the simplest method to add data 
	encryption to Net-RID.  This may be developed at a later time.
</t>
<t>
	Another approach that may be investigated later is the Object 
	Security for Constrained RESTful Environments (OSCORE, <xref 
	target="RFC8613" format="default" />) protocol.  OSCORE provides a 
	CoAP compliant data encryption, but does not provide the session 
	keys.  The Messaging Layer Security (MLS, <xref target="RFC9420" 
	format="default" />) Protocol, may be well suited for the multiple 
	Net-RID model used here and will be discussed further down.
</t>
</section>
</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>
	See <xref target="RFC9153" section="2.2" format="default" /> for 
	common DRIP terms. 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>Net-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>Net-RID SP</dt>
		<dd>
			Net-RID Service Provider. The specific component in the UTM 
			system that provides the communication endpoint for a UAS. 
			It may be a function within a USS, or at may be an external 
			service to the USS.
		</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>
	In UAS Traffic Management (UTM), the purpose of Net-RID is to 
	provide situational awareness of a UA (in the form of flight 
	tracking) in a user specified 4D volume.  The data needed for this 
	is already defined in <xref target="F3411-22a" format="default"/>, 
	but standard message formats, protocols, and secure communications 
	methodologies are missing.  F3411, and other UTM based standards 
	going through ASTM and other SDOs, 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 for DRIP enabled UAS.
</t>
<t>
	A minimal messaging approach, using the Broadcast Remote ID (B-RID) 
	messages in <xref target="F3411-22a" format="default"/>, is 
	sufficient to meet the needs of Net-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 Net-RID 
	support.  The ASTM Message Pack (Msg Type 0xF) is used in all 
	Net-RID messaging.
</t>
<t>
	Other messages (e.g. Heartbeat) are needed in some Net-RID 
	situations.  Thus a simple message multiplexer using CWT over CoAP 
	is defined for a richer messaging environment.
</t>
<section anchor="NRID_EP" numbered="true" toc="default"> <name>Network RID Endpoints</name>
<t>
	The US 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 
	USS.  This simplifies a number of aspects of the Net-RID 
	communication flow.  The Net-RID SP is likely to be stable in the 
	network, that is its IP address will not change during an 
	operation. This simplifies maintaining the Net-RID communications.
</t>
<t>
	In practice, a USS may need multiple Net-RID SP, either for load 
	balancing or geographical diversity.  The design here is that the 
	UAS communicates with one Net-RID SP server at a time.  That SP 
	server MAY redirect the UAS to use a different SP server via the 
	HEARTBEAT message. It is this multiple Net-RID SP server design 
	that mandates the stateless communication model and presents the 
	confidentiality challenge.
</t>
<t>
	The UAS component in Net-RID may be either the UA, GCS, or the 
	Operator's Internet connected device (e.g. smartphone or tablet 
	that is not the GCS). In all cases, mobility MUST be assumed.  That 
	is the IP address of this end of the Net-RID communication may 
	change during an operation (generally called a flight or mission). 
	The Net-RID mechanism MUST support this.
</t>
<section anchor="NRID_UA" numbered="true" toc="default"> <name>Net-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). This protocol is agnostic as to which 
	interface is used when for sending the Net-RID communications. 
	Multi-interface transmissions MAY result in out-of-order packet 
	delivery, thus the SP MUST be prepared to reorder the packets. All 
	B-RID messages contain a timestamp, thus simplifying the reordering 
	process.
</t>
<t>
	Multicast (GEN-10 in <xref target="RFC9153" format="default" />) 
	over multiple Internet connection technologies MAY be used improve 
	QOS (GEN-7 in <xref target="RFC9153" format="default" />) for 
	Net-RID.
</t>
<t>
	The UA will send DRIP Wrapper messages of the current UA activity.  
	These will be sent in a UA signed CWT that will add the SP DET.
</t>
</section>
<section anchor="NRID_GCS" numbered="true" toc="default"> <name>Net-RID from the GCS</name>
<t>
	Many UA will lack direct Internet access, but their GCS are 
	connected.  The GCS is then acting as a gateway for the UA.
</t>
<t>
	There are two sources of the RID messages for the GCS, both from 
	the UA.  These are UA B-RID messages, or content from C2 messages 
	that the GCS converts to RID message format.  The protocol 
	stateless design is such that it is agnostic on how the GCS got the 
	data.
</t>
<t>
	In a constrained wireless environment for the UA that is not 
	functioning autonomously (i.e., at least C2 traffic to the GCS), 
	this approach may be the most economical.  It only uses the 
	wireless to send the UA status once, to the GCS, that then provides 
	the Net-RID functionality.
</t>
</section>
<section anchor="NRID_Op" numbered="true" toc="default"> <name>Net-RID from the Operator</name>
<t>
	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 Net-RID messages.
</t>
</section>
<section anchor="NRID_Smart" numbered="true" toc="default"> <name>Net-RID from the Operator Smart Device</name>
<t>
	TBD
</t>
</section>
</section>
<section anchor="NRID_Protocol" numbered="true" toc="default"> <name>Network RID Protocol</name>
<t>
	Net-RID messaging is tied to a UA operation.  During the operation, 
	continuous location information is sent by the UA with any needed 
	updates to static operation information.
</t>
<t>
	There are four components of the Net-RID protocol:
</t>
<ol>
	<li>
		Setup
 	</li>
	<li>
		Operation start time
 	</li>
	<li>
		UAS messaging
 	</li>
	<li>
		SP messaging
 	</li>
</ol>
<t>
	The later two are somewhat asynchronous.  Note all participating 
	elements are configured with DETs to participate and they will tend 
	to be in the same Hierarchy ID (HID).
</t>
<section anchor="NRID_Setup" numbered="true" toc="default"> <name>Network RID Protocol Setup</name>
<t>
	There are two steps in setting up a UAS to use the Net-RID protocol:
</t>
<ol>
	<li>
		The operator configures the UAS with the Net-RID SP DET. This 
		is done either the UA or GCS, but the one with Internet 
		connectivity (hereafter the Gateway).  (Note: Most likely this 
		DET is in the same HID as the UA, so the operator can be 
		prompted with the 1st 64 bits and need only enter the 64 hash 
		bits.)
	</li>
	<li>
		<t>The Gateway queries DNS with the Net-RID SP DET.</t>
		<ol type="1">
			<li>
				Gets the HDA Endorsement of the Net-RID SP DET and its 
				IP address as of NOW.
			</li>
			<li>
				If no response or validation fails, something is wrong 
				with entered DET.
			</li>
		</ol>
 	</li>
</ol>
</section>
<section anchor="NRID_Op_Start" numbered="true" toc="default"> <name>Network RID Operation Start time</name>
<t>
	Net-RID connectivity start can be considered a pre-flight check, so 
	appropriate actions during failures in this phase should be 
	consistent with organization-specific, system-specific, and/or 
	operation-specific pre-flight checklists.
</t>
<t>
	All Operational data comes from the UA in a DRIP Wrapper packet.  
	This is transmitted to the SP via the UAS component that has the 
	Internet Connection (the Gateway).  It is this element that packs 
	the Wrapper into a CWT.
</t>
<t>
	At Operation Start time:
</t>
<ol>
	<li>
		<t>The Gateway queries DNS with the Net-RID SP DET.</t>
		<ol type="1">
			<li>
				It gets the HDA Endorsement of the Net-RID SP DET and 
				its IP address as of NOW.
			</li>
			<li>
				If no response or validation fails, something is wrong 
				with entered DET.
			</li>
		</ol>
 	</li>
	<li>
		<t>
			The UA sends its first packet to the Net-RID SP via the 
			Gateway before operation commences.
		</t>
		<ol type="1">
			<li>
				This is a "normal" DRIP Wrapper (<xref target="RFC9575" 
				section="4.3" format="default"/>) and SHOULD contain 
				messages with static content.
			</li>
			<li>
				Vector/Location SHOULD be included in this 1st packet, 
				if room.
			</li>
			<li>
				This Wrapper is packed by the Gateway into a CWT with 
				the SP DET for sanity check that the right SP is the 
				recipient.
			</li>
		</ol>
 	</li>
	<li>
		<t>
			The Net-RID SP ACKs with an Net-RID Heartbeat (defined below).
		</t>
		<ol type="1">
			<li>
				The first packet/Heartbeat exchange continues for 4 
				tries.  No success, then no operation.
			</li>
			<li>
				Note that the Heartbeat MAY have a Net-RID SP redirect 
				for load balancing, sending the UA off to a different 
				SP server. The redirect includes the new Net-RID SP's 
				DET, IP addr, and Endorsement.
			</li>
			<li>
				The Heartbeat flags will inform the UA as to what 
				information the SP is lacking and the UA will send a 
				Message Pack Wrapper with the requested information.  
				If this includes a request for Self-ID and the UA has 
				no Self-ID a Self-ID with null content is sent.  The SP 
				MUST ACK with a Heartbeat with updated flags.
			</li>
		</ol>
 	</li>
	<li>
		The Operation Start Phase completes when UA receives Heartbeat 
		with flags indicating no missing information.
 	</li>
</ol>
<section anchor="Static_Msg" numbered="true" toc="default"> <name>Static Messages</name>
<t>
	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.
</t>
<t>
	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 Civil Aviation Authority (CAA) assigned ID (UA ID type 2) and 
	Serial Number (UA ID type 1) be broadcasted.
</t>
<t>
	The information in the System Message is most likely to change 
	during an operation.  Notably 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.
</t>
</section>
</section>
<section anchor="NRID_MSG" numbered="true" toc="default"> <name>Network RID UAS Messaging</name>
<t>
	
</t>
<ol>
	<li>
		<t>The UA sends its operational information in a DRIP Wrapper</t>
		<ol type="1">
			<li>
				This Wrapper MUST contain a current Vector/Location 
				Message.
			</li>
			<li>
				It SHOULD contain any other RID messages with changed 
				content (e.g. System Message).
			</li>
		</ol>
 	</li>
	<li>
		The Gateway wraps packs this into a CWT and forwards it to the 
		Net-RID SP.
 	</li>
	<li>
		<t>
			On receipt of a Net-RID SP Heartbeat
		</t>
		<ol type="1">
			<li>
				If no message was sent to the SP in the past N seconds, 
				resends the last sent message.
			</li>
			<li>
				If Heartbeat contains a Net-RID SP redirect information, 
				resends the last sent message to the new SP.
			</li>
		</ol>
 	</li>
	<li>
		<t>
			If no Net-RID SP Heartbeat was received in the past M 
			seconds.
		</t>
		<ol type="1">
			<li>
				Resends the last sent message.
			</li>
			<li>
				If no Heartbeat after resending this last message 4 
				times, assume lost connection to SP and take 
				appropriate action.
			</li>
		</ol>
 	</li>
	<li>
		<t>
			On end of Operation, sends an "End-of-Operation" CWT to 
			the Net-RID SP
		</t>
		<ol type="1">
			<li>
				MUST receive a Heartbeat with corresponding 
				"End-of-Operation" CWT; resends EoO otherwise.
			</li>
		</ol>
 	</li>
</ol>
<section anchor="Loc_Msg" numbered="true" toc="default"> <name>Vector/Location Message</name>
<t>
	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.
</t>
<t>
	The B-RID Vector/Location Message (Msg Type 0x1) is the simplest 
	small object (24 bytes) for sending this information in a Message 
	Pack (Msg Type 0xF).
</t>
</section>
</section>
<section anchor="NRID_HB" numbered="true" toc="default"> <name>Network RID SP Messaging</name>
<t>
	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 follow acknowledge policy for these messages.
</t>
<t>
	If the Net-RID SP stops receiving messages from the UAS (<xref 
	target="NRID_MSG" format="default"/>), it should notify the UTM of 
	a non-communicating UA while still in operation.
</t>
<t>
	The Net-RID SP process flow is as follows:
</t>
<ol>
	<li>
		<t>The Net-RID SP sends a Heartbeat to a Gateway every P seconds.</t>
		<ol type="1">
			<li>
				Even if it received a message (other than EoO) within 
				this time period.
			</li>
			<li>
				The Heartbeat MAY contain Net-RID SP Redirect content.
			</li>
		</ol>
 	</li>
	<li>
		If the SP sends R Heartbeats without receipt of a message from 
		the UAS, assume loss connectivity and take appropriate action.
 	</li>
	<li>
		<t>
			On receipt of an "End-of-Operation" CWT.
		</t>
		<ol type="1">
			<li>
				Sends Heatbeat with EoO content and closes operation.
			</li>
		</ol>
 	</li>
</ol>
</section>
<section anchor="CoAP_Msg" numbered="true" toc="default"> <name>CoAP Net-RID messages</name>
<t>
	The CoAP based Net-RID protocol is intended for a rich, 
	bi-directional conversation between the UAS and USS.  The USS, 
	through the Net-RID SP, may compare actual UA progress against the 
	filed flight plan and against other UA actual traffic.  The USS may 
	then send to the UAS recommended changes to the flight plan to 
	de-conflict traffic or advise the UAS to avoid hazards (1st 
	responder event, avoid space).  The UAS may then negotiate changes 
	to the plan, and act on them, as appropriate.
</t>
<t>
	Note that this additional USS-to-UAS messaging functionality is not 
	part of the current design and is out of scope for this document. 
	This sort of advanced UAS behavior is envisioned as part of total 
	UTM activities.  Discussions now ongoing in UTM will provide the 
	data models and transactional UAS/USS interactions, that will drive 
	UAS communications past the Net-RID defined here toward a more 
	functional CoAP Net-RID protocol.
</t>
<t>
	There are three CoAP Net-RID currently defined:
</t>
<t>
	Author's Note:  This section needs further work.  At least (and 
	probably more) uas-update needs the Net-RID SP DET and both need 
	their DET signing.
</t>
<figure anchor="UAS-CWT-fig"> <name>UAS CWT</name>
	<artwork anchor="UAS-CWT" name="" type="" alt="">
<![CDATA[
uas-cwt = 6.18([
    protected: {
        alg: -8
    },
    unprotected: {
        kid: #6.54(bstr) // DET
    },
    claims: {
        sub: "NRID-UAS",
        nbf: 0,
        exp: 10,
        iat: 0,
        TBD1: [
          det_sp: #6.54,
          ? encoded: [
              uint .bits message_types, ? uint .bits auth_pages]
          data: bstr  ; F3411 Message Pack (Message Type 0xF)
        ]
    }
    signature: bstr .size(64)
])
message_types = &(
    basic: 0,
    location: 1,
    auth: 2,
    self: 3,
    system: 4,
    operator: 5,
    pack: 15
)
auth_pages = &(
    pg0: 0, pg1: 1, pg2: 2, pg3: 3,pg4: 4, pg5: 5, pg6: 6, pg7: 7, 
    pg8: 8, pg9: 9, pgA: 10, pgB: 11, pgC: 12, pgD: 13, pgE: 14,
    pgF: 15
)
]]>
	</artwork>
</figure>
<figure anchor="USS-CWT-fig"> <name>USS CWT</name>
	<artwork anchor="USS-CWT" name="" type="" alt="">
<![CDATA[
uss-cwt = 6.18([
    protected: {
        alg: -8  
    },
    unprotected: {
        kid: #6.54(bstr) // DET
    },
    claims: {
        sub: "NRID-USS",
        nbf: 0,
        exp: 10,
        iat: 0,
        TBD2: [
          det_uas: #6.54,
          expected: [
			uint .bits message_types,
			? uint .bits auth_pages
		  ],
          ? move_sp: [
              new_sp: #6.54,
              new_ip: #6.54 / #6.52 / #6.32,
              new_be: bstr .size(136)
            ]
        ]
    }
    signature: bstr .size(64)
])
message_types = &(
    basic: 0,
    location: 1,
    auth: 2,
    self: 3,
    system: 4,
    operator: 5,
    pack: 15
)
auth_pages = &(
    pg0: 0, pg1: 1, pg2: 2, pg3: 3,pg4: 4, pg5: 5, pg6: 6, pg7: 7, 
    pg8: 8, pg9: 9, pgA: 10, pgB: 11, pgC: 12, pgD: 13, pgE: 14,
    pgF: 15
)
]]>
	</artwork>
</figure>
<figure anchor="UAS-EOO-fig"> <name>UAS End-Of-Operation</name>
	<artwork anchor="UAS-EOO-CWT" name="" type="" alt="">
<![CDATA[
eoo-cwt = 6.18([
    protected: {
        alg: -8  
    },
    unprotected: {
        kid: #6.54(bstr) // DET
    },
    claims: {
        sub: "NRID-EOO",
        nbf: 0,
        exp: 10,
        iat: 0,
        TBD3: [ TBD ]
    }
    signature: bstr .size(64)
])
]]>
	</artwork>
</figure>
</section>
</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>
	TBD
</t>
<t>
	TBD
</t>
</section>
<section numbered="true" toc="default"> <name>Acknowledgments</name>
<t>
	TBD
</t>
</section>
</middle>
<back>
<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.7252.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8949.xml"/>
</references>
<references title="Informative References">
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8152.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8392.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8613.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8724.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.8824.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9011.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9153.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9420.xml"/>
	<xi:include href="https://xml2rfc.tools.ietf.org/public/rfc/bibxml/reference.RFC.9575.xml"/>
	<reference anchor="FAA-UTM-ConOps-2.0"  target="https://www.faa.gov/sites/faa.gov/files/2022-08/UTM_ConOps_v2.pdf">
		<front>
			<title> FAA Concept of Operations for Unmanned Aircraft Systems (UAS) Traffic Management (UTM) 2.0</title>
			<author><organization>US Federal Aviation Administration (FAA)</organization></author>
			<date month="03" year="2020" />
		</front>
	</reference>
	<reference anchor="F3411-22a"  target="http://www.astm.org/f3411-22a.html">
		<front>
			<title>Standard Specification for Remote ID and Tracking - F3411−22a</title>
			<author><organization>ASTM International</organization></author>
			<date month="07" year="2022" />
		</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="EU-UTM-ConOps-4.0"  target="https://www.sesarju.eu/sites/default/files/documents/reports/U-space%20CONOPS%204th%20edition.pdf">
		<front>
			<title> EU U-Space CONOPS 4th Edition</title>
			<author><organization>Single European Sky ATM Research (SESAR)</organization></author>
			<date month="02" year="2023" />
		</front>
	</reference>
</references>
</references>
</back>
</rfc>
