DRIP Authentication Formats
AX Enterprize
4947 Commercial Drive
Yorkville
NY
13495
USA
adam.wiethuechter@axenterprize.com
AX Enterprize
4947 Commercial Drive
Yorkville
NY
13495
USA
stu.card@axenterprize.com
HTT Consulting
Oak Park
MI
48237
USA
rgm@labs.htt-consult.com
Internet
DRIP
RFC
Request for Comments
I-D
Internet-Draft
HIP
DRIP
This document describes how to include trust into the ASTM
Remote ID specification defined in ASTM3411
under a Broadcast Remote ID (RID) scenario. It defines a few
different message schemes (based on the authentication message)
that can be used to assure past messages sent by a UA and also act
as an assurance for UA trustworthiness in the absence of Internet
connectivity at the receiving node.
Introduction
UA Systems (UAS) are usually in a volatile environment when it
comes to communication. UA are generally small with little
computational (or flying) horsepower to carry standard
communication equipment. This limits the mediums of communication
to few viable options.
Observer systems (e.g. smartphones and tablets) place further
constraints on the communication options. The Remote ID Broadcast
messages MUST be available to applications on these platforms
without modifying the devices.
The ASTM standard focuses on two ways of communicating to a UAS for
RID: Broadcast and Network.
This document will focus on adding trust to Broadcast RID in the
current authentication message format, using the Host Identity
Protocol Version 2 (HIPv2) Hierarchical HIT (HHIT) .
Terms and Definitions
Requirements 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.
Definitions
- HI
-
Host Identity. The public key portion of an assymetric
keypair from HIP. In this document it is assumed that the
HI is based on a EdDSA25519 keypair. This is supported by
new crypto defined in .
- HIT
-
Host Identity Tag. A 128 bit handle on the HI. Defined in
HIPv2 .
- HHIT
-
Hierarchical Host Identity Tag. A 128 bit handle on the HI
contain extra information not found in a standard HIT.
Defined in .
- UA
-
Unmanned Aircraft. In this document UA's are typically
though of as drones of commerical or military variety. This
is a very strict definition which can be relaxed to include
any and all aircraft that are unmanned.
- UAS
-
Unmanned Aircraft System. Composed of Unmanned Aircraft and
all required on-board subsystems, payload, control station,
other required off-board subsystems, any required launch
and recovery equipment, all required crew members, and C2
links between UA and the control station.
- RID
-
Remote ID. A unique identifier found on all UA to be used
in communication and in regulation of UA operation.
- Observer
-
Referred to in other UAS documents as a "user", but there
are also other classes of RID users, so we prefer
"observer" to denote an individual who has observed an UA
and wishes to know something about it, starting with its
RID.
Background
Problem Space And Document Focus
The current standard for Remote ID (RID) does not, in any
meaningful capacity, address the concerns of trust in the UA space
with communication in the Broadcast RID environment. This is a
requirement that will need to be addressed eventually for various
different parties that have a stake in the UA industry.
The following subsections will provide a high level reference to
the ASTM standard for authentication messages and how their current
limitations effect trust in the Broadcast RID envirorment.
ASTM Authentication Message
The above diagram is the format defined by ASTM that is the
frame which everything this document fits into. The specific
details of the ASTM headers are abstracted away as they are not
necessarily required for this document.
Thoughts on ASTM Authentication Message
The format standardized by the ASTM is designed with a few major
considerations in mind, which the authors feel put significant
limitations on the expansion of the standard.
The primary consideration (in this context) is the use of the
Bluetooth 5.X Extended Frame format. This method allows for a 255
byte payload to be sent in what the ASTM refers to as a
"Message Pack".
The idea is to include up to five standard ASTM Broadcast RID
messages (each of which are 25 bytes) plus a single authentication
message (5 pages of 25 bytes each) in the Message Pack. The
reasoning is then the authentication message is for the entire
Message Pack.
The authors have no issues with this proposed approach; this is a
valid format to use for the authentication message provided by the
ASTM. However, by limiting the authentication message to ONLY five
pages in the standard it ignores the possibility of other
formatting options to be created and used.
Another issue with this format, not fully addressed in this document
is fragmentation. Under Bluetooth 4.X, each page is sent seperately
which can result in lose of pages on the reciever. This is disasterous
as the loss of even a single page means any signature is incomplete.
With the current limitation of 5 pages, Forward Error Correction (FEC)
is nearly impossible without sacrificing the amount of data sent. More
pages would allow FEC to be performed on the Authentation message pages
so loss of pages can be mitigated.
All these problems are further amplified by the speed at which UA fly and the
Oberserver's position to recieve transmissions. There is no guarentee
that the Observer will recieve all the pages of even a 5 page Authentication
Message in the time it takes a UA to traverse across their line of sight.
Worse still is that is not including other UA in the area, which congestes
the spectrum and could cause further confusion attempting to collate
messages from various UA. This specific problem is out of scope for this
document and our solutions in general, but should be noted as a design
consideration.
HIP Based Extensions to the ASTM Authentication Message
The following section describes various methods that HIP can help
enable more trustworthy communication using the Authentication
Message as the base. Each diagram will show all pages of the
format filled out.
In the future it is probably necessary to have a AuthType assigned by ASTM
for DRIP related authentication message formats. How this
is accomplished and how it extends if more formats are proposed is still TBD.
Message Wrapper
When this authentication format is recieved the HHIT is first
looked up in DNS by standard mechanisms to retrieve the HIP RR.
From this the HI can be used to perform signature verifiction.
The data signed is all the data preceding the 64 byte signature
(excluding the ASTM Headers and ASTM Authentication Headers).
When there is no Internet connectivity on the Observers device the
HI of the UA can be obtained by referencing the claim sent in
the Offline Based Authentication format, if sent by the UA.
Inner Header
When the payload is another ASTM message then the first byte of
the full message should be used to fill in the Inner Header field.
This byte can be signed but is primarily for identitying the
inner message type (for unpacking purposes if desired by the
Observer device).
Another use of the Inner Header byte is holding the H-Alg and H-Len
fields if this format is used for Hashed Messages. See Section 5.2
for a detailed example of this. When this format is used all 24 bytes
of the payload MUST be filled with hash values. This requirement
means that only even numbered hash lengths can be used.
Any other wrapped messages that are not 24 bytes long and require
padding on the payload MUST use the Inner Header to inform the
reciever the length of payload in octets.
To accomadate payload differences the use of AuthType in the ASTM
Authentication Headers section SHOULD be set in the range of 0xA-F (which is availible
for Private Use). Only recommended values are defined here, as the
allocation in the reserved space of this header is controlled by
ASTM.
Trust Timestamp
Trust Timestamp MUST be current UNIX time plus an offset
into the future.
To avoid replay attacks the Trust Timestamp field must be well
founded. When wrapping a vector (position) message the payload
WILL contain (by ASTM rules) constantly changing data, this
includes its own timestamp. In this case the Trust Timestamp
could be argued as superfoulous.
Other message types, such as Basic ID and Self-ID are static
messages with no changing data. To protect a replay of these
signed messages the Trust Timestamp is the field during signing
to be guarenteed to change.
The offset used against the UNIX timestamp is not defined in this
document. Best practices to identify a acceptable offset should
be used taking into consideration the UA envirorment, and propgation
characteristics of the messages being sent.
Payload
The payload can be anything that fits within the 24 byte limit.
An example of what could be done with this format is found in
Section 5.1. If the payload is less than 24 bytes, null padding
MUST be used to fill up to 24 bytes and the AuthType of 0xC
MUST be used to identity message size.
Forward Error Correction
Due to the nature of the wireless link a FEC method is suggested. Under DRIP
the Message Wrapper format has two forms of FEC that can be used.
Reed Solomon
The prefered form of FEC is using Reed Solomon. With this the entire authentication
message (all pages, including headers) are used to generate 23 bytes of parity.
This parity is appended in one page allowing for recovery when any single page
is lost in transmission.
Exclusive Or
This method of FEC is experimental and created by one of the authors during
initial prototyping. Note that this format of FEC requires a 10-page
authentication message, currently unsupported by ASTM.
| Page 1: XOR(Page 0, Page 2) |
+--------------+----+ +---------->+-----------------------------+
| |
| |
+--------------+----|----+ +-----------------------------+
| Page 2: Data |----|--------------->| Page 3: XOR(Page 2, Page 4) |
+--------------+ | +--------->+-----------------------------+
| |
| |
+--------------+----|-----+ +-----------------------------+
| Page 4: Data |----|--------------->| Page 5: XOR(Page 4, Page 6) |
+--------------+ | +--------->+-----------------------------+
| |
| |
+--------------+----|-----+ +-----------------------------+
| Page 6: Data |----|--------------->| Page 7: XOR(Page 6, Page 8) |
+--------------+ | +--------->+-----------------------------+
| |
+-----|-----+
+--------------+----------+ | +-----------------------------+
| Page 8: Data | +--->| Page 9: XOR(Page 8, Page 0) |
+--------------+-------------------->+-----------------------------+
]]>
The above illustration shows the relationship between the 10 page
authentication message and the XOR operation performed.
The advantage of this format is that a large percentage of the
pages can be lost in transmission cand recovered using other
pages recieved.
The authors are well aware that this has a high overhead (100%)
that might be avoided using other methods. In some cases where
wireless links are highly congested or weak this could
potentionally prove useful.
Signed Hash Lists
This format is designed to provide provenance to Broadcast RID
messages sent by a given UAS. It should be noted that the HHIT is
not provided in the format like others specified here - instead it
must be obtained via the Basic ID Message in a detached fashion.
By hashing previously sent messages and signing them we gain trust
in UAS previous reports. An observer who has been listening for any
length of time can hash received messages and cross check against
listed hashes. The signature is signed across the list of hashes.
Hash Operation
With cSHAKE128 NIST SP 800-185, the hash is computed as follows:
The message MAC is prepended to the message, as the MAC is the only
information that links a UA's messages from a specific UA.
Pseudo-blockchain Hashes
Two special hashes are included; a previous authentication hash,
which links to the previous signed hash list message, as well as a
current hash. This gives a pseudo-blockchain provenance to the
authentication message that could be traced back if the observer
was present for extended periods of time.
In regards to the creation and use of the current authentication
hash field:
-
During creation and signing of this message format this field
MUST be set to 0. So the signature will be based on this field
being 0, as well as its own hash. It is an open question of if
we compute the hash, then sign or sign then compute.
-
There a few different ways to cycle this message. We can "roll
up" the hash of 'current' to 'previous' when needed or to
completely recompute the hash. This mostly depends on the
previous note.
Limitations
With the current format proposed by ASTM only 7 messages can be
hashed reasonably in the above format. PADDING and redundant H-Alg, H-Len
fields could be removed. This would increase the total list of
hashes to 9 while losing word alignment of the hashes in each page.
To address this problem properly the authors feel that the
Authentication Messages needs to have a max bound of 10 pages,
instead of 5.
Offline Claim
This specific format does not currently fit within the ASTM
specification. Requiring a minimum of 200 bytes, this would require
the Authentication Message to have 10 pages, instead of the current
5 page limit. The rest of this section assumes 10 pages to
demonstrate how this message is laid out and works.
What this grants is the ability to authenticate UA information when
the receiving device of the observer (e.g. a smartphone with a
dedicated RID application) has no Internet service (e.g. LTE
signal).
By including the device HI along with a signature from the registry
the UA is under, we can assert trust of a given UA without
requiring the need for immediate reverse lookups online.
Claim: Registry on Aircraft
The bulk of this message is made up with the 200 byte claim titled
"Registry on Aircraft" (henceforth refered to as "Cra"). Below is
Cra fully marked out inside the ASTM Authentication Message.
Cra is in practice a binding claim between the Registry and
the Aircraft, asserting the relationship between the two entities.
Cra signs another claim, Caa (Claim: Aircraft on Aircraft),
that is created during UA provisioning.
Importantly this claim allows offline signature verification
from the UA. This is as the UA HI is included in the claim.
Also included is the HHIT of the Registry to check the local
shortlist of Registries that the Observer device trusts (mapping HHITs
to HIs).
More details about Caa, Cra, other claims and the provisioning
process can be found in .
Foward Error Correction
The prefered form of FEC is using Reed Solomon. With this the entire authentication
message (all pages, including headers) are used to generate 23 bytes of parity.
This parity is inserted into the final page of the Claim format for recovery when any single page
is lost in transmission.
Example Use Cases
This section introduces potentional use cases of the HIP based
extensions to the proposed ASTM standard authentication message.
Trusted Messages
Using the HIP Based Authentication Wrapper any single Broadcast RID
message defined by ASTM can become what the authors refer to as a
"Trusted Message".
One specific use case that is useful in the UAS RID space is the
creation of a "Trusted Vector Message". By placing a previous [or
new] vector message into the payload section of this format a
verifiable broadcast can be created.
Due to being signed this creates an authentic vector that is hard
to spoof, which can confirm flight paths in near real time.
The figure below is a example of a "Trusted Vector Message".
Wrapped Signed Hashes
Using the Message Wrapper a [short] list of hashes
can be signed. These hashes are of previous individual RID
messages.
This follows the format of the Signed Hash List, excluding the
psuedo-blockchain hashes found in the Signed Hash List.
To the authors, this format has limited use due to numerous
concerns of replay attacks. It is suggested to instead use the full
Signed Hash List format.
Security Considerations
TBD
Acknowledgments
Ryan Quigley and James Mussi at AX Enterprize for early prototyping to find holes in the draft specifications.
References
Normative References
Informative References