Elektroniknet Logo

Kryptographie im Auto – technische Lösungsansätze im Überblick

Schutz vor neugierigen Zugriffen


Fortsetzung des Artikels von Teil 2

Schutz vor neugierigen Zugriffen

In der Praxis finden sich Schwachstellen meist nicht in den kryptographischen Verfahren selbst, sondern in der Umsetzung auf realen Geräten. Dies zeigen z.B. die Erfahrungen, die im vergangenen Jahrzehnt bei Pay-TV-Systemen gemacht wurden. Bei Embedded-Systemen wie im Automotive-Bereich hat der Angreifer häufig das anzugreifende Gerät in der Hand und kann teilweise direkt die gespeicherten Schlüssel angreifen: über Betriebssystem-Schwachstellen, direkten Hardware-Zugriff, JTAG oder andere Ansatzpunkte. Gegen solche Angriffe hilft der Einsatz spezieller Security-Hardware, der allerdings auch mit zusätzlichen Kosten verbunden ist. Auch auf Standard-Hardware lässt sich die Sicherheit jedoch erhöhen, z.B., indem man Schlüssel im prozessorinternen Flash speichert. Bei einem größeren abzusichernden Datenumfang ist es möglich, diesen mit einem intern gespeicherten Schlüssel zu verschlüsseln und im externen Speicher abzulegen.

Ein sicherer Speicher allein gewährleistet aber immer noch keine absolute Sicherheit: Ist ein direkter Zugriff auf die Schlüssel nicht möglich, gibt es auch noch andere Angriffe. Vor allem im Hinblick auf Smartcards wurden Verfahren entwickelt, um auf Basis so genannter Seitenkanäle interne Parameter zu rekonstruieren. So kann man durch Messung des Stromverbrauchs oder der elektromagnetischen Abstrahlung während einer kryptographischen Berechnung z.B. Rückschlüsse auf den verwendeten Schlüssel ziehen. Die Kenntnisse solcher Angriffsmöglichkeiten sind von wesentlicher Bedeutung, wenn Kryptoalgorithmen auf einem Embedded-System sicher umgesetzt werden sollen.

Umsetzung in die Praxis

Die Beschränkungen typischer Automotive-Hardware bezüglich Performance und Speicherressourcen sowie die Anforderungen an Echtzeit-Fähigkeit bzw. Unterbrechbarkeit der relativ rechenintensiven kryptographischen Routinen stellen bei der Umsetzung herausfordernde Einschränkungen dar. Zum Teil kann diesen Einschränkungen bereits durch die Auswahl geeigneter kryptographischer Verfahren begegnet werden. Zusätzlich sind aber auch noch Standardisierungsbestrebungen, wie in der „Hersteller-Initiative Software“ (HIS) oder im AUTOSAR-Konsortium, Effizienzbetrachtungen sowie natürlich Fragen der kryptographischen Sicherheit für die im Automobilbau relevanten Produktzyklen zu berücksichtigen.

Während symmetrische Kryptographie, also etwa Blockchiffren, Hash-Funktionen und Message Authentication Codes (MAC), bezüglich Performance und Langzeitsicherheit meist unproblematisch sind, ist die Auswahl bei asymmetrischen Verfahren und geeigneten Schlüssellängen deutlich komplexer. Hier lohnt es sich – je nach Anwendungsfall –, neben gängigen Lösungen wie RSA auch fortschrittlichere Verfahren, z.B. auf Basis elliptischer Kurven (ECC), zu betrachten.

tabelle2_9e3898.jpg
Tabelle 2. Erreichbare Laufzeiten der gängigen Kryptoverfahren auf drei verschiedenen Mikrocontrollern; die Werte beziehen sich auf ANSI-C-Implementierungen

Neben der Auswahl ist vor allem die effiziente und dabei sichere Implementierung der kryptographischen Routinen von zentraler Bedeutung. Je nach vorgesehener Anwendung stehen dabei die erreichbare Performance oder der möglichst geringe Speicherbedarf im Vordergrund. Während z.B. bei externen Gateways im Fahrzeug-Bordnetz zur Kommunikation nach außen ein hoher Durchsatz im Vordergrund steht, müssen bei kryptographischen Routinen auf kleineren Steuergeräten vor allem die sehr knappen Speicherressourcen berücksichtigt werden. Sowohl durch Wahl geeigneter Parameter und Protokollvarianten als auch durch Codierungstechniken bei der Implementierung selbst können entweder die Laufzeit oder die Code-Größe erheblich optimiert werden.

Aus diesen Typen von Algorithmen lassen sich verschiedene andere herleiten:

  • Message Authentication Codes (MAC) – eine kryptographische Checksumme, die bei Berechnung und Überprüfung einen Schlüssel erfordert – können sowohl auf Basis einer Hash-Funktion als auch auf Basis eines symmetrischen Verschlüsselungsalgorithmus realisiert werden.
  • Digitale Signaturen lassen sich auf Basis asymmetrischer Verfahren realisieren, indem die zu signierenden Daten zunächst gehasht und der resultierende Hash-Wert dann mit einem privaten Schlüssel signiert wird. Den öffentlichen Schlüssel zur Verifikation kann man dann allgemein zugänglich machen.

Die Unterschiede zwischen symmetrischen und asymmetrischen Verfahren sind bei der Umsetzung sehr groß: Symmetrische Verfahren basieren auf relativ schnellen Operationen, während für asymmetrische Verfahren arithmetische Langzahl-Operationen notwendig sind, die zu relativ hohen Rechenzeiten führen. So erreicht man beispielsweise bei symmetrischer Verschlüsselung auf üblichen Embedded-Prozessoren einen Durchsatz von einigen Kilobyte pro Sekunde, während die Erstellung einer einzelnen digitalen RSA-Signatur mehrere Sekunden benötigt. Typische Verfahren sind in Tabelle 1 zusammengefasst. Mit diesen Verfahren lassen sich nun verschiedene Aufgaben erfüllen:

  • Vertraulichkeit: Daten oder Nachrichten sollen nur von berechtigten Geräten bzw. Personen gelesen werden können.
  • Integrität: Es muss feststellbar sein, ob Daten (unberechtigt) verändert wurden.
  • Authentizität: Der Urheber von Daten muss eindeutig identifizierbar sein.
  • Verbindlichkeit: Der Urheber von Daten soll nicht in der Lage sein zu bestreiten, diese Daten erzeugt zu haben (nur mit asymmetrischen digitalen Signaturen möglich).

tabelle1_7219e7.jpg
Tabelle 1. Überblick über die gebräuchlichsten Hash- und Verschlüsselungsverfahren

  1. Schutz vor neugierigen Zugriffen
  2. Kryptographie – Voraussetzung für verlässliche Funktion
  3. Schutz vor neugierigen Zugriffen
  4. Was ist wirklich sicher?