idnits 2.17.1 draft-ietf-drip-rid-29.txt: -(8): Line appears to be too long, but this could be caused by non-ascii characters in UTF-8 encoding Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- == There are 3 instances of lines with non-ascii characters in the document. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- == There are 1 instance of lines with non-RFC2606-compliant FQDNs in the document. == There are 8 instances of lines with non-RFC3849-compliant IPv6 addresses in the document. If these are example addresses, they should be changed. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (29 June 2022) is 667 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'L' is mentioned on line 675, but not defined ** Downref: Normative reference to an Informational RFC: RFC 8032 Summary: 1 error (**), 0 flaws (~~), 5 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DRIP R. Moskowitz 3 Internet-Draft HTT Consulting 4 Updates: 7401, 7343 (if approved) S. Card 5 Intended status: Standards Track A. Wiethuechter 6 Expires: 31 December 2022 AX Enterprize, LLC 7 A. Gurtov 8 Linköping University 9 29 June 2022 11 DRIP Entity Tag (DET) for Unmanned Aircraft System Remote ID (UAS RID) 12 draft-ietf-drip-rid-29 14 Abstract 16 This document describes the use of Hierarchical Host Identity Tags 17 (HHITs) as self-asserting IPv6 addresses and thereby a trustable 18 identifier for use as the Unmanned Aircraft System Remote 19 Identification and tracking (UAS RID). 21 This document updates RFC7401 and RFC7343. 23 Within the context of RID, HHITs will be called DRIP Entity Tags 24 (DETs). HHITs self-attest to the included explicit hierarchy that 25 provides registry (via, e.g., DNS, EPP) discovery for 3rd-party 26 identifier attestation. 28 Status of This Memo 30 This Internet-Draft is submitted in full conformance with the 31 provisions of BCP 78 and BCP 79. 33 Internet-Drafts are working documents of the Internet Engineering 34 Task Force (IETF). Note that other groups may also distribute 35 working documents as Internet-Drafts. The list of current Internet- 36 Drafts is at https://datatracker.ietf.org/drafts/current/. 38 Internet-Drafts are draft documents valid for a maximum of six months 39 and may be updated, replaced, or obsoleted by other documents at any 40 time. It is inappropriate to use Internet-Drafts as reference 41 material or to cite them other than as "work in progress." 43 This Internet-Draft will expire on 31 December 2022. 45 Copyright Notice 47 Copyright (c) 2022 IETF Trust and the persons identified as the 48 document authors. All rights reserved. 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 52 license-info) in effect on the date of publication of this document. 53 Please review these documents carefully, as they describe your rights 54 and restrictions with respect to this document. Code Components 55 extracted from this document must include Revised BSD License text as 56 described in Section 4.e of the Trust Legal Provisions and are 57 provided without warranty as described in the Revised BSD License. 59 Table of Contents 61 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 62 1.1. HHIT Statistical Uniqueness different from UUID or X.509 63 Subject . . . . . . . . . . . . . . . . . . . . . . . . . 4 64 2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 4 65 2.1. Requirements Terminology . . . . . . . . . . . . . . . . 4 66 2.2. Notations . . . . . . . . . . . . . . . . . . . . . . . . 4 67 2.3. Definitions . . . . . . . . . . . . . . . . . . . . . . . 4 68 3. The Hierarchical Host Identity Tag (HHIT) . . . . . . . . . . 6 69 3.1. HHIT Prefix for RID Purposes . . . . . . . . . . . . . . 7 70 3.2. HHIT Suite IDs . . . . . . . . . . . . . . . . . . . . . 7 71 3.2.1. HDA custom HIT Suite IDs . . . . . . . . . . . . . . 8 72 3.3. The Hierarchy ID (HID) . . . . . . . . . . . . . . . . . 8 73 3.3.1. The Registered Assigning Authority (RAA) . . . . . . 8 74 3.3.2. The Hierarchical HIT Domain Authority (HDA) . . . . . 9 75 3.4. Edward-Curve Digital Signature Algorithm for HHITs . . . 10 76 3.4.1. HOST_ID . . . . . . . . . . . . . . . . . . . . . . . 10 77 3.4.2. HIT_SUITE_LIST . . . . . . . . . . . . . . . . . . . 11 78 3.5. ORCHIDs for Hierarchical HITs . . . . . . . . . . . . . . 12 79 3.5.1. Adding Additional Information to the ORCHID . . . . . 13 80 3.5.2. ORCHID Encoding . . . . . . . . . . . . . . . . . . . 14 81 3.5.3. ORCHID Decoding . . . . . . . . . . . . . . . . . . . 15 82 3.5.4. Decoding ORCHIDs for HIPv2 . . . . . . . . . . . . . 15 83 4. Hierarchical HITs as DRIP Entity Tags . . . . . . . . . . . . 16 84 4.1. Nontransferablity of DETs . . . . . . . . . . . . . . . . 16 85 4.2. Encoding HHITs in CTA 2063-A Serial Numbers . . . . . . . 16 86 4.3. Remote ID DET as one Class of Hierarchical HITs . . . . . 18 87 4.4. Hierarchy in ORCHID Generation . . . . . . . . . . . . . 18 88 4.5. DRIP Entity Tag (DET) Registry . . . . . . . . . . . . . 18 89 4.6. Remote ID Authentication using DETs . . . . . . . . . . . 18 90 5. DRIP Entity Tags (DETs) in DNS . . . . . . . . . . . . . . . 19 91 6. Other UAS Traffic Management (UTM) Uses of HHITs Beyond 92 DET . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 93 7. Summary of Addressed DRIP Requirements . . . . . . . . . . . 20 94 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 95 8.1. New Well-Known IPv6 prefix for DETs . . . . . . . . . . . 20 96 8.2. New IANA DRIP Registry . . . . . . . . . . . . . . . . . 21 97 8.3. IANA CGA Registry Update . . . . . . . . . . . . . . . . 22 98 8.4. IANA HIP Registry Updates . . . . . . . . . . . . . . . . 22 99 8.5. IANA IPSECKEY Registry Update . . . . . . . . . . . . . . 23 100 9. Security Considerations . . . . . . . . . . . . . . . . . . . 24 101 9.1. Post Quantum Computing out of scope . . . . . . . . . . . 25 102 9.2. DET Trust in ASTM messaging . . . . . . . . . . . . . . . 25 103 9.3. DET Revocation . . . . . . . . . . . . . . . . . . . . . 26 104 9.4. Privacy Considerations . . . . . . . . . . . . . . . . . 26 105 9.5. Collision Risks with DETs . . . . . . . . . . . . . . . . 27 106 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 107 10.1. Normative References . . . . . . . . . . . . . . . . . . 28 108 10.2. Informative References . . . . . . . . . . . . . . . . . 29 109 Appendix A. EU U-Space RID Privacy Considerations . . . . . . . 32 110 Appendix B. The 14/14 HID split . . . . . . . . . . . . . . . . 32 111 Appendix C. Calculating Collision Probabilities . . . . . . . . 34 112 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 34 113 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 35 115 1. Introduction 117 Drone Remote ID Protocol (DRIP) Requirements [RFC9153] describe an 118 Unmanned Aircraft System Remote ID (UAS ID) as unique (ID-4), non- 119 spoofable (ID-5), and identify a registry where the ID is listed (ID- 120 2); all within a 19-character identifier (ID-1). 122 This DRIP foundational document (i.e., all else in DRIP enables or 123 uses it) describes (per Section 3 of [drip-architecture]) the use of 124 Hierarchical Host Identity Tags (HHITs) (Section 3) as self-asserting 125 IPv6 addresses and thereby a trustable identifier for use as the UAS 126 Remote ID. HHITs add explicit hierarchy to the 128-bit HITs, 127 enabling DNS HHIT queries (Host ID for authentication, e.g., 128 [drip-authentication]) and for Extensible Provisioning Protocol (EPP) 129 Registrar discovery [RFC9224] for 3rd-party identification 130 attestation (e.g., [drip-authentication]). 132 This addition of hierarchy to HITs is an extension to [RFC7401] and 133 requires an update to [RFC7343]. As this document also adds EdDSA 134 (Section 3.4) for Host Identities (HIs), a number of Host Identity 135 Protocol (HIP) parameters in [RFC7401] are updated, but these should 136 not be needed in a DRIP implementation that does not use HIP. 138 HHITs as used within the context of Unmanned Aircraft System (UAS) 139 are labeled as DRIP Entity Tags (DETs). Throughout this document 140 HHIT and DET will be used appropriately. HHIT will be used when 141 covering the technology, and DET for their context within UAS RID. 143 Hierarchical HITs provide self-attestation of the HHIT registry. A 144 HHIT can only be in a single registry within a registry system (e.g., 145 EPP and DNS). 147 Hierarchical HITs are valid, though non-routable, IPv6 addresses 148 [RFC8200]. As such, they fit in many ways within various IETF 149 technologies. 151 1.1. HHIT Statistical Uniqueness different from UUID or X.509 Subject 153 HHITs are statistically unique through the cryptographic hash feature 154 of second-preimage resistance. The cryptographically-bound addition 155 of the hierarchy and a HHIT registration process [drip-registries] 156 provide complete, global HHIT uniqueness. If the HHITs cannot be 157 looked up with services provided by the registrar identified via the 158 embedded hierarchical information or its registration validated by 159 registration attestations messages [drip-authentication], then the 160 HHIT is either fraudulent or revoked/expired. In-depth discussion of 161 these processes are out of scope for this document. 163 This contrasts with using general identifiers (e.g., a Universally 164 Unique IDentifiers (UUID) [RFC4122] or device serial numbers as the 165 subject in an X.509 [RFC5280] certificate. In either case, there can 166 be no unique proof of ownership/registration. 168 For example, in a multi-Certificate Authority (multi-CA) PKI 169 alternative to HHITs, a Remote ID as the Subject (Section 4.1.2.6 of 170 [RFC5280]) can occur in multiple CAs, possibly fraudulently. CAs 171 within the PKI would need to implement an approach to enforce 172 assurance of the uniqueness achieved with HHITs. 174 2. Terms and Definitions 176 2.1. Requirements Terminology 178 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 179 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 180 "OPTIONAL" in this document are to be interpreted as described in BCP 181 14 [RFC2119] [RFC8174] when, and only when, they appear in all 182 capitals, as shown here. 184 2.2. Notations 186 | Signifies concatenation of information - e.g., X | Y is the 187 concatenation of X and Y. 189 2.3. Definitions 191 This document uses the terms defined in Section 2.2 of [RFC9153]. 192 The following new terms are used in the document: 194 cSHAKE (The customizable SHAKE function [NIST.SP.800-185]): 195 Extends the SHAKE [NIST.FIPS.202] scheme to allow users to 196 customize their use of the SHAKE function. 198 HDA (HHIT Domain Authority): 199 The 14-bit field that identifies the HHIT Domain Authority under a 200 Registered Assigning Authority (RAA). See Figure 1. 202 HHIT 203 Hierarchical Host Identity Tag. A HIT with extra hierarchical 204 information not found in a standard HIT [RFC7401]. 206 HI 207 Host Identity. The public key portion of an asymmetric key pair 208 as defined in [RFC9063]. 210 HID (Hierarchy ID): 211 The 28-bit field providing the HIT Hierarchy ID. See Figure 1. 213 HIP (Host Identity Protocol) 214 The origin [RFC7401] of HI, HIT, and HHIT. 216 HIT 217 Host Identity Tag. A 128-bit handle on the HI. HITs are valid 218 IPv6 addresses. 220 Keccak (KECCAK Message Authentication Code): 221 The family of all sponge functions with a KECCAK-f permutation as 222 the underlying function and multi-rate padding as the padding 223 rule. It refers in particular to all the functions referenced 224 from [NIST.FIPS.202] and [NIST.SP.800-185]. 226 KMAC (KECCAK Message Authentication Code [NIST.SP.800-185]): 227 A Pseudo Random Function (PRF) and keyed hash function based on 228 KECCAK. 230 RAA (Registered Assigning Authority): 231 The 14-bit field identifying the business or organization that 232 manages a registry of HDAs. See Figure 1. 234 RVS (Rendezvous Server): 235 A Rendezvous Server such as the HIP Rendezvous Server for enabling 236 mobility, as defined in [RFC8004]. 238 SHAKE (Secure Hash Algorithm KECCAK [NIST.FIPS.202]): 239 A secure hash that allows for an arbitrary output length. 241 XOF (eXtendable-Output Function [NIST.FIPS.202]): 242 A function on bit strings (also called messages) in which the 243 output can be extended to any desired length. 245 3. The Hierarchical Host Identity Tag (HHIT) 247 The Hierarchical HIT (HHIT) is a small but important enhancement over 248 the flat Host Identity Tag (HIT) space, constructed as an Overlay 249 Routable Cryptographic Hash IDentifier (ORCHID) [RFC7343]. By adding 250 two levels of hierarchical administration control, the HHIT provides 251 for device registration/ownership, thereby enhancing the trust 252 framework for HITs. 254 The 128-bit HHITs represent the HI in only a 64-bit hash, rather than 255 the 96 bits in HITs. 4 of these 32 freed up bits expand the Suite ID 256 to 8 bits, and the other 28 bits are used to create a hierarchical 257 administration organization for HIT domains. Hierarchical HIT 258 construction is defined in Section 3.5. The input values for the 259 Encoding rules are described in Section 3.5.1. 261 A HHIT is built from the following fields (Figure 1): 263 * p = an IPV6 prefix (max 28 bit) 265 * 28-bit Hierarchy ID (HID) which provides the structure to organize 266 HITs into administrative domains. HIDs are further divided into 267 two fields: 269 - 14-bit Registered Assigning Authority (RAA) (Section 3.3.1) 271 - 14-bit Hierarchical HIT Domain Authority (HDA) (Section 3.3.2) 273 * 8-bit HHIT Suite ID (HHSI) 275 * ORCHID hash (92 - prefix length, e.g., 64) See Section 3.5 for 276 more details. 278 14 bits| 14 bits 8 bits 279 +-------+-------+ +--------------+ 280 | RAA | HDA | |HHIT Suite ID | 281 +-------+-------+ +--------------+ 282 \ | ____/ ___________/ 283 \ \ _/ ___/ 284 \ \/ / 285 | p bits | 28 bits |8bits| o=92-p bits | 286 +--------------+------------+-----+------------------------+ 287 | IPV6 Prefix | HID |HHSI | ORCHID hash | 288 +--------------+------------+-----+------------------------+ 289 Figure 1: HHIT Format 291 The Context ID (generated with openssl rand) for the ORCHID hash is: 293 Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 295 Context IDs are allocated out of the namespace introduced for 296 Cryptographically Generated Addresses (CGA) Type Tags [RFC3972]. 298 3.1. HHIT Prefix for RID Purposes 300 The IPv6 HHIT prefix MUST be distinct from that used in the flat- 301 space HIT as allocated in [RFC7343]. Without this distinct prefix, 302 the first 4 bits of the RAA would be interpreted as the HIT Suite ID 303 per HIPv2 [RFC7401]. 305 Initially, for DET use, one 28-bit prefix should be assigned out of 306 the IANA IPv6 Special Purpose Address Block ([RFC6890]). 308 HHIT Use Bits Value 309 DET 28 TBD6 (suggested value 2001:30::/28) 311 Other prefixes may be added in the future either for DET use or other 312 applications of HHITs. For a prefix to be added to the registry in 313 Section 8.2, its usage and HID allocation process have to be publicly 314 available. 316 3.2. HHIT Suite IDs 318 The HHIT Suite IDs specify the HI and hash algorithms. These are a 319 superset of the 4/8-bit HIT Suite ID as defined in Section 5.2.10 of 320 [RFC7401]. 322 The HHIT values of 1 - 15 map to the basic 4-bit HIT Suite IDs. HHIT 323 values of 17 - 31 map to the extended 8-bit HIT Suite IDs. HHIT 324 values unique to HHIT will start with value 32. 326 As HHIT introduces a new Suite ID, EdDSA/cSHAKE128, and since this is 327 of value to HIPv2, it will be allocated out of the 4-bit HIT space 328 and result in an update to HIT Suite IDs. Future HHIT Suite IDs may 329 be allocated similarly, or may come out of the additional space made 330 available by going to 8 bits. 332 The following HHIT Suite IDs are defined: 334 HHIT Suite Value 335 RESERVED 0 336 RSA,DSA/SHA-256 1 [RFC7401] 337 ECDSA/SHA-384 2 [RFC7401] 338 ECDSA_LOW/SHA-1 3 [RFC7401] 339 EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) 341 3.2.1. HDA custom HIT Suite IDs 343 Support for 8-bit HHIT Suite IDs allows for HDA custom HIT Suite IDs. 344 These will be assigned values greater than 15 as follows: 346 HHIT Suite Value 347 HDA Private Use 1 TBD4 (suggested value 254) 348 HDA Private Use 2 TBD5 (suggested value 255) 350 These custom HIT Suite IDs, for example, may be used for large-scale 351 experimenting with post quantum computing hashes or similar domain 352 specific needs. Note that currently there is no support for domain- 353 specific HI algorithms. 355 They should not be used to create a "de facto standardization". 356 Section 8.2 states that additional Suite IDs can be made through IETF 357 Review. 359 3.3. The Hierarchy ID (HID) 361 The Hierarchy ID (HID) provides the structure to organize HITs into 362 administrative domains. HIDs are further divided into two fields: 364 * 14-bit Registered Assigning Authority (RAA) 366 * 14-bit Hierarchical HIT Domain Authority (HDA) 368 The rationale for the 14/14 HID split is described in Appendix B. 370 The two levels of hierarchy allows for Civil Aviation Authorities 371 (CAAs) to have it least one RAA for their National Air Space (NAS). 372 Within its RAA(s), the CAAs can delegate HDAs as needed. There may 373 be other RAAs allowed to operate within a given NAS; this is a policy 374 decision of each CAA. 376 3.3.1. The Registered Assigning Authority (RAA) 378 An RAA is a business or organization that manages a registry of HDAs. 379 For example, the Federal Aviation Authority (FAA) or Japan Civil 380 Aviation Bureau (JCAB) could be an RAA. 382 The RAA is a 14-bit field (16,384 RAAs). The management of this 383 space is further elaborated in [drip-registries]. An RAA MUST 384 provide a set of services to allocate HDAs to organizations. It 385 SHOULD have a public policy on what is necessary to obtain an HDA. 386 The RAA need not maintain any HIP related services. It MUST maintain 387 a DNS zone minimally for discovering HIP RVS servers for the HID. 388 The zone delegation is also covered in [drip-registries]. 390 As DETs under an administrative control may be used in many different 391 domains (e.g., commercial, recreation, military), RAAs should be 392 allocated in blocks (e.g. 16-19) with consideration on the likely 393 size of a particular usage. Alternatively, different prefixes can be 394 used to separate different domains of use of HHITs. 396 The RAA DNS zone within the UAS DNS tree may be a PTR for its RAA. 397 It may be a zone in an HHIT specific DNS zone. Assume that the RAA 398 is decimal 100. The PTR record could be constructed as follows: 400 100.hhit.arpa IN PTR raa.example.com. 402 Note that if the zone hhit.arpa is ultimately used, some registrar 403 will need to manage this for all HHIT applications. Thus further 404 thought will be needed in the actual zone tree and registration 405 process [drip-registries]. 407 3.3.2. The Hierarchical HIT Domain Authority (HDA) 409 An HDA may be an Internet Service Provider (ISP), UAS Service 410 Supplier (USS), or any third party that takes on the business to 411 provide UAS services management, HIP RVSs or other needed services 412 such as those required for HHIT and/or HIP-enabled devices. 414 The HDA is a 14-bit field (16,384 HDAs per RAA) assigned by an RAA is 415 further elaborated in [drip-registries]. An HDA must maintain public 416 and private UAS registration information and should maintain a set of 417 RVS servers for UAS clients that may use HIP. How this is done and 418 scales to the potentially millions of customers are outside the scope 419 of this document, though covered in [drip-registries]. This service 420 should be discoverable through the DNS zone maintained by the HDA's 421 RAA. 423 An RAA may assign a block of values to an individual organization. 424 This is completely up to the individual RAA's published policy for 425 delegation. Such policy is out of scope. 427 3.4. Edward-Curve Digital Signature Algorithm for HHITs 429 The Edwards-Curve Digital Signature Algorithm (EdDSA) [RFC8032] is 430 specified here for use as HIs per HIPv2 [RFC7401]. 432 The intent in this document is to add EdDSA as a HI algorithm for 433 DETs, but doing so impacts the HIP parameters used in a HIP exchange. 434 The subsections of this section document the required updates of HIP 435 parameters. Other than the HIP DNS RR (Resource Record), these 436 should not be needed in a DRIP implementation that does not use HIP. 438 See Section 3.2 for use of the HIT Suite in the context of DRIP. 440 3.4.1. HOST_ID 442 The HOST_ID parameter specifies the public key algorithm, and for 443 elliptic curves, a name. The HOST_ID parameter is defined in 444 Section 5.2.9 of [RFC7401]. 446 Algorithm 447 profiles Values 449 EdDSA TBD1 (suggested value 13) [RFC8032] (RECOMMENDED) 451 3.4.1.1. HIP Parameter support for EdDSA 453 The addition of EdDSA as a HI algorithm requires a subfield in the 454 HIP HOST_ID parameter (Section 5.2.9 of [RFC7401]) as was done for 455 ECDSA when used in a HIP exchange. 457 For HIP hosts that implement EdDSA as the algorithm, the following 458 EdDSA curves are represented by the following fields: 460 0 1 2 3 461 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 462 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 463 | EdDSA Curve | NULL / 464 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 465 / Public Key | 466 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 468 EdDSA Curve Curve label 469 Public Key Represented in Octet-string format [RFC8032] 471 Figure 2 473 For hosts that implement EdDSA as a HIP algorithm the following EdDSA 474 curves are required: 476 Algorithm Curve Values 478 EdDSA RESERVED 0 479 EdDSA EdDSA25519 1 [RFC8032] (RECOMMENDED) 480 EdDSA EdDSA25519ph 2 [RFC8032] 481 EdDSA EdDSA448 3 [RFC8032] (RECOMMENDED) 482 EdDSA EdDSA448ph 4 [RFC8032] 484 3.4.1.2. HIP DNS RR support for EdDSA 486 The HIP DNS RR is defined in [RFC8005]. It uses the values defined 487 for the 'Algorithm Type' of the IPSECKEY RR [RFC4025] for its PK 488 Algorithm field. 490 The new EdDSA HI uses [RFC8080] for the IPSECKEY RR encoding: 492 Value Description 494 TBD2 (suggested value 4) 495 An EdDSA key is present, in the format defined in [RFC8080] 497 3.4.2. HIT_SUITE_LIST 499 The HIT_SUITE_LIST parameter contains a list of the supported HIT 500 suite IDs of the HIP Responder. Based on the HIT_SUITE_LIST, the HIP 501 Initiator can determine which source HIT Suite IDs are supported by 502 the Responder. The HIT_SUITE_LIST parameter is defined in 503 Section 5.2.10 of [RFC7401]. 505 The following HIT Suite ID is defined: 507 HIT Suite Value 508 EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) 510 Table 1 provides more detail on the above HIT Suite combination. 512 The output of cSHAKE128 is variable per the needs of a specific 513 ORCHID construction. It is at most 96 bits long and is directly used 514 in the ORCHID (without truncation). 516 +=======+===========+=========+===========+====================+ 517 | Index | Hash | HMAC | Signature | Description | 518 | | function | | algorithm | | 519 | | | | family | | 520 +=======+===========+=========+===========+====================+ 521 | 5 | cSHAKE128 | KMAC128 | EdDSA | EdDSA HI hashed | 522 | | | | | with cSHAKE128, | 523 | | | | | output is variable | 524 +-------+-----------+---------+-----------+--------------------+ 526 Table 1: HIT Suites 528 3.5. ORCHIDs for Hierarchical HITs 530 This section improves on ORCHIDv2 [RFC7343] with three enhancements: 532 * Optional "Info" field between the Prefix and OGA ID. 534 * Increased flexibility on the length of each component in the 535 ORCHID construction, provided the resulting ORCHID is 128 bits. 537 * Use of cSHAKE, NIST SP 800-185 [NIST.SP.800-185], for the hashing 538 function. 540 The Keccak [Keccak] based cSHAKE XOF hash function is a variable 541 output length hash function. As such it does not use the truncation 542 operation that other hashes need. The invocation of cSHAKE specifies 543 the desired number of bits in the hash output. Further, cSHAKE has a 544 parameter 'S' as a customization bit string. This parameter will be 545 used for including the ORCHID Context Identifier in a standard 546 fashion. 548 This ORCHID construction includes the fields in the ORCHID in the 549 hash to protect them against substitution attacks. It also provides 550 for inclusion of additional information, in particular the 551 hierarchical bits of the Hierarchical HIT, in the ORCHID generation. 552 This should be viewed as an update to ORCHIDv2 [RFC7343], as it can 553 produce ORCHIDv2 output. 555 The follow sub-sections define the general, new, ORCHID construct 556 with the specific application here for HHITs. Thus items like the 557 hash size is only discussed as it impacts HHIT's 64-bit hash. Other 558 hash sizes should be discussed in any other specific use of this new 559 ORCHID construct. 561 3.5.1. Adding Additional Information to the ORCHID 563 ORCHIDv2 [RFC7343] is defined as consisting of three components: 565 ORCHID := Prefix | OGA ID | Encode_96( Hash ) 567 where: 569 Prefix : A constant 28-bit-long bitstring value 570 (IPV6 prefix) 572 OGA ID : A 4-bit long identifier for the Hash_function 573 in use within the specific usage context. When 574 used for HIT generation this is the HIT Suite ID. 576 Encode_96( ) : An extraction function in which output is obtained 577 by extracting the middle 96-bit-long bitstring 578 from the argument bitstring. 580 The new ORCHID function is as follows: 582 ORCHID := Prefix (p) | Info (n) | OGA ID (o) | Hash (m) 584 where: 586 Prefix (p) : An IPv6 prefix of length p (max 28-bit-long). 588 Info (n) : n bits of information that define a use of the 589 ORCHID. 'n' can be zero, that is no additional 590 information. 592 OGA ID (o) : A 4- or 8-bit long identifier for the Hash_function 593 in use within the specific usage context. When 594 used for HIT generation this is the HIT Suite ID. 595 When used for HHIT generation this is the 596 HHIT Suite ID. 598 Hash (m) : An extraction function in which output is 'm' bits. 600 Sizeof(p + n + o + m) 128 bits 601 The ORCHID length MUST be 128 bits. For HHITs with a 28-bit IPv6 602 prefix, there are 100 bits remaining to be divided in any manner 603 between the additional information ("Info"), OGA ID, and the hash 604 output. Consideration must be given to the size of the hash portion, 605 taking into account risks like pre-image attacks. 64 bits, as used 606 here for HHITs, may be as small as is acceptable. The size of 'n', 607 for the HID, is then determined as what is left; in the case of the 608 8-bit OGA used for HHIT, this is 28 bits. 610 3.5.2. ORCHID Encoding 612 This update adds a different encoding process to that currently used 613 in ORCHIDv2. The input to the hash function explicitly includes all 614 the header content plus the Context ID. The header content consists 615 of the Prefix, the Additional Information ("Info"), and OGA ID (HIT 616 Suite ID). Secondly, the length of the resulting hash is set by sum 617 of the length of the ORCHID header fields. For example, a 28-bit 618 prefix with 28 bits for the HID and 8 bits for the OGA ID leaves 64 619 bits for the hash length. 621 To achieve the variable length output in a consistent manner, the 622 cSHAKE hash is used. For this purpose, cSHAKE128 is appropriate. 623 The cSHAKE function call for this update is: 625 cSHAKE128(Input, L, "", Context ID) 627 Input := Prefix | Additional Information | OGA ID | HOST_ID 628 L := Length in bits of hash portion of ORCHID 630 For full Suite ID support (those that use fixed length hashes like 631 SHA256), the following hashing can be used (Note: this does not 632 produce output Identical to ORCHIDv2 for a /28 prefix and Additional 633 Information of zero-length): 635 Hash[L](Context ID | Input) 637 Input := Prefix | Additional Information | OGA ID | HOST_ID 638 L := Length in bits of hash portion of ORCHID 640 Hash[L] := An extraction function in which output is obtained 641 by extracting the middle L-bit-long bitstring 642 from the argument bitstring. 644 Hierarchical HITs use the Context ID defined in Section 3. 646 3.5.2.1. Encoding ORCHIDs for HIPv2 648 This section discusses how to provide backwards compatibility for 649 ORCHIDv2 [RFC7343] as used in HIPv2 [RFC7401]. 651 For HIPv2, the Prefix is 2001:20::/28 (Section 6 of [RFC7343]). 652 'Info' is zero-length (i.e., not included), and OGA ID is 4-bit. 653 Thus, the HI Hash is 96-bit length. Further, the Prefix and OGA ID 654 are not included in the hash calculation. Thus, the following ORCHID 655 calculations for fixed output length hashes are used: 657 Hash[L](Context ID | Input) 659 Input := HOST_ID 660 L := 96 661 Context ID := 0xF0EF F02F BFF4 3D0F E793 0C3C 6E61 74EA 663 Hash[L] := An extraction function in which output is obtained 664 by extracting the middle L-bit-long bitstring 665 from the argument bitstring. 667 For variable output length hashes use: 669 Hash[L](Context ID | Input) 671 Input := HOST_ID 672 L := 96 673 Context ID := 0xF0EF F02F BFF4 3D0F E793 0C3C 6E61 74EA 675 Hash[L] := The L-bit output from the hash function 677 Then, the ORCHID is constructed as follows: 679 Prefix | OGA ID | Hash Output 681 3.5.3. ORCHID Decoding 683 With this update, the decoding of an ORCHID is determined by the 684 Prefix and OGA ID. ORCHIDv2 [RFC7343] decoding is selected when the 685 Prefix is: 2001:20::/28. 687 For Hierarchical HITs, the decoding is determined by the presence of 688 the HHIT Prefix as specified in Section 8.2. 690 3.5.4. Decoding ORCHIDs for HIPv2 692 This section is included to provide backwards compatibility for 693 ORCHIDv2 [RFC7343] as used for HIPv2 [RFC7401]. 695 HITs are identified by a Prefix of 2001:20::/28. The next 4 bits are 696 the OGA ID. The remaining 96 bits are the HI Hash. 698 4. Hierarchical HITs as DRIP Entity Tags 700 HHITs for UAS ID (called, DETs) use the new EdDSA/SHAKE128 HIT suite 701 defined in Section 3.4 (GEN-2 in [RFC9153]). This hierarchy, 702 cryptographically bound within the HHIT, provides the information for 703 finding the UA's HHIT registry (ID-3 in [RFC9153]). 705 The 2022 forthcoming updated release of ASTM Standard Specification 706 for Remote ID and Tracking [F3411] adds support for DETs. This is 707 within the UAS ID type 4, "Specific Session ID (SSI)". 709 Note to RFC Editor: This, and all references to F3411 need to be 710 updated to this new version which is in final ASTM editing. A new 711 link and replacement text will be provided when it is published. 713 The original UAS ID Types 1 - 3 allow for an UAS ID with a maximum 714 length of 20 bytes, this new SSI (Type 4) uses the first byte of the 715 ID for the SSI Type, thus restricting the UAS ID of this type to a 716 maximum of 19 bytes. The SSI Types initially assigned are: 718 ID 1 IETF - DRIP Drone Remote ID Protocol (DRIP) entity ID. 720 ID 2 3GPP - IEEE 1609.2-2016 HashedID8 722 4.1. Nontransferablity of DETs 724 A HI and its DET SHOULD NOT be transferable between UA or even 725 between replacement electronics (e.g., replacement of damaged 726 controller CPU) for a UA. The private key for the HI SHOULD be held 727 in a cryptographically secure component. 729 4.2. Encoding HHITs in CTA 2063-A Serial Numbers 731 In some cases, it is advantageous to encode HHITs as a CTA 2063-A 732 Serial Number [CTA2063A]. For example, the FAA Remote ID Rules 733 [FAA_RID] state that a Remote ID Module (i.e., not integrated with UA 734 controller) must only use "the serial number of the unmanned 735 aircraft"; CTA 2063-A meets this requirement. 737 Encoding an HHIT within the CTA 2063-A format is not simple. The CTA 738 2063-A format is defined as follows: 740 Serial Number := MFR Code | Length Code | MFR SN 742 where: 744 MFR Code : 4 character code assigned by ICAO 745 (International Civil Aviation Organization, 746 a UN Agency). 748 Length Code : 1 character Hex encoding of MFR SN length (1-F). 750 MFR SN : Alphanumeric code (0-9, A-Z except O and I). 751 Maximum length of 15 characters. 753 There is no place for the HID; there will need to be a mapping 754 service from Manufacturer Code to HID. The HHIT Suite ID and ORCHID 755 hash will take the full 15 characters (as described below) of the MFR 756 SN field. 758 A character in a CTA 2063-A Serial Number "shall include any 759 combination of digits and uppercase letters, except the letters O and 760 I, but may include all digits". This would allow for a Base34 761 encoding of the binary HHIT Suite ID and ORCHID hash in 15 762 characters. Although, programmatically, such a conversion is not 763 hard, other technologies (e.g., credit card payment systems) that 764 have used such odd base encoding have had performance challenges. 765 Thus, here a Base32 encoding will be used by also excluding the 766 letters Z and S (too similar to the digits 2 and 5). 768 The low-order 72 bits (HHIT Suite ID | ORCHID hash) of the HHIT SHALL 769 be left-padded with 3 bits of zeros. This 75-bit number will be 770 encoded into the 15-character MFR SN field using the digit/letters 771 above. The manufacturer MUST use a Length Code of F (15). 773 Using the sample DET from Section 5 that is for HDA=20 under RAA=10 774 and having the ICAO CTA MFR Code of 8653, the 20-character CTA 2063-A 775 Serial Number would be: 777 8653F02T7B8RA85D19LX 779 A mapping service (e.g., DNS) MUST provide a trusted (e.g., via 780 DNSSEC [RFC4034]) conversion of the 4-character Manufacturer Code to 781 high-order 58 bits (Prefix | HID) of the HHIT. Definition of this 782 mapping service is currently out of scope of this document. 784 It should be noted that this encoding would only be used in the Basic 785 ID Message (Section 2.2 of [RFC9153]). The DET is used in the 786 Authentication Messages (i.e., the messages that provide framing for 787 authentication data only). 789 4.3. Remote ID DET as one Class of Hierarchical HITs 791 UAS Remote ID DET may be one of a number of uses of HHITs. However, 792 it is out of the scope of the document to elaborate on other uses of 793 HHITs. As such these follow-on uses need to be considered in 794 allocating the RAAs (Section 3.3.1) or HHIT prefix assignments 795 (Section 8). 797 4.4. Hierarchy in ORCHID Generation 799 ORCHIDS, as defined in [RFC7343], do not cryptographically bind an 800 IPv6 prefix nor the ORCHID Generation Algorithm (OGA) ID (the HIT 801 Suite ID) to the hash of the HI. The rationale at the time of 802 developing ORCHID was attacks against these fields are Denial-of- 803 Service (DoS) attacks against protocols using ORCHIDs and thus up to 804 those protocols to address the issue. 806 HHITs, as defined in Section 3.5, cryptographically bind all content 807 in the ORCHID through the hashing function. A recipient of a DET 808 that has the underlying HI can directly trust and act on all content 809 in the HHIT. This provides a strong, self-attestation for using the 810 hierarchy to find the DET Registry based on the HID (Section 4.5). 812 4.5. DRIP Entity Tag (DET) Registry 814 DETs are registered to HDAs. A registration process, 815 [drip-registries], ensures DET global uniqueness (ID-4 in [RFC9153]). 816 It also provides the mechanism to create UAS public/private data that 817 are associated with the DET (REG-1 and REG-2 in [RFC9153]). 819 4.6. Remote ID Authentication using DETs 821 The EdDSA25519 HI (Section 3.4) underlying the DET can be used in an 822 84-byte self-proof attestation (timestamp, HHIT, and signature of 823 these) to provide proof of Remote ID ownership (GEN-1 in [RFC9153]). 824 In practice, the Wrapper and Manifest authentication formats 825 (Sections 6.3.3 and 6.3.4 of [drip-authentication]) implicitly 826 provide this self-attestation. A lookup service like DNS can provide 827 the HI and registration proof (GEN-3 in [RFC9153]). 829 Similarly, for Observers without Internet access, a 200-byte offline 830 self-attestation could provide the same Remote ID ownership proof. 831 This attestation would contain the HDA's signing of the UA's HHIT, 832 itself signed by the UA's HI. Only a small cache that contains the 833 HDA's HI/HHIT and HDA meta-data is needed by the Observer. However, 834 such an object would just fit in the ASTM Authentication Message 835 (Section 2.2 of [RFC9153]) with no room for growth. In practice, 836 [drip-authentication] provides this offline self-attestation in two 837 authentication messages: the HDA's certification of the UA's HHIT 838 registration in a Link authentication message whose hash is sent in a 839 Manifest authentication message. 841 Hashes of any previously sent ASTM messages can be placed in a 842 Manifest authentication message (GEN-2 in [RFC9153]). When a 843 Location/Vector Message (i.e., a message that provides UA location, 844 altitude, heading, speed, and status) hash along with the hash of the 845 HDA's UA HHIT attestation are sent in a Manifest authentication 846 message and the Observer can visually see a UA at the claimed 847 location, the Observer has a very strong proof of the UA's Remote ID. 849 All this behavior and how to mix these authentication messages into 850 the flow of UA operation messages are detailed in 851 [drip-authentication]. 853 5. DRIP Entity Tags (DETs) in DNS 855 There are two approaches for storing and retrieving DETs using DNS. 856 The following are examples of how this may be done. This will serve 857 as guidance to the actual deployment of DETs in DNS. However, this 858 document does not intend to provide a recommendation. Further DNS- 859 related considerations are covered in [drip-registries]. 861 * As FQDNs, for example, ".icao.int.". 863 * Reverse DNS lookups as IPv6 addresses per [RFC8005]. 865 A DET can be used to construct an FQDN that points to the USS that 866 has the public/private information for the UA (REG-1 and REG-2 in 867 [RFC9153]). For example, the USS for the HHIT could be found via the 868 following: assume the RAA is decimal 100 and the HDA is decimal 50. 869 The PTR record is constructed as follows: 871 100.50.det.uas.icao.int IN PTR foo.uss.icao.int. 873 The individual DETs may be potentially too numerous (e.g., 60 - 600M) 874 and dynamic (e.g., new DETs every minute for some HDAs) to store in a 875 signed, DNS zone. The HDA SHOULD provide DNS service for its zone 876 and provide the HHIT detail response. 878 The DET reverse lookup can be a standard IPv6 reverse look up, or it 879 can leverage off the HHIT structure. Using the allocated prefix for 880 HHITs TBD6 [suggested value 2001:30::/28] (See Section 3.1), the RAA 881 is 10 and the HDA is 20, the DET is: 883 2001:30:280:1405:a3ad:1952:ad0:a69e 885 A DET reverse lookup could be to: 887 a69e.ad0.1952.a3ad.1405.280.30.2001.20.10.det.arpa. 889 or: 891 a3ad1952ad0a69e.5.20.10.30.2001.det.remoteid.icao.int. 893 A 'standard' ip6.arpa RR has the advantage of only one Registry 894 service supported. 896 $ORIGIN 5.0.4.1.0.8.2.0.0.3.0.0.1.0.0.2.ip6.arpa. 897 e.9.6.a.0.d.a.0.2.5.9.1.d.a.3.a IN PTR 898 a3ad1952ad0a69e.20.10.det.rid.icao.int. 900 This DNS entry for the DET can also provide a revocation service. 901 For example, instead of returning the HI RR it may return some record 902 showing that the HI (and thus DET) has been revoked. Guidance on 903 revocation service will be provided in [drip-registries]. 905 6. Other UAS Traffic Management (UTM) Uses of HHITs Beyond DET 907 HHITs will be used within the UTM architecture beyond DET (and USS in 908 UA ID registration and authentication), for example, as a Ground 909 Control Station (GCS) HHIT ID. Some GCS will use its HHIT for 910 securing its Network Remote ID (to USS HHIT) and Command and Control 911 (C2, Section 2.2.2 of [RFC9153]) transports. 913 Observers may have their own HHITs to facilitate UAS information 914 retrieval (e.g., for authorization to private UAS data). They could 915 also use their HHIT for establishing a HIP connection with the UA 916 Pilot for direct communications per authorization. Details about 917 such issues are out of the scope of this document). 919 7. Summary of Addressed DRIP Requirements 921 This document provides the details to solutions for GEN 1 - 3, ID 1 - 922 5, and REG 1 - 2 requirements that are described in [RFC9153]. 924 8. IANA Considerations 926 8.1. New Well-Known IPv6 prefix for DETs 928 Since the DET format is not compatible with [RFC7343], IANA is 929 requested to allocate a new prefix following this template for the 930 IPv6 Special-Purpose Address Registry. 932 Address Block: 933 IANA is requested to allocate a new 28-bit prefix out of the IANA 934 IPv6 Special Purpose Address Block, namely 2001::/23, as per 935 [RFC6890] (TBD6, suggested: 2001:30::/28). 937 Name: 938 This block should be named "DRIP Entity Tags (DETs) Prefix". 940 RFC: 941 This document. 943 Allocation Date: 944 Date this document published. 946 Termination Date: 947 Forever. 949 Source: 950 False. 952 Destination: 953 False. 955 Forwardable: 956 False. 958 Globally Reachable: 959 False. 961 Reserved-by-Protocol: 962 False. 964 8.2. New IANA DRIP Registry 966 This document requests IANA to create a new registry titled "Drone 967 Remote ID Protocol" registry. The following two subregistries should 968 be created under that registry. 970 Hierarchical HIT (HHIT) Prefixes: 971 Initially, for DET use, one 28-bit prefix should be assigned out 972 of the IANA IPv6 Special Purpose Address Block, namely 2001::/23, 973 as per [RFC6890]. Future additions to this subregistry are to be 974 made through Expert Review (Section 4.5 of [RFC8126]). Entries 975 with network-specific prefixes may be present in the registry. 977 HHIT Use Bits Value 978 DET 28 TBD6 (suggested value 2001:30::/28) 980 Hierarchical HIT (HHIT) Suite ID: 981 This 8-bit valued subregistry is a superset of the 4/8-bit "HIT 982 Suite ID" subregistry of the "Host Identity Protocol (HIP) 983 Parameters" registry in [IANA-HIP]. Future additions to this 984 subregistry are to be made through IETF Review (Section 4.8 of 985 [RFC8126]). The following HHIT Suite IDs are defined: 987 HHIT Suite Value 988 RESERVED 0 989 RSA,DSA/SHA-256 1 [RFC7401] 990 ECDSA/SHA-384 2 [RFC7401] 991 ECDSA_LOW/SHA-1 3 [RFC7401] 992 EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) 993 HDA Private Use 1 TBD4 (suggested value 254) 994 HDA Private Use 2 TBD5 (suggested value 255) 996 The HHIT Suite ID values 1 - 31 are reserved for IDs that MUST be 997 replicated as HIT Suite IDs (Section 8.4) as is TBD3 here. Higher 998 values (32 - 255) are for those Suite IDs that need not or cannot 999 be accommodated as a HIT Suite ID. 1001 8.3. IANA CGA Registry Update 1003 This document requests that this document be added to the reference 1004 field for the "CGA Extension Type Tags" registry [IANA-CGA], where 1005 IANA registers the following Context ID: 1007 Context ID: 1008 The Context ID (Section 3) shares the namespace introduced for CGA 1009 Type Tags. Defining new Context IDs follow the rules in Section 8 1010 of [RFC3972]: 1012 Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 1014 8.4. IANA HIP Registry Updates 1016 This document requests IANA to make the following changes to the IANA 1017 "Host Identity Protocol (HIP) Parameters" [IANA-HIP] registry: 1019 Host ID: 1020 This document defines the new EdDSA Host ID with value TBD1 1021 (suggested: 13) (Section 3.4.1) in the "HI Algorithm" subregistry 1022 of the "Host Identity Protocol (HIP) Parameters" registry. 1024 Algorithm 1025 profiles Values 1027 EdDSA TBD1 (suggested value 13) [RFC8032] (RECOMMENDED) 1029 EdDSA Curve Label: 1030 This document specifies a new algorithm-specific subregistry named 1031 "EdDSA Curve Label". The values for this subregistry are defined 1032 in Section 3.4.1.1. Future additions to this subregistry are to 1033 be made through IETF Review (Section 4.8 of [RFC8126]). 1035 Algorithm Curve Values 1037 EdDSA RESERVED 0 1038 EdDSA EdDSA25519 1 [RFC8032] (RECOMMENDED) 1039 EdDSA EdDSA25519ph 2 [RFC8032] 1040 EdDSA EdDSA448 3 [RFC8032] (RECOMMENDED) 1041 EdDSA EdDSA448ph 4 [RFC8032] 1042 5-65535 Unassigned 1044 HIT Suite ID: 1045 This document defines the new HIT Suite of EdDSA/cSHAKE with value 1046 TBD3 (suggested: 5) (Section 3.4.2) in the "HIT Suite ID" 1047 subregistry of the "Host Identity Protocol (HIP) Parameters" 1048 registry. 1050 HIT Suite Value 1051 EdDSA/cSHAKE128 TBD3 (suggested value 5) (RECOMMENDED) 1053 The HIT Suite ID 4-bit values 1 - 15 and 8-bit values 0x00 - 0x0F 1054 MUST be replicated as HHIT Suite IDs (Section 8.2) as is TBD3 1055 here. 1057 8.5. IANA IPSECKEY Registry Update 1059 This document requests IANA to make the following change to the 1060 "IPSECKEY Resource Record Parameters" [IANA-IPSECKEY] registry: 1062 IPSECKEY: 1063 This document defines the new IPSECKEY value TBD2 (suggested: 4) 1064 (Section 3.4.1.2) in the "Algorithm Type Field" subregistry of the 1065 "IPSECKEY Resource Record Parameters" registry. 1067 Value Description 1069 TBD2 (suggested value 4) 1070 An EdDSA key is present, in the format defined in [RFC8080] 1072 9. Security Considerations 1074 The 64-bit hash in HHITs presents a real risk of second pre-image 1075 cryptographic hash attack Section 9.5. There are no known (to the 1076 authors) studies of hash size to cryptographic hash attacks. A 1077 Python script is available to randomly generate 1M HHITs that did not 1078 produce a hash collision which is a simpler attack than a first or 1079 second pre-image attack. 1081 However, with today's computing power, producing 2^64 EdDSA keypairs 1082 and then generating the corresponding HHIT is economically feasible. 1083 Consider that a *single* bitcoin mining ASIC can do on the order of 1084 2^46 sha256 hashes a second or about 2^62 hashes in a single day. 1085 The point being, 2^64 is not prohibitive, especially as this can be 1086 done in parallel. 1088 Now it should be noted that the 2^64 attempts is for stealing a 1089 specific HHIT. Consider a scenario of a street photography company 1090 with 1,024 UAs (each with its own HHIT); an attacker may well be 1091 satisfied stealing any one of them. Then rather than needing to 1092 satisfy a 64-bit condition on the cSHAKE128 output, an attacker needs 1093 only to satisfy what is equivalent to a 54-bit condition (since there 1094 are 2^10 more opportunities for success). 1096 Thus, although the probability of a collision or pre-image attack is 1097 low in a collection of 1,024 HHITs out of a total population of 2^64, 1098 per Section 9.5, it is computationally and economically feasible. 1099 Therefore, the HHIT registration and HHIT/HI registration validation 1100 is strongly recommended. 1102 The DET Registry services effectively block attempts to "take over" 1103 or "hijack" a DET. It does not stop a rogue attempting to 1104 impersonate a known DET. This attack can be mitigated by the 1105 receiver of messages containing DETs using DNS to find the HI for the 1106 DET. As such, use of DNSSEC by the DET registries is recommended to 1107 provide trust in HI retrieval. 1109 Another mitigation of HHIT hijacking is if the HI owner (UA) supplies 1110 an object containing the HHIT and signed by the HI private key of the 1111 HDA such as detailed in [drip-authentication]. 1113 The two risks with hierarchical HITs are the use of an invalid HID 1114 and forced HIT collisions. The use of a DNS zone (e.g., "det.arpa.") 1115 is a strong protection against invalid HIDs. Querying an HDA's RVS 1116 for a HIT under the HDA protects against talking to unregistered 1117 clients. The Registry service [drip-registries], through its HHIT 1118 uniqueness enforcement, provides against forced or accidental HHIT 1119 hash collisions. 1121 Cryptographically Generated Addresses (CGAs) provide an assurance of 1122 uniqueness. This is two-fold. The address (in this case the UAS ID) 1123 is a hash of a public key and a Registry hierarchy naming. Collision 1124 resistance (more important that it implied second-preimage 1125 resistance) makes it statistically challenging to attacks. A 1126 registration process [drip-registries] within the HDA provides a 1127 level of assured uniqueness unattainable without mirroring this 1128 approach. 1130 The second aspect of assured uniqueness is the digital signing 1131 (attestation) process of the DET by the HI private key and the 1132 further signing (attestation) of the HI public key by the Registry's 1133 key. This completes the ownership process. The observer at this 1134 point does not know what owns the DET, but is assured, other than the 1135 risk of theft of the HI private key, that this UAS ID is owned by 1136 something and is properly registered. 1138 9.1. Post Quantum Computing out of scope 1140 As stated in Section 8.1 of [drip-architecture], there has been no 1141 effort, at this time, to address post quantum computing cryptography. 1142 UAs and Broadcast Remote ID communications are so constrained that 1143 current post quantum computing cryptography is not applicable. Plus 1144 since a UA may use a unique DET for each operation, the attack window 1145 could be limited to the duration of the operation. 1147 HHITs contain the ID for the cryptographic suite used in its 1148 creation, a future post quantum computing safe algorithm that fits 1149 the Remote ID constraints may readily be added. 1151 9.2. DET Trust in ASTM messaging 1153 The DET in the ASTM Basic ID Message (Msg Type 0x0, the actual Remote 1154 ID message) does not provide any assertion of trust. The best that 1155 might be done within this Basic ID Message is 4 bytes truncated from 1156 a HI signing of the HHIT (the UA ID field is 20 bytes and a HHIT is 1157 16). This is not trustable; that is, too open to a hash attack. 1158 Minimally, it takes 84 bytes (Section 4.6) to prove ownership of a 1159 DET with a full EdDSA signature. Thus, no attempt has been made to 1160 add DET trust directly within the very small Basic ID Message. 1162 The ASTM Authentication Message (Msg Type 0x2) as shown in 1163 Section 4.6 can provide practical actual ownership proofs. These 1164 attestations include timestamps to defend against replay attacks. 1165 But in themselves, they do not prove which UA sent the message. They 1166 could have been sent by a dog running down the street with a 1167 Broadcast Remote ID module strapped to its back. 1169 Proof of UA transmission comes when the Authentication Message 1170 includes proofs for the ASTM Location/Vector Message (Msg Type 0x1) 1171 and the observer can see the UA or that information is validated by 1172 ground multilateration. Only then does an observer gain full trust 1173 in the DET of the UA. 1175 DETs obtained via the Network RID path provides a different approach 1176 to trust. Here the UAS SHOULD be securely communicating to the USS, 1177 thus asserting DET trust. 1179 9.3. DET Revocation 1181 The DNS entry for the DET can also provide a revocation service. For 1182 example, instead of returning the HI RR it may return some record 1183 showing that the HI (and thus DET) has been revoked. Guidance on 1184 revocation service will be provided in [drip-registries]. 1186 9.4. Privacy Considerations 1188 There is no expectation of privacy for DETs; it is not part of the 1189 privacy normative requirements listed in, Section 4.3.1, of 1190 [RFC9153]. DETs are broadcast in the clear over the open air via 1191 Bluetooth and Wi-Fi. They will be collected and collated with other 1192 public information about the UAS. This will include DET registration 1193 information and location and times of operations for a DET. A DET 1194 can be for the life of a UA if there is no concern about DET/UA 1195 activity harvesting. 1197 Further, the MAC address of the wireless interface used for Remote ID 1198 broadcasts are a target for UA operation aggregation that may not be 1199 mitigated through MAC address randomization. For Bluetooth 4 Remote 1200 ID messaging, the MAC address is used by observers to link the Basic 1201 ID Message that contains the RID with other Remote ID messages, thus 1202 must be constant for a UA operation. This message linkage use of MAC 1203 addresses may not be needed with the Bluetooth 5 or Wi-Fi PHYs. 1204 These PHYs provide for a larger message payload and can use the 1205 Message Pack (Msg Type 0xF) and the Authentication Message to 1206 transmit the RID with other Remote ID messages. However, it is not 1207 mandatory to send the RID in a Message Pack or Authentication 1208 Message, so allowance for using the MAC address for UA message 1209 linking must be maintained. That is, the MAC address should be 1210 stable for at least a UA operation. 1212 Finally, it is not adequate to simply change the DET and MAC for a UA 1213 per operation to defeat historically tracking a UA's activity. 1215 Any changes to the UA MAC may have impacts to C2 setup and use. A 1216 constant GCS MAC may well defeat any privacy gains in UA MAC and RID 1217 changes. UA/GCS binding is complicated with changing MAC addresses; 1218 historically UAS design assumed these to be "forever" and made setup 1219 a one-time process. Additionally, if IP is used for C2, a changing 1220 MAC may mean a changing IP address to further impact the UAS 1221 bindings. Finally, an encryption wrapper's identifier (such as ESP 1222 [RFC4303] SPI) would need to change per operation to insure operation 1223 tracking separation. 1225 Creating and maintaining UAS operational privacy is a multifaceted 1226 problem. Many communication pieces need to be considered to truly 1227 create a separation between UA operations. Simply changing the DET 1228 only starts the changes that need to be implemented. 1230 These privacy realities may present challenges for the EU U-space 1231 (Appendix A) program. 1233 9.5. Collision Risks with DETs 1235 The 64-bit hash size does have an increased risk of collisions over 1236 the 96-bit hash size used for the other HIT Suites. There is a 0.01% 1237 probability of a collision in a population of 66 million. The 1238 probability goes up to 1% for a population of 663 million. See 1239 Appendix C for the collision probability formula. 1241 However, this risk of collision is within a single "Additional 1242 Information" value, i.e., a RAA/HDA domain. The UAS/USS registration 1243 process should include registering the DET and MUST reject a 1244 collision, forcing the UAS to generate a new HI and thus HHIT and 1245 reapplying to the DET registration process. 1247 Thus an adversary trying to generate a collision and 'steal' the DET 1248 would run afoul of this registration process and associated 1249 validation process mentioned in Section 1.1. 1251 10. References 1253 10.1. Normative References 1255 [NIST.FIPS.202] 1256 Dworkin, M., "SHA-3 Standard: Permutation-Based Hash and 1257 Extendable-Output Functions", National Institute of 1258 Standards and Technology report, 1259 DOI 10.6028/nist.fips.202, July 2015, 1260 . 1262 [NIST.SP.800-185] 1263 Kelsey, J., Change, S., and R. Perlner, "SHA-3 derived 1264 functions: cSHAKE, KMAC, TupleHash and ParallelHash", 1265 National Institute of Standards and Technology report, 1266 DOI 10.6028/nist.sp.800-185, December 2016, 1267 . 1269 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1270 Requirement Levels", BCP 14, RFC 2119, 1271 DOI 10.17487/RFC2119, March 1997, 1272 . 1274 [RFC6890] Cotton, M., Vegoda, L., Bonica, R., Ed., and B. Haberman, 1275 "Special-Purpose IP Address Registries", BCP 153, 1276 RFC 6890, DOI 10.17487/RFC6890, April 2013, 1277 . 1279 [RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay 1280 Routable Cryptographic Hash Identifiers Version 2 1281 (ORCHIDv2)", RFC 7343, DOI 10.17487/RFC7343, September 1282 2014, . 1284 [RFC7401] Moskowitz, R., Ed., Heer, T., Jokela, P., and T. 1285 Henderson, "Host Identity Protocol Version 2 (HIPv2)", 1286 RFC 7401, DOI 10.17487/RFC7401, April 2015, 1287 . 1289 [RFC8005] Laganier, J., "Host Identity Protocol (HIP) Domain Name 1290 System (DNS) Extension", RFC 8005, DOI 10.17487/RFC8005, 1291 October 2016, . 1293 [RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital 1294 Signature Algorithm (EdDSA)", RFC 8032, 1295 DOI 10.17487/RFC8032, January 2017, 1296 . 1298 [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for 1299 Writing an IANA Considerations Section in RFCs", BCP 26, 1300 RFC 8126, DOI 10.17487/RFC8126, June 2017, 1301 . 1303 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 1304 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 1305 May 2017, . 1307 10.2. Informative References 1309 [cfrg-comment] 1310 "A CFRG review of draft-ietf-drip-rid", September 2021, 1311 . 1314 [corus] CORUS, "U-space Concept of Operations", September 2019, 1315 . 1317 [CTA2063A] ANSI/CTA, "Small Unmanned Aerial Systems Serial Numbers", 1318 September 2019, . 1321 [drip-architecture] 1322 Card, S. W., Wiethuechter, A., Moskowitz, R., Zhao, S., 1323 and A. Gurtov, "Drone Remote Identification Protocol 1324 (DRIP) Architecture", Work in Progress, Internet-Draft, 1325 draft-ietf-drip-arch-24, 10 June 2022, 1326 . 1329 [drip-authentication] 1330 Wiethuechter, A., Card, S., and R. Moskowitz, "DRIP Entity 1331 Tag Authentication Formats & Protocols for Broadcast 1332 Remote ID", Work in Progress, Internet-Draft, draft-ietf- 1333 drip-auth-14, 21 June 2022, 1334 . 1337 [drip-registries] 1338 Wiethuechter, A., Card, S., Moskowitz, R., and J. Reid, 1339 "DRIP Entity Tag Registration & Lookup", Work in Progress, 1340 Internet-Draft, draft-ietf-drip-registries-04, 24 June 1341 2022, . 1344 [F3411] ASTM International, "Standard Specification for Remote ID 1345 and Tracking", 1346 . 1348 [FAA_RID] United States Federal Aviation Administration (FAA), 1349 "Remote Identification of Unmanned Aircraft", 2021, 1350 . 1353 [IANA-CGA] IANA, "Cryptographically Generated Addresses (CGA) Message 1354 Type Name Space", . 1357 [IANA-HIP] IANA, "Host Identity Protocol (HIP) Parameters", 1358 . 1361 [IANA-IPSECKEY] 1362 IANA, "IPSECKEY Resource Record Parameters", 1363 . 1366 [Keccak] Bertoni, G., Daemen, J., Peeters, M., Van Assche, G., and 1367 R. Van Keer, "The Keccak Function", 1368 . 1370 [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", 1371 RFC 3972, DOI 10.17487/RFC3972, March 2005, 1372 . 1374 [RFC4025] Richardson, M., "A Method for Storing IPsec Keying 1375 Material in DNS", RFC 4025, DOI 10.17487/RFC4025, March 1376 2005, . 1378 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S. 1379 Rose, "Resource Records for the DNS Security Extensions", 1380 RFC 4034, DOI 10.17487/RFC4034, March 2005, 1381 . 1383 [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally 1384 Unique IDentifier (UUID) URN Namespace", RFC 4122, 1385 DOI 10.17487/RFC4122, July 2005, 1386 . 1388 [RFC4303] Kent, S., "IP Encapsulating Security Payload (ESP)", 1389 RFC 4303, DOI 10.17487/RFC4303, December 2005, 1390 . 1392 [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., 1393 Housley, R., and W. Polk, "Internet X.509 Public Key 1394 Infrastructure Certificate and Certificate Revocation List 1395 (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, 1396 . 1398 [RFC8004] Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) 1399 Rendezvous Extension", RFC 8004, DOI 10.17487/RFC8004, 1400 October 2016, . 1402 [RFC8080] Sury, O. and R. Edmonds, "Edwards-Curve Digital Security 1403 Algorithm (EdDSA) for DNSSEC", RFC 8080, 1404 DOI 10.17487/RFC8080, February 2017, 1405 . 1407 [RFC8200] Deering, S. and R. Hinden, "Internet Protocol, Version 6 1408 (IPv6) Specification", STD 86, RFC 8200, 1409 DOI 10.17487/RFC8200, July 2017, 1410 . 1412 [RFC9063] Moskowitz, R., Ed. and M. Komu, "Host Identity Protocol 1413 Architecture", RFC 9063, DOI 10.17487/RFC9063, July 2021, 1414 . 1416 [RFC9153] Card, S., Ed., Wiethuechter, A., Moskowitz, R., and A. 1417 Gurtov, "Drone Remote Identification Protocol (DRIP) 1418 Requirements and Terminology", RFC 9153, 1419 DOI 10.17487/RFC9153, February 2022, 1420 . 1422 [RFC9224] Blanchet, M., "Finding the Authoritative Registration Data 1423 Access Protocol (RDAP) Service", STD 95, RFC 9224, 1424 DOI 10.17487/RFC9224, March 2022, 1425 . 1427 Appendix A. EU U-Space RID Privacy Considerations 1429 The EU is defining a future of airspace management known as U-space 1430 within the Single European Sky ATM Research (SESAR) undertaking. 1431 Concept of Operation for EuRopean UTM Systems (CORUS) project 1432 proposed low-level Concept of Operations [corus] for UAS in the EU. 1433 It introduces strong requirements for UAS privacy based on European 1434 GDPR regulations. It suggests that UAs are identified with agnostic 1435 IDs, with no information about UA type, the operators or flight 1436 trajectory. Only authorized persons should be able to query the 1437 details of the flight with a record of access. 1439 Due to the high privacy requirements, a casual observer can only 1440 query U-space if it is aware of a UA seen in a certain area. A 1441 general observer can use a public U-space portal to query UA details 1442 based on the UA transmitted "Remote identification" signal. Direct 1443 remote identification (DRID) is based on a signal transmitted by the 1444 UA directly. Network remote identification (NRID) is only possible 1445 for UAs being tracked by U-Space and is based on the matching the 1446 current UA position to one of the tracks. 1448 This is potentially a contrary expectation as that presented in 1449 Section 9.4. U-space will have to deal with this reality within the 1450 GDPR regulations. Still, DETs as defined here present a large step 1451 in the right direction for agnostic IDs. 1453 The project lists "E-Identification" and "E-Registrations" services 1454 as to be developed. These services can use DETs and follow the 1455 privacy considerations outlined in this document for DETs. 1457 If an "agnostic ID" above refers to a completely random identifier, 1458 it creates a problem with identity resolution and detection of 1459 misuse. On the other hand, a classical HIT has a flat structure 1460 which makes its resolution difficult. The DET (Hierarchical HIT) 1461 provides a balanced solution by associating a registry with the UA 1462 identifier. This is not likely to cause a major conflict with 1463 U-space privacy requirements, as the registries are typically few at 1464 a country level (e.g., civil personal, military, law enforcement, or 1465 commercial). 1467 Appendix B. The 14/14 HID split 1469 The following explains the logic behind selecting to divide the 28 1470 bits of the HID into 2 14-bit components. 1472 At this writing ICAO has 273 member "States", each may want to 1473 control RID assignment within its National Air Space (NAS). Some 1474 members may want separate RAAs to use for Civil, general Government, 1475 and Military use. They may also want allowances for competing Civil 1476 RAA operations. It is reasonable to plan for 8 RAAs per ICAO member 1477 (plus regional aviation organizations like in the European Union). 1478 Thus at a start a 4,096 RAA space is advised. 1480 There will be requests by commercial entities for their own, RAA 1481 allotments. Examples could include international organizations that 1482 will be using UAS and international delivery service associations. 1483 These may be smaller than the RAA space needed by ICAO member States 1484 and could be met with a 2,048 space allotment, but as will be seen, 1485 might as well be 4,096 as well. 1487 This may well cover currently understood RAA entities. There will be 1488 future new applications, branching off into new areas. So yet 1489 another space allocation should be set aside. If this is equal to 1490 all that has been reserved, we should allow for 16,384 (2^14) RAAs. 1492 The HDA allocation follows a different logic from that of RAAs. Per 1493 Appendix C, an HDA should be able to easily assign 63M RIDs and even 1494 manage 663M with a "first come, first assigned" registration process. 1495 For most HDAs this is more than enough, and a single HDA assignment 1496 within their RAA will suffice. Most RAAs will only delegate to a 1497 couple HDAs for their operational needs. But there are major 1498 exceptions that point to some RAAs needing large numbers of HDA 1499 assignments. 1501 Delivery service operators like Amazon (est. 30K delivery vans) and 1502 UPS (est. 500K delivery vans) may choose, for anti-tracking reasons, 1503 to use unique RIDs per day or even per operation. 30K delivery UA 1504 could need 11M upwards to 44M RIDs. Anti-tracking would be hard to 1505 provide if the HID were the same for a delivery service fleet, so 1506 such a company may turn to an HDA that provides this service to 1507 multiple companies so that who's UA is who's is not evident in the 1508 HID. A USS providing this service could well use multiple HDA 1509 assignments per year, depending on strategy. 1511 Perhaps a single RAA providing HDAs for delivery service (or similar 1512 behaving) UAS could 'get by' with a 2048 HDA space (11-bits). So the 1513 HDA space could well be served with only 12 bits allocated out of the 1514 28-bit HID space. But as this is speculation, and it will take years 1515 of deployment experience, a 14-bit HDA space has been selected. 1517 There may also be 'small' ICAO member States that opt for a single 1518 RAA and allocate their HDAs for all UA that are permitted in their 1519 NAS. The HDA space is large enough that some to use part for 1520 government needs as stated above and for small commercial needs. Or 1521 the State may use a separate, consecutive RAA for commercial users. 1522 Thus it would be 'easy' to recognize State-approved UA by HID high- 1523 order bits. 1525 Appendix C. Calculating Collision Probabilities 1527 The accepted formula for calculating the probability of a collision 1528 is: 1530 p = 1 - e^{-k^2/(2n)} 1532 P Collision Probability 1533 n Total possible population 1534 k Actual population 1536 The following table provides the approximate population size for a 1537 collision for a given total population. 1539 Deployed Population 1540 Total With Collision Risk of 1541 Population .01% 1% 1543 2^96 4T 42T 1544 2^72 1B 10B 1545 2^68 250M 2.5B 1546 2^64 66M 663M 1547 2^60 16M 160M 1549 Acknowledgments 1551 Dr. Gurtov is an adviser on Cybersecurity to the Swedish Civil 1552 Aviation Administration. 1554 Quynh Dang of NIST gave considerable guidance on using Keccak and the 1555 NIST supporting documents. Joan Deamen of the Keccak team was 1556 especially helpful in many aspects of using Keccak. Nicholas 1557 Gajcowski [cfrg-comment] provided a concise hash pre-image security 1558 assessment via the CFRG list. 1560 Many thanks to Michael Richardson and Brian Haberman for the iotdir 1561 review, Magnus Nystrom for the secdir review, Elwyn Davies for genart 1562 review and DRIP co-chair and draft shepherd, Mohamed Boucadair for 1563 his extensive comments and help on document clarity. 1565 Authors' Addresses 1567 Robert Moskowitz 1568 HTT Consulting 1569 Oak Park, MI 48237 1570 United States of America 1571 Email: rgm@labs.htt-consult.com 1573 Stuart W. Card 1574 AX Enterprize, LLC 1575 4947 Commercial Drive 1576 Yorkville, NY 13495 1577 United States of America 1578 Email: stu.card@axenterprize.com 1580 Adam Wiethuechter 1581 AX Enterprize, LLC 1582 4947 Commercial Drive 1583 Yorkville, NY 13495 1584 United States of America 1585 Email: adam.wiethuechter@axenterprize.com 1587 Andrei Gurtov 1588 Linköping University 1589 IDA 1590 SE-58183 Linköping 1591 Sweden 1592 Email: gurtov@acm.org