<?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-08" 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="auth-formats">DRIP Authentication Formats &amp; Protocols for Broadcast Remote ID</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-drip-auth-08"/>
    <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="April" day="26"/>
    <area>Internet</area>
    <workgroup>DRIP Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document describes how to include trust into the ASTM Remote ID specification defined in ASTM F3411 under Broadcast Remote ID (RID). It defines a few message schemes (sent within the Authentication Message) that can be used to authenticate past messages sent by a 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>Unmanned Aircraft Systems (UAS) are usually in a volatile environment when it comes to communication. UA are generally small with little computational (or flying) horsepower to carry standard communication equipment. This limits  the mediums of communication to few viable options.</t>
      <t>Observer systems (e.g. smartphones and tablets) place further constraints on the communication options. The Remote ID Broadcast messages MUST be available to applications on these platforms without modifying the devices.</t>
      <t>The ASTM <xref target="F3411" format="default"/> standard focuses on two ways of communicating to a UAS for Remote ID (RID): Broadcast and Network.</t>
      <t>This document will focus on adding trust to Broadcast RID via the Authentication Message by combining dynamically signed data with an Attestation of the UA's identity from a Registry.</t>
      <section anchor="drip-requirements-addressed" numbered="true" toc="default">
        <name>DRIP Requirements Addressed</name>
        <t>The following <xref target="drip-requirements" format="default"/> will be addressed:</t>
        <dl newline="false" spacing="normal">
          <dt>GEN 1: Provable Ownership</dt>
          <dd>
  This will be addressed using the DRIP Link and DRIP Wrapper or DRIP Manifest.</dd>
          <dt>GEN 2: Provable Binding</dt>
          <dd>
  This requirement is addressed using the DRIP Wrapper or DRIP Manifest.</dd>
          <dt>GEN 3: Provable Registration</dt>
          <dd>
  This requirement is addressed using the DRIP Link.</dd>
        </dl>
        <t>See <xref target="drip-recommendations" format="default"/> for further clarification.</t>
      </section>
    </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>See <xref target="drip-requirements" format="default"/> for common DRIP terms.</t>
        <dl newline="false" spacing="normal">
          <dt>Legacy Transports:</dt>
          <dd>
  uses broadcast frames (Bluetooth 4.x).</dd>
          <dt>Extended Transports:</dt>
          <dd>
  uses the extended advertisements (Bluetooth 5.X), service info (Wi-Fi NaN) or vendor specific element information (Wi-Fi BEACON). Must use ASTM <xref target="F3411" format="default"/> Message Pack (Message Type 0xF).</dd>
        </dl>
      </section>
    </section>
    <section anchor="background" numbered="true" toc="default">
      <name>Background</name>
      <section anchor="problem-space-and-focus" numbered="true" toc="default">
        <name>Problem Space and Focus</name>
        <t>The current standard for Remote ID does not, in any meaningful capacity, address the concerns of trust in the UA space with communication in the Broadcast RID environment. This is a requirement that will need to be addressed eventually for various different parties that have a stake in the UA industry.</t>
      </section>
      <section anchor="reasoning-for-ietf-drip-authentication" numbered="true" toc="default">
        <name>Reasoning for IETF DRIP Authentication</name>
        <t>The ASTM Authentication Message has provisions in <xref target="F3411" format="default"/> to allow for other organizations to standardize additional Authentication formats beyond those explicitly in <xref target="F3411" format="default"/>.  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.  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>
      <section anchor="astm-authentication-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 frame size. To address this, it is defined as a set of "pages" that each fits into a single Bluetooth 4 broadcast frame. For other media these pages are still used but all in a single frame.</t>
        <section anchor="authentication-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>A single Authentication Page is akin to a UDP packet. For Authentication Pages the structure is further wrapped by outer ASTM framing and the specific link framing (Bluetooth or Wi-Fi).</t>
          <section anchor="authentication-type" numbered="true" toc="default">
            <name>Authentication Type</name>
            <t><xref target="F3411" format="default"/> has the following subset of Authentication Type's defined and that can be used in the <tt>Page Header</tt>:</t>
            <table align="center">
              <thead>
                <tr>
                  <th align="left">Authentication Type</th>
                  <th align="left">Description</th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td align="left">0x2</td>
                  <td align="left">Operator ID Signature</td>
                </tr>
                <tr>
                  <td align="left">0x3</td>
                  <td align="left">Message Set Signature</td>
                </tr>
                <tr>
                  <td align="left">0x5</td>
                  <td align="left">Specific Authentication Method</td>
                </tr>
              </tbody>
            </table>
            <section anchor="specific-authentication-method-sam" numbered="true" toc="default">
              <name>Specific Authentication Method (SAM)</name>
              <t>This document leverages Authentication Type 0x5, Specific Authentication Method (SAM), defining a set of SAM Types in <xref target="specific-method" format="default"/>. Other Authentication Types are also used in DRIP and their use is defined in <xref target="drip-authentication-formats" format="default"/>.</t>
            </section>
          </section>
          <section anchor="page-number" numbered="true" toc="default">
            <name>Page Number</name>
            <t>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 max 23-byte <tt>Authentication Payload</tt>. See <xref target="drip-restrictions" format="default"/> for more details.</t>
          </section>
          <section anchor="authentication-payload-field" numbered="true" toc="default">
            <name>Authentication Payload Field</name>
            <t>The following is shown in its complete format.</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)
    Contains other header information for the Authentication
    Message as defined in F3411.

Authentication Data / Signature: (0 to 255 bytes)
    Opaque authentication data.

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

Additional Data: (0 to 255 bytes):
    Data that follows the Authentication Data / Signature but
    is not considered part of the Authentication Data.
]]></artwork>
            </figure>
            <t><xref target="astm-auth" format="default"/> is the abstract 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>
            <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>
        <section anchor="drip-restrictions" numbered="true" toc="default">
          <name>ASTM 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 of the most constrained existing transport can support. Under Broadcast RID the transport that can hold the least amount of authentication data is Bluetooth 5 and Wi-Fi BEACON 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 a 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.</li>
          </ol>
        </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). Legacy Transports do not have supporting FEC so with DRIP Authentication the following application level FEC scheme is used.</t>
      <section anchor="encoding" numbered="true" toc="default">
        <name>Encoding</name>
        <t>For any encoding the FEC data MUST start on new ASTM Authentication Page. To do this null padding is add before the actual FEC data starts and the length of the whole blob (null padding and FEC) is used as the <tt>Additional Data Length</tt>. To properly fit FEC data into an Authentication Page the number of parity-bytes is limited to 23 (or a multiple thereof). This means that the <tt>Page Header</tt> (and anything before it) is omitted in the FEC process.</t>
        <section anchor="enc-single-page" numbered="true" toc="default">
          <name>Single Page FEC</name>
          <t>To generate the parity a simple XOR operation using the previous and current page is used. Only the last 23-bytes are used during the XOR operation. For Page 0, a 23-byte null pad is used for the previous page. The resulting parity fills the <tt>Additional Data</tt> field of <xref target="F3411" format="default"/> with the <tt>Additional Data Length</tt> field being set to 23 or greater (depending on number of null pad bytes are needed to get onto the next page).</t>
          <figure anchor="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="enc-multi-page" numbered="true" toc="default">
          <name>Multiple Page FEC</name>
          <t>For Multiple Page FEC there are two flavors: Frame Recovery and Page Recovery. Both follow a similar process, but are offset at what data is actually protected.</t>
          <t>(Editor Note: to improve interop should we explicitly select a polynomial for Reed Solomon that DRIP must use?)</t>
          <section anchor="enc-page" numbered="true" toc="default">
            <name>Page Recovery</name>
            <t>Take the following example of an Authentication Message that 3-pages of parity are to be generated for:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
12 50 098960bf8c05 042001001000a00145aac6b00abba268b7
12 51 2001001000a0014579d8a404d48f2ef9bb9a4470ada5b4
12 52 ff1352c7402af9d9ebd20034e8d7a12920f4d7e91c1a73
12 53 dca7d04e776150825863c512c6eb075a206a95c59b297e
12 54 f2935fd416f27b1b42fd5d9dfaa0dec79f32287f41b454
12 55 7101415def153a770d3e6c0b17ae560809bc634a822c1f
12 56 3b1064b80a000000000000000000000000000000000000
]]></artwork>
            <t>For Page Recovery the first two columns are ignored (being the <tt>Page Header</tt> and any data before it), the last 23 columns are extracted and have Reed Solomon performed on it to produce parity bytes. For the example the following 3-bytes of parity are generated:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
dc6c2b = ReedSolomon.encoder(0920ffdcf2713b)
]]></artwork>
            <t>Each set of parity is the placed into a pseudo-frame as follows (each byte in its own message in the same column):</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
00 00 dc00000000000000000000000000000000000000000000
00 00 6c00000000000000000000000000000000000000000000
00 00 2b00000000000000000000000000000000000000000000
]]></artwork>
            <t>The above data set produces the following full set of parity:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
00 00 dc6657acd30b2ec4aa582049f52adf9f922e62c469563a
00 00 6c636a59145a55417a3895fd543f19e94200be4abc5e94
00 00 02bba5e28f5896d754caf50016a983993b149b5c9e6eeb
]]></artwork>
            <t>The last 23-bytes are then added into the <tt>Additional Data</tt> fields of their respective pages:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
12 57 dc6657acd30b2ec4aa582049f52adf9f922e62c469563a
12 58 6c636a59145a55417a3895fd543f19e94200be4abc5e94
12 59 02bba5e28f5896d754caf50016a983993b149b5c9e6eeb
]]></artwork>
          </section>
          <section anchor="enc-frame" numbered="true" toc="default">
            <name>Frame Recovery</name>
            <t>Frame Recovery uses the full ASTM Message and performs Reed Solomon over each byte. Below is an example of a number of messages.</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
10 42012001001000a0014579d8a404d48f2ef9000000000000
11 249600006efeb019ee111ed37a097a0948081c10ffff0000
12 50 098960bf8c05 042001001000a00145aac6b00abba268b7
12 51 2001001000a0014579d8a404d48f2ef9bb9a4470ada5b4
12 52 ff1352c7402af9d9ebd20034e8d7a12920f4d7e91c1a73
12 53 dca7d04e776150825863c512c6eb075a206a95c59b297e
12 54 f2935fd416f27b1b42fd5d9dfaa0dec79f32287f41b454
12 55 7101415def153a770d3e6c0b17ae560809bc634a822c1f
12 56 3b1064b80a000000000000000000000000000000000000
13 0052656372656174696f6e616c2054657374000000000000
14 02c2ffb019322d1ed3010000c008e40700fc080000000000
15 004e2e4f5031323334353600000000000000000000000000
]]></artwork>
            <t>Each column is extracted and has Reed Solomon performed on it to produce parity bytes.  In the below example 5-bytes of parity are generated with Frame Recovery:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
6c3f42b8a8 = ReedSolomon.encoder(101112121212121212131415)
]]></artwork>
            <t>Each set of parity is the placed into a pseudo-frame as follows (each byte in its own message in the same column):</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
6c000000000000000000000000000000000000000000000000
3f000000000000000000000000000000000000000000000000
42000000000000000000000000000000000000000000000000
b8000000000000000000000000000000000000000000000000
a8000000000000000000000000000000000000000000000000
]]></artwork>
            <t>The above data set produces the following sets of parity:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
6c86337bf7ab746f5d62bb7f8de954104b121585d3975f6e92
3f06c1bce165b0e25930d57a63c24f751145e1dd8dc115029b
42e9979580327a6a14d421c12a33aa2e1a2e517daaee581016
b8012a7b3964f7b2720d387bfa77e945556f1831cd477ef3a3
a85bb403aada89926fb8fc2a14a9caacb4ec2f3a6ed2d8e9f9
]]></artwork>
            <t>For Frame Recovery the above data would be placed into Authentication Pages like below:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
12 57 6c86337bf7ab746f5d62bb7f8de954104b121585d3975f
12 58 6e923f06c1bce165b0e25930d57a63c24f751145e1dd8d
12 59 c115029b42e9979580327a6a14d421c12a33aa2e1a2e51
12 5a 7daaee581016b8012a7b3964f7b2720d387bfa77e94555
12 5b 6f1831cd477ef3a3a85bb403aada89926fb8fc2a14a9ca
12 5c acb4ec2f3a6ed2d8e9f900000000000000000000000000
]]></artwork>
            <t>Up to 240 (255 minus 15 pages max of FEC data) messages can be protected using Frame Recovery.</t>
          </section>
        </section>
      </section>
      <section anchor="decoding" numbered="true" toc="default">
        <name>Decoding</name>
        <t>Due to the nature of Bluetooth 4 and the existing ASTM paging structure an optimization can be used. If a Bluetooth frame fails its CRC check, then the frame is dropped without notification to the upper protocol layers. From the Remote ID perspective this means the loss of a complete frame/message/page. In Authentication Messages, each page is already numbered so the loss of a page allows the receiving application to build a "dummy" page filling the entire page with nulls.</t>
        <t>If Page 0 is being reconstructed an additional check of the <tt>Last Page Index</tt> to check against how many pages are actually present, MUST be performed for sanity. An additional check on the <tt>Length</tt> field SHOULD also be performed.</t>
        <t>To determine if Single Page FEC or Multiple Page FEC has been used a simple check of the <tt>Last Page Index</tt> can be used. If the number of pages left after the <tt>Length</tt> of Authentication Data is exhausted than it is clear that the remaining pages are all FEC. The <tt>Additional Data Length</tt> byte can further confirm this; taking into account any null padding needed for page alignment.</t>
        <section anchor="dec-single-page" numbered="true" toc="default">
          <name>Single Page FEC</name>
          <t>Using the same methods as encoding, an XOR operation is used between the previous and current page (a 23-byte null pad is used as the start). The resulting 23-bytes should be data of the missing page.</t>
        </section>
        <section anchor="dec-multi-page" numbered="true" toc="default">
          <name>Multiple Page FEC</name>
          <t>To determine if Page Recovery or Frame Recovery is used two modulo checks with the <tt>ADL</tt> after the length of the null-pad is removed are needed. One against the value of 23, and the other against the value of 25. If 23 comes back with a value of 0 then Page Recovery is being used. If 25 comes back with 0 then Frame Recovery is used. Any other combination indicates an error.</t>
          <section anchor="dec-page" numbered="true" toc="default">
            <name>Page Recovery</name>
            <t>To decode Page Recovery, dummy pages (pages with nulls as the data) are needed in the places no page was received. Then Reed Solomon can decode across the columns of the 23-bytes of each page. Erasures can be used as it is known which pages are missing and can improve the Reed Solomon results by specifying them.</t>
          </section>
          <section anchor="dec-frame" numbered="true" toc="default">
            <name>Frame Recovery</name>
            <t>To decode Frame Recovery, the receiver must first extract all FEC data from the pages; concatenate them and then break into 25-byte chunks. This will produce the pseudo-frames. Now Reed Solomon can be used to decode columns, with dummy frames inserted where needed.</t>
            <!-- Author Note (atw): for Page Recovery adding the nulls is easy - however how do we specify/know the order and number of messages for Frame Recovery to insert the null-Messages? -->

</section>
        </section>
      </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 in to 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 be avoided at all costs - in an effort to maintain efficiency.</t>
      </section>
    </section>
    <section anchor="bas" numbered="true" toc="default">
      <name>Broadcast Attestation Structure</name>
      <t>To directly support Broadcast RID a variation of the <tt>Attestation Structure</tt> format of <xref target="drip-registries" format="default"/> SHOULD be used when running DRIP under the various Authentication Types (filling the <tt>Authentication Data / Signature</tt> field of <xref target="astm-auth" format="default"/>) and SAM Types (filling the <tt>SAM Authentication Data</tt> field (<xref target="sam-authentication-data" format="default"/>)). The notable changes of the structure is that the timestamps are set by the UA and the <tt>Attestor Identity Information</tt> is set to the DET of the UA.</t>
      <t>When using this structure the UA is always self-attesting its DRIP Entity Tag (DET). The Host Identity of the UA DET can be looked up by mechanisms described in <xref target="drip-registries" format="default"/> or by extracting it from Broadcast Attestation (see <xref target="drip-link" format="default"/> and <xref target="drip-recommendations" format="default"/>).</t>
      <figure anchor="drip-data">
        <name>Broadcast Attestation 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                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
.                                                               .
.                        Attestation Data                       .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
|                   Not Before Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                    Not After Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                          UA Signature                         |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

UA DRIP Entity Tag (16 bytes):
    The UA DET in byte form (network byte order).

Attestation Data (0 to 112 bytes):
    Opaque attestation data.

Not Before Timestamp by UA (4-bytes):
    Timestamp denoting recommended time to start trusting data.

Not After Timestamp by UA (4 bytes):
    Timestamp denoting recommended time to stop trusting data.

UA Signature (64 bytes):
    Signature over preceding fields using the keypair of 
    the UA.
]]></artwork>
      </figure>
      <t><tt>Attestation Data</tt> is a field with a maximum of 112-bytes, containing data that the UA is attesting during its flight.</t>
      <t>The <tt>Not After Timestamp</tt> and <tt>Not Before Timestamp</tt> 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. <tt>Not Before Timestamp</tt> MUST be set to the time the structure is signed over. An additional offset is then added to push the <tt>Not After Timestamp</tt> a short time into the future to avoid replay attacks.</t>
      <t>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 ahead of <tt>Not Before Timestamp</tt>.</t>
    </section>
    <section anchor="drip-authentication-formats" numbered="true" toc="default">
      <name>DRIP Authentication Formats</name>
      <t>All formats defined in this section fill the <tt>Authentication Data / Signature</tt> field in <xref target="astm-auth" format="default"/>.</t>
      <t>When sending data over a medium that does not have underlying Forward Error Correction (FEC), for example Bluetooth 4, then <xref target="fec-details" format="default"/> MUST be used.</t>
      <section anchor="operator-id-signature" numbered="true" toc="default">
        <name>Operator ID Signature</name>
        <t>The existing ASTM <xref target="F3411" format="default"/> Authentication Type 0x2 can be used to send a static Self-Attestation of the Operator.</t>
        <figure anchor="op-sig">
          <name>DRIP Operator ID Signature</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
+---------------+---------------+---------------+---------------+
|                                                               |
|                            Operator                           |
|                        DRIP Entity Tag                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                     Operator Host Identity                    |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
|                Not Before Timestamp by Operator               |
+---------------+---------------+---------------+---------------+
|                Not After Timestamp by Operator                |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                       Operator Signature                      |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

UA DRIP Entity Tag (16 bytes):
    The Operator DET in byte form (network byte order).

Operator Host Identity (32-bytes):
    HI of the Operator.

Not Before Timestamp by Operator (4 bytes):
    Timestamp denoting recommended time to start trusting data.

Not After Timestamp by Operator (4 bytes):
    Timestamp denoting recommended time to stop trusting data.

Operator Signature (64 bytes):
    Signature over preceding fields using the keypair of 
    the Operator.
]]></artwork>
        </figure>
      </section>
      <section anchor="message-set-signature" numbered="true" toc="default">
        <name>Message Set Signature</name>
        <t>When running under Extended Transports, the existing ASTM <xref target="F3411" format="default"/> Authentication Type 0x3 can be used to sign over the adjacent ASTM Messages in the Message Pack (Message Type 0xF).</t>
        <t>The concatenation of all messages in the Message Pack (excluding Authentication) before signing MUST be in Message Type order and be placed between the <tt>UA DRIP Entity Tag</tt> and <tt>Not Before Timestamp</tt> field.</t>
        <figure anchor="set-sig">
          <name>DRIP Message Set Signature</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                         |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

UA DRIP Entity Tag (16 bytes):
    The UA DET in byte form (network byte order).

Not Before Timestamp by UA (4-bytes):
    Timestamp denoting recommended time to start trusting data.

Not After Timestamp by UA (4 bytes):
    Timestamp denoting recommended time to stop trusting data.

UA Signature (64 bytes):
    Signature over preceding fields using the keypair of 
    the UA.
]]></artwork>
        </figure>
      </section>
      <section anchor="specific-method" numbered="true" toc="default">
        <name>Specific Authentication Method</name>
        <t>For ASTM Specific Authentication Method (Authentication Type 0x5) a special SAM Type field, specified as the first byte of the <tt>Authentication Data / Signature</tt> by <xref target="F3411" format="default"/>, is used to multiplex between various formats.</t>
        <section anchor="sam-data-format" 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):
    Opaque SAM authentication data.
]]></artwork>
          </figure>
          <section anchor="sam-type" numbered="true" toc="default">
            <name>SAM Type</name>
            <t>The SAM Type field is maintained by the International Civil Aviation Organization (ICAO) 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">0x01</td>
                  <td align="left">DRIP Link (<xref target="drip-link" format="default"/>)</td>
                </tr>
                <tr>
                  <td align="left">0x02</td>
                  <td align="left">DRIP Wrapper (<xref target="drip-wrapper" format="default"/>)</td>
                </tr>
                <tr>
                  <td align="left">0x03</td>
                  <td align="left">DRIP Manifest (<xref target="drip-manifest" format="default"/>)</td>
                </tr>
                <tr>
                  <td align="left">0x04</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"/>. When possible the Broadcast Attestation Structure (<xref target="bas" format="default"/>) should be used in this space.</t>
          </section>
        </section>
        <section anchor="drip-link" numbered="true" toc="default">
          <name>DRIP Link</name>
          <t>This SAM Type is used to transmit Broadcast Attestation's. The Broadcast Attestation of the Registry (HDA) over the UA MUST be sent (see <xref target="drip-recommendations" format="default"/>). Its structure is defined in <xref target="drip-registries" format="default"/> and an example of it can be found in <xref target="link-example" format="default"/>.</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 Attestation                    .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+

Broadcast Attestation: (136-bytes)
    HDA over UA. Generated by a DRIP Registry during Session ID 
    registration.
]]></artwork>
          </figure>
          <t>This DRIP format MUST be used in conjunction with another DRIP SAM Type (such as Manifest or Wrapper) that contains data that is guaranteed to be unique and easily cross checked by the receiving device. A good candidate for this is using the DRIP Wrapper to encapsulate a Location Message (Message Type 0x2).</t>
          <section anchor="link-limitations" numbered="true" toc="default">
            <name>Link Limitations</name>
            <t>See <xref target="replay-attacks" format="default"/> for details on why this structure is not dynamically signed.</t>
          </section>
        </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. It MUST use the Broadcast Attestation Structure (<xref target="bas" format="default"/>).</t>
          <t>The <tt>Attestation Data</tt> field is filled with full (25-byte) <xref target="F3411" format="default"/> Broadcast RID messages. The minimum number being 1 and the maximum being 4. The encapsulated 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.</t>
          <t>To determine the number of messages wrapped the receiver can check that the length of the <tt>Attestation Data</tt> field of the DRIP Broadcast Attestation (<xref target="bas" format="default"/>) is a multiple of 25-bytes.</t>
          <figure anchor="wrapper-fig">
            <name>Example 4-Message DRIP Wrapper</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                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                          ASTM Message                         |
|                                                               |
|                                                               |
|                                                               |
+               +---------------+---------------+---------------+
|               |                                               |
+---------------+                                               |
|                                                               |
|                          ASTM Message                         |
|                                                               |
|                                                               |
|                                                               |
+                               +---------------+---------------+
|                               |                               |
+---------------+---------------+                               |
|                                                               |
|                                                               |
|                          ASTM Message                         |
|                                                               |
|                                                               |
+                                               +---------------+
|                                               |               |
+---------------+---------------+---------------+               |
|                                                               |
|                                                               |
|                          ASTM Message                         |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
|                   Not Before Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                    Not After Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                          UA Signature                         |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

UA DRIP Entity Tag (16 bytes):
    The UA DET in byte form (network byte order).

ASTM Message (25 bytes):
    Full ASTM Message.

Not Before Timestamp by UA (4-bytes):
    Timestamp denoting recommended time to start trusting data.

Not After Timestamp by UA (4 bytes):
    Timestamp denoting recommended time to stop trusting data.

UA Signature (64 bytes):
    Signature over preceding fields using the keypair of 
    the UA.
]]></artwork>
          </figure>
          <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. It MUST use the Broadcast Attestation Structure (<xref target="bas" format="default"/>).</t>
          <t>By hashing previously sent messages and signing them we gain trust in UAs previous reports. An observer who has been listening for any considerable length of time can hash received messages and cross-check against listed hashes. This is a way to evade the limitation of a maximum of 4 messages in the Wrapper Format and reduce overhead.</t>
          <t>The <tt>Attestation Data</tt> field is filled with 12-byte hashes of previous <xref target="F3411" format="default"/> Broadcast messages. A receiver does not need to have received every message in the manifest to verify it. A manifest SHOULD typically encompass a single transmission cycle of messages being sent, see <xref target="operational" format="default"/>.</t>
          <figure anchor="manifest-fig">
            <name>Example DRIP Manifest</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                        |

+---------------+---------------+---------------+---------------+
|                                                               |
|                     Previous Manifest Hash                    |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                     Current Manifest Hash                     |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                       ASTM Message Hash                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                       ASTM Message Hash                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                       ASTM Message Hash                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                       ASTM Message Hash                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                       ASTM Message Hash                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                       ASTM Message Hash                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                       ASTM Message Hash                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                   Not Before Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                    Not After Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                          UA Signature                         |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

UA DRIP Entity Tag (16 bytes):
    The UA DET in byte form (network byte order).

Previous Manifest Hash (12 bytes):
    See Section 6.3.4.3.

Current Manifest Hash (12 bytes):
    See Section 6.3.4.3.

ASTM Message Hash (12 bytes):
    Hash of a single full ASTM Message. Multiple hashes should
    be in Message Type order.

Not Before Timestamp by UA (4-bytes):
    Timestamp denoting recommended time to start trusting data.

Not After Timestamp by UA (4 bytes):
    Timestamp denoting recommended time to stop trusting data.

UA Signature (64 bytes):
    Signature over preceding fields using the keypair of 
    the UA.
]]></artwork>
          </figure>
          <section anchor="hash-op" numbered="true" toc="default">
            <name>Message Hash Algorithms and Operation</name>
            <t>The hash algorithm used for the Manifest Message is the same hash algorithm used in creation of the 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, 96, "", "Remote ID Auth Hash")
]]></artwork>
            <ul empty="true" spacing="normal">
              <li>
                <ul empty="true" spacing="normal">
                  <li>Note: <xref target="drip-rid" format="default"/> specifies cSHAKE128 but is open for the expansion of other OGAs.</li>
                </ul>
              </li>
            </ul>
            <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 Authentication Messages all the Authentication Message Pages are concatenated together and hashed as one object. For all other Message Types the 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 anchor="block-hashes" numbered="true" toc="default">
            <name>Pseudo-Blockchain Hashes</name>
            <t>Two special hashes are included in all Manifest messages; a previous manifest hash, which links to the previous manifest message, as well as a current manifest hash. 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>
            <dl newline="false" spacing="normal">
              <dt>Creation:</dt>
              <dd>
  During creation and signing of this message format this field MUST be set to 0. So the signature will be based on this field being 0, as well as its own hash. It is an open question of if we compute the hash, then sign or sign then compute.</dd>
              <dt>Cycling:</dt>
              <dd>
  There a few different ways to cycle this message. We can "roll up" the hash of 'current' to 'previous' when needed or to completely recompute the hash. This mostly depends on the previous note.</dd>
            </dl>
          </section>
          <section anchor="manifest-limitations" numbered="true" toc="default">
            <name>Manifest Limitations</name>
            <t>A potential limitation to this format is dwell time of the UA. If the UA is not sticking to a general area then most likely the Observer will not obtain many (if not all) of the messages in the manifest. Examples of such scenarios include delivery or survey UA.</t>
            <t>Another limitation is the length of hash, which is discussed in <xref target="manifest-hash-length" format="default"/>.</t>
          </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. This SAM Type SHOULD use the Broadcast Attestation Structure (<xref target="bas" format="default"/>).</t>
          <figure anchor="frame-fig">
            <name>Example 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
+---------------+---------------+---------------+---------------+
|                                                               |
|                              UA                               |
|                        DRIP Entity Tag                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|  Frame Type   |                                               |
+---------------+                                               .
.                        Attestation Data                       .
.                                                               .
|                                                               |
+---------------+---------------+---------------+---------------+
|                   Not Before Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                    Not After Timestamp by UA                  |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                          UA Signature                         |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

UA DRIP Entity Tag (16 bytes):
    The UA DET in byte form (network byte order).

Frame Type (1 byte):
    Sub-type for future different DRIP Frame formats.

Attestation Data (0 to 111 bytes):
    Opaque attestation data.

Not Before Timestamp by UA (4-bytes):
    Timestamp denoting recommended time to start trusting data.

Not After Timestamp by UA (4 bytes):
    Timestamp denoting recommended time to stop trusting data.

UA Signature (64 bytes):
    Signature over preceding fields using the keypair of 
    the UA.
]]></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.</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 anchor="frame-limitations" numbered="true" toc="default">
            <name>Frame Limitations</name>
            <t>With the Broadcast Attestation Structure only 115-bytes of <tt>Attestation Data</tt> are free for use.</t>
          </section>
        </section>
      </section>
    </section>
    <section anchor="requirements-recommendations" 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. Forward Error Correction (<xref target="fec-details" format="default"/>) MUST be used when using Legacy Advertising methods (such as Bluetooth 4.X).</t>
        <t>Under ASTM Bluetooth 4.X rules, transmission of dynamic messages are at least every 1 second. DRIP Authentication Messages typically contain dynamic data (such as the DRIP Manifest or DRIP Wrapper) and must 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 Remote ID 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 extended frame (up to 9 single frame equivalent messages under Bluetooth 4.X). 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 Forward Error Correction (<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 Authentication Formats to fulfill the <xref target="drip-requirements" format="default"/>:</t>
        <ol spacing="normal" type="1"><li>DRIP Link using the Broadcast Attestation of HDA and the UA (satisfying GEN-1 and GEN-3)</li>
          <li>Any other DRIP Authentication Format (RECOMMENDED: DRIP Manifest or DRIP Wrapper) where the UA is dynamically signing data (satisfying GEN-1 and GEN-2)</li>
        </ol>
        <t>It is RECOMMENDED the following set of Authentication Formats are sent for support of offline Observers:</t>
        <ol spacing="normal" type="1"><li>DRIP Link using the Broadcast Attestation of HID Root and the RAA (CAA) (satisfies GEN-3)</li>
          <li>DRIP Link using the Broadcast Attestation of RAA (CAA) and the HDA (USS) (satisfies GEN-3)</li>
          <li>DRIP Link using the Broadcast Attestation of HDA (USS) and the UA (satisfies GEN-1 and GEN-3)</li>
          <li>Any other DRIP Authentication Format (RECOMMENDED: DRIP Manifest or DRIP Wrapper) where the UA is dynamically signing data (satisfies GEN-1 and GEN-2)</li>
        </ol>
      </section>
      <section anchor="operational" 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 HDA UA assertion.</t>
        <t>A separate issue is the frequency of transmitting the DRIP Link Authentication Message for the HDA UA assertion 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 HDA UA assertion to mitigate potential packet loss.</t>
        <t>The preferred mode of operation is to send the HDA UA assertion every 3 seconds and Manifest messages immediately after a set of UA operation messages (e.g. Basic, Location, and System messages).</t>
        <!-- Author Note (atw): is this really what we want? Manifest as the default and Wrapper as the secondary? Or should this language become looser to allow both as its six of one half a dozen the other to which is used. -->

<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"/>. Only sending them within the DRIP Wrapper will make 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 received Location Messages (Message Type 0x2) on a map display an embedded Location Message in a DRIP Wrapper can be colored differently to signify trust in the Location data - be it current or previous Location reports that are wrapped.</t>
        </section>
      </section>
    </section>
    <section anchor="icao-considerations" numbered="true" toc="default">
      <name>ICAO Considerations</name>
      <t>DRIP requests the following SAM Type's to be allocated:</t>
      <ol spacing="normal" type="1"><li>DRIP Link</li>
        <li>DRIP Wrapper</li>
        <li>DRIP Manifest</li>
        <li>DRIP Frame</li>
      </ol>
      <!-- Author Note (atw): need help on this section; how should this be formatted? -->

</section>
    <section anchor="iana-considerations" numbered="true" toc="default">
      <name>IANA Considerations</name>
      <t>This document requests a new number field for Frame Type with initial values as defined in <xref target="frame-type" format="default"/>.</t>
    </section>
    <section anchor="security-considerations" numbered="true" toc="default">
      <name>Security Considerations</name>
      <section anchor="manifest-hash-length" numbered="true" toc="default">
        <name>Manifest Hash Length</name>
        <t>For DRIP Manifest an 12-byte hash length has been selected by the authors for a number of reasons.</t>
        <ol spacing="normal" type="1"><li>Hash lengths smaller than 8-bytes (for example 4-bytes) were originally contemplated but ruled out by comments by various cryptographers. The main concern raised in this forum was that the length of hash would not provide strong resistance against collision rate. The authors also after further review agreed with this and also realized operationally it was not necessarily viable. While 4-byte hashes would allow more messages to be filled into a single DRIP Manifest payload (up to 22 individual hashes) the length of time for the UA to stay in a single place where the Observer would receive all the originally messages to rehash to verify such a message was impractical.</li>
          <li>Hash lengths larger than 8-bytes (for example 12 or 16-bytes) were also considered by the authors. These got the approval of the cryptographers but the number of hashes to send became much lower (only 5 individual hashes). While this lower number is a more reasonable number of original messages the Observer would have to capture it would also mean that potentially more DRIP Manifests would need to be sent. Overall the increase length of the hash did not operationally justify the cost.</li>
          <li>Simplifying the current design and locking it into using the same hash as the HHIT instead of allowing for agility in either hash algorithm or length seemed more realistic to the authors today.</li>
        </ol>
      </section>
      <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 Attestation Link messages can easily be replayed by an attacker who has copied them from previous broadcasts. There are two things to mitigate this in DRIP:</t>
        <ol spacing="normal" type="1"><li>If an attacker (who is smart and spoofs more than just the UAS ID/data payloads) willing replays an Attestation Link message they have in principle actually helped by ensuring the message is sent more frequently and be received by potential Observers.</li>
          <li>It is RECOMMENDED to send more than just DRIP Link messages, specifically those that sign over changing data using the current session keypair, and those messages are sent more frequently. An UA beaconing these messages then actually signing other messages using the keypair validates the data receiver by an Observer. 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.</li>
        </ol>
      </section>
      <section anchor="trust-timestamp-offsets" numbered="true" toc="default">
        <name>Trust Timestamp Offsets</name>
        <t>Note the discussion of Trust Timestamp Offsets here is in context of the DRIP Wrapper (<xref target="drip-wrapper" format="default"/>) and DRIP Manifest (<xref target="drip-manifest" format="default"/>) messages. For DRIP Link (<xref target="drip-link" format="default"/>) messages these offsets are set by the Attestor (typically a registry) and have their own set of considerations as seen in <xref target="drip-registries" format="default"/>.</t>
        <t>The offset of the Trust Timestamp (defined as a very short Expiration Timestamp) 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>
      <t>Ryan Quigley and James Mussi of AX Enterprize, LLC for early prototyping to find holes in the draft specifications.</t>
      <t>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) - this drove the requirement for max page length of Authentication Data itself.</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="F3411">
          <front>
            <title>Standard Specification for Remote ID and Tracking</title>
            <author>
              <organization/>
            </author>
            <date year="2020" month="February"/>
          </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="drip-requirements" 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-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">
              <organization>HTT Consulting</organization>
            </author>
            <author fullname="Stuart W. Card">
              <organization>AX Enterprize</organization>
            </author>
            <author fullname="Adam Wiethuechter">
              <organization>AX Enterprize</organization>
            </author>
            <author fullname="Andrei 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-wiethuechter-drip-registries-01.txt">
          <front>
            <title>DRIP Registries</title>
            <author fullname="Adam Wiethuechter">
              <organization>AX Enterprize, LLC</organization>
            </author>
            <author fullname="Stuart Card">
              <organization>AX Enterprize, LLC</organization>
            </author>
            <author fullname="Robert Moskowitz">
              <organization>HTT Consulting</organization>
            </author>
            <date day="22" month="October" year="2021"/>
            <abstract>
              <t>   TODO

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-wiethuechter-drip-registries-01"/>
        </reference>
      </references>
    </references>
    <section anchor="appendix-a" 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 HDA (or Registry). This document gives a clear way to send the PK of the UA over the Broadcast RID messages - however the PK of the Registry is not. It can be using the same mechanism but is not required to do so due to potential operational constraints and implementation of a given UA transmitter. 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-table" numbered="true" toc="default">
        <name>State Table</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 HDA 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 HDA 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.</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">Registry DET/PK in Key Cache?</td>
                <td align="left">10, 9</td>
              </tr>
              <tr>
                <td align="left">9</td>
                <td align="left">Registry PK found Online?</td>
                <td align="left">10, Unverifiable</td>
              </tr>
              <tr>
                <td align="left">10</td>
                <td align="left">Registry 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">Registry 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="link-example" numbered="true" toc="default">
      <name>HDA-UA Broadcast Attestation</name>
      <figure anchor="b-axy-fig">
        <name>Example DRIP HDA-UA Broadcast Attestation</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 HDA                       |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                             DRIP                              |
|                       Entity Tag of UA                        |
|                                                               |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                      Host Identity of UA                      |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+
|                   Not Before Timestamp by HDA                 |
+---------------+---------------+---------------+---------------+
|                    Not After Timestamp by HDA                 |
+---------------+---------------+---------------+---------------+
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                       Signature by HDA                        |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

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

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

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

Expiration Timestamp by HDA (4 bytes):
    Timestamp denoting recommended time to trust data to.

Signing Timestamp by HDA (4 bytes):
    Current time at signing.

HDA Signature (64 bytes):
    Signature over preceding fields using the keypair of 
    the HDA.
]]></artwork>
      </figure>
    </section>
    <section anchor="example-txrx-flow" 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 (<xref target="appendix-a" format="default"/>).</t>
      <artwork name="" type="" align="left" alt=""><![CDATA[
        +-------------------+
  .-----| Unmanned Aircraft |-----.
  |     +-------------------+     |
  | 1       | 2         | 3       | 4
  |         |           |         |

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


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

Observers: Authentication State
A: Unverifiable
B: Verified, Trusted, Unverified, Questionable, or Conflicting
C: Unverifiable
D: None
]]></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>
  </back>
  <!-- ##markdown-source:
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
pwdHZ2e83JUnqmUYum7r7Hz//EijaOWJhkjxp5EKcSJEik9RfktMqzoxX+sX
/1j5/pQT4l/Jaa5enKSknOqnah4DclUv/qbMCs19yIiidmKWby+eZDw7vOg8
f33f5bQeTQYXTBIEu6GP35WQQoihEgpDPgR5SmW3qV6tZpQrqL7PLBupdcMD
13c/UDdp+z5zp1RE7FboM9UNQD16TlGtYv0/G1dfftl73M1ry1pLcFUedwLp
9j/4LXhyoCn9q0ev/SkvdfNGl/7agMgyMKW/yjSabiKCoX0DiX7k/uI7vg9B
SUOD7iEk8Xh4xMaFf9WJqTm+6+FhfYJ0h81IqB25zN3CNnM4r4gJGA/mB62U
sJD2mL8gQYPs7tZnoqU/QDxnyw34Eifo7aTBXrxj79YLb4jm39ANfpJu1dcz
3fvn/s/TRD0fwvf2Xt4KJqiVz48rK+q3yqrr2rXDRF6rhFoVUZwZvledB54f
tMra5l0TDUoTgXHEfYhW/TjG0fRe66M/wvPDVlljvmuioT/RcV67KKvrjkqr
uhWj1ipdr5toVJnI9blYizL3vMc97kTirZepBu/UyvM6CVsvi93pq/Av/BA5
3LbP4Xzf/wvjI3zBaSxVaf8YGNYgZ7URQ6X0dq1cXC3RrXyylkVdb/pk9U1/
dWn1A++b1TdvvQjILaP6w5yu12bl+YDSVG9/1jlrfmoLmu/15iq2Sm9WVW4H
vkcda4jDUQVw5tN34gXwgWKRJUYxIc1kx7z+R6z+xDZVzj9NoeMHwmLMT80i
QGywiXgfXLiftSsqSTo5W5V09t53fR4fIdXuL8equ/YwqfZYzwpNtO3D63NM
ex5+9J+wn7buZEU1K9rxh7HJl3FSs88/ijU0tPpoq0KRHmums/z5OcYx2yHb
ZF9qeLUl/vUKYY11WuYWzKh3nXUCf43Ltorvpfnq+euJ/X7q+21prB/WPFWv
kq6HqhYmtEm7NVhYa7A9cPw7VrkK/xpLuEYS7Ieh7tbw4t2f185zi97VP6ul
Fg1rn7vvvA9dD41dohkPYWu3o2e2A/fjvx6wGxtHF/fWCR4kxjdv11uZXa3s
V+24t+gaM65H4Dxu9x4GA/IQYaSHTZZYI0OISWgP3KNFyepKHidavtJi+gov
Ps2866/AhqD0xvkbUqelgwXWbSFbfegPzuy95s0Ms0Z0791pggHRdbYBz1zi
4fefuec65Hkzu2Yj5hDWTl5lRj7LaZX90TUz97xxqth2vuK6A/Hj6rla82Sr
HCYoW0f12sGdDlDzU8t48MdK33VWkLfoO8Tug2Ys7cjmnxLjq1XMV3bL/npv
v5SB2qnVgjKknQbSG3iyF+nI6FJF+oBZaxXx2/Uo8f7aAPBdr7qf0uOlkX5Y
+9xdOL/Xou+liSCKhyWEj0p/bW9Ufb4WAnE3Bm/X42Stm/ouV3nJoIQF7ngL
9ANYt48acQX88s8diyn/XK/Dr/1Ze75xUburZPvHalTx8TOIir+4vKrNSCvD
OvY2oE6Z2zzKehB+V/O0C9ze1j7nW9WkF9WrRGs498+tJK3/+VYe5rt+Hup9
7nvQO6m8SWnajInesIWSYvOTCIR7joC4p/50PyAqEmqN+wefLQNxT1XqHkDs
tJCFb34SgXDP3WIZk5hLV+Wf25Qi6uBGVXwr+tYafc/joy0UIXcCse29+DAg
SvwMcyM91JW53V1qJgGx82ggvLXWRDLKmNitPlAGYtd78esw4Vb74womemut
DwJi7AFxnHundJOyfeePZborqvYqEI3nmAvShpnrW/Vod5iuqPvy1MTbYu7u
EUhsPXIEry+o7pT0OBg2//waGib/fJhc31f9vwcm/6UjvMZ7Ho5DxTtyx258
16v4piN826budXzmWzd1/6YwPGgvnkb4/kdwev0aUvoGMDyN8Gsc4Wdo6l7t
6M6a2x52dtftJ8gBgh3d+atO7Tsf1r5C1xLVSFF4ftD3n399zF80GnXlq+Zs
PK5JOncgojLAIsWaSF2tvWl4c30mjaNLz+E9XNHhL9dinbDsu5gmbflpubbH
+l2GEKVkmwulxPlfX7z/q3g1TW8ajWPdlsY0HSlsN1HT0sv2qlvfpo5axTbX
5Eqs1mdvYUEwoYHKg1swBZb8moIdnXHp3bCn2+rwJYBYpqRL13QlHFb/TeJE
p6V7/RQ5k980ybYZd9zlDEDDFja6Dt+0tMJCL2wqZUrZlHcJF9dyV2qemp8/
e9Wa3k1R+qd62PjACdGh39BTPsNuYLDgOAuodJe9/p2G8Q/XjqCPPvlxDCMQ
vs9sYH8b2pH4b1HzO5jSQpzaP0+9h7xPGwBwu02/u9/83+m3hngh/pf+yv0m
yp/CdE7CvfSmO7C/HTYaDUfN72Rxme85H4fJzWz09vxeXd4fjvAMJVaLjRuD
vQ0PDLmuttFwjY5ra3kbwMj86Fvj5Z71XrScQ8M5W1oVVws137YOoMZBZbhD
DQdfLbrP1aVygqXK5uTiachLtO13ttMdCyvYkXcvv9SuvNP4/14ZB1VaKgEA

-->

</rfc>
