rfc9575v5.txt | rfc9575.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) A. Wiethuechter, Ed. | Internet Engineering Task Force (IETF) A. Wiethuechter, Ed. | |||
Request for Comments: 9575 S. Card | Request for Comments: 9575 S. Card | |||
Category: Standards Track AX Enterprize, LLC | Category: Standards Track AX Enterprize, LLC | |||
ISSN: 2070-1721 R. Moskowitz | ISSN: 2070-1721 R. Moskowitz | |||
HTT Consulting | HTT Consulting | |||
May 2024 | June 2024 | |||
DRIP Entity Tag (DET) Authentication Formats and Protocols for Broadcast | DRIP Entity Tag (DET) Authentication Formats and Protocols for Broadcast | |||
Remote Identification (RID) | Remote Identification (RID) | |||
Abstract | Abstract | |||
The Drone Remote Identification Protocol (DRIP), plus trust policies | The Drone Remote Identification Protocol (DRIP), plus trust policies | |||
and periodic access to registries, augments Unmanned Aircraft System | and periodic access to registries, augments Unmanned Aircraft System | |||
(UAS) Remote Identification (RID), enabling local real-time | (UAS) Remote Identification (RID), enabling local real-time | |||
assessment of trustworthiness of received RID messages and observed | assessment of trustworthiness of received RID messages and observed | |||
skipping to change at line 212 ¶ | skipping to change at line 212 ¶ | |||
802.11 Beacons with the vendor-specific information element as | 802.11 Beacons with the vendor-specific information element as | |||
specified in [F3411]. Must use ASTM Message Pack (Message Type | specified in [F3411]. Must use ASTM Message Pack (Message Type | |||
0xF). | 0xF). | |||
Legacy Transports: Use of broadcast frames (Bluetooth 4.x) as | Legacy Transports: Use of broadcast frames (Bluetooth 4.x) as | |||
specified in [F3411]. | specified in [F3411]. | |||
Manifest: An immutable list of items being transported (in this | Manifest: An immutable list of items being transported (in this | |||
specific case over wireless communication). | specific case over wireless communication). | |||
Observation Session: The period of time during which a given | ||||
Observer's receiver is processing (even if only intermittently) a | ||||
series of UAS RID messages, at least some of which use DRIP | ||||
extensions to [F3411], all nominally from the same UA executing a | ||||
single flight operation. | ||||
Note: For the remainder of this document, _Broadcast Endorsement: | Note: For the remainder of this document, _Broadcast Endorsement: | |||
Parent, Child_ will be abbreviated as _BE: Parent, Child_. For | Parent, Child_ will be abbreviated as _BE: Parent, Child_. For | |||
example, _Broadcast Endorsement: RAA, HDA_ will be abbreviated as | example, _Broadcast Endorsement: RAA, HDA_ will be abbreviated as | |||
_BE: RAA, HDA_. | _BE: RAA, HDA_. | |||
3. UAS RID Authentication Background and Procedures | 3. UAS RID Authentication Background and Procedures | |||
3.1. DRIP Authentication Protocol Description | 3.1. DRIP Authentication Protocol Description | |||
[F3411] defines Authentication Message framing only. It does not | [F3411] defines Authentication Message framing only. It does not | |||
skipping to change at line 307 ¶ | skipping to change at line 313 ¶ | |||
Owner all the way to an individual UA DET registration. | Owner all the way to an individual UA DET registration. | |||
3.1.2.2. UA-Signed Evidence | 3.1.2.2. UA-Signed Evidence | |||
To prove possession of the private key associated with the DET, the | To prove possession of the private key associated with the DET, the | |||
UA MUST sign and send data that is unique and unpredictable but | UA MUST sign and send data that is unique and unpredictable but | |||
easily validated by the Observer. The data can be an ASTM Message | easily validated by the Observer. The data can be an ASTM Message | |||
that fulfills the requirements to be unpredictable but easily | that fulfills the requirements to be unpredictable but easily | |||
validated. An Observer receives this UA-signed Evidence from DRIP- | validated. An Observer receives this UA-signed Evidence from DRIP- | |||
based Authentication Messages (Sections 4.3 or 4.4). The Observer | based Authentication Messages (Sections 4.3 or 4.4). The Observer | |||
MUST verify the signature (cryptographically) and validate the signed | must verify the signature (cryptographically, as specified in | |||
content (via non-cryptographic means). | Section 3.1.1) and validate the signed content (via non-cryptographic | |||
means, as specified in Section 6.3). | ||||
Whether the content is true is a separate question that DRIP cannot | Whether the content is true is a separate question that DRIP cannot | |||
address, but validation performed using observable and/or out-of-band | address, but validation performed using observable and/or out-of-band | |||
data (Section 6) is possible and encouraged. | data (Section 6) is possible and encouraged. | |||
3.2. ASTM Authentication Message Framing | 3.2. ASTM Authentication Message Framing | |||
The Authentication Message (Message Type 0x2) is unique in the ASTM | The Authentication Message (Message Type 0x2) is unique in the ASTM | |||
[F3411] Broadcast standard, as it is the only message that can be | [F3411] Broadcast standard, as it is the only message that can be | |||
larger than the Legacy Transport size. To address this limitation | larger than the Legacy Transport size. To address this limitation | |||
skipping to change at line 989 ¶ | skipping to change at line 996 ¶ | |||
were within Broadcast RID wireless range of each other for an | were within Broadcast RID wireless range of each other for an | |||
extended period of time. | extended period of time. | |||
The _DRIP Link (BE: HDA, UA)_ is included so there is a direct | The _DRIP Link (BE: HDA, UA)_ is included so there is a direct | |||
signature by the UA over the Broadcast Endorsement (see Section 4.2). | signature by the UA over the Broadcast Endorsement (see Section 4.2). | |||
Typical operation would expect that the list of _ASTM Message Hashes_ | Typical operation would expect that the list of _ASTM Message Hashes_ | |||
contain nonce-like data. To enforce a binding between the BE: HDA, | contain nonce-like data. To enforce a binding between the BE: HDA, | |||
UA and avoid trivial replay attack vectors (see Section 9.1), at | UA and avoid trivial replay attack vectors (see Section 9.1), at | |||
least one _ASTM Message Hash_ MUST be from an [F3411] message that | least one _ASTM Message Hash_ MUST be from an [F3411] message that | |||
satisfies the fourth requirement in Section 6.3. At least once per | satisfies the fourth requirement in Section 6.3. At least once per | |||
session (of a given Observer processing messages nominally from a | Observation Session, the Observer must process that message as | |||
given UA), the Observer MUST process that message as specified in | specified in Section 6.3. | |||
Section 6.3. | ||||
4.4.3. Hash Algorithms and Operation | 4.4.3. Hash Algorithms and Operation | |||
The hash algorithm used for the Manifest is the same hash algorithm | The hash algorithm used for the Manifest is the same hash algorithm | |||
used in creation of the DET [RFC9374] that is signing the Manifest. | used in creation of the DET [RFC9374] that is signing the Manifest. | |||
This is encoded as part of the DET using the HHIT Suite ID. | This is encoded as part of the DET using the HHIT Suite ID. | |||
DETs that use cSHAKE128 [NIST.SP.800-185] compute the hash as | DETs that use cSHAKE128 [NIST.SP.800-185] compute the hash as | |||
follows: | follows: | |||
skipping to change at line 1292 ¶ | skipping to change at line 1298 ¶ | |||
Message Packs are sent only over Extended Transports that provide | Message Packs are sent only over Extended Transports that provide | |||
FEC. Thus, the DRIP decoders will never be presented with a Message | FEC. Thus, the DRIP decoders will never be presented with a Message | |||
Pack from which a constituent Authentication Page has been dropped; | Pack from which a constituent Authentication Page has been dropped; | |||
DRIP FEC could never provide benefit to a Message Pack, only consume | DRIP FEC could never provide benefit to a Message Pack, only consume | |||
its precious payload space. Therefore, DRIP FEC (Section 5) MUST NOT | its precious payload space. Therefore, DRIP FEC (Section 5) MUST NOT | |||
be used in Message Packs. | be used in Message Packs. | |||
6.3. Authentication | 6.3. Authentication | |||
To fulfill the requirements in [RFC9153], a UA: | To fulfill the requirements in [RFC9153], a UA MUST: | |||
1. MUST: send DRIP Link (Section 4.2) using the _BE: Apex, RAA_ | 1. send DRIP Link (Section 4.2) using the _BE: Apex, RAA_ (partially | |||
(partially satisfying GEN-3); at least once per 5 minutes. Apex | satisfying GEN-3); at least once per 5 minutes. Apex in this | |||
in this context is the DET prefix owner. | context is the DET prefix owner. | |||
2. MUST: send DRIP Link (Section 4.2) using the BE: RAA, HDA | 2. send DRIP Link (Section 4.2) using the BE: RAA, HDA (partially | |||
(partially satisfying GEN-3); at least once per 5 minutes. | satisfying GEN-3); at least once per 5 minutes. | |||
3. MUST: send DRIP Link (Section 4.2) using the BE: HDA, UA | 3. send DRIP Link (Section 4.2) using the BE: HDA, UA (satisfying | |||
(satisfying ID-5, GEN-1 and partially satisfying GEN-3); at least | ID-5, GEN-1 and partially satisfying GEN-3); at least once per | |||
once per minute. | minute. | |||
4. MUST: send any other DRIP Authentication Format (non-DRIP Link) | 4. send any other DRIP Authentication Format (non-DRIP Link) where | |||
where the UA is dynamically signing data that is guaranteed to be | the UA is dynamically signing data that is guaranteed to be | |||
unique, unpredictable, and easily cross checked by the receiving | unique, unpredictable, and easily cross checked by the receiving | |||
device (satisfying ID-5, GEN-1 and GEN-2); at least once per 5 | device (satisfying ID-5, GEN-1 and GEN-2); at least once per 5 | |||
seconds. | seconds. | |||
An Observer MUST verify the signature (cryptographically) on each of | An Observer's receiver must verify the signature (cryptographically, | |||
the 4 messages immediately above and validate the signed content (via | as specified in Section 3.1.1) on each of the 4 messages sent in the | |||
non-cryptographic means) of the 4th message immediately above. | operations specified immediately above and the Observer MUST validate | |||
the signed content (via non-cryptographic means) of the 4th message | ||||
sent in the last operation immediately above (the non-DRIP Link | ||||
message). | ||||
These transmission, receiver verification, and Observer validation | These transmission, receiver verification, and Observer validation | |||
requirements collectively satisfy GEN-3. | requirements collectively satisfy GEN-3. | |||
6.4. Operational | 6.4. Operational | |||
UAS operation may impact the frequency of sending DRIP Authentication | UAS operation may impact the frequency of sending DRIP Authentication | |||
Messages. When a UA dwells at an approximate location, and the | Messages. When a UA dwells at an approximate location, and the | |||
channel is heavily used by other devices, less frequent message | channel is heavily used by other devices, less frequent message | |||
authentication may be effective (to minimize RF packet collisions) | authentication may be effective (to minimize RF packet collisions) | |||
skipping to change at line 1383 ¶ | skipping to change at line 1392 ¶ | |||
A chain of DRIP Links provides trust in a key. A message, signed by | A chain of DRIP Links provides trust in a key. A message, signed by | |||
that key, containing data that changes rapidly and is not predictable | that key, containing data that changes rapidly and is not predictable | |||
far in advance (relative to typical operational flight times) but | far in advance (relative to typical operational flight times) but | |||
that can be validated by Observers, provides trust that some agent | that can be validated by Observers, provides trust that some agent | |||
with access to that data also possesses that key. If the validation | with access to that data also possesses that key. If the validation | |||
involves correlating physical world observations of the UA with | involves correlating physical world observations of the UA with | |||
claims in that data, then the probability is high that the observed | claims in that data, then the probability is high that the observed | |||
UA is (or is collaborating with or observed in real time by) the | UA is (or is collaborating with or observed in real time by) the | |||
agent with the key. | agent with the key. | |||
At least once per session, after signature verification of any DRIP | At least once per Observation session, after signature verification | |||
Authentication Message containing UAS RID information elements (e.g., | of any DRIP Authentication Message containing UAS RID information | |||
DRIP Wrapper, Section 4.3), the Observer MUST use other sources of | elements (e.g., DRIP Wrapper, Section 4.3), the Observer must use | |||
information to correlate against and perform validation. An example | other sources of information to correlate against and perform | |||
of another source of information is a visual confirmation of the UA | validation (as specified in Section 6.3). An example of another | |||
position. | source of information is a visual confirmation of the UA position. | |||
When correlation of these different data streams does not match in | When correlation of these different data streams does not match in | |||
acceptable thresholds, the data MUST be rejected as if the signature | acceptable thresholds, the data MUST be rejected as if the signature | |||
failed to validate. Acceptable threshold limits and what happens | failed to validate. Acceptable threshold limits and what happens | |||
after such a rejection are out of scope for this document. | after such a rejection are out of scope for this document. | |||
7. Summary of Addressed DRIP Requirements | 7. Summary of Addressed DRIP Requirements | |||
The following requirements as defined in [RFC9153] are addressed in | The following requirements as defined in [RFC9153] are addressed in | |||
this document: | this document: | |||
skipping to change at line 1539 ¶ | skipping to change at line 1548 ¶ | |||
6.4.2. As non-normative clarification, the requirements are | 6.4.2. As non-normative clarification, the requirements are | |||
satisfied as follows: | satisfied as follows: | |||
The public key corresponding to a given DET (i.e., the key attested | The public key corresponding to a given DET (i.e., the key attested | |||
in the DRIP Link (BE: HDA, UA) that is the last link in the relevant | in the DRIP Link (BE: HDA, UA) that is the last link in the relevant | |||
chain of DRIP Links) is used by an Observer's receiver to try to | chain of DRIP Links) is used by an Observer's receiver to try to | |||
authenticate some signed message. | authenticate some signed message. | |||
If the signature check passes, | If the signature check passes, | |||
AND the message was a Wrapper or Manifest, | _and_ the message was a Wrapper or Manifest, | |||
AND the wrapped or manifested message contained content that was | _and_ the wrapped or manifested message contained content that was | |||
nonce-like, | nonce-like, | |||
AND the Observer validated that content by non-cryptographic means | _and_ the Observer validated that content by non-cryptographic | |||
(e.g., if the wrapped or manifested message was a Location/Vector | means (e.g., if the wrapped or manifested message was a Location/ | |||
Message and the UA was visually observed to be in approximately | Vector Message and the UA was visually observed to be in | |||
the claimed location at the reported time), | approximately the claimed location at the reported time), | |||
ONLY THEN can the Observer trust that the currently observed sending | _only then_ can the Observer trust that the currently observed | |||
UA actually possesses the corresponding private key (and thus owns | sending UA actually possesses the corresponding private key (and thus | |||
the corresponding DET). | owns the corresponding DET). | |||
Messages that pass signature verification with trusted keys could | Messages that pass signature verification with trusted keys could | |||
still be replays if they contain only static information (e.g., | still be replays if they contain only static information (e.g., | |||
Broadcast Endorsements (Section 4.2), [F3411] Basic ID or [F3411] | Broadcast Endorsements (Section 4.2), [F3411] Basic ID, or [F3411] | |||
Operator ID), or information that cannot be readily validated (e.g., | Operator ID), or information that cannot be readily validated (e.g., | |||
[F3411] Self-ID). Replay of Link messages is harmless (unless sent | [F3411] Self-ID). Replay of Link messages is harmless (unless sent | |||
so frequently as to cause RF data link congestion) and indeed can | so frequently as to cause RF data link congestion) and indeed can | |||
increase the likelihood of an Observer device collecting an entire | increase the likelihood of an Observer device collecting an entire | |||
trust chain in a short time window. Replay of other messages | trust chain in a short time window. Replay of other messages | |||
([F3411] Basic ID, [F3411] Operator ID, or [F3411] Self-ID) remains a | ([F3411] Basic ID, [F3411] Operator ID, or [F3411] Self-ID) remains a | |||
vulnerability, unless they are combined with messages containing | vulnerability, unless they are combined with messages containing | |||
nonce-like data ([F3411] Location/Vector or [F3411] System) in a | nonce-like data ([F3411] Location/Vector or [F3411] System) in a | |||
Wrapper or Manifest. For specification of this last requirement, see | Wrapper or Manifest. For specification of this last requirement, see | |||
Section 4.4.2. | Section 4.4.2. | |||
End of changes. 16 change blocks. | ||||
36 lines changed or deleted | 45 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. |