Le manuel de l
Informations techniques et manuel d'utilisation pour l'ordinateur de vol de fusée Jupiter

Compression et Chiffrement

PDF

Compression et chiffrement

Chaque Jupiter de production est livré avec son micrologiciel chiffré AES-256 en mémoire flash et verrouillé en mode production, non en mode développement. Le micrologiciel ne peut pas être lu depuis l'appareil, et l'appareil ne peut pas être reprogrammé ou reconfiguré dans une configuration différente, sauf pour les mises à jour de micrologiciel chiffrées par nos soins. Tout le matériel clé se trouve dans cette mémoire flash chiffrée, il n'y a donc aucun secret récupérable à partir du matériel. AES-256 est la norme approuvée pour les données gouvernementales les plus sensibles au monde ; casser par force brute est considéré comme impossible avec toute technologie actuelle ou prévisible.

Le journal de vol

Les vols sont enregistrés sur plusieurs niveaux de données à différentes cadences, stockés comme des différences entre les échantillons consécutifs, compressés avec LZMA à la fin de l'enregistrement, et signés cryptographiquement avec Ed25519, une signature impossible à contrefaire avec la technologie actuelle, de sorte que toute modification d'un vol sauvegardé est détectable par le serveur. Le résultat est le fichier de vol .aclz. Le format complet, la structure des niveaux et le schéma de signature ont leur propre page : Format du journal de vol ACL.

Compression sur l'appareil

Jupiter utilise trois techniques de compression, chacune justifiant sa place. Le codage par différence stocke chaque échantillon comme la variation par rapport au précédent, éliminant la redondance naturelle des flux de capteurs avant que tout compresseur ne les voit. Les images clés maintiennent les données sous contrôle à des intervalles périodiques. LZMA, la famille d'algorithmes derrière 7-Zip, compresse le journal de vol lui-même ; le paramètre log_zlevel choisit l'effort, du niveau 4, terminer un vol typique en moins d'une seconde, à travers la valeur par défaut 5, jusqu'au niveau 9, qui tire le maximum au prix de plusieurs fois plus de coût. Puisque la compression s'exécute après l'atterrissage et avant le téléchargement, le compromis est simplement la taille du téléchargement contre la rapidité avec laquelle la carte est prête à repartir. Deflate (zlib) gère les journaux de console et de diagnostic, et tout ce qui est inférieur à quelques kilooctets est envoyé sans compression, car au-dessous de cela, la surcharge dépasse l'économie.

Sécurité de la communication

Transport MQTT

Les paramètres, règles, commandes et états circulent via MQTT, et chaque charge utile dans les deux directions est chiffrée AES-128 au niveau de la couche applicative avec un vecteur d'initialisation aléatoire frais par message, de sorte que les messages identiques ne produisent jamais le même texte chiffré. AES-128 n'a aucune attaque pratique connue et est considéré comme incassable par force brute avec la technologie actuelle. L'appareil rejette tout comando entrant qui ne se déchiffre pas correctement. 

Transport UDP

Le suivi en direct et le téléchargement du journal de vol utilisent des datagrammes UDP compacts conçus pour les signaux faibles. La balise de suivi est un paquet de 50 octets scellé avec une balise d'authentification HMAC-SHA256 du secret par appareil, de sorte que les positions ne peuvent pas être contrefaites ou modifiées en transit. Une balise HMAC-SHA256 ne peut pas être produite sans le secret de votre appareil, et aucune attaque pratique contre le schéma n'existe. Les morceaux du journal de vol bénéficient d'une protection complète : chaque datagramme est chiffré AES-128 avec un IV frais, authentifié avec le même schéma HMAC par appareil, et porte un CRC32 des données originales, de sorte que chaque morceau accepté par le serveur est confidentiel, provenant de manière vérifiée de votre appareil, et vérifié bit par bit. Les morceaux perdus sont demandés à nouveau ; les morceaux corrompus ou contrefaits ne peuvent jamais entrer dans votre vol.

LoRa

Lorsque vous utilisez notre module d'expansion LoRa et parce que les trames LoRa transportent les données de position sur une bande radio ouverte, elles recevront la même protection de qualité incassable avant la libération : chiffrées et authentifiées par paquet, de sorte que la position d'un Jupiter n'est toujours lisible et digne de confiance que par son propriétaire.