Brevet FR2754079A1 — publié le 19980403

La présente invention concerne un appareil de traitement de données, par exemple un lecteur de cartes (terminal de traitement de cartes), disposé à une porte munie d'un système de gestion d'entrées ou analogue et destiné à l'exécution d'un traitement prédéterminé de données par réception d'une carte à circuit intégré de passager. Le système de gestion d'entrées comporte un appareil de gestion destiné à gérer de façon unitaire des informations relatives à chaque passager, et un lecteur de cartes destiné à loger une carte de circuit intégré de chaque passager et à exécuter un traitement prédéterminé de données pour déterminer si le passager peut entrer ou non. En cas de nécessité, le lecteur de cartes transmet des informations d'identification à l'appareil de gestion de données et inversement, pendant le traitement prédéterminé des données. Un lecteur de cartes comporte une unité à microprocesseur destinée à la commande essentielle du fonctionnement du lecteur de cartes, une mémoire destinée à stocker le programme de commande du fonctionnement de l'unité à microprocesseur, une mémoire destinée à conserver des données destinées à être utilisées pendant le fonctionnement de l'unité à microprocesseur, un circuit d'interface (circuit d'interface externe) placé entre le lecteur de cartes et un appareil extérieur, tel qu'un appareil de gestion de données, et un circuit d'interface de carte destiné à recevoir la carte introduite par le passager pour lire les informations de la carte pour écrire des informations sur la carte. Lorsque le lecteur de cartes est mis sous tension et l'unité à microprocesseur est libérée après réarmement, cette unité lit les programmes et les données d'une zone prédéterminée de mémoire et fonctionne d'après le programme lu. Pendant ce temps, le programme est conservé dans une mémoire morte (ou une mémoire permanente dans laquelle aucune donnée n'est écrite lors du fonctionnement normal), si bien que le fonctionnement du lecteur est déterminé lorsque la carte est insérée dans le lecteur. Ainsi, si l'utilisateur peut changer le programme après que le système a commencé à fonctionner, la mémoire elle-même doit être remplacée. Récemment, le programme a pu être changé sans changement de la mémoire même après la mise sous tension du système, par lecture d'un nouveau programme provenant d'un appareil extérieur par l'intermédiaire du circuit externe d'interface destiné à écrire dans la mémoire. Dans l'appareil classique de lecture d'informations, tel qu'un lecteur de cartes, cependant, tous les programmes d'exécution destinés à déterminer le fonctionnement de l'appareil sont conservés dans une mémoire permanente, par exemple une mémoire morte (y compris une mémoire EPROM ou EEPROM) dans laquelle les données ne sont pas perdues même si l'appareil est mis hors tension. Ainsi, lorsqu'on veut qu'un programme d'exécution soit modifié, la mémoire permanente elle-même doit être remplacée, ou un nouveau programme doit être réécrit dans la mémoire. La même remarque s'applique au cas dans lequel une partie seulement de l'application du programme de traitement des informations transmises entre le lecteur et l'appareil extérieur doit être changée sans changement des micro-instructions (c'està-dire d'une partie du programme de commandes des opérations fondamentales des circuits matériels). Les opérations de remplacement et de réécriture nécessitent une longue période pour être exécutées. En outre, si l'appareil dans lequel le programme d'exécution est conservé dans une mémoire permanente est volé, le programme peut être facilement analysé et utilisé dans un but illégal. Un tel appareil pose ainsi un problème de sécurité. L'objet de la présente invention est la réalisation d'un appareil de traitement de données présentant une sécurité élevée, et permettant d'empêcher l'utilisation des programmes de traitement de données et des données pour un usage illégal. L'invention concerne un appareil de traitement de données qui comporte un dispositif destiné à recevoir de l'énergie d'alimentation de l'extérieur de l'appareil et à effacer un programme conservé dans la mémoire non permanente lorsque l'alimentation est interrompue, un dispositif destiné à recevoir le programme d'un appareil extérieur et à mémoriser le programme dans une mémoire non permanente n'ayant pas de batterie de secours, et un dispositif de traitement de données en fonction du programme mémorisé. Au cours du traitement classique de données, le programme de traitement de données écrit dans une mémoire morte est facilement copié lorsqu'un lecteur de cartes à circuit intégré est volé. Grâce à la structure précitée selon l'invention, lorsqu'un lecteur de cartes à circuit intégré est volé, l'alimentation depuis 11 extérieur est interrompue si bien que le programme de traitement de données conservé dans le dispositif de mémoire, par exemple une mémoire à accès direct n'ayant pas de batterie de secours, est perdu. Ainsi, l'invention donne une sécurité élevée à l'appareil de traitement de données, par exemple un lecteur de cartes. L'invention concerne aussi un appareil de traitement de données qui comporte un dispositif destiné à recevoir un programme de traitement de données provenant d'un appareil extérieur et à mémoriser le programme dans une mémoire non permanente qui n'a pas de batterie de secours, un dispositif de traitement des données en fonction du programme mémorisé, un dispositif destiné à recevoir de l'énergie d'alimentation depuis l'extérieur de l'appareil et à effacer le programme conservé dans la mémoire non permanente lorsque l'alimentation est interrompue, et un dispositif recevant un programme crypté pour le traitement de données depuis l'appareil extérieur et de mémorisation du programme crypté dans la mémoire non permanente qui n'a pas de batterie de secours. L'appareil précité de traitement de données a le même effet que l'appareil précédent, c'est-à-dire que le programme est perdu lorsque l'alimentation de l'appareil est interrompue. En outre, l'appareil de traitement de données reçoit des programmes cryptés d'un appareil extérieur tel qu'un ordinateur hôte, et synthétise les programmes cryptés et les mémorise dans un dispositif à mémoire, par exemple à accès direct. Ainsi, l'appareil selon l'invention donne une sécurité remarquablement élevée même lorsque le programme et les données sont conservés dans le dispositif de mémoire. Les hommes du métier peuvent aussi noter que le même avantage peut aussi être obtenu par mise en oeuvre du procédé selon l'invention. D'autres caractéristiques et avantages de l'invention seront mieux compris à la lecture de la description qui va suivre d'exemples de réalisation, faite en référence aux dessins annexés sur lesquels les figures 1A, 1B et 1C sont des vues schématiques de structures de lecteurs de cartes (appareils de traitement de données) dans un mode de réalisation de l'invention, utilisées dans un système de gestion d'entrées la figure 2 représente les affectations des données dans une zone de mémoire permanente et une zone de mémoire non permanente n'ayant pas de batterie de secours la figure 3 est un ordinogramme utile pour la description des étapes mises en oeuvre par utilisation d'un indicateur d'état de chargement, d'une table de commandes, d'une table de vecteurs de commandes de traitement de données de l'appareil de traitement de données selon l'invention la figure 4 est un ordinogramme illustrant les étapes de traitement de l'appareil de traitement de données selon l'invention lorsque les données ne sont pas conservées dans la mémoire non permanente la figure 5 est un ordinogramme utile pour la description des étapes de traitement exécutées dans l'appareil de traitement de données selon l'invention lorsque les données sont conservées dans la mémoire non permanente la figure 6 est un ordinogramme utile pour la description des étapes de traitement de l'appareil de traitement de données selon l'invention lorsque les données transmises par l'appareil de traitement de données et l'appareil hôte, représentés sur les figures 1A à 1C, sont cryptées la figure 7 est un ordinogramme utile pour la description des étapes de traitement de l'appareil de traitement de données selon l'invention, lorsque les données transmises entre l'appareil de traitement de données et l'appareil hôte représentés sur les figures 1A à 1C sont cryptées la figure 8 est un ordinogramme utile pour la description des étapes mises en oeuvre par l'appareil de traitement de données selon l'invention lorsque les données transmises entre l'appareil de traitement de données et l'appareil hôte représentés sur les figures 1A à 1C sont cryptées ; et la figure 9 est un ordinogramme utile pour la description des étapes de traitement réalisées avec des données de clé de cryptage. Les figures 1A, 1B et 1C représentent des éléments principaux d'un lecteur de cartes utilisé dans un système de gestion d'entrées, par exemple dans la vue schématique de la structure de l'appareil de traitement de données dans un mode de réalisation de l'invention. Le lecteur de cartes CR représenté sur la figure 1A comporte une unité à microprocesseur 1 destinée à commander toutes les opérations du lecteur de cartes, une mémoire permanente 2, une mémoire non permanente 3 qui n'a pas de batterie de secours, un circuit d'interface extérieur 4 et un circuit d'interface 5 avec la carte. Ces éléments sont connectés les uns aux autres par un bus 6 d'adresse et un bus 7 de données. Le lecteur de cartes reçoit de l'énergie d'une alimentation C en courant alternatif placée à l'extérieur de l'appareil par l'intermédiaire d'une connexion à code 10 d'alimentation sans élément intermédiaire. L'énergie de l'alimentation alternative est transformée en courant continu à 12 V utilisé comme alimentation du lecteur de cartes CR et en particulier comme alimentation de la mémoire non permanente 3 qui n'a pas de batterie de secours. On utilise, comme mémoire non permanente 3, un dispositif de mémoire dont les données sont perdues lorsque l'alimentation disparaît. Tout dispositif de mémoire, tel qu'une mémoire à accès direct de type général statique ou dynamique, peut être utilisé lorsque le dispositif de mémoire n'a pas de batterie permettant l'alimentation pour la conservation des données. Lorsque le lecteur de cartes CR ayant une telle mémoire est volé, c'est-à-dire séparé de la connexion à code 10 d'alimentation et isolé de l'alimentation, le programme de traitement de données conservé dans la mémoire non permanente 3 qui n'a pas de batterie de secours est perdu. En conséquence, grâce à l'utilisation d'un tel dispositif de mémoire, la sécurité du programme de traitement de données peut être obtenue. La mémoire permanente 2 conserve au préalable le programme fondamental (par exemple des micro-instructions, c'est-à-dire un programme d'exécution des opérations qui dépendent du matériel) dans le lecteur de cartes. Le circuit d'interface extérieur 4 est destiné au circuit d'interface formé entre le lecteur de cartes et un appareil hôte 8. La mémoire non permanente 3 conserve le programme et les données provenant de l'appareil hôte 8 par le circuit d'interface externe 4. Le circuit d'interface 5 avec la carte reçoit un support portatif P d'enregistrement d'informations (appelé dans la suite "carte"), par exemple une carte à circuit intégré donnée à chacun des passagers. Le circuit 5 d'interface de carte lit les données prédéterminées nécessaires à la détermination du fait que le passager peut passer ou écrit le cas échéant les données dans la carte. L'unité à microprocesseur 1 exécute le traitement des données, par exemple l'identification, d'après le programme et les données conservés dans la mémoire permanente 2 au préalable et le programme et les données transmis par l'ordinateur hôte 8 et conservés dans la mémoire non permanente 3 uniquement pendant la période au cours de laquelle l'appareil fonctionne. La figure 1B représente aussi un appareil de traitement de données ayant la même structure que 1 l'appareil de la figure lA, mis à part l'alimentation. Sur la figure lB, un courant alternatif à 100 V est transmis par une alimentation alternative et est transformé par une alimentation exté- rieure 11 en un courant continu de 12 V par exemple. Ce courant continu de 12 V est transmis à la mémoire non permanente 3 qui n'a pas de batterie de secours par un connecteur d'alimentation 15, sans élément intermédiaire. Bien entendu, tous les éléments autres que le lecteur de cartes CR, c'est-à-dire l'unité à microprocesseur 1, la mémoire permanente 2 et le circuit d'interface externe 4, sont alimentés en courant continu à 12 V. En outre, dans le lecteur de cartes de la figure lB, lorsque le courant continu provenant de la connexion à code d'alimentation 11 en énergie est interrompu à la suite d'un vol ou analogue, le programme de traitement de données conservé dans la mémoire non permanente 3 qui n'a pas de batterie de secours est perdu, comme dans le cas de la figure 1A. En outre, le lecteur de cartes CR représenté sur la figure 1C reçoit de l'énergie de lordinateur hôte 8 par l'intermédiaire d'un câble 17 de connexion, et le courant continu à 12 V par exemple est utilisé pour l'alimentation du lecteur de cartes. La figure 12 représente les affectations de données des zones de la mémoire permanente 2 et de la mémoire non permanente 3 qui n'a pas de batterie de secours. Sur la figure 2, la zone de mémoire qui forme la mémoire permanente 2 est appelée zone de mémoire A, et la zone de mémoire qui forme la mémoire non permanente 3 est appelée zone de mémoire B. La zone de mémoire A conserve les programmes d'exécution des opérations fondamentales qui dépendent beaucoup du matériel du lecteur de cartes CR et des données nécessaires aux opérations fondamentales. Dans une zone de mémoire MA, le sous-programme de "vérification-initialisation automatique", exécuté lorsque le lecteur de cartes CR est mis sous tension, et le sous-programme de transmission de données échangé entre l'appareil hôte 8 et les autres appareils extérieurs, sont conservés. Une zone de mémoire MA2 possède une table 31 de commandes qui contient des adresses 35 de table de vecteurs destinée à indiquer les adresses des sous-programmes de traitement des commandes, tels que les commandes ou sousprogrammes 49, 51 et 53 qui sont conservés dans la zone B de mémoire et correspondent à chaque code de commande 33 (01, 02, 03, ...) transmis par l'appareil hôte 8. Une zone de mémoire MA3 conserve un programme 39 d'exécution d'un programme qui contient les commandes d'instructions de mémorisation d'un programme dans une mémoire non permanente n'ayant pas de batterie de secours. Il s'agit de la caractéristique essentielle de l'invention. La zone de mémoire MA3 conserve aussi un programme 39 de commandes à des autres opérations fondamentales. Une zone MA4 de mémoire contient des données 40 de clé de cryptage par défaut destinées à la synthèse des programmes. La zone B de mémoire contient le programme et les données 57 transmis de l'appareil hôte 8 par le circuit d'interface 4. La zone de mémoire MB2 contient une table de vecteurs de commande 43 dont les adresses sont représentées dans la table 31 de commandes de la zone de mémoire MA2. La table 43 indique des adresses 45 auxquelles saute un programme à partir de la zone A de mémoire, et les adresses de début des sous-programmes de traitement des commandes dans la zone B de mémoire. La table 43 est remise à jour au moment nécessaire lorsque le programme et les données 57 sont transmis par l'appareil hôte 8. La zone MB3 de programme contient les sous-programmes de traitement des commandes 49, 51 et 53, dont les adresses initiales sont spécifiées par la table des vecteurs de commande. La zone de mémoire MB4 est utilisée comme zone de travail 55 lorsque l'unité à microprocesseur 1 fonctionne. La zone de mémoire MB5 est utilisée comme zone dans laquelle le programme et les données 57 autres que les sousprogrammes exécutés sont conservés. Un indicateur 41 d'état de chargement conservé dans une zone de mémoire MB1 est destiné à indiquer l'état de chargement du programme ou des données transmis par l'appareil hôte 8. L'indicateur 41 d'état de chargement est levé dans le cas où tous les programmes destinés à être transmis par l'appareil hôte 8 sont reçus. L'indicateur 41 d'état de chargement est mis à "1" à ce moment et remis à "0' aux autres moments. Lorsque l'indicateur 41 est baissé, la zone de mémoire 30 ne peut pas être atteinte. Pendant ce temps, le traitement utilisant les sous-programmes de traitement de commandes conservés dans la zone de mémoire B ne peut pas non plus être exécuté. La zone de mémoire B comprend la mémoire non permanente 3 sans batterie de secours et n'est occupée par aucun programme ou aucune donnée lorsque le lecteur de cartes est mis sous tension. En outre, lorsque le lecteur de cartes est séparé de l'alimentation (alimentation alternative à 100 V ou alimentation en courant continu à 12 V provenant de l'appareil hôte), le programme de traitement de données et les données conservés dans la zone B de mémoire sont perdus. En conséquence, lorsque le programme est conservé dans la mémoire non permanente, la sécurité du programme de traitement de données peut être assurée même si le lecteur de cartes est volé. On décrit maintenant le fonctionnement de l'appareil de traitement de données représenté sur les figures 1A, 1B et 1C en référence à l'ordinogramme de la figure 3. Lorsque l'appareil est mis sous tension (pas Sol), l'unité à microprocesseur 1 a accès à une adresse prédéterminée de la mémoire permanente 2, c'est-à-dire la zone de mémoire A, à partir de laquelle le programme commence (pas S2) . A ce moment, l'unité à microprocesseur 1 lit le programme d'initialisation et de vérification automatique dans la zone de mémoire MA1 et exécute les étapes d'initia- lisation et de vérification automatique en fonction du programme (S3 et S4). L'unité à microprocesseur 1 commence alors à attendre les commandes transmises par l'appareil extérieur 8. En cas de détection d'erreur pendant l'étape de vérification automatique, le fonctionnement du système est interrompu (pas S5, S6). Lorsqu'aucune erreur n'est détectée pendant l'étape de vérification automatique, l'unité à microprocesseur 1 a accès à la zone de mémoire MB1 pour vérifier si la valeur de l'indicateur d'état de chargement est un "1" ou un "0" (pas S7). Lorsque le programme et les données nécessaires au fonctionnement ne sont pas chargés, l'indicateur d'état de chargement reste baissé (pas S8) et le pas S9 est ensuite exécuté. Lorsque l'indicateur d'état de chargement est levé (pas S8), le pas S13 est exécuté. Au pas S9, le programme saute à une adresse prédéterminée de la zone de mémoire A afin qu'il soit exécuté de façon continue puis attend la commande de 11 appareil hôte 8 (pas S10). Lorsque la commande est transmise par l'appareil hôte 8 (pas S11), un module A de traitement de commande conservé dans la zone de mémoire A est exécuté (pas S12). Lorsque l'alimentation qui est en dehors de l'appareil est déconnectée de l'appareil (pas S21), le programme de traitement de données conservé dans la zone 3 de mémoire non permanente est perdu puisque cette zone 3 n'a pas de batterie de secours. Le lecteur de cartes conservant le programme peut donc avoir une grande sécurité de cette manière. La figure 4 est un ordinogramme représentant les étapes du procédé mis en oeuvre dans l'appareil de traitement de données et de programme selon l'invention lorsqu'aucune donnée n'est conservée dans la mémoire non permanente. Comme l'indique la figure 4, le contenu de la commande reçue est identifié initialement dans le module A de traitement de commande (pas S12-1) et le fait que la commande est la commande de mémorisation du programme, c'est-à-dire si la commande est une commande indiquant de charger le programme et les données de l'appareil hôte 8 ou non est déterminé (pas S12-2). Lorsque le programme donne une commande autre que la commande de mémorisation du programme (code de commande "04", "05" par exemple), le traitement normal des commandes est exécuté (pas S12-3). Après le traitement de la commande, la réponse est transmise à l'appareil hôte 8 (pas S12-4) pour indiquer que la commande transmise est traitée. Plus précisément, après traitement de la commande, le programme saute à la première adresse ("PP" dans le cas du code de commande "04") du sous-programme de traitement des commandes de la table de commandes, et l'unité à microprocesseur 1 traite alors la commande en fonction du programme (sousprogramme), prépare la réponse constituant le résultat d'exécution, et transmet la réponse à l'appareil hôte 8. Lorsque le programme est la commande de mémorisation de programme, le traitement de mémorisation de programme destiné à charger le programme conservé dans la zone de mémoire A vers la zone de mémoire B est exécuté (pas S12-5). A ce moment les données et le programme conservés à l'adresse spécifiée par la commande de mémorisation de programme et ayant la quantité de bits spécifiée par la commande de mémorisation de programme sont transmis par l'appareil hôte 8 et sont conservés dans les zones MB3 et MB5 de la zone de mémoire B. Lorsque toutes les données et le programme à charger ont été transmis (pas S12-6), les articles de la table MB2 de vecteurs de commande, correspondant aux données et au programme chargés, sont remis à jour et l'indicateur d'état de chargement MB1 est levé (pas S12-7). La réponse est alors transmise à l'appareil hôte 8 (pas S12-4). Grâce à l'exécution des étapes précitées S12-5 à S12-7, le chargement du programme et des données est terminé dans la zone de mémoire B. En outre, lorsque toutes les données et tout le programme nécessaires au fonctionnement du lecteur de cartes sont chargés à partir de l'appareil hôte 8 au pas S8 (c'està-dire lorsque l'indicateur d'état de chargement est levé), le programme saute à une adresse prédéterminée de début de programme dans la zone de mémoire B (pas S13), puis attend la commande de l'appareil hôte 8 (pas S14). Lorsque la commande de l'appareil hôte 8 est transmise à l'unité à microprocesseur 1 (pas S15), le module B de traitement de commande conservé dans la zone de mémoire B est exécuté (pas S16). La figure 5 est un ordinogramme représentant les étapes du traitement de l'appareil de traitement de données selon l'invention lorsque le programme et les données sont conservés dans la mémoire non permanente. Comme l'indique la figure 5, le contenu de la commande reçue est identifié initialement dans le module B de traitement de commande (pas S16-1) et le fait que la commande est la commande de mise à 0 à force de l'indicateur d'état de chargement ou non est déterminé : il s'agit de la commande de mise à 0 de l'indicateur d'état de chargement (pas S16-2). Lorsque le programme représente la commande autre que la commande de réarmement de l'indicateur d'état de chargement, le traitement normal de la commande est exécuté (pas S16-3). Après que la commande a été traitée, la réponse est transmise à l'appareil hôte 8 (pas S16-4). Lors du traitement normal des commandes exécuté au pas S16-3, le fait que le programme et les données correspondant à la commande sont chargés dans la zone de mémoire B ou non est déterminé. Lorsque le programme et les données n'ont pas été chargés, le pas S16-4 est exécuté pour la préparation d'une réponse d'erreur indiquant ce fait à l'appareil hôte 8. Lorsque le programme et les données correspondants ont été chargés, la table des vecteurs de commande représentée sur la figure 2 est appelée pour l'obtention de l'adresse initiale du sous-programme de traitement des commandes. A l'adresse initiale, le traitement des commandes est exécuté. Par exemple, si le code de commande est réglé à "01", la table de commandes indiquée sur la figure 2 est appelée afin qu'elle donne une adresse "AA". Ensuite, le programme saute à l'adresse réelle initiale "aaaa" du sous-programme de traitement des commandes obtenue en référence à la table des vecteurs de commande dans la zone de mémoire B. Après saut à l'adresse aaaa, le pas S16-4 est exécuté pour la préparation d'une réponse ou résultat du traitement et pour la transmission de la réponse à l'appareil hôte 8. Lorsque la commande reçue est la commande de mise à 0 de l'indicateur d'état de chargement qui a été trouvé au pas S16-2, le pas S16-5 est exécuté pour la remise à 0 de l'indicateur d'état de chargement dans la zone de mémoire B. Ensuite, le pas S16-5 est exécuté pour la préparation de la réponse en fonction du traitement et pour sa transmission à l'appareil hôte 8. Comme décrit précédemment, une partie ou de préférence toutes les parties du programme de traitement de commandes de l'appareil extérieur sont chargées dans la mémoire non permanente 3 qui n'a pas de batterie de secours chaque fois que l'appareil est mis sous tension, si bien que les sousprogrammes de traitement ne peuvent pas être facilement lus dans un but illégal lors d'un vol du lecteur de cartes. En outre, dans la table de commandes de la mémoire permanente 2, il existe simplement des codes de commande et des adresses correspondantes de la table des vecteurs de commande de la mémoire non permanente 3, sans information détaillée sur les commandes. Ainsi, de nouveaux codes de commande qui ne sont pas utilisés à ce moment mais qui seront utilisés à l'avenir peuvent être facilement ajoutés par simple chargement des sous-programmes de traitement des commandes correspondant aux codes de commande dans la mémoire non permanente 3 lorsque les codes de commande et les adresses correspondantes de la table de vecteurs de commande sont conservés au préalable dans la table de commandes de la mémoire permanente. Lorsqu'un utilisateur pense que la commande n'est pas nécessaire, celle-ci n'est pas chargée. En outre, dans ce procédé de traitement, les codes de commande et la fonction obtenue de cette manière peuvent être combinés librement. Cette caractéristique est particulièrement avantageuse lorsque l'appareil de traitement de données selon l'invention est incorporé à différents systèmes dans différents buts et le code de commande doit être différent, bien que la fonction de la commande soit la même dans tous les systèmes. Grâce à l'indicateur d'état de chargement placé dans la zone de mémoire B qui se trouve dans la mémoire non permanente 3, cette mémoire ne nécessite pas un accès non convenable même si la commande qui doit utiliser le programme et les données qui sont conservés dans la zone de mémoire B est transmise par l'ordinateur hôte 8, par utilisation de la mémoire permanente 2 et de la mémoire non permanente 3 avantageusement de la manière décrite. Par ailleurs, si toutes les données et tout le programme transmis par l'appareil hôte 8 sont cryptés, les données qui doivent être protégées avec une grande sécurité ne peuvent pas être simplement prélevées lors de leur transmission. A cet effet, on décrit dans la suite, en référence à l'ordinogramme de la figure 6, le cas dans lequel toutes les données et tout le programme transmis entre l'appareil de traitement de données (lecteur de cartes CR) et l'appareil hôte 8 sont cryptes. Dans le cas décrit précédemment, lorsque l'appareil est mis sous tension (pas S31), l'unité à microprocesseur 1 a accès à une adresse prédéterminée de la mémoire permanente 2 (c'est-à-dire la zone de mémoire A) dans laquelle le programme est lancé (pas S2). Pendant ce temps, l'unité à microprocesseur 1 lit le programme d'initialisation et de vérification automatique dans la zone de mémoire MA1 et exécute des opérations prédéterminées d'après le programme (pas S32 et S33). L'unité à microprocesseur 1 commence alors à attendre les commandes destinées à être transmises depuis l'appareil extérieur 8 (pas S36). Si une erreur quelconque est détectée par la vérification automatique, le fonctionnement du système est interrompu (pas 534, S35). Lorsque la commande est transmise par l'appareil hôte 8 (pas S37), le contenu de la commande transmise est vérifié pour déterminer si la commande est la commande de mémorisation de programme ou non, c'est-à-dire si la commande indique de charger le programme crypté et les données cryptées à partir de l'ordinateur hôte 8 (pas S38). Lorsque la commande est autre que la commande de mémorisation du programme (le code de commande "04", "05" indiqué sur la figure 2 par exemple), le traitement normal de commande est exécuté (pas S39). Après traitement de la commande, la réponse est transmise à l'ordinateur hôte 8 (pas S40). Le programme saute à la première adresse ("PP" dans le cas du code de commande "04") du sous-programme de traitement des commandes décrit sur la table de commandes. L'unité à microprocesseur 1 exécute le traitement des commandes en fonction du programme, prépare la réponse du résultat de l'exécution puis transmet l de la zone de mémoire B (pas S43). A ce moment, le programme crypté au moins est décrypté à l'aide des données de clé de cryptage conservées à une adresse ffff dans la zone de mémoire MB6 (S42). Lorsque le programme et les données cryptés ont été entièrement transmis (pas 544), les articles de la table de vecteurs de commande, correspondant aux programme et données chargés, sont remis à jour et l'indicateur d'état de chargement est levé (pas S45). La réponse est alors transmise à l'ordinateur hôte 8 (pas S40). On décrit maintenant, en référence à l'ordinogramme de la figure 7, le fonctionnement lorsqu'une commande autre que la commande de mémorisation de programme est transmise par l'appareil hôte 8. Sur la figure 7, des références identiques à celles de la figure 6 sont utilisées pour désigner des étapes identiques et leur description est omise. Les étapes S31 à S37 de la figure 7 sont les mêmes que sur la figure 6. Les étapes S50 à S57 ne sont pas représentées sur la figure 6 et on les décrit dans la suite. Lorsque le code de commande est "01", la récupération est réalisée dans la table de commandes MA2 pour l'obtention d'une adresse "AA" (pas S51). Si le code de commande voulu n'existe pas dans la table de commandes ou si l'adresse correspondant au code de commande n'existe pas dans la table des vecteurs de commande, la réponse indiquant une erreur de récupération de commande est préparée (pas S52) et est transmise à l'appareil hôte (pas S61). Si l'alimentation est interrompue depuis l'extérieur de l'appareil (S21), le programme de traitement conservé dans la zone 3 de mémoire non permanente sans batterie de secours est perdu, comme dans le cas représenté sur la figure 6. Le lecteur de cartes présente alors une sécurité élevée. Lorsque l'adresse de la table des vecteurs de commande se trouve dans la zone de mémoire B (pas S53), le pas S55 est ensuite exécuté. Lorsque l'adresse contenue dans la table des vecteurs de commande se trouve dans la zone de mémoire A, le pas S54 est exécuté pour l'exécution du sous programme de traitement de commandes, et la réponse formant le résultat de l'exécution, informant du résultat, est préparée pour être transmise à l'ordinateur hôte 8 (pas S61). Au pas S55, la valeur de l'indicateur d'état de chargement conservée dans la zone de mémoire MB1 est vérifiée. Lorsque l'indicateur d'état de chargement est levé (pas S56), le pas S58 est ensuite exécuté. Lorsque l'indicateur d'état de chargement reste à réarmer, la réponse indiquant l'erreur (réponse d'erreur d'état d'exécution) est préparée (pas S60) pour être transmise à l'appareil hôte 8 (pas S61). Les étapes suivantes sont représentées sur la figure 8. Au pas S58, la récupération est exécutée dans la table des vecteurs de commande pour l'obtention de l'adresse à laquelle se trouve le sous-programme de traitement de commandes en fonction de l'adresse de la table des vecteurs de commande, correspondant au code de commande reçu, obtenue par récupération dans la table de commandes. Lorsque l'adresse est atteinte pour le traitement de la commande, les données nécessaires à l'exécution du traitement (c'està-dire des données cryptées qui n'ont pas encore été cryptées à ce moment) sont décryptées à l'aide des données de clé de cryptage conservées à l'adresse ffff de la zone de mémoire MB1 par exemple (pas S59). Un traitement prédéterminé des commandes est exécuté à l'aide du sous-programme de traitement des commandes qui a déjà été décrypté et des données décryptées au pas S59, et la réponse correspondante est préparée (pas S60) et est transmise à l'appareil hôte 8 (pas S61). On décrit maintenant le fonctionnement de l'appareil de traitement de données (lecteur de cartes CR) à l'aide des données de clé de cryptage en référence à l'ordinogramme de la figure 9. Comme dans les cas précédents, lorsque l'appareil est mis sous tension (pas S71), l'unité à microprocesseur 1 a accès à une adresse prédéterminée de la mémoire permanente 2, c'est-à-dire de la zone de mémoire A à partir de laquelle commence le programme. A ce moment, l'unité à microprocesseur 1 lit le programme d'initialisation et de vérification automatique dans la zone de mémoire MA1 et exécute les étapes d'initialisation et de vérification automatique d'après le programme lu. L'unité à microprocesseur 1 commence alors à attendre les commandes à transmettre à partir de l'appareil extérieur 8 (pas S73). Lorsque l'étape d'initialisation est exécutée, la mémoire de la zone B est vidée à ce moment. Lorsque la commande est transmise par l'appareil hôte 8 (pas S74), le contenu de la commande transmise est vérifié pour la détermination du fait que le traitement de la commande demandé par la commande doit être crypté-décrypté ou non (pas S75). Lorsque la commande doit être cryptée-décryptée, le pas S76 est exécuté pour la vérification du fait que la clé correspondante de cryptage est conservée dans la zone de mémoire B ou non. Lorsqu'aucune clé de cryptage n'a été transmise par l'appareil hôte 8 jusqu'à présent, les données de clé de cryptage par défaut conservées dans la zone de mémoire MA4 au préalable sont désignées comme données actuelles de clé de cryptage (pas S78) et le pas S80 est exécuté. Lorsqu ' une nouvelle clé de cryptage transmise par l'appareil hôte 8 est conservée dans la zone de mémoire B, les données mémorisées de clé de cryptage sont désignées comme données actuelles de clé de cryptage (pas S79), et le pas S80 est exécuté. Au pas S80, la commande transmise est vérifiée pour la détermination du fait que la commande est la commande de chargement des données de clé de cryptage ou non. Lorsque la commande est effectivement la commande de chargement des données de clé de cryptage, le pas S81 est exécuté pour la réception de nouvelles données de clé de cryptage de l'appareil hôte 8, et la mémorisation des nouvelles données de clé de cryptage dans une zone prédéterminée de la zone de mémoire B. Lorsque la commande n'est pas la commande de chargement des données de clé de cryptage, le traitement normal des commandes est exécuté. Lorsque la commande doit être cryptée-décryptée pour le traitement, les données actuelles de clé de cryptage désignées au pas S78 ou S79 sont utilisées pour le cryptage-décryptage de la commande. Après la fin du traitement normal des commandes, la réponse indiquant le résultat du traitement est préparée et est transmise à l'appareil hôte 8 (pas S83). Si l'alimentation est interrompue depuis l'extérieur de l'appareil (pas S21), le programme de traitement conservé dans la zone de mémoire non permanente 3 n'ayant pas de batterie de secours est perdu comme dans le cas représenté sur la figure 6. Le lecteur de cartes a donc ainsi une grande sécurité. En outre, comme dans le cas où des données de clé de cryptage doivent être changées, les informations d'identification utilisées lorsque le lecteur de cartes CR et la carte P s'identifient mutuellement peuvent aussi être changées simplement par insertion de la carte P dans le lecteur de cartes CR. La carte P peut être très facilement perdue et utilisée dans un but illégal. Il est donc très efficace au point de vue de la sécurité de changer les informations d'identification très facilement de cette manière. Comme décrit précédemment, le programme et les données déchargés depuis l'appareil hôte 8 sont cryptés et, lorsque l'appareil de traitement de données (lecteur de cartes CR) les reçoit, le programme au moins est décrypté et conservé dans la zone de mémoire B. Selon l'invention, les données cryptées dans le traitement des commandes sont décryptées obligatoirement si bien que la sécurité, lorsque les données et le programme sont transmis par l'appareil hôte 8 à l'appareil de traitement de données (lecteur de cartes CR), est assurée. En outre, lorsque la commande est cryptée dans le traitement des commandes, les données de clé de cryptage utilisées pour le traitement des commandes sont remises à jour par remplacement par des données de clé de cryptage qui viennent d'être téléchargées par l'appareil hôte 8. Lorsque les données de clé de cryptage ont été volées, de nouvelles données de clé de cryptage sont téléchargées par l'appareil hôte 8, et les données volées de clé de cryptage ne peuvent pas être utilisées de manière répétée. Ainsi, non seulement la sécurité de l'appareil de traitement de données mais aussi la sécurité du système comprenant l'appareil de traitement de données peuvent être accrues. En conséquence, l'invention concerne un appareil de traitement de données qui peut facilement changer le programme d'exécution, qui empêche une utilisation illégale du programme d'exécution et des données, et qui accroît la sécurité du programme et des données. Bien entendu, diverses modifications peuvent être apportées par l'homme de l'art aux appareils et procédés qui viennent d'être décrits uniquement à titre d'exemple non limitatif sans sortir du cadre de l'invention. REVENDICATIONS 1. Appareil de traitement de données, caractérisé en ce qu'il comprend un dispositif (9, 15, 17, 19, S23) de réception d'énergie d'alimentation depuis l'extérieur de l'appareil et d'effacement d'un programme conservé dans une mémoire non permanente lorsque l'alimentation est interrompue, un dispositif (1, 2, 3, 4, S12-5) destiné à recevoir le programme d'un appareil extérieur (8) et à mémoriser le programme dans la mémoire non permanente (3) qui n'a pas de batterie de secours, et un dispositif (1, 2, 3, 5, S16-3) de traitement des données en fonction du programme mémorisé. 2. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif d'effacement de programme comporte un dispositif (9, S21, S23) destiné à recevoir un courant alternatif depuis l'extérieur de l'appareil, à transformer le courant alternatif en un courant continu ayant une tension prédéterminée pour l'alimentation de la mémoire non permanente, et à effacer le programme conservé dans la mémoire non permanente lorsque l'alimentation alternative est interrompue. 3. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif d'effacement de programme comporte un dispositif (17, 19, S21, S23) destiné à recevoir de l'énergie prédéterminée d'alimentation de l'appareil extérieur, à transmettre l'énergie prédéterminée d'alimentation à la mémoire non permanente, et à effacer le programme conservé dans la mémoire non permanente lorsque l'alimentation prédéterminée est interrompue. 4. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de mémorisation de programme comporte un dispositif (1, 2, 3, 4, S12-5, S41) destiné à recevoir les données pour le traitement des données provenant de l'appareil extérieur, et à mémoriser les données reçues dans la mémoire non permanente (3) qui n'a pas de batterie de secours. 5. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de mémorisation de programme comporte un dispositif (31, 32, 35, S12-5, S41) de mémorisation dans la mémoire permanente (2) d'une première information de correspondance (31) ayant plusieurs commandes (33) transmises depuis l'extérieur de l'appareil et plusieurs éléments (35) d'information d'adresse correspondant respectivement aux diverses commandes, et un dispositif (43, 47, 49, 51, 53, S12-5, S41) destiné à mémoriser, dans la mémoire non permanente, la seconde information de correspondance (43) ayant les éléments d'information d'adresse (35, 45) de la première information de correspondance et les éléments d'information d'adresse (47) de plusieurs sous-programmes correspondant respectivement aux éléments d'information d'adresse de la première information correspondante, et plusieurs sous-programmes (49, 51, 53) correspondant aux éléments d'information d'adresse de sousprogramme (47). 6. Appareil de traitement de données selon la revendication 5, caractérisé par un dispositif (1, 2, 3, 43, 47, 49, 51, S12-3, S16-3, S82) destiné à recevoir l'une des commandes depuis l'extérieur et à exécuter l'un des sousprogrammes qui correspond à la commande transmise. 7. Appareil de traitement de données selon la revendication 1, caractérisé en ce qu'un dispositif (41, S12-5, S41) est destiné à mémoriser l'information (41) en mémoire non permanente représentant le fait que le programme transmis par l'appareil extérieur a été conservé dans la mémoire non permanente (3) ou non. 8. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de mémorisation de programme comprend un dispositif (31, 33, 35, S12-5, S41) destiné à conserver dans la mémoire permanente une première information de correspondance (31) ayant plusieurs commandes (33) transmises depuis l'extérieur et plusieurs éléments d'information d'adresse (35) qui leur correspondent, un dispositif (43, 47, 49, 51, 53, S12-5, S41) destiné à mémoriser dans la mémoire non permanente la seconde information de correspondance (43) ayant l'information d'adresse (35, 45) de la première information de correspondance et l'information d'adresse (47) de plusieurs sous-programmes correspondant chacun à l'information d'adresse de la première information correspondante et plusieurs sous-programmes (49, 51, 53) correspondant à l'information d'adresse (47) des sous-programmes, un dispositif (41, S12-5, S41) destiné à mémoriser dans la mémoire non permanente l'information (41) de fin de mémorisation indiquant si le programme transmis par l'appareil extérieur a été conservé dans la mémoire non permanente ou non, et un dispositif (1, 2, 3, S12-7, S45) destiné à remettre à jour la première et la seconde information lorsqu'une commande provenant de l'appareil extérieur indique de mémoriser le programme et place l'information de fin de mémorisation dans un état indiquant que l'information a été mémorisée. 9. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de mémorisation de programme comporte un dispositif (1, 2, 3, 4, S42, S43) destiné à recevoir les programmes cryptés pour le traitement des données provenant de l'appareil extérieur (8), à synthétiser les programmes cryptés, et à mémoriser le programme synthétisé dans la mémoire non permanente (3) qui n'a pas de batterie de secours. 10. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de mémorisation de programme comporte un dispositif (1, 2, 3, 4, S42, S43) destiné à recevoir des données de cryptage pour le traitement des données provenant de l'appareil extérieur (8), à synthétiser les données de cryptage, et à mémoriser les données synthétisées dans la mémoire non permanente (3) qui n'a pas de batterie de secours. 11. Appareil de traitement de données selon la revendication 8, caractérisé en ce que le dispositif de mémorisation de programme comporte un dispositif (1, 2, S76, S77) destiné à déterminer si les données de clé de cryptage destinées à la synthèse d'informations transmises depuis 11 appareil externe (8) sont mémorisées dans la mémoire non permanente ou non, et un dispositif (1, 2, 3, S78) destiné à déterminer l'utilisation de données normales de clé de cryptage conservées dans la mémoire permanente (2) comme données de clé de cryptage pour la synthèse des programmes lorsque le dispositif de détermination indique que les données de clé de cryptage sont absentes dans la mémoire non permanente. 12. Appareil de traitement de données selon la revendication 1, caractérisé en ce que le dispositif de mémorisation de programme comprend un dispositif (1, 2, 3, 4, S42, S43) destiné à recevoir des programmes cryptés pour le traitement des données transmises par l'appareil externe (8), à synthétiser les programmes cryptés en fonction de données de clé de cryptage, et à les mémoriser dans la mémoire non permanente (3) n'ayant pas de batterie de secours, et un dispositif (1, 2, 3, 4, S80, S81) destiné à recevoir, depuis l'appareil externe, une commande de changement des données de clé de cryptage et à changer les données de clé de cryptage. 13. Procédé de traitement de données à l'aide d'un appareil, caractérisé en ce qu'il comprend une étape (S21, S23) d'effacement d'un programme conservé dans la mémoire non permanente, qui reçoit de l'énergie d'alimentation depuis l'extérieur de l'appareil, lorsque l'énergie d'alimentation cesse d'être transmise, une étape (S12-5) de réception du programme transmis par un appareil externe (8) et de mémorisation du programme dans une mémoire non permanente (3) n'ayant pas de batterie de secours, et une étape (S12-5, S41) de mémorisation des données pour le traitement des données reçues de l'appareil externe dans la mémoire non permanente (3) qui n'a pas de batterie de secours, et de traitement des données en fonction du programme mémorisé. 14. Procédé de traitement de données selon la revendication 13, caractérisé en ce que l'étape de mémorisation de programme comprend une étape (S12-5, S41) de mémorisation d'une première information de correspondance (31) ayant plusieurs commandes (33) transmises depuis l'extérieur de l'appareil et plusieurs informations d'adresse (35) correspondant chacune à des commandes de la mémoire permanente (2), et une étape (S12-5, S41) de mémorisation, dans la mémoire non permanente, de la seconde information de correspondance (43) ayant 11 information d'adresse (35, 45) de la première information de correspondance et l'information d'adresse (47) de plusieurs sous-programmes qui correspondent chacun à l'information d'adresse de la première information de correspondance et plusieurs sousprogrammes (49, 51, 53) correspondant à l'information d'adresse (47) des sous-programmes. 15. Procédé de traitement de données selon la revendication 13, caractérisé en ce que l'étape de mémorisation de programme comprend une étape (S12-5, S41) de mémorisation dans la mémoire non permanente (3) d'une information (41) indiquant si le programme transmis par l'appareil extérieur a été mémorisé dans la mémoire non permanente ou non. 16. Procédé de traitement de données selon la revendication 13, caractérisé en ce que l'étape de mémorisation de programme comprend une étape (S12-5, S41) de mémorisation, dans la mémoire permanente, d'une première information de correspondance (31) ayant plusieurs commandes (33) transmises depuis l'extérieur et plusieurs éléments d'information d'adresse (35) qui leur correspondent respectivement, une étape (S12-5, S41) de mémorisation, dans la mémoire non permanente, d'une seconde information de correspondance (43) ayant des éléments d'information d'adresse (35, 45) de la première information de correspondance et des éléments (47) d'information d'adresse de plusieurs sous-programmes correspondant chacun à l'information d'adresse de la première information de correspondance, et des sous-programmes (49, 51, 53) correspondant à l'information d'adresse (47) des sous -programmes, une étape (S12-5, S41) de mémorisation, dans la mémoire non permanente, d'une information (41) de fin de mémorisation indiquant si le programme transmis par l'appareil extérieur a été mémorisé dans la mémoire non permanente ou non, et une étape (S12-7, S45) de remise à jour de la première information et de la seconde information lorsqu'une commande est transférée depuis l'appareil extérieur et indique de memoriser le programme, et de mise de l'information de fin de mémorisation dans un état indiquant que l'information a été mémorisée. 17. Procédé de traitement de données selon la revendication 13, caractérisé en ce que l'étape de mémorisation de programme comprend une étape (S42, S43) de réception de programmes cryptés pour le traitement de données transmises par l'appareil externe (8), de synthèse des programmes cryptés, et de mémorisation du programme synthétisé dans la mémoire non permanente (3) qui n'a pas de batterie de secours. 18. Procédé de traitement de données selon la revendication 13, caractérisé en ce que l'étape de mémorisation de programme comprend une étape (S42, s43) de réception de données de cryptage pour le traitement des données transmises par l'appareil externe (8), de synthèse des données de cryptage, et de mémorisation des données synthétisées dans la mémoire non permanente (3) qui n'a pas de batterie de secours. 19. Procédé de traitement de données selon la revendication 13, caractérisé en ce que l'étape de mémorisation de programme comprend une étape (S76, S77) de détermination du fait que les données de clé de cryptage destinées à la synthèse des données transmises par l'appareil externe (8) sont conservées dans la mémoire non permanente ou non, et une étape (S78) de détermination de l'utilisation de données normales de clé de cryptage conservées dans la mémoire permanente (2) comme données de clé de cryptage pour la synthèse des programmes lorsque l'étape de détermination indique que les données de clé de cryptage sont absentes de la mémoire non permanente. 20. Procédé de traitement de données selon la revendication 13, caractérisé en ce que l'étape de mémorisation de programme comprend une étape (S42, S43) de réception de programmes cryptés pour le traitement de données provenant de l'appareil externe (8), de synthèse des programmes cryptés en fonction des données de clé de cryptage, et de mémorisation dans la mémoire non permanente (3) qui n'a pas de batterie de secours, et une étape (S80 S81) destinée à changer les données de clé de cryptage lorsqu'une commande de changement des données de clé de cryptage est transférée depuis l'appareil externe.