DE102022204714A1 - System zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug - Google Patents

System zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug Download PDF

Info

Publication number
DE102022204714A1
DE102022204714A1 DE102022204714.1A DE102022204714A DE102022204714A1 DE 102022204714 A1 DE102022204714 A1 DE 102022204714A1 DE 102022204714 A DE102022204714 A DE 102022204714A DE 102022204714 A1 DE102022204714 A1 DE 102022204714A1
Authority
DE
Germany
Prior art keywords
zone
computer system
zones
functions
trustworthy
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE102022204714.1A
Other languages
English (en)
Inventor
Razvan Florin Aguridan
Nils Benecke
Manuel Jauss
Felix Hallaczek
Alexander Kaucher
Marcel Kneib
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Priority to DE102022204714.1A priority Critical patent/DE102022204714A1/de
Priority to US18/304,070 priority patent/US20230367910A1/en
Priority to CN202310540085.1A priority patent/CN117061543A/zh
Publication of DE102022204714A1 publication Critical patent/DE102022204714A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/629Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/74Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information operating in dual or compartmented mode, i.e. at least one secure mode
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioethics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Medical Informatics (AREA)
  • Storage Device Security (AREA)

Abstract

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, 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, jedes Systemmodul oder ein Teil eines Systemmoduls der Mehrzahl von Systemmodulen einer Zone einer Mehrzahl von Zonen zugeordnet ist, wobei eine Zone eine logisch und/oder physisch abgrenzbare Einheit in dem Rechnersystem ist, 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 eine erste kritischere Funktion der Mehrzahl von Funktionen durch ein Systemmodul der ersten Zone bereitgestellt ist und eine weniger kritische Funktion der Mehrzahl von Funktionen durch ein Systemmodul der zweiten Zone bereitgestellt ist.

Description

  • 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 unterschiedlichen Bereichen 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, 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, jedes Systemmodul oder ein Teil eines Systemmoduls der Mehrzahl von Systemmodulen einer Zone einer Mehrzahl von Zonen zugeordnet ist, wobei eine Zone eine logisch und/oder physisch abgrenzbare Einheit in dem Rechnersystem ist, 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 eine erste kritischere Funktion der Mehrzahl von Funktionen durch ein Systemmodul der ersten Zone bereitgestellt ist und eine weniger kritische Funktion der Mehrzahl von Funktionen durch ein Systemmodul der zweiten Zone bereitgestellt ist.
  • Offenbart wird weiterhin ein computerimplementiertes Verfahren zur Durchsetzung einer Zonenseparation in einem Rechnersystem zur Bereitstellung einer Mehrzahl von Funktion für eine Vorrichtung, insbesondere für ein Fahrzeug, wobei das Rechnersystem eine Mehrzahl von Systemmodulen und eine Mehrzahl von Systemressourcen aufweist und die Mehrzahl von Systemmodulen Funktionen ausführen, die für die Betriebssicherheit der Vorrichtung unterschiedlich kritisch sind. Das Verfahren umfasst Zuweisen jedes Systemmoduls oder eines Teils eines Systemmoduls der Mehrzahl von Systemmodulen an eine Zone der Mehrzahl von Zonen, wobei eine Zone eine logisch und/oder physisch abgrenzbare Einheit in dem Rechnersystem ist und eine erste Zone vertrauenswürdiger ist als eine zweite, weniger vertrauenswürdige Zone, wobei die Gefahr einer Manipulation einer vertrauenswürdigeren Zone geringer ist als einer weniger vertrauenswürdigen Zone, und eine erste kritischere Funktion der Mehrzahl von Funktionen durch ein Systemmodul einer ersten Zone bereitgestellt wird und eine weniger kritische Funktion der Mehrzahl von Funktionen durch ein Systemmodul einer zweiten Zone bereitgestellt wird, Teilen mindestens einer Zone der Mehrzahl von Zonen in mindestens zwei Subzonen, Zuweisen jeweils eines Teils der einen oder mehreren Systemmodule der entsprechenden Zone an die Subzonen und Zuweisen von Zugriffsrechten auf Systemressourcen an die Zonen und/oder Subzonen, wobei Systemressourcen Peripherien und/oder Speicher des Systems umfassen.
  • Das in dieser Offenbarung vorgeschlagene System 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. in 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. Die Zuweisung 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 System sein. Eine Zone kann ein oder mehrere Systemmodule und/oder ein Teil und/oder Teile eines Systemmoduls oder mehrerer Systemmodule 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, Controller, 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 „Softwarearchitektur“ kann eine strukturierte und/oder hierarchische Anordnung der Systemkomponenten sowie Beschreibung ihrer Beziehungen in einem Softwaresystem sein, wobei Systemkomponenten Softwareteile sein können, deren Beziehungen zueinander und deren Eigenschaften durch die Softwarearchitektur beschrieben werden können. Beispielsweise ist die Softwarearchitektur der „AUTOSAR“ (Automotive Open System Architecture) eine offene und standardisierte Softwarearchitektur für elektronische Steuergeräte (ECUs) im Automobilbereich. Zum Beispiel sind die „AUTOSAR Classic Plattform“ und die „AUTOSAR Adaptive Plattform“ zwei verschiedene Softwarearchitekturen.
  • 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 „Speicherpuffer“ kann ein Speicherbereich bzw. ein Adressbereich in einem Speicher sein. Auf einen Speicherpuffer kann mittels physischer oder virtueller Adressen lesend und/oder schreibend zugegriffen werden. Ein Speicherbereich bzw. Speicherpuffer kann eine Adresse oder eine zusammenhängende Mehrzahl von einzelnen Adressen in einem Speicher umfassen, wobei „zusammenhängend“ meint, dass einzelne Adresse nebeneinander liegen. Ein Speicherbereich bzw. ein Speicherpuffer kann mit einer Startadresse und einer Endadresse identifiziert werden. Ein Speicherpuffer kann Teil eines systeminternen DRAMs sein. Ein Speicherpuffer kann auch ein eigenständiger Speicher sein.
  • Ein „Deskriptor“ kann eine vorgegebene Bezeichnung sein, die zur inhaltlichen Beschreibung eines Objekts ausgewählt werden kann. Ein Deskriptor kann auch einen Index umfassen und der Informationsrückgewinnung dienen. Ein Deskriptor kann für einen bestimmten Speicherbereich stehen, wobei ein Speicherbereich durch eine Start- und Endadresse spezifiziert werden kann, und Zugriffsrechte für ebendiesen Speicherbereich enthalten.
  • 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 schematisch eine beispielhafte Ausführungsform eines Systems zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung.
    • 2a illustriert eine beispielhafte Ausführungsform des Systems zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, das einen ersten Speicherpuffer und einen zweiten Speicherpuffer zum Datenaustausch zwischen den Zonen aufweist.
    • 2b illustriert eine beispielhafte Ausführungsform des Systems zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, das zwei Subzonen in einer ersten Zone und einen ersten Speicherpuffer und einen zweiten Speicherpuffer zum Datenaustausch zwischen den Subzonen aufweist.
    • 3 illustriert eine beispielhafte Ausführungsform des Systems zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, das einen Domänencontroller aufweist.
    • 4 illustriert eine beispielhafte Ausführungsform des Systems zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, das eine Zone aufweist, die auf zwei Recheneinheiten gebildet ist.
    • 5 illustriert beispielhaft Verfahrensschritte zur Durchsetzung einer Zonenseparation in einem Rechnersystem zur Bereitstellung einer Mehrzahl von Funktion für eine Vorrichtung.
  • Detaillierte Beschreibung
  • Offenbart wird ein Rechnersystem 100 zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, insbesondere für ein Fahrzeug, wobei das Rechnersystem 100 eine Mehrzahl von Systemmodulen aufweist und die Mehrzahl von Systemmodulen konfiguriert ist, Funktionen bereitzustellen, die für die Betriebssicherheit der Vorrichtung unterschiedlich kritisch sind. Jedes Systemmodul oder ein Teil eines Systemmoduls der Mehrzahl von Systemmodulen ist einer Zone 51, 52, 53 einer Mehrzahl von Zonen zugeordnet. Eine Zone ist eine logisch und/oder physisch abgrenzbare Einheit in dem Rechnersystem 100. Dabei ist eine erste Zone 51, 52 vertrauenswürdiger als eine zweite, weniger vertrauenswürdige Zone 53, wobei die Gefahr einer Manipulation einer vertrauenswürdigeren Zone 51, 52 geringer ist als einer weniger vertrauenswürdigen Zone 53. Eine Manipulation kann dabei einen externen Eingriff, der die Betriebssicherheit reduziert, umfassen. 1a zeigt eine beispielhafte Ausführungsform des Systems 100 mit drei Zonen 51, 52, 53. Beispielsweise können >=1, >=2, >=3, >=4, >=5, >=6, =>10, >=20 oder mehr Zonen in dem System 100 separiert sein.
  • 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 51, 52 ist dabei eine Zone deren Manipulation weniger wahrscheinlich ist als einer weniger vertrauenswürdigen Zone 53. 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 eine erste kritischere Funktion der Mehrzahl von Funktionen durch ein Systemmodul der ersten Zone 51 bereitgestellt und eine weniger kritische Funktion der Mehrzahl von Funktionen durch ein Systemmodul der zweiten Zone 53 bereitgestellt. Neben der Einteilung der Zonen 51, 52, 53 nach einem Grad der Vertrauenswürdigkeit also einem Sicherheitslevel, sind die Zonen also zudem bezüglich der Relevanz für die Betriebssicherheit (z.B. mittels eines Sicherheitslevels oder „Safety-Level“), das heißt die Kritikalität der Funktion der Zone für die Betriebssicherheit der Vorrichtung, klassifiziert. Eine Zone 51, deren Manipulation zu einer schwerwiegenden Gefahrensituation führen kann, ist dabei kritischer als eine Zone 53, deren Manipulation zu keiner schwerwiegenden Gefahrensituation oder zu einer weniger schwerwiegenden Gefahrensituation führen kann. Zum Beispiel kann eine Zone 53, die Multimedia-Funktionen umfasst, weniger kritisch sein als eine Zone 51, die zum Beispiel eine Bremsfunktion umfasst. Im voranstehenden Beispiel ist die Wahrscheinlichkeit, dass durch das Ausfallen der Musik im Innenraum eines Fahrzeugs eine Gefahrensituation erzeugt wird, weniger hoch als die Wahrscheinlichkeit, dass ein Nichtfunktionieren der Bremsen eines Fahrzeugs eine Gefahrensituation hervorrufen kann. Eine Klassifizierung der Zonen 51 anhand eines Sicherheitslevels bzw. Safety-Levels bzw. der Relevanz für die Betriebssicherheit der Vorrichtung kann in jeder geeigneten Weise erfolgen. In manchen Beispielen kann die Klassifizierung durch die Automotive-Safety-Integrity-Level-(ASIL)-Klassifizierung erfolgen, wobei die Klassifizierung fünf Stufen (QM (am wenigsten kritisch), ASIL-A, ASIL-B, ASIL-C und ASIL-D (am kritischsten)) umfassen kann. Zum Beispiel kann sich die Relevanz, das heißt die Kritikalität, einer Zone für die Betriebssicherheit aus der Schwere, der Häufigkeit und/oder der Kontrollierbarkeit einer Sicherheitsgefahr in der jeweiligen Zone ableiten.
  • In manchen Beispielen können eine oder mehrere vertrauenswürdigere Zonen 51, 52 auf einer ersten Recheneinheit 21 eines Rechnersystems 100 gebildet sein und eine oder mehrere weniger vertrauenswürdige Zonen 53 auf einer zweiten Recheneinheit 22 des Rechnersystems 100 gebildet sein. 1a zeigt beispielhaft ein Rechnersystem 100, das eine erste Recheneinheit 21 und eine zweite Recheneinheit 22 aufweist. 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, 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).
  • Zum Beispiel kann eine erste vertrauenswürdige Zone 51 und eine zweite vertrauenswürdige Zone 52 auf derselben Recheneinheit 21 gebildet sein und eine dritte nicht-vertrauenswürdige Zone 53 auf der zweiten Recheneinheit 22 gebildet sein. Beispielsweise können die Zonen 51 und 52 auf Softwarebasis logisch voneinander getrennt sein. In manchen Beispielen kann die dritte Zone 53 durch deren Bildung auf einer zweiten Recheneinheit 22 physisch, d.h. örtlich von der ersten Zone 51 und/oder der zweiten Zone 52 getrennt sein.
  • In manchen Beispielen kann ein Systemmodul beispielsweise einen Prozessor 11, eine Schnittstelle 31 und/oder eine Netzwerkkomponente aufweisen. Beispielsweise können in einer Zone >=1, >=2, >=3, >=4, >=5, >=6, >= 10, >=20 oder mehr Systemmodule (z.B. Prozessoren) oder Teile davon (z.B. Rechenkerne) angeordnet sein. In 1b kann die erste Zone 51 einen Teil (z.B. zwei Rechenkerne) der mehreren Rechenkerne eines Prozessors 11 (z.B. vier Rechenkerne) umfassen und die zweite Zone 52 kann einen anderen Teil (z.B. zwei verbleibende Rechenkerne) der mehreren Rechenkerne des Prozessors 11 umfassen. In manchen Beispielen kann ein Systemmodul Schnittstellen, Bussysteme oder Teile derselben umfassen. In 1a ist beispielhaft die erste Zone 51, die eine erste Schnittstelle 31 und eine zweite Schnittstelle 32 umfasst, und die dritte Zone 53, die eine dritte Schnittstelle 33 umfasst, 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 zugeordnet ist eine erste Softwarearchitektur umfassen und ein anderes Systemmodul, das einer zweiten Zone zugeordnet ist eine zweite Softwarearchitektur umfassen. Zum Beispiel kann ein Teil eines Systemmoduls, der einer ersten Zone zugeordnet ist eine erste Softwarearchitektur umfassen und ein anderer Teil des Systemmoduls, der einer zweiten Zone zugeordnet ist eine zweite Softwarearchitektur umfassen.
  • In manchen Beispielen, wie beispielhaft in 2 gezeigt, kann jeweils zwischen zwei Zonen 51, 52 ein Speicherpuffer 41, der konfiguriert ist, von einer ersten Zone 51 lesend und von einer zweiten Zone 52 schreibend benutzt zu werden, und ein Speicherpuffer 42, der konfiguriert ist, von der ersten Zone 51 schreibend und von der zweiten Zone 52 lesend benutzt zu werden, zum Datenaustausch angeordnet sein. In manchen Beispielen kann ein Speicherpuffer 41 ein Speicherbereich in einem Speicher sein. Beispielsweise kann ein Speicherpuffer 41 ein Speicherbereich in einem Dynamic Random Access Memory (DRAM) sein oder einen anderen Speicher umfassen oder in diesem angeordnet sein. Beispielsweise können den Speicherpuffern 41 jeweils individuelle Zugriffsrechte zugewiesen sein, um den einzelnen Zonen je nach Speicherpuffer 41 zu erlauben, nur lesend oder schreibend zuzugreifen. In manchen Beispielen können den Speicherpuffern 41 jeweils individuelle Zugriffsrechte zugewiesen sein, um den einzelnen Zonen 51 je nach Speicherpuffer 41 zu erlauben, lesend und schreibend zuzugreifen. Beispielsweise kann eine Trennung (Separation) der Speicherpuffer 41 voneinander und/oder Abschirmung zueinander bzw. Zuweisung von Zugriffsrechten vorhanden sein, beispielsweise umgesetzt mittels einer Speicherschutzeinrichtung (engl. Memory Protection Unit (MPU)). Weiter kann mindestens eine Zone 51 mindestens einen eigenen zoneninternen Speicherpuffer 45, der nicht zum Datenaustausch mit anderen Zonen 51 dient, aufweisen.
  • In manchen Beispielen kann, wie in 3 gezeigt, mindestens eine Zone 51 der Mehrzahl von Zonen in mindestens zwei Subzonen 51a, 51b geteilt sein, wobei die Subzonen 51a, 51b jeweils einen Teil der einen oder der mehreren Systemmodulen der entsprechenden Zone 51 umfassen, und den Zonen und/oder Subzonen unterschiedliche Zugriffsrechte auf Systemressourcen zugewiesen sind, wobei Systemressourcen Peripherien 61, 62 und/oder Speicher 63 des Systems umfassen. Zum Beispiel kann eine Zone 51 in >=2, >=3, >=4, >=5, >=6, >= 10, >=20 oder mehr Subzonen 51a geteilt sein. Beispielsweise kann eine Zone 51 einen Prozessor mit einer Mehrzahl von Rechenkernen (z.B. vier Rechenkerne) umfassen. Ein erster Teil der Rechenkerne (z.B. zwei Rechenkerne) kann beispielsweise einer ersten Subzone 51a zugeordnet sein und die verbleibenden Rechenkerne (z.B. zwei Rechenkerne) können beispielsweise einer zweiten Subzone 51b zugeordnet sein. Beispielsweise kann auf einem Rechenkern des Prozessors, der der ersten Subzone 51a zugeordnet ist, eine erste Softwareapplikation ausgeführt werden und auf mindestens einem Rechenkern, der der zweiten Subzone 51b zugeordnet ist, eine zweite Softwareapplikation ausgeführt werden. Beispielsweise kann einer Subzone 51a gleiche Zugriffsrechte auf einen oder mehrere Speicher 63 und/oder Peripherien 61, 62 des Systems 100 zugewiesen sein, das heißt den Systemmodulen (z.B. Prozessoren) oder Teile davon (z.B. Rechenkerne), die einer gemeinsamen Subzone 51a zugeordnet sind, können die gleichen Zugriffsrechte auf Systemressourcen, die beispielsweise Speicher 63 und/oder Peripherien 61, 62 umfassen, zugewiesen sein. Zum Bespiel kann den Systemmodulen oder Teilen davon, die einer gemeinsamen Zone 51 zugeordnet sind, die gleichen Zugriffsrechte auf Systemressourcen zugewiesen sein. In manchen Beispielen können die Zugriffsrechte auf Systemressourcen auf Basis des Prinzips der geringsten Privilegien (engl. „Principle of Least Privilege (PoLP)“) zugewiesen sein. Das heißt, dass die Zonen und/oder Subzonen jeweils nur auf die Systemressourcen Zugriffsrechte haben, die sie für ihre Aufgabenerfüllung benötigen. Das heißt, dass die Systemmodule, die den Zonen und/oder Subzonen zugeordnet sind, jeweils nur auf die Systemressourcen Zugriffsrechte haben, die sie benötigen, um die jeweiligen Funktionen bereitzustellen. Beispielsweise kann das System 100 einen Domänencontroller 70 aufweisen. Mittels des Domänencontrollers 70 können in manchen Beispielen Zonen 51 in Subzonen 51a geteilt sein und/oder den Zonen 51 und/oder Subzonen 51a können Zugriffsrechte zu Peripherien 61, 62 und/oder Speichern 63 zugewiesen sein. Zum Beispiel kann in der einen Subzone 51a der mindestens zwei Subzonen 51a, 51b ein Systemmodul und/oder ein Teil eines Systemmoduls eine erste Softwarearchitektur umfassen und in der anderen Subzone 51b der mindestens zwei Subzonen 51a, 51b ein Systemmodul und/oder ein Teil eines Systemmoduls eine zweite Softwarearchitektur umfassen. Zum Beispiel kann in der einen Subzone 51a der mindestens zwei Subzonen 51a, 51b ein Systemmodul und/oder ein Teil eines Systemmoduls eine AUTOSAR-Classic-Softwarearchitektur umfassen und in der anderen Subzone 51b der mindestens zwei Subzonen 51a, 51b ein Systemmodul und/oder ein Teil eines Systemmoduls eine AUTOSAR-Adaptive-Softwarearchitektur umfassen. Zum Beispiel kann in der einen Subzone 51a der mindestens zwei Subzonen 51a, 51b ein Systemmodul und/oder ein Teil eines Systemmoduls konfiguriert sein, ein erstes Betriebssystem auszuführen und in der anderen Subzone 51b der mindestens zwei Subzonen 51a, 51b ein Systemmodul und/oder ein Teil eines Systemmoduls konfiguriert sein, ein zweites Betriebssystem (z.B. Linux) auszuführen.
  • In manchen Beispielen kann, wie in 3 gezeigt, jeweils zwischen zwei Subzonen 51a, 51b ein Speicherpuffer 42, der konfiguriert ist, von einer Subzone 51a nur lesend und von der anderen Subzone 51b lesend und schreibend benutzt zu werden, und ein Speicherpuffer 43, der konfiguriert ist, von einer Subzone 51a lesend und schreibend benutzt zu werden und von der anderen Subzone 51b nur lesend benutzt zu werden, zum Datenaustausch angeordnet sein. In manchen Beispielen kann jeweils zwischen zwei Subzonen 51a, 51b ein Speicherpuffer 42, der konfiguriert ist, von einer Subzone 51a lesend und von der anderen Subzone 51b schreibend benutzt zu werden, und ein Speicherpuffer 43, der konfiguriert ist, von einer Subzone 51a schreibend benutzt zu werden und von der anderen Subzone 51b lesend benutzt zu werden, zum Datenaustausch angeordnet sein. Beispielsweise kann ein Speicherpuffer 43 einen Dynamic Random Access Memory (DRAM) oder einen anderen Speicher umfassen oder in diesem angeordnet sein. Beispielsweise können den Speicherpuffern 43 jeweils individuelle Zugriffsrechte zugewiesen sein, um den einzelnen Subzonen 51a je nach Speicherpuffer 43 zu erlauben, nur lesend oder nur schreibend oder lesend und schreibend zuzugreifen. Beispielsweise kann eine Trennung (Separation) der Speicherpuffer 43 voneinander und/oder Abschirmung zueinander bzw. Zuweisung von Zugriffsrechten vorhanden sein, beispielsweise umgesetzt mittels einer Speicherschutzeinrichtung (engl. Memory Protection Unit (MPU)).
  • In manchen Beispielen kann ein Speicherpuffer (41, 42, 43, 44) ein Speicherbereich in einem Speicher (63) sein. Weiter kann in manchen Beispielen jedem Speicherbereich ein Deskriptor zugewiesen sein. Der Deskriptor kann die Start- und Endadresse des Speicherbereichs spezifizieren. In manchen Beispielen kann ein Deskriptor für die Zonen 51 oder Subzonen 51a aktiviert sein, denen Zugriff auf den Speicherbereich erlaubt ist, der zu dem Deskriptor korrespondiert. Beispielsweise kann der Deskriptor eine Zugriffsrichtlinie (beispielsweise eine Access Control Policy (ACP)) für jede Zone 51 und/oder Subzone 51a umfassen, die Information darüber enthält, ob und welche Art von Zugriffsrecht (beispielsweise lesend/schreibend oder lesend und schreibend) der jeweiligen Zone 51 und/oder Subzone 51a für den Speicherbereich, der zu dem Deskriptor korrespondiert, zugewiesen sind.
  • In manchen Beispielen kann eine Verifizierung und/oder Validierung von Daten bei einem Datenaustausch zwischen zwei vertrauenswürdigeren Zonen 51, 52 optional sein. In manchen Beispielen kann eine Verifizierung und/oder Validierung von Daten bei einem Datenaustausch zwischen zwei Subzonen 51a, 51b optional sein. Beispielsweise kann eine Verifizierung und/oder Validierung von Daten bei einem Datenaustausch zu einer Verlangsamung, d.h. zu einer Reduzierung der Performanz des Datenaustausches führen. In manchen Beispielen kann eine Verifizierung und/oder Validierung mit einem variablen Umfang durchgeführt werden. Beispielsweise kann eine Verifizierung und/oder Validierung von Daten eines Datenaustausches zwischen zwei vertrauenswürdigeren Zonen 51, 52 oder zwischen zwei Subzonen 51a, 51b auf Basis einer notwendigen Performanz (z.B. notwendige Zeitdauer bis zu einem (annähernd) vollständig erfolgten Datenaustausch) durchgeführt werden. Beispielsweise kann eine intensive (d.h. genaue) Verifizierung und/oder Validierung von Daten zu einer geringeren Performanz (d.h. einem langsameren Datenaustausch) führen als eine weniger intensive (d.h. weniger genaue) Verifizierung und/oder Validierung von Daten. Beispielsweise kann mittels Verifizierung/Validierung von Daten bei einem Datenaustausch zwischen zwei vertrauenswürdigeren Zonen 51, 52 oder zwischen zwei Subzonen 51a, 51b ein „Null-Vertrauen“-Ansatz (engl. Zero-Trust) umgesetzt werden.
  • In manchen Beispielen kann eine Verifizierung und/oder Validierung der Daten bei einem Datenaustausch zwischen einer vertrauenswürdigeren Zone 51 und einer weniger vertrauenswürdigen Zone 53 obligatorisch sein. Beispielsweise kann die Gefahr einer Manipulation einer weniger vertrauenswürdigen Zone 53 höher sein als einer vertrauenswürdigeren Zone 51. Eine obligatorische Verifizierung/Validierung der Daten bei einem Datenaustausch zwischen einer vertrauenswürdigeren Zone 51 und einer weniger vertrauenswürdigen Zone 53 kann obligatorisch sein, um die Gefahr einer Manipulation der vertrauenswürdigeren Zone durch eine korrumpierte weniger vertrauenswürdige Zone 53 und/oder die Weiterleitung manipulierter Daten von einer weniger vertrauenswürdigen Zone 53 zu einer vertrauenswürdigeren Zone 51 zu reduzieren. Beispielsweise kann eine Verifizierung und/oder Validierung der Daten bei einem Datenaustausch zwischen einer vertrauenswürdigeren Zone 51 und einer weniger vertrauenswürdigen Zone 53 unabhängig einer Performanz der Verifizierung und/oder Validierung durchgeführt werden.
  • In manchen Beispielen kann, wie voranstehend erwähnt, das System einen Domänencontroller 70 aufweisen, der eine Mehrzahl von Domänen enthält. Weiter kann mindestens einer Domäne mindestens eine Zone 51 und/oder Subzone 51a zugewiesen sein. Weiter kann eine Domäne gleiche Zugriffsrechte auf Systemressourcen aufweisen. Ein Domänencontroller 70 kann einen Extended Ressource Domain Controller (XRDC) umfassen. Eine Domäne kann einen logischen/physischen Bereich umfassen, der gleiche Zugriffsrechte auf Speicher 63 und/oder Peripherien 61, 62 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 („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 mit den gleichen Zugriffsrechten auf Systemressourcen (z.B. Speicher 63, Peripherie 61, 62) einer Domäne zugewiesen werden. Das heiß, in manchen Beispielen können einer Domäne Systemmodule und/oder Teile von Systemmodulen mit den gleichen Zugriffsrechten zugewiesen sein, oder einer Domäne können die Systemmodule und/oder Teile von Systemmodulen zugewiesen sein, die die gleichen Zugriffsrechte auf Systemressourcen benötigen, um die entsprechenden Funktionen bereitzustellen. Der Domänencontroller kann in manchen Beispielen konfiguriert sein, Zugriffe durch Systemmodule auf Systemressourcen zu erlauben oder zu verbieten, das heißt die Zugriffe auf Systemressourcen zu überprüfen. In manchen Beispielen kann ergänzend zu dem Domänencontroller 70 eine Speicherschutzeinheit 71 (engl. Memory Protection Unit (MPU)) in dem Rechnersystem 100 angeordnet sein und konfiguriert sein, zusätzlich zu dem Domänencontroller 71 Zugriffe auf Speicher 63 und/oder Peripherien 61, 62 zu erlauben oder zu verbieten, das heißt, zu überprüfen. Die Speicherschutzeinheit 71 kann in manchen Beispielen einen unerlaubten Zugriff einer Zone 51 und/oder Subzone 51a auf eine Systemressource, für die an die entsprechende Zone 51 oder Subzone 51a keine Zugriffsrechte zugewiesen sind, verhindern. 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.
  • In manchen Beispielen kann, wie beispielhaft in 4 gezeigt, eine Zone 51 auf einer Mehrzahl von Recheneinheiten 21, 22 gebildet sein. Weiter kann ein Datenaustausch zwischen den Recheneinheiten (21, 22) konfiguriert sein, kryptographische Verschlüsselung und/oder TLV-Strukturen zu verwenden. Beispielsweise kann ein Kommunikationskanal 60 angeordnet sein, der einen authentischen, integren, sicheren und/oder vertraulichen Datenaustausch zwischen den Recheneinheiten 21, 22 ermöglicht. In anderen Worten, kann zwischen den Recheneinheiten 21, 22 ein Kommunikationskanal 60 angeordnet sein, der Eigenschaften aufweist, die die Wahrscheinlichkeit einer Manipulation durch einen externen Eingriff, der die Funktionalität und/oder die Betriebssicherheit des Systems herabsetzt, reduzieren. Beispielsweise kann kryptographische Verschlüsselung kryptographische Netzwerkprotokolle, wie beispielsweise MACSec, IPSec, SEcOC umfassen. In manchen Beispielen kann ein Datenaustausch mittels TLV-(Typ, Länge, Wert (engl. Type, Length, Value))-Strukturen umgesetzt sein. Die TLV-Strukturen können in manchen Beispielen mit Methoden der kryptografischen Verschlüsselung kombiniert sein, beispielsweise um Authentizität und Integrität der Daten sicherzustellen. Beispielsweise können dazu TLV-Strukturen mit MAC-Tags erweitert sein. In manchen Beispielen können die TLV-Strukturen mit AE-Algorithmen (engl. „Authentic Encryption)“ bzw. mit AEAD-Algorithmen (engl. „Authentic Encryption with Associated Data“) kombiniert sein, um beispielsweise Vertraulichkeit der Daten sicherzustellen.
  • In manchen Beispielen können Systemmodule oder Teile von Systemmodulen der Mehrzahl von Systemmodulen, die keiner Zone 51 zugeordnet sind, einer Domäne, die keine Zugriffsrechte auf Systemressourcen aufweist, zugeordnet sein. Beispielsweise kann ein Zusammenfassen der Systemmodule (z.B. Prozessoren) oder Teile davon (z.B. einzelne Rechenkerne), die in dem System nicht benötigt werden, in einer Domäne dazu dienen, die Möglichkeiten zur Manipulation mittels eines externen Eingriffs zu reduzieren. Zum Beispiel kann der Domäne, der die Systemmodule oder Teile davon zugeordnet sind, keine Zugriffsrechte auf Systemressourcen (zum Beispiel Speicher 63 und/oder Peripherie 61, 62) zugewiesen werden. Beispielsweise kann ein Zusammenfassen der Systemmodule oder Teile davon, die in dem System nicht benötigt werden, in einer Domäne dazu dienen, die entsprechenden Systemmodule von Systemmodulen, die einer Zone zugeordnet sind, der Zugriffsrechte auf Systemressourcen zugewiesen sind, zu trennen.
  • 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 Verfahren zur Verwendung von Funktionen, die durch ein Rechnersystem 100 bereitgestellt werden. Das Verfahren kann Verwenden einer ersten Funktion, die kritischer für die Betriebssicherheit der Vorrichtung ist, wobei die erste Funktion durch ein Systemmodul einer vertrauenswürdigeren Zone bereitgestellt wird, durch einen Benutzer, umfassen. Weiter kann das Verfahren Verwenden einer zweiten Funktion, die weniger kritisch für die Betriebssicherheit für die Vorrichtung ist, wobei die zweite Funktion durch ein Systemmodul einer weniger vertrauenswürdigen Zone bereitgestellt wird, durch einen Benutzer, umfassen. Beispielsweise kann ein Benutzer eine Bremsfunktion, die kritisch für die Betriebssicherheit ist, in einem Fahrzeug verwenden, wobei die Bremsfunktion beispielsweise von einem Systemmodul bereitgestellt wird, das einer vertrauenswürdigen Zone zugeordnet ist. Beispielsweise kann ein Benutzer eine Multimediafunktion, die nur wenig kritisch für die Betriebssicherheit ist, in einem Fahrzeug verwenden, wobei die Multimediafunktion beispielsweise von einem Systemmodul bereitgestellt wird, das einer nicht-vertrauenswürdigen Zone zugeordnet ist.
  • Offenbart wird weiterhin ein computerimplementiertes Verfahren 200 zur Durchsetzung einer Zonenseparation in einem Rechnersystem 100 zur Bereitstellung einer Mehrzahl von Funktion für eine Vorrichtung, insbesondere für ein Fahrzeug, wobei das Rechnersystem 100 eine Mehrzahl von Systemmodulen und eine Mehrzahl von Systemressourcen aufweist und die Mehrzahl von Systemmodulen Funktionen ausführen, die für die Betriebssicherheit der Vorrichtung unterschiedlich kritisch sind. Das Verfahren ist beispielhaft in 5 gezeigt. Das Verfahren kann Zuweisen 210 jedes Systemmoduls oder eines Teils eines Systemmoduls der Mehrzahl von Systemmodulen an eine Zone 51, 52, 53 der Mehrzahl von Zonen umfassen. Eine erste Zone 51, 52 ist dabei vertrauenswürdiger als eine zweite, weniger vertrauenswürdige Zone 53, wobei die Gefahr einer Manipulation einer vertrauenswürdigeren Zone 51, 52 geringer ist als einer weniger vertrauenswürdigen Zone 53. Eine Manipulation kann dabei einen externen Eingriff, der die Betriebssicherheit reduziert, umfassen. Weiter wird eine erste kritischere Funktion der Mehrzahl von Funktionen durch ein Systemmodul der ersten Zone bereitgestellt und eine weniger kritische Funktion der Mehrzahl von Funktionen durch ein Systemmodul der zweiten Zone bereitgestellt. Das Verfahren kann weiterhin Teilen 220 mindestens einer Zone 51 der Mehrzahl von Zonen in mindestens zwei Subzonen 51a, 51b umfassen. Das Verfahren kann weiterhin Zuweisen 230 jeweils eines Teils der einen oder mehreren Systemmodule der entsprechenden Zone 51 an die Subzonen 51a, 51b umfassen. Das Verfahren kann weiterhin Zuweisen 240 von Zugriffsrechten auf Systemressourcen an die Zonen 51, 52, 53 und/oder Subzonen 51a, 51b, wobei Systemressourcen Peripherien und/oder Speicher des Systems umfassen, umfassen. Das Verfahren kann in manchen Beispielen von dem Rechnersystem 100 ausgeführt werden. In manchen Beispielen kann das Verfahren zur Durchsetzung einer Zonenseparation von einem anderen Computersystem ausgeführt werden.
  • In manchen Beispielen kann ein Computerprogramm das computerimplementierte Verfahren zur Zonenseparation ausführen. Weiter kann in manchen Beispielen ein computerlesbares Medium oder Signal das Computerprogramm, das das computerimplementierte Verfahren zur Zonenseparation ausführt, oder einen Teil davon speichern und/oder enthalten. Das Medium kann zum Beispiel eines von RAM, ROM, EPROM, HDD, SDD, ... umfassen, auf/in dem das Signal gespeichert wird.

Claims (15)

  1. Rechnersystem (100) zur Bereitstellung einer Mehrzahl von Funktionen für eine Vorrichtung, insbesondere für ein Fahrzeug, 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 jedes Systemmodul oder ein Teil eines Systemmoduls der Mehrzahl von Systemmodulen einer Zone (51, 52, 53) einer Mehrzahl von Zonen zugeordnet ist, wobei eine Zone eine logisch und/oder physisch abgrenzbare Einheit in dem Rechnersystem (100) ist, wobei eine erste Zone (51, 52) der Mehrzahl von Zonen vertrauenswürdiger ist als eine zweite, weniger vertrauenswürdige Zone (53) der Mehrzahl von Zonen, wobei die Gefahr einer Manipulation einer vertrauenswürdigeren Zone (51, 52) geringer ist als einer weniger vertrauenswürdigen Zone (53), und wobei eine erste kritischere Funktion der Mehrzahl von Funktionen durch ein Systemmodul der ersten Zone (51) bereitgestellt ist und eine weniger kritische Funktion der Mehrzahl von Funktionen durch ein Systemmodul der zweiten Zone (53) bereitgestellt ist.
  2. Rechnersystem (100) gemäß Anspruch 1, wobei eine oder mehrere vertrauenswürdigere Zonen (51, 52) auf einer ersten Recheneinheit (21) des Rechnersystems (100) gebildet sind und eine oder mehrere weniger vertrauenswürdige Zonen (53) auf einer zweiten Recheneinheit (22) des Rechnersystems (100) gebildet sind.
  3. Rechnersystem (100) gemäß Anspruch 1 oder 2, wobei ein Systemmodul einen Prozessor (11), eine Schnittstelle (31) und/oder eine Netzwerkkomponente aufweist.
  4. Rechnersystem (100) gemäß einem der vorhergehenden Ansprüche, wobei jeweils zwischen zwei Zonen (51, 52) ein Speicherpuffer (41), der konfiguriert ist, von einer ersten Zone (51) nur lesend und von einer zweiten Zone (52) nur schreibend benutzt zu werden, und ein Speicherpuffer (42), der konfiguriert ist, von der ersten Zone (51) nur schreibend und von der zweiten Zone (52) nur lesend benutzt zu werden, zum Datenaustausch angeordnet sind.
  5. Rechnersystem (100) gemäß einem der vorhergehenden Ansprüche, wobei mindestens eine Zone (52) mindestens einen eigenen zoneninternen Speicherpuffer (45) aufweist, der nicht zum Datenaustausch mit anderen Zonen dient.
  6. Rechnersystem (100) gemäß einem der vorhergehenden Ansprüche, wobei mindestens eine Zone (51) der Mehrzahl von Zonen in mindestens zwei Subzonen (51a, 51b)) geteilt ist, wobei die Subzonen (51a, 51b) jeweils einen Teil der einen oder der mehreren Systemmodulen der entsprechenden Zone umfassen, und den Zonen (51) und/oder Subzonen (51a, 51b) unterschiedliche Zugriffsrechte auf Systemressourcen zugewiesen sind, wobei Systemressourcen Peripherien (61, 62) und/oder Speicher (63) des Systems (100) umfassen.
  7. Rechnersystem (100) gemäß Anspruch 6, wobei in einer Subzone (51a) der mindestens zwei Subzonen (51a, 51b) ein Systemmodul und/oder ein Teil eines Systemmoduls eine erste Softwarearchitektur umfasst und in einer anderen Subzone (51b) der mindestens zwei Subzonen (51a, 51b) ein Systemmodul und/oder ein Teil eines Systemmoduls eine zweite Softwarearchitektur umfasst.
  8. Rechnersystem (100) gemäß Anspruch 6 oder 7, wobei jeweils zwischen zwei Subzonen (51a, 51b) ein erster Speicherpuffer (43), der konfiguriert ist, von einer Subzone (51a) nur lesend und von der anderen Subzone (51b) lesend und schreibend benutzt zu werden, und ein zweiter Speicherpuffer (44), der konfiguriert ist, von einer Subzone (51a) lesend und schreibend benutzt zu werden und von der anderen Subzone (51b) nur lesend benutzt zu werden, zum Datenaustausch angeordnet sind.
  9. Rechnersystem (100) gemäß einem der Ansprüche 4, 5 und 8, wobei ein Speicherpuffer (41, 42, 43, 44) ein Speicherbereich in einem Speicher (63) ist und jedem Speicherbereich ein Deskriptor zugewiesen ist und wobei ein Deskriptor für die Zonen (51) oder Subzonen (51a) aktiviert ist, denen Zugriff auf den Speicherbereich erlaubt ist, der zu dem Deskriptor korrespondiert.
  10. Rechnersystem (100) gemäß einem der Ansprüche 6 bis 11, wobei das Rechnersystem (100) einen Domänencontroller (70) aufweist, der eine Mehrzahl von Domänen enthält und wobei mindestens einer Domäne mindestens eine Zone (52) und/oder Subzone (51a) zugewiesen ist, und eine Domäne gleiche Zugriffsrechte auf Systemressourcen aufweist.
  11. Rechnersystem (100) gemäß einem der vorhergehenden Ansprüche, wobei eine Verifizierung und/oder Validierung der Daten bei einem Datenaustausch zwischen einer vertrauenswürdigeren Zone (52) und einer weniger vertrauenswürdigen Zone (53) obligatorisch ist.
  12. Rechnersystem (100) gemäß einem der vorhergehenden Ansprüche, wobei eine Zone (51) auf einer Mehrzahl von Recheneinheiten (21, 22) des Rechnersystems (100) gebildet ist und wobei ein Datenaustausch zwischen den Recheneinheiten (21, 22) konfiguriert ist, kryptographische Verschlüsselung und/oder TLV-Strukturen zu verwenden.
  13. Rechnersystem (100) gemäß einem der vorhergehenden Ansprüche, wobei das Rechnersystem (100) in einem Fahrzeug angeordnet ist und und/oder wobei die Mehrzahl von Funktionen Funktionen zum autonomen und/oder assistierten Fahren sind.
  14. Verfahren zur Verwendung von Funktionen, die durch ein Rechnersystem (100) gemäß einem der vorhergehenden Ansprüche bereitgestellt werden, umfassend Verwenden einer ersten Funktion, die kritischer für die Betriebssicherheit der Vorrichtung ist, wobei die erste Funktion durch ein Systemmodul einer vertrauenswürdigeren Zone (51) bereitgestellt wird, Verwenden einer zweiten Funktion, die weniger kritisch für die Betriebssicherheit der Vorrichtung ist, wobei die zweite Funktion durch ein Systemmodul einer weniger vertrauenswürdigen Zone (53) bereitgestellt wird.
  15. Computerimplementiertes Verfahren (200) zur Durchsetzung einer Zonenseparation in einem Rechnersystem (100) zur Bereitstellung einer Mehrzahl von Funktion für eine Vorrichtung, insbesondere für ein Fahrzeug, wobei das Rechnersystem eine Mehrzahl von Systemmodulen und eine Mehrzahl von Systemressourcen aufweist und die Mehrzahl von Systemmodulen Funktionen ausführen, die für die Betriebssicherheit der Vorrichtung unterschiedlich kritisch sind, umfassend Zuweisen (210) jedes Systemmoduls oder eines Teils eines Systemmoduls der Mehrzahl von Systemmodulen an eine Zone (51, 52, 53) der Mehrzahl von Zonen, wobei eine erste Zone (51, 52) vertrauenswürdiger ist als eine zweite, weniger vertrauenswürdige Zone (53), wobei die Gefahr einer Manipulation einer vertrauenswürdigeren Zone (51, 52) geringer ist als einer weniger vertrauenswürdigen Zone (53), und eine erste kritischere Funktion der Mehrzahl von Funktionen durch ein Systemmodul der ersten Zone (51) bereitgestellt wird und eine weniger kritische Funktion der Mehrzahl von Funktionen durch ein Systemmodul der zweiten Zone (53) bereitgestellt wird; Teilen (220) mindestens einer Zone (51) der Mehrzahl von Zonen in mindestens zwei Subzonen (51a, 51b); Zuweisen (230) jeweils eines Teils der einen oder mehreren Systemmodule der entsprechenden Zone an die Subzonen (51a, 51b); und Zuweisen (240) von Zugriffsrechten auf die Systemressourcen an die Zonen und/oder Subzonen, wobei Systemressourcen Peripherien und/oder Speicher des Systems umfassen.
DE102022204714.1A 2022-05-13 2022-05-13 System zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug Pending DE102022204714A1 (de)

Priority Applications (3)

Application Number Priority Date Filing Date Title
DE102022204714.1A DE102022204714A1 (de) 2022-05-13 2022-05-13 System zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug
US18/304,070 US20230367910A1 (en) 2022-05-13 2023-04-20 System for providing a plurality of functions for a device, in particular for a vehicle
CN202310540085.1A CN117061543A (zh) 2022-05-13 2023-05-12 用于为设备、尤其是为运输工具提供多个功能的系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE102022204714.1A DE102022204714A1 (de) 2022-05-13 2022-05-13 System zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug

Publications (1)

Publication Number Publication Date
DE102022204714A1 true DE102022204714A1 (de) 2023-11-16

Family

ID=88510605

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102022204714.1A Pending DE102022204714A1 (de) 2022-05-13 2022-05-13 System zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug

Country Status (3)

Country Link
US (1) US20230367910A1 (de)
CN (1) CN117061543A (de)
DE (1) DE102022204714A1 (de)

Also Published As

Publication number Publication date
CN117061543A (zh) 2023-11-14
US20230367910A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
DE10392320B4 (de) Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems
DE102020125599A1 (de) Vertrauenswürdige lokale speicherverwaltung in einer virtualisierten gpu
DE10195999B3 (de) Computersystem mit einer in einem Chipsatz enthaltenen Speichersteuereinrichtung zum Kontrollieren von Zugriffen auf einen isolierten Speicher für eine isolierte Ausführung
DE102011082184A1 (de) Sicherheitsschutz für Speicherinhalt von Prozessorhauptspeicher
DE102013022405B3 (de) Schutz globaler Register in einem Multithreaded-Prozessor
EP2807558B1 (de) Speichercontroller zur bereitstellung mehrerer definierter bereiche eines massenspeichermediums als unabhängige massenspeicher an einen master-betriebssystem-kern zur exklusiven bereitstellung an virutelle maschinen
DE102015002191A1 (de) Sicherheits-Hypervisor-Funktion
DE102016106871A1 (de) Steuervorrichtung und Verfahren zum Sichern von Daten
DE112020003881T5 (de) System und verfahren zur durchführung von trusted computing mit fernbescheinigung und informationsisolierung auf heterogenen prozessoren über eine offene verbindung
WO2021122734A1 (de) Verfahren und vorrichtung zum betreiben einer recheneinrichtung
DE102012017339B4 (de) Rechnersystem
EP3655876B1 (de) Ein-chip-system, verfahren zum betrieb eines ein-chip-systems und kraftfahrzeug
DE102022204716A1 (de) Rechnersystem zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug, mittels separation einer mehrzahl von zonen
DE102022204714A1 (de) System zur bereitstellung einer mehrzahl von funktionen für eine vorrichtung, insbesondere für ein fahrzeug
WO2016162144A1 (de) Verwaltung von schnittstellen in einem verteilten system
DE102013016114B3 (de) Bussystem und Verfahren für geschützte Speicherzugriffe
WO2003027815A2 (de) Programmgesteuerte einheit
DE102012216599B4 (de) Verfahren und System zur sichere Verwaltung von Datenspeichern mithilfe eines Datenträgermanagers
DE112015004459T5 (de) Umsetzen einer Autorisierungsmodellverarbeitung mit Blockeinheitenbereichsgranularität in Capi-Adaptern
DE102021201236A1 (de) Verfahren zum Authentifizieren einer Nachricht einer Recheneinheit, Recheneinheit, Computerprogramm und Fahrzeug
WO2024056489A1 (de) Erkennung von externen eingriffen in einem rechnersystem mit zonenseparation für eine vorrichtung, insbesondere für ein fahrzeug
DE102022209779A1 (de) Mitigation von manipulationen in einem rechnersystem mit zonenseparation für eine vorrichtung, insbesondere für ein fahrzeug
DE102022206744B3 (de) Ressourcenschutz
DE102022202335A1 (de) Computerimplementiertes verfahren zur speicheroptimierung eines partitionierten systems
DE102021130898A1 (de) Elektronische steuerungseinheit, softwareaktualisierungsverfahren, softwareaktualisierungsprogramm und elektronisches steuerungssystem