Doppelte Sicherheit in der Architektur verankert
Mehrere Dutzend Systeme teilen sich im Auto die oftmals echtzeitrelevanten und sicherheitsrelevanten Daten auf den Übertragungsbussen. Zur Umsetzung der Sicherheitsanforderungen derartiger Systeme müssen die entsprechenden Mikrocontroller sowohl in punkto Betriebs- und Funktionssicherheit (Safety) als auch in punkto Datensicherheit (Safety) die passenden Funktionalitäten bieten. Mit ihrer Safety-Architektur und dem flexiblen Hardware Security Module (HSM) liefert die AURIX-Familie exakt diese Unterstützung, sodass sich diese MCUs auch für zukünftige Entwicklungen in der Netzwerkarchitektur eignen.
Während zu Beginn der Elektrifizierung nur Punkt-zu-Punkt-Kommunikation einzelner Fahrzeugsysteme nötig war, haben heute schon Kompaktfahrzeuge ein Netzwerk, das komplexer ist als die IT-Infrastruktur eines mittelständischen Unternehmens. Mehrere Dutzend Systeme teilen sich im Auto die oftmals echtzeitrelevanten und sicherheitsrelevanten Daten auf den Übertragungsbussen. Gateways regeln den Datenverkehr der verschiedenen Subsysteme, Multimediasignale und Kommunikation zwischen Sensor und Aktuator. Bald wird Internetanschluss zum Standard und Smartphones können ins Netzwerk eingebunden werden.
Kamera- und radarbasierende Fahrerassistenzsysteme, die heute dezentral die Daten auswerten, werden in Zukunft die kompletten Bilddaten an zentrale Sensor-Fusion-Systeme kommunizieren. Diese berechnen dann die vollständige Fahrzeugumgebung als Modell, um autonome Fahrentscheidungen treffen zu können. Außerdem wird das Fahrzeug Daten von vorausfahrenden Fahrzeugen an die Zentralsysteme übermitteln und aus dem Internet Infrastrukturdaten empfangen; das Auto der Zukunft wird ein Teil der Internet-Cloud. Das macht die Weiterentwicklung des Netzwerks notwendig.
Im Fahrzeug ist Ethernet bereits seit einiger Zeit als neue Hochgeschwindigkeitskommunikationstechnologie im Einsatz. Bisher dient es in erster Linie als Zugang zum zentralen Gateway und wird in der Produktion und während der Wartung genutzt. Ethernet ermöglicht eine schnelle Übertragung von Diagnosesignalen und bietet eine hohe Bandbreite bei der Übertragung der immer größeren Flashprogrammdaten an die Mikrocontroller. Zusammen mit den komplementären Schnittstellen Flexray und CAN sind die paketbasierenden Ethernet-Protokolle in Zukunft eine ideale Weiterentwicklung für den sogenannten Backbone, eine Datenübertragungsleitung mit hoher Bandbreite und Flexibilität. Sie werden den steigenden Bedarf zur Verbindung der einzelnen Domänen Infotainment, Powertrain, Body, Safety und in den Fahrerassistenzsystemen abdecken. Die Sicherheit bleibt weiterhin ein zentrales Anliegen der Netzwerkentwicklung; wie schon bei CAN und Flexray. (Bild 1)
Sicherheit = Safety + Security
Das Wort Sicherheit beschreibt den Schutz gegen einen ungewollten Zustand; im Englischen wird zwischen „Safety“ und „Security“ unterschieden. Safety stellt den Schutz gegen unabsichtliche Abweichungen von der ursprünglichen Designspezifikation dar, während Security den Schutz gegen absichtliche Abweichungen beschreibt. Daraus ergibt sich auch die unterschiedliche Beschreibung des Risikos: Für Safety wird das Risiko über den möglichen Schaden eines Fehlverhaltens und über die Wahrscheinlichkeit des Schadenfalls definiert. Im Vordergrund stehen die Integrität der elektrischen Systeme und der Fahrzeugkommunikation beziehungsweise eine geringe Ausfallwahrscheinlichkeit der Systeme. Bei Security steht dagegen der notwendige Aufwand im Vordergrund, mit dem ein definiertes Fehlverhalten ausgelöst wird, um dann unerlaubt beispielsweise Daten zu manipulieren oder abzuhören. Neben der Integrität der Systeme rücken damit auch Vertraulichkeit, Verbindlichkeit, Authentizität und Datenverfügbarkeit als Eigenschaften in den Mittelpunkt.
Während es bei Security noch keinen automobilen Standard gibt, definiert die ISO 26262 den Begriff „Functional Safety“, die funktionale Sicherheit für Fahrzeuge, als „die Abwesenheit von nicht akzeptablen Risiken, die aus dem fehlfunktionierenden Verhalten von elektrischen und elektronischen Systemen resultieren können“. Die Norm gibt eine Richtlinie vor, wie sicher Systeme gegen zufällige Fehler sein müssen. Für Systeme, bei denen das Risiko besteht, dass potenzielle Fehlfunktionen Gefahr für Leib und Leben bedeutet, definiert die Norm ASIL-Stufen (ASIL: Automotive Safety Integrety Level) von A bis D. ASIL-D ist die höchste Stufe und stellt die größten Anforderungen an die Systementwicklung. ASIL-D-Sicherheitsziele sind in einer Reihe von Systemen notwendig, zu denen beispielsweise Airbag-, Brems- und elektrische Lenksysteme, aber auch Steuerungen von Elektro- und Hybridantrieben sowie Batterie- und Lademanagementsysteme gehören (Bild 2).
Sichere Kommunikation
Bei der Kommunikation innerhalb des Fahrzeugs spielt die Funktionale Sicherheit schon lange eine Rolle. Protokolle wie CAN, Flexray und Ethernet übertragen mit jeder Nachricht eine Prüfsumme als Teil des Protokolls, den „Cyclic Reduncancy Check“ (CRC, zyklische Redundanzprüfung) um sicher zu stellen, dass die Übertragung auf den Bussen fehlerfrei erfolgte. Abhängig von der Datenmenge und den Safety-Anforderungen gibt es verschiedene Algorithmen, um den CRC zu ermitteln. Sollte der Grad der vom Protokoll zur Verfügung gestellten Absicherung nicht ausreichen, ist es möglich, einen zusätzlichen CRC in das übermittelte Datenpaket einzubauen. Dies ist oft bei Systemen mit höheren ASILs notwendig, da die verwendeten Übertragungswege in sich selbst den hohen Safety-Anforderungen nicht genügen. Durch den zusätzlichen CRC kann das empfangene System überprüfen, ob die Integrität während der Übertragung erhalten blieb und damit eine sogenannte End-to-End-Protection ermöglichen.
Mikrocontroller (MCUs) bilden mit ihren Logik-, Rechen-, Speicher- und Mixed-Signal-Technologie zusammen mit der Software das Gehirn von Steuergeräten. Damit sind MCUs Schlüsselkomponenten in elektronischen Systemen. Mikrocontroller übernehmen die Steuerung und Regelung von Abläufen, die Kommunikation mit anderen Systemen, Aktuatoren und Sensoren sowie Überwachungs- und Sicherheitsaufgaben. Dabei wird nicht nur die Sicherheit des Mikrocontrollers an sich überwacht sondern auch andere Komponenten im Steuergerät (zum Beispiel Sensoren und Aktuatoren) oder andere Steuergeräte.
Der Mikrocontroller als Ganzes im System
Die Mikrocontrollerfamilie AURIX ermöglicht einen ganzheitlichen, flexiblen Sicherheitsansatz im Sinne von Safety und Security. Bei den CPUs setzt die AURIX-Familie auf eine Lockstep-Architektur, bei der zwei Kerne zeitversetzt dieselben Rechnungen ausführen, um Berechnungsfehler umgehend zu erkennen. Locksteps sind aber nur ein kleiner Teil einer ASIL-D-fähigen Safety-Mikrocontroller-Architektur. Auch mehrstufige Speicher- und Zugriffsschutz-Mechanismen sind erforderlich: die sogenannte Memory Protection (Speicherschutz) und Peripheral Protection (Schutz der Peripherie). Hiermit lassen sich fehlerhafte Zugriffe auf CPU-Speicher, Busse und sogar auf einzelne Peripherie-Elemente unterbinden. Die Speicher selbst sind mit einer Kombination von Fehler-Detektion (Error Detection Code) und Fehler-Korrektur (Error Correction Code) abgesichert. Clockmonitoring, sichere DMAs, sichere Interrupt-Controller runden die auf ISO 26262 abgestimmte Architektur ab. Bei der Safety-Architektur werden also sämtliche funktionalen Bestandteile des Mikrocontrollers in Betracht gezogen.
Security eingebaut
Für Systeme, bei denen nicht nur Safety sondern auch Security im Mittelpunkt steht, bietet die AURIX-Familie flexible Security-Funktionen, um Anforderungen für sichere Kommunikation und Manipulationsschutz gezielt abdecken zu können. Diese ist abgestimmt auf Batterie- und Lademanagement-Anwendungen sowie Wegfahrsperre, Tachomanipulation und IP-Schutz. Beim Design des Mikrocontrollers hat Infineon aber auch neue, bisher nur theoretische Angriffsszenarien in Betracht gezogen, die sich durch die zukünftige Vernetzung ergeben können. Die Security-Architektur hat das Ziel, die Hürden für Attacken so weit nach oben zu setzen, dass zum Beispiel der kommerzielle Aspekt für Angreifer uninteressant wird.
Von SHE zu HSM
Infineon implementierte bereits in der TriCore-Familie AUDO NG einen Schutz gegen unerlaubten Zugriff auf Flash-Speicher sowie gegen unerlaubtes Debuggen über das integrierte Tool Interface JTAG/DAP. Damit lässt sich das unerlaubte Tunen des Fahrzeugs verhindern. In der AUDO-MAX-Familie kam die Secure Hardware Extension (SHE) hinzu, um zum Beispiel den Schutz gegen Tachomanipulationen zu erhöhen und Anforderungen für Wegfahrsperren gerecht zu werden.
Bei der neuen AURIX-Familie wurde mit dem Hardware Security Modul (HSM) ein neuer Weg eingeschlagen: Das HSM kann wie ein eigenständiges Mikrocontroller-Subsystem im Mikrocontroller fungieren (Bild 3). Es wird durch eine Firewall von der TriCore-Architektur getrennt und stellt den vertrauenswürdigen Bereich auf dem Chip dar. Das HSM basiert auf einem vom Anwender programmierbaren 100-MHz-Prozessorkern mit eigenem Flash- und RAM-Speicher. In diese können vertrauliche Informationen wie Security-Applikationen, Daten und kryptographische Schlüssel abgelegt werden. Ein AES-Modul beschleunigt die Ver- und Entschlüsselung und die Generierung von Hashwerten, den kryptographischen Prüfsummen. Der Zufallsnummerngenerator in Hardware, der zum Beispiel die Generierung von Session-Schlüsseln unterstützt, rundet das Feature-Set ab.
Systemintegrität treibt die Leistungsfähigkeit des HSM
Getrieben von der Anforderung, beim Booten des Microcontrollers den Flashspeicher auf Integrität gegen Manipulationen zu prüfen, kann das HSM über 200 Mbit in der Sekunde verarbeiten. Mit dieser Leistungsfähigkeit kann es auch den Datendurchsatz von Ethernet, Flexray und CAN verarbeiten.
Die CRC-Prüfsummen, die für die funktionale Sicherheit genutzt werden, sind nur dafür geeignet, unbeabsichtigte Fehler zu erkennen. Experten können mit relativ wenig Aufwand Daten und CRC so manipulieren, dass diese trotz Änderung als richtig erkannt werden. Weiterhin werden Daten heute überwiegend im Klartext übertragen, sodass jeder Teilnehmer die auf dem Bus übertragenen Daten belauschen kann. Das HSM bietet Möglichkeiten, Prüfsummen zu generieren, die fälschungssicher sind, oder auch den kompletten Datenverkehr zu verschlüsseln und für Außenstehende unlesbar zu machen (Bild 4).
Kommunikation: verschlüsselt oder signiert?
Stehen bei der Übertragung der Daten Eigenschaften wie Authentizität und Integrität im Vordergrund, reicht die Signierung der Daten im Allgemeinen aus. Hierfür berechnet das HSM mit einem geheimen Schlüssel, der dem übertragenden und dem empfangenden System bekannt ist, eine eindeutige Signatur. Die Signatur kann auch mit einer laufenden Nummer berechnet werden. Damit lassen sich Wiederholungsattacken abwehren, bei denen bereits bekannte Nachrichten nochmals übertragen werden. Durch die Signatur stellt der Empfänger sicher, dass die Daten von einem autorisierten System gesendet und auf dem Übertragungsweg nicht verändert wurden.
Steht Vertraulichkeit der Daten im Fokus, um zum Beispiel Flashdaten oder Tachometerinformationen vor sogenannten Man-In-The-Middle-Attacken zu schützen, kann das HSM die Datenübertragung auch vollständig verschlüsseln. Bei Man-In-The-Middle-Attacken wird der Datenverkehr abgefangen, manipuliert und dann weiter übertragen.
Asymmetrisch versus symmetrisch
Zur Verschlüsselung und Signatur stehen zwei Basisverfahren zur Verfügung. Ist es nötig, viele Daten mit hoher Bandbreite zu verarbeiten, lässt sich ein Hardware-Beschleuniger für das symmetrische AES-Verfahren nutzen. Andere symmetrische Verschlüsselungsverfahren können bei Bedarf in Software berechnet werden. Die symmetrischen Verfahren setzen aber voraus, dass Sender und Empfänger denselben Schlüssel kennen. (Bild 5)
Sollte dies aus Anwendungssicht unvorteilhaft sein, zum Beispiel bei Werkstattzugängen zum Auslesen von Diagnosedaten, dann kommen asymmetrische Verfahren wie RSA zur Anwendung. Bei diesen gibt es einen Public Key (einen öffentlichen Teil des Geheimnisses) und einen Private Key, ein privates Geheimnis. Daten, die mit dem Public Key verschlüsselt wurden, können nur mit dem Private Key entschlüsselt werden. Im Allgemeinen wird das RSA-Verfahren nur zum Beginn der Kommunikation zweier Systeme und zur Vereinbarung eines symmetrischen Schlüsselpaars für die aktuelle Kommunikation genutzt, da die asymmetrische Kommunikation nicht hardware-beschleunigt ist, sondern auf dem HSM-Core in Software gerechnet werden muss. Nach Vereinbarung des symmetrischen Session-Keys kann dann die Kommunikation mit dem schnelleren AES-Verfahren erfolgen.
Grundsätzlich besteht die Möglichkeit, die komplette Kommunikation über das HSM abzuwickeln. Im Allgemeinen wird aber ein anderes Vorgehen genutzt. Das HSM dient in erster Linie als Monitor für Integrität, Authentizität und Vertraulichkeit. Sollte die Applikation verschlüsselte oder signierte Daten senden, fordert sie vom HSM durch das Setzen eines speziellen Registers eine Dienstleistung an. Da der Applikationsteil des Mikrocontrollers nicht auf die HSM-Bereiche zugreifen darf, prüft das HSM selbst, welche Dienstleistung gefordert wird. Anschließend wird es sich das Datenpaket abholen, verarbeiten, dies wieder zurückschreiben und der Applikation mitteilen, dass der Vorgang abgeschlossen ist. Neben der Verarbeitung der Kommunikation kann das HSM noch weitere Aufgaben übernehmen. Es kann ständig die Integrität des Mikrocontrollers auf Manipulationen prüfen, ohne vom Applikationsteil abhängig zu sein.
(av)