I am working on my master’s project of ensuring the hardware security of the Flight Controller. My drone uses Pixhawk Cube as flight controller (Ardupilot as autopilot) with Raspberry Pi as companion computer. I am planning to use Infinion make Trusted Platform Modules (TPM) to ensure hardware integrity of both Pixhawk Cube and Raspberry Pi.
As far as my understanding is concerned, whenever TPM modules are used in an IOT environment for hardware security, they are used as root of trust. Here since we have two hardware (Pixhawk and Raspberry Pi), this whole system of security gets complicated.
Although, I can implement the TPM + Raspberry Pi system, I have no idea how to begin with interfacing a TPM module to Pixhawk. It will also involve changes in ardupilot firmware. Considering SPI/I2C interface of TPM module, how can I start building this system?
Is there any other way by which I can ensure hardware integrity of the Pixhawk Cube? How can I ensure, nobody messes up with my Pixhawk cube and its firmware incase drone gets into the wrong hands?