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. 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. 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. Pour une bonne sûreté de fonctionnement, les algorithmes mettant en oeuvre 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é. II 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 ; traitement des données pour obtenir des données traitées ; - émission des données traitées sur un canal de transmission. Le mot d'authentification est ainsi relatif aux données avant traitement, ce qui permet notamment de vérifier, lors de la vérification de l'authentification mise en oeuvre à 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é 5 cryptographique, ce qui permet d'améliorer la sécurité du système. Le traitement mentionné ci-dessus comprend par exemple une étape de cryptage (éventuellement appliquée aux données et au mot d'authentification) et/ou une étape de compression 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 10 transmissibles. 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. De manière corrélative, l'invention propose également un procédé de 15 réception de données, caractérisé par les étapes suivantes : - réception des données sur un canal de transmission ; traitement des données reçues ; - vérification d'une authentification des données traitées. Ainsi, la vérification de l'authentification étant appliquée aux données 20 traitées, elle permettra notamment de s'assurer de l'exactitude du traitement effectué. 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 ; 25 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é 30 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. Le traitement peut comprendre une étape de décryptage et/ou une étape de décompression 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.
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 et des moyens d'émission des données traitées sur un canal de transmission.
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 et des moyens de vérification d'une authentification des données traitées. Ces dispositifs peuvent présenter des caractéristiques optionnelles 10 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. 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 15 lesquels : 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 ; - la figure 3 représente les étapes principales d'un procédé de 20 réception des données émises par le procédé de la figure 2. La figure 1 représente le contexte général dans lequel est mise en oeuvre l'invention. 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 25 le terme anglais "data link') 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-r ; le relais R transmet les informations à destination et 30 en provenance de l'aéronef A par l'intermédiaire d'un 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. Par ailleurs, on pourrait prévoir d'utiliser des communications radios HF ou VHF au lieu de la communication par satellite.
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. Le dispositif émetteur du message M (qui met donc en oeuvre 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. Le dispositif émetteur procède alors (par exemple au sein d'un microprocesseur commandé par un logiciel mettant en oeuvre les étapes de la figure 2) à la détermination d'un mot d'authentification (ou empreinte) E du 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). On utilise par exemple une fonction de hachage du type SHA2.
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. 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é. 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. 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.
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. 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 10 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 15 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. 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 20 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. 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 25 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. 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 30 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. II 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 6 fonctionnement normal. L'algorithme de décompression utilisé est l'inverse de l'algorithme de compression de l'étape E24 mentionnée ci-dessus. 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. 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 oeuvre dans les étapes E22 à E26 décrites ci-dessus ; - 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 ; - 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 oeuvre au cours des étapes E32 à 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'. 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. Si aucune des erreurs précitées n'est survenue (c'est-à-dire en fonctionnement normal), le message M' 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. C'est pourquoi on vérifie pour authentification à l'étape E40 que l'empreinte reçue E' 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é M' est bien conforme au message M émis par le dispositif émetteur. 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. 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 oeuvre 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. L'exemple qui vient d'être décrit ne représente qu'un mode possible de mise en oeuvre 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.