-
HINTERGRUND DER ERFINDUNG
-
Eine Ausführungsform bezieht sich auf fahrzeuginterne Nachrichtenübermittlung. Steuergerätenetzwerk (CAN) ist ein Fahrzeugbusstandard, der elektronischen Steuereinheiten (ECUs) und anderen Geräten erlaubt, miteinander ohne zentralen oder Hauptcomputer zu kommunizieren. Fahrzeugsysteme und Subsysteme sowie andere Arten von nicht-automobilen Systemen einschließlich Zügen, Flugzeugen, und Schiffen weisen zahlreiche ECUs auf, die Daten von Sensorgeräten empfangen und mit anderen ECUs des Fahrzeugs kommunizieren.
-
Das CAN-System ist ein asynchroner serieller Sende-Bus, der es erlaubt, dass Nachrichten seriell übermittelt werden. Daher werden zwischen ECUs übertragene Nachrichten nicht notwendigerweise direkt über den CAN-Bus übermittelt, wenn eine Nachricht erzeugt wird. Ist der CAN-Bus frei, wird die Nachricht sofort übertragen. Wenn mehr als eine Nachricht übertragen wird, wird die wichtigere Nachricht übertragen. Dies ist als Schiedsprozess bekannt. Eine CAN-Nachricht mit einer höchsten Priorität wird typischerweise das Schiedsverfahren gewinnen und eine Nachricht niedriger Priorität wird dies erfassen und warten.
-
Trotz innerhalb eines Fahrzeugs übertragener Nachrichten muss noch sichergestellt werden, dass Systeme nicht gefährdet werden und böswillige Nachrichten innerhalb des Systems nicht übertragen werden, was Sicherheitsbedenken verursachen könnte. Mit der Einführung des Tempomats und anderer automatisierter Fahrvorgänge muss beispielsweise die Sicherheit in Bezug auf die kommunizierenden ECUs weiter aufrecht erhalten werden, ansonsten könnte ein böswilliger Knoten das System gefährden und ungewollte Fahrzeugvorgänge auslösen.
-
KURZDARSTELLUNG DER ERFINDUNG
-
Ein Vorteil einer Ausführungsform ist die Eliminierung zentraler Verarbeitung oder ereignisgesteuerter nichtpriorisierter Verarbeitung sicherer Nachrichten durch Verwendung einer Technologie, die entkoppelte parallele Nachrichtenauthentifizierung auf einer sicheren Hardwaremaschine asynchron zu den zeitkritischen Anwendungen auf gewöhnlichen Prozessoren einer Steuerung umfasst. Vorrichtung und Techniken hierin stellen eine Architektur zur Verfügung, die die Anforderung einer sicheren Nachrichtenverarbeitung auf einem Prozessor und die sichere Nachrichtenverarbeitung auf der sicheren Hardwaremaschine durch Verwendung eines Anfordern-Kennzeichnen-Löschens („request-mark-sweep“) mit Rückruffunktionalität entkoppelt. Die Ausführungsformen verwenden, wie beschrieben, zwei Warteschlangen, um Eingabekollision zwischen Anforderungen verschiedener sicherer Nachrichten von einer Anwendung und einer sicheren Hardwaremaschine, die die authentifizierten Nachrichten verarbeitet, zu verringern. Ein Prozessor, der die Nachrichten zu und von der sicheren Hardwaremaschine übermittelt, umfasst eine Anforderungs-Zuordnungstabelle, die dynamisch einen Zustand der Nachricht und deren Status aufzeichnet und eine Nachrichten-Authentifizierungsnachschlagetabelle, die mit der Anforderungszuordnungstabelle zum Bereitstellen von Authentifikationsinformationen in Bezug auf die anfordernde Einheit, die die Anforderung der Nachricht übermittelt. Die Infrastrukturen implementiert die asynchrone Verarbeitung unter Verwendung eines Prioritätswarteschlangen-Managementdienstes zum Aufrechterhalten der Priorisierung der Anforderungen in den Warteschlangen, und einen „request-mark-sweep“-Betrieb mit Rückrufdienst zur Verarbeitung von Nachrichten zu und von der sicheren Hardwaremaschine. Das System und Techniken stellen weiterhin ein nichtblockierendes Verfahren zum Verarbeiten von Nachrichten zur Verfügung, um die Echtzeitbeschränkungen des Systems zu erfüllen. Dies ermöglicht dem Steuerungsprozessor zudem, weitere Funktionalitäten auszuführen, während die sichere Hardwaremaschine die Nachrichten authentifiziert, wodurch die Leistung des Gesamtsystems verbessert wird.
-
Eine Ausführungsform betrachtet ein sicheres Nachrichtenübermittlungssystem. Ein Bus zum Kommunizieren Nachrichten zwischen Übertragungsknoten. Eine sichere Hardwaremaschine einer Steuerung authentisiert Nachrichten von anfordernden Einrichtungen. Ein Prozessor der Steuerung empfängt zu Beginn Nachrichten von den anfordernden Einrichtungen. Der Prozessor umfasst eine Nachrichten-Anforderungswarteschlange mit Priorisierung empfangener Nachrichten. Der Prozessor übermittelt eine priorisierte Nachricht aus der Anforderungswarteschlange und zugehörigen Authentifikationsinformationen zu der sicheren Hardwaremaschine. Die sichere Hardwaremaschine authentisiert die Nachrichten als Antwort auf die priorisierten Nachrichten und zugehörigen Authentifikationsinformationen von dem Prozessor. Die sichere Hardwaremaschine leitet die authentifizierten Nachrichten zur Speicherung an den Prozessor zum Speichern in einer Ergebniswarteschlange.
-
Eine Ausführungsform betrachtet ein Verfahren zur sicheren Nachrichtenverarbeitung innerhalb eines Kommunikations-Bussystems. Nachrichten werden auf einem Bus zwischen Übermittlungsknoten übertragen. Nachrichten der Steuerung einer jeweiligen Einrichtung werden in einem Prozessor erhalten. Nachrichten werden in einer Anforderungswarteschlange in priorisierter Ordnung erhalten. Auf eine Anforderungszuordnungstabelle wird zugegriffen. Die Anforderungszuordnungstabelle speichert Informationen zu den Nachrichten. Jeder Eintrag in der Anforderungszuordnungstabelle ist einem Eintrag in eine Nachrichten-Authentifizierungsnachschlagetabelle zugeordnet, die Authentifikationsinformationen identifiziert, die einer jeweiligen Einrichtung, die die jeweilige Nachricht überträgt, zugeordnet ist. Eine Nachricht mit höchster Priorität in der Anforderungswarteschlange wird in einer sicheren Hardwaremaschine empfangen. Authentizierungsinformationen werden von dem Prozessor zu der sicheren Hardwaremaschine übermittelt. Die Nachricht wird als Antwort auf den Empfang der Nachrichten und zugehörigen Authentifikationsinformationen von dem Prozessor authentifiziert. Die authentifizierte Nachricht wird von der sicheren Hardwaremaschine zu dem Prozessor übermittelt. Die authentifizierte Nachricht wird in einer Ergebniswarteschlange in dem Prozessor gespeichert, bis ein Rückruf ausgelöst wird.
-
KURZBESCHREIBUNG DER ZEICHNUNGEN
-
1 ist ein Blockschaltbild eines exemplarischen LAN-Netzwerk-Kommunikationssystems.
-
2 ist ein exemplarisches Blockschaltbild einer Steuerung.
-
3 zeigt die Architekturstruktur für eine Anforderungswarteschlange, Anforderungszuordnungstabelle und eine Nachrichten-Authentifizierungsnachschlagetabelle.
-
4 ist ein Flussdiagramm für eine Anforderungs-Service-Routine.
-
5 ist ein Flussdiagramm für eine Einreihen-Service-Routine.
-
6 ist ein Flussdiagramm für eine Ausreihen-Dienstroutine.
-
7 ist ein Flussdiagramm für eine Markierungs-Dienstroutine.
-
8 ist ein Flussdiagramm für eine Unterbrechungs-Dienstroutine.
-
9 ist ein Flussdiagramm für eine Überstreichungs-Dienstroutine.
-
10 ist ein Flussdiagramm für eine Einreihen-Service-Routine.
-
11 ist ein Flussdiagramm für eine Ausreihen-Service-Routine.
-
AUSFÜHRLICHE BESCHREIBUNG
-
In 1 ist ein exemplarisches Fahrzeug-LAN-Netzwerk-Kommunikationssystem 10 dargestellt. Das LAN-Netzwerkkommunikationssystem 10 umfasst eine Vielzahl elektronischer Steuereinheiten (ECUs) 12–18 verbunden mit mindestens einem Kommunikationsbus 20, das die ECUs in die Lage versetzt, miteinander zu kommunizieren. Der Bus verwendet ein Steuergerätenetzwerk(CAN)-Kommunikationsprotokoll; jedoch können auch andere Arten von Kommunikationsprotokollen verwendet werden.
-
Jede der Vielzahl von ECUs 12–18 ist mit einem oder mehreren Sensoren, Aktuatoren oder Steuergeräten gekoppelt (z. B. Anwendungskomponenten). Die Anwendungskomponenten sind nicht direkt mit dem Bus 19 verbunden, sondern sind durch die jeweiligen ECUs gekoppelt. Die Anwendungskomponenten könnten Softwarekomponenten in den ECUs sein. Ein einzelnes Steuerungsmerkmal kann sich über vielfache Anwendungskomponenten erstrecken und Steuerungsnachrichten von einer Quelle zu einer Ziel-ECU einbeziehen. Es versteht sich, dass derartige Systeme nach dem Stand der Technik bekannt sind und dass ECUs, Anwendungsvorrichtungen, Steuerungen und Überträger als Knoten bezeichnet werden und dass die Einzelheiten ihres Aufbaus hier nicht weiter besprochen werden.
-
2 ist ein Blockschaltbild einer jeweiligen Steuerung. Die Steuerung kann eine Batteriesteuerung, Motorsteuerung, Chassissteuerung umfassen, ist aber nicht darauf beschränkt. Die dargestellte Steuerung identifiziert die Gestaltung und einen Teil der Architektur, die die jeweilige Steuerung haben wird zum Ausführen der hier beschriebenen Techniken. Es sollte auch verstanden werden, dass die hier beschriebene Erfindung nicht auf Fahrzeuge beschränkt ist und kann ebenfalls Züge, Schiffe, Flugzeuge oder andere automobilbezogene oder nicht-automobilbezogene Vorrichtungen umfassen.
-
2 zeigt eine Steuerung 20, die einen Prozessor 22 und eine sichere Hardwaremaschine 24 umfasst. Die sichere Hardwaremaschine 24 erhält Anforderungsnachrichten von Prozessor 22 und authentisiert die Anforderung der sicheren Nachricht. Während die Anforderung der sicheren Nachricht durch die sichere Hardwaremaschine 24 authentifiziert wird, kann der Prozessor mit anderer Arbeit fortfahren und andere Nachrichten entsprechend verarbeiten. So setzt beispielsweise, wenn eine weitere Steuerung eine sichere Nachricht überträgt, um Daten an der Steuerung 20 zur Verfügung zu stellen, der Prozessor 22 die Nachricht als eine Anforderung einer sicheren Nachricht in die Anforderungswarteschlange 28 ein. Wenn die sichere Hardwaremaschine 24 zur Verfügung steht, überprüft die sichere Hardwaremaschine 24 die Anforderung der sicheren Nachricht, während der Prozessor 22 andere sichere Nachrichten in die Anforderungswarteschlange 28 hinzufügen kann oder führt Funktionen, wie den Rückrufbetrieb, aus. Die sichere Hardwaremaschine 24 ist eine Hardwarevorrichtung, die sichere Nachrichten authentisiert und überprüft.
-
Der Prozessor 22 umfasst ein „request-mark-sweep“- und Rückrufmodul (RMS/C) 26, eine Anforderungswarteschlange 28, ein Prioritätswarteschlangen-Management-Service(PQM)-Modul 30 das Management von Anforderungswarteschlange 28, eine Ergebniswarteschlange 32 für verarbeitete Nachrichten, ein (PQM)-Modul 34 für das Management der Ergebniswarteschlange 32, ein Anforderungsmodul 36 für sichere Nachrichten für Anwendungen zur Anforderung sicherer Nachrichtenverarbeitung, eine Anforderungszuordnungstabelle (RAT) 38, eine Nachrichten-Authentifizierungsnachschlagetabelle (MAT) 40 und ein Rückruffunktionsmodul 42.
-
Die RMS/C 26 ist eine Hauptkomponente des Prozessors, der mit der sicheren Hardwaremaschine 24 zum Bereitstellen von Anforderungsnachrichten und authentifizierten Nachrichten untereinander kommuniziert. Die RMS/C 26 koordiniert weiterhin das Authentifizierungsverfahren für Nachrichten, die an die sicheren Hardwaremaschine 24 übermittelt werden.
-
Nachrichten, die von Anwendungen oder anderen Hardwarevorrichtungen oder Softwaremodulen innerhalb des Fahrzeugs gesendet wurden, werden von dem Prozessor 22 empfangen und in der Anforderungswarteschlange 28 gespeichert. Jeder Übertragungseinrichtung ist eine Prioritätshöhe zugeordnet und somit sind Nachrichten innerhalb der Anforderungswarteschlange 28 einer Prioritätsstufe auf der Grundlage der Priorität der anfordernden Einrichtung, die die Nachricht übermittelt, zugeordnet. Die Anforderungswarteschlange 28 ist durch den PQM-Service 30 geschützt, um den gleichzeitigen Zugang eines einzigen Lesegeräts und vielfacher Schreibgeräte zu ermöglichen.
-
Die Anforderungswarteschlange 28 ist Prioritätswarteschlange Struktur gehalten wird durch die Prioritätswarteschlange Wartungsablaufs Modul 30. 3 veranschaulicht die Anforderungswarteschlange 28 und die zugehörige Prioritätswarteschlangenstruktur, die durch das Prioritätswarteschlangenwartungsmodul 30 festgelegt wird. Nachrichten sind in einer Priorität von höchst zu niedrigst sortiert. Das heißt, jede Eintragshöhe in vertikaler Richtung stellt eine jeweilige Priorität dar. Es sollte verstanden werden, dass die Priorität exemplarisch ist und dass andere Strukturen benutzt werden können. Wenn mehr als eine Nachricht in der Anforderungswarteschlange 28 empfangen wird, die das gleiche Prioritätsniveau besitzen, erhält jede der jeweiligen Nachrichten eine gleiche Prioritätsstufe erhalten (horizontal dargestellt). Jede der Nachrichten in einer gleichen Prioritätsstufe ist nicht unterscheidbar von einer anderen in Bezug auf Priorisierung. Nachrichten in einer gleichen Prioritätsstufe werden zum Verarbeiten entweder zufällig oder durch andere Techniken, wie „first-in-first-out“ für mehrere Nachrichten mit der gleichen Priorität ausgewählt. Der Zugriff auf die Warteschlangen kann durch parallelen Zugriff auf unterschiedliche Einträge erfolgen (d. h. Nachrichten mit unterschiedlichen Prioritäten) oder durch Zugriff auf eine gleiche Priorität unter Verwendung eines sperrfreien Protokolls.
-
Als Antwort auf Nachrichten, die der Anforderungswarteschlange 28 zugefügt wurden, wird RAT 38 aktualisiert. Jeder Anforderung innerhalb der Anforderungswarteschlange ist ein Eintrag in der RAT 38 zugeordnet. Um die Übereinstimmung zwischen einer Anforderung und deren Eintrag in der RAT 38 herzustellen, wird ein offener Eintrag innerhalb der RAT 38 identifiziert, wenn die SM-Anforderung 36 eine Anforderung zu RMS/C 26 sendet. Ein Zuordnungsflaggenfeld 40 zeigt an, ob ein zugehöriger Eintrag benutzt wird oder ob der zugehörige Eintrag geöffnet ist. Entsprechende Informationen, wie Schlüsselschlitz 42, Protokoll-Dateneinheit (PDU) 44 und Nutzlast 46, werden für einen zugehörigen Eintrag aufrecht erhalten. PDU 44 gibt protokollspezifische Daten in einer Datenübertragung an. In einem CAN-System fügt beispielsweise PDU 44 auch eine CAN-ID und einen Datenlängencode ein. Die Informationen, wie die Nachrichtenkennung, die in der CAN-ID codiert sind, die in PDU 44 enthalten ist, wird zur Bestimmung der Eingabe, die durch die Nachrichtenkennung in MAT 40 identifiziert wird, verwendet. Es ist zu beachten, dass dies exemplarisch ist und dass ein anderer Ansatz, wie etwa die direkte Nutzung der Nachrichtenkennung oder Einkodieren der Kennung in einem anderen Format, verwendet werden kann, um die Übereinstimmung herzustellen.
-
Zeiger, normalerweise dargestellt durch 48, identifizieren, wo die jeweilige Anforderung in der RAT 38 steht. Zusätzlich wird der Zeiger 48 aufrechterhalten, wenn ein Eintrag von der Anforderungswarteschlange 28 zu der Ergebniswarteschlange 32 verschoben wird.
-
Die MAT 40 ist, wie in 3 dargestellt, eine Tabelle, die statisch zu einem bestimmten Zeitpunkt gestaltet wurde und als Kalibrierungswerte gespeichert wird. Die in MAT 40 gespeicherten Informationen dienen zur sicheren Nachrichtenauthentifizierung und stellen ein einheitliches Verfahren der Authentifizierungs- und Validierungsphase über unterschiedliche Steuerungen dar. Für jede übertragende Einrichtung im Fahrzeug wird jede Einrichtung eine zugeordnete Kennung besitzen. Diese Kennung wird als Teil einer Nachricht übermittelt (beispielsweise in einer Überschrift der Nachricht), die identifiziert, wer die übermittelnde Einrichtung ist, sodass jede Empfangseinrichtung die Quelle der Nachricht, die mit der Nachricht verbundene Prioritätsstufe und die Authentifizierungsreferenzen zur Überprüfung der Nachricht kennt. Die MAT 40 speichert Informationen, die eine Nachrichtenkennung 50 umfasst, aber nicht darauf beschränkt ist, die die übermittelnde Einrichtung, das Authentifizierungsschema 52, die Nachrichtenlänge 54 und Schlüsselschlitz 56 identifiziert. Diese Informationen werden zum Unterstützen beim Authentifizieren von Nachrichten zwischen dem Prozessor und der sicheren Hardwaremaschine verwendet.
-
Nochmals mit Verweis auf 2, wenn die Anforderungswarteschlange 28 nicht leer ist, koordiniert die RMS/C 26 Einsetzen und Abfragen einer Nachrichtenanforderung von der Anforderungswarteschlange 28 und die notwendigen Authentifikationsinformationen, die durch die sichere Hardwaremaschine 24 zum Authentisieren oder Überprüfen der Nachricht angefordert werden. Ein Sichere-Nachricht-Anfragemodul 36, aufgerufen durch die Anforderungseinrichtung, verwendet den Anforderungsservice der RMS/C 26, der Anforderungswarteschlange 28 eine Anforderungsnachricht zuzufügen. Der Anforderungsservice der RMS/C 26 identifiziert einen offenen Eintrag in der RAT 38, zeichnet die Information der Nachricht auf und setzt die Nachricht in die Anforderungswarteschlange 28 mit den Zeigern 48, wie oben beschrieben, ein. Die RMS/C 26 wird weiterhin auf die MAT 40 zum Erhalten der notwendigen Authentifikationsinformationen zugreifen, die zum Authentifizieren der Nachricht durch die sichere Hardwaremaschine 24 benötigt werden. Die Marke Dienst in RMS/C 26 teilt die Anforderung im Authentifizieren Informationen an die sichere Hardwaremaschine 24 wenn die sichere Hardwaremaschine 24 zur Verfügung. Die Nachricht wird dann als verarbeitet markiert und aus der Anforderungswarteschlange 28 entfernt. Nach dem die sichere Hardwaremaschine 24 die Anforderung einer sicheren Nachricht authentifiziert hat, wird das Authentifizierungsergebnis zu der RMS/C 26 übermittelt.
-
Als Antwort auf das Erhalten des Authentifizierungsergebnisses von der sicheren Hardwaremaschine 24 platziert der Markierungsdienst der RMS/C 26 die authentifizierte sichere Nachricht in der Ergebniswarteschlange 34 unter Verwendung des PQM-Services 32. Der Durchsuchungsdienst der RMS/C wird nach vorgegebener Politik aufgerufen, beispielsweise bei einer vordefinierten Zeit oder periodisch beim Auftreten eines Ereignisses, authentifizierte Nachrichten von der Ergebniswarteschlange 34 zu ziehen und ihren entsprechenden Rückrufbetrieb 42 aufzurufen. Jeder Rückrufbetrieb 42 ist durch die anfordernde Einrichtung bestimmt, das Verfahren einer sicheren Nachricht zu vervollständigen. Der Durchsuchungsdienst der RMS/C nimmt die Nachricht aus der Ergebniswarteschlange 34, nachdem der Rückrufbetrieb 42 aufgerufen ist.
-
4–11 veranschaulichen Verfahrensflussdiagramme, die das Verfahren der oben beschrieben Dienste beschreiben. 4 veranschaulicht den Anforderungsdienst der RMS/C. In Block 50 werden Nachrichten in der Anforderungswarteschlange analysiert und entsprechende Nachrichten ausgewählt.
-
In Schritt 51 wird die mit der Identifikation verbundene Anforderungsnachricht in der MAT identifiziert und die Information der Nachricht wird für Authentifizierungszwecke erhalten.
-
In Schritt 52 wird ein offener Eintrag in der RAT identifiziert und die Anforderungsnachricht in dem offenen Eintrag gespeichert. Die Eingabe wird danach als zugewiesen gekennzeichnet.
-
In Schritt 53 wird die Nachricht priorisiert und der Anforderungswarteschlange entsprechend ihrer Prioritätsstufe zugefügt.
-
In Schritt 54 endet die Routine. 5 stellt ein Einreihungsverfahren für die Anforderungswarteschlange zur Verfügung.
-
In Schritt 60 wird der Eintrag für die Prioritätsstufe der Nachricht in der Anforderungswarteschlange identifiziert.
-
In Schritt 61 wird eine neue Anforderung mit dem Eintrag ihrer Prioritätsstufe eingesetzt.
-
In Schritt 62 wird eine sperrfreie Synchronisierung zur Synchronisierung des gleichzeitigen Zugriffs der Warteschlange mehrerer Einrichtungen verwendet. Ein Vergleichen-und-Tauschen (compare-and-swap) wird als eine exemplarische Durchführung verwendet. Wenn die Feststellung getroffen wird, dass die Daten in Übereinstimmung sind, dann endet die Routine. Wenn die Feststellung getroffen wird, dass die Daten nicht in Übereinstimmung sind, kehrt die Routine zu Schritt 60 zurück. In Schritt 63 endet die Routine.
-
6 zeigt ein Ausreihungsverfahren zum Entfernen einer entsprechenden Anforderung aus der Anforderungswarteschlange.
-
In Schritt 70 wird die Nachricht mit der höchsten Priorität in der Anforderungswarteschlange identifiziert.
-
In Schritt 71 wird als Antwort auf die Identifizierung der Nachricht mit der höchsten Priorität die jeweilige Nachricht aus der Anforderungswarteschlange entfernt.
-
In Schritt 73 endet die Routine.
-
7 stellt den Markierungsdienst der RMS/C dar, der die Anforderung zurückholt und alle Informationen zu der sicheren Hardwaremaschine sendet.
-
In Schritt 80 wird festgestellt, ob die Anforderungswarteschlange leer ist. Ist die Anforderungswarteschlange leer, wird die Routine beendet und wartet auf eine nächste Markierungsanforderung. Ist die Anforderungswarteschlange nicht leer, fährt die Routine mit Schritt 81 fort.
-
In Schritt 81 wird die Nachricht mit der höchsten Priorität Nachricht aus der Anforderungswarteschlange gezogen. Dies kann Ziehen der Nachricht höchster Priorität bezüglich aller Nachrichten in der Warteschlange umfassen, oder, wenn mehrere Nachrichten gleicher Priorität vorhanden sind, wird eine Nachricht aus anderen Nachrichten mit der gleichen Priorität nach einer vorbestimmten Politik, wie Zufallsauswahl oder „first-in-first-out“, ausgewählt.
-
In Schritt 82 wird die gewählte Nachricht an die sichere Hardwaremaschine zur Verarbeitung gesendet. Authentizierungsinformationen von der MAT wird erhalten und zur Authentifizierung der Nachricht der sicheren Hardwaremaschine zur Verfügung gestellt. Der entsprechende Eintrag in RAT kann auch aktualisiert werden.
-
In Schritt 83 endet die Routine.
-
8 stellt den Verfahrensablauf des Markierungsdiensts dar, wenn die sichere Hardwaremaschine die Verarbeitung einer Nachricht vollzieht. Dieser Teil des Markierungsdiensts eine durch Hardware ausgelöste Unterbrechungs-Dienstroutine und ist ein sehr kurzer Vorgang, da alle verschiedenen konkurrierenden Geräte in der Steuerung sich die sichere Hardwaremaschine teilen müssen. Zusammenfassend wird, wenn die sichere Hardwaremaschine einen Arbeitsvorgang vollzieht, eine Unterbrechung ausgelöst, wenn eine Feststellung getroffen wird, ob weitere Nachrichten in der Warteschlange zum Wiederaufruf des Markierungsdiensts vorhanden sind.
-
In Schritt 90 wird der Eintrag von RAT entsprechend der durch die sichere Hardwaremaschine authentifizierten Nachricht aktualisiert.
-
In Schritt 91 wird nach Vervollständigung der Nachrichtenbearbeitung durch die sichere Hardwaremaschine die Verfahrensnachricht in die Ergebniswarteschlange befördert.
-
In Schritt 92 springt das Verfahren zu dem Markierungsdienst in 7 und verlässt die Unterbrechungs-Serviceroutine. Wenn zusätzliche Nachrichten in der Anforderungswarteschlange warten, wird der Markierungsdienst in 7 mit dem Senden der Anforderungsnachricht zum Sichern der Hardwaremaschine zur Verarbeitung fortfahren.
-
9 beschreibt einen Durchsuchungsdienst, der durch einen vorbestimmten Auslöser oder ein Ereignis ausgelöst wird (z. B. periodisch).
-
In Block 100 wird eine Feststellung getroffen, ob die Ergebniswarteschlange leer ist. Ist die Ergebniswarteschlange leer, dann endet die Routine. Ist die Ergebniswarteschlange nicht leer, dann läuft die Routine zu Schritt 101.
-
In Block 101 wird eine entsprechende Nachricht aus der Ergebniswarteschlange gezogen.
-
In Block 102 wird, als Antwort auf das Ziehen der jeweiligen Nachricht aus der Ergebniswarteschlange, der Eintrag, dass die jeweilige Nachricht in der RAT belegt ist, gelöscht, um Platz für andere eingehende Anforderungen zu schaffen.
-
In Block 103 wird die Ergebnisnachricht mit der höchsten Priorität aus der Ergebniswarteschlange entfernt und eine Rückruffunktion in Bezug auf die jeweilige Nachricht wird aufgerufen.
-
In Schritt 104 endet die Routine.
-
10 stellt ein Einreihungsverfahren für die Ergebniswarteschlange dar.
-
In Block 110 wird der Eintrag für die Priorität der Nachricht in der Ergebniswarteschlange identifiziert.
-
In Schritt 111 wird eine Anforderung, deren Verarbeitung durch das sichere Maschinenmodul abgeschlossen wurde, bei dem Eintrag identifizierten Prioritätsstufe eingesetzt.
-
In Schritt 112 endet die Routine.
-
11 zeigt ein Ausreihungsverfahren für die Ergebniswarteschlange.
-
In Schritt 120 wird der erste Ergebniseintrag in der Anforderungswarteschlange identifiziert.
-
In Schritt 121 wird ein neuer Ergebniseintrag mit höchster Prioritätswertigkeit gelöscht.
-
In Schritt 122 wird eine sperrfreie Synchronisierung zum Synchronisieren des gleichzeitigen Zugriffs der Warteschlange von mehreren Einrichtungen aus verwendet. Ein Vergleichen-und-Tauschen (compare-and-swap) wird als eine exemplarische Durchführung verwendet. Wenn die Feststellung getroffen wird, dass die Daten in Übereinstimmung sind, endet die Routine. Wenn die Feststellung getroffen wird, dass die Daten nicht übereinstimmen, kehrt die Routine zu Schritt 120 zurück.
-
In Schritt 123 endet die Routine.
-
Während bestimmte Ausführungsformen der vorliegenden Erfindung in Einzelheiten beschrieben wurden, werden Fachleute auf dem Gebiet, auf das sich diese Erfindung bezieht, verschiedene alternative Entwürfe und Ausführungsformen für die Durchführung der Erfindung erkennen, wie durch die folgenden Patentansprüche bestimmt.