-
Stand der Technik
-
Die Forderung einer „intelligenteren Mobilität“ impliziert die Integration des Fahrzeugs in die digitale Welt. Erweiterte Sicherheitsfunktionen und das Ermöglichen von vollautonomen Systemen benötigen deutlich mehr Rechenleistung als in bisherigen Systemen. Weiter verschmilzt die Unterhaltungselektronik mit dem klassischen Fahrzeug. Durch die Vernetzung der Fahrzeuge untereinander und/oder mit einem in einer Cloud befindlichen Backend erhöht sich die Anzahl notwendiger Schnittstellen und damit die Angriffsfläche für externe Angriffe auf das IT-System der Fahrzeuge. Daher nimmt die Cyber-Security in der Software- und Hardwareentwicklung heutiger Fahrzeuge eine immer größere Rolle ein. Mit steigender Vernetzung der Fahrzeuge erhöht sich das Schadenspotenzial, da zeitgleich und ortsunabhängig ganze Fahrzeugflotten Cyber-Attacken ausgesetzt sein können.
-
Bisherige E/E-Architekturen basieren auf dem Gedanken, leicht integrierbar und modular herstellbar zu sein. Diese sind in einer flachen Hierarchie aufgebaut und bestehen aus funktionsspezifischen Steuergeräten (engl. Electronic Control Unit (ECU)), die direkt oder über Gateways miteinander verbunden sind. Das Gateway kann dabei die Kommunikation zwischen den verschiedenen Schnittstellen sicherstellen und den Datenverkehr überwachen. In den vergangenen Jahren ist die Anzahl notwendiger Steuergeräte gestiegen, sodass es zu einer Vielzahl von Überschneidungen von Funktionen kommt. Neuartige Funktionen erhöhen die Komplexität und das Erfordernis des Zusammenspiels mehrerer Steuergeräte. Gerade letzteres führt zu Problemen im Hinblick auf die Entwicklung der Steuergeräte durch unterschiedliche Hersteller. Der Trend geht deshalb hin zu einer zentralisierten E/E-Architektur, wobei Anwendungsbereiche (z.B. Multimedia/Cockpit, Antriebsstrang, ...) miteinander fusioniert werden. Ziel dabei ist eine fahrzeugeinheitliche E/E-Architektur mit einem zentralen Fahrzeugrechner, wobei der zentrale Fahrzeugrechner innerhalb logisch und physisch in Zonen eingeteilt wird, was unter einer zonenbasierten E/E-Architektur bekannt ist.
-
Durch die Vereinigung unterschiedlicher Bereiche mit jeweils eigenen Sicherheitsanforderungen in einer oder wenigen Recheneinheiten sind Funktionen nicht mehr hardwaremäßig voneinander separiert (beispielsweise wie bisher, bei einer physischen Trennung eines Steuergeräts zur Steuerung von Bremsfunktionen). Sobald beispielsweise ein Bereich mit einer hohen Konnektivität nach außen durch einen externen Eingriff (Manipulation) kompromittiert ist, besteht die Gefahr der Manipulation auch weiterer Funktionen, was beispielsweise Auswirkung auf die Betriebssicherheit haben und Gefahrensituationen herbeiführen kann. Daher besteht der Bedarf, in Architekturen mit zentralen Fahrzeugrechnern die Betriebssicherheit zu erhöhen.
-
Offenbarung der Erfindung
-
Ein erster allgemeiner Aspekt der vorliegenden Offenbarung betrifft ein Rechnersystem zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, insbesondere für ein Fahrzeug, mittels Separation einer Mehrzahl von Zonen, wobei das Rechnersystem eine Mehrzahl von Systemmodulen aufweist und die Mehrzahl von Systemmodulen konfiguriert ist, Funktionen bereitzustellen, die für die Betriebssicherheit der Vorrichtung unterschiedlich kritisch sind, wobei eine Zone eine logisch und/oder physisch abgrenzbare Einheit in dem Rechnersystem ist, und wobei eine erste Zone der Mehrzahl von Zonen vertrauenswürdiger ist als eine zweite, weniger vertrauenswürdige Zone der Mehrzahl von Zonen, wobei die Gefahr einer Manipulation einer vertrauenswürdigeren Zone geringer ist als einer weniger vertrauenswürdigen Zone, und wobei der ersten Zone eine erste Anzahl von Schutzmechanismen zugewiesen ist und der zweiten Zone eine zweite Anzahl von Schutzmechanismen zugewiesen ist, wobei die erste Anzahl von Schutzmechanismen die erste Zone in stärkerem Maße vor Manipulation schützt als die zweite Anzahl von Schutzmechanismen die zweite Zone.
-
Offenbart wird weiterhin ein Computersystem, das dafür ausgelegt ist, ein computerimplementiertes Verfahren zur Durchsetzung einer Zonenseparation in einem Rechnersystem mittels Separation einer Mehrzahl von Zonen auszuführen.
-
Offenbart wird weiterhin ein Computerprogramm, das dafür ausgelegt ist, das computerimplementierte Verfahren zur Durchsetzung einer Zonenseparation in einem Rechnersystem, auszuführen.
-
Offenbart wird weiterhin ein computerlesbares Medium oder Signal, das das Computerprogramm speichert und/oder enthält.
-
Das in dieser Offenbarung vorgeschlagene Rechnersystem nach dem ersten allgemeinen Aspekt (oder einer Ausführungsform davon) ermöglicht die Konsolidierung unterschiedlicher Domänen mit Security- und Safety-Klassifizierung in einem Rechnersystem, z.B. einem Fahrzeugrechner. Das kann aufgrund der Zentralisierung eine mögliche Angriffsfläche reduzieren. Durch die logische und/oder physische Einteilung des Rechnersystems (z.B. Fahrzeugrechners) in Zonen und deren Separation kann eine stärkere Ausdifferenzierung der Sicherheitsanforderungen für die jeweiligen Zonen realisiert werden. Zum Beispiel können Zonen, die eine hohe Relevanz für die Betriebssicherheit haben, von Funktionen getrennt werden, die zwar weniger relevant für die Betriebssicherheit sind, aber dafür anfälliger für Eingriffe bzw. Manipulation von außen, beispielsweise im Rahmen eines Cyberangriffs. Durch die Separation der Zonen kann weiter die Wahrscheinlichkeit des Übergreifens einer erfolgreichen Manipulation in einer Zone auf andere Zonen reduziert werden. Das Zuweisen von Zugriffsrechten auf Systemressourcen und deren Umsetzung nach dem Prinzip der geringsten Privilegien kann durch die Zentralisierung der Funktionen auf dem Rechnersystem (z.B. Fahrzeugrechner) sowie die Zonenseparation genauso vereinfacht werden, wie deren Schutz gegen schädliche Manipulation. Das Möglichmachen einer zentralen zonenbasierten E/E-Architektur unter Einbehaltung der geforderten Sicherheitsanforderungen ermöglicht eine Komplexitätsreduktion durch eine verminderte Anzahl von Recheneinheiten im Fahrzeug, was zu Einsparungen bei Kosten, Gewicht und Energie führen kann.
-
Einige Begriffe werden in der vorliegenden Offenbarung in folgender Weise verwendet:
- Eine „Zone“ kann eine logisch (funktional) und/oder physisch (örtlich) abgrenzbare Einheit in einem Rechnersystem sein. Eine Zone kann ein oder mehrere Systemmodule und/oder ein Teil und/oder Teile eines Systemmoduls umfassen. Eine Zone kann durch ihre Bestandteile definiert, das heißt bestimmt werden. Alle Systemmodule oder Teile von Systemmodulen, die einer Zone zugeordnet sind, können die Zone bilden. Eine Zone kann verschiedene Recheneinheiten, Rechenkerne, Controller, Steuereinheiten, Speichereinheiten, Peripherien, Kommunikationsschnittstellen, Netzwerkkomponenten, Softwareapplikationen, Softwarearchitekturen, etc., und/oder sämtliche anderen Software/- und/oder Hardware-Komponenten, oder Teile der genannten, umfassen. Mehrere Zonen können ein Gesamtsystem bilden.
-
Eine „Subzone“ kann eine logisch (funktional) und/oder physisch (örtlich) abgrenzbare Teileinheit einer Zone sein. Eine Zone kann in mindestens zwei Subzonen unterteilt werden. Eine Subzone kann Teile der Systemmodule, die der entsprechenden Zone zugeordnet sind, umfassen. Eine Subzone kann dabei verschiedene Recheneinheiten, Rechenkerne, Steuereinheiten, Speichereinheiten, Peripherien, Kommunikationsschnittstellen, Netzwerkkomponenten, Softwareapplikationen und/oder Softwarearchitekturen, etc., und/oder sämtliche anderen Software/- und/oder Hardware-Komponenten, oder Teile der genannten, die in der unterteilten Zone enthalten sind, umfassen. Alle Subzonen einer Zone können die Zone bilden.
-
Ein „Systemmodul“ kann eine Hardware- und/oder Software-Einheit umfassen, die eine Mehrzahl von Funktionen bereitstellt. Ein Systemmodul kann ein oder mehrere Prozessoren, Controller, Steuereinheiten, (Kommunikations-)Schnittstellen, Netzwerkkomponenten, Softwareapplikationen, Softwarearchitekturen, etc. und/oder sämtliche anderen Software/- und/oder Hardware-Komponenten, oder Teile der genannten, umfassen. Ein Systemmodul kann in einer Zone oder in einer Subzone angeordnet sein.
-
Eine „Systemressource“ kann eine Software- und/oder Hardware-Komponente sein, die Dienste für Systemmodule bereitstellt. Beispielsweise kann eine Systemressource einen oder mehrere Speicher und/oder eine oder mehrere Peripherien umfassen. Mittels eines Zugriffsrechts kann einem Systemmodul erlaubt sein, auf eine Systemressource zuzugreifen.
-
Ein „Speicher“ kann ein Datenspeicher oder auch ein Datenträger sein, auf/in dem Daten abgelegt (gespeichert) werden. Ein Speicher kann von einem Computer oder irgendeiner Art von Peripheriegerät ausgelesen oder beschrieben werden. Ein Speicher kann ein Halbleiterspeicher und/oder ein Magnetspeicher oder ein Speicher basierend auf einer hier nicht genannten Technologie sein. Ein Speicher kann ein flüchtiger Speicher und/oder nicht-flüchtiger Speicher sein. Ein Speicher kann eines von DRAM, RAM, ROM, EPROM, HDD, SDD, ... umfassen, auf/in dem Daten gespeichert werden.
-
Eine „Peripherie“ kann eine Komponente sein, die an eine (zentrale) Recheneinheit angeschlossen werden kann. Eine solche Komponente kann die Steuerung durch die Recheneinheit und gegebenenfalls einer Initialisierung bedürfen. Eine Peripherie kann ein Teil eines Rechners bzw. eines Computers umfassen, der Funktionalitäten bietet, die nicht durch einen Rechenkern selbst, sondern von einer zusätzlichen Hardware bereitgestellt werden können. Zum Beispiel kann eine Peripherie ein Analog-Digital-Umsetzer (engl. Analog-to-Digital-Converter (ADC)), ein Zeitgeber (Timer) oder eine Schnittstelle, wie beispielsweise eine SPI-Schnittstelle (engl. Serial Peripheral Interface) umfassen.
-
Ein „Domänencontroller“ kann einen Extended Resource Domain Controller (XRDC) umfassen. Ein Domänencontroller kann eine in Hardware umgesetzte Peripherie umfassen und Zugriffsrechte zum Beispiel für Speicher und/oder externe Peripherien verwalten. Ein Domänencontroller kann verschiedene Peripherien segregieren und/oder den Speicher eines Systems protektieren, wobei eine Domäne eines Domänencontrollers ein zusammenhängender Bereich sein kann, der gleiche Zugriffsrechte auf Peripherien und/oder Speicher hat.
-
Ein „Rechenkern“ meint den zentralen Teil eines Mikroprozessors, wobei auch mehrere Rechenkerne in einem Mikroprozessor vorhanden sein können. Ein Rechenkern kann an eingegebenen Daten und/oder Informationen arithmetisch und/oder logische Operationen durchführen.
-
Eine „Speicherschutzeinheit“ (engl. Memory Protection Unit) kann eine Hardware- und/oder Softwareeinheit sein. Eine Speicherschutzeinheit kann Register aufweisen, wobei die Register Speicherbereiche enthalten oder diese beschreiben. Eine Speicherschutzeinheit kann einen eigenen Speicher, eine vorkonfigurierte Hardware-Logik und eine interne Datenverbindung aufweisen. Eine Speicherschutzeinheit kann eine Schnittstelle nach außen beispielsweise zu einem Rechenkern oder einer Kommunikationsverbindung aufweisen. Eine Speicherschutzeinheit kann Teil eines Prozessors (engl. Central Processing Unit, CPU) sein.
-
Ein „Fahrzeug“ kann jegliche Vorrichtung, die Passagiere und/oder Fracht transportiert, sein. Ein Fahrzeug kann ein Kraftfahrzeug (zum Beispiel ein PKW oder ein LKW) sein, aber auch ein Schienenfahrzeug. Ein Fahrzeug kann auch ein motorisiertes, nicht motorisiertes und/oder ein muskelkraftbetriebenes Zwei- oder Dreirad sein. Allerdings können auch schwimmende und fliegende Vorrichtungen Fahrzeuge sein. Fahrzeuge können zumindest teilautonom operierend oder assistiert sein.
-
Eine „Funktion“ kann jedwede Teilaufgabe sein, die im Betrieb einer Vorrichtung ausgeführt wird. Eine Funktion kann die Steuerung, Regelung oder Überwachung der Vorrichtung oder eines Teils der Vorrichtung (z.B. einer Komponente der Vorrichtung) betreffen. Zusätzlich oder alternativ kann eine Funktion die Daten- oder Signalverarbeitung in der Vorrichtung betreffen (z.B. eine Kommunikationsfunktion).
-
Kurzbeschreibung der Figuren
-
- 1a-1b illustriert eine beispielhafte Ausführungsform eines Rechnersystems zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung mittels Separation einer Mehrzahl von Zonen.
- 2 illustriert schematisch beispielhafte Verfahrensschritte zur Durchsetzung einer Zonenseparation in einem Rechnersystem.
- 3 illustriert eine beispielhafte Ausführungsform eines Rechnersystems zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, wobei das Rechnersystem einen Domänencontroller aufweist.
-
Detaillierte Beschreibung
-
Offenbart wird ein Rechnersystem 100 zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, insbesondere für ein Fahrzeug, mittels Separation einer Mehrzahl von Zonen 51, 52, 53, wobei das Rechnersystem eine Mehrzahl von Systemmodulen aufweist und die Mehrzahl von Systemmodulen konfiguriert ist, Funktionen bereitzustellen, die für die Betriebssicherheit der Vorrichtung unterschiedlich kritisch sind. Eine Zone 51, 52, 53 ist eine logisch und/oder physisch abgrenzbare Einheit in dem Rechnersystem 100, und eine erste Zone 51, 52 der Mehrzahl von Zonen ist vertrauenswürdiger als eine zweite, weniger vertrauenswürdige Zone 53 der Mehrzahl von Zonen, wobei die Gefahr einer Manipulation einer vertrauenswürdigeren Zone 51 geringer ist als einer weniger vertrauenswürdigen 53 Zone. Eine Manipulation kann ein externer Eingriff sein, der die Betriebssicherheit reduziert. Das Rechnersystem 100 kann eine Mehrzahl von Systemressourcen aufweisen. 1a zeigt eine beispielhafte Ausführungsform des Rechnersystems 100, das eine erste Recheneinheit 21 und eine zweite Recheneinheit 22 aufweist, mit drei Zonen 51, 52, 53. Beispielsweise können >=1, >=2, >=3, >=4, >=5, >=6, =>10, >=20 oder mehr Zonen 51 in dem Rechnersystem 100 separiert werden. Das Rechnersystem 100 kann beispielsweise einen (zentralen) Fahrzeugrechner umfassen (z.B. kann ein Fahrzeugrechner das Rechnersystem 100 bilden). In anderen Beispielen das Rechnersystem 100 ein eingebettetes System (engl. Embedded System) umfassen (z.B. kann ein eingebettetes System das Rechnersystem 100 bilden). Ein eingebettetes System ist ein elektronischer Rechner oder Computer ist, der in einen technischen Kontext eingebunden ist. Ein eingebettetes System kann dabei Regel-, Steuer-, Überwachungsfunktionen, oder Aufgaben zur Datenverarbeitung ausführen. In wieder anderen Beispielen (oder zusätzlich) kann das Rechnersystem 100 eine oder mehrere Steuergeräte (engl. ECU) umfassen (z.B. können ein oder mehrere Steuergeräte das Rechnersystem 100 bilden).
-
Inwiefern eine Zone vertrauenswürdiger oder weniger vertrauenswürdig ist, das heißt der Grad einer Vertrauenswürdigkeit, kann auf einer Einteilung von Zonen 51, 52, 53 anhand eines Sicherheitslevels („Security-Level“) basieren. Das Rechnersystem der vorliegenden Offenbarung kann mindestens zwei Sicherheitslevels haben, aber auch mehr als zwei Sicherheitslevels (z.B. mehr als fünf). Der Grad der Vertrauenswürdigkeit bzw. das Sicherheitslevel kann durch die Konfiguration der entsprechenden Zone (bspw. der darin enthaltenen Systemmodule) bestimmt sein. Beispielsweise kann der Grad der Absicherung, bzw. der Umfang von Absicherungsmaßnahmen, mit denen die Systemmodule einer Zone 51, 52, 53 zum Beispiel vor Manipulation beispielsweise im Rahmen eines externen Eingriffs, geschützt wird, bestimmen, ob eine Zone 51, 52, 53 vertrauenswürdiger oder weniger vertrauenswürdig ist, bzw. welches Sicherheitslevel sie hat (z.B. das Vorhandensein bestimmter Hardware- und/oder Software-basiertes Absicherungsmaßnahmen in den Systemmodulen der Zone). Weiter kann zum Beispiel der Umfang der Kommunikation der Systemmodule, die in der entsprechenden Zone angeordnet sind, mit externen Systemen, wie zum Beispiel einem Backend, bestimmen, welchen Grad der Vertrauenswürdigkeit eine Zone aufweist, bzw. welches Sicherheitslevel sie hat. Beispielsweise kann eine Zone, die überwiegend oder ausschließlich innerhalb des Rechnersystems kommuniziert, vertrauenswürdiger sein, als eine Zone, die zumindest teilweise mit externen Systemen (z.B. einem Backend, anderen Vorrichtungen wie Fahrzeugen oder Infrastruktur-Komponenten) kommuniziert. In manchen Beispielen sind die Zonen bezüglich ihrer Vertrauenswürdigkeit in nicht-vertrauenswürdige Zonen und vertrauenswürdige Zonen eingeteilt. Eine vertrauenswürdigere Zone 51, 52, wie hierin beschrieben, kann zum Beispiel vertrauenswürdig sein und eine weniger vertrauenswürdige Zone 53 wie hierin beschrieben kann zum Beispiel nichtvertrauenswürdig sein. Ein Rechnersystem 100, beispielsweise ein Rechnersystem eines Fahrzeugs, kann zum Beispiel Ziel eines Cyberangriffs sein, wodurch sicherheitskritische Funktionen, zum Beispiel eine Bremsfunktion in einem Fahrzeug, außer Funktion gesetzt oder derart manipuliert werden können, dass eine Gefahrensituation entstehen kann.
-
Eine vertrauenswürdigere Zone ist dabei eine Zone 51 deren Manipulation weniger wahrscheinlich ist als einer weniger vertrauenswürdigen Zone. Beispielsweise kann eine Zone 53, die Multimedia-Funktionen umfasst und viele Schnittstellen zur Kommunikation mit einem Backend aufweist, eine weniger vertrauenswürdige Zone 53 sein, da die Wahrscheinlichkeit eines externen Eingriffs auf einen Kommunikationskanal zu dem Backend höher ist als bei einer Zone 51, die überwiegend Funktionen umfasst, die nur Informationen von innerhalb des Fahrzeugs benötigen und/oder nur innerhalb des Fahrzeugs Prozesse ausführen.
-
Weiter ist der ersten Zone 51, 52, die vertrauenswürdiger ist, eine erste Anzahl von Schutzmechanismen zugewiesen und der zweiten Zone 53, die weniger vertrauenswürdig ist, eine zweite Anzahl von Schutzmechanismen zugewiesen. Die erste Anzahl von Schutzmechanismen schützt die erste Zone 51, 52 in stärkerem Maße vor Manipulation als die zweite Anzahl von Schutzmechanismen die zweite Zone 53.
-
Die erste Anzahl von Schutzmechanismen kann >=1, >=2, >=3, >=, >=10 oder mehr Schutzmechanismen umfassen. Die zweite Anzahl von Schutzmechanismen kann >=1, >=2, >=3, >=, >=10 oder mehr Schutzmechanismen umfassen. In einem Beispiel kann die erste Anzahl von Schutzmechanismen die erste Zone 51, 52 in stärkerem Maße schützen als die zweite Anzahl von Schutzmechanismen die zweite Zone 53, indem die erste Anzahl von Schutzmechanismen die Gefahr bzw. die Wahrscheinlichkeit einer Manipulation der ersten Zone 51, 52 in stärkerem Maße reduzieren als die zweite Anzahl von Schutzmechanismen die Gefahr bzw. die Wahrscheinlichkeit der Manipulation der zweiten Zone 53. In einem Beispiel kann die erste Anzahl von Schutzmechanismen Schutzmechanismen umfassen, die komplexer bzw. schwieriger zu durchbrechen sind, oder anders ausgedrückt, ein höheres Maß an Sicherheit bieten als Schutzmechanismen, die von der zweiten Anzahl von Schutzmechanismen umfasst sein können. In einem Beispiel kann die Rechenleistung und/oder die Zeitdauer, die notwendig ist, einen Schutzmechanismus der ersten Anzahl von Schutzmechanismen zu durchbrechen, höher sein als die Rechenleistung und/oder die Zeitdauer, die notwendig ist, einen Schutzmechanismus der zweiten Anzahl von Schutzmechanismen zu durchbrechen. In einem weiteren Beispiel kann die erste Anzahl von Schutzmechanismen Schutzmechanismen umfassen, die mehr Rechenleistung und/oder eine längere Laufzeit zur Ausführung benötigen als Schutzmechanismen der zweiten Anzahl von Schutzmechanismen. Beispielsweise kann die erste und zweite Anzahl von Schutzmechanismen Schutzmechanismen umfassen, die vor gewissen Arten von (Cyber-)Angriffen schützen. Beispielsweise können Schutzmechanismen eine Firewall umfassen. In einem Beispiel kann die erste Anzahl von Schutzmechanismen die erste Zone in stärkerem Maße schützen als die zweite Anzahl von Schutzmechanismen die zweite Zone 53, indem die erste Anzahl von Schutzmechanismen die Wahrscheinlichkeit der Entdeckung einer Manipulation der ersten Zone in stärkerem Maße erhöhen kann als die zweite Anzahl von Schutzmechanismen die Wahrscheinlichkeit der Entdeckung einer Manipulation der zweiten Zone. In einem Beispiel kann die Wahrscheinlichkeit der Entdeckung einer Manipulation, die durch einen Schutzmechanismus der ersten Anzahl oder der zweiten Anzahl von Schutzmechanismen realisiert wird, durch die anteilige Anzahl von entdeckten Manipulationen von einer Gesamtanzahl von Manipulationen bestimmt werden. Beispielsweise kann die erste oder zweite Anzahl von Schutzmechanismen, die die Wahrscheinlichkeit der Entdeckung einer Manipulation erhöhen, Mechanismen zur Überwachung, beispielsweise IDPS (engl. Intrusion Detection and Prevention System), umfassen.
-
In einem Beispiel kann die erste Anzahl von Schutzmechanismen und/oder die zweite Anzahl von Schutzmechanismen eine RTMD (Runtime Manipulation Detection) umfassen. In einem Beispiel kann eine erste Anzahl von Schutzmechanismen einen ersten Aktualisierungs-(Update)-Mechanismus für das Rechnersystem 100 oder Teile davon umfassen und/oder eine zweite Anzahl von Schutzmechanismen kann einen zweiten Aktualisierungs-(Update)-Mechanismus für das Rechnersystem 100 oder Teile davon umfassen. Beispielsweise kann der erste Aktualisierungs-(Update)-Mechanismus eine höhere Rechenleistung und/oder eine höhere Zeitdauer zur Ausführung notwendig machen, aber ein höheres Maß an Sicherheit bieten als der zweite Aktualisierungs-(Update)-Mechanismus.
-
Die erste Menge von Schutzmechanismen kann einen ersten Hochfahr-Prozess und/oder einen ersten Mechanismus zur Kommunikationsabsicherung umfassen und/oder die zweite Menge von Schutzmechanismen kann einen zweiten Hochfahr-Prozess und/oder einen zweiten Mechanismus zur Kommunikationsabsicherung umfassen. Ein Hochfahr-Prozess dient dabei zum Hochfahren (Booten) des Rechnersystems 100 dient. Beispielsweise kann eine Mehrzahl von Hochfahr-Prozessen vorhanden sein, die sich in ihrer Performanz (Dauer bis zum (annähernd) vollständigen Hochfahren des Systems) und/oder in ihrer Sicherheit unterscheiden können, wobei Sicherheit darauf abzielen kann, inwiefern ein Hochfahr-Prozess die Wahrscheinlichkeit einer Manipulation des Rechnersystems 100 durch einen externen Eingriff reduzieren kann und/oder inwiefern ein Hochfahr-Prozess die Wahrscheinlichkeit der Entdeckung einer Manipulation des Rechnersystems 100 durch einen externen Eingriff erhöhen kann. In manchen Beispielen kann die Zeit bis zum vollständigen Hochfahren des Rechnersystems 100 mittels des ersten Hochfahr-Prozesses länger sein als eine Zeit bis zum vollständigen Hochfahren des Rechnersystems 100 mittels des zweiten Hochfahr-Prozesses. Beispielsweise kann ein zweiter Hochfahr-Prozess einen Algorithmus umfassen, der die Wahrscheinlichkeit einer Manipulation weniger reduziert und/oder die Wahrscheinlichkeit der Entdeckung einer Manipulation weniger erhöht, aber schneller ausgeführt werden kann als ein Algorithmus in einem ersten Hochfahr-Prozess, der die Wahrscheinlichkeit einer Manipulation in stärkerem Maße reduziert und/oder die Wahrscheinlichkeit der Entdeckung einer Manipulation in stärkerem Maße erhöht, aber nur langsamer ausgeführt werden kann. Beispielsweise kann die Mehrzahl von Hochfahr-Prozesse unterschiedliche kryptografische Algorithmen umfassen.
-
Der erste Mechanismus zur Kommunikationsabsicherung kann beispielsweise ein erstes (kryptografisches) Verschlüsselungsverfahren umfassen. Beispielsweise kann das erste Verschlüsselungsverfahren die Verwendung von RSA4k-Signaturen (Rivest-Shamir-Adleman, RSA) umfassen. Der zweite Mechanismus zur Kommunikationsabsicherung kann beispielsweise ein zweites (kryptografisches) Verschlüsselungsverfahren umfassen. Beispielsweise kann das zweite Verschlüsselungsverfahren die Verwendung von RSA3k-Signaturen umfassen.
-
Offenbart wird weiter ein computerimplementiertes Verfahren 200 zur Durchsetzung einer Zonenseparation in einem Rechnersystem 100. Das Verfahren kann das Durchführen einer Verifikation nachfolgender Schritte eines Hochfahr-Prozesses durch eine Sicherheitseinrichtung, um eine Manipulation nachfolgender Schritte eines Hochfahr-Prozesses festzustellen, umfassen. Beispielsweise kann eine Sicherheitseinrichtung eine Hardware Security Engine (HSE) umfassen. Zum Beispiel kann die Sicherheitseinrichtung nachfolgende Schritte eines Hochfahr-Prozesses auf Manipulation überprüfen, um festzustellen, dass die nachfolgenden Schritte nicht korrumpiert sind. Beispielsweise kann der Umfang der Verifikation variiert werden. Beispielsweise kann eine Verifikation auf Basis einer notwendigen Performanz durchgeführt werden. Beispielsweise kann eine intensive (d.h. genaue) Verifikation länger dauern (d.h. geringere Performanz) als eine weniger intensive (d.h. weniger genaue) Verifikation. Beispielsweise kann einer ersten Zone 51, 52, die vertrauenswürdiger ist, ein erster Hochfahr-Prozess zugewiesen sein, dessen Schritte genauer verifiziert werden als die eines zweiten Hochfahr-Prozesses, der einer Zone 53 zugewiesen ist, die weniger vertrauenswürdig ist.
-
In manchen Beispielen kann das Verfahren 200 ein Zuweisen 210 eines Systemmoduls, mehrere Systemmodule oder eines Teils eines Systemmoduls von einer Mehrzahl von Systemmodulen an jeweils eine Zone der Mehrzahl von Zonen umfassen. In manchen Beispielen kann ein Systemmodul einen Prozessor, eine Schnittstelle, und/oder eine Netzwerkkomponente oder Teile davon umfassen. 2 zeigt beispielhaft die Schritte des Verfahrens 200. Beispielsweise können einer Zone >=1, >=2, >=3, >=4, >=5, >=6, >= 10, >=20 oder mehr Systemmodule (z.B. Prozessoren) oder Teile davon (z.B. Rechenkerne) zugewiesen 210 werden. Wie in 1b gezeigt, können der ersten Zone 51 ein Teil (z.B. zwei Rechenkerne) der mehreren Rechenkerne eines Prozessors 11 (z.B. vier Rechenkerne) zugewiesen werden 210 und der zweiten Zone 52 kann ein anderer Teil (z.B. zwei verbleibende Rechenkerne) der mehreren Rechenkerne des Prozessors 11 zugewiesen 210 werden. In manchen Beispielen kann ein Systemmodul Schnittstellen, Bussystem oder Teile derselben umfassen. In 1a ist beispielhaft die erste Zone 51, der eine erste Schnittstelle 31 und eine zweite Schnittstelle 32 zugewiesen wird, und die dritte Zone 53, der eine dritte Schnittstelle 33 zugewiesen wird, gezeigt. Beispielsweise kann eine Schnittstelle eine CAN-Bus-Schnittstelle, eine CAN-FD-Bus-Schnittstelle und/oder einen GMAC-Port umfassen. Zum Beispiel kann ein Systemmodul, das einer ersten Zone 51 zugewiesen wird, eine erste Softwarearchitektur umfassen und ein anderes Systemmodul, das einer zweiten Zone 52 zugewiesen wird, eine zweite Softwarearchitektur umfassen. Zum Beispiel kann ein Teil eines Systemmoduls, der einer ersten Zone 51 zugewiesen wird, eine erste Softwarearchitektur umfassen und ein anderer Teil des Systemmoduls, der einer zweiten Zone 52 zugewiesen wird, eine zweite Softwarearchitektur umfassen. In manchen Beispielen kann das Rechnersystem 100 einen Domänencontroller 70, zum Beispiel einen Extended Resource Domain Controller (XRDC), umfassen. Beispielsweise kann das Zuweisen 210 eines Systemmoduls, mehrerer Systemmodule oder eines Teils eines Systemmoduls von einer Mehrzahl von Systemmodulen an jeweils eine Zone der Mehrzahl von Zonen durch den Domänencontroller 70 ausgeführt werden.
-
In manchen Beispielen kann das Verfahren 200 ein Teilen 220 mindestens einer Zone 51, 52, 53 der Mehrzahl von Zonen in mindestens zwei Subzonen umfassen. Weiter kann das Separieren 200 ein Zuweisen 230 jeweils eines Teils der einen oder mehreren Systemmodule der entsprechenden Zone an die Subzone umfassen. Weiterhin kann das Verfahren 200 ein Zuweisen 240 von Zugriffsrechten auf Systemressourcen an die Zonen und/oder Subzonen umfassen, wobei Systemressourcen Peripherien und/oder Speicher des Systems umfassen. Zum Beispiel kann eine Zone 51 in >=2, >=3, >=4, >=5, >=6, >= 10, >=20 oder mehr Subzonen 51a, 51b geteilt 220 werden. In 3 ist beispielhaft die Zone 51 in zwei Subzonen 51a und 51b geteilt. Beispielsweise kann einer Zone 51 ein Prozessor mit einer Mehrzahl von Rechenkernen (z.B. vier Rechenkerne) zugewiesen 230 werden. Ein erster Teil der Rechenkerne (z.B. zwei Rechenkerne) kann beispielsweise der ersten Subzone 51a zugewiesen 230 werden und die verbleibenden Rechenkerne (z.B. zwei Rechenkerne) können beispielsweise der zweiten Subzone 51b zugewiesen 230 werden. Beispielsweise kann auf einem Rechenkern, der der ersten Subzone 51a zugewiesen wird, eine erste Softwareapplikation ausgeführt werden und auf mindestens einem Rechenkern, der der zweiten Subzone 51b zugewiesen wird, eine zweite Softwareapplikation ausgeführt werden. Beispielsweise kann einer Subzone 51a gleiche Zugriffsrechte auf einen Speicher und/oder Peripherien des Systems zugewiesen 240 werden, das heißt den Systemmodulen (z.B. Prozessoren) oder Teile davon (z.B. Rechenkerne), die einer gemeinsamen Subzone 51a zugewiesen werden, können die gleichen Zugriffsrechte auf Systemressourcen, die beispielsweise Speicher 63 und/oder Peripherien 61, 62 umfassen, zugewiesen 240 werden. Zum Bespiel kann den Systemmodulen oder Teile davon, die einer gemeinsamen Zone 51 zugewiesen werden, die gleichen Zugriffsrechte auf Systemressourcen zugewiesen werden. In manchen Beispielen kann das Zuweisen der Zugriffsrechte auf Systemressourcen auf Basis des Prinzips der geringsten Privilegien (engl. „Principle of Least Privilege (PoLP)“) durchgeführt werden. Das heißt, dass die Zonen und/oder Subzonen jeweils nur für die Systemressourcen Zugriffsrechte zugewiesen bekommen, die sie für ihre Aufgabenerfüllung benötigen. Das heißt, dass den Systemmodulen, die den Zonen und/oder Subzonen zugewiesen werden, jeweils nur die Zugriffsrechte auf Systemressourcen zugewiesen werden, die sie benötigen, um die jeweiligen Funktionen der Vorrichtung bereitzustellen. Beispielsweise kann das Teilen 220 einer Zone in mindestens zwei Subzonen, das Zuweisen 230 jeweils eines Teils des einen oder mehreren Systemmodulen der entsprechenden Zone an die Subzone und/oder das Zuweisen 240 von Zugriffsrechten auf Systemressourcen durch den Domänencontroller 70 durchgeführt werden. In manchen Beispielen kann der Domänencontroller 70 den Zugriff der Zonen und/oder Subzonen auf Basis der Zugriffsrechte für die Peripherien 61, 62 und/oder Speicher 63 überwachen.
-
In manchen Beispielen kann das Verfahren 200 ein Zuweisen 250 jeweils einer logischen und/oder physischen Verbindung zu der Sicherheitseinrichtung an eine oder mehrere Zonen 51, 52, 53 und/oder Subzonen 51a, 51b umfassen. Zum Beispiel kann die Sicherheitseinrichtung kryptographische Schlüssel für die entsprechende Zone 51, 52, 53 oder Subzone 51a, 51b bereitstellen und jeder Zone 51, 52, 53 oder Subzone 51a, 51b kann erlaubt werden, nur auf Schlüssel zuzugreifen, die für diejenige Zone 51, 52, 53 oder Subzone 51a, 51b bestimmt sind. Beispielsweise kann eine logische und/oder physische Verbindung eine Nachrichtenübermittlungseinheit (engl. Messaging Unit (MU)) umfassen, die einer Zone 51, 52, 53 oder Subzone 51a, 51b zugewiesen 250 wird, um Nachrichten und/oder Daten mit der Sicherheitseinrichtung auszutauschen. Beispielsweise kann mittels des Domänencontrollers 70 das Zuweisen 250 der logischen und/oder physischen Verbindung an eine oder mehrere Zonen 51, 52, 53 und/oder Subzonen 51a, 51b ausgeführt werden. Beispielsweise kann die Sicherheitseinrichtung kryptographische Schlüssel bereitstellen, die von den Zonen und/oder Subzonen beispielsweise für Entschlüsselung und/oder Verschlüsselung von Daten im Rahmen einer Kommunikation mit externen Einheiten (das heißt außerhalb des Systems, z.B. einer Cloud) und/oder systeminternen Einheiten verwendet werden kann. Um eine Separation der Zonen 51, 52, 53 und/oder Subzonen 51a, 51b zu gewährleisten bzw. zu ermöglichen, kann zum Beispiel einer Zone 51, 52, 53 oder Subzone 51a, 51b erlaubt werden, nur auf Schlüssel zuzugreifen, die für die entsprechende Zone 51, 52, 53 oder Subzone 51a, 51b bestimmt sind, um so beispielsweise eine Manipulation einer Zone 51, 52, 53 oder Subzone 51a, 51b durch eine andere Zone oder Subzone zu verhindern. In manchen Beispielen kann die Sicherheitseinrichtung eine Signaturverifikation beispielsweise für die Zonen 51, 52, 53 und/oder Subzonen 51a, 51b bereitstellen. Zum Beispiel kann mittels einer Signaturverifikation gewährleistet werden bzw. ermöglicht werden, dass eine Zone 51, 52, 53 oder Subzone 51a, 51b nur auf Schlüssel zugreifen kann, die für die entsprechende Zone 51, 52, 53 oder Subzone 51a, 51b bestimmt sind.
-
In manchen Beispielen kann die Sicherheitseinrichtung als Vertrauensanker (Trust Anchor, Root-of-Trust) dienen. Der Vertrauensanker kann die fundamentale Quelle der Vertraulichkeit umfassen. Beispielsweise kann an dem Vertrauensanker die Vertrauenskette (engl. Chain of Trust (CoT) beim Hochfahren des Rechnersystems 100 gestartet werden. Beim Hochfahren bildet der Vertrauensanker die erste Stufe, die nachfolgende Schritte eines Hochfahr-Prozesses überprüft, um festzustellen, dass nachfolgende Schritte des Hochfahr-Prozesses nicht korrumpiert sind. Beispielsweise kann für einen Vertrauensanker Vertrauen angenommen und nicht abgeleitet werden. Beispielsweise kann Vertrauen umfassen, dass davon ausgegangen wird, dass der Vertrauensanker nicht durch eine Manipulation korrumpiert oder schädlich verändert worden ist. Beispielsweise kann von einem Vertrauensanker ausgehend Vertrauen für nachfolgende Stufen eines Rechnersystems 100 abgeleitet werden.
-
In manchen Beispielen kann das Verfahren 200 ein Zuweisen 260 von Zugriffsrechten für eine Mehrzahl von Funktionen, die durch die Sicherheitseinrichtung bereitgestellt werden, an mindestens eine Zone 51, 52, 53 und/oder Subzone 51a, 51b umfassen. Beispielsweise können Funktionen, die durch die Sicherheitseinrichtung bereitgestellt werden, Sicherheitsfunktionen, wie zum Beispiel Verschlüsselungsfunktionen, beispielsweise für die Übertragung von Daten, umfassen. Weiter können Funktionen, die durch die Sicherheitseinrichtung bereitgestellt werden, eine Funktion zur Änderung eines Lebenszyklus-Zustands (engl. Life Cycle) umfassen. Beispielsweise kann ein Zugriffsrecht für eine Funktion zur Änderung eines Lebenszyklus-Zustands (engl. Life Cycle) nur der Zone oder Subzone zugewiesen 260 werden, die für diese Änderung zuständig ist. Beispielsweise kann das Zuweisen 260 der Zugriffsrechte an die Zonen und/oder Subzonen von dem Domänencontroller 70 und/oder der Sicherheitseinrichtung (HSE) ausgeführt werden.
-
In manchen Beispielen können Zugriffe auf Schlüssel und/oder Funktionen, die durch die Sicherheitseinrichtung bereitgestellt werden, von vertrauenswürdigeren Zonen und/oder vertrauenswürdigeren Subzonen gegenüber weniger vertrauenswürdigen Zonen und/oder weniger vertrauenswürdigen Subzonen priorisiert werden. Beispielsweise kann einer vertrauenswürdigeren Zone 51 und/oder einer vertrauenswürdigeren Subzone 51a bei einem Zugriff auf einen Schlüssel und/oder eine Funktion, beispielsweise einer Sicherheitsfunktion, ein Vorrang eingeräumt werden, gegenüber einer weniger vertrauenswürdigen Zone 53 und/oder weniger vertrauenswürdigen Subzone. Beispielsweise kann eine Priorisierung durch die Sicherheitseinrichtung und/oder den Domänencontroller 70 ausgeführt werden.
-
In manchen Beispielen kann das Rechnersystem 100, wie voranstehend erwähnt, einen Domänencontroller 70 umfassen. Beispielsweise kann der Domänencontroller 70 eine Mehrzahl von Domänen aufweisen. Weiterhin kann das Verfahren 200 ein Zuweisen 270 mindestens einer Zone 51, 52, 53 und/oder Subzone 51a, 51b an mindestens eine Domäne umfassen. In manchen Beispielen kann eine Domäne gleiche Zugriffsrechte auf Systemressourcen aufweisen. Eine Domäne kann einen logischen/physischen Bereich umfassen, der gleiche Zugriffsrechte auf Speicher und/oder Peripherien aufweist. Ein Domänencontroller 70 kann >=1, >=2, >=3, >=4, >=5, >=6, >=7, >=8 oder mehr Domänen enthalten. In manchen Beispielen kann einer Domäne eine Vertrauenswürdigkeit/Sicherheitslevel („Security-Level“) zugewiesen werden. Beispielsweise kann einer ersten Domäne (z.B. Domäne 0) einer Mehrzahl von Domänen (beispielsweise acht Domänen) eine geringere Vertrauenswürdigkeit zugewiesen sein als einer achten Domäne (z.B. Domäne 7). In manchen Beispielen können die Zonen 51, 52, 53 und/oder Subzonen 51a, 51b mit den gleichen Zugriffsrechten auf Systemressourcen (z.B. Speicher 63, Peripherie 61, 62) einer Domäne zugewiesen werden. Beispielsweise kann der Domänencontroller 70 das Verfahren 200 ausführen oder einzelne Schritte des Verfahrens 200 ausführen.
-
In manchen Beispielen kann das Verfahren 200 statisch und authentisch durchgeführt werden. Zum Beispiel kann das Zuweisen 210, 230, 240, 250, 260, 270 und das Teilen 220 statisch und nicht-veränderlich durchgeführt werden. Beispielsweise kann das Verfahren 200 im Rahmen einer Initialisierung und/oder einer Konfiguration in dem Hochfahr-Prozess durchgeführt werden. Beispielsweis können Rechte zum Initialisieren und/oder Konfigurieren nach Abschluss der Initialisierung und/oder der Konfiguration entfernt werden, um eine erneute Änderung der Initialisierung und/oder Konfiguration nach Abschluss zu verhindern. Beispielsweise kann nach Entfernen der Rechte zum Initialisieren und/oder Konfigurieren keine Komponente Rechte zum Initialisieren und/oder Konfigurieren aufweisen, um zu gewährleisten bzw. sicherzustellen, dass das Verfahren 200 statisch und authentisch durchgeführt wird, um eine nachträgliche Manipulation zu verhindern.
-
In manchen Beispielen kann das Verfahren 200 bei Verdacht oder im Fall einer Manipulation angepasst werden, um eine Gefahrensituation zu vermeiden. Zum Beispiel kann das Zuweisen 210, 230, 240, 250, 260, 270 und das Teilen 220 bei Verdacht oder im Fall einer Manipulation angepasst werden, um eine Gefahrensituation zu vermeiden. Beispielsweise kann das Verfahren 200 im Rahmen einer ersten Initialisierung und/oder einer ersten Konfiguration in dem Hochfahr-Prozess durchgeführt werden. Beispielsweise kann die erste Initialisierung und/oder eine erste Konfiguration auf Basis eines Vorfalls durch eine nachfolgende Konfiguration einer Mehrzahl von Konfigurationen (z.B. >=2, >=3, >=4, >=5, >=6, =>10 Konfigurationen) ersetzt werden. Beispielsweise kann eine jeweils nachfolgende Konfiguration durch eine weitere nachfolgende Konfiguration ersetzt werden. Zum Beispiel kann eine nachfolgende Konfiguration dazu dienen, eine Manipulation zu verhindern, die Wahrscheinlichkeit einer Gefährdung zu reduzieren und/oder einen möglichen Schaden zu verhindern oder zu reduzieren. Beispielsweise kann ein Vorfall einen Verdacht einer Manipulation oder das Auftreten einer Manipulation oder einer versuchten Manipulation bzw. eines Cyberangriffs umfassen. Beispielsweise kann eine IDPS (engl. Intrusion Detection and Prevention System) einen Vorfall, der beispielsweise die (Betriebs-)Sicherheit des Systems reduziert, feststellen. Beispielsweise kann eine jeweils nachfolgende Konfiguration durch eine weitere nachfolgende Konfiguration ersetzt werden. Zum Beispiel kann auf Basis einer bestimmten Art von Vorfall eine Konfiguration der Mehrzahl von Konfigurationen ausgewählt werden, eine vorangegangene Konfiguration zu ersetzen. Beispielsweise können korrumpierte Systemmodule einer vertrauenswürdigeren Zone einer weniger vertrauenswürdigen Zone zugewiesen werden. Zum Beispiel kann einer korrumpierten Zone oder Subzone Zugriffsrechte auf Systemressourcen entzogen werden.
-
In manchen Beispielen kann das Rechnersystem ergänzend zu dem Domänencontroller (70) eine Speicherschutzeinheit (engl. Memory Protection Unit, MPU) (71) aufweisen, die dazu dient, einzelne Schritte des Verfahrens zur Durchsetzung der Zonenseparation abzusichern. Beispielsweise können Zugriffsrechte auf Speicher 63 und/oder Peripherien 61, 62 zusätzlich zu dem Domänencontroller 70 durch die Speicherschutzeinheit 71 überprüft werden. Die Speicherschutzeinheit 71 kann in manchen Beispielen einen unerlaubten Zugriff einer Zone 51, 52, 53 und/oder Subzone 51a, 51b auf eine Systemressource, für die an die entsprechende Zone 51, 52, 53 oder Subzone 51a, 51b keine Zugriffsrechte zugewiesen sind, verhindern. Die Speicherschutzeinheit 71 kann dazu dienen, Schritte des Verfahrens 200 umzusetzen. Zum Beispiel kann die Speicherschutzeinheit 71 im Fall eines Ausfalls des Domänencontrollers 70 dazu dienen, die Zuverlässigkeit und die Ausfallsicherheit des Systems zu erhöhen. Zum Beispiel kann die zusätzliche Verwendung einer Speicherschutzeinheit 71 Teil einer gestaffelten Abwehr-Strategie bzw. einer Defense-in-Depth-Strategie sein.
-
Offenbart wird weiterhin ein Computersystem, das dafür ausgelegt ist, das computerimplementierte Verfahren 200 zur Durchsetzung einer Zonenseparation in einem Rechnersystem 100 mittels Separation einer Mehrzahl von Zonen auszuführen. Das Computersystem kann mindestens einen Prozessor und/oder mindestens einen Arbeitsspeicher umfassen. Das Computersystem kann weiterhin einen (nicht-volatilen) Speicher umfassen. Weiter kann das Rechnersystem 100 ein Computersystem umfassen. Das Rechnersystem 100 kann mindestens einen Prozessor und/oder einen Arbeitsspeicher umfassen. Das Rechnersystem 100 kann weiterhin einen (nicht-volatilen) Speicher umfassen.
-
In manchen Beispielen kann die Vorrichtung, für die die Mehrzahl von Funktionen durch das Rechnersystem 100 bereitgestellt wird, ein Fahrzeug sein. In manchen Beispielen kann das Rechnersystem 100 in dem Fahrzeug angeordnet sein (bspw. in der Form eines Fahrzeugrechners). Zusätzlich oder alternativ können eine oder mehrere Funktionen der Mehrzahl von Funktionen Funktionen für den Betrieb eines Fahrzeugs oder einer seiner Komponenten umfassen (z.B. Steuerfunktionen, Regelfunktionen, Überwachungsfunktionen und/oder Funktionen der Daten- oder Signalverarbeitung). Zum Beispiel können eine oder mehrere Funktionen der Mehrzahl von Funktionen Funktionen zum autonomen und/oder assistierten Fahren sein. Alternativ oder zusätzlich kann eine Funktion eine Motorsteuerung, eine Getriebesteuerung, eine Steuerfunktion des Antriebsstranges, eine Bremsensteuerung, eine Funktion fürs Batteriemanagement, eine Steuerung einer Mensch-Maschine-Schnittstelle, eine Funktion für Systeme des Fahrzeuginnenraums (z.B. eine Klimatisierungsfunktion oder eine Sitzsteuerung) oder eine Kommunikationsfunktion sein.
-
In anderen Beispielen kann die Vorrichtung, für die die Mehrzahl von Funktionen durch das Rechnersystem 100 bereitgestellt wird, ein Roboter sein. In wieder anderen Beispielen kann die Vorrichtung, für die die Mehrzahl von Funktionen durch das Rechnersystem 100 bereitgestellt wird, eine Industriemaschine oder einer Industrieanlage sein. In wieder anderen Beispielen kann die Vorrichtung, für die die Mehrzahl von Funktionen durch das Rechnersystem 100 bereitgestellt wird, ein Gebäudetechnik-System sein.
-
Offenbart wird weiterhin ein Computerprogramm, das dafür ausgelegt ist, das computerimplementierte Verfahren 200 zur Durchsetzung einer Zonenseparation in einem Rechnersystem 100 mittels Separation einer Mehrzahl von Zonen auszuführen. Das Computerprogramm kann z.B. in interpretierbarer oder in kompilierter Form vorliegen. Es kann (auch in Teilen) zur Ausführung z.B. als Bit- oder Byte-Folge in den RAM eines Computers geladen werden. Das Computerprogramm kann mehrere Teile umfassen, ein Teil auf einer Recheneinheit 21, 22 und/oder einem Domänencontroller 70 ausgeführt werden kann.
-
Offenbart wird weiterhin ein computerlesbares Medium oder Signal, das das Computerprogramm oder mindestens einen Teil davon speichert und/oder enthält. Das Medium kann z.B. eines von RAM, ROM, EPROM, HDD, SDD, ... umfassen, auf/in dem das Signal gespeichert wird.