ArduPilot / ArduPilot/ArduRemoteID

Session ID Support?

Open
#124 9 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
250
Forks
109
PR merge metrics
No merged PRs in 30d

Description

This is a question I ask after experimenting with this code and a particular behavior made me question how Session IDs would be supported with this firmware (without modifications with my current understanding).

The current code checks if their is Basic ID data persisted in the parameters and pulls from this to fill in the UAS data structure. This can be filled by hard-coding it at compile time or be filled in dynamically with the first Basic ID message obtained via DroneCAN or MAVLink (only when the parameter is empty to begin with). Note this dynamic fill only happens with Basic ID 1, not Basic ID 2 which seems to have its parameter settings only be hard-coded.

From F3586-22:

> A unique Session ID (UTM Assigned universally unique identifier (UUID) or Specific Session ID) as described in Specification F3411, Table 1 and Subsection 5.4.5.6, which can be resolved to the corresponding serial number, with access limited to authorized parties only, through a system and process accepted by the FAA.

If a user is to use a Session ID then the Serial Number should, at least by my reading of this statement, never be broadcast as it is considered something that has "_access limited to authorized parties only, through a system and process accepted by the FAA_".

With the current code setup the first Session ID seen over external transport would be filled in permanently and be re-used until the system is re-flashed or have its parameter cleared (only possible via DroneCAN with strings).

Is there a desired way to accomplish the goal of F3586-22 without having to modify the code or have the external system connect and clear the parameter?

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by tracing how persisted Basic ID parameters are loaded and how Basic ID 1 and 2 are populated from DroneCAN or MAVLink messages. Compare that behavior with the F3586-22 and F3411 Session ID requirements, especially serial-number privacy and parameter lifetime. The issue does not name files, tests, or a settled desired behavior, so completion criteria need to be established before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
embedded-iot, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.