| < draft-ietf-drip-rid-21.txt | draft-ietf-drip-rid-22.txt > | |||
|---|---|---|---|---|
| DRIP R. Moskowitz | DRIP R. Moskowitz | |||
| Internet-Draft HTT Consulting | Internet-Draft HTT Consulting | |||
| Updates: 7401, 7343 (if approved) S. Card | Updates: 7401, 7343 (if approved) S. Card | |||
| Intended status: Standards Track A. Wiethuechter | Intended status: Standards Track A. Wiethuechter | |||
| Expires: 10 October 2022 AX Enterprize, LLC | Expires: 15 October 2022 AX Enterprize, LLC | |||
| A. Gurtov | A. Gurtov | |||
| Linköping University | Linköping University | |||
| 8 April 2022 | 13 April 2022 | |||
| DRIP Entity Tag (DET) for Unmanned Aircraft System Remote Identification | DRIP Entity Tag (DET) for Unmanned Aircraft System Remote ID (UAS RID) | |||
| (UAS RID) | draft-ietf-drip-rid-22 | |||
| draft-ietf-drip-rid-21 | ||||
| Abstract | Abstract | |||
| This document describes the use of Hierarchical Host Identity Tags | This document describes the use of Hierarchical Host Identity Tags | |||
| (HHITs) as self-asserting IPv6 addresses and thereby a trustable | (HHITs) as self-asserting IPv6 addresses and thereby a trustable | |||
| identifier for use as the Unmanned Aircraft System Remote | identifier for use as the Unmanned Aircraft System Remote | |||
| Identification and tracking (UAS RID). | Identification and tracking (UAS RID). | |||
| This document updates RFC7401 and RFC7343. | This document updates RFC7401 and RFC7343. | |||
| Within the context of RID, HHITs will be called DRIP Entity Tags | Within the context of RID, HHITs will be called DRIP Entity Tags | |||
| (DETs). HHITs self-attest to the included explicit hierarchy that | (DETs). HHITs self-attest to the included explicit hierarchy that | |||
| provides registry (e.g., DNS, EPP) discovery for 3rd-party identifier | provides registry (via, e.g., DNS, EPP) discovery for 3rd-party | |||
| attestation. | identifier attestation. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on 10 October 2022. | This Internet-Draft will expire on 15 October 2022. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2022 IETF Trust and the persons identified as the | Copyright (c) 2022 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents (https://trustee.ietf.org/ | Provisions Relating to IETF Documents (https://trustee.ietf.org/ | |||
| license-info) in effect on the date of publication of this document. | license-info) in effect on the date of publication of this document. | |||
| Please review these documents carefully, as they describe your rights | Please review these documents carefully, as they describe your rights | |||
| and restrictions with respect to this document. Code Components | and restrictions with respect to this document. Code Components | |||
| extracted from this document must include Revised BSD License text as | extracted from this document must include Revised BSD License text as | |||
| described in Section 4.e of the Trust Legal Provisions and are | described in Section 4.e of the Trust Legal Provisions and are | |||
| provided without warranty as described in the Revised BSD License. | provided without warranty as described in the Revised BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
| 1.1. HHIT Statistical Uniqueness different from UUID or X.509 | ||||
| Subject . . . . . . . . . . . . . . . . . . . . . . . . . 4 | ||||
| 2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 4 | 2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.1. Requirements Terminology . . . . . . . . . . . . . . . . 4 | 2.1. Requirements Terminology . . . . . . . . . . . . . . . . 4 | |||
| 2.2. Notations . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.2. Notations . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 2.3. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 | 2.3. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
| 3. The Hierarchical Host Identity Tag (HHIT) . . . . . . . . . . 6 | 3. The Hierarchical Host Identity Tag (HHIT) . . . . . . . . . . 5 | |||
| 3.1. HHIT Prefix for RID Purposes . . . . . . . . . . . . . . 7 | 3.1. HHIT Prefix for RID Purposes . . . . . . . . . . . . . . 7 | |||
| 3.2. HHIT Suite IDs . . . . . . . . . . . . . . . . . . . . . 7 | 3.2. HHIT Suite IDs . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 3.2.1. HDA custom HIT Suite IDs . . . . . . . . . . . . . . 8 | 3.2.1. HDA custom HIT Suite IDs . . . . . . . . . . . . . . 7 | |||
| 3.3. The Hierarchy ID (HID) . . . . . . . . . . . . . . . . . 8 | 3.3. The Hierarchy ID (HID) . . . . . . . . . . . . . . . . . 8 | |||
| 3.3.1. The Registered Assigning Authority (RAA) . . . . . . 8 | 3.3.1. The Registered Assigning Authority (RAA) . . . . . . 8 | |||
| 3.3.2. The Hierarchical HIT Domain Authority (HDA) . . . . . 9 | 3.3.2. The Hierarchical HIT Domain Authority (HDA) . . . . . 9 | |||
| 3.4. Edward Digital Signature Algorithm for HHITs . . . . . . 9 | 3.4. Edward-Curve Digital Signature Algorithm for HHITs . . . 9 | |||
| 3.4.1. HOST_ID . . . . . . . . . . . . . . . . . . . . . . . 10 | 3.4.1. HOST_ID . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
| 3.4.2. HIT_SUITE_LIST . . . . . . . . . . . . . . . . . . . 11 | 3.4.2. HIT_SUITE_LIST . . . . . . . . . . . . . . . . . . . 11 | |||
| 3.5. ORCHIDs for Hierarchical HITs . . . . . . . . . . . . . . 11 | 3.5. ORCHIDs for Hierarchical HITs . . . . . . . . . . . . . . 11 | |||
| 3.5.1. Adding Additional Information to the ORCHID . . . . . 12 | 3.5.1. Adding Additional Information to the ORCHID . . . . . 12 | |||
| 3.5.2. ORCHID Encoding . . . . . . . . . . . . . . . . . . . 13 | 3.5.2. ORCHID Encoding . . . . . . . . . . . . . . . . . . . 13 | |||
| 3.5.3. ORCHID Decoding . . . . . . . . . . . . . . . . . . . 15 | 3.5.3. ORCHID Decoding . . . . . . . . . . . . . . . . . . . 15 | |||
| 3.5.4. Decoding ORCHIDs for HIPv2 . . . . . . . . . . . . . 15 | 3.5.4. Decoding ORCHIDs for HIPv2 . . . . . . . . . . . . . 15 | |||
| 4. Hierarchical HITs as Remote ID DRIP Entity Tags (DETs) . . . 15 | 4. Hierarchical HITs as DRIP Entity Tags . . . . . . . . . . . . 15 | |||
| 4.1. Nontransferablity of DETs . . . . . . . . . . . . . . . . 16 | 4.1. Nontransferablity of DETs . . . . . . . . . . . . . . . . 15 | |||
| 4.2. Encoding HHITs in CTA 2063-A Serial Numbers . . . . . . . 16 | 4.2. Encoding HHITs in CTA 2063-A Serial Numbers . . . . . . . 16 | |||
| 4.3. Remote ID DET as one Class of Hierarchical HITs . . . . . 17 | 4.3. Remote ID DET as one Class of Hierarchical HITs . . . . . 17 | |||
| 4.4. Hierarchy in ORCHID Generation . . . . . . . . . . . . . 17 | 4.4. Hierarchy in ORCHID Generation . . . . . . . . . . . . . 17 | |||
| 4.5. DRIP Entity Tag (DET) Registry . . . . . . . . . . . . . 18 | 4.5. DRIP Entity Tag (DET) Registry . . . . . . . . . . . . . 17 | |||
| 4.6. Remote ID Authentication using DETs . . . . . . . . . . . 18 | 4.6. Remote ID Authentication using DETs . . . . . . . . . . . 18 | |||
| 5. DRIP Entity Tags (DETs) in DNS . . . . . . . . . . . . . . . 19 | 5. DRIP Entity Tags (DETs) in DNS . . . . . . . . . . . . . . . 18 | |||
| 6. Other UTM Uses of HHITs Beyond DET . . . . . . . . . . . . . 20 | 6. Other UTM Uses of HHITs Beyond DET . . . . . . . . . . . . . 19 | |||
| 7. Summary of Addressed DRIP Requirements . . . . . . . . . . . 20 | 7. Summary of Addressed DRIP Requirements . . . . . . . . . . . 20 | |||
| 8. DET Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 20 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 | |||
| 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 8.1. New Well-Known IPv6 prefix for DETs . . . . . . . . . . . 20 | |||
| 9.1. New IANA DRIP Registry . . . . . . . . . . . . . . . . . 21 | 8.2. New IANA DRIP Registry . . . . . . . . . . . . . . . . . 21 | |||
| 9.2. IANA CGA Registry Update . . . . . . . . . . . . . . . . 22 | 8.3. IANA CGA Registry Update . . . . . . . . . . . . . . . . 21 | |||
| 9.3. IANA HIP Registry Updates . . . . . . . . . . . . . . . . 22 | 8.4. IANA HIP Registry Updates . . . . . . . . . . . . . . . . 22 | |||
| 9.4. IANA IPSECKEY Registry Update . . . . . . . . . . . . . . 23 | 8.5. IANA IPSECKEY Registry Update . . . . . . . . . . . . . . 22 | |||
| 9.5. New Well-Known IPv6 prefix for DETs . . . . . . . . . . . 23 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
| 10. Security Considerations . . . . . . . . . . . . . . . . . . . 24 | 9.1. DET Trust in ASTM messaging . . . . . . . . . . . . . . . 24 | |||
| 10.1. DET Trust . . . . . . . . . . . . . . . . . . . . . . . 26 | 9.2. Privacy Considerations . . . . . . . . . . . . . . . . . 25 | |||
| 10.2. Collision Risks with DETs . . . . . . . . . . . . . . . 26 | 9.3. Collision Risks with DETs . . . . . . . . . . . . . . . . 26 | |||
| 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 26 | |||
| 11.1. Normative References . . . . . . . . . . . . . . . . . . 26 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 26 | |||
| 11.2. Informative References . . . . . . . . . . . . . . . . . 27 | 10.2. Informative References . . . . . . . . . . . . . . . . . 27 | |||
| Appendix A. EU U-Space RID Privacy Considerations . . . . . . . 30 | Appendix A. EU U-Space RID Privacy Considerations . . . . . . . 30 | |||
| Appendix B. The 14/14 HID split . . . . . . . . . . . . . . . . 31 | Appendix B. The 14/14 HID split . . . . . . . . . . . . . . . . 30 | |||
| Appendix C. Calculating Collision Probabilities . . . . . . . . 32 | Appendix C. Calculating Collision Probabilities . . . . . . . . 32 | |||
| Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 33 | Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 33 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
| 1. Introduction | 1. Introduction | |||
| DRIP Requirements [RFC9153] describe an Unmanned Aircraft System | DRIP Requirements [RFC9153] describe an Unmanned Aircraft System | |||
| Remote Identification and tracking (UAS ID) as unique (ID-4), non- | Remote ID (UAS ID) as unique (ID-4), non-spoofable (ID-5), and | |||
| spoofable (ID-5), and identify a registry where the ID is listed (ID- | identify a registry where the ID is listed (ID-2); all within a | |||
| 2); all within a 20-character identifier (ID-1). | 20-character identifier (ID-1). | |||
| This document describes the use of Hierarchical Host Identity Tags | This document describes the use of Hierarchical Host Identity Tags | |||
| (HHITs) (Section 3) as self-asserting IPv6 addresses and thereby a | (HHITs) (Section 3) as self-asserting IPv6 addresses and thereby a | |||
| trustable identifier for use as the UAS Remote ID. HHITs include | trustable identifier for use as the UAS Remote ID. HHITs include | |||
| explicit hierarchy to enable DNS HHIT queries (Host ID for | explicit hierarchy to enable DNS HHIT queries (Host ID for | |||
| authentication, e.g., [drip-authentication]) and for Extensible | authentication, e.g., [drip-authentication]) and for Extensible | |||
| Provisioning Protocol (EPP) Registrar discovery [RFC9224] for 3rd- | Provisioning Protocol (EPP) Registrar discovery [RFC9224] for 3rd- | |||
| party identification attestation (e.g., [drip-authentication]). | party identification attestation (e.g., [drip-authentication]). | |||
| This addition of hierarchy to HITs is an extension to [RFC7401] and | This addition of hierarchy to HITs is an extension to [RFC7401] and | |||
| requires an update to [RFC7343]. As this document also adds EdDSA | requires an update to [RFC7343]. As this document also adds EdDSA | |||
| (Section 3.4) for Host Identities (HIs), a number of HIP parameters | (Section 3.4) for Host Identities (HIs), a number of Host Identity | |||
| in [RFC7401] are updated, these should not be needed in a DRIP | Protocol (HIP) parameters in [RFC7401] are updated, these should not | |||
| implementation that does not use HIP. | be needed in a DRIP implementation that does not use HIP. | |||
| HHITs as used within the context of Unmanned Aircraft System (UAS) | HHITs as used within the context of Unmanned Aircraft System (UAS) | |||
| are labeled as DRIP Entity Tags (DETs). Throughout this document | are labeled as DRIP Entity Tags (DETs). Throughout this document | |||
| HHIT and DET will be used appropriately. HHIT will be used when | HHIT and DET will be used appropriately. HHIT will be used when | |||
| covering the technology, and DET for their context within UAS RID. | covering the technology, and DET for their context within UAS RID. | |||
| Hierarchical HITs provide self-attestation of the HHIT registry. A | ||||
| HHIT can only be in a single registry within a registry system (e.g., | ||||
| EPP and DNS). | ||||
| Hierarchical HITs are valid, though non-routable, IPv6 addresses | ||||
| [RFC8200]. As such, they fit in many ways within various IETF | ||||
| technologies. | ||||
| 1.1. HHIT Statistical Uniqueness different from UUID or X.509 Subject | ||||
| HHITs are statistically unique through the cryptographic hash feature | HHITs are statistically unique through the cryptographic hash feature | |||
| of second-preimage resistance. The cryptographically-bound addition | of second-preimage resistance. The cryptographically-bound addition | |||
| of the hierarchy and a HHIT registration process [drip-registries] | of the hierarchy and a HHIT registration process [drip-registries] | |||
| provide complete, global HHIT uniqueness. This contrasts with using | provide complete, global HHIT uniqueness. This contrasts with using | |||
| general identifiers (e.g., a Universally Unique IDentifiers (UUID) | general identifiers (e.g., a Universally Unique IDentifiers (UUID) | |||
| [RFC4122] or device serial numbers) as the subject in an X.509 | [RFC4122] or device serial numbers) as the subject in an X.509 | |||
| [RFC5280] certificate. | [RFC5280] certificate. | |||
| In a multi-Certificate Authority (multi-CA) PKI alternative to HHITs, | In a multi-Certificate Authority (multi-CA) PKI alternative to HHITs, | |||
| a Remote ID as the Subject (Section 4.1.2.6 of [RFC5280]) can occur | a Remote ID as the Subject (Section 4.1.2.6 of [RFC5280]) can occur | |||
| in multiple CAs, possibly fraudulently. CAs within the PKI would | in multiple CAs, possibly fraudulently. CAs within the PKI would | |||
| need to implement an approach to enforce assurance of the uniqueness | need to implement an approach to enforce assurance of the uniqueness | |||
| achieved with HHITs. | achieved with HHITs. | |||
| Hierarchical HITs provide self-attestation of the HHIT registry. A | ||||
| HHIT can only be in a single registry within a registry system (e.g., | ||||
| EPP and DNS). | ||||
| Hierarchical HITs are valid, though non-routable, IPv6 addresses | ||||
| [RFC8200]. As such, they fit in many ways within various IETF | ||||
| technologies. | ||||
| 2. Terms and Definitions | 2. Terms and Definitions | |||
| 2.1. Requirements Terminology | 2.1. Requirements Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
| "OPTIONAL" in this document are to be interpreted as described in BCP | "OPTIONAL" in this document are to be interpreted as described in BCP | |||
| 14 [RFC2119] [RFC8174] when, and only when, they appear in all | 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
| capitals, as shown here. | capitals, as shown here. | |||
| skipping to change at page 5, line 5 ¶ | skipping to change at page 4, line 45 ¶ | |||
| 2.3. Definitions | 2.3. Definitions | |||
| This document uses the terms defined in Section 2.2 of [RFC9153]. | This document uses the terms defined in Section 2.2 of [RFC9153]. | |||
| The following new terms are used in the document: | The following new terms are used in the document: | |||
| cSHAKE (The customizable SHAKE function [NIST.SP.800-185]): | cSHAKE (The customizable SHAKE function [NIST.SP.800-185]): | |||
| Extends the SHAKE [NIST.FIPS.202] scheme to allow users to | Extends the SHAKE [NIST.FIPS.202] scheme to allow users to | |||
| customize their use of the SHAKE function. | customize their use of the SHAKE function. | |||
| HDA (Hierarchical HIT Domain Authority): | HDA (HHIT Domain Authority): | |||
| The 14-bit field that identifies the HHIT Domain Authority under a | The 14-bit field that identifies the HHIT Domain Authority under a | |||
| Registered Assigning Authority (RAA). | Registered Assigning Authority (RAA). | |||
| HHIT | HHIT | |||
| Hierarchical Host Identity Tag. A HIT with extra hierarchical | Hierarchical Host Identity Tag. A HIT with extra hierarchical | |||
| information not found in a standard HIT [RFC7401]. | information not found in a standard HIT [RFC7401]. | |||
| HI | HI | |||
| Host Identity. The public key portion of an asymmetric key pair | Host Identity. The public key portion of an asymmetric key pair | |||
| as defined in [RFC9063]. | as defined in [RFC9063]. | |||
| HID (Hierarchy ID): | HID (Hierarchy ID): | |||
| The 28-bit field providing the HIT Hierarchy ID. | The 28-bit field providing the HIT Hierarchy ID. | |||
| HIP (Host Identity Protocol) | HIP (Host Identity Protocol) | |||
| The origin of HI, HIT, and HHIT. | The origin [RFC7401] of HI, HIT, and HHIT. | |||
| HIT | HIT | |||
| Host Identity Tag. A 128-bit handle on the HI. HITs are valid | Host Identity Tag. A 128-bit handle on the HI. HITs are valid | |||
| IPv6 addresses. | IPv6 addresses. | |||
| Keccak (KECCAK Message Authentication Code): | Keccak (KECCAK Message Authentication Code): | |||
| The family of all sponge functions with a KECCAK-f permutation as | The family of all sponge functions with a KECCAK-f permutation as | |||
| the underlying function and multi-rate padding as the padding | the underlying function and multi-rate padding as the padding | |||
| rule. It refers in particular to all the functions referenced | rule. It refers in particular to all the functions referenced | |||
| from [NIST.FIPS.202] and [NIST.SP.800-185]. | from [NIST.FIPS.202] and [NIST.SP.800-185]. | |||
| skipping to change at page 6, line 8 ¶ | skipping to change at page 5, line 47 ¶ | |||
| SHAKE (Secure Hash Algorithm KECCAK [NIST.FIPS.202]): | SHAKE (Secure Hash Algorithm KECCAK [NIST.FIPS.202]): | |||
| A secure hash that allows for an arbitrary output length. | A secure hash that allows for an arbitrary output length. | |||
| XOF (eXtendable-Output Function [NIST.FIPS.202]): | XOF (eXtendable-Output Function [NIST.FIPS.202]): | |||
| A function on bit strings (also called messages) in which the | A function on bit strings (also called messages) in which the | |||
| output can be extended to any desired length. | output can be extended to any desired length. | |||
| 3. The Hierarchical Host Identity Tag (HHIT) | 3. The Hierarchical Host Identity Tag (HHIT) | |||
| The Hierarchical HIT (HHIT) is a small but important enhancement over | The Hierarchical HIT (HHIT) is a small but important enhancement over | |||
| the flat HIT space, constructed as an Overlay Routable Cryptographic | the flat Host Identity Tag (HIT) space, constructed as an Overlay | |||
| Hash IDentifier (ORCHID) [RFC7343]. By adding two levels of | Routable Cryptographic Hash IDentifier (ORCHID) [RFC7343]. By adding | |||
| hierarchical administration control, the HHIT provides for device | two levels of hierarchical administration control, the HHIT provides | |||
| registration/ownership, thereby enhancing the trust framework for | for device registration/ownership, thereby enhancing the trust | |||
| HITs. | framework for HITs. | |||
| HHITs represent the HI in only a 64-bit hash, expand the Suite ID to | HHITs represent the HI in only a 64-bit hash, expand the Suite ID to | |||
| 8 bits, and use the other 28 bits to create a hierarchical | 8 bits, and use the other 28 bits to create a hierarchical | |||
| administration organization for HIT domains. Hierarchical HIT | administration organization for HIT domains. Hierarchical HIT | |||
| construction is defined in Section 3.5. The input values for the | construction is defined in Section 3.5. The input values for the | |||
| Encoding rules are described in Section 3.5.1. | Encoding rules are described in Section 3.5.1. | |||
| A HHIT is built from the following fields (Figure 1): | A HHIT is built from the following fields (Figure 1): | |||
| * p = an IPV6 prefix (max 28 bit) | * p = an IPV6 prefix (max 28 bit) | |||
| skipping to change at page 6, line 46 ¶ | skipping to change at page 6, line 37 ¶ | |||
| 14 bits| 14 bits 8 bits | 14 bits| 14 bits 8 bits | |||
| +-------+-------+ +--------------+ | +-------+-------+ +--------------+ | |||
| | RAA | HDA | |HHIT Suite ID | | | RAA | HDA | |HHIT Suite ID | | |||
| +-------+-------+ +--------------+ | +-------+-------+ +--------------+ | |||
| \ | ____/ ___________/ | \ | ____/ ___________/ | |||
| \ \ _/ ___/ | \ \ _/ ___/ | |||
| \ \/ / | \ \/ / | |||
| | p bits | 28 bits |8bits| o=96-p-8 bits | | | p bits | 28 bits |8bits| o=96-p-8 bits | | |||
| +--------------+------------+-----+------------------------+ | +--------------+------------+-----+------------------------+ | |||
| | IANA Prefix | HID |HHSI | ORCHID hash | | | IPV6 Prefix | HID |HHSI | ORCHID hash | | |||
| +--------------+------------+-----+------------------------+ | +--------------+------------+-----+------------------------+ | |||
| Figure 1: HHIT Format | Figure 1: HHIT Format | |||
| The Context ID (generated with openssl rand) for the ORCHID hash is: | The Context ID (generated with openssl rand) for the ORCHID hash is: | |||
| Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 | Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 | |||
| Context IDs are allocated out of the namespace introduced for | Context IDs are allocated out of the namespace introduced for | |||
| Cryptographically Generated Addresses (CGA) Type Tags [RFC3972]. | Cryptographically Generated Addresses (CGA) Type Tags [RFC3972]. | |||
| A script for generating HHITs based on an early version of this | ||||
| specification is available at [hhit-gen]. | ||||
| 3.1. HHIT Prefix for RID Purposes | 3.1. HHIT Prefix for RID Purposes | |||
| The IPv6 HHIT prefix MUST be distinct from that used in the flat- | The IPv6 HHIT prefix MUST be distinct from that used in the flat- | |||
| space HIT as allocated in [RFC7343]. Without this distinct prefix, | space HIT as allocated in [RFC7343]. Without this distinct prefix, | |||
| the first 4 bits of the RAA would be interpreted as the HIT Suite ID | the first 4 bits of the RAA would be interpreted as the HIT Suite ID | |||
| per HIPv2 [RFC7401]. | per HIPv2 [RFC7401]. | |||
| Initially, for DET use, one 28-bit prefix should be assigned out of | Initially, for DET use, one 28-bit prefix should be assigned out of | |||
| the IANA IPv6 Special Purpose Address Block ([RFC6890]). | the IANA IPv6 Special Purpose Address Block ([RFC6890]). | |||
| HHIT Use Bits Value | HHIT Use Bits Value | |||
| DET 28 TBD6 (suggested value 2001:30::/28) | DET 28 TBD6 (suggested value 2001:30::/28) | |||
| Other prefixes may be added in the future either for DET use or other | Other prefixes may be added in the future either for DET use or other | |||
| applications of HHITs. For a prefix to be added to the registry in | applications of HHITs. For a prefix to be added to the registry in | |||
| Section 9.1, its usage and HID allocation process have to be publicly | Section 8.2, its usage and HID allocation process have to be publicly | |||
| available. | available. | |||
| 3.2. HHIT Suite IDs | 3.2. HHIT Suite IDs | |||
| The HHIT Suite IDs specify the HI and hash algorithms. These are a | The HHIT Suite IDs specify the HI and hash algorithms. These are a | |||
| superset of the HIT Suite ID as defined in Section 5.2.10 of | superset of the HIT Suite ID as defined in Section 5.2.10 of | |||
| [RFC7401]. | [RFC7401]. | |||
| The HHIT values of 1 - 15 map to the 4-bit HIT Suite IDs. HHIT | The HHIT values of 1 - 15 map to the 4-bit HIT Suite IDs. HHIT | |||
| values of 17 - 31 map to the 8-bit HIT Suite IDs. HHIT values unique | values of 17 - 31 map to the 8-bit HIT Suite IDs. HHIT values unique | |||
| skipping to change at page 8, line 18 ¶ | skipping to change at page 8, line 5 ¶ | |||
| ECDSA/SHA-384 2 [RFC7401] | ECDSA/SHA-384 2 [RFC7401] | |||
| ECDSA_LOW/SHA-1 3 [RFC7401] | ECDSA_LOW/SHA-1 3 [RFC7401] | |||
| EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) | EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) | |||
| RESERVED 16 | RESERVED 16 | |||
| 3.2.1. HDA custom HIT Suite IDs | 3.2.1. HDA custom HIT Suite IDs | |||
| Support for 8-bit HHIT Suite IDs allows for HDA custom HIT Suite IDs. | Support for 8-bit HHIT Suite IDs allows for HDA custom HIT Suite IDs. | |||
| These will be assigned values greater than 15 as follows: | These will be assigned values greater than 15 as follows: | |||
| HIT Suite Value | HHIT Suite Value | |||
| HDA Assigned 1 TBD4 (suggested value 254) | HDA Private Use 1 TBD4 (suggested value 254) | |||
| HDA Assigned 2 TBD5 (suggested value 255) | HDA Private Use 2 TBD5 (suggested value 255) | |||
| These custom HIT Suite IDs, for example, may be used for large-scale | These custom HIT Suite IDs, for example, may be used for large-scale | |||
| experimenting with post quantum computing hashes or similar domain | experimenting with post quantum computing hashes or similar domain | |||
| specific needs. Note that currently there is no support for domain- | specific needs. Note that currently there is no support for domain- | |||
| specific HI algorithms. | specific HI algorithms. | |||
| 3.3. The Hierarchy ID (HID) | 3.3. The Hierarchy ID (HID) | |||
| The Hierarchy ID (HID) provides the structure to organize HITs into | The Hierarchy ID (HID) provides the structure to organize HITs into | |||
| administrative domains. HIDs are further divided into two fields: | administrative domains. HIDs are further divided into two fields: | |||
| * 14-bit Registered Assigning Authority (RAA) | * 14-bit Registered Assigning Authority (RAA) | |||
| * 14-bit Hierarchical HIT Domain Authority (HDA) | * 14-bit Hierarchical HIT Domain Authority (HDA) | |||
| The rationale for the 14/14 HID split is described in Appendix B. | The rationale for the 14/14 HID split is described in Appendix B. | |||
| The two levels of hierarchy allows for CAAs to have it least one RAA | ||||
| for their National Air Space (NAS). Within its RAA(s), the CAAs can | ||||
| delegate HDAs as needed. There may be other RAAs allowed to operate | ||||
| within a given NAS; this is a policy decision of each CAA. | ||||
| 3.3.1. The Registered Assigning Authority (RAA) | 3.3.1. The Registered Assigning Authority (RAA) | |||
| An RAA is a business or organization that manages a registry of HDAs. | An RAA is a business or organization that manages a registry of HDAs. | |||
| For example, the Federal Aviation Authority (FAA) or Japan Civil | For example, the Federal Aviation Authority (FAA) or Japan Civil | |||
| Aviation Bureau (JCAB) could be an RAA. | Aviation Bureau (JCAB) could be an RAA. | |||
| The RAA is a 14-bit field (16,384 RAAs). The management of this | The RAA is a 14-bit field (16,384 RAAs). The management of this | |||
| space is further elaborated in [drip-registries]. An RAA must | space is further elaborated in [drip-registries]. An RAA must | |||
| provide a set of services to allocate HDAs to organizations. It must | provide a set of services to allocate HDAs to organizations. It must | |||
| have a public policy on what is necessary to obtain an HDA. The RAA | have a public policy on what is necessary to obtain an HDA. The RAA | |||
| need not maintain any HIP related services. It must maintain a DNS | need not maintain any HIP related services. It must maintain a DNS | |||
| zone minimally for discovering HID RVS servers. The zone delegation | zone minimally for discovering HIP RVS servers for the HID. The zone | |||
| is also covered in [drip-registries]. | delegation is also covered in [drip-registries]. | |||
| As HHITs may be used in many different domains, RAA should be | As DETs under an administrative control may be used in many different | |||
| allocated in blocks with consideration on the likely size of a | domains (e.g., commercial, recreation, military), RAAs should be | |||
| particular usage. Alternatively, different prefixes can be used to | allocated in blocks (e.g. 16-19) with consideration on the likely | |||
| separate different domains of use of HHITs. | size of a particular usage. Alternatively, different prefixes can be | |||
| used to separate different domains of use of HHITs. | ||||
| This DNS zone may be a PTR for its RAA. It may be a zone in an HHIT | The RAA DNS zone within the UAS DNS tree may be a PTR for its RAA. | |||
| specific DNS zone. Assume that the RAA is 100. The PTR record could | It may be a zone in an HHIT specific DNS zone. Assume that the RAA | |||
| be constructed as follows: | is decimal 100. The PTR record could be constructed as follows: | |||
| 100.hhit.arpa IN PTR raa.bar.com. | 100.hhit.arpa IN PTR raa.bar.com. | |||
| Note that if the zone hhit.arpa is ultimately used, some registrar | ||||
| will need to manage this for all HHIT applications. Thus further | ||||
| thought will be needed in the actual zone tree and registration | ||||
| process [drip-registries]. | ||||
| 3.3.2. The Hierarchical HIT Domain Authority (HDA) | 3.3.2. The Hierarchical HIT Domain Authority (HDA) | |||
| An HDA may be an Internet Service Provider (ISP), UAS Service | An HDA may be an Internet Service Provider (ISP), UAS Service | |||
| Supplier (USS), or any third party that takes on the business to | Supplier (USS), or any third party that takes on the business to | |||
| provide UAS services management, HIP rendezvous server (RVS) or other | provide UAS services management, HIP RVSs or other needed services | |||
| needed services such as those required for HHIT and/or HIP-enabled | such as those required for HHIT and/or HIP-enabled devices. | |||
| devices. | ||||
| The HDA is a 14-bit field (16,384 HDAs per RAA) assigned by an RAA is | The HDA is a 14-bit field (16,384 HDAs per RAA) assigned by an RAA is | |||
| further elaborated in [drip-registries]. An HDA must maintain public | further elaborated in [drip-registries]. An HDA must maintain public | |||
| and private UAS registration information and should maintain a set of | and private UAS registration information and should maintain a set of | |||
| RVS servers for UAS clients that may use HIP. How this is done and | RVS servers for UAS clients that may use HIP. How this is done and | |||
| scales to the potentially millions of customers are outside the scope | scales to the potentially millions of customers are outside the scope | |||
| of this document, though covered in [drip-registries]. This service | of this document, though covered in [drip-registries]. This service | |||
| should be discoverable through the DNS zone maintained by the HDA's | should be discoverable through the DNS zone maintained by the HDA's | |||
| RAA. | RAA. | |||
| An RAA may assign a block of values to an individual organization. | An RAA may assign a block of values to an individual organization. | |||
| This is completely up to the individual RAA's published policy for | This is completely up to the individual RAA's published policy for | |||
| delegation. Such policy is out of scope. | delegation. Such policy is out of scope. | |||
| 3.4. Edward Digital Signature Algorithm for HHITs | 3.4. Edward-Curve Digital Signature Algorithm for HHITs | |||
| The Edwards-Curve Digital Signature Algorithm (EdDSA) [RFC8032] is | The Edwards-Curve Digital Signature Algorithm (EdDSA) [RFC8032] is | |||
| specified here for use as Host Identities (HIs) per HIPv2 [RFC7401]. | specified here for use as HIs per HIPv2 [RFC7401]. | |||
| The intent in this document is to add EdDSA as a HI algorithm for | The intent in this document is to add EdDSA as a HI algorithm for | |||
| DETs, but doing so impacts the HIP parameters used in a HIP exchange. | DETs, but doing so impacts the HIP parameters used in a HIP exchange. | |||
| As such the following updates HIP parameters. Other than the HIP DNS | As such the following updates HIP parameters. Other than the HIP DNS | |||
| RR (Resource Record), these should not be needed in a DRIP | RR (Resource Record), these should not be needed in a DRIP | |||
| implementation that does not use HIP. | implementation that does not use HIP. | |||
| See Section 3.2 for use of the HIT Suite in the context of DRIP. | See Section 3.2 for use of the HIT Suite in the context of DRIP. | |||
| 3.4.1. HOST_ID | 3.4.1. HOST_ID | |||
| skipping to change at page 12, line 25 ¶ | skipping to change at page 12, line 17 ¶ | |||
| operation that other hashes need. The invocation of cSHAKE specifies | operation that other hashes need. The invocation of cSHAKE specifies | |||
| the desired number of bits in the hash output. Further, cSHAKE has a | the desired number of bits in the hash output. Further, cSHAKE has a | |||
| parameter 'S' as a customization bit string. This parameter will be | parameter 'S' as a customization bit string. This parameter will be | |||
| used for including the ORCHID Context Identifier in a standard | used for including the ORCHID Context Identifier in a standard | |||
| fashion. | fashion. | |||
| This ORCHID construction includes the fields in the ORCHID in the | This ORCHID construction includes the fields in the ORCHID in the | |||
| hash to protect them against substitution attacks. It also provides | hash to protect them against substitution attacks. It also provides | |||
| for inclusion of additional information, in particular the | for inclusion of additional information, in particular the | |||
| hierarchical bits of the Hierarchical HIT, in the ORCHID generation. | hierarchical bits of the Hierarchical HIT, in the ORCHID generation. | |||
| This should be viewed as an addendum to ORCHIDv2 [RFC7343], as it can | This should be viewed as an update to ORCHIDv2 [RFC7343], as it can | |||
| produce ORCHIDv2 output. | produce ORCHIDv2 output. | |||
| 3.5.1. Adding Additional Information to the ORCHID | 3.5.1. Adding Additional Information to the ORCHID | |||
| ORCHIDv2 [RFC7343] is defined as consisting of three components: | ORCHIDv2 [RFC7343] is defined as consisting of three components: | |||
| ORCHID := Prefix | OGA ID | Encode_96( Hash ) | ORCHID := Prefix | OGA ID | Encode_96( Hash ) | |||
| where: | where: | |||
| skipping to change at page 12, line 47 ¶ | skipping to change at page 12, line 39 ¶ | |||
| (IPV6 prefix) | (IPV6 prefix) | |||
| OGA ID : A 4-bit long identifier for the Hash_function | OGA ID : A 4-bit long identifier for the Hash_function | |||
| in use within the specific usage context. When | in use within the specific usage context. When | |||
| used for HIT generation this is the HIT Suite ID. | used for HIT generation this is the HIT Suite ID. | |||
| Encode_96( ) : An extraction function in which output is obtained | Encode_96( ) : An extraction function in which output is obtained | |||
| by extracting the middle 96-bit-long bitstring | by extracting the middle 96-bit-long bitstring | |||
| from the argument bitstring. | from the argument bitstring. | |||
| This addendum will be constructed as follows: | The new ORCHID function is as follows: | |||
| ORCHID := Prefix (p) | Info (n) | OGA ID (o) | Hash (m) | ORCHID := Prefix (p) | Info (n) | OGA ID (o) | Hash (m) | |||
| where: | where: | |||
| Prefix (p) : An IPv6 prefix (max 28-bit-long). | Prefix (p) : An IPv6 prefix of length p (max 28-bit-long). | |||
| Info (n) : n bits of information that define a use of the | Info (n) : n bits of information that define a use of the | |||
| ORCHID. 'n' can be zero, that is no additional | ORCHID. 'n' can be zero, that is no additional | |||
| information. | information. | |||
| OGA ID (o) : A 4- or 8-bit long identifier for the Hash_function | OGA ID (o) : A 4- or 8-bit long identifier for the Hash_function | |||
| in use within the specific usage context. When | in use within the specific usage context. When | |||
| used for HIT generation this is the HIT Suite ID. | used for HIT generation this is the HIT Suite ID. | |||
| When used for HHIT generation this is the | When used for HHIT generation this is the | |||
| HHIT Suite ID. | HHIT Suite ID. | |||
| Hash (m) : An extraction function in which output is 'm' bits. | Hash (m) : An extraction function in which output is 'm' bits. | |||
| p + n + o + m = 128 bits | p + n + o + m = 128 bits | |||
| With a 28-bit IPv6 prefix, the remaining 100 bits can be divided in | The ORCHID length MUST be 128 bits. With a 28-bit IPv6 prefix, the | |||
| any manner between the additional information ("Info"), OGA ID, and | remaining 100 bits can be divided in any manner between the | |||
| the hash output. Care must be considering the size of the hash | additional information ("Info"), OGA ID, and the hash output. Care | |||
| portion, taking into account risks like pre-image attacks. 64 bits, | must be considering the size of the hash portion, taking into account | |||
| as used in Hierarchical HITs may be as small as is acceptable. The | risks like pre-image attacks. 64 bits, as used in Hierarchical HITs | |||
| size of 'n' is determined as what is left; in the case of the 8-bit | may be as small as is acceptable. The size of 'n' is determined as | |||
| OGA used for HHIT, this is 28 bits. | what is left; in the case of the 8-bit OGA used for HHIT, this is 28 | |||
| bits. | ||||
| 3.5.2. ORCHID Encoding | 3.5.2. ORCHID Encoding | |||
| This addendum adds a different encoding process to that currently | This update adds a different encoding process to that currently used | |||
| used in ORCHIDv2. The input to the hash function explicitly includes | in ORCHIDv2. The input to the hash function explicitly includes all | |||
| all the header content plus the Context ID. The header content | the header content plus the Context ID. The header content consists | |||
| consists of the Prefix, the Additional Information ("Info"), and OGA | of the Prefix, the Additional Information ("Info"), and OGA ID (HIT | |||
| ID (HIT Suite ID). Secondly, the length of the resulting hash is set | Suite ID). Secondly, the length of the resulting hash is set by sum | |||
| by sum of the length of the ORCHID header fields. For example, a | of the length of the ORCHID header fields. For example, a 28-bit | |||
| 28-bit prefix with 28 bits for the HID and 8 bits for the OGA ID | prefix with 28 bits for the HID and 8 bits for the OGA ID leaves 64 | |||
| leaves 64 bits for the hash length. | bits for the hash length. | |||
| To achieve the variable length output in a consistent manner, the | To achieve the variable length output in a consistent manner, the | |||
| cSHAKE hash is used. For this purpose, cSHAKE128 is appropriate. | cSHAKE hash is used. For this purpose, cSHAKE128 is appropriate. | |||
| The cSHAKE function call for this addendum is: | The cSHAKE function call for this update is: | |||
| cSHAKE128(Input, L, "", Context ID) | cSHAKE128(Input, L, "", Context ID) | |||
| Input := Prefix | Additional Information | OGA ID | HOST_ID | Input := Prefix | Additional Information | OGA ID | HOST_ID | |||
| L := Length in bits of hash portion of ORCHID | L := Length in bits of hash portion of ORCHID | |||
| For full Suite ID support (those that use fixed length hashes like | For full Suite ID support (those that use fixed length hashes like | |||
| SHA256), the following hashing can be used (Note: this does not | SHA256), the following hashing can be used (Note: this does not | |||
| produce output Identical to ORCHIDv2 for a /28 prefix and Additional | produce output Identical to ORCHIDv2 for a /28 prefix and Additional | |||
| Information of zero-length): | Information of zero-length): | |||
| skipping to change at page 15, line 9 ¶ | skipping to change at page 15, line 9 ¶ | |||
| Context ID := 0xF0EF F02F BFF4 3D0F E793 0C3C 6E61 74EA | Context ID := 0xF0EF F02F BFF4 3D0F E793 0C3C 6E61 74EA | |||
| Hash[L] := The L-bit output from the hash function | Hash[L] := The L-bit output from the hash function | |||
| Then, the ORCHID is constructed as follows: | Then, the ORCHID is constructed as follows: | |||
| Prefix | OGA ID | Hash Output | Prefix | OGA ID | Hash Output | |||
| 3.5.3. ORCHID Decoding | 3.5.3. ORCHID Decoding | |||
| With this addendum, the decoding of an ORCHID is determined by the | With this update, the decoding of an ORCHID is determined by the | |||
| Prefix and OGA ID. ORCHIDv2 [RFC7343] decoding is selected when the | Prefix and OGA ID. ORCHIDv2 [RFC7343] decoding is selected when the | |||
| Prefix is: 2001:20::/28. | Prefix is: 2001:20::/28. | |||
| For Hierarchical HITs, the decoding is determined by the presence of | For Hierarchical HITs, the decoding is determined by the presence of | |||
| the HHIT Prefix as specified in Section 9.1. | the HHIT Prefix as specified in Section 8.2. | |||
| 3.5.4. Decoding ORCHIDs for HIPv2 | 3.5.4. Decoding ORCHIDs for HIPv2 | |||
| This section is included to provide backwards compatibility for | This section is included to provide backwards compatibility for | |||
| ORCHIDv2 [RFC7343] as used for HIPv2 [RFC7401]. | ORCHIDv2 [RFC7343] as used for HIPv2 [RFC7401]. | |||
| HITs are identified by a Prefix of 2001:20::/28. The next 4 bits are | HITs are identified by a Prefix of 2001:20::/28. The next 4 bits are | |||
| the OGA ID. The remaining 96 bits are the HI Hash. | the OGA ID. The remaining 96 bits are the HI Hash. | |||
| 4. Hierarchical HITs as Remote ID DRIP Entity Tags (DETs) | 4. Hierarchical HITs as DRIP Entity Tags | |||
| Hierarchical HITs are a refinement on the Host Identity Tag (HIT) of | ||||
| HIPv2. HHITs require a new ORCHID mechanism as described in | ||||
| Section 3.5. | ||||
| HHITs for UAS ID (called, DETs) also use the new EdDSA/SHAKE128 HIT | ||||
| suite defined in Section 3.4 (GEN-2 in [RFC9153]). This hierarchy, | ||||
| cryptographically embedded within the HHIT, provides the information | ||||
| for finding the UA's HHIT registry (ID-3 in [RFC9153]). | ||||
| As per 2022, ASTM Standard Specification for Remote ID and Tracking | ||||
| [F3411] specifies four UAS ID types: | ||||
| TYPE-1 A static, manufacturer assigned, hardware serial number per | ||||
| ANSI/CTA-2063-A "Small Unmanned Aerial System Serial Numbers" | ||||
| [CTA2063A]. | ||||
| TYPE-2 A Civil Aviation Authority (CAA) assigned (presumably static) | HHITs for UAS ID (called, DETs) use the new EdDSA/SHAKE128 HIT suite | |||
| ID. | defined in Section 3.4 (GEN-2 in [RFC9153]). This hierarchy, | |||
| cryptographically bound within the HHIT, provides the information for | ||||
| finding the UA's HHIT registry (ID-3 in [RFC9153]). | ||||
| TYPE-3 An UAS Traffic Management (UTM) system assigned UUID | The 2022 forthcoming ASTM Standard Specification for Remote ID and | |||
| [RFC4122]. These can be dynamic, but do not need to be. | Tracking [F3411] adds support for DETs. This is within the UAS ID | |||
| type 4, "Specific Session ID (SSI)". | ||||
| TYPE-4 Specific Session ID (SSI) | Note that the original Types 1 - 3 allow for an UAS ID with a maximum | |||
| Note that Types 1 - 3 allow for an UAS ID with a maximum length of 20 | length of 20 bytes, the new SSI (Type 4) uses the first byte of the | |||
| bytes, the SSI (Type 4) uses the first byte of the ID for the SSI | ID for the SSI value, thus restricting the UAS ID to a maximum of 19 | |||
| value, thus restricting the UAS ID to a maximum of 19 bytes. The SSI | bytes. The SSI values initially assigned (as per 2022) are: | |||
| values initially assigned (as per 2022) are: | ||||
| ID 1 IETF - DRIP Drone Remote Identification Protocol (DRIP) entity | ID 1 IETF - DRIP Drone Remote ID Protocol (DRIP) entity ID. | |||
| ID. | ||||
| ID 2 3GPP - IEEE 1609.2-2016 HashedID8 | ID 2 3GPP - IEEE 1609.2-2016 HashedID8 | |||
| 4.1. Nontransferablity of DETs | 4.1. Nontransferablity of DETs | |||
| A HI and its HHIT SHOULD NOT be transferable between UA or even | A HI and its HHIT SHOULD NOT be transferable between UA or even | |||
| between replacement electronics (e.g., replacement of damaged | between replacement electronics (e.g., replacement of damaged | |||
| controller CPU) for a UA. The private key for the HI SHOULD be held | controller CPU) for a UA. The private key for the HI SHOULD be held | |||
| in a cryptographically secure component. | in a cryptographically secure component. | |||
| skipping to change at page 17, line 42 ¶ | skipping to change at page 17, line 23 ¶ | |||
| ID Message (Section 2.2 of [RFC9153]). The DET is used in the | ID Message (Section 2.2 of [RFC9153]). The DET is used in the | |||
| Authentication Messages (i.e., the messages that provide framing for | Authentication Messages (i.e., the messages that provide framing for | |||
| authentication data only). | authentication data only). | |||
| 4.3. Remote ID DET as one Class of Hierarchical HITs | 4.3. Remote ID DET as one Class of Hierarchical HITs | |||
| UAS Remote ID DET may be one of a number of uses of HHITs. However, | UAS Remote ID DET may be one of a number of uses of HHITs. However, | |||
| it is out of the scope of the document to elaborate on other uses of | it is out of the scope of the document to elaborate on other uses of | |||
| HHITs. As such these follow-on uses need to be considered in | HHITs. As such these follow-on uses need to be considered in | |||
| allocating the RAAs (Section 3.3.1) or HHIT prefix assignments | allocating the RAAs (Section 3.3.1) or HHIT prefix assignments | |||
| (Section 9). | (Section 8). | |||
| 4.4. Hierarchy in ORCHID Generation | 4.4. Hierarchy in ORCHID Generation | |||
| ORCHIDS, as defined in [RFC7343], do not cryptographically bind an | ORCHIDS, as defined in [RFC7343], do not cryptographically bind an | |||
| IPv6 prefix nor the ORCHID Generation Algorithm (OGA) ID (the HIT | IPv6 prefix nor the ORCHID Generation Algorithm (OGA) ID (the HIT | |||
| Suite ID) to the hash of the HI. The rationale at the time of | Suite ID) to the hash of the HI. The rationale at the time of | |||
| developing ORCHID was attacks against these fields are Denial-of- | developing ORCHID was attacks against these fields are Denial-of- | |||
| Service (DoS) attacks against protocols using ORCHIDs and thus up to | Service (DoS) attacks against protocols using ORCHIDs and thus up to | |||
| those protocols to address the issue. | those protocols to address the issue. | |||
| skipping to change at page 18, line 18 ¶ | skipping to change at page 18, line 5 ¶ | |||
| in the HHIT. This provides a strong, self-attestation for using the | in the HHIT. This provides a strong, self-attestation for using the | |||
| hierarchy to find the DET Registry based on the HID (Section 4.5). | hierarchy to find the DET Registry based on the HID (Section 4.5). | |||
| 4.5. DRIP Entity Tag (DET) Registry | 4.5. DRIP Entity Tag (DET) Registry | |||
| DETs are registered to HDAs. A registration process, | DETs are registered to HDAs. A registration process, | |||
| [drip-registries], ensures DET global uniqueness (ID-4 in [RFC9153]). | [drip-registries], ensures DET global uniqueness (ID-4 in [RFC9153]). | |||
| It also provides the mechanism to create UAS public/private data that | It also provides the mechanism to create UAS public/private data that | |||
| are associated with the DET (REG-1 and REG-2 in [RFC9153]). | are associated with the DET (REG-1 and REG-2 in [RFC9153]). | |||
| The two levels of hierarchy within the DET allows for CAAs to have | ||||
| their own RAA for their National Air Space (NAS). Within the RAA, | ||||
| the CAAs can delegate HDAs as needed. There may be other RAAs | ||||
| allowed to operate within a given NAS; this is a policy decision of | ||||
| each CAA. | ||||
| 4.6. Remote ID Authentication using DETs | 4.6. Remote ID Authentication using DETs | |||
| The EdDSA25519 HI (Section 3.4) underlying the DET can be used in an | The EdDSA25519 HI (Section 3.4) underlying the DET can be used in an | |||
| 84-byte self-proof attestation (timestamp, HHIT, and signature of | 84-byte self-proof attestation (timestamp, HHIT, and signature of | |||
| these) to provide proof of Remote ID ownership (GEN-1 in [RFC9153]). | these) to provide proof of Remote ID ownership (GEN-1 in [RFC9153]). | |||
| In practice, the Wrapper and Manifest authentication formats | In practice, the Wrapper and Manifest authentication formats | |||
| (Sections 6.3.3 and 6.3.4 of [drip-authentication]) implicitly | (Sections 6.3.3 and 6.3.4 of [drip-authentication]) implicitly | |||
| provide this self-attestation. A lookup service like DNS can provide | provide this self-attestation. A lookup service like DNS can provide | |||
| the HI and registration proof (GEN-3 in [RFC9153]). | the HI and registration proof (GEN-3 in [RFC9153]). | |||
| skipping to change at page 19, line 24 ¶ | skipping to change at page 19, line 8 ¶ | |||
| document does not intent to provide a recommendation. Further DNS- | document does not intent to provide a recommendation. Further DNS- | |||
| related considerations are covered in [drip-registries]. | related considerations are covered in [drip-registries]. | |||
| * As FQDNs, for example, ".icao.int.". | * As FQDNs, for example, ".icao.int.". | |||
| * Reverse DNS lookups as IPv6 addresses per [RFC8005]. | * Reverse DNS lookups as IPv6 addresses per [RFC8005]. | |||
| A DET can be used to construct an FQDN that points to the USS that | A DET can be used to construct an FQDN that points to the USS that | |||
| has the public/private information for the UA (REG-1 and REG-2 in | has the public/private information for the UA (REG-1 and REG-2 in | |||
| [RFC9153]). For example, the USS for the HHIT could be found via the | [RFC9153]). For example, the USS for the HHIT could be found via the | |||
| following: Assume the RAA is 100 and the HDA is 50. The PTR record | following: assume the RAA is decimal 100 and the HDA is decimal 50. | |||
| is constructed as follows: | The PTR record is constructed as follows: | |||
| 100.50.det.uas.icao.int IN PTR foo.uss.icao.int. | 100.50.det.uas.icao.int IN PTR foo.uss.icao.int. | |||
| The individual DETs may be potentially too numerous (e.g., 60 - 600M) | The individual DETs may be potentially too numerous (e.g., 60 - 600M) | |||
| and dynamic (e.g., new DETs every minute for some HDAs) to store in a | and dynamic (e.g., new DETs every minute for some HDAs) to store in a | |||
| signed, DNS zone. The HDA SHOULD provide DNS service for its zone | signed, DNS zone. The HDA SHOULD provide DNS service for its zone | |||
| and provide the HHIT detail response. A secure connection (e.g., | and provide the HHIT detail response. A secure connection (e.g., | |||
| DNS-over-TLS [RFC7858]) to the authoritative zone may be a viable | DNS-over-TLS [RFC7858]) to the authoritative servers may be a viable | |||
| alternative to DNSSEC. | alternative to DNSSEC. | |||
| The DET reverse lookup can be a standard IPv6 reverse look up, or it | The DET reverse lookup can be a standard IPv6 reverse look up, or it | |||
| can leverage off the HHIT structure. If we assume a prefix of | can leverage off the HHIT structure. If we assume a prefix of | |||
| 2001:30::/28, the RAA is 10 and the HDA is 20, the DET is: | 2001:30::/28, the RAA is 10 and the HDA is 20, the DET is: | |||
| 2001:30:280:1405:a3ad:1952:ad0:a69e | 2001:30:280:1405:a3ad:1952:ad0:a69e | |||
| A DET reverse lookup could be to: | A DET reverse lookup could be to: | |||
| skipping to change at page 20, line 7 ¶ | skipping to change at page 19, line 39 ¶ | |||
| or: | or: | |||
| a3ad1952ad0a69e.5.20.10.30.2001.det.remoteid.icao.int. | a3ad1952ad0a69e.5.20.10.30.2001.det.remoteid.icao.int. | |||
| A 'standard' ip6.arpa RR has the advantage of only one Registry | A 'standard' ip6.arpa RR has the advantage of only one Registry | |||
| service supported. | service supported. | |||
| $ORIGIN 5.0.4.1.0.8.2.0.0.3.0.0.1.0.0.2.ip6.arpa. | $ORIGIN 5.0.4.1.0.8.2.0.0.3.0.0.1.0.0.2.ip6.arpa. | |||
| e.9.6.a.0.d.a.0.2.5.9.1.d.a.3.a IN PTR | e.9.6.a.0.d.a.0.2.5.9.1.d.a.3.a IN PTR | |||
| a3ad1952ad0a69e.20.10.det.rid.icao.int. | ||||
| 6. Other UTM Uses of HHITs Beyond DET | 6. Other UTM Uses of HHITs Beyond DET | |||
| HHITs might be used within the UTM architecture beyond DET (and USS | HHITs will be used within the UTM architecture beyond DET (and USS in | |||
| in UA ID registration and authentication), for example, as a Ground | UA ID registration and authentication), for example, as a Ground | |||
| Control Station (GCS) HHIT ID. The GCS may use its HHIT if it is the | Control Station (GCS) HHIT ID. Some GCS will use its HHIT for | |||
| source of Network Remote ID for securing its transport and for secure | securing its Network Remote ID (to USS HHIT) and C2 transports. | |||
| Command and Control (C2) transport. | ||||
| Observers may have their own HHITs to facilitate UAS information | Observers may have their own HHITs to facilitate UAS information | |||
| retrieval (e.g., for authorization to private UAS data). They could | retrieval (e.g., for authorization to private UAS data). They could | |||
| also use their HHIT for establishing a HIP connection with the UA | also use their HHIT for establishing a HIP connection with the UA | |||
| Pilot for direct communications per authorization. Details about | Pilot for direct communications per authorization. Details about | |||
| such issues are out of the scope of this document). | such issues are out of the scope of this document). | |||
| 7. Summary of Addressed DRIP Requirements | 7. Summary of Addressed DRIP Requirements | |||
| This document provides the details to solutions for GEN 1 - 3, ID 1 - | This document provides the details to solutions for GEN 1 - 3, ID 1 - | |||
| 5, and REG 1 - 2 requirements that are described in [RFC9153]. | 5, and REG 1 - 2 requirements that are described in [RFC9153]. | |||
| 8. DET Privacy | 8. IANA Considerations | |||
| There is no expectation of privacy for DETs; it is not part of the | 8.1. New Well-Known IPv6 prefix for DETs | |||
| privacy normative requirements listed in, Section 4.3.1, of | ||||
| [RFC9153]. DETs are broadcast in the clear over the open air via | ||||
| Bluetooth and Wi-Fi. They will be collected and collated with other | ||||
| public information about the UAS. This will include DET registration | ||||
| information and location and times of operations for a DET. A DET | ||||
| can be for the life of a UA if there is no concern about DET/UA | ||||
| activity harvesting. | ||||
| Further, the MAC address of the wireless interface used for Remote ID | Since the DET format is not compatible with [RFC7343], IANA is | |||
| broadcasts are a target for UA operation aggregation that may not be | requested to allocate a new prefix following this template for the | |||
| mitigated through address randomization. For Bluetooth 4 Remote ID | IPv6 Special-Purpose Address Registry. | |||
| messaging, the MAC address is used by observers to link the Basic ID | ||||
| Message that contains the RID with other Remote ID messages, thus | ||||
| must be constant for a UA operation. This message linkage use of MAC | ||||
| addresses may not be needed with the Bluetooth 5 or Wi-Fi PHYs. | ||||
| These PHYs provide for a larger message payload and can use the | ||||
| Message Pack (Msg Type 0xF) and the Authentication Message to | ||||
| transmit the RID with other Remote ID messages. However, it is not | ||||
| mandatory to send the RID in a Message Pack or Authentication | ||||
| Message, so allowance for using the MAC address for UA message | ||||
| linking must be maintained. That is, the MAC address should be | ||||
| stable for at least a UA operation. | ||||
| Finally, it is not adequate to simply change the DET and MAC for a UA | Address Block: | |||
| per operation to defeat historically tracking a UA's activity. | IANA is requested to allocate a new 28-bit prefix out of the IANA | |||
| IPv6 Special Purpose Address Block, namely 2001::/23, as per | ||||
| [RFC6890] (TBD6, suggested: 2001:30::/28). | ||||
| Any changes to the UA MAC may have impacts to C2 setup and use. A | Name: | |||
| constant GCS MAC may well defeat any privacy gains in UA MAC and RID | This block should be named "DRIP Entity Tags (DETs) Prefix". | |||
| changes. UA/GCS binding is complicated with changing MAC addresses; | ||||
| historically UAS design assumed these to be "forever" and made setup | ||||
| a one-time process. Additionally, if IP is used for C2, a changing | ||||
| MAC may mean a changing IP address to further impact the UAS | ||||
| bindings. Finally, an encryption wrapper's identifier (such as ESP | ||||
| [RFC4303] SPI) would need to change per operation to insure operation | ||||
| tracking separation. | ||||
| Creating and maintaining UAS operational privacy is a multifaceted | RFC: | |||
| problem. Many communication pieces need to be considered to truly | This document. | |||
| create a separation between UA operations. Simply changing the UAS | ||||
| RID only starts the changes that need to be implemented. | ||||
| 9. IANA Considerations | Allocation Date: | |||
| Date this document published. | ||||
| 9.1. New IANA DRIP Registry | Termination Date: | |||
| Forever. | ||||
| Source: | ||||
| False. | ||||
| Destination: | ||||
| False. | ||||
| Forwardable: | ||||
| False. | ||||
| Globally Reachable: | ||||
| False. | ||||
| Reserved-by-Protocol: | ||||
| False? | ||||
| 8.2. New IANA DRIP Registry | ||||
| This document requests IANA to create a new registry titled "Drone | This document requests IANA to create a new registry titled "Drone | |||
| Remote Identification Protocol" registry. The following two | Remote ID Protocol" registry. The following two subregistries should | |||
| subregistries should be created under that registry. | be created under that registry. | |||
| Hierarchical HIT (HHIT) Prefixes: | Hierarchical HIT (HHIT) Prefixes: | |||
| Initially, for DET use, one 28-bit prefix should be assigned out | Initially, for DET use, one 28-bit prefix should be assigned out | |||
| of the IANA IPv6 Special Purpose Address Block, namely 2001::/23, | of the IANA IPv6 Special Purpose Address Block, namely 2001::/23, | |||
| as per [RFC6890]. Future additions to this subregistry are to be | as per [RFC6890]. Future additions to this subregistry are to be | |||
| made through Expert Review (Section 4.5 of [RFC8126]). Entries | made through Expert Review (Section 4.5 of [RFC8126]). Entries | |||
| with network-specific prefixes may be present in the registry. | with network-specific prefixes may be present in the registry. | |||
| HHIT Use Bits Value | HHIT Use Bits Value | |||
| DET 28 TBD6 (suggested value 2001:30::/28) | DET 28 TBD6 (suggested value 2001:30::/28) | |||
| skipping to change at page 22, line 12 ¶ | skipping to change at page 21, line 35 ¶ | |||
| subregistry are to be made through IETF Review (Section 4.8 of | subregistry are to be made through IETF Review (Section 4.8 of | |||
| [RFC8126]). The following HHIT Suite IDs are defined: | [RFC8126]). The following HHIT Suite IDs are defined: | |||
| HHIT Suite Value | HHIT Suite Value | |||
| RESERVED 0 | RESERVED 0 | |||
| RSA,DSA/SHA-256 1 [RFC7401] | RSA,DSA/SHA-256 1 [RFC7401] | |||
| ECDSA/SHA-384 2 [RFC7401] | ECDSA/SHA-384 2 [RFC7401] | |||
| ECDSA_LOW/SHA-1 3 [RFC7401] | ECDSA_LOW/SHA-1 3 [RFC7401] | |||
| EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) | EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) | |||
| RESERVED 16 | RESERVED 16 | |||
| HDA Assigned 1 TBD4 (suggested value 254) | HDA Private Use 1 TBD4 (suggested value 254) | |||
| HDA Assigned 2 TBD5 (suggested value 255) | HDA Private Use 2 TBD5 (suggested value 255) | |||
| 9.2. IANA CGA Registry Update | 8.3. IANA CGA Registry Update | |||
| This document requests IANA to make the following change to the IANA | This document requests IANA to make the following change to the IANA | |||
| "CGA Extension Type Tags registry [IANA-CGA] registry: | "CGA Extension Type Tags registry [IANA-CGA] registry: | |||
| Context ID: | Context ID: | |||
| The Context ID (Section 3) shares the namespace introduced for CGA | The Context ID (Section 3) shares the namespace introduced for CGA | |||
| Type Tags. Defining new Context IDs follow the rules in Section 8 | Type Tags. Defining new Context IDs follow the rules in Section 8 | |||
| of [RFC3972]: | of [RFC3972]: | |||
| Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 | Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 | |||
| 9.3. IANA HIP Registry Updates | 8.4. IANA HIP Registry Updates | |||
| This document requests IANA to make the following changes to the IANA | This document requests IANA to make the following changes to the IANA | |||
| "Host Identity Protocol (HIP) Parameters" [IANA-HIP] registry: | "Host Identity Protocol (HIP) Parameters" [IANA-HIP] registry: | |||
| Host ID: | Host ID: | |||
| This document defines the new EdDSA Host ID with value TBD1 | This document defines the new EdDSA Host ID with value TBD1 | |||
| (suggested: 13) (Section 3.4.1) in the "HI Algorithm" subregistry | (suggested: 13) (Section 3.4.1) in the "HI Algorithm" subregistry | |||
| of the "Host Identity Protocol (HIP) Parameters" registry. | of the "Host Identity Protocol (HIP) Parameters" registry. | |||
| Algorithm | Algorithm | |||
| skipping to change at page 23, line 12 ¶ | skipping to change at page 22, line 32 ¶ | |||
| "EdDSA Curve Label". The values for this subregistry are defined | "EdDSA Curve Label". The values for this subregistry are defined | |||
| in Section 3.4.1.1. | in Section 3.4.1.1. | |||
| Algorithm Curve Values | Algorithm Curve Values | |||
| EdDSA RESERVED 0 | EdDSA RESERVED 0 | |||
| EdDSA EdDSA25519 1 [RFC8032] (RECOMMENDED) | EdDSA EdDSA25519 1 [RFC8032] (RECOMMENDED) | |||
| EdDSA EdDSA25519ph 2 [RFC8032] | EdDSA EdDSA25519ph 2 [RFC8032] | |||
| EdDSA EdDSA448 3 [RFC8032] (RECOMMENDED) | EdDSA EdDSA448 3 [RFC8032] (RECOMMENDED) | |||
| EdDSA EdDSA448ph 4 [RFC8032] | EdDSA EdDSA448ph 4 [RFC8032] | |||
| 5-65535 Unassigned | ||||
| HIT Suite ID: | HIT Suite ID: | |||
| This document defines the new HIT Suite of EdDSA/cSHAKE with value | This document defines the new HIT Suite of EdDSA/cSHAKE with value | |||
| TBD3 (suggested: 5) (Section 3.4.2) in the "HIT Suite ID" | TBD3 (suggested: 5) (Section 3.4.2) in the "HIT Suite ID" | |||
| subregistry of the "Host Identity Protocol (HIP) Parameters" | subregistry of the "Host Identity Protocol (HIP) Parameters" | |||
| registry. | registry. | |||
| HIT Suite Value | HIT Suite Value | |||
| EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) | EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) | |||
| 9.4. IANA IPSECKEY Registry Update | 8.5. IANA IPSECKEY Registry Update | |||
| This document requests IANA to make the following change to the | This document requests IANA to make the following change to the | |||
| "IPSECKEY Resource Record Parameters" [IANA-IPSECKEY] registry: | "IPSECKEY Resource Record Parameters" [IANA-IPSECKEY] registry: | |||
| IPSECKEY: | IPSECKEY: | |||
| This document defines the new IPSECKEY value TBD2 (suggested: 4) | This document defines the new IPSECKEY value TBD2 (suggested: 4) | |||
| (Section 3.4.1.2) in the "Algorithm Type Field" subregistry of the | (Section 3.4.1.2) in the "Algorithm Type Field" subregistry of the | |||
| "IPSECKEY Resource Record Parameters" registry. | "IPSECKEY Resource Record Parameters" registry. | |||
| Value Description | Value Description | |||
| TBD2 (suggested value 4) | TBD2 (suggested value 4) | |||
| An EdDSA key is present, in the format defined in [RFC8080] | An EdDSA key is present, in the format defined in [RFC8080] | |||
| 9.5. New Well-Known IPv6 prefix for DETs | 9. Security Considerations | |||
| Since the DET format is not compatible with [RFC7343], IANA is | ||||
| requested to allocate a new prefix following this template for the | ||||
| IPv6 Special-Purpose Address Registry. | ||||
| Address Block: | ||||
| IANA is requested to allocate a new 28-bit prefix out of the IANA | ||||
| IPv6 Special Purpose Address Block, namely 2001::/23, as per | ||||
| [RFC6890] (TBD6, suggested: 2001:30::/28). | ||||
| Name: | ||||
| This block should be named "DRIP Device Entity Tags (DETs) | ||||
| Prefix". | ||||
| RFC: | ||||
| This document. | ||||
| Allocation Date: | ||||
| Date this document published. | ||||
| Termination Date: | ||||
| Forever. | ||||
| Source: | ||||
| False. | ||||
| Destination: | ||||
| False. | ||||
| Forwardable: | ||||
| False. | ||||
| Globally Reachable: | ||||
| False. | ||||
| Reserved-by-Protocol: | ||||
| False? | ||||
| 10. Security Considerations | ||||
| The 64-bit hash in HHITs presents a real risk of second pre-image | The 64-bit hash in HHITs presents a real risk of second pre-image | |||
| cryptographic hash attack Section 10.2. There are no known (to the | cryptographic hash attack Section 9.3. There are no known (to the | |||
| authors) studies of hash size to cryptographic hash attacks. A | authors) studies of hash size to cryptographic hash attacks. A | |||
| Python script is available to randomly generate 1M HHITs that did not | Python script is available to randomly generate 1M HHITs that did not | |||
| produce a hash collision which is a simpler attack than a first or | produce a hash collision which is a simpler attack than a first or | |||
| second pre-image attack. | second pre-image attack. | |||
| However, with today's computing power, producing 2^64 EdDSA keypairs | However, with today's computing power, producing 2^64 EdDSA keypairs | |||
| and then generating the corresponding HHIT is economically feasible. | and then generating the corresponding HHIT is economically feasible. | |||
| Consider that a *single* bitcoin mining ASIC can do on the order of | Consider that a *single* bitcoin mining ASIC can do on the order of | |||
| 2^46 sha256 hashes a second or about 2^62 hashes in a single day. | 2^46 sha256 hashes a second or about 2^62 hashes in a single day. | |||
| The point being, 2^64 is not prohibitive, especially as this can be | The point being, 2^64 is not prohibitive, especially as this can be | |||
| skipping to change at page 25, line 10 ¶ | skipping to change at page 23, line 41 ¶ | |||
| Now it should be noted that the 2^64 attempts is for stealing a | Now it should be noted that the 2^64 attempts is for stealing a | |||
| specific HHIT. Consider a scenario of a street photography company | specific HHIT. Consider a scenario of a street photography company | |||
| with 1,024 UAs (each with its own HHIT); you'd be happy stealing any | with 1,024 UAs (each with its own HHIT); you'd be happy stealing any | |||
| one of them. Then rather than needing to satisfy a 64-bit condition | one of them. Then rather than needing to satisfy a 64-bit condition | |||
| on the cSHAKE128 output, you need only satisfy what is equivalent to | on the cSHAKE128 output, you need only satisfy what is equivalent to | |||
| a 54-bit condition (since there are 2^10 more opportunities for | a 54-bit condition (since there are 2^10 more opportunities for | |||
| success). | success). | |||
| Thus, although the probability of a collision or pre-image attack is | Thus, although the probability of a collision or pre-image attack is | |||
| low in a collection of 1,024 HHITs out of a total population of 2^64, | low in a collection of 1,024 HHITs out of a total population of 2^64, | |||
| per Section 10.2, it is computationally and economically feasible. | per Section 9.3, it is computationally and economically feasible. | |||
| Therefore, the HHIT registration and HHIT/HI registration validation | Therefore, the HHIT registration and HHIT/HI registration validation | |||
| is strongly recommended. | is strongly recommended. | |||
| The DET Registry services effectively block attempts to "take over" | The DET Registry services effectively block attempts to "take over" | |||
| or "hijack" a DET. It does not stop a rogue attempting to | or "hijack" a DET. It does not stop a rogue attempting to | |||
| impersonate a known DET. This attack can be mitigated by the | impersonate a known DET. This attack can be mitigated by the | |||
| receiver of the DET using DNS to find the HI for the DET. As such, | receiver of messages containing DETs using DNS to find the HI for the | |||
| use of DNSSEC and DNS-over-TLS by the DET registries is recommended. | DET. As such, use of DNSSEC by the DET registries is recommended to | |||
| provide trust in HI retrieval. | ||||
| The 60-bit hash for DETs with 8-bit OGAs have a greater hash attack | The 60-bit hash for DETs with 8-bit OGAs have a greater hash attack | |||
| risk. As such its use should be restricted to testing and to small, | risk. As such its use should be restricted to testing and to small, | |||
| well managed UAS/USS. | well managed UAS/USS. | |||
| Another mitigation of HHIT hijacking is if the HI owner (UA) supplies | Another mitigation of HHIT hijacking is if the HI owner (UA) supplies | |||
| an object containing the HHIT and signed by the HI private key of the | an object containing the HHIT and signed by the HI private key of the | |||
| HDA such as discussed in Section 4.6. | HDA such as detailed in [drip-authentication]. | |||
| The two risks with hierarchical HITs are the use of an invalid HID | The two risks with hierarchical HITs are the use of an invalid HID | |||
| and forced HIT collisions. The use of a DNS zone (e.g., "det.arpa.") | and forced HIT collisions. The use of a DNS zone (e.g., "det.arpa.") | |||
| is a strong protection against invalid HIDs. Querying an HDA's RVS | is a strong protection against invalid HIDs. Querying an HDA's RVS | |||
| for a HIT under the HDA protects against talking to unregistered | for a HIT under the HDA protects against talking to unregistered | |||
| clients. The Registry service [drip-registries], through its HHIT | clients. The Registry service [drip-registries], through its HHIT | |||
| uniqueness enforcement, provides against forced or accidental HHIT | uniqueness enforcement, provides against forced or accidental HHIT | |||
| hash collisions. | hash collisions. | |||
| Cryptographically Generated Addresses (CGAs) provide an assurance of | Cryptographically Generated Addresses (CGAs) provide an assurance of | |||
| skipping to change at page 26, line 5 ¶ | skipping to change at page 24, line 38 ¶ | |||
| approach. | approach. | |||
| The second aspect of assured uniqueness is the digital signing | The second aspect of assured uniqueness is the digital signing | |||
| (attestation) process of the DET by the HI private key and the | (attestation) process of the DET by the HI private key and the | |||
| further signing (attestation) of the HI public key by the Registry's | further signing (attestation) of the HI public key by the Registry's | |||
| key. This completes the ownership process. The observer at this | key. This completes the ownership process. The observer at this | |||
| point does not know what owns the DET, but is assured, other than the | point does not know what owns the DET, but is assured, other than the | |||
| risk of theft of the HI private key, that this UAS ID is owned by | risk of theft of the HI private key, that this UAS ID is owned by | |||
| something and is properly registered. | something and is properly registered. | |||
| 10.1. DET Trust | 9.1. DET Trust in ASTM messaging | |||
| The DET in the ASTM Basic ID Message (Msg Type 0x0, the actual Remote | The DET in the ASTM Basic ID Message (Msg Type 0x0, the actual Remote | |||
| ID message) does not provide any assertion of trust. The best that | ID message) does not provide any assertion of trust. The best that | |||
| might be done within this Basic ID Message is 4 bytes truncated from | might be done within this Basic ID Message is 4 bytes truncated from | |||
| a HI signing of the HHIT (the UA ID field is 20 bytes and a HHIT is | a HI signing of the HHIT (the UA ID field is 20 bytes and a HHIT is | |||
| 16). This is not trustable; that is, too open to a hash attack. | 16). This is not trustable; that is, too open to a hash attack. | |||
| Minimally, it takes 84 bytes (Section 4.6) to prove ownership of a | Minimally, it takes 84 bytes (Section 4.6) to prove ownership of a | |||
| DET with a full EdDSA signature. Thus, no attempt has been made to | DET with a full EdDSA signature. Thus, no attempt has been made to | |||
| add DET trust directly within the very small Basic ID Message. | add DET trust directly within the very small Basic ID Message. | |||
| skipping to change at page 26, line 33 ¶ | skipping to change at page 25, line 22 ¶ | |||
| Proof of UA transmission comes when the Authentication Message | Proof of UA transmission comes when the Authentication Message | |||
| includes proofs for the ASTM Location/Vector Message (Msg Type 0x1) | includes proofs for the ASTM Location/Vector Message (Msg Type 0x1) | |||
| and the observer can see the UA or that information is validated by | and the observer can see the UA or that information is validated by | |||
| ground multilateration. Only then does an observer gain full trust | ground multilateration. Only then does an observer gain full trust | |||
| in the DET of the UA. | in the DET of the UA. | |||
| DETs obtained via the Network RID path provides a different approach | DETs obtained via the Network RID path provides a different approach | |||
| to trust. Here the UAS SHOULD be securely communicating to the USS, | to trust. Here the UAS SHOULD be securely communicating to the USS, | |||
| thus asserting DET trust. | thus asserting DET trust. | |||
| 10.2. Collision Risks with DETs | 9.2. Privacy Considerations | |||
| There is no expectation of privacy for DETs; it is not part of the | ||||
| privacy normative requirements listed in, Section 4.3.1, of | ||||
| [RFC9153]. DETs are broadcast in the clear over the open air via | ||||
| Bluetooth and Wi-Fi. They will be collected and collated with other | ||||
| public information about the UAS. This will include DET registration | ||||
| information and location and times of operations for a DET. A DET | ||||
| can be for the life of a UA if there is no concern about DET/UA | ||||
| activity harvesting. | ||||
| Further, the MAC address of the wireless interface used for Remote ID | ||||
| broadcasts are a target for UA operation aggregation that may not be | ||||
| mitigated through MAC address randomization. For Bluetooth 4 Remote | ||||
| ID messaging, the MAC address is used by observers to link the Basic | ||||
| ID Message that contains the RID with other Remote ID messages, thus | ||||
| must be constant for a UA operation. This message linkage use of MAC | ||||
| addresses may not be needed with the Bluetooth 5 or Wi-Fi PHYs. | ||||
| These PHYs provide for a larger message payload and can use the | ||||
| Message Pack (Msg Type 0xF) and the Authentication Message to | ||||
| transmit the RID with other Remote ID messages. However, it is not | ||||
| mandatory to send the RID in a Message Pack or Authentication | ||||
| Message, so allowance for using the MAC address for UA message | ||||
| linking must be maintained. That is, the MAC address should be | ||||
| stable for at least a UA operation. | ||||
| Finally, it is not adequate to simply change the DET and MAC for a UA | ||||
| per operation to defeat historically tracking a UA's activity. | ||||
| Any changes to the UA MAC may have impacts to C2 setup and use. A | ||||
| constant GCS MAC may well defeat any privacy gains in UA MAC and RID | ||||
| changes. UA/GCS binding is complicated with changing MAC addresses; | ||||
| historically UAS design assumed these to be "forever" and made setup | ||||
| a one-time process. Additionally, if IP is used for C2, a changing | ||||
| MAC may mean a changing IP address to further impact the UAS | ||||
| bindings. Finally, an encryption wrapper's identifier (such as ESP | ||||
| [RFC4303] SPI) would need to change per operation to insure operation | ||||
| tracking separation. | ||||
| Creating and maintaining UAS operational privacy is a multifaceted | ||||
| problem. Many communication pieces need to be considered to truly | ||||
| create a separation between UA operations. Simply changing the DET | ||||
| only starts the changes that need to be implemented. | ||||
| 9.3. Collision Risks with DETs | ||||
| The 64-bit hash size does have an increased risk of collisions over | The 64-bit hash size does have an increased risk of collisions over | |||
| the 96-bit hash size used for the other HIT Suites. There is a 0.01% | the 96-bit hash size used for the other HIT Suites. There is a 0.01% | |||
| probability of a collision in a population of 66 million. The | probability of a collision in a population of 66 million. The | |||
| probability goes up to 1% for a population of 663 million. See | probability goes up to 1% for a population of 663 million. See | |||
| Appendix C for the collision probability formula. | Appendix C for the collision probability formula. | |||
| However, this risk of collision is within a single "Additional | However, this risk of collision is within a single "Additional | |||
| Information" value, i.e., a RAA/HDA domain. The UAS/USS registration | Information" value, i.e., a RAA/HDA domain. The UAS/USS registration | |||
| process should include registering the DET and MUST reject a | process should include registering the DET and MUST reject a | |||
| collision, forcing the UAS to generate a new HI and thus HHIT and | collision, forcing the UAS to generate a new HI and thus HHIT and | |||
| reapplying to the DET registration process. | reapplying to the DET registration process. | |||
| 11. References | 10. References | |||
| 11.1. Normative References | 10.1. Normative References | |||
| [NIST.FIPS.202] | [NIST.FIPS.202] | |||
| Dworkin, M., "SHA-3 Standard: Permutation-Based Hash and | Dworkin, M., "SHA-3 Standard: Permutation-Based Hash and | |||
| Extendable-Output Functions", National Institute of | Extendable-Output Functions", National Institute of | |||
| Standards and Technology report, | Standards and Technology report, | |||
| DOI 10.6028/nist.fips.202, July 2015, | DOI 10.6028/nist.fips.202, July 2015, | |||
| <https://doi.org/10.6028/nist.fips.202>. | <https://doi.org/10.6028/nist.fips.202>. | |||
| [NIST.SP.800-185] | [NIST.SP.800-185] | |||
| Kelsey, J., Change, S., and R. Perlner, "SHA-3 derived | Kelsey, J., Change, S., and R. Perlner, "SHA-3 derived | |||
| skipping to change at page 27, line 43 ¶ | skipping to change at page 27, line 29 ¶ | |||
| [RFC7401] Moskowitz, R., Ed., Heer, T., Jokela, P., and T. | [RFC7401] Moskowitz, R., Ed., Heer, T., Jokela, P., and T. | |||
| Henderson, "Host Identity Protocol Version 2 (HIPv2)", | Henderson, "Host Identity Protocol Version 2 (HIPv2)", | |||
| RFC 7401, DOI 10.17487/RFC7401, April 2015, | RFC 7401, DOI 10.17487/RFC7401, April 2015, | |||
| <https://www.rfc-editor.org/info/rfc7401>. | <https://www.rfc-editor.org/info/rfc7401>. | |||
| [RFC8005] Laganier, J., "Host Identity Protocol (HIP) Domain Name | [RFC8005] Laganier, J., "Host Identity Protocol (HIP) Domain Name | |||
| System (DNS) Extension", RFC 8005, DOI 10.17487/RFC8005, | System (DNS) Extension", RFC 8005, DOI 10.17487/RFC8005, | |||
| October 2016, <https://www.rfc-editor.org/info/rfc8005>. | October 2016, <https://www.rfc-editor.org/info/rfc8005>. | |||
| [RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital | ||||
| Signature Algorithm (EdDSA)", RFC 8032, | ||||
| DOI 10.17487/RFC8032, January 2017, | ||||
| <https://www.rfc-editor.org/info/rfc8032>. | ||||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
| <https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 11.2. Informative References | 10.2. Informative References | |||
| [cfrg-comment] | [cfrg-comment] | |||
| "A CFRG review of draft-ietf-drip-rid", September 2021, | "A CFRG review of draft-ietf-drip-rid", September 2021, | |||
| <https://mailarchive.ietf.org/arch/msg/cfrg/ | <https://mailarchive.ietf.org/arch/msg/cfrg/ | |||
| tAJJq60W6TlUv7_pde5cw5TDTCU/>. | tAJJq60W6TlUv7_pde5cw5TDTCU/>. | |||
| [corus] CORUS, "U-space Concept of Operations", September 2019, | [corus] CORUS, "U-space Concept of Operations", September 2019, | |||
| <https://www.sesarju.eu/node/3411>. | <https://www.sesarju.eu/node/3411>. | |||
| [CTA2063A] ANSI/CTA, "Small Unmanned Aerial Systems Serial Numbers", | [CTA2063A] ANSI/CTA, "Small Unmanned Aerial Systems Serial Numbers", | |||
| skipping to change at page 28, line 41 ¶ | skipping to change at page 28, line 33 ¶ | |||
| [F3411] ASTM International, "Standard Specification for Remote ID | [F3411] ASTM International, "Standard Specification for Remote ID | |||
| and Tracking", | and Tracking", | |||
| <http://www.astm.org/cgi-bin/resolver.cgi?F3411>. | <http://www.astm.org/cgi-bin/resolver.cgi?F3411>. | |||
| [FAA_RID] United States Federal Aviation Administration (FAA), | [FAA_RID] United States Federal Aviation Administration (FAA), | |||
| "Remote Identification of Unmanned Aircraft", 2021, | "Remote Identification of Unmanned Aircraft", 2021, | |||
| <https://www.govinfo.gov/content/pkg/FR-2021-01-15/ | <https://www.govinfo.gov/content/pkg/FR-2021-01-15/ | |||
| pdf/2020-28948.pdf>. | pdf/2020-28948.pdf>. | |||
| [hhit-gen] "Python script to generate HHITs", September 2021, | ||||
| <https://github.com/ietf-wg-drip/draft-ietf-drip- | ||||
| rid/blob/master/hhit-gen.py>. | ||||
| [IANA-CGA] IANA, "Cryptographically Generated Addresses (CGA) Message | [IANA-CGA] IANA, "Cryptographically Generated Addresses (CGA) Message | |||
| Type Name Space", <https://www.iana.org/assignments/cga- | Type Name Space", <https://www.iana.org/assignments/cga- | |||
| message-types/cga-message-types.xhtml>. | message-types/cga-message-types.xhtml>. | |||
| [IANA-HIP] IANA, "Host Identity Protocol (HIP) Parameters", | [IANA-HIP] IANA, "Host Identity Protocol (HIP) Parameters", | |||
| <https://www.iana.org/assignments/hip-parameters/hip- | <https://www.iana.org/assignments/hip-parameters/hip- | |||
| parameters.xhtml>. | parameters.xhtml>. | |||
| [IANA-IPSECKEY] | [IANA-IPSECKEY] | |||
| IANA, "IPSECKEY Resource Record Parameters", | IANA, "IPSECKEY Resource Record Parameters", | |||
| skipping to change at page 30, line 5 ¶ | skipping to change at page 29, line 38 ¶ | |||
| [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., | [RFC7858] Hu, Z., Zhu, L., Heidemann, J., Mankin, A., Wessels, D., | |||
| and P. Hoffman, "Specification for DNS over Transport | and P. Hoffman, "Specification for DNS over Transport | |||
| Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May | Layer Security (TLS)", RFC 7858, DOI 10.17487/RFC7858, May | |||
| 2016, <https://www.rfc-editor.org/info/rfc7858>. | 2016, <https://www.rfc-editor.org/info/rfc7858>. | |||
| [RFC8004] Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) | [RFC8004] Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) | |||
| Rendezvous Extension", RFC 8004, DOI 10.17487/RFC8004, | Rendezvous Extension", RFC 8004, DOI 10.17487/RFC8004, | |||
| October 2016, <https://www.rfc-editor.org/info/rfc8004>. | October 2016, <https://www.rfc-editor.org/info/rfc8004>. | |||
| [RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital | ||||
| Signature Algorithm (EdDSA)", RFC 8032, | ||||
| DOI 10.17487/RFC8032, January 2017, | ||||
| <https://www.rfc-editor.org/info/rfc8032>. | ||||
| [RFC8080] Sury, O. and R. Edmonds, "Edwards-Curve Digital Security | [RFC8080] Sury, O. and R. Edmonds, "Edwards-Curve Digital Security | |||
| Algorithm (EdDSA) for DNSSEC", RFC 8080, | Algorithm (EdDSA) for DNSSEC", RFC 8080, | |||
| DOI 10.17487/RFC8080, February 2017, | DOI 10.17487/RFC8080, February 2017, | |||
| <https://www.rfc-editor.org/info/rfc8080>. | <https://www.rfc-editor.org/info/rfc8080>. | |||
| [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 | |||
| (IPv6) Specification", STD 86, RFC 8200, | (IPv6) Specification", STD 86, RFC 8200, | |||
| DOI 10.17487/RFC8200, July 2017, | DOI 10.17487/RFC8200, July 2017, | |||
| <https://www.rfc-editor.org/info/rfc8200>. | <https://www.rfc-editor.org/info/rfc8200>. | |||
| End of changes. 80 change blocks. | ||||
| 246 lines changed or deleted | 233 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||