FPGAs in Anwendungen mit hoher IT-Sicherheit

Thomas Kuhn |

Anbieter zum Thema

FPGAs bieten ein hohes Maß an Security, doch Power Analysis und ungeschicktes Layout machen diese Bausteine angreifbar. Warum ist DPA-Schutz wichtig, und wie erreicht man einen sicheren Design Flow?

Von der einfachen Verknüpfung elektrischer Signale bis hin zur Realisierung komplexer logischer Funktionen, wie z.B. hochsicherer Datenverschlüsselung, ist ein FPGA in der Lage, Aufgaben mit sehr hoher Geschwindigkeit abzuarbeiten. Doch unachtsames Design, etwa beim Floorplanning, und Verzicht auf essentielle Schutzalgorithmen können katastrophale Folgen für die Sicherheit haben.
Von der einfachen Verknüpfung elektrischer Signale bis hin zur Realisierung komplexer logischer Funktionen, wie z.B. hochsicherer Datenverschlüsselung, ist ein FPGA in der Lage, Aufgaben mit sehr hoher Geschwindigkeit abzuarbeiten. Doch unachtsames Design, etwa beim Floorplanning, und Verzicht auf essentielle Schutzalgorithmen können katastrophale Folgen für die Sicherheit haben.
(Bild: HTV)

FPGAs werden besonders durch ihre Eigenschaft, Aufgaben mit sehr hoher Geschwindigkeit abzuarbeiten, geschätzt. Auch ihre Flexibilität und Reprogrammierbarkeit erfreuen sich zunehmender Beliebtheit: Durch die Vereinigung diverser digitaler Funktionen auf nur einem FPGA-Chip, die bisher in separaten Schaltungsteilen aufgebaut waren, wird die Leistungsfähigkeit einer Schaltung drastisch erhöht und der Platzbedarf minimiert. Kein Wunder also, dass FPGAs auch in sicherheitsrelevanten Anwendungen im Kommen sind.

Doch leider gibt es eine Vielzahl von Angriffsmöglichkeiten, die auf elektronische Schaltungen, die einen FPGA verwenden, anwendbar sind. Die folgenden Erkenntnisse und Analysen stammen aus einer Studie, welche die HTV GmbH für eine deutsche Bundesbehörde erarbeitet hat. Die darin ermittelten „Common Criteria for Information Technology Security Evaluation“ sollen eine Grundlage darstellen, um Systeme mit hoher IT-Sicherheit entwerfen und sich vor möglichen Angriffen schützen zu können.

Bildergalerie
Bildergalerie mit 7 Bildern

Sicherheitsüberlegungen für integrierte Schaltkreise

Um ein System sicher zu gestalten, sollten beim Konzept unter anderem folgende Faktoren beachtet werden:

  • Der Wert der Entwicklung (engl. value): Der Schutz und die ausgewählten Sicherheitseigenschaften sollten im Verhältnis zu den zu schützenden Werten stehen.
  • Der Gegner (engl. adversary): Je umfangreicher technische Ausrüstung, Erfahrung und zur Verfügung stehende Zeit des Angreifers sind, umso stärker müssen die Sicherheitseigenschaften des Produktes sein.
  • Entwicklungsstand (engl. design stage): Es sollte möglichst früh festgelegt werden, welche Sicherheitseigenschaften im späteren Produkt integriert sein sollen.
  • FPGA-Ressourcen: Da besonders aktive AT-Sicherheitseigenschaften Logikelemente benötigen, muss definiert werden, welcher Bereich dafür zur Verfügung steht.
  • Sicherheitskonzept: Die einzelnen AT-Sicherheitseigenschaften sollten immer Teil eines schlüssigen Gesamtkonzeptes sein.

Die Sicherheitseigenschafen unterteilen sich dabei in passive Verfahren (z. B.: Bitstromverschlüsselung und -Authentifikation und die Deaktivierung der Auslesefunktion) und aktive Verfahren in den Bereichen Prävention, Erkennung (z. B. Spannungs- und Temperaturüberwachung) und Reaktion.

Eine Übersicht zu kryptographischen Angriffen

Kryptographische Angriffe können in drei Gruppen unterteilt werden:

  • Klassische Kryptoanalyse: z.B. Mathematische Analyse, Brute-Force-Angriffe
  • Implementationsattacken: z.B. Seitenkanalattacken, Fault Injection
  • Social Engineering: z. B. Passwörter kaufen oder erpressen

In der Vergangenheit wurden besonders die klassische Kryptoanalyse und das Social Engineering zum Umgehen von Sicherheitsmechanismen elektronischer Geräte verwendet. Begünstigt durch fallende Preise und einen Anstieg der Leistungsfähigkeit im Bereich der Messtechnik und Manipulationstechnik elektronischer Schaltungen gewinnen die Implementationsattacken aber einen immer größeren Einfluss.

Seitenkanal-Angriffe durch DPA (Differential Power Analysis)

Paul Kocher demonstrierte 1998 erstmals einen Angriff via DPA-Analyse (Differential Power Analysis). Damit ist es möglich, vom Energieverbrauch bzw. der elektromagnetischen Abstrahlung eines elektronischen Bausteins (z. B. MCU oder FPGA) auf seine inneren Arbeitsabläufe zu schließen.

Paul Kocher ließ sich Schutzlösungen zu dieser Form von Angriffen patentieren und gründete Cryptography Research, das 2011 von der Firma Rambus übernommen wurde. Firmen, die aktuell in ihren elektronischen Schaltkreisen DPA-Gegenmaßnahmen einsetzen, müssen in der Regel Lizenzgebühren an Rambus zahlen. Aus Kostengründen verzichten daher einige Hardwarehersteller darauf, entsprechende Algorithmen in ihren Bausteinen zu implementieren.

DPA-Attacken besitzen allerdings eine hohe Relevanz für die IT-Sicherheit eines Systems, da mathematisch hochsichere Algorithmen in kürzester Zeit mit einfachen Messmitteln gebrochen werden können, wenn der Angreifer in der Lage ist einen Zugang zur Hardware zu bekommen. Entwickler sollten sich diese Thematik bewusst machen und DPA-Gegenmaßnahmen trotz der Lizenzproblematik anstreben, um eine hohe IT-Sicherheit in ihren Systemen zu erhalten.

Ein anschauliches Beispiel eines DPA-Angriffes

Warum ein Schutz vor DPA-Angriff so wichtig ist, soll der folgende Abschnitt veranschaulichen. Dieser zeigt einen Versuchsaufbau der Kasper & Oswald GmbH für einen DPA-Angriff auf eine AES-Verschlüsselung mit einer Schlüssellänge von 128 Bit.

Für eine einfache DPA-Attacke genügen die folgenden Materialien:

  • Ein PC mit MATLAB, Oszilloskopsoftware, ein Konsolenprogramm (z. B. Tera Term VT) und Cyqwin-Umgebung
  • Ein Oszilloskop (z. B. PicoScope 5243B) mit zwei Tastköpfen
  • Eine EM-Sonde (RF-U 5-2 mit Vorverstärker PA303)

Bei einem Angriff auf einen in der Softwareimplementation sicheren Algorithmus nutzt der Angreifer bei einer Hardwareimplementation aus, dass er die Daten bzw. den Klartext kennt, die er dem Algorithmus schickt. Ihm ist auch der innere Aufbau des Algorithmus bekannt, da dieser öffentlich standardisiert ist. So ist er in der Lage, zu jeder Stelle im Algorithmus die aktuellen Werte der Ursprungsnachricht zu berechnen.

Der Angriff erfolgt dann typischerweise an Stellen im Algorithmus an denen eine Berechnung mit dem geheimen Schlüssel durchgeführt wird (z. B. nach einer XOR-Funktion oder S-Box). Für den Angriff wird der unterschiedliche Stromverbrauch in den Transistorzellen der Hardware bei der Verarbeitung von 0 und 1 ausgenutzt.

Jetzt Newsletter abonnieren

Verpassen Sie nicht unsere besten Inhalte

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung.

Aufklappen für Details zu Ihrer Einwilligung

Zuerst nimmt der Angreifer mit unterschiedlichen Klartexten Messkurven vom Stromverbrauch oder der elektromagnetischen Abstrahlung mit einem Oszilloskop auf (vgl. Bild 1). Bei MCUs reichen oft weniger als 500 Messkurven für die spätere Analyse aus, bei FPGAs sind je nach Implementierung und Baustein mehrere tausend Messkurven nötig. Anschließend wird für alle Zustände (00Hex bis FFHex) eines Schlüsselbytes der Wert eines Klartextbytes an einer bestimmten Stelle im Algorithmus berechnet und ermittelt, ob das MSB (Most Significant Bit) eine 0 oder 1 ist. Davon abhängig sortiert der Angreifer die Messkurven (nach 0 oder 1).

In einem letzten Schritt werden für jedes geratene Schlüsselbyte die Messkurven vom Ergebnis 0 von den Messkurven mit Ergebnis 1 abgezogen. Während bei falsch geratenen Schlüsselbytes keine deutlichen Differenzen auftreten, zeigt sich bei einem richtig geratenen Schlüsselbyte ein deutlicher Unterschied zwischen den Messkurven (vgl. Bild 2). Eine Tiefpassfilterung der Messergebnisse führt in einigen Fällen zu einer weiteren Optimierung der Messergebnisse.

Artikelfiles und Artikellinks

(ID:45397259)