<?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-05" 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-05"/>
    <author initials="A." surname="Wiethuechter" 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="March" day="07"/>
    <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>Aircraft:</dt>
          <dd>
  In this document whenever the word Aircraft is used it is referring to an Unmanned Aircraft (UA) not a Manned Aircraft.</dd>
          <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 paged.</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>
          <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>
            <t>Full examples of Authentication Messages (fully paginated; both with and without Additional Data) can be found in <xref target="auth-examples" format="default"/>.</t>
          </section>
        </section>
        <section anchor="drip-restrictions" numbered="true" toc="default">
          <name>DRIP 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:</t>
          <ol spacing="normal" type="1"><li>
              <tt>Authentication Data / Signature</tt> data MUST fit in a 9-page Authentication Message (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[
1250098960bf8c05042001001000a00145aac6b00abba268b7
12512001001000a0014579d8a404d48f2ef9bb9a4470ada5b4
1252ff1352c7402af9d9ebd20034e8d7a12920f4d7e91c1a73
1253dca7d04e776150825863c512c6eb075a206a95c59b297e
1254f2935fd416f27b1b42fd5d9dfaa0dec79f32287f41b454
12557101415def153a770d3e6c0b17ae560809bc634a822c1f
12563b1064b80a000000000000000000000000000000000000
]]></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[
0000dc00000000000000000000000000000000000000000000
00006c00000000000000000000000000000000000000000000
00002b00000000000000000000000000000000000000000000
]]></artwork>
            <t>The above data set produces the following full set of parity:</t>
            <artwork name="" type="" align="left" alt=""><![CDATA[
0000dc6657acd30b2ec4aa582049f52adf9f922e62c469563a
00006c636a59145a55417a3895fd543f19e94200be4abc5e94
000002bba5e28f5896d754caf50016a983993b149b5c9e6eeb
]]></artwork>
            <t>The last 23-bytes are then added into the <tt>Additional Data</tt> field.</t>
          </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[
1042012001001000a0014579d8a404d48f2ef9000000000000
11249600006efeb019ee111ed37a097a0948081c10ffff0000
1250098960bf8c05042001001000a00145aac6b00abba268b7
12512001001000a0014579d8a404d48f2ef9bb9a4470ada5b4
1252ff1352c7402af9d9ebd20034e8d7a12920f4d7e91c1a73
1253dca7d04e776150825863c512c6eb075a206a95c59b297e
1254f2935fd416f27b1b42fd5d9dfaa0dec79f32287f41b454
12557101415def153a770d3e6c0b17ae560809bc634a822c1f
12563b1064b80a000000000000000000000000000000000000
130052656372656174696f6e616c2054657374000000000000
1402c2ffb019322d1ed3010000c008e40700fc080000000000
15004e2e4f5031323334353600000000000000000000000000
]]></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[
Page 7 = 12576c86337bf7ab746f5d62bb7f8de954104b121585d3975f
Page 8 = 12586e923f06c1bce165b0e25930d57a63c24f751145e1dd8d
Page 9 = 1259c115029b42e9979580327a6a14d421c12a33aa2e1a2e51
Page 10 = 125a7daaee581016b8012a7b3964f7b2720d387bfa77e94555
Page 11 = 125b6f1831cd477ef3a3a85bb403aada89926fb8fc2a14a9ca
Page 12 = 125cacb4ec2f3a6ed2d8e9f900000000000000000000000000
]]></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 timestamp offset by 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. The offset used against the UNIX 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 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: (135-bytes)
    ...
]]></artwork>
          </figure>
          <t>This DRIP format MUST be used in conjunction with the DRIP Manifest with the hash of the DRIP Link message and other dynamic data (such as the 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>Hash Algorithms and Operation</name>
            <t>The hash algorithm used for the Manifest Message is the same hash algorithm used in creation of the HHIT that is signing the Manifest.</t>
            <t>An HHIT 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):
    Multiplexing frame type.

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>Multiplexing byte 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 an aircraft 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 aircraft 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.ietf.org/archive/id/draft-ietf-drip-reqs-18.txt">
          <front>
            <title>Drone Remote Identification Protocol (DRIP) Requirements and Terminology</title>
            <author fullname="Stuart W. Card">
              <organization>AX Enterprize</organization>
            </author>
            <author fullname="Adam Wiethuechter">
              <organization>AX Enterprize</organization>
            </author>
            <author fullname="Robert Moskowitz">
              <organization>HTT Consulting</organization>
            </author>
            <author fullname="Andrei Gurtov">
              <organization>Linköping University</organization>
            </author>
            <date day="8" month="September" year="2021"/>
            <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="Internet-Draft" value="draft-ietf-drip-reqs-18"/>
        </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>For DRIP there are various Authentication states. 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 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 Aircraft DET/PK |
                | to Key Cache        |
                o---------------------o
                      |
                      v
                    ooooo         +----------+
                   o  11 o+------>| Verified |
                    ooooo         +----------+
                      |              ^
                      v              |
                o-------------------------o
                | Mark Aircraft 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 Aircraft 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 Aircraft 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">Aircraft DET/PK in Key Cache?</td>
                <td align="left">14, 13</td>
              </tr>
              <tr>
                <td align="left">13</td>
                <td align="left">Aircraft PK found Online?</td>
                <td align="left">14, Add Message to Verification Queue</td>
              </tr>
              <tr>
                <td align="left">14</td>
                <td align="left">Aircraft 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 Aircraft 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="auth-examples" numbered="true" toc="default">
      <name>Example Authentication Messages</name>
      <section anchor="authentication-data-only" numbered="true" toc="default">
        <name>Authentication Data Only</name>
        <t>This is an example of an Authentication Message with 52-bytes of Authentication Data.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Page 0:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Page Header  |                                               |
+---------------+    Authentication Headers     +---------------+
|                                               |               |
+---------------+---------------+---------------+               |
|                                                               |
|                Authentication Data / Signature                |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Page 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                |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Page 2:
 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                |
|                                                               |
|               +---------------+---------------+---------------+
|               |                                               |
+---------------+                                               |
|                        Null Padding                           |
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
      </section>
      <section anchor="authentication-data-additional-data" numbered="true" toc="default">
        <name>Authentication Data &amp; Additional Data</name>
        <t>This example has 52-bytes of Authentication Data and 20-bytes of Additional Data.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Page 0:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Page Header  |                                               |
+---------------+     Authentication Headers    +---------------+
|                                               |               |
+---------------+---------------+---------------+               | 
|                                                               |
|                Authentication Data / Signature                |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Page 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                |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Page 2:
 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=20     |                               |
+---------------+---------------+                               |
|                       Additional Data                         |
|                                                               |
+---------------+---------------+---------------+---------------+

Page 3:
 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  |                                               |
+---------------+                                               |
|                       Additional Data                         |
|                                               +---------------+
|                                               |               |
+---------------+---------------+---------------+               |
|                                                               |
|                         Null Padding                          |
|                                                               |
+---------------+---------------+---------------+---------------+
]]></artwork>
      </section>
      <section anchor="drip-link-example" numbered="true" toc="default">
        <name>DRIP Link Example</name>
        <t>This DRIP Link example includes FEC for a single page.</t>
        <artwork name="" type="" align="left" alt=""><![CDATA[
Page 0:
 0                   1                   2                   3
 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+---------------+---------------+---------------+---------------+
|  Page Header  |                                               |
+---------------+     Authentication Headers    +---------------+
|                                               |   SAM Type    |
+---------------+---------------+---------------+---------------+ 
|                                                               |
|                     Broadcast Attestation                     |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 500789d9c08c05042001001000a00145aac6b00abba268b7

Page 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  |                                               |
+---------------+                                               |
|                                                               |
|                                                               |
|                     Broadcast Attestation                     |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 512001001000a0014579d8a404d48f2ef9bb9a4470ada5b4 

Page 2:
 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  |                                               |
+---------------+                                               |
|                                                               |
|                                                               |
|                     Broadcast Attestation                     |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 52ff1352c7402af9d9ebd20034e8d7a12920f4d7e91c1a73 

Page 3:
 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  |                                               |
+---------------+                                               |
|                                                               |
|                                                               |
|                     Broadcast Attestation                     |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 53dca7d04e776150825863c512c6eb075a206a95c59b297e 

Page 4:
 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  |                                               |
+---------------+                                               |
|                                                               |
|                                                               |
|                     Broadcast Attestation                     |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 54f2935fd416f27b1b42fd5d9dfaa0dec79f32287f41b454 

Page 5:
 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  |                                               |
+---------------+                                               |
|                                                               |
|                                                               |
|                     Broadcast Attestation                     |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 557101415def153a770d3e6c0b17ae560809bc634a822c1f 

Page 6:
 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  |             Broadcast Attestation             /
+---------------+---------------+---------------+---------------+
/               |      ADL      |                               |
+---------------+---------------+                               |
|                                                               |
|                          Null Padding                         |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 563b1064b80a290000000000000000000000000000000000 

Page 7:
 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                   |
|                                                               |
|                                                               |
|                                                               |
+---------------+---------------+---------------+---------------+

Hex: 57bcbe21684809ed5284aa40b4b7bc45efeb3a47d24b6645
]]></artwork>
      </section>
    </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 aircraft 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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
kd+o/H9a2jjP61MBAA==

-->

</rfc>
