Procédés d'émission et de réception de données, en particulier pour des échanges sécurisés entre un aéronef et une base au sol, dispositifs associés et aéronef équipé de tels dispositifs Methods of transmitting and receiving data, in particular for secure exchanges between an aircraft and a base on the ground, associated devices and aircraft equipped with such devices
L'invention concerne des procédés d'émission et de réception de données, en particulier en vue d'échanges sécurisés entre un aéronef et une base au sol, des dispositifs correspondants et un aéronef équipé de tels dispositifs.The invention relates to methods for transmitting and receiving data, in particular for secure exchanges between an aircraft and a base on the ground, corresponding devices and an aircraft equipped with such devices.
De tels procédés ont déjà été proposés dans le but d'échanger des messages de différents types représentés par les données transmises, comme décrit par exemple dans la demande de brevet US 2003/0030581.Such methods have already been proposed for the purpose of exchanging messages of different types represented by the transmitted data, as described for example in the patent application US 2003/0030581.
Dans ce cadre, il est prévu de faire subir divers traitements aux données initiales représentant le message à transmettre, avec des objectifs propres à chaque traitement : par exemple, on procède à une compression des données pour limiter la bande passante nécessaire à leur transport, à leur cryptage pour permettre leur confidentialité et à leur authentification pour s'assurer de leur intégrité et de leur origine.In this context, it is planned to carry out various processing initial data representing the message to be transmitted, with objectives specific to each treatment: for example, one proceeds to a compression of the data to limit the bandwidth necessary for their transport, to their encryption to allow confidentiality and authentication to ensure their integrity and origin.
Pour une bonne sûreté de fonctionnement, les algorithmes mettant en œuvre ces traitements (en général des logiciels exécutés par des microprocesseurs au niveau émetteur ou récepteur) doivent être suffisamment robustes (et donc développés et testés avec des contraintes particulièrement fortes) et inclure des mécanismes de détection et de traitement des défauts de fonctionnement, ce qui les rend complexes et d'un coût de développement élevé. Il est donc nécessaire en pratique de choisir pour le traitement des données à échanger des logiciels ayant un niveau de certification élevé. Afin de réduire cette contrainte, et donc notamment de pouvoir alléger le développement des algorithmes utilisés pour le traitement des messages à échanger, sans toutefois compromettre la sûreté de fonctionnement et la sécurisation des échanges, l'invention propose un procédé d'émission de données, caractérisé par les étapes suivantes : - détermination d'un mot d'authentification des données ;For good reliability, the algorithms implementing these processes (generally software executed by microprocessors at the transmitter or receiver level) must be sufficiently robust (and therefore developed and tested with particularly strong constraints) and include detection and treatment of malfunctions, which makes them complex and expensive to develop. It is therefore necessary in practice to choose for the processing of data to exchange software with a high level of certification. In order to reduce this constraint, and therefore in particular to be able to lighten the development of the algorithms used for the processing of the messages to be exchanged, without compromising the operational safety and the security of exchanges, the invention proposes a data transmission method, characterized by the steps of: - determining a data authentication word;
- traitement des données pour obtenir des données traitées, le traitement comprenant une étape de compression ;processing data to obtain processed data, the processing comprising a compression step;
- émission des données traitées sur un canal de transmission.
Le mot d'authentification est ainsi relatif aux données avant traitement, en particulier avant compression, ce qui permet notamment de vérifier, lors de la vérification de l'authentification mise en œuvre à la réception, l'absence d'erreur dans les traitements effectués à l'émission comme à la réception. L'étape de détermination comprend par exemple l'application d'une fonction de hachage aux données ; on utilise ainsi les propriétés mathématiques de fonctions de hachage grâce auxquelles toute modification dans les données implique un changement du résultat, c'est-à-dire du mot d'authentification (ou empreinte). L'application de la fonction de hachage peut en outre utiliser une clé cryptographique, ce qui permet d'améliorer la sécurité du système.- transmission of processed data on a transmission channel. The authentication word is thus relative to the data before processing, in particular before compression, which makes it possible in particular to verify, during the verification of the authentication implemented at the reception, the absence of error in the processing carried out. at the show as at the reception. The determination step includes for example the application of a hash function to the data; the mathematical properties of hash functions are thus used, whereby any modification in the data implies a change in the result, that is to say the authentication word (or fingerprint). The application of the hash function can furthermore use a cryptographic key, which makes it possible to improve the security of the system.
Le traitement mentionné ci-dessus comprend par exemple en outre une étape de cryptage (éventuellement appliquée aux données et au mot d'authentification) et/ou une étape de conversion de mots de 8 bits en mots de 6 bits, ou d'un flux binaire (en anglais "bitstream") en caractères transmissibles.The aforementioned processing further includes, for example, an encryption step (possibly applied to the data and the authentication word) and / or a step of converting words from 8 bits into 6-bit words, or from a stream binary (in English "bitstream") in transmittable characters.
Dans une application particulièrement intéressante, le canal de transmission est un canal d'échange de données entre un aéronef et une base au sol.In a particularly interesting application, the transmission channel is a data exchange channel between an aircraft and a ground base.
De manière corrélative, l'invention propose également un procédé de réception de données, caractérisé par les étapes suivantes :In a correlative manner, the invention also proposes a method for receiving data, characterized by the following steps:
- réception des données sur un canal de transmission ;- receiving data on a transmission channel;
- traitement des données reçues, le traitement comprenant une étape de décompression ;processing of the received data, the processing comprising a decompression step;
- vérification d'une authentification des données traitées. Ainsi, la vérification de l'authentification étant appliquée aux données traitées (en particulier, décompressées), elle permettra notamment de s'assurer de l'exactitude du traitement effectué.- verification of an authentication of the processed data. Thus, the authentication verification being applied to the processed data (in particular, uncompressed), it will in particular ensure the accuracy of the processing performed.
L'étape de vérification comprend par exemple en pratique les étapes suivantes : - calcul d'une empreinte d'une partie au moins des données traitées ;The verification step comprises for example in practice the following steps: - calculation of a fingerprint of at least part of the processed data;
- comparaison de l'empreinte calculée à une empreinte reçue. L'étape de calcul de l'empreinte peut comprendre une étape d'application d'une fonction de hachage à ladite partie de données, de manière correspondante à ce qui a été évoqué à l'émission et avec les mêmes avantages.
L'application de la fonction de hachage peut alors également utiliser une clé cryptographique. L'empreinte reçue est en effet en général dans ce cas le résultat d'une application, à l'émission, de la fonction de hachage à des données à émettre.- comparison of the calculated footprint to a received impression. The step of calculating the imprint may include a step of applying a hash function to said data portion, in a manner corresponding to what was evoked on transmission and with the same advantages. The application of the hash function can then also use a cryptographic key. In this case, the received print is in general the result of an application, on transmission, of the hash function to data to be transmitted.
Le traitement peut comprendre en outre une étape de décryptage et/ou une étape de déconversion de mots de 6 bits en mots de 8 bits, ou de caractères reçus en un flux binaire.The processing may further comprise a decryption step and / or a step of deconversion of 6-bit words into 8-bit words, or characters received in a bit stream.
L'invention propose également un dispositif d'émission de données caractérisé par des moyens de détermination d'un mot d'authentification des données, des moyens de traitement des données pour obtenir des données traitées, les moyens de traitement comprenant des moyens de compression, et des moyens d'émission des données traitées sur un canal de transmission.The invention also proposes a data transmission device characterized by means for determining a data authentication word, data processing means for obtaining processed data, the processing means comprising compression means, and means for transmitting data processed on a transmission channel.
De manière corrélative, l'invention propose un dispositif de réception de données caractérisé par des moyens de réception des données sur un canal de transmission, des moyens de traitement des données reçues, les moyens de traitement comprenant des moyens de décompression, et des moyens de vérification d'une authentification des données traitées.In a correlative manner, the invention proposes a device for receiving data characterized by means for receiving data on a transmission channel, means for processing the data received, the processing means comprising decompression means, and means for receiving data. verification of an authentication of the processed data.
Ces dispositifs peuvent présenter des caractéristiques optionnelles correspondant aux étapes et caractéristiques envisagées ci-dessus pour les procédés d'émission et de réception. Ces dispositifs peuvent équiper par exemple un aéronef.These devices may have optional characteristics corresponding to the steps and characteristics envisaged above for the transmission and reception processes. These devices can equip for example an aircraft.
D'autres caractéristiques et avantages de l'invention apparaîtront mieux à la lecture de la description qui suit, faites en référence aux dessins annexés, dans lesquels :Other features and advantages of the invention will appear better on reading the description which follows, made with reference to the appended drawings, in which:
- la figure 1 représente le contexte général de l'invention ; - la figure 2 représente les étapes principales d'un procédé d'émission de données selon l'invention ;FIG. 1 represents the general context of the invention; FIG. 2 represents the main steps of a data transmission method according to the invention;
- la figure 3 représente les étapes principales d'un procédé de réception des données émises par le procédé de la figure 2.FIG. 3 represents the main steps of a method of receiving the data transmitted by the method of FIG. 2.
La figure 1 représente le contexte général dans lequel est mise en œuvre l'invention.FIG. 1 represents the general context in which the invention is implemented.
Une base au sol B communique avec un aéronef A au moyen d'une liaison qui permet l'échange de données sous forme numérique (c'est-à-dire selon le terme anglais "data HnK1) et qui implique notamment une liaison sol-air CA.
La liaison entre la base au sol B et l'aéronef A peut impliquer en outre d'autres dispositifs et liaisons. Par exemple, en figure 1, la base au sol B communique avec un relais R (également situé au sol T) au moyen d'un réseau de communication terrestre Cγ ; le relais R transmet les informations à destination et en provenance de l'aéronef A par l'intermédiaire d'un satellite S.A ground base B communicates with an aircraft A by means of a link that allows the exchange of data in digital form (that is to say according to the English term "data HnK 1 ) and which notably involves a ground link -air C A. The connection between the ground base B and the aircraft A may also involve other devices and links. For example, in FIG. 1, the ground base B communicates with a relay R (also located on the ground T) by means of a terrestrial communication network Cγ; the relay R transmits the information to and from the aircraft A via a satellite S.
On remarque que l'utilisation d'un relais R est relativement courante du fait que les informations échangées entre la base au sol B et l'aéronef A sont classiquement acheminées par le relais R et le satellite S sous la responsabilité d'un fournisseur de service. En variante, on pourrait prévoir que les informations soient échangées directement entre l'aéronef A et la base au sol B.Note that the use of a relay R is relatively common because the information exchanged between the ground base B and the aircraft A are conventionally routed by the relay R and the satellite S under the responsibility of a supplier of service. As a variant, provision could be made for the information to be exchanged directly between the aircraft A and the ground base B.
Par ailleurs, on pourrait prévoir d'utiliser des communications radios HF ou VHF au lieu de la communication par satellite.On the other hand, one could plan to use HF or VHF radio communications instead of satellite communication.
La figure 2 représente un exemple de procédé d'émission de données qui représentent par exemple un message M sous forme numérique.FIG. 2 represents an example of a data transmission method which represents, for example, a message M in digital form.
Le dispositif émetteur du message M (qui met donc en œuvre les différentes étapes de la figure 2 décrite ci-après) peut être un dispositif de communication de la base au sol B ou un dispositif de communication de l'aéronef A. On considère par exemple que le message M est représenté sous forme binaire par une suite d'octets (ou mot de 8 bits). D'autres types de codage que le codage sur 8 bits sont naturellement envisageables pour le message M.The device transmitting the message M (which therefore implements the different steps of FIG. 2 described below) can be a communication device of the ground base B or a communication device of the aircraft A. It is considered that example that the message M is represented in binary form by a sequence of bytes (or 8-bit word). Other types of coding than 8-bit coding are naturally conceivable for the message M.
Le dispositif émetteur procède alors (par exemple au sein d'un microprocesseur commandé par un logiciel mettant en œuvre les étapes de la figure 2) à la détermination d'un mot d'authentification (ou empreinte) E du messageThe transmitting device then proceeds (for example within a microprocessor controlled by software implementing the steps of FIG. 2) to the determination of an authentication word (or imprint) E of the message
M au moyen d'une fonction de hachage utilisant une clé cryptographique K : l'empreinte E est obtenue par une opération du type E=H (K, M).M by means of a hash function using a cryptographic key K: the footprint E is obtained by an operation of the type E = H (K, M).
On utilise par exemple une fonction de hachage du type SHA2.For example, a hash function of the SHA2 type is used.
L'empreinte E, résultat de l'application de la fonction de hachage au message M, a une longueur prédéterminée, par exemple 256 bits.The footprint E, resulting from the application of the hash function to the message M, has a predetermined length, for example 256 bits.
Les propriétés mathématiques des fonctions de hachage sont telles que toute modification du message M se traduirait par une modification de l'empreinte obtenue par application de la fonction de hachage. Comme décrit dans la suite, la comparaison de l'empreinte E du message M obtenue à l'émission, à l'empreinte
calculée à la réception, permet ainsi de vérifier que le message M n'a pas été altéré, et par conséquent de vérifier son intégrité.The mathematical properties of the hash functions are such that any modification of the message M would result in a modification of the fingerprint obtained by applying the hash function. As described in the following, the comparison of the E-pattern of the message M obtained on transmission, on the print calculated at the reception, thus makes it possible to verify that the message M has not been altered, and consequently to verify its integrity.
Par ailleurs, l'utilisation de la clé cryptographique K, présente aussi bien du côté émetteur que du côté récepteur, permettra comme décrit plus bas au récepteur de vérifier que l'empreinte E a bien été obtenue par un système détenteur de la clé cryptographique K, ce qui permet de vérifier l'origine du message M, et donc de se protéger d'une attaque sur la liaison de communication.Furthermore, the use of the cryptographic key K, present on both the sending and the receiving side, will allow, as described below, the receiver to verify that the imprint E has been obtained by a system holding the cryptographic key K , which makes it possible to check the origin of the message M, and thus to protect itself from an attack on the communication link.
L'empreinte E, jointe au message M comme indiqué dans la suite, permet donc l'authentification de celui-ci. Le dispositif d'émission procède alors au cryptage de l'ensemble formé du message M et de l'empreinte E au cours d'une étape E22, ce qui forme un message crypté D. On utilise par exemple un algorithme de chiffrement du type AES.The footprint E, attached to the message M as indicated in the following, therefore allows the authentication thereof. The transmission device then proceeds to encrypt the set formed by the message M and the print E during a step E22, which forms an encrypted message D. For example, an encryption algorithm of the AES type is used. .
Dans l'exemple décrit ici, l'empreinte E est donc intégrée à l'ensemble du message à transmettre avant l'étape E22 de cryptage. En variante, cette empreinte pourrait toutefois être intégrée pour émission à une étape ultérieure.In the example described here, the footprint E is therefore integrated in the entire message to be transmitted before the encryption step E22. As a variant, this footprint could however be integrated for transmission at a later stage.
Le message crypté D est ensuite compressé en un message compressé F au moyen d'un algorithme de compression, par exemple du type ZLIB (étape E24). Dans l'exemple décrit ici, le dispositif émetteur procède enfin à la conversion du message compressé F en un message G à émettre codé sur 6 bits lors d'une étape E26. Cette étape de conversion permet d'émettre, avec des dispositifs d'émission travaillant sur des mots de 6 bits, le message compressé F initialement codé sur 8 bits. On peut alors procéder lors d'une étape E28 à l'émission du message, représenté par la suite de mots de 6 bits G, à destination du dispositif récepteur.The encrypted message D is then compressed into a compressed message F by means of a compression algorithm, for example of the ZLIB type (step E24). In the example described here, the transmitting device finally proceeds to the conversion of the compressed message F into a message G to be transmitted coded on 6 bits during a step E26. This conversion step makes it possible to transmit, with transmission devices working on 6-bit words, the compressed message F initially coded on 8 bits. One can then proceed during a step E28 to the transmission of the message, represented by the sequence of 6-bit words G, to the receiving device.
La figure 3 représente les étapes principales du procédé de réception du message transmis, qui vise donc à restituer le message initial M à partir des données brutes reçues (référencées G' dans la suite) et qui comprend par conséquent des étapes essentiellement complémentaires de celles du procédé de réception et dans un ordre inverse.FIG. 3 represents the main steps of the method of reception of the transmitted message, which thus aims at restoring the initial message M from the raw data received (referenced G 'in the following) and which therefore comprises steps substantially complementary to those of the receiving process and in reverse order.
Ainsi, on reçoit tout d'abord, au cours d'une étape E30, un message (ou ensemble de données) G' sous forme de mots de 6 bits. En l'absence d'erreur de transmission dans le canal de transmission utilisé (dans l'exemple présenté,
notamment la liaison sol-air CA décrite en figure 1), le message reçu G' est identique au message émis G.Thus, in the course of a step E30, a message (or set of data) G 'in the form of 6-bit words is first received. In the absence of a transmission error in the transmission channel used (in the example presented, notably the ground-air link CA described in FIG. 1), the received message G 'is identical to the message sent G.
Le dispositif récepteur (c'est-à-dire, en général, un microprocesseur du dispositif récepteur agissant sous le contrôle d'un logiciel) procède à la déconversion du message G' formé de mots de 6 bits en un message F' formé de mots de 8 bits (normalement égal au message F évoqué ci-dessus) au cours d'une étape E32.The receiving device (i.e., in general, a microprocessor of the receiving device acting under the control of software) proceeds to deconvert the message G 'formed of 6-bit words into a message F' formed of 8-bit words (normally equal to the message F mentioned above) during a step E32.
Il est alors procédé à une étape E34 de décompression du message F' afin d'obtenir un message crypté D', égal au message crypté D en cas de fonctionnement normal. L'algorithme de décompression utilisé est l'inverse de l'algorithme de compression de l'étape E24 mentionnée ci-dessus.It is then proceeded to a step E34 of decompression of the message F 'in order to obtain an encrypted message D' equal to the encrypted message D in the event of normal operation. The decompression algorithm used is the inverse of the compression algorithm of step E24 mentioned above.
Le dispositif récepteur procède ensuite au décryptage du message crypté D' au cours d'une étape E36, ce qui permet de reconstruire un message M' et une empreinte E', identiques respectivement au message M émis et à l'empreinte E déterminée à l'étape E20 dans les circonstances normales de fonctionnement.The receiving device then proceeds to decrypt the encrypted message D 'during a step E36, which makes it possible to reconstruct a message M' and a print E ', identical respectively to the message M transmitted and to the print E determined in FIG. step E20 under normal operating circumstances.
On remarque à cet égard que chacune des causes suivantes entraîne une sortie du fonctionnement normal et serait donc susceptible d'introduire une différence entre le message M et l'empreinte E à l'émission, et le message M' et l'empreinte E' obtenus à l'étape E36 : - une erreur dans le traitement de ces éléments par le dispositif émetteur, en particulier au cours des algorithmes mis en œuvre dans les étapes E22 à E26 décrites ci-dessus ;It should be noted in this regard that each of the following causes causes an output of normal operation and could therefore introduce a difference between the message M and the print E at the time of transmission, and the message M 'and the print E'. obtained in step E36: an error in the processing of these elements by the transmitting device, in particular during the algorithms implemented in the steps E22 to E26 described above;
- une erreur au cours de la transmission sur le canal de transmission, que celle-ci soit causée par un attaquant qui vise par exemple à modifier le message transmis, ou par un dysfonctionnement du système de transmission ;an error during the transmission on the transmission channel, whether this is caused by an attacker who aims, for example, to modify the transmitted message, or by a malfunction of the transmission system;
- une erreur dans le traitement des données reçues G' au moyen des algorithmes qui viennent d'être décrits et qui sont mis en œuvre au cours des étapes E32 à E36.an error in the processing of the received data G 'by means of the algorithms which have just been described and which are implemented during the steps E32 to E36.
Afin notamment de vérifier l'absence de telles erreurs, et donc notamment le bon déroulement des algorithmes de traitement prévus dans les étapes E22 à E26 et E32 à 36, on procède à la vérification de l'authentification du message reçu M' au moyen de l'empreinte reçue (ou mot d'authentification reçu) E'.In particular, in order to verify the absence of such errors, and therefore in particular the smooth running of the processing algorithms provided for in steps E22 to E26 and E32 to 36, the authentication of the received message M 'is checked by means of the received fingerprint (or authentication word received) E '.
Pour ce faire, le dispositif récepteur procède lors d'une étape E38 au calcul de l'empreinte E" du message reçu M' par application à ce dernier de la
fonction de hachage H utilisée à l'émission en utilisant la clé cryptographique K utilisée à l'émission.To do this, the receiving device proceeds during a step E38 to the calculation of the fingerprint E "of the received message M 'by applying it to the latter. H hash function used on transmission using the cryptographic key K used on transmission.
Si aucune des erreurs précitées n'est survenue (c'est-à-dire en fonctionnement normal), le message M1 est égal au message M ; l'empreinte calculée à la réception E" est donc égale à l'empreinte calculée à l'émission E et par conséquent à l'empreinte reçue E', qui a par hypothèse été traitée et transmise sans erreur.If none of the aforementioned errors has occurred (i.e., in normal operation), the message M 1 is equal to the message M; the footprint calculated at the reception E "is therefore equal to the footprint calculated at the emission E and consequently at the received footprint E ', which has, by hypothesis, been processed and transmitted without error.
C'est pourquoi on vérifie pour authentification à l'étape E40 que l'empreinte reçue E1 est égale à l'empreinte calculée à la réception E" : on considère en cas d'égalité (étape E42) que le message reçu et traité M1 est bien conforme au message M émis par le dispositif émetteur.Therefore, it is verified for authentication in step E40 that the received fingerprint E 1 is equal to the fingerprint calculated at the reception E ": it is considered in case of equality (step E42) that the message received and processed M 1 is in accordance with the message M emitted by the transmitting device.
En revanche, si une erreur est survenue au cours de la transmission ou de l'un des traitements décrits ci-dessus (et du fait des propriétés des fonctions de hachage rappelées plus haut), les égalités mentionnées ci-dessus ne seront plus vérifiées et on procède donc en l'absence d'égalité entre l'empreinte reçue E' et l'empreinte calculée à la réception E" de l'étape E40 à l'étape E44, où l'on considère qu'une erreur est détectée. Dans ce cas, on ne tient par exemple pas compte du message reçu, et on peut éventuellement demander sa réémission par le dispositif émetteur. On remarque également que, grâce à l'utilisation de la clé cryptographique connue seulement des dispositifs autorisés à s'échanger des messages, il est impossible pour un attaquant de fournir au dispositif récepteur une empreinte E' qui serait le résultat de l'application de la fonction de hachage à un message modifié et qui serait seul susceptible de faire authentifier le message modifié par le dispositif récepteur.On the other hand, if an error has occurred during the transmission or one of the processes described above (and because of the properties of the hash functions recalled above), the equalities mentioned above will no longer be verified and this is done in the absence of equality between the received fingerprint E 'and the fingerprint calculated at the reception E "of step E40 to step E44, where it is considered that an error is detected. In this case, for example, the message received is not taken into account, and it is possible to request its retransmission by the transmitting device, and it is also noted that, thanks to the use of the known cryptographic key, only the devices authorized to be exchanged messages, it is impossible for an attacker to provide the receiving device with a fingerprint E 'which would be the result of the application of the hash function to a modified message and which would be the only one likely to authenticate the message m modified by the receiving device.
L'authentification permet ainsi d'assurer l'origine et l'intégrité du message, et par là même de vérifier l'exactitude des traitements effectués après l'authentification à l'émission et avant l'authentification à la réception. Ces traitements ne nécessiteront donc pas un niveau de sûreté maximum ; en pratique, les algorithmes qui mettent en œuvre ces traitements pourront avoir un niveau de certification inférieur à celui demandé pour l'ensemble du procédé, la certification étant alors assurée par l'algorithme d'authentification.Authentication thus makes it possible to ensure the origin and the integrity of the message, and thereby to verify the accuracy of the processing carried out after the authentication on transmission and before the authentication on reception. These treatments will therefore not require a maximum level of safety; in practice, the algorithms that implement these processes may have a certification level lower than that required for the entire process, the certification being then provided by the authentication algorithm.
L'exemple qui vient d'être décrit ne représente qu'un mode possible de mise en œuvre de l'invention. En particulier, l'exemple décrit utilise un mécanisme
d'authentification au moyen d'une clé symétrique K, mais on pourrait en variante envisager d'utiliser d'autres mécanismes d'authentification, par exemple des systèmes à clé privée et clé publique. De même, d'autres types de fonction que la fonction de hachage, donnée à titre d'exemple non limitatif, peuvent être utilisés pour fournir le mécanisme d'authentification.
The example which has just been described represents only one possible embodiment of the invention. In particular, the example described uses a mechanism authentication using a symmetric key K, but one could alternatively consider using other authentication mechanisms, for example private key systems and public key. Similarly, other types of function than the hash function, given by way of non-limiting example, can be used to provide the authentication mechanism.