idnits 2.17.1 draft-ietf-drip-uas-rid-01.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 3 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 (September 9, 2020) is 1318 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: 'Appendix D' is mentioned on line 243, but not defined -- Possible downref: Non-RFC (?) normative reference: ref. 'F3411-19' ** Downref: Normative reference to an Informational RFC: RFC 8032 Summary: 1 error (**), 0 flaws (~~), 4 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 DRIP R. Moskowitz 3 Internet-Draft HTT Consulting 4 Intended status: Standards Track S. Card 5 Expires: March 13, 2021 A. Wiethuechter 6 AX Enterprize 7 A. Gurtov 8 Linköping University 9 September 9, 2020 11 UAS Remote ID 12 draft-ietf-drip-uas-rid-01 14 Abstract 16 This document describes the use of Hierarchical Host Identity Tags 17 (HHITs) as a self-asserting and thereby trustable Identifier for use 18 as the UAS Remote ID. HHITs include explicit hierarchy to provide 19 Registrar discovery for 3rd-party ID attestation. 21 Status of This Memo 23 This Internet-Draft is submitted in full conformance with the 24 provisions of BCP 78 and BCP 79. 26 Internet-Drafts are working documents of the Internet Engineering 27 Task Force (IETF). Note that other groups may also distribute 28 working documents as Internet-Drafts. The list of current Internet- 29 Drafts is at https://datatracker.ietf.org/drafts/current/. 31 Internet-Drafts are draft documents valid for a maximum of six months 32 and may be updated, replaced, or obsoleted by other documents at any 33 time. It is inappropriate to use Internet-Drafts as reference 34 material or to cite them other than as "work in progress." 36 This Internet-Draft will expire on March 13, 2021. 38 Copyright Notice 40 Copyright (c) 2020 IETF Trust and the persons identified as the 41 document authors. All rights reserved. 43 This document is subject to BCP 78 and the IETF Trust's Legal 44 Provisions Relating to IETF Documents (https://trustee.ietf.org/ 45 license-info) in effect on the date of publication of this document. 46 Please review these documents carefully, as they describe your rights 47 and restrictions with respect to this document. Code Components 48 extracted from this document must include Simplified BSD License text 49 as described in Section 4.e of the Trust Legal Provisions and are 50 provided without warranty as described in the Simplified BSD License. 52 Table of Contents 54 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 55 2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 3 56 2.1. Requirements Terminology . . . . . . . . . . . . . . . . 3 57 2.2. Notation . . . . . . . . . . . . . . . . . . . . . . . . 3 58 2.3. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 59 3. Hierarchical HITs as Remote ID . . . . . . . . . . . . . . . 5 60 3.1. Remote ID as one class of Hierarchical HITs . . . . . . . 5 61 3.2. Hierarchy in ORCHID Generation . . . . . . . . . . . . . 5 62 3.3. Hierarchical HIT Registry . . . . . . . . . . . . . . . . 5 63 3.4. Remote ID Authentication using HHITs . . . . . . . . . . 6 64 4. UAS ID HHIT in DNS . . . . . . . . . . . . . . . . . . . . . 6 65 5. Other UTM uses of HHITs . . . . . . . . . . . . . . . . . . . 7 66 6. DRIP Requirements addressed . . . . . . . . . . . . . . . . . 7 67 7. ASTM Considerations . . . . . . . . . . . . . . . . . . . . . 7 68 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 69 9. Security Considerations . . . . . . . . . . . . . . . . . . . 8 70 9.1. Hierarchical HIT Trust . . . . . . . . . . . . . . . . . 8 71 9.2. Collision risks with Hierarchical HITs . . . . . . . . . 9 72 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 73 10.1. Normative References . . . . . . . . . . . . . . . . . . 9 74 10.2. Informative References . . . . . . . . . . . . . . . . . 10 75 Appendix A. EU U-Space RID Privacy Considerations . . . . . . . 12 76 Appendix B. The Hierarchical Host Identity Tag (HHIT) . . . . . 12 77 B.1. HHIT prefix . . . . . . . . . . . . . . . . . . . . . . . 13 78 B.2. HHIT Suite IDs . . . . . . . . . . . . . . . . . . . . . 13 79 B.3. The Hierarchy ID (HID) . . . . . . . . . . . . . . . . . 13 80 B.3.1. The Registered Assigning Authority (RAA) . . . . . . 13 81 B.3.2. The Hierarchical HIT Domain Authority (HDA) . . . . . 14 82 Appendix C. ORCHIDs for Hierarchical HITs . . . . . . . . . . . 14 83 C.1. Adding additional information to the ORCHID . . . . . . . 14 84 C.2. ORCHID Decoding . . . . . . . . . . . . . . . . . . . . . 15 85 C.3. ORCHID Encoding . . . . . . . . . . . . . . . . . . . . . 16 86 Appendix D. Edward Digital Signature Algorithm for HITs . . . . 16 87 D.1. HOST_ID . . . . . . . . . . . . . . . . . . . . . . . . . 16 88 D.2. HIT_SUITE_LIST . . . . . . . . . . . . . . . . . . . . . 17 89 Appendix E. HHIT Self Claim . . . . . . . . . . . . . . . . . . 17 90 Appendix F. Calculating Collision Probabilities . . . . . . . . 18 91 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 18 92 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 18 94 1. Introduction 96 [drip-requirements] describes a UAS ID as a "unique (ID-4), non- 97 spoofable (ID-5), and identify a registry where the ID is listed (ID- 98 2)"; all within a 20 character Identifier (ID-1). 100 This document describes the use of Hierarchical HITs (HHITs) 101 (Appendix B) as self-asserting and thereby a trustable Identifier for 102 use as the UAS Remote ID. HHITs include explicit hierarchy to 103 provide Registrar discovery for 3rd-party ID attestation. 105 HITs are statistically unique through the cryptographic hash feature 106 of second-preimage resistance. The cryptographically-bound addition 107 of the Hierarchy and a HHIT registration process (TBD; e.g. based on 108 Extensible Provisioning Protocol, [RFC5730]) provide complete, global 109 HHIT uniqueness. This is in contrast to general IDs (e.g. a UUID or 110 device serial number) as the subject in an X.509 certificate. 112 In a multi-CA PKI, a subject can occur in multiple CAs, possibly 113 fraudulently. CAs within the PKI would need to implement an approach 114 to enforce assurance of uniqueness. 116 Hierarchical HITs are valid, though non-routable, IPv6 addresses. As 117 such, they fit in many ways within various IETF technologies. 119 2. Terms and Definitions 121 2.1. Requirements Terminology 123 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 124 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 125 "OPTIONAL" in this document are to be interpreted as described in BCP 126 14 [RFC2119] [RFC8174] when, and only when, they appear in all 127 capitals, as shown here. 129 2.2. Notation 131 | Signifies concatenation of information - e.g., X | Y is the 132 concatenation of X and Y. 134 2.3. Definitions 136 See [drip-requirements] for common DRIP terms. 138 cSHAKE (The customizable SHAKE function): 139 Extends the SHAKE scheme to allow users to customize their use of 140 the function. 142 HDA (Hierarchical HIT Domain Authority): 143 The 16 bit field identifying the HHIT Domain Authority under an 144 RAA. 146 HHIT 147 Hierarchical Host Identity Tag. A HIT with extra hierarchical 148 information not found in a standard HIT. 150 HI 151 Host Identity. The public key portion of an asymmetric keypair 152 used in HIP. 154 HID (Hierarchy ID): 155 The 32 bit field providing the HIT Hierarchy ID. 157 HIP 158 Host Identity Protocol. The origin of HI, HIT, and HHIT, required 159 for DRIP. Optional full use of HIP enables additional DRIP 160 functionality. 162 HIT 163 Host Identity Tag. A 128 bit handle on the HI. HITs are valid 164 IPv6 addresses. 166 Keccak (KECCAK Message Authentication Code): 167 The family of all sponge functions with a KECCAK-f permutation as 168 the underlying function and multi-rate padding as the padding 169 rule. 171 RAA (Registered Assigning Authority): 172 The 16 bit field identifying the business or organization that 173 manages a registry of HDAs. 175 RVS (Rendezvous Server): 176 The HIP Rendezvous Server for enabling mobility, as defined in 177 [RFC8004]. 179 SHAKE (Secure Hash Algorithm KECCAK): 180 A secure hash that allows for an arbitrary output length. 182 XOF (eXtendable-Output Function): 183 A function on bit strings (also called messages) in which the 184 output can be extended to any desired length. 186 3. Hierarchical HITs as Remote ID 188 Hierarchical HITs are a refinement on the Host Identity Tag (HIT) of 189 HIPv2 [RFC7401]. HHITs require a new ORCHID mechanism as described 190 in Appendix C. HHITs for UAS ID also use the new EdDSA/SHAKE128 HIT 191 suite defined in Appendix D (requirements GEN-2). This hierarchy, 192 cryptographically embedded within the HHIT, provides the information 193 for finding the UA's HHIT registry (ID-3). 195 The current ASTM [F3411-19] specifies three UAS ID types: 197 TYPE-1 A static, manufacturer assigned, hardware serial number per 198 ANSI/CTA-2063-A "Small Unmanned Aerial System Serial Numbers" 199 [CTA2063A]. 201 TYPE-2 A CAA assigned (presumably static) ID. 203 TYPE-3 A UTM system assigned UUID [RFC4122], which can but need not 204 be dynamic. 206 For HHITs to be used effectively as UAS IDs, F3411-19 SHOULD add UAS 207 ID type 4 as HHIT. 209 3.1. Remote ID as one class of Hierarchical HITs 211 UAS Remote ID may be one of a number of uses of HHITs. As such these 212 follow-on uses need to be considered in allocating the RAAs 213 Appendix B.3.1 or HHIT prefix assignments Section 8. 215 3.2. Hierarchy in ORCHID Generation 217 ORCHIDS, as defined in [RFC7343], do not cryptographically bind the 218 IPv6 prefix nor the Orchid Generation Algorithm (OGA) ID (the HIT 219 Suite ID) to the hash of the HI. The justification then was attacks 220 against these fields are DoS attacks against protocols using them. 222 HHITs, as defined in Appendix C, cryptographically bind all content 223 in the ORCHID through the hashing function. Thus a recipient of a 224 HHIT that has the underlying HI can directly act on all content in 225 the HHIT. This is especially important to using the hierarchy to 226 find the HHIT Registry. 228 3.3. Hierarchical HIT Registry 230 HHITs are registered to Hierarchical HIT Domain Authorities (HDAs). 231 A registration process (TBD) ensures UAS ID global uniqueness (ID-4). 232 It also provides the mechanism to create UAS Public/Private data 233 associated with the HHIT UAS ID (REG-1 and REG-2). 235 The 2 levels of hierarchy within the HHIT allows for CAAs to have 236 their own Registered Assigning Authority (RAA) for their National Air 237 Space (NAS). Within the RAA, the CAAs can delegate HDAs as needed. 238 There may be other RAAs allowed to operate within a given NAS; this 239 is a policy decision by the CAA. 241 3.4. Remote ID Authentication using HHITs 243 The EdDSA25519 Host Identity (HI) [Appendix D] underlying the HHIT is 244 used for the Message Wrapper, Sec 4.2 [drip-auth] (requirements GEN- 245 2). It and the HDA's HI/HHIT are used for the Auth Certificate, sec 246 5.1 [drip-auth] (requirements GEN-3). These messages also establish 247 that the UA owns the HHIT and that no other UA can assert ownership 248 of the HHIT (GEN-1). 250 The number of HDAs authorized to register UAs within an NAS 251 determines the size of the HDA credential cache a device processing 252 the Offline Authentication. This cache contains the HDA's HI/HHIT 253 and HDA meta-data; it could be very small. 255 4. UAS ID HHIT in DNS 257 There are 2 approaches for storing and retrieving the HHIT from DNS. 258 These are: 260 * As FQDNs in the .aero TLD. 262 * Reverse DNS lookups as IPv6 addresses per [RFC8005]. 264 The HHIT can be used to construct an FQDN that points to the USS that 265 has the Public/Private information for the UA (REG-1 and REG-2). For 266 example the USS for the HHIT could be found via the following. 267 Assume that the RAA is 100 and the HDA is 50. The PTR record is 268 constructed as: 270 100.50.hhit.uas.aero IN PTR foo.uss.aero. 272 The individual HHITs are potentially too numerous (e.g. 60 - 600M) 273 and dynamic to actually store in a signed, DNS zone. Rather the USS 274 would provide the HHIT detail response. 276 The HHIT reverse lookup can be a standard IPv6 reverse look up, or it 277 can leverage off the HHIT structure. Assume that the RAA is 10 and 278 the HDA is 20 and the HHIT is: 280 2001:14:28:14:a3ad:1952:ad0:a69e 282 An HHIT reverse lookup would be to is: 284 a69e.ad0.1952.a3ad14.28.14.2001.20.10.hhit.arpa. 286 5. Other UTM uses of HHITs 288 HHITs can be used extensively within the UTM architecture beyond UA 289 ID (and USS in UA ID registration and authentication). This includes 290 a GCS HHIT ID. It could use this if it is the source of Network 291 Remote ID for securing the transport and for secure C2 transport 292 [drip-secure-nrid-c2]. 294 Observers SHOULD have HHITs to facilitate UAS information retrieval 295 (e.g., for authorization to private UAS data). They could also use 296 their HHIT for establishing a HIP connection with the UA Pilot for 297 direct communications per authorization. Further, they can be used 298 by FINDER observers, [crowd-sourced-rid]. 300 6. DRIP Requirements addressed 302 This document provides solutions to GEN 1 - 3, ID 1 - 5, and REG 1 - 303 2. 305 7. ASTM Considerations 307 ASTM will need to make the following changes to the "UA ID" in the 308 Basic Message (Msg Type 0x0): 310 Type 4: 311 This document UA ID of Hierarchical HITs (see Section 3). 313 8. IANA Considerations 315 IANA will need to make the following changes to the "Host Identity 316 Protocol (HIP) Parameters" registries: 318 Host ID: 319 This document defines the new EdDSA Host ID (see Appendix D.1). 321 HIT Suite ID: 322 This document defines the new HIT Suite of EdDSA/cSHAKE (see 323 Appendix D.2). 325 Because HHIT use of ORCHIDv2 format is not compatible with [RFC7343], 326 IANA is requested to allocated a new 28-bit prefix out of the IANA 327 IPv6 Special Purpose Address Block, namely 2001:0000::/23, as per 328 [RFC6890]. 330 9. Security Considerations 332 A 64 bit hash space presents a real risk of second pre-image attacks 333 Section 9.2. The HHIT Registry services effectively block attempts 334 to "take over" a HHIT. It does not stop a rogue attempting to 335 impersonate a known HHIT. This attack can be mitigated by the 336 receiver of the HHIT using DNS to find the HI for the HHIT. 338 Another mitigation of HHIT hijacking is if the HI owner supplies an 339 object containing the HHIT and signed by the HI private key of the 340 HDA. 342 The two risks with hierarchical HITs are the use of an invalid HID 343 and forced HIT collisions. The use of a DNS zone (e.g. 344 "hhit.arpa.") is a strong protection against invalid HIDs. Querying 345 an HDA's RVS for a HIT under the HDA protects against talking to 346 unregistered clients. The Registry service has direct protection 347 against forced or accidental HIT hash collisions. 349 Cryptographically Generated Addresses (CGAs) provide a unique 350 assurance of uniqueness. This is two-fold. The address (in this 351 case the UAS ID) is a hash of a public key and a Registry hierarchy 352 naming. Collision resistance (more important that it implied second- 353 preimage resistance) makes it statistically challenging to attacks. 354 A registration process (TBD) within the HDA provides a level of 355 assured uniqueness unattainable without mirroring this approach. 357 The second aspect of assured uniqueness is the digital signing 358 process of the HHIT by the HI private key and the further signing of 359 the HI public key by the Registry's key. This completes the 360 ownership process. The observer at this point does not know WHAT 361 owns the HHIT, but is assured, other than the risk of theft of the HI 362 private key, that this UAS ID is owned by something and is properly 363 registered. 365 9.1. Hierarchical HIT Trust 367 The HHIT UAS RID in the ASTM Basic Message (Msg Type 0x0, the actual 368 Remote ID message) does not provide any assertion of trust. The best 369 that might be done within this Basic Message is 4 bytes truncated 370 from a HI signing of the HHIT (the UA ID field is 20 bytes and a HHIT 371 is 16). This is not trustable. Minimally, it takes 84 bytes, 372 Appendix E, to prove ownership of a HHIT. 374 The ASTM Authentication Messages (Msg Type 0x2) as defined in 375 [drip-auth] that can provide practical actual ownership proofs. 376 These claims include timestamps to defend against replay attacks. 377 But in themselves, they do not prove which UA actually sent the 378 message. They could have been sent by a dog running down the street 379 with a Broadcast Remote ID device strapped to its back. 381 Proof of UA transmission comes when the Authentication Message 382 includes proofs for the ASTM Location/Vector Message (Msg Type 0x1) 383 and the observer can see the UA or that information is validated by 384 ground multilateration [crowd-sourced-rid]. Only then does an 385 observer gain full trust in the HHIT Remote ID. 387 HHIT Remote IDs obtained via the Network Remote ID path provides a 388 different approach to trust. Here the UAS SHOULD be securely 389 communicating to the USS (see [drip-secure-nrid-c2]), thus asserting 390 HHIT RID trust. 392 9.2. Collision risks with Hierarchical HITs 394 The 64 bit hash size does have an increased risk of collisions over 395 the 96 bit hash size used for the other HIT Suites. There is a 0.01% 396 probability of a collision in a population of 66 million. The 397 probability goes up to 1% for a population of 663 million. See 398 Appendix F for the collision probability formula. 400 However, this risk of collision is within a single "Additional 401 Information" value. Some registration process should be used to 402 reject a collision, forcing the client to generate a new HI and thus 403 HIT and reapplying to the registration process. 405 10. References 407 10.1. Normative References 409 [F3411-19] ASTM International, "Standard Specification for Remote ID 410 and Tracking", February 2020, 411 . 413 [NIST.FIPS.202] 414 Dworkin, M., "SHA-3 Standard: Permutation-Based Hash and 415 Extendable-Output Functions", National Institute of 416 Standards and Technology report, 417 DOI 10.6028/nist.fips.202, July 2015, 418 . 420 [NIST.SP.800-185] 421 Kelsey, J., Change, S., and R. Perlner, "SHA-3 derived 422 functions: cSHAKE, KMAC, TupleHash and ParallelHash", 423 National Institute of Standards and Technology report, 424 DOI 10.6028/nist.sp.800-185, December 2016, 425 . 427 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 428 Requirement Levels", BCP 14, RFC 2119, 429 DOI 10.17487/RFC2119, March 1997, 430 . 432 [RFC6890] Cotton, M., Vegoda, L., Bonica, R., Ed., and B. Haberman, 433 "Special-Purpose IP Address Registries", BCP 153, 434 RFC 6890, DOI 10.17487/RFC6890, April 2013, 435 . 437 [RFC8032] Josefsson, S. and I. Liusvaara, "Edwards-Curve Digital 438 Signature Algorithm (EdDSA)", RFC 8032, 439 DOI 10.17487/RFC8032, January 2017, 440 . 442 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 443 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 444 May 2017, . 446 10.2. Informative References 448 [corus] CORUS, "U-space Concept of Operations", September 2019, 449 . 451 [crowd-sourced-rid] 452 Moskowitz, R., Card, S., Wiethuechter, A., Zhao, S., and 453 H. Birkholz, "Crowd Sourced Remote ID", Work in Progress, 454 Internet-Draft, draft-moskowitz-drip-crowd-sourced-rid-04, 455 May 20, 2020, . 458 [CTA2063A] ANSI, "Small Unmanned Aerial Systems Serial Numbers", 459 September 2019. 461 [drip-auth] 462 Wiethuechter, A., Card, S., and R. Moskowitz, "DRIP 463 Authentication Formats", Work in Progress, Internet-Draft, 464 draft-wiethuechter-drip-auth-03, July 27, 2020, 465 . 468 [drip-requirements] 469 Card, S., Wiethuechter, A., Moskowitz, R., and A. Gurtov, 470 "Drone Remote Identification Protocol (DRIP) 471 Requirements", Work in Progress, Internet-Draft, draft- 472 ietf-drip-reqs-04, August 25, 2020, 473 . 475 [drip-secure-nrid-c2] 476 Moskowitz, R., Card, S., Wiethuechter, A., and A. Gurtov, 477 "Secure UAS Network RID and C2 Transport", Work in 478 Progress, Internet-Draft, draft-moskowitz-drip-secure- 479 nrid-c2-00, April 6, 2020, . 482 [Keccak] Bertoni, G., Daemen, J., Peeters, M., Van Assche, G., and 483 R. Van Keer, "The Keccak Function", 484 . 486 [RFC4122] Leach, P., Mealling, M., and R. Salz, "A Universally 487 Unique IDentifier (UUID) URN Namespace", RFC 4122, 488 DOI 10.17487/RFC4122, July 2005, 489 . 491 [RFC5730] Hollenbeck, S., "Extensible Provisioning Protocol (EPP)", 492 STD 69, RFC 5730, DOI 10.17487/RFC5730, August 2009, 493 . 495 [RFC7343] Laganier, J. and F. Dupont, "An IPv6 Prefix for Overlay 496 Routable Cryptographic Hash Identifiers Version 2 497 (ORCHIDv2)", RFC 7343, DOI 10.17487/RFC7343, September 498 2014, . 500 [RFC7401] Moskowitz, R., Ed., Heer, T., Jokela, P., and T. 501 Henderson, "Host Identity Protocol Version 2 (HIPv2)", 502 RFC 7401, DOI 10.17487/RFC7401, April 2015, 503 . 505 [RFC8004] Laganier, J. and L. Eggert, "Host Identity Protocol (HIP) 506 Rendezvous Extension", RFC 8004, DOI 10.17487/RFC8004, 507 October 2016, . 509 [RFC8005] Laganier, J., "Host Identity Protocol (HIP) Domain Name 510 System (DNS) Extension", RFC 8005, DOI 10.17487/RFC8005, 511 October 2016, . 513 Appendix A. EU U-Space RID Privacy Considerations 515 EU is defining a future of airspace management known as U-space 516 within the Single European Sky ATM Research (SESAR) undertaking. 517 Concept of Operation for EuRopean UTM Systems (CORUS) project 518 proposed low-level Concept of Operations [corus] for UAS in EU. It 519 introduces strong requirements for UAS privacy based on European GDPR 520 regulations. It suggests that UAs are identified with agnostic IDs, 521 with no information about UA type, the operators or flight 522 trajectory. Only authorized persons should be able to query the 523 details of the flight with a record of access. 525 Due to the high privacy requirements, a casual observer can only 526 query U-space if it is aware of a UA seen in a certain area. A 527 general observer can use a public U-space portal to query UA details 528 based on the UA transmitted "Remote identification" signal. Direct 529 remote identification (DRID) is based on a signal transmitted by the 530 UA directly. Network remote identification (NRID) is only possible 531 for UAs being tracked by U-Space and is based on the matching the 532 current UA position to one of the tracks. 534 The project lists "E-Identification" and "E-Registrations" services 535 as to be developed. These services can follow the privacy mechanism 536 proposed in this document. If an "agnostic ID" above refers to a 537 completely random identifier, it creates a problem with identity 538 resolution and detection of misuse. On the other hand, a classical 539 HIT has a flat structure which makes its resolution difficult. The 540 Hierarchical HITs provide a balanced solution by associating a 541 registry with the UA identifier. This is not likely to cause a major 542 conflict with U-space privacy requirements, as the registries are 543 typically few at a country level (e.g. civil personal, military, law 544 enforcement, or commercial). 546 Appendix B. The Hierarchical Host Identity Tag (HHIT) 548 The Hierarchical HIT (HHIT) is a small but important enhancement over 549 the flat HIT space. By adding two levels of hierarchical 550 administration control, the HHIT provides for device registration/ 551 ownership, thereby enhancing the trust framework for HITs. 553 HHITs represent the HI in only a 64 bit hash and uses the other 32 554 bits to create a hierarchical administration organization for HIT 555 domains. Hierarchical HITs are "Using cSHAKE in ORCHIDs" 556 (Appendix C). The input values for the Encoding rules are in 557 Appendix C.1. 559 A HHIT is built from the following fields: 561 * 28 bit IANA prefix 563 * 4 bit HIT Suite ID 565 * 32 bit Hierarchy ID (HID) 567 * 64 bit ORCHID hash 569 B.1. HHIT prefix 571 A unique 28 bit prefix for HHITs is recommended. It clearly 572 separates the flat-space HIT processing from HHIT processing per 573 "Using cSHAKE in ORCHIDs" (Appendix C). 575 B.2. HHIT Suite IDs 577 The HIT Suite IDs specifies the HI and hash algorithms. Any HIT 578 Suite ID can be used for HHITs, provided that the prefix for HHITs is 579 different from flat space HITs. Without a unique prefix, 580 Appendix B.1, additional HIT Suite IDs would be needed for HHITs. 581 This would risk exhausting the limited Suite ID space of only 15 IDs. 583 B.3. The Hierarchy ID (HID) 585 The Hierarchy ID (HID) provides the structure to organize HITs into 586 administrative domains. HIDs are further divided into 2 fields: 588 * 16 bit Registered Assigning Authority (RAA) 590 * 16 bit Hierarchical HIT Domain Authority (HDA) 592 B.3.1. The Registered Assigning Authority (RAA) 594 An RAA is a business or organization that manages a registry of HDAs. 595 For example, the Federal Aviation Authority (FAA) could be an RAA. 597 The RAA is a 16 bit field (65,536 RAAs) assigned by a numbers 598 management organization, perhaps ICANN's IANA service. An RAA must 599 provide a set of services to allocate HDAs to organizations. It must 600 have a public policy on what is necessary to obtain an HDA. The RAA 601 need not maintain any HIP related services. It must maintain a DNS 602 zone minimally for discovering HID RVS servers. 604 As HHITs may be used in many different domains, RAA should be 605 allocated in blocks with consideration on the likely size of a 606 particular usage. Alternatively, different Prefixes can be used to 607 separate different domains of use of HHTs. 609 This DNS zone may be a PTR for its RAA. It may be a zone in a HHIT 610 specific DNS zone. Assume that the RAA is 100. The PTR record could 611 be constructed: 613 100.hhit.arpa IN PTR raa.bar.com. 615 B.3.2. The Hierarchical HIT Domain Authority (HDA) 617 An HDA may be an ISP or any third party that takes on the business to 618 provide RVS and other needed services for HIP enabled devices. 620 The HDA is an 16 bit field (65,536 HDAs per RAA) assigned by an RAA. 621 An HDA should maintain a set of RVS servers that its client HIP- 622 enabled customers use. How this is done and scales to the 623 potentially millions of customers is outside the scope of this 624 document. This service should be discoverable through the DNS zone 625 maintained by the HDA's RAA. 627 An RAA may assign a block of values to an individual organization. 628 This is completely up to the individual RAA's published policy for 629 delegation. 631 Appendix C. ORCHIDs for Hierarchical HITs 633 This section adds the [Keccak] based cSHAKE XOF hash function from 634 NIST SP 800-185 [NIST.SP.800-185] to ORCHIDv2 [RFC7343]. cSHAKE is a 635 variable output length hash function. As such it does not use the 636 truncation operation that other hashes need. The invocation of 637 cSHAKE specifies the desired number of bits in the hash output. 639 This ORCHID construction includes the Prefix in the hash to protect 640 against Prefix subsitution attacks. It also provides for inclusion 641 of additional information, in particular the hierarchical bits of the 642 Hierarchical HIT, in the ORCHID generation. It should be viewed as 643 an addendum to ORCHIDv2 [RFC7343]. 645 cSHAKE is used, rather than SHAKE from NIST FIPS 202 [NIST.FIPS.202], 646 as cSHAKE has a parameter 'S' as a customization bit string. This 647 parameter will be used for including the ORCHID Context Identifier in 648 a standard fashion. 650 C.1. Adding additional information to the ORCHID 652 ORCHIDv2 [RFC7343] is currently defined as consisting of three 653 components: 655 ORCHID := Prefix | OGA ID | Encode_96( Hash ) 657 where: 659 Prefix : A constant 28-bit-long bitstring value 660 (IANA IPv6 assigned). 662 OGA ID : A 4-bit long identifier for the Hash_function 663 in use within the specific usage context. When 664 used for HIT generation this is the HIT Suite ID. 666 Encode_96( ) : An extraction function in which output is obtained 667 by extracting the middle 96-bit-long bitstring 668 from the argument bitstring. 670 This addendum will be constructed as follows: 672 ORCHID := Prefix | OGA ID | Info (n) | Hash (m) 674 where: 676 Prefix (p) : A (max 28-bit-long) bitstring value 677 (IANA IPv6 assigned). 679 OGA ID : A 4-bit long identifier for the Hash_function 680 in use within the specific usage context. When 681 used for HIT generation this is the HIT Suite ID. 683 Info (n) : n bits of information that define a use of the 684 ORCHID. n can be zero, that is no additional 685 information. 687 Hash (m) : An extraction function in which output is m bits. 689 p + n + m = 124 bits 691 With a 28 bit IPv6 Prefix, the 96 bits currently allocated to the 692 Encode_96 function can be divided in any manner between the 693 additional information and the hash output. Care must be taken in 694 determining the size of the hash portion, taking into account risks 695 like pre-image attacks. Thus 64 bits as used in Hierarchical HITs 696 may be as small as is acceptable. 698 C.2. ORCHID Decoding 700 With this addendum, the decoding of an ORCHID is determined by the 701 Prefix and OGA ID (HIT Suite ID). ORCHIDv2 [RFC7343] decoding is 702 selected when the Prefix is: 2001:20::/28. 704 For Heirarchical HITs, the decoding is determined by the presence of 705 the HHIT Prefix as specified in the HHIT document. 707 C.3. ORCHID Encoding 709 ORCHIDv2 has a number of inputs including a Context ID, some header 710 bits, the hash algorithm, and the input bitstream, normally just the 711 public key. The output is a 96 bit value. 713 This addendum adds a different encoding process to that currently 714 used. The input to the hash function explicitly includes all the 715 fixed header content plus the Context ID. The fixed header content 716 consists of the Prefix, OGA ID (HIT Suite ID), and the Additional 717 Information. Secondly, the length of the resulting hash is set by 718 the rules set by the Prefix/OGA ID. In the case of Hierarchical 719 HITs, this is 64 bits. 721 To achieve the variable length output in a consistent manner, the 722 cSHAKE hash is used. For this purpose, cSHAKE128 is appropriate. 723 The the cSHAKE function call for this addendum is: 725 cSHAKE128(Input, L, "", Context ID) 727 Input := Prefix | OGA ID | Additional Information | HOST_ID 728 L := Length in bits of hash portion of ORCHID 730 Hierarchical HIT uses the same context as all other HIPv2 HIT Suites 731 as they are clearly separated by the distinct HIT Suite ID. 733 Appendix D. Edward Digital Signature Algorithm for HITs 735 Edwards-Curve Digital Signature Algorithm (EdDSA) [RFC8032] are 736 specified here for use as Host Identities (HIs). 738 D.1. HOST_ID 740 The HOST_ID parameter specifies the public key algorithm, and for 741 elliptic curves, a name. The HOST_ID parameter is defined in 742 Section 5.2.19 of [RFC7401]. 744 Algorithm 745 profiles Values 747 EdDSA 13 [RFC8032] (RECOMMENDED) 749 For hosts that implement EdDSA as the algorithm, the following ECC 750 curves are available: 752 Algorithm Curve Values 754 EdDSA RESERVED 0 755 EdDSA EdDSA25519 1 [RFC8032] 756 EdDSA EdDSA25519ph 2 [RFC8032] 757 EdDSA EdDSA448 3 [RFC8032] 758 EdDSA EdDSA448ph 4 [RFC8032] 760 D.2. HIT_SUITE_LIST 762 The HIT_SUITE_LIST parameter contains a list of the supported HIT 763 suite IDs of the Responder. Based on the HIT_SUITE_LIST, the 764 Initiator can determine which source HIT Suite IDs are supported by 765 the Responder. The HIT_SUITE_LIST parameter is defined in 766 Section 5.2.10 of [RFC7401]. 768 The following HIT Suite ID is defined, and the relationship between 769 the four-bit ID value used in the OGA ID field and the eight-bit 770 encoding within the HIT_SUITE_LIST ID field is clarified: 772 HIT Suite Four-bit ID Eight-bit encoding 773 RESERVED 0 0x00 774 EdDSA/cSHAKE128 5 0x50 (RECOMMENDED) 776 The following table provides more detail on the above HIT Suite 777 combinations. The input for each generation algorithm is the 778 encoding of the HI as defined in this Appendix. The output is 96 779 bits long and is directly used in the ORCHID. 781 +=======+===========+=========+===========+===================+ 782 | Index | Hash | HMAC | Signature | Description | 783 | | function | | algorithm | | 784 | | | | family | | 785 +=======+===========+=========+===========+===================+ 786 | 5 | cSHAKE128 | KMAC128 | EdDSA | EdDSA HI hashed | 787 | | | | | with cSHAKE128, | 788 | | | | | output is 96 bits | 789 +-------+-----------+---------+-----------+-------------------+ 791 Table 1: HIT Suites 793 Appendix E. HHIT Self Claim 795 Ownership of a HHIT can be proved in 84 bytes via the following HHIT 796 Self Claim: 798 * 4 byte Timestamp 799 * 16 byte HHIT 801 * 64 byte Signature (EdDSA25519 signature) 803 The Timestamp MAY be the standard UNIX time at the time of signing. 804 A protocol specific timestamp may be used to avoid programming 805 complexities. For example, [F3411-19] uses a 00:00:00 01/01/2019 806 offset. 808 The signature is over the 20 byte Timestamp + HHIT. 810 The receiver of such a claim would need access to the underlying 811 public key (HI) to validate the signature. A larger (116 bytes) self 812 claim could include the EdDSA25519 HI. 814 Appendix F. Calculating Collision Probabilities 816 The accepted formula for calculating the probability of a collision 817 is: 819 p = 1 - e^{-k^2/(2n)} 821 P Collision Probability 822 n Total possible population 823 k Actual population 825 Acknowledgments 827 Dr. Gurtov is an adviser on Cybersecurity to the Swedish Civil 828 Aviation Administration. 830 Quynh Dang of NIST gave considerable guidance on using Keccak and the 831 NIST supporting documents. Joan Deamen of the Keccak team was 832 especially helpful in many aspects of using Keccak. 834 Authors' Addresses 836 Robert Moskowitz 837 HTT Consulting 838 Oak Park, MI 48237 839 United States of America 841 Email: rgm@labs.htt-consult.com 842 Stuart W. Card 843 AX Enterprize 844 4947 Commercial Drive 845 Yorkville, NY 13495 846 United States of America 848 Email: stu.card@axenterprize.com 850 Adam Wiethuechter 851 AX Enterprize 852 4947 Commercial Drive 853 Yorkville, NY 13495 854 United States of America 856 Email: adam.wiethuechter@axenterprize.com 858 Andrei Gurtov 859 Linköping University 860 IDA 861 SE-58183 Linköping 862 Sweden 864 Email: gurtov@acm.org