Brevet FR2506101A1 — publié le 19821119

PROCEDE DE PROTECTION DES TELELOMMANDES DE SATELLITES CONTRE LES INTRUSIONS La présente invention concerne un procédé de protection des télécommandes de satellites contre les intrusions. Le fonctionnement des satellites de toutes natures (télécommunication, observation, etc...) est commandé depuis le sol, par télécommande, aussi bien en ce qui concerne la charge utile, qu'en ce qui concerne les dispositifs de navigation et de contrôle. I1 est extrêmement aisé, dans l'état actuel des procédés de télécommande, de se substituer au centre de contrôle d'un satellite, de le télécommander et de le mettre dans une situation qui perturbe gravement le service ou même qui conduise à la perte du satellite. Ce type d'attaque est appelé intrusion. D'autre part il peut être nuisible qu'un tiers connaisse les activités d'un satellite, en interceptant des messages de télécommande envoyés en clair. Actuellement les messages de télécommande de satellites sont transmis en clair dans un format normalisé selon la norme ESA ou la norme COMSAT, en particulier. I1 n'est pas prévu de dispositions particulières pour parer aux intrusions et interceptions. Le procédé selon l'invention empêche les intrusions et les interceptions par des moyens de protection. Selon l'invention un procédé de protection des télécommandes de satellites contre les intrusions, où le message de télécommande est composé d'un préambule d'identification, suivi de mots ou de phrases contenant des commandes est caractérisé en ce que le préambule comporte - un numéro désignant une clé secrète mémorisée à bord du satellite, - un numéro de message, différent pour chaque message, - la longueur du message, - une séquence d'authentification, calculée d'après la clé secrète et le numéro de message, et dont le nombre de bits est suffisamment grand pour que l'essai systématique dé toutes les combinaisons possibles soit plus long que la durée d'utilisation du satellite, en ce que les octets contenant une commande sont accompagnés par un cryptogramme contenant la même commande chiffrée avec un algorithme dépendant de façon imprévisible, de la valeur de la clé secrète, du numéro du message, et du rang de la commande dans le message; et en ce que, à la réception, une commande est exécutée si et seulement si les conditions suivantes sont vérifiées: le numéro de rnessage est valable, la séquence d'authentification est exacte, les octets contenant la commande peuvent être identifiés au cryptogramme qui les accompagne, le rang de la commande n'est pas supérieur à la longueur du message annoncée dans le préambule. L'invention sera mieux comprise et d'autres caractéristiques appa raîtront à l'aide de la description qui suit et des figures s'y rapportant. - La figure 1 représente schématiquernent le format d'une phrase de télécommande selon la norme ESA. - La figure 2 représente schématiquement le format d'un message composé d'une suite de n phrases, selon la norme ESA. -La figure 3 représente un exemple de message de télécommande protégé contre l'intrusion et respectant le format des normes ESA. -La figure 4 représente un exemple de message de télécommande protégé contre l'intrusion et ayant un format dérivé de celui des normes ESA. -La figure 5 représente un exemple d'organigramme de génération d'un message de télécommande protégé, mettant en oeuvre le procédé selon l'invention. - La figure 6 représente un exemple d'organigramme dauthentifi- cation, à la réception, d'un message de télécommande protégé par le procédé objet de l'invention. Les signaux considérés sont des signaux binaires. Selon la norme ESA les messages de télécommande sont constitués de phrases se succédant sans discontinuité (FIC.2). Chaque phrase (FIG.l) comporte: - un préambule 1 d'identification du satellite et du module de télécommande concerné dans le satellite. Il comporte seize bits; - une information de mode 2, portant sur la nature de la télécommande acheminée par la phrase (télécommande de pilotage, chargement de données dans un calculateur, commutation d'un équipement de secours etc...).Elle comprend quatre bits répétés une fois, soit huit bits au total; un premier mot de commande 3 qui comporte un octet plus quatre bits de code détecteur d'erreurs 4; le tout étant répété une fois, il y a vingt quatre bits au total; - un second mot de commande 5, de même format que le premier; - un troisième mot de commande 6, de même format que le premier. Chaque phrase comporte au- total quatre vingt seize bits. La commande contenue dans une phrase est exécutée dès que sa transmission est terminée, sauf, naturellement, en cas de détection d'erreurs. Le procédé selon l'invention est décrit dans un exemple où le format des messages de télécommande obéit aux normes ESA, puis dans un exemple où les normes ESA sont modifiées pour raccourcir la longueur du message. D'autre part la protection contre l'intrusion et la protection contre l'inter- ception seront décrites successivement. L'intrusion dans une télécommande peut prendre les formes suivantes : - la répétition dun message authentique de télécommande, enregistré puis réémis ultérieurement; - l'envoi de nombreuses séquences aléatoires, dans Pespoir que l'une d'elle sera considérée comme authentique par le satellite; - la modification d'un message de télécommande. Un tiers peut empêcher la réception d'un message par un brouillage, tout en renregistrant. Puis il peut le réémettre, immédiatement après, en remplaçant certaines phrases par des phrases commandant des opérations nuisibles au satellite. Il peut, d'autre part, prolonger un message authentique en rajoutant des phrases, enregistrées lors des télécommandes précédentes. Ces différentes attaques sont parées par l'utilisation combinée d'un préambule, composé de K phrases authentifiant l'émetteur, et d'une phrase cryptogramme associée à chaque phrase de commande. La figure 3 représente un message de télécommande ainsi composé. Les phrases sont, dans cet exemple, au format ESA. Le préambule d'identification 7, est suivi d'une phrase de commande nO 1, puis d'une phrase cryptogramme nO 1, puis d'une phrase de commande n 2 suivie d'une phrase cryptogramme n" 2, etc, jusqu'à la phrase de commande nO n suivie de la phrase cryptogramme nO n. Chaque phrase du préambule étant au format ESA, contient trois octets d'authentification, soit vingt quatre bits utiles. L'ensemble du préambule comporte les informations suivantes: - un numéro de clé secrète, qui permet de selectionner dans la mémoire du dispositif à bord du satellite, la clé secrète à utiliser pour les déchiffrements. Quand une clé secréte est compromise, c'est-à-dire est supposée connue de l'ennemi, une nouvelle clé est utilisée et son utilisation inhibe irrémédiablement la clé precedente; - un numéro de message, qui change à chaque message, empêchant ainsi un tiers d'envoyer un message authentique déjà reçu une fois par le satellite; - la longueur du message. Dans l'exemple de la figure 3 c'est le nombre n.Elle empêche un tiers de rallonger un message authentique en y ajoutant des phrases; - une séquence d'authentitication, calculée d'après la clé secréte et le numéro du message, donc qui change à chaque message. D'autre part, son nombre de bits utiles est suffisamment grand pour que l'essai systèmatique par un tiers de toutes les combinaisons possibles, soit plus long que la durée d'utilisation du satellite; par exemple ce nombre de bits peut être de quarante huit, ce qui occupe deux phrases au format ESA. Ceci empêche une intrusion par des séquences aléatoires essayées en grand nombre. La phrase cryptogramme, associée à une phrase de commande, est calculée d'après les trois octets de commande que contient cette phrase (dans la norme ESA). L'algorithme utilisé est fonction de la clé secrète, du numéro de message, et du rang de la phrase dans le message. A la réception, ces données déterminent l'algorithme de déchiffrement. Après déchiffrement la phrase cryptogramme est comparée à la phrase de commande. Si le résultat du déchiffrement n'est pas conforme la commande est rejetée. Le couple phrase de commande-phrase cryptogramme est rattaché à un préambule bien détermine, par le numéro de clé et le numéro de message. Le préambule et la phrase cryptogramme collaborent pour empêcher une intrusion par substitution d'un couple phrase utile-phrase cryptogramme.Si un tiers substitue à ce couple un couple enregistre dans un autre message authentique, le numéro de message étant erronne, la phrase cryptogramme ne sera pas déchiffrée correcternent, elle ne sera pas identique à la phrase utile, donc la commande ne sera pas acceptee. Si un tiers enregistre un message authentique tout en brouillant sa réception, puis le réémet en ayant changé l'ordre des phrases utiles, pour changer la séquence des telécommandes, le dechiffrement est incorrect, car l'algorithme de déchiffrement dépend aussi du rang de la phrase dans le message. Une variante consiste à chiffrer, à la réception, la phrase de commande avec l'algorithme qui a servi à l'émission pour obtenir la phrase cryptogrammme, puis à faire la comparaison avec celle-ci. Une autre variante concerne les satellites susceptibles d'être mis en danger par une intrusion consistant à brouiller la réception d'un message, puis à le réémettre, sans modification, mais avec un certain retard. Ceci concerne surtout les satellites à défilement.Pour éviter ce type d'intrusion, le numéro de message est constitué par l'heure réelle. L'heure de réception du message est comparee à l'heure d'émission contenue dans le préambule. Ce procédé nécessiterait une horloge à l'émission et une horloge à la réception qui soient rigoureusement synchrones.Pour cela deux horloges de haute précision seraient nécessaires. Une horloge de haute précision embarquée à bord du satellite l'alourdirait inutilement. Dans le procédé selon l'invention une seule horloge est utilisée. Elle est située à bord du satellite et peut être d'une précision médiocre car elle sert aussi de référence à la station terrienne en transmettant des signaux horaires par la liaison de télémesure satellite-sol. Une variante du procédé selon l'invention utilise un format de phrase dérivé du format ESA. Dans celui-ci il y a une double redondance de l'information transmise, puisque la phrase de commande et la phrase cryptogrammme véhiculent la même commande; d'autre part chaque octet d'information utile est doublé, ce qui constitue encore une redondance. La variante proposée consiste à supprimer la première redondance afin de diviser par deux la longueur du message. La figure 4 représente une phrase de télécommande au format ESA modifié.Elle comporte successivement: - un préambule 12 d'identification du satellite et du module de télécommande concerné par le message, soit seize bits; - une information de mode 13, portant sur la nature de la télécommande contenue dans la phrase, elle est doublée; soit quatre bits; - un premier mot de commande 14, composé d'un octet de commande et de quatre bits de code détecteur d'erreurs, soit douzë bits; - un cryptogramme 15, composé des huit premiers bits d'uncrypto- gramme des trois octets de commande contenus dans la phrase, et quatre bits de code détecteur d'erreurs, soit douze bits; - un deuxième mot de commande 16, composé d'un octet de commande et de quatre bits de code détecteur d'erreurs, soit douze bits;; - un cryptogramme 17, composé de huit autres bits du cryptogramme des trois octets de commande contenus dans la phrase, et quatre bits de code détecteur d'erreurs, soit douze bits; - un troisième mot de commande 18, composé d'un octet de commande et de quatre bits de code détecteur d'erreurs, soit douze bits; - un cryptogramme 18, composé de huit autres bits du cryptogramme des trois octets de commande contenus dans la phrase, et quatre bits de code détecteur d'erreurs, soit douze bits. Le nombre total de bits est de quatre vingt seize cornme dans une phrase aux normes ESA. Il est inutile de transmettre une phrase cryptogramme à la suite de cette phrase de commande. La réduction de la durée du message permet notamment de réduire la durée de fonctionnement du décodeur à bord du satellite, donc de diminuer sa consommation d'énergie. Dans la description précédente seule la protection contre l'intrusion a été considérée, mais il est souhaitable de protéger aussi les messages contre l'interception, en n'envoyant pas de phrases ou de mots en clair. Dans le procédé selon l'invention les phrases ou les mots de commande sont chiffrés avec un algorithme différant de celui utilisé pour le cryptogramme associé à la phrase ou au mot de commande, au moins par une des données d'initialisation, telle qu'un paramètre de rang. La comparaison se fait alors après déchiffrement de chacune des deux informations. L'invention n'est pas limitée au mode de réalisation décrit et représenté. Il est à la portée de l'homme de l'art de l'appliquer à des messages de télécommande transmis selon d'autres normes, notamment la norme COMSAT. Dans cette norme la télécommande comprend trois phases: - I'envoi de la commande vers le satellite; - le renvoi vers le sol de cette commande, dans le but de vérifier son exactitude; - l'envoi d'un ordre d'exécution. Le procédé selon l'invention s'applique au message véhiculant la commande. Son exécution peut être protégée en limitant la durée de validité de la commande et en n'autorisant qu'une seule exécution par commande. La figure 5 représente un exemple d'organigramme pour générer un message de télécommande protégé contre l'intrusion et l'interception et ayant le format, dérivé des normes ESA, décrit précedemrnent. Ces opérations logiques peuvent être effectuées par des circuits classiques à logique câblée ou à logique programmée, dont la réalisation est à la portée de l'homme de l'art. L'opérateur qui désire faire exécuter une télécommande fournit au dispositif un numéro de clé secrète. Si la clé utilisée précédemment risque d'être connue de l'ennemi, l'opérateur peut en choisir une nouvelle, qui aura, par convention, un numéro supérieur. Le numéro de la clé est inscrit dans une mémoire, dite mémoire de message, où sont inscrites au fur et à mesure du déroulement de la séquence toutes les informations composant le message. En vue d'utiliser le format ESA, ces informations sont stockées sous la forme de 3 octets précédés de 2 bits de mode. Le numéro de clé permet de lire la valeur de la clé dans la mémoire des clés. L'opérateur fournit un numéro de message N2. Le numéro N1 du message précédent est lu dans une mémoire dite mémoire de numéro de message précédent. Si, à la suite d'une erreur de l'opérateur, N2 est inférieur ou égal à N1, le numéro N2 est rejeté et l'opérateur est invité à en choisir un autre. II peut choisir N2 = N1 + 1, mais ce n'est pas obligatoire. Quand le numéro N2 est reconnu valable il est inscrit dans la mémoire de message. Avec pour données le numéro du message N2 et la clé secrète le dispositif calcule une séquence d'authentification composée de K x 24 bits, de telle sorte qu'elle remplisse un nombre entier K de phrases au format ESA modifié, qui est pris en exemple ici. Un algorithme cryptologique classique est utilisé, par exemple le Data Encryption Standard, normalisé aux USA par la publication F1135 nO 46 du NBS, du 15 janvier 1977. Cette séquence est inscrite dans la mémoire de message, sous la forme de K groupes de trois octets, avec deux bits de mode précédant chaque groupe. L'opérateur choisit la télécommande qu'il veut faire exécuter. Elle correspond à une ou plusieurs phrases ESA. Chaque phrase contient 3 octets de commande et 2 bits de mode. Ces données sont contenues, en clair, dans une mémoire dite mémoire des télécommandes. Pour chaque télécommande, la mémoire indique aussi le nombre n de phrases constituant la télécommande. Ce nombre n est lu, puis est mémorisé dans la mémoire de message. Un compteur, dit compteur de phrases, est mitialise à zéro. II sert à détecter la fin du traitement des n phrases de la télécommande. Soit i la valeur de son contenu. Ce compteur est incrémente dune unité. Les données de la première phrase de la télécommande sont lues dans la mémoire des télécommandes. Elles sont chiffrées selon deux algorithmes differents dépendant de la clé, du numéro de message et du rang i de la phrase. Dans le cas de la première phrase le rang i est égal à un. Les trois octets de la phrase donnent trois octets chiffrés par le premier algorithme et trois octets chiffrés par le deuxième algorithme. Des algorithmes cryptologiques classiques de transformation par bloc peuvent être employés. II est possible d'utiliser un même algorithme en changeant une des données d'initialisation pour différencier les deux chiffrements. Les octets chiffrés sont inscrits dans la mémoire de message, avec les deux bits de mode (inchangés). Le contenu du compteur est testé. S'il est différent de n, les opérations précédentes sont réitérées à partir de l'incrémentation du compteur. Quand le contenu du compteur est égal à n, toutes les données nécessaires au message sont prêtes. Le message est mis au format ESA modifié, puis émis : la mémoire de message est lue par blocs, chaque bloc contenant deux bits de mode et six octets. La phrase est constituée par un entête de seize bits, toujours le même, désignant le satellite.Ensuite sont émis : les deux bits de mode, répétés une fois, le premier octet de commande (chiffré), suivi de quatre bits de code détecteur d'erreurs, un octet cryptogramme, suivi de quatre bits de code détecteur d'erreurs, le deuxième octet de commande (chiffré), suivi de quatre bits de code détecteur d'erreurs, un octet cryptogramme, suivi de quatre bits de code détecteur d'erreurs, le troisième octet de commande (chiffré) suivi de quatre bits de code détecteur d'erreurs, un octet cryptogramme, suivi de quatre bits de code détecteur d'erreurs. La figure 6 représente un exemple d'organigramme pour authentifier, à la réception, un message de télécommande protégé par le procédé objet de l'invention, et ayant le format ESA modifié. Au début, le système décodeur est en attente de la réception d'un message. Quand un message est reçu les bits de détection d'erreurs sont testés pour contrôler qu'il n'y a pas d'erreur de transmission. S'il y en a une le système attend un nouveau message. S'il n'y a pas d'erreur, le message est stocké dans une mémoire dite mémoire de message. Le numéro N2 du message reçu est extrait de cette mémoire. Le numéro N1, du message qui a été reçu et authentifié précédemment, est lu dans une mémoire dite mémoire de numéro de message précédent. Ces deux numéros sont comparés. Si N2\ N1 : le message n'est pas valable le système en attend un autre. Si N2 i N1: le traitement se poursuit. Le numéro de clé secrète est extrait de la mémoire de rnessage et est utilisé pour adresser la mémoire des clés secrètes. La valeur de la clé secrète est lue dans cette mémoire. Le même algorithme qu'à Démission, initialisé par la clé secrete et le numéro N2 du message, calcule la séquence d'authentification attendue. Celle qui a été reçue est extraite de la mémoire de message et comparée à la séquence calculée par le système décodeur. Si elles diffèrent le système attend un nouveau message. Si elles sont identiques le message est authen titié, son numéro N2 est inscrit dans la mémoire de numéro de message précédent. Les clés ayant un numéro inférieur à celui de la clé du message reçu sont inhibées. Il est inutile de tester si la clé utilisée est nouvelle parce que, par convention, les clés sont utilisées dans l'ordre des numéros croissants. Le nombre n, des phrases composant le message, est extrait de la mémoire de message. D'autre part un compteur, dit compteur de phrases, est initialisé à zéro. Le contenu i de ce compteur est incrémenté d'une unité. La phrase contenant la commande de rang i (ici i =1) est lue dans la mémoire de message. Chacun des octets de cette phrase est déchiffré par l'algorithme inverse de l'algorithme ayant été utilisé à rémission. Ceux-ci sont initialisés par la clé secrète, le numéro N2 du message, et le rang i. Les deux groupes de trois octets ainsi déchiffrés, sont comparés. S'ils sont identiques la commande qu'ils contiennent est immédiatement exécutée. Sinon le traitement se poursuit. Dans les deux cas le contenu du compteur de phrases est testé. Si i: n, la dernière phrase du message a été traitée, le système attend un nouveau message. Si i i(n, le traitement des autres phrases a lieu en recommençant les opérations à partir de l'incrémentation du compteur de phrases. Ce traitement peut être réalisé par des circuits classiques à logique câblée ou à logique programmée, dont la réalisation est à la portée de l'homme de l'art. REVENDICATIONS 1. Procédé de protection des télécommandes de satellites contre les intrusions, où le message de télécommande est composé d'un préambule d'identification, suivi de mots ou de phrases contenant des commandes, caractérisé en ce que le préambule comporte: - un numéro désignant une clé secrète mémorisée à bord du satellite, - un numéro de message, différent pour chaque message, - la longueur du message, - une séquence d'authentification, calculée d'après la clé secrète et le numéro de message, et dont le nombre de bits est suffisamment grand pour que l'essai systèmatique de toutes les combinaisons possibles soit plus long que la durée dutilisation du satellite; en ce que les octets contenant une commande sont accompagnés par un cryptogramme contenant la même commande chiffrée avec un algorithme dépendant de façon imprévisible, de la valeur de la clé secrète, du numéro du message, et du rang de la commande dans le message; et en ce que, à la réception, une commande est exécutée si et seulement si les conditions suivantes sont vérifiées: le numéro de message est valable, la séquence d'authentification est exacte, les octets contenant la commande peuvent être identifiés au cryptogramme qui les accompagne, le rang de la commande n'est pas supérieur à la longueur du message annoncee dans le préambule. 2. Procédé selon la revendication 1, caractérisé en ce que le numéro d'un message est toujours supérieur au numéro du message immédiatement précédent. 3. Procédé selon la revendication 2, caractérisé en ce que le numéro de message est constitué par l'heure d'émission du message. 4. Procédé selon la revendication 3, caractérisé en ce que l'heure d'émission du message est obtenue à partir d'un signal horaire transmis par le satellite à la station terrienne. 5. Procédé selon l'une quelconque des revendications 1 à 4 où les octets contenant une commande sont protégés contre une interception par un chiffrement, caractérisé en ce que l'algorithme utilisé pour chiffrer ces octets est distinct de celui utilisé pour obtenir le cryptogramme Paccompa- gnant, au moins par une partie de ses données d'initialisation. 6. Procédé selon l'une quelconque des revendications 1à 5 où les messages sont au format de la norme ESA, caractérisé en ce que le message a un préambule constitué d'une suite de phrases au format ESA, et en ce que chaque phrase de commande est accompagnée d'une phrase cryptogramme, elle aussi au format ESA, dont les trois octets utiles sont un cryptogramme des trois octets utiles de la phrase de commande. 7. Procédé selon l'une quelconque des revendications I à 5, caractérisé en ce que le message est constitué de phrases où la norme ESA est respectée à l'exception du fait que les trois octets utiles, et leurs bits de code détecteur d'erreurs, contenus dans chaque phrase ne sont pas accompagnés chacun de leur double mais d'un mot binaire composé de huit bits d'un cryptogramme des trois octets utiles, obtenu par un algorithme dépendant de façon imprévisible de la clé secrète, du numéro de message, et du rang de la phrase dans le message; et en ce que ce mot binaire est suivi de quatre bits de code détecteur d'erreurs.