<?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-ietf-drip-auth-24" 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="DRIP Auth Formats">DRIP Entity Tag Authentication Formats &amp; Protocols for Broadcast Remote ID</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-drip-auth-24"/>
    <author initials="A." surname="Wiethuechter (Editor)" fullname="Adam Wiethuechter">
      <organization>AX Enterprize, LLC</organization>
      <address>
        <postal>
          <street>4947 Commercial Drive</street>
          <city>Yorkville</city>
          <region>NY</region>
          <code>13495</code>
          <country>USA</country>
        </postal>
        <email>adam.wiethuechter@axenterprize.com</email>
      </address>
    </author>
    <author initials="S." surname="Card" fullname="Stuart Card">
      <organization>AX Enterprize, LLC</organization>
      <address>
        <postal>
          <street>4947 Commercial Drive</street>
          <city>Yorkville</city>
          <region>NY</region>
          <code>13495</code>
          <country>USA</country>
        </postal>
        <email>stu.card@axenterprize.com</email>
      </address>
    </author>
    <author 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>
    <date year="2022" month="October" day="12"/>
    <area>Internet</area>
    <workgroup>DRIP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes how to add trust into the Broadcast Remote ID (RID) specification discussed in the DRIP Architecture; first trust in the RID ownership and second in the source of the RID messages. It defines message types and associated formats (sent within the Authentication Message) that can be used to authenticate past messages sent by an unmanned aircraft (UA) and provide proof of UA trustworthiness even in the absence of Internet connectivity at the receiving node.</t>
    </abstract>
  </front>
  <middle>
    <section anchor="introduction" numbered="true" toc="default">
      <name>Introduction</name>
      <t>The initial regulations (e.g. <xref target="FAA-14CFR" format="default"/>) and standards (e.g. <xref target="F3411" format="default"/>) for Unmanned Aircraft (UA) Systems (UAS) Remote Identification and tracking (RID) do not address trust. This is a requirement that will need to be addressed for various different parties that have a stake in the safe operation of National Airspace Systems (NAS). DRIP's goal as stated in the charter is:</t>
      <ul empty="true" spacing="normal">
        <li>to specify how RID can be made trustworthy and available in both Internet and local-only connected scenarios, especially in emergency situations.</li>
      </ul>
      <t>UAS often operate in a volatile environment. Small UA offer little capacity for computation and communication. UAS RID must also be accessible with ubiquitous and inexpensive devices without modification. This limits options.</t>
      <t>Generally two communication schemes for UAS RID are considered: Broadcast and Network. This document focuses on adding trust to Broadcast RID (Section 3.2 of <xref target="RFC9153" format="default"/>).</t>
      <t>Without authentication, an Observer has no basis for trust. As the messages are sent via wireless broadcast, they may be transmitted anywhere within wireless range and making any claims desired by the sender.</t>
      <t>DRIP Specific Authentication Methods, carried in ASTM Authentication Messages (Message Type 0x2) are defined herein. These methods, when properly used, enable a high level of trust in that the content of other ASTM Messages was generated by their claimed registered source. These messages are designed to provide the Observers with immediately actionable information.</t>
      <t>This authentication approach also provides some error correction (<xref target="fec-details" format="default"/>) as mandated by the United States (US) Federal Aviation Administration (FAA) <xref target="FAA-14CFR" format="default"/>, which is missing from <xref target="F3411" format="default"/> over Legacy Transports (Bluetooth 4.x).</t>
      <t>These DRIP enhancements to <xref target="F3411" format="default"/> further support the important use case of Observers who are sometimes offline at the time of observation.</t>
      <t>A summary of DRIP requirements <xref target="RFC9153" format="default"/> addressed herein is provided in <xref target="req-sum" format="default"/>.</t>
    </section>
    <section anchor="terminology" numbered="true" toc="default">
      <name>Terminology</name>
      <section anchor="required-terminology" numbered="true" toc="default">
        <name>Required Terminology</name>
        <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 <xref target="RFC2119" format="default"/> <xref target="RFC8174" format="default"/> when, and only when, they appear in all capitals, as shown here.</t>
      </section>
      <section anchor="definitions" numbered="true" toc="default">
        <name>Definitions</name>
        <t>This document makes use of the terms defined in <xref target="RFC9153" format="default"/>. In addition, the following terms are defined:</t>
        <t>DRIP Entity Tag (DET):</t>
        <ul empty="true" spacing="normal">
          <li>An HHIT that is used as an identifier in DRIP as specified in <xref target="drip-rid" format="default"/>.</li>
        </ul>
        <t>DRIP Identity Management Entity:</t>
        <ul empty="true" spacing="normal">
          <li>Registry service for DETs and other information in DRIP as specified in <xref target="drip-registries" format="default"/>.</li>
        </ul>
        <t>Legacy Transports:</t>
        <ul empty="true" spacing="normal">
          <li>use of broadcast frames (Bluetooth 4.x) as specified in <xref target="F3411" format="default"/>.</li>
        </ul>
        <t>Extended Transports:</t>
        <ul empty="true" spacing="normal">
          <li>use of extended advertisements (Bluetooth 5.x), service info (Wi-Fi NaN) or vendor specific element information (Wi-Fi BEACON) in broadcast frames as specified in <xref target="F3411" format="default"/>. Must use ASTM Message Pack (Message Type 0xF).</li>
        </ul>
        <t>Hierarchial Host Identity Tag (HHIT):</t>
        <ul empty="true" spacing="normal">
          <li>A special-use, non-routable, IPv6 address constructed as specified in <xref target="drip-rid" format="default"/>.</li>
        </ul>
        <t>HHIT Domain Authority (HDA):</t>
        <ul empty="true" spacing="normal">
          <li>A class of DIME usually associated with a USS in UTM.</li>
        </ul>
        <t>Hierarchial ID (HID):</t>
        <ul empty="true" spacing="normal">
          <li>Encoding of the RAA and HDA into the HHIT structure as defined in <xref target="drip-rid" format="default"/>.</li>
        </ul>
        <t>Host Identity (HI):</t>
        <ul empty="true" spacing="normal">
          <li>Public key have of an asymmetric keypair used in generating a HHIT as specified in <xref target="drip-rid" format="default"/>.</li>
        </ul>
        <t>Registered Assigning Authority (RAA):</t>
        <ul empty="true" spacing="normal">
          <li>A class of DIME usually associated with a CAA such as the US FAA.</li>
        </ul>
      </section>
    </section>
    <section anchor="background" numbered="true" toc="default">
      <name>Background</name>
      <section anchor="reasoning-for-ietf-drip-authentication" numbered="true" toc="default">
        <name>Reasoning for IETF DRIP Authentication</name>
        <t><xref target="F3411" format="default"/> defines Authentication Message framing only. It does not define authentication formats or methods. It explicitly anticipates several signature options, but does not fully define even those. <xref target="F3411" format="default"/> Annex A1 defines a Broadcast Authentication Verifier Service, which has a heavy reliance on Observer real-time connectivity to the Internet (specifically into UTM) that is not always guaranteed. Fortunately, <xref target="F3411" format="default"/> also allows third party standard Authentication Types, several of which DRIP defines herein.</t>
        <t>The standardization of specific formats to support the DRIP requirements in UAS RID for trustworthy communications over Broadcast RID is an important part of the chain of trust for a UAS ID. Per <xref target="drip-arch" format="default"/> in Section 5, there is a need to have Authentication formats to relay information for Observers to determine trust. No existing formats (defined in <xref target="F3411" format="default"/> or other organizations leveraging this feature) provide the functionality to satisfy this goal resulting in the work reflected in this document.</t>
        <section anchor="ua-attestation" numbered="true" toc="default">
          <name>UA Signed Evidence</name>
          <t>When an Observer receives a DRIP-based Authentication Message (<xref target="drip-wrapper" format="default"/>, <xref target="drip-manifest" format="default"/>, <xref target="drip-frame" format="default"/>) containing UA signed Evidence it SHOULD validate the signature using the HI corresponding to the UA's DET.</t>
          <t>The UA's HI, SHOULD be retrieved from DNS (Section 5, <xref target="drip-registries" format="default"/>). If not available it may have been revoked. Note that accurate revocation status is a DIME inquiry; DNS non-response is a hint to the DET being expired or revoked. It MAY be retrieved from a local cache, if present. The local cache SHOULD be populated by DNS lookups and/or by received Broadcast Endorsements (<xref target="dime-attestation" format="default"/>).</t>
          <t>Once the Observer has the registered UA's DET and HI, all further (or cached previous) DRIP-based Authentication Messages using the UA DET can be validated. Signed content, tied to the DET, can now be trusted to have been signed by the holder of the private key corresponding to the DET.</t>
          <t>Whether the content is true is a separate question which DRIP cannot address but sanity checks (<xref target="reqs" format="default"/>) are possible.</t>
        </section>
        <section anchor="dime-attestation" numbered="true" toc="default">
          <name>DIME Endorsement of UA DET/HI</name>
          <t>When an Observer receives a DRIP Link Authentication Message (<xref target="drip-link" format="default"/>) containing an Endorsement by the DIME of the UA DET/HI registration (<xref target="broadcast-endorsement" format="default"/>), it SHOULD validate the signature using the HI corresponding to the DIME's DET.</t>
          <t>The DIME's HI, SHOULD be retrieved from from DNS (Section 5, <xref target="drip-registries" format="default"/>), when available. It MAY be cached from a prior DNS lookup or it may be stored in a distinct local store.</t>
        </section>
        <section anchor="dime-hierarchy" numbered="true" toc="default">
          <name>DIME Hierarchy Endorsements</name>
          <t>An Observer can receive a series of DRIP Link Authentication Messages (<xref target="drip-link" format="default"/>) each one pertaining to a DIME's registration in the DIME above it in the hierarchy. Similar to <xref target="dime-attestation" format="default"/>, each link in this chain SHOULD be validated.</t>
        </section>
        <section anchor="rid-trust" numbered="true" toc="default">
          <name>UAS RID Trust</name>
          <t><xref target="ua-attestation" format="default"/>, <xref target="dime-attestation" format="default"/> and <xref target="dime-hierarchy" format="default"/> above complete the trust chain but the chain cannot yet be trusted as having any relevance to the observed UA because reply attacks are trivial. At this point the key nominally possessed by the UA is trusted but the UA has not yet been proven to possess that private key.</t>
          <t>It is necessary for the UA to prove possession by dynamically signing data that is unique and unpredictable but easily verified by the Observer. This can be in the form of DRIP Wrapper or Manifest (<xref target="drip-wrapper" format="default"/>, <xref target="drip-manifest" format="default"/>) containing at least one ASTM Vector/Location Message and/or System Message (which contains a timestamp). Verification of this signed data MUST be performed by the Observer as part of the received UAS RID information trust assessment (<xref target="trust-assessment" format="default"/>).</t>
        </section>
      </section>
      <section anchor="auth-message" numbered="true" toc="default">
        <name>ASTM Authentication Message</name>
        <t>The ASTM Authentication Message (Message Type 0x2) is a unique message in the Broadcast <xref target="F3411" format="default"/> standard as it is the only one that is larger than the Bluetooth 4.x frame size. To address this, it is defined as a set of "pages" that each fits into a single Bluetooth 4.x broadcast frame. For other media these pages are still used but all in a single frame.</t>
        <section anchor="auth-page" numbered="true" toc="default">
          <name>Authentication Page</name>
          <figure anchor="astm-auth-page">
            <name>Standard ASTM Authentication Message Page</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Page Header  |                                               |
+---------------+                                               |
|                                                               |
|                                                               |
|                     Authentication Payload                    |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Page Header: (1 byte)
    Authentication Type (4 bits)
    Page Number (4 bits)
    
Authentication Payload: (23 bytes per page)
    Authentication Payload, including headers. Null padded.
]]></artwork>
          </figure>
          <t>This document leverages Authentication Type 0x5, Specific Authentication Method (SAM), as the principal authentication container, defining a set of SAM Types in <xref target="drip-authentication-formats" format="default"/>. This is denoted in every Authentication Page in the <tt>Page Header</tt>. The SAM Type is denoted as a field in the <tt>Authentication Payload</tt> (see <xref target="sam-data" format="default"/>).</t>
          <t>The Authentication Message is structured as a set of pages. There is a technical maximum of 16 pages (indexed 0 to 15 in the <tt>Page Header</tt>) that can be sent for a single Authentication Message, with each page carrying a maximum 23-byte <tt>Authentication Payload</tt>. See <xref target="drip-restrictions" format="default"/> for more details. Over Bluetooth 4.x, these messages are "fragmented", with each page sent in a separate Bluetooth 4.x broadcast frame.</t>
          <t>Either as a single Authentication Message or a set of fragmented Authentication Message Pages the structure is further wrapped by outer ASTM framing and the specific link framing (Bluetooth or Wi-Fi).</t>
        </section>
        <section anchor="authentication-payload-field" numbered="true" toc="default">
          <name>Authentication Payload Field</name>
          <t><xref target="astm-auth" format="default"/> is the source data view of the data fields found in the Authentication Message as defined by <xref target="F3411" format="default"/>. This data is placed into <xref target="astm-auth-page" format="default"/>'s <tt>Authentication Payload</tt>, spanning multiple pages.</t>
          <figure anchor="astm-auth">
            <name>ASTM Authentication Message Fields</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                     Authentication Headers                    |
|                               +---------------+---------------+
|                               |                               |
+---------------+---------------+                               |
.                                                               .
.                Authentication Data / Signature                .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
|      ADL      |                                               |
+---------------+                                               |
.                                                               .
.                       Additional Data                         .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+

Authentication Headers: (6-bytes)
    As defined in F3411.

Authentication Data / Signature: (255-bytes max)
    Opaque authentication data.

Additional Data Length (ADL): (1-byte - unsigned)
    Length in bytes of Additional Data.

Additional Data: (255-bytes max):
    Data that follows the Authentication Data / Signature but
    is not considered part of the Authentication Data.
]]></artwork>
          </figure>
          <t>When <tt>Additional Data</tt> is being sent, a single unsigned byte (<tt>Additional Data Length</tt>) directly follows the <tt>Authentication Data / Signature</tt> and has the length, in bytes, of the following <tt>Additional Data</tt>. For DRIP, this field is used to carry Forward Error Correction as defined in <xref target="fec-details" format="default"/>.</t>
        </section>
        <section anchor="drip-restrictions" numbered="true" toc="default">
          <name>ASTM Broadcast RID Constraints</name>
          <section anchor="wireless-frame-constraints" numbered="true" toc="default">
            <name>Wireless Frame Constraints</name>
            <t>A UA has the option of broadcasting using Bluetooth (4.x and 5.x) or Wi-Fi (BEACON or NAN), see <xref target="reqs" format="default"/>.  With Bluetooth, FAA and other Civil Aviation Authorities (CAA) mandate transmitting simultaneously over both 4.x and 5.x. With Wi-Fi, use of BEACON is recommended. Wi-Fi NAN is another option, depending on the CAA. The same application layer information defined in <xref target="F3411" format="default"/> MUST be transmitted over all the physical layer interfaces performing the function of RID.</t>
            <t>Bluetooth 4.x presents a payload size challenge in that it can only transmit 25-bytes of payload per frame where the others all can support larger payloads per frame. However, the <xref target="F3411" format="default"/> messaging framing dictated by Bluetooth 4.x constraints is inherited by <xref target="F3411" format="default"/> over other media.</t>
          </section>
          <section anchor="paged-authentication-message-constraints" numbered="true" toc="default">
            <name>Paged Authentication Message Constraints</name>
            <t>To keep consistent formatting across the different transports (Legacy and Extended) and their independent restrictions, the authentication data being sent is REQUIRED to fit within the page limit that the most constrained existing transport can support. Under Broadcast RID the Extended Transport that can hold the least amount of authentication data is Bluetooth 5.x at 9 pages.</t>
            <t>As such DRIP transmitters are REQUIRED to adhere to the following when using the Authentication Message:</t>
            <ol spacing="normal" type="1"><li>
                <tt>Authentication Data / Signature</tt> data MUST fit in the first 9 pages (Page Numbers 0 through 8).</li>
              <li>The <tt>Length</tt> field in the <tt>Authentication Headers</tt> (which denotes the length in bytes of <tt>Authentication Data / Signature</tt> only) MUST NOT exceed the value of 201. This includes the SAM Type but excludes <tt>Additional Data</tt> such as FEC.</li>
            </ol>
          </section>
        </section>
      </section>
    </section>
    <section anchor="drip-authentication-formats" numbered="true" toc="default">
      <name>DRIP Authentication Formats</name>
      <t>All formats defined in this section are the content for the <tt>Authentication Data / Signature</tt> field in <xref target="astm-auth" format="default"/> and use the Specific Authentication Method (SAM, Authentication Type 0x5). The first byte of the <tt>Authentication Data / Signature</tt> of <xref target="astm-auth" format="default"/>, is used to multiplex between these various formats.</t>
      <t>When sending data over a medium that does not have underlying Forward Error Correction (FEC), for example Bluetooth 4.x, then <xref target="fec-details" format="default"/> MUST be used. <xref target="auth-state-diagrams" format="default"/> gives a high-level overview of a state machine for decoding and determining a trustworthiness state. <xref target="appendix-c" format="default"/> shows an example of using the formats defined in this section.</t>
      <section anchor="drip-authentication-field-definitions" numbered="true" toc="default">
        <name>DRIP Authentication Field Definitions</name>
        <t>ASTM Message (25-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Full ASTM Message as defined in <xref target="F3411" format="default"/>; specifically Message Types 0x0, 0x1, 0x3, 0x4, and 0x5</li>
        </ul>
        <t>ASTM Message Hash (8-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Hash of a single full ASTM Message using hash operations described in (<xref target="hash-op" format="default"/>). Multiple hashes MUST be in Message Type order.</li>
        </ul>
        <t>Broadcast Endorsement (136-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>DIME HI over UA DET/HI. Generated by a DIME during a UA DET, being used as a Session ID, registration. Used in <xref target="drip-link" format="default"/>.</li>
        </ul>
        <t>Current Manifest Hash (12-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Hash of the current Manifest Message (<xref target="drip-manifest" format="default"/>). See <xref target="block-hashes" format="default"/>.</li>
        </ul>
        <t>Evidence (0 to 112 bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Opaque evidence data that the UA is endorsing during its flight in <xref target="drip-data" format="default"/>.</li>
        </ul>
        <t>Frame Type (1-byte):</t>
        <ul empty="true" spacing="normal">
          <li>Sub-type for future different DRIP Frame formats. See <xref target="frame-type" format="default"/>.</li>
        </ul>
        <t>Previous Manifest Hash (12-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Hash of the previously sent Manifest Message (<xref target="drip-manifest" format="default"/>). See <xref target="block-hashes" format="default"/>.</li>
        </ul>
        <t>UA DRIP Entity Tag (DET) (16-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>The UA DET <xref target="drip-rid" format="default"/> in byte form (network byte order) and is part of <xref target="drip-data" format="default"/>.</li>
        </ul>
        <t>UA Signature (64-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Signature over all 4 preceding fields of <xref target="drip-data" format="default"/> using the HI of the UA.</li>
        </ul>
        <t>Valid Not After (VNA) Timestamp by UA (4-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Timestamp denoting recommended time to stop trusting data in <xref target="drip-data" format="default"/>. MUST follow the format defined in <xref target="F3411" format="default"/>. That is a Unix-style timestamp but with an epoch of 01/01/2019 00:00:00 with an additional offset is then added to push a short time into the future (relative to <tt>Not Before Timestamp</tt>) to avoid replay attacks. The offset used against the Unix-style timestamp is not defined in this document. Best practice identifying an acceptable offset should be used taking into consideration the UA environment, and propagation characteristics of the messages being sent and clock differences between the UA and Observers. A reasonable time would be to set <tt>Not After Timestamp</tt> 2 minutes after <tt>Not Before Timestamp</tt>.</li>
        </ul>
        <t>Valid Not Before (VNB) Timestamp by UA (4-bytes):</t>
        <ul empty="true" spacing="normal">
          <li>Timestamp denoting recommended time to start trusting data in <xref target="drip-data" format="default"/>. MUST follow the format defined in <xref target="F3411" format="default"/>. That is a Unix-style timestamp but with an epoch of 01/01/2019 00:00:00.  MUST be set no earlier than the time the signature is generated.</li>
        </ul>
        <section anchor="sam-data" numbered="true" toc="default">
          <name>SAM Data Format</name>
          <t><xref target="sam-frame" format="default"/> is the general format to hold authentication data when using SAM and is placed inside the <tt>Authentication Data / Signature</tt> field in <xref target="astm-auth" format="default"/>.</t>
          <figure anchor="sam-frame">
            <name>SAM Data Format</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|   SAM Type    |                                               |
+---------------+                                               |
.                                                               .
.                     SAM Authentication Data                   .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+

SAM Type (1 byte):
    Byte defined by F3411 to multiplex SAMs

SAM Authentication Data (0 to 200 bytes):
    Authentication data (opaque to baseline F3411 but parsed by DRIP).
]]></artwork>
          </figure>
          <section anchor="sam-type" numbered="true" toc="default">
            <name>SAM Type</name>
            <t>The SAM Type field is maintained by a TBD registrar and for DRIP four are planned to be allocated:</t>
            <table align="center">
              <thead>
                <tr>
                  <th align="left">SAM Type</th>
                  <th align="left">Description</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">To Be Assigned</td>
                  <td align="left">DRIP Link (<xref target="drip-link" format="default"/>)</td>
                </tr>
                <tr>
                  <td align="left">To Be Assigned</td>
                  <td align="left">DRIP Wrapper (<xref target="drip-wrapper" format="default"/>)</td>
                </tr>
                <tr>
                  <td align="left">To Be Assigned</td>
                  <td align="left">DRIP Manifest (<xref target="drip-manifest" format="default"/>)</td>
                </tr>
                <tr>
                  <td align="left">To Be Assigned</td>
                  <td align="left">DRIP Frame (<xref target="drip-frame" format="default"/>)</td>
                </tr>
              </tbody>
            </table>
          </section>
          <section anchor="sam-authentication-data" numbered="true" toc="default">
            <name>SAM Authentication Data</name>
            <t>This field has a maximum size of 200-bytes, as defined by <xref target="drip-restrictions" format="default"/>. The Broadcast Attestation Structure (<xref target="bas" format="default"/>) MUST be used in this space.</t>
          </section>
        </section>
        <section anchor="bas" numbered="true" toc="default">
          <name>UA Signed Evidence</name>
          <t>The DRIP Endorsement Structure (DES) <xref target="drip-registries" format="default"/> is used to created Signed Evidence by the UA during flight. It is encapsulated by the <tt>SAM Authentication Data</tt> field of <xref target="sam-frame" format="default"/>.</t>
          <t>The DES MUST be used by DRIP Wrapper (<xref target="drip-wrapper" format="default"/>), Manifest <xref target="drip-manifest" format="default"/> and Frame (<xref target="drip-frame" format="default"/>). DRIP Link (<xref target="drip-link" format="default"/>) MUST NOT use the DES as it will not fit in the ASTM Authentication Message.</t>
          <figure anchor="drip-data">
            <name>Binary Encoded DRIP Endorsement Structure</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
|                              UA                               |
|                        DRIP Entity Tag                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                            Evidence                           .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
|                      VNA Timestamp by UA                      |
+---------------+---------------+---------------+---------------+
|                      VNB Timestamp by UA                      |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                          UA Signature                         |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
          </figure>
          <t>UA DRIP Entity Tag:</t>
          <ul empty="true" spacing="normal">
            <li>This is the <tt>identity</tt> section of the DES and MUST be set to the UA DET (<tt>hhit</tt>).</li>
          </ul>
          <t>Evidence:</t>
          <ul empty="true" spacing="normal">
            <li>The <tt>evidence</tt> section MUST be filled in with data in the form of an opaque object specified in the DRIP Wrapper, Manifest or Frame sections.</li>
          </ul>
          <t>UA Signature:</t>
          <ul empty="true" spacing="normal">
            <li>The UA private key MUST be used to generate the signature (<tt>sig_b16</tt>) found in the <tt>signature</tt> section.</li>
          </ul>
          <t>The DES MUST be encoded in the binary form (as defined in <xref target="drip-registries" format="default"/>) to create the UA Signed Evidence. The general structure of the binary form can be seen in <xref target="drip-data" format="default"/>.</t>
          <t>When using the DES, the UA is minimally self-endorsing its DET. The HI of the UA DET can be looked up by mechanisms described in <xref target="drip-registries" format="default"/> or by extracting it from a Broadcast Endorsement (see <xref target="drip-link" format="default"/> and <xref target="drip-recommendations" format="default"/>).</t>
        </section>
      </section>
      <section anchor="drip-link" numbered="true" toc="default">
        <name>DRIP Link</name>
        <t>The DRIP Link SAM Type is used to transmit Broadcast Endorsements. For example, the <tt>Broadcast Endorsement: DIME, UA</tt> is sent (see <xref target="drip-recommendations" format="default"/>) as a DRIP Link message. The structure is defined in <xref target="drip-registries" format="default"/> and an example of it can be found in <xref target="broadcast-endorsement" format="default"/>.</t>
        <t>DRIP Link is important as its contents are used to provide trust in the DET/HI pair that the UA is currently broadcasting. This message does not require Internet connectivity to perform signature validations of the contents when the DIME DET/HI is in the receiver's cache. It also provides the UA HI so that connectivity is not required when performing validation of other DRIP Authentication Messages.</t>
        <figure anchor="link-fig">
          <name>DRIP Link</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                      Broadcast Endorsement                    .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
        </figure>
        <t>This DRIP Authentication Message is used in conjunction with other DRIP SAM Types (such as Manifest or Wrapper) that contain data (e.g., the ASTM Location/Vector Message, Message Type 0x2) that is guaranteed to be unique, unpredictable and easily cross checked by the receiving device. The hash of such a message SHOULD merely be included in a DRIP Manifest, but an entire such message MAY be encapsulated in a DRIP Wrapper periodically for stronger security.</t>
      </section>
      <section anchor="drip-wrapper" numbered="true" toc="default">
        <name>DRIP Wrapper</name>
        <t>This SAM Type is used to wrap and sign over a list of other <xref target="F3411" format="default"/> Broadcast RID messages.</t>
        <t>The <tt>evidence</tt> section of the DES (<xref target="bas" format="default"/>) is populated with full (25-byte) <xref target="F3411" format="default"/> Broadcast RID messages. The ASTM Messages can be concatenated together into a single byte object (like in <xref target="wrapper-fig" format="default"/>) or be set in the <tt>evidence</tt> section as individual Claims.</t>
        <t>The minimum number of messages support is 1 and the maximum supported is 4. The messages MUST be in Message Type order as defined by <xref target="F3411" format="default"/>. All message types except Authentication (Message Type 0x2) and Message Pack (Message Type 0xF) are allowed. Thus it may be preferred in some operation modes to use DRIP Manifest <xref target="drip-manifest" format="default"/> instead.</t>
        <figure anchor="wrapper-fig">
          <name>DRIP Wrapper Evidence</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                         ASTM Message(s)                       .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
        </figure>
        <section anchor="message-count" numbered="true" toc="default">
          <name>Message Count</name>
          <t>When decoding a DRIP Wrapper on a receiver, the number of messages wrapped can be determined by checking the length between the <tt>UA DET</tt> and the <tt>VNB Timestamp by UA</tt> is a multiple of 25-bytes.</t>
        </section>
        <section anchor="extended-wrapper" numbered="true" toc="default">
          <name>Wrapper over Extended Transports</name>
          <t>To send the DRIP Wrapper over Extended Transports the messages being wrapped are co-located with the Authentication Message in a ATM Message Pack (Message Type 0xF). The <tt>evidence</tt> section of the DES is cleared after signing leaving the following binary structure that is placed into the <tt>SAM Authentication Data</tt> of <xref target="sam-frame" format="default"/> and sent in the same Message Pack.</t>
          <figure anchor="set-sig">
            <name>DRIP Wrapper over Extended Transports</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
|                              UA                               |
|                        DRIP Entity Tag                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|                   Not Before Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                    Not After Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                          UA Signature                         |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
          </figure>
          <t>To verify the signature the receiver must concatenate all the messages in the Message Pack (excluding Authentication Message found in the same Message Pack) in Message Type order and set the DES <tt>evidence</tt> section before performing signature verification.</t>
          <t>The functionality of Wrapper in this form is identical to Message Set Signature (Authentication Type 0x3) when running over Extended Transports. What Wrapper provides is the same format but over both Extended and Legacy Transports allowing the transports to be similar. Message Set Signature also implies using the ASTM validator system architecture which relies on Internet connectivity for verification which the receiver may not have at the time of receipt of an Authentication Message. This is something Wrapper, and all DRIP Authentication Formats, avoid when the UA key is obtained via a DRIP Link Authentication Message.</t>
        </section>
        <section anchor="wrapper-limitations" numbered="true" toc="default">
          <name>Wrapper Limitations</name>
          <t>The primary limitation of the Wrapper format is the bounding of up to 4 ASTM Messages that can be sent within it. Another limitation is that the format can not be used as a surrogate for messages it is wrapping. This is due to high potential a receiver on the ground does not support DRIP. Thus, when Wrapper is being used the wrapper data must effectively be sent twice, once as a single framed message (as specified in <xref target="F3411" format="default"/>) and then again wrapped within the Wrapper format.</t>
        </section>
      </section>
      <section anchor="drip-manifest" numbered="true" toc="default">
        <name>DRIP Manifest</name>
        <t>This SAM Type is used to create message manifests that contain hashes of previously sent ASTM Messages.</t>
        <t>By hashing previously sent messages and signing them we gain trust in a UA's previous reports without retransmitting them. An Observer who has been listening for any length of time SHOULD hash received messages and cross-check them against the manifest hashes. This is a way to evade the limitation of a maximum of 4 messages in the Wrapper Format (<xref target="wrapper-limitations" format="default"/>) and greatly reduce overhead.</t>
        <t>Judicious use of Manifest enables an entire Broadcast RID message stream to be strongly authenticated with less than 100% overhead relative to a completely unauthenticated message stream (see <xref target="operational-proof" format="default"/>).</t>
        <t>The <tt>evidence</tt> section of the DES (<xref target="bas" format="default"/>) is populated with 8-byte hashes of <xref target="F3411" format="default"/> Broadcast RID messages and two special hashes (<xref target="block-hashes" format="default"/>). All these hashes can be  concatenated together into a single byte object or be set in the <tt>evidence</tt> section individually. The <tt>Previous Manifest Hash</tt> and <tt>Current Manifest Hash</tt> MUST always come before the <tt>ASTM Message Hashes</tt> as seen in <xref target="manifest-fig" format="default"/>.</t>
        <t>A receiver SHOULD use the manifest to verify each ASTM Message hashed therein that it has previously received. It can do this without having received them all. A manifest SHOULD typically encompass a single transmission cycle of messages being sent, see <xref target="operational-recommendations" format="default"/> and <xref target="operational-proof" format="default"/>.</t>
        <figure anchor="manifest-fig">
          <name>DRIP Manifest Evidence Structure</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                       Previous Manifest                       |
|                              Hash                             |
+---------------+---------------+---------------+---------------+
|                       Current Manifest                        |
|                              Hash                             |
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                      ASTM Message Hashes                      .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
        </figure>
        <section anchor="hash-count" numbered="true" toc="default">
          <name>Hash Count</name>
          <t>The number of hashes in the Manifest can be variable (2-11). An easy way to determine the number of hashes is to take the length of the data between the end of the <tt>UA DET</tt> and <tt>VNB Timestamp by UA</tt> and divide it by the hash length (8). If this value is not an integer, the message is invalid.</t>
        </section>
        <section anchor="block-hashes" numbered="true" toc="default">
          <name>Pseudo-Blockchain Hashes</name>
          <t>Two special hashes are included in all Manifest messages; the <tt>Previous Manifest Hash</tt>, which links to the previous manifest message, as well as the <tt>Current Manifest Hash</tt>. This gives a pseudo-blockchain provenance to the manifest message that could be traced back if the Observer was present for extended periods of time.</t>
        </section>
        <section anchor="hash-op" numbered="true" toc="default">
          <name>Hash Algorithms and Operation</name>
          <t>The hash algorithm used for the Manifest Message is the same hash algorithm used in creation of a DET <xref target="drip-rid" format="default"/> that is signing the Manifest.</t>
          <t>An DET using cSHAKE128 <xref target="NIST.SP.800-185" format="default"/> computes the hash as follows:</t>
          <artwork name="" type="" align="left" alt=""><![CDATA[
cSHAKE128(ASTM Message, 8, "", "Remote ID Auth Hash")
]]></artwork>
          <!-- Get a context ID for Remote ID auth hash or use HHIT ctx id? -->

<ul empty="true" spacing="normal">
            <li>Informative Note: <xref target="drip-rid" format="default"/> specifies cSHAKE128 but is open for the expansion of other OGAs.</li>
          </ul>
          <!-- the previous hash could be; null, broadcast endorsement, self-endorsement, det lower 64 or random nonce -->

<t>When building the manifest of hashes the <tt>Previous Manifest Hash</tt> is known from the previous Manifest message. For the first built manifest this value is null filled. The <tt>Current Manifest Hash</tt> is null filled while ASTM Messages are hashed and fill the <tt>ASTM Messages Hashes</tt> section. When all messages are hashed the <tt>Current Manifest Hash</tt> is computed over the <tt>Previous Manifest Hash</tt>, <tt>Current Manifest Hash</tt> (null filled) and <tt>ASTM Messages Hashes</tt>. This hash value replaces the null filled <tt>Current Manifest Hash</tt> and becomes the <tt>Previous Manifest Hash</tt> for the next manifest.</t>
          <section anchor="legacy-transport-hashing" numbered="true" toc="default">
            <name>Legacy Transport Hashing</name>
            <t>Under this transport DRIP hashes the full ASTM Message being sent over the Bluetooth Advertising frame. For paged ASTM Messages (currently only Authentication Messages) all the pages are concatenated together and hashed as one object. For all other Message Types each individual 25-byte message is hashed.</t>
          </section>
          <section anchor="extended-transport-hashing" numbered="true" toc="default">
            <name>Extended Transport Hashing</name>
            <t>Under this transport DRIP hashes the full ASTM Message Pack (Message Type 0xF) - regardless of its content.</t>
          </section>
        </section>
      </section>
      <section anchor="drip-frame" numbered="true" toc="default">
        <name>DRIP Frame</name>
        <t>This SAM Type is for when the authentication data does not fit in other defined formats under DRIP and is reserved for future expansion under DRIP if required.</t>
        <t>The population of the <tt>evidence</tt> section of the DES (<xref target="bas" format="default"/>) is not defined in this document and MUST be openly specified by the implementation (or specification) using it.</t>
        <figure anchor="frame-fig">
          <name>DRIP Frame</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Frame Type   |                                               |
+---------------+                                               .
.                      Frame Evidence Data                      .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
        </figure>
        <section anchor="frame-type" numbered="true" toc="default">
          <name>Frame Type</name>
          <t>Byte to sub-type for future different DRIP Frame formats. It takes the first byte in <xref target="frame-fig" format="default"/> leaving 111-bytes available for <tt>Frame Evidence Data</tt>.</t>
          <table align="center">
            <thead>
              <tr>
                <th align="left">Frame Type</th>
                <th align="left">Name</th>
                <th align="left">Description</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">0x00</td>
                <td align="left">Reserved</td>
                <td align="left">Reserved</td>
              </tr>
              <tr>
                <td align="left">0xC0-0xFF</td>
                <td align="left">Experimental</td>
                <td align="left">Experimental Use</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="fec-details" numbered="true" toc="default">
      <name>Forward Error Correction</name>
      <t>For Broadcast RID, Forward Error Correction (FEC) is provided by the lower layers in Extended Transports (Bluetooth 5.x, Wi-Fi NaN, and Wi-Fi BEACON). The Bluetooth 4.x Legacy Transport does not have supporting FEC so with DRIP Authentication the following application level FEC scheme is used to add FEC. When sending data over a medium that does not have underlying FEC, for example Bluetooth 4.x, then this section MUST be used.</t>
      <t>The Bluetooth 4.x lower layers have error detection but not correction. Any frame in which Bluetooth detects an error is dropped and not delivered to higher layers (in our case, DRIP). Thus it can be treated as an erasure.</t>
      <t>DRIP standardizes a single page FEC scheme using XOR parity across all page data of an Authentication Message. This allows the correction of single erased page in an Authentication Message. Other FEC schemes, to protect more than a single page of an Authentication Message or multiple <xref target="F3411" format="default"/> Messages, is left for future standardization if operational experience proves it necessary and/or practical.</t>
      <t>The data added during FEC is not included in the <tt>Authentication Data / Signature</tt> but instead in the <tt>Additional Data</tt> field of <xref target="astm-auth" format="default"/>. This may cause the Authentication Message to exceed 9-pages, up to a maximum of 16-pages.</t>
      <section anchor="enc-single-page" numbered="true" toc="default">
        <name>Encoding</name>
        <t>When encoding two things are REQUIRED:</t>
        <ol spacing="normal" type="1"><li>The FEC data MUST start on a new Authentication Page. To do this the results of parity encoding MUST be placed in the <tt>Additional Data</tt> field of <xref target="astm-auth" format="default"/> with null padding before it to line up with the next page. The <tt>Additional Data Length</tt> field MUST be set to <tt>number of padding bytes + number of parity bytes</tt>.</li>
          <li>The <tt>Last Page Index</tt> field (in Page 0) MUST be incremented from what it would have been without FEC by the number of pages required for the <tt>Additional Data Length</tt> field, null padding and FEC.</li>
        </ol>
        <t>To generate the parity a simple XOR operation using the previous parity page and current page is used. Only the 23-byte <tt>Authentication Payload</tt> field of <xref target="astm-auth-page" format="default"/> is used in the XOR operations. For Page 0, a 23-byte null pad is used for the previous parity page.</t>
        <t><xref target="fig-single-fec" format="default"/> shows an example of the last two pages (out of N) of an Authentication Message using DRIP Single Page FEC. The <tt>Additional Data Length</tt> is set to 33 as there are always 23-bytes of FEC data and in this example 10-bytes of padding to line it up into Page N.</t>
        <figure anchor="fig-single-fec">
          <name>Example Single Page FEC Encoding</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
Page N-1:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Page Header  |                                               |
+---------------+                                               |
|                Authentication Data / Signature                |
|                                                               |
|               +---------------+---------------+---------------+
|               |    ADL=33     |                               |
+---------------+---------------+                               |
|                          Null Padding                         |
|                                                               |
+---------------+---------------+---------------+---------------+

Page N:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Page Header  |                                               |
+---------------+                                               |
|                                                               |
|                     Forward Error Correction                  |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
        </figure>
      </section>
      <section anchor="dec-single-page" numbered="true" toc="default">
        <name>Decoding</name>
        <t>To determine if FEC has been used a simple check of the <tt>Last Page Index</tt> can be used. In general if the <tt>Last Page Index</tt> field is one greater than that necessary to hold <tt>Length</tt> bytes of Authentication Data then FEC has been used. Note however that if <tt>Length</tt> bytes was exhausted exactly at the end of an Authentication Page then the <tt>Additional Data Length</tt> will occupy the first byte of the following page the remainder of which under DRIP will be null padded: in this case the <tt>Last Page Index</tt> will have been incremented by one more for FEC.</t>
        <t>To decode FEC in DRIP a rolling XOR is used on each <tt>Authentication Page</tt> received in the current <tt>Authentication Message</tt>. A Message Counter, outside of the ASTM Message but specified in <xref target="F3411" format="default"/> is used to signal a different <tt>Authentication Message</tt> and to correlate pages to messages. This Message Counter is only 1-byte in length, so it will roll over (to 0x00) after reaching its maximum value (0xFF). If only 1-page is missing in the <tt>Authentication Message</tt> the resulting parity bytes should be the data of the erased page.</t>
        <t>Authentication Page 0 contains various important fields, only located on that page, that help decode the full ASTM Authentication Message. If Page 0 has been reconstructed the <tt>Last Page Index</tt> and <tt>Length</tt> fields are REQUIRED to be sanity checked by DRIP. The pseudo-code in <xref target="decode-pseudo" format="default"/> can be used for both checks.</t>
        <figure anchor="decode-pseudo">
          <name>Pseudo-code for Decode Checks</name>
          <artwork name="" type="" align="left" alt=""><![CDATA[
function decode_check(auth_pages[], decoded_lpi, decoded_length) {
  // check decoded Last Page Index (LPI) does not exceed maximum LPI
  if (decoded_lpi >= 16) {
    return DECODE_FAILURE
  }
  
  // check that decoded length does not exceed DRIP maximum
  if (decoded_length > 201) {
    return DECODE_FAILURE
  }

  // grab the page at index where length ends and extract its data
  auth_data = auth_pages[(decoded_length - 17) / 23].data
  // find the index of last auth byte
  last_auth_byte = (17 + (23 * last_auth_page)) - decoded_length

  // look for non-nulls after the last auth byte
  if (auth_data[(last_auth_byte + 2):] has non-nulls) {
    return DECODE_FAILURE
  }

  // check that byte directly after last auth byte is null
  if (auth_data[last_auth_byte + 1] equals null) {
    return DECODE_FAILURE
  }

  // we set our presumed Additional Data Length (ADL)
  presumed_adl = auth_data[last_auth_byte + 1]
  // use the presumed ADL to calculate a presumed LPI
  presumed_lpi = (presumed_adl + decoded_length - 17) / 23

  // check that presumed LPI and decoded LPI match
  if (presumed_lpi not equal decoded_lpi) {
    return DECODE_FAILURE
  }
  return DECODE_SUCCESS
}
]]></artwork>
        </figure>
        <t>Implementations MAY also implement an heuristic extension (<xref target="decoding-optimization" format="default"/>) to decode if both the first page (Page 0) and last page (<tt>Last Page Index</tt>) are missing.</t>
      </section>
      <section anchor="fec-limitations" numbered="true" toc="default">
        <name>FEC Limitations</name>
        <t>The worst case scenario is when the <tt>Authentication Data / Signature</tt> ends perfectly on a page (Page N-1). This means the <tt>Additional Data Length</tt> would start the next page (Page N) and have 22-bytes worth of null padding to align the FEC to begin at the start of the next page (Page N+1). In this scenario an entire page (Page N) is being wasted just to carry the <tt>Additional Data Length</tt>. This should be avoided where possible in an effort to maintain efficiency.</t>
      </section>
    </section>
    <section anchor="reqs" numbered="true" toc="default">
      <name>Requirements &amp; Recommendations</name>
      <section anchor="legacy-transports" numbered="true" toc="default">
        <name>Legacy Transports</name>
        <t>With Legacy Advertisements the goal is to attempt to bring reliable receipt of the paged Authentication Message. FEC (<xref target="fec-details" format="default"/>) MUST be used, per mandated RID rules (for example the US FAA RID Rule <xref target="FAA-14CFR" format="default"/>), when using Legacy Advertising methods (such as Bluetooth 4.x).</t>
        <t>Under ASTM Bluetooth 4.x rules, transmission of dynamic messages is at least every 1 second. DRIP Authentication Messages typically contain dynamic data (such as the DRIP Manifest or DRIP Wrapper) and should be sent at the dynamic rate of 1 per second.</t>
      </section>
      <section anchor="extended-transports" numbered="true" toc="default">
        <name>Extended Transports</name>
        <t>Under the ASTM specification, Bluetooth 5.x, Wi-Fi NaN, and Wi-Fi BEACON transport of RID is to use the Message Pack (Message Type 0xF) format for all transmissions. Under Message Pack messages are sent together (in Message Type order) in a single Bluetooth 5.x extended frame (up to 9 single frame equivalent messages under Bluetooth 4). Message Packs are required by ASTM to be sent at a rate of 1 per second (like dynamic messages).</t>
        <t>Without any fragmentation or loss of pages with transmission FEC (<xref target="fec-details" format="default"/>) MUST NOT be used as it is impractical.</t>
      </section>
      <section anchor="drip-recommendations" numbered="true" toc="default">
        <name>Authentication</name>
        <t>It is REQUIRED that a UA send the following DRIP Authentication Formats to fulfill the requirements in <xref target="RFC9153" format="default"/>:</t>
        <ol spacing="normal" type="1"><li>SHOULD: send DRIP Link (<xref target="drip-link" format="default"/>) using the <tt>Broadcast Endorsement: DIME:Apex, DIME:RAA</tt> (satisfying GEN-3); at least once per 5 minutes</li>
          <li>MUST: send DRIP Link (<xref target="drip-link" format="default"/>) using the <tt>Broadcast Endorsement: DIME:RAA, DIME:HDA</tt> (satisfying GEN-3); at least once per 5 minutes</li>
          <li>MUST: send DRIP Link (<xref target="drip-link" format="default"/>) using the <tt>Broadcast Endorsement: DIME:HDA, UA</tt> (satisfying ID-5, GEN-1 and GEN-3); at least once per minute</li>
          <li>MUST: send any other DRIP Authentication Format (RECOMMENDED: DRIP Manifest (<xref target="drip-manifest" format="default"/>) or DRIP Wrapper (<xref target="drip-wrapper" format="default"/>)) where the UA is dynamically signing data that is guaranteed to be unique, unpredictable and easily cross checked by the receiving device (satisfying ID-5, GEN-1 and GEN-2); at least once per 5 seconds</li>
        </ol>
      </section>
      <section anchor="operational-recommendations" numbered="true" toc="default">
        <name>Operational</name>
        <t>UAS operation may impact the frequency of sending DRIP Authentication messages. Where a UA is dwelling in one location, and the channel is heavily used by other devices, "occasional" message authentication may be sufficient for an Observer. Contrast this with a UA traversing an area, and then every message should be authenticated as soon as possible for greatest success as viewed by the receiver.</t>
        <t>Thus how/when these DRIP Authentication Messages are sent is up to each implementation. Further complication comes in contrasting Legacy and Extended Transports.  In Legacy, each message is a separate hash within the Manifest. So, again in dwelling, may lean toward occasional message authentication. In Extended Transports, the hash is over the Message Pack so only few hashes need to be in a Manifest. A single Manifest can handle a potential two Message Packs (for a full set of messages) and a DRIP Link Authentication Message for the <tt>Broadcast Endorsement: DIME, UA</tt>.</t>
        <t>A separate issue is the frequency of transmitting the DRIP Link Authentication Message for the <tt>Broadcast Endorsement: DIME, UA</tt> when using a Manifest Message. This message content is static; its hash never changes radically. The only change is the 4-byte timestamp in the Authentication Message headers. Thus, potentially, in a dwelling operation it can be sent once per minute, where its hash is in every Manifest. A receiver can cache all DRIP Link Authentication Message for the <tt>Broadcast Endorsement: DIME, UA</tt> to mitigate potential packet loss.</t>
        <t>The following operational configuration is RECOMMENDED (in alignment with <xref target="drip-recommendations" format="default"/>):</t>
        <ol spacing="normal" type="1"><li>Per CAA requirements, generate and transmit a set of ASTM Messages (example; Basic ID, Location and System).</li>
          <li>Under Extended Transports, generate and include in the same Message Pack as the CAA required ASTM Messages a DRIP Wrapper as specified in <xref target="extended-wrapper" format="default"/>.</li>
          <li>Under Legacy Transports, generate and transmit every 5 seconds a DRIP Manifest (<xref target="drip-manifest" format="default"/>) hashing as many sets of recent CAA required ASTM Messages. The system MAY periodically replace the DRIP Manifest with a DRIP Wrapper (<xref target="drip-wrapper" format="default"/>) containing at least a Location Message (Message Type 0x2).</li>
          <li>Under both Legacy or Extended Transports, generate and transmit a DRIP Link's (<xref target="drip-link" format="default"/>) containing; <tt>Broadcast Endorsement: DIME:HDA, UA</tt> every minute, <tt>Broadcast Endorsement: DIME:RAA, DIME:HDA</tt> every 5 minutes, <tt>Broadcast Endorsement: DIME:Apex, DIME:RAA</tt> every 5 minutes.</li>
        </ol>
        <t>The reasoning and math behind this recommendation can be found in <xref target="operational-proof" format="default"/>.</t>
        <section anchor="wrapper-operations" numbered="true" toc="default">
          <name>DRIP Wrapper</name>
          <t>The DRIP Wrapper MUST NOT be used in place of sending the ASTM messages as is. All receivers MUST be able to process all the messages specified in <xref target="F3411" format="default"/>.  Sending them within the DRIP Wrapper makes them opaque to receivers lacking support for DRIP Authentication Messages. Thus, messages within a Wrapper are sent twice: in the clear and authenticated within the Wrapper. The DRIP Manifest format would seem to be a more efficient use of the transport channel.</t>
          <t>The DRIP Wrapper has a specific use case for DRIP aware receivers. For receiver plotting Location Messages (Message Type 0x2) on a map display an embedded Location Message in a DRIP Wrapper can be marked differently (e.g. via color) to signify trust in the Location data.</t>
        </section>
        <section anchor="trust-assessment" numbered="true" toc="default">
          <name>UAS RID Trust Assessment</name>
          <t>As described in <xref target="rid-trust" format="default"/>, the receiver MUST perform verification of the data being received in Broadcast RID.</t>
          <t>After signature validation of any DRIP Authentication Message containing UAS RID information elements (e.g. DRIP Wrapper <xref target="drip-wrapper" format="default"/>) the Observer MUST use other sources of information to correlate against and perform verification. An example of another source of information is a visual confirmation of the UA position.</t>
          <t>When correlation of these different data streams do not match in acceptable thresholds the data SHOULD be rejected as if the signature failed to validate. Acceptable thresholds limits and what happens after such a rejection are out of scope for this document.</t>
        </section>
      </section>
    </section>
    <section anchor="req-sum" numbered="true" toc="default">
      <name>Summary of Addressed DRIP Requirements</name>
      <t>The following <xref target="RFC9153" format="default"/> are addressed in this document:</t>
      <t>ID-5: Non-spoofability</t>
      <ul empty="true" spacing="normal">
        <li>Addressed using the DRIP Wrapper (<xref target="drip-wrapper" format="default"/>), DRIP Manifest (<xref target="drip-manifest" format="default"/>) or DRIP Frame (<xref target="drip-frame" format="default"/>).</li>
      </ul>
      <t>GEN-1: Provable Ownership</t>
      <ul empty="true" spacing="normal">
        <li>Addressed using the DRIP Link (<xref target="drip-link" format="default"/>) and DRIP Wrapper (<xref target="drip-wrapper" format="default"/>), DRIP Manifest (<xref target="drip-manifest" format="default"/>) or DRIP Frame (<xref target="drip-frame" format="default"/>).</li>
      </ul>
      <t>GEN-2: Provable Binding</t>
      <ul empty="true" spacing="normal">
        <li>Addressed using the DRIP Wrapper (<xref target="drip-wrapper" format="default"/>), DRIP Manifest (<xref target="drip-manifest" format="default"/>) or DRIP Frame (<xref target="drip-frame" format="default"/>).</li>
      </ul>
      <t>GEN-3: Provable Registration</t>
      <ul empty="true" spacing="normal">
        <li>Addressed using the DRIP Link (<xref target="drip-link" format="default"/>).</li>
      </ul>
    </section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <section anchor="iana-drip-registry" numbered="true" toc="default">
        <name>IANA DRIP Registry</name>
        <!-- TODO(atw): Stu wonders if this can be deferred? -->

<t>This document requests a new subregistry for Frame Type under the <eref target="https://datatracker.ietf.org/doc/html/draft-ietf-drip-rid-28#section-8.2">DRIP registry</eref>.</t>
        <dl newline="false" spacing="normal">
          <dt>DRIP Frame Type:</dt>
          <dd>
  This 8-bit valued subregistry is for Frame Types in DRIP Frame Authentication Messages. Future additions to this subregistry are to be made through Expert Review (Section 4.5 of <xref target="RFC8126" format="default"/>). The following values are defined:</dd>
        </dl>
        <artwork name="" type="" align="left" alt=""><![CDATA[
| Frame Type | Name         | Description      |
| ---------- | ------------ | ---------------- |
| 0x00       | Reserved     | Reserved         |
| 0xC0-0xFF  | Experimental | Experimental Use |
]]></artwork>
      </section>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <section anchor="replay-attacks" numbered="true" toc="default">
        <name>Replay Attacks</name>
        <t>The astute reader may note that the DRIP Link messages, which are recommended to be sent, are static in nature and contain various timestamps. These DRIP Link messages can easily be replayed by an attacker who has copied them from previous broadcasts.</t>
        <t>If an attacker (who is smart and spoofs more than just the UAS ID/data payloads) willing replays an DRIP Link message they have in principle actually helped by ensuring the message is sent more frequently and be received by potential Observers.</t>
        <t>The primary mitigation is the UA is REQUIRED to send more than DRIP Link messages, specifically Manifest and/or Wrapper messages that sign over changing data ASTM Messages (e.g. Location/Vector Messages) using the DET private key. An UA sending these messages then actually signing these and other messages using the DET key provides the Observer with data that proves realtime signing.  An UA who does not either run DRIP themselves or does not have possession of the same private key, would be clearly exposed upon signature verification.</t>
      </section>
      <section anchor="vna-timestamp-offsets-for-drip-authentication-formats" numbered="true" toc="default">
        <name>VNA Timestamp Offsets for DRIP Authentication Formats</name>
        <t>Note the discussion of VNA Timestamp offsets here is in context of the DRIP Wrapper (<xref target="drip-wrapper" format="default"/>), DRIP Manifest (<xref target="drip-manifest" format="default"/>) and DRIP Frame (<xref target="drip-frame" format="default"/>). For DRIP Link (<xref target="drip-link" format="default"/>) these offsets are set by the DIME and have their own set of considerations as seen in <xref target="drip-registries" format="default"/>.</t>
        <t>The offset of the <tt>VNA Timestamp by UA</tt> is one that needs careful consideration for any implementation. The offset should be shorter than any given flight duration (typically less than an hour) but be long enough to be received and processed by Observers (larger than a few seconds). It recommended that 3-5 minutes should be sufficient to serve this purpose in any scenario, but is not limited by design.</t>
      </section>
    </section>
    <section anchor="acknowledgments" numbered="true" toc="default">
      <name>Acknowledgments</name>
      <ul spacing="normal">
        <li>Ryan Quigley and James Mussi of AX Enterprize, LLC for early prototyping to find holes in the draft specifications.</li>
        <li>Soren Friis for pointing out that Wi-Fi implementations would not always give access to the MAC Address, originally used in calculation of the hashes for DRIP Manifest. Also, for confirming that Message Packs (0xF) can only carry up to 9 ASTM frames worth of data (9 Authentication pages).</li>
        <li>Many thanks to Rick Salz for the secdir review.</li>
      </ul>
    </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">
              <organization/>
            </author>
            <author fullname="A. Wiethuechter" initials="A." surname="Wiethuechter">
              <organization/>
            </author>
            <author fullname="R. Moskowitz" initials="R." surname="Moskowitz">
              <organization/>
            </author>
            <author fullname="A. Gurtov" initials="A." surname="Gurtov">
              <organization/>
            </author>
            <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="drip-arch" target="https://www.ietf.org/archive/id/draft-ietf-drip-arch-29.txt">
          <front>
            <title>Drone Remote Identification Protocol (DRIP) Architecture</title>
            <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="Robert Moskowitz" initials="R." surname="Moskowitz">
              <organization>HTT Consulting</organization>
            </author>
            <author fullname="Shuai Zhao" initials="S." surname="Zhao">
              <organization>Intel</organization>
            </author>
            <author fullname="Andrei Gurtov" initials="A." surname="Gurtov">
              <organization>Linköping University</organization>
            </author>
            <date day="16" month="August" year="2022"/>
            <abstract>
              <t>   This document describes an architecture for protocols and services to
   support Unmanned Aircraft System (UAS) Remote Identification (RID)
   and tracking, plus UAS RID-related communications.  This architecture
   adheres to the requirements listed in the DRIP Requirements document
   (RFC9153).

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-drip-arch-29"/>
        </reference>
        <reference anchor="F3411">
          <front>
            <title>F3411-22a: Standard Specification for Remote ID and Tracking</title>
            <author>
              <organization/>
            </author>
            <date year="2022" month="July"/>
          </front>
        </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">
              <organization/>
            </author>
            <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">
              <organization/>
            </author>
            <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>
        <reference anchor="NIST.SP.800-185" target="http://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-185.pdf">
          <front>
            <title>SHA-3 Derived Functions: cSHAKE, KMAC, TupleHash and ParallelHash</title>
            <author fullname="John Kelsey" initials="J." surname="Kelsey">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <author fullname="Shu-jen Change" initials="S." surname="Change">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <author fullname="Ray Perlner" initials="R." surname="Perlner">
              <organization>National Institute of Standards and Technology</organization>
            </author>
            <date month="December" year="2016"/>
          </front>
          <seriesInfo name="NIST Special Publication" value="SP 800-185"/>
          <seriesInfo name="DOI" value="10.6028/nist.sp.800-185"/>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="RFC8126" target="https://www.rfc-editor.org/info/rfc8126">
          <front>
            <title>Guidelines for Writing an IANA Considerations Section in RFCs</title>
            <author fullname="M. Cotton" initials="M." surname="Cotton">
              <organization/>
            </author>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <author fullname="T. Narten" initials="T." surname="Narten">
              <organization/>
            </author>
            <date month="June" year="2017"/>
            <abstract>
              <t>Many protocols make use of points of extensibility that use constants to identify various protocol parameters.  To ensure that the values in these fields do not have conflicting uses and to promote interoperability, their allocations are often coordinated by a central record keeper.  For IETF protocols, that role is filled by the Internet Assigned Numbers Authority (IANA).</t>
              <t>To make assignments in a given registry prudently, guidance describing the conditions under which new values should be assigned, as well as when and how modifications to existing values can be made, is needed.  This document defines a framework for the documentation of these guidelines by specification authors, in order to assure that the provided guidance for the IANA Considerations is clear and addresses the various issues that are likely in the operation of a registry.</t>
              <t>This is the third edition of this document; it obsoletes RFC 5226.</t>
            </abstract>
          </front>
          <seriesInfo name="BCP" value="26"/>
          <seriesInfo name="RFC" value="8126"/>
          <seriesInfo name="DOI" value="10.17487/RFC8126"/>
        </reference>
        <reference anchor="drip-rid" target="https://www.ietf.org/archive/id/draft-ietf-drip-uas-rid-01.txt">
          <front>
            <title>UAS 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="Andrei Gurtov" initials="A." surname="Gurtov">
              <organization>Linköping University</organization>
            </author>
            <date day="9" month="September" year="2020"/>
            <abstract>
              <t>   This document describes the use of Hierarchical Host Identity Tags
   (HHITs) as a self-asserting and thereby trustable Identifier for use
   as the UAS Remote ID.  HHITs include explicit hierarchy to provide
   Registrar discovery for 3rd-party ID attestation.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-drip-uas-rid-01"/>
        </reference>
        <reference anchor="drip-registries" target="https://www.ietf.org/archive/id/draft-ietf-drip-registries-05.txt">
          <front>
            <title>DRIP Entity Tag (DET) Registration &amp; Lookup</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>
            <author fullname="Jim Reid" initials="J." surname="Reid">
              <organization>RTFM llp</organization>
            </author>
            <date day="11" month="July" year="2022"/>
            <abstract>
              <t>   This document details the required mechanisms for the registration
   and discovery of DRIP Entity Tags (DETs).  The registration process
   relies upon the Extensible Provisioning Protocol (EPP).  The
   discovery process leverages DNS, DNSSEC, and related technology.  The
   lookup process relies upon the Registration Data Access Protocol
   (RDAP).  The DETs can be registered with as their "raw public keys"
   or in X.509 certificates.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-drip-registries-05"/>
        </reference>
        <reference anchor="FAA-14CFR" target="https://www.govinfo.gov/content/pkg/FR-2021-01-15/pdf/2020-28948.pdf">
          <front>
            <title>Remote Identification of Unmanned Aircraft</title>
            <author>
              <organization/>
            </author>
            <date year="2021" month="January"/>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="auth-state-diagrams" numbered="true" toc="default">
      <name>Authentication State Diagrams &amp; Color Scheme</name>
      <t>ASTM Authentication has only 3 states: None, Invalid or Valid. This is because under ASTM the idea is that Authentication is done by an external service hosted somewhere on the Internet so it is assumed you will always get some sort of answer back. With DRIP this classification becomes more complex with the support of "offline" scenarios where the receiver does not have Internet connectivity. With the use of asymmetric keys this means the public key (PK) must somehow be obtained - <xref target="drip-registries" format="default"/> gets more into detail how these keys are stored on DNS and one reason for DRIP Authentication is to send PK's over Broadcast RID.</t>
      <t>There are two keys of interest: the PK of the UA and the PK of the DIME. This document gives a clear way to send the PK of the UA over the Broadcast RID messages. The key of the DIME can be sent over Broadcast RID using the same mechanisms (see <xref target="drip-link" format="default"/> and <xref target="drip-recommendations" format="default"/>) but is not required due to potential operational constraints of sending multiple DRIP Link messages. As such there are scenarios where you may have part of the key-chain but not all of it.</t>
      <t>The intent of this appendix is to give some kind of recommended way to classify these various states and convey it to the user through colors and state names/text.</t>
      <section anchor="state-colors" numbered="true" toc="default">
        <name>State Colors</name>
        <t>The table below lays out the RECOMMENDED colors to associate with state.</t>
        <table align="center">
          <thead>
            <tr>
              <th align="left">State</th>
              <th align="left">Color</th>
              <th align="left">Details</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">None</td>
              <td align="left">Black</td>
              <td align="left">No Authentication being received</td>
            </tr>
            <tr>
              <td align="left">Partial</td>
              <td align="left">Gray</td>
              <td align="left">Authentication being received but missing pages</td>
            </tr>
            <tr>
              <td align="left">Unsupported</td>
              <td align="left">Brown</td>
              <td align="left">Authentication Type/SAM Type of received message not supported</td>
            </tr>
            <tr>
              <td align="left">Unverifiable</td>
              <td align="left">Yellow</td>
              <td align="left">Data needed for verification missing</td>
            </tr>
            <tr>
              <td align="left">Verified</td>
              <td align="left">Green</td>
              <td align="left">Valid verification results</td>
            </tr>
            <tr>
              <td align="left">Trusted</td>
              <td align="left">Blue</td>
              <td align="left">Valid verification results and DIME is marked as trusted</td>
            </tr>
            <tr>
              <td align="left">Questionable</td>
              <td align="left">Orange</td>
              <td align="left">Inconsistent verification results</td>
            </tr>
            <tr>
              <td align="left">Unverified</td>
              <td align="left">Red</td>
              <td align="left">Invalid verification results</td>
            </tr>
            <tr>
              <td align="left">Conflicting</td>
              <td align="left">Purple</td>
              <td align="left">Inconsistent verification results and DIME is marked as trusted</td>
            </tr>
          </tbody>
        </table>
      </section>
      <section anchor="state-diagrams" numbered="true" toc="default">
        <name>State Diagrams</name>
        <t>This section gives some RECOMMENDED state flows that DRIP should follow. Note that the state diagrams do not have all error conditions mapped.</t>
        <section anchor="notations" numbered="true" toc="default">
          <name>Notations</name>
          <figure anchor="state-notations">
            <name>Diagram Notations</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
o--------------o
|   PROCESS    |
o--------------o

+--------------+
|    STATE     |
+--------------+

 ooooo
o  N  o    Transition N
 ooooo

+----->    Transition Option False/No

----->     Transition Option True/Yes

]]></artwork>
          </figure>
        </section>
        <section anchor="general" numbered="true" toc="default">
          <name>General</name>
          <figure anchor="std-state-fig">
            <name>Standard Authentication Colors/State</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
o---------------------o      ooooo        +------+
|        Start        |---->o  1  o+----->| None |
o---------------------o      ooooo        +------+
                               |
                               v
                             ooooo        +-------------+
                            o  2  o+----->| Unsupported |
                             ooooo        +-------------+
                               |             ^
                               v             |
          +---------+        ooooo           |
          | Partial |<-----+o  3  o          |
          +---------+        ooooo           |
                               |             |
                               v             +
                             ooooo         ooooo        o-------------o
                            o  4  o------>o  5  o------>| SAM Decoder |
                             ooooo         ooooo        o-------------o
                               +
                               |
                               v
                        o------------------o
                        | AuthType Decoder |
                        o------------------o
]]></artwork>
          </figure>
          <table align="center">
            <thead>
              <tr>
                <th align="left">Transition</th>
                <th align="left">Transition Query</th>
                <th align="left">Next State/Process/Transition (Yes, No)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">1</td>
                <td align="left">Receiving Authentication Pages?</td>
                <td align="left">2, None</td>
              </tr>
              <tr>
                <td align="left">2</td>
                <td align="left">Authentication Type Supported?</td>
                <td align="left">3, Unsupported</td>
              </tr>
              <tr>
                <td align="left">3</td>
                <td align="left">All Pages of Authentication Message Received?</td>
                <td align="left">4, Partial</td>
              </tr>
              <tr>
                <td align="left">4</td>
                <td align="left">Is Authentication Type received 5?</td>
                <td align="left">5, AuthType Decoder</td>
              </tr>
              <tr>
                <td align="left">5</td>
                <td align="left">Is SAM Type Supported?</td>
                <td align="left">SAM Decoder, Unsupported</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="drip-sam" numbered="true" toc="default">
          <name>DRIP SAM</name>
          <figure anchor="sam-state-fig">
            <name>DRIP SAM Decoder</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
o-------------o      ooooo        o-----------------------------o
| SAM Decoder |---->o  6  o------>| DRIP Wrapper/Manifest/Frame |
o-------------o      ooooo        o-----------------------------o
                       +                 |              ^
                       |                 |              |
                       v                 v              |
                o-----------o    o--------------------o |
                | DRIP Link |--->| Update State Cache | |
                o-----------o    o--------------------o |
                                   |                    |
                                   v                    |
        o--------------o         ooooo       o----------------------o
        | NOP / Return |<------+o  7  o----->| Extract Message from |
        o--------------o         ooooo       | Verification Queue   |
                                             o----------------------o
]]></artwork>
          </figure>
          <table align="center">
            <thead>
              <tr>
                <th align="left">Transition</th>
                <th align="left">Transition Query</th>
                <th align="left">Next State/Process/Transition (Yes, No)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">6</td>
                <td align="left">Is SAM Type DRIP Link?</td>
                <td align="left">DRIP Link, DRIP Wrapper/Manifest/Frame</td>
              </tr>
              <tr>
                <td align="left">7</td>
                <td align="left">Messages in Verification Queue?</td>
                <td align="left">Extract Message from Verification Queue, NOP / Return</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="link-diagram" numbered="true" toc="default">
          <name>DRIP Link</name>
          <figure anchor="drip-link-state-fig">
            <name>DRIP Link State Decoder</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
o-----------o       ooooo         ooooo        +--------------+
| DRIP Link |----->o  8  o+----->o  9  o+----->| Unverifiable |
o-----------o       ooooo         ooooo        +--------------+
                      |             |
                      |-------------'
                      v
                    ooooo        +------------+
                   o  10 o+----->| Unverified |
                    ooooo        +------------+
                      |
                      v
                o---------------------o
                | Add UA DET/PK       |
                | to Key Cache        |
                o---------------------o
                      |
                      v
                    ooooo         +----------+
                   o  11 o+------>| Verified |
                    ooooo         +----------+
                      |              ^
                      v              |
                o-------------------------o
                | Mark UA DET/PK          |
                | as Trusted in Key Cache |
                o-------------------------o
]]></artwork>
          </figure>
          <table align="center">
            <thead>
              <tr>
                <th align="left">Transition</th>
                <th align="left">Transition Query</th>
                <th align="left">Next State/Process/Transition (Yes, No)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">8</td>
                <td align="left">DIME DET/PK in Key Cache?</td>
                <td align="left">10, 9</td>
              </tr>
              <tr>
                <td align="left">9</td>
                <td align="left">DIME PK found Online?</td>
                <td align="left">10, Unverifiable</td>
              </tr>
              <tr>
                <td align="left">10</td>
                <td align="left">DIME Signature Verified?</td>
                <td align="left">Add UA DET/PK to Key Cache, Unverified</td>
              </tr>
              <tr>
                <td align="left">11</td>
                <td align="left">DIME DET/PK marked as Trusted in Key Cache?</td>
                <td align="left">Mark UA DET/PK as Trusted in Key Cache, Verified</td>
              </tr>
            </tbody>
          </table>
        </section>
        <section anchor="drip-wrappermanifestframe" numbered="true" toc="default">
          <name>DRIP Wrapper/Manifest/Frame</name>
          <figure anchor="drip-state-fig">
            <name>DRIP Wrapper/Manifest/Frame State Decoder</name>
            <artwork align="center" name="" type="" alt=""><![CDATA[
o-----------------------------o         +--------------+
| DRIP Wrapper/Manifest/Frame |         | Unverifiable |
o-----------------------------o         +--------------+
           |                                   ^
           v                                   |
         ooooo         ooooo        o--------------------o
        o  12 o+----->o  13 o+----->| Add Message to     |
         ooooo         ooooo        | Verification Queue |
           |             |          o--------------------o
           |             |                    
           |-------------'             
           v                           
         ooooo         ooooo         ooooo        +------------+
        o  14 o+----->o  15 o+----->o  16 o+----->| Unverified |
         ooooo         ooooo         ooooo        +------------+
           |             |             |
           v             v             |
         ooooo        +-------------+  |
        o  17 o+----->| Conflicting |  |
         ooooo        +-------------+  |
           |                           |
           v                           v
         ooooo                  +--------------+
        o  18 o---------------->| Questionable |
         ooooo                  +--------------+
           +
           |
           v
         ooooo        +----------+
        o  19 o+----->| Verified |
         ooooo        +----------+
           |
           v
        +---------+
        | Trusted |
        +---------+
]]></artwork>
          </figure>
          <table align="center">
            <thead>
              <tr>
                <th align="left">Transition</th>
                <th align="left">Transition Query</th>
                <th align="left">Next State/Process/Transition (Yes, No)</th>
              </tr>
            </thead>
            <tbody>
              <tr>
                <td align="left">12</td>
                <td align="left">UA DET/PK in Key Cache?</td>
                <td align="left">14, 13</td>
              </tr>
              <tr>
                <td align="left">13</td>
                <td align="left">UA PK found Online?</td>
                <td align="left">14, Add Message to Verification Queue</td>
              </tr>
              <tr>
                <td align="left">14</td>
                <td align="left">UA Signature Verified?</td>
                <td align="left">17, 15</td>
              </tr>
              <tr>
                <td align="left">15</td>
                <td align="left">Has past Messages of this type been marked as Trusted?</td>
                <td align="left">Conflicting, 16</td>
              </tr>
              <tr>
                <td align="left">16</td>
                <td align="left">Has past Messages of this type been marked as Questionable or Verified?</td>
                <td align="left">Questionable, Unverified</td>
              </tr>
              <tr>
                <td align="left">17</td>
                <td align="left">Has past Messages of this type been marked as Conflicting?</td>
                <td align="left">Conflicting, 18</td>
              </tr>
              <tr>
                <td align="left">18</td>
                <td align="left">Has past Messages of this type been marked as Questionable or Unverified?</td>
                <td align="left">Questionable, 19</td>
              </tr>
              <tr>
                <td align="left">19</td>
                <td align="left">Is UA DET/PK marked as Trusted in Key Cache?</td>
                <td align="left">Trusted, Verified</td>
              </tr>
            </tbody>
          </table>
        </section>
      </section>
    </section>
    <section anchor="broadcast-endorsement" numbered="true" toc="default">
      <name>Broadcast Endorsement: DIME, UA</name>
      <figure anchor="b-axy-fig">
        <name>Example DRIP Broadcast Endorsement: DIME, UA</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|                                                               |
|                             DRIP                              |
|                      Entity Tag of DIME                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                             DRIP                              |
|                       Entity Tag of UA                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                      Host Identity of UA                      |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
|                     VNB Timestamp by DIME                     |
+---------------+---------------+---------------+---------------+
|                     VNA Timestamp by DIME                     |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                      Signature by DIME                        |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

DRIP Entity Tag of DIME: (16-bytes)
    DET of DIME.

DRIP Entity Tag of UA: (16-bytes)
    DET of UA.

Host Identity of UA: (32-bytes)
    HI of UA.

VNB Timestamp by DIME (4-bytes):
    Current time at signing.

VNA Timestamp by DIME (4-bytes):
    Timestamp denoting recommended time to trust DIME Endorsement
    of UA DET and HI (may be minutes to months in the future).

DIME Signature (64-bytes):
    Signature over preceding fields using the keypair of 
    the DIME.
]]></artwork>
      </figure>
    </section>
    <section anchor="appendix-c" numbered="true" toc="default">
      <name>Example TX/RX Flow</name>
      <t>In this example the UA is sending all DRIP Authentication Message formats (DRIP Link, DRIP Wrapper and DRIP Manifest) during flight, along with standard ASTM Messages. The objective is to show the combinations of messages that must be received to properly validate a DRIP equipped UA and examples of their various states (as described in <xref target="auth-state-diagrams" format="default"/>).</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
        +-------------------+
  .-----| Unmanned Aircraft |-----.
  |     +-------------------+     |
  | 0             | 1             | 2
  |               |               |

  O               O               O
--|--           --|--           --|--
 / \             / \             / \
  A               B               C


Broadcast Paths: Messages Received
0: None
1: DRIP Link or DRIP Wrapper or DRIP Manifest
2: DRIP Link and DRIP Wrapper or DRIP Manifest

Observers: Authentication State
A: None
B: Unverifiable
C: Verified, Trusted, Unverified, Questionable, or Conflicting
]]></artwork>
      <t>As the above example shows to properly authenticate both a DRIP Link and a DRIP Wrapper or DRIP Manifest are required.</t>
    </section>
    <section anchor="decoding-optimization" numbered="true" toc="default">
      <name>Additional FEC Decoding Heuristic</name>
      <t>With <xref target="fec-details" format="default"/>, if Page 0 and the FEC page are missing from the Authentication Message there is a heuristic that can be applied instead of FEC decoding to obtain the Authentication Data. This is based on the structure of the DRIP Authentication Messages and additional information sent over the broadcast or via lookup in DNS.</t>
      <t>Looking at Page 0 (<xref target="fec-pg0" format="default"/>) of any DRIP Authentication Format the payload data is always a DET. For DRIP Link (<xref target="drip-link" format="default"/>) this DET is of the DIME while for DRIP Wrapper (<xref target="drip-wrapper" format="default"/>), Manifest (<xref target="drip-manifest" format="default"/>) and Frame (<xref target="drip-frame" format="default"/>) it is the DET of the UA.</t>
      <figure anchor="fec-pg0">
        <name>Example Page 0 from DRIP Authentication Message</name>
        <artwork align="center" name="" type="" alt=""><![CDATA[
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Page Header  |                                               |
+---------------+     Authentication Headers    +---------------+ 
|                                               |   SAM Type    |
+---------------+---------------+---------------+---------------+ 
|                                                               |
|                              DRIP                             |
|                           Entity Tag                          |
|                                                               |
+---------------+---------------+---------------+---------------+

Page Header: (1-byte)
    Authentication Type (4-bits)
    Page Number (4 bits)

Authentication Headers: (6-bytes)
    As defined in F3411

SAM Type (1-byte):
    Byte defined by F3411 to multiplex SAMs

DRIP Entity Tag: (16-bytes)
  DET of an entity in network byte order
]]></artwork>
      </figure>
      <t>Under DRIP, the Basic ID Message (Message Type 0x1) SHOULD be using Specific Session ID (ID Type 4) subtype IETF DRIP Entity ID (Type 1). This DET of the UA can be used in place of the missing DET in DRIP Wrapper, Manifest and Frame. For DRIP Link, which is missing the DET of the DIME, the lookup properties of the DET enables the discovery, via DNS, the DIME's DET.</t>
      <t>These DETs obtained via other means can replace the missing payload of Authentication Page 0 and enable the full decoding and verification of the DRIP Authentication Message.</t>
      <t>When the missing DET is supposed to be of the UA the DET MAY be sourced from the Basic ID Message (Message Type 0x1). Under DRIP, this SHOULD be set to the DET missing in the Authentication Data.</t>
    </section>
    <section anchor="operational-proof" numbered="true" toc="default">
      <name>Operational Recommendation Analysis</name>
      <t>The recommendations found in (<xref target="operational-recommendations" format="default"/>) may seem heavy handed and specific. This appendix lays out the math and assumptions made to come to the recommendations listed there. This section is solely based on operations using Bluetooth 4.x; as such all calculations of frame counts for DRIP included FEC using <xref target="fec-details" format="default"/>.</t>
      <section anchor="methodology" numbered="true" toc="default">
        <name>Methodology</name>
        <t>In the US, the required ASTM Messages to be transmitted every second are: Basic ID (0x1), Location (0x2) and System (0x4). Typical implementations will most likely send at a higher rate (2x sets per cycle) resulting in 6 frames sent per cycle.</t>
        <!-- do we regard the the set when sent twice a second as a retransmission or as an update? -->

<ul empty="true" spacing="normal">
          <li>Informational Note: in Europe the Operator ID Message (0x5) is also included; pushing the frame count to 8 per cycle. For Japan two Basic ID (0x0), Location (0x1) and Authentication (0x2) are required.</li>
        </ul>
        <t>To calculate the frame count of a given DRIP Authentication Message the following formula is used:</t>
        <ul empty="true" spacing="normal">
          <li>1 + ceiling((((16 + 8 + 64) + (Item Size * Item Count) + 2) - 16) / 23) + 1</li>
        </ul>
        <t>The leading 1 is counting for the Page 0 which is always present. The DET (16-bytes), timestamps (8-bytes) and signature (64-bytes) all make up the required fields for DRIP. Item Size (in bytes) is size of each item in a given format; for Wrapper it is 25 (a full ASTM Message), while for Manifest it is 8 (a single hash). 2 more is added to account for the SAM Type and the ADL byte. The value 16 is the number of bytes not counted (as they are part of Page 0 which is already counted for). 23 is the number of bytes per Authentication Page (pages 1 - 15). After dividing by 23 the value is raised to the nearest whole value as we can only send full frames, not partial. The final 1 is counting for a single page of FEC applied in DRIP under Bluetooth 4.x.</t>
        <ul empty="true" spacing="normal">
          <li>Informational Note: for DRIP Link the Item Size is 48 and Item Count is 1; resulting in a frame count of 8</li>
        </ul>
        <t>Comparing DRIP Wrapper and Manifest Authentication Message frame counts we have the following:</t>
        <table anchor="tbl-frame-counts" align="center">
          <name>Frame Counts</name>
          <thead>
            <tr>
              <th align="left">Authenticated Frames</th>
              <th align="left">Wrapper Frames</th>
              <th align="left">Manifest Frames</th>
              <th align="left">Total Wrapper Frames</th>
              <th align="left">Total Manifest Frames</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">1</td>
              <td align="left">7</td>
              <td align="left">7</td>
              <td align="left">8</td>
              <td align="left">8</td>
            </tr>
            <tr>
              <td align="left">2</td>
              <td align="left">8</td>
              <td align="left">7</td>
              <td align="left">10</td>
              <td align="left">9</td>
            </tr>
            <tr>
              <td align="left">3</td>
              <td align="left">9</td>
              <td align="left">7</td>
              <td align="left">12</td>
              <td align="left">10</td>
            </tr>
            <tr>
              <td align="left">4</td>
              <td align="left">10</td>
              <td align="left">8</td>
              <td align="left">14</td>
              <td align="left">12</td>
            </tr>
            <tr>
              <td align="left">5</td>
              <td align="left">N/A</td>
              <td align="left">8</td>
              <td align="left">N/A</td>
              <td align="left">13</td>
            </tr>
            <tr>
              <td align="left">6</td>
              <td align="left">N/A</td>
              <td align="left">8</td>
              <td align="left">N/A</td>
              <td align="left">14</td>
            </tr>
            <tr>
              <td align="left">7</td>
              <td align="left">N/A</td>
              <td align="left">9</td>
              <td align="left">N/A</td>
              <td align="left">16</td>
            </tr>
            <tr>
              <td align="left">8</td>
              <td align="left">N/A</td>
              <td align="left">9</td>
              <td align="left">N/A</td>
              <td align="left">17</td>
            </tr>
            <tr>
              <td align="left">9</td>
              <td align="left">N/A</td>
              <td align="left">10</td>
              <td align="left">N/A</td>
              <td align="left">19</td>
            </tr>
            <tr>
              <td align="left">10</td>
              <td align="left">N/A</td>
              <td align="left">10</td>
              <td align="left">N/A</td>
              <td align="left">20</td>
            </tr>
            <tr>
              <td align="left">11</td>
              <td align="left">N/A</td>
              <td align="left">10</td>
              <td align="left">N/A</td>
              <td align="left">21</td>
            </tr>
          </tbody>
        </table>
        <t>Note that for <tt>Manifest Frames</tt> the calculations use an <tt>Item Count</tt> that is <tt>2 + Authentication Frames</tt>. This is to account for the two special hashes.</t>
        <t>The values in <tt>Total Frames</tt> is calculated by adding in the <tt>Item Count</tt> (to either the <tt>Wrapper Frames</tt> or <tt>Manifest Frames</tt> column) to account for the ASTM Messages being sent outside the Authentication Message.</t>
      </section>
      <section anchor="astm-maximum-schedule-example" numbered="true" toc="default">
        <name>ASTM Maximum Schedule Example</name>
        <t>For this example we will assume the following ASTM Messages are in play:</t>
        <ul spacing="normal">
          <li>1x Basic ID (0x0) set as ID Type for Serial Number (0x1)</li>
          <li>1x Basic ID (0x0) set as ID Type for CAA Assigned ID (0x2)</li>
          <li>1x Basic ID (0x0) set as ID Type for UTM Assigned ID (0x3)</li>
          <li>1x Basic ID (0x0) set as ID Type for Specific Session ID (0x4)</li>
          <li>2x Location (0x1)</li>
          <li>1x Self ID (0x3)</li>
          <li>2x System (0x4)</li>
          <li>2x Operator ID (0x5)</li>
        </ul>
        <t>This message set is uses all single frame ASTM Messages, sending a set of them (Location, System and Operator ID) at a rate of 2 per second. Two Basic ID's are sent in a single second and rotate between the 4 defined (1x per type). A single Self ID is sent every second. All messages in a given second if appear more than once are exact duplicates.</t>
        <figure anchor="schedule-fig">
          <name>Example Transmit Schedule</name>
          <artwork align="center" name="" type="" alt=""><![CDATA[
+-----------------------------------------------------------+
|                        Frame Slots                        |
| 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 |
+----+----+----+----+----+----+----+----+----+----+----+----+
| A* | V* | S  | O  | B  | V  | S* | O  | I  |   L/W[0,2]   |
+----+----+----+----+----+----+----+----+----+----+----+----+
| C* | V  | S* | O  | D* | V* | S  | O  | I* |   L/W[3,5]   |
+----+----+----+----+----+----+----+----+----+----+----+----+
| A  | V* | S  | O* | B* | V  | S  | O  | I  |L/W[6,7] | ## |
+----+----+----+----+----+----+----+----+----+----+----+----+
| C  | V  | S  | O  | D  | V  | S  | O  | I  |    M[0,2]    |
+----+----+----+----+----+----+----+----+----+----+----+----+
| A  | V  | S  | O  | B  | V  | S  | O  | I  |    M[3,5]    |
+----+----+----+----+----+----+----+----+----+----+----+----+
| C  | V  | S  | O  | D  | V  | S  | O  | I  |    M[6,8]    |
+----+----+----+----+----+----+----+----+----+----+----+----+
| A  | V  | S  | O  | B  | V  | S  | O  | I  |M[9]| ## | ## |
+----+----+----+----+----+----+----+----+----+----+----+----+

# = Empty Frame Slot
A = Basic ID Message (0x0) ID Type 1
B = Basic ID Message (0x0) ID Type 2
C = Basic ID Message (0x0) ID Type 3
D = Basic ID Message (0x0) ID Type 4
V = Location/Vector Message (0x1)
I = Self ID Message (0x3)
S = System Message (0x4)
O = Operator ID Message (0x5)

L[y,z] = DRIP Link Authentication Message (0x2)
W[y,z] = DRIP Wrapper Authentication Message (0x2)
  Wrapping Location (0x1) and System (0x4)
M(x)[y,z] = DRIP Manifest Authentication Message (0x2)
  x = Number Hashes
  y = Start Page
  z = End Page
* = Message in DRIP Manifest Authentication Message
]]></artwork>
        </figure>
        <t>Manifest messages in the schedule are filled with unique messages from previously transmitted messages before the new Manifest is sent. In {schedule-fig} this is denoted by the <tt>*</tt> symbol as being part of the Manifest. For the figure 24 messages are eligible for the Manifest in the very first cycle of transmission. In future iterations 56 messages are eligible across the 7 seconds it takes to send the previous Manifest and the next Link/Wrapper. Care should be given into the selection of messages for a Manifest as there is a limit of 11 hashes.</t>
        <ul empty="true" spacing="normal">
          <li>Informational Note: the term "unique message" above is used as in the example schedule the 2nd Location and System messages MAY be exact copies of the previous Location and System messages sent in the same second. Duplicates of this kind SHOULD NOT be included in a Manifest.</li>
        </ul>
        <t>In the schedule Wrapper and Link messages switch back and forth the contents of them are changing in the following order:</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Link: HDA on UA
Link: RAA on HDA
Link: HDA on UA
Link: Apex on RAA
Link: HDA on UA
Link: RAA on HDA
Link: HDA on UA
Wrapper: Location (0x1), System (0x4)
Link: HDA on UA
Link: RAA on HDA
Link: HDA on UA
Link: Apex on RAA
Link: HDA on UA
Link: RAA on HDA
Link: HDA on UA
Wrapper: Location (0x1), System (0x4)
Link: ??? on Apex
]]></artwork>
        <t>Any messages not required for a local jurisdiction can be removed from the schedule. It is RECOMMENDED this empty frame slot is left empty to help with timing due to RF constraints/concerns. For example in the US the Self ID(0x3) and Operator ID (0x5) are not required and can be ignored in the above figures. In the US only one Basic ID (0x0) is selected at any given time, opening up 3 more slots.</t>
      </section>
    </section>
  </back>
  <!-- ##markdown-source:
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
INA/st9uKcEwhydm9wKJj5+PWrvwT7oxNde3eT7MnBAjsn4Tanv2sdtYZHwn
DeyJpCsss0HM8W4QuUJ0d+siUe8L0PlsuWa/1DEqQ6mzjTesNdtwumj/HRXu
x2lntQ1q7efu7WmggTvDtybMoCZVQv5tZUVbXZ8Tblw7DOTkMarlN9WJxnvl
caD9dtdnXVcNtO0NRJmhLmqzr2jt1Vthbr+F9jtdn/9eNdCOO9BRXrsowzg/
8lZ1qx51q3DdNNCj0kCGM2/eMtvewR4rN/HWceGDd2rpeR2FrafF9vaV8Bc+
RAz32MVwrmlgQyseN1jJX6b2HzOHhs2p5psq5VFqpIvVfEulJ40o6nLdk+qb
7urS8gPnl+qbt44+45a3+t0cfYO0SE9e5befdcyaT212qju9Wd0t780yy22n
70BHA3BYqADM/PqN2gA8QIkEhDEhzuSJfv0bNMxzFg7jZ4/253vORUuygiKA
bLCweZe9sJ/GFXmULphVKZ2+3fo+fgRVuzsdK5/a/ajax2pqaKDH7nxdjGnu
w7duC/O0uxIV1azoiduNsW5HSc05f6saYKjatFuCSAc1012+eYjaUW2m+FCD
qw3wNzOENdKpjy0YUe9a6QS+PfVlFVfj88nj1wP73dj3W6+vLxpa1bOkzbOq
nRPKpJs1u9AosN2z/xWrrM6/QRKuoQTD8VhxFbWNN39tHOcW1bV/DZdCGhrb
3XXc+66H+vZgxtmwxuMY6OPA8/j+Hqextnd1Z57gXmR8/XG9CrL3lfOq7fcW
FWxaiQmYx57e/eaAOERp6mFMMA00hJCE6PE+mpT4q/g4svJp0tLHWgNo1F13
9qTzlMNyD6GOMwepa7OLqPS+HxzVeU1GhRE5Oud1gpbWJlmAR/Vw9t1HHdh0
tTKqTVmsL1ztwGXE46KXrq/Drhl14PTj7rDVLNcB/rfV+9PQsutbFnwpqJ4L
WKno1J9aBIMfQ2WbpB1nwSvI671G9E5j/cdDcLUMeOWkzJ931j/pWVv2GdD4
lstpDLYdGosw5FRUuPuotQz3bfOWON/WTHjVq/bjNfd6+qKx3ao9v9Oi78Rx
4BbveBv+yPv2eC2L86kzUKt38LZ5TxrV0atU4p7gCAt84izQtXfdflSPlen7
nxWL8T+XTftrPo33Gxe1WwXbb8pmyI8fQZX0wv6q1m+aP9enzgHUMW3re2me
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

-->

</rfc>
