ArduPilot / ArduPilot/ArduRemoteID
Session ID Support?
- 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