Implementierungen von Algorithmen auf FPGAs bieten vielfältige Vorteile: Hohe Performance bei gleichzeitig hoher Flexibilität und Erweiterbarkeit.
Weiterhin benötigen FPGA-Implementierungen spezielle Schutzmechanismen gegen Angriffe aufgrund der im Vergleich zu einem ASIC gröberen Strukturen. Gerade kryptographische Algorithmen sind besonders anfällig für Seitenkanalangriffe. Andere Algorithmen kapseln oft essentielle IP des Unternehmens, die fremden Augen verborgen bleiben soll.
Hier kann ein durch Seitenkanalangriffe gestütztes Reverse-Engineering zu einem großes Problem werden. Dynamische partielle Rekonfiguration kann in beiden Fällen den Aufwand für den Angreifer deutlich erhöhen. Hierfür werden während der Synthese des Designs für den zu schützenden Teil mehrere funktional äquivalente Logikvarianten generiert und in partiellen Bitfiles abgelegt. Diese können zur Laufzeit zufällig von einem (Mikro-)Controller ausgewählt und platziert werden.
Da ein Angreifer nicht auf triviale Weise unterscheiden kann, welche Variante zum Zeitpunkt der Seitenkanalmessung aktiv ist, erhöhen sich die Anzahl der benötigten Messungen und der Aufwand des Postprocessings für einen erfolgreichen Angriff signifikant. Zusätzlich kann auch der Ort der Platzierung variiert werden, um die Anzahl der Möglichkeiten weiter zu erhöhen. Insbesondere in Kombination mit herkömmlichen Maßnahmen ist ein deutlich verbesserter Schutz gegen aktive und passive Seitenkanalangriffe bzw. Reverse Engineering zu erwarten.
Dazu entwickelten wir im Forschungsprojekt SecRec einen toolgestützten Workflow, der es ermöglicht, automatisiert partielle Bitfiles zu erzeugen. Diese Bitfiles werden über die TrustZone verschlüsselt in den FPGA geladen. Zudem wird dargelegt, wie die partielle Rekonfiguration auch außerhalb des Security-Bereichs, wie z.B. in der Bildverarbeitung verwendet werden kann.
Zielgruppe
Softwareentwickler*innen, Systemingenieur*innen