DRIP | R. Moskowitz |
Internet-Draft | HTT Consulting |
Intended status: Standards Track | S. Card |
Expires: November 21, 2020 | A. Wiethuechter |
AX Enterprize | |
S. Zhao | |
Tencent | |
H. Birkholz | |
Fraunhofer SIT | |
May 20, 2020 |
Crowd Sourced Remote ID
draft-moskowitz-drip-crowd-sourced-rid-04
This document describes using the ASTM Broadcast Remote ID (B-RID) specification in a “crowd sourced” smart phone environment to provide much of the FAA mandated Network Remote ID (N-RID) functionality. This crowd sourced B-RID data will use multilateration to add a level of reliability in the location data on the Unmanned Aircraft (UA). The crowd sourced environment will also provide a monitoring coverage map to authorized observers.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on November 21, 2020.
Copyright (c) 2020 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
This document defines a mechanism to capture the ASTM Broadcast Remote ID messages (B-RID) [F3411-19] on any Internet connected device that receives them and can forward them to the SDSP(s) responsible for the geographic area the UA and receivers are in. This will create a ecosystem that will meet most if not all data collection requirements that CAAs are placing on Network Remote ID (N-RID).
These Internet connected devices are herein called “Finders”, as they find UAs by listening for B-RID messages. The Finders are B-RID forwarding proxies. Their potentially limited spacial view of RID messages could result in bad decisions on what messages to send to the SDSP and which to drop. The SDSP will make any filtering decisions in what it forwards to the UTM(s).
Finders can be smartphones, tablets, connected cars, or any computing platform with Internet connectivity that can meet the requirements defined in this document. It is not expected, nor necessary, that Finders have any information about a UAS beyond the content in the B-RID messages.
Finders MAY only need a loose association with the SDSP(s). They may only have the SDSP’s Public Key and FQDN. It would use these, along with the Finder’s Public Key to use ECIES, or other security methods, to send the messages in a secure manner to the SDSP. The SDSP MAY require a stronger relationship to the Finders. This may range from the Finder’s Public Key being registered to the SDSP with other information so that the SDSP has some level of trust in the Finders to requiring transmissions be sent over long-lived transport connections like ESP or DTLS.
This document has minimal information about the actions of SDSPs. In general the SDSP is out of scope of this document. That said, the SDSPs should not simply proxy B-RID messages to the UTM(s). They should perform some minimal level of filtering and content checking before forwarding those messages that pass these tests in a secure manner to the UTM(s).
The SDSPs are also capable of maintaining a monitoring map, based on location of active Finders. UTMs may use this information to notify authorized observers of where this is and there is not monitoring coverage. They may also use this information of where to place pro-active monitoring coverage.
An SDSP SHOULD only forward Authenticated B-RID messages like those defined in [tmrid-auth] to the UTM(s). Further, the SDSP SHOULD validate the Remote ID (RID) and the Authentication signature before forwarding anything from the UA.
When 3 or more Finders are reporting to an SDSP on a specific UA, the SDSP is in a unique position to perform multilateration on these messages and compute the Finder’s view of the UA location to compare with the UA Location/Vector messages. This check against the UA’s location claims is both a validation on the UA’s reliability as well as the trustworthiness of the Finders. Other than providing data to allow for multilateration, this SDSP feature is out of scope of this document.
This draft is still incomplete. New features are being added as capabilities are researched. The actual message formats also still need work.
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 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
The Federal (US) Aviation Authority (FAA), in the December 31, 2019 Remote ID Notice of Proposed Rulemaking [FAA-NPRM], is requiring “Standard” and “Limited” Remote ID. Standard is when the UAS provides both Network and Broadcast RID. Limited is when the UAS provides only Network RID. The FAA has dropped their previous position on allowing for only Broadcast RID. We can guess as to their reasons; they are not spelled out in the NPRM. It may be that just B-RID does not meet the FAA’s statutory UA tracking responsibility.
The UAS vendors have commented that N-RID places considerable demands on currently used UAS. For some UAS like RC planes, meaningful N-RID (via the Pilot’s smartphone) are of limited value. A mechanism that can augment B-RID to provide N-RID would help all members of the UAS environment to provide safe operation and allow for new applications.
B-RID has its advantages over N-RID.
When a proxy is introduced in any communication protocol, there is a risk of corrupted data and DOS attacks.
The Finders, in their role as proxies for B-RID, are authenticated to the SDSP (see Section 4). The SDSP can compare the information from multiple Finders to isolate a Finder sending fraudulent information. SDSPs can additionally verify authenticated messages that follow [tmrid-auth].
The SPDP can manage the number of Finders in an area (see Section 4.2) to limit DOS attacks from a group of clustered Finders.
The strongest defense against fraudulent RID messages is to focus on [tmrid-auth] conforming messages. Unless this behavior is mandated, SPDPs will have to use assorted algorithms to isolate messages of questionable content.
The SDSP(s) and Finders SHOULD use EDDSA [RFC8032] keys as their trusted Identities. The public keys SHOULD be registered Hierarchical HITS, [hierarchical-hit] and [hhit-registries].
The SDSP uses some process (out of scope here) to register the Finders and their EDDSA Public Key. During this registration, the Finder gets the SDSP’s EDDSA Public Key. These Public Keys allow for the following options for authenticated messaging from the Finder to the SDSP.
The Finders are regularly providing their SDSP with their location. This is through the B-RID Proxy Messages and Finder Location Update Messages. With this information, the SDSP can maintain a monitoring map. That is a map of where there Finder coverage.
Finder density will vary over time and space. For example, sidewalks outside an urban train station can be packed with pedestrians at rush hour, either coming or going to their commute trains. An SDSP may want to proactively limit the number of active Finders in such situations.
Using the Finder mapping feature, the SDSP can instruct Finders to NOT proxy B-RID messages. These Finders will continue to report their location and through that reporting, the SDSP can instruct them to again take on the proxying role. For example a Finder moving slowly along with dozens of other slow-moving Finders may be instructed to suspend proxying. Whereas a fast-moving Finder at the same location (perhaps a connected car or a pedestrian on a bus) would not be asked to suspend proxying as it will soon be out of the congested area.
The CS-RID messages between the Finders and the SDSPs primarily support the proxy role of the Finders in forwarding the B-RID messages. There are also Finder registration and status messages.
CS-RID information is represented in CBOR [RFC7049]. The CDDL [RFC8610] specification is used for CS-RID message description
CS-RID MAC and COAP [RFC7252] for the CS-RID protocol.
The following is a general representation of the content in the CS-RID messages.
( CS-RID MESSAGE TYPE, CS-RID MESSAGE CONTENT, CS-RID MAC )
The CS-RID MESSAGE CONTENT varies by MESSAGE TYPE.
The CS-RID MESSAGE TYPE is defined in Figure 1:
Number CS-RID Message Type ------ ----------------- 0 Reserved 1 B-RID Forwarding 2 Finder Registration 3 SDSP Response 4 Finder Location
Figure 1
The overall CS-RID CDDL description is structured in Figure 2.
CSRID_Object = { application-context, info => info_message, proxy_message => broadcast_rid_proxy_message, finder_registration => finder_registration_message, sdsp_response => sdsp_response_message, location_update => location_update_message, } info_message = { common_message_members, message_content => tstr, } common_message_members = ( message_type => message_types, mac_address => #6.37(bstr), ) message_types = &( Reserved : 0, BRD : 1, Finder-Registration : 2, SDSP-Response : 3, Finder-Location : 4, )
Figure 2
The application context rule is defined in Figure 3 for CS-RID application identification and version negotiation.
application-context = ( application => "DRIP-CSRID", ? version => uint .size(1..2), )
Figure 3
The predefined CDDL text string labels (author note: for JSON currently, will move to CBOR uint keys in upcoming versions) used in the specification is listed in Figure 4.
application = "application" version = "version" info = "message_info" proxy_message = "proxy_message-type" finder_registration = "finder_registration" sdsp_response = "sdsp_response" location_update = "location_update" rid = "id" message_type = "message_type" mac_address = "mac_address" message_content = "message_content" timestamp = "timestamp" gps = "gps" radio_type = "radio_type" broadcast_mac_address = "broadcast_mac_address" broadcast_message = "broadcast_message" sdsp_id = "sdsp_id" proxy_status_type = "proxy_status_type" update_interval = "update_interval"
Figure 4
The Finders add their own information to the B-RID messages, permitting the SDSP(s) to gain additional knowledge about the UA(s). The RID information is the B-RID message content plus the MAC address. The MAC address is critical, as it is the only field that links a UA’s B-RID messages together. Only the ASTM Basic ID Message and possibly the Authentication Message contain the UAS ID field.
The Finders add an SDSP assigned ID, a 64 bit timestamp, GPS information, and type of B-RID media to the B-RID message. Both the timestamp and GPS information are for when the B-RID message(s) were received, not forwarded to the SDSP. All this content is MACed using a key shared between the Finder and SDSP.
The following is a representation of the content in the CS-RID messages.
( CS-RID MESSAGE TYPE, CS-RID ID, RECEIVE TIMESTAMP, RECEIVE GPS, RECEIVE RADIO TYPE, B-RID MAC ADDRESS, B-RID MESSAGE, CS-RID MAC )
The CS-RID ID is the ID recognized by the SDSP. This may be an HHIT Hierarchical HITs, or any ID used by the SDSP.
The broadcast CS-RID proxy CDDL is defined in Figure 5
broadcast_rid_proxy_message = { common_message_members, rid => tstr, timestamp => tdate, gps => gps-coordinates, radio_type => radio_types, broadcast_mac_address => #6.37(bstr), broadcast_message => #6.37(bstr), } radio_types = &( EFL : 0, VLF : 1, LF : 2, MF : 3, HF : 4, HF : 5, VHF : 6, UHF : 7, SHF : 8, EHF : 9, ) gps-coordinates = [ latitude : float, longitude: float, ]
Figure 5
The CS-RID Finder MAY use HIPv2 with the SDSP to establish a Security Association and a shared secret to use for the CS-RID MAC generation. In this approach, the HIPv2 mobility functionality and ESP support are not used.
When HIPv2 is used as above, the Finder Registration is a SDSP “wake up”. It is sent prior to the Finder sending any proxied B-RID messages to ensure that the SDSP is able to receive and process the messages.
In this usage, the CS-RID is the Finder HIT. If the SDSP has lost state with the Finder, it initiates the HIP exchange with the Finder to reestablish HIP state and a new shared secret for the CS-RID B-RID Proxy Messages. In this case the Finder Registration Message is:
( CS-RID MESSAGE TYPE, CS-RID ID, CS-RID TIMESTAMP, CS-RID GPS, CS-RID MAC )
The CDDL for CS-RID Finder Registration is defined in Figure 6
finder_registration_message = { common_message_members, rid => tstr, timestamp => tdate, gps => gps-coordinates, } gps-coordinates = [ latitude : float, longitude: float, ]
Figure 6
The SDSP MAY respond to any Finder messages to instruct the Finder on its behavior.
( CS-RID MESSAGE TYPE, SDSP ID, CS-RID ID, CS-RID PROXY STATUS, CS-RID UPDATE INTERVAL, CS-RID MAC )
The Proxy Status instructs the Finder if it should actively proxy B-RID messages, or suspend proxying and only report its location.
The Update Interval is the frequency that the Finder SHOULD notify the SDSP of its current location using the Location Update message.
The CDDL for CS-RID SDSP response is defined in Figure 7
sdsp_response_message = { common_message_members, sdsp_id => tstr, rid => tstr, proxy_status_type => proxy_status_types, update_interval => uint, } gps-coordinates = [ latitude : float, longitude: float, ] proxy_status_types = &( 0: "forward", 1: "reverse", 2: "bi-directional", )
Figure 7
The Finder SHOULD provide regular location updates to the SDSP. The interval is based on the Update Interval from Section 5.4 plus a random slew less than 1 second. The Location Update message is only sent when no other CS-RID messages, containing the Finder’s GPS location, have been sent since the Update Interval.
If the Finder has not recieved a SDSP Registration Response, a default of 5 minutes is used for the Update Interval.
( CS-RID MESSAGE TYPE, CS-RID ID, CS-RID TIMESTAMP, CS-RID GPS, CS-RID MAC )
The CDDL for CS-RID Location update is defined in Figure 8
location_update_message = { common_message_members, rid => tstr, timestamp => tdate, gps => gps-coordinates, } gps-coordinates = [ latitude : float, longitude: float, ]
Figure 8
<CODE BEGINS> ; CDDL specification for Crowd source RID ; It specifies a collection of CS message types ; ; ; The CSRID overall data structure CSRID_Object = { application-context, info => info_message, proxy_message => broadcast_rid_proxy_message, finder_registration => finder_registration_message, sdsp_response => sdsp_response_message, location_update => location_update_message, } ; ; Application context: general information about CSRID message application-context = ( application => "DRIP-CSRID", ; TBD: consider CBOR tag ? version => uint .size(1..2), ) ; These members are include in every message common_message_members = ( message_type => message_types, mac_address => #6.37(bstr), ) ; ; CSRID message general information info_message = { common_message_members, message_content => tstr, } broadcast_rid_proxy_message = { common_message_members, rid => tstr, timestamp => tdate, gps => gps-coordinates, radio_type => radio_types, broadcast_mac_address => #6.37(bstr) broadcast_message => #6.37(bstr) } finder_registration_message = { common_message_members, rid => tstr, timestamp => tdate, gps => gps-coordinates, } sdsp_response_message = { common_message_members, sdsp_id => tstr, rid => tstr, proxy_status_type => proxy_status_types, update_interval => uint, } location_update_message = { common_message_members, rid => tstr, timestamp => tdate, gps => gps-coordinates, } ; ; Common rule definition message_types = &( Reserved : 0, BRD : 1, Finder-Registration : 2, SDSP-Response : 3, Finder-Location : 4, ) gps-coordinates = [ lat: float, long: float, ] ; Radio types, choose from one of radio_types (required) radio_types = &( EFL : 0, VLF : 1, LF : 2, MF : 3, HF : 4, HF : 5, VHF : 6, UHF : 7, SHF : 8, EHF : 9, ) proxy_status_types = &( 0: "forward", 1: "reverse", 2: "bi", ) ; ; JSON label names application = "application" version = "version" info = "message_info" proxy_message = "proxy_message-type" finder_registration = "finder_registration" sdsp_response = "sdsp_response" location_update = "location_update" rid = "id" message_type = "message_type" mac_address = "mac_address" message_content = "message_content" timestamp = "timestamp" gps = "gps" radio_type = "radio_type" broadcast_mac_address = "broadcast_mac_address" broadcast_message = "broadcast_message" sdsp_id = "sdsp_id" proxy_status_type = "proxy_status_type" update_interval = "update_interval" <CODE ENDS>
TBD
TBD
TBD
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC8174] | Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017. |
[RFC8610] | Birkholz, H., Vigano, C. and C. Bormann, "Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610, June 2019. |
If the Finder has LIDAR or similar detection equipment (e.g. on a connected car) that has full sky coverage, the Finder can use this equipment to locate UAs in its airspace. The Finder would then be able to detect non-participating UAs. A non-participating UA is one that the Finder can “see” with the LIDAR, but not “hear” any B-RID messages.
These Finders would then take the LIDAR data, construct appropriate B-RID messages, and forward them to the SPDP as any real B-RID messages. There is an open issue as what to use for the actual RemoteID and MAC address.
The SDSP would do the work of linking information on a non-participating UA that it has received from multiple Finders with LIDAR detection. In doing so, it would have to select a RemoteID to use.
A seemingly non-participating UA may actually be a UA that is beyond range for its B-RID but in the LIDAR range.
This would provide valuable information to SDSPs to forward to UTMs on potential at-risk situations.
At this time, research on LIDAR and other detection technology is needed. there are full-sky LIDAR for automotive use with ranges varying from 20M to 250M. Would more than UA location information be available? What information can be sent in a CS-RID message for such “unmarked” UAs?
The Crowd Sourcing idea in this document came from the Apple “Find My Device” presentation at the International Association for Cryptographic Research’s Real World Crypto 2020 conference.