Brevet FR2932047A1 — publié le 20091204

SP33210 EA 1 SYSTÈME INFORMATIQUE DE MAINTENANCE D'UN AÉRONEF À TERMINAL DISTANT DESCRIPTION DOMAINE TECHNIQUE La présente invention concerne de manière générale le domaine des systèmes informatiques et plus particulièrement celui des systèmes informatiques de maintenance à bord d'un aéronef. ÉTAT DE LA TECHNIQUE ANTÉRIEURE Traditionnellement, la maintenance d'un aéronef est effectuée au sol par des techniciens de maintenance au moyen d'une documentation papier. 15 Cette documentation se présentait autrefois sous forme de manuels ou de classeurs de maintenance et de réparation. Elle décrivait de manière exhaustive les procédures de maintenance préventive, de détection et de réparation des pannes pouvant affecter un équipement 20 quelconque de l'aéronef. De manière similaire, les remarques des pilotes étaient consignées dans un journal de bord ou � logbook � sous forme papier. Les techniciens de maintenance utilisaient alors ce journal à l'escale 25 pour les besoins de la maintenance. Plus récemment, avec la tendance de diminuer voire de supprimer tout papier dans le cockpit de bord ont été remplacés par des applications informatiques embarquées.10 SP33210 EA 2 Désormais, le technicien de maintenance peut consulter le journal de bord, effectuer un suivi des incidents de vol, lancer des procédures de test de certains équipements ou commander à distance leur déconnexion électrique, mettre à jour des équipements en téléchargeant de nouvelles versions de logiciels etc., le tout grâce à un système informatique de maintenance centralisé, dit CMS (Centralised Maintenance System). Plus précisément, le technicien utilise un terminal embarqué dénommé OMT (On-board Maintenance Terminal) installé à demeure dans le cockpit pour accéder à la pluralité de logiciels hébergés par le système CMS, lui permettant d'accomplir les diverses opérations de maintenance. Toutefois ce système de maintenance s'avère particulièrement malcommode lorsque les opérations de test nécessitent une intervention directe du technicien sur un équipement (LRU), comme une manipulation ou un remplacement. Le technicien est alors souvent contraint à de multiples allers-retours entre l'équipement à tester et le cockpit, d'où une perte importante de temps et une source potentielle d'erreurs. Une première solution à ce problème consisterait à utiliser un terminal portable (ou un PDA) relié au système CMS grâce à un réseau filaire voire sans fil. Une telle solution est cependant exclue pour des raisons de sécurité. En effet, le système CMS et le terminal OMT sont situés dans une zone sécurisée de l'aéronef (zone avionique) et il n'est pas envisageable de transmettre des données d'une zone non sécurisée SP33210 EA 3 (zone ouverte) à la zone avionique. Le réseau embarqué est généralement partitionné en un premier sous-réseau appartenant à une zone sécurisée (sous-réseau avionique), et un second sous-réseau appartenant à une zone non sécurisée (sous-réseau ouvert). Les liaisons entre les deux sous-réseaux sont obligatoirement unidirectionnelles, dirigées du sous-réseau avionique vers le sous-réseau ouvert. Le problème à la base de l'invention est par conséquent de réaliser un système informatique permettant au technicien de maintenance d'accéder au système CMS alors même qu'il intervient directement sur un équipement à tester situé dans la zone ouverte, tout en se conformant aux contraintes de sécurité de la zone avionique. EXPOSÉ DE L'INVENTION La présente invention est définie par un système informatique de maintenance d'un aéronef comprenant un serveur hébergeant des logiciels de maintenance et au moins un terminal d'accès. Ce système comprend un commutateur KVM sur IP relié au dit serveur, ledit terminal étant adapté à se connecter au dit commutateur au moyen d'une connexion TCP/IP, le terminal comprenant une application cliente et ledit commutateur une application serveur, adaptées à mettre en oeuvre un protocole d'accès à distance d'un tampon de trames vidéo (RFB), chaque trame vidéo étant transmise de l'application serveur à l'application cliente sous la forme de données d'image bitmap, non comprimées ou bien comprimées par un algorithme de compression sans pertes. SP33210 EA 4 Avantageusement, chaque trame vidéo est transmise de manière indépendante, sans référence à une trame précédente ou postérieure. Plus avantageusement, l'application serveur est adaptée à encrypter lesdites données préalablement à leur transmission sur la connexion TCP/IP. L'application serveur transmet lesdites trames vidéo avec une fréquence constante prédéterminée. Selon une première variante, l'application serveur est adaptée à incruster dans chaque trame vidéo une information temporelle fournie par une horloge locale du commutateur. Selon une seconde variante, l'application serveur est adaptée à horodater lesdites trames vidéo préalablement à leur transmission sur ladite connexion. Ledit commutateur peut comprend des moyens de capture vidéo adaptés à récupérer des trames vidéo dans une carte graphique (GSU) du dit serveur et à les stocker dans un tampon de trames local. Avantageusement, l'application cliente est adaptée à encoder un code de touche lorsqu'une touche du clavier du terminal est enfoncée, et à transmettre le code ainsi obtenu au dit commutateur qui le décode et le convertit en un signal série avant de le transmettre au dit serveur. De manière similaire, l'application cliente peut être adaptée à encoder une action de la souris du terminal, lorsque celle-ci est cliquée ou déplacée, et à transmettre l'action ainsi encodée au dit commutateur qui la décode et la convertit en un signal série avant de le transmettre au dit serveur. SP33210 EA Enfin, l'invention concerne également un aéronef comprenant un système de maintenance comme exposé ci-dessus. Ledit aéronef est partitionné en une zone sécurisée, dite zone avionique, et une zone non 5 sécurisée, dite zone ouverte. Le serveur et le commutateur sont installés dans la zone avionique, ledit commutateur étant relié par ailleurs à un LAN situé dans la zone ouverte, le LAN comprenant une pluralité de prises disposées à proximité d'équipements équipés de modules de test intégrés, le terminal pouvant être connecté à l'une quelconque des dites prises pour établir une connexion TCP/IP avec le commutateur. BRÈVE DESCRIPTION DES DESSINS D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture d'un mode de réalisation préférentiel de l'invention fait en référence aux figures jointes parmi lesquelles : La Fig. 1 illustre schématiquement l'architecture matérielle d'un système informatique de maintenance d'un aéronef, selon un mode de réalisation de l'invention ; La Fig. 2 illustre schématiquement l'architecture logicielle du commutateur KVM et du terminal distant faisant partie du système de la Fig. 1 ; La Fig. 3 illustre schématiquement un exemple de session entre le commutateur KVM et le terminal distant représentés en Fig. 2. SP33210 EA 6 EXPOSÉ DÉTAILLÉ DE MODES DE RÉALISATION PARTICULIERS L'idée principale à la base de l'invention est d'utiliser un commutateur KVM (Keyboard Video Mouse) sur IP (KVM switch over IP) d'un type particulier, assurant le déport des fonctions d'affichage et de contrôle du terminal OMT vers un terminal distant grâce à une liaison TCP/IP. On rappelle qu'un commutateur KVM (KVM switch) permet de manière générale de partager écran, clavier et souris entre plusieurs ordinateurs. Plus précisément, un tel commutateur permet de sélectionner manuellement, ou électroniquement grâce a une combinaison de touches clavier ou un menu en incrustation vidéo, l'ordinateur avec lequel on désire travailler. Réciproquement, un commutateur KVM inverse (reverse KVM switch, KVM splitter) permet de partager un ordinateur entre plusieurs stations de travail, comprenant chacune un écran, un clavier et une souris. Un commutateur KVM sur IP, au contraire d'un commutateur KVM classique, ne nécessite pas de connecter écran, clavier et souris directement au commutateur. Grâce à un ordinateur distant relié au LAN ou à Internet, un utilisateur peut se connecter au commutateur via une liaison TCP/IP. Le signal vidéo ainsi que les signaux de contrôle clavier et souris sont véhiculés par des paquets IP entre l'ordinateur distant et le commutateur. L'utilisateur peut ainsi contrôler à distance et afficher la vidéo d'un (single port KVM switch) ou de plusieurs (multiport KVM switch) ordinateurs connectés au commutateur KVM sur IP. SP33210 EA 7 Les échanges entre l'ordinateur et le commutateur KVM sont réalisés au moyen d'un client léger (thin client), généralement un simple navigateur web (browser), installé sur l'ordinateur distant, et d'un serveur installé sur le commutateur KVM. Les commutateurs KVM sur IP disponibles dans le commerce (COIS) ont recours à un algorithme de compression de données, tel que par exemple MPEG-4, leur permettant de réduire le débit du signal vidéo sur la connexion TCP/IP présentant généralement une relativement faible bande passante. En outre, un encryptage des données, par exemple au moyen du protocole SSL (Secure Socket Layer), peut être prévu de manière à garantir une certain niveau de sécurité au transfert des données. Il convient de noter cependant que ce niveau de sécurité est insuffisant pour satisfaire à une certification aéronautique. A la différence des commutateurs KVM connus, le système de maintenance selon l'invention utilise un commutateur KVM sur IP mettant en oeuvre un protocole RFB (Remote Frame Buffer) opérant directement sur des données d'image bitmap ou bien sur des données comprimées par un algorithme de compression sans pertes. On rappelle que le protocole RFB permet un accès distant à une interface graphique d'un utilisateur (GUI). Il met en oeuvre un client installé sur l'ordinateur de l'utilisateur et un serveur du côté de la machine où se trouve le tampon de trame vidéo (frame buffer). On trouvera par exemple une description du protocole RFB dans l'article de T. Richardson SP33210 EA 8 intitulé � The RFB protocol � disponible à l'adresse www.realvnc.com. La Fig. 1 représente l'architecture générale d'un système informatique de maintenance 100 selon un mode de réalisation de l'invention. Ce système comprend un serveur du système CMS, 110, dénommé ASF (Application Server Function) sur lequel sont hébergés des logiciels de maintenance de l'aéronef. Ce serveur comprend une carte graphique, 115, ou GSU (Graphic Server Unit) dans laquelle se trouve un tampon de trames vidéo, encore dénommé buffer vidéo (non représenté). Le système 100 comprend aussi un commutateur KVM sur IP, 120 relié à la carte graphique du serveur ASF au moyen d'un connecteur DVI et à ses interfaces série clavier/souris au moyen de connecteurs PS/2 ou USB, de manière connue en soi. Le commutateur KVM, 120, est relié à un LAN embarqué, 130, par exemple un réseau Ethernet situé dans la zone ouverte de l'aéronef. Le réseau Ethernet peut comprendre une pluralité de prises RJ45 distribuées en des points stratégiques de l'aéronef, idéalement à proximité des principaux équipements à tester (LRUs). Les équipements à tester comportent des modules de test intégrés ou BITE (Built In Test Equipment) reliés au système informatique de maintenance au moyen du réseau avionique (non représenté).30 SP33210 EA 9 L'opérateur de maintenance peut venir connecter un ordinateur distant, 140, typiquement un ordinateur portable (laptop, notebook) ou un assistant personnel (PDA, Pocket PC, Tablet PC) à une prise RJ45 proche de l'équipement faisant l'objet de la maintenance. En se connectant à l'adresse IP du commutateur KVM 120, il a accès à tous les outils de maintenance hébergés sur le serveur 110 et, en particulier, à ceux relatifs à l'équipement en question. Il peut ainsi lancer une procédure de test, activer à distance un disjoncteur permettant d'isoler électriquement cet équipement, le remplacer, télécharger (upload) une nouvelle version de logiciel etc. La Fig. 2 illustre schématiquement l'architecture logicielle du commutateur KVM et celle du terminal distant. Le terminal distant, 240, comprend un pilote de carte graphique (video driver) 241, un pilote de clavier (keyboard driver) 242 et un pilote de souris (mouse driver) 243, gérant respectivement l'affichage sur l'écran, ainsi que les clavier et souris connectés au dit terminal, sous le contrôle général du système d'exploitation, 245. Une application cliente 244 (Remote Display Client Application) est hébergée par le terminal 240. Cette application reçoit des actions clavier et souris des pilotes 242 et 243, code ces actions et les transfère via la connexion TCP/IP 250 au commutateur KVM 220. D'autre part, l'application cliente 244 reçoit du commutateur KVM via cette même connexion des unités SP33210 EA 10 (PDUs) de données de protocole RFB et les décode en données bitmap qu'elle stocke dans le buffer de trames du terminal 240. Le pilote de carte graphique 241 affiche sur l'écran du terminal le contenu du buffer de trames ainsi rempli. L'application cliente 244 est avantageusement signée par une clé privée de l'avionneur au moyen d'une infrastructure à clés publiques (PKI). Cette signature garantit l'intégrité et l'authenticité de l'application en question. L'application cliente 244 comprend notamment une couche de conversion de protocole (Client Remote Protocol Layer), 246, apte d'une part à recevoir les paquets IP, à en extraire les PDUs du protocole RFB, et, d'autre part, à encoder les actions clavier et souris pour les transmettre sous forme de paquets IP sur la connexion 250. La gestion du protocole RFB, l'encodage des actions clavier et souris, ainsi que le remplissage du buffer de trames sont supervisés par un module de contrôle (Remote Client Manager), 245. L'application cliente peut comporter en outre des modules supplémentaires comme par exemple un module chargé de contrôler la sécurité du transfert des données (Security Handler) entre le commutateur et le terminal, comme détaillé plus loin. Symétriquement, le commutateur KVM 220 comprend un pilote de capture vidéo (video acquisition driver) 221, un pilote de clavier (keyboard driver) 222 et un pilote de souris (mouse driver) 223. Le pilote de capture vidéo récupère les trames dans le buffer vidéo de la carte graphique GSU et les stocke dans un tampon SP33210 EA 11 de trames local (non représenté) du commutateur. Les pilotes clavier et souris reçoivent respectivement les actions clavier et souris transmises sous forme de paquets IP sur la connexion 250, après décodage par l'application serveur 224 (Remote Display Server Application). L'application serveur 224 comprend une couche de conversion de protocole, 226, chargée de convertir le contenu du buffer de trames local en PDUs du protocole RFB sous forme de paquets IP, paquets qui sont ensuite transmis sur la connexion 250. La gestion du protocole RFB, le décodage des actions clavier et souris, ainsi que la conversion de trames est contrôlée par un module de contrôle (Remote Server Manager), 225. La Fig. 3 illustre un exemple de session entre le terminal distant 240 et le commutateur KVM sur IP, 220, plus exactement entre l'application cliente 244 hébergée par le terminal et l'application serveur 224 hébergée par le commutateur. La demande d'ouverture de la session en 310 suppose que l'opérateur de maintenance ait préalablement fourni son identifiant et son mot de passe au terminal 240. Si ceux-ci sont reconnus comme valides par le commutateur 220, l'ouverture de la session est acceptée en 311, et l'accès aux pilotes souris et clavier est autorisé en 312. Les échanges entre les applications 224 et 244 se font selon un mode synchrone ou asynchrone, selon qu'ils concernent l'affichage vidéo ou les actions clavier/souris. SP33210 EA 12 Les trames vidéo sont capturées par le commutateur KVM en 320 avec une fréquence prédéterminée, par exemple 20 Hz. Chaque trame est indépendamment convertie en PDUs de protocole RFB, et ces derniers sont ensuite transmis en 321 au terminal. Ces PDUs sont décodés en 322 de manière à rafraîchir le contenu du tampon de trames du terminal, le contenu étant affiché en 323. Il est essentiel de noter que les données vidéo transportées dans les PDUs du protocole RFB sont ici des données d'image bitmap, éventuellement comprimées au moyen d'un algorithme de compression de données sans pertes (lossless data compression), tel que l'algorithme de Huffmann, le codage arithmétique ou encore les algorithmes LZ77, LZW. Ainsi, toute altération des données vidéo transmises sera perceptible par l'opérateur de maintenance. A contrario, si l'on utilisait des algorithmes de compression avec pertes (lossy data compression) tels que MPEG-2 ou MPEG-4, une altération de données pourrait se traduire par exemple par une légère perte de résolution, difficilement décelable à l'oeil nu. Avantageusement chaque trame est transmise sous la forme de données d'image bitmap codées sans référence à une trame précédente ou postérieure. En particulier, tout codage différentiel inter-trame est proscrit. Cette mesure permet de parer une attaque portant sur le rafraîchissement des trames. En tout état de cause, les données d'image peuvent également faire l'objet d'un encryptage, par SP33210 EA 13 exemple au moyen d'un algorithme de chiffrement à clé asymétrique. L'utilisation de données d'image bitmap, éventuellement comprimées et encryptées, comme dit plus haut, permet de satisfaire aux exigences de sûreté et de sécurité posées par la certification aéronautique, à savoir un niveau DAL C en matière de sûreté et un niveau EAL 4+ en matière de sécurité. Plus précisément, dans le cadre de la présente invention, seuls les logiciels des pilotes 222, 223 et le cas échéant du pilote 221 auront besoin de satisfaire à cette certification. L'exigence de sûreté vise à prévenir toute corruption ou perte de données qui pourrait résulter d'une panne matérielle ou d'une erreur logicielle (bug). Elle a donc trait à la fiabilité et la stabilité du système de maintenance. L'exigence de sécurité vise essentiellement à se protéger des intrusions malveillantes ou des prises de 20 contrôle non autorisées. Le système selon l'invention satisfait aux deux exigences précitées dans la mesure où un défaut d'intégrité des données d'image bitmap sera décelable par l'opérateur. Il convient de noter que cette 25 corruption sera d'autant plus facilement décelable qu'un algorithme de compression sans pertes aura été appliqué. En effet, dans ce cas l'impact visuel de la corruption est généralement plus important que pour une simple image bitmap. 30 Avantageusement, afin de faciliter la détection d'une corruption, d'une perte de trame ou d'un délai de SP33210 EA 14 latence excessif, il peut être prévu d'effectuer un horodatage (timestamping) des trames avant de les transmettre sur la connexion 250. A la réception par le terminal, le module de sécurité (Security Handler) s'assure de la bonne chronologie de la séquence de trames. Une perte ou un ordre erroné de trames provoque une alerte sur le terminal. Par ailleurs, l'information temporelle contenue dans le jeton d'horodatage joint à la trame pourra servir à piloter une horloge du terminal, avantageusement incrustée sur l'écran. Alternativement, une information temporelle, donnée par une horloge du commutateur, pourra être incrustée par l'application serveur 224 au niveau du tampon de trames. Un arrêt ou une interruption de la transmission de trames se traduisant par un arrêt ou un saut de l'horloge pourra être détecté par l'opérateur. A l'inverse des données vidéo, les actions clavier/souris sont transmises selon un mode asynchrone. Lorsque l'opérateur agit sur la souris (déplacement relatif, clic) en 330, le type d'action capturée et, le cas échéant, le ou les paramètre(s) associé(s) à cette action sont codés en 331 par la couche 246 de l'application 244 puis transmises en 332 sur la connexion 250 au moyen d'un ou de paquet (s) IP. A la réception, l'information est décodée et convertie en un signal série qui est transmis au serveur 110 via une liaison PS/2 ou USB. De manière similaire, lorsque l'opérateur appuie sur une touche du clavier en 340, le code de la touche SP33210 EA 15 mémorisé dans le tampon clavier (keyboard buffer) est encodé en 341 par la couche 246 puis transmis en 342 sur la connexion 250 au moyen d'un paquet IP. A la réception, le code de la touche est décodé puis converti en un signal série qui est transmis au serveur 110 via une liaison PS/2 ou USB. Etant donné que les trames vidéo sont transmises toutes les 20 ms, l'opérateur perçoit en temps réel le résultat de son action sur clavier ou la souris. En cas d'attaque, de panne ou de latence, l'incident sera immédiatement perceptible par l'opérateur. Avantageusement, les actions clavier/souris font l'objet d'un encryptage, en sus de l'encodage du protocole de transmission. Cet encryptage a pour but d'améliorer la résistance des contrôles clavier/souris à des attaques éventuelles. En développant et implémentant des pilotes 223, 222 et, le cas échéant, 221, obéissant aux contraintes de certification précitées, on peut montrer qu'une prise de contrôle du serveur 110 est alors impossible. REVENDICATIONS1. Système informatique de maintenance (100) d'un aéronef comprenant un serveur (110) hébergeant des logiciels de maintenance et au moins un terminal d'accès (140), caractérisé en ce qu'il comprend un commutateur KVM sur IP (120) relié au dit serveur, ledit terminal étant adapté à se connecter au dit commutateur au moyen d'une connexion TCP/IP (250), le terminal comprenant une application cliente (244) et ledit commutateur une application serveur (224), adaptées à mettre en oeuvre un protocole d'accès à distance d'un tampon de trames vidéo (RFB), chaque trame vidéo étant transmise de l'application serveur à l'application cliente sous la forme de données d'image bitmap, non comprimées ou bien comprimées par un algorithme de compression sans pertes. 2. Système informatique de maintenance selon la revendication 1, caractérisé en ce que chaque trame vidéo est transmise de manière indépendante, sans référence à une trame précédente ou postérieure. 3. Système informatique de maintenance selon la revendication 1 ou 2, caractérisé en ce que l'application serveur est adaptée à encrypter lesdites données préalablement à leur transmission sur la connexion TCP/IP.30SP33210 EA 17 4. Système informatique de maintenance selon l'une des revendications précédentes, caractérisé en ce que l'application serveur transmet lesdites trames vidéo avec une fréquence constante prédéterminée. 5. Système informatique de maintenance selon la revendication 4, caractérisé en ce que l'application serveur est adaptée à incruster dans chaque trame vidéo une information temporelle fournie par une horloge locale du commutateur. 6. Système informatique de maintenance selon la revendication 4, caractérisé en ce que l'application serveur est adaptée à horodater lesdites trames vidéo préalablement à leur transmission sur ladite connexion. 7. Système informatique de maintenance selon l'une des revendications précédentes, caractérisé en ce que ledit commutateur comprend des moyens de capture vidéo (221) adaptés à récupérer des trames vidéo dans une carte graphique (GSU) du dit serveur et à les stocker dans un tampon de trames local. 8. Système informatique de maintenance selon l'une des revendications précédentes, caractérisé en ce que l'application cliente est adaptée à encoder un code de touche lorsqu'une touche du clavier du terminal est enfoncée, et à transmettre le code ainsi obtenu au dit commutateur qui le décode et le convertitSP33210 EA 18 en un signal série avant de le transmettre au dit serveur. 9. Système informatique de maintenance selon l'une des revendications précédentes, caractérisé en ce que l'application cliente est adaptée à encoder une action de la souris du terminal, lorsque celle-ci est cliquée ou déplacée, et à transmettre l'action ainsi encodée au dit commutateur qui la décode et la convertit en un signal série avant de le transmettre au dit serveur. 10. Aéronef comprenant un système de maintenance selon l'une des revendications précédentes, ledit aéronef étant partitionné en une zone sécurisée, dite zone avionique, et une zone non sécurisée, dite zone ouverte, caractérisé en ce que le serveur (110) et le commutateur (120) sont installés dans la zone avionique, ledit commutateur étant relié par ailleurs à un LAN (130) situé dans la zone ouverte, le LAN comprenant une pluralité de prises disposées à proximité d'équipements équipés de modules de test intégrés, le terminal (140) pouvant être connecté à l'une quelconque desdites prises pour établir une connexion TCP/IP avec le commutateur (120).