EP1089175B1 - Système informatique sécurisé - Google Patents

Système informatique sécurisé Download PDF

Info

Publication number
EP1089175B1
EP1089175B1 EP00402644A EP00402644A EP1089175B1 EP 1089175 B1 EP1089175 B1 EP 1089175B1 EP 00402644 A EP00402644 A EP 00402644A EP 00402644 A EP00402644 A EP 00402644A EP 1089175 B1 EP1089175 B1 EP 1089175B1
Authority
EP
European Patent Office
Prior art keywords
security
peripheral
processor
computer system
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
EP00402644A
Other languages
German (de)
English (en)
Other versions
EP1089175A1 (fr
Inventor
Saíd El Fassi
Louis Moreau
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens AG Oesterreich
Original Assignee
Siemens Transportation Systems GmbH and Co KG
Siemens Transportation Systems SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Transportation Systems GmbH and Co KG, Siemens Transportation Systems SAS filed Critical Siemens Transportation Systems GmbH and Co KG
Publication of EP1089175A1 publication Critical patent/EP1089175A1/fr
Application granted granted Critical
Publication of EP1089175B1 publication Critical patent/EP1089175B1/fr
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L15/00Indicators provided on the vehicle or train for signalling purposes
    • B61L15/0063Multiple on-board control systems, e.g. "2 out of 3"-systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B61RAILWAYS
    • B61LGUIDING RAILWAY TRAFFIC; ENSURING THE SAFETY OF RAILWAY TRAFFIC
    • B61L27/00Central railway traffic control systems; Trackside control; Communication systems specially adapted therefor
    • B61L27/30Trackside multiple control systems, e.g. switch-over between different systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • G06F11/104Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error using arithmetic codes, i.e. codes which are preserved during operation, e.g. modulo 9 or 11 check

Definitions

  • the invention relates to secure computer systems designed from to have a quantifiable level of security (ie a level of detection of any malfunction, which is demonstrable). She finds a particularly important, although not exclusive, application in railway automatic control installations where it is essential to detect any defect that might cause an incident.
  • MATRA TRANSPORT INTERNATIONAL has carried out systems whose security is achieved by introducing, in the information to be processed, a redundancy such as the probability of failure detected is below a predefined threshold.
  • This solution has notably been implemented in a coded processor. Every information likely to have an influence on security is coded and only one mode of coding is adopted all along the information path during its acquisition, processing and transmission. The security of the information can be completed, if necessary, by encryption.
  • the coding adds redundancy to the information to be protected.
  • the power of coding is chosen to achieve the required level of security.
  • k must be greater than 40.
  • Date protection is only necessary if a variable changes with time. If it is desired to guarantee the freshness of the information at each calculation cycle, characterized by a date, the date is added to the code of any variant information.
  • x will be represented by: with B x + D ⁇ A
  • the code can be expanded when the protection sought is increased.
  • This architecture has some disadvantages and limitations. As it requires complex code manipulations, it requires calculators dedicated and optimized architectures, so closed. However she gave very good results in systems using processors powerful, but whose internal security is a priori genuine. But it lends itself poorly employed recent microprocessors that include cache memories (or ante-memories) of data or memory because their use would require a specific security analysis complex and not providing security absolute. In addition, residual scenarios remain because of the presence on the same microprocessor functional information and constants or coding operations. It is therefore not possible to exploit the entire power of this type of microprocessor.
  • GB-A-2169114 to which reference may also be made, know a computer system having a processor and a coprocessor and processing input data associated with codes; these codes remain associated with the data in the processor which increases the task of the latter.
  • the invention as defined in claim 1 aims to overcome the above limitations and for that purpose to remove the charge the digital security processing to the processor by transferring all digital security treatments to a device. By elsewhere, it will perfectly know the level of security obtained.
  • the invention accordingly proposes a computer system comprising at least one processor working under the control of a program, which can be permanent or downloaded, working on code-associated input data and providing output data intended to be transmitted or to be applied to output devices, associated with a code, characterized by a peripheral external to the processor, connected to the processor for receiving at least the input data codes, the operands and the nature of each elementary operation performed by the processor having a secure architecture calculating a code at each elementary operation performed by the processor and verifying the correct execution of all or part of the program executed, while the processor performs calculations only on the functional values of coded data.
  • operation should be interpreted as meaning an operation arithmetic, mathematical, logical or control, not an instruction elementary. This constitution imposes no constraints on the caches of data or program of the processor, since the processor only performs calculations on the functional values of the coded data, and not on the codes.
  • the processor will manipulate only the uncoded instructions or data X k .
  • the device will manage the codes and their evolutions with the functions applied to the coding and that it knows.
  • the processor transfers the identifier (i.e. "containing”, the functional values constituting a "content") of the operands used (eg the address of the variable, which can also be stored in a "mirror memory” of the device), the operation performed and the value of the result.
  • the device calculates code changes.
  • the device can be local or remote.
  • system for the in the security of the computer itself or of the computer system to which it belongs not only to information processing organs, but also the input and output devices of the information whose content is to secure.
  • the proposed architecture removes the constraints related to security in the choice of the processor (or processors) and its operating system in real time (software). There is no significant power loss calculation in real-time processor and any processing error committed as a result of a any material failure or intrusion into the treatments is detected.
  • the system shown in FIG. 1 comprises several host computers 10 a, 10b, 10c, 10d, connected by a transmission support 14, each provided with a security device 12a, 12b, 12c and 12d. Only devices from computers 10c and 10d are equipped for the security of the inputs / outputs E / S. We see that the system is completely open.
  • a single device 12 implanted on the computer 10d which constitutes host computer, ensures the security of a whole system with four calculators (and not just the calculator host). This device can ensure only the security of the treatments in the calculators, also the safety I / O inputs / outputs of the host computer. It can also be directly connected to the transmission medium.
  • the host computer is equipped with a security driver that allows it to interact with the device and the other computers represented, themselves equipped with a security device, which can be connected by any transmission medium (bus computers, serial links, radio, intemet, etc.).
  • a security driver that allows it to interact with the device and the other computers represented, themselves equipped with a security device, which can be connected by any transmission medium (bus computers, serial links, radio, intemet, etc.).
  • the validation messages for the security outputs are no longer transmitted, and the system to which the device belongs is put in a particular state, sure, depending on the applications.
  • the device 12 causes only, in case of detection of an external or internal malfunction by the device, the setting of the system in a particular state, safe, application dependent.
  • a security device can also be used, in a form that will then generally be very simple, to make reliable exchanges between a map chip and one or more calculators.
  • the security device can be implanted in the card itself (as allowed by an ASIC) and can be associated with calculators or one of the calculators, to ensure that calculations and the chip of the card, and / or by the calculators with which it dialogues, are free from any error due to an unexpected hardware failure of an organ of the system involved or a software or voluntary intrusion.
  • the system shown in FIG. 4 comprises a calculator 18 incorporating a fast microprocessor, incorporating a cache memory and using a bus standard PCI 24 personal computer.
  • Security Device 12 which will be typically an ASIC can fully exploit the capabilities of a fast microprocessor.
  • a buffer register 26 is provided for the security device 12 can perform basic operations as and when opportunities to fully exploit the capabilities of the microprocessor.
  • means not represented can be planned to put the system in a safe state if this event is detectable, for example by checking the date.
  • the microprocessor 20 constitutes the central unit which ensures all the system functions. It is equipped with a serial interface 28 for connecting the system to other computers.
  • FIG. 4 shows interfaces 34 and 36 with functional inputs and outputs connected in chains to a first entrance of the digital part 30, which will generally consist of a card distinct from another card which constitutes the analog part 32.
  • the interfaces 38 and 40 with secure inputs and outputs will also be grouped into chains, possibly with a link with the bus 24 to transfer the information to verify the validity of the codes introduced by the interfaces.
  • the system also includes links with organs that provide information used by the digital part of the controller dynamic.
  • the members shown comprise a displacement sensor 42 which is connected by a matching interface 44 connected to the PCI bus 24.
  • the interface develops the sensor supply signals and transfers the received information of the sensor.
  • These bodies also include a subset of communication with beacons distributed along the track. This subset comprises an antenna 46 for communication with the beacons, a module analog 48 remote power supply (if it is passive tags), reception and demodulation, and an interface 50 of control and dating.
  • the security device can be adapted to a functioning in pipeline mode, with a time division multiplex structure. He can too have parallel structures to perform simultaneously several elementary operations.

Landscapes

  • Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)
  • Storage Device Security (AREA)

Description

L'invention concerne les systèmes informatiques sécurisés, conçus de façon à avoir un niveau de sécurité quantifiable (c'est-à-dire un niveau de détection de tout défaut de fonctionnement, qui est démontrable). Elle trouve une application particulièrement importante, bien que non exclusive, dans les installations de conduite automatique ferroviaires où il est essentiel de détecter tout défaut qui risquerait de provoquer un incident.
On connaít diverses techniques de sécurisation de systèmes informatiques. On utilise notamment la redondance, consistant à disposer en parallèle plusieurs organes ayant une probabilité de défaillance commune très faible inférieure à un seuil prédéfini. Une autre solution, qu'on peut qualifier de sécurité intrinsèque, utilise des composants et des sous-ensembles dont le comportement en cas de défaillance est connu et est tel que toute défaillance provoque une configuration de sécurité.
De plus, la société MATRA TRANSPORT INTERNATIONAL a réalisé des systèmes dont la sécurité est obtenue en introduisant, dans l'information numérique à traiter, une redondance telle que la probabilité de défaillance non détectée soit inférieure à un seuil prédéfini.
Cette solution a notamment été mise en oeuvre dans un processeur codé. Chaque information susceptible d'avoir une influence sur la sécurité est codée et un seul mode de codage est adopté sur tout le trajet de l'information au cours de son acquisition, de son traitement et de sa transmission. La sécurité de l'information peut être complétée, si nécessaire, par cryptage.
Le principe du mode de sécurisation par codage, qui est mis en oeuvre par la société MATRA TRANSPORT INTERNATIONAL sous la marque DIGISAFE, est le suivant.
La mise en oeuvre du principe peut s'écarter des détails de réalisation qui seront décrits ensuite pour tenir compte de la technologie utilisée.
Chacune des caractéristiques de chaque information entrante ayant une incidence sur la sécurité est protégée par un code. Les caractéristiques peuvent être notamment :
  • une valeur et une identité (et éventuellement une date de limite de validité) ; ou
  • une donnée, une adresse et éventuellement une séquence d'apparition.
Le codage ajoute une redondance sur l'information à protéger.
Avec une information numérique utile contenue dans un le champ de n bits, le codage consiste à ajouter k bits de redondance pour former un mot codé sur m bits tel que : m = n + k
II y a donc 2n mots possibles appartenant au code et (2n+k - 2n) mots possibles qui n'appartiennent pas au code.
La probabilité pour qu'un mot appartenant au code soit pris à la place d'un autre (probabilité de non détection d'erreur) est donc : p = 1 / 2k
La puissance du codage est choisie pour atteindre le niveau de sécurité requis. Ainsi, pour obtenir une probabilité de 10-12, il faut que k soit supérieur à 40.
Pour que le code soit compatible avec l'ensemble des opérations algorithmiques, on a choisi un code arithmétique tel que toute valeur x soit représentée par : X=A. x où A, clé du code, est un nombre premier.
Toutes les opérations arithmétiques conservent donc la propriété que X est multiple de A. Les erreurs de calcul sont détectés par la perte de divisibilité par A.
L'identité doit être protégée contre une erreur d'adressage qui risque de faire prendre une variable Y = A . y à la place de X = A . x puisque X et Y appartiennent au code. Le codage arithmétique par multiplication n'est pas suffisant pour détecter l'erreur. On écarte la difficulté en associant, à chaque variable x, un identificateur entier Bx strictement compris entre 0 et A, bornes exclues, x sera alors représenté par : X' = A . x + Bx
La protection de la date n'est nécessaire que si une variable évolue en fonction du temps. Si on souhaite garantir la fraícheur de l'information à chaque cycle de calcul, caractérisé par une date, la date est ajoutée au code de toute information variante. Ainsi x sera représenté par :
Figure 00030001
avec Bx + D < A
Le contrôle de la validité d'un résultat se fait alors par division entière par A. On extrait éventuellement D du reste Bx + D et on compare la partie Bx avec la valeur attendue ; l'algorithme étant connu, la valeur du reste est prévisible dès la conception.
Le code peut être plus étendu lorsque la protection recherchée est accrue.
Cette architecture présente quelques inconvénients et limitations. Comme elle exige des manipulations de code complexes, elle requiert des calculateurs dédiés et des architectures optimisées, donc fermées. Cependant elle a donné de très bons résultats dans des systèmes mettant en oeuvre des processeurs puissants, mais dont la sécurité inteme est véritable a priori. Mais elle se prête mal à l'emploi des microprocesseurs récents qui comportent des mémoires cache (ou ante-mémoires) de données ou de mémoire car leur utilisation nécessiterait une analyse de sécurité spécifique complexe et n'assurant pas une sécurité absolue. De plus, il subsiste des scénarios résiduels du fait de la présence sur le même microprocesseur des informations fonctionnelles et des constantes ou des opérations de codage. Il n'est en conséquence pas possible d'exploiter toute la puissance de ce type de microprocesseur.
Le document GB-A-2169114, auquel on pourra également se reporter, fait connaítre un système informatique ayant un processeur et un coprocesseur et traitant des données d'entrée associées à des codes ; ces codes restent associés aux données dans le processeur ce qui alourdit la tâche de ce dernier.
L'invention telle que définie dans la revendication 1 vise à écarter les limitations ci-dessus et pour cela de retirer la charge du traitement numérique de sécurité au processeur en transférant l'ensemble des traitements numériques de sécurité vers un périphérique. Par ailleurs, on connaítra ainsi parfaitement le niveau de sécurité obtenu.
L'invention propose en conséquence un système informatique comprenant au moins un processeur travaillant sous le contrôle d'un programme, qui peut être permanent ou téléchargé, travaillant sur des données d'entrée associables à un code et fournissant des données de sortie destinées à être transmises ou à être appliquées à des organes de sortie, associables à un code,
   caractérisé par un périphérique extérieur au processeur, relié au processeur pour recevoir au moins les codes des données d'entrée, les opérandes et la nature de chaque opération élémentaire effectuée par le processeur ayant une architecture sécuritaire calculant un code à chaque opération élémentaire effectuée par le processeur et vérifiant la bonne exécution de tout ou partie du programme exécuté, tandis que le processeur n'effectue des calculs que sur les valeurs fonctionnelles de données codées.
Dans certains cas, il y aura vérification du code du résultat à chaque opération.
Le terme "opération" doit être interprété comme signifiant une opération arithmétique, mathématique, logique ou de contrôle, et non pas une instruction élémentaire. Cette constitution n'impose aucune contrainte sur les caches de données ou de programme du processeur, puisque le processeur n'effectue que des calculs sur les valeurs fonctionnelles des données codées, et non pas sur les codes.
Le périphérique reçoit toutes les informations nécessaires pour vérifier, à l'issue de chaque opération effectuée dans le système, si le code obtenu est correct et cela par des calculs arithmétiques simples. Dans le cas d'un transfert, il suffit de vérifier que le code est conservé. Dans le cas d'une opération faisant intervenir deux opérandes x et y ayant des codes Cx et Cy, un algorithme f stocké dans le périphérique permettra de déterminer le code Cz correct du résultat. Par exemple, pour une addition : Cz = f(CxX + CyY)
Si k est le nombre de bits utile à la représentation des mots du langage et est tel que 2k > A, on peut alors écrire A. x sous la forme A . x = 2k . x - rk (x) où rk (x) est le reste de la division de 2k . x par A et on peut écrire une valeur X" : X" = 2k . x + Bx + D - rk (x)
Cette représentation permet de séparer le code de la valeur non codée : X" = Xk + Cx où :
  • Xk = 2k. x représente la valeur non codée de la variable, et
  • Cx représente la partie codée de la variable.
  • A partir de cette représentation, le processeur ne manipulera que les instructions ou les données non codées Xk. Le périphérique gérera les codes et leurs évolutions avec les fonctions appliquées au codage et qu'il connaít.
    A chaque instruction, le processeur transfère l'identifiant (c'est-à-dire le "contenant", les valeurs fonctionnelles constituant un "contenu") des opérandes utilisées (par exemple l'adresse de la variable, qui peut également être conservée dans une "mémoire miroir" du périphérique), l'opération effectuée et la valeur du résultat.
    A partir de ces données, le périphérique calcule les évolutions du code.
    On peut écrire schématiquement les opérations sous la forme ci-dessous :
    Figure 00060001
    Le périphérique peut être local ou distant. Le terme "système" pour la mise en sécurité du calculateur lui-même ou du système informatique auquel il appartient désigne non seulement des organes de traitement de l'information, mais aussi les dispositifs d'entrée et sortie des informations dont le contenu est à sécuriser.
    L'architecture proposée supprime les contraintes liées à la sécurité dans le choix du processeur (ou des processeurs) et de son système d'exploitation en temps réel (logiciel). Il n'y a pas de perte de puissance notable de calcul en temps réel du processeur et toute erreur de traitement commise à la suite d'une quelconque défaillance matérielle ou d'une intrusion dans les traitements est détectée.
    Les caractéristiques ci-dessus, ainsi que d'autres, apparaítront mieux à la lecture de la description qui suit de modes particuliers de réalisation, donnés à titre d'exemples non limitatifs. La description se réfère aux dessins qui l'accompagnent, dans lesquels :
    • les figures 1, 2, 3 sont des schémas montrant l'adaptation de l'invention à divers systèmes ;
    • la figure 4 est un schéma montrant une constitution possible du périphérique de sécurité.
    Le système montré en figure 1 comporte plusieurs calculateurs hôtes 10a, 10b, 10c, 10d, reliés par un support de transmission 14, munis chacun d'un périphérique de sécurité 12a, 12b, 12c et 12d. Seuls les périphériques des calculateurs 10c et 10d sont équipés pour la mise en sécurité des Entrées/Sorties E/S. On constate que le système est complètement ouvert.
    Dans le mode de réalisation de la figure 2, un seul périphérique 12 implanté sur le calculateur 10d, qui constitue calculateur hôte, assure la sécurité de tout un système à quatre calculateurs (et non pas seulement du calculateur hôte). Ce périphérique peut assurer soit uniquement la sécurité des traitements numériques effectués dans les calculateurs, soit également la mise en sécurité des Entrées/Sorties E/S du calculateur hôte. Il peut aussi être relié directement au support de transmission.
    Le calculateur hôte est équipé d'un pilote de sécurité qui lui permet de dialoguer avec le périphérique et les autres calculateurs représentés, eux-mêmes équipés d'un périphérique de sécurité, pouvant être reliés par n'importe quel support de transmission (bus des calculateurs, liaisons série, radio, intemet, etc.).
    Dans le système de la figure 3, le périphérique de sécurité 12 est relié à un ensemble de calcul classique 18 constitué d'une unité centrale ou d'un processeur 20 et de périphériques classiques 22a, ... 22n. Il comporte un ou deux organes de calcul, dont la sécurité est intrinsèque (c'est-à-dire peut être appréciée a priori) qui effectue à la fois :
    • les traitements numériques de sécurité,
    • le traitement sécuritaire des entrées-sorties.
    En cas de détection d'un dysfonctionnement externe ou interne par le périphérique 12, les messages de validation des sorties sécuritaires ne sont plus émis, et le système auquel appartient le dispositif est mis dans un état particulier, sûr, dépendant des applications.
    Dans une variante, le périphérique 12 provoque seulement, en cas de détection d'un dysfonctionnement externe ou interne par le dispositif, la mise du système dans un état particulier, sûr, dépendant des applications.
    Il sera souvent avantageux de constituer le périphérique sécuritaire par un ASIC (circuit intégré d'application spécifique) réalisant le traitement des opérations sécuritaires et effectuant leur contrôle. En incluant un dispositif de contrôle dynamique (n'autorisant l'activation de sorties sécuritaires qu'en présence d'un code cohérent, dans la fonctionnalité du périphérique de sécurité, les sorties de sécurité sont inhibées dès l'apparition d'une anomalie dans le code de sécurité.
    Un périphérique de sécurité est également utilisable, sous une forme qui sera alors généralement très simple, pour fiabiliser les échanges entre une carte à puce et un ou des calculateurs.
    Le périphérique sécuritaire peut être implanté dans la carte elle-même (comme le permet un ASIC) et peut être associé aux calculateurs ou à l'un des calculateurs mis en jeu, pour garantir que les calculs et traitements effectués par la puce de la carte, et/ou par les calculateurs avec lesquels elle dialogue, soient exempts de toute erreur due à une défaillance matérielle inopinée d'un organe du système mis en jeu ou d'une intrusion logicielle ou volontaire.
    On décrira maintenant de façon succincte une application de l'invention à des équipements de conduite automatique de véhicules de transport collectif sur voie. Certains au moins de ces équipements doivent être sécuritaires. Les besoins de sécurité peuvent alors être résumés comme suit :
    Communication :
    Toute erreur sur la partie utile d'une information sécuritaire d'un message série commise entre la sortie d'une application sécuritaire et l'entrée d'une autre application sécuritaire doit entraíner un "hors code" de l'information, c'est-à-dire une incohérence entre la partie utile et la partie redondante de cette information.
    Acquisition d'entrées et émission de sorties "tout ou rien" :
    "Tout ou rien" définit les entrées ou les sorties caractérisées par l'état 0 ou 1. Une telle entrée sécuritaire restreignant une opération doit entraíner l'élaboration d'une variable d'entrée codée signifiant l'état restrictif ou hors code. Une variable de sortie codée à l'état restrictif ou hors code doit entraíner un état restrictif de la sortie "tout ou rien" correspondante.
    Sécurisation des traitements :
    Toute erreur d'exécution d'une opération élémentaire entraínant une erreur sur la partie fonctionnelle doit entraíner un "hors code" des variables de sortie concernées par cette opération élémentaire.
    Contrôle de fraícheur :
    Chacun des besoins "sécurité" précédents exprime un comportement purement algorithmique, mais les comportements ne sont pas instantanés : ils ont un temps de réponse qui doit être borné en sécurité dans le cas du transport. Pour ce faire, le calculateur peut être rythmé par une horloge sécuritaire qui cadence l'acquisition des entrées, les calculs codés et la commande des sorties. Pour ces trois éléments, la sécurité est basée sur la date. Les messages série (qui ne peuvent pas être datés) utilisent une heure "logique", au niveau du système, du fait de l'asynchronisme des calculateurs entre eux. Sa prise en compte fait partie du décompactage des messages ; pour tenir compte de ce que les informations doivent être récentes, on peut prendre les mesures suivantes :
    • Toute dérive de l'horloge cadençant le calculateur au-delà d'un seuil provoque la mise en sécurité du système.
    • Tout message inter calculateur jugé trop vieux à la vue de son heure logique est ignoré, ce dernier contrôle étant effectué par le périphérique sécuritaire.
    Toutes ces opérations peuvent être effectuées par le périphérique de sécurité 12 dans le système montré en figure 2, qui est un schéma de la partie embarquée sur un véhicule d'un équipement de conduite automatique.
    Le système montré en figure 4 comporte un calculateur 18 incorporant un microprocesseur 20 rapide, incorporant une mémoire cache et utilisant un bus standard PCI 24 d'ordinateur personnel. Le périphérique de sécurité 12, qui sera généralement un ASIC permet d'exploiter pleinement les capacités d'un microprocesseur rapide.
    Un registre tampon 26 est prévu pour que le périphérique de sécurité 12 puisse exécuter les opérations élémentaires au fur et à mesure de ses possibilités afin d'exploiter pleinement les capacités du microprocesseur.
    Pour éviter que le registre 26 ne restitue en permanence un cycle complet ou une partie de cycle qu'il a mémorisé, des moyens non représentés peuvent être prévus pour mettre le système dans un état de sécurité si cet événement est détectable, par exemple par contrôle de la date.
    Le microprocesseur 20 constitue l'unité centrale qui assure l'ensemble des fonctions du système. Elle est munie d'une interface série 28 permettant de relier le système à d'autres calculateurs.
    Le système comprend encore un contrôleur dynamique constitué d'une partie numérique 30 reliée au bus 24 et d'une partie analogique 32. La partie 34 est interfacée avec l'unité centrale 20 et avec la partie analogique 32 qui assure diverses fonctions :
    • fournir la puissance nécessaire à l'alimentation des sorties sécuritaires à partir des séquences élaborées par la partie numérique 30,
    • couper en sécurité l'alimentation en cas de séquences incorrectes fournies par la partie 30,
    • contrôler la fréquence des séquences d'entrée, c'est-à-dire la fraícheur des informations.
    Les entrées E et sorties S du systèmes sont reliées à la partie analogique 30. Parmi ces entrées et sorties, certaines sont purement fonctionnelles et non sécurisées. La figure 4 montre les interfaces 34 et 36 avec les entrées et sorties fonctionnelles reliées en chaínettes à une première entrée de la partie numérique 30, qui sera généralement constituée par une carte distincte d'une autre carte qui constitue la partie analogique 32. Les interfaces 38 et 40 avec les entrées et sorties sécurisées seront elles aussi groupées en chaínettes, avec éventuellement une liaison avec le bus 24 pour transférer les informations permettant de vérifier la validité des codes introduits par les interfaces.
    Le système comporte également des liaisons avec des organes qui fournissent des informations utilisées par la partie numérique du contrôleur dynamique.
    Les organes représentés comprennent un capteur de déplacement 42 qui est relié par un interface 44 d'adaptation connecté au bus PCI 24. L'interface élabore les signaux d'alimentation du capteur et transfère les informations reçues du capteur. Ces organes comprennent également un sous-ensemble de communication avec des balises réparties le long de la voie. Ce sous-ensemble comporte une antenne 46 de communication avec les balises, un module analogique 48 de télé-alimentation (s'il s'agit de balises passives), de réception et de démodulation , et un interface 50 de contrôle et de datation.
    Au lieu d'être prévu pour effectuer successivement les opérations élémentaires, le périphérique de sécurité peut être adapté à un fonctionnement en mode pipe-line, avec une structure à multiplexage temporel. Il peut aussi comporter des structures parallèles permettant d'effectuer simultanément plusieurs opérations élémentaires.

    Claims (9)

    1. Système informatique comprenant au moins un calculateur à processeur (10) travaillant sous le contrôle d'un programme, travaillant sur des données d'entrée associables chacune à un code et fournissant des données de sortie associables à un code, destinées à être transmises ou à être appliquées à des organes de sortie, caractérisé par au moins un périphérique (12) extérieur au processeur, relié au processeur pour recevoir au moins les codes des données d'entrée, les opérandes et la nature de l'opération de chaque opération élémentaire effectuée par le processeur (10), ayant une architecture sécuritaire calculant un code à chaque opération élémentaire effectuée par le processeur et vérifiant la bonne exécution de tout ou partie du programme exécuté, tandis que le processeur n'effectue des calculs que sur les valeurs fonctionnelles des données codées.
    2. Système informatique selon la revendication 1, caractérisé en ce que le dit programme est permanent ou téléchargé.
    3. Système informatique selon la revendication 1 ou 2, caractérisé en ce que le périphérique est unique et est associé à un calculateur hôte (12) pour assurer la sécurité de tout un système à plusieurs calculateurs reliés à un support de communication commun (14).
    4. Système informatique selon la revendication 3, caractérisé en ce que le calculateur hôte (10d) est équipé d'un pilote de sécurité qui lui permet de dialoguer avec le périphérique et les autres calculateurs.
    5. Système informatique selon la revendication 1 ou 2, caractérisé en ce que le système comporte plusieurs calculateurs hôte (10a, 10b, 10c, 10d), reliés par un support de transmission (14) et munis chacun d'un périphérique de sécurité (12a, 12b, 12c, 12d).
    6. Système informatique selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le périphérique de sécurité ou les périphériques de sécurité ne font les opérations de mise en sécurité que sur les entrées/sorties de certains seulement des processeurs.
    7. Système informatique selon la revendication 1 ou 2, caractérisé en ce que le système comporte un périphérique de sécurité (12) unique, relié à un ensemble de calcul (18) constitué d'une unité centrale ou d'un processeur et de périphériques (22a, ... 22n), le dit périphérique de sécurité ayant un ou des moyens de calcul qui effectuent :
      les traitements numériques de sécurité,
      un traitement sécuritaire des entrées/sorties.
    8. Système selon l'une quelconque des revendications 1 à 7, caractérisé en ce que le dit périphérique de sécurité est prévu pour sécuriser un ensemble du système constitué par une carte à puce, un lecteur et un ou des calculateurs qui interviennent dans le traitement et qui constituent le système et pour fabriquer les échanges entre la carte à puce et le ou les calculateurs.
    9. Système selon l'une quelconque des revendications précédentes, dont le périphérique sécuritaire est un circuit intégré d'application spécifique.
    EP00402644A 1999-09-28 2000-09-25 Système informatique sécurisé Expired - Lifetime EP1089175B1 (fr)

    Applications Claiming Priority (2)

    Application Number Priority Date Filing Date Title
    FR9912055 1999-09-28
    FR9912055A FR2799018B1 (fr) 1999-09-28 1999-09-28 Systeme informatique securise

    Publications (2)

    Publication Number Publication Date
    EP1089175A1 EP1089175A1 (fr) 2001-04-04
    EP1089175B1 true EP1089175B1 (fr) 2003-05-21

    Family

    ID=9550294

    Family Applications (1)

    Application Number Title Priority Date Filing Date
    EP00402644A Expired - Lifetime EP1089175B1 (fr) 1999-09-28 2000-09-25 Système informatique sécurisé

    Country Status (4)

    Country Link
    EP (1) EP1089175B1 (fr)
    DE (1) DE60002809T2 (fr)
    ES (1) ES2199128T3 (fr)
    FR (1) FR2799018B1 (fr)

    Families Citing this family (5)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    FR2879778B1 (fr) * 2004-12-21 2007-06-15 Siemens Transp Systems Soc Par Procede de traitement de signature de donnees
    ES2309687T3 (es) 2005-09-16 2008-12-16 Siemens Transportation Systems S.A.S. Procedimiento y sistema de control redundante para ordenadores seguros.
    DE102008056095A1 (de) * 2008-11-04 2010-05-12 Siemens Aktiengesellschaft Einrichtung und Verfahren zum Empfangen und zum Verarbeiten von Signalen zur Zugbeeinflussung auf einem Schienenfahrzeug sowie Empfangsgerät
    DE102011082598A1 (de) * 2011-09-13 2013-03-14 Siemens Aktiengesellschaft Steueranordnung
    US9233698B2 (en) 2012-09-10 2016-01-12 Siemens Industry, Inc. Railway safety critical systems with task redundancy and asymmetric communications capability

    Family Cites Families (2)

    * Cited by examiner, † Cited by third party
    Publication number Priority date Publication date Assignee Title
    US4831521A (en) * 1983-11-10 1989-05-16 General Signal Corporation Vital processor implemented with non-vital hardware
    FR2704329B1 (fr) * 1993-04-21 1995-07-13 Csee Transport Système de sécurité à microprocesseur, applicable notamment au domaine des transports ferroviaires.

    Also Published As

    Publication number Publication date
    FR2799018B1 (fr) 2003-07-04
    DE60002809T2 (de) 2004-02-26
    FR2799018A1 (fr) 2001-03-30
    ES2199128T3 (es) 2004-02-16
    DE60002809D1 (de) 2003-06-26
    EP1089175A1 (fr) 2001-04-04

    Similar Documents

    Publication Publication Date Title
    FR2990034A1 (fr) Procede de controle de redondance cyclique protege contre une attaque par canal auxiliaire
    EP3502899B1 (fr) Procédé de détermination d&#39;une somme d&#39;intégrité, programme d&#39;ordinateur et entité électronique associés
    FR2989504A1 (fr) Registre protege contre des attaques par injection de fautes
    EP1089175B1 (fr) Système informatique sécurisé
    EP4275124A1 (fr) Dispositif et procédé de calcul de paramètres de conduite
    US12259870B2 (en) Method for checking a processing of payload data
    EP3239902B1 (fr) Procede de verification d&#39;une authentification ou d&#39;une identification biometrique
    FR2992083A1 (fr) Calculateur, ensemble de communication comportant un tel calculateur, systeme de gestion ferroviaire comportant un tel ensemble, et procede de fiabilisation de donnees dans un calculateur
    EP3454246B1 (fr) Procédé de transmission et de vérification de validité de données de configuration dans un système électronique, système électronique et produit programme d&#39;ordinateur associés
    US11652662B2 (en) Speculative and accelerated classification based on incomplete feature sets
    EP1417582A2 (fr) Ensemble de circuits electroniques comportant des moyens de decontamination de parties contaminees par des erreurs
    EP2466506A1 (fr) Procédé dynamique de contrôle de l&#39;intégrité de l&#39;exécution d&#39;un code exécutable
    EP2229648B1 (fr) Methode de transfert securise de donnees
    EP4089559A1 (fr) Microprocesseur équipé d&#39;une unité arithmétique et logique et d&#39;un module matériel de sécurisation
    EP3035135A1 (fr) Procédé d&#39;arrêt d&#39;urgence et système sécuritaire associé
    WO2007010009A2 (fr) Integrite materielle permanente des donnees
    EP4089557B1 (fr) Procédé d&#39;exécution d&#39;un code binaire par un microprocesseur
    EP3792771B1 (fr) Test de programme
    EP3032451B1 (fr) Procédé d&#39;exécution d&#39;un programme par un processeur et entité électronique comportant un tel processeur
    EP2686768B1 (fr) Dispositif et méthode de filtrage de maintien sur un flux d&#39;entrées/sorties codé
    EP3493182B1 (fr) Procédé et dispositif de traitement cryptographique de données
    EP2343663A1 (fr) Procédé de protection polymorphe d&#39;un code exécutable
    EP1591866A1 (fr) Contrôle de l&#39;exécution d&#39;un algorithme par un circuit intégré
    EP2630605B1 (fr) Procede de securisation de l&#39;execution d&#39;un code informatique par redondance dynamique
    WO2016181062A1 (fr) Procede de securisation d&#39;une comparaison de donnees lors de l&#39;execution d&#39;un programme

    Legal Events

    Date Code Title Description
    PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

    Free format text: ORIGINAL CODE: 0009012

    AK Designated contracting states

    Kind code of ref document: A1

    Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

    AX Request for extension of the european patent

    Free format text: AL;LT;LV;MK;RO;SI

    17P Request for examination filed

    Effective date: 20010707

    AKX Designation fees paid

    Free format text: AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

    RAP1 Party data changed (applicant data changed or rights of an application transferred)

    Owner name: SIEMENS TRANSPORTATION SYSTEMS

    GRAH Despatch of communication of intention to grant a patent

    Free format text: ORIGINAL CODE: EPIDOS IGRA

    GRAH Despatch of communication of intention to grant a patent

    Free format text: ORIGINAL CODE: EPIDOS IGRA

    GRAA (expected) grant

    Free format text: ORIGINAL CODE: 0009210

    RBV Designated contracting states (corrected)

    Designated state(s): DE ES FR IT

    AK Designated contracting states

    Designated state(s): DE ES FR IT

    REG Reference to a national code

    Ref country code: IE

    Ref legal event code: FG4D

    Free format text: FRENCH

    REF Corresponds to:

    Ref document number: 60002809

    Country of ref document: DE

    Date of ref document: 20030626

    Kind code of ref document: P

    REG Reference to a national code

    Ref country code: IE

    Ref legal event code: FD4D

    Ref document number: 1089175E

    Country of ref document: IE

    REG Reference to a national code

    Ref country code: ES

    Ref legal event code: FG2A

    Ref document number: 2199128

    Country of ref document: ES

    Kind code of ref document: T3

    PLBE No opposition filed within time limit

    Free format text: ORIGINAL CODE: 0009261

    STAA Information on the status of an ep patent application or granted ep patent

    Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT

    26N No opposition filed

    Effective date: 20040224

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: DE

    Payment date: 20121119

    Year of fee payment: 13

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: IT

    Payment date: 20130919

    Year of fee payment: 14

    REG Reference to a national code

    Ref country code: DE

    Ref legal event code: R119

    Ref document number: 60002809

    Country of ref document: DE

    Effective date: 20140401

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: DE

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20140401

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: IT

    Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES

    Effective date: 20140925

    REG Reference to a national code

    Ref country code: FR

    Ref legal event code: PLFP

    Year of fee payment: 17

    REG Reference to a national code

    Ref country code: FR

    Ref legal event code: PLFP

    Year of fee payment: 18

    REG Reference to a national code

    Ref country code: FR

    Ref legal event code: PLFP

    Year of fee payment: 19

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: FR

    Payment date: 20190918

    Year of fee payment: 20

    PGFP Annual fee paid to national office [announced via postgrant information from national office to epo]

    Ref country code: ES

    Payment date: 20191219

    Year of fee payment: 20

    REG Reference to a national code

    Ref country code: ES

    Ref legal event code: FD2A

    Effective date: 20220128

    PG25 Lapsed in a contracting state [announced via postgrant information from national office to epo]

    Ref country code: ES

    Free format text: LAPSE BECAUSE OF EXPIRATION OF PROTECTION

    Effective date: 20200926