<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.4.2 -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>
<?rfc comments="yes"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-wiethuechter-drip-csrid-02" category="std" obsoletes="" updates="" submissionType="IETF" xml:lang="en" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.7.0 -->
  <front>
    <title abbrev="CS-RID">Crowd Sourced Remote ID</title>
    <seriesInfo name="Internet-Draft" value="draft-wiethuechter-drip-csrid-02"/>
    <author initials="R." surname="Moskowitz" fullname="Robert Moskowitz">
      <organization>HTT Consulting</organization>
      <address>
        <postal>
          <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 initials="A." surname="Wiethuechter" fullname="Adam 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>
    <date year="2024" month="April" day="10"/>
    <area>Internet</area>
    <workgroup>drip Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes a way for an Internet connected device to forward/proxy received Broadcast Remote ID into UAS Traffic Management (UTM). This is done through a Supplemental Data Service Provider (SDSP) that takes Broadcast Remote ID in from Finder and provides an aggregated view using Network Remote ID data models and protocols. This enables more comprehensive situational awareness and reporting of Unmanned Aircraft (UA) in a "crowd sourced" manner.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <ul empty="true" spacing="normal">
        <li>Note: This document is directly related and builds from <xref target="MOSKOWITZ-CSRID" format="default"/>. That draft is a "top, down" approach to understand the concept and high level design. This document  is a "bottom, up" implementation of the CS-RID concept. The content of this draft is subject to change and adapt as further development continues.</li>
      </ul>
      <t>This document defines a mechanism to capture <xref target="F3411" format="default"/> Broadcast Remote ID (RID) messages on any Internet connected device that receives them and can forward them to Supplemental Data Service Providers (SDSPs) responsible for the geographic area the UA and receivers are in. This data can be aggregated and further decimated to other entities in Unmanned Aircraft Systems (UAS) Traffic Management (UTM) similar to <xref target="F3411" format="default"/> Network RID. It builds upon the introduction of the concepts and terms found in <xref target="RFC9434" format="default"/>. We call this service Crowd Sourced RID (CS-RID).</t>
      <section anchor="role-of-finders" numbered="true" toc="default">
        <name>Role of Finders</name>
        <t>These Internet connected devices are herein called "Finders", as they find UAs by listening for Broadcast RID. The Finders are Broadcast RID forwarding proxies. Their potentially limited spacial view of RID messages could result in bad decisions on what messages to send to the SDSP and which to drop. Thus they SHOULD send all received messages and the SDSP will make any filtering decisions in what it forwards into the UTM.</t>
        <t>Finders can be smartphones, tablets, connected cars, special purpose devices or any computing platform with Internet connectivity that can meet the requirements defined in this document. It is not expected, nor necessary, that Finders have any information about a UAS beyond the content found in Broadcast RID.</t>
      </section>
      <section anchor="role-of-supplemental-data-service-providers" numbered="true" toc="default">
        <name>Role of Supplemental Data Service Providers</name>
        <t>The SDSP provides a gateway service for supplemental data into UTM. This document focuses on RID exclusively, other types of supplemental data is out of scope for this document.</t>
        <t>The primary role of a CS-RID SDSP is to aggregate reports from Finders and forward them as a subscription based service to UTM clients. These clients MAY be a USS or another SDSP. An CS-RID SDSP SHOULD NOT proxy raw data/reports into UTM. An CS-RID SDSP MAY provide such a service, but it is out of scope for this document.</t>
        <t>An SDSP MAY have its coverage constrained to a manageable area that has value to its subscribers. An CS-RID SDSP MAY not allow public reports of Broadcast RID due to policy. Policies of SDSPs is out of scope for this document.</t>
        <t><xref target="F3411" format="default"/> Network RID is the defined interface (protocol and model) for an SDSP to provide Broadcast RID as supplemental data to UTM.</t>
      </section>
      <section anchor="relationship-between-finders-sdsps" numbered="true" toc="default">
        <name>Relationship between Finders &amp; SDSPs</name>
        <t>Finders MAY only need a loose association with SDSPs. The SDSP MAY require a stronger relationship to the Finders. The relationship MAY be completely open, but still authenticated to requiring encryption. The transport MAY be client-server based (using things like HIP or DTLS) to client push (using things like UDP or HTTPS).</t>
      </section>
    </section>
    <section anchor="document-objectives" numbered="true" toc="default">
      <name>Document Objectives</name>
      <t>This document standardizes transports between the Finder and SDSP. It also gives an overview of Network RID. Specific details of Network RID is out scope for this document. All models are specified in CDDL <xref target="RFC8610" format="default"/>.</t>
    </section>
    <section anchor="terms-and-definitions" numbered="true" toc="default">
      <name>Terms and Definitions</name>
      <section anchor="requirements-terminology" 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&nbsp;14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t>This document uses terms defined in <xref target="RFC9153" format="default"/> and <xref target="RFC9434" format="default"/>.</t>
      </section>
      <section anchor="definitions" numbered="true" toc="default">
        <name>Definitions</name>
        <dl newline="false" spacing="normal">
          <dt>ECIES:</dt>
          <dd>
  Elliptic Curve Integrated Encryption Scheme. A hybrid encryption scheme which provides semantic security against an adversary who is allowed to use chosen-plaintext and chosen-ciphertext attacks.</dd>
          <dt>Finder:</dt>
          <dd>
  In Internet connected device that can receive Broadcast RID messages and forward them to an SDSP.</dd>
          <dt>Multilateration:</dt>
          <dd>
  Multilateration (more completely, pseudo range multilateration) is a navigation and surveillance technique based on measurement of the times of arrival (TOAs) of energy waves (radio, acoustic, seismic, etc.) having a known propagation speed.</dd>
        </dl>
      </section>
    </section>
    <section anchor="problem-space" numbered="true" toc="default">
      <name>Problem Space</name>
      <t>Broadcast and Network RID formats are both defined in <xref target="F3411" format="default"/> using the same data dictionary. Network RID is specified in JSON sent over HTTPS while Broadcast RID is octet structures sent over wireless links.</t>
      <section anchor="advantages-of-broadcast-remote-id" numbered="true" toc="default">
        <name>Advantages of Broadcast Remote ID</name>
        <t>Advantages over Network RID include:</t>
        <ul spacing="normal">
          <li>
            <t>more readily be implemented directly in the UA. Network RID will more frequently be provided by the GCS or a pilot's Internet connected device.
            </t>
            <ul spacing="normal">
              <li>If Command and Control (C2) is bi-directional over a direct radio connection, Broadcast RID could be a straight-forward addition.</li>
              <li>Small IoT devices can be mounted on UA to provide Broadcast RID.</li>
            </ul>
          </li>
          <li>also be used by the UA to assist in Detect and Avoid (DAA).</li>
          <li>is available to observers even in situations with no Internet like natural disaster situations.</li>
        </ul>
      </section>
      <section anchor="meeting-the-needs-of-network-remote-id" numbered="true" toc="default">
        <name>Meeting the needs of Network Remote ID</name>
        <t>The USA Federal Aviation Administration (FAA), in the January 2021 Remote ID Final rule <xref target="FAA-FR" format="default"/>, postponed Network Remote ID and focused on Broadcast Remote ID. This was in response to the UAS vendors comments that Network RID places considerable demands on then currently used UAS.</t>
        <t>However, Network RID, or equivalent, is necessary for UTM knowing what soon may be in an airspace and is mandated as required in the EU. A method that proxies Broadcast RID into UTM can function as an interim approach to Network RID and continue adjacent to Network RID.</t>
      </section>
      <section anchor="trustworthiness-of-proxy-data" numbered="true" toc="default">
        <name>Trustworthiness of Proxy Data</name>
        <t>When a proxy is introduced in any communication protocol, there is a risk of corrupted data and DOS attacks.</t>
        <t>The Finders, in their role as proxies for Broadcast RID, SHOULD be authenticated to the SDSP (see <xref target="session-security" format="default"/>). The SDSP can compare the information from multiple Finders to isolate a Finder sending fraudulent information. SDSPs can additionally verify authenticated messages that follow <xref target="DRIP-AUTH" format="default"/>.</t>
        <t>The SPDP can manage the number of Finders in an area (see <xref target="managing-finders" format="default"/>) to limit DOS attacks from a group of clustered Finders.</t>
      </section>
      <section anchor="defense-against-fraudulent-rid-messages" numbered="true" toc="default">
        <name>Defense against fraudulent RID Messages</name>
        <t>The strongest defense against fraudulent RID messages is to focus on <xref target="DRIP-AUTH" format="default"/> conforming messages.  Unless this behavior is mandated, an SDSP will have to use assorted algorithms to isolate messages of questionable content.</t>
      </section>
    </section>
    <section anchor="crowd-sourced-rid-protocol" numbered="true" toc="default">
      <name>Crowd Sourced RID Protocol</name>
      <figure anchor="fig-csrid-protocol">
        <name>Protocol Overview</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
+--------+                 +------+                 +-----+
| Finder o---------------->o SDSP o<----------------o USS |
+--------+     HTTPS,      +--o---+   Network RID   +-----+
               UDP, HIP,      :
               DTLS           :
                              : Network RID
                              v
                       +------o------+
                       | UTM Clients |
                       +-------------+
]]></artwork>
      </figure>
      <t>This document will focus on the general protocol specification between the Finder and the SDSP. Transport specification and use is provided in <xref target="transports" format="default"/>. A normative appendix (<xref target="network-rid" format="default"/>) provides background to Network RID. Another normative appendix (<xref target="cddl-definitions" format="default"/>) provides all the CDDL models for CS-RID including one for <xref target="F3411" format="default"/> data.</t>
      <t>For all data models CBOR <xref target="RFC7049" format="default"/> MUST be used for encoding. JSON MAY be supported but its definition is out of scope for this document.</t>
      <section anchor="csrid-reports" numbered="true" toc="default">
        <name>Detection &amp; Report Models</name>
        <t>The CS-RID model is for Finders to send "batch reports" to one or more SDSPs they have a relationship with. This relationship can be highly anonymous with little prior knowledge of the Finder to very well defined and pre-established.</t>
        <t><xref target="fig-csrid-report" format="default"/> is the report object, defined in CDDL, that is translated and adapted depending on the specific transport. It carries a batch of detections (up to a max of 10), the CDDL definition of which is shown in <xref target="fig-csrid-detection" format="default"/>. Discussion on the optional fields are found in <xref target="special-fields" format="default"/>.</t>
        <figure anchor="fig-csrid-detection">
          <name>Detection CDDL</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
detection-tag = #6.xxx(detection)
detection = {
  timestamp: time,
  ? position: #6.103(array),
  ? radius: float,  ; meters
  interface: [+ i-face],
  data: bstr / #6.xxx(astm-message) / #6.xxx(uas-data)
}

i-face = (bcast-type, mac-addr)
bcast-type = 0..3 ; BLE Legacy, BLE Long Range, Wi-Fi NAN, 802.11 Beacon
mac-addr = #6.48(bstr)
]]></artwork>
        </figure>
        <figure anchor="fig-csrid-report">
          <name>Unsigned Report CDDL</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
ufr-tag = #6.xxx(ufr)
ufr = {
  timestamp: time,
  ? priority: uint .size(2),  ; For HIP/DTLS
  ? track_id: uint .size(2),  ; For HIP/DTLS, 0=Mixed Detections
  ? position: #6.103,
  ? radius: float,  ; meters
  detection_count: 1..10,
  detections: [+ #6.xxx(detection)],
}
]]></artwork>
        </figure>
        <section anchor="special-fields" numbered="true" toc="default">
          <name>Special Fields</name>
          <t>The <tt>position</tt> and <tt>radius</tt> fields of both <xref target="fig-csrid-detection" format="default"/> and <xref target="fig-csrid-report" format="default"/> are OPTIONAL. If multiple sets of these are present the deepest nested values take precedence. For example if <tt>position</tt> is used in both the Report and Detection structures then the value found in the individual Detections take precedence. This extends to the Endorsement model where the <tt>position</tt> (seen in the model as <tt>#6.103</tt>) and <tt>radius</tt> are optionally included as part of the Endorsement scope.</t>
          <t>The fields of <tt>priority</tt> and <tt>track_id</tt> are OPTIONAL but MUST be included when they are set from a command. When not present the SDSP MUST assume them to be their default values of 0. The values of these fields a coordinated between the Finder and SDSP using commands. Either party may set these values and SHOULD announce them via a command before using them in report. They MAY be used over other transports and initialized by a Finder but such operation is out of scope for this document.</t>
        </section>
      </section>
      <section anchor="csrid-commands" numbered="true" toc="default">
        <name>Command Models</name>
        <t>Some transports give an added benefit of allowing for control operations to be sent from the SDSP to the Finder. Finders MUST NOT send commands to an SDSP. A Finder MAY choose to ignore commands.</t>
        <figure anchor="fig-csrid-command">
          <name>Command CDDL</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
command-tag = #6.xxx(command)
command = [command-id, $$command-data]

$$command-data //= (#6.103, ? radius,)
$$command-data //= (uas-id / mac-addr, track-id, ? priority,)
$$command-data //= (track-id, priority)
$$command-data //= ({* tstr => any},)  ; parameter update

command-id = uint .size(1)
]]></artwork>
        </figure>
      </section>
      <section anchor="csrid-endorsement" numbered="true" toc="default">
        <name>HHIT Endorsements for CS-RID</name>
        <t>Integrity of the report from a Finder is important. When using DETs, the report or command SHOULD be part of an HHIT Endorsement as seen in <xref target="fig-csrid-endorsement" format="default"/>. The Endorsement MAY be used over transports that inherently provide integrity and other protections (such as HIP or DTLS) though it is NOT RECOMMENDED. The Endorsement Type of <tt>TBD</tt> is reserved for CS-RID Endorsements.</t>
        <figure anchor="fig-csrid-endorsement">
          <name>Endorsement CDDL</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
; e-type=???
$$scope-ext //= (
  #6.103,
  ? radius: float  ; meters
)
$$evidence //= ([+ #6.xxx(detection) / #6.xxx(ufr) / #6.xxx(command)],)
$$endorser //= (hhit,)
$$signature //= (eddsa25519-sig,)
]]></artwork>
        </figure>
      </section>
      <section anchor="session-security" numbered="true" toc="default">
        <name>Session Security</name>
        <t>Both Finder and SDSP SHOULD use EdDSA <xref target="RFC8032" format="default"/> keypairs as the base for their identities. These identities SHOULD be in the form of registered DRIP Entity Tags <xref target="RFC9374" format="default"/>. Registration is covered in <xref target="DIME-ARCH" format="default"/>. An SDSP MAY have its own DRIP Identity Management Entity (DIME) or share one with other entities in UTM.</t>
        <t>An SDSP MUST NOT ignore Finders with DETs outside the DIME it is aware of, and SHOULD use <xref target="DIME-ARCH" format="default"/> to obtain public key information.</t>
        <t>ECIES is the preferred method to initialize a session between the Finder and SDSP. The following steps MUST be followed to setup ECIES for CS-RID:</t>
        <ol spacing="normal" type="1"><li>Finder uses <xref target="DIME-ARCH" format="default"/> to obtain SDSP EdDSA key</li>
          <li>EdDSA keys are converted to X25519 keys per Curve25519 <xref target="RFC7748" format="default"/> to use in ECIES</li>
          <li>ECIES can be used with a unique nonce to authenticate each message sent from a Finder to the SDSP</li>
          <li>ECIES can be used at the start of some period (e.g. day) to establish a shared secret that is then used to authenticate each message sent from a Finder to the SDSP sent during that period</li>
          <li>HIP <xref target="RFC7401" format="default"/> can be used to establish a session secret that is then used with ESP <xref target="RFC4303" format="default"/> to authenticate each message sent from a Finder to the SDSP</li>
          <li>DTLS <xref target="RFC5238" format="default"/> can be used to establish a secure connection that is then used to authenticate each message sent from a Finder to the SDSP</li>
        </ol>
      </section>
    </section>
    <section anchor="transports" numbered="true" toc="default">
      <name>Transports</name>
      <t>CS-RID transport from Finder to SDSP can vary from highly unidirectional with no acknowledgements to strong authenticated and encrypted sessions. Some transports, such as HIP and DTLS, MAY support bi-directional communication to enable control operations between the SDSP and Finder.</t>
      <t>The section contains a variety of transports that MAY be supported by an SDSP. CoAP is the RECOMMENDED transport.</t>
      <section anchor="coap" numbered="true" toc="default">
        <name>CoAP</name>
        <t>When using CoAP <xref target="RFC7252" format="default"/> with UDP, a payload MUST be a CS-RID Endorsement (<xref target="csrid-endorsement" format="default"/>). If running DTLS <xref target="RFC5238" format="default"/> the payload MAY be any of the following: CS-RID Endorsement, CS-RID Finder Report/Detection (<xref target="csrid-reports" format="default"/>) or CS-RID Command (<xref target="csrid-commands" format="default"/>). DTLS is the RECOMMENDED underlying transport for CoAP and uses a DET as the identity.</t>
        <t>A Finder MUST ACK when accepting and RST when ignoring/rejecting a command from an SDSP.</t>
        <t>As CoAP is designed with a stateless mapping to HTTP; such proxies are RECOMMENDED for CS-RID to allow as many Finders as possible to provide reports.</t>
      </section>
      <section anchor="hip" numbered="true" toc="default">
        <name>HIP</name>
        <t>The use of HIP <xref target="RFC7401" format="default"/> imposes a strong authentication and Finder onboarding process. It is attractive for well defined deployments of CS-RID, such as being used for area security. A DET MUST be used as the primary identity when using this transport method.</t>
        <t>When ESP is not in use the data MUST be a CS-RID Endorsement (<xref target="csrid-endorsement" format="default"/>). An ESP link MAY any of the following: CS-RID Endorsement, CS-RID Finder Report/Detection (<xref target="csrid-reports" format="default"/>) or CS-RID Command (<xref target="csrid-commands" format="default"/>).</t>
        <t>The use of HIP as an underlying transport for CoAP is out of scope for this document.</t>
      </section>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <t>TBD</t>
    </section>
    <section anchor="acknowledgments" numbered="true" toc="default">
      <name>Acknowledgments</name>
      <t>The Crowd Sourcing idea in this document came from the Apple "Find My Device" presentation at the International Association for Cryptographic Research's Real World Crypto 2020 conference.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC9153" target="https://www.rfc-editor.org/info/rfc9153">
          <front>
            <title>Drone Remote Identification Protocol (DRIP) Requirements and Terminology</title>
            <author fullname="S. Card" initials="S." role="editor" surname="Card"/>
            <author fullname="A. Wiethuechter" initials="A." surname="Wiethuechter"/>
            <author fullname="R. Moskowitz" initials="R." surname="Moskowitz"/>
            <author fullname="A. Gurtov" initials="A." surname="Gurtov"/>
            <date month="February" year="2022"/>
            <abstract>
              <t>This document defines terminology and requirements for solutions produced by the Drone Remote Identification Protocol (DRIP) Working Group. These solutions will support Unmanned Aircraft System Remote Identification and tracking (UAS RID) for security, safety, and other purposes (e.g., initiation of identity-based network sessions supporting UAS applications). DRIP will facilitate use of existing Internet resources to support RID and to enable enhanced related services, and it will enable online and offline verification that RID information is trustworthy.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9153"/>
          <seriesInfo name="DOI" value="10.17487/RFC9153"/>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <author fullname="S. Bradner" initials="S." surname="Bradner"/>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification. These words are often capitalized. This document defines these words as they should be interpreted in IETF documents. This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="2119"/>
          <seriesInfo name="DOI" value="10.17487/RFC2119"/>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <author fullname="B. Leiba" initials="B." surname="Leiba"/>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol specifications. This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the defined special meanings.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="14"/>
          <seriesInfo name="RFC" value="8174"/>
          <seriesInfo name="DOI" value="10.17487/RFC8174"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="DIME-ARCH" target="https://datatracker.ietf.org/doc/html/draft-ietf-drip-registries-15">
          <front>
            <title>DRIP Entity Tag (DET) Identity Management Architecture</title>
            <author fullname="Adam Wiethuechter" initials="A." surname="Wiethuechter">
              <organization>AX Enterprize, LLC</organization>
            </author>
            <author fullname="Jim Reid" initials="J." surname="Reid">
              <organization>RTFM llp</organization>
            </author>
            <date day="1" month="April" year="2024"/>
            <abstract>
              <t>   This document describes the high level architecture for the
   registration and discovery of DRIP Entity Tags (DETs) using DNS.
   Discovery of DETs and their artifacts is performed via DRIP specific
   DNS structures and standard DNS methods.  A general overview of the
   interfaces required between involved components is described in this
   document with future supporting documents giving technical
   specifications.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-drip-registries-15"/>
        </reference>
        <reference anchor="DRIP-AUTH" target="https://datatracker.ietf.org/doc/html/draft-ietf-drip-auth-49">
          <front>
            <title>DRIP Entity Tag Authentication Formats &amp; Protocols for Broadcast Remote ID</title>
            <author fullname="Adam Wiethuechter" initials="A." surname="Wiethuechter">
              <organization>AX Enterprize, LLC</organization>
            </author>
            <author fullname="Stuart W. Card" initials="S. W." surname="Card">
              <organization>AX Enterprize, LLC</organization>
            </author>
            <author fullname="Robert Moskowitz" initials="R." surname="Moskowitz">
              <organization>HTT Consulting</organization>
            </author>
            <date day="21" month="February" year="2024"/>
            <abstract>
              <t>   The Drone Remote Identification Protocol (DRIP), plus trust policies
   and periodic access to registries, augments Unmanned Aircraft System
   (UAS) Remote Identification (RID), enabling local real time
   assessment of trustworthiness of received RID messages and observed
   UAS, even by Observers lacking Internet access.  This document
   defines DRIP message types and formats to be sent in Broadcast RID
   Authentication Messages to verify that attached and recent detached
   messages were signed by the registered owner of the DRIP Entity Tag
   (DET) claimed.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-drip-auth-49"/>
        </reference>
        <reference anchor="MOSKOWITZ-CSRID" target="https://datatracker.ietf.org/doc/html/draft-moskowitz-drip-crowd-sourced-rid-12">
          <front>
            <title>Crowd Sourced Remote ID</title>
            <author fullname="Robert Moskowitz" initials="R." surname="Moskowitz">
              <organization>HTT Consulting</organization>
            </author>
            <author fullname="Stuart W. Card" initials="S. W." surname="Card">
              <organization>AX Enterprize</organization>
            </author>
            <author fullname="Adam Wiethuechter" initials="A." surname="Wiethuechter">
              <organization>AX Enterprize</organization>
            </author>
            <author fullname="Shuai Zhao" initials="S." surname="Zhao">
              <organization>Intel</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <date day="8" month="April" year="2024"/>
            <abstract>
              <t>   This document describes using the ASTM Broadcast Remote ID (B-RID)
   specification in a "crowd sourced" smart phone or fixed receiver
   asset environment to provide much of the ASTM and FAA envisioned
   Network Remote ID (Net-RID) functionality.  This crowd sourced B-RID
   (CS-RID) data will use multilateration to add a level of reliability
   in the location data on the Uncrewed Aircraft (UA).  The crowd
   sourced environment will also provide a monitoring coverage map to
   authorized observers.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-moskowitz-drip-crowd-sourced-rid-12"/>
        </reference>
        <reference anchor="RFC5238" target="https://www.rfc-editor.org/info/rfc5238">
          <front>
            <title>Datagram Transport Layer Security (DTLS) over the Datagram Congestion Control Protocol (DCCP)</title>
            <author fullname="T. Phelan" initials="T." surname="Phelan"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This document specifies the use of Datagram Transport Layer Security (DTLS) over the Datagram Congestion Control Protocol (DCCP). DTLS provides communications privacy for applications that use datagram transport protocols and allows client/server applications to communicate in a way that is designed to prevent eavesdropping and detect tampering or message forgery. DCCP is a transport protocol that provides a congestion-controlled unreliable datagram service. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5238"/>
          <seriesInfo name="DOI" value="10.17487/RFC5238"/>
        </reference>
        <reference anchor="RFC4303" target="https://www.rfc-editor.org/info/rfc4303">
          <front>
            <title>IP Encapsulating Security Payload (ESP)</title>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="December" year="2005"/>
            <abstract>
              <t>This document describes an updated version of the Encapsulating Security Payload (ESP) protocol, which is designed to provide a mix of security services in IPv4 and IPv6. ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. This document obsoletes RFC 2406 (November 1998). [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4303"/>
          <seriesInfo name="DOI" value="10.17487/RFC4303"/>
        </reference>
        <reference anchor="RFC7049" target="https://www.rfc-editor.org/info/rfc7049">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <date month="October" year="2013"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7049"/>
          <seriesInfo name="DOI" value="10.17487/RFC7049"/>
        </reference>
        <reference anchor="RFC7252" target="https://www.rfc-editor.org/info/rfc7252">
          <front>
            <title>The Constrained Application Protocol (CoAP)</title>
            <author fullname="Z. Shelby" initials="Z." surname="Shelby"/>
            <author fullname="K. Hartke" initials="K." surname="Hartke"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2014"/>
            <abstract>
              <t>The Constrained Application Protocol (CoAP) is a specialized web transfer protocol for use with constrained nodes and constrained (e.g., low-power, lossy) networks. The nodes often have 8-bit microcontrollers with small amounts of ROM and RAM, while constrained networks such as IPv6 over Low-Power Wireless Personal Area Networks (6LoWPANs) often have high packet error rates and a typical throughput of 10s of kbit/s. The protocol is designed for machine- to-machine (M2M) applications such as smart energy and building automation.</t>
              <t>CoAP provides a request/response interaction model between application endpoints, supports built-in discovery of services and resources, and includes key concepts of the Web such as URIs and Internet media types. CoAP is designed to easily interface with HTTP for integration with the Web while meeting specialized requirements such as multicast support, very low overhead, and simplicity for constrained environments.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7252"/>
          <seriesInfo name="DOI" value="10.17487/RFC7252"/>
        </reference>
        <reference anchor="RFC7401" target="https://www.rfc-editor.org/info/rfc7401">
          <front>
            <title>Host Identity Protocol Version 2 (HIPv2)</title>
            <author fullname="R. Moskowitz" initials="R." role="editor" surname="Moskowitz"/>
            <author fullname="T. Heer" initials="T." surname="Heer"/>
            <author fullname="P. Jokela" initials="P." surname="Jokela"/>
            <author fullname="T. Henderson" initials="T." surname="Henderson"/>
            <date month="April" year="2015"/>
            <abstract>
              <t>This document specifies the details of the Host Identity Protocol (HIP). HIP allows consenting hosts to securely establish and maintain shared IP-layer state, allowing separation of the identifier and locator roles of IP addresses, thereby enabling continuity of communications across IP address changes. HIP is based on a Diffie-Hellman key exchange, using public key identifiers from a new Host Identity namespace for mutual peer authentication. The protocol is designed to be resistant to denial-of-service (DoS) and man-in-the-middle (MitM) attacks. When used together with another suitable security protocol, such as the Encapsulating Security Payload (ESP), it provides integrity protection and optional encryption for upper-layer protocols, such as TCP and UDP.</t>
              <t>This document obsoletes RFC 5201 and addresses the concerns raised by the IESG, particularly that of crypto agility. It also incorporates lessons learned from the implementations of RFC 5201.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7401"/>
          <seriesInfo name="DOI" value="10.17487/RFC7401"/>
        </reference>
        <reference anchor="RFC7748" target="https://www.rfc-editor.org/info/rfc7748">
          <front>
            <title>Elliptic Curves for Security</title>
            <author fullname="A. Langley" initials="A." surname="Langley"/>
            <author fullname="M. Hamburg" initials="M." surname="Hamburg"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2016"/>
            <abstract>
              <t>This memo specifies two elliptic curves over prime fields that offer a high level of practical security in cryptographic applications, including Transport Layer Security (TLS). These curves are intended to operate at the ~128-bit and ~224-bit security level, respectively, and are generated deterministically based on a list of required properties.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="7748"/>
          <seriesInfo name="DOI" value="10.17487/RFC7748"/>
        </reference>
        <reference anchor="RFC8032" target="https://www.rfc-editor.org/info/rfc8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz"/>
            <author fullname="C. Vigano" initials="C." surname="Vigano"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049). Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8610"/>
          <seriesInfo name="DOI" value="10.17487/RFC8610"/>
        </reference>
        <reference anchor="RFC9374" target="https://www.rfc-editor.org/info/rfc9374">
          <front>
            <title>DRIP Entity Tag (DET) for Unmanned Aircraft System Remote ID (UAS RID)</title>
            <author fullname="R. Moskowitz" initials="R." surname="Moskowitz"/>
            <author fullname="S. Card" initials="S." surname="Card"/>
            <author fullname="A. Wiethuechter" initials="A." surname="Wiethuechter"/>
            <author fullname="A. Gurtov" initials="A." surname="Gurtov"/>
            <date month="March" year="2023"/>
            <abstract>
              <t>This document describes the use of Hierarchical Host Identity Tags (HHITs) as self-asserting IPv6 addresses, which makes them trustable identifiers for use in Unmanned Aircraft System Remote Identification (UAS RID) and tracking.</t>
              <t>Within the context of RID, HHITs will be called DRIP Entity Tags (DETs). HHITs provide claims to the included explicit hierarchy that provides registry (via, for example, DNS, RDAP) discovery for third-party identifier endorsement.</t>
              <t>This document updates RFCs 7401 and 7343.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9374"/>
          <seriesInfo name="DOI" value="10.17487/RFC9374"/>
        </reference>
        <reference anchor="RFC9434" target="https://www.rfc-editor.org/info/rfc9434">
          <front>
            <title>Drone Remote Identification Protocol (DRIP) Architecture</title>
            <author fullname="S. Card" initials="S." surname="Card"/>
            <author fullname="A. Wiethuechter" initials="A." surname="Wiethuechter"/>
            <author fullname="R. Moskowitz" initials="R." surname="Moskowitz"/>
            <author fullname="S. Zhao" initials="S." role="editor" surname="Zhao"/>
            <author fullname="A. Gurtov" initials="A." surname="Gurtov"/>
            <date month="July" year="2023"/>
            <abstract>
              <t>This document describes an architecture for protocols and services to support Unmanned Aircraft System Remote Identification and tracking (UAS RID), plus UAS-RID-related communications. This architecture adheres to the requirements listed in the Drone Remote Identification Protocol (DRIP) Requirements document (RFC 9153).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9434"/>
          <seriesInfo name="DOI" value="10.17487/RFC9434"/>
        </reference>
        <reference anchor="FAA-FR" target="https://www.govinfo.gov/content/pkg/FR-2021-01-15/pdf/2020-28948.pdf">
          <front>
            <title>FAA Remote Identification of Unmanned Aircraft</title>
            <author>
              <organization>United States Federal Aviation Administration (FAA)</organization>
            </author>
            <date year="2021" month="January"/>
          </front>
        </reference>
        <reference anchor="F3411" target="https://www.astm.org/f3411-22a.html">
          <front>
            <title>Standard Specification for Remote ID and Tracking</title>
            <author>
              <organization>ASTM International</organization>
            </author>
            <date year="2022" month="July"/>
          </front>
          <seriesInfo name="ASTM" value="F3411-22A"/>
          <seriesInfo name="DOI" value="10.1520/F3411-22A"/>
        </reference>
        <reference anchor="GPS-IONOSPHERE" target="https://doi.org/10.1002/2015JA021629">
          <front>
            <title>Ionospheric response to the 2015 St. Patrick's Day storm A global multi-instrumental overview</title>
            <author>
              <organization>Unknown</organization>
            </author>
            <date year="2015" month="September"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="network-rid" numbered="true" toc="default">
      <name>Network RID Overview</name>
      <t>This appendix is normative and an overview of the Network RID portion of <xref target="F3411" format="default"/>.</t>
      <t>This appendix is intended a guide to the overall object of Network RID and generally how it functions in context with a CS-RID SDSP. Please refer to the actual standard of <xref target="F3411" format="default"/> for specifics in implementing said protocol.</t>
      <t>For CS-RID the goal is for the SDSP to act as both a Network RID Service Provider (SP) and Network RID Display Provider (DP). The endpoints and models MUST follow the specifications for these roles so UTM clients do not need to implement specific endpoints for CS-RID and can instead leverage existing endpoints.</t>
      <t>An SDSP SHOULD use Network RID, as it is able, to query a USS for UAS sending telemetry in a given area to integrate into the Broadcast RID it is receiving from Finders. How the SDSP discovers which USS to query is out of scope for this document.</t>
      <t>An SDSP MUST provide the Network RID DP interface for clients that wish to subscribe for updates on aircraft in the SDSP aggregated coverage area.</t>
    </section>
    <section anchor="sdsp-functions" numbered="true" toc="default">
      <name>Additional SDSP Functionality</name>
      <t>This appendix is informative.</t>
      <section anchor="multilateration" numbered="true" toc="default">
        <name>Multilateration</name>
        <t>The SDSP can confirm/correct the UA location provided in the Location/Vector message by using multilateration on data provided by at least 3 Finders that reported a specific Location/Vector message (Note that 4 Finders are needed to get altitude sign correctly).  In fact, the SDSP can calculate the UA location from 3 observations of any Broadcast RID message.  This is of particular value if the UA is only within reception range of the Finders for messages other than the Location/Vector message.</t>
        <t>This feature is of particular value when the Finders are fixed assets with highly reliable GPS location, around a high value site like an airport or large public venue.</t>
      </section>
      <section anchor="finder-map" numbered="true" toc="default">
        <name>Finder Map</name>
        <t>The Finders are regularly providing their SDSP with their location. With this information, the SDSP can maintain a monitoring map. That is a map of approximate coverage range of their registered and active Finders.</t>
      </section>
      <section anchor="managing-finders" numbered="true" toc="default">
        <name>Managing Finders</name>
        <t>Finder density will vary over time and space. For example, sidewalks outside an urban train station can be packed with pedestrians at rush hour, either coming or going to their commute trains.  An SDSP may want to proactively limit the number of active Finders in such situations.</t>
        <t>Using the Finder mapping feature, the SDSP can instruct Finders to NOT proxy Broadcast RID messages. These Finders will continue to report their location and through that reporting, the SDSP can instruct them to again take on the proxying role.  For example a Finder moving slowly along with dozens of other slow-moving Finders may be instructed to suspend proxying.  Whereas a fast-moving Finder at the same location (perhaps a connected car or a pedestrian on a bus) would not be asked to suspend proxying as it will soon be out of the congested area.</t>
        <t>Such operation SHOULD be using transports such as HIP or DTLS.</t>
      </section>
    </section>
    <section anchor="gps-inaccuracy" numbered="true" toc="default">
      <name>GPS Inaccuracy</name>
      <t>This appendix is informative.</t>
      <t>Single-band, consumer grade, GPS on small platforms is not accurate, particularly for altitude.  Longitude/latitude measurements can easily be off by 3M based on satellite position and clock accuracy.  Altitude accuracy is reported in product spec sheets and actual tests to be 3x less accurate. Altitude accuracy is hindered by ionosphere activity. In fact, there are studies of ionospheric events (e.g. 2015 St. Patrick's day <xref target="GPS-IONOSPHERE" format="default"/>) as measured by GPS devices at known locations.  Thus where a UA reports it is rarely accurate, but may be accurate enough to map to visual sightings of single UA.</t>
      <t>Smartphones and particularly smartwatches are plagued with the same challenge, though some of these can combine other information like cell tower data to improve location accuracy. FCC E911 accuracy, by FCC rules is NOT available to non-E911 applications due to privacy concerns, but general higher accuracy is found on some smart devices than reported for consumer UA.  The SDSP MAY have information on the Finder location accuracy that it can use in calculating the accuracy of a multilaterated location value.  When the Finders are fixed assets, the SDSP may have very high trust in their location for trusting the multilateration calculation over the UA reported location.</t>
    </section>
    <section anchor="cddl-definitions" numbered="true" toc="default">
      <name>CDDL Definitions</name>
      <t>This appendix is normative.</t>
      <section anchor="f3411-message-set" numbered="true" toc="default">
        <name>F3411 Message Set</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
astm-tag = #6.xxx(astm-message)
astm-message = b-message / mp-message

; Message (m-type)
; Message Pack (0xF)
mp-message = [
  m-counter, m-type, p-ver, 
  m-size, num-messages, [+ b-message]
]

b-message = [m-counter, m-type, p-ver, $$b-data]

; Basic ID (0x0), Location (0x1)
$$b-data //= (uas-type, uas-id-type, uas-id)
$$b-data //= (
  status, height-type, track-direction, horz-spd, 
  vert-spd, lat, lon, geo-alt baro-alt, height, 
  h-acc, v-acc, b-acc, s-acc, t-acc, timemark
)

; Authentication (0x2)
$$b-data //= (page-num, a-type, lpi, length, auth-ts, pg-data)

; Self ID (0x3), System (0x4), Operator ID (0x5)
$$b-data //= (desc-type, desc)
$$b-data //= (op-type, class-type, lat, lon, area-count, 
  area-radius, area-floor, area-ceiling, geo-alt, 
  eu-class, eu-cat, utc-timestamp
)
$$b-data //= (op-id-type, op-id)

; Basic ID (0x0) Fields
uas-type = nibble-field
uas-id-type = nibble-field
uas-id = bstr .size(20)

; Location (0x1) Fields
status = nibble-field
height-type = bool
track-direction = uint
horz-spd = uint .size(1)
vert-spd = uint .size(1)
baro-alt = uint .size(2)
height = uint .size(2)
h-acc = nibble-field
v-acc = nibble-field
b-acc = nibble-field
s-acc = nibble-field
t-acc = nibble-field
timemark = uint .size(2)  ; tenths of seconds since current hour

; Authentication (0x2) Fields
page-num = nibble-field
a-type = nibble-field
lpi = nibble-field
length = uint .size(1)
auth-ts = time  ; converted from ASTM F3411-22a epoch
pg-data = bstr .size(23)
a-data = bstr .size(0..255)
adl = uint .size(1)
add-data = bstr .size(0..255)

; Self ID (0x3) Fields
desc-type = uint .size(1)
desc = tstr .size(23)

; System (0x4) Fields
op-type = 0..3
class-type = 0..8
area-count = 1..255
area-radius = float
area-floor = float
area-ceiling = float
eu-class = nibble-field
eu-cat = nibble-field
utc-timestamp = time  ; converted from ASTM F3411-22a epoch

; Operator ID (0x5) Fields
op-id-type = uint .size(1)
op-id = tstr .size(20)

; Message Pack (0xF) Fields
m-size = uint .size(1)  ; always set to decimal 25
num-messages = 1..9

; Other fields
m-counter = uint .size(1)
m-type = nibble-field
p-ver = nibble-field
lat = uint .size(4)      ; scaled by 10^7
lon = uint .size(4)      ; scaled by 10^7
geo-alt = uint .size(2)  ; WGS84-HAE in meters
nibble-field = 0..15
]]></artwork>
      </section>
      <section anchor="uas-data" numbered="true" toc="default">
        <name>UAS Data</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
uas-tag = #6.xxx(uas-data)
uas-data = {
? uas_type: uas-type,
? uas_id_type: uas-id-type,
? uas_id: uas-id,
? ua_status: status,
? track_direction: track-direction,
? ua_geo_position: #6.103(array)
? ua_baro_altitude: baro-alt,
? ua_height: height,
? vertical_speed: vert-spd,
? horizontal_speed: horz-spd,
? auth_type: a-type,
? auth_data: a-data,
? additional_data: add-data,
? self_id: desc,
? ua_classification: class-type
? operator_type: op-type,
? operator_geo_position: #6.103(array)
? area_count: area-count,
? area_radius: area-radius,
? area_floor: area-floor,
? area_ceiling: area-ceiling,
? eu_class: eu-class,
? eu_category: eu-cat,
? system_timestamp: utc-timestamp,
? operator_id: op-id
}
]]></artwork>
      </section>
      <section anchor="complete-cddl" numbered="true" toc="default">
        <name>Complete CDDL</name>
        <artwork name="" type="" align="left" alt=""><![CDATA[
$$scope-ext //= (
  #6.103,
  ? radius: float  ; meters
)
$$evidence //= ([+ #6.xxx(detection) / #6.xxx(ufr) / #6.xxx(command)],)
$$endorser //= (hhit,)
$$signature //= (eddsa25519-sig,)

command-tag = #6.xxx(command)
command = [command-id, $$command-data]

$$command-data //= (#6.103, ? radius,)
$$command-data //= (uas-id / mac-addr, track-id, ? priority,)
$$command-data //= (track-id, priority)
$$command-data //= ({* tstr => any},)  ; parameter update


ufr-tag = #6.xxx(ufr)
ufr = {
  timestamp: time,
  ? priority: uint .size(2),  ; For HIP/DTLS
  ? track_id: uint .size(2),  ; For HIP/DTLS, 0=Mixed Detections
  ? position: #6.103,
  ? radius: float,  ; meters
  detection_count: 1..10,
  detections: [+ #6.xxx(detection)],
}

detection-tag = #6.xxx(detection)
detection = {
  timestamp: time,
  ? position: #6.103(array),
  ? radius: float,  ; meters
  interface: [+ i-face],
  data: bstr / #6.xxx(astm-message) / #6.xxx(uas-data)
}

uas-tag = #6.xxx(uas-data)
uas-data = {
? uas_type: uas-type,
? uas_id_type: uas-id-type,
? uas_id: uas-id,
? ua_status: status,
? track_direction: track-direction,
? ua_geo_position: #6.103(array)
? ua_baro_altitude: baro-alt,
? ua_height: height,
? vertical_speed: vert-spd,
? horizontal_speed: horz-spd,
? auth_type: a-type,
? auth_data: a-data,
? additional_data: add-data,
? self_id: desc,
? ua_classification: class-type
? operator_type: op-type,
? operator_geo_position: #6.103(array)
? area_count: area-count,
? area_radius: area-radius,
? area_floor: area-floor,
? area_ceiling: area-ceiling,
? eu_class: eu-class,
? eu_category: eu-cat,
? system_timestamp: utc-timestamp,
? operator_id: op-id
}

astm-tag = #6.xxx(astm-message)
astm-message = b-message / mp-message

; Message (m-type)
; Message Pack (0xF)
mp-message = [
  m-counter, m-type, p-ver, 
  m-size, num-messages, [+ b-message]
]

b-message = [m-counter, m-type, p-ver, $$b-data]

; Basic ID (0x0), Location (0x1)
$$b-data //= (uas-type, uas-id-type, uas-id)
$$b-data //= (
  status, height-type, track-direction, horz-spd, 
  vert-spd, lat, lon, geo-alt baro-alt, height, 
  h-acc, v-acc, b-acc, s-acc, t-acc, timemark
)

; Authentication (0x2)
$$b-data //= (page-num, a-type, lpi, length, auth-ts, pg-data)

; Self ID (0x3), System (0x4), Operator ID (0x5)
$$b-data //= (desc-type, desc)
$$b-data //= (op-type, class-type, lat, lon, area-count, 
  area-radius, area-floor, area-ceiling, geo-alt, 
  eu-class, eu-cat, utc-timestamp
)
$$b-data //= (op-id-type, op-id)

; Basic ID (0x0) Fields
uas-type = nibble-field
uas-id-type = nibble-field
uas-id = bstr .size(20)

; Location (0x1) Fields
status = nibble-field
height-type = bool
track-direction = uint
horz-spd = uint .size(1)
vert-spd = uint .size(1)
baro-alt = uint .size(2)
height = uint .size(2)
h-acc = nibble-field
v-acc = nibble-field
b-acc = nibble-field
s-acc = nibble-field
t-acc = nibble-field
timemark = uint .size(2)  ; tenths of seconds since current hour

; Authentication (0x2) Fields
page-num = nibble-field
a-type = nibble-field
lpi = nibble-field
length = uint .size(1)
auth-ts = time  ; converted from ASTM F3411-22a epoch
pg-data = bstr .size(23)
a-data = bstr .size(0..255)
adl = uint .size(1)
add-data = bstr .size(0..255)

; Self ID (0x3) Fields
desc-type = uint .size(1)
desc = tstr .size(23)

; System (0x4) Fields
op-type = 0..3
class-type = 0..8
area-count = 1..255
area-radius = float
area-floor = float
area-ceiling = float
eu-class = nibble-field
eu-cat = nibble-field
utc-timestamp = time  ; converted from ASTM F3411-22a epoch

; Operator ID (0x5) Fields
op-id-type = uint .size(1)
op-id = tstr .size(20)

; Message Pack (0xF) Fields
m-size = uint .size(1)  ; always set to decimal 25
num-messages = 1..9

; Other fields
m-counter = uint .size(1)
m-type = nibble-field
p-ver = nibble-field
lat = uint .size(4)      ; scaled by 10^7
lon = uint .size(4)      ; scaled by 10^7
geo-alt = uint .size(2)  ; WGS84-HAE in meters
nibble-field = 0..15
i-face = (bcast-type, mac-addr)
bcast-type = 0..3 ; BLE Legacy, BLE Long Range, Wi-Fi NAN, 802.11 Beacon
mac-addr = #6.48(bstr)
command-id = uint .size(1)
]]></artwork>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
6+t4SitZrDw5i+TclDMUbm+ZDJtzPGT1U4yGKtLp2bXttABsUWlcnafyFg9C
s06ilPGcXW06qCaVn9S2NJ/a0NWGdihUzmjCJSfqU+FJtVQpM6pdQeBZoV9t
2LBrBe6ZdN1q48ZamXSTrmtiNVrt6x9PxcfRrBa3LuJyO9HcIa8Y35lYgN73
P/zwA0RKDEaX5TuRJwdKPH7x0KiFYRoQhkIZc820hTLBNqDSAKXAbvU3r44/
ixK4jSh0ntksKWWY6CWUrk4Zj6PIhofPnh287OJKZ6v8NrbUy3CTdQ05Hmra
En81bRkEPxIirPsKJ2AM9OV4g6u67x8dAtjcxKsFM9WuM1Dqgb6hEx4siXyz
pW8Vqkcakuu8vXSjYVv12IikAeVcxBmfWJnrcGpdKfnoubREvtPzJZUfkN4d
n4SoTqVIDmJbqw8jKnmBnoDAKxptnu6lO5xml4JqZ4I2EA1L2Lqll1Q6Xao3
eaPubLQ39vIwFZpei8UGWTrf4qRfGrTBhk7T55L7rSVpWagM8V7XR8QmhmZK
2BXWfegL6DGJi0LSv1onyBteVjqoVBw+2/whqCn3/g+btLAVINJxTZEDPyDK
VQJqnewHwYF3e9o68NiahIUqblhXcNirv2gcC7d7GxcuIf+PohN6EW5Y2wd0
THMzz49f6PSSrsqUsOCo5yh0+Qmxc7I/oVlqfTvLM+16a2bQTcz6iIs6G34+
bGQrvM8Pjre9JFQIiNBNTbYl9ADlCfZlJ+5Newh2V5Izr3Ib3CFKIHvxxoXA
M5erUD/hutT+RjL1crQsFLexgiTUBM96YqiVjcf7TIc1F7JOoZOhR0kU7p4N
3YQ8oaX78jez9/c9TQTLfDwE9iUCx0uVnswH4P872ShNSJWPDALniuoesOZB
kDKvC0S3UhnkRZckg/w1S92+yAtg5DNkrpKZu4LHWo2HKusaY0RkZF9ghddA
bsc03bGEhBLk0066HOV61b1dnSN/6/rEGhBumpKqxdqhX1escbvAh1mkAVfB
iiR2SGkNbmwmT1c1RD7JB1fe2DXQQyM15+KAwZUrQiq4kudUvg+f0acJr6X6
EAJTreD1o8rGhVvQhaSeN+HUrgT6xTKT3vgNIRWb7Gd3fbNZhQ8rG9vf8sKO
H3OCpAH9Xh3MVwT5BPAn8WDuKQ9pq7uqGIg0C6Fb2CiHatKV2IdanDkr+edK
Adw/+DaPBpyzX9EtVgEMOTk4+QcNm8MxDz9Idw9meIdLMiw+E6N7RSy9i9L9
4xGval/VATWw1dbrkZ7aiFueS5RC3TxcLIT0XGpS36nY+/IvHUpzrQ0USWMg
9dFQinurunXaMuWlJ1ganSCO4ypr0CkVc7od7Oy6JSXaV6Zt6rAvsPhaXDbK
66MS7CXwTfZhKefqGKyS7laGPIoXab5SS4H365pqnR/FnK8qVUgJ1xexGXNy
K1sFjdBjCe089/urm1Y1pTZ6SR3Y6DmNO9PGdKZCErG2muViRPe3adhA52SH
lGjR/w0qtLHl2mDxeQX6TVkMcz54O5CT7tKk4vonEQTxmofxj10fVK5D5MHV
hOpCMgnDY+Fm9+mYHXBVJmPAJm89FGQuVuZUWqSe+NSWE1zFN62ztmbQaN6W
ddM5VUe+3uHxsBjPvrH4iLs/5EUauXvYRrQvlXhGm2wWk2OHLBRyZc1ysq+L
IhBv1hddkbSqFooQVjVEaTdr9TGT+lZ/EE9Jakmmqgv2tkzK6DeTDKSZLgXc
KziQQwVQTK08rTdCkwBXpIXrn8Ha8FSQ68+R2EKK//elN2yNQwU9c5XGjLoE
3/v3wSAwR+sbvFt061kWV7mS2avWPwH1YVIfLnVlT28MWUzOw6p62ExshWPJ
MkiWOWytbsux2avdjbbM08Qu0nDVuOv0yrXRgKOLPMlcatBVXsVeuN6VZinO
QQ9HHvmS81SsbR1cgWyLEZLDBQyEPAPqil790oY38Ecf2U4Sw3HzJKkcFonv
EYhq+797rBEKNmK4VpcYG9bUhMOJdEgHQo5i5c7PSJ/YYFh1/tCTwZoWKz2Q
y+yk67qRSM61StdnyNZav0rNk7DVWPuI6mNAgPiOiUJulFgJpK2rPpKYirZ/
07kabpF3jOsadXrVOHYiiVS3NYL07gjXiW39aRq5RTN6emrVn9dMmvCyPgNa
HeMhh8R2Dqq+KL35ldMvxL8wmg9PbWQX3UrptlmMxs9euB7Kdud04ySZNn1l
k6SY77FHTQ7/ag9omteNbVXPBK+9cRf2/gvuZsXdhRyjlXOta43aZIO4zmbX
LXhHc1Cao7q2r0d4HWQOaxF/7IU7PLWtjx23Tm9SXVRhpjFPgcD3L3kEC6DL
uFWmKygtG9+xr2Wn3hphSJiOl9LktM4KkcYj1+fqNFgymavtXfF4hT+1j9uY
+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

-->

</rfc>
