Kryptografie

(Bild: Maxim)

| von Christophe Tremlet, Scott Jones

Die Nachrichten im März diesen Jahres waren zweifellos alarmierend: Wikileaks teilte mit, man verfüge über interne Dokumente der CIA, aus denen hervorgehe, der Geheimdienst habe eine Möglichkeit zum Zugriff auf Android- und Apple-Smartphones, Samsung-Smart-TVs und Internet-fähige Autos gefunden. In dem Leak wurden gleich Dutzende gerätespezifischer Sicherheitslücken und Attacken benannt. Leider war dies nur eine von vielen Schlagzeilen über Sicherheitsverletzungen ­– Geräte mit zunehmender Intelligenz und Vernetzung werden immer anfälliger für Hackerangriffe.

Skripte und Bots sind auf der Jagd und suchen wahllos Ports nach Angriffsmöglichkeiten ab. Viele Produkte sind nicht ausreichend gegen solche Attacken geschützt. Zum Beispiel kann es einer proprietären Funktechnologie an Authentifizierung oder Verschlüsselung mangeln. Gelegentlich liegt es auch an den Endanwendern, welche die nicht besonders sicheren Benutzernamen und Passwörter der Standardkonfiguration verwenden, Apps nicht aktualisieren oder Router und andere Geräte mit unsicheren Passwörtern versehen.

Weltweit sind mehr als sechs Milliarden vernetzte Geräte im Einsatz, und bis 2020 wird eine Zunahme auf 20 Milliarden erwartet. Für Hacker und ihre Opfer geht es also um viel. Der mit Recherchen des als „Ethical Hacker“ bekannten Samy Kamkar entwickelte „IoT Enterprise Risk Report“ von Foreccout benennt sieben IoT-Produkte, die sich binnen drei Minuten hacken lassen:

  • Per IP vernetzte Sicherheitssysteme
  • Per IP vernetzte Infrastruktur wie etwa Klimaregelungen und Stromzähler
  • Intelligente Videokonferenzsysteme
  • Vernetzte Drucker
  • VoIP-Telefone
  • Intelligente Kühlschränke
  • Intelligente Leuchtmittel

Laut diesem Report können Hacker, die Zugang zu solchen Geräten erlangen, Backdoors setzen, mit denen sie automatisierte DDoS-Attacken (Distributed Denial-of-Service) von IoT-Botnetzen starten können. Bei intelligenten Enterprise-Security-Systemen besteht die Bedrohung beispielsweise darin, dass Cyberkriminelle mit Jamming- oder Spoofing-Techniken die Kontrolle über Bewegungsmelder, Schlösser und Überwachungsanlagen bekommen können. Die Konfigurationseinstellungen von VoIP-Telefonen lassen sich ausnutzen, um die Authentifizierung zu umgehen und Möglichkeiten aufzudecken, Telefonate abzuhören und aufzuzeichnen. Bei vernetzten Heizungs-, Lüftungs- und Klimaanlagen sowie Stromzählern besteht bei einem erfolgreichen Angriff beispielsweise das Risiko, dass Kriminelle mithilfe von Manipulationen kritische Infrastrukturen überhitzen lassen können.

Kriminelle Angreifer wägen häufig vor der Durchführung einer Attacke zwischen Risiko und Nutzen ab. Somit obliegt es ihren Gegnern – unter anderen also auch den Entwicklungsingenieuren – die nötige Sicherheit bereits von Beginn an in jedes Design einzubauen. An die Sicherheit des Designs wird allerdings oft erst ganz zum Schluss gedacht, insbesondere da der Zeit- und Kostenaufwand für ihre Implementierung als zu hoch eingeschätzt wird. Wenn der Sicherheitsaspekt ignoriert wird, hat dies allerdings weitaus gravierendere Konsequenzen, die von einem beschädigten Markenimage über eine enttäuschende oder gar desaströse Nutzererfahrung bis hin zu Umsatzverlusten reichen kann. Sich zu spät um das Thema Sicherheit zu kümmern, bringt darüber hinaus weitere Nachteile mit sich, denn entsprechende Nachbesserungen verschließen nicht unbedingt alle  Sicherheitslücken des Produkts

Sicherheit vom Sensor bis zur Cloud

Ein gänzlich unangreifbares Sicherheitssystem zu bauen, ist eher unrealistisch. Durchaus machbar ist es aber, das Design eines Produkts mit kryptografischer Absicherung nach dem neuesten Stand der Technik auszustatten, wodurch es sich nur mit hohem Zeit- und Kostenaufwand hacken lassen würde. Die Sicherheit muss Eingang in sämtliche Ebenen eines vernetzten Produkts finden – vom Sensor bis zur Cloud. Es ist wichtig, alle Verbindungen und Schnittstellen zu verifizieren, die einschlägigen Normen zu erfüllen und mögliche Probleme durch Qualitätssicherungs-Tests zu beseitigen. Zum Beispiel hilft die Implementierung einer sicheren Boot-Prozedur sicherzustellen, dass ein elektronisches Gerät nur mit authentisierter und damit vertrauenswürdiger Software arbeitet. Ein sicheres IC mit spezialisierter Funktionalität kann helfen, dieses Maß an Sicherheit und sogar noch mehr zu erreichen.

Entscheidend ist der Einsatz einer Technologie, die eine authentisierte Datenkette vom abgesicherten Sensorknoten bis zum Web-Server bereitstellt. Ebenso kritisch ist die Absicherung des IoT-Geräts mithilfe eines dafür geeigneten Mikrocontrollers. In Frage kommt beispielsweise ein Baustein, der Secure-Boot-Funktionalität bietet und eine gesicherte Kommunikation zwischen Host-System und Gerät aufbauen kann. Ebenso essenziell ist die sichere Authentisierung. Sie bietet die Gewähr, dass ein IoT-Gerät und etwaige Endpunkte echt, vertrauenswürdig und sicher sind. Schließlich ist es auch wichtig sicherzustellen, dass die Integrität der vom Gerät konsumierten oder erzeugten Informationen kryptografisch gewährleistet ist. Für die Implementierung der Authentisierung bieten sich verschiedene Möglichkeiten an – von der (unsicheren) passwortbasierten Methode bis zur wirkungsvolleren, auf Kryptografie basierenden digitalen Signatur. Die Algorithmen für die letztgenannte Methode gibt es in zwei Ausprägungen: symmetrisch und asymmetrisch. Beide sollen nun genauer beschrieben werden.

Symmetrische Kryptografie

Die auf symmetrischer Kryptografie basierende Authentisierung bedient sich eines gemeinsamen geheimen Schlüssels für den Host und das zu authentisierende Gerät. Dieser geheime Schlüssel ist an beiden Orten sicher gespeichert und wird nie offengelegt. Für die Authentisierung sendet der Host eine Zufallszahl (Challenge) an das Gerät, welches daraus eine digitale Signatur errechnet. Diese ist eine Funktion des geheimen Elements und der Challenge und wird vom Gerät an den Host zurückgeschickt. Der Host führt nun dieselbe Berechnung aus und vergleicht beide Ergebnisse. Bei Übereinstimmung wird das Gerät als authentisch betrachtet.

Ebenso könnte der Host vom Gerät eine bestimmte Information abfragen, indem er einen Befehl mit einer zufälligen Challenge sendet. Das Gerät würde in diesem Fall die angeforderte Information generieren (zum Beispiel eine Umgebungsmessung), eine digitale Signatur mit dem geheimen Element, der Challenge und dem Messwert berechnen und die Signatur und den Messwert anschließend an den Host senden. In diesem Beispiel kann der Host verifizieren, dass der Messwert nicht verändert wurde und von einem authentisierten Gerät stammt.

Die Verwendung einer Funktion mit hinreichender mathematischer Komplexität ist entscheidend, um sicherzustellen, dass das Ergebnis nicht nachgeahmt werden kann (Replay-Attacke). SHA-256 und ähnliche sichere Hash-Funktionen erfüllen diese Anforderung. Da SHA-256 unumkehrbar ist, ist es rechnerisch nicht möglich, den Eingangswert zu ermitteln, der das zu einem bestimmten Message Authentication Code (MAC) gehörende geheime Element enthält. Zusätzlich besteht Kollisionsresistenz, das heißt, es ist auf praktikable Weise nicht möglich, mit einem bestimmten MAC mehr als eine Eingangsnachricht zu ermitteln.

Kryptografie

Bild 1: Die Authentisierung auf der Basis der symmetrischen Kryptografie stützt sich auf eine geheime Zahl, die sowohl im Host als auch im Gerät hinterlegt sein muss. Maxim

Dank dieser Eigenschaften lässt sich SHA-256 sehr effektiv für die sichere Authentisierung einsetzen. Verglichen mit dem asymmetrischen Verfahren ist die Authentisierung mit symmetrischen Schlüsseln bei gleichem Sicherheitsniveau durch weniger komplexe Algorithmen und kürzere Rechenzeiten gekennzeichnet (Bild1). Allerdings bringt die Forderung nach einem gemeinsamen geheimen Schlüssel gewisse Schwierigkeiten bei der Schlüsselverteilung mit sich.

 

Lesen Sie auf der nächsten Seite über Asymmetrische Kryptografie sowie Mikorcontroller und Authentisierungsbausteine.

Asymmetrische Kryptografie

Kryptografie

Bild 2: Die Authentisierung mit asymmetrischen Schlüsseln nutzt öffentliche und private Schlüssel. Maxim

Die Authentisierung mithilfe der asymmetrischen Kryptografie beruht auf einem mathematisch verknüpften Schlüsselpaar, nämlich einem privaten und einem öffentlichen Schlüssel. Den privaten Schlüssel kennt nur das zu authentisierende Gerät. Der öffentliche Schlüssel dagegen kann mit jeder Einheit geteilt werden, die das betreffende Gerät authentisieren muss. Wie schon bei der symmetrischen Kryptografie, sendet der Host auch hier eine Challenge an das Gerät, das eine Signatur auf der Basis der Challenge und seines privaten Schlüssels generiert und diese an den Host zurücksendet (Bild 2). Bei dieser Methode verwendet der Host allerdings den öffentlichen Schlüssel zum Verifizieren der Signatur.

Ebenso wie im vorigen Beispiel können mit dieser asymmetrischen Struktur die von einem Gerät konsumierten oder erzeugten Informationen authentisiert werden. Auch hier muss die zum Berechnen der Signatur benutzte Funktion bestimmte mathematische Eigenschaften aufweisen, damit Replay-Versuche und ein Offenlegen des Schlüssels verhindert werden. Eine effiziente Lösung für Embedded-Anwendungen ist der „Elliptic Curve Digital Signature Algorithm“ (ECDSA). Dieser bietet höchst wirkungsvolle Sicherheit für Systeme, in denen sich das Sichern von Host-Schlüsseln als schwierig oder unmöglich erweist. Ein identisches Sicherheitsniveau vorausgesetzt, ist das asymmetrische Verfahren gegenüber der symmetrischen Lösung durch höhere Algorithmen-Komplexität und längere Rechenzeiten geprägt. Dem steht allerdings die effizientere Schlüsselverteilung gegenüber, denn die ungeschützte Übermittlung eines öffentlichen Schlüssels stellt keinerlei Sicherheitsrisiko dar (Bild 2).

Mikrocontroller und Authentisierungs-Bausteine

Sichere Mikrocontroller und Authentisierungs-Bausteine, wie sie Maxim in seinem Deep Cover-Portfolio anbietet, integrieren moderne, hardwarebasierte Kryptografie mit physischer Sicherheit, um wirkungsvollen Schutz vor Manipulation und Reverse Engineering zu bieten. Das Portfolio umfasst Mikrocontroller- und Authentisierungs-Produkte, welche die symmetrische und asymmetrische Kryptografie für digitale Signatur-, Authentisierungs- und Verschlüsselungs-Algorithmen unterstützen.

Die Bauelemente bringen Hardwarebeschleuniger für SHA, RSA, ECDSA und AES, eine vollständige Kryptografiebibliothek mit einem an Standards ausgerichteten, umgehend verwendbaren API sowie eingebaute Secure-Boot-Fähigkeiten mit, um die Authentizität von Firmware oder heruntergeladenen Dateien zu gewährleisten. Ein Beispiel ist der MAXQ1061, ein Deep Cover-Kryptografiecontroller für Embedded-Geräte. Als umgehend einsatzbereiter, vorprogrammierter sicherer Mikrocontroller bietet der MAXQ1061 einen gesicherten Schlüsselspeicher sowie digitale Signatur- und Verschlüsselungsfunktionen. Um die Designzeit zu verkürzen und die Markteinführung zu beschleunigen, gibt es von Maxim ein Evaluation Kit, das sich direkt auf ein Raspberry-Pi-Board stecken lässt. Mit einer umfassenden Ausstattung an Softwarebibliotheken, darunter ein kompletter TLS-Stack, wird das Ganze zu einer schlüsselfertigen Lösung.

Referenzdesigns sind eine weitere Möglichkeit, Sicherheit frühzeitig und effizient in ein Design einzubinden. Die heutigen, qualitativ hochwertigen Referenzdesigns sind hochintegriert und gründlich geprüft. Sie enthalten deutlich mehr als nur Hardware und Quellsoftware. Gute Referenzdesigns sind heute auch mit Gerberdateien, Prüfdaten, einer detaillierten Stückliste und Treibern sowie Evaluierungs- und Entwicklungs-Tools ausgestattet. Das IoT-Embedded-Security-Referenzdesign Maxrefdes155 von Maxim etwa bietet eine Möglichkeit zur Implementierung der asymmetrischen Public-Key-ECDSA-Kryptografie zum Schutz von Geräten und Datenpfaden. Optional schützt das Maxrefdes143# Geräte und Datenpfade mit Secret-Key-SHA-256-Kryptografie. Die Verwendung solcher Referenzdesigns kann die Entwicklung von Geräten vereinfachen, die mit Steuerung und Benachrichtigung durch einen Web-Server oder einen Netzwerk-Controller einen Sensorknoten authentisieren und managen können.

IoT-Designs sicher zu machen, muss also weder mühsam noch teuer sein. Entwickler müssen vor allem darauf achten, so viel Sicherheit zu integrieren, dass die Abwägung zwischen Risiko und Nutzen zu ihren Gunsten ausgeht. Anders ausgedrückt: Wenn sie dafür sorgen, dass das Hacken ihres Geräts zu schwierig, zu teuer und/oder zu zeitraubend ist, kann dies bereits ausreichen, Cyberkriminelle auf die vielen anderen Geräte auf dem Markt umschwenken zu lassen, bei denen das Thema Sicherheit zu inkonsequent behandelt wird.

 

Eck-DATEN

Mit Technologien wie etwa sicheren Mikrocontroller- und Authentisierungs -Produkten sowie vollintegrierten Referenzdesigns ist es möglich, wertvolle Designs vor den böswilligen Absichten von Hackern zu schützen. Entwickler müssen ihre Designs allerdings frühzeitig im Entwurfsprozess schützen, um für größtmögliche Sicherheit zu sorgen.

Christophe Tremlet

(Bild: Maxim)
Executive Business Manager bei Maxim

Scott Jones

(Bild: Maxim)
Director Embedded Security bei Maxim

(ku)

Kostenlose Registrierung

*) Pflichtfeld

Sie sind bereits registriert?