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) 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.
Introduction 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 EPP
Registrar discovery for 3rd-party
identification attestation (e.g. ).
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 convering 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 is in contrast to
using general identifiers (e.g. a Universally Unique IDentifier
(UUID) or device
serial number) as the subject in an X.509 certificate.
In a multi-CA (multi Certificate Authority) 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. Extensible Provisioning Protocol (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.
Claim(X,Y):
Form of a predicate (X is Y, X has property Y, and most
importantly X owns Y).
Assertion({X...}):
A set of one or more claims. This definition is borrowed
from JWT/CWT (/).
Attestation(X,Y):
A signed claim. X attests to Y.
Certificate(X,Y):
A claim or attestation, Y, signed exclusively by a third
party, X, and are only over identities.
Definitions
This document uses the terms defined in . 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 16-bit field that identifies the HHIT Domain Authority
under an 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 used in HIP.
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 PRF and keyed hash function based on KECCAK.
RAA (Registered Assigning Authority):
The 16 bit field identifying the business or organization
that manages a registry of HDAs.
RVS (Rendezvous Server):
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. 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 and uses the other 32
bits to create a hierarchical administration organization for HIT
domains. Hierarchical HIT construction is defined in . The input values for the
Encoding rules are in .
A HHIT is built from the following fields:
IANA prefix (max 28 bit)
32 bit Hierarchy ID (HID)
4 (or 8) bit HIT Suite ID
ORCHID hash (96 - prefix length - Suite ID length bits, e.g. 64)
See
The Context ID for the ORCHID hash is:
A python script is available for generating HHITs .
HHIT prefix
A unique IANA IPv6 prefix, no larger than 28 bit, for HHITs is
recommended. It clearly separates the flat-space HIT processing
from HHIT processing per .
Without a unique prefix, the first 4 bits of the RRA would be
interpreted as the HIT Suite ID per HIPv2.
HHIT Suite IDs
The HIT Suite IDs specifies the HI and hash algorithms. Any HIT
Suite ID can be used for HHITs. The 8 bit format is supported (only
when the first 4 bits are ZERO), but this reduces the ORCHID hash
length.
8 bit HIT Suite IDs
Support for 8 bit HIT Suite IDs is allowed in , but not
specified in how ORCHIDs are generated with these longer OGAs.
provides the algorithmic
flexibility, allowing for HDA custom HIT Suite IDs as follows:
This feature 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 2 fields:
16 bit Registered Assigning Authority (RAA)
16 bit Hierarchical HIT Domain Authority (HDA)
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 16 bit field (65,536 RAAs) assigned by a numbers
management organization, perhaps ICANN's IANA service. 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.
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 HHTs.
This DNS zone may be a PTR for its RAA. It may be a zone in a HHIT
specific DNS zone. Assume that the RAA is 100. The PTR record
could be constructed:
The Hierarchical HIT Domain Authority (HDA)
An HDA may be an ISP or any third party that takes on the business
to provide RVS and other needed services for HIP enabled devices.
The HDA is an 16 bit field (65,536 HDAs per RAA) assigned by an
RAA. An HDA should maintain a set of RVS servers that its client
HIP-enabled customers use. How this is done and scales to the
potentially millions of customers is outside the scope of this
document. 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.
Edward Digital Signature Algorithm for HITs
Edwards-Curve Digital Signature Algorithm (EdDSA) are specified here for
use as Host Identities (HIs) per HIPv2. Further the HIT_SUITE_LIST is
specified as used in .
See for use of the HIT
Suite for 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
.
For hosts that implement EdDSA as the algorithm, the following EdDSA
curves are available:
HIT_SUITE_LIST
The HIT_SUITE_LIST parameter contains a list of the supported HIT
suite IDs of the Responder. Based on the HIT_SUITE_LIST, the
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
combinations. The input for each generation algorithm is the
encoding of the HI as defined in this Appendix.
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 currently
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 taken in determining 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.
Note that if a 8 bit OGA is used, the hash may be 4 bits shorter.
This may result in a greater risk of pre-image attacks and a
corresponding greater need to manage HHIT registration and require
look up of the HI from a trusted source.
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 32 bits for the HID and 4 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 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 Prefix of /28 and
Additional Information of ZERO length):
Hierarchical HIT uses the same context as all other HIPv2 HIT
Suites as they are clearly separated by the distinct HIT Suite ID.
Encoding ORCHIDs for HITv2
This section is included to provide backwards compatibility for ORCHIDv2 as used for HITv2.
For HITv2s, the Prefix MUST be 2001:20::/28. Info is length ZERO
(not included), and OGA ID is length 4. Thus the HI Hash is length
96. 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 (HIT Suite 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 the HHIT document.
Decoding ORCHIDs for HITv2
This section is included to provide backwards compatibility for ORCHIDv2 as used for HITv2.
HITv2s are identified by a Prefix of 2001:20::/28. The next 4 bits
are the OGA ID. is length 4. 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 Overlay Routable Cryptographic Hash Identifier
(ORCHID ) mechanism as
described in . HHITs for
UAS ID (DET) 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 ).
ASTM Standard Specification for Remote ID and Tracking specifies three 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.
For HHITs to be used effectively as UAS IDs, F3411 should add
UAS ID type 4 as DET.
Nontransferablity of HHITs
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 a 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 HIT Suite ID and ORCHID
hash will take 14 characters (see below), leaving 1 character to
distinguish encoded DETs from other manufacturer use of CTA 2063-A
Serial Numbers.
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 HIT Suite ID and ORCHID hash. Although,
programatically, 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 68 bits (HIT Suite ID | ORCHID hash) of the HHIT
SHALL be left-padded with 2 bits of ZERO. This 70 bit number will
be encoded into 14 characters using the digit/letters above. The
manufacturer MUST use a Length Code of F (15). The first character
after the Length Code MUST be 'Z', followed by the 14 characters of
the encoded HIT Suite ID and ORCHID hash.
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 60 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 rational at the time of developing ORCHID was attacks
against these fields are 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 Hierarchical HIT Domain Authorities (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 National
Air Space (NAS). Within the RAA, the CAAs can delegate HDAs as
needed. There may be other RAAs allowed to operate within a given
NAS; this is a policy decision by the CAA.
Remote ID Authentication using DETs
The EdDSA25519 Host Identity (HI) [] underlying the DET can be used in an 84-byte
self proof attestation as shown in to provide proof of Remote ID ownership (GEN-1
in ). A
lookup service like DNS can provide the HI and registration proof
(GEN-3 in ).
Similarly the 200-byte offline self-attestation shown in provides the
same proofs without Internet access and with a small cache that
contains the HDA's HI/HHIT and HDA meta-data. These
self-attestations are carried in the ASTM Authentication Message
(Msg Type 0x2).
Hashes of previously sent ASTM messages can be placed in a signed
"Manifest" Authentication Message (GEN-2 in ). This can be
either a standalone Authentication Message, or an enhanced self
attestation Authentication Message. Alternatively the ASTM Message
Pack (Msg Type 0xF) can provide this feature, but only over
Bluetooth 5 or WiFi BEACON or NAN broadcasts.
DRIP Entity Tags (DET) in DNS
There are two approaches for storing and retrieving the DET using
DNS. These are:
As FQDNs in the .aero TLD.
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:
The individual DETs are potentially too numerous (e.g. 60 - 600M)
and dynamic (new DETs every minute for some HDAs) to actually 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. Assume a prefix of
2001:30::/28, the RAA is 10 and the HDA is 20 and 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). This includes 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). Further, they can be used by
FINDER observers, (e.g. ).
DRIP Requirements addressed
This document in the previous sections provides the details to
solutions for GEN 1 - 3, ID 1 - 5, and REG 1 - 2 as describled 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 WiFi. 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 WiFi 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 manditory 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.
ASTM Considerations
ASTM will need to make the following additional value to the "UA
ID" in the Basic ID Message (Msg Type 0x0):
Type 4:
This document UA ID of DRIP Entity Tags, DET (see ).
The DET authors will participate in ASTM to enact this change.
IANA Considerations
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) (see ) 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 TBD2 (suggested: 5) (see ) in the "HIT
Suite ID" subregistry of the "Host Identity Protocol (HIP)
Parameters" registry.
HIT Suite ID eight-bit encoding:
This document defines the first eight-bit encoded HIT Suite
IDs as defined in . These are the new HDA domain HIT
Suites with values TBD3 and TBD4 (suggested: 0x0E and 0x0F)
(see ). IANA
is requested to expand the "HIT Suite ID" subregistry of
the "Host Identity Protocol (HIP) Parameters" registry to
show both the four-bit and eight-bit values as shown in
and add these new values that only have eight bit
representations.
New IPv6 prefix needed for HHITs
Because HHIT format is not compatible with , IANA is requested to allocated a new
28-bit prefix out of the IANA IPv6 Special Purpose Address Block,
namely 2001:0000::/23, as per (suggested: 2001:30::/28).
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. Thus 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 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 actually 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 Remote ID 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.
ReferencesStandard 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).
Example HHIT Self Attestation
This section shows example uses of HHIT RID to prove
trustworthiness of the RID and attestation of registration to the
RAA|HDA. These are examples only and other documents will provide
fully specified attestations. Care has been taken in the example
design to minimize the risk of replay attacks.
This ownership/attestation of a HHIT can be proved in 84 bytes via
the following HHIT Self Attestation following format:
4 byte Signing Timestamp
16 byte HHIT
64 byte Signature (EdDSA25519 signature)
The Timestamp MAY be the standard UNIX time at the time of signing.
A protocol specific timestamp may be used to avoid programming
complexities. For example, uses a 00:00:00 01/01/2019 offset.
To minimize the risk of replay, the UA SHOULD create a new Self
Attestation, with a new timestamp, at least once a minute. The UA
MAY precompute these attestations and transmit during the
appropriate 1 minute window. 1 minute is chosen as a balance
between attestation compute time against risk. A shorter window of
use lessens the risk of replay.
The signature is over the 20 byte Timestamp + HHIT.
The receiver of such an attestation would need access to the
underlying public key (HI) to validate the signature. This may be
obtained via a DNS query using the HHIT. A larger (116 bytes) Self
Attestation could include the EdDSA25519 HI. This larger 116
attestation allows for signature validation before HHIT lookup to
prove registration attestation.
HHIT Offline Self Attestation
Ownership and RAA|HDA registration of a HHIT can be proved in 200
bytes without Internet access and a small cache via the following
HHIT Offline Self Attestation format:
16 byte UA HHIT
32 byte UA EdDSA25519 HI
4 byte HDA Signing Expiry Timestamp
16 byte HDA HHIT
64 byte HDA Signature (EdDSA25519 signature)
4 byte UA Signing Timestamp
64 byte UA Signature (EdDSA25519 signature)
The Timestamps MAY be the standard UNIX time at the time of
signing. A protocol specific timestamp may be used to avoid
programming complexities. For example, uses a 00:00:00 01/01/2019 offset.
The HDA signature is over the 68 byte UA HHIT + UA HI + HDA Expiry
Timestamp + HDA HHIT. During the UA Registration process, the UA
would provide a Self Attestation to the HDA. The HDA would construct its
attestation of registry with an Expiry Timestamp, its own HHIT, and its
signature, returning a 132 byte HDA Registry Attestation to the UA. The
UA would use this much the same way as its HHIT only in the Self
Attestation above, creating a 200 byte Offline Self Attestation.
The receiver of such an attestation would need a cache of RAA ID,
HDA ID, HDA HHIT, and HDA HI (min 80 bytes per RAA/HDA).
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.