FR3107777A1 - AVIONICS SOFTWARE AND DATABASE UPDATES - Google Patents

AVIONICS SOFTWARE AND DATABASE UPDATES Download PDF

Info

Publication number
FR3107777A1
FR3107777A1 FR2001864A FR2001864A FR3107777A1 FR 3107777 A1 FR3107777 A1 FR 3107777A1 FR 2001864 A FR2001864 A FR 2001864A FR 2001864 A FR2001864 A FR 2001864A FR 3107777 A1 FR3107777 A1 FR 3107777A1
Authority
FR
France
Prior art keywords
aircraft
data
software
blockchain
updates
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR2001864A
Other languages
French (fr)
Other versions
FR3107777B1 (en
Inventor
Rémy AULETTO
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Thales SA
Original Assignee
Thales SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales SA filed Critical Thales SA
Priority to FR2001864A priority Critical patent/FR3107777B1/en
Publication of FR3107777A1 publication Critical patent/FR3107777A1/en
Application granted granted Critical
Publication of FR3107777B1 publication Critical patent/FR3107777B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Abstract

Le document décrit des systèmes et des procédés pour la mise à jour de logiciels et/ou de bases de données avioniques d’un aéronef, comprenant les étapes consistant à : - maintenir une ou plusieurs chaînes de blocs privée entre plusieurs compagnies aériennes distinctes, une compagnie administrant un ou plusieurs aéronefs ; - une chaine de blocs comprenant un ou plusieurs contrats intelligents ; un contrat intelligent gouvernant la gestion d’une ou de plusieurs mises à jour de logiciels et/ou de bases de données, dites mises à jour; une mise à jour étant associée à des conditions de validité en temps et/ou en espace ; - téléverser et/ou télécharger puis installer une mise à jour dans un système de maintenance embarqué dans un système de gestion de vol desdits un ou plusieurs aéronefs en fonction de règles contenues dans un ou plusieurs desdits contrats intelligents. Des développements sont décrits. Figure pour l’abrégé : Fig. 3 The document describes systems and methods for updating software and/or avionics databases of an aircraft, comprising the steps of: - maintaining one or more private blockchains between several distinct airlines, a company administering one or more aircraft; - a chain of blocks comprising one or more smart contracts; a smart contract governing the management of one or more software and/or database updates, known as updates; an update being associated with validity conditions in time and/or in space; - uploading and/or downloading then installing an update in an on-board maintenance system in a flight management system of said one or more aircraft according to rules contained in one or more of said smart contracts. Developments are described. Figure for the abstract: Fig. 3

Description

MISES A JOUR DE LOGICIELS ET DE BASES DE DONNEES EN AVIONIQUEAVIONICS SOFTWARE AND DATABASE UPDATES

Domaine de l’inventionField of invention

Le document décrit des procédés et des dispositifs pour l’avionique en général, et pour la gestion de configuration de suite avionique en particulier.The document describes methods and devices for avionics in general, and for avionics suite configuration management in particular.

Etat de la TechniqueState of the art

Le déploiement et l’installation de mises à jour logicielles et/ou de bases de données est une opération indispensable au maintien en condition opérationnelle d’un aéronef. Pour exploiter un avion, une compagnie aérienne a obligation de maintenir à jours les logiciels et les bases de données (DB) de la suite avionique (l’ensemble des logiciels et des bases de données embarquées). En particulier, elle doit aussi être en mesure de démontrer que les opérations de mises à jour de ses bases de données ont bien été effectuées.The deployment and installation of software updates and/or databases is an essential operation to maintain an aircraft in operational condition. To operate an aircraft, an airline has an obligation to keep the avionics suite software and databases (DB) up to date (all on-board software and databases). In particular, it must also be able to demonstrate that its database update operations have indeed been carried out.

Un logiciel chargeable («loadable» en anglais) désigne un actif informatique à déployer dans la suite avionique (ensemble des logiciels installés dans un aéronef). Cet actif informatique à déployer peut être ou comprendre une ou plusieurs bases de données («database», DB) et/ou des logiciels («software», SW). Ces actifs dits «DB et/ou SW» par la suite, ont un format standardisé nommé «Field Loadable Software», acronyme FLS. Plus généralement, l’expression «mise à jour» concerne aussi bien les bases de données que les logiciels. Les normes aéronautiques applicables sont les normes A615, A665, A666 et A667. L’opération dite de chargement de données (« dataloading » en anglais) désigne l’opération consistant à déployer un logiciel chargeable dans la suite avionique (e.g. téléchargement, vérification, installation). Loadable software refers to a computer asset to be deployed in the avionics suite (set of software installed in an aircraft). This IT asset to be deployed may be or include one or more databases (“ database ”, DB) and/or software (“software”, SW). These assets, called “DB and/or SW” thereafter, have a standardized format called “ Field Loadable Software ”, acronym FLS. More generally, the expression "update" concerns both databases and software. The applicable aeronautical standards are the A615, A665, A666 and A667 standards. The so-called data loading operation designates the operation consisting in deploying a loadable software in the avionics suite (eg downloading, verification, installation).

Les procédures de mises à jour et notamment les étapes d’acheminement des logiciels à bord sont encore complexes et très peu automatisées. Actuellement, les modalités de mise à jour sont peu sophistiquées (e.g. récupération des mises à jour sur CD-ROM ou via un portail Internet, transfert des actifs logiciels chargeables sur un ordinateur pouvant se connecter au réseau avionique, puis enfin chargement dans la suite avionique). Ces opérations de mises à jour nécessitent la présence physique d’un opérateur dans l’avion pour pouvoir se « brancher » sur l’avionique. Toutes ces manipulations induisent des logistiques complexes et donc des couts pour les compagnies aériennes qui doivent renouveler cette opération très régulièrement (a minima tous les 28 jours pour les bases de donnée de navigation). Cette complexité et l’absence d’automatisation sont la conséquence de l’exigence d’un très haut niveau de sécurité et d’une traçabilité complète.The update procedures and in particular the stages of routing software on board are still complex and very little automated. Currently, the update methods are not very sophisticated (e.g. retrieving updates on CD-ROM or via an Internet portal, transferring the loadable software assets to a computer that can connect to the avionics network, then finally loading them into the avionics suite ). These update operations require the physical presence of an operator in the aircraft to be able to “connect” to the avionics. All these manipulations induce complex logistics and therefore costs for the airlines which must repeat this operation very regularly (at least every 28 days for the navigation databases). This complexity and the lack of automation are the consequence of the requirement for a very high level of security and complete traceability.

En effet, il est impératif pour la sûreté aéronautique et la sécurité du vol de s’assurer que les actifs logiciels installés («assets» en anglais, comprenant notamment logiciels et bases de données) ne sont pas corrompus ou piratés. Les vérifications passent aujourd’hui quasi-systématiquement par une vérification manuelle d’un opérateur de maintenance. Les mesures de sécurité consistent essentiellement en des vérifications de valeur de hachage, tout au long de la chaine, puis des vérifications diverses sur les écrans (e.g. MCDU) du système de gestion de vol.Indeed, it is imperative for aeronautical security and flight safety to ensure that the installed software assets (“ assets ” in English, including in particular software and databases) are not corrupted or pirated. Verifications now almost always go through a manual verification by a maintenance operator. The security measures essentially consist of hash value checks, all along the chain, then various checks on the screens (eg MCDU) of the flight management system.

La complexité des procédures de mises à jour actuelles induisent deux problèmes majeurs. D’abord, ils impliquent des coûts importants pour les compagnies aériennes qui possèdent des flottes d’aéronefs. Ensuite, ces procédures introduisent une grande «rigidité» dans la configuration des avions. De fait, les mises à jour ne sont faites que lorsque c’est strictement indispensable. A ce jour il n’est pas envisageable de gérer finement la configuration avion (par exemple en activant une option pour certains vols uniquement, charger une base de navigation juste adaptée au besoin d’un vol, etc.).The complexity of current update procedures leads to two major problems. First, they imply significant costs for the airlines that own aircraft fleets. Second, these procedures introduce a great deal of "rigidity" into the configuration of the aircraft. In fact, updates are only made when strictly necessary. To date, it is not possible to finely manage the aircraft configuration (for example by activating an option for certain flights only, loading a navigation database just adapted to the needs of a flight, etc.).

L’État de la technique décrit des recherches ou certains produits commerciaux qui visent à installer des boîtiers connectés à l’intérieur du cockpit, en vue de télécharger puis installer des produits logiciels dans l’avionique, mais ses recherches ou produits présentes des limitations (notamment en matière de sécurité informatique).The state of the art describes research or certain commercial products which aim to install connected boxes inside the cockpit, with a view to downloading and then installing software products in the avionics, but its research or products present limitations ( especially in terms of computer security).

Il existe un besoin pour des dispositifs ou des procédés avancés pour la distribution de mises à jour de logiciels et ou de bases de données dans un aéronef.There is a need for advanced devices or methods for distributing software and or database updates in an aircraft.

Le document décrit des systèmes et des procédés pour la mise à jour de logiciels et/ou de bases de données avioniques d’un aéronef, comprenant les étapes consistant à :
- maintenir une ou plusieurs chaînes de blocs privée entre plusieurs compagnies aériennes distinctes, une compagnie administrant un ou plusieurs aéronefs ; - une chaine de blocs comprenant un ou plusieurs contrats intelligents ; un contrat intelligent gouvernant la gestion d’une ou de plusieurs mises à jour de logiciels et/ou de bases de données, dites mises à jour; une mise à jour étant associée à des conditions de validité en temps et/ou en espace ;
- téléverser et/ou télécharger puis installer une mise à jour dans un système de maintenance embarqué dans un système de gestion de vol desdits un ou plusieurs aéronefs en fonction de règles contenues dans un ou plusieurs desdits contrats intelligents. Des développements sont décrits.
The document describes systems and methods for updating aircraft avionics software and/or databases, comprising the steps of:
- maintain one or more private blockchains between several separate airlines, one company administering one or more aircraft; - a chain of blocks comprising one or more smart contracts; a smart contract governing the management of one or more software and/or database updates, called updates; an update being associated with validity conditions in time and/or space;
- uploading and/or downloading then installing an update in an on-board maintenance system in a flight management system of said one or more aircraft according to rules contained in one or more of said smart contracts. Developments are described.

Avantageusement, l’invention permet un très haut niveau de sécurité informatique.Advantageously, the invention allows a very high level of computer security.

Avantageusement, l’invention permet un transfert sécurisé de mises à jour de logiciels et/ou de bases de données depuis les serveurs de la compagnie vers le système de maintenance dans l’avion.Advantageously, the invention allows a secure transfer of software and/or database updates from the company's servers to the maintenance system in the aircraft.

Avantageusement, l’invention permet un transfert sécurisé de la configuration avion depuis le système de maintenance embarqué dans l’aéronef vers les serveurs de la compagnie.Advantageously, the invention allows secure transfer of the aircraft configuration from the maintenance system on board the aircraft to the company's servers.

Avantageusement, l’invention permet des communications sécurisées entre différents acteurs (compagnies aériennes, systèmes d’information, systèmes de maintenance, etc.)Advantageously, the invention allows secure communications between different actors (airlines, information systems, maintenance systems, etc.)

Avantageusement, l’invention permet à une compagnie aérienne de vérifier à tout moment l’état de configuration d’un ou plusieurs aéronefs de sa flotte d’avions.Advantageously, the invention allows an airline to check the configuration status of one or more aircraft in its fleet of aircraft at any time.

Avantageusement, l’invention permet au pilote de vérifier à tout moment l’état de mise à jour de la suite avionique de l’avion sur lequel il vole.Advantageously, the invention allows the pilot to check at any time the update status of the avionics suite of the aircraft on which he is flying.

Avantageusement, les modes de réalisation de l’invention permettent d’automatiser le déploiement de mises à jour logicielles et/ou de base de données ce qui peut rendre cette opération extrêmement simple et rapide.Advantageously, the embodiments of the invention make it possible to automate the deployment of software and/or database updates, which can make this operation extremely simple and rapid.

Par la suite, de nouvelles approches commerciales deviennent possibles, telles que la vente de fonctionnalités et/ou de données. Jusqu’à présent, les avions d’une compagnie aérienne sont configurés de façon à pouvoir faire toutes les missions possibles. Ainsi, souvent, les compagnies préfèrent charger une base de données de navigation mondiale même si l’avion ne vole que sur un unique continent. Cela permet à la compagnie une bonne flexibilité si elle a besoin de réallouer cet avion rapidement sur une nouvelle ligne. Cependant, cette approche induit des couts supplémentaires car une base de données de navigation mondiale est significativement plus chère qu’une base de navigation européenne. La rapidité de déploiement du système permettrait dans de tel cas de ne charger que le continent concerné et, en cas de besoin, de charger rapidement à distance une carte plus étendue.Subsequently, new business approaches become possible, such as selling features and/or data. Until now, an airline's planes are configured in such a way that they can carry out all possible missions. So often companies prefer to load a global navigation database even if the aircraft only flies on one continent. This allows the company good flexibility if it needs to reallocate this aircraft quickly on a new route. However, this approach induces additional costs because a global navigation database is significantly more expensive than a European navigation database. The speed of deployment of the system would allow in such cases to load only the continent concerned and, if necessary, to quickly load a larger map remotely.

Avantageusement, l’invention permet une historisation infalsifiable de la configuration avion pouvant servir de preuve de la bonne maintenance auprès des autorités de contrôle.Advantageously, the invention allows tamper-proof logging of the aircraft configuration that can be used as proof of proper maintenance with the control authorities.

Avantageusement, la traçabilité des transactions effectuées sur une chaîne de blocs permet des facturations à l’usage.Advantageously, the traceability of transactions carried out on a chain of blocks allows billing by use.

Description des figuresDescription of figures

D’autres caractéristiques et avantages de l’invention apparaîtront à l’aide de la description qui suit et des figures des dessins annexés dans lesquels:Other characteristics and advantages of the invention will appear with the aid of the following description and the figures of the appended drawings in which:

illustre le fonctionnement d’une chaîne de blocs; illustrates how a blockchain works;

illustre des exemples d’étapes du procédé selon l’invention. illustrates examples of steps of the process according to the invention.

Description détaillée de l’inventionDetailed description of the invention

Selon les modes de réalisation de l’invention, un « mobile » ou « aéronef » peut être un drone, ou un avion commercial, ou un avion de fret, ou bien encore un hélicoptère, embarquant ou non des passagers. Le mobile peut être un mobile piloté, télé-piloté ou autonome ; tel qu’un aéronef (avion, hélicoptère, ou tout autre appareil soumis aux lois de l’aéronautique). Dans d’autres modes de réalisation, le mobile peut être terrestre, de surface (e.g. bateau), submersible (sous-marin), orbitale (satellite), etc. Plus généralement, le terme « aéronef » dans la description ci-après peut être remplacé par les termes de véhicule, voiture, camion, bus, train, moto, bateau, robot, sous-marin, jouet, etc. ou tout élément étant susceptible d’être télé-piloté (par liaison radio, satellite, ou autre), au moins partiellement (de manière intermittente, ou périodique, ou même opportuniste au cours du temps).According to the embodiments of the invention, a “mobile” or “aircraft” can be a drone, or a commercial plane, or a freight plane, or even a helicopter, whether or not carrying passengers. The mobile can be a piloted, remotely piloted or autonomous mobile; such as an aircraft (aeroplane, helicopter, or any other device subject to aeronautical laws). In other embodiments, the mobile can be terrestrial, surface (e.g. boat), submersible (submarine), orbital (satellite), etc. More generally, the term "aircraft" in the description below may be replaced by the terms vehicle, car, truck, bus, train, motorcycle, boat, robot, submarine, toy, etc. or any element capable of being remotely controlled (by radio link, satellite, or other), at least partially (intermittently, or periodically, or even opportunistically over time).

Il est décrit un procédé mis en œuvre par ordinateur pour la mise à jour de logiciels et/ou de bases de données avioniques d’un aéronef, comprenant les étapes consistant à :- maintenir une ou plusieurs chaînes de blocs privée entre plusieurs compagnies aériennes distinctes, une compagnie administrant un ou plusieurs aéronefs ;- une chaine de blocs comprenant un ou plusieurs contrats intelligents ; un contrat intelligent gouvernant la gestion d’une ou de plusieurs mises à jour de logiciels et/ou de bases de données, dites mises à jour; une mise à jour étant associée à des conditions de validité en temps et/ou en espace ;- téléverser et/ou télécharger puis installer une mise à jour dans un système de maintenance embarqué dans un système de gestion de vol desdits un ou plusieurs aéronefs en fonction de règles contenues dans un ou plusieurs desdits contrats intelligents.A computer-implemented method for updating aircraft avionics software and/or databases is described, comprising the steps of:- maintaining one or more private blockchains between several separate airlines , a company administering one or more aircraft;- a blockchain comprising one or more smart contracts; a smart contract governing the management of one or more software and/or database updates, known as updates; an update being associated with conditions of validity in time and/or space;- uploading and/or downloading then installing an update in an on-board maintenance system in a flight management system of said one or more aircraft in based on rules contained in one or more of said smart contracts.

La chaine de blocs utilisée est privée (mais un mode de réalisation à chaine de blocs publique reste possible). Dans un mode de réalisation, la chaine de blocs est privée (tous les appareils sont préalablement connus, et un nouvel appareil doit s’enregistrer par exemple auprès d’une autorité de régulation du trafic aérien). Dans un mode de réalisation, la chaine de blocs est publique et de nouveaux appareils peuvent s’enregistrer modulo une épreuve d’admission.The blockchain used is private (but a public blockchain embodiment remains possible). In one embodiment, the blockchain is private (all devices are known beforehand, and a new device must register with, for example, an air traffic regulation authority). In one embodiment, the blockchain is public and new devices can register modulo an admission test.

Une compagnie aérienne exécute un ou plusieurs nœuds, ou parties de nœuds. Les limitations en temps et en espace permettent une granularité ajustée, cad permettent de manipuler ce qui est strictement nécessaire. Ceci évite ou minimise l’injection de code malveillant ou accidentellement systémique.An airline runs one or more nodes, or parts of nodes. The limitations in time and space allow an adjusted granularity, ie allow to manipulate what is strictly necessary. This avoids or minimizes the injection of malicious or accidentally systemic code.

Les compagnies aériennes ou les fournisseurs de données peuvent être en charge de publier sur la chaine de blocs des packages (ou paquets) de mises à jour auxquels seront associés des conditions de validité.Airlines or data providers may be in charge of publishing update packages (or packages) on the blockchain, to which validity conditions will be associated.

Dans un développement, l’étape consistant à installer une mise à jour est déclenchée après validation humaine, par exemple sur ordre du pilote, ladite validation étant déterminée après un ou plusieurs tests biométriques, de défi-réponse et/ou physiologiques.In a development, the step consisting in installing an update is triggered after human validation, for example on the order of the pilot, said validation being determined after one or more biometric, challenge-response and/or physiological tests.

La distinction entre homme et machine est changeante et le niveau de difficulté doit croître plus rapidement que l’augmentation de la puissance de calcul des machines, de manière à garantir que l’humain reste dans la boucle (« human in the loop »). Le pilote mais également d’autres participants peuvent déclencher la mise à jour. Les tests peuvent donc être multipliés (signature biométrique, etc). Un test défi-réponse comprend notamment un test Captcha, mais aussi toutes ses variantes pour discriminer l’humain et la machine, y compris dans ses développements d’apprentissage automatique. En particulier, les tests peuvent être choisis au hasard (palette unique à chaque fois).The distinction between human and machine is changing and the level of difficulty must increase faster than the increase in the computing power of the machines, so as to guarantee that the human remains in the loop (“human in the loop”). The driver but also other participants can trigger the update. The tests can therefore be multiplied (biometric signature, etc.). A challenge-response test includes a Captcha test, but also all its variants to discriminate between humans and machines, including in its machine learning developments. In particular, the tests can be chosen randomly (unique palette each time).

Dans un développement, l’étape consistant à installer une mise à jour est effectuée préalablement dans une machine virtuelle isolée du système de maintenance embarqué concerné, un temps minimal de mise en quarantaine étant mis en œuvre avant l’installation effective.In a development, the step consisting in installing an update is carried out beforehand in a virtual machine isolated from the on-board maintenance system concerned, a minimum quarantine time being implemented before the actual installation.

Les modifications apportées peuvent être au moins temporairement isolées, afin d’éviter ou de minimiser l’installation de code malveillant.The changes made can be at least temporarily isolated, in order to avoid or minimize the installation of malicious code.

Dans un développement, un ou plusieurs contrats intelligents implémentent des tests logiques portant sur l’intégrité des mises à jour et/ou la cohérence de la mise en œuvre des mises à jour de données, notamment des vérifications de la validité des configurations-avions, une configuration-avion comprenant des combinaisons préalablement autorisées de logiciels et/ou de bases de données.In a development, one or more smart contracts implement logical tests relating to the integrity of the updates and/or the consistency of the implementation of the data updates, in particular verifications of the validity of the aircraft configurations, an aircraft configuration comprising previously authorized combinations of software and/or databases.

Les tests de compatibilité sont préparés en amont de l’installation (« secured boot », etc), mais peuvent l’être pendant l’installation et continués après mise à jour. Ceci évite ou minimise l’injection de code malveillant ou accidentellement systémique. Par risque systémique, il est signifié qu’un système complexe (un assemblage de codes logiciels) peut voir son comportement global grandement modifié par de petites modifications apportées au code.Compatibility tests are prepared before installation (“secured boot”, etc.), but can be done during installation and continued after updating. This avoids or minimizes the injection of malicious or accidentally systemic code. By systemic risk, it is meant that a complex system (an assembly of software codes) can see its overall behavior greatly modified by small modifications made to the code.

L’avantage d’un contrat intelligent réside dans le fait que le code est auditable, et surtout que l’exécution de ce code est inéluctable (exécutions effectuées en parallèle sur les nœuds de la chaine de blocs, et résultat final validé par consensus distribué).The advantage of a smart contract lies in the fact that the code is auditable, and above all that the execution of this code is inevitable (executions carried out in parallel on the nodes of the blockchain, and final result validated by distributed consensus ).

Un contrat intelligent pourra fournir des services de vérification automatique de la validité des configurations. De façon optionnelle, une chaine de blocs pourra aussi servir comme moyen de transfert sécurisé des DB et/ou SW entre les fournisseurs et les compagnies et pourra fournir des services de vérification automatique de la validité des configurations.A smart contract will be able to provide services for automatic verification of the validity of configurations. Optionally, a chain of blocks can also be used as a means of secure transfer of DBs and/or SWs between suppliers and companies and can provide automatic verification services for the validity of configurations.

Dans un développement, les mises à jour de logiciels et/ou de bases de données avioniques sont stockées et/ou transmises de manière chiffrée, le chiffrement étant de type post-quantum.In a development, updates to software and/or avionics databases are stored and/or transmitted in encrypted form, the encryption being of the post-quantum type.

Dans un mode de réalisation, une chaîne de blocs privée est utilisée (e.g. sans épreuve d’admission autre que de l’authentification forte, accessible aux compagnies aérienne et aux systèmes de maintenance des avions. Les mises à jour peuvent potentiellement révéler des patchs, i.e. des vulnérabilités. Un chiffrement post-quantum permet d’éviter la divulgation de failles, mêmes historiques, à un attaquant.In one embodiment, a private blockchain is used (e.g. with no admission test other than strong authentication, accessible to airlines and aircraft maintenance systems. Updates can potentially reveal patches, i.e. vulnerabilities Post-quantum encryption prevents the disclosure of vulnerabilities, even historical ones, to an attacker.

Les données «at rest» ou communiquées peuvent être chiffrées. De façon optionnelle, une chaine de blocs peut aussi servir comme moyen de transfert sécurisé des données entre les fournisseurs et les compagnies. At rest or communicated data may be encrypted. Optionally, a blockchain can also serve as a means of secure transfer of data between suppliers and companies.

Dans un développement, l’intégralité du code avionique est stocké et rendu accessible via lesdites une ou plusieurs chaines de blocs.In a development, the entire avionics code is stored and made accessible via said one or more blockchains.

Ce mode de réalisation renverse la perspective : au lieu de « patcher » (appliquer une mise à jour) un code embarqué existant et monolithique, il s’agit de télécharger et d’exécuter en partant de zéro les seules sous-parties (nécessaires et suffisantes) d’un code monolithique stocké et mis en œuvre dans une chaines de blocs.This embodiment reverses the perspective: instead of "patching" (applying an update) an existing and monolithic embedded code, it is a matter of downloading and executing from scratch only the sub-parts (necessary and sufficient) of a monolithic code stored and implemented in a blockchain.

Plus généralement encore, l’utilisation de plusieurs chaines de blocs permet des modes de réalisation sophistiqués. Par exemple, une chaine de blocs dite principale peut stocker et manipuler le code principal avionique (FMS, FWS, etc), tandis que des chaines de blocs secondaires adresseront des domaines fonctionnels précis.More generally still, the use of several chains of blocks allows sophisticated embodiments. For example, a so-called main blockchain can store and manipulate the main avionics code (FMS, FWS, etc.), while secondary blockchains will address specific functional areas.

Dans un développement, des requêtes de téléversement et/ou de téléchargement s’effectuent via des publications de l’état des configurations avion et/ou par des abonnements automatiques, par les aéronefs ou les compagnies aériennes, à des types de mises à jour prédéfinis.In a development, upload and/or download requests are made via publications of the status of aircraft configurations and/or by automatic subscriptions, by aircraft or airlines, to predefined types of updates .

Les systèmes de maintenance embarqués pourront par la suite automatiquement récupérer les mises à jour depuis la chaine de blocs pour les rendre disponible pour le déploiement dans la suite avionique.On-board maintenance systems will then be able to automatically retrieve updates from the blockchain to make them available for deployment in the avionics suite.

Pour répondre aux besoins de traçabilité, le procédé peut inclure un mécanisme régulier de publication de la configuration avion dans la chaine de blocs par le système de maintenance embarqué.To meet traceability needs, the method can include a regular mechanism for publishing the aircraft configuration in the blockchain by the on-board maintenance system.

Dans un développement, un contrat intelligent comprend du code lisible en clair et une partie de code sous forme chiffrée.In development, a smart contract includes plain-readable code and a portion of code in encrypted form.

Il s’agit ici de conjuguer le meilleur des deux mondes : un contrat intelligent peut contenir à la fois du code ouvert (« open source », auditable) et du code fermé (« binary code »). Le code fermé (chiffré) peut être durci (hardened code, obfusqué) de manière à protéger les informations les plus sensibles.This is about combining the best of both worlds: a smart contract can contain both open code (“open source”, auditable) and closed code (“binary code”). The closed code (encrypted) can be hardened (hardened code, obfuscated) in order to protect the most sensitive information.

Dans un développement, les mises à jour de logiciels et/ou de bases de données avioniques sont stockées dans une base de données centralisée.In a development, updates of software and/or avionics databases are stored in a centralized database.

Dans un développement, les mises à jour de logiciels et/ou de bases de données avioniques sont échangées de pair à pair entre aéronefs, éventuellement de compagnies aériennes distinctes.In a development, updates of software and/or avionics databases are exchanged peer to peer between aircraft, possibly from different airlines.

Ce mode de réalisation est particulièrement résilient, si la connectivité le permet. Les aéronefs en vol peuvent coopérer pour conduire leurs mises à jour (propagation de proche en proche). Dans un développement, un téléchargement et/ou un téléversement de mise à jour est associée à une transaction avec une contrepartie.This embodiment is particularly resilient, connectivity permitting. The aircraft in flight can cooperate to carry out their updates (propagation step by step). In development, a download and/or update upload is associated with a transaction with a counterparty.

La contrepartie peut être un jeton cryptographique, un montant de crypto-monnaie ou un montant exprimé en monnaie fiduciaire. De plus, en s’appuyant sur la traçabilité de la BC, un tel système rend possible la facturation « à l’usage » de fonctionnalités ou de DB avionique.The counterparty can be a cryptographic token, an amount of cryptocurrency, or an amount expressed in fiat currency. In addition, by relying on the traceability of the BC, such a system makes it possible to bill “per use” for functionalities or avionics DB.

Un tel procédé permettra de largement simplifier le déploiement de mise à jour logicielle ou DB dans le avion ce qui constituera une très source d’économie pour les compagnies aérienne.Such a process will greatly simplify the deployment of software updates or DB in the aircraft which will be a very source of savings for airlines.

Dans un développement, le chiffrement est asymétrique, une clef publique étant associée à l’identifiant d’un aéronef et une clef privée étant associé au système de maintenance embarquée dudit aéronef.In one development, the encryption is asymmetric, a public key being associated with the identifier of an aircraft and a private key being associated with the on-board maintenance system of said aircraft.

Dans un développement, un contrat intelligent est multipartite à N parties, les parties comprenant un ou plusieurs parties parmi un fournisseur de données, une compagnie aérienne et une autorité de la régulation aérienne.In one development, a smart contract is multiparty with N parties, the parties including one or more parties among a data provider, an airline and an airline regulatory authority.

Il est décrit un produit programme d’ordinateur, ledit programme d’ordinateur comprenant des instructions de code permettant d’effectuer une ou plusieurs des étapes du procédé, lorsque ledit programme est exécuté sur un ordinateurA computer program product is described, said computer program comprising code instructions making it possible to perform one or more of the steps of the method, when said program is executed on a computer

Il est décrit un système pour la gestion du trafic aérien comprenant des moyens pour la mise en œuvre d’une ou de plusieurs étapes du procédé, notamment: - un ou plusieurs aéronefs, chaque aéronef comprenant un système de maintenance ;- au moins une chaine de blocs, ladite chaine de blocs étant configurée pour l’exécution d’un ou de plusieurs contrats intelligents;- lesdits un ou plusieurs contrats intelligents étant configurés pour - des calculateurs aéronautiques, par exemple un système de gestion de vol ou FMS, associés directement à la chaîne de blocs en lecture et/ou écriture, et/ ou indirectement à la chaîne de blocs par l’intermédiaire desdits un ou de plusieurs contrats intelligents.A system is described for the management of air traffic comprising means for the implementation of one or more steps of the method, in particular: - one or more aircraft, each aircraft comprising a maintenance system; - at least one chain of blocks, said chain of blocks being configured for the execution of one or more smart contracts; - said one or more smart contracts being configured for - aeronautical computers, for example a flight management system or FMS, directly associated to the read and/or write blockchain, and/or indirectly to the blockchain through said one or more smart contracts.

La 1 illustre le fonctionnement d’une chaîne de blocs.There 1 illustrates how a blockchain works.

Selon la définition donnée par Wikipédia, une « chaîne de blocs » («blockchain» en anglais) ou un « registre distribué » (DLT pour « Distributed Ledger Technology » en anglais) est une base de données distribuée et sécurisée par des techniques cryptographiques. Les transactions échangées sont groupées en « blocs » à intervalles de temps réguliers, de manière sécurisée par cryptographie, lesquels blocs forment une chaîne. Après avoir enregistré les transactions récentes, un nouveau bloc est généré et analysé. Si le bloc est valide (consensus distribué), le bloc peut être horodaté et ajouté à la chaîne de blocs. Chaque bloc est lié au précédent par une clé de hachage. Une fois ajouté à la chaîne de blocs, un bloc ne peut plus être ni modifié ni supprimé, ce qui garantit l'authenticité et la sécurité du réseau. Le chainage utilise des fonctions de hachage et des arbres de Merkle. Un arbre de hachage est constitué par un ensemble de sommes de contrôle interdépendantes. Des sommes de contrôles sont concaténées selon une structure en arbre. Un arbre de hachage permet de pouvoir vérifier l'intégrité d'un ensemble de données sans disposer nécessairement de la totalité des données au moment de la vérification. Les enregistrements dans une chaîne de blocs sont protégés contre la falsification ou la modification par les nœuds de stockage : falsifier un bloc nécessite de falsifier l'ensemble de la chaîne, de sorte que le coût total devient prohibitif et garantit un niveau de confiance en la non-falsification de l'ensemble de la chaîne de blocs. Les transactions sont visibles dans l'ensemble du réseau (sauf élagage dit « pruning »).According to the definition given by Wikipedia, a “blockchain” (“blockchain” in English) or a “distributed ledger” (DLT for “Distributed Ledger Technology” in English) is a distributed database secured by cryptographic techniques. The exchanged transactions are grouped into “blocks” at regular time intervals, in a cryptographically secure manner, which blocks form a chain. After recording recent transactions, a new block is generated and analyzed. If the block is valid (distributed consensus), the block can be timestamped and added to the blockchain. Each block is linked to the previous one by a hash key. Once added to the blockchain, a block can no longer be modified or deleted, ensuring network authenticity and security. Chaining uses hash functions and Merkle trees. A hash tree is made up of a set of interdependent checksums. Checksums are concatenated in a tree structure. A hash tree makes it possible to verify the integrity of a set of data without necessarily having all of the data at the time of the verification. Records in a blockchain are protected against tampering or modification by storage nodes: tampering with one block requires tampering with the entire chain, so the total cost becomes prohibitive and guarantees a level of trust in the non-tampering of the entire blockchain. Transactions are visible throughout the network (except pruning).

Le temps est un facteur important pour les chaînes de blocs (notions de broadcasting, de propagation, de latence, etc.). Le consensus distribué de l'ensemble des nœuds du réseau peut prendre un temps très variable selon les technologies utilisées. Il peut être accéléré en utilisant diverses techniques, notamment des « sidechains », lesquelles augmentent aussi les capacités de stockage.Time is an important factor for blockchains (notions of broadcasting, propagation, latency, etc.). The distributed consensus of all the network nodes can take a very variable time depending on the technologies used. It can be accelerated by using various techniques, in particular “sidechains”, which also increase storage capacities.

Dans le cadre du consensus distribué, une chaîne de blocs peut utiliser une validation par preuve de travail (« proof of work »). Du point de vue mathématique, une preuve de travail est « difficile à fournir mais facile à valider». Les systèmes de validation par preuve sont généralement asymétriques: le calcul qui est requis en contrepartie d'une demande de service est couteux pour le demandeur mais demeure facilement vérifiable par un tiers. Différentes techniques peuvent être utilisées, notamment hashcash ou un "client-puzzle".As part of distributed consensus, a blockchain can use proof of work validation. From a mathematical point of view, a proof of work is “hard to provide but easy to validate”. Validation by proof systems are generally asymmetrical: the calculation that is required in return for a service request is costly for the requester but remains easily verifiable by a third party. Different techniques can be used, including hashcash or a "client-puzzle".

Les nœuds « mineurs » ou de « minage » sont des entités dont le rôle est d’alimenter le réseau en puissance de calcul, pour permettre la mise à jour de la base de données décentralisée. Ces mineurs peuvent être rétribués par la distribution de jetons cryptographiques (« tokens »). D’autres modes de compensation (en complément ou par substitution) prévoient des commissions sur les transactions. Des « mineurs » ne sont pas toujours nécessaires : dans le cas des chaînes de blocs privées par exemple, les participants à la chaîne de blocs maintiennent eux-mêmes la base de données distribuée.The "minor" or "mining" nodes are entities whose role is to supply the network with computing power, to allow the update of the decentralized database. These minors can be rewarded by the distribution of cryptographic tokens (“tokens”). Other methods of compensation (in addition or by substitution) provide for commissions on transactions. “Miners” are not always necessary: in the case of private blockchains for example, the participants in the blockchain themselves maintain the distributed database.

Une chaîne de blocs peut être publique ou privée, ou selon des gouvernances intermédiaires, qui peuvent utiliser différentes barrières à l’entrée (validation par preuve de travail). Une chaîne de blocs « privée » comprend des nœuds participants au consensus qui sont définis à l'avance puis authentifiés. Ses règles de fonctionnement peuvent être éventuellement extrinsèques.A blockchain can be public or private, or according to intermediate governances, which can use different barriers to entry (validation by proof of work). A “private” blockchain consists of consensus participating nodes that are defined in advance and then authenticated. Its operating rules may possibly be extrinsic.

La montre 4 blocs de données B1 à B4 (101, 102, 103, 104). L'arbre de hachage est constitué par un ensemble de valeurs de hash interdépendantes. Les feuilles de l'arbre sont les valeurs de hash de chacun des blocs de données initiales (111, 112, 113, 114). Dans un arbre de Merkle (binaire), ces valeurs de hachage sont alors concaténés deux à deux pour pouvoir calculer un nouveau hash parent (121, 122). Ainsi de suite jusqu'au sommet de l'arbre ou on obtient un hash-sommet (131). Pour garantir l'intégrité d'un bloc par rapport à l'ensemble des données, il suffit de posséder les valeurs de hash des frères, les valeurs de hash des oncles et le hash-sommet. De plus, seul le hash-sommet (131) doit être récupéré de manière sure pour garantir l'intégrité de l'ensemble des données représentées par l'arbre. Par exemple, si on veut vérifier l'intégrité du block B2, il suffit d'avoir récupéré le hash 0-0 (son frère 111), le hash1 (son oncle 122) et le hash-sommet (131).There shows 4 blocks of data B1 to B4 (101, 102, 103, 104). The hash tree is made up of a set of interrelated hash values. The leaves of the tree are the hash values of each of the initial data blocks (111, 112, 113, 114). In a (binary) Merkle tree, these hash values are then concatenated two by two to be able to calculate a new parent hash (121, 122). And so on until the top of the tree where we obtain a hash-vertex (131). To guarantee the integrity of a block with respect to all the data, it is enough to have the hash values of the brothers, the hash values of the uncles and the hash-vertex. Moreover, only the hash-vertex (131) must be recovered in a safe manner to guarantee the integrity of all the data represented by the tree. For example, if you want to check the integrity of block B2, you just need to have retrieved hash 0-0 (his brother 111), hash1 (his uncle 122) and the hash-vertex (131).

Un bloc de données peut comprendre un ou plusieurs codes ou programmes ou contrats intelligents 140. Concrètement, un contrat intelligent 140 peut mettre un œuvre un ou plusieurs mécanismes : (a) d’accès aux données ou parties de données (portant notamment sur les plans de vol): -i) gestion des droits d’accès et partages des clefs de chiffrement (dans le cas d’un chiffrement asymétrique la clef privée est secrète et connue du seul utilisateur ou la clef publique peut être connue d’un registre) ; des mécanismes de chiffrement matériel peuvent être utilisés (TPM ou HSM, carte à puce, etc) ; ii) abonnement par unité de temps (journalier, hebdomadaire, mensuel, annuel, etc) et/ou par volume de données (e.g. au Mo octets de données téléchargées) ; des systèmes de crédits ou de points peuvent être utilisés ; b) de paiement ; les transactions peuvent être réglées en unité de compte (crypto-monnaie ou monnaie fiduciaire e.g. USD ou EUR) ;A block of data can include one or more codes or programs or smart contracts 140. Concretely, a smart contract 140 can implement one or more mechanisms: (a) for access to data or parts of data (relating in particular to plans theft): -i) management of access rights and sharing of encryption keys (in the case of asymmetric encryption, the private key is secret and known only to the user or the public key may be known to a registry) ; hardware encryption mechanisms can be used (TPM or HSM, smart card, etc.); ii) subscription per unit of time (daily, weekly, monthly, annual, etc.) and/or per volume of data (e.g. per MB of data downloaded); credit or point systems can be used; b) payment; transactions can be settled in units of account (crypto-currency or fiduciary currency e.g. USD or EUR);

Les blocs de données (101, 102, 103, 104) sont produits puis consommés, i.e. accédés, en lecture et/ou écriture, par des parties ou entreprises (e.g. illustrées par 151, 152, 153).The data blocks (101, 102, 103, 104) are produced then consumed, i.e. accessed, in reading and/or writing, by parties or companies (e.g. illustrated by 151, 152, 153).

Une partie ou entreprise ou consommateur peut être le constructeur de l’avion, un assembleur, un équipementier, un aéronef ou une compagnie aérienne, une société fournisseur de données météorologiques, une autorité de régulation, etc.A party or business or consumer may be the aircraft manufacturer, an assembler, an OEM, an aircraft or airline, a weather data provider company, a regulatory authority, etc.

Une partie peut être « producteur » de données et/ou « consommateur » de données. Un consommateur de données peut être dénommé « client » ou « demandeur » ou « receveur » par la suite. Un producteur peut être dénommé « émetteur » ou « serveur » ou « fournisseur » par la suite. L’expression « et/ou » souligne le fait que la production et la consommation peuvent être successives ou alternatives, ou même simultanées. Comme chaque partie peut acheter et/ou vendre, prendre licence et/ou concéder licence, céder ou donner ou partager des données qui lui sont propres, elle peut aussi accéder aux données partagées par les autres parties. La mise en partage des données permet de créer d’autres données, dont certaines peuvent avoir de la valeur technique ou autre. Comme autre exemple de producteur/consommateur de données, les autorités de contrôle du trafic aérien 152 peuvent produire et consommer des données.A party can be a “producer” of data and/or a “consumer” of data. A data consumer may be referred to as "customer" or "requester" or "receiver" hereafter. A producer may be referred to as “issuer” or “server” or “provider” thereafter. The expression “and/or” emphasizes the fact that production and consumption can be successive or alternative, or even simultaneous. As each party can buy and/or sell, license and/or grant licence, assign or give or share its own data, it can also access data shared by the other parties. Sharing data creates other data, some of which may have technical or other value. As another example of a data producer/consumer, air traffic control authorities 152 can produce and consume data.

Les données peuvent notamment concerner des plans de vol et/ou leurs attestations associées, des notifications NOTAM, des alertes diverses, des statistiques de routage ou sur les plans de vol etc.The data may in particular concern flight plans and/or their associated certificates, NOTAM notifications, various alerts, routing or flight plan statistics, etc.

Enfin, une grande diversité de parties 153 peuvent consommer ou produire des données utiles : météorologiques, des services d’analyse (« analytics »), etc.Finally, a wide variety of parties 153 can consume or produce useful data: weather, analysis services (“analytics”), etc.

Dans certains modes de réalisation, différentes couches ou niveaux de régulation peuvent intervenir: une première couche de métadonnées ou chaîne de blocs 100 ; héritant des propriétés inhérentes à une chaîne de blocs (e.g. intégrité, in-falsifiabilité, etc) ; la chaîne de blocs 100 est essentielle, les autres niveaux sont optionnels. La chaine de blocs est essentielle en ce qu’elle peut «tout» contenir (ici les données de plan de vol, les métadonnées, bases de données tierces etc) mais elle peut être allégée, notamment en déportant les données non-critiques ou volumineuses dans des bases de données secondaires, sous forme de chaine de blocs également (« sidechains »), ou pas i.e. sans utilisation de chaine de blocs ; une deuxième couche de données (non représentées) appelées ou référencées par la chaîne de blocs 100 (chiffrée en partie ou en totalité). Ces données, notamment de plans de vol, peuvent être stockées dans la base de données selon différents formats de (.txt, .doc, .rtf, .xml, .json, etc). Les données peuvent aussi comprendre des métriques de téléversement, de téléchargement, d’utilisations, etc lesquelles peuvent à leur tour déterminer des scores ou autres quantifications (au moyen de circuits de décision logiques e.g. des ordinateurs) ; une troisième couche de coordination ou de régulation entre acteurs (qui jouent tour à tour des rôles de producteur ou de consommateur, lisant et/ou écrivant sur la chaîne de blocs 100. Les accords entre participants à la chaîne de blocs peuvent être des contrats écrits (hors technique), ou bien partiellement - ou en totalité - transcrits via des contrats intelligents de type 140 ; une quatrième couche optionnelle peut enfin réguler les contrats intelligents eux-mêmes (contrats liés, contrats indépendants, contrat cadre modifiant d’autres contrats en aval, ou à l’inverse en amont, boucles de rétroaction multiples entre contrats, feedforward, etc). Optionnellement, l’entité 140 peut représenter ou être associé à un ou plusieurs validateurs (ou « oracles », lesquels peuvent correspondre à une validation indépendante humaine et/ou machine i.e. encodée algorithmiquement).In some embodiments, different layers or levels of regulation may be involved: a first layer of metadata or blockchain 100; inheriting properties inherent to a blockchain (e.g. integrity, tamper-proof, etc.); Blockchain 100 is essential, other levels are optional. The blockchain is essential in that it can contain "everything" (here flight plan data, metadata, third-party databases, etc.) but it can be lightened, in particular by deporting non-critical or voluminous data in secondary databases, also in the form of a chain of blocks (“sidechains”), or not i.e. without the use of a chain of blocks; a second layer of data (not shown) called or referenced by the blockchain 100 (encrypted in part or in full). This data, in particular flight plans, can be stored in the database in different formats (.txt, .doc, .rtf, .xml, .json, etc.). Data may also include metrics of uploads, downloads, usage, etc. which in turn may determine scores or other quantifications (by means of logical decision circuits e.g. computers); a third layer of coordination or regulation between actors (who alternately play the roles of producer or consumer, reading and/or writing on the blockchain 100. Agreements between participants in the blockchain can be written contracts (excluding technical), or partially - or entirely - transcribed via smart contracts of type 140; a fourth optional layer can finally regulate the smart contracts themselves (linked contracts, independent contracts, framework contract modifying other contracts in downstream, or conversely upstream, multiple feedback loops between contracts, feedforward, etc. Optionally, the entity 140 can represent or be associated with one or more validators (or “oracles”, which can correspond to a validation independent human and/or machine i.e. algorithmically encoded).

Contrats intelligentsSmart contracts

Les chaînes de blocs peuvent être ou devenir programmables par l’emploi de « contrats intelligents » (« smart contracts » en anglais). Les contrats intelligents sont des logiciels ou protocoles informatiques qui facilitent, vérifient et exécutent la négociation ou l'exécution d'un contrat. Ils visent à émuler ou approcher la logique des clauses contractuelles (droit des contrats). Les contrats intelligents ne sont pas strictement équivalents à des accords contractuels. Ils contribuent à rendre la violation d'un accord coûteux car ils contrôlent un bien par le biais de moyens numériques. Ils peuvent prévoir - ou pas - l’intervention de tiers au contrat pour suivre son exécution (par exemple des machines ou « oracles » ou services d’oracle. Un contrat intelligent est un code logiciel qui est stocké et est exécuté sur/par une chaîne de blocs et est déclenché par des données externes qui lui permet de modifier d'autres données, dans la chaîne de blocs ou ailleurs.Blockchains can be or become programmable through the use of “smart contracts”. Smart contracts are computer software or protocols that facilitate, verify and execute the negotiation or execution of a contract. They aim to emulate or approach the logic of contractual clauses (contract law). Smart contracts are not strictly equivalent to contractual agreements. They help make breaking an agreement costly because they control an asset through digital means. They may or may not provide for the intervention of third parties to the contract to monitor its execution (e.g. machines or “oracles” or oracle services). A smart contract is software code that is stored and executed on/by a blockchain and is triggered by external data that allows it to modify other data, in the blockchain or elsewhere.

L’exécution d’un contrat intelligent est prédictible/prévisible; à tout le moins le code et donc la nature des calculs ou tests effectués par ce code sont connus. Le code d’un contrat intelligent est stocké sur ou dans la chaîne de blocs ; l’exécution du contrat intelligent est effectué lors de la validation des blocs (les ressources de calcul sont distribuées, ce qui signifie que l’exécution d’un contrat intelligent est sûre en elle-même : le code du contrat intelligent est répliqué en plusieurs nœuds de l’architecture mettant en œuvre la chaîne de blocs ; étant déterministe, les résultats des différentes exécutions doivent être identiques. Par suite, le code ainsi que l’exécution du code sont sûres.The execution of a smart contract is predictable/predictable; at the very least the code and therefore the nature of the calculations or tests carried out by this code are known. The code for a smart contract is stored on or in the blockchain; the execution of the smart contract is performed during block validation (computing resources are distributed, which means that the execution of a smart contract is safe in itself: the code of the smart contract is replicated in several nodes of the architecture implementing the blockchain; being deterministic, the results of the different executions must be identical. As a result, the code as well as the execution of the code are safe.

Comme pour tout programme ou code informatique, différents langages de programmation sont disponibles, avec différents modèles de sécurité et de régulation (contrat-cadre régissant d’autres contrats, contrats en cascade, etc). Les formes prises par les contrats intelligents peuvent être diverses (e.g services, agents, snippets, scripts, SOA, API, add-ons, plug-ins, extensions, DLC, etc). La logique mathématique (les prises de décisions opérant sur les données) peut être celle de la logique classique, floue, combinatoire, intuitionniste, modale, propositionnelle, partielle, para-consistante, etc ou une combinaison de ces logiques. Le logiciel peut être codé en partie ou en totalité sur forme matérielle (e.g. FPGA). Un contrat intelligent peut être en totalité ou en partie en source ouverte (« open source”) et/ou en source fermée (“closed source »). Dans le cas de source ouverte, le code est auditable ou vérifiable par les parties ou les tiers. Un contrat intelligent peut combiner des parties en source ouverte (e.g. auditables, vérifiables, améliorables, etc) avec des parties fermées (propriétaires, secrètes, sensibles, etc). Une source fermée peut être un binaire, éventuellement obfusqué ou durci (« hardened »). Les techniques cryptographiques peuvent être diverses : symétrique, asymétrique, « post-quantum », « quantum-safe », avec utilisation de « Quantum-Key-Distribution », etc). Un contrat intelligent peut être lisible par l’homme et/ou la machine (“human and/or machine readable »).As with any computer program or code, different programming languages are available, with different security and regulation models (framework contract governing other contracts, cascading contracts, etc.). The forms taken by smart contracts can be diverse (e.g services, agents, snippets, scripts, SOA, APIs, add-ons, plug-ins, extensions, DLC, etc). Mathematical logic (decision-making operating on data) can be that of classical, fuzzy, combinatorial, intuitionistic, modal, propositional, partial, para-consistent logic, etc. or a combination of these logics. The software can be coded in part or in whole on hardware form (e.g. FPGA). A smart contract may be wholly or partly open source and/or closed source. In the case of open source, the code is auditable or verifiable by the parties or third parties. A smart contract can combine open source parts (e.g. auditable, verifiable, improvable, etc) with closed parts (proprietary, secret, sensitive, etc). A closed source can be a binary, possibly obfuscated or hardened. Cryptographic techniques can be diverse: symmetric, asymmetric, “post-quantum”, “quantum-safe”, with use of “Quantum-Key-Distribution”, etc). A smart contract can be human and/or machine readable.

Dans un mode de réalisation, la chaîne de blocs 100 de données (de plans de vol) est publique. Il est notamment possible d’implémenter une validation par preuve de travail (« proof-of-work » ou PoW e.g. hashcash ou variante). Dans un mode de réalisation, la chaîne de blocs de données est privée : chaque participant est préalablement agréé (par contrat ou accord et dispose techniquement de clefs ou moyens d’authentification. Une validation par preuve d’enjeu (« proof-of-stake » ou PoS) est alors possible.In one embodiment, the chain of blocks 100 of data (of flight plans) is public. In particular, it is possible to implement validation by proof of work (“proof-of-work” or PoW e.g. hashcash or variant). In one embodiment, the chain of data blocks is private: each participant is previously approved (by contract or agreement and technically has keys or means of authentication. Validation by proof-of-stake or PoS) is then possible.

Additionnement ou en substitution, une ou plusieurs chaînes de blocs secondaires (non représentées) peuvent être utilisées. Par exemple, une chaîne de blocs principale peut contenir les métadonnées relatives aux données des plans de vols (i.e. y compris les valeurs de hachage des données), tandis qu’une chaîne secondaire peut contenir les données elles-mêmes.In addition or in substitution, one or more secondary blockchains (not shown) can be used. For example, a primary blockchain may contain metadata related to flight plan data (i.e. including the hash values of the data), while a secondary blockchain may contain the data itself.

Dans un mode de réalisation, le procédé utilise un ou plusieurs « contrats intelligents ». Les données peuvent être partagées sur une chaîne de blocs afin d’en assurer l’horodatage et l’immuabilité.In one embodiment, the method uses one or more "smart contracts". Data can be shared on a blockchain to ensure timestamping and immutability.

Dans un mode de réalisation, l’utilisation que souhaite faire un consommateur des données de plans de vol d’un bloc est gouverné (directement ou indirectement via des règles) par un contrat intelligent.In one embodiment, a consumer's intended use of a block's flight plan data is governed (directly or indirectly via rules) by a smart contract.

Dans un mode de réalisation, toutes les données des blocs sont écrites en clair (e.g. les droits d’accès sont protégés). Dans un mode de réalisation, une partie des données sont écrites en clair (certaines informations sont lisibles par tout le monde, d’autres informations à plus haute valeur ajoutée sont protégées par exemple par chiffrement). Dans un mode de réalisation, les données des blocs sont chiffrées (e.g. symétrique, asymétrique, etc). Dans certains cas les données des blocs sont masquées en plus d’être chiffrées (l’existence des données est cachée, ce qui fournit une protection supplémentaire).In one embodiment, all block data is written in clear (e.g. access rights are protected). In one embodiment, part of the data is written in clear (some information is readable by everyone, other information with higher added value is protected for example by encryption). In one embodiment, the block data is encrypted (e.g. symmetric, asymmetric, etc). In some cases the block data is obfuscated in addition to being encrypted (the existence of the data is obfuscated, which provides additional protection).

Dans un mode de réalisation, les données sont stockées dans une ou plusieurs bases de données partagées, chiffrées en tout ou partie, après vérification de leur intégrité et de l’authenticité du producteur.In one embodiment, the data is stored in one or more shared databases, encrypted in whole or in part, after verification of their integrity and the authenticity of the producer.

Dans un mode de réalisation, la validation des données produites est effectuée par consensus distribué (e.g. utilisation validée avec un score de « pertinence » par plusieurs consommateurs, mesure et suivi du taux d’utilisation, etc) et/ou par validation d’un pair participant à la chaîne de blocs reconnu comme fiable dans la chaîne (qualification technique ou de nature administrative).In one embodiment, the validation of the data produced is carried out by distributed consensus (e.g. use validated with a "relevance" score by several consumers, measurement and monitoring of the rate of use, etc.) and/or by validation of a peer participating in the blockchain recognized as reliable in the chain (technical or administrative qualification).

Dans un mode de réalisation, quelques informations (comme le format et/ou le résumé du contenu du bloc chiffré sont laissées en clair dans un espace de stockage (dans la chaîne ou en dehors de la chaîne), afin qu’un consommateur intéressé puisse savoir si le bloc l’intéresse ou non.In one embodiment, some information (such as the format and/or summary of the encrypted block's contents is left unencrypted in a storage space (on-chain or off-chain), so that an interested consumer can know if the block interests him or not.

Dans certains modes de réalisation, les droits sur les données de blocs peuvent être conditionnels à des critères de contribution (notamment de ratio téléversement/téléchargement en anglais « upload/download » ou « seed/leech »).In certain embodiments, the rights to the block data may be conditional on contribution criteria (in particular the upload/download ratio in English “upload/download” or “seed/leech”).

Dans un mode de réalisation, l’accès aux données ou les droits sur ces données peuvent être régis de manière conditionnelle (par exemple si le solde d’un client ou demandeur ou Value Score est positif).In one embodiment, access to or rights to data may be conditionally governed (e.g., if a customer or applicant's balance or Value Score is positive).

Le cas échéant, si l’accès conditionnel est accordé (ou si les conditions prédéfinies sont satisfaites), le contrat intelligent exécuté peut émettre une transaction ou demande de récupération des données, laquelle transaction s’insèrera (parmi plusieurs autres) dans un nouveau bloc. Si le consensus distribué confirme le bloc comprenant la transaction, une clef de chiffrement permettant la lecture des données souhaitée peut être envoyée au client ; qui pourra lire et exploiter les données désirées.Optionally, if conditional access is granted (or if pre-defined conditions are met), the executed smart contract can issue a data retrieval transaction or request, which transaction will insert itself (among several others) into a new block . If the distributed consensus confirms the block comprising the transaction, an encryption key allowing the reading of the desired data can be sent to the client; who will be able to read and exploit the desired data.

Dans un mode de réalisation, une pluralité d’acteurs partagent des données, e.g. de plans de vols, et stockent les valeurs de hash des données, ainsi que des informations relatives au format des données, dans une ou plusieurs chaînes de blocs. Après réalisation d’une transaction, un ou plusieurs contrats intelligents vérifient le « score » de valeur du demandeur, lui indiquent la position des données dans la base de données partagée, ainsi que les clefs de déchiffrement des données.In one embodiment, a plurality of actors share data, e.g. flight plans, and store the hash values of the data, as well as information about the format of the data, in one or more blockchains. After completing a transaction, one or more smart contracts verify the requester's value "score", indicate to him the position of the data in the shared database, as well as the data decryption keys.

Dans un mode de réalisation, il n’y a pas de contrats intelligents (modèle direct). En effet, dans cette variante de réalisation, les producteurs et/ou consommateurs peuvent se passer de contrats intelligents, par lecture et/ou écriture (directe) dans la chaîne de blocs. Par exemple, un premier acteur peut recevoir une demande de vol ou d’attestation de vol de la part d’un consommateur et si la transaction aboutit (consensus distribué), il peut la communiquer directement audit acteur.In one embodiment, there are no smart contracts (direct model). Indeed, in this alternative embodiment, producers and/or consumers can do without smart contracts, by reading and/or writing (directly) in the blockchain. For example, a first actor can receive a request for theft or a theft certificate from a consumer and if the transaction is successful (distributed consensus), he can communicate it directly to said actor.

Dans un mode de réalisation, la chaîne de blocs ne contient pas les données de plans de vol en en elles-mêmes mais seulement la description qui est faite de ces données (les données sont stockées dans des chaines secondaires ou une base de données centraliséeoff-chain). Ce mode de réalisation est avantageux en ce que les données répliquées dans la chaîne de blocs principale sont significativement moins volumineuses.In one embodiment, the chain of blocks does not contain the flight plan data in itself but only the description that is made of this data (the data is stored in secondary chains or a centralized database off -chain ). This embodiment is advantageous in that the data replicated in the main blockchain is significantly less bulky.

Dans un mode de réalisation, par abonnement ou «agrément de pair-à-pair», un aéronef ou drone peut, par exemple tour à tour, publier de l’information à destination des autres membres du réseau ou bien « s’abonner » (en anglais « subscribe ») au réseau, par exemple via un contrat intelligent, et recevoir les informations le concernant de manière automatique. Par exemple, un avion peut partager ses informations de plan de vol, de manière sûre et intègre, avec d’autres aéronefs (appartenant à d’autres compagnies aériennes, précisément). Les modes d’abonnement peuvent comprendre des modespushet/oupull, de désinscription, etc. Dans certains modes de réalisation, chaque aéronef est en mesure de déterminer des intersections ou risques de collision: le trafic s’autorégule. Certains appareils ne disposant pas de moyens de calculs suffisants peuvent émettre des signaux avertissant de leur défaut ou absence de vérification temporaire ou permanente.In one embodiment, by subscription or "peer-to-peer approval", an aircraft or drone can, for example, alternately, publish information intended for other members of the network or even "subscribe" (in English “subscribe”) to the network, for example via a smart contract, and receive information about it automatically. For example, an aircraft can share its flight plan information, securely and with integrity, with other aircraft (belonging to other airlines, precisely). Subscription modes may include push and/or pull modes, unsubscribe, etc. In certain embodiments, each aircraft is able to determine intersections or risks of collision: the traffic regulates itself. Some devices that do not have sufficient means of calculation can emit signals warning of their defect or lack of temporary or permanent verification.

Dans un mode de réalisation, un contrat intelligent peut lire des données de blocs en clair et déclencher une ou plusieurs opérations, par exemple si le client ou demandeur ou consommateur est valablement abonné au type de données du bloc considéré ou si des conditions prédéfinies sont satisfaites.In one embodiment, a smart contract can read block data in the clear and trigger one or more operations, for example if the client or requestor or consumer is validly subscribed to the data type of the block in question or if predefined conditions are met. .

Dans un mode de réalisation, un intermédiaire est ajouté (validation externe): un validateur de données (non représenté), typiquement un calculateur de l’autorité de la régulation du trafic aérien. Dans une première étape, de production, une source décide de publier des données dans la chaîne de blocs (directement ou indirectement via la base). Les données sont envoyés avec un identifiant (qui permet d’identifier la source d’envoi des données) et un résumé du contenu (e.g. paramètres, unités, quantité, format, etc) ainsi que la date des données (e.g. création, validité, etc) Cet ensemble forme un « bloc » à valider. Le sous-système de validation reçoit les données. La validation est effectuée soit consensus ou par un « validateur» externe et « de confiance » : d’autres fournisseurs ou utilisateurs vérifient l’intégrité des données (et en option l’authenticité de l’émetteur). Ceci peut donner lieu à rétribution (en VS) pour le ou les nœuds ayant participé à la validation. Ce peut être le consommateur qui vérifie l’intégrité du bloc (hash). Dans un mode de réalisation, le consommateur peut « noter » (unilatéralement) l’attractivité du bloc reçu (son intérêt estimé pour et par lui-même). Dans un mode de réalisation, la note est donnée par le consommateur. Dans un mode de réalisation, la note est calculée par comptage du nombre de téléchargements du jeu de données considéré et/ou par le nombre de consommateurs intéressés ou acheteurs/licenciés effectifs. Si les données sont déclarées comme étant invalides alors la chaîne de blocs est mise à jour avec une baisse du VS_PROD d’un certain montant pour le producteur, et une augmentation du VS_PROD pour celui qui a détecté l’anomalie. Dans un mode de réalisation, si les données sont considérées comme valides/intègres alors un nouveau bloc est créé, qui contiendra le lien vers les données (e.g. adresses, clefs), et une augmentation de VS_PROD d’un certain montant pour le nœud ou la partie de validation.In one embodiment, an intermediary is added (external validation): a data validator (not shown), typically a computer from the air traffic regulation authority. In a first stage, production, a source decides to publish data in the chain of blocks (directly or indirectly via the base). The data is sent with an identifier (which identifies the source of sending the data) and a summary of the content (e.g. parameters, units, quantity, format, etc.) as well as the date of the data (e.g. creation, validity, etc) This set forms a “block” to be validated. The validation subsystem receives the data. Validation is carried out either by consensus or by an external and “trusted” “validator”: other providers or users verify the integrity of the data (and optionally the authenticity of the issuer). This may give rise to compensation (in VS) for the node(s) that participated in the validation. It can be the consumer who verifies the integrity of the block (hash). In one embodiment, the consumer can “rate” (unilaterally) the attractiveness of the block received (its estimated interest for and by itself). In one embodiment, the score is given by the consumer. In one embodiment, the score is calculated by counting the number of downloads of the data set considered and/or by the number of interested consumers or effective purchasers/licensees. If the data is declared invalid then the blockchain is updated with a decrease in VS_PROD by a certain amount for the producer, and an increase in VS_PROD for the one who detected the anomaly. In one embodiment, if the data is considered valid/integrated then a new block is created, which will contain the link to the data (e.g. addresses, keys), and an increase in VS_PROD of a certain amount for the node or the validation part.

Dans certains modes de réalisation, le tiers validateur est «internalisé» : les vérifications sont effectuées directement et automatiquement par un ou plusieurs contrats intelligents. A chaque nouvelle entrée dans la base (et tentative d’écriture de bloc), un ou plusieurs contrats intelligents peuvent exécuter diverses tâches, notamment a) vérifier si le producteur est déclaré (s’il s’agit d’une partie au consortium ou chaîne de blocs) ; b) modifier le score VS de la source c) noter ou évaluer les données entrées (directement ou indirectement) ; éventuellement d) effectuer directement des vérifications fonctionnelles sur les données (par exemple, des données issues d’un aéronef de modèle X peuvent être corrélées/croisées avec d’autres sources d’informations sur l’aéronef (e.g. sources publiques ou privées de la compagnie, du contrôle aérien) émises en temps réel et correspondant à l’état de l’aéronef (e.g. heure de décollage, statut courant e.g. en vol, au sol, en croisière, position courante …); en particulier, la séquence des vérifications du quadruplet opérateur/plan de vol/avion/pilote peut être mise en œuvre par un ou plusieurs contrats intelligents.In some embodiments, the third-party validator is "internalized": verifications are performed directly and automatically by one or more smart contracts. With each new entry into the database (and attempt to write a block), one or more smart contracts can perform various tasks, including a) checking if the producer is declared (if it is a party to the consortium or blockchain); b) modify the VS score of the source c) score or evaluate the data entered (directly or indirectly); possibly d) perform functional checks directly on the data (for example, data from a model X aircraft can be correlated/cross-referenced with other sources of information on the aircraft (e.g. public or private sources of the company, air traffic control) issued in real time and corresponding to the state of the aircraft (e.g. take-off time, current status e.g. in flight, on the ground, in cruise, current position, etc.); in particular, the sequence of checks of the operator/flight plan/aircraft/pilot quadruple can be implemented by one or more smart contracts.

Dans la perspective de la consommation de données, un consommateur peut s’abonner ou se déclarer intéressé pour récupérer des données (e.g. ordre de transaction directement sur la chaîne de blocs ou via un ou un contrat intelligent). Le contrat intelligent concerné peut vérifier si le demandeur a le solde suffisant (VS) pour télécharger les données. Dans une variante de réalisation, le bloc acheté est mis à disposition d’un ou de plusieurs validateurs humains et/ou machines qui effectuent cette vérification. Si la transaction est valide, le jeu de données (par exemple chiffré) est transmis au demandeur, qui peut par exemple avoir la possibilité de vérifier son intégrité (valeur de hash récupérée dans la chaîne de blocs). Si le jeu de données est déterminé ou réputé valide, des clefs de déchiffrement (stockées dans la chaîne de blocs) sont récupérées par le contrat intelligent et transmises au demandeur. La transaction est ensuite inscrite dans la chaîne de blocs par le contrat intelligent. Dans un mode de réalisation, des mécanismes de compensation et/ou d’évaluation et/ou de rétribution et/ou de validation peut être mis en œuvre si les données sont déterminées comme étant valides (mécanisme de notation et/ou de réputation pour identifier ou rétribuer les émetteurs de données les plus « utiles » (notion relative à une ou plusieurs objectifs pouvant être objectivés et internalisés). Le demandeur i.e. initiateur de la transaction peut par exemple importer les données obtenues et les croiser ou intégrer à des données existantes dans le but d’effectuer un traitement de type « Big Data » par des techniques d’Intelligence artificielles (notamment d’apprentissage automatique).From the perspective of data consumption, a consumer can subscribe or declare an interest in retrieving data (e.g. transaction order directly on the blockchain or via a smart contract). The relevant smart contract can check whether the requestor has the sufficient balance (Sv) to download the data. In a variant embodiment, the purchased block is made available to one or more human and/or machine validators who carry out this verification. If the transaction is valid, the data set (for example encrypted) is transmitted to the requester, who may for example have the possibility of verifying its integrity (hash value retrieved from the blockchain). If the dataset is determined or deemed valid, decryption keys (stored in the blockchain) are retrieved by the smart contract and transmitted to the requestor. The transaction is then written into the blockchain by the smart contract. In one embodiment, compensation and/or evaluation and/or retribution and/or validation mechanisms can be implemented if the data is determined to be valid (rating and/or reputation mechanism to identify or reward the most "useful" data issuers (concept relating to one or more objectives that can be objectified and internalized). The applicant, i.e. initiator of the transaction, can for example import the data obtained and cross-check or integrate them with existing data in the purpose of carrying out “Big Data” type processing using artificial intelligence techniques (in particular automatic learning).

La illustre des exemples d’étapes d’un mode de réalisation selon l’invention.There illustrates examples of steps of an embodiment according to the invention.

Dans un mode de réalisation, les parties à la chaîne de blocs comprennent une ou plusieurs compagnies aériennes et un ou plusieurs aéronefs.In one embodiment, the blockchain parties include one or more airlines and one or more aircraft.

Les compagnies aériennes peuvent être en charge de i) définir pour chaque avion une ou des configurations avioniques stockées dans la chaîne de blocs et/ou ii) d’ajouter des conditions de validité (en temps et/ou en espace) à chaque configuration avionAirlines can be in charge of i) defining for each aircraft one or more avionic configurations stored in the blockchain and/or ii) adding validity conditions (in time and/or space) to each aircraft configuration

Les aéronefs comprennent un système de maintenance embarquée lequel peut être en charge de i) publier périodiquement, et donc d’horodater, sur la chaîne de blocs l’état de sa configuration avion; ii) de récupérer auprès de la chaîne de blocs, la configuration attendue par la compagnie aérienne (en accord avec les conditions de validité) et iii) d’effectuer les mises à jours automatiquement si besoin (incluant la publication de la nouvelle configuration avion sur la chaîne de blocs)Aircraft include an on-board maintenance system which can be responsible for i) periodically publishing, and therefore timestamping, the status of its aircraft configuration on the blockchain; ii) to retrieve from the blockchain, the configuration expected by the airline (in accordance with the conditions of validity) and iii) to carry out the updates automatically if necessary (including the publication of the new aircraft configuration on blockchain)

Dans un mode de réalisation, ces configurations avion pourront se matérialiser par l’entremise d’un ou de plusieurs contrats intelligents.In one embodiment, these aircraft configurations may materialize through one or more smart contracts.

En particulier, à fin d’assurer la confidentialité des paquets DB et/ou SW, ces derniers pourront être publiés sur la chaîne de blocs de manière chiffrée, par exemple avec la clef publique de l’avion auquel ils sont destinés. Ainsi, suite au téléchargement du paquet DB et/ou SW depuis la chaîne de blocs, le système de maintenance embarquée pourra le déchiffrer en utilisant la clé privée de l’avion à sa disposition.In particular, in order to ensure the confidentiality of the DB and/or SW packets, the latter may be published on the blockchain in an encrypted manner, for example with the public key of the aircraft for which they are intended. Thus, following the download of the DB and/or SW packet from the blockchain, the on-board maintenance system will be able to decrypt it using the private key of the aircraft at its disposal.

Le système de maintenance embarqué peut être hébergé dans un calculateur du monde ouvert connecté à l’avionique, ou bien directement être hébergé dans le monde avionique. Le système de maintenance à un accès direct ou indirect (via une passerelle sécurisée) au réseau de la chaîne de blocs.The onboard maintenance system can be hosted in an open world computer connected to the avionics, or directly be hosted in the avionics world. The maintenance system has direct or indirect (via a secure gateway) access to the blockchain network.

Comme dans toute chaîne de blocs, l’identité d’une partie est vérifiée à travers le fait elle possède une clé privée, celle-ci devra donc être implantée et stockée de façon sécurisée dans le système de maintenance de l’avion.As in any blockchain, the identity of a party is verified through the fact that it has a private key, which must therefore be implemented and stored securely in the aircraft maintenance system.

Dans un mode de réalisation, une chaîne de blocs est une chaîne de blocs privée, i.e. pour laquelle le mécanisme de consensus est géré par un nombre restreint de nœuds connus. Ces nœuds connus peuvent être administrés par un groupe ou consortium en charge de la gestion de cette chaîne de blocs.In one embodiment, a blockchain is a private blockchain, i.e. for which the consensus mechanism is managed by a limited number of known nodes. These known nodes can be administered by a group or consortium in charge of managing this blockchain.

Dans un mode de réalisation, les mécanismes de consensus mis en œuvre par ces nœuds seront des mécanismes légers et classiques de type Paxos, RAFT ou algorithme BFT. Les validations par preuve de travail ne sont en effet pas pertinentes pour une chaîne de blocs privés dont les nœuds sont connus et sûrs.In one embodiment, the consensus mechanisms implemented by these nodes will be light and classic mechanisms of the Paxos, RAFT or BFT algorithm type. Proof of work validations are indeed not relevant for a private blockchain whose nodes are known and safe.

Dans un mode de réalisation spécifique (gestion élargie du trafic aérien, notamment ou drone), la chaîne de blocs utilisés peut être de type public et des épreuves d’admission par validation de preuve de travail peuvent être mises en place. Certaines adaptations peuvent être mises en œuvre (e.g. limitations quant au nombre de transactions, limitation du volume de données échangées etc.In a specific embodiment (expanded management of air traffic, in particular or drone), the chain of blocks used can be of the public type and admission tests by validation of proof of work can be put in place. Some adaptations can be implemented (e.g. limitations on the number of transactions, limitation on the volume of data exchanged, etc.

Dans un mode de réalisation, une paire de clefs est générée pour chaque compagnie aérienne (comprenant une clé publique et une clef privée). La clé privée est conservée par la compagnie aérienne et sert à signer les packages (confer étape 220). La clé publique est l’identifiant de la compagnie sur la chaîne de blocs (à travers sa valeur de hachage).In one embodiment, a pair of keys is generated for each airline (comprising a public key and a private key). The private key is kept by the airline and is used to sign the packages (see step 220). The public key is the identifier of the company on the blockchain (through its hash value).

Dans un mode de réalisation, une paire de clefs est générée pour chaque avion ou aéronef. La clé privée est conservée par le système de maintenance embarquée (dans un module informatique de confiance e.g. un TPM, par exemple). La clef publique est l’identifiant de l’avion ou de l’aéronef sur la chaîne de blocs (à travers sa valeur de hachage).In one embodiment, a key pair is generated for each plane or aircraft. The private key is kept by the on-board maintenance system (in a trusted computer module, e.g. a TPM, for example). The public key is the identifier of the plane or aircraft on the blockchain (through its hash value).

Dans un mode de réalisation, un registre distribué sera maintenu à jour, afin d’associer à chaque avion à la compagnie aérienne qui l’administre (dit autrement il existe une table d’association entre l’identifiant avion et l’identifiant compagnie)In one embodiment, a distributed register will be kept up to date, in order to associate each aircraft with the airline that administers it (in other words, there is an association table between the aircraft identifier and the airline identifier)

Ce registre permet au système avion de savoir quelle est l’adresse dans la chaîne de blocs qui dispose du droit de lui les logiciels et/ou bases de données chargeables. dans un mode de réalisation, l’administration de ce registre se fait via un ou plusieurs contrats intelligents.This register allows the aircraft system to know which address in the chain of blocks has the right to load software and/or databases. in one embodiment, the administration of this register is done via one or more smart contracts.

Dans un mode de réalisation, un contrat intelligent permet notamment à une compagnie d’ajouter un nouvel identifiant avion (qui sera associé à son identifiant compagnie) et un contrat qui fait intervenir deux compagnies (signés par les deux compagnies) permettant le transfert de la gestion d’un avion.In one embodiment, a smart contract notably allows a company to add a new aircraft identifier (which will be associated with its company identifier) and a contract involving two companies (signed by both companies) allowing the transfer of the aircraft management.

Dans une variante de réalisation, le registre distribué peut être remplacé par la contraire imposée aux compagnies de stocker l’identifiant de la compagnie aérienne dans le système de maintenance embarqué.In an alternative embodiment, the distributed register can be replaced by the opposite imposed on the companies to store the identifier of the airline in the on-board maintenance system.

Dans un mode de réalisation, un aéronef connaît la signature de sa compagnie, à fin de n’accepter que les ordres (ou commandes ou instructions) de téléchargement, téléversement ou d’installation (d’un ou de plusieurs logiciels et/ou de bases de données).In one embodiment, an aircraft knows the signature of its company, in order to only accept orders (or commands or instructions) for downloading, uploading or installing (of one or more software and/or data base).

Dans un mode de réalisation, le procédé de mise à jour d’un aéronef comprend les étapes consistant à:In one embodiment, the method for updating an aircraft includes the steps of:

A l’étape 210, une compagnie aérienne parmi plusieurs récupère auprès de son fournisseur de données un ensemble de nouvelles DB et/ou SW à déployer (télécharger et installer). Optionnellement, la compagnie aérienne récupère également une période de validité prédéfinie pour les DB et/ou des consignes de compatibilité pour les DB et/ou SW.At step 210, one of several airlines retrieves from its data provider a set of new DBs and/or SWs to be deployed (downloaded and installed). Optionally, the airline also retrieves a predefined validity period for the DBs and/or compatibility instructions for the DBs and/or SWs.

A l’étape 220, pour un aéronef donné, la compagnie aérienne détermine un paquet de DB et/ou SW à déployer sur ledit aéronef. Ce package est encodé avec la clé publique de l’avion et signé par la compagnie.At step 220, for a given aircraft, the airline determines a DB and/or SW packet to be deployed on said aircraft. This package is encoded with the public key of the aircraft and signed by the company.

A l’étape 230, la compagnie aérienne s’assure de la cohérence de la configuration avion une fois les DB et/ou SW installés (compatibilité avec les DB et SW déjà en place).At step 230, the airline ensures the consistency of the aircraft configuration once the DBs and/or SWs have been installed (compatibility with the DBs and SWs already in place).

A l’étape 240, la compagnie aérienne publie sur la chaîne de blocs le paquet DB et/ou SW accompagné des métadonnées, comprenant une ou plusieurs des données suivantes: conditions d’utilisation et/ou d’installation (e.g. intervalle temporel et/ou en espace concernant la validité de la configuration avion par exemple), identifiant de l’aéronef destinataire, etc. En effet, il peut parfois être souhaitable de déployer (télécharger, installer), la configuration dans l’aéronef considéré que dans des conditions prédéfinies, par exemple dans d’une zone géographique donnée et ou à une période donnée.At step 240, the airline publishes the DB and/or SW packet on the blockchain along with the metadata, including one or more of the following data: conditions of use and/or installation (e.g. time interval and/or or in space concerning the validity of the aircraft configuration for example), identifier of the destination aircraft, etc. Indeed, it may sometimes be desirable to deploy (download, install) the configuration in the aircraft considered only under predefined conditions, for example in a given geographical area and or at a given period.

La publication de données sur la chaîne de blocs peut être effectuée de diverses manières. Dans un mode de réalisation, les données sont publiées en clair dans la chaîne de blocs. Dans un mode de réalisation, les données sont chiffrées puis publiées dans la chaîne de blocs. Dans un mode de réalisation, les données sont associées à un ou plusieurs contrats intelligents hébergés dans et mis en œuvre par la chaîne de blocs. Tout ou partie des données peuvent en effet être exécutables. Dans un mode de réalisation, certaines données peuvent n’être exécutées que par le système de maintenance de l’aéronef considéré (et exclusivement ce système de maintenance). autrement dit, une fois déclenchée, le contrat intelligent permet au système de maintenance de l’aéronef d’accéder aux DB et/ou SW.Publishing data on the blockchain can be done in a variety of ways. In one embodiment, the data is published in the clear in the blockchain. In one embodiment, data is encrypted and then posted to the blockchain. In one embodiment, the data is associated with one or more smart contracts hosted in and implemented by the blockchain. All or part of the data can indeed be executable. In one embodiment, certain data can only be executed by the maintenance system of the aircraft considered (and exclusively this maintenance system). in other words, once triggered, the smart contract allows the aircraft maintenance system to access the DBs and/or SWs.

Dans un mode de réalisation, un système de notification peut être mis en œuvre. Par exemple, en effectuant une transaction prédéfinie (de jetons cryptographique) entre la compagnie aérienne et le système de maintenance de l’avion, il peut être déterminé qu’une action est attendue de la part du système de maintenance embarquée dans l’avion (en l’espèce le téléchargement et l’installation d’un paquet DB et/ou SW).In one embodiment, a notification system may be implemented. For example, by performing a predefined transaction (of cryptographic tokens) between the airline and the aircraft maintenance system, it can be determined that an action is expected from the aircraft on-board maintenance system ( in this case the downloading and installation of a DB and/or SW package).

Dans une variante de réalisation, la compagnie aérienne ne publie dans la chaîne de blocs que les métadonnées et une valeur de hachage du paquet DB et/ou SW. Ledit paquet DB et/ou SW peut être rendu accessible pour le système de maintenance de l’aéronef par d’autres moyens (e.g. serveur centralisé, transfert via des média physiques, etc)In an alternative embodiment, the airline only publishes in the blockchain the metadata and a hash value of the DB and/or SW packet. Said DB and/or SW package can be made accessible to the aircraft maintenance system by other means (e.g. centralized server, transfer via physical media, etc.)

Dans un mode de réalisation, le système de maintenance embarqué procède périodiquement à une ou plusieurs vérifications. Une étape de vérification peut notamment comprendre une étape consistant à vérifier l’existence d’un nouveau paquet DB et/ou SW. Ces vérifications peuvent être périodiques (la période de vérification peut être de l’ordre de la minute). Le cas échéant, si un nouveau paquet DB et/ou SW est disponible, le système de maintenance embarqué le télécharge et le stocke à bord de l’avion.In one embodiment, the onboard maintenance system periodically performs one or more checks. A verification step may in particular comprise a step consisting in verifying the existence of a new DB and/or SW packet. These verifications can be periodic (the verification period can be of the order of a minute). If necessary, if a new DB and/or SW package is available, the on-board maintenance system downloads it and stores it on board the aircraft.

Dans le cas où l’aéronef serait hors connexion, le téléchargement pourra se faire de manière opportuniste (cloud avionique, escale, si l’avion est hors connexion il devra attendre pour récupérer le package, il est de la responsabilité de la compagnie de placer publier les package suffisamment tôt dans la BC pour que le système embarqué au pu le télécharger à temps.If the aircraft is offline, the download can be done opportunistically (avionics cloud, stopover, if the aircraft is offline it will have to wait to retrieve the package, it is the company's responsibility to place publish the packages early enough in the BC so that the embedded system can download it in time.

En se fondant sur les métadonnées associées au paquet, le système de maintenance embarquée peut passer en mode «mise à jour disponible» («update available» en anglais), par exemple des que les conditions définies dans les métadonnées du paquet sont réunies (critères temporels et/ou d’espace). Si les conditions ne sont plus réunis, le système sort du mode «update available» et l’étape 260 est interdite.Based on the metadata associated with the package, the on-board maintenance system can switch to “update available ” mode, for example as soon as the conditions defined in the package metadata are met (criteria temporal and/or spatial). If the conditions are no longer met, the system leaves the “ update available ” mode and step 260 is prohibited.

Dans un mode de réalisation, si le système de maintenance embarqué est en mode «mise à jour disponible » et si l’avion est dans une phase de sa mission compatible avec le téléchargement et/ou l’installation (par exemple avion au sol, phase de vol compatible, connectivité suffisante, etc.), alors une opération ou confirmation manuelle effectué depuis l’aéronef peut déclencher le déploiement du paquet DB et/ou SW dans la suite avionique.In one embodiment, if the onboard maintenance system is in "update available" mode and if the aircraft is in a phase of its mission compatible with the download and/or installation (for example aircraft on the ground, compatible flight phase, sufficient connectivity, etc.), then a manual operation or confirmation performed from the aircraft can trigger the deployment of the DB and/or SW packet in the avionics suite.

Dans un mode de réalisation, un déclenchement manuel i.e. humain peut être nécessaire pour des raisons de sûreté aéronautique. Avantageusement, l’initiative humaine du déclenchement de la mise à jour peut prévenir tout risque de mise à jour intempestive et gênante, voir dangereuse pour les opérations. Dans d’autres modes de réalisation, moyen terme, ce déclenchement peut être entièrement automatique.In one embodiment, manual i.e. human triggering may be required for aviation security reasons. Advantageously, the human initiative of triggering the update can prevent any risk of an untimely and annoying update, even dangerous for operations. In other embodiments, medium term, this triggering can be entirely automatic.

Dans un mode de réalisation manuelle, il est parfois requis d’utiliser des stockages sur support amovible (e.g. carte SD, compact flash, etc.) les manipulations de support se font alors par un opérateur (ou un pilote) dans le cockpit.In a manual embodiment, it is sometimes required to use storage on removable media (e.g. SD card, compact flash, etc.) the handling of the media is then done by an operator (or a pilot) in the cockpit.

Dans un mode de réalisation, une chaîne de blocs peut également être utilisée comme moyen de transfert des paquets DB et/ou SW, notamment entre les fournisseurs de données et les compagnies aériennes. Les fournisseurs de données, le cas échéant peuvent publier sur la chaîne de blocs les nouvelles versions des paquets qu’ils produisent. À travers l’utilisation d’un ou de plusieurs contrats intelligents, les compagnies aériennes peuvent récupérer ces paquets et les déployer sur leurs aéronefs. Les avantages de ce mode de réalisation dans lequel la chaîne de blocs sert également au stockage des paquets comprennent une sécurité accrue, dans la mesure où le chiffrement peut s’effectuer de bout en bout. La suppression des intermédiaires peut améliorer la sécurité car tout intermédiaire peut être considéré comme un point de vulnérabilité.In one embodiment, a blockchain can also be used as a means of transferring DB and/or SW packets, especially between data providers and airlines. Data providers, if any, can publish new versions of the packages they produce on the blockchain. Through the use of one or more smart contracts, airlines can retrieve these packages and deploy them to their aircraft. The benefits of this embodiment in which the blockchain is also used for storing packets include increased security, as encryption can be done end-to-end. Removing intermediaries can improve security because any intermediary can be considered a point of vulnerability.

Dans un mode de réalisation, la chaîne de blocs peut prendre en charge la partie transactionnelle des achats de paquets. Une transaction peut comprendre la communication d’un l’objet avec une contrepartie financière.In one embodiment, the blockchain may support the transactional portion of package purchases. A transaction may include the communication of an object with a financial counterparty.

Dans un mode de réalisation, la cohérence des versions de logiciels dans une suite avionique est un problème technique important à gérer pour les services de maintenance des compagnies. Certaines bases de données ne sont compatibles qu’avec certaines versions de logiciels, certaines versions de logiciels sont incompatibles entre elles, etc.In one embodiment, the consistency of the software versions in an avionics suite is an important technical problem to be managed for the maintenance departments of the companies. Some databases are only compatible with certain software versions, certain software versions are incompatible with each other, etc.

Dans un mode de réalisation, les constructeurs ou intégrateurs avioniques peuvent publier sur la chaîne de blocs des contrats intelligents pour la vérification des configurations avion.In one embodiment, avionics manufacturers or integrators can publish smart contracts on the blockchain for verification of aircraft configurations.

Mise en œuvre logicielle et/ou matérielleSoftware and/or hardware implementation

La présente invention peut s’implémenter à partir d’éléments matériels et/ou logiciels. Elle peut être disponible en tant que produit programme d’ordinateur sur un support lisible par ordinateur. L’ordinateur peut être un rack ou une tablette ou un EFB (sac de vol électronique) ou une partie logicielle intégrée dans le FMS (système de gestion de vol), etc. Le support peut être électronique, magnétique, optique, ou électromagnétique.The present invention can be implemented from hardware and/or software elements. It may be available as a computer program product on a computer-readable medium. The computer can be a rack or a tablet or an EFB (electronic flight bag) or a software part integrated in the FMS (flight management system), etc. The medium can be electronic, magnetic, optical, or electromagnetic.

Matériellement, les modes de réalisation de l’invention peuvent être réalisés par ordinateur. Par exemple, une architecture distribuée du type « informatique dans les nuages » (« cloud computing » en anglais). Des serveurs en pair-à-pair, entièrement ou partiellement distribués (existences de centres) peuvent interagir. Une chaîne de blocs repose sur une architecture décentralisée, qui peut être plus ou moins distribuée. Une mise en œuvre par chaîne de blocs ne fait pas obstacle à l’existence d’une ou de plusieurs nœuds privilégiés, quand il s’agit de cloud privé ou de chaîne de blocs privée. Les accès peuvent être multiplateformes (e.g. depuis EFB, WebApp, accès sol, etc).
Dans un mode de réalisation, un aéronef ou drone est équipé d’un module de communication et de partage collaboratif de données issues des calculateurs embarqués dans l’aéronef. Ce module matériel peut être en relation avec divers utilisateurs (consommateurs) et/ou fournisseurs (producteurs) de données. Les équipements avioniques peuvent interagir (communication bilatérale) avec des équipements non-avioniques. Dans certains cas, les communications peuvent être unilatérales (depuis l’avionique vers le non-avionique, mais pas l’inverse, i.e. pour éviter l’injection de données erronées ou malicieuses du monde ouvert vers le monder avionique certifié). Des systèmes de gestion de vol FMS peuvent être mis en réseau entre eux, également avec des EFB.
Physically, the embodiments of the invention can be realized by computer. For example, a distributed architecture of the "cloud computing" type. Peer-to-peer servers, fully or partially distributed (existences of centers) can interact. A blockchain is based on a decentralized architecture, which can be more or less distributed. A blockchain implementation does not preclude the existence of one or more privileged nodes, when it comes to private cloud or private blockchain. Access can be cross-platform (eg from EFB, WebApp, ground access, etc).
In one embodiment, an aircraft or drone is equipped with a module for communication and collaborative sharing of data from computers on board the aircraft. This material module can be in relation with various users (consumers) and/or suppliers (producers) of data. Avionics equipment can interact (bilateral communication) with non-avionics equipment. In some cases, the communications can be unilateral (from the avionics to the non-avionics, but not the reverse, ie to avoid the injection of erroneous or malicious data from the open world to the certified avionics world). FMS flight management systems can be networked with each other, also with EFBs.

Claims (15)

Procédé mis en œuvre par ordinateur pour la mise à jour de logiciels et/ou de bases de données avioniques d’un aéronef, comprenant les étapes consistant à:
- maintenir une ou plusieurs chaînes de blocs privée entre plusieurs compagnies aériennes distinctes, une compagnie administrant un ou plusieurs aéronefs;
- une chaine de blocs comprenant un ou plusieurs contrats intelligents; un contrat intelligent gouvernant la gestion d’une ou de plusieurs mises à jour de logiciels et/ou de bases de données, dites mises à jour; une mise à jour étant associée à des conditions de validité en temps et/ou en espace;
- téléverser et/ou télécharger puis installer une mise à jour dans un système de maintenance embarqué dans un système de gestion de vol desdits un ou plusieurs aéronefs en fonction de règles contenues dans un ou plusieurs desdits contrats intelligents.
A computer-implemented method for updating software and/or avionics databases of an aircraft, comprising the steps of:
- maintain one or more private blockchains between several separate airlines, one company administering one or more aircraft;
- a blockchain comprising one or more smart contracts; a smart contract governing the management of one or more software and/or database updates, called updates; an update being associated with validity conditions in time and/or in space;
- uploading and/or downloading then installing an update in an on-board maintenance system in a flight management system of said one or more aircraft according to rules contained in one or more of said smart contracts.
Procédé selon la revendication 1, l’étape consistant à installer une mise à jour étant déclenchée après validation humaine, par exemple sur ordre du pilote, ladite validation étant déterminée après un ou plusieurs tests biométriques, de défi-réponse et/ou physiologiques.Method according to claim 1, the step consisting in installing an update being triggered after human validation, for example on the order of the pilot, said validation being determined after one or more biometric, challenge-response and/or physiological tests. Procédé selon la revendication 2, l’étape consistant à installer une mise à jour étant effectuée préalablement dans une machine virtuelle isolée du système de maintenance embarqué concerné, un temps minimal de mise en quarantaine étant mis en œuvre avant l’installation effective.Method according to claim 2, the step consisting in installing an update being carried out beforehand in a virtual machine isolated from the on-board maintenance system concerned, a minimum quarantine time being implemented before the actual installation. Procédé selon la revendication 1, un ou plusieurs contrats intelligents implémentant des tests logiques portant sur l’intégrité des mises à jour et/ou la cohérence de la mise en œuvre des mises à jour de données, notamment des vérifications de la validité des configurations-avions, une configuration-avion comprenant des combinaisons préalablement autorisées de logiciels et/ou de bases de données.Method according to claim 1, one or more smart contracts implementing logical tests relating to the integrity of the updates and/or the consistency of the implementation of the data updates, in particular verifications of the validity of the configurations- aircraft, an aircraft configuration comprising previously authorized combinations of software and/or databases. Procédé selon la revendication 1, les mises à jour de logiciels et/ou de bases de données avioniques étant stockées et/ou transmises de manière chiffrée, le chiffrement étant de type post-quantum.Method according to claim 1, the updates of software and/or avionics databases being stored and/or transmitted in an encrypted manner, the encryption being of the post-quantum type. Procédé selon l’une quelconque des revendications précédentes, l’intégralité du code avionique étant stocké et rendu accessible via lesdites une ou plusieurs chaines de blocs.Method according to any one of the preceding claims, the entire avionics code being stored and made accessible via said one or more chains of blocks. Procédé selon l’une quelconque des revendications précédentes, des requêtes de téléversement et/ou de téléchargement s’effectuant via des publications de l’état des configurations avion et/ou par des abonnements automatiques, par les aéronefs ou les compagnies aériennes, à des types de mises à jour prédéfinis.Method according to any one of the preceding claims, upload and/or download requests being made via publications of the state of the aircraft configurations and/or by automatic subscriptions, by the aircraft or the airlines, to predefined update types. Procédé selon l’une quelconque des revendications précédentes, un contrat intelligent comprenant du code lisible en clair et une partie de code sous forme chiffrée.A method according to any preceding claim, a smart contract comprising plain-readable code and a code portion in encrypted form. Procédé selon l’une quelconque des revendications précédentes, les mises à jour de logiciels et/ou de bases de données avioniques étant stockées dans une base de données centralisée.Method according to any one of the preceding claims, the updates of software and/or avionics databases being stored in a centralized database. Procédé selon l’une quelconque des revendications précédentes, les mises à jour de logiciels et/ou de bases de données avioniques étant échangées de pair à pair entre aéronefs, éventuellement de compagnies aériennes distinctes.Method according to any one of the preceding claims, the updates of software and/or avionics databases being exchanged peer-to-peer between aircraft, possibly from different airlines. Procédé selon l’une quelconque des revendications précédentes, un téléchargement et/ou un téléversement de mise à jour étant associée à une transaction avec une contrepartie de type jeton cryptographique.A method according to any preceding claim, wherein an update download and/or upload is associated with a transaction with a cryptographic token type counterpart. Procédé selon l’une quelconque des revendications précédentes, le chiffrement étant asymétrique, une clef publique étant associée à l’identifiant d’un aéronef et une clef privée étant associé au système de maintenance embarquée dudit aéronef.Method according to any one of the preceding claims, the encryption being asymmetric, a public key being associated with the identifier of an aircraft and a private key being associated with the on-board maintenance system of said aircraft. Procédé selon l’une quelconque des revendications précédentes, un contrat intelligent étant multipartite à N parties, les parties comprenant un ou plusieurs parties parmi un fournisseur de données, une compagnie aérienne et une autorité de la régulation aérienne.A method according to any preceding claim, a smart contract being N-party multi-party, the parties comprising one or more of a data provider, an airline and an airline regulatory authority. Un produit programme d’ordinateur, ledit programme d’ordinateur comprenant des instructions de code permettant d’effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 13, lorsque ledit programme est exécuté sur un ordinateur.A computer program product, said computer program comprising code instructions for carrying out the steps of the method according to any one of claims 1 to 13, when said program is executed on a computer. Système pour la gestion du trafic aérien comprenant des moyens pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 13System for the management of air traffic comprising means for implementing the steps of the method according to any one of Claims 1 to 13
FR2001864A 2020-02-27 2020-02-27 AVIONICS SOFTWARE AND DATABASE UPDATES Active FR3107777B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2001864A FR3107777B1 (en) 2020-02-27 2020-02-27 AVIONICS SOFTWARE AND DATABASE UPDATES

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2001864 2020-02-27
FR2001864A FR3107777B1 (en) 2020-02-27 2020-02-27 AVIONICS SOFTWARE AND DATABASE UPDATES

Publications (2)

Publication Number Publication Date
FR3107777A1 true FR3107777A1 (en) 2021-09-03
FR3107777B1 FR3107777B1 (en) 2022-12-23

Family

ID=72178615

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2001864A Active FR3107777B1 (en) 2020-02-27 2020-02-27 AVIONICS SOFTWARE AND DATABASE UPDATES

Country Status (1)

Country Link
FR (1) FR3107777B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023220588A1 (en) * 2022-05-09 2023-11-16 Astronautics Corporation Of America Systems for and methods of a using a secure dataloader
CN117372019A (en) * 2023-12-01 2024-01-09 青岛民航凯亚系统集成有限公司 Civil aviation airport settlement system and method based on blockchain platform alliance chain

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190384587A1 (en) * 2018-06-14 2019-12-19 Honeywell International Inc. System and method for installing loadable software airplane parts (lsap) of a set of certified orchestrated procedures using a blockchain network

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190384587A1 (en) * 2018-06-14 2019-12-19 Honeywell International Inc. System and method for installing loadable software airplane parts (lsap) of a set of certified orchestrated procedures using a blockchain network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023220588A1 (en) * 2022-05-09 2023-11-16 Astronautics Corporation Of America Systems for and methods of a using a secure dataloader
CN117372019A (en) * 2023-12-01 2024-01-09 青岛民航凯亚系统集成有限公司 Civil aviation airport settlement system and method based on blockchain platform alliance chain
CN117372019B (en) * 2023-12-01 2024-03-12 青岛民航凯亚系统集成有限公司 Civil aviation airport settlement system and method based on blockchain platform alliance chain

Also Published As

Publication number Publication date
FR3107777B1 (en) 2022-12-23

Similar Documents

Publication Publication Date Title
EP3712798B1 (en) Distributed registers for managing the life cycle of data in aeronautics
EP3671598A1 (en) Distributed registers for data sharing in aviation
US10380812B2 (en) Vehicle transaction validation
Baird et al. Hedera: A public hashgraph network & governing council
CA3071976C (en) Distributed ledger interaction systems and methods
CN110458699B (en) Identity and origin of distributed account book-based supply chain applications for financial containment and sustainability
Raval Decentralized applications: harnessing Bitcoin's blockchain technology
US10611474B2 (en) Unmanned aerial vehicle data management
Pasdar et al. Connect api with blockchain: A survey on blockchain oracle implementation
TWI726762B (en) System, method, device and non-transitory computer-readable storage medium for digital asset management
WO2021052853A1 (en) Management of flight plans by distributed registers
WO2016120826A2 (en) Systems and methods for managing networked commitments of secure entities
CN111213173B (en) System and method for controlling restrictions on digital assets
US20220044316A1 (en) Blockchain implemented transfer of multi-asset digital wallets
WO2011020954A2 (en) Software component and device for the automated processing of multi-usage data, implementing functions requiring various levels of security or limits of responsibility
FR3107777A1 (en) AVIONICS SOFTWARE AND DATABASE UPDATES
US20230185996A1 (en) Framework for blockchain development
US20230325814A1 (en) Systems and Methods for Instant NFTs and Protection Structure, Detection of Malicious Code within Blockchain Smart Contracts, Tokens with Transfer Limitations, Mirror Tokens and Parallel Addresses, Smart Contract Risk Scoring Method, and Cross-Device Digital Rights Management
US20220036323A1 (en) Electronic wallet allowing virtual currency expiration date
CN117716379A (en) Software architecture for efficient blockchain transactions
Abbasi et al. Industrial data monetization: A blockchain-based industrial IoT data trading system
US20240062169A1 (en) Nonfungible token path synthesis with social sharing
WO2021089221A1 (en) Method and device for secure management of an image bank for aircraft landing assistance
Rateb Blockchain for the internet of vehicles: A decentralized IoT solution for vehicles communication and payment using ethereum
Mohanty et al. Decentralized autonomous organizations= blockchain+ AI+ IoT

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20210903

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

PLFP Fee payment

Year of fee payment: 5