rfc9374.original   rfc9374.txt 
DRIP R. Moskowitz Internet Engineering Task Force (IETF) R. Moskowitz
Internet-Draft HTT Consulting Request for Comments: 9374 HTT Consulting
Updates: 7401, 7343 (if approved) S. Card Updates: 7401, 7343 S. Card
Intended status: Standards Track A. Wiethuechter Category: Standards Track A. Wiethuechter
Expires: 5 June 2023 AX Enterprize, LLC ISSN: 2070-1721 AX Enterprize, LLC
A. Gurtov A. Gurtov
Linköping University Linköping University
2 December 2022 March 2023
DRIP Entity Tag (DET) for Unmanned Aircraft System Remote ID (UAS RID) DRIP Entity Tag (DET) for Unmanned Aircraft System Remote ID (UAS RID)
draft-ietf-drip-rid-37
Abstract Abstract
This document describes the use of Hierarchical Host Identity Tags This document describes the use of Hierarchical Host Identity Tags
(HHITs) as self-asserting IPv6 addresses and thereby a trustable (HHITs) as self-asserting IPv6 addresses, which makes them trustable
identifier for use as the Unmanned Aircraft System Remote identifiers for use in Unmanned Aircraft System Remote Identification
Identification and tracking (UAS RID). (UAS RID) and tracking.
This document updates RFC7401 and RFC7343. This document updates RFCs 7401 and 7343.
Within the context of RID, HHITs will be called DRIP Entity Tags Within the context of RID, HHITs will be called DRIP Entity Tags
(DETs). HHITs provide claims to the included explicit hierarchy that (DETs). HHITs provide claims to the included explicit hierarchy that
provides registry (via, e.g., DNS, RDAP) discovery for 3rd-party provides registry (via, for example, DNS, RDAP) discovery for third-
identifier endorsement. party identifier endorsement.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by the
material or to cite them other than as "work in progress." Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
This Internet-Draft will expire on 5 June 2023. Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
https://www.rfc-editor.org/info/rfc9374.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2023 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents
license-info) in effect on the date of publication of this document. (https://trustee.ietf.org/license-info) in effect on the date of
Please review these documents carefully, as they describe your rights publication of this document. Please review these documents
and restrictions with respect to this document. Code Components carefully, as they describe your rights and restrictions with respect
extracted from this document must include Revised BSD License text as to this document. Code Components extracted from this document must
described in Section 4.e of the Trust Legal Provisions and are include Revised BSD License text as described in Section 4.e of the
provided without warranty as described in the Revised BSD License. Trust Legal Provisions and are provided without warranty as described
in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 1. Introduction
1.1. HHIT Statistical Uniqueness different from UUID or X.509 1.1. HHIT Statistical Uniqueness Different from UUID or X.509
Subject . . . . . . . . . . . . . . . . . . . . . . . . . 4 Subject
2. Terms and Definitions . . . . . . . . . . . . . . . . . . . . 4 2. Terms and Definitions
2.1. Requirements Terminology . . . . . . . . . . . . . . . . 4 2.1. Requirements Terminology
2.2. Notations . . . . . . . . . . . . . . . . . . . . . . . . 5 2.2. Notation
2.3. Definitions . . . . . . . . . . . . . . . . . . . . . . . 5 2.3. Definitions
3. The Hierarchical Host Identity Tag (HHIT) . . . . . . . . . . 6 3. The Hierarchical Host Identity Tag (HHIT)
3.1. HHIT Prefix for RID Purposes . . . . . . . . . . . . . . 7 3.1. HHIT Prefix for RID Purposes
3.2. HHIT Suite IDs . . . . . . . . . . . . . . . . . . . . . 7 3.2. HHIT Suite IDs
3.2.1. HDA custom HIT Suite IDs . . . . . . . . . . . . . . 8 3.2.1. HDA Custom HIT Suite IDs
3.3. The Hierarchy ID (HID) . . . . . . . . . . . . . . . . . 8 3.3. The Hierarchy ID (HID)
3.3.1. The Registered Assigning Authority (RAA) . . . . . . 9 3.3.1. The Registered Assigning Authority (RAA)
3.3.2. The Hierarchical HIT Domain Authority (HDA) . . . . . 9 3.3.2. The HHIT Domain Authority (HDA)
3.4. Edwards-Curve Digital Signature Algorithm for HHITs . . . 10 3.4. Edwards-Curve Digital Signature Algorithm for HHITs
3.4.1. HOST_ID . . . . . . . . . . . . . . . . . . . . . . . 10 3.4.1. HOST_ID
3.4.2. HIT_SUITE_LIST . . . . . . . . . . . . . . . . . . . 11 3.4.2. HIT_SUITE_LIST
3.5. ORCHIDs for Hierarchical HITs . . . . . . . . . . . . . . 12 3.5. ORCHIDs for HHITs
3.5.1. Adding Additional Information to the ORCHID . . . . . 13 3.5.1. Adding Additional Information to the ORCHID
3.5.2. ORCHID Encoding . . . . . . . . . . . . . . . . . . . 14 3.5.2. ORCHID Encoding
3.5.3. ORCHID Decoding . . . . . . . . . . . . . . . . . . . 16 3.5.3. ORCHID Decoding
3.5.4. Decoding ORCHIDs for HIPv2 . . . . . . . . . . . . . 16 3.5.4. Decoding ORCHIDs for HIPv2
4. Hierarchical HITs as DRIP Entity Tags . . . . . . . . . . . . 16 4. HHITs as DRIP Entity Tags
4.1. Nontransferablity of DETs . . . . . . . . . . . . . . . . 17 4.1. Nontransferablity of DETs
4.2. Encoding HHITs in CTA 2063-A Serial Numbers . . . . . . . 17 4.2. Encoding HHITs in CTA 2063-A Serial Numbers
4.3. Remote ID DET as one Class of Hierarchical HITs . . . . . 18 4.3. Remote ID DET as one Class of HHITs
4.4. Hierarchy in ORCHID Generation . . . . . . . . . . . . . 18 4.4. Hierarchy in ORCHID Generation
4.5. DRIP Entity Tag (DET) Registry . . . . . . . . . . . . . 19 4.5. DRIP Entity Tag (DET) Registry
4.6. Remote ID Authentication using DETs . . . . . . . . . . . 19 4.6. Remote ID Authentication Using DETs
5. DRIP Entity Tags (DETs) in DNS . . . . . . . . . . . . . . . 20 5. DRIP Entity Tags (DETs) in DNS
6. Other UAS Traffic Management (UTM) Uses of HHITs Beyond 6. Other UAS Traffic Management (UTM) Uses of HHITs Beyond DET
DET . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 7. Summary of Addressed DRIP Requirements
7. Summary of Addressed DRIP Requirements . . . . . . . . . . . 21 8. IANA Considerations
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 8.1. New Well-Known IPv6 Prefix for DETs
8.1. New Well-Known IPv6 prefix for DETs . . . . . . . . . . . 21 8.2. New IANA DRIP Registry
8.2. New IANA DRIP Registry . . . . . . . . . . . . . . . . . 22 8.2.1. HHIT Prefixes
8.3. IANA CGA Registry Update . . . . . . . . . . . . . . . . 23 8.2.2. HHIT Suite IDs
8.4. IANA HIP Registry Updates . . . . . . . . . . . . . . . . 23 8.3. IANA CGA Registry Update
9. Security Considerations . . . . . . . . . . . . . . . . . . . 24 8.4. IANA HIP Registry Updates
9.1. Post Quantum Computing out of scope . . . . . . . . . . . 26 9. Security Considerations
9.2. DET Trust in ASTM messaging . . . . . . . . . . . . . . . 26 9.1. Post-Quantum Computing Is Out of Scope
9.3. DET Revocation . . . . . . . . . . . . . . . . . . . . . 27 9.2. DET Trust in ASTM Messaging
9.4. Privacy Considerations . . . . . . . . . . . . . . . . . 27 9.3. DET Revocation
9.5. Collision Risks with DETs . . . . . . . . . . . . . . . . 28 9.4. Privacy Considerations
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 9.5. Collision Risks with DETs
10.1. Normative References . . . . . . . . . . . . . . . . . . 28 10. References
10.2. Informative References . . . . . . . . . . . . . . . . . 30 10.1. Normative References
Appendix A. EU U-Space RID Privacy Considerations . . . . . . . 32 10.2. Informative References
Appendix B. The 14/14 HID split . . . . . . . . . . . . . . . . 33 Appendix A. EU U-Space RID Privacy Considerations
B.1. DET Encoding Example . . . . . . . . . . . . . . . . . . 34 Appendix B. The 14/14 HID split
Appendix C. Base32 Alphabet . . . . . . . . . . . . . . . . . . 35 B.1. DET Encoding Example
Appendix D. Calculating Collision Probabilities . . . . . . . . 35 Appendix C. Base32 Alphabet
Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 36 Appendix D. Calculating Collision Probabilities
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 Acknowledgments
Authors' Addresses
1. Introduction 1. Introduction
Drone Remote ID Protocol (DRIP) Requirements [RFC9153] describe an Drone Remote ID Protocol (DRIP) Requirements [RFC9153] describe an
Unmanned Aircraft System Remote ID (UAS ID) as unique (ID-4), non- Unmanned Aircraft System Remote ID (UAS ID) as unique (ID-4), non-
spoofable (ID-5), and identify a registry where the ID is listed (ID- spoofable (ID-5), and identify a registry where the ID is listed
2); all within a 19-character identifier (ID-1). (ID-2); all within a 19-character identifier (ID-1).
This DRIP foundational document (i.e., all else in DRIP enables or This RFC is a foundational document of DRIP, as it describes the use
uses it) describes (per Section 3 of [drip-architecture]) the use of of Hierarchical Host Identity Tags (HHITs) (Section 3) as self-
Hierarchical Host Identity Tags (HHITs) (Section 3) as self-asserting asserting IPv6 addresses and thereby a trustable identifier for use
IPv6 addresses and thereby a trustable identifier for use as the UAS as the UAS Remote ID (see Section 3 of [DRIP-ARCH]). All other DRIP-
Remote ID. HHITs add explicit hierarchy to the 128-bit HITs, related technologies will enable or use HHITs as multipurpose remote
identifiers. HHITs add explicit hierarchy to the 128-bit HITs,
enabling DNS HHIT queries (Host ID for authentication, e.g., enabling DNS HHIT queries (Host ID for authentication, e.g.,
[drip-authentication]) and for use with a Differentiated Access [DRIP-AUTH]) and use with a Differentiated Access Control (e.g.,
Control (e.g. Registration Data Access Protocol (RDAP) [RFC9224]) Registration Data Access Protocol (RDAP) [RFC9224]) for 3rd-party
for 3rd-party identification endorsement (e.g., identification endorsement (e.g., [DRIP-AUTH]).
[drip-authentication]).
This addition of hierarchy to HITs is an extension to [RFC7401] and The addition of hierarchy to HITs is an extension to [RFC7401] and
requires an update to [RFC7343]. As this document also adds EdDSA requires an update to [RFC7343]. As this document also adds EdDSA
(Section 3.4) for Host Identities (HIs), a number of Host Identity (Section 3.4) for Host Identities (HIs), a number of Host Identity
Protocol (HIP) parameters in [RFC7401] are updated, but these should Protocol (HIP) parameters in [RFC7401] are updated, but these should
not be needed in a DRIP implementation that does not use HIP. not be needed in a DRIP implementation that does not use HIP.
HHITs as used within the context of Unmanned Aircraft System (UAS) HHITs as used within the context of UAS are labeled as DRIP Entity
are labeled as DRIP Entity Tags (DETs). Throughout this document Tags (DETs). Throughout this document, HHIT and DET will be used
HHIT and DET will be used appropriately. HHIT will be used when appropriately. HHIT will be used when covering the technology, and
covering the technology, and DET for their context within UAS RID. DET will be used in the context of UAS RID.
Hierarchical HITs provide self-claims of the HHIT registry. A HHIT HHITs provide self-claims of the HHIT registry. A HHIT can only be
can only be in a single registry within a registry system (e.g. in a single registry within a registry system (e.g., DNS).
DNS).
Hierarchical HITs are valid, though non-routable, IPv6 addresses HHITs are valid, though non-routable, IPv6 addresses [RFC8200]. As
[RFC8200]. As such, they fit in many ways within various IETF such, they fit in many ways within various IETF technologies.
technologies.
1.1. HHIT Statistical Uniqueness different from UUID or X.509 Subject 1.1. HHIT Statistical Uniqueness Different from UUID or X.509 Subject
HHITs are statistically unique through the cryptographic hash feature HHITs are statistically unique through the cryptographic hash feature
of second-preimage resistance. The cryptographically-bound addition of second-preimage resistance. The cryptographically bound addition
of the hierarchy and a HHIT registration process [drip-registries] of the hierarchy and a HHIT registration process [DRIP-REG] provide
provide complete, global HHIT uniqueness. If the HHITs cannot be complete, global HHIT uniqueness. If the HHITs cannot be looked up
looked up with services provided by the DRIP Identity Management with services provided by the DRIP Identity Management Entity (DIME)
Entity (DIME) identified via the embedded hierarchical information or identified via the embedded hierarchical information or its
its registration validated by registration endorsement messages registration validated by registration endorsement messages
[drip-authentication], then the HHIT is either fraudulent or revoked/ [DRIP-AUTH], then the HHIT is either fraudulent or revoked/expired.
expired. In-depth discussion of these processes are out of scope for In-depth discussion of these processes are out of scope for this
this document. document.
This contrasts with using general identifiers (e.g., a Universally This contrasts with using general identifiers (e.g., Universally
Unique IDentifiers (UUID) [RFC4122] or device serial numbers as the Unique IDentifiers (UUID) [RFC4122] or device serial numbers) as the
subject in an X.509 [RFC5280] certificate. In either case, there can subject in an X.509 [RFC5280] certificate. In either case, there can
be no unique proof of ownership/registration. be no unique proof of ownership/registration.
For example, in a multi-Certificate Authority (multi-CA) PKI For example, in a multi-Certificate Authority (multi-CA) PKI
alternative to HHITs, a Remote ID as the Subject (Section 4.1.2.6 of alternative to HHITs, a Remote ID as the Subject (Section 4.1.2.6 of
[RFC5280]) can occur in multiple CAs, possibly fraudulently. CAs [RFC5280]) can occur in multiple CAs, possibly fraudulently. CAs
within the PKI would need to implement an approach to enforce within the PKI would need to implement an approach to enforce
assurance of the uniqueness achieved with HHITs. assurance of the uniqueness achieved with HHITs.
2. Terms and Definitions 2. Terms and Definitions
2.1. Requirements Terminology 2.1. Requirements Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in "SHOULD", "SHOULD NOT", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in
this document are to be interpreted as described in BCP 14 [RFC2119] this document are to be interpreted as described in BCP 14 [RFC2119]
[RFC8174] when, and only when, they appear in all capitals, as shown [RFC8174] when, and only when, they appear in all capitals, as shown
here. here.
The document includes a set of algorithms with a guidance on the ones The document includes a set of algorithms and recommends the ones
that are recommended to be supported by implementations. The that should be supported by implementations. The following term is
following term is used for that purpose: RECOMMENDED. used for that purpose: RECOMMENDED.
2.2. Notations 2.2. Notation
| Signifies concatenation of information - e.g., X | Y is the | Signifies concatenation of information, e.g., X | Y is the
concatenation of X and Y. concatenation of X and Y.
2.3. Definitions 2.3. Definitions
This document uses the terms defined in Section 2.2 of [RFC9153] and This document uses the terms defined in Section 2.2 of [RFC9153] and
in Section 2 of [drip-architecture]. The following new terms are in Section 2 of [DRIP-ARCH]. The following terms are used in the
used in the document: document:
cSHAKE (The customizable SHAKE function [NIST.SP.800-185]): cSHAKE (The customizable SHAKE function [NIST.SP.800-185]):
Extends the SHAKE [NIST.FIPS.202] scheme to allow users to Extends the SHAKE scheme [NIST.FIPS.202] to allow users to
customize their use of the SHAKE function. customize their use of the SHAKE function.
HDA (HHIT Domain Authority): HDA (HHIT Domain Authority):
The 14-bit field that identifies the HHIT Domain Authority under a The 14-bit field that identifies the HHIT Domain Authority under a
Registered Assigning Authority (RAA). See Figure 1. Registered Assigning Authority (RAA). See Figure 1.
HHIT HHIT (Hierarchical Host Identity Tag):
Hierarchical Host Identity Tag. A HIT with extra hierarchical A HIT with extra hierarchical information not found in a standard
information not found in a standard HIT [RFC7401]. HIT [RFC7401].
HI HI (Host Identity):
Host Identity. The public key portion of an asymmetric key pair The public key portion of an asymmetric key pair as defined in
as defined in [RFC9063]. [RFC9063].
HID (Hierarchy ID): HID (Hierarchy ID):
The 28-bit field providing the HIT Hierarchy ID. See Figure 1. The 28-bit field providing the HIT Hierarchy ID. See Figure 1.
HIP (Host Identity Protocol) HIP (Host Identity Protocol):
The origin [RFC7401] of HI, HIT, and HHIT. The origin of HI, HIT, and HHIT [RFC7401].
HIT HIT (Host Identity Tag):
Host Identity Tag. A 128-bit handle on the HI. HITs are valid A 128-bit handle on the HI. HITs are valid IPv6 addresses.
IPv6 addresses.
Keccak (KECCAK Message Authentication Code): Keccak (KECCAK Message Authentication Code):
The family of all sponge functions with a KECCAK-f permutation as The family of all sponge functions with a KECCAK-f permutation as
the underlying function and multi-rate padding as the padding the underlying function and multi-rate padding as the padding
rule. It refers in particular to all the functions referenced rule. In particular, it refers to all the functions referenced
from [NIST.FIPS.202] and [NIST.SP.800-185]. from [NIST.FIPS.202] and [NIST.SP.800-185].
KMAC (KECCAK Message Authentication Code [NIST.SP.800-185]): KMAC (KECCAK Message Authentication Code [NIST.SP.800-185]):
A Pseudo Random Function (PRF) and keyed hash function based on A Pseudo Random Function (PRF) and keyed hash function based on
KECCAK. KECCAK.
RAA (Registered Assigning Authority): RAA (Registered Assigning Authority):
The 14-bit field identifying the business or organization that The 14-bit field identifying the business or organization that
manages a registry of HDAs. See Figure 1. manages a registry of HDAs. See Figure 1.
skipping to change at page 6, line 22 skipping to change at line 250
SHAKE (Secure Hash Algorithm KECCAK [NIST.FIPS.202]): SHAKE (Secure Hash Algorithm KECCAK [NIST.FIPS.202]):
A secure hash that allows for an arbitrary output length. A secure hash that allows for an arbitrary output length.
XOF (eXtendable-Output Function [NIST.FIPS.202]): XOF (eXtendable-Output Function [NIST.FIPS.202]):
A function on bit strings (also called messages) in which the A function on bit strings (also called messages) in which the
output can be extended to any desired length. output can be extended to any desired length.
3. The Hierarchical Host Identity Tag (HHIT) 3. The Hierarchical Host Identity Tag (HHIT)
The Hierarchical HIT (HHIT) is a small but important enhancement over The HHIT is a small but important enhancement over the flat Host
the flat Host Identity Tag (HIT) space, constructed as an Overlay Identity Tag (HIT) space, constructed as an Overlay Routable
Routable Cryptographic Hash IDentifier (ORCHID) [RFC7343]. By adding Cryptographic Hash IDentifier (ORCHID) [RFC7343]. By adding two
two levels of hierarchical administration control, the HHIT provides levels of hierarchical administration control, the HHIT provides for
for device registration/ownership, thereby enhancing the trust device registration/ownership, thereby enhancing the trust framework
framework for HITs. for HITs.
The 128-bit HHITs represent the HI in only a 64-bit hash, rather than The 128-bit HHITs represent the HI in only a 64-bit hash, rather than
the 96 bits in HITs. 4 of these 32 freed up bits expand the Suite ID the 96 bits in HITs. 4 of these 32 freed up bits expand the Suite ID
to 8 bits, and the other 28 bits are used to create a hierarchical to 8 bits, and the other 28 bits are used to create a hierarchical
administration organization for HIT domains. Hierarchical HIT administration organization for HIT domains. HHIT construction is
construction is defined in Section 3.5. The input values for the defined in Section 3.5. The input values for the encoding rules are
Encoding rules are described in Section 3.5.1. described in Section 3.5.1.
A HHIT is built from the following fields (Figure 1): A HHIT is built from the following fields (Figure 1):
* p = an IPV6 prefix (max 28 bit) * p = an IPv6 prefix (max 28 bit)
* 28-bit Hierarchy ID (HID) which provides the structure to organize * 28-bit HID which provides the structure to organize HITs into
HITs into administrative domains. HIDs are further divided into administrative domains. HIDs are further divided into two fields:
two fields:
- 14-bit Registered Assigning Authority (RAA) (Section 3.3.1) - 14-bit Registered Assigning Authority (RAA) (Section 3.3.1)
- 14-bit Hierarchical HIT Domain Authority (HDA) (Section 3.3.2) - 14-bit HHIT Domain Authority (HDA) (Section 3.3.2)
* 8-bit HHIT Suite ID (HHSI) * 8-bit HHIT Suite ID (HHSI)
* ORCHID hash (92 - prefix length, e.g., 64) See Section 3.5 for * ORCHID hash (92 - prefix length, e.g., 64) See Section 3.5 for
more details. more details.
14 bits| 14 bits 8 bits 14 bits| 14 bits 8 bits
+-------+-------+ +--------------+ +-------+-------+ +--------------+
| RAA | HDA | |HHIT Suite ID | | RAA | HDA | |HHIT Suite ID |
+-------+-------+ +--------------+ +-------+-------+ +--------------+
\ | ____/ ___________/ \ | ____/ ___________/
\ \ _/ ___/ \ \ _/ ___/
\ \/ / \ \/ /
| p bits | 28 bits |8bits| o=92-p bits | | p bits | 28 bits |8bits| o=92-p bits |
+--------------+------------+-----+------------------------+ +--------------+------------+-----+------------------------+
| IPV6 Prefix | HID |HHSI | ORCHID hash | | IPv6 Prefix | HID |HHSI | ORCHID hash |
+--------------+------------+-----+------------------------+ +--------------+------------+-----+------------------------+
Figure 1: HHIT Format Figure 1: HHIT Format
The Context ID (generated with openssl rand) for the ORCHID hash is: The Context ID (generated with openssl rand) for the ORCHID hash is:
Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40
Context IDs are allocated out of the namespace introduced for Context IDs are allocated out of the namespace introduced for
Cryptographically Generated Addresses (CGA) Type Tags [RFC3972]. Cryptographically Generated Addresses (CGA) Type Tags [RFC3972].
3.1. HHIT Prefix for RID Purposes 3.1. HHIT Prefix for RID Purposes
The IPv6 HHIT prefix MUST be distinct from that used in the flat- The IPv6 HHIT prefix MUST be distinct from that used in the flat-
space HIT as allocated in [RFC7343]. Without this distinct prefix, space HIT as allocated in [RFC7343]. Without this distinct prefix,
the first 4 bits of the RAA would be interpreted as the HIT Suite ID the first 4 bits of the RAA would be interpreted as the HIT Suite ID
per HIPv2 [RFC7401]. per HIPv2 [RFC7401].
Initially, for DET use, one 28-bit prefix should be assigned out of Initially, the IPv6 prefix listed in Table 1 is assigned for DET use.
the IANA IPv6 Special Purpose Address Block ([RFC6890]). It has been registered in the "IANA IPv6 Special-Purpose Address
Registry" [RFC6890].
HHIT Use Bits Value +==========+======+==============+
DET 28 TBD6 (suggested value 2001:30::/28) | HHIT Use | Bits | Value |
+==========+======+==============+
| DET | 28 | 2001:30::/28 |
+----------+------+--------------+
Table 1: Initial DET IPv6 Prefix
Other prefixes may be added in the future either for DET use or other Other prefixes may be added in the future either for DET use or other
applications of HHITs. For a prefix to be added to the registry in applications of HHITs. For a prefix to be added to the registry in
Section 8.2, its usage and HID allocation process have to be publicly Section 8.2, its usage and HID allocation process have to be publicly
available. available.
3.2. HHIT Suite IDs 3.2. HHIT Suite IDs
The HHIT Suite IDs specify the HI and hash algorithms. These are a The HHIT Suite IDs specify the HI and hash algorithms. These are a
superset of the 4/8-bit HIT Suite ID as defined in Section 5.2.10 of superset of the 4-bit and 8-bit HIT Suite IDs as defined in
[RFC7401]. Section 5.2.10 of [RFC7401].
The HHIT values of 1 - 15 map to the basic 4-bit HIT Suite IDs. HHIT The HHIT values 1 - 15 map to the basic 4-bit HIT Suite IDs. HHIT
values of 17 - 31 map to the extended 8-bit HIT Suite IDs. HHIT values 17 - 31 map to the extended 8-bit HIT Suite IDs. HHIT values
values unique to HHIT will start with value 32. unique to HHIT will start with value 32.
As HHIT introduces a new Suite ID, EdDSA/cSHAKE128, and since this is As HHIT introduces a new Suite ID, EdDSA/cSHAKE128, and because this
of value to HIPv2, it will be allocated out of the 4-bit HIT space is of value to HIPv2, it will be allocated out of the 4-bit HIT space
and result in an update to HIT Suite IDs. Future HHIT Suite IDs may and result in an update to HIT Suite IDs. Future HHIT Suite IDs may
be allocated similarly, or may come out of the additional space made be allocated similarly, or they may come out of the additional space
available by going to 8 bits. made available by going to 8 bits.
The following HHIT Suite IDs are defined: The following HHIT Suite IDs are defined:
HHIT Suite Value +=================+=============+
RESERVED 0 | HHIT Suite | Value |
RSA,DSA/SHA-256 1 [RFC7401] +=================+=============+
ECDSA/SHA-384 2 [RFC7401] | RESERVED | 0 |
ECDSA_LOW/SHA-1 3 [RFC7401] +-----------------+-------------+
EdDSA/cSHAKE128 TBD3 (suggested value 5) | RSA,DSA/SHA-256 | 1 [RFC7401] |
+-----------------+-------------+
| ECDSA/SHA-384 | 2 [RFC7401] |
+-----------------+-------------+
| ECDSA_LOW/SHA-1 | 3 [RFC7401] |
+-----------------+-------------+
| EdDSA/cSHAKE128 | 5 |
+-----------------+-------------+
3.2.1. HDA custom HIT Suite IDs Table 2: Initial HHIT Suite IDs
Support for 8-bit HHIT Suite IDs allows for HDA custom HIT Suite IDs. 3.2.1. HDA Custom HIT Suite IDs
These will be assigned values greater than 15 as follows:
HHIT Suite Value Support for 8-bit HHIT Suite IDs allows for HDA custom HIT Suite IDs
HDA Private Use 1 TBD4 (suggested value 254) (see Table 3).
HDA Private Use 2 TBD5 (suggested value 255)
+===================+=======+
| HHIT Suite | Value |
+===================+=======+
| HDA Private Use 1 | 254 |
+-------------------+-------+
| HDA Private Use 2 | 255 |
+-------------------+-------+
Table 3: HDA Custom HIT
Suite IDs
These custom HIT Suite IDs, for example, may be used for large-scale These custom HIT Suite IDs, for example, may be used for large-scale
experimenting with post quantum computing hashes or similar domain experimentation with post-quantum computing hashes or similar domain-
specific needs. Note that currently there is no support for domain- specific needs. Note that currently there is no support for domain-
specific HI algorithms. specific HI algorithms.
They should not be used to create a "de facto standardization". They should not be used to create a "de facto standardization".
Section 8.2 states that additional Suite IDs can be made through IETF Section 8.2 states that additional Suite IDs can be made through IETF
Review. Review.
3.3. The Hierarchy ID (HID) 3.3. The Hierarchy ID (HID)
The Hierarchy ID (HID) provides the structure to organize HITs into The HID provides the structure to organize HITs into administrative
administrative domains. HIDs are further divided into two fields: domains. HIDs are further divided into two fields:
* 14-bit Registered Assigning Authority (RAA) * 14-bit Registered Assigning Authority (RAA)
* 14-bit Hierarchical HIT Domain Authority (HDA) * 14-bit HHIT Domain Authority (HDA)
The rationale for the 14/14 HID split is described in Appendix B. The rationale for splitting the HID into two 14-bit domains is
described in Appendix B.
The two levels of hierarchy allows for Civil Aviation Authorities The two levels of hierarchy allow for Civil Aviation Authorities
(CAAs) to have it least one RAA for their National Air Space (NAS). (CAAs) to have it least one RAA for their National Air Space (NAS).
Within its RAA(s), the CAAs can delegate HDAs as needed. There may Within its RAAs, the CAAs can delegate HDAs as needed. There may be
be other RAAs allowed to operate within a given NAS; this is a policy other RAAs allowed to operate within a given NAS; this is a policy
decision of each CAA. decision of each CAA.
3.3.1. The Registered Assigning Authority (RAA) 3.3.1. The Registered Assigning Authority (RAA)
An RAA is a business or organization that manages a registry of HDAs. An RAA is a business or organization that manages a registry of HDAs.
For example, the Federal Aviation Authority (FAA) or Japan Civil For example, the Federal Aviation Authority (FAA) or Japan Civil
Aviation Bureau (JCAB) could be an RAA. Aviation Bureau (JCAB) could be RAAs.
The RAA is a 14-bit field (16,384 RAAs). The management of this The RAA is a 14-bit field (16,384 RAAs). Management of this space is
space is further elaborated in [drip-registries]. An RAA MUST further described in [DRIP-REG]. An RAA MUST provide a set of
provide a set of services to allocate HDAs to organizations. It services to allocate HDAs to organizations. It SHOULD have a public
SHOULD have a public policy on what is necessary to obtain an HDA. policy on what is necessary to obtain an HDA. The RAA need not
The RAA need not maintain any HIP related services. It MUST maintain maintain any HIP-related services. At minimum, it MUST maintain a
a DNS zone minimally for the HDA zone delegation for discovering HIP DNS zone for the HDA zone delegation for discovering HIP RVS servers
RVS servers [RFC8004] for the HID. The zone delegation is covered in [RFC8004] for the HID. Zone delegation is covered in [DRIP-REG].
[drip-registries].
As DETs under an administrative control may be used in many different As DETs under administrative control may be used in many different
domains (e.g., commercial, recreation, military), RAAs should be domains (e.g., commercial, recreation, military), RAAs should be
allocated in blocks (e.g. 16-19) with consideration on the likely allocated in blocks (e.g., 16-19) with consideration of the likely
size of a particular usage. Alternatively, different prefixes can be size of a particular usage. Alternatively, different prefixes can be
used to separate different domains of use of HHITs. used to separate different domains of use of HHITs.
The RAA DNS zone within the UAS DNS tree may be a PTR for its RAA. The RAA DNS zone within the UAS DNS tree may be a PTR for its RAA.
It may be a zone in an HHIT specific DNS zone. Assume that the RAA It may be a zone in a HHIT-specific DNS zone. Assume that the RAA is
is decimal 100. The PTR record could be constructed as follows decimal 100. The PTR record could be constructed as follows (where
(where 20010030 is the DET prefix): 20010030 is the DET prefix):
100.20010030.hhit.arpa. IN PTR raa.example.com. 100.20010030.hhit.arpa. IN PTR raa.example.com.
Note that if the zone 20010030.hhit.arpa is ultimately used, some Note that if the zone 20010030.hhit.arpa is ultimately used, a
registrar will need to manage this for all HHIT applications. Thus registrar will need to manage this for all HHIT applications. Thus,
further thought will be needed in the actual zone tree and further thought will be needed in the actual DNS zone tree and
registration process [drip-registries]. registration process [DRIP-REG].
3.3.2. The Hierarchical HIT Domain Authority (HDA) 3.3.2. The HHIT Domain Authority (HDA)
An HDA may be an Internet Service Provider (ISP), UAS Service An HDA may be an Internet Service Provider (ISP), UAS Service
Supplier (USS), or any third party that takes on the business to Supplier (USS), or any third party that takes on the business to
provide UAS services management, HIP RVSs or other needed services provide UAS services management, HIP RVSs or other needed services
such as those required for HHIT and/or HIP-enabled devices. such as those required for HHIT and/or HIP-enabled devices.
The HDA is a 14-bit field (16,384 HDAs per RAA) assigned by an RAA is The HDA is a 14-bit field (16,384 HDAs per RAA) assigned by an RAA
further elaborated in [drip-registries]. An HDA must maintain public and is further described in [DRIP-REG]. An HDA must maintain public
and private UAS registration information and should maintain a set of and private UAS registration information and should maintain a set of
RVS servers for UAS clients that may use HIP. How this is done and RVS servers for UAS clients that may use HIP. How this is done and
scales to the potentially millions of customers are outside the scope scales to the potentially millions of customers are outside the scope
of this document, though covered in [drip-registries]. This service of this document; they are covered in [DRIP-REG]. This service
should be discoverable through the DNS zone maintained by the HDA's should be discoverable through the DNS zone maintained by the HDA's
RAA. RAA.
An RAA may assign a block of values to an individual organization. An RAA may assign a block of values to an individual organization.
This is completely up to the individual RAA's published policy for This is completely up to the individual RAA's published policy for
delegation. Such policy is out of scope. delegation. Such a policy is out of scope for this document.
3.4. Edwards-Curve Digital Signature Algorithm for HHITs 3.4. Edwards-Curve Digital Signature Algorithm for HHITs
The Edwards-Curve Digital Signature Algorithm (EdDSA) [RFC8032] is The Edwards-Curve Digital Signature Algorithm (EdDSA) [RFC8032] is
specified here for use as HIs per HIPv2 [RFC7401]. specified here for use as HIs per HIPv2 [RFC7401].
The intent in this document is to add EdDSA as a HI algorithm for The intent in this document is to add EdDSA as a HI algorithm for
DETs, but doing so impacts the HIP parameters used in a HIP exchange. DETs, but doing so impacts the HIP parameters used in a HIP exchange.
The subsections of this section document the required updates of HIP Sections 3.4.1 through 3.4.2 describe the required updates to HIP
parameters. Other than the HIP DNS RR (Resource Record) [RFC8005], parameters. Other than the HIP DNS RR (Resource Record) [RFC8005],
these should not be needed in a DRIP implementation that does not use these should not be needed in a DRIP implementation that does not use
HIP. HIP.
See Section 3.2 for use of the HIT Suite in the context of DRIP. See Section 3.2 for use of the HIT Suite in the context of DRIP.
3.4.1. HOST_ID 3.4.1. HOST_ID
The HOST_ID parameter specifies the public key algorithm, and for The HOST_ID parameter specifies the public key algorithm, and for
elliptic curves, a name. The HOST_ID parameter is defined in elliptic curves, a name. The HOST_ID parameter is defined in
Section 5.2.9 of [RFC7401]. Section 5.2.9 of [RFC7401]. Table 4 adds a new HI Algorithm.
Algorithm +===================+=======+===========+
profile Value | Algorithm profile | Value | Reference |
+===================+=======+===========+
| EdDSA | 13 | [RFC8032] |
+-------------------+-------+-----------+
EdDSA TBD1 (suggested value 13) [RFC8032] Table 4: New EdDSA Host ID
3.4.1.1. HIP Parameter support for EdDSA 3.4.1.1. HIP Parameter support for EdDSA
The addition of EdDSA as a HI algorithm requires a subfield in the The addition of EdDSA as a HI algorithm requires a subfield in the
HIP HOST_ID parameter (Section 5.2.9 of [RFC7401]) as was done for HIP HOST_ID parameter (Section 5.2.9 of [RFC7401]) as was done for
ECDSA when used in a HIP exchange. ECDSA when used in a HIP exchange.
For HIP hosts that implement EdDSA as the algorithm, the following For HIP hosts that implement EdDSA as the algorithm, the following
EdDSA curves are represented by the following fields: EdDSA curves are represented by the fields in Figure 2
0 1 2 3 0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| EdDSA Curve | NULL | | EdDSA Curve | NULL |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Public Key | | Public Key |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
EdDSA Curve Curve label Figure 2: EdDSA Curves Fields
Public Key Represented in Octet-string format [RFC8032]
Figure 2 EdDSA Curve: Curve label
For hosts that implement EdDSA as a HIP algorithm the following EdDSA Public Key: Represented in Octet-string format [RFC8032]
curves are defined; recommended curves are tagged accordingly:
Algorithm Curve Values For hosts that implement EdDSA as a HIP algorithm, the following
EdDSA curves are defined. Recommended curves are tagged accordingly:
EdDSA RESERVED 0 +===========+==============+===========================+
EdDSA EdDSA25519 1 [RFC8032] (RECOMMENDED) | Algorithm | Curve | Values |
EdDSA EdDSA25519ph 2 [RFC8032] +===========+==============+===========================+
EdDSA EdDSA448 3 [RFC8032] (RECOMMENDED) | EdDSA | RESERVED | 0 |
EdDSA EdDSA448ph 4 [RFC8032] +-----------+--------------+---------------------------+
| EdDSA | EdDSA25519 | 1 [RFC8032] (RECOMMENDED) |
+-----------+--------------+---------------------------+
| EdDSA | EdDSA25519ph | 2 [RFC8032] |
+-----------+--------------+---------------------------+
| EdDSA | EdDSA448 | 3 [RFC8032] (RECOMMENDED) |
+-----------+--------------+---------------------------+
| EdDSA | EdDSA448ph | 4 [RFC8032] |
+-----------+--------------+---------------------------+
Table 5: EdDSA Curves
3.4.1.2. HIP DNS RR support for EdDSA 3.4.1.2. HIP DNS RR support for EdDSA
The HIP DNS RR is defined in [RFC8005]. It uses the values defined The HIP DNS RR is defined in [RFC8005]. It uses the values defined
for the 'Algorithm Type' of the IPSECKEY RR [RFC4025] for its PK for the 'Algorithm Type' of the IPSECKEY RR [RFC4025] for its PK
Algorithm field. Algorithm field.
The new EdDSA HI uses [ipseckey-eddsa] for the IPSECKEY RR encoding. The 'Algorithm Type' value and EdDSA HI encoding are assigned per
[RFC9373].
3.4.2. HIT_SUITE_LIST 3.4.2. HIT_SUITE_LIST
The HIT_SUITE_LIST parameter contains a list of the supported HIT The HIT_SUITE_LIST parameter contains a list of the HIT suite IDs
suite IDs of the HIP Responder. Based on the HIT_SUITE_LIST, the HIP that the HIP Responder supports. The HIT_SUITE_LIST allows the HIP
Initiator can determine which source HIT Suite IDs are supported by Initiator to determine which source HIT Suite IDs are supported by
the Responder. The HIT_SUITE_LIST parameter is defined in the Responder. The HIT_SUITE_LIST parameter is defined in
Section 5.2.10 of [RFC7401]. Section 5.2.10 of [RFC7401].
The following HIT Suite ID is defined: The following HIT Suite ID is defined:
HIT Suite Value +=================+=======+
EdDSA/cSHAKE128 TBD3 (suggested value 5) | HIT Suite | Value |
+=================+=======+
| EdDSA/cSHAKE128 | 5 |
+-----------------+-------+
Table 1 provides more detail on the above HIT Suite combination. Table 6: HIT Suite ID
Table 7 provides more detail on the above HIT Suite combination.
The output of cSHAKE128 is variable per the needs of a specific The output of cSHAKE128 is variable per the needs of a specific
ORCHID construction. It is at most 96 bits long and is directly used ORCHID construction. It is at most 96 bits long and is directly used
in the ORCHID (without truncation). in the ORCHID (without truncation).
+=======+===========+=========+===========+====================+ +=======+===========+=========+===========+====================+
| Index | Hash | HMAC | Signature | Description | | Index | Hash | HMAC | Signature | Description |
| | function | | algorithm | | | | function | | algorithm | |
| | | | family | | | | | | family | |
+=======+===========+=========+===========+====================+ +=======+===========+=========+===========+====================+
| 5 | cSHAKE128 | KMAC128 | EdDSA | EdDSA HI hashed | | 5 | cSHAKE128 | KMAC128 | EdDSA | EdDSA HI hashed |
| | | | | with cSHAKE128, | | | | | | with cSHAKE128, |
| | | | | output is variable | | | | | | output is variable |
+-------+-----------+---------+-----------+--------------------+ +-------+-----------+---------+-----------+--------------------+
Table 1: HIT Suites Table 7: HIT Suites
3.5. ORCHIDs for Hierarchical HITs 3.5. ORCHIDs for HHITs
This section improves on ORCHIDv2 [RFC7343] with three enhancements: This section improves on ORCHIDv2 [RFC7343] with three enhancements:
* Optional "Info" field between the Prefix and ORCHID Generation * the inclusion of an optional "Info" field between the Prefix and
Algorithm (OGA) ID. ORCHID Generation Algorithm (OGA) ID.
* Increased flexibility on the length of each component in the * an increase in flexibility on the length of each component in the
ORCHID construction, provided the resulting ORCHID is 128 bits. ORCHID construction, provided the resulting ORCHID is 128 bits.
* Use of cSHAKE, NIST SP 800-185 [NIST.SP.800-185], for the hashing * the use of cSHAKE [NIST.SP.800-185] for the hashing function.
function.
The Keccak [Keccak] based cSHAKE XOF hash function is a variable The cSHAKE XOF hash function based on Keccak [Keccak] is a variable
output length hash function. As such it does not use the truncation output length hash function. As such, it does not use the truncation
operation that other hashes need. The invocation of cSHAKE specifies operation that other hashes need. The invocation of cSHAKE specifies
the desired number of bits in the hash output. Further, cSHAKE has a the desired number of bits in the hash output. Further, cSHAKE has a
parameter 'S' as a customization bit string. This parameter will be parameter 'S' as a customization bit string. This parameter will be
used for including the ORCHID Context Identifier in a standard used for including the ORCHID Context Identifier in a standard
fashion. fashion.
This ORCHID construction includes the fields in the ORCHID in the This ORCHID construction includes the fields in the ORCHID in the
hash to protect them against substitution attacks. It also provides hash to protect them against substitution attacks. It also provides
for inclusion of additional information, in particular the for inclusion of additional information (in particular, the
hierarchical bits of the Hierarchical HIT, in the ORCHID generation. hierarchical bits of the HHIT) in the ORCHID generation. This should
This should be viewed as an update to ORCHIDv2 [RFC7343], as it can be viewed as an update to ORCHIDv2 [RFC7343], as it can produce
produce ORCHIDv2 output. ORCHIDv2 output.
The follow sub-sections define the general, new, ORCHID construct The following subsections define the new general ORCHID construct
with the specific application here for HHITs. Thus items like the with the specific application for HHITs. Thus items like the hash
hash size is only discussed as it impacts HHIT's 64-bit hash. Other size are only discussed in terms of how they impact the HHIT's 64-bit
hash sizes should be discussed in any other specific use of this new hash. Other hash sizes should be discussed for other specific uses
ORCHID construct. of this new ORCHID construct.
3.5.1. Adding Additional Information to the ORCHID 3.5.1. Adding Additional Information to the ORCHID
ORCHIDv2 [RFC7343] is defined as consisting of three components: ORCHIDv2 [RFC7343] is defined as consisting of three components:
ORCHID := Prefix | OGA ID | Encode_96( Hash ) ORCHID := Prefix | OGA ID | Encode_96( Hash )
where: where:
Prefix : A constant 28-bit-long bitstring value Prefix
(IPV6 prefix) A constant 28-bit-long bitstring value (IPv6 prefix)
OGA ID : A 4-bit long identifier for the Hash_function OGA ID
in use within the specific usage context. When A 4-bit-long identifier for the Hash_function in use within the
used for HIT generation this is the HIT Suite ID. specific usage context. When used for HIT generation, this is the
HIT Suite ID.
Encode_96( ) : An extraction function in which output is obtained Encode_96( )
by extracting the middle 96-bit-long bitstring An extraction function in which output is obtained by extracting
from the argument bitstring. the middle 96-bit-long bitstring from the argument bitstring.
The new ORCHID function is as follows: The new ORCHID function is as follows:
ORCHID := Prefix (p) | Info (n) | OGA ID (o) | Hash (m) ORCHID := Prefix (p) | Info (n) | OGA ID (o) | Hash (m)
where: where:
Prefix (p) : An IPv6 prefix of length p (max 28-bit-long). Prefix (p)
An IPv6 prefix of length p (max 28 bits long).
Info (n) : n bits of information that define a use of the
ORCHID. 'n' can be zero, that is no additional
information.
OGA ID (o) : A 4- or 8-bit long identifier for the Hash_function Info (n)
in use within the specific usage context. When n bits of information that define a use of the ORCHID. 'n' can be
used for HIT generation this is the HIT Suite ID zero, which means no additional information.
[IANA-HIP]. When used for HHIT generation this is
the HHIT Suite ID [TBC_DRIP_REGISTRY].
Note to the RFC Editor: Please replace [TBC_DRIP_REGISTRY] OGA ID (o)
with the pointer to the IANA registry created in A 4- or 8-bit long identifier for the Hash_function in use within
Section 8.2. the specific usage context. When used for HIT generation, this is
the HIT Suite ID [IANA-HIP]. When used for HHIT generation, this
is the HHIT Suite ID [HHSI].
Hash (m) : An extraction function in which output is 'm' bits. Hash (m)
An extraction function in which output is 'm' bits.
Sizeof(p + n + o + m) 128 bits Sizeof(p + n + o + m) = 128 bits
The ORCHID length MUST be 128 bits. For HHITs with a 28-bit IPv6 The ORCHID length MUST be 128 bits. For HHITs with a 28-bit IPv6
prefix, there are 100 bits remaining to be divided in any manner prefix, there are 100 bits remaining to be divided in any manner
between the additional information ("Info"), OGA ID, and the hash between the additional information ("Info"), OGA ID, and the hash
output. Consideration must be given to the size of the hash portion, output. Consideration must be given to the size of the hash portion,
taking into account risks like pre-image attacks. 64 bits, as used taking into account risks like pre-image attacks. 64 bits, as used
here for HHITs, may be as small as is acceptable. The size of 'n', here for HHITs, may be as small as is acceptable. The size of 'n',
for the HID, is then determined as what is left; in the case of the for the HID, is then determined as what is left; in the case of the
8-bit OGA used for HHIT, this is 28 bits. 8-bit OGA used for HHIT, this is 28 bits.
3.5.2. ORCHID Encoding 3.5.2. ORCHID Encoding
This update adds a different encoding process to that currently used This update adds a different encoding process to that currently used
in ORCHIDv2. The input to the hash function explicitly includes all in ORCHIDv2. The input to the hash function explicitly includes all
the header content plus the Context ID. The header content consists the header content plus the Context ID. The header content consists
of the Prefix, the Additional Information ("Info"), and OGA ID (HIT of the Prefix, the Additional Information ("Info"), and the OGA ID
Suite ID). Secondly, the length of the resulting hash is set by sum (HIT Suite ID). Secondly, the length of the resulting hash is set by
of the length of the ORCHID header fields. For example, a 28-bit the sum of the length of the ORCHID header fields. For example, a
prefix with 28 bits for the HID and 8 bits for the OGA ID leaves 64 28-bit prefix with 28 bits for the HID and 8 bits for the OGA ID
bits for the hash length. leaves 64 bits for the hash length.
To achieve the variable length output in a consistent manner, the To achieve the variable length output in a consistent manner, the
cSHAKE hash is used. For this purpose, cSHAKE128 is appropriate. cSHAKE hash is used. For this purpose, cSHAKE128 is appropriate.
The cSHAKE function call for this update is: The cSHAKE function call is:
cSHAKE128(Input, L, "", Context ID) cSHAKE128(Input, L, "", Context ID)
Input := Prefix | Additional Information | OGA ID | HOST_ID Input := Prefix | Additional Information | OGA ID | HOST_ID
L := Length in bits of hash portion of ORCHID L := Length in bits of the hash portion of ORCHID
For full Suite ID support (those that use fixed length hashes like For full Suite ID support (those that use fixed length hashes like
SHA256), the following hashing can be used (Note: this does not SHA256), the following hashing can be used (Note: this does not
produce output Identical to ORCHIDv2 for a /28 prefix and Additional produce output identical to ORCHIDv2 for a /28 prefix and Additional
Information of zero-length): Information of zero length):
Hash[L](Context ID | Input) Hash[L](Context ID | Input)
Input := Prefix | Additional Information | OGA ID | HOST_ID Input := Prefix | Additional Information | OGA ID | HOST_ID
L := Length in bits of hash portion of ORCHID L := Length in bits of the hash portion of ORCHID
Hash[L] := An extraction function in which output is obtained Hash[L] := An extraction function in which output is obtained
by extracting the middle L-bit-long bitstring by extracting the middle L-bit-long bitstring
from the argument bitstring. from the argument bitstring.
The middle L-bits are those bits from the source number where either The middle L-bits are those bits from the source number where either
there is an equal number of bits before and after these bits, or there is an equal number of bits before and after these bits, or
there is one more bit prior (when the difference between hash size there is one more bit prior (when the difference between hash size
and L is odd). and L is odd).
Hierarchical HITs use the Context ID defined in Section 3. HHITs use the Context ID defined in Section 3.
3.5.2.1. Encoding ORCHIDs for HIPv2 3.5.2.1. Encoding ORCHIDs for HIPv2
This section discusses how to provide backwards compatibility for This section discusses how to provide backwards compatibility for
ORCHIDv2 [RFC7343] as used in HIPv2 [RFC7401]. ORCHIDv2 [RFC7343] as used in HIPv2 [RFC7401].
For HIPv2, the Prefix is 2001:20::/28 (Section 6 of [RFC7343]). For HIPv2, the Prefix is 2001:20::/28 (Section 6 of [RFC7343]).
'Info' is zero-length (i.e., not included), and OGA ID is 4-bit. 'Info' is zero-length (i.e., not included), and OGA ID is 4-bit.
Thus, the HI Hash is 96-bit length. Further, the Prefix and OGA ID Thus, the HI Hash is 96 bits in length. Further, the Prefix and OGA
are not included in the hash calculation. Thus, the following ORCHID ID are not included in the hash calculation. Thus, the following
calculations for fixed output length hashes are used: ORCHID calculations for fixed output length hashes are used:
Hash[L](Context ID | Input) Hash[L](Context ID | Input)
Input := HOST_ID Input := HOST_ID
L := 96 L := 96
Context ID := 0xF0EF F02F BFF4 3D0F E793 0C3C 6E61 74EA Context ID := 0xF0EF F02F BFF4 3D0F E793 0C3C 6E61 74EA
Hash[L] := An extraction function in which output is obtained Hash[L] := An extraction function in which output is obtained
by extracting the middle L-bit-long bitstring by extracting the middle L-bit-long bitstring
from the argument bitstring. from the argument bitstring.
skipping to change at page 16, line 23 skipping to change at line 737
Then, the ORCHID is constructed as follows: Then, the ORCHID is constructed as follows:
Prefix | OGA ID | Hash Output Prefix | OGA ID | Hash Output
3.5.3. ORCHID Decoding 3.5.3. ORCHID Decoding
With this update, the decoding of an ORCHID is determined by the With this update, the decoding of an ORCHID is determined by the
Prefix and OGA ID. ORCHIDv2 [RFC7343] decoding is selected when the Prefix and OGA ID. ORCHIDv2 [RFC7343] decoding is selected when the
Prefix is: 2001:20::/28. Prefix is: 2001:20::/28.
For Hierarchical HITs, the decoding is determined by the presence of For HHITs, the decoding is determined by the presence of the HHIT
the HHIT Prefix as specified in Section 8.2. Prefix as specified in Section 8.2.
3.5.4. Decoding ORCHIDs for HIPv2 3.5.4. Decoding ORCHIDs for HIPv2
This section is included to provide backwards compatibility for This section is included to provide backwards compatibility for
ORCHIDv2 [RFC7343] as used for HIPv2 [RFC7401]. ORCHIDv2 [RFC7343] as used for HIPv2 [RFC7401].
HITs are identified by a Prefix of 2001:20::/28. The next 4 bits are HITs are identified by a Prefix of 2001:20::/28. The next 4 bits are
the OGA ID. The remaining 96 bits are the HI Hash. the OGA ID. The remaining 96 bits are the HI Hash.
4. Hierarchical HITs as DRIP Entity Tags 4. HHITs as DRIP Entity Tags
HHITs for UAS ID (called, DETs) use the new EdDSA/SHAKE128 HIT suite HHITs for UAS ID (called, DETs) use the new EdDSA/SHAKE128 HIT suite
defined in Section 3.4 (GEN-2 in [RFC9153]). This hierarchy, defined in Section 3.4 (GEN-2 in [RFC9153]). This hierarchy,
cryptographically bound within the HHIT, provides the information for cryptographically bound within the HHIT, provides the information for
finding the UA's HHIT registry (ID-3 in [RFC9153]). finding the UA's HHIT registry (ID-3 in [RFC9153]).
The ASTM Standard Specification for Remote ID and Tracking The ASTM Standard Specification for Remote ID and Tracking
[F3411-22a] adds support for DETs. This is only available via the [F3411-22a] adds support for DETs. This is only available via the
new UAS ID type 4, "Specific Session ID (SSI)". new UAS ID type 4, "Specific Session ID (SSI)".
This new SSI uses the first byte of the 20-byte UAS ID for the SSI This new SSI uses the first byte of the 20-byte UAS ID for the SSI
Type, thus restricting the UAS ID of this type to a maximum of 19 Type, thus restricting the UAS ID of this type to a maximum of 19
bytes. The SSI Types initially assigned are: bytes. The SSI Types initially assigned are:
SSI 1 IETF - DRIP Drone Remote ID Protocol (DRIP) entity ID. SSI 1: IETF - DRIP Drone Remote ID Protocol (DRIP) entity ID.
SSI 2 3GPP - IEEE 1609.2-2016 HashedID8 SSI 2: 3GPP - IEEE 1609.2-2016 HashedID8
4.1. Nontransferablity of DETs 4.1. Nontransferablity of DETs
A HI and its DET SHOULD NOT be transferable between UA or even A HI and its DET SHOULD NOT be transferable between UA or even
between replacement electronics (e.g., replacement of damaged between replacement electronics (e.g., replacement of damaged
controller CPU) for a UA. The private key for the HI SHOULD be held controller CPU) for a UA. The private key for the HI SHOULD be held
in a cryptographically secure component. in a cryptographically secure component.
4.2. Encoding HHITs in CTA 2063-A Serial Numbers 4.2. Encoding HHITs in CTA 2063-A Serial Numbers
In some cases, it is advantageous to encode HHITs as a CTA 2063-A In some cases, it is advantageous to encode HHITs as a CTA 2063-A
Serial Number [CTA2063A]. For example, the FAA Remote ID Rules Serial Number [CTA2063A]. For example, the FAA Remote ID Rules
[FAA_RID] state that a Remote ID Module (i.e., not integrated with UA [FAA_RID] state that a Remote ID Module (i.e., not integrated with UA
controller) must only use "the serial number of the unmanned controller) must only use "the serial number of the unmanned
aircraft"; CTA 2063-A meets this requirement. aircraft"; CTA 2063-A meets this requirement.
Encoding an HHIT within the CTA 2063-A format is not simple. The CTA Encoding a HHIT within the CTA 2063-A format is not simple. The CTA
2063-A format is defined as follows: 2063-A format is defined as follows:
Serial Number := MFR Code | Length Code | MFR SN Serial Number := MFR Code | Length Code | MFR SN
where: where:
MFR Code : 4 character code assigned by ICAO MFR Code
(International Civil Aviation Organization, 4 character code assigned by ICAO (International Civil Aviation
a UN Agency). Organization, a UN Agency).
Length Code : 1 character Hex encoding of MFR SN length (1-F). Length Code
1 character Hex encoding of MFR SN length (1-F).
MFR SN : US-ASCII alphanumeric code (0-9, A-Z except O and I). MFR SN
Maximum length of 15 characters. US-ASCII alphanumeric code (0-9, A-Z except O and I). Maximum
length of 15 characters.
There is no place for the HID; there will need to be a mapping There is no place for the HID; there will need to be a mapping
service from Manufacturer Code to HID. The HHIT Suite ID and ORCHID service from Manufacturer Code to HID. The HHIT Suite ID and ORCHID
hash will take the full 15 characters (as described below) of the MFR hash will take the full 15 characters (as described below) of the MFR
SN field. SN field.
A character in a CTA 2063-A Serial Number "shall include any A character in a CTA 2063-A Serial Number "shall include any
combination of digits and uppercase letters, except the letters O and combination of digits and uppercase letters, except the letters O and
I, but may include all digits". This would allow for a Base34 I, but may include all digits". This would allow for a Base34
encoding of the binary HHIT Suite ID and ORCHID hash in 15 encoding of the binary HHIT Suite ID and ORCHID hash in 15
characters. Although, programmatically, such a conversion is not characters. Although, programmatically, such a conversion is not
hard, other technologies (e.g., credit card payment systems) that hard, other technologies (e.g., credit card payment systems) that
have used such odd base encoding have had performance challenges. have used such odd base encoding have had performance challenges.
Thus, here a Base32 encoding will be used by also excluding the Thus, here a Base32 encoding will be used by also excluding the
letters Z and S (too similar to the digits 2 and 5). See Appendix C letters Z and S (because they are too similar to the digits 2 and 5,
for the encoding scheme. respectively). See Appendix C for the encoding scheme.
The low-order 72 bits (HHIT Suite ID | ORCHID hash) of the HHIT SHALL The low-order 72 bits (HHIT Suite ID | ORCHID hash) of the HHIT SHALL
be left-padded with 3 bits of zeros. This 75-bit number will be be left-padded with 3 bits of zeros. This 75-bit number will be
encoded into the 15-character MFR SN field using the digit/letters encoded into the 15-character MFR SN field using the digit/letters as
above. The manufacturer MUST use a Length Code of F (15). described above. The manufacturer MUST use a Length Code of F (15).
Note: The manufacturer MAY use the same Manufacturer Code with a Note: The manufacturer MAY use the same Manufacturer Code with a
Length Code of 1 - E (1 - 14) for other types of serial numbers. Length Code of 1 - E (1 - 14) for other types of serial numbers.
Using the sample DET from Section 5 that is for HDA=20 under RAA=10 Using the sample DET from Section 5 that is for HDA=20 under RAA=10
and having the ICAO CTA MFR Code of 8653, the 20-character CTA 2063-A and having the ICAO CTA MFR Code of 8653, the 20-character CTA 2063-A
Serial Number would be: Serial Number would be:
8653F02T7B8RA85D19LX 8653F02T7B8RA85D19LX
skipping to change at page 18, line 30 skipping to change at line 841
DNSSEC [RFC4034]) conversion of the 4-character Manufacturer Code to DNSSEC [RFC4034]) conversion of the 4-character Manufacturer Code to
high-order 58 bits (Prefix | HID) of the HHIT. That is, given a high-order 58 bits (Prefix | HID) of the HHIT. That is, given a
Manufacturer Code, a returned Prefix|HID value is reliable. Manufacturer Code, a returned Prefix|HID value is reliable.
Definition of this mapping service is out of scope of this document. Definition of this mapping service is out of scope of this document.
It should be noted that this encoding would only be used in the Basic It should be noted that this encoding would only be used in the Basic
ID Message (Section 2.2 of [RFC9153]). The DET is used in the ID Message (Section 2.2 of [RFC9153]). The DET is used in the
Authentication Messages (i.e., the messages that provide framing for Authentication Messages (i.e., the messages that provide framing for
authentication data only). authentication data only).
4.3. Remote ID DET as one Class of Hierarchical HITs 4.3. Remote ID DET as one Class of HHITs
UAS Remote ID DET may be one of a number of uses of HHITs. However, UAS Remote ID DET may be one of a number of uses of HHITs. However,
it is out of the scope of the document to elaborate on other uses of it is out of the scope of the document to elaborate on other uses of
HHITs. As such these follow-on uses need to be considered in HHITs. As such these follow-on uses need to be considered in
allocating the RAAs (Section 3.3.1) or HHIT prefix assignments allocating the RAAs (Section 3.3.1) or HHIT prefix assignments
(Section 8). (Section 8).
4.4. Hierarchy in ORCHID Generation 4.4. Hierarchy in ORCHID Generation
ORCHIDS, as defined in [RFC7343], do not cryptographically bind an ORCHIDS, as defined in [RFC7343], do not cryptographically bind an
IPv6 prefix nor the OGA ID (the HIT Suite ID) to the hash of the HI. IPv6 prefix or the OGA ID (the HIT Suite ID) to the hash of the HI.
The rationale at the time of developing ORCHID was attacks against At the time ORCHID was being developed, the rationale was attacks
these fields are Denial-of-Service (DoS) attacks against protocols against these fields are Denial-of-Service (DoS) attacks against
using ORCHIDs and thus up to those protocols to address the issue. protocols using ORCHIDs and thus it was up to those protocols to
address the issue.
HHITs, as defined in Section 3.5, cryptographically bind all content HHITs, as defined in Section 3.5, cryptographically bind all content
in the ORCHID through the hashing function. A recipient of a DET in the ORCHID through the hashing function. A recipient of a DET
that has the underlying HI can directly trust and act on all content that has the underlying HI can directly trust and act on all content
in the HHIT. This provides a strong, self-claim for using the in the HHIT. This provides a strong, self-claim for using the
hierarchy to find the DET Registry based on the HID (Section 4.5). hierarchy to find the DET Registry based on the HID (Section 4.5).
4.5. DRIP Entity Tag (DET) Registry 4.5. DRIP Entity Tag (DET) Registry
DETs are registered to HDAs. A registration process, DETs are registered to HDAs. The registration process defined in
[drip-registries], ensures DET global uniqueness (ID-4 in [RFC9153]). [DRIP-REG] ensures DET global uniqueness (ID-4 in Section 4.2.1 of
It also provides the mechanism to create UAS public/private data that [RFC9153]). It also allows the mechanism to create UAS public/
are associated with the DET (REG-1 and REG-2 in [RFC9153]). private data that are associated with the DET (REG-1 and REG-2 in
Section 4.4.1 of [RFC9153]).
4.6. Remote ID Authentication using DETs 4.6. Remote ID Authentication Using DETs
The EdDSA25519 HI (Section 3.4) underlying the DET can be used in an The EdDSA25519 HI (Section 3.4) underlying the DET can be used in an
88-byte self-proof evidence (timestamp, HHIT, and signature of these) 88-byte self-proof evidence (timestamps, HHIT, and signature of
to provide proof to Observers of Remote ID ownership (GEN-1 in these) to provide proof to Observers of Remote ID ownership (GEN-1 in
[RFC9153]). In practice, the Wrapper and Manifest authentication Section 4.1.1 of [RFC9153]). In practice, the Wrapper and Manifest
formats (Sections 6.3.3 and 6.3.4 of [drip-authentication]) authentication formats (Sections 6.3.3 and 6.3.4 of [DRIP-AUTH])
implicitly provide this self-evidence. A lookup service like DNS can implicitly provide this self-proof evidence. A lookup service like
provide the HI and registration proof (GEN-3 in [RFC9153]). DNS can provide the HI and registration proof (GEN-3 in [RFC9153]).
Similarly, for Observers without Internet access, a 200-byte offline Similarly, for Observers without Internet access, a 200-byte offline
self-endorsement (Section 3.1.2 of [drip-authentication]) could self-endorsement (Section 3.1.2 of [DRIP-AUTH]) could provide the
provide the same Remote ID ownership proof. This endorsement would same Remote ID ownership proof. This endorsement would contain the
contain the HDA's signing of the UA's HHIT, itself signed by the UA's HDA's signing of the UA's HHIT, itself signed by the UA's HI. Only a
HI. Only a small cache (also Section 3.1.2 of [drip-authentication]) small cache (also Section 3.1.2 of [DRIP-AUTH]) that contains the
that contains the HDA's HI/HHIT and HDA meta-data is needed by the HDA's HI/HHIT and HDA meta-data is needed by the Observer. However,
Observer. However, such an object would just fit in the ASTM such an object would just fit in the ASTM Authentication Message
Authentication Message (Section 2.2 of [RFC9153]) with no room for (Section 2.2 of [RFC9153]) with no room for growth. In practice,
growth. In practice, [drip-authentication] provides this offline [DRIP-AUTH] provides this offline self-endorsement in two
self-endorsement in two authentication messages: the HDA's authentication messages: the HDA's endorsement of the UA's HHIT
endorsement of the UA's HHIT registration in a Link authentication registration in a Link authentication message whose hash is sent in a
message whose hash is sent in a Manifest authentication message. Manifest authentication message.
Hashes of any previously sent ASTM messages can be placed in a Hashes of any previously sent ASTM messages can be placed in a
Manifest authentication message (GEN-2 in [RFC9153]). When a Manifest authentication message (GEN-2 in [RFC9153]). When a
Location/Vector Message (i.e., a message that provides UA location, Location/Vector Message (i.e., a message that provides UA location,
altitude, heading, speed, and status) hash along with the hash of the altitude, heading, speed, and status) hash along with the hash of the
HDA's UA HHIT endorsement are sent in a Manifest authentication HDA's UA HHIT endorsement are sent in a Manifest authentication
message and the Observer can visually see a UA at the claimed message and the Observer can visually see a UA at the claimed
location, the Observer has a very strong proof of the UA's Remote ID. location, the Observer has very strong proof of the UA's Remote ID.
All this behavior and how to mix these authentication messages into This behavior and how to mix these authentication messages into the
the flow of UA operation messages are detailed in flow of UA operation messages are detailed in [DRIP-AUTH].
[drip-authentication].
5. DRIP Entity Tags (DETs) in DNS 5. DRIP Entity Tags (DETs) in DNS
There are two approaches for storing and retrieving DETs using DNS. There are two approaches for storing and retrieving DETs using DNS.
The following are examples of how this may be done. This will serve The following are examples of how this may be done. This serves as
as guidance to the actual deployment of DETs in DNS. However, this guidance to the actual deployment of DETs in DNS. However, this
document does not provide a recommendation. Further DNS-related document does not provide a recommendation about which approach to
considerations are covered in [drip-registries]. use. Further DNS-related considerations are covered in [DRIP-REG].
* As FQDNs, for example, "20010030.hhit.arpa.". * As FQDNs, for example, "20010030.hhit.arpa.".
* Reverse DNS lookups as IPv6 addresses per [RFC8005]. * Reverse DNS lookups as IPv6 addresses per [RFC8005].
A DET can be used to construct an FQDN that points to the USS that A DET can be used to construct an FQDN that points to the USS that
has the public/private information for the UA (REG-1 and REG-2 in has the public/private information for the UA (REG-1 and REG-2 in
[RFC9153]). For example, the USS for the HHIT could be found via the Section 4.4.1 of [RFC9153]). For example, the USS for the HHIT could
following: assume the RAA is decimal 100 and the HDA is decimal 50. be found via the following: assume the RAA is decimal 100 and the HDA
The PTR record is constructed as follows: is decimal 50. The PTR record is constructed as follows:
100.50.20010030.hhit.arpa. IN PTR foo.uss.example.org. 100.50.20010030.hhit.arpa. IN PTR foo.uss.example.org.
The HDA SHOULD provide DNS service for its zone and provide the HHIT The HDA SHOULD provide DNS service for its zone and provide the HHIT
detail response. detail response.
The DET reverse lookup can be a standard IPv6 reverse look up, or it The DET reverse lookup can be a standard IPv6 reverse look up, or it
can leverage off the HHIT structure. Using the allocated prefix for can leverage off the HHIT structure. Using the allocated prefix for
HHITs TBD6 [suggested value 2001:30::/28] (See Section 3.1), the RAA HHITs 2001:30::/28 (see Section 3.1), the RAA is decimal 10 and the
is decimal 10 and the HDA is decimal 20, the DET is: HDA is decimal 20, the DET is:
2001:30:280:1405:a3ad:1952:ad0:a69e 2001:30:280:1405:a3ad:1952:ad0:a69e
See Appendix B.1 for how the upper 64 bits, above, are constructed. See Appendix B.1 for how the upper 64 bits, above, are constructed.
A DET reverse lookup could be to: A DET reverse lookup could be:
a69e.0ad0.1952.a3ad.1405.0280.20.10.20010030.hhit.arpa.. a69e.0ad0.1952.a3ad.1405.0280.20.10.20010030.hhit.arpa.
or: or:
a3ad19520ad0a69e.5.20.10.20010030.hhit.arpa. a3ad19520ad0a69e.5.20.10.20010030.hhit.arpa.
A 'standard' ip6.arpa RR has the advantage of only one Registry A 'standard' ip6.arpa RR has the advantage of only one Registry
service supported. service supported.
$ORIGIN 5.0.4.1.0.8.2.0.0.3.0.0.1.0.0.2.ip6.arpa. $ORIGIN 5.0.4.1.0.8.2.0.0.3.0.0.1.0.0.2.ip6.arpa.
e.9.6.a.0.d.a.0.2.5.9.1.d.a.3.a IN PTR e.9.6.a.0.d.a.0.2.5.9.1.d.a.3.a IN PTR
a3ad1952ad0a69e.20.10.20010030.hhit.arpa. a3ad1952ad0a69e.20.10.20010030.hhit.arpa.
This DNS entry for the DET can also provide a revocation service. This DNS entry for the DET can also provide a revocation service.
For example, instead of returning the HI RR it may return some record For example, instead of returning the HI RR it may return some record
showing that the HI (and thus DET) has been revoked. Guidance on showing that the HI (and thus DET) has been revoked. Guidance on
revocation service will be provided in [drip-registries]. revocation service will be provided in [DRIP-REG].
6. Other UAS Traffic Management (UTM) Uses of HHITs Beyond DET 6. Other UAS Traffic Management (UTM) Uses of HHITs Beyond DET
HHITs will be used within the UTM architecture beyond DET (and USS in HHITs will be used within the UTM architecture beyond DET (and USS in
UA ID registration and authentication), for example, as a Ground UA ID registration and authentication), for example, as a Ground
Control Station (GCS) HHIT ID. Some GCS will use its HHIT for Control Station (GCS) HHIT ID. Some GCS will use its HHIT for
securing its Network Remote ID (to USS HHIT) and Command and Control securing its Network Remote ID (to USS HHIT) and Command and Control
(C2, Section 2.2.2 of [RFC9153]) transports. (C2, Section 2.2.2 of [RFC9153]) transports.
Observers may have their own HHITs to facilitate UAS information Observers may have their own HHITs to facilitate UAS information
retrieval (e.g., for authorization to private UAS data). They could retrieval (e.g., for authorization to private UAS data). They could
also use their HHIT for establishing a HIP connection with the UA also use their HHIT for establishing a HIP connection with the UA
Pilot for direct communications per authorization. Details about Pilot for direct communications per authorization. Details about
such issues are out of the scope of this document). such issues are out of the scope of this document.
7. Summary of Addressed DRIP Requirements 7. Summary of Addressed DRIP Requirements
This document provides the details to solutions for GEN 1 - 3, ID 1 - This document provides the details to solutions for GEN 1 - 3, ID 1 -
5, and REG 1 - 2 requirements that are described in [RFC9153]. 5, and REG 1 - 2 requirements that are described in [RFC9153].
8. IANA Considerations 8. IANA Considerations
8.1. New Well-Known IPv6 prefix for DETs 8.1. New Well-Known IPv6 Prefix for DETs
Since the DET format is not compatible with [RFC7343], IANA is Since the DET format is not compatible with [RFC7343], IANA has
requested to allocate a new prefix following this template for the allocated the following prefix per this template for the "IANA IPv6
IPv6 Special-Purpose Address Registry. Special-Purpose Address Registry" [IPv6-SPECIAL].
Address Block: Address Block:
IANA is requested to allocate a new 28-bit prefix out of the IANA 2001:30::/28
IPv6 Special Purpose Address Block, namely 2001::/23, as per
[RFC6890] (TBD6, suggested: 2001:30::/28).
Name: Name:
This block should be named "DRIP Entity Tags (DETs) Prefix". Drone Remote ID Protocol Entity Tags (DETs) Prefix
RFC: Reference
This document. This document
Allocation Date: Allocation Date:
Date this document published. 2022-12
Termination Date: Termination Date:
Forever. N/A
Source: Source:
False. True
Destination: Destination:
False. True
Forwardable: Forwardable:
False. True
Globally Reachable: Globally Reachable:
False. True
Reserved-by-Protocol: Reserved-by-Protocol:
False. False
8.2. New IANA DRIP Registry 8.2. New IANA DRIP Registry
This document requests IANA to create a new registry titled "Drone IANA has created the "Drone Remote ID Protocol" registry. The
Remote ID Protocol" registry. It is suggested that multiple following two subregistries have been created within the "Drone
designated experts be appointed for registry change requests. Remote ID Protocol" group.
Criteria that should be applied by the designated experts include 8.2.1. HHIT Prefixes
Initially, for DET use, one 28-bit prefix has been assigned out of
the IANA IPv6 Special Purpose Address Block, namely 2001::/23, as per
[RFC6890]. Future additions to this subregistry are to be made
through Expert Review (Section 4.5 of [RFC8126]). Entries with
network-specific prefixes may be present in the registry.
+==========+======+==============+===========+
| HHIT Use | Bits | Value | Reference |
+==========+======+==============+===========+
| DET | 28 | 2001:30::/28 | RFC 9374 |
+----------+------+--------------+-----------+
Table 8: Registered DET IPv6 Prefix
Criteria that should be applied by the designated experts includes
determining whether the proposed registration duplicates existing determining whether the proposed registration duplicates existing
functionality and whether the registration description is clear and functionality and whether the registration description is clear and
fits the purpose of this registry. fits the purpose of this registry.
Registration requests MUST be sent to drip-reg-review@ietf.org and Registration requests MUST be sent to drip-reg-review@ietf.org and be
are evaluated within a three-week review period on the advice of one evaluated within a three-week review period on the advice of one or
or more designated experts. Within the review period, the designated more designated experts. Within that review period, the designated
experts will either approve or deny the registration request, experts will either approve or deny the registration request, and
communicating this decision to the review list and IANA. Denials communicate their decision to the review list and IANA. Denials
should include an explanation and, if applicable, suggestions as to should include an explanation and, if applicable, suggestions to
how to make the request successful. successfully register the prefix.
Registration requests that are undetermined for a period longer than Registration requests that are undetermined for a period longer than
28 days can be brought to the IESG's attention for resolution. 28 days can be brought to the IESG's attention for resolution.
The following two subregistries should be created under that 8.2.2. HHIT Suite IDs
registry.
Hierarchical HIT (HHIT) Prefixes:
Initially, for DET use, one 28-bit prefix should be assigned out
of the IANA IPv6 Special Purpose Address Block, namely 2001::/23,
as per [RFC6890]. Future additions to this subregistry are to be
made through Expert Review (Section 4.5 of [RFC8126]). Entries
with network-specific prefixes may be present in the registry.
HHIT Use Bits Value Reference This 8-bit value subregistry is a superset of the 4/8-bit "HIT Suite
DET 28 TBD6 (suggested value 2001:30::/28) [This] ID" subregistry of the "Host Identity Protocol (HIP) Parameters"
registry [IANA-HIP]. Future additions to this subregistry are to be
made through IETF Review (Section 4.8 of [RFC8126]). The following
HHIT Suite IDs are defined.
Hierarchical HIT (HHIT) Suite ID: +===================+=======+===========+
This 8-bit valued subregistry is a superset of the 4/8-bit "HIT | HHIT Suite | Value | Reference |
Suite ID" subregistry of the "Host Identity Protocol (HIP) +===================+=======+===========+
Parameters" registry in [IANA-HIP]. Future additions to this | RESERVED | 0 | RFC 9374 |
subregistry are to be made through IETF Review (Section 4.8 of +-------------------+-------+-----------+
[RFC8126]). The following HHIT Suite IDs are defined: | RSA,DSA/SHA-256 | 1 | [RFC7401] |
+-------------------+-------+-----------+
| ECDSA/SHA-384 | 2 | [RFC7401] |
+-------------------+-------+-----------+
| ECDSA_LOW/SHA-1 | 3 | [RFC7401] |
+-------------------+-------+-----------+
| EdDSA/cSHAKE128 | 5 | RFC 9374 |
+-------------------+-------+-----------+
| HDA Private Use 1 | 254 | RFC 9374 |
+-------------------+-------+-----------+
| HDA Private Use 2 | 255 | RFC 9374 |
+-------------------+-------+-----------+
HHIT Suite Value Reference Table 9: Registered HHIT Suite IDs
RESERVED 0
RSA,DSA/SHA-256 1 [RFC7401]
ECDSA/SHA-384 2 [RFC7401]
ECDSA_LOW/SHA-1 3 [RFC7401]
EdDSA/cSHAKE128 TBD3 (suggested value 5) [This]
HDA Private Use 1 TBD4 (suggested value 254) [This]
HDA Private Use 2 TBD5 (suggested value 255) [This]
The HHIT Suite ID values 1 - 31 are reserved for IDs that MUST be The HHIT Suite ID values 1 - 31 are reserved for IDs that MUST be
replicated as HIT Suite IDs (Section 8.4) as is TBD3 here. Higher replicated as HIT Suite IDs (Section 8.4) as is 5 here. Higher
values (32 - 255) are for those Suite IDs that need not or cannot values (32 - 255) are for those Suite IDs that need not or cannot be
be accommodated as a HIT Suite ID. accommodated as a HIT Suite ID.
8.3. IANA CGA Registry Update 8.3. IANA CGA Registry Update
This document requests that this document be added to the reference This document has been added as a reference for the "CGA Extension
field for the "CGA Extension Type Tags" registry [IANA-CGA], where Type Tags" registry [IANA-CGA]. IANA has the following Context ID in
IANA registers the following Context ID: this registry:
Context ID: Context ID:
The Context ID (Section 3) shares the namespace introduced for CGA The Context ID (Section 3) shares the namespace introduced for CGA
Type Tags. Defining new Context IDs follow the rules in Section 8 Type Tags. The following Context ID is defined per the rules in
of [RFC3972]: Section 8 of [RFC3972]:
Context ID := 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 [This] +===========================================+===========+
| CGA Type Tag | Reference |
+===========================================+===========+
| 0x00B5 A69C 795D F5D5 F008 7F56 843F 2C40 | RFC 9374 |
+-------------------------------------------+-----------+
Table 10: CGA Extension Type Tags
8.4. IANA HIP Registry Updates 8.4. IANA HIP Registry Updates
This document requests IANA to make the following changes to the IANA IANA has updated the "Host Identity Protocol (HIP) Parameters"
"Host Identity Protocol (HIP) Parameters" [IANA-HIP] registry: registry [IANA-HIP] as described below.
Host ID: Host ID:
This document defines the new EdDSA Host ID with value TBD1 This document defines the new EdDSA Host ID with value 13
(suggested: 13) (Section 3.4.1) in the "HI Algorithm" subregistry (Section 3.4.1) in the "HI Algorithm" subregistry of the "Host
of the "Host Identity Protocol (HIP) Parameters" registry. Identity Protocol (HIP) Parameters" registry.
Algorithm +===================+=======+===========+
profile Value Reference | Algorithm Profile | Value | Reference |
+===================+=======+===========+
| EdDSA | 13 | [RFC8032] |
+-------------------+-------+-----------+
EdDSA TBD1 (suggested value 13) [RFC8032] Table 11: Registered HI Algorithm
EdDSA Curve Label: EdDSA Curve Label:
This document specifies a new algorithm-specific subregistry named This document specifies a new algorithm-specific subregistry named
"EdDSA Curve Label". The values for this subregistry are defined "EdDSA Curve Label". The values for this subregistry are defined
in Section 3.4.1.1. Future additions to this subregistry are to in Section 3.4.1.1. Future additions to this subregistry are to
be made through IETF Review (Section 4.8 of [RFC8126]). be made through IETF Review (Section 4.8 of [RFC8126]).
Algorithm Curve Values Reference +===========+==============+=========+============+
| Algorithm | Curve | Value | Reference |
+===========+==============+=========+============+
| EdDSA | RESERVED | 0 | RFC 9374 |
+-----------+--------------+---------+------------+
| EdDSA | EdDSA25519 | 1 | [RFC8032] |
+-----------+--------------+---------+------------+
| EdDSA | EdDSA25519ph | 2 | [RFC8032] |
+-----------+--------------+---------+------------+
| EdDSA | EdDSA448 | 3 | [RFC8032] |
+-----------+--------------+---------+------------+
| EdDSA | EdDSA448ph | 4 | [RFC8032] |
+-----------+--------------+---------+------------+
| | | 5-65535 | Unassigned |
+-----------+--------------+---------+------------+
EdDSA RESERVED 0 Table 12: Registered EdDSA Curve Labels
EdDSA EdDSA25519 1 [RFC8032]
EdDSA EdDSA25519ph 2 [RFC8032]
EdDSA EdDSA448 3 [RFC8032]
EdDSA EdDSA448ph 4 [RFC8032]
5-65535 Unassigned
HIT Suite ID: HIT Suite ID:
This document defines the new HIT Suite of EdDSA/cSHAKE with value This document defines the new HIT Suite of EdDSA/cSHAKE with value
TBD3 (suggested: 5) (Section 3.4.2) in the "HIT Suite ID" 5 (Section 3.4.2) in the "HIT Suite ID" subregistry of the "Host
subregistry of the "Host Identity Protocol (HIP) Parameters" Identity Protocol (HIP) Parameters" registry.
registry.
HIT Suite Value Reference +=================+=======+===========+
EdDSA/cSHAKE128 TBD3 (suggested value 5) [This] | Suite ID | Value | Reference |
+=================+=======+===========+
| EdDSA/cSHAKE128 | 5 | RFC 9374 |
+-----------------+-------+-----------+
Table 13: Registered HIT Suite of
EdDSA/cSHAKE
The HIT Suite ID 4-bit values 1 - 15 and 8-bit values 0x00 - 0x0F The HIT Suite ID 4-bit values 1 - 15 and 8-bit values 0x00 - 0x0F
MUST be replicated as HHIT Suite IDs (Section 8.2) as is TBD3 MUST be replicated as HHIT Suite IDs (Section 8.2) as is 5 here.
here.
9. Security Considerations 9. Security Considerations
The 64-bit hash in HHITs presents a real risk of second pre-image The 64-bit hash in HHITs presents a real risk of second pre-image
cryptographic hash attack Section 9.5. There are no known (to the cryptographic hash attack (see Section 9.5). There are no known (to
authors) studies of hash size to cryptographic hash attacks. the authors) studies of hash size impact on cryptographic hash
attacks.
However, with today's computing power, producing 2^64 EdDSA keypairs However, with today's computing power, producing 2^64 EdDSA keypairs
and then generating the corresponding HHIT is economically feasible. and then generating the corresponding HHIT is economically feasible.
Consider that a *single* bitcoin mining ASIC can do on the order of Consider that a *single* bitcoin mining ASIC can do on the order of
2^46 sha256 hashes a second or about 2^62 hashes in a single day. 2^46 sha256 hashes per second or about 2^62 hashes in a single day.
The point being, 2^64 is not prohibitive, especially as this can be The point being, 2^64 is not prohibitive, especially as this can be
done in parallel. done in parallel.
Now it should be noted that the 2^64 attempts is for stealing a Note that the 2^64 attempts is for stealing a specific HHIT.
specific HHIT. Consider a scenario of a street photography company Consider a scenario of a street photography company with 1,024 UAs
with 1,024 UAs (each with its own HHIT); an attacker may well be (each with its own HHIT); an attacker may well be satisfied stealing
satisfied stealing any one of them. Then rather than needing to any one of them. Then, rather than needing to satisfy a 64-bit
satisfy a 64-bit condition on the cSHAKE128 output, an attacker needs condition on the cSHAKE128 output, an attacker only needs to satisfy
only to satisfy what is equivalent to a 54-bit condition (since there what is equivalent to a 54-bit condition (since there are 2^10 more
are 2^10 more opportunities for success). opportunities for success).
Thus, although the probability of a collision or pre-image attack is Thus, although the probability of a collision or pre-image attack is
low in a collection of 1,024 HHITs out of a total population of 2^64, low in a collection of 1,024 HHITs out of a total population of 2^64
per Section 9.5, it is computationally and economically feasible. (per Section 9.5), it is computationally and economically feasible.
Therefore, the HHIT registration is a MUST and HHIT/HI registration Therefore, the HHIT registration is a MUST and HHIT/HI registration
validation SHOULD be performed by Observers either through registry validation SHOULD be performed by Observers either through registry
lookups or via broadcasted registration proofs (Section 3.1.2 of lookups or via broadcasted registration proofs (Section 3.1.2 of
[drip-authentication]). [DRIP-AUTH]).
The DET Registry services effectively block attempts to "take over" The DET Registry services effectively block attempts to "take over"
or "hijack" a DET. It does not stop a rogue attempting to or "hijack" a DET. It does not stop a rogue attempting to
impersonate a known DET. This attack can be mitigated by the impersonate a known DET. This attack can be mitigated by the
receiver of messages containing DETs using DNS to find the HI for the receiver of messages containing DETs using DNS to find the HI for the
DET. As such, use of DNSSEC by the DET registries is recommended to DET. As such, use of DNSSEC by the DET registries is recommended to
provide trust in HI retrieval. provide trust in HI retrieval.
Another mitigation of HHIT hijacking is if the HI owner (UA) supplies Another mitigation of HHIT hijacking is when the HI owner (UA)
an object containing the HHIT and signed by the HI private key of the supplies an object containing the HHIT that is signed by the HI
HDA such as detailed in [drip-authentication]. private key of the HDA as detailed in [DRIP-AUTH].
The two risks with hierarchical HITs are the use of an invalid HID The two risks with HHITs are the use of an invalid HID and forced HIT
and forced HIT collisions. The use of a DNS zone (e.g., "det.arpa.") collisions. The use of a DNS zone (e.g., "det.arpa.") is strong
is a strong protection against invalid HIDs. Querying an HDA's RVS protection against invalid HIDs. Querying an HDA's RVS for a HIT
for a HIT under the HDA protects against talking to unregistered under the HDA protects against talking to unregistered clients. The
clients. The Registry service [drip-registries], through its HHIT Registry service [DRIP-REG], through its HHIT uniqueness enforcement,
uniqueness enforcement, provides against forced or accidental HHIT provides against forced or accidental HHIT hash collisions.
hash collisions.
Cryptographically Generated Addresses (CGAs) provide an assurance of Cryptographically Generated Addresses (CGAs) provide an assurance of
uniqueness. This is two-fold. The address (in this case the UAS ID) uniqueness. This is two-fold. The address (in this case the UAS ID)
is a hash of a public key and a Registry hierarchy naming. Collision is a hash of a public key and a Registry hierarchy naming. Collision
resistance (more important that it implied second-preimage resistance (and more importantly, the implied second-preimage
resistance) makes it statistically challenging to attacks. A resistance) makes attacks statistically challenging. A registration
registration process [drip-registries] within the HDA provides a process [DRIP-REG] within the HDA provides a level of assured
level of assured uniqueness unattainable without mirroring this uniqueness unattainable without mirroring this approach.
approach.
The second aspect of assured uniqueness is the digital signing The second aspect of assured uniqueness is the digital signing
(evidence) process of the DET by the HI private key and the further (evidence) process of the DET by the HI private key and the further
signing (evidence) of the HI public key by the Registry's key. This signing (evidence) of the HI public key by the Registry's key. This
completes the ownership process. The observer at this point does not completes the ownership process. The observer at this point does not
know what owns the DET, but is assured, other than the risk of theft know what owns the DET but is assured, other than the risk of theft
of the HI private key, that this UAS ID is owned by something and is of the HI private key, that this UAS ID is owned by something and it
properly registered. is properly registered.
9.1. Post Quantum Computing out of scope 9.1. Post-Quantum Computing Is Out of Scope
As stated in Section 8.1 of [drip-architecture], there has been no As stated in Section 8.1 of [DRIP-ARCH], there has been no effort to
effort, at this time, to address post quantum computing cryptography. address post-quantum computing cryptography. UAs and Broadcast
UAs and Broadcast Remote ID communications are so constrained that Remote ID communications are so constrained that current post-quantum
current post quantum computing cryptography is not applicable. Plus computing cryptography is not applicable. In addition, because a UA
since a UA may use a unique DET for each operation, the attack window may use a unique DET for each operation, the attack window could be
could be limited to the duration of the operation. limited to the duration of the operation.
HHITs contain the ID for the cryptographic suite used in its HHITs contain the ID for the cryptographic suite used in its
creation, a future post quantum computing safe algorithm that fits creation, a future algorithm that is safe for post-quantum computing
the Remote ID constraints may readily be added. that fits the Remote ID constraints may readily be added.
9.2. DET Trust in ASTM messaging 9.2. DET Trust in ASTM Messaging
The DET in the ASTM Basic ID Message (Msg Type 0x0, the actual Remote The DET in the ASTM Basic ID Message (Msg Type 0x0, the actual Remote
ID message) does not provide any assertion of trust. The best that ID message) does not provide any assertion of trust. Truncating 4
might be done within this Basic ID Message is 4 bytes truncated from bytes from a HI signing of the HHIT (the UA ID field is 20 bytes and
a HI signing of the HHIT (the UA ID field is 20 bytes and a HHIT is a HHIT is 16) within this Basic ID Message is the best that can be
16). This is not trustable; that is, too open to a hash attack. done. This is not trustable, as it is too open to a hash attack.
Minimally, it takes 84 bytes (Section 4.6) to prove ownership of a Minimally, it takes 88 bytes (Section 4.6) to prove ownership of a
DET with a full EdDSA signature. Thus, no attempt has been made to DET with a full EdDSA signature. Thus, no attempt has been made to
add DET trust directly within the very small Basic ID Message. add DET trust directly within the very small Basic ID Message.
The ASTM Authentication Message (Msg Type 0x2) as shown in The ASTM Authentication Message (Msg Type 0x2) as shown in
Section 4.6 can provide practical actual ownership proofs. These Section 4.6 can provide actual ownership proofs in a practical
endorsements and evidences include timestamps to defend against manner. The endorsements and evidence include timestamps to defend
replay attacks. But in themselves, they do not prove which UA sent against replay attacks, but they do not prove which UA sent the
the message. They could have been sent by a dog running down the message. The messages could have been sent by a dog running down the
street with a Broadcast Remote ID module strapped to its back. street with a Broadcast Remote ID module strapped to its back.
Proof of UA transmission comes when the Authentication Message Proof of UA transmission comes, for example, when the Authentication
includes proofs for the ASTM Location/Vector Message (Msg Type 0x1) Message includes proof of the ASTM Location/Vector Message (Msg Type
and the observer can see the UA or that information is validated by 0x1) and a) the observer can see the UA or b) the location
ground multilateration. Only then does an observer gain full trust information is validated by ground multilateration. Only then does
in the DET of the UA. an observer gain full trust in the DET of the UA.
DETs obtained via the Network RID path provides a different approach DETs obtained via the Network RID path provide a different approach
to trust. Here the UAS SHOULD be securely communicating to the USS, to trust. Here the UAS SHOULD be securely communicating to the USS,
thus asserting DET trust. thus asserting DET trust.
9.3. DET Revocation 9.3. DET Revocation
The DNS entry for the DET can also provide a revocation service. For The DNS entry for the DET can also provide a revocation service. For
example, instead of returning the HI RR it may return some record example, instead of returning the HI RR, it may return some record
showing that the HI (and thus DET) has been revoked. Guidance on showing that the HI (and thus DET) has been revoked. Guidance on
revocation service will be provided in [drip-registries]. revocation service will be provided in [DRIP-REG].
9.4. Privacy Considerations 9.4. Privacy Considerations
There is no expectation of privacy for DETs; it is not part of the There is no expectation of privacy for DETs; it is not part of the
privacy normative requirements listed in, Section 4.3.1, of normative privacy requirements listed in Section 4.3.1 of [RFC9153].
[RFC9153]. DETs are broadcast in the clear over the open air via DETs are broadcast in the clear over the open air via Bluetooth and
Bluetooth and Wi-Fi. They will be collected and collated with other Wi-Fi. They will be collected and collated with other public
public information about the UAS. This will include DET registration information about the UAS. This will include DET registration
information and location and times of operations for a DET. A DET information and location and times of operations for a DET. A DET
can be for the life of a UA if there is no concern about DET/UA can be for the life of a UA if there is no concern about DET/UA
activity harvesting. activity harvesting.
Further, the MAC address of the wireless interface used for Remote ID Further, the Media Access Control (MAC) address of the wireless
broadcasts are a target for UA operation aggregation that may not be interface used for Remote ID broadcasts are a target for UA operation
mitigated through MAC address randomization. For Bluetooth 4 Remote aggregation that may not be mitigated through MAC address
ID messaging, the MAC address is used by observers to link the Basic randomization. For Bluetooth 4 Remote ID messaging, the MAC address
ID Message that contains the RID with other Remote ID messages, thus is used by observers to link the Basic ID Message that contains the
must be constant for a UA operation. This message linkage use of MAC RID with other Remote ID messages, thus it must be constant for a UA
addresses may not be needed with the Bluetooth 5 or Wi-Fi PHYs. operation. This use of MAC addresses to link messages may not be
These PHYs provide for a larger message payload and can use the needed with the Bluetooth 5 or Wi-Fi PHYs. These PHYs provide for a
Message Pack (Msg Type 0xF) and the Authentication Message to larger message payload and can use the Message Pack (Msg Type 0xF)
transmit the RID with other Remote ID messages. However, it is not and the Authentication Message to transmit the RID with other Remote
mandatory to send the RID in a Message Pack or Authentication ID messages. However, sending the RID in a Message Pack or
Message, so allowance for using the MAC address for UA message Authentication Message is not mandatory, so using the MAC address for
linking must be maintained. That is, the MAC address should be UA message linking must be allowed. That is, the MAC address should
stable for at least a UA operation. be stable for at least a UA operation.
Finally, it is not adequate to simply change the DET and MAC for a UA Finally, it is not adequate to simply change the DET and MAC for a UA
per operation to defeat historically tracking a UA's activity. per operation to defeat tracking the history of the UA's activity.
Any changes to the UA MAC may have impacts to C2 setup and use. A Any changes to the UA MAC may have impacts to C2 setup and use. A
constant GCS MAC may well defeat any privacy gains in UA MAC and RID constant GCS MAC may well defeat any privacy gains in UA MAC and RID
changes. UA/GCS binding is complicated with changing MAC addresses; changes. UA/GCS binding is complicated if the UA MAC address can
historically UAS design assumed these to be "forever" and made setup change; historically, UAS design assumed these to be "forever" and
a one-time process. Additionally, if IP is used for C2, a changing made setup a one-time process. Additionally, if IP is used for C2, a
MAC may mean a changing IP address to further impact the UAS changing MAC may mean a changing IP address to further impact the UAS
bindings. Finally, an encryption wrapper's identifier (such as ESP bindings. Finally, an encryption wrapper's identifier (such as ESP
[RFC4303] SPI) would need to change per operation to insure operation [RFC4303] SPI) would need to change per operation to ensure operation
tracking separation. tracking separation.
Creating and maintaining UAS operational privacy is a multifaceted Creating and maintaining UAS operational privacy is a multifaceted
problem. Many communication pieces need to be considered to truly problem. Many communication pieces need to be considered to truly
create a separation between UA operations. Simply changing the DET create a separation between UA operations. Changing the DET is only
only starts the changes that need to be implemented. the start of the changes that need to be implemented.
These privacy realities may present challenges for the EU U-space These privacy realities may present challenges for the European Union
(Appendix A) program. (EU) U-space (Appendix A) program.
9.5. Collision Risks with DETs 9.5. Collision Risks with DETs
The 64-bit hash size here for DETs does have an increased risk of The 64-bit hash size here for DETs does have an increased risk of
collisions over the 96-bit hash size used for the ORCHID [RFC7343] collisions over the 96-bit hash size used for the ORCHID [RFC7343]
construct. There is a 0.01% probability of a collision in a construct. There is a 0.01% probability of a collision in a
population of 66 million. The probability goes up to 1% for a population of 66 million. The probability goes up to 1% for a
population of 663 million. See Appendix D for the collision population of 663 million. See Appendix D for the collision
probability formula. probability formula.
However, this risk of collision is within a single "Additional However, this risk of collision is within a single "Additional
Information" value, i.e., a RAA/HDA domain. The UAS/USS registration Information" value, i.e., a RAA/HDA domain. The UAS/USS registration
process should include registering the DET and MUST reject a process should include registering the DET and MUST reject a
collision, forcing the UAS to generate a new HI and thus HHIT and collision, forcing the UAS to generate a new HI and thus HHIT and
reapplying to the DET registration process (Section 6 of reapplying to the DET registration process (Section 6 of [DRIP-REG]).
[drip-registries]).
Thus an adversary trying to generate a collision and 'steal' the DET Thus an adversary trying to generate a collision and 'steal' the DET
would run afoul of this registration process and associated would run afoul of this registration process and associated
validation process mentioned in Section 1.1. validation process mentioned in Section 1.1.
10. References 10. References
10.1. Normative References 10.1. Normative References
[ipseckey-eddsa]
Moskowitz, R., Kivinen, T., and M. Richardson, "EdDSA
value for IPSECKEY", Work in Progress, Internet-Draft,
draft-moskowitz-ipsecme-ipseckey-eddsa-06, 23 November
2022, <https://datatracker.ietf.org/doc/html/draft-
moskowitz-ipsecme-ipseckey-eddsa-06>.
[NIST.FIPS.202] [NIST.FIPS.202]
Dworkin, M. J. and National Institute of Standards and Dworkin, M. J. and National Institute of Standards and
Technology, "SHA-3 Standard: Permutation-Based Hash and Technology, "SHA-3 Standard: Permutation-Based Hash and
Extendable-Output Functions", DOI 10.6028/nist.fips.202, Extendable-Output Functions", DOI 10.6028/nist.fips.202,
July 2015, <http://dx.doi.org/10.6028/nist.fips.202>. July 2015, <http://dx.doi.org/10.6028/nist.fips.202>.
[NIST.SP.800-185] [NIST.SP.800-185]
Kelsey, J., Change, S., Perlner, R., and National Kelsey, J., Change, S., Perlner, R., and National
Institute of Standards and Technology, "SHA-3 derived Institute of Standards and Technology, "SHA-3 derived
functions: cSHAKE, KMAC, TupleHash and ParallelHash", functions: cSHAKE, KMAC, TupleHash and ParallelHash",
skipping to change at page 30, line 9 skipping to change at line 1396
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26, Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017, RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>. <https://www.rfc-editor.org/info/rfc8126>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>. May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC9373] Moskowitz, R., Kivinen, T., and M. Richardson, "EdDSA
Value for IPSECKEY", RFC 9373, DOI 10.17487/RFC9373,
February 2023, <https://www.rfc-editor.org/info/rfc9373>.
10.2. Informative References 10.2. Informative References
[cfrg-comment] [CFRG-COMMENT]
"A CFRG review of draft-ietf-drip-rid", September 2021, Gajcowski, N., "Please review draft-ietf-drip-rid",
message to the CFRG mailing list, 23 September 2021,
<https://mailarchive.ietf.org/arch/msg/cfrg/ <https://mailarchive.ietf.org/arch/msg/cfrg/
tAJJq60W6TlUv7_pde5cw5TDTCU/>. tAJJq60W6TlUv7_pde5cw5TDTCU/>.
[corus] CORUS, "U-space Concept of Operations", September 2019, [CORUS] CORUS, "SESAR Concept of Operations for U-space", 9
<https://www.sesarju.eu/node/3411>. September 2019, <https://www.sesarju.eu/node/3411>.
[CTA2063A] ANSI/CTA, "Small Unmanned Aerial Systems Serial Numbers", [CTA2063A] ANSI/CTA, "Small Unmanned Aerial Systems Serial Numbers",
September 2019, <https://shop.cta.tech/products/small- September 2019, <https://shop.cta.tech/products/small-
unmanned-aerial-systems-serial-numbers>. unmanned-aerial-systems-serial-numbers>.
[drip-architecture] [DRIP-ARCH]
Card, S. W., Wiethuechter, A., Moskowitz, R., Zhao, S., Card, S. W., Wiethuechter, A., Moskowitz, R., Zhao, S.,
and A. Gurtov, "Drone Remote Identification Protocol and A. Gurtov, "Drone Remote Identification Protocol
(DRIP) Architecture", Work in Progress, Internet-Draft, (DRIP) Architecture", Work in Progress, Internet-Draft,
draft-ietf-drip-arch-29, 16 August 2022, draft-ietf-drip-arch-31, 6 March 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-drip- <https://datatracker.ietf.org/doc/html/draft-ietf-drip-
arch-29>. arch-31>.
[drip-authentication] [DRIP-AUTH]
Wiethuechter, A., Card, S. W., and R. Moskowitz, "DRIP Wiethuechter, A., Card, S. W., and R. Moskowitz, "DRIP
Entity Tag Authentication Formats & Protocols for Entity Tag Authentication Formats & Protocols for
Broadcast Remote ID", Work in Progress, Internet-Draft, Broadcast Remote ID", Work in Progress, Internet-Draft,
draft-ietf-drip-auth-26, 14 October 2022, draft-ietf-drip-auth-29, 15 February 2023,
<https://datatracker.ietf.org/doc/html/draft-ietf-drip- <https://datatracker.ietf.org/doc/html/draft-ietf-drip-
auth-26>. auth-29>.
[drip-registries] [DRIP-REG] Wiethuechter, A. and J. Reid, "DRIP Entity Tag (DET)
Wiethuechter, A. and J. Reid, "DRIP Entity Tag (DET)
Identity Management Architecture", Work in Progress, Identity Management Architecture", Work in Progress,
Internet-Draft, draft-ietf-drip-registries-06, 17 November Internet-Draft, draft-ietf-drip-registries-07, 5 December
2022, <https://datatracker.ietf.org/doc/html/draft-ietf- 2022, <https://datatracker.ietf.org/doc/html/draft-ietf-
drip-registries-06>. drip-registries-07>.
[F3411-22a] [F3411-22a]
ASTM International, "Standard Specification for Remote ID ASTM International, "Standard Specification for Remote ID
and Tracking - F3411−22a", July 2022, and Tracking - F3411−22a", July 2022,
<https://www.astm.org/f3411-22a.html>. <https://www.astm.org/f3411-22a.html>.
[FAA_RID] United States Federal Aviation Administration (FAA), [FAA_RID] United States Federal Aviation Administration (FAA),
"Remote Identification of Unmanned Aircraft", 2021, "Remote Identification of Unmanned Aircraft", 15 January
<https://www.govinfo.gov/content/pkg/FR-2021-01-15/ 2021, <https://www.govinfo.gov/content/pkg/FR-2021-01-15/
pdf/2020-28948.pdf>. pdf/2020-28948.pdf>.
[HHSI] IANA, "Hierarchical HIT (HHIT) Suite IDs",
<https://www.iana.org/assignments/drip>.
[IANA-CGA] IANA, "Cryptographically Generated Addresses (CGA) Message [IANA-CGA] IANA, "Cryptographically Generated Addresses (CGA) Message
Type Name Space", <https://www.iana.org/assignments/cga- Type Name Space",
message-types/cga-message-types.xhtml>. <https://www.iana.org/assignments/cga-message-types>.
[IANA-HIP] IANA, "Host Identity Protocol (HIP) Parameters", [IANA-HIP] IANA, "Host Identity Protocol (HIP) Parameters",
<https://www.iana.org/assignments/hip-parameters/hip- <https://www.iana.org/assignments/hip-parameters>.
parameters.xhtml>.
[IPv6-SPECIAL]
IANA, "IANA IPv6 Special-Purpose Address Registry",
<https://www.iana.org/assignments/iana-ipv6-special-
registry/>.
[Keccak] Bertoni, G., Daemen, J., Peeters, M., Van Assche, G., and [Keccak] Bertoni, G., Daemen, J., Peeters, M., Van Assche, G., and
R. Van Keer, "The Keccak Function", R. Van Keer, "Keccak Team",
<https://keccak.team/index.html>. <https://keccak.team/index.html>.
[RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)", [RFC3972] Aura, T., "Cryptographically Generated Addresses (CGA)",
RFC 3972, DOI 10.17487/RFC3972, March 2005, RFC 3972, DOI 10.17487/RFC3972, March 2005,
<https://www.rfc-editor.org/info/rfc3972>. <https://www.rfc-editor.org/info/rfc3972>.
[RFC4025] Richardson, M., "A Method for Storing IPsec Keying [RFC4025] Richardson, M., "A Method for Storing IPsec Keying
Material in DNS", RFC 4025, DOI 10.17487/RFC4025, March Material in DNS", RFC 4025, DOI 10.17487/RFC4025, March
2005, <https://www.rfc-editor.org/info/rfc4025>. 2005, <https://www.rfc-editor.org/info/rfc4025>.
skipping to change at page 32, line 28 skipping to change at line 1521
<https://www.rfc-editor.org/info/rfc9153>. <https://www.rfc-editor.org/info/rfc9153>.
[RFC9224] Blanchet, M., "Finding the Authoritative Registration Data [RFC9224] Blanchet, M., "Finding the Authoritative Registration Data
Access Protocol (RDAP) Service", STD 95, RFC 9224, Access Protocol (RDAP) Service", STD 95, RFC 9224,
DOI 10.17487/RFC9224, March 2022, DOI 10.17487/RFC9224, March 2022,
<https://www.rfc-editor.org/info/rfc9224>. <https://www.rfc-editor.org/info/rfc9224>.
Appendix A. EU U-Space RID Privacy Considerations Appendix A. EU U-Space RID Privacy Considerations
The EU is defining a future of airspace management known as U-space The EU is defining a future of airspace management known as U-space
within the Single European Sky ATM Research (SESAR) undertaking. within the Single European Sky ATM Research (SESAR) undertaking. The
Concept of Operation for EuRopean UTM Systems (CORUS) project Concept of Operation for EuRopean UTM Systems (CORUS) project
proposed low-level Concept of Operations [corus] for UAS in the EU. proposed low-level Concept of Operations [CORUS] for UAS in the EU.
It introduces strong requirements for UAS privacy based on European It introduces strong requirements for UAS privacy based on European
GDPR regulations. It suggests that UAs are identified with agnostic General Data Protection Regulation (GDPR) regulations. It suggests
IDs, with no information about UA type, the operators or flight that UAs are identified with agnostic IDs, with no information about
trajectory. Only authorized persons should be able to query the UA type, the operators, or flight trajectory. Only authorized
details of the flight with a record of access. persons should be able to query the details of the flight with a
record of access.
Due to the high privacy requirements, a casual observer can only Due to the high privacy requirements, a casual observer can only
query U-space if it is aware of a UA seen in a certain area. A query U-space if it is aware of a UA seen in a certain area. A
general observer can use a public U-space portal to query UA details general observer can use a public U-space portal to query UA details
based on the UA transmitted "Remote identification" signal. Direct based on the UA transmitted "Remote identification" signal. Direct
remote identification (DRID) is based on a signal transmitted by the remote identification (DRID) is based on a signal transmitted by the
UA directly. Network remote identification (NRID) is only possible UA directly. Network remote identification (NRID) is only possible
for UAs being tracked by U-Space and is based on the matching the for UAs being tracked by U-Space and is based on the matching the
current UA position to one of the tracks. current UA position to one of the tracks.
skipping to change at page 33, line 12 skipping to change at line 1552
GDPR regulations. Still, DETs as defined here present a large step GDPR regulations. Still, DETs as defined here present a large step
in the right direction for agnostic IDs. in the right direction for agnostic IDs.
The project lists "E-Identification" and "E-Registrations" services The project lists "E-Identification" and "E-Registrations" services
as to be developed. These services can use DETs and follow the as to be developed. These services can use DETs and follow the
privacy considerations outlined in this document for DETs. privacy considerations outlined in this document for DETs.
If an "agnostic ID" above refers to a completely random identifier, If an "agnostic ID" above refers to a completely random identifier,
it creates a problem with identity resolution and detection of it creates a problem with identity resolution and detection of
misuse. On the other hand, a classical HIT has a flat structure misuse. On the other hand, a classical HIT has a flat structure
which makes its resolution difficult. The DET (Hierarchical HIT) which makes its resolution difficult. The DET (HHIT) provides a
provides a balanced solution by associating a registry with the UA balanced solution by associating a registry with the UA identifier.
identifier. This is not likely to cause a major conflict with This is not likely to cause a major conflict with U-space privacy
U-space privacy requirements, as the registries are typically few at requirements, as the registries are typically few at a country level
a country level (e.g., civil personal, military, law enforcement, or (e.g., civil personal, military, law enforcement, or commercial).
commercial).
Appendix B. The 14/14 HID split Appendix B. The 14/14 HID split
The following explains the logic behind selecting to divide the 28 The following explains the logic for dividing the 28 bits of the HID
bits of the HID into 2 14-bit components. into two 14-bit components.
At this writing ICAO has 273 member "States", each may want to At this writing, the International Civil Aviation Organization (ICAO)
control RID assignment within its National Air Space (NAS). Some has 193 member "States", and each may want to control RID assignment
members may want separate RAAs to use for Civil, general Government, within its National Air Space (NAS). Some members may want separate
and Military use. They may also want allowances for competing Civil RAAs to use for Civil, general Government, and Military use. They
RAA operations. It is reasonable to plan for 8 RAAs per ICAO member may also want allowances for competing Civil RAA operations. It is
(plus regional aviation organizations like in the European Union). reasonable to plan for eight RAAs per ICAO member (plus regional
Thus at a start a 4,096 RAA space is advised. aviation organizations like in the EU). Thus, as a start, a space of
4,096 RAAs is advised.
There will be requests by commercial entities for their own, RAA There will be requests by commercial entities for their own RAA
allotments. Examples could include international organizations that allotments. Examples could include international organizations that
will be using UAS and international delivery service associations. will be using UAS and international delivery service associations.
These may be smaller than the RAA space needed by ICAO member States These may be smaller than the RAA space needed by ICAO member States
and could be met with a 2,048 space allotment, but as will be seen, and could be met with a 2,048 space allotment; however, as will be
might as well be 4,096 as well. seen, these might as well be 4,096 as well.
This may well cover currently understood RAA entities. There will be This may well cover currently understood RAA entities. In the
future new applications, branching off into new areas. So yet future, there will be new applications, branching off into new areas,
another space allocation should be set aside. If this is equal to so yet another space allocation should be set aside. If this is
all that has been reserved, we should allow for 16,384 (2^14) RAAs. equal to all that has been reserved, we should allow for 16,384
(2^14) RAAs.
The HDA allocation follows a different logic from that of RAAs. Per The HDA allocation follows a different logic from that of RAAs. Per
Appendix D, an HDA should be able to easily assign 63M RIDs and even Appendix D, an HDA should be able to easily assign 63M RIDs and even
manage 663M with a "first come, first assigned" registration process. manage 663M with a "first come, first assigned" registration process.
For most HDAs this is more than enough, and a single HDA assignment For most HDAs, this is more than enough, and a single HDA assignment
within their RAA will suffice. Most RAAs will only delegate to a within their RAA will suffice. Most RAAs will only delegate to a
couple HDAs for their operational needs. But there are major couple of HDAs for their operational needs. But there are major
exceptions that point to some RAAs needing large numbers of HDA exceptions that point to some RAAs needing large numbers of HDA
assignments. assignments.
Delivery service operators like Amazon (est. 30K delivery vans) and Delivery service operators like Amazon (est. 30K delivery vans) and
UPS (est. 500K delivery vans) may choose, for anti-tracking reasons, UPS (est. 500K delivery vans) may choose, for anti-tracking reasons,
to use unique RIDs per day or even per operation. 30K delivery UA to use unique RIDs per day or even per operation. 30K delivery UAs
could need 11M upwards to 44M RIDs. Anti-tracking would be hard to could need between 11M and 44M RIDs. Anti-tracking would be hard to
provide if the HID were the same for a delivery service fleet, so provide if the HID were the same for a delivery service fleet, so
such a company may turn to an HDA that provides this service to such a company may turn to an HDA that provides this service to
multiple companies so that who's UA is who's is not evident in the multiple companies so that who's UA is who's is not evident in the
HID. A USS providing this service could well use multiple HDA HID. A USS providing this service could well use multiple HDA
assignments per year, depending on strategy. assignments per year, depending on strategy.
Perhaps a single RAA providing HDAs for delivery service (or similar Perhaps a single RAA providing HDAs for delivery service (or a
behaving) UAS could 'get by' with a 2048 HDA space (11-bits). So the similar purpose) UAS could 'get by' with a 2048 HDA space (11-bits).
HDA space could well be served with only 12 bits allocated out of the So the HDA space could well be served with only 12 bits allocated out
28-bit HID space. But as this is speculation, and it will take years of the 28-bit HID space. However, as this is speculation and
of deployment experience, a 14-bit HDA space has been selected. deployment experience will take years, a 14-bit HDA space has been
selected.
There may also be 'small' ICAO member States that opt for a single There may also be 'small' ICAO member States that opt for a single
RAA and allocate their HDAs for all UA that are permitted in their RAA and allocate their HDAs for all UAs that are permitted in their
NAS. The HDA space is large enough that some to use part for NAS. The HDA space is large enough that a portion may be used for
government needs as stated above and for small commercial needs. Or government needs as stated above and small commercial needs.
the State may use a separate, consecutive RAA for commercial users. Alternatively, the State may use a separate, consecutive RAA for
Thus it would be 'easy' to recognize State-approved UA by HID high- commercial users. Thus it would be 'easy' to recognize State-
order bits. approved UA by HID high-order bits.
B.1. DET Encoding Example B.1. DET Encoding Example
The DET upper 64 bits appear to be oddly constructed from nibbled The upper 64 bits of DET appear to be oddly constructed from nibbled
fields, when typically seen in 8-bit representations. The following fields, when typically seen in 8-bit representations. The following
works out the construction of the example in Section 5. works out the construction of the example in Section 5.
In that example the prefix is 2001:30::/28, the RAA is decimal 10 and In that example, the prefix is 2001:30::/28, the RAA is decimal 10,
the HDA is decimal 20. Below is the RAA and HDA in 14-bit format: and the HDA is decimal 20. Below is the RAA and HDA in 14-bit
format:
RAA 10 = 00000000001010 RAA 10 = 00000000001010
HDA 20 = 00000000010100 HDA 20 = 00000000010100
The left most 4 bits of the RAA, all zeros, combine with the prefix The leftmost 4 bits of the RAA, all zeros, combine with the prefix to
to form 2001:0030:, leaving remaining RAA and HDA combined to: form 2001:0030:, which leaves the remaining RAA and HDA to combine
to:
0000|0010|1000|0000|0001|0100| 0000|0010|1000|0000|0001|0100|
Which, combined with the OGA of x05 is: 0280:1405, thus the whole Which when combined with the OGA of x05 is 0280:1405, thus the whole
upper 64 bits are 2001:0030:0280:1405. upper 64 bits are 2001:0030:0280:1405.
Appendix C. Base32 Alphabet Appendix C. Base32 Alphabet
The alphabet used in CTA 2063-A Serial Number does not lend to using The alphabet used in CTA 2063-A Serial Number does not map to any
any published Base32 encoding scheme. Thus the following Base32 published Base32 encoding scheme. Therefore, the following Base32
Alphabet is used. Alphabet is used.
Each 5-bit group is used as an index into an array of 32 printable Each 5-bit group is used as an index into an array of 32 printable
characters. The character referenced by the index is placed in the characters. The character referenced by the index is placed in the
output string. These characters, identified below, are selected from output string. These characters, identified below, are selected from
US-ASCII digits and uppercase letters. US-ASCII digits and uppercase letters.
+=====+========+=====+==========+=====+==========+=====+==========+ +=====+========+=====+==========+=====+==========+=====+==========+
|Value|Encoding|Value| Encoding |Value| Encoding |Value| Encoding | |Value|Encoding|Value| Encoding |Value| Encoding |Value| Encoding |
+=====+========+=====+==========+=====+==========+=====+==========+ +=====+========+=====+==========+=====+==========+=====+==========+
skipping to change at page 35, line 36 skipping to change at line 1672
+-----+--------+-----+----------+-----+----------+-----+----------+ +-----+--------+-----+----------+-----+----------+-----+----------+
| 4|4 | 12| C | 20| L | 28| V | | 4|4 | 12| C | 20| L | 28| V |
+-----+--------+-----+----------+-----+----------+-----+----------+ +-----+--------+-----+----------+-----+----------+-----+----------+
| 5|5 | 13| D | 21| M | 29| W | | 5|5 | 13| D | 21| M | 29| W |
+-----+--------+-----+----------+-----+----------+-----+----------+ +-----+--------+-----+----------+-----+----------+-----+----------+
| 6|6 | 14| E | 22| N | 30| X | | 6|6 | 14| E | 22| N | 30| X |
+-----+--------+-----+----------+-----+----------+-----+----------+ +-----+--------+-----+----------+-----+----------+-----+----------+
| 7|7 | 15| F | 23| P | 31| Y | | 7|7 | 15| F | 23| P | 31| Y |
+-----+--------+-----+----------+-----+----------+-----+----------+ +-----+--------+-----+----------+-----+----------+-----+----------+
Table 2: The Base 32 Alphabet Table 14: The Base 32 Alphabet
Appendix D. Calculating Collision Probabilities Appendix D. Calculating Collision Probabilities
The accepted formula for calculating the probability of a collision The accepted formula for calculating the probability of a collision
is: is:
p = 1 - e^{-k^2/(2n)} p = 1 - e^({-k^2/(2n)})
P Collision Probability P: Collision Probability
n Total possible population
k Actual population n: Total possible population
k: Actual population
The following table provides the approximate population size for a The following table provides the approximate population size for a
collision for a given total population. collision for a given total population.
Deployed Population +==================+============================================+
Total With Collision Risk of | Total Population | Deployed Population With Collision Risk of |
Population .01% 1% | +=====================================+======+
| | .01% | 1% |
+==================+=====================================+======+
| 2^96 | 4T | 42T |
+------------------+-------------------------------------+------+
| 2^72 | 1B | 10B |
+------------------+-------------------------------------+------+
| 2^68 | 250M | 2.5B |
+------------------+-------------------------------------+------+
| 2^64 | 66M | 663M |
+------------------+-------------------------------------+------+
| 2^60 | 16M | 160M |
+------------------+-------------------------------------+------+
2^96 4T 42T Table 15: Approximate Population Size With Collision Risk
2^72 1B 10B
2^68 250M 2.5B
2^64 66M 663M
2^60 16M 160M
Acknowledgments Acknowledgments
Dr. Gurtov is an adviser on Cybersecurity to the Swedish Civil Dr. Gurtov is an adviser on Cybersecurity to the Swedish Civil
Aviation Administration. Aviation Administration.
Quynh Dang of NIST gave considerable guidance on using Keccak and the Quynh Dang of NIST gave considerable guidance on using Keccak and the
NIST supporting documents. Joan Deamen of the Keccak team was supporting NIST documents. Joan Deamen of the Keccak team was
especially helpful in many aspects of using Keccak. Nicholas especially helpful in many aspects of using Keccak. Nicholas
Gajcowski [cfrg-comment] provided a concise hash pre-image security Gajcowski [CFRG-COMMENT] provided a concise hash pre-image security
assessment via the CFRG list. assessment via the CFRG list.
Many thanks to Michael Richardson and Brian Haberman for the iotdir Many thanks to Michael Richardson and Brian Haberman for the iotdir
review, Magnus Nystrom for the secdir review, Elwyn Davies for genart review, Magnus Nystrom for the secdir review, Elwyn Davies for the
review and DRIP co-chair and draft shepherd, Mohamed Boucadair for genart review, and the DRIP co-chair and document shepherd, Mohamed
his extensive comments and help on document clarity. And finally, Boucadair for his extensive comments and help on document clarity.
many thanks to area directors: Roman Danyliw, Erik Kline, Murray And finally, many thanks to the Area Directors: Roman Danyliw, Erik
Kucherawy, Warren Kumari, John Scudder, Paul Wouters, and Sarker Kline, Murray Kucherawy, Warren Kumari, John Scudder, Paul Wouters,
Zaheduzzaman, for the IESG review. and Sarker Zaheduzzaman, for the IESG review.
Authors' Addresses Authors' Addresses
Robert Moskowitz Robert Moskowitz
HTT Consulting HTT Consulting
Oak Park, MI 48237 Oak Park, MI 48237
United States of America United States of America
Email: rgm@labs.htt-consult.com Email: rgm@labs.htt-consult.com
Stuart W. Card Stuart W. Card
 End of changes. 230 change blocks. 
624 lines changed or deleted 711 lines changed or added

This html diff was produced by rfcdiff 1.48.