Cómo implementar un protocolo MAVLink seguro basado en el MAVLink actual

Hay una pequeña complicación con MAVLink. El protocolo IIRC está diseñado para su uso en una red de transmisión de flujo y contiene su propia encapsulación y direccionamiento.

Normalmente, podría colocar MAVLink en una capa de cifrado, sin embargo, si confía en el enrutamiento / direccionamiento de MAVLink, tendrá que replicar esa información fuera de la capa de cifrado.

Si no está utilizando las funciones de direccionamiento / direccionamiento MAVLink (como si solo está ejecutando un MAV y un GCS), o si tiene una capa de direccionamiento / direccionamiento separada, entonces la forma más fácil es utilizar una capa de cifrado transparente para cifre todo el mensaje MAVLink en un extremo y descifre en el otro.

Sin embargo, el cifrado requiere una gran cantidad de CPU, y normalmente querrá evitar el cifrado basado en software en un microcontrolador que necesita que sus ciclos de procesamiento mantengan un quadcopter en el aire. Así que tenga mucho cuidado al cargar el microcontrolador con el deber de cifrado.

Afortunadamente, el STM32F427 en Pixhawk tiene aceleración de hardware AES, por lo que quizás podría aprovechar esto. Esta es probablemente su mejor opción para el algoritmo, ya que minimizará su

Alternativamente, si está utilizando algo como XBee para la comunicación, XBee tiene encriptación disponible en su configuración, que funcionará de forma completamente transparente para la capa MAVLink.