Brevet FR2840421A1 — publié le 20031205

Cette invention concerne des systèmes informatiques, des architectures de mémoire pour des systèmes informatiques et des procédés pour les faire fonctionner, et elle concerne plus particulièrement des systèmes informatiques incluant une information de sécurité et des architectures de mémoire, ainsi que des procédés de fonctionnement pour ceux-ci. Des applications de sécurité sont largement utilisées avec des systèmes informatiques. Ces applications de sécurité peuvent être utilisées pour valider des utilisateurs autorisés et/ou pour chiffrer et déchiffrer de l'information sensible. La sécurité peut être particulièrement importante pour des cartes à puce. Comme il est bien connu de l'homme de l'art, une carte à puce est un système informatique sur une carte électronique qui a de façon générale la même taille et la même qualité de matériau qu'une carte de crédit. Une puce de Circuit Intégré (CI) est contenue dans la carte à puce. La puce de CI contient de façon générale une Unité Centrale de Traitement (UC) qui peut être un microprocesseur, un Système d'Exploitation de Carte (ou COS pour "Card Operating System") et une mémoire, telle qu'une mémoire morte programmable et effaçable de façon électrique (EEPROM) et/ou une mémoire morte (ROM). Ainsi, une carte à puce peut stocker et traiter de l'information à l'intérieur d'elle. Du fait que le processeur et la mémoire sont contenus sur la carte à puce, des cartes à puce se prêtent particulièrement bien à l'obtention d'une fiabilité et/ou d'une sécurité élevées, et peuvent donc fonctionner comme un porte-monnaie électronique. Des cartes à puce ont été utilisées dans divers domaines, comme les systèmes financiers, la sécurité de l'information et le traitement réparti, l'automatisation industrielle, l'automatisation de tâches de bureau, les traitements médicaux, les organismes gouvernementaux (par exemple la Sécurité Sociale), les communications mobiles, les téléphones publics, la télévision par câble, l'électricité, le gaz et d'autres services collectifs, l'éducation, les cartes de crédit, les cartes de paiement, les cartes pré-payées, la banque à domicile, etc. Une carte à puce peut être utilisée pour un seul service ou application, ou bien de multiples services ou applications peuvent être intégrés dans une seule carte à puce. Des opérations de lecture/ écriture/ effacement de données stockées dans la carte à puce et la communication entre la carte à puce et des dispositifs externes peuvent être commandées de manière rigide et protégées par la sécurité physique de la carte à puce ellemême, et/ou par l'utilisation de la cryptographie. Cependant, on a également développé de nombreuses techniques pour déjouer ces procédures de sécurité. En particulier, des techniques de piratage ont été développées pour tenter d'accéder directement à de l'information de sécurité sur la carte à puce en contournant la barrière du chiffrement complexe de la carte à puce, par exemple en utilisant un appel de sous-programme, également appelé ici un "ordre de saut", pendant l'exécution d'un système d'exploitation sur la carte à puce. Ainsi, pendant l'exécution du programme de système d'exploitation, l'information de sécurité peut être obtenue ou changée au cours d'un saut vers le programme de sécurité et/ou vers un ordre de chargement/ sauvegarde. Certains modes de réalisation de l'invention procurent des systèmes informatiques qui incluent des première, seconde et troisième zones de mémoire dans lesquelles la première zone de mémoire stocke à l'intérieur au moins un programme d'application générale incluant une multiplicité d'appels de sous-programme dirigés vers la seconde zone de mémoire. La seconde zone de mémoire stocke également à l'intérieur au moins un appel de sous-programme dirigé vers la troisième zone de mémoire. La troisième zone de mémoire stocke à l'intérieur au moins un programme d'application de sécurité qui ne peut être appelé que par un appel de sous-programme provenant de la seconde zone de mémoire. Un moyen de traitement, tel qu'un système d'exploitation, est configuré pour exécuter un programme d'application générale dans la première zone de mémoire, incluant un appel de sous-programme dirigé vers la seconde zone de mémoire, et pour déverrouiller la troisième zone de mémoire seulement au moment de l'exécution d'un appel de sous-programme dirigé de la première zone de mémoire vers la seconde zone de mémoire. Dans d'autres modes de réalisation, ces systèmes de traitement sont en outre configurés pour empêcher le déverrouillage de la troisième zone de mémoire pendant l'exécution d'un programme d'application générale dans la première zone de mémoire. Dans encore d'autres modes de réalisation, un système de traitement comprend un bus d'adresse qui transmet une adresse d'une position de mémoire qui fait l'objet d'une opération d'accès, et il est configuré pour déverrouiller la troisième zone de mémoire lorsque le bus d'adresse transmet une adresse d'une position de mémoire dans la seconde zone de mémoire, et pour verrouiller la troisième zone de mémoire lorsque le bus d'adresse transmet une adresse d'une position de mémoire dans la première zone de mémoire. D'autres modes de réalisation comprennent une quatrième zone de mémoire qui stocke à l'intérieur des données qui sont traitées par l'au moins un programme d'application générale dans la première zone de mémoire, et une cinquième zone de mémoire qui stocke à l'intérieur des données qui sont traitées par l'au moins un programme d'application de sécurité dans la troisième zone de mémoire. Un système de traitement est en outre configuré pour déverrouiller la cinquième zone de mémoire seulement au moment de l'exécution de l'appel de sous-programme dirigé de la première zone de mémoire vers la seconde zone de mémoire. En outre, le système de traitement est en outre configuré pour empêcher le déverrouillage de la cinquième zone de mémoire pendant l'exécution d'un programme d'application générale dans la première zone de mémoire. Dans d'autres modes de réalisation de la présente invention, ces systèmes de traitement comprennent une logique de décodeur d'adresse qui est configurée pour produire un signal d'instauration en réponse à une adresse qui est transmise sur le bus d'adresse et qui se trouve dans la seconde zone de mémoire, et une bascule qui réagit au signal d'instauration en activant un signal de sélection pour la troisième zone de mémoire. La logique de décodeur d'adresse peut en outre être configurée pour produire un signal de restauration en réponse à une adresse qui est transmise sur le bus d'adresse et qui se trouve dans la première zone de mémoire, la bascule réagissant au signal de restauration en désactivant le signal de sélection pour la troisième zone de mémoire. Dans encore d'autres modes de réalisation, les première, seconde et troisième zones de mémoire et le système de traitement sont tous contenus dans la carte à puce. Dans d'autres modes de réalisation, le système de traitement est en outre configuré pour maintenir la troisième zone de mémoire déverrouillée pendant l'exécution d'un programme d'application de sécurité dans la troisième zone de mémoire, et pour verrouiller la troisième zone de mémoire au moment de l'exécution d'un appel de sousprogramme de la troisième zone de mémoire vers la première zone de mémoire. Dans encore d'autres modes de réalisation de la présente invention, le bit d'adresse le plus significatif de la première zone de mémoire et celui de la troisième zone de mémoire sont complémentaires l'un de l'autre. Le bit d'adresse le plus significatif sur le bus d'adresse est appliqué à la troisième zone de mémoire et est appliqué à la première zone de mémoire sous une forme inversée. Ainsi, dans ces modes de réalisation, la troisième zone de mémoire est activée par une combinaison du signal de sélection et du bit le plus significatif du bus d'adresse. D'autres modes de réalisation de la présente invention procurent une architecture de mémoire pour un système informatique. L'architecture de mémoire comprend des première, seconde et troisième zones de mémoire, comme décrit ci-dessus. Une quatrième et une cinquième zones de mémoire peuvent également être incorporées, comme décrit ci-dessus. Un bit d'adresse le plus significatif de la première zone de mémoire et celui de la troisième zone de mémoire peuvent être complémentaires l'un de l'autre, comme décrit ci-dessus. Des procédés d'exécution d'un programme de sécurité pendant l'exécution d'un programme d'application peuvent également être fournis conformément à d'autres modes de réalisation de la présente invention. Dans ces procédés, un programme d'application est exécuté. Le programme de sécurité est déverrouillé seulement au moment de l'exécution d'un appel de sous-programme dirigé vers une zone de table de vecteurs qui contient seulement à l'intérieur au moins un appel de sous-programme dirigé vers le programme de sécurité. Le programme de sécurité qui est déverrouillé est ensuite exécuté. Dans d'autres modes de réalisation, le programme de sécurité est verrouillé au moment de l'exécution d'un appel de sous-programme en retour vers le programme d'application. Le programme de sécurité peut être maintenu déverrouillé pendant l'exécution du programme de sécurité. Toutes ces opérations peuvent être effectuées dans une carte à puce. On va maintenant décrire la présente invention de façon plus complète dans ce qui suit, en référence aux dessins annexés, qui montrent des modes de réalisation de l'invention. On ne doit cependant pas considérer que l'invention est limitée aux modes de réalisation présentés ici. A la place, ces modes de réalisation sont donnés pour que cet exposé soit approfondi et complet, et permette à l'homme de l'art d'apprécier pleinement le cadre de l'invention. Des éléments semblables sont toujours désignés par des numéros de référence semblables. Ainsi, bien que l'invention soit susceptible de donner lieu à diverses modifications et différentes formes, des modes de réalisation spécifiques de celle-ci sont montrés à titre d'exemple dans les dessins et seront décrits ci-après en détail. Il faut cependant noter qu'on ne désire pas limiter l'invention aux formes particulières exposées, mais qu'au contraire on doit considérer que l'invention couvre tous les équivalents, modifications et variantes qui entrent dans l'esprit et le cadre de l'invention, tels qu'ils sont définis par les revendications. Dans les dessins : La figure 1 est un schéma synoptique d'un système informatique tel qu'une carte à puce conforme à des modes de réalisation de la présente invention. La figure 2 est une représentation montrant une architecture d'une mémoire de programmes de la figure 1 conforme à des modes de réalisation de la présente invention. La figure 3 est un schéma synoptique d'un système informatique tel qu'une carte à puce conforme à d'autres modes de réalisation de la présente invention. La figure 4 est une représentation schématique d'une architecture d'une mémoire de programmes et d'une mémoire de données conforme à d'autres modes de réalisation de la présente invention, dans laquelle de multiples programmes d'application sont stockés dans la mémoire de programmes. La présente invention est décrite ci-dessous en référence à des schémas synoptiques et/ou d'autres illustrations de procédés, appareils (systèmes) et/ou programmes-produits d'ordinateur, conformes à des modes de réalisation de l'invention. Il faut noter que chaque bloc des schémas synoptiques et/ou d'autres illustrations, et des combinaisons de blocs dans les schémas synoptiques et/ou d'autres illustrations, peuvent être mis en oeuvre par des instructions de programme d'ordinateur. Ces instructions de programme d'ordinateur peuvent être fournies à un processeur d'un ordinateur universel, d'un ordinateur spécialisé, et/ou d'un autre appareil de traitement de données programmable pour produire une machine, de façon que les instructions qui sont exécutées par l'intermédiaire du processeur de l'ordinateur et/ou d'un autre appareil de traitement de données programmable, créent des moyens pour mettre en oeuvre les fonctions/ actions spécifiées dans les schémas synoptiques et/ou un ou plusieurs autres blocs. Ces instructions de programme d'ordinateur peuvent également être stockées dans une mémoire lisible par ordinateur qui peut commander un ordinateur ou un autre appareil de traitement de données programmable pour qu'il fonctionne d'une manière particulière, de façon que les instructions stockées dans la mémoire lisible par ordinateur produisent un article manufacturé incluant des instructions qui mettent en oeuvre la fonction/ action spécifiée dans les schémas synoptiques et/ou dans un ou plusieurs autres blocs. Les instructions de programme d'ordinateur peuvent également être chargées dans un ordinateur ou un autre appareil de traitement de données programmable pour qu'une série d'étapes de fonctionnement soient accomplies sur l'ordinateur ou autre appareil programmable pour produire un processus mis en oeuvre par ordinateur, tel que les instructions qui sont exécutées sur l'ordinateur ou autre appareil programmable procurent des étapes pour mettre en oeuvre les fonctions/ actions spécifiées dans les schémas synoptiques et/ou dans un ou plusieurs autres blocs. Il faut également noter que dans certaines autres formes de réalisation, les fonctions/ actions indiquées dans les blocs peuvent se produire dans un ordre différent de celui indiqué dans les dessins. Par exemple, deux blocs ou opérations représentés en succession peuvent en fait être exécutés de façon pratiquement simultanée, ou bien les blocs ou opérations peuvent quelquefois être exécutés dans l'ordre inverse, selon la fonctionnalité et/ou les actions qui interviennent. Les figures 1 et 3 sont des schémas synoptiques de systèmes informatiques conformes à des modes de réalisation de la présente invention. Ces systèmes informatiques peuvent être mis en #uvre dans des systèmes informatiques d'entreprises, d'applications, personnels et/ou de grande diffusion, qui sont bien connus de l'homme de l'art. Il faut cependant noter que des modes de réalisation de la présente invention peuvent être particulièrement utiles avec des cartes à puce, du fait que leur utilisation comme porte-monnaie électronique ou moyen d'identification électronique. Par conséquent, on décrira ci-dessous les modes de réalisation des figures 1 et 3 en référence à des cartes à puce. Les figures 2 et 4 représentent des architectures de mémoire qu'on peut utiliser avec respectivement des systèmes informatiques des figures 1 et 3, conformément à des modes de réalisation de la présente invention. On peut utiliser ces architectures de mémoire avec n'importe quel système informatique du type décrit ci-dessus. Cependant, du fait que ces architectures de mémoire peuvent avoir une utilité particulière avec des cartes à puce, elles sont décrites ci-dessous en relation avec des cartes à puce. En se référant à la figure 1, on note qu'un système informatique, tel qu'une carte à puce, conforme à des modes de réalisation de la présente invention, comprend une borne d'entrée/sortie (E/S) 1, un microprocesseur ou une unité centrale de traitement (UC) 2, une mémoire de programmes 3, une mémoire de données 7 et une unité d'activation de programme de sécurité 10. La mémoire de programmes 3 est une mémoire telle qu'une mémoire morte (ROM) dans laquelle est programmé un système d'exploitation pour carte à puce (ou COS pour "Card Operating System") pour faire fonctionner une puce de carte à puce. L'unité centrale 2 commande des chemins internes utilisés pour accéder à tous les éléments de la puce, comme la mémoire de données 7, la mémoire de programmes 3, la mémoire vive (RAM) (non représentée), etc. La mémoire de données 7 comprend une zone de données de sécurité 8 et une zone de données générales 9. La zone de données de sécurité 8 est une zone de données d'utilisateur qui est protégée contre un accès externe par l'unité centrale 2 et le système d'exploitation de carte, et elle peut être réalisée sous la forme d'une mémoire morte programmable et effaçable de façon électrique (EEPROM) qui peut lire/écrire des données de façon électrique. La zone de données de sécurité 8 contient un ensemble de données et des fonctions utilisables dans diverses applications, l'ensemble de données contenant une opération, des données d'émetteur de carte, des données d'utilisateur, etc. Comme représenté sur la figure 1, la mémoire de programmes 3 contient une zone de code général 6, également appelée ici une zone de programme d'application générale ou une première zone de mémoire, une zone de code de sécurité 4, également appelée ici une zone de programme d'application de sécurité ou une troisième zone de mémoire, et une zone de table de vecteurs 5, également appelée ici une seconde zone de mémoire. La zone de table de vecteurs 5 consiste en appels de sous-programme de fonction (c'est-àdire qu'elle contient seulement ceux-ci), également appelés codes de saut, qui sont des codes spéciaux qui effectuent seulement un saut vers la zone de code de sécurité 4. Dans certains modes de réalisation, ces zones peuvent être divisées de façon à les disposer à différentes positions physiques dans une seule mémoire, elles peuvent être entrelacées dans des zones de mémoire discontinues, et/ou elles peuvent être établies dans différents dispositifs de mémoire. L'unité d'activation de programme de sécurité 10 active/désactive un signal de sélection, également appelé signal de sélection de circuit CS, de façon à permettre/ refuser un accès à la zone de code de sécurité 4 et à la zone de données de sécurité 8 (également appelée ici une cinquième zone de mémoire). L'unité d'activation de programme de sécurité 10 comprend un circuit logique de décodeur d'adresse 11 et un circuit logique de bascule 12 connecté au circuit logique de décodeur d'adresse 11. Toutes les zones de mémoire 4, 5, 6,8 et 9 sont connectées à l'unité centrale 2 par un bus d'adresse 13. Bien que ceci ne soit pas représenté, un bus de données est en outre incorporé de façon à échanger des données. Le bus d'adresse peut également être utilisé comme le bus de données. Le circuit logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10 est connecté au bus d'adresse 13 de façon à décoder une adresse correspondante (l'adresse du code de programme exécuté au moment présent, également appelée un compteur d'instruction) de la mémoire de programmes 3, qui est appliquée sur le bus d'adresse 13. Le circuit logique de bascule 12 applique son signal de sortie à la zone de code de sécurité 4 et à la zone de données de sécurité 8 en réponse à un signal de sortie (signal d'instauration ou de restauration) du circuit logique de décodeur d'adresse 11. Le signal de sortie du circuit logique de bascule 12 fonctionne comme le signal de sélection de circuit CS utilisé pour valider ou invalider la zone de code de sécurité 4 et la zone de données de sécurité 8. On décrira dans ce qui suit une opération de programme de sécurité conforme à des modes de réalisation de la présente invention. Conformément à des modes de réalisation de la présente invention, l'unité d'activation de programme de sécurité 10 active la zone de code de sécurité 4 et la zone de données de sécurité 8 seulement lorsque le compteur d'instruction passe à une valeur spécifique pendant que le programme est en cours d'exécution dans la mémoire de programmes 3. Un programme de système d'exploitation d'utilisateur (programme général) est exécuté dans la zone de code général 6 sous la commande de l'unité centrale 2. A ce moment, du fait que l'adresse (compteur d'instruction) du code de programme exécuté n'est pas une valeur d'adresse de la zone de table de vecteurs 5, l'unité d'activation de programme de sécurité 10 n'active pas la zone de code de sécurité 4 et la zone de données de sécurité 8. En d'autres termes, elles sont verrouillées. Si le programme général est exécuté continuellement de façon que le compteur d'instruction passe à une valeur d'adresse dans la zone de table de vecteurs 5, le circuit logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10 décode le compteur d'instruction et génère un signal d'instauration. Le circuit logique de bascule 12 est instauré en réponse au signal d'instauration généré par le circuit logique de décodeur d'adresse 11, de façon que le signal de sélection de circuit CS pour activer la zone de code de sécurité 4 et la zone de données de sécurité 8 soit validé ou déverrouillé. Ici, du fait que la zone de table de vecteurs 5 est constituée des codes qui sautent seulement vers la zone de code de sécurité 4, le programme est exécuté dans la zone de code de sécurité 4. Par conséquent, une information de sécurité de la zone de données de sécurité 8 peut être traitée. Une carte à puce conforme à des modes de réalisation de la présente invention peut inclure en outre un processeur dédié au chiffrement, 15, pour commander le programme de sécurité. Dans ces modes de réalisation, le processeur dédié au chiffrement, 15, est activé par l'unité d'activation de programme de sécurité 10. On comprendra également que la borne d'E/S 1, l'unité centrale 2, l'unité d'activation de programme de sécurité 10, le processeur dédié au chiffrement, 15, des sous-combinaisons de ceux-ci et/ou d'autres éléments non représentés sur la figure 1, peuvent procurer un système de traitement d'un système informatique et/ou des moyens procurant des fonctions de traitement par ordinateur conformes à divers modes de réalisation de la présente invention. Après l'achèvement du traitement de l'information de sécurité, le programme de sécurité est terminé. Ensuite, si le compteur d'instruction passe à nouveau à une valeur correspondant à l'adresse de la zone de code général 6, le circuit logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10 décode la valeur d'adresse pour générer un signal de restauration. Le circuit logique de bascule 12 est ainsi restauré de façon que le signal de sélection de circuit CS soit invalidé. Il en résulte que la zone de données de sécurité 8 et la zone de code de sécurité 4 sont désactivées (verrouillées), de façon qu'elles ne soient pas accessibles. La figure 2 est une représentation montrant des architectures de la mémoire de programme 3 de la figure 1 conformes à des modes de réalisation de la présente invention. En se référant à la figure 2, on note que, comme décrit ci-dessus, la mémoire de programmes 3 de la carte à puce contient la zone de code général 6, la zone de table de vecteurs 5 et la zone de code de sécurité 4. Les zones respectives ont une plage d'adresse prédéterminée. Par exemple, la zone de code général 6 a des adresses de mémoire de programmes allant de OOOOOOh (hexadécimal) à 023FFFh, et la zone de code de sécurité 4 a des adresses de mémoire de programmes allant de 024200h à 027FFFh. Ces adresses et tailles de mémoire sont illustrées à titre d'exemple, dans le but d'expliquer clairement la présente invention, et par conséquent elles peuvent être modifiées de façon à procurer d'autres adresses contiguës et/ou non contiguës. La zone de table de vecteurs 5 conforme à des modes de réalisation de la présente invention consiste en codes (c'est-à-dire contient seulement des codes) (appels de sous-programme ou codes de saut de fonction) qui effectuent seulement un saut vers une partie spécifique de la zone de code de sécurité 4. Par exemple, il y a deux codes de saut de fonction, c'est-à-dire Vector~E1 : JMP F1 et Vector E2:JMP F2. La zone de code de sécurité 4 consiste en codes de fonction de sécurité (c'est-à-dire contient seulement de tels codes), comme les codes de fonction de sécurité F1 et F2, vers lesquels les codes de saut de fonction de la zone de table de vecteurs 5, Vector~E1 : JMP F1 et Vector E2:JMP F2, effectuent un saut (appel). La zone de code général 6 contient un code général pour traiter une information générale et des codes de saut de vecteur, tels que JMP Vector~El et JMP Vector~E2, pour sauter vers les codes de saut de fonction Vector~El et Vector E2 de la zone de table de vecteurs 5. Par exemple, le code général contient trois codes d'ordre de chargement LD rO, r1, LD r2 , rO et LD r3 , r2. Selon une variante, la zone de code général 6 peut en outre inclure un code de saut de vecteur d'appel Call JMP Vector~El pour appeler un code de saut de vecteur, par exemple JMP Vector~El . Il en résulte que la zone de code général ne peut passer à la zone de code de sécurité que par un appel de sous-programme (saut). En se référant à nouveau à la figure 1, on note que, comme il est bien connu, l'unité centrale 2 peut être divisée en une unité de commande (non représentée) et un chemin de données ou une unité d'exécution (non représentée). L'unité de commande peut inclure un compteur d'instruction et un registre d'instruction. Le compteur d'instruction contient une adresse de mémoire de programmes pour prélever l'instruction suivante à exécuter, et le registre d'instruction est un registre destiné à stocker une instruction prélevée par le compteur d'instruction. Le chemin peut inclure une unité arithmétique et logique et un accumulateur. De plus, l'unité de commande peut inclure un registre d'adresse de mémoire pour conserver une adresse de mémoire de programmes pendant un accès en mémoire. Le chemin de données contient également un registre tampon de mémoire pour découpler une mémoire vis-à-vis du fonctionnement interne de l'unité centrale. On suppose que l'unité centrale 2 est initialisée et que l'unité de commande de l'unité centrale 2 est restaurée. A ce moment, le compteur d'instruction de l'unité de commande est également restauré à une valeur prédéterminée, par exemple @. L'adresse de mémoire de programmes pour prélever la commande suivante est stockée dans le compteur d'instruction et est ensuite transmise au registre d'adresse de mémoire. Ensuite, l'unité de commande commence une opération de lecture en mémoire en utilisant le bus d'adresse 13. L'instruction fixée est lue dans la mémoire de programmes 3 par l'intermédiaire du chemin d'instruction et est stockée dans le registre d'instruction. Séquentiellement, la commande fixée, par exemple la commande de chargement LD r0, ri, stockée dans le registre d'instruction, est analysée et les données stockées dans la mémoire de données (zone d'information générale 9) sont lues. Les données stockées dans la mémoire de données sont stockées dans le registre tampon de mémoire et stockées dans le registre rO et ri. Par ces opérations, l'opération de chargement est terminée. Enfin, la valeur d'adresse de mémoire de programmes (@ + 1) est incrémentée. La valeur d'adresse de mémoire de programmes (@ + 1) désignée par le compteur d'instruction est transférée au registre d'adresse de mémoire. L'opération de lecture dans la mémoire de programmes recommence de façon que l'instruction fixée soit stockée dans le registre d'instruction. Ensuite, la commande, par exemple, LD r2, rO, stockée dans le registre d'instruction est analysée et la valeur stockée dans la mémoire de données (zone d'information générale 9) est stockée dans le registre r2 et rO, pour achever l'opération de chargement. Enfin, le compteur d'instruction est incrémenté à nouveau (@ + 1 # @ + 2). De la manière ci-dessus, le programme est continuellement exécuté et une valeur du compteur d'instruction est incrémentée (par exemple @ + 2 # # # # @+ n). Ensuite, l'instruction fixée, par exemple JMP Vector El, est prélevée dans la mémoire de programmes 3 et stockée dans le registre d'instruction. L'instruction JMP Vector El stockée dans le registre d'instruction est analysée. Du fait que l'instruction prélevée est la commande de saut, une valeur du compteur d'instruction est remplacée par une valeur d'adresse (l'une des adresses 02400h à 0241FFh de la zone de table de vecteurs de la zone de mémoire dans laquelle le vecteur Vector El est stocké, par exemple, une valeur désignée par Vector~E1 : 024000h sur la figure 2). La valeur d'adresse de la zone de table de vecteurs 5 est transmise au registre d'adresse de mémoire et est appliquée au bus d'adresse 13. La logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10 connectée au bus d'adresse 13 décode la valeur d'adresse 024000h de la zone de table de vecteurs pour générer le signal d'instauration. La logique de bascule 12 est instaurée en réponse au signal d'instauration, de façon que le signal de sélection de circuit CS appliqué à la zone de code de sécurité 4 et à la zone d'information de sécurité 8 soit validé (déverrouillé), pour activer ainsi le programme de sécurité. D'autre part, l'ensemble d'instructions (par exemple le code de saut de fonction (JMP F1) existant à la valeur d'adresse 024000h désignée par Vector~El, stockée dans le compteur d'instruction, est à nouveau stocké dans le registre d'instruction et est analysé par l'unité de commande. Comme décrit ci-dessus, tous les ensembles d'instructions de la zone de table de vecteurs 5 consistent en ensembles d'instructions qui effectuent seulement un saut vers la zone de code de sécurité 4. Par conséquent, la valeur du compteur d'instruction devient l'une des adresses de la zone de code de sécurité 4 (par exemple, sur la figure 2, l'adresse 024000h du code de fonction de sécurité désigné par F1). De ce fait, le programme de sécurité est exécuté dans la zone de code de sécurité. En d'autres termes, la fonction de code de sécurité FI est exécutée. Il peut être souhaitable que le code de fonction de sécurité FI commence par un code de sécurité pour contrôler si un utilisateur est autorisé ou non. Par exemple, le code de sécurité peut être une fonction RSA Sign. Les routines d'opérations connues suivantes peuvent être exécutées dans la fonction : RSA(input, output) {check security condition, key load data load RSA~Sign opération Store result Return} Après la certification de l'utilisateur autorisé, l'information de sécurité de la zone de données de sécurité 8 peut être manipulée. Après l'achèvement de la manipulation de l'information de sécurité, la valeur du compteur d'instruction est à nouveau changée pour devenir la valeur d'adresse de la zone de code général 6, par le code de résultat ou un code de retour (RET). Par exemple, s'il y a une commande LD r3, r2, le contenu du compteur d'instruction est changé pour devenir une adresse 012000h de la zone de code général. Si l'adresse de mémoire de programmes 012000h stockée dans le compteur d'instruction est appliquée au bus d'adresse 13 par l'intermédiaire du registre d'adresse de mémoire, le circuit logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10 décode à nouveau l'adresse de mémoire de programmes pour générer le signal de restauration. Le circuit logique de bascule 12 est restauré en réponse au signal de restauration, de façon que le signal de sélection de circuit CS appliqué à la zone de code de sécurité 4 et à la zone de données de sécurité 8 soit invalidé (verrouillé). Il en résulte qu'il n'est pas possible d'accéder au programme de sécurité. Ensuite, l'ensemble d'instructions LD r3, r2 qui existe à l'adresse de mémoire de programmes désignant le compteur d'instruction, est prélevé et l'ensemble d'instructions prélevé est analysé et exécuté. Le programme est exécuté continuellement dans la zone de code général 6 et la commande (par exemple JMP Vector E2) existant à l'adresse de mémoire d'instruction OIFFFFh, et sautant à nouveau vers la zone de table de vecteurs 5, est prélevée. Du fait que la commande prélevée est la commande de saut, le contenu du compteur d'instruction est changé pour devenir la valeur d'adresse de la zone de table de vecteurs 5 dans laquelle le vecteur JMP Vector~E2 existe, et la zone de code de sécurité 4 et la zone de données de sécurité 8 sont à nouveau activées (déverrouillées) par l'unité d'activation de programme de sécurité 10. Simultanément, l'exécution de l'ensemble de commandes de saut JMP F2 de la zone de table de vecteurs 5 fait passer le programme vers la zone de code de sécurité 4. Par conséquent, le programme de sécurité est exécuté dans la zone de code de sécurité 4, et le code de fonction de sécurité F2 est exécuté. Comme décrit ci-dessus, conformément à des modes de réalisation de la présente invention, le programme de sécurité est exécuté seulement en suivant un chemin prédéterminé, c'est-à-dire l'appel de fonction de sousprogramme (saut). En d'autres termes, le code de saut de vecteur JMP Vector~El est exécuté dans la zone de code général 6, et par conséquent le programme saute vers le code de saut de fonction Vector El de la zone de table de vecteurs 5. Ensuite, le code JMP FI est exécuté et finalement le programme saute vers la zone de code de sécurité 4, de façon que le code de fonction de sécurité F1 soit exécuté. A ce moment, si la commande de saut pour sauter vers la zone de table de vecteurs par le code de saut de vecteur est exécutée, et le contenu du compteur d'instruction est changé pour devenir la valeur d'adresse de la zone de table de vecteurs 5 dans laquelle le code de saut de vecteur est stocké, l'unité d'activation de programme de sécurité 10 décode le compteur d'instruction pour activer la zone de code de sécurité 4 et la zone d'information de sécurité 8. Par conséquent, il n'est pas possible d'accéder à la zone de code de sécurité et à la zone de données de sécurité en utilisant une commande directe de saut ou de chargement dans la zone de code général. Dans des modes de réalisation de la présente invention, le signal de sélection de circuit pour activer le programme de sécurité est validé par l'appel de fonction de sous-programme (saut), et une valeur d'une adresse ou d'un compteur d'instruction spécifique sur le bus d'adresse. Par conséquent, il est possible d'établir divers modes de réalisation sur la base du signal de sélection de circuit. Par exemple, dans les modes de réalisation cidessus, lorsque la valeur du compteur d'instruction ou du bus d'adresse est changée pour devenir la valeur d'adresse de la zone de table de vecteurs, le signal de sélection de circuit relatif à la zone de code de sécurité est validé. Ensuite, lorsque la valeur du compteur d'instruction ou du bus d'adresse est changée par le saut de fonction de sousprogramme pour devenir la valeur d'adresse de la zone de code de sécurité, le signal de sélection de circuit appliqué à la zone de données de sécurité peut être validé. Dans ce qui suit, on décrira d'autres modes de réalisation de la présente invention en se référant à la figure 3. Les mêmes numéros de référence que sur la figure 2 sont utilisés avec des éléments de la figure 3 qui sont les mêmes que ceux de la figure 2, et une description détaillée concernant ces éléments sera omise. Sur la figure 3, pour transmettre des données entre l'unité centrale 2 et les dispositifs de mémoire 4,5, 6,8 et 9, toutes les zones de mémoire sont connectées à un bus de données (non représenté). Pour assurer l'interface entre l'unité centrale 2 et les dispositifs de mémoire 4, 5, 6,8 et 9, toutes les zones de mémoire sont connectées par l'intermédiaire de l'unité centrale et du bus d'adresse. Sur la figure 3, le symbole de référence A représente le bus d'adresse. La zone de code général 6 est une zone ayant des adresses logiques allant de OOOOOh à OFEFFh, et la zone de table de vecteurs 5 est une zone ayant des adresses allant de OFFOOh à OFFFFh. La zone de code de sécurité 4 est une zone ayant des adresses allant de 10000h à 1FFFFh. La zone de code général 6 et la zone de code de sécurité 5 sont divisées en rendant leurs bits d'adresse les plus significatifs complémentaires l'un de l'autre, c'est-à-dire en leur donnant des états logiques mutuellement complémentaires. En se référant à la figure 3, on note que la zone de données générale 9, la zone de données de sécurité 8, la zone de code général 6 et la zone de code de sécurité 4 sont actives (déverrouillées) ou désactivées (verrouillées) par un produit logique de deux signaux de sélection de circuit CS1 et CS2. De plus, seuls les signaux de sélection de circuit CS2 (seconds signaux de sélection de circuit) appliqués à la zone de données de sécurité 8 et à la zone de code de sécurité 4 sont validés/ invalidés par le circuit logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10. En outre, parmi les adresses de code du programme en cours d'exécution, le bit le plus significatif est appliqué à la zone de code général 6 et à la zone de code de sécurité 4 pour fonctionner ainsi comme d'autres signaux de sélection de circuit (premiers signaux de sélection de circuit), et il est inversé et appliqué à la zone de code général 6. De façon spécifique, dans les modes de réalisation de la présente invention qui sont illustrés, les premiers signaux de sélection de circuit CS1 sont appliqués à la zone de code de sécurité 4 et à la zone de code général 6 conformément au bit le plus significatif (MSB), Bit d'Adresse 16, des adresses de mémoire de programmes. En d'autres termes, pour la zone de code général 6, l'état logique de l'adresse appliquée sur le bus d'adresse A est inversé et l'état logique inversé remplit la fonction du premier signal de sélection de circuit CS1. Pour la zone de code de sécurité 4, l'état logique du bit le plus significatif remplit la fonction des premiers signaux de sélection de circuit CS1. Le bit le plus significatif de valeur "0" est un état logique bas et le bit le plus significatif de valeur "1" est un état logique haut. Les premiers signaux de sélection de circuit CS1 appliqués à la zone de données générales 9 et à la zone de données de sécurité 8 sont fixés à une valeur logique "1", c'est-àdire un état logique haut. De plus, les seconds signaux de sélection de circuit CS2 appliqués à la zone de données générales 9 et à la zone de code général 6 sont également fixés à une valeur logique "1", c'est-à-dire un état logique haut. Lorsque l'adresse de code (la valeur du compteur d'instruction) appliquée au bus d'adresse A devient la valeur d'adresse de la zone de table de vecteurs 5, c'est-à-dire, sur la figure 3, si le bit le plus significatif (Bit d'Adresse 16) de l'adresse de mémoire a la valeur "0", et les huitième à quinzième bits (Bit d'Adresse 15 à Bit d'Adresse 8) ont la valeur "1", la logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10 génère le signal d'instauration de façon que le circuit logique de bascule 12 soit instauré. Par conséquent, les seconds signaux de sélection de circuit CS2 appliqués à la zone de données de sécurité 8 et à la zone de code de sécurité 4 sont validés. De façon spécifique, on suppose que le programme général est exécuté dans la zone de code général 6 sous la commande de l'unité centrale 2. Du fait que la zone de code général 6 occupe une zone ayant des adresses logiques allant de OOOOOh à OFFFFFh, le bit le plus significatif de l'adresse de mémoire de programmes est une valeur logique "0". Par conséquent, du fait que la valeur logique inversée "1" fonctionne comme le signal de sélection de circuit CS1, le premier signal de sélection de circuit CS est dans l'état validé. D'autre part, du fait que le second signal de sélection de circuit CS2 de la zone de code général 6 est dans l'état validé, la zone de code général 6 devient déverrouillée sous l'effet d'un produit logique des deux signaux de sélection de circuit. Cependant, dans la zone de code de sécurité 4, du fait que la valeur logique "0", elle-même, du bit le plus significatif de l'adresse de mémoire de programmes fonctionne comme le premier signal de sélection de circuit CS1, le premier signal de sélection de circuit CS1 devient invalidé (verrouillé). De plus, du fait que l'adresse de mémoire de programmes n'est pas la valeur de la zone de table de vecteurs, le circuit logique de décodeur d'adresse 11 décode l'adresse de mémoire de programmes pour générer le signal de restauration. Le circuit logique de bascule 12 est restauré en réponse au signal de restauration, de façon que le second signal de sélection de circuit appliqué à la zone de code de sécurité 4 et à la zone de données de sécurité 8 deviennent invalidés (verrouillés). Il en résulte que la zone de code de sécurité 4 et la zone de données de sécurité 8 ne sont pas activées. Lorsque le programme général est en cours d'exécution, la zone de code de sécurité 4 et la zone de données de sécurité 8 sont dans l'état désactivé, ce qui fait qu'on ne peut pas y accéder. Si le programme général est en cours de progression et la valeur du compteur d'instruction est changée pour devenir la valeur d'adresse (l'une des adresses allant de OFFOOh à OFFFFh) de la zone de table de vecteurs 5, par l'action de l'appel de fonction de sous-programme (saut), l'adresse correspondante est appliquée sur le bus d'adresse A. Par conséquent, les seconds signaux de sélection de puce CS2 appliqués à la zone de code de sécurité 4 et à la zone de données de sécurité 8 sont validés par le circuit logique de décodeur d'adresse 11 de l'unité d'activation de programme de sécurité 10. D'autre part, du fait que la zone de table de vecteurs 5 est constituée des codes de saut qui produisent seulement un saut vers la zone de table de vecteurs 5 et la zone de code de sécurité 4, l'adresse de mémoire de programmes est changée pour devenir l'adresse de la zone de code de sécurité 4. Du fait que le bit le plus significatif de la valeur d'adresse de mémoire de programmes de la zone de code de sécurité 4 est un "1" logique, le signal de sélection de circuit CS1 appliqué à la zone de code de sécurité 4 est l'état validé. Cependant, dans le cas de la zone de code général 6, le bit le plus significatif est inversé, et le signal de sélection de circuit appliqué à la zone de code général 6 est dans l'état invalidé. Il en résulte que l'appel de fonction de sous-programme est effectué, et la zone de code général est désactivée lorsque le programme est exécuté dans la zone de code de sécurité 4. Après la fin de l'exécution du programme de sécurité, si la valeur du compteur d'instruction est à nouveau changée pour devenir l'adresse de la mémoire de programmes, le second signal de sélection de circuit CS2 appliqué à la zone de code de sécurité 4 et à la zone de données de sécurité 8, et le premier signal de sélection de circuit CS1 appliqué à la zone de code de sécurité 4 sont invalidés. Par conséquent, la zone de code de sécurité et la zone de données de sécurité sont désactivées de façon qu'on ne puisse pas y accéder. D'autre part, le second signal de sélection de circuit CS2 appliqué à la zone de code général 6 est dans l'état validé. De plus, du fait que le bit le plus significatif de l'adresse de mémoire de programmes de la zone de code général 6 est un "0" logique, le premier signal de sélection de puce CS1 appliqué à la zone de code général 6 est dans l'état validé. Il en résulte que la zone de code général 6 est activée de façon que le programme général soit exécuté. Dans certains modes de réalisation de la présente invention, le second signal de sélection de circuit CS2 appliqué à la seconde zone de données 8 est toujours à un niveau logique haut. Cependant, conformément à d'autres modes de réalisation de la présente invention, le bit le plus significatif de l'adresse de mémoire de programmes peut être appliqué de la même manière que dans la zone de code de sécurité 4. En outre, dans les modes de réalisation de la présente invention ci-dessus, dans la zone de données générales 9, les signaux de sélection de circuit CS1 et CS2 sont toujours dans l'état validé. Cependant, le bit le plus significatif inversé de l'adresse de mémoire de programmes peut également être appliqué au premier signal de sélection de circuit CS1 de la zone de données générales 9, de la même manière que dans la zone de code général 6. Dans ce cas, la zone de données générales 9 n'est pas toujours dans l'état validé et prend l'état validé seulement lorsque le programme général est exécuté. Dans d'autres modes de réalisation de la présente invention, les signaux de sélection de circuit peuvent être validés/ invalidés en utilisant deux bits les plus significatifs, ou plus, de l'adresse de mémoire de programmes. Par conséquent, divers programmes d'application ayant des niveaux de sécurité qui diffèrent les uns des autres peuvent être installés dans une seule puce. En outre, la zone de code de sécurité pour laquelle on désire la sécurité du saut vers la zone de table de vecteurs peut être diversifiée. La figure 4 est une représentation expliquant les modes de réalisation décrits ci-dessus et montre la mémoire de programmes 50 et une mémoire de données 60 correspondante, avec de multiples programmes d'application stockés dans la mémoire de programmes 50. La mémoire de programmes 50 comprend une zone de programme d'application A, 52, une zone de programme d'application B, 56, une zone de programme d'application C, 58, et une zone de table de vecteurs 54. Les programmes d'application B et C sont dans une zone de programme de sécurité et l'accès à ceux-ci est refusé pendant l'exécution du programme d'application A. La mémoire de données 60 comprend une zone de données A, 62, correspondant au programme d'application A, une zone de données B, 64, correspondant au programme d'application B, et une zone de données C, 66, correspondant au programme d'application C, et les zones de données B et C, 64 et 66, sont une zone de données de sécurité. Les codes de saut qui font sauter vers les programmes d'application B et C, 56 et 58, sont stockés dans la zone de table de vecteurs 54, et la zone de table de vecteurs 54 est une zone ayant des adresses allant de AA à BB. Par exemple, comme représenté, une commande de saut pour sauter vers l'adresse CC de la zone de programme d'application B, 56, existe à l'adresse de mémoire XX de la zone de table de vecteurs 54. De plus, une commande de saut pour sauter vers l'adresse DD de la zone de programme d'application B, 56, existe à l'adresse de mémoire XX+N de la zone de table de vecteurs 54. Les zones respectives de la mémoire de programmes ou les zones respectives de la mémoire de données peuvent être divisées de façon à pouvoir être disposées physiquement à différentes positions dans une seule mémoire, elles peuvent être entrelacées et/ou elles peuvent être établies avec des dispositifs de mémoire mutuellement différents. Pendant que l'application A (programme général) est en cours d'exécution par l'unité centrale dans la zone de programme d'application A, 52, si la valeur du compteur d'instruction est changée pour devenir l'adresse XX de la zone de table de vecteurs 54 (par l'exécution de la commande de saut pour sauter vers l'adresse XX), le signal de sélection de circuit CS1 est validé de façon que le programme d'application B et la zone de données B, 64, soient activés. De la même manière, si la valeur du compteur d'instruction est changée pour devenir l'adresse XX+N de la zone de table de vecteurs 54 (par l'exécution de la commande de saut pour sauter vers l'adresse XX+N), le signal de sélection de circuit CS2 est validé de façon que le programme d'application C et la zone de données C 66 soient activés. Par conséquent, un accès direct à partir du programme d'application A au programme d'application B ou C peut être empêché. Bien que des modes de réalisation de cartes à puce aient été décrits ci-dessus, le cadre et l'esprit de la présente invention ne sont pas limités à des cartes à puce, et sont applicables à divers systèmes informatiques qui traitent des données. Conformément à certains modes de réalisation de la présente invention, un programme de sécurité permet l'accès à la zone de code de sécurité et à la zone de données de sécurité seulement lorsque la valeur du compteur d'instruction est changée pour spécifier une valeur d'adresse de mémoire de programmes par l'appel de sousprogramme (saut). Par conséquent, le programme de sécurité peut être complètement séparé du programme général. En d'autres termes, le programme général ne peut pas être traité en accédant directement à l'information de sécurité. Il peut l'être en activant le programme de sécurité en passant par un chemin spécifique prédéterminé. Ainsi, dans certains modes de réalisation, l'information de sécurité peut être protégée du fait que l'information de sécurité et le dispositif de sécurité peuvent être complètement séparés du programme d'application générale. En outre, l'information de sécurité et le dispositif de sécurité peuvent être installés dans la même puce ayant des programmes d'application avec des niveaux de sécurité qui diffèrent les uns des autres, en permettant à l'information de sécurité et à l'équipement de sécurité d'agir comme un fournisseur de services. Dans les dessins et la description, on a exposé des modes de réalisation caractéristiques de l'invention, et bien que des termes spécifiques soient employés, ils sont utilisés seulement en un sens générique et descriptif, et non dans un but de limitation, le cadre de l'invention étant défini dans les revendications qui suivent. REVENDICATIIONS 1. Système informatique, caractérisé en ce qu'il comprend : des première, seconde et troisième zones de mémoire (6, 5, 4), la première zone de mémoire (6) stockant à l'intérieur au moins un programme d'application générale incluant au moins un appel de sous-programme dirigé vers la seconde zone de mémoire (5), la seconde zone de mémoire (5) stockant à l'intérieur seulement au moins un appel de sousprogramme dirigé vers la troisième zone de mémoire (4), et la troisième zone de mémoire (4) stockant à l'intérieur au moins un programme d'application de sécurité qui peut être appelé seulement par un appel de sous-programme provenant de la seconde zone de mémoire (5); un système de traitement (2,11, 12,13) qui est configuré pour exécuter un programme d'application générale dans la première zone de mémoire (6) incluant un appel de sous-programme dirigé vers la seconde zone de mémoire (5), et pour déverrouiller la troisième zone de mémoire (4) seulement au moment de l'exécution d'un appel de sous-programme dirigé de la première zone de mémoire (6) vers la seconde zone de mémoire (5) . 2. Système informatique selon la revendication 1, caractérisé en ce que le système de traitement (2,11, 12, 13) est en outre configuré pour empêcher un déverrouillage de la troisième zone de mémoire (4) pendant l'exécution d'un programme d'application générale dans la première zone de mémoire (6). 3. Système informatique selon la revendication 1, caractérisé en ce que le système de traitement comprend un bus d'adresse (13) qui transmet une adresse d'une position de mémoire à laquelle il est accédé, le système de traitement étant configuré de façon à déverrouiller la troisième zone de mémoire (4) lorsque le bus d'adresse (13) transmet une adresse d'une position de mémoire dans la seconde zone de mémoire (5), et à verrouiller la troisième zone de mémoire (4) lorsque le bus d'adresse transmet une adresse d'une position de mémoire dans la première zone de mémoire (6) . 4. Système informatique selon la revendication 1, caractérisé en ce qu'il comprend en outre une quatrième zone de mémoire (9) qui stocke à l'intérieur des données qui sont traitées par l'au moins un programme d'application générale dans la première zone de mémoire (6), et une cinquième zone de mémoire (8) qui stocke à l'intérieur des données qui sont traitées par l'au moins un programme d'application de sécurité dans la troisième zone de mémoire (4), le système de traitement (2,11, 12,13) étant en outre configuré pour déverrouiller la cinquième zone de mémoire (8) seulement au moment de l'exécution de l'appel de sous-programme dirigé de la première zone de mémoire (6) vers la seconde zone de mémoire (5). 5. Système informatique selon la revendication 4, caractérisé en ce que le système de traitement est en outre configuré pour empêcher le déverrouillage de la cinquième zone de mémoire (8) pendant l'exécution d'un programme d'application générale dans la première zone de mémoire (6) . 6. Système informatique selon la revendication 3, caractérisé en ce que le système de traitement comprend une logique de décodeur d'adresse (11) qui est configurée pour produire un signal d'instauration en réponse à une adresse qui est transmise sur le bus d'adresse (13), se trouvant dans la seconde zone de mémoire (5), et une bascule (12) qui réagit au signal d'instauration en activant un signal de sélection pour la troisième zone de mémoire (4). 7. Système informatique selon la revendication 6, caractérisé en ce que la logique de décodeur d'adresse (11) est en outre configurée pour produire un signal de restauration en réponse à une adresse qui est transmise sur le bus d'adresse (13), se trouvant dans la première zone de mémoire (6), la bascule (12) réagissant au signal de restauration en désactivant le signal de sélection pour la troisième zone de mémoire (4). 8. Système informatique selon la revendication 1, caractérisé en ce que l'un au moins des programmes d'application de sécurité comprend un programme d'authentification d'utilisateur. 9. Système informatique selon la revendication 3, caractérisé en ce que le bit d'adresse le plus significatif de la première zone de mémoire (6) et celui de la troisième zone de mémoire (4) sont complémentaires l'un de l'autre, et en ce que le bit d'adresse le plus significatif sur le bus d'adresse (13) est appliqué à la troisième zone de mémoire (4) et est appliqué à la première zone de mémoire (6) sous forme inversée, de façon que la troisième zone de mémoire (4) soit activée par une combinaison du signal de sélection et du bit le plus significatif du bus d'adresse (13) . 10. Système informatique selon la revendication 1, caractérisé en ce que les première, seconde et troisième zones de mémoire (6,5, 4) et le système de traitement (2, 11,12, 13) sont tous contenus dans une carte à puce. 11. Système informatique selon la revendication 1, caractérisé en ce que la première zone de mémoire (6) est une zone de code général, la seconde zone de mémoire (5) est une zone de table de vecteurs et la troisième zone de mémoire (4) est une zone de code de sécurité. 12. Système informatique selon la revendication 1, caractérisé en ce que le système de traitement est en outre configuré pour maintenir la troisième zone de mémoire (4) déverrouillée pendant l'exécution d'un programme d'application de sécurité dans la troisième zone de mémoire (4) . 13. Système informatique selon la revendication 12, caractérisé en ce que le système de traitement est en outre configuré pour verrouiller la troisième zone de mémoire (4) au moment de l'exécution d'un appel de sous-programme dirigé de la troisième zone de mémoire (4) vers la première zone de mémoire (6). 14. Architecture de mémoire pour un système informatique, caractérisée en ce qu'elle comprend : des première, seconde et troisième zones de mémoire (6,5, 4), la première zone de mémoire (6) stockant à l'intérieur au moins un programme d'application générale incluant une multiplicité d'appels de sous-programme dirigés vers la seconde zone de mémoire (5), la seconde zone de mémoire (5) stockant seulement à l'intérieur une multiplicité d'appels de sous-programme vers la troisième zone de mémoire (4), et la troisième zone de mémoire (4) stockant à l'intérieur une multiplicité de programmes d'application de sécurité qui ne peuvent être appelés que par un appel de sous-programme provenant de la seconde zone de mémoire (5). 15. Architecture de mémoire selon la revendication 14, caractérisée en ce qu'elle comprend en outre une quatrième zone de mémoire (9) qui stocke à l'intérieur des données qui sont traitées par l'au moins un programme d'application générale dans la première zone de mémoire (6), et une cinquième zone de mémoire (8) qui stocke à l'intérieur des données qui sont traitées par les programmes d'application de sécurité dans la troisième zone de mémoire (4). 16. Architecture de mémoire selon la revendication 14, caractérisée en ce que l'un au moins des programmes d'application de sécurité comprend un programme d'authentification d'utilisateur. 17. Architecture de mémoire selon la revendication 14, caractérisée en ce que le bit d'adresse le plus significatif de la première zone de mémoire (6) et celui de la troisième zone de mémoire (4) sont complémentaires l'un de l'autre. 18. Architecture de mémoire selon la revendication 14, caractérisée en ce que les première, seconde et troisième zones de mémoire (6,5, 4) sont toutes contenues dans une carte à puce. 19. Architecture de mémoire selon la revendication 14, caractérisée en ce que la première zone de mémoire (6) est une zone de code général, la seconde zone de mémoire (5) est une zone de table de vecteurs et la troisième zone de mémoire (4) est une zone de code de sécurité. 20. Système informatique, caractérisé en ce qu'il comprend : des première, seconde et troisième zones de mémoire (6, 5, 4), la première zone de mémoire (6) stockant à l'intérieur au moins un programme d'application générale incluant au moins un appel de sous-programme dirigé vers la seconde zone de mémoire (5), la seconde zone de mémoire (5) stockant à l'intérieur seulement au moins un appel de sousprogramme dirigé vers la troisième zone de mémoire (4), et la troisième zone de mémoire (4) stockant à l'intérieur au moins un programme d'application de sécurité qui peut être appelé seulement par un appel de sous-programme provenant de la seconde zone de mémoire (5); un moyen (2) pour exécuter un programme d'application générale dans la première zone de mémoire (6) incluant un appel de sousprogramme dirigé vers la seconde zone de mémoire (5); et un moyen (10) pour déverrouiller la troisième zone de mémoire (4) seulement au moment de l'exécution d'un appel de sousprogramme dirigé de la première zone de mémoire (6) vers la seconde zone de mémoire (5). 21. Système informatique selon la revendication 20, caractérisé en ce qu'il comprend en outre un moyen (10) pour empêcher le déverrouillage de la troisième zone de mémoire (4) pendant l'exécution d'un programme d'application générale dans la première zone de mémoire (6) . 22. Système informatique selon la revendication 20, caractérisé en ce que le moyen d'exécution comprend un moyen (13) pour transmettre une adresse d'une position de mémoire qui fait l'objet d'une opération d'accès ; en ce que le moyen de déverrouillage (10) comprend un moyen pour déverrouiller la troisième zone de mémoire (4) lorsque le moyen de transmission (13) transmet une adresse d'une position de mémoire dans la seconde zone de mémoire (5); le système informatique comprenant en outre un moyen (10) pour verrouiller la troisième zone de mémoire (4) lorsque le moyen de transmission (13) transmet une adresse d'une position de mémoire dans la première zone de mémoire (6). 23. Système informatique selon la revendication 20, caractérisé en ce qu'il comprend en outre une quatrième zone de mémoire (9) qui stocke à l'intérieur des données qui sont traitées par l'au moins un programme d'application générale dans la première zone de mémoire (6); une cinquième zone de mémoire (8) qui stocke à l'intérieur des données qui sont traitées par l'au moins un programme d'application de sécurité dans la troisième zone de mémoire (4); et un moyen (10) pour déverrouiller la cinquième zone de mémoire (8) seulement au moment de l'exécution d'un appel de sous-programme dirigé de la première zone de mémoire (6) vers la seconde zone de mémoire (5). 24. Système informatique selon la revendication 23, caractérisé en qu'il comprend en outre un moyen pour empêcher le déverrouillage de la cinquième zone de mémoire (8) pendant l'exécution d'un programme d'application générale dans la première zone de mémoire (6). 25. Système informatique selon la revendication 20, caractérisé en ce que les première, seconde et troisième zones de mémoire (6, 5, 4), le moyen d'exécution (2) et le moyen de déverrouillage (10) sont tous contenus dans une carte à puce. 26. Système informatique selon la revendication 20, caractérisé en ce qu'il comprend en outre un moyen pour maintenir la troisième zone de mémoire (4) déverrouillée pendant l'exécution d'un programme d'application de sécurité dans la troisième zone de mémoire (4). 27. Système informatique selon la revendication 26, caractérisé en ce qu'il comprend en outre un moyen pour verrouiller la troisième zone de mémoire (4) au moment de l'exécution d'un appel de sous-programme dirigé de la troisième zone de mémoire (4) vers la première zone de mémoire (6). 28. Procédé d'exécution d'un programme de sécurité pendant l'exécution d'un programme d'application, caractérisé en ce qu'il comprend les étapes suivantes : on exécute un programme d'application; on déverrouille le programme de sécurité seulement au moment de l'exécution d'un appel de sous-programme dirigé vers une zone de table de vecteurs (5) qui contient seulement à l'intérieur au moins un appel de sous-programme dirigé vers le programme de sécurité ; on exécute le programme de sécurité qui est déverrouillé. 29. Procédé selon la revendication 28, caractérisé en ce qu'il comprend en outre le verrouillage du programme de sécurité au moment de l'exécution d'un appel de sousprogramme en retour vers le programme d'application. 30. Procédé selon la revendication 28, caractérisé en ce que l'exécution d'un programme d'application, le déverrouillage du programme de sécurité et l'exécution du programme de sécurité sont tous accomplis dans une carte à puce. 31. Procédé selon la revendication 28, caractérisé en ce que le déverrouillage comprend le maintien du programme de sécurité déverrouillé pendant l'exécution du programme de sécurité.