<?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-01" 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="DETIM Architecture">Crowd Sourced Remote ID</title>
    <seriesInfo name="Internet-Draft" value="draft-wiethuechter-drip-csrid-01"/>
    <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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
+X8Bl5t6lohuAAA=

-->

</rfc>
