DE102017124399A1 - Hardware-sicherheit für eine elektronische steuereinheit - Google Patents

Hardware-sicherheit für eine elektronische steuereinheit Download PDF

Info

Publication number
DE102017124399A1
DE102017124399A1 DE102017124399.2A DE102017124399A DE102017124399A1 DE 102017124399 A1 DE102017124399 A1 DE 102017124399A1 DE 102017124399 A DE102017124399 A DE 102017124399A DE 102017124399 A1 DE102017124399 A1 DE 102017124399A1
Authority
DE
Germany
Prior art keywords
hardware
control unit
data
encryption
decryption
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.)
Withdrawn
Application number
DE102017124399.2A
Other languages
English (en)
Inventor
Francisco FONS
Mariano FONS
Jose Gabriel Fernández-Bañares
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.)
Lear Corp
Original Assignee
Lear Corp
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 Lear Corp filed Critical Lear Corp
Publication of DE102017124399A1 publication Critical patent/DE102017124399A1/de
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B19/00Programme-control systems
    • G05B19/02Programme-control systems electric
    • G05B19/04Programme control other than numerical control, i.e. in sequence controllers or logic controllers
    • G05B19/05Programmable logic controllers, e.g. simulating logic interconnections of signals according to ladder diagrams or function charts
    • G05B19/054Input/output
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
    • H04L9/16Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/10Plc systems
    • G05B2219/11Plc I-O input output
    • G05B2219/1103Special, intelligent I-O processor, also plc can only access via processor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/84Vehicles

Abstract

Es wird eine elektronische Steuereinheit (ECU) beschrieben, die enthält: einen Speicher für das Speichern von verschlüsselten Daten und unverschlüsselten Daten; eine Hauptsteuereinheit, die operativ mit dem Speicher verbunden ist, um auf unverschlüsselte Daten zuzugreifen; und eine Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung, die operativ mit dem Speicher verbunden ist, um auf verschlüsselte/entschlüsselte Daten für eine Entschlüsselung unter Verwendung eines Hardwarealgorithmus und eine Verschlüsselung unter Verwendung eines Hardwarealgorithmus zuzugreifen. Daten in dem Speicher werden durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung unter Verwendung des Hardwarealgorithmus entschlüsselt und in dem Speicher für die Verwendung durch die Hauptsteuereinheit gespeichert. Daten in dem Speicher werden durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung unter Verwendung des Hardwarealgorithmus für die Speicherung in dem Speicher verschlüsselt. Die Hauptsteuereinheit und die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung sind separate integrierte Schaltungen auf einem einzelnen Substrat oder SOC, die durch einen Bus verbunden sind und Daten parallel verarbeiten können. Ein externer Bus kann verschlüsselte Informationen mit der ECU kommunizieren, um eine Verschlüsselung/Entschlüsselung in Laufzeit (on-the-fly) und mit Drahtgeschwindigkeit zu ermöglichen.

Description

  • TECHNISCHES FELD
  • Die Erfindung betrifft allgemein Hardware-basierte Sicherheitssysteme zum Sichern einer elektronischen Einrichtung und insbesondere ein Hardware-Sicherheitssystem für eine elektronische Einrichtung, eine mobile Einrichtung oder ein Kraftfahrzeug.
  • HINTERGRUND
  • Fahrzeuge enthalten verschiedene Steuermodule, die Prozessoren enthalten, die Befehle zum Steuern von verschiedenen Aspekten des Fahrzeugs wie etwa des Verbrennungsmotors, von Infotainment-Einrichtungen, des Elektromotors, der Antriebsbatterie, der Fahrgestellsteuerung, der Bremsen, der Übersetzung, der Klimaanlagensteuerung usw. ausführen. Fahrzeuge sind zunehmend mit Kommunikationsnetzen verbunden. Deshalb besteht eine verstärkte Gefahr für das Herunterladen von bösartigen Softwarebefehlen in die Steuermodule. Weil Fahrzeuge zunehmend digital mit externen Recheneinrichtungen verbunden sind, ist die Gefahr eines Angriffs größer. Beispiele für derartige Angriffe sind Angriffe, die eine Fahrzeugelektronik und/oder Softwaresysteme infiltrieren und Steuermodule umprogrammieren.
  • Es kann eine Authentifizierung einer Daten durchgeführt werden, um die Quelle und/oder den Inhalt der Datei vor der Ausführung zu validieren. Eine Authentifizierung wird durchgeführt, um ein Herunterladen und/oder Ausführen einer bösartigen Datei zu verhindern und/oder das bösartige und/oder unautorisierte Verändern einer Datei zu verhindern. Das Ausführen einer nicht-validierten Datei kann ein unerwünschtes Verhalten des Fahrzeugsystems, eine verkürzte Lebensdauer von Fahrzeugkomponenten, einen Ausfall von Diebstahlsicherungsfunktionen, eine mögliche Manipulation von Fahrzeugkomponenten, eine Veränderung von Fahrzeugdateien und/oder einen Verlust bzw. Ausfall von Fahrzeugmerkmalen und/oder Funktionen zur Folge haben. Das Ausführen einer nicht-validierten Datei kann auch zur Folge haben, dass eine Fahrzeuggarantie nicht in Anspruch genommen werden kann, das Fahrzeug nicht wie erwarte betrieben wird oder Fahrzeugdaten korrumpiert werden. Deshalb ist eine Sicherheit für die Software in elektronischen Einrichtungen erforderlich.
  • Die hier gegebene Beschreibung des technischen Hintergrunds soll den allgemeinen Kontext der Erfindung verdeutlichen. Arbeiten der genannten Erfinder, soweit diese hier im Abschnitt „Hintergrund“ beschrieben werden, und auch Aspekte der Beschreibung, die ansonsten nicht als Stand der Technik zum Zeitpunkt der Einreichung gelten können, werden weder ausdrücklich noch stillschweigend als Stand der Technik für die vorliegende Erfindung anerkannt.
  • ZUSAMMENFASSUNG
  • Es wird eine elektronische Fahrzeug-Steuereinheit beschrieben, die einen Hauptprozessor zum Durchführen von der Steuereinheit zugewiesenen Aufgaben und einen Sicherheitsprozessor zum Entschlüsseln und Verschlüsseln von durch den Hauptprozessor verwendeten Daten enthält. Es ist ein Speicher zum Speichern von Fahrzeugdaten, die durch den Hauptprozessor verwendet und durch den Sicherheitsprozessor verarbeitet werden, vorgesehen. Der Sicherheitsprozessor enthält programmierbare Hardware, die konfiguriert ist, um Daten von dem Speicher für die Verwendung durch den Hauptprozessor zu verschlüsseln und zu entschlüsseln. Die programmierbare Hardware kann einen feldprogrammierbaren Schaltungsaufbau enthalten. Ein Substrat definiert einen Bus, der den Hauptprozessor, den Speicher und den Sicherheitsprozessor verbindet und den Hauptprozessor, den Speicher und den Sicherheitsprozessor hält. In einem Beispiel ist ein Kommunikationskanal oder eine externe Datenverbindung verfügbar, über den bzw. die Daten in und aus dem System oder in und aus der mobilen Einrichtung, die zum Beispiel ein Fahrzeug oder eine mobile elektronische Einrichtung ist, gehen können.
  • In einem Beispiel enthält der Sicherheitsprozessor eine Vielzahl von IP-Kernen, die einen umkonfigurierbaren Schaltungsaufbau aufweisen, wobei jedem IP-Kern eine Aufgabe für die Verschlüsselung oder Entschlüsselung zugewiesen ist.
  • In einem Beispiel enthält wenigstens einer der IP-Kerne einen Schaltungsaufbau, der für das Dekomprimieren von Daten konfiguriert ist, und enthält wenigstens einer der IP-Kerne einen Schaltungsaufbau, der für das Komprimieren von Daten konfiguriert ist.
  • In einem Beispiel werden die IP-Kerne als Zustandsmaschinen wie z.B. Finitzustandsmaschinen, die parallel zu dem Hauptprozessor ausgeführt werden, betrieben.
  • In einem Beispiel kann der Sicherheitsprozessor für ein neues Verschlüsselungsschema oder ein neues Entschlüsselungsschema konfiguriert werden, in dem die Hardware umkonfiguriert wird. Der Sicherheitsprozessor kann auch für ein neues oder aktualisiertes Kompressions-/Dekompressionsschema konfiguriert werden, indem die Hardware umkonfiguriert wird. Der Sicherheitsprozessor kann auch für ein neues oder aktualisiertes Authentifizierungsschema konfiguriert werden, indem die Hardware umkonfiguriert wird. Der Sicherheitsprozessor kann teilweise oder vollständig umkonfiguriert werden. Die Umkonfiguration kann während der Laufzeit des Hauptprozessors oder des Sicherheitsprozessors stattfinden. In einem Beispiel kann die Umkonfiguration stattfinden, während der Hauptprozessor offline ist und also keine Verarbeitung durchführt oder während das Fahrzeug ausgeschaltet ist.
  • In einem Beispiel ist wenigstens einer der IP-Kerne konfiguriert, um Sicherheitsgegenmaßnahmen z.B. gegen Seitenkanalangriffe auf die Fahrzeug-Steuereinheit, einen Schaltungsaufbau, Prozessoren oder ähnliches vorzusehen. Die Sicherheitsgegenmaßnahmen können während der Laufzeit anderer IP-Kerne oder des Hauptprozessors ausgeführt werden.
  • In einem Beispiel erfasst der IP-Kern für Sicherheitsgegenmaßnahmen den durch den Hauptprozessor und den Sicherheitsprozessor gezogenen Strom und verbraucht Strom, um einen im Wesentlichen konstanten Strom an dem Substrat aufrechtzuerhalten, wodurch ein Erfassen des Betriebs des Sicherheitsprozessors und des Hauptprozessors vereitelt wird.
  • In einem Beispiel zieht der IP-Kern für Sicherheitsgegenmaßnahmen Strom mit einem zufälligen Muster, um Ströme zu und von dem Hauptprozessor und dem Sicherheitsprozessor zu maskieren.
  • In einem Beispiel gibt der IP-Kern für Sicherheitsgegenmaßnahmen eine zufällige elektromagnetische Strahlung aus, um den Betrieb des Hauptprozessors und des Sicherheitsprozessors zu maskieren.
  • In einem Beispiel gibt der IP-Kern für Sicherheitsgegenmaßnahmen akustische Signale oder Informationen aus, um den Betrieb des Hauptprozessors und des Sicherheitsprozessors zu maskieren.
  • In einem Beispiel nimmt der Hauptprozessor an einer Fahrzeug-zu-Fahrzeug-Kommunikation mit zahlreichen Verbindungen teil, die eine Verzögerung verursachen, die einen Verbindungsfehler wenigstens einer der Verbindungen zur Folge hat, und ist wenigstens einer der IP-Kerne konfiguriert, um die Fahrzeug-zu-Fahrzeug-Kommunikation parallel zu dem Hauptprozessor zu authentifizieren.
  • In einem Beispiel empfängt die Hauptsteuereinrichtung einen Befehl dazu, dass ein kryptografischer Code gefährdet ist, wobei die Hauptsteuereinrichtung in einen sicheren Modus eintritt, in dem keine kritischen Operationen von empfangenen Daten erlaubt sind, bis eine spezifische sichere Verbindung hergestellt wird und der kryptografische Code in dem Sicherheitsschaltungsaufbau aktualisiert wird.
  • In einem Beispiel sendet die Hauptsteuereinrichtung nach einer Bestätigung einer erfolgreichen Aktualisierung von Verschlüsselungs-/Entschlüsselungsalgorithmen durch den Sicherheitsprozessor die gleiche Hardwarealgorithmusaktualisierung zu einer zweiten elektronischen Steuereinheit in einem Fahrzeug, sodass der Hardware-Verschlüsselungs-/Entschlüsselungsalgorithmus auch in der zweiten elektronischen Steuereinheit aktualisiert wird.
  • In einem Beispiel enthält eine elektronische Steuereinheit wie etwa eine elektronische Steuereinheit für ein Fahrzeug in einem nicht-einschränkenden Beispiel: einen Speicher zum Speichern von verschlüsselten Daten und unverschlüsselten Daten; eine Hauptsteuereinheit, die operativ mit dem Speicher verbunden ist, um auf unverschlüsselte Daten zuzugreifen; und eine Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung, die operativ mit dem Speicher verbunden ist, um auf verschlüsselte Daten für eine Entschlüsselung unter Verwendung eines Hardwarealgorithmus zuzugreifen und um auf entschlüsselte Daten für eine Verschlüsselung unter Verwendung des Hardwarealgorithmus zuzugreifen. In einem Beispiel werden Daten in dem Speicher durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung unter Verwendung des Hardwarealgorithmus entschlüsselt und in dem Speicher für die Verwendung durch die Hauptsteuereinheit gespeichert. In einem Beispiel werden Daten in dem Speicher durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung unter Verwendung des Hardwarealgorithmus verschlüsselt, um in dem Speicher durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung gespeichert zu werden. In einem Beispiel sind die Hauptsteuereinheit und die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung separate integrierte Schaltungen auf einem einzelnen Substrat, wobei ein Bus den Speicher mit der Hauptsteuereinheit und der Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung verbindet, und verarbeiten Daten parallel.
  • In einem Beispiel kann die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung Daten, die von einem externen Kommunikationskanal, der mit der elektronischen Steuereinrichtung verbunden ist, empfangen und die Daten on-the-fly verschlüsseln/entschlüsseln. Die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung speichert die verarbeiteten Daten im Speicher oder sendet die verarbeiteten Daten über einen externen Kommunikationskanal an eine externe Einrichtung.
  • In einem Beispiel empfängt die Hauptsteuereinheit eine Hardwarealgorithmusaktualisierung in einer komprimierten, verschlüsselten Datendatei und sendet die Hardwarealgorithmusaktualisierung an den Speicher und dekomprimiert und entschlüsselt die feldkomprimierbare Einrichtung die Hardwarealgorithmusaktualisierung. Dabei verwendet die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung die entschlüsselte Hardwareaktualisierung, um den Hardwarealgorithmus in der Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung zu aktualisieren, während die Hauptsteuereinheit andere Softwareaufgaben verarbeitet.
  • In einem Beispiel enthält die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine feldprogrammierbare Einrichtung oder eine programmierbare Logik.
  • In einem Beispiel enthält die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung ein feldprogrammierbares Gate-Array.
  • In einem Beispiel empfängt die Hauptsteuereinheit eine Aktualisierung für den Hardwarealgorithmus in dem feldprogrammierbaren Gate-Array.
  • In einem Beispiel ist die Aktualisierung ein neuer Kryptografiealgorithmus in Laufzeit.
  • In einem Beispiel enthält die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen, wobei die Aktualisierung wenigstens einen der IP-Kerne löscht und einen neuen Hardwarealgorithmus installiert.
  • In einem Beispiel enthält die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen, wobei die Aktualisierung einen weiteren IP-Kern zu dem Hardwarealgorithmus hinzufügt.
  • In einem Beispiel enthält die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen, wobei die Aktualisierung eine spezifische Verarbeitung eines IP-Kerns in Laufzeit ändert.
  • In einem Beispiel enthält die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen, wobei die Aktualisierung einen IP-Kern aus dem Hardwarealgorithmus entfernt.
  • In einem Beispiel empfängt die Hauptsteuereinheit eine Hardwarealgorithmusaktualisierung in einer komprimierten, verschlüsselten Datendatei und sendet die Hardwarealgorithmusaktualisierung an den Speicher und entschlüsselt das feldprogrammierbare Gate-Array die Hardwarealgorithmusaktualisierung. Dabei verwendet die Hauptsteuereinheit die entschlüsselte Hardwareaktualisierung, um den Hardwarealgorithmus in der Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung zu aktualisieren.
  • Figurenliste
  • Vorstehend wurden verschiedene Ausführungsformen der Erfindung umrissen, wobei die verschiedenen Ausführungsformen durch die folgende Beschreibung mit Bezug auf die beigefügten Zeichnungen verdeutlicht werden.
    • 1 ist eine schematische Ansicht eines Fahrzeugs gemäß einer beispielhaften Ausführungsform.
    • 2 ist eine Ansicht einer elektronischen Steuereinheit gemäß einer beispielhaften Ausführungsform.
    • 3 ist eine Ansicht einer elektronischen Steuereinheit gemäß einer beispielhaften Ausführungsform.
    • 4 zeigt ein Verarbeitungsverfahren gemäß einer beispielhaften Ausführungsform.
    • 5 zeigt ein Verarbeitungsverfahren gemäß einer beispielhaften Ausführungsform.
    • 6 zeigt ein Verarbeitungsverfahren gemäß einer beispielhaften Ausführungsform.
    • 7 zeigt ein Verarbeitungsverfahren gemäß einer beispielhaften Ausführungsform.
    • 8 ist eine schematische Ansicht einer Steuereinheit gemäß einer beispielhaften Ausführungsform.
    • 9 zeigt ein Verarbeitungsverfahren gemäß einer beispielhaften Ausführungsform.
    • 10 zeigt ein Verarbeitungsverfahren gemäß einer beispielhaften Ausführungsform.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Im Folgenden werden Ausführungsformen der vorliegenden Erfindung ausführlich beschrieben, wobei jedoch zu beachten ist, dass die hier beschriebenen Ausführungsformen lediglich beispielhaft für die Erfindung sind, die auch durch verschiedene alternative Ausführungsformen verkörpert werden kann. Die Figuren sind nicht notwendigerweise maßstabsgetreu, wobei einige Merkmale vergrößert oder verkleinert sein können, um Details bestimmter Komponenten zu verdeutlichen. Deshalb sind die hier gezeigten spezifischen Details des Aufbaus und der Funktion nicht einschränkend aufzufassen, sondern lediglich als repräsentative Basis für den Fachmann, der die vorliegende Erfindung umsetzen möchte.
  • Mobile elektronische Einrichtungen wie zum Beispiel Fahrzeuge nutzen zunehmend Datenverbindungen zu zum Beispiel Cloud-Recheninfrastrukturen und mobilen Kommunikationsinfrastrukturen, sodass ein vergrößertes Risiko für bösartige Cyberangriffe auf die elektronischen Einrichtungen besteht. Fahrzeuge haben unter Umständen eine längere Lebensdauer als andere elektronische Einrichtungen wie etwa Mobiltelefone, Tablets oder ähnliches, sodass sie für später entwickelte Angriffe anfällig sind. Fahrzeuge benötigen stabile und nachhaltig langfristige (für z.B. zehn Jahre oder mehr) Cybersicherheitslösungen, um die Sicherheit von verbundenen Fahrzeugen und automatisierten Fahrzeugen zu gewährleisten. Mobile elektronische Einrichtungen können die hier beschriebenen Verfahren und Aufbauten verwenden, um eine Sicherheit gegenüber zukünftigen Angriffen wahrscheinlicher zu machen. In der Kraftfahrzeugbranche kann die vorliegende Erfindung sehr flexible, aus der Entfernung umkonfigurierbare und modulare Lösungen in eingebetteten Anwendungen für Kraftfahrzeuge vorsehen. In einem Beispiel können sich viele der derzeit entworfenen Fahrzeuge auch in zwanzig Jahren noch auf der Straße befinden, wobei anzunehmen ist, dass zu diesem Zeitpunkt Quantencomputer und hochentwickelte Angriffswerkzeuge entwickelt werden. Die Implementierung einer sehr flexiblen, modularen und aktualisierbaren Sicherheitslösung auf einer programmierbaren Logik ist ein Schema, wobei z.B. System-on-Chip („SOC“)-Einrichtungen, ARM-Kernprozessoren, Kernprozessoren oder ähnliches, heterogene Hardwareressourcen, die zu einem einzelnen integrierten Schaltungspaket (z.B. einem FPGA) und einem Speicher integriert sind, alle in einem einzelnen Chip verdichtet sind.
  • Kurz gesagt, kann die vorliegende Erfindung eine für Kraftfahrzeuge ausgerichtete Lösung für die Sicherheit, Vertraulichkeit und Authentifizierung durch eine Systemarchitektur vorsehen, die aus kryptografischen IP-Engines besteht, die auf einer umkonfigurierbaren Hardwaretechnologie basieren und in einem gemeinsamen Hardware/Software-Design verwendet werden. Die vorliegende Erfindung sieht eine eingebettete Lösung mit vollem Sicherheitsgrad für EVITA (E-Safety Vehicle Intrusion Protected Applications) oder andere gesicherte Fahrzeug-zu-Maschine-Kommunikationen für V2X und Highend- bzw. rechenintensive elektronische Steuereinheiten (ECUs) vor, die sich weiter entwickelnde Rechen- und Kommunikationseinheiten enthalten können, die Fahrzeughersteller derzeit anzufragen beginnen. Das vorliegende System kann eine zusätzliche Sicherheit für Fahrzeugkommunikationen vorsehen. Wie hier beschrieben, kann ein System-on-Chip (SOC) eine Datenauthentifizierung, eine digitale Datensignatur und eine Verschlüsselung und Entschlüsselung von Daten und Befehlen in einem Fahrzeug oder in anderen mobilen Einrichtungen integrieren und sichern. Die SOC-Plattform kann eine Vielzahl von Verarbeitungskernen, programmierbaren Logiken und internen Speichern für Sicherheitsschlüssel und eine Datenspeicherung enthalten. Das SOC kann einen Netzwerkschutz (ETHERNET/CAN/Firewall) und Firmware-over-the-air-Fähigkeiten enthalten. Außerdem gestattet die Nutzung von IP-Kernen eine Verschiebung von den die Software ausführenden Prozessoren zu dedizierten IP-Kernen für das Ausführen einer Verschlüsselung und Entschlüsselung sowie einer Kompression und Dekompression von Daten. Die IP-Kerne können auch eine Datenauthentifizierung und Signaturaufgaben durchführen. In einem Beispiel werden die kritischen und zeitaufwändigen Teile der Verschlüsselungs- und Entschlüsselungsalgorithmen direkt in Hardware in den IP-Kernen gespeichert und ausgeführt. In einem Beispiel werden die kritischen und zeitaufwändigen Teile der Kompressionsalgorithmen und Dekompressionsalgorithmen direkt in Hardware in den IP-Kernen ausgeführt. In einem Beispiel werden die kritischen und zeitaufwändigen Teile der Datenauthentifizierung und Signaturalgorithmen direkt in Hardware in den IP-Kernen ausgeführt.
  • 1 zeigt ein Fahrzeug 100, das verschiedene Steuermodule (gelegentlich als elektronische Steuereinheiten bzw. „ECU““ bezeichnet) enthält, die den Betrieb von verschiedenen Systemen in dem Fahrzeug steuern. Die Steuermodule enthalten Hardware wie z.B. einen Schaltungsaufbau zum Ausführen von Befehlen für verschiedene Aufgaben in dem Fahrzeug und einen Speicher zum Speichern von Befehlen, empfangenen Daten und verarbeiteten Daten. Das Fahrzeug 100 kann ein Auto wie etwa ein Hybridauto oder ein Elektroauto, ein Pickup, ein Lastfahrzeug, ein Motorrad oder ähnliches sein. Eine elektronische Steuereinheit (ECU) 101 kann eine Reihe von Stellgliedern an einem Verbrennungsmotor oder Elektromotor für das Steuern der Motorleistung steuern. Die ECU 101 kann Datenwerte von einer Vielzahl von Sensoren in dem Fahrzeug empfangen, die Daten unter Verwendung von Regeln und Befehlen wie z.B. unter Verwendung von Nachschlagetabellen verarbeiten und die Motorstellglieder gemäß den Regeln und Befehlen einstellen. Eine Stromsteuereinheit 102 kann die ECU 101 beim Steuern des Stromflusses in dem Fahrzeug z.B. zu und von der Antriebsbatterie 110 unterstützen, wenn das Fahrzeug Strom für die Antriebsleistung verwendet. Eine Antriebssteuereinheit 103 kann in Verbindung mit der ECU 101 den Betrieb des Getriebes steuern. Es können auch andere Module vorgesehen sein, die verschiedene Operationen des Fahrzeugs steuern, wie etwa eine Bremssteuereinheit. Es ist eine elektronische Steuereinheit (ECU) 104 vorgesehen, die eine Fahrzeugidentifikation enthalten kann, die das Fahrzeug identifiziert und eine Fahrzeugsicherheit für Kommunikationen innerhalb des Fahrzeugs und für Kommunikationen mit Einrichtungen und Systemen außerhalb des Fahrzeugs 100 vorsieht. Die ECU 104 kann eine Hardwareeinrichtung sein, die für das Steuern der Fahrzeugarchitektur und der Performanz dediziert ist. In einigen Fällen kann die ECU 104 als ein Body Domain Controller bezeichnet werden und ein Gateway für das Handhaben von fahrzeuginternen (z.B. Telematik) und externen Kommunikationen oder Verarbeitungen enthalten. Die ECU 104 kann weiterhin Sensoren oder andere Fahrzeugmodule enthalten.
  • Einige Fahrzeug-Steuermodule befinden sich in der Kabine des Fahrzeugs und können eine Kopfeinheit 105 umfassen, die wiederum eine Infotainmenteinheit 105 und eine Kommunikationseinheit 108 enthalten kann. Die Infotainmenteinheit kann verschiedene Mensch-zu-Maschine-Schnittstellen für Personen im Fahrzeug vorsehen und kann einen Schaltungsaufbau und Anzeigen einschließlich einer Audioeinheit 106 und einer Datenverarbeitungseinheit 107 enthalten. Eine Kommunikationseinheit 108 kann mit Fahrzeugsteuereinheiten verbunden sein und kann einen Kommunikationskanal 109 wie etwa einen drahtlosen Kanal zu einem Fahrzeugdienstserver 120 oder anderen fern von dem Fahrzeug 100 befindlichen Systemen, ein Maschennetzwerk, eine Fahrzeug-zu-Fahrzeug-Kommunikation, eine zellulare Kommunikation usw. vorsehen. In einem Beispiel kann der Kommunikationskanal eine festverdrahtete Verbindung wie z.B. eine elektromechanische Schnittstelle wie etwa einen USB, einen On-Board-Diagnoseport vorsehen.
  • Ein Bus 115 kann Kommunikationskanäle mit dem Fahrzeug zwischen den verschiedenen Modulen vorsehen. Der Bus 115 kann ein CAN (Controller Area Network), LIN (Local Interconnect Network), ARNIC (Avionics Full-Duplex Switched Ethernet) oder ähnliches enthalten.
  • 2 ist eine schematische Ansicht eines Teils der elektronischen Steuereinheit (ECU) 104 mit einer Hauptsteuereinrichtung 201 und einer Sicherheitssteuereinrichtung 203. Andere elektronische Stufen oder Schaltungsaufbauten für andere Funktionen im Zusammenhang mit der ECU (z.B. ein elektrischer Lasttreiber) sind nicht gezeigt, aber dem Fachmann bekannt. In einem Beispiel sind die Hauptsteuereinrichtung 201 und der Sicherheitsschaltungsaufbau 203 in einem einzelnen Stück aus Silizium z.B. auf einem Substrat 206 integriert. Die Hauptsteuereinrichtung 201 enthält einen Prozessor 205, der Befehle von einem Speicher laden kann, um verschiedene Aufgaben für das Fahrzeug auszuführen. Ein Speicher 207 kann Befehle und/oder Daten in Bezug auf das Fahrzeug speichern. Der Speicher 207 kann Daten von verschiedenen Quellen speichern. Ein Bus 210 verbindet den Prozessor 205 elektrisch mit dem Speicher 207. Eine Direktspeicherzugriff-Steuereinrichtung 211 ist mit dem Bus 210 verbunden, um den Zugriff von einer Kommunikationssteuereinrichtung 212 und von anderen Schaltungsaufbauten außerhalb der Hauptsteuereinrichtung 201 zu steuern. Die Kommunikationssteuereinrichtung 212 steuert die Kommunikation zu Einrichtungen und Systemen außerhalb der ECU 104 über wenigstens eine physikalische WiFi-Schicht 216 und eine Ethernet-Schicht 217 sowie über eine Firewall 220, die zwischen der physikalischen WiFi-Schicht 216 und der Ethernet-Schicht 217 und der Kommunikationssteuereinrichtung 212 positioniert sein kann. Die Firewall 220 kann auf dem Substrat 206 integriert sein. In einer beispielhaften Ausführungsform kann die Firewall ein Schaltungsaufbau außerhalb des Substrats 206 sein. Die physikalischen Schichten 216, 217 können sich außerhalb des Substrats 206 befinden. Die Firewall 220 in dem Fahrzeug kann als ein Kommunikationssicherheitssystem betrieben werden, das eingehende und ausgehende elektronische Kommunikationen in und aus dem Fahrzeug basierend auf gesetzten Sicherheitsregeln überwacht und steuert. Die Firewall 220 enthält einen Schaltungsaufbau zum Herstellen einer Grenze zwischen einem vertrauenswürdigen, sicheren und internen Netzwerk wie z.B. den Modulen 101-105, 108 und einem damit verbundenen anderen äußeren Netzwerk wie z.B. dem Internet, das keine sichere oder vertrauenswürdige Kommunikationsquelle ist. Der ferne Server 225 kann sich an einer Fahrzeugreparaturwerkstätte, in einer anderen mobilen Einrichtung, in einem anderen Fahrzeug oder im Computersystem des Herstellers befinden. Der Pfad 109 kann einen V2X-Kommunikationspfad definieren. Der ferne Server 225 kann Befehlsaktualisierungen für das Fahrzeug wie z.B. Softwareupdates vorsehen. Die Befehlsaktualisierungen können an dem fernen Server 225 verschlüsselt und komprimiert werden und an dem Sicherheitsschaltungsaufbau 203 für eine Entschlüsselung empfangen werden, bevor sie durch die Steuereinrichtung 201 verwendet oder in andere Fahrzeugsteuereinheiten geladen werden.
  • Ein Telematik-Schaltungsaufbau 226 kann mit der Firewall 220 verbunden sein, um eine Kommunikation zu und von dem Fahrzeug vorzusehen, wobei die Kommunikation verschlüsselt und komprimiert werden kann. Der Telematik-Schaltungsaufbau 226 kann Informationen über Telekommunikationseinrichtungen senden, empfangen und speichern und dabei eine Steuerung an dem Fahrzeug oder der mobilen Einrichtung, die den Telematik-Schaltungsaufbau enthält, leisten. Der Telematik-Schaltungsaufbau 226 sieht eine integrierte Verwendung von Telekommunikationen und Informatik für die Anwendung in Fahrzeugen und für die Steuerung von sich bewegenden Fahrzeugen vor und kann GPS-Systeme z.B. für die Verwendung mit Fahrzeugnavigationssystemen enthalten.
  • Der Sicherheitsschaltungsaufbau 203 enthält einen Speicher 230, der heruntergeladene Dateien wie z.B. Befehle von dem Server 225 direkt von der Direktspeicherzugriff-Steuereinrichtung 211 empfangen kann. Es kann auch direkt durch den Prozessor 205 auf den Speicher 230 zugegriffen werden. Ein Verschlüsselung/Entschlüsselung-Schaltungsaufbau und ein Kompression/Dekompression-Schaltungsaufbau 235 steht in Kommunikation mit dem Speicher 230. Der Schaltungsaufbau 235 ist eine Hardware wie zum Beispiel eine feldprogrammierbare Einrichtung (FPGA) oder ähnliches, wobei die Hardware des Schaltungsaufbaus 235 einen Verschlüsselung/Entschlüsselung-Schaltungsaufbau 236 und einen Kompression/Dekompression-Schaltungsaufbau 237 enthält. Der Verschlüsselung/Entschlüsselung-Schaltungsaufbau 236 kann verschlüsselte Dateien von dem Speicher 230 oder dem Bus 210 lesen und kann die Datei unter Verwendung der Hardware entschlüsseln. Der Verschlüsselung/Entschlüsselung-Schaltungsaufbau 236 kann entschlüsselte Dateien von dem Speicher 230 oder dem Bus 210 lesen und die Datei unter Verwendung der Hardware verschlüsseln. Der Kompression/Dekompression-Schaltungsaufbau 237 kann dekomprimierte Dateien von dem Speicher 230 oder dem Bus 210 lesen und die Datei unter Verwendung der Hardware des Kompression/Dekompression-Schaltungsaufbaus 237 komprimieren. Der Kompression/Dekompression-Schaltungsaufbau 237 kann komprimierte Dateien von dem Speicher 230 oder dem Bus 210 lesen und die Datei unter Verwendung der Hardware des Kompression/Dekompression-Schaltungsaufbaus 237 dekomprimieren. Der Schaltungsaufbau 235 kann die entschlüsselten/verschlüsselten Dateien zurück in den Speicher speichern. Der Schaltungsaufbau 235 kann eine anwendungsspezifische integrierte Schaltung (ASIC), die eine statische und nicht umkonfigurierbare Hardware ist, eine einmalig programmierbare integrierte Schaltung, die einmal programmiert werden kann und danach statisch ist, eine Flash-basierte integrierte Schaltung, die gelöscht und programmiert werden kann, und eine RAM-basierte Schaltung, die umkonfiguriert werden kann und zwar auch on-the-fly während der Verarbeitung, sein. Der Schaltungsaufbau 235 ist eine Hardware zum Verarbeiten von Dateien und enthält unter Umständen FPGA-Strukturen. Die Verwendung einer umprogrammierbaren Hardware in dem Schaltungsaufbau 235 gestattet eine Aktualisierung der Entschlüsselungs- und Verschlüsselungsverarbeitungsschritte sowie der Kompressions- und Dekompressionsschritte in dem Verschlüsselung/Entschlüsselung-Schaltungsaufbau 236 und dem Kompression/Dekompression-Schaltungsaufbau 237. Also auch wenn die Entschlüsselung oder Verschlüsselung in dem Verschlüsselung/Entschlüsselung-Schaltungsaufbau 236 und dem Verschlüsselung-Schaltungsaufbau 237 durch Hacker oder andere Personen geknackt wird, kann die Entschlüsselung oder Verschlüsselung zu neuen und nicht-geknackten Schritten aktualisiert werden. Der Schaltungsaufbau 235 kann zu einem hohen Performanzgrad angepasst werden, um den VsX-Anwendungsanforderungen zu entsprechen, d.h. den Anforderungen an eine hohe Anzahl von Signaturverifizierungen pro Sekunde. In einem Beispiel kann eine Anpassung an verschiedene Performanzanforderungen bewerkstelligt werden, indem der Schaltungsaufbau 236 für das Durchführen von zusätzlichen Aufgaben oder anderen Aufgaben umkonfiguriert wird. Der Schaltungsaufbau 236 kann Hardware-Gegenmaßnahmen gegen Seitenkanalangriffe, d.h. in dem Schaltungsaufbau (z.B. in den IP-Kernen) vorsehen, um den Schutz des aktuellen Systems zu vergrößern. Seitenkanalangriffe können auf Stromverbrauch, EMV, Geräusche, Zeitanalyse usw. gerichtet sein, um die Verschlüsselung und Entschlüsselung in dem Schaltungsaufbau 236 zu bestimmen.
  • Der Schaltungsaufbau 236 kann verschiedene Formen von moderner Signalverarbeitung wie z.B. eine Kryptografie wie etwa AES128, AES256, SHA-2, SHA256, SHA512, TRNG/PRNG (Zufallszahlerzeugung) sowie eine Post-Quanten-Kriptografie (z.B. McEliece, NTRU und ähnliches) implementieren, d.h. eine neue Kryptografie, die mit der Entwicklung von Quantenprozessoren in den kommenden Jahren entwickelt wird und unter Umständen in der Lage sein wird, einige der derzeit verwendeten Kryptoalgorithmen zu knacken. Der Schaltungsaufbau 235 kann Datenauthentifizierungsfunktionen wie z.B. HASH (Datenauthentifizierung), Token-Prüfungen, eine Signaturauthentifizierung oder ähnliches enthalten. Der Schaltungsaufbau 235 kann weiterhin Logikbefehle für das Implementieren von Hardware-Gegenmaßnahmen wie z.B. eine spezifische Logik für das Verschleiern des Stromverbrauchs, der Geräusche, der elektromagnetischen Emissionen und/oder der Zeit für die Ausführung von Befehlen durch den Schaltungsaufbau 235 enthalten.
  • In einer beispielhaften Ausführungsform ist die ECU 104 vollständig in ein einzelnes Stück Silizium z.B. in einem System-on-Chip mit der Steuereinrichtung 201 und dem Entschlüsselungs- und Verschlüsselungs-Schaltungsaufbau 235 integriert, die separate Verarbeitungskerne sind, die elektrisch über den Bus 210 verbunden sind. Der Speicher 230 kann auch auf dem gleichen Silizium wie die Steuereinrichtung 201 und der Entschlüsselungs- und Verschlüsselungs-Schaltungsaufbau 235 integriert sein. In einem Beispiel befindet sich der Speicher nicht in dem gleichen Stück Silizium und kann der Entschlüsselungs- und Verschlüsselungs-Schaltungsaufbau 235 Daten von dem Speicher 230 entschlüsseln und an den Speicher 230 gesendete Daten verschlüsseln.
  • Der Speicher 230 kann auf dem einzelnen Substrat mit der Hauptsteuereinrichtung 201 und dem Sicherheitsschaltungsaufbau 203 integriert sein. Der Speicher 230 kann gemeinsam durch die Hauptsteuereinrichtung 201 und den Sicherheitsschaltungsaufbau 203 verwendet werden. In einer beispielhaften Ausführungsform kann der Speicher 230 ein einzelner Speicher mit einem partitionierten Raum für verschiedene Datenzustände wie z.B. verschlüsselte und entschlüsselte Daten sein. In einer beispielhaften Ausführungsform kann der Speicher in zwei Partitionen partitioniert sein, von denen die eine für verschlüsselte Daten für die Verwendung durch den Sicherheitsschaltungsaufbau 203 ist und die zweite für die entschlüsselten Daten ist, die durch den Sicherheitsschaltungsaufbau 203 und die Hauptsteuereinrichtung 201 verwendet werden. In einer beispielhaften Ausführungsform können weitere Partitionen in dem Speicher basierend auf den komprimierten Daten und dekomprimierten Daten zusätzlich zu dem verschlüsselten Status der Daten vorhanden sein.
  • Die Hauptsteuereinrichtung 201 steuert die Kommunikation des Substarts und zu dem Sicherheitsschaltungsaufbau 203. Der Sicherheitsschaltungsaufbau 203 kommuniziert nicht direkt mit Einrichtungen außerhalb des Substrats.
  • In dem Fahrzeug können andere elektrische Einheiten neben der ECU 104 vorhanden sein, die mit verschlüsselten Daten arbeiten müssen. Diese anderen Einheiten können den gleichen Verarbeitungsaufbau wie die ECU 104 mit z.B. einem Hauptprozessor 201 und einem Sicherheitsschaltungsaufbau 203 aufweisen. Wenn in diesem Fall ein Hardware-Verschlüsselungsalgorithmus erforderlich ist oder empfangen wird, aktualisiert die ECU 104 den internen Algorithmus und sendet dann nach einem erfolgreichen Abschluss des Prozesses die erforderlichen Informationen an die anderen Einheiten, damit diese die gleiche Aktualisierung einleiten.
  • Während der Lebensdauer des Fahrzeugs kann es vorkommen, dass die durch die elektronische Steuereinheit 104 verwendeten kryptografischen Algorithmen geknackt werden.
  • Dies hat das Risiko eines Datenhackens in den nächsten eingehenden Nachrichten zur Folge. Das Fahrzeug kann einen Alarm oder eine Warnnachricht empfangen, die an alle Fahrzeuge mit dem gefährdeten kryptografischen Algorithmus gesendet wird. Die Hauptsteuereinrichtung 201 veranlasst nach dem Empfangen der Nachricht, dass das Fahrzeugsystem in einen eingeschränkten oder sicheren Modus eintritt, um zu verhindern, dass die mögliche Hacking-Nachricht das Fahrzeug beschädigt. Dieser Modus verhindert zum Beispiel, dass eine Funktionsaktualisierung in Software oder Hardware entweder für die ECU 104 oder für andere ECUs in dem Fahrzeug bei später eingehenden Informationen vorgenommen wird. Dieser Modus kann in einem Servicezentrum oder durch eine nicht-gefährdete Over-the-Air („OTA“)-Aktualisierung aufgehoben werden. Ein Servicezentrum kann eine OBD-Verbindung oder eine sichere drahtlose Verbindung zu dem Fahrzeug verwenden.
  • Außerdem kann die Hauptsteuereinrichtung 201 Algorithmen (entweder in Software oder in Hardware-IP von 205) aufweisen, um einen anormalen Betrieb aufgrund eines andauernden Hacking-Vorgangs zu erfassen und eine Reaktion auf einen erfassten Angriff durch Gegenmaßnahmen einzuleiten oder in den eingeschränkten oder sicheren Modus einzutreten, wobei auch eine Warnnachricht an den Benutzer gesendet werden kann, damit dieser einen Service an dem Fahrzeug durchführen lässt. In einem Beispiel können die Angriffserfassungsalgorithmen ständig in der Hauptsteuereinrichtung oder in den umkonfigurierbaren Bereichen des Sicherheitsschaltungsaufbaus ausgeführt werden.
  • 3 zeigt ein Verarbeitungssystem 300, das in einigen beispielhaften Ausführungsformen ein Teil der ECU 104 sein kann. Das Verarbeitungssystem 300 kann eine Hauptsteuereinrichtung 201 und einen Sicherheitsschaltungsaufbau 203 umfassen, die in einem einzelnen Substrat vorgesehen sind. Das Verarbeitungssystem 300 kann einen Prozessor 305 zum Verarbeiten von erforderlichen Algorithmen des Systems 300 umfassen, der ein Teil der Hauptsteuereinrichtung 201 sein kann. Das Verarbeitungssystem 300 kann einen dedizierten IP-Kern-Prozessor 335 für das Handhaben der Verschlüsselung und Entschlüsselung von Befehlen und/oder Daten enthalten. Der Prozessor 335 kann ein Teil des Sicherheits-Schaltungsaufbaus 203 sein. Das Verarbeitungssystem 300 kann weiterhin eine Kommunikation über Ethernet, CAN oder einen anderen Bus oder eine andere spezifische Funktionalität des Prozessors 305 wie z.B. eine Kompression, Dekompression, Sensordatenverarbeitung oder ähnliches handhaben. Andere IP-Kerne können andere Funktionen in dem Prozessor 305 durchführen. Der Prozessor 305 kann mehrere Rechenkerne 3051, 3052, ... 305N für das Ausführen von Anwendungen und eine Vielzahl von Echtzeit-Verarbeitungskernen 306 enthalten. Der IP-Kern-Prozessor 335 enthält auch eine Vielzahl von Verarbeitungskernen 3351, 3352, 3353, ... 335N, die jeweils FPGA-Prozessoren enthalten können. Jeder der Prozessoren 305 (d.h. 3351, 3352, 3353, ... 335N) und 306 kann eine parallele Verarbeitung unter Verwendung von mehreren Kernen für deren entsprechende Aufgaben nutzen. Die Aufgaben können eine Verschlüsselung, Entschlüsselung, Kompression, Dekompression und Authentifizierung umfassen. Der Bus 210 ist für eine Kommunikation zwischen den Einrichtungen vorgesehen. Der Bus 210, der IP-Kern-Prozessor 335 und der Prozessor 305 können auf einem einzelnen einstückigen Siliziumsubstrat ausgebildet sein. Eine Zeitsteuereinrichtung 351 ist mit dem Bus 210 verbunden und sieht ein Zeitsignal für die mit dem Bus verbundenen Einrichtungen vor. Eine Interrupt-Steuereinrichtung 352 ist mit dem Bus 210 verbunden und kann mehrere Interrupt-Quellen zu einer oder mehreren mit einem Prozessor 305 oder 335 verbundenen Leitungen kombinieren und dabei eine Zuweisung von Prioritätsebenen zu den Interruptausgaben gestatten.
  • Kommunikationseinrichtungen können eine Kommunikation innerhalb des Substrats und zu Einrichtungen außerhalb des Substrats steuern. Eine Direktspeicherzugriff-Steuereinrichtung 353 ist mit dem Bus 210 verbunden und sieht einen Direktspeicherzugriff vor, damit bestimmte Hardwaresubsysteme auf den Hauptsystemspeicher (RAM) oder auf einen nicht-flüchtigen Speicher unabhängig von dem Prozessor 305 zugreifen können. Ein universaler, asynchroner Sender/Empfänger (UART) 354 ist mit dem Bus 210 verbunden und kann eine asynchrone serielle Kommunikation vorsehen, in welcher das Datenformat und die Übertragungsgeschwindigkeiten konfiguriert werden können. Der universale, asynchrone Sender/Empfänger 354 ist mit einer physikalischen Schicht verbunden, um mit anderen elektronischen Einrichtungen wie etwa einer elektronischen Schaltung, Lasttreibern, E/A-Multiplexern und ähnlichem in der gleichen ECU, in der gleichen elektronischen Einrichtung oder dem gleichen Fahrzeug zu kommunizieren. Eine CAN-Steuereinrichtung 355 ist mit dem Bus 210 verbunden und sieht eine Kommunikation zu dem CAN-Bus in dem Fahrzeug vor. Eine Gigabit-Ethernet-Steuereinrichtung 356 ist mit dem Bus 210 verbunden und sieht eine Kommunikation mit anderen Einrichtungen über eine Ethernetverbindung vor.
  • Eine Nicht-flüchtiger (z.B. Flash) Speicher Steuereinrichtung 357 ist mit dem Bus 210 verbunden und sieht eine Kommunikation mit einem nicht-flüchtigen (z.B. Flash) Speicher 360 vor. Eine RAM-Steuereinrichtung 358 ist mit dem Bus 210 verbunden und sieht eine Kommunikation mit dem Speichersystem 361, das einen DDR-SDRAM-Speicher enthalten kann, vor. Die Speicher 360, 361 können verschlüsselte Dateien und/oder komprimierte Dateien für eine Entschlüsselung und Dekompression oder ähnliches durch die IP-Kerne 335 speichern. Die entschlüsselten und dekomprimierten Dateien können in den Speichern 360, 361 für die Verwendung durch den Anwendungsprozessor 305 und/oder den Echzeitprozessor 306 und Sicherheitsprozessoren 335 in dem Fahrzeug gespeichert werden.
  • Der Prozessor 335 ist operativ mit einer CAN-Steuereinrichtung 365 verbunden, die wiederum mit dem Bus 210, einer physikalischen Schicht und dem IP-Kernprozessor 335 verbunden ist. Ein Ethernet-Switch 366 ist mit dem Bus 210, einer physikalischen Schicht und dem IP-Kernprozessor 335 verbunden. Eine Hardware-Umkonfiguration-Steuereinrichtung 368 ist mit dem Bus 210 und dem IP-Kernprozessor 335 verbunden. Die Umkonfiguration-Steuereinrichtung 368 kann verwendet werden, um die Kerne des IP-Kernprozessors 335 oder einzelner Kerne desselben umzuprogrammieren.
  • Der Sicherheitsprozessor 335 kann umfassen: eine Zeitsteuereinrichtung 371, eine Interrupt-Steuereinrichtung 372, eine DMA-Steuereinrichtung 367, Steuer- und Statusregister 373, einen Speicher 369 und Kommunikationsverbindungen 374, die alle mit dem Systembus 210 verbunden sind. Der Speicher 369 kann lokal in dem Sicherheitsprozessor 335 definiert sein und für die Ausführung der Algorithmen der IP-Kerne und auch für das Speichern von kryptografischen Schlüsseln verwendet werden. Der Speicher 369 kann mit einem konfigurierbaren Bus mit dem Sicherheitsprozessor 335 adressiert werden, damit Wörter mit verschiedenen Längen zwischen dem Speicher 369 und den Verarbeitungskernen 335 kommuniziert werden können.
  • Eine Stromschaltung 370 ist vorgesehen, um Strom z.B. auf einer Stromschiene in dem Substrat zu den Prozessoren 305, 335 und den Steuereinrichtungen, dem Speicher und anderen elektrischen Einrichtungen zuzuführen. Andere elektronische Stufen zum Vorsehen von weiteren Funktionen in der ECU 104 für andere Anforderungen des Fahrzeugs können verwendet und mit dem hier beschriebenen Schaltungsaufbau verbunden sein.
  • Die Prozessoren 235 und 335 sehen einen flexiblen und anpassbaren Aufbau vor, der basierend auf einer Anforderung des Herstellers (z.B. für eine Anforderung für eine Fahrzeugkonfiguration) unter Verwendung von AES, ECC, Hash Whirlpool, SHA, Wireless Access in Vehicular Environments und ähnliches konfiguriert werden kann. Die Prozessoren 235 und 335 können zu Beginn mit Verschlüsselungs- und Entschlüsselungsalgorithmen in der Hardware geladen werden. Die Prozessoren 235 und 335 können eine anpassbare Plattform für eine automatische Aushandlung von Sicherheitsfunktionen (Datenverschlüsselung, Benutzerauthentifizierung) sein. Die Prozessoren 235 und 335 können jeweils dynamisch und in Echtzeit die Konfiguration von IP-Verarbeitungskernen für die Verwendung bei jeder Sitzung/Anfrage oder auch in Reaktion auf spezifische Ereignisse in dem Fahrzeug auswählen. In einem Beispiel können alle Einrichtungen in den Prozessoren 235, 335 des Schaltungsaufbaus 203 in Hardware unter Verwendung einer programmierbaren Logik zu anderen Aufgabenfunktionen oder zu anderen Kommunikationskanalbreiten umkonfiguriert werden.
  • Die Prozessoren 235 und 335 können über die externen Kommunikationen und über authentifizierte Kommunikationen durch eine aktuelle Entschlüsselung in den Prozessoren und Authentifizierungstests in dem Fahrzeug aktualisiert oder geändert werden. Diese Kommunikation wird durch den Hauptprozessor 201 gesteuert. Die Prozessoren 235 und 335 können auch in Echtzeit skaliert werden, während einige Prozesse durchgeführt werden. Die Prozessoren 235 und 335 können in zusätzlichen Hardware-IP-Kernen bei Bedarf instanziiert werden, um parallel in einem Live-Modus ausgeführt zu werden wie etwa plötzlich in einer Fahrzeug-zu-Fahrzeug (V2V)-Kommunikation in einem Verkehrsstau-Szenario. Wenn sich ein Fahrzeug in einer Situation befindet, in welcher die Anzahl von Fahrzeugen in einer Kommunikation wie etwa in einem Maschennetzwerk oder auf einer vielbefahrenen Straße groß ist, können die Anforderungen an eine wahre V2V-ldentifikation größer sein. Das vorliegende System 300 kann die hohe Anzahl von Fahrzeugen, die mit dem eigenen Fahrzeug interagieren möchten, handhaben, wobei das System zu diesem Zeitpunkt (Laufzeit) die Anzahl von für die V2V-Funktion dedizierten IP-Kernen 3351, 3352, 3353, .... 335N vergrößern kann, um die Verarbeitungsfähigkeiten zu steigern. Die Hardware der Kerne 3351, 3352, 3353, ... 335N kann für das Durchführen von anderen Aufgaben geändert werden, wenn die derzeit vorgesehene Aufgabe nicht benötigt wird. Die IP-Kerne 3351, 3352, 3353, .... 335N aus der Hardware können entfernt (oder in ihrer Anzahl reduziert) werden, wenn die externen Arbeitsbedingungen, die Umweltarbeitsbedingungen oder die Arbeitslastspitze beendet werden, und sie nicht mehr benötigt werden. Die IP-Kerne können umkonfiguriert werden, z.B. auf Veranlassung der Umkonfigurationssteuereinrichtung 368, während andere IP-Kerne auf anderen Aufgaben operieren. Die Umkonfiguration kann also währen der Laufzeit on-the-fly stattfinden.
  • Die IP-Kerne 335 können konfiguriert sein, um ähnliche oder verschiedene Aufgaben auszuführen. Es können mehrere IP-Kerne 335 für das Entschlüsseln und Verschlüsseln von Daten dediziert sein, um die Anforderungen von der Hauptsteuereinrichtung 201 zu erfüllen. Wenigstens ein IP-Kern kann konfiguriert sein, um Daten in Entsprechung zu einem ersten Codec zu dekomprimieren. Wenigstens ein IP-Kern kann konfiguriert sein, um Daten in Entsprechung zu einem zweiten Codec zu dekomprimieren. Wenigstens ein IP-Kern kann konfiguriert sein, um Kommunikationen von außerhalb des Substrats zu authentifizieren. Diese IP-Kerne können ihre entsprechenden Aufgaben parallel zueinander ausführen, weil ihre Hardware für das Ausführen der entsprechenden Aufgaben oder von Teilen von Aufgaben konfiguriert ist.
  • Die Prozessoren 235 und 335 werden als eine Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung betrieben, die effizienter ist als zu einem Prozessor geladene Softwarealgorithmen oder die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung, die eine der bereits in dem Chip eines Mikrocontrollers integrierten Prozessorperipherieinrichtungen (HSM) nutzt. In aktuellen Verschlüsselungsalgorithmen ist eine beträchtliche Menge von Daten für die Verschlüsselung/Entschlüsselung vorgesehen, wobei die Verschlüsselungs-/Entschlüsselungsoperationen zu umfangreich für einen herkömmlichen in Echtzeit betriebenen Prozessor werden können, wenn dieser weiterhin die üblichen Aufgaben für das Fahrzeug erfüllen soll. Die vorliegende Erfindung verwendet eine parallele Hardwareverarbeitung für Verschlüsselungs-/Entschlüsselungsaufgaben und für die üblichen Verarbeitungsaufgaben in den verschiedenen Prozessoren 205, 305 und in den für die Verschlüsselung/Entschlüsselung dedizierten Prozessoren 235, 335. Dadurch werden die Verarbeitungsanforderungen für den Hauptprozessor 205, 305 reduziert und kann dieser die üblichen Aufgaben schneller ausführen. Die Verwendung von mehreren Kernen und der parallelen Prozessoren für die Verschlüsselungs- und Entschlüsselungsverarbeitungsfähigkeiten müssen bei Bedarf geändert werden oder an den Stand der Technik angepasst werden. Zum Beispiel wird die AES256-Verschlüsselung für derzeit verkaufte Autos verwendet, wobei diese jedoch zu Post-Quanten-Verschlüsselungsalgorithmen geändert werden kann, wenn die AES256-Verschlüsselung anfällig wird. Weiterhin kann in einer gegebenen Situation wie etwa einem Verkehrsstau eine wahre V2V-ldentifikation erforderlich werden, um die große Anzahl von Fahrzeugen, die interagieren möchten, zu handhaben, wobei zu diesem Zeitpunkt (Laufzeit) das System die Anzahl von IP-Kernen für die genannte Funktion vergrößern kann, um die Verarbeitungsfähigkeiten zu steigern. In einem Beispiel können IP-Kerne, die andere, zu diesem Zeitpunkt nicht benötigte Funktionen erfüllen, geändert werden, um die für eine wahre V2V-Authentifizierung erforderlichen Verschlüsselungs-/Entschlüsselungsaufgaben auszuführen.
  • Die Prozessoren 235, 335 können auch die Komprimierungs-/Dekomprimierungsfunktion erhalten, um sicherzustellen, dass Daten vollständig und rechtzeitig für Hauptprozessoren 205, 305 in Echtzeit verfügbar sind, wobei die Komprimierungs-/Dekomprimierungsfunktion transparent für die Hauptprozessoren 205, 305 im gleichen Sinne wie die Verschlüsselungs-/Entschlüsselungsfunktionen sind. Die Kerne 3351, 3352, 3353, .... 335N können durch eine Umprogrammierung individuell angepasst werden, um Kompressions-/Dekompressionsaufgaben zusätzlich zu oder anstelle der Verschlüsselung/Entschlüsselung durchzuführen, z.B. wenn das Fahrzeug große Dateien empfängt oder sendet. Dieser flexible Ansatz für die Verwendung der Kerne 3351, 3352, 3353, .... 335N gestattet, dass der Prozessor 335 an den Stand der Technik und an die aktuellen Verarbeitungsanforderungen des Fahrzeugs angepasst wird. Wenn in einem Beispiel ein Prozessor 335 mit einer 128-Byte-Kryptografie wie z.B. AES128 betrieben wird, dann kann das vorliegende System 300 zusätzliche Kerne umprogrammieren, um eine 256-Byte-Kryptografie wie z.B. AES256 zu verwenden. Das vorliegende System kann auch seine Hardware in den Kernen 3351, 3352, 3353, .... 335N von einer 128-Byte- oder 256-Byte-Kryptografie zu einer Post-Quanten-Kryptografie umprogrammieren, z.B. durch das Herunterladen einer verschlüsselten, komprimierten Datei aus einem internen Speicher oder von einem fernen Server.
  • Es bestehen verschiedene Verfahren für Fahrzeuge für das Kommunizieren mit Einheiten außerhalb des Fahrzeugs. In vielen Beispielen können Fahrzeuge Verbindungen zu fernen Servern unter Verwendung von eingebetteten zellularen Modemeinrichtungen herstellen. In einem anderen Beispiel können Fahrzeuge eine Fahrzeug-zu-Fahrzeug-Verbindung für das Senden von Nachrichten direkt zwischen Fahrzeugen oder zu Infrastruktur-Steuereinrichtungen bzw. Sensoren, Intra-Fahrzeug-Kommunikationen oder eine Fahrzeug-zu-Haus-Verbindung wie etwa automatische Garagenöffner, benutzersensible Daten oder persönliche Daten, die mit dem Fahrzeug assoziiert sind, verwenden. Damit das Fahrzeug Verbindungen zu Einheiten außerhalb des Fahrzeugs herstellen kann, muss das Fahrzeug unter Umständen Verbindungsinformationen dazu, wie die Verbindung zu der externen Einheit herzustellen ist, speichern.
  • Das vorliegende System 200, 300 kann Datenraten mit wenigstens V2X-Standards vorsehen. Eine on-the-fly erfolgende Datenverschlüsselung und -kompression werden durch die Prozessoren 235, 335 durchgeführt und für die Hauptprozessoren für die Verwendung bei deren Aufgaben bereitgestellt. Die Prozessoren 235, 335 können auch Dateien für die Verwendung durch den Hauptprozessor dekomprimieren.
  • Die Verarbeitungssysteme 104 und 300 können die Hauptsteuereinrichtung 201 und den Sicherheitsschaltungsaufbau 203 auf einem einzelnen integrierten Schaltungssubstrat enthalten, wobei alle Kommunikationen von unverschlüsselten Daten und Befehlen innerhalb der integrierten Schaltung und nicht per Funk oder entlang von externen Drähten erfolgen. In einigen Beispielen kann der Speicher auch auf dem integrierten Schaltungssubstrat integriert sein, sodass verschlüsselte und unverschlüsselte Daten und Befehle innerhalb der integrierten Schaltung und nicht per Funk oder entlang von externen Drähten übertragen werden. Außerdem sind die Verarbeitungssysteme keine separaten integrierten Schaltungen, die an einer Leiterplatte montiert sind und über Leiterbahnen auf der Leiterplatte kommunizieren, auf die zugegriffen werden kann, um die Signale auf den Leiterbahnen zwischen den Einrichtungen wie etwa den Prozessoren und dem Speicher zu lesen. Eine Übertragung von entschlüsselten Daten per Funk oder entlang von externen Drähten kann im Gegensatz zu einer Übertragung auf einem internen Bus oder Leitungen in dem Substrat überwacht und erfasst werden.
  • Der Verschlüsselungs-/Entschlüsselungsprozessor 235, 335 kann eine Vielzahl von Kernen enthalten, um redundante Operationen und Strukturen vorzusehen. Der Verschlüsselungs-/Entschlüsselungsprozessor 235, 335 sieht eingebaute Hardware-Gegenmaßnahmen gegen physikalische Angriffe, Seitenkanalangriffe wie z.B. eine Zeitanalyse, eine Stromanalyse, eine elektromagnetische Analyse und ähnliches vor und reduziert die Wahrscheinlichkeit des Erfolgs von Glitch-Angriffen. Die Integration der Hauptprozessoren 205, 305 auf dem gleichen Chip (System-auf-einem-Chip) mit dem Speicher und dem Verschlüsselungs-/Entschlüsselungsprozessor 235, 335 erzeugt eine Vertrauenszone für ein sicheres Rechnen.
  • 4 zeigt ein Verfahren 400 zum Vorsehen einer sicheren Verarbeitung in einem Fahrzeug. In Schritt 401 wird die Hardwarekonfiguration für die Verschlüsselung und Entschlüsselung in einem Speicher für die Verarbeitung in dem ersten Prozessorkern für das Entschlüsseln (und ggf. Dekomprimieren), damit die Daten in dem Hauptprozessor wie etwa dem Prozessor 205 oder dem Prozessor 305 verwendet werden können, fixiert. Der erste Prozessor sieht also eine Hardwaresicherheit vor, indem er Verschlüsselungs- und Entschlüsselungsbefehle in Hardware und nicht als geladene Software in einem Universalprozessor implementiert. In Schritt 402 werden Daten unter Verwendung des ersten Prozessorkerns für die Verwendung in dem zweiten Prozessorkern entschlüsselt. Parallel zu dem Schritt 402 kann der Schritt 403 durchgeführt werden. In Schritt 403 werden Softwarebefehle in dem zweiten Prozessor ausgeführt, um Informationen zu interpretieren (z.B. Daten aus der entschlüsselten und im Speicher gespeicherten Datei) und Ausgaben vorzusehen. Der zweite Prozessor wie z.B. der Hauptprozessor 201 kann auf Daten operieren, die zu diesem Zeitpunkt nicht entschlüsselt werden müssen. Es kann also eine parallele Verarbeitung durchgeführt werden. Der zweite Prozessor führt keine Entschlüsselung oder Verschlüsselung durch, wobei diese Prozesse durch den ersten Prozessor ausgeführt werden können. Wenn in Schritt 404 zusätzliche Daten erforderlich sind, dann kehrt der Prozess zu den Schritten 402 und 403 zurück. In Schritt 405 kann das Verfahren 400 beendet werden oder auf weitere Anfragen für eine Verschlüsselung oder Entschlüsselung von Daten warten.
  • Die vorliegenden Systeme können verwendet werden, um eine sichere Verarbeitung in einem Fahrzeug vorzusehen. In einem Beispiel werden Daten an dem Fahrzeug empfangen oder in dem Fahrzeug erzeugt, d.h. entweder durch Sensoren erfasst oder aus einer Verarbeitung durch Prozessoren bestimmt. Die Daten können jeweils für eine Sicherheit und Effizienz verschlüsselt und komprimiert werden. Die verschlüsselten Daten werden in einem Speicher gespeichert, der ein einzelnes Siliziumsubstrat mit den Prozessoren sein kann. Auf die verschlüsselten Daten wird durch den Entschlüsselungs- und Dekompressionsprozessor wie z.B. den Verschlüsselungs-/Entschlüsselungsprozessor 235, 335 zugegriffen. Dieser Zugriff kann erfolgen, wenn der Hauptprozessor die Daten anfragt. Der Datenempfang wird beendet. Die Entschlüsselung und Dekompression der angefragten Daten wird durchgeführt. Die entschlüsselten Daten können in dem Speicher gespeichert werden oder auf andere Weise für den Hauptprozessor bereitgestellt werden. Der Hauptprozessor kann andere Aufgaben durchführen, während die verschlüsselten Daten durch den Entschlüsselungsprozessor wie z.B. einen Schaltungsaufbau oder IP-Kerne entschlüsselt werden. In einem Beispiel können das Empfangen der Daten, die Kompression/Dekompression der Daten, die Verschlüsselung/Entschlüsselung der Daten und das Senden der Daten in einer Pipelinereihenfolge in Hardware durch aufeinander folgende IP-Kerne durchgeführt werden.
  • Die vorliegenden Systeme können verwendet werden, um eine sichere Verarbeitung in einem Fahrzeug vorzusehen. In einem Beispiel werden Daten in dem Fahrzeug z.B. durch den Hauptprozessor identifiziert, um von dem Fahrzeug oder von den gesicherten Vertrauenszonen des einzelnen Substrats gesendet zu werden. Auf die Daten wird durch den Verschlüsselungsprozessor zugegriffen, um die Daten zu verschlüsseln und bei Bedarf zu komprimieren. Die Daten werden von dem Fahrzeug in der verschlüsselten und ggf. komprimierten Form zum Beispiel auf Anweisung des Hauptprozessors gesendet.
  • Die vorliegenden Systeme können verwendet werden, um eine sichere Verarbeitung in einem Fahrzeug vorzusehen. In einem Beispiel wird eine Angabe dazu vorgesehen, dass Daten an dem Fahrzeug oder in dem einzelnen Substrat für eine Speicherung im Speicher empfangen werden. Die Angabe kann eine Anfrage von dem Hauptprozessor oder eine Angabe von einem fernen Server an das Fahrzeug sein. Im Fall einer Anfrage von dem Hauptprozessor, sendet dieser eine Befehlsanfrage. Der Datenempfangsbefehl wird gespeichert und startet die Entschlüsselung und ggf. die Dekompression der Daten an dem Entschlüsselungsprozessor. Der Entschlüsselungsprozessor entschlüsselt die Daten und sendet die Daten entweder zurück an den Speicher oder an einen Puffer für den Hauptprozessor. Während die Entschlüsselung an dem Entschlüsselungsprozessor durchgeführt wird, verarbeitet der Hauptprozessor andere dem Hauptprozessor zugewiesene Aufgaben, wobei er jedoch die intensive Entschlüsselung der Daten nicht verarbeitet. Nachdem die anderen Aufgaben abgeschlossen wurden, kehrt der Hauptprozessor zu den entschlüsselten Daten zurück, um die entschlüsselten Daten zu lesen und zu verarbeiten.
  • Die vorliegenden Systeme können verwendet werden, um eine sichere Verarbeitung in einem Fahrzeug vorzusehen. In einem Beispiel werden Daten identifiziert, die an den Speicher oder von dem Substrat zu senden sind. Diese Identifikation kann durch den Hauptprozessor vorgenommen werden. Der Verschlüsselungsprozessor empfängt den Befehl und die Daten, wobei er die Daten dann verschlüsselt und ggf. komprimiert. Der Befehl für das Ausgeben von Daten ist in einer Speichersteuereinrichtung gespeichert, die wartet, bis der Verschlüsselungsprozessor die verschlüsselten Daten ausgibt. Danach können die Daten z.B. von dem Fahrzeug oder von dem einzelnen Siliziumsubstrat, das den Hauptprozessor, den Verschlüsselungsprozessor, die Speichersteuereinrichtung und den Bus zwischen diesen Einrichtungen trägt, gesendet werden.
  • 5 zeigt ein Verfahren 500 zum Vorsehen einer sicheren Verarbeitung in einem Fahrzeug. In Schritt 501 werden Daten an dem Fahrzeug empfangen. Die Daten können jeweils für eine Sicherheit und Effizienz verschlüsselt und komprimiert werden. In Schritt 502 werden die Daten in einem Speicher gespeichert, der ein einzelnes Siliziumsubstrat mit den Prozessoren sein kann. In Schritt 503 wird durch den Entschlüsselungs- und Dekomprimierungsprozessor auf die Daten zugegriffen. Dieser Zugriff kann erfolgen, wenn der Hauptprozessor die Daten anfragt. In Schritt 504 wird das Empfangen der Daten beendet, und der Schritt 503 kann die Entschlüsselung und Dekompression abschließen. In einem Beispiel können die Schritte 502, 503 und 504 in einer Pipeline zum Verarbeiten von Teilen der Datendatei (z.B. Blöcken) durchgeführt werden, während andere Teile in den vorausgehenden Schritten verarbeitet werden. Die Aktionen 502 und 503 können sequentiell oder parallel, d.h. gleichzeitig und in einer Pipeline, durchgeführt werden.
  • 6 zeigt ein Verfahren 600 zum Vorsehen einer sicheren Verarbeitung in einem Fahrzeug. In Schritt 601 werden Daten in dem Fahrzeug z.B. durch den Hauptprozessor identifiziert, um von dem Fahrzeug oder von den gesicherten Vertrauenszonen des einzelnen Substrats gesendet zu werden. In Schritt 602 wird durch den Verschlüsselungsprozessor auf die Daten zugegriffen, um die Daten zu verschlüsseln und ggf. zu komprimieren. In Schritt 603 werden die Daten von dem Fahrzeug in ihrer verschlüsselten und ggf. komprimierten Form gesendet.
  • 7 zeigt ein Verarbeitungsverfahren 700 gemäß einer beispielhaften Ausführungsform. Das Verarbeitungsverfahren 700 wird anhand eines beispielhaften Zeitdiagramms mit dem Timing für den Hauptprozessor 201 an der linken Zeitlinie und dem Timing für den Sicherheitsschaltungsaufbau 203 auf der rechten Seite erläutert. Das Timing verläuft von oben nach unten. Bei 701 gibt der Hauptprozessor 201 einen Datenanfragebefehl aus. Der Datenanfragebefehl wird an dem Sicherheitsschaltungsaufbau 203 empfangen. Der Datenanfragebefehl kann in dem gleichen Substrat bleiben wie der Hauptprozessor 201 und der Sicherheitsschaltungsaufbau 203. Bei 702 entschlüsselt der Sicherheitsschaltungsaufbau 203 die Daten. Während der Sicherheitsschaltungsaufbau 203 die angefragten Daten entschlüsselt, führt der Hauptprozessor 201 bei 703 eine erste Aufgabe aus. Die verschlüsselten, angefragten Daten sind unter Umständen nicht für die erste Aufgabe erforderlich. Bei 705 kann der Hauptprozessor 201 eine zweite Aufgabe 705 ausführen, während der Sicherheitsschaltungsaufbau 203 die angefragten Daten entschlüsselt. Wenn der Sicherheitsschaltungsaufbau 203 die Entschlüsselung der angefragten Daten abschließt, sendet er ein Datenverfügbarkeitssignal an den Hauptprozessor 201. Der Hauptprozessor 201 kann danach bei 707 eine Verarbeitungsaufgabe unter Verwendung der entschlüsselten Daten ausführen.
  • 8 ist eine schematische Ansicht einer gepackten integrierten Schaltung 800, die einen statischen Bereich 801 und einen dynamischen Bereich 802 enthält. Der statische Bereich 801 enthält den Hauptprozessor 201 und weist einen fixierten Prozessfluss und Schaltungsaufbau auf, um die ihm zugewiesenen Prozessaufgaben auszuführen. Der dynamische Bereich 802 enthält eine programmierbare Logik, die in Hardware umkonfiguriert werden kann, um z.B. Wortbreiten auf Busen zu ändern, wobei die durchgeführten Aufgaben durch das Ändern der Hardwarekonfigurationen geändert werden. Der dynamische Bereich 802 kann den Sicherheitsschaltungsaufbau 203, die Prozessoren 235, die IP-Kerne 335 usw. wie hier beschrieben enthalten. Der statische Bereich 801 und der dynamische Bereich 802 können auf einem einzelnen Substrat 206 ausgebildet oder in einer einzelnen Packung verkapselt sein. Eine Vielzahl von Stiften 805 erstreckt sich aus der Packung, um eine elektrische Kommunikation zu und von der gepackten integrierten Schaltung vorzusehen.
  • 9 zeigt ein Verarbeitungsverfahren 900 gemäß einer beispielhaften Ausführungsform. Bei 901 wird eine Eingabe z.B. an dem Hauptprozessor 201 empfangen. Eine Verarbeitungsaufgabe 902 wird durch den Hauptprozessor ausgeführt. Der Hauptprozessor erfordert einige verschlüsselte Informationen und fragt eine Entschlüsselung der Informationen durch den Sicherheitsschaltungsaufbau an. Bei 903 kann der Hauptprozessor 201 eine zweite Verarbeitungsaufgabe ausführen. Bei 905 führt der Sicherheitsschaltungsaufbau 203 eine Entschlüsselung an den angefragten Daten parallel zu der Verarbeitungsaufgabe 903 an dem Hauptprozessor durch. Bei 907 kann der Sicherheitsschaltungsaufbau 203 eine andere Verarbeitungsaufgabe parallel zu der Entschlüsselungsaufgabe 905 des Sicherheitsschaltungsaufbaus 203 und der zweiten Verarbeitungsaufgabe 903 des Hauptprozessors durchführen. Optional kann die zusätzliche Verarbeitungsaufgabe 907 eine Dekompression oder Authentifizierung der verschlüsselten Daten sein. Die zusätzliche Verarbeitung 907 kann auch eine Verarbeitung von anderen Daten wie etwa eine Entschlüsselung, eine Verschlüsselung, eine Authentifizierung, eine Kompression, eine Dekompression usw. sein. Bei 910 sind die Daten von dem Sicherheitsprozessor für den Hauptprozessor verfügbar, der sequentiell die Aufgaben 910 und 912 verarbeitet, um eine Ausgabe 912 vorzusehen. Das vorliegende Verfahren 900 kann also eine parallele Verarbeitung mit dem Sicherheitsschaltungsaufbau und dem Hauptprozessor vorsehen, wobei der Hauptprozessor sequentiell betrieben wird.
  • Die Verarbeitungsaufgaben zwischen dem Hauptprozessor und dem Sicherheitsschaltungsaufbau sind parallel gezeigt, wobei gemäß dem Erfindungsumfang auch eine parallele Verarbeitung innerhalb des Sicherheitsschaltungsaufbaus möglich ist. Der Sicherheitsschaltungsaufbau kann mehrere Verarbeitungskerne wie z.B. umkonfigurierbare IP-Kerne aufweisen. Ein erster Kern kann eine erste Aufgabe durchführen, während parallel dazu zweite, dritte, ... N-te Kerne andere Funktionen durchführen. In einem Beispiel kann der erste Kern eine verschlüsselte Datei oder. einen ersten Block der Datei entschlüsseln. Die anderen Kerne können andere Funktionen wie z.B. das Entschlüsseln einer anderen Datei oder eines anderen Blocks der Datei, das Authentifizieren einer anderen Datei, das Dekomprimieren oder Komprimieren einer Datei oder ähnliches durchführen. Die anderen Kerne können auch einer Umkonfigurationsaufgabe unterworfen werden, die durch eine entschlüsselte Datei und die Umkonfigurationssteuereinrichtung gesteuert wird. In einer anderen beispielhaften Ausführungsform kann der erste Kern eine Binärdatei z.B. blockweise entschlüsseln. Wenigstens ein anderer Kern kann unter Verwendung der entschlüsselten Blöcke umkonfiguriert werden, wenn die Blöcke durch den ersten Kern entschlüsselt werden.
  • 10 ist ein Zeitdiagramm 1000 einer externen Verbindung 1001, des Hauptprozessors 1002 und von zwei IP-Kernen 1003, 1004. Die externe Verbindung 1001 kann ein Kommunikationskanal oder eine Kommunikationseinrichtung außerhalb des gemeinsamen Substrats 1005, auf dem der Hauptprozessor 1001 und die IP-Kerne 1003, 1004 ausgebildet sind, sein. Die externe Verbindung 1001 kann aus den physikalischen Schichten, Servern außerhalb des Fahrzeugs oder anderen elektronischen Einrichtungen oder Einheiten an dem Fahrzeug bestehen. Der Hauptprozessor 1002 kann beliebige der hier beschriebenen Hauptprozessorfunktionen oder -aufbauten aufweisen. Der Hauptprozessor 1002 kann ein Teil des statischen Bereichs 801 in dem Substrat 206 mit Bezug auf 8 sein. Die IP-Kerne 1003, 1004 sind Teil des Sicherheitsschaltungsaufbaus 203 und enthalten umkonfigurierbare Hardware. Die IP-Kerne 1003, 1004 können ein Teil des umkonfigurierbaren Bereichs 802 in dem Substrat 206 mit Bezug auf 8 sein.
  • Der Hauptprozessor 1002 führt eine Aufgabe 0 bei 1010 durch. Die Aufgabe 0 kann eine Vielzahl von Operationen enthalten, die sequentiell in dem Hauptprozessor 1002 durchgeführt werden, wie z.B. durch das Laden von Software in den Prozessor. Zu einem späteren Zeitpunkt gibt der Hauptprozessor 1002 eine Datenanfrage 1011 für durch den Sicherheitsschaltungsaufbau zu verarbeitende Daten aus, die an dem ersten IP-Kern 1003 empfangen wird. Der erste IP-kern 1003 ist für eine erste Periode für das Durchführen der Aufgabe 1 1013 konfiguriert oder umkonfiguriert. Der erste IP-Kern 1003 führt die Aufgabe 1 durch und signalisiert 1015 dann an den Hauptprozessor 1002, dass die Daten bereit sind. Der Hauptprozessor 1002 kann die Daten verwenden, während er die Aufgabe 0 durchführt.
  • Zu einem späteren Zeitpunkt gibt der Hauptprozessor 1002 eine zweite Datenanfrage 1017 für durch den Sicherheitsschaltungsaufbau zu verarbeitende Daten aus, die an dem ersten IP-Kern 1003 empfangen wird. Der erste IP-Kern 1003 ist für eine zweite Zeitperiode für das Durchführen der Aufgabe 2 1019 konfiguriert oder umkonfiguriert. Der erste IP-Kern 1002 führt die Aufgabe 2 1019 durch und signalisiert 1021 dann an den Hauptprozessor 1002, dass die Daten bereit sind. Der Hauptprozessor 1002 kann die Daten verwenden, während er die Aufgabe 0 durchführt.
  • Während der Hauptprozessor 1002 die Aufgabe 0 1010 durchführt, kann der Hauptprozessor 1002 bei 1023 mit der externen Verbindung 1001 kommunizieren und z.B. eine Datenausgabe senden oder eine Anfrage für Daten an die externe Verbindung 1001 ausgeben. Die externe Verbindung 1001 kann die Kommunikation von dem Hauptprozessor verarbeiten und eine Antwortkommunikation bei 1025 vorsehen. Wie gezeigt, erfolgen diese Kommunikationen 1023, 1025 unabhängig voneinander und parallel zu dem Betrieb des IP-Kerns 1003 und seiner Aufgabe 1 1013 oder Aufgabe 2 1019.
  • Während der Aufgabe 0 1010 und der Aufgabe 2 1019 gibt der Hauptprozessor 100S2 eine andere Anfrage 1027 für Daten aus. Der erste IP-Kern 1003 führt weiterhin die Aufgabe 2 1019 durch, sodass die Anfrage 1027 die Aufgabe 3 1029 an dem zweiten IP-Kern 1004 beginnt. Der zweite IP-Kern 1004 ist für eine erste Zeitdauer für das Durchführen der Aufgabe 3 1027 konfiguriert oder umkonfiguriert. Der zweite IP-Kern 1004 führt die Aufgabe 3 1029 durch und signalisiert 1031 dann an den Hauptprozessor 1002, dass die Daten bereit sind. Der Hauptprozessor 1002 kann die Daten verwenden, während er die Aufgabe 0 durchführt. Der zweite IP-Kern 1004 führt die Aufgabe 3 1029 durch, während der Hauptprozessor 1002 mit dem Verarbeiten der Aufgabe 0 1010 fortfährt und während der erste IP-Kern 1003 die Aufgabe 2 1019 und die Aufgabe 4 1035 durchführt.
  • Aus dem Rest des Zeitdiagramms 1000 geht hervor, dass der Hauptprozessor 1002 mit der externen Verbindung 1001 kommunizieren kann, während die umkonfigurierbaren IP-Kerne 1003, 1004 kommunizieren und Aufgaben verarbeiten. Der Hauptprozessor 1002 kann auch anfragen oder befehlen, dass mehrere IP-Kerne 1003, 1004 Daten parallel verarbeiten, z.B. entschlüsseln, verschlüsseln, authentifizieren, dekomprimieren, komprimieren oder ähnliches.
  • Die vorliegenden Aufbauten und Verfahren sehen eine anpassungsfähige Sicherheitsarchitektur mit einem Hardware-Root-of-Trust für zum Beispiel das Erzeugen von Nachrichtensignaturen, das Handhaben von privaten Schlüsseln nur in sicherer Hardware oder das Speichern von Zertifikaten, die nur in sicherer Hardware verschlüsselt und entschlüsselt werden, vor. Die Hardware wie z.B. die Prozessoren 235, 335 können auch Hardware-basierte Firewalldienste vorsehen. Die Prozessoren 235, 335 können auch eine Erzeugung und Speicherung von PUFbasierten Schlüsseln vorsehen.
  • Die vorliegenden Aufbauten und Verfahren sehen eine anpassungsfähige Sicherheitsarchitektur mit einem Hardware-Root-of-Trust für zum Beispiel das Erzeugen von Nachrichtensignaturen, das Handhaben von privaten Schlüsseln nur in sicherer Hardware oder das Speichern von Zertifikaten, die nur in sicherer Hardware verschlüsselt und entschlüsselt werden, vor. Die Hardware wie z.B. die Prozessoren 235, 335 können auch Hardware-basierte Firewalldienste vorsehen. Die Prozessoren 235, 335 können auch eine Erzeugung und Speicherung von PUFbasierten Schlüsseln vorsehen.
  • Die Prozessoren 235, 335 können ein Eindringungserfassungssystem (IDS) für das Überwachen der eingehenden und ausgehenden Kommunikationsaktivität auf dem Bus 210 oder in und aus der ECU 104 oder dem System 300 vorsehen, indem sie verdächtige Muster identifizieren, die auf einen Netzwerk- oder Systemangriff von Daten hinweisen, die versuchen in ein System des Fahrzeugs einzubrechen oder dieses zu manipulieren. In einem Beispiel können die Prozessoren 235, 335 eine Funktion stoppen, sobald das IDS ein mögliches Eindringen erfasst, und können sich selbst umkonfigurieren, wenn sie eine Eindringung erfassen. Die Prozessoren 235, 335 können weiterhin eine sichere Authentifizierung und eine Vertraulichkeit vorsehen, wie z.B. eine Challenge-Response-Authentifizierung, eine digitale Signatur oder einen Fingerabdruck, und können ein sicheres Flashing einschließlich einer Aktualisierung per Funk autorisieren.
  • In einem Beispiel werden alle gespeicherten Daten des Substrats 201, 203, 304 oder in den externen Speichern 360, 361 verschlüsselt gespeichert. Die Prozessoren 235, 335 können die erforderlichen Daten in Echtzeit, bei Bedarf, on-the-fly entschlüsseln, was durch den hohen Durchsatz der beschriebenen Aufbauten und z.B. die Verwendung eines Hardware-Parallelismus ermöglicht wird.
  • Die Verwendung eines auf Hardware basierenden Verschlüsselungs- und Entschlüsselungsschaltungsaufbaus 235 sieht einen hohen Grad an Sicherheit vor, der höher als derjenige einer auf Software basierenden Sicherheit ist. Software-Sicherheitslösungen können anfälliger für Angriffe sein als die hier beschriebenen Hardware-Sicherheitslösungen. Die vorliegenden auf Hardware basierenden Systeme und Verfahren können Roots-of-Trust (RoT) vorsehen, die einen Satz von Funktionen in dem vertrauenswürdigen Rechenmodul, dem immer durch das Betriebssystem des Computers vertraut wird, wie etwa der Steuereinrichtung 201 enthalten. Der Schaltungsaufbau 203 kann als eine separate Rechen-Engine dienen, die als ein kryptografischer Prozessor einer vertrauenswürdigen Rechenplattform in dem Fahrzeug, Computer oder in der mobilen Einrichtung mit dem darin eingebetteten Schaltungsaufbau 203 betrieben wird. Der Schaltungsaufbau 203 kann ein Verschlüsseln, Erfassen und Berichten von unautorisierten Änderungen an dem Betriebssystem oder den Programmen, ein Erfassen von Rootkits und eine Unterstützung einer Hardware-basierten digitalen Rechteverwaltung (DRM) vorsehen und verhindern, dass Programme falsch von oder zu dem Speicher eines anderen Programms gelesen oder geschrieben werden.
  • Es werden hier Aufbauten beschrieben, die kryptografische Funktionen in V2X-Anwendungen implementieren. Die Performanz von bestehenden elektrischen Systemen gestattet die hier beschriebene Funktionalität nicht. Deshalb sehen diese Lösungen einen Schritt nach vorne in der Kraftfahrzeugbranche vor.
  • Die Trennung der Hauptsteuereinrichtung, die einen Prozessor enthalten kann, und des umkonfigurierbaren Bereichs, der Sicherheitsstrukturen implementieren kann, sieht die Fähigkeit für eine Verarbeitung parallel zu dem normalen Betrieb der Steuereinrichtung und der Sicherheitsfunktionen vor. Beliebige der IP-Kerne in dem umkonfigurierbaren Bereich können zu einer anderen Funktionalität in Entsprechung zu gegebenen Umwelt- oder Kommunikationsbedingungen des Fahrzeugs umkonfiguriert werden. Diese Umkonfiguration kann in Entsprechung zu gegebenen Laufzeit-Verarbeitungsanforderungen, die durch die Hauptsteuereinrichtung identifiziert werden, erfolgen. Weiterhin kann der umkonfigurierbare Bereich seine mehreren umkonfigurierbaren Kerne verwenden, um eine parallele Verarbeitung in dem umkonfigurierbaren Bereich vorzusehen. Zum Beispiel kann der umkonfigurierbare Bereich separate Einrichtungen für das gleichzeitige Empfangen von Daten, Entschlüsseln von Daten und Aktualisieren (d.h. Umkonfigurieren) eines IP-Kerns verwenden. Zum Beispiel wird ein erster Block einer binären Datei empfangen und entschlüsselt. Der erste Block kann verwendet werden, um eine Umkonfiguration eines IP-Kerns zu beginnen, während andere IP-Kerne folgende Blöcke der binären Datei empfangen und entschlüsseln.
  • Die vorliegende Erfindung sieht eine parallele Verarbeitung unter Verwendung von zwei Prozessoren vor, von denen einer die der elektronischen Einheit zugewiesenen Aufgaben handhabt und der andere die verarbeitungsintensive (hinsichtlich der Zeit und möglicherweise der Anzahl von Funktionen oder Aktionen) Verschlüsselung/Entschlüsselung und in einigen Ausführungsformen auch die Dekompression/Kompression handhabt. Um die Sicherheit zu vergrößern, können beide Prozessoren, ein Verbindungsbus und ein Speicher auf einem einzelnen Stück eines integrierten Schaltungssubstrats ausgebildet sein. Damit wird es für bösartige Personen schwieriger, Aktionen der Prozessoren durch das Überwachen von Signalen, Wärme, Strompegeln, elektromagnetischer Strahlung usw. zu erkennen. Der erste Prozessor kann eine Vielzahl von Kernen enthalten, die für das Verwalten von Funktionen in Software verantwortlich sind. Der andere Prozessor kann mehrere feldprogrammierbare Kerne enthalten, die für das Verwalten von Funktionen in Hardware verantwortlich sind. Der Verschlüsselungs-/Entschlüsselungsprozessor kann umkonfiguriert werden, sodass er nicht ersetzt zu werden braucht, wenn der aktuelle Hardwarealgorithmus für die Verschlüsselung/Entschlüsselung nicht mehr gültig ist. Weiterhin lädt der andere Prozessor nicht nur einfach Softwarebefehle, sondern konfiguriert seine Hardware um, um den Verschlüsselungs-/Entschlüsselungsalgorithmus auszuführen. Um in einem Beispiel die Verschlüsselung/Entschlüsselung zu aktualisieren und verbesserte Sicherheitsfunktionen vorzusehen, um zum Beispiel einen durch einen Hacking-Angriff verursachten Verlust der Vertrauenszone zu verhindern, empfängt das System eine Binärdatei. Die Binärdatei enthält einige Befehle für die Kerne sowie Spezifikationen für die Verbindungen in dem Schaltungsaufbau des Verschlüsselungs-/Entschlüsselungsprozessors.
  • Die vorstehende Beschreibung nimmt auf ein Fahrzeug Bezug. Ein Fahrzeug ist in einer beispielhaften Ausführungsform ein Auto mit einem Verbrennungsmotor, einen Hybridantrieb, einen Elektromotor oder einen alternative Brennstoffantrieb. Das Fahrzeug kann aber auch ein Lastwagen, ein Militärfahrzeug, ein Luftfahrzeug, ein Boot, ein Schiff oder ein anderes Wasserfahrzeug sein.
  • Die Erfindung wurde allgemein mit Bezug auf Fahrzeuganwendungen beschrieben, wobei die Erfindung aber auch auf andere Gebiete angewendet werden kann, in denen Software, Daten oder Befehle heruntergeladen werden, wie zum Beispiel auf Smartphones, SmartCards oder Kreditkarten, bei denen eine Sicherheit/Vertraulichkeit und Datenkompressionsprotokolle erforderlich sind.
  • Vorstehend wurden beispielhafte Ausführungsformen beschrieben, wobei die Erfindung jedoch nicht auf die hier beschriebenen Ausführungsformen beschränkt ist. Die Beschreibung ist beispielhaft und nicht einschränkend aufzufassen, wobei verschiedene Änderungen an den hier beschriebenen Ausführungsformen vorgenommen werden können, ohne dass deshalb der Erfindungsumfang verlassen wird. Außerdem können Merkmale verschiedener Ausführungsformen kombiniert werden, um weitere Ausführungsformen der Erfindung zu implementieren.

Claims (25)

  1. Elektronische Fahrzeug-Steuereinheit, die umfasst: einen Hauptprozessor, der konfiguriert ist zum Verarbeiten von Aufgaben, die der elektronischen Steuereinheit zugewiesen sind, einen Speicher zum Speichern von Fahrzeugdaten für die Verwendung durch den Hauptprozessor, einen Sicherheitsprozessor, der konfiguriert ist zum Verschlüsseln und Entschlüsseln von Daten aus dem Speicher für die Verwendung durch den Hauptprozessor, wobei der Sicherheitsprozessor eine Verschlüsselung und Entschlüsselung in einem feldprogrammierbaren Hardware-Schaltungsaufbau durchführt, wobei der Sicherheitsprozessor konfiguriert ist zum Verschlüsseln und Entschlüsseln parallel zu dem Hauptprozessor, und ein Substrat, in dem ein Bus definiert ist, der den Hauptprozessor, den Speicher und den Sicherheitsprozessor verbindet.
  2. Elektronische Fahrzeug-Steuereinheit nach Anspruch 1, wobei der Sicherheitsprozessor eine Vielzahl von IP-Kernen enthält, die einen umkonfigurierbaren Schaltungsaufbau zum Zuweisen einer Verschlüsselungs- oder Entschlüsselungsaufgabe zu wenigstens einem aus der Vielzahl von IP-Kernen enthalten.
  3. Elektronische Fahrzeug-Steuereinheit nach Anspruch 2, wobei wenigstens einer der IP-Kerne einen Schaltungsaufbau, der für eine Datendekompression und eine Datenkompression konfiguriert ist, enthält.
  4. Elektronische Fahrzeug-Steuereinheit nach Anspruch 2, wobei die IP-Kerne als Finitzustandsmaschinen, die parallel zu dem Hauptprozessor ausgeführt werden, betrieben werden.
  5. Elektronische Fahrzeug-Steuereinheit nach Anspruch 1, wobei der Sicherheitsprozessor zu einem neuen Verschlüsselungsschema konfiguriert werden kann, indem die Hardware umkonfiguriert wird.
  6. Elektronische Fahrzeug-Steuereinheit nach Anspruch 2, wobei wenigstens einer der IP-Kerne konfiguriert ist, um Sicherheitsgegenmaßnahmen in Laufzeit zu erzeugen.
  7. Elektronische Fahrzeug-Steuereinheit nach Anspruch 6, wobei der IP-Kern für Sicherheitsgegenmaßnahmen einen durch den Hauptprozessor und den Sicherheitsprozessor gezogenen Strom erfasst und Strom verbraucht, um einen im Wesentlichen konstanten Strom an dem Substrat aufrechtzuerhalten und ein Erfassen des Betriebs des Sicherheitsprozessors und des Hauptprozessors zu vereiteln.
  8. Elektronische Fahrzeug-Steuereinheit nach Anspruch 6, wobei der IP-Kern für Sicherheitsgegenmaßnahmen einen Strom in einem zufälligen Muster erzeugt, um Ströme zu und von dem Hauptprozessor und dem Sicherheitsprozessor zu maskieren.
  9. Elektronische Fahrzeug-Steuereinheit nach Anspruch 6, wobei der IP-Kern für Sicherheitsgegenmaßnahmen zufällige elektromagnetische Strahlung ausgibt, um den Betrieb des Hauptprozessors und des Sicherheitsprozessors zu maskieren.
  10. Elektronische Fahrzeug-Steuereinheit nach Anspruch 6, wobei der IP-Kern für Sicherheitsgegenmaßnahmen akustische Informationen erzeugt, um den Betrieb des Hauptprozessors und des Sicherheitsprozessors zu maskieren.
  11. Elektronische Fahrzeug-Steuereinheit nach Anspruch 2, wobei der Hauptprozessor und wenigstens ein IP-Kern an einer Fahrzeug-zu-Fahrzeug-Kommunikation mit zahlreichen Verbindungen teilnehmen, die eine Verzögerung verursachen, die einen Verbindungsfehler in wenigstens einer der Verbindungen zur Folge hat, wobei wenigstens ein zusätzlicher der IP-Kerne konfiguriert ist zum Authentifizieren der Fahrzeug-zu-Fahrzeug-Kommunikationen parallel zu dem Hauptprozessor, wenn eine Verzögerung mit einem Ausfall während der Laufzeit auftritt.
  12. Elektronische Fahrzeug-Steuereinheit nach Anspruch 2, wobei die Hauptsteuereinrichtung einen Befehl dazu, dass ein kryptografischer Code gefährdet ist, empfängt und die Hauptsteuereinrichtung in einen sicheren Modus eintritt, in dem keine kritischen Operationen von empfangenen Daten erlaubt sind, bis eine spezifische sichere Verbindung hergestellt wird und der kryptografische Code in dem Sicherheitsschaltungsaufbau aktualisiert wird.
  13. Elektronische Fahrzeug-Steuereinheit nach Anspruch 1, wobei die Hauptsteuereinrichtung nach einer Bestätigung einer erfolgreichen Aktualisierung von Verschlüsselungs-/Entschlüsselungsalgorithmen durch den Sicherheitsprozessor die gleiche Hardwarealgorithmusaktualisierung zu einer zweiten elektronischen Steuereinheit in einem Fahrzeug sendet, sodass der Hardware-Verschlüsselungs-/Entschlüsselungsalgorithmus auch in der zweiten elektronischen Steuereinheit aktualisiert wird.
  14. Elektronische Steuereinheit, die umfasst: einen Speicher zum Speichern von verschlüsselten Daten und unverschlüsselten Daten, eine Hauptsteuereinheit, die operativ mit dem Speicher verbunden ist, um auf unverschlüsselte Daten zuzugreifen, und eine Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung, die operativ mit dem Speicher verbunden ist, um auf verschlüsselte Daten für eine Entschlüsselung unter Verwendung eines Hardwarealgorithmus zuzugreifen und um auf entschlüsselte Daten für eine Verschlüsselung unter Verwendung des Hardwarealgorithmus zuzugreifen, wobei Daten in dem Speicher durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung unter Verwendung des Hardwarealgorithmus entschlüsselt werden und in dem Speicher für die Verwendung durch die Hauptsteuereinheit gespeichert werden, wobei Daten in dem Speicher durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung unter Verwendung des Hardwarealgorithmus für die Speicherung in dem Speicher durch die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung verschlüsselt werden, und wobei die Hauptsteuereinheit und die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung separate integrierte Schaltungen auf einem einzelnen Substrat sind, wobei ein Bus den Speicher mit der Hauptsteuereinheit und der Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung verbindet, und Daten parallel verarbeiten.
  15. Elektronische Steuereinheit nach Anspruch 14, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine feldprogrammierbare Einrichtung oder eine programmierbare Logik ist.
  16. Elektronische Steuereinheit nach Anspruch 15, wobei die Hauptsteuereinheit eine Hardwarealgorithmusaktualisierung in einer komprimierten, verschlüsselten Datendatei empfängt und die Hardwarealgorithmusaktualisierung zu dem Speicher sendet, wobei die feldprogrammierbare Einrichtung die Hardwarealgorithmusaktualisierung dekomprimiert und entschlüsselt und wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung die entschlüsselte Hardwareaktualisierung verwendet, um den Hardwarealgorithmus in der Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung zu aktualisieren, während die Hauptsteuereinheit andere Softwareaufgaben verarbeitet.
  17. Elektronische Steuereinheit nach Anspruch 14, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung einen umkonfigurierbaren Speicher enthält, um einen Flash-Speicher oder einen RAM zu bilden.
  18. Elektronische Steuereinheit nach Anspruch 14, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung ein feldprogrammierbares Gate-Array enthält.
  19. Elektronische Steuereinheit nach Anspruch 18, wobei die Hauptsteuereinheit eine Aktualisierung für den Hardwarealgorithmus in dem feldprogrammierbaren Gate-Array enthält.
  20. Elektronische Steuereinheit nach Anspruch 19, wobei die Aktualisierung ein neuer Kryptografiealgorithmus in Laufzeit ist.
  21. Elektronische Steuereinheit nach Anspruch 19, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen enthält, wobei die Aktualisierung wenigstens einen der IP-Kerne löscht und einen neuen Hardwarealgorithmus installiert.
  22. Elektronische Steuereinheit nach Anspruch 19, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen enthält, wobei die Aktualisierung einen weiteren IP-Kern zu dem Hardwarealgorithmus in der Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung hinzufügt.
  23. Elektronische Steuereinheit nach Anspruch 19, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen enthält, wobei die Aktualisierung einen IP-Kern aus der Hardwareplatzierung in der Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung entfernt.
  24. Elektronische Steuereinheit nach Anspruch 19, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung eine Vielzahl von IP-Kernen enthält, wobei die Aktualisierung eine spezifische Verarbeitung eines IP-Kerns in Laufzeit ändert, während andere Prozessoren parallel betrieben werden.
  25. Elektronische Steuereinheit nach Anspruch 14, wobei die Hardware-Verschlüsselungs-/Entschlüsselungseinrichtung für einen neuen Prozess umkonfiguriert wird, während die Hauptsteuereinheit mit dem Verarbeiten von anderen Daten fortfährt.
DE102017124399.2A 2017-01-27 2017-10-19 Hardware-sicherheit für eine elektronische steuereinheit Withdrawn DE102017124399A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/418,061 2017-01-27
US15/418,061 US10664413B2 (en) 2017-01-27 2017-01-27 Hardware security for an electronic control unit

Publications (1)

Publication Number Publication Date
DE102017124399A1 true DE102017124399A1 (de) 2018-08-02

Family

ID=62842991

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102017124399.2A Withdrawn DE102017124399A1 (de) 2017-01-27 2017-10-19 Hardware-sicherheit für eine elektronische steuereinheit

Country Status (3)

Country Link
US (2) US10664413B2 (de)
CN (1) CN108363347B (de)
DE (1) DE102017124399A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017219242A1 (de) * 2017-10-26 2019-05-02 Audi Ag Ein-Chip-System, Verfahren zum Betrieb eines Ein-Chip-Systems und Kraftfahrzeug
WO2020260573A1 (de) * 2019-06-27 2020-12-30 Audi Ag Steuergerät für ein kraftfahrzeug und kraftfahrzeug

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10664413B2 (en) * 2017-01-27 2020-05-26 Lear Corporation Hardware security for an electronic control unit
US10897469B2 (en) * 2017-02-02 2021-01-19 Nio Usa, Inc. System and method for firewalls between vehicle networks
KR102309429B1 (ko) * 2017-03-20 2021-10-07 현대자동차주식회사 차량 및 그 제어 방법
US11570621B2 (en) * 2017-05-29 2023-01-31 Lg Electronics Inc. V2X communication device and secured communication method thereof
WO2018230280A1 (ja) * 2017-06-14 2018-12-20 住友電気工業株式会社 車外通信装置、通信制御方法および通信制御プログラム
US11108542B2 (en) * 2017-07-07 2021-08-31 Board Of Regents Of The Nevada System Of Higher Education, On Behalf Of The University Of Nevada, Reno Multi-processor automotive electronic control unit
RU2748163C1 (ru) * 2017-09-28 2021-05-20 Гуандун Оппо Мобайл Телекоммьюникейшнз Корп., Лтд. Способ беспроводной связи и терминальное устройство
US10594666B2 (en) * 2017-12-19 2020-03-17 Micron Technology, Inc. Secure message including a vehicle private key
US11005649B2 (en) * 2018-04-27 2021-05-11 Tesla, Inc. Autonomous driving controller encrypted communications
US10432405B1 (en) * 2018-09-05 2019-10-01 Accelor Ltd. Systems and methods for accelerating transaction verification by performing cryptographic computing tasks in parallel
US10404473B1 (en) 2018-09-05 2019-09-03 Accelor Ltd. Systems and methods for processing transaction verification operations in decentralized applications
US10333694B1 (en) 2018-10-15 2019-06-25 Accelor Ltd. Systems and methods for secure smart contract execution via read-only distributed ledger
DE102018130177A1 (de) * 2018-11-28 2020-05-28 Infineon Technologies Ag Ausführen von kryptographischen Operationen in einer Steuereinheit eines Fahrzeugs
JP7141942B2 (ja) * 2018-12-18 2022-09-26 ルネサスエレクトロニクス株式会社 半導体装置および電子制御装置
US10673439B1 (en) 2019-03-27 2020-06-02 Xilinx, Inc. Adaptive integrated programmable device platform
US11323435B2 (en) * 2019-05-08 2022-05-03 The Boeing Company Method and apparatus for advanced security systems over a power line connection
CN110427206B (zh) * 2019-07-18 2022-10-28 中国船舶重工集团公司第七0七研究所 一种基于zynq的算法动态更新方法
US11470471B2 (en) 2019-07-19 2022-10-11 Rosemount Aerospace, Inc. Wireless baseband signal transmission with dynamic control logic to improve security robustness
CN112311731A (zh) * 2019-07-29 2021-02-02 联合汽车电子有限公司 车载处理器、车载控制器及通信方法
US20210051010A1 (en) * 2019-08-16 2021-02-18 PUFsecurity Corporation Memory Device Providing Data Security
US11509633B2 (en) 2019-10-21 2022-11-22 Rosemount Aerospace, Inc. Dynamic security approach for WAIC baseband signal transmission and reception
US11580057B2 (en) * 2019-10-28 2023-02-14 Xilinx, Inc. Subsystem for configuration, security, and management of an adaptive system
DE102020001199A1 (de) * 2020-02-25 2021-08-26 Daimler Ag Kommunikationsvorrichtung und Verfahren zur kryptografischen Absicherung der Kommunikation
US20210406359A1 (en) * 2020-06-26 2021-12-30 Nxp Usa, Inc. System and Method to Support Multiple Security Schemes in an Embedded System
CN112181513B (zh) * 2020-09-14 2023-04-21 国电南瑞科技股份有限公司 一种基于硬件板卡的控制主机系统引导的可信度量方法
US11386204B2 (en) * 2020-09-24 2022-07-12 Intel Corporation Agile reconfigurable approach for real-time replacement of on-chip safety-critical modules
CN112199324A (zh) * 2020-10-27 2021-01-08 南京大学 一种针对多种加解密计算的可重构加速核心系统及其加速方法
JP7464013B2 (ja) * 2021-07-05 2024-04-09 トヨタ自動車株式会社 センタ、otaマスタ、方法、プログラム、及び車両
CN113590160A (zh) * 2021-08-13 2021-11-02 北京经纬恒润科技股份有限公司 一种软件在线升级方法及多核ecu
CN115720179A (zh) * 2021-08-24 2023-02-28 西南大学 车载网络安全混合芯片
CN114499958B (zh) * 2021-12-24 2024-02-09 东软睿驰汽车技术(沈阳)有限公司 控制方法及装置、车辆及存储介质
WO2023241954A1 (de) * 2022-06-13 2023-12-21 Audi Ag Verfahren zum hinweisen auf einen angriff
CN115348363A (zh) * 2022-08-15 2022-11-15 西安万像电子科技有限公司 一种基于国密算法的加/解密芯片、方法、设备和介质

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2884520A (en) * 1952-07-26 1959-04-28 Lambert Ray Interference degenerators
US5742677A (en) * 1995-04-03 1998-04-21 Scientific-Atlanta, Inc. Information terminal having reconfigurable memory
US5323315A (en) * 1991-08-02 1994-06-21 Vintek, Inc. Computer system for monitoring the status of individual items of personal property which serve as collateral for securing financing
JP3747520B2 (ja) * 1996-01-30 2006-02-22 富士ゼロックス株式会社 情報処理装置及び情報処理方法
US5957985A (en) * 1996-12-16 1999-09-28 Microsoft Corporation Fault-resilient automobile control system
CN1289196A (zh) * 1999-09-21 2001-03-28 刘劲彤 一种无线数据传输装置和编码方法
CA2404011A1 (en) * 2000-03-24 2001-10-04 Richard F. Rudolph Rfid tag for authentication and identification
US6765497B2 (en) * 2000-12-18 2004-07-20 Motorola, Inc. Method for remotely accessing vehicle system information and user information in a vehicle
DE10101972A1 (de) 2001-01-17 2002-07-25 Siemens Ag Vorrichtung mit einem Steuergerät und einem nicht-flüchtigen Speicher sowie Verfahren zum Betreiben einer solchen Vorrichtung
JP2002362435A (ja) * 2001-06-01 2002-12-18 Mitsubishi Electric Corp 車両用ドライブレコーダおよびそのデータ読出装置
DE10238093B4 (de) 2002-08-21 2007-10-18 Audi Ag Fahrzeug-Steuergerät
US20040193764A1 (en) 2003-03-27 2004-09-30 Sony Corporation PC card with standalone functionality
US7940932B2 (en) 2004-04-08 2011-05-10 Texas Instruments Incorporated Methods, apparatus, and systems for securing SIM (subscriber identity module) personalization and other data on a first processor and secure communication of the SIM data to a second processor
JP4469892B2 (ja) * 2004-04-29 2010-06-02 バイエリッシェ モートーレン ウエルケ アクチエンゲゼルシャフト 車両内の制御機器の認証
US7466223B2 (en) * 2004-05-21 2008-12-16 Pips Technology, Inc. Automated site security, monitoring and access control system
CN100463393C (zh) 2004-08-20 2009-02-18 中兴通讯股份有限公司 一种异构系统之间数据安全共享的装置及方法
US7757294B1 (en) * 2004-08-27 2010-07-13 Xilinx, Inc. Method and system for maintaining the security of design information
US20060155439A1 (en) * 2005-01-12 2006-07-13 Slawinski John A System and method for using a vehicle's key to collect vehicle data and diagnose mechanical problems, to store and compare security data to allow only authorized use of vehicles and a method to automatically set vehicle features usng the key
CN1908833A (zh) 2006-06-09 2007-02-07 山西科泰微技术有限公司 煤矿安全数据记录存储装置
DE102007004280A1 (de) 2007-01-23 2008-07-24 Siemens Ag Ein-Chip-Computer und Tachograph
ES2391786T3 (es) 2007-02-13 2012-11-29 Secunet Security Networks Aktiengesellschaft Unidad de seguridad
CN100585646C (zh) * 2007-06-01 2010-01-27 重庆集诚汽车电子有限责任公司 一种汽车发动机锁止电子防盗系统
JP2009027491A (ja) 2007-07-20 2009-02-05 Seiko Epson Corp 車両セキュリティシステム
US8188860B2 (en) 2007-10-22 2012-05-29 Infineon Technologies Ag Secure sensor/actuator systems
US8775824B2 (en) * 2008-01-02 2014-07-08 Arm Limited Protecting the security of secure data sent from a central processor for processing by a further processing device
DE102008042259A1 (de) 2008-09-22 2010-04-08 Bundesdruckerei Gmbh Kraftfahrzeug-Elektronikgerät, Kraftfahrzeug, Verfahren zur Anzeige von Daten auf einer Kraftfahrzeug-Anzeigevorrichtung und Computerprogrammprodukt
US20100185843A1 (en) 2009-01-20 2010-07-22 Microsoft Corporation Hardware encrypting storage device with physically separable key storage device
WO2010105210A2 (en) * 2009-03-12 2010-09-16 Comsys Communication & Signal Processing Ltd. Vehicle integrated communications system
CN101559745B (zh) 2009-05-15 2011-03-02 华南理工大学 一种防盗抢的车辆控制系统及其实现方法
DE102010028375A1 (de) * 2010-04-29 2011-11-03 Robert Bosch Gmbh Schutz vor kryptoanalytischen Seitenkanalattacken
DE102010034976A1 (de) 2010-08-20 2012-02-23 Hella Kgaa Hueck & Co. Anordnung zur Berechtigungskontrolle, insbesondere für Kraftfahrzeuge
EP2423887A1 (de) * 2010-08-26 2012-02-29 OBD Tuning GmbH Portable Vorrichtung zur Veränderung von Betriebsparameterwerten und/oder Firmware von elektronischen Steuerungseinrichtungen von Kraftfahrzeugen
WO2012101721A1 (ja) * 2011-01-25 2012-08-02 三洋電機株式会社 通信装置
DE102011014688B3 (de) 2011-03-22 2012-03-22 Audi Ag Kraftwagen-Steuergerät mit kryptographischer Einrichtung
CN102131190A (zh) 2011-03-31 2011-07-20 华为终端有限公司 一种移动终端加密的方法、硬件加密器件及移动终端
US9916538B2 (en) * 2012-09-15 2018-03-13 Z Advanced Computing, Inc. Method and system for feature detection
CN202453947U (zh) * 2011-12-02 2012-09-26 杭州中正生物认证技术有限公司 车载驾培终端及系统
US8856538B2 (en) * 2012-07-27 2014-10-07 GM Global Technology Operations LLC Secured flash programming of secondary processor
DE102012015940A1 (de) 2012-08-10 2014-02-13 Audi Ag Verfahren zum Betreiben eines Kraftwagens
US20140210646A1 (en) * 2012-12-28 2014-07-31 Balu Subramanya Advanced parking and intersection management system
CN103287359B (zh) 2013-04-25 2015-04-29 华南农业大学 一种纯电动汽车能耗检测方法
US9798901B2 (en) * 2013-04-30 2017-10-24 Nxp Usa, Inc. Device having a security module
US9100944B2 (en) * 2013-08-28 2015-08-04 Qualcomm Incorporated Wireless connecting mobile devices and wearable devices
US9226119B2 (en) * 2013-11-20 2015-12-29 Qualcomm Incorporated Using sensor data to provide information for proximally-relevant group communications
US9530294B2 (en) * 2013-12-23 2016-12-27 Intel Corporation Methods and apparatus for pairing items for security
DE102013227184A1 (de) * 2013-12-27 2015-07-02 Robert Bosch Gmbh Verfahren zur Absicherung eines Systems-on-a-Chip
CN103825737B (zh) * 2013-12-30 2017-05-17 北京金玉衡科技有限责任公司 用于工业控制系统在线升级的安全装置、系统及方法
US9915950B2 (en) * 2013-12-31 2018-03-13 Polysync Technologies, Inc. Autonomous vehicle interface system
US10248428B2 (en) * 2014-04-28 2019-04-02 Intel Corporation Securely booting a computing device
US9407635B2 (en) * 2014-05-16 2016-08-02 The Boeing Company Vehicle data delivery
US10103889B2 (en) * 2014-09-26 2018-10-16 Intel Corporation Securely exchanging vehicular sensor information
MX357454B (es) * 2015-07-16 2018-06-26 Inst Tecnologico Y De Estudios Superiores De Occidente A C Sistema y método para la reprogramación de dispositivos ecu (unidades electrónicas de control) en vehiculos, vía radio digital.
CN205334222U (zh) 2015-12-30 2016-06-22 上海理工大学 基于智能移动设备的汽车ecu信息监控系统
US9946744B2 (en) * 2016-01-06 2018-04-17 General Motors Llc Customer vehicle data security method
US10212185B1 (en) * 2016-02-22 2019-02-19 The Regents Of The University Of California Defending side channel attacks in additive manufacturing systems
US9870665B2 (en) * 2016-06-03 2018-01-16 Volkswagen Aktiengesellschaft Apparatus, system and method for vehicle access and function control utilizing a portable device
US10284525B2 (en) * 2016-07-11 2019-05-07 Honeywell Lntemational Inc. Cross-domain data-gate for secure transmission of data over publicly shared datalinks
US10285051B2 (en) * 2016-09-20 2019-05-07 2236008 Ontario Inc. In-vehicle networking
US10664413B2 (en) * 2017-01-27 2020-05-26 Lear Corporation Hardware security for an electronic control unit

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102017219242A1 (de) * 2017-10-26 2019-05-02 Audi Ag Ein-Chip-System, Verfahren zum Betrieb eines Ein-Chip-Systems und Kraftfahrzeug
US11783093B2 (en) 2017-10-26 2023-10-10 Audi Ag Single-chip system, method for operating a single-chip system, and motor vehicle
WO2020260573A1 (de) * 2019-06-27 2020-12-30 Audi Ag Steuergerät für ein kraftfahrzeug und kraftfahrzeug
DE102019209355A1 (de) * 2019-06-27 2020-12-31 Audi Ag Steuergerät für ein Kraftfahrzeug und Kraftfahrzeug

Also Published As

Publication number Publication date
CN108363347B (zh) 2021-07-20
US10664413B2 (en) 2020-05-26
US11314661B2 (en) 2022-04-26
CN108363347A (zh) 2018-08-03
US20200250108A1 (en) 2020-08-06
US20180217942A1 (en) 2018-08-02

Similar Documents

Publication Publication Date Title
DE102017124399A1 (de) Hardware-sicherheit für eine elektronische steuereinheit
US11709950B2 (en) Security system and method for protecting a vehicle electronic system
US20220366032A1 (en) System and method for controlling access to an in-vehicle communication network
DE102016123276B4 (de) Verfahren zur kommunikation über eine bluetooth low energy (ble)-verbindung in einem fahrzeug
EP1959606B1 (de) Sicherheitseinheit
EP1964316B1 (de) Sicheres system-auf-chip
DE102019103890A1 (de) Vertrauenswürdige Übertragung des Besitzes von Peripherievorrichtungen
EP3625950B1 (de) Datenverarbeitungseinrichtung, gesamtvorrichtung und verfahren zum betrieb einer datenverarbeitungseinrichtung oder gesamtvorrichtung
DE102017102539A1 (de) Sicheres tunneln für sicherheit verbundener anwendungen
DE202015009800U1 (de) Sicherheits-Plug-In für eine System-on-a-Chip-Plattform
Han et al. A statistical-based anomaly detection method for connected cars in internet of things environment
Alam Securing vehicle Electronic Control Unit (ECU) communications and stored data
DE102018109080A1 (de) Systeme und verfahren zum verwenden mechanischer schwingung für ausserbandkommunikationen an bord eines fahrzeugs
CN115088232A (zh) 数据加密的方法、数据传输的方法、相关装置以及设备
Oyler et al. Security in automotive telematics: a survey of threats and risk mitigation strategies to counter the existing and emerging attack vectors
CN116800531A (zh) 一种汽车电子电气架构及安全通信方法
EP3556071B1 (de) Verfahren, vorrichtung und computerlesbares speichermedium mit instruktionen zum signieren von messwerten eines sensors
DE102012219093A1 (de) Cyber-Sicherheit in einem Kraftfahrzeugnetzwerk
EP3682317B1 (de) Verfahren zum betrieb einer berührungssensitiven, flächigen eingabevorrichtung einer gesamtvorrichtung und gesamtvorrichtung
EP1455312B1 (de) Verfahren und Einrichtung zur Wartung von sicherheitsrelevanten Programmcode eines Kraftfahrzeuges
Lang et al. Security Evolution in Vehicular Systems
DE102020204059A1 (de) Verfahren zur Behandlung einer Anomalie von Daten, insbesondere bei einem Kraftfahrzeug
DE102021201572A1 (de) Techniken zum update einer software-komponente
Chugg et al. Impacts of Vehicle (In) Security

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee