FPGAs in Anwendungen mit hoher IT-Sicherheit
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?

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.
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.
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)