WO2014202388A1 - Verfahren zum verifizieren eines betriebssicheren zustandes eines rechners - Google Patents

Verfahren zum verifizieren eines betriebssicheren zustandes eines rechners Download PDF

Info

Publication number
WO2014202388A1
WO2014202388A1 PCT/EP2014/061594 EP2014061594W WO2014202388A1 WO 2014202388 A1 WO2014202388 A1 WO 2014202388A1 EP 2014061594 W EP2014061594 W EP 2014061594W WO 2014202388 A1 WO2014202388 A1 WO 2014202388A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
program
seal
code
identification number
Prior art date
Application number
PCT/EP2014/061594
Other languages
English (en)
French (fr)
Inventor
Uwe Eckelmann-Wendt
Original Assignee
Siemens Aktiengesellschaft
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 Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to ES14730114T priority Critical patent/ES2713448T3/es
Priority to EP14730114.7A priority patent/EP2992426B1/de
Publication of WO2014202388A1 publication Critical patent/WO2014202388A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0796Safety measures, i.e. ensuring safe condition in the event of error, e.g. for controlling element
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the invention relates to a method for verifying a safe operating state of a computer for controlling a safety-critical system, in particular Eisenbahnsi ⁇ assurance system.
  • Safety critical systems are frequently and control systems ⁇ , for example, for interlocking control, drive and brake control for transport of all kinds so ⁇ as well as production and process control systems or power plant control are used. Usually, is measured using sensors ⁇ means of measurements to perform actions on actuators. Safety and security features often need to be ensured for these control tasks. Safety levels are defined in the CENELEC EN50129 standard by SILO - not technically safe - up to SIL4 - highly secure in signaling terms.
  • railway safety systems include, in particular, the control of field elements, for example points, signals, track-free signaling devices and level crossings. Loading programs onto the controlling computer is problematic if an external effect, that is, an effective running of the programs, is possible before completion of the manual check as to whether the correct programs have been stored unaltered on the correct computer.
  • a generic method is disclosed in DE 10 2010 015 285 AI.
  • the system creates a non-machine ⁇ evaluable activation code that must be entered for confirmation of the popu ⁇ drove safe state into the system manually.
  • a disadvantage of the known methods is, above all, that an agreement is required to use the computer only in a reliable state, so that the decision as to whether a reliable state is present must be made by a user.
  • any program can activate the computer, bypassing the activation code.
  • a start with an unacknowledged, but otherwise functional program, can not be prevented, for example, with SIMIS computers.
  • the correct loading process is ensured after reading back the loaded software or its hash values.
  • the computer can be run unrecognizable from the outside with an unchecked and faulty program and can already be used in this non-secure state.
  • the invention has for its object to provide a generic method that prevents the loaded Pro ⁇ gram can act to the outside, before it is ensured that the program is error-free and runs on the computer provided.
  • the method includes the following steps:
  • the non-reloadable program memory area of the computer links the start-up seal with the program code of the computer program and the computer identification number to an enabling code, which releases an output module of the computer in accordance with a second expected value.
  • the separately transmitted starting Seal complements the Kochprü ⁇ fung of the program code and the computer identification number according to the first step of the method according to the invention.
  • the method allows the examination of the correct program storage, the version of the program and other repeatedlybe ⁇ conditions before the program can run effectively. Only if the values for the start seal, the program code and the computer identification number linked in step 3 are consistent, that is, correspond to the second expectation value, can the computer be used to control the safety-critical system. Start up the computer without over- schtes start Siegel does not make correct unlock code ⁇ , since only the quasi redelivered start Seal ex ⁇ ternal test allows that the correct program has been placed on the rich ⁇ term computer correctly in the program memory.
  • the output module of the computer that is to say a hardware module, must be enabled before the computer program can act externally.
  • the required for this activation start seal does not prevent the program execution itself, but represents only a condition that allows the visibility of the computer program or pre vents ⁇ .
  • the link for calculating the activation code takes place in a non-transferable program memory area of the computer, in order to ensure that not any program of the computer, bypassing the envisaged activation code generation, can activate the computer for security purposes.
  • the activation code represents the initial value for hardware creation without which the computer does not act outwards. If the activation code is not correct, the computer is not effectively executable with regard to the safety-critical system to be controlled, but can still be used via the designated data connection, for example with program loading devices, communicate, that is, deliver and receive data.
  • the activation code must have properties which are recognized by the hardware of the computer in order to switch the computer into an effective mode. The process allows the computer's "output ports" to be selectively switched on to allow the computer to work on its environment Without this activation, the computer program runs, but the outputs go to the safety-critical system because the hardware does not react to them.
  • the computer program or its program code or hash value is read back and compared with the first expected values.
  • the computer is also uniquely identified by its computer-specific identification number. If the expected hash value of the computer program can be read back from the expected computer, the startup seal which applies only to this computer and only to this computer program is stored on the non-downloadable program memory area of the computer.
  • a non umladbaren Pro ⁇ program storage area an area is understood in which the program can not be transferred, but rather can be stored values and evaluated or processed. This not umladbare program storage area netted the hash value of the computer program, its unique identification number ⁇ and the starting seal to the unlock code.
  • This he ⁇ calculated value is only effective unlock code when computer program, computer identification number and start Seal match.
  • the activation code is passed on to the hardware of the output module of the computer, which is si ⁇ cherograph that only these hardware - and no soft ⁇ ware - can switch the computer effectively.
  • the output module of the computer compares the address of the program memory area which has generated the activation code with a desired value. In this way also ensures that the registration code of the designated non umladba ⁇ ren program storage area comes and not any other part of the program the activation code to the hardware the off ⁇ reproducing assembly passes. Such an activation code, bypassing the non-reloadable program memory area, is not accepted by the output module.
  • the output module evaluates the physical program address of the origin of the activation code.
  • the non-reloadable program memory area according to claim 3 is provided in a PLD (Programmable Logic Device) of the CPU (Control Processing Unit) of the computer.
  • the PLD of the CPU calculates the activation code according to a programmed algorithm from the program code of the computer program, the computer identification number and the start-up seal. Since ⁇ a previously known value for the unlock code, which can only be passed by the current in the PLD code to the output module in has resul ⁇ animals.
  • the activation code can be the initial code for the cyclic cycle release that is used in every SIMIS CPU hardware as
  • the non umladbare program memory area after each change of Anlaufsie- gels, particularly in a reload of the computer program calculates the activation code, where the optionally deleted before ⁇ handene start seal and an actual run-up seal must be stored.
  • additional Si ⁇ reliability is each time the start-up seal and not only reached during the initial loading of the computer program.
  • the free ⁇ switching code must be re-calculated at least with each change of the seal. A recalculation only reloading the program is not enough, because then deleting the startup label would not be able to act on the calculated activation ⁇ code.
  • This start-up seal must not be deleted at any machine start, but only if a reboot of the computer program is carried out because the hash value of the program and the computer identification number is unchanged at restarting so that the computer with the same starting Siegel as often can anlau ⁇ fen. Consequently, the seal does not have to be deleted after a single use.
  • the deletion ⁇ of the startup seal recharges the computer program he allows ⁇ .
  • the new program can only be ge ⁇ load when no valid start Seal is stored.
  • the start-up seal must therefore be deleted in preparation for the loading.
  • the Entsie ⁇ rules can therefore also without - again Programmla ⁇ to be assurance technical sense - immediately.
  • the starter bar is loaded together with the computer program.
  • the start-up seal is not replenished simultaneously with the computer program or its program code übertra ⁇ gen and after the test with respect to the first expectation.
  • the computer program by making the activation code at the loading agreed calculator is tied.
  • a valid but outdated or too new program version could be loaded by mistake. Due to the missing test step, a residual uncertainty due to the non-separate start-up seal transmission can not be excluded.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)

Abstract

Die Erfindung betrifft ein Verfahren zum Verifizieren eines betriebssicheren Zustandes eines Rechners zur Ansteuerung eines sicherheitskritischen Systems, insbesondere Eisenbahnsicherungssystems, wobei eine Sicherheitslücke durch folgende Schritte geschlossen wird: 1. ein geladenes Rechnerprogramm oder dessen Programmcode und eine Rechneridentifikationsnummer werden zurückgelesen und mit ersten Erwartungswerten verglichen, 2. ein ausschließlich für die vorgesehene Kombination aus Rechnerprogramm und Rechneridentifikationsnummer gültiges Anlaufsiegel wird in einem nicht umladbaren Programmspeicherbereich des Rechners gespeichert und 3. der nicht umladbare Programmspeicherbereich des Rechners verknüpft das Anlaufsiegel mit dem Programmcode des Rechnerprogramms und der Rechneridentifikationsnummer zu einem Freischaltcode, der bei Übereinstimmung mit einem zweiten Erwartungswert eine Ausgabebaugruppe des Rechners freischaltet.

Description

Beschreibung
Verfahren zum Verifizieren eines betriebssicheren Zustandes eines Rechners
Die Erfindung betrifft ein Verfahren zum Verifizieren eines betriebssicheren Zustandes eines Rechners zur Ansteuerung eines sicherheitskritischen Systems, insbesondere Eisenbahnsi¬ cherungssystems .
Sicherheitskritische Systeme sind häufig Steuer- und Regel¬ systeme, die beispielsweise zur Stellwerkssteuerung, Antriebs- und Bremsansteuerung für Verkehrsmittel aller Art so¬ wie auch Fertigungs- und Prozessleittechnik oder Kraftwerks- regelung eingesetzt werden. Üblicherweise werden dabei mit¬ tels Sensoren Messgrößen erfasst, um Aktionen an Stellgliedern auszuführen. Für diese Steuerungs- und Regelungsaufgaben müssen oft sicherheitsbezogene Eigenschaften gewährleistet sein. Sicherheitsstufen sind in der CENELEC Norm EN50129 von SILO - signaltechnisch nicht sicher - bis SIL4 - signaltechnisch hochgradig sicher - definiert.
Für Software-Updates kann die Einhaltung der sicherheitsbezo- genen Eigenschaften unter Umständen nicht automatisiert ge- währleistet werden, sondern muss durch betriebliche Maßnahmen sichergestellt werden. Dabei muss von einem Bediener bestä¬ tigt werden, dass sich der das sicherheitskritische System steuernde Rechner oder die Rechneranordnung in einem betriebssicheren Zustand befindet. Das Laden von Software auf einen falschen Rechner oder eine fehlerhafte Software darf auf keinen Fall zu einer Ansteuerfähigkeit des sicherheits¬ kritischen Systems durch den Rechner führen. Die nachfolgende Beschreibung bezieht sich im Wesentlichen auf die Anwendung des Verfahrens zum Verifizieren des be¬ triebssicheren Zustandes eines Eisenbahnsicherungssystems, ohne dass die Erfindung auf diese spezielle Anwendung be- schränkt ist.
Eisenbahnsicherungssysteme umfassen insbesondere die Ansteue- rung von Feldelementen, beispielsweise Weichen, Signale, Gleisfreimeldeeinrichtungen und Bahnübergänge. Das Laden von Programmen auf den ansteuernden Rechner ist problematisch, wenn vor Abschluss der manuellen Prüfung, ob die richtigen Programme unverfälscht auf den richtigen Rechner abgelegt sind, eine Außenwirkung, das heißt ein wirksames Laufen der Programme, möglich ist.
Aus der DE 10 2009 009 947 AI ist ein Verfahren zur Adresszuordnung für einen Rechner bekannt, bei dem die Adresse der Hardware zugeordnet wird, so dass die Adresse nicht durch Softwareeingriffe verändert oder gelöscht werden kann.
Ein gattungsgemäßes Verfahren ist in der DE 10 2010 015 285 AI offenbart. Dabei erzeugt das System einen nicht maschinen¬ auswertbaren Aktivierungscode, der zwecks Bestätigung des be¬ triebssicheren Zustandes manuell in das System eingegeben werden muss.
Nachteilig bei den bekannten Verfahren ist vor allem, dass es einer Vereinbarung bedarf, den Rechner nur in betriebssicherem Zustand zu nutzen, so dass die Entscheidung, ob tatsäch- lieh ein betriebssicherer Zustand vorliegt, von einem Bedie- ner getroffen werden muss. Außerdem ist nicht ausgeschlossen, dass irgendein Programm den Rechner unter Umgehung des Aktivierungscodes wirksam schalten kann. Ein Anlaufen mit einem noch unbestätigten, aber ansonsten funktionsfähigen Programm, kann zum Beispiel bei den Rechnern der Bauart SIMIS nicht verhindert werden.
Bei einem ferngeladenen Rechner wird nach Rücklesen der geladenen Software oder deren Hashwerte der korrekte Ladevorgang sichergestellt. Allerdings besteht eine Lücke zwischen dem Laden der Software und dem Abschluss der Prüfung. Der Rechner kann während dieser Lücke mit einem ungeprüften und fehlerhaften Programm von außen unerkennbar lauffähig sein und in diesem nicht sicheren Zustand bereits genutzt werden.
Der Erfindung liegt die Aufgabe zugrunde, ein gattungsgemäßes Verfahren anzugeben, das verhindert, dass das geladene Pro¬ gramm nach außen wirken kann, bevor sichergestellt ist, dass das Programm fehlerfrei ist und auf dem vorgesehenen Rechner abläuft .
Erfindungsgemäß beinhaltet das Verfahren folgende Schritte:
1. ein geladenes Rechnerprogramm oder dessen Programmcode und eine Rechneridentifikationsnummer werden zurückgelesen und mit ersten Erwartungswerten verglichen,
2. ein ausschließlich für die vorgesehene Kombination aus Rechnerprogramm und Rechneridentifikationsnummer gültiges Anlaufsiegel wird in einem nicht umladbaren Pro¬ grammspeicherbereich des Rechners gespeichert und
3. der nicht umladbare Programmspeicherbereich des Rechners verknüpft das Anlaufsiegel mit dem Programmcode des Rechnerprogramms und der Rechneridentifikationsnummer zu einem Freischaltcode, der bei Übereinstimmung mit einem zweiten Erwartungswert eine Ausgabebaugruppe des Rechners freischaltet.
Das gesondert übertragene Anlaufsiegel ergänzt die Überprü¬ fung des Programmcodes und der Rechneridentifikationsnummer gemäß dem ersten Schritt des erfindungsgemäßen Verfahrens. Das Verfahren ermöglicht die Prüfung der korrekten Programmablage, der Version des Programmes und anderer Sicherheitsbe¬ dingungen, bevor das Programm wirksam laufen kann. Nur wenn die in Schritt 3 verknüpften Werte für das AnlaufSiegel , den Programmcode und der Rechneridentifikationsnummer konsistent sind, das heißt, dem zweiten Erwartungswert entsprechen, kann der Rechner für die Ansteuerung des sicherheitskritischen Systems genutzt werden. Ein Anlaufen des Rechners ohne über- mitteltes Anlaufsiegel ergibt keinen korrekten Freischalt¬ code, da erst das quasi nachgelieferte Anlaufsiegel eine ex¬ terne Prüfung erlaubt, ob das richtige Programm auf dem rich¬ tigen Rechner korrekt in den Programmspeicher abgelegt wurde. Erst bei Übereinstimmung mit dem erwarteten Verknüpfungswert erfolgt eine bewusste Freischaltung der Ausgabebaugruppe des Rechners. Die Ausgabebaugruppe des Rechners, das heißt eine Hardwarebaugruppe, muss freigeschaltet werden, bevor das Rechnerprogramm nach außen wirken kann. Das zu dieser Freischaltung erforderliche Anlaufsiegel verhindert nicht den Programmablauf selbst, sondern stellt nur eine Bedingung dar, die die Außenwirkung des Rechnerprogramms erlaubt oder ver¬ hindert .
Die Verknüpfung zum Errechnen des Freischaltcodes erfolgt in einem nicht umladbaren Programmspeicherbereich des Rechners, damit sichergestellt ist, dass nicht irgendein Programm des Rechners unter Umgehung der vorgesehenen Freischaltcodeerzeu- gung den Rechner sicherungstechnisch wirksam schalten kann. Der Freischaltcode stellt den Initialwert für Hardwareeigen- schaffen dar, ohne die der Rechner nicht nach außen wirkt. Ist der Freischaltcode nicht korrekt, ist der Rechner nicht wirksam lauffähig bezüglich des zu steuernden sicherheitskritischen Systems, kann aber noch über die ausgewiesene Datenverbindung, beispielsweise mit Programmladeeinrichtungen, kommunizieren, das heißt Daten liefern und entgegennehmen. Prinzipiell muss der Freischaltcode Eigenschaften haben, die über die Hardware des Rechners erkannt werden, um den Rechner in einen wirksamen Modus zu schalten. Das Verfahren erlaubt ein gezieltes Hinzuschalten der „Ausgabetore" des Rechners, damit der Rechner auf seine Umgebung wirken kann. Ohne diese Freischaltung läuft zwar das Rechnerprogramm, aber die Ausgaben an das sicherheitskritische System verpuffen, da die Hardware nicht auf sie reagiert.
Nach dem Laden des Rechnerprogramms ist der Rechner in einge¬ schränktem Maße lauffähig, kann aber noch nicht nach außen wirken, da noch kein AnlaufSiegel abgelegt ist. Zunächst wird das Rechnerprogramm oder dessen Programmcode beziehungsweise Hashwert zurückgelesen und mit den ersten Erwartungswertem verglichen. Dabei wird auch der Rechner über seine rechnerspezifische Identifikationsnummer eindeutig identifiziert. Wenn von dem erwarteten Rechner der erwartete Hashwert des Rechnerprogramms zurückgelesen werden kann, wird das nur für diesen Rechner und nur für dieses Rechnerprogramm geltende Anlaufsiegel auf dem nicht umladbaren Programmspeicherbereich des Rechners gespeichert. Unter einem nicht umladbaren Pro¬ grammspeicherbereich wird ein Bereich verstanden, in dem das Programm nicht umgeladen werden kann, wohl aber Werte gespeichert und ausgewertet oder verarbeitet werden können. Dieser nicht umladbare Programmspeicherbereich verrechnet den Hashwert des Rechnerprogramms, dessen eindeutige Identifikations¬ nummer und das AnlaufSiegel zu dem Freischaltcode. Dieser er¬ rechnete Wert ist nur dann ein wirksamer Freischaltcode, wenn Rechnerprogramm, Rechneridentifikationsnummer und Anlaufsiegel zusammenpassen. Der Freischaltcode wird an die Hardware der Ausgabebaugruppe des Rechners weitergegeben, wodurch si¬ chergestellt wird, dass nur diese Hardware - und keine Soft¬ ware - den Rechner wirksam schalten kann. Gemäß Anspruch 2 ist vorgesehen, dass die Ausgabebaugruppe des Rechners die Adresse des Programmspeicherbereiches, der den Freischaltcode erzeugt hat, mit einem Sollwert ver- gleicht. Auf diese Weise wird zusätzlich sichergestellt, dass der Freischaltcode von dem dafür vorgesehenen nicht umladba¬ ren Programmspeicherbereich stammt und nicht irgendein anderer Programmteil den Freischaltcode an die Hardware der Aus¬ gabebaugruppe leitet. Ein solcher Freischaltcode unter Umge- hung des nicht umladbaren Programmspeicherbereiches wird von der Ausgabebaugruppe nicht akzeptiert. Die Ausgabebaugruppe wertet dafür die physikalische Programmadresse der Herkunft des Freischaltcodes aus. Vorzugsweise ist der nicht umladbare Programmspeicherbereich gemäß Anspruch 3 in einem PLD ( Programmable Logic Device) der CPU (Control Processing Unit) des Rechners vorgesehen. Die PLD der CPU errechnet gemäß einem programmierten Algorithmus aus dem Programmcode des Rechnerprogramms, der Rechneridenti- fikationsnummer und dem AnlaufSiegel den Freischaltcode. Da¬ bei muss ein vorbekannter Wert für den Freischaltcode resul¬ tieren, welcher nur von der in den PLD laufenden Code an die Ausgabebaugruppe übergeben werden kann. Bei SIMIS-Rechnern kann der Freischaltcode der Initialcode für die zyklische Taktfreigabe sein, die in jeder SIMIS-CPU-Hardware als
Watchdogeigenschaft enthalten ist.
Gemäß Anspruch 4 ist vorgesehen, dass der nicht umladbare Programmspeicherbereich nach jeder Änderung des Anlaufsie- gels, insbesondere bei einem Neuladen des Rechnerprogramms, den Freischaltcode errechnet, wobei das gegebenenfalls vor¬ handene Anlaufsiegel gelöscht und ein aktuelles Anlaufsiegel gespeichert sein muss. Auf diese Weise wird zusätzliche Si¬ cherheit bei jeder Änderung des AnlaufSiegels und nicht nur bei dem Erstladen des Rechnerprogramms erreicht. Der Frei¬ schaltcode muss zumindest bei jeder Änderung des Siegels neu errechnet werden. Eine Neuberechnung nur bei Neuladen des Programmes reicht nicht aus, denn dann würde ein Löschen des AnlaufSiegels möglicherweise auf den errechneten Freischalt¬ code nicht wirken.
Das Anlaufsiegel muss nicht bei jedem Rechnerstart gelöscht werden, sondern nur wenn ein Neuladen des Rechnerprogramms erfolgt, da bei Neustart der Hashwert des Programms und die Rechneridentifikationsnummer unverändert sind, so dass der Rechner mit dem gleichen Anlaufsiegel beliebig häufig anlau¬ fen kann. Das Siegel muss folglich nicht nach einmaliger Nut zung gelöscht werden.
Um nach dem Neuladen mit einem identischen Programm gleiche Verhältnisse zu haben, wird ein sicherungstechnisches Wirken des Rechners verhindert, bis das Anlaufsiegel übertragen wur de .
Würde dasselbe Programm erneut bei nicht gelöschtem Anlauf¬ siegel geladen werden, so würde das alte, ungelöschte Anlauf Siegel wirken. Das ist insbesondere dann unerwünscht, wenn beabsichtigt ist, ein neueres Programm zwecks Fehlerbereini¬ gung zu laden, aus Versehen aber das alte Programm erneut ge laden wurde, welches sofort wirksam ist. Da das alte Anlauf¬ siegel nicht gelöscht war, könnte unerkannt eine Fehlerberei nigung nicht wirken. Falls das beim Zurücklesen und Prüfen erkannt wird, gibt es dennoch ein Zeitfenster, in dem das Wirken des Programmes nicht verhindert werden kann. Das Pro¬ gramm läuft dann mit dem alten Fehler und die Situation ist genau wie vor dem Laden. Das ist gefährlich, wenn der Fehler derart wirken kann, dass der Programmlauf des alten Programmes unbedingt verhindert werden sollte. Das Anlaufsiegel zu löschen ist auch notwendig, wenn für den Rechner gemäß Anspruch 5 nur eine begrenzte Anzahl Rechnerstarts, das heißt Anläufe, gestattet sind, zum Beispiel nach dem Laden einer Testversion, die nicht dauerhaft genutzt werden soll. Hierzu kann der aus Hashwert, Rechneridentifikati¬ onsnummer und Anlaufsiegel errechnete Freischaltcode über ei¬ nen weiteren gesonderten Sollwert das Löschen des Anlaufsiegels betreiben.
Vorzugsweise ist gemäß Anspruch 6 vorgesehen, dass das Lö¬ schen des AnlaufSiegels das Neuladen des Rechnerprogramms er¬ möglicht. Auf diese Weise kann das neue Programm nur dann ge¬ laden werden, wenn kein gültiges Anlaufsiegel gespeichert ist. Das AnlaufSiegel muss also zwangsläufig zur Vorbereitung des Ladens gelöscht sein. Da es einen Mechanismus zum Ein¬ bringen des AnlaufSiegels geben muss, kann dieser Mechanismus auch verwendet werden, um das AnlaufSiegel zu zerstören. Das Zerstören des Anlaufssiegels mit demselben Vorgang, der das Siegel einträgt, verhindert wirksam das sicherungstechnische Laufen eines als fehlerhaft erkannten Programms. Das Entsie¬ geln kann also auch ohne - sofortiges - erneutes Programmla¬ den sicherungstechnisch sinnvoll sein.
Aber auch eine abgerüstete Variante ist möglich, wobei gemäß Anspruch 7 das Anlaufsiegel zusammen mit dem Rechnerprogramm geladen wird. Für Rechner mit nicht so hoher oder keiner Sicherheitsverantwortung wird das Anlaufsiegel gleich mit dem Rechnerprogramm beziehungsweise dessen Programmcode übertra¬ gen und nicht nach der Prüfung hinsichtlich des ersten Erwartungswertes nachgeliefert. Durch die eindeutige Rechneriden¬ tifikationsnummer ist dann immer noch sichergestellt, dass das Programm auf dem richtigen Rechner liegt, wobei das Rechnerprogramm durch das Bilden des Freischaltcodes an den be- stimmten Rechner gebunden ist. Allerdings könnte eine zwar gültige, aber veraltete oder zu neue Programmversion quasi aus Versehen geladen werden. Durch den fehlenden Prüfschritt kann eine Restunsicherheit aufgrund der nicht separaten An- laufsiegelübertragung nicht ausgeschlossen werden.
Würde man das Verfahren ohne das Löschen des AnlaufSiegels betreiben, wäre denkbar, dass ein notwendiges Programmupdate aus Versehen unterbleiben könnte. Dieses Restrisiko ist eben- so wie das Restrisiko, das Anlaufsiegel mit dem Programmladen zu übertragen, bezüglich sicherungstechnischer Erfordernisse zu bewerten.

Claims

Patentansprüche
1. Verfahren zum Verifizieren eines betriebssicheren Zustan- des eines Rechners zur Ansteuerung eines sicherheitskriti¬ schen Systems, insbesondere Eisenbahnsicherungssystem, g e k e n n z e i c h n e t d u r c h
folgende Schritte:
• ein geladenes Rechnerprogramm oder dessen Programmcode und eine Rechneridentifikationsnummer werden zurückgelesen und mit ersten Erwartungswerten verglichen,
• ein ausschließlich für die vorgesehene Kombination aus Rechnerprogramm und Rechneridentifikationsnummer gültiges Anlaufsiegel wird in einem nicht umladbaren Pro¬ grammspeicherbereich des Rechners gespeichert und
• der nicht umladbare Programmspeicherbereich des Rechners verknüpft das Anlaufsiegel mit dem Programmcode des Rechnerprogramms und der Rechneridentifikationsnummer zu einem Freischaltcode, der bei Übereinstimmung mit einem zweiten Erwartungswert eine Ausgabebaugruppe des Rechners freischaltet.
2. Verfahren nach Anspruch 1,
d a d u r c h g e k e n n z e i c h n e t , dass
die Ausgabebaugruppe des Rechners die Adresse des Programm¬ speicherbereiches, der den Freischaltcode erzeugt hat, mit einem Sollwert vergleicht.
3. Verfahren nach e nem der vorangehenden Ansprüche,
d a d u r c h g e k e n n z e i c h n e t , dass
der nicht umladbare Programmspeicherbereich in einem PLD (Programmable Logic Device) der CPU (Central Processing Unit) des Rechners vorges hen ist.
Verfahren nach einem der vorangehenden Ansprüche, d a d u r c h g e k e n n z e i c h n e t , dass
der nicht umladbare Programmspeicherbereich nach jeder Änderung des AnlaufSiegels , insbesondere bei einem Neuladen des Rechnerprogramms, den Freischaltcode errechnet, wobei das gegebenenfalls vorhandene Anlaufsiegel gelöscht und ein aktu¬ elles AnlaufSiegel gespeichert sein muss.
5. Verfahren nach Anspruch 4,
d a d u r c h g e k e n n z e i c h n e t , dass
das Anlaufsiegel nach einer bestimmten Anzahl von Rechnerstarts gelöscht wird.
6. Verfahren nach Anspruch 4 oder 5,
d a d u r c h g e k e n n z e i c h n e t , dass
das Löschen des AnlaufSiegels das Neuladen des Rechnerpro¬ gramms ermöglicht.
7. Verfahren nach einem der vorangehenden Ansprüche,
d a d u r c h g e k e n n z e i c h n e t , dass
das Anlaufsiegel zusammen mit dem Rechnerprogramm geladen wird .
PCT/EP2014/061594 2013-06-19 2014-06-04 Verfahren zum verifizieren eines betriebssicheren zustandes eines rechners WO2014202388A1 (de)

Priority Applications (2)

Application Number Priority Date Filing Date Title
ES14730114T ES2713448T3 (es) 2013-06-19 2014-06-04 Procedimiento para verificar un estado de funcionamiento seguro de un ordenador
EP14730114.7A EP2992426B1 (de) 2013-06-19 2014-06-04 Verfahren zum verifizieren eines betriebssicheren zustandes eines rechners

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102013211504.0A DE102013211504A1 (de) 2013-06-19 2013-06-19 Verfahren zum Verifizieren eines betriebssicheren Zustandes eines Rechners
DE102013211504.0 2013-06-19

Publications (1)

Publication Number Publication Date
WO2014202388A1 true WO2014202388A1 (de) 2014-12-24

Family

ID=50942666

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2014/061594 WO2014202388A1 (de) 2013-06-19 2014-06-04 Verfahren zum verifizieren eines betriebssicheren zustandes eines rechners

Country Status (4)

Country Link
EP (1) EP2992426B1 (de)
DE (1) DE102013211504A1 (de)
ES (1) ES2713448T3 (de)
WO (1) WO2014202388A1 (de)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053668A2 (de) * 2004-11-19 2006-05-26 Kw-Software Gmbh Verfahren und vorrichtung zur sicheren parametrierung von elektronischen geräten
DE102010015285A1 (de) * 2010-04-14 2011-10-20 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Bestätigung eines betriebssicheren Zustandes eines sicherheitskritischen Systems
EP2447843A1 (de) * 2010-10-06 2012-05-02 Siemens Aktiengesellschaft Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102009009947A1 (de) 2009-02-20 2010-09-09 Siemens Aktiengesellschaft Verfahren zur Adresszuordnung und Datenverarbeitungssystem zur Durchführung des Verfahrens

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006053668A2 (de) * 2004-11-19 2006-05-26 Kw-Software Gmbh Verfahren und vorrichtung zur sicheren parametrierung von elektronischen geräten
DE102010015285A1 (de) * 2010-04-14 2011-10-20 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Bestätigung eines betriebssicheren Zustandes eines sicherheitskritischen Systems
EP2447843A1 (de) * 2010-10-06 2012-05-02 Siemens Aktiengesellschaft Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens

Also Published As

Publication number Publication date
ES2713448T3 (es) 2019-05-21
DE102013211504A1 (de) 2014-12-24
EP2992426A1 (de) 2016-03-09
EP2992426B1 (de) 2018-11-28

Similar Documents

Publication Publication Date Title
WO2017013134A1 (de) Verfahren und system zur firmware-aktualisierung einer steuereinrichtung zur prozesssteuerung
EP2447843B1 (de) Verfahren zur Verifizierung eines Anwendungsprogramms einer fehlersicheren Speicherprogrammierbaren Steuerung, und Speicherprogrammierbare Steuerung zur Ausführung des Verfahrens
DE102014226910A1 (de) Verfahren und Vorrichtung zur Ausführung eines Testvorgangs betreffend ein Schienenfahrzeug
EP1639603A2 (de) Verfahren zur durchführung eines software-updates eines elektronischen steuergerätes durch eine flash-programmierung über eine serielle schnittstelle und ein entsprechender zustandsautomat
DE19839680B4 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
WO2015039878A1 (de) Software aktualisierung von non-kritischen komponenten in dual sicherheitskritischen verteilten systemen
EP3379351B1 (de) Verfahren zum betreiben einer automatisierungseinrichtung sowie automatisierungseinrichtung
WO2016146504A1 (de) Verfahren und vorrichtung zum verarbeiten und übertragen von daten innerhalb eines funktional sicheren elektrischen, elektronischen und/oder programmierbar elektronischen systems
EP3798772B1 (de) Industrie-prozesssteuerung
DE19931184A1 (de) Verfahren und Vorrichtung zur Veränderung des Speicherinhalts von Steuergeräten
DE102010039021B4 (de) Verfahren zur Rekonfiguration von Softwareparametern in einem Mikrocontroller sowie Mikrocontroller und Steuergerät
WO2017050557A1 (de) System und verfahren zur verteilung und/oder aktualisierung von software in vernetzten steuereinrichtungen eines fahrzeugs
WO2014202388A1 (de) Verfahren zum verifizieren eines betriebssicheren zustandes eines rechners
WO2008068189A1 (de) Verfahren zum softwaremässigen aktualisieren einer elektronischen einrichtung, insbesondere des auslösers von niederspannungs-leistungsschaltern
WO2017125182A1 (de) Verfahren zum aktualisieren von software eines steuergerätes, vorzugsweise für ein kraftfahrzeug
EP3144756A1 (de) Steuerungssystem sowie verfahren zum betrieb eines steuerungssystems mit einer realen und einer virtuellen steuerung zur reduzierung von ausfallzeiten
WO2008095840A1 (de) Verfahren und vorrichtung zum abspeichern eines fehlercodes
DE102006020793A1 (de) Schaltungsanordnung und Verfahren zum Betrieb einer Schaltungsanordnung
DE102018217969A1 (de) Recheneinrichtung und Betriebsverfahren hierfür
EP1967920A1 (de) Verfahren zur Durchführung von Softwareupdates in FPGA-basierte Automatisierungsgeräte
WO2017089150A1 (de) Sicherheitssteuerungseinrichtung und verfahren zur änderung eines funktionsumfangs einer sicherheitssteuerungseinrichtung
EP3659032A1 (de) Verfahren zum betreiben eines steuergerätes und vorrichtung mit zugehörigem steuergerät
DE10123170A1 (de) Verfahren zum Betreiben eines Steuergeräts
DE102006040644A1 (de) Korrekturverfahren für einen neu-programmierbaren Mikroprozessor
EP4181000A1 (de) Verfahren und rechenumgebung zum erstellen und anwenden eines prüfalgorithmus für rechenvorgänge

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14730114

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2014730114

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE