DRIP Entity Tag (DET) for Unmanned Aircraft System Remote Identification (UAS RID)HTT ConsultingOak ParkMI48237USArgm@labs.htt-consult.comAX Enterprize, LLC4947 Commercial DriveYorkvilleNY13495USAstu.card@axenterprize.comAX Enterprize, LLC4947 Commercial DriveYorkvilleNY13495USAadam.wiethuechter@axenterprize.comLinköping UniversityIDALinköping58183Swedengurtov@acm.org
Internet
DRIPRFCRequest for CommentsI-DInternet-DraftRID
This document describes the use of Hierarchical Host Identity Tags
(HHITs), updating both and , as self-asserting IPv6 addresses and thereby a
trustable identifier for use as the Unmanned Aircraft System Remote
Identification and tracking (UAS RID). Within the context of RID,
HHITs will be called DRIP Entity Tags (DET). HHITs self-attest to
the included explicit hierarchy that provides Registrar discovery
for 3rd-party identifier attestation.
IntroductionDRIP Requirements
describes an Unmanned Aircraft System Remote Identification and
tracking (UAS ID) as unique (ID-4), non-spoofable (ID-5), and
identify a registry where the ID is listed (ID-2); all within a 20
character identifier (ID-1).
This document describes the use of Hierarchical Host Identity Tags (HHITs) as
self-asserting IPv6 addresses and thereby a trustable identifier
for use as the UAS Remote ID. HHITs include explicit hierarchy to
enable DNS HHIT queries (Host ID for authentication, e.g., ) and for Extensible
Provisioning Protocol (EPP) Registrar discovery for 3rd-party identification attestation (e.g.,
).
This addition of hierarchy to HITs requires updates to both and .
HHITs as used within the context of UAS will be labeled as DRIP
Entity Tags (DET). Throughout this document HHIT and DET will be
used appropriately. HHIT will be used when covering the
technology, and DET for their context within UAS RID.
HHITs are statistically unique through the cryptographic hash
feature of second-preimage resistance. The cryptographically-bound
addition of the hierarchy and a HHIT registration process
provide complete, global HHIT uniqueness. This contrasts with using
general identifiers (e.g., a Universally Unique IDentifiers (UUID) or device serial
numbers) as the subject in an X.509 certificate.
In a multi Certificate Authority (multi-CA) PKI alternative to
HHITs, a Remote ID as the Subject () can occur in multiple CAs, possibly
fraudulently. CAs within the PKI would need to implement an
approach to enforce assurance of the uniqueness achieved with
HHITs.
Hierarchical HITs provide self-attestation of the HHIT registry. A
HHIT can only be in a single registry within a registry system
(e.g., EPP and DNS).
Hierarchical HITs are valid, though non-routable, IPv6 addresses
. As such, they fit in many ways within
various IETF technologies.
Terms and DefinitionsRequirements Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
"MAY", and "OPTIONAL" in this document are to be interpreted as
described in BCP 14 when, and only when, they appear in all
capitals, as shown here.
Notations
|
Signifies concatenation of information - e.g., X | Y is the
concatenation of X and Y.
Definitions
This document uses the terms defined in DRIP Requirements. The following new terms
are used in the document:
cSHAKE (The customizable SHAKE function ):
Extends the SHAKE scheme to allow users to customize their
use of the SHAKE function.
HDA (Hierarchical HIT Domain Authority):
The 14-bit field that identifies the HHIT Domain Authority
under a Registered Assigning Authority (RAA).
HHIT
Hierarchical Host Identity Tag. A HIT with extra
hierarchical information not found in a standard HIT .
HI
Host Identity. The public key portion of an asymmetric key
pair as defined in .
HID (Hierarchy ID):
The 32-bit field providing the HIT Hierarchy ID.
HIP (Host Identity Protocol)
The origin of HI, HIT, and HHIT, required for DRIP.
HIT
Host Identity Tag. A 128-bit handle on the HI. HITs are
valid IPv6 addresses.
Keccak (KECCAK Message Authentication Code):
The family of all sponge functions with a KECCAK-f
permutation as the underlying function and multi-rate
padding as the padding rule. In particular all the
functions referenced from and
.
KMAC (KECCAK Message Authentication Code ):
A Pseudo Random Function (PRF) and keyed hash function
based on KECCAK.
RAA (Registered Assigning Authority):
The 14-bit field identifying the business or organization
that manages a registry of HDAs.
RVS (Rendezvous Server):
A Rendezvous Server such as the HIP Rendezvous Server for
enabling mobility, as defined in .
SHAKE (Secure Hash Algorithm KECCAK ):
A secure hash that allows for an arbitrary output length.
XOF (eXtendable-Output Function ):
A function on bit strings (also called messages) in which
the output can be extended to any desired length.
The Hierarchical Host Identity Tag (HHIT)
The Hierarchical HIT (HHIT) is a small but important enhancement
over the flat HIT space, constructed as an Overlay Routable
Cryptographic Hash IDentifier (ORCHID) . By adding two levels of hierarchical
administration control, the HHIT provides for device
registration/ownership, thereby enhancing the trust framework for
HITs.
HHITs represent the HI in only a 64-bit hash, expand the Suite ID
to 8 bits, and use the other 28 bits to create a hierarchical
administration organization for HIT domains. Hierarchical HIT
construction is defined in . The input values for the Encoding rules are
described in .
A HHIT is built from the following fields:
p = IANA prefix (max 28 bit)
28-bit Hierarchy ID (HID) which provides the structure to
organize HITs into administrative domains. HIDs are further
divided into two fields:
14-bit Registered Assigning Authority (RAA) ()
14-bit Hierarchical HIT Domain Authority (HDA)
()
8 bit HHIT Suite ID
ORCHID hash (96 - prefix length - 8 for HHIT Suite ID, e.g., 64)
See
The Context ID (generated with openssl rand) for the ORCHID hash is:
Context IDs are allocated out of the namespace introduced for
Cryptographically Generated Addresses (CGA) Type Tags .
A python script is available for generating HHITs .
HHIT Prefix for RID Purposes
The IPv6 HHIT prefix MUST be distinct from that used in the
flat-space HIT as allocated in . Without this unique prefix, the first 4 bits
of the RAA would be interpreted as the HIT Suite ID per HIPv2.
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 .
Other prefixes may be added in the future either for DET use or
other applications of HHITs. For a prefix to be added to this
registry, its usage and HID allocation process needs to be
publicly available.
HHIT Suite IDs
The HHIT Suite IDs specify the HI and hash algorithms. These are a
superset of the HIT Suite ID as defined in .
The HHIT values of 1 - 15 map to the 4-bit HIT Suite IDs. HHIT
values of 17 - 31 map to the 8-bit HIT Suite IDs. HHIT values
unique to HHIT will start with value 32.
As HHIT introduces a new Suite ID, EdDSA/cSHAKE128, and since this
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 be allocated similarly, or may come out of the additional
space made available by going to 8 bits.
The following HHIT Suite IDs are defined:
HDA custom HIT Suite IDs
Support for 8 bit HHIT Suite IDs allows for HDA custom HIT Suite
IDs. These will be assigned values greater than 15 as follows:
This feature, for example, may be used for large-scale
experimenting with post quantum computing hashes or similar domain
specific needs. Note that currently there is no support for
domain-specific HI algorithms.
The Hierarchy ID (HID)
The Hierarchy ID (HID) provides the structure to organize HITs into
administrative domains. HIDs are further divided into two fields:
14-bit Registered Assigning Authority (RAA)
14-bit Hierarchical HIT Domain Authority (HDA)
The rationale for the 14/14 HID split is described in .
The Registered Assigning Authority (RAA)
An RAA is a business or organization that manages a registry of
HDAs. For example, the Federal Aviation Authority (FAA) could be
an RAA.
The RAA is a 14-bit field (16,384 RAAs) managed as described in
. An RAA
must provide a set of services to allocate HDAs to organizations.
It must have a public policy on what is necessary to obtain an HDA.
The RAA need not maintain any HIP related services. It must
maintain a DNS zone minimally for discovering HID RVS servers. The
zone delegation is also covered in .
As HHITs may be used in many different domains, RAA should be
allocated in blocks with consideration on the likely size of a
particular usage. Alternatively, different prefixes can be used to
separate different domains of use of HHITs.
This DNS zone may be a PTR for its RAA. It may be a zone in an
HHIT specific DNS zone. Assume that the RAA is 100. The PTR
record could be constructed as follows:
The Hierarchical HIT Domain Authority (HDA)
An HDA may be an ISP, USS, or any third party that takes on the
business to provide UAS services management, HIP RVS or other
needed services 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 as described in . An HDA must maintain public 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 scales to
the potentially millions of customers are outside the scope of this
document, though covered in . This service should be discoverable through
the DNS zone maintained by the HDA's RAA.
An RAA may assign a block of values to an individual organization.
This is completely up to the individual RAA's published policy for
delegation. Such policy is out of scope.
Edward Digital Signature Algorithm for HHITs
The Edwards-Curve Digital Signature Algorithm (EdDSA) is specified here for
use as Host Identities (HIs) per HIPv2.
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. As such the following update HIP parameters. Other than
the HIP DNS RR, these should not be needed in a DRIP implementation
that does not use HIP.
See for use of the HIT
Suite in the context of this document.
HOST_ID
The HOST_ID parameter specifies the public key algorithm, and for
elliptic curves, a name. The HOST_ID parameter is defined in
.
HIP Parameter support for EdDSA
The addition of EdDSA as a HI algorithm requires a subfield in the
HIP HOST_ID parameter () as was done for ECDSA when used in a HIP
exchange.
For HIP hosts that implement EdDSA as the algorithm, the following
EdDSA curves are represented by the following fields:
For hosts that implement EdDSA as a HIP algorithm the following
EdDSA curves are required:
HIP DNS RR support for EdDSA
The HIP DNS RR (Resource Record) is defined in . It uses the values defined
for the 'Algorithm Type' of the IPSECKEY RR for its PK Algorithm field.
The new EdDSA HI will use
for the IPSECKEY RR encoding:
HIT_SUITE_LIST
The HIT_SUITE_LIST parameter contains a list of the supported HIT
suite IDs of the HIP Responder. Based on the HIT_SUITE_LIST, the
HIP Initiator can determine which source HIT Suite IDs are
supported by the Responder. The HIT_SUITE_LIST parameter is defined
in .
The following HIT Suite ID is defined, and the relationship between
the four-bit ID value used in the OGA ID field and the eight-bit
encoding within the HIT_SUITE_LIST ID field is clarified:
The following table provides more detail on the above HIT Suite
combination.
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 in the ORCHID (without truncation).
HIT Suites
Index
Hash function
HMAC
Signature algorithm family
Description
5
cSHAKE128
KMAC128
EdDSA
EdDSA HI hashed with cSHAKE128, output is variable
ORCHIDs for Hierarchical HITs
This section improves on ORCHIDv2 with three enhancements:
Optional Info field between the Prefix and OGA ID.
Increased flexibility on the length of each component in the
ORCHID construction, provided the resulting ORCHID is 128
bits.
Use of cSHAKE, NIST SP 800-185, for the hashing
function.
The Keccak based
cSHAKE XOF hash function is a variable output length hash function.
As such it does not use the truncation operation that other hashes
need. The invocation of cSHAKE specifies the desired number of
bits in the hash output. Further, cSHAKE has a parameter 'S' as a
customization bit string. This parameter will be used for
including the ORCHID Context Identifier in a standard fashion.
This ORCHID construction includes the fields in the ORCHID in the
hash to protect them against substitution attacks. It also provides
for inclusion of additional information, in particular the
hierarchical bits of the Hierarchical HIT, in the ORCHID
generation. This should be viewed as an addendum to ORCHIDv2, as it can
produce ORCHIDv2 output.
Adding Additional Information to the ORCHID
ORCHIDv2 is defined as
consisting of three components:
This addendum will be constructed as follows:
With a 28-bit IPv6 Prefix, the remaining 100 bits can be divided in
any manner between the additional information, OGA ID, and the hash
output. Care must be considering the size of the hash portion,
taking into account risks like pre-image attacks. Thus 64 bits as
used in Hierarchical HITs may be as small as is acceptable. The
size of n is determined as what is left; in the case of the 8-bit
OGA used for HHIT, this is 28 bits.
ORCHID Encoding
This addendum adds a different encoding process to that currently
used in ORCHIDv2. The input to the hash function explicitly
includes all the header content plus the Context ID. The header
content consists of the Prefix, the Additional Information, and OGA
ID (HIT Suite ID). Secondly, the length of the resulting hash is
set by sum of the length of the ORCHID header fields. For example,
a 28-bit prefix with 28 bits for the HID and 8 bits for the OGA ID
leaves 64 bits for the hash length.
To achieve the variable length output in a consistent manner, the
cSHAKE hash is used. For this purpose, cSHAKE128 is appropriate.
The cSHAKE function call for this addendum is:
For full Suite ID support (those that use fixed length hashes like
SHA256), the following hashing can be used (Note: this does not
produce output Identical to ORCHIDv2 for a /28 prefix and
Additional Information of zero-length):
Hierarchical HITs use the same context as HIPv2 HIT as the ORCHID
generation is clearly separated by the distinct Prefix in HHIT.
Encoding ORCHIDs for HIPv2
This section discusses how to provide backwards compatibility for
ORCHIDv2 as used in
HIPv2.
For HIPv2, the Prefix is 2001:20::/28. 'Info' is zero-length (i.e.,
not included), and OGA ID is 4-bit. Thus, the HI Hash is length
96-bit. Further, the Prefix and OGA ID are not included in the
hash calculation. Thus, the following ORCHID calculations for fixed
output length hashes are used:
For variable output length hashes use:
Then, the ORCHID is constructed as follows:
ORCHID Decoding
With this addendum, the decoding of an ORCHID is determined by the
Prefix and OGA ID. ORCHIDv2 decoding is selected when the Prefix is:
2001:20::/28.
For Hierarchical HITs, the decoding is determined by the presence
of the HHIT Prefix as specified in .
Decoding ORCHIDs for HIPv2
This section is included to provide backwards compatibility for ORCHIDv2 as used for HIPv2.
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.
Hierarchical HITs as Remote ID DRIP Entity Tags (DET)
Hierarchical HITs are a refinement on the Host Identity Tag (HIT)
of HIPv2. HHITs require a new ORCHID mechanism as described in
.
HHITs for UAS ID (called, DETs) also use the new EdDSA/SHAKE128 HIT
suite defined in (GEN-2 in
). This
hierarchy, cryptographically embedded within the HHIT, provides the
information for finding the UA's HHIT registry (ID-3 in ).
As per 2021, ASTM Standard Specification for Remote ID and Tracking
specifies four UAS ID
types:
A static, manufacturer assigned, hardware serial number per
ANSI/CTA-2063-A "Small Unmanned Aerial System Serial Numbers"
.
A CAA assigned (presumably static) ID.
A UTM system assigned UUID . These can be dynamic, but do not need to
be.
Specific Session ID (SSI)
Note that Types 1 - 3 allow for an UAS ID with a maximum length of
20 bytes, the SSI (Type 4) uses the first byte of the ID for the
SSI value, thus restricting the UAS ID to a maximum of 19 bytes.
The SSI values initially assigned (as per 2021) are:
Nontransferablity of DETs
A HI and its HHIT SHOULD NOT be transferable between UA or even
between replacement electronics (e.g., replacement of damaged
controller CPU) for a UA. The private key for the HI SHOULD be
held in a cryptographically secure component.
Encoding HHITs in CTA 2063-A Serial Numbers
In some cases, it is advantageous to encode HHITs as a CTA 2063-A
Serial Number . For
example, the FAA Remote ID Rules state that a Remote ID Module (i.e., not
integrated with UA controller) must only use "the serial number of
the unmanned aircraft"; CTA 2063-A meets this requirement.
Encoding an HHIT within the CTA 2063-A format is not simple. The
CTA 2063-A format is defined as:
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 hash will take the full 15 characters (as described below)
of the MFR SN field.
A character in a CTA 2063-A Serial Number "shall include any
combination of digits and uppercase letters, except the letters O
and I, but may include all digits". This would allow for a Base34
encoding of the binary HHIT Suite ID and ORCHID hash in 15
characters. Although, programmatically, such a conversion is not
hard, other technologies (e.g., credit card payment systems) that
have used such odd base encoding have had performance challenges.
Thus, here a Base32 encoding will be used by also excluding the
letters Z and S (too similar to the digits 2 and 5).
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 encoded into the 15 character MFR SN field using the
digit/letters above. The manufacturer MUST use a Length Code of F
(15).
Using the sample DET from that is for HDA=20 under RAA=10 and having the
ICAO CTA MFR Code of 8653, the 20-character CTA 2063-A Serial
Number would be:
A mapping service (e.g., DNS) MUST provide a trusted (e.g., via
DNSSEC) conversion of the 4-character Manufacturer Code to
high-order 58 bits (Prefix | HID) of the HHIT. Definition of this
mapping service is currently out of scope of this document.
It should be noted that this encoding would only be used in the
Basic ID Message. The HHIT DET will still be used in the
Authentication Messages.
Remote ID DET as one class of Hierarchical HITs
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 HHITs. As such these follow-on uses need to be
considered in allocating the RAAs () or HHIT prefix assignments ().
Hierarchy in ORCHID Generation
ORCHIDS, as defined in ,
do not cryptographically bind an IPv6 prefix nor the Orchid
Generation Algorithm (OGA) ID (the HIT Suite ID) to the hash of the
HI. The rationale at the time of developing ORCHID was attacks
against these fields are Denial-of-Service (DoS) attacks against
protocols using ORCHIDs and thus up to those protocols to address
the issue.
HHITs, as defined in , cryptographically bind all content 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 in
the HHIT. This provides a strong, self-attestation for using the
hierarchy to find the DET Registry based on the HID.
DRIP Entity Tag (DET) Registry
DETs are registered to HDAs. A registration process, ,
ensures DET global uniqueness (ID-4 in ). It also provides
the mechanism to create UAS public/private data that are associated
with the DET (REG-1 and REG-2 in ).
The two levels of hierarchy within the DET allows for CAAs to have
their own Registered Assigning Authority (RAA) for their NAS.
Within the RAA, the CAAs can delegate HDAs as needed. There may be
other RAAs allowed to operate within a given NAS; this is a policy
decision of each CAA.
Remote ID Authentication using DETs
The EdDSA25519 HI ()
underlying the DET can be used in an 84-byte self-proof attestation
(timestamp, HHIT, and signature of these) to provide proof of
Remote ID ownership (GEN-1 in ). In practice, the Wrapper and Manifest
authentication formats in the ASTM Authentication Message (Msg Type
0x2)
implicitly provide this self-attestation. A lookup service like
DNS can provide the HI and registration proof (GEN-3 in ).
Similarly, for Observers without Internet access, a 200-byte offline
self-attestation could provide the same Remote ID ownership proof.
This attestation would contain the HDA's signing of the UA's HHIT,
itself signed by the UA's HI. Only a small cache that contains the
HDA's HI/HHIT and HDA meta-data is needed by the Observer. However,
such an object would just fit in the ASTM Authentication Message
with no room for growth. In practice provides this
offline self-attestation in two authentication messages: the HDA's
certification of the UA's HHIT registration in a Link
authentication message whose hash is sent in a Manifest
authentication message.
Hashes of any previously sent ASTM messages can be placed in a
Manifest authentication message (GEN-2 in ). When a Location/Vector
Message (Msg Type 0x1) hash along with the hash of the HDA's UA
HHIT attestation are sent in a Manifest authentication 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.
All this behavior and how to mix these authentication messages into
the flow of UA operation messages are detailed in .
DRIP Entity Tags (DETs) in 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 as guidance to the actual deployment of DETs in DNS. Further
DNS-related considerations are covered in .
As FQDNs, for example, ".icao.int.".
Reverse DNS lookups as IPv6 addresses per .
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 ). For example, the
USS for the HHIT could be found via the following: Assume the RAA
is 100 and the HDA is 50. The PTR record is constructed as
follows:
The individual DETs may be potentially too numerous (e.g., 60 - 600M)
and dynamic (e.g., new DETs every minute for some HDAs) to store
in a signed, DNS zone. The HDA SHOULD provide DNS service for its
zone and provide the HHIT detail response. A secure connection
(e.g., DNS over TLS) to the authoritative zone may be a viable
alternative to DNSSEC.
The DET reverse lookup can be a standard IPv6 reverse look up, or
it can leverage off the HHIT structure. If we assume a prefix of
2001:30::/28, the RAA is 10 and the HDA is 20, the DET is:
A DET reverse lookup could be to:
or:
A 'standard' ip6.arpa RR has the advantage of only one Registry
service supported.
Other UTM Uses of HHITs beyond DET
HHITs might be used within the UTM architecture beyond DET (and USS
in UA ID registration and authentication), for example, as a GCS
HHIT ID. The GCS may use its HIIT if it is the source of Network
Remote ID for securing the transport and for secure C2 transport
(e.g., ).
Observers may have their own HHITs to facilitate UAS information
retrieval (e.g., for authorization to private UAS data). They
could also use their HHIT for establishing a HIP connection with
the UA Pilot for direct communications per authorization (this use
is currently outside the scope of this document). Further, they
can be used by FINDER observers, (e.g., ).
Summary of Addressed DRIP Requirements
This document provides the details to solutions for GEN 1 - 3, ID 1
- 5, and REG 1 - 2 requirements that are described in .
DET Privacy
There is no expectation of privacy for DETs; it is not part of the
Privacy Normative Requirements, . DETs are broadcast in the
clear over the open air via Bluetooth and Wi-Fi. They will be
collected and collated with other public information about the UAS.
This will include DET registration information and location and
times of operations for a DET. A DET can be for the life of a UA
if there is no concern about DET/UA activity harvesting.
Further, the MAC address of the wireless interface used for Remote
ID broadcasts are a target for UA operation aggregation that may
not be mitigated through address randomization. For Bluetooth 4
Remote ID messaging, the MAC address is used by observers to link
the Basic ID Message that contains the RID with other Remote ID
messages, thus must be constant for a UA operation. This message
linkage use of MAC addresses may not be needed with the Bluetooth 5
or Wi-Fi PHYs. These PHYs provide for a larger message payload and
can use the Message Pack (Msg Type 0xF) and the Authentication
Message to transmit the RID with other Remote ID messages.
However, it is not mandatory to send the RID in a Message Pack or
Authentication Message, so allowance for using the MAC address for
UA message linking must be maintained. That is, the MAC address
should be stable for at least a UA operation.
Finally, it is not adequate to simply change the DET and MAC for a
UA per operation to defeat historically tracking a UA's activity.
Any changes to the UA MAC may have impacts to C2 setup and
use. A constant GCS MAC may well defeat any privacy gains in UA
MAC and RID changes. UA/GCS binding is complicated with changing
MAC addresses; historically UAS design assumed these to be
"forever" and made setup a one-time process. Additionally, if IP
is used for C2, a changing MAC may mean a changing IP address to
further impact the UAS bindings. Finally, an encryption wrapper's
identifier (such as ESP SPI) would need to
change per operation to insure operation tracking separation.
Creating and maintaining UAS operational privacy is a multifaceted
problem. Many communication pieces need to be considered to truly
create a separation between UA operations. Simply changing the UAS
RID only starts the changes that need to be implemented.
IANA ConsiderationsNew IANA DRIP Registry
This document requests IANA to create a new registry titled "Drone
Remote Identification Protocol" registry. The following two
subregistries should be created under that 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 . Future additions to this
subregistry are to be made through Expert Review ().
Entries with network-specific prefixes may be present in
the registry.
Hierarchical HIT (HHIT) Suite ID:
This 8-bit valued subregistry is a superset of the 4/8-bit
"HIT Suite ID" subregistry of the "Host Identity Protocol
(HIP) Parameters" registry in . The following HHIT Suite IDs are
defined:
IANA CGA Registry Update
This document requests IANA to make the following change to the
IANA "CGA Extension Type Tags registry registry:
Context ID:
The Context ID ()
shares the namespace introduced for CGA Type Tags. Defining
new Context IDs follow the rules in :
IANA HIP Registry Updates
This document requests IANA to make the following changes to the
IANA "Host Identity Protocol (HIP) Parameters" registry:
Host ID:
This document defines the new EdDSA Host ID with value TBD1
(suggested: 13) ()
in the "HI Algorithm" subregistry of the "Host Identity
Protocol (HIP) Parameters" registry.
EdDSA Curve Label:
This document specifies a new algorithm-specific
subregistry named "EdDSA Curve Label". The values for this
subregistry are defined in .
HIT Suite ID:
This document defines the new HIT Suite of EdDSA/cSHAKE
with value TBD3 (suggested: 5) () in the "HIT
Suite ID" subregistry of the "Host Identity Protocol (HIP)
Parameters" registry.
IANA IPSECKEY Registry Update
This document requests IANA to make the following change to the
"IPSECKEY Resource Record Parameters" registry:
IPSECKEY:
This document defines the new IPSECKEY value TBD2
(suggested: 4) () in the "Algorithm Type Field"
subregistry of the "IPSECKEY Resource Record Parameters"
registry.
New Well-Known IPv6 prefix for DETs
Since the DET format is not compatible with , IANA is requested to allocate a new
prefix following this template for the IPv6 Special-Purpose Address
Registry.
Address Block:
IANA is requested to allocate a new 28-bit prefix out of
the IANA IPv6 Special Purpose Address Block, namely
2001::/23, as per (suggested: 2001:30::/28).
Name:
This block should be named "DRIP Device Entity Tags (DET)
Prefix".
RFC:
This document.
Allocation Date:
Date this document published.
Termination Date:
Forever.
Source:
False.
Destination:
False.
Forwardable:
False.
Globally Reachable:
False.
Reserved-by-Protocol:
False?
Security Considerations
The 64-bit hash in HHITs presents a real risk of second pre-image
cryptographic hash attack . There are no known (to the authors) studies of
hash size to cryptographic hash attacks. A Python script is
available to randomly generate 1M HHITs that did not produce a hash
collision which is a simpler attack than a first or second
pre-image attack.
However, with today's computing power, producing 2^64 EdDSA
keypairs and then generating the corresponding HHIT is economically
feasible. 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. The point being, 2^64 is not prohibitive, especially
as this can be done in parallel.
Now it should be noted that the 2^64 attempts is for stealing a
specific HHIT. Consider a scenario of a street photography company
with 1,024 UAs (each with its own HHIT); you'd be happy stealing
any one of them. Then rather than needing to satisfy a 64-bit
condition on the cSHAKE128 output, you need only satisfy what is
equivalent to a 54-bit condition (since you have 2^10 more
opportunities for success).
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, per , it is
computationally and economically feasible. Therefore, the HHIT
registration and HHIT/HI registration validation is strongly
recommended.
The DET Registry services effectively block attempts to "take over"
or "hijack" a DET. It does not stop a rogue attempting to
impersonate a known DET. This attack can be mitigated by the
receiver of the DET using DNS to find the HI for the DET. As such,
use of DNSSEC and DNS over TLS by the DET registries is
recommended.
The 60-bit hash for DETs with 8-bit OGAs have a greater hash attack
risk. As such its use should be restricted to testing and to
small, well managed UAS/USS.
Another mitigation of HHIT hijacking is if the HI owner (UA)
supplies an object containing the HHIT and signed by the HI private
key of the HDA such as discussed in .
The two risks with hierarchical HITs are the use of an invalid HID
and forced HIT collisions. The use of a DNS zone (e.g.,
"det.arpa.") is a strong protection against invalid HIDs. Querying
an HDA's RVS for a HIT under the HDA protects against talking to
unregistered clients. The Registry service ,
through its HHIT uniqueness enforcement, provides against forced or
accidental HHIT hash collisions.
Cryptographically Generated Addresses (CGAs) provide an assurance
of 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 resistance (more important that it implied
second-preimage resistance) makes it statistically challenging to
attacks. A registration process within
the HDA provides a level of assured uniqueness unattainable without
mirroring this approach.
The second aspect of assured uniqueness is the digital signing
(attestation) process of the DET by the HI private key and the
further signing (attestation) of the HI public key by the
Registry's key. This 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 of the HI private key, that
this UAS ID is owned by something and is properly registered.
DET Trust
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 might be done within this Basic ID Message is 4 bytes
truncated from a HI signing of the HHIT (the UA ID field is 20
bytes and a HHIT is 16). This is not trustable; that is, too open
to a hash attack. Minimally, it takes 84 bytes () to prove ownership of
a DET with a full EdDSA signature. Thus, no attempt has been made
to add DET trust directly within the very small Basic ID Message.
The ASTM Authentication Message (Msg Type 0x2) as shown in can provide practical actual
ownership proofs. These attestations include timestamps to defend
against replay attacks. But in themselves, they do not prove which
UA sent the message. They could have been sent by a dog running
down the street with a Broadcast Remote ID module strapped to its
back.
Proof of UA transmission comes when the Authentication Message
includes proofs for the ASTM Location/Vector Message (Msg Type 0x1)
and the observer can see the UA or that information is validated by
ground multilateration .
Only then does an observer gain full trust in the DET of the UA.
DETs obtained via the Network RID path provides a different
approach to trust. Here the UAS SHOULD be securely communicating
to the USS (see ), thus asserting DET trust.
Collision Risks with DETs
The 64-bit hash size does have an increased risk of collisions over
the 96-bit hash size used for the other HIT Suites. There is a
0.01% probability of a collision in a population of 66 million. The
probability goes up to 1% for a population of 663 million. See
for the collision
probability formula.
However, this risk of collision is within a single "Additional
Information" value, i.e., a RAA/HDA domain. The UAS/USS registration
process should include registering the DET and MUST reject a
collision, forcing the UAS to generate a new HI and thus HHIT and
reapplying to the DET registration process.
ReferencesCryptographically Generated Addresses (CGA) Message Type Name SpaceIANAHost Identity Protocol (HIP) ParametersIANAIPSECKEY Resource Record ParametersIANAStandard Specification for Remote ID and TrackingASTM InternationalPython script to generate HHITsA CFRG review of draft-ietf-drip-ridSmall Unmanned Aerial Systems Serial NumbersANSI/CTAU-space Concept of OperationsCORUSThe Keccak FunctionRadboud UniversitySTMicroelectronicsSTMicroelectronicsSTMicroelectronicsRemote Identification of Unmanned AircraftUnited States Federal Aviation Administration (FAA)EU U-Space RID Privacy Considerations
EU is defining a future of airspace management known as U-space
within the Single European Sky ATM Research (SESAR) undertaking.
Concept of Operation for EuRopean UTM Systems (CORUS) project
proposed low-level Concept of
Operations for UAS in EU. It introduces strong requirements
for UAS privacy based on European GDPR regulations. It suggests
that UAs are identified with agnostic IDs, with no information
about UA type, the operators or flight trajectory. Only authorized
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
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 based on the UA transmitted "Remote identification" signal.
Direct remote identification (DRID) is based on a signal
transmitted by the UA directly. Network remote identification
(NRID) is only possible for UAs being tracked by U-Space and is
based on the matching the current UA position to one of the tracks.
The project lists "E-Identification" and "E-Registrations" services
as to be developed. These services can follow the privacy
mechanism proposed in this document. If an "agnostic ID" above
refers to a completely random identifier, it creates a problem with
identity resolution and detection of misuse. On the other hand, a
classical HIT has a flat structure which makes its resolution
difficult. The Hierarchical HITs provide a balanced solution by
associating a registry with the UA identifier. This is not likely
to cause a major conflict with U-space privacy requirements, as the
registries are typically few at a country level (e.g., civil
personal, military, law enforcement, or commercial).
The 14/14 HID split
The following explains the logic behind selecting to divide the 28
bits of the HID into 2 14-bit components.
At this writing ICAO has 273 member "States", each may want to
control RID assignment within its National Air Space (NAS). Some
members may want separate RAAs to use for Civil, general
Government, and Military use. They may also want allowances for
competing Civil RAA operations. It is reasonable to plan for 8
RAAs per ICAO member (plus regional aviation organizations like in
the European Union). Thus at a start a 4,096 RAA space is advised.
There will be requests by commercial entities for their own, RAA
allotments. Examples could include international organizations
that will be using UAS and international delivery service
associations. 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, might as well be 4,096 as well.
This may well cover currently understood RAA entities. There will
be future new applications, branching off into new areas. So yet
another space allocation should be set aside. If this is 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
, an HDA should be able
to easily assign 63M RIDs and even manage 663M with a "first come,
first assigned" registration process. 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 couple HDAs for their
operational needs. But there are major exceptions that point to
some RAAs needing large numbers of HDA assignments.
Delivery service operators like Amazon (est. 30K delivery vans) and
UPS (est. 500K delivery vans) may choose, for anti-tracking
reasons, to use unique RIDs per day or even per operation. 30K
delivery UA could need 11M upwards to 44M RIDs. Anti-tracking
would be hard to 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 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 assignments per year, depending on strategy.
Perhaps a single RAA providing HDAs for delivery service (or
similar behaving) UAS could 'get by' with a 2048 HDA space
(11-bits). So the HDA space could well be served with only 12 bits
allocated out of the 28-bit HID space. But as this is speculation,
and it will take years of deployment experience, a 14-bit HDA space
has been selected.
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
NAS. The HDA space is large enough that some to use part for
government needs as stated above and for small commercial needs.
Or the State may use a separate, consecutive RAA for commercial
users. Thus it would be 'easy' to recognize State-approved UA by
HID high-order bits.
Calculating Collision Probabilities
The accepted formula for calculating the probability of a collision
is:
The following table provides the approximate population size for a
collision for a given total population.
Acknowledgments
Dr. Gurtov is an adviser on Cybersecurity to the Swedish Civil
Aviation Administration.
Quynh Dang of NIST gave considerable guidance on using Keccak and
the NIST supporting documents. Joan Deamen of the Keccak team was
especially helpful in many aspects of using Keccak. Nicholas
Gajcowski provided a
concise hash pre-image security assessment via the CFRG list.
Many thanks to Michael Richardson for the iotdir review, Magnus
Nystrom for the secdir review and DRIP co-chair and draft shepherd,
Mohamed Boucadair for his extensive comments and help on document
clarity.