FPGA-Einsatz Warum die IT-Security FPGA-Knowhow braucht

Von Dr. Andreas Fiessler *

Anbieter zum Thema

IT-Security-Spezialist genua hat ein hybrides System entwickelt, in dem sowohl FPGAs als auch normale CPUs jeweils die Aufgaben übernehmen, für die sie am besten geeignet sind.

Layout eines einfachen FPGAs: Gut erkennbar ist die regelmäßige Anordnung der Grundelemente.
Layout eines einfachen FPGAs: Gut erkennbar ist die regelmäßige Anordnung der Grundelemente.
(Bild: Creative Commons Attribution 3.0 Unported License, https://zeptobars.com/en/read/Altera-Cyclone-EP1C3)

FPGAs galten lange Zeit eher als spezielle Bauelemente, die zwar in einigen Schwerpunktdomänen wie der Signalverarbeitung nicht wegzudenken sind, aber darüber hinaus keine größere Verbreitung finden. Dies hat sich in den letzten Jahren zum einen durch die massiv gestiegene Leistungsfähigkeit, aber auch durch die Leistungsanforderungen bei unterschiedlichsten Problemstellungen verändert.

In vielen Bereichen, in denen bislang klassische Rechnersysteme dominieren, lassen sich diese Anforderungen nicht mehr wie lange gewohnt durch die nächste Entwicklungsiteration von neuer Hardware – also schnellere CPUs und mehr Speicher – bewältigen. Es lohnt sich also, auch für bisher nicht mit FPGAs assoziierte Anwendungen einen Blick auf ihre Stärken zu werfen.

Ein FPGA ist zunächst nichts weiter als eine generische Ansammlung von Logikschaltungen, die i.d.R. als Look-up-Tables (LUT) ausgeführt sind. Über ein konfigurierbares Signal-, Takt- und Resetnetzwerk bestimmt der Entwickler durch die Verschaltung erst die eigentliche Funktion des

Bausteins. Hinzu kommen spezielle Bereiche, in denen feste (sog. Hard-IP-Cores) Bausteine wie Transceiver, RAM-Blöcke oder I/O-Ports liegen. Teilweise werden auch komplette Mikroprozessoren fest mit integriert oder FPGAs als Erweiterung für normale CPUs ergänzt.

Entscheidend für die schnelle Verarbeitung von Daten ist die hohe Parallelisierbarkeit sowie die Vermeidung von Overhead. Oft kamen und kommen für High-End-Anforderungen deshalb anwendungsspezifische Schaltkreise (ASICs) zum Einsatz. Durch ihren Aufbau erreichen auch FPGAs für geeignete Aufgaben eine deutlich bessere Performance und geringere Latenz als klassische CPUs.

Allerdings lässt sich ein FPGA-Design im Gegensatz zu einem ASIC nachträglich anpassen, etwa um neue Features nachzurüsten oder Bugs zu beheben. Nicht zuletzt stellt der aufwendige ASIC-Designprozess für viele Firmen auch eine finanzielle Hürde dar, bei FPGAs entfällt ein Großteil dieser Einmalkosten.

Anspruchsvolle FPGA-Projekte in der IT-Security

Dr. Andreas Fiessler ist Research Engineer genua.
Dr. Andreas Fiessler ist Research Engineer genua.
(Bild: genua)

Die genua GmbH ist ein deutscher Anbieter von IT-Sicherheitslösungen mit einem Fokus für besonders sensible und kritische Umgebungen. Zur Produktpalette gehören Firewalls, VPN-Appliances, Fernwartungssysteme und Lösungen für Remote-Arbeit. Die FPGA-Entwicklung bei genua ist aus dem Forschungsprojekt hardFIRE für hardware-beschleunigte Firewalls hervorgegangen. Zu den Aufgaben der Entwicklungsgruppe gehört die Implementierung von hardware-optimierten Funktionen überall dort, wo die Performance-Anforderungen mit Standardsystemen nicht mehr zu bewältigen sind.

Aktuelles Projekt ist ein L3 IPsec VPN-Gateway für die hoch performante, verschlüsselte Anbindung von Rechenzentren und Arbeitsplätzen. Neueste Technologien und unkonventionelle Lösungen gehören in unserer Entwicklung zum Alltag. Ein durchweg sehr spannendes, vielfältiges und herausforderndes Feld, für das genua noch Verstärkung sucht. Wenn Sie das Thema Security reizt und Ihr Schwerpunkt in der HDL-Entwicklung, dem HW/SW-Codesign oder dem Projektmanagement als Product Owner liegt, dann wenden Sie sich bitte an genua unter www.genua.de/karriere.

Herausforderungen in der IT-Security

Als Entwickler mit Schwerpunkt IT-Security bemerkt man häufig, z.B. im Industrieumfeld, zunächst sehr konträre Ziele. Gerade bei Industrieanlagen stehen Verfügbarkeit und Sicherheit im Sinne von Safety im Vordergrund. Typische Steuerungssysteme sind daher in komplett abgeschotteten Umgebungen zuverlässig. Sie erweisen sich erfahrungsgemäß selbst bei trivialsten, selbst willkürlichen Angriffen als extrem anfällig.

Unter dem Kapitel „Security“ findet man bei FPGA- und Mikroprozessorherstellern i.d.R. Funktionen, die primär dem Schutz geistigen Eigentums dienen sollen. In der „echten“ IT-Security ist der Applikationscode dagegen meist nicht besonders schützenswert oder ohnehin Open Source. Sensibel sind hingegen die verarbeiteten Daten und Geheimnisse – bis zu dem Punkt, an dem sich ein Gerät selbst zerstören muss, bevor ein Angreifer diese Daten auslesen kann.

Event-Tipp: FPGA Conference Europe 2021

Die von ELEKTRONIKPRAXIS und dem Schulungscenter PLC2 veranstaltete Entwicklerkonferenz fokussiert sich auf anwendergerechte Lösungen rund um FPGAs und adaptierbare MultiProcessing-SoCs, die Sie schnell in Ihren eigenen Entwicklungs-Alltag integrieren können.

Unter den ersten 100 Anmeldern und Anmelderinnen verlosen wir 10 nagelneue Xilinx Kria KV260 Vision KI Starter Kits. Die Kits liegen bereits bereit und warten auf ihren Einsatz!

Alle Details zur Veranstaltung

Dies bedingt ganz andere Prioritäten und eine andere Denkweise bei der Entwicklung. So muss bei der Implementierung eines kryptographischen Algorithmus z.B. darauf geachtet werden, dass dieser nicht über Timing- oder Power-Side-Channels geheimes Material offenbart. Das erfordert die bewusste Umgehung von Optimierungen und die genaue Kenntnis der Funktion der Compiler und Toolchains. Überall dort, wo in der einfachen Entwicklung gerne Bibliothekscode herangezogen wird, ist im Security-Kontext zunächst die Vertrauensfrage zu stellen.

Beispiele aus einer Supply-Chain für IT-Security-Hardware: Jede Station ist potenziell gefährdet. Der IT-Security-Hersteller selbst hat im besten Fall nur einen Bruchteil unter eigener Kontrolle.
Beispiele aus einer Supply-Chain für IT-Security-Hardware: Jede Station ist potenziell gefährdet. Der IT-Security-Hersteller selbst hat im besten Fall nur einen Bruchteil unter eigener Kontrolle.
(Bild: genua)

Im Zweifel müssen Funktionen selbst nachimplementiert werden. Die Angriffsvektoren in der Entwicklung können dabei überall lauern: IP-Vendors, offene Bibliotheken, Compiler und Toolchains bis hin zur Chipfertigung.

Der aktuelle Angriff auf den IT-Security-Spezialisten SolarWinds zeigt eindrucksvoll, dass solche Supply-Chain-Angriffe keine theoretischen Konstrukte sind. Die Produkte dieses Herstellers sind dabei an neuralgischen Punkten mit Zugriff auf viele sensible Daten weit verbreitet.

FPGAs für Netzwerke und IT-Security einsetzten

Die Hauptmotivation, FPGAs für Security-bezogene Aufgaben in Netzwerken zu verwenden ist die Performance. Viele Aufgaben bei der Verarbeitung von Netzwerkpaketen, bis hin zu kryptographischen Funktionen lassen sich hervorragend parallelisieren und in Hardwareschaltungen abbilden. Das ermöglicht Datenraten und Latenzen, die weit besser sind als die von vergleichbaren, klassischen Rechnersystemen. Diese werden durch ihren inhärenten Overhead bei der Datenverarbeitung gebremst.

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

In vergleichsweise einfachen, schnellen Netzwerkgeräten wie Routern oder Switches finden sich daher schon lange nur noch spezialisierte ASICs, welche die hohen Anforderungen problemlos bewältigen können. Bei Systemen mit mehr Funktionen und mehr Komplexität wie etwa Firewalls oder VPN-Gateways steigt allerdings auch die Wahrscheinlichkeit, dass später Funktionen angepasst werden müssen und auf kritische Entdeckungen reagiert werden muss. Dies führt zu einer Domäne, in der FPGAs ihre Stärken ausspielen können.

Hybride Lösung: Verteilung der Aufgaben auf ein System aus klassischer Hardware mit FPGA-Erweiterung.
Hybride Lösung: Verteilung der Aufgaben auf ein System aus klassischer Hardware mit FPGA-Erweiterung.
(Bild: genua)

Der Schlüssel zu einem performanten Gesamtsystem liegt in der Konstruktion eines effizienten, hybriden Systems, in dem sowohl FPGAs als auch normale CPUs jeweils die Aufgaben übernehmen, für die sie am besten geeignet sind. Aber auch der tiefere Eingriff in den Schaltungsentwurf ist für die IT-Security ein entscheidender Vorteil: Viele Rechnersysteme enthalten verstärkt hardware-beschleunigte Komponenten. Ein Beispiel ist der AES-NI-Befehlssatz in modernen CPUs, der eine performante Implementierung des AES-Kryptoalgorithmus darstellt.

Eine Applikation profitiert von der hohen Geschwindigkeit, jedoch ist nicht prüfbar, ob dieser Befehlssatz nicht möglicherweise eine Hintertür enthält. Ein z.B. in den USA ansässiger IT-Hersteller kann sogar legal verpflichtet werden, auf Anweisung von Geheimdiensten Hintertüren einzubauen und zugleich Stillschweigen darüber zu bewahren.

Ein FPGA ermöglicht es bis zu einem gewissen Grad, durch die eigene Implementierung von Hardware-Schaltungen eine Kontrollmöglichkeit zu behalten und trotzdem von der Performance einer spezialisierten Hardware zu profitieren.

Darum werden sich FPGAs weiter durchsetzen

Zweifelsohne werden die Anforderungen an Performance und Sicherheit in Netzwerken in Zukunft nicht abnehmen. Dies erfordert zwangsläufig den verstärkten Einsatz spezialisierter Hardware, um diese Anforderungen zu bedienen. In besonders sensiblen Bereichen spielt die Supply-Chain-Problematik dabei eine gewichtige Rolle – vor allem wenn immer mehr Kernfunktionalität in nicht prüfbare Hardwareelemente ausgelagert wird.

Eine vollständige Eigenentwicklung von ASICs ist nur für wenige Unternehmen finanzierbar. Diese Bereiche werden zukünftig verstärkt auf FPGA-Unterstützung zurückgreifen. Aber auch die zunehmende Verfügbarkeit von FPGA-Ressourcen in Standard-CPUs oder in Cloud-Appliances eröffnet Möglichkeiten, diese für Sicherheitsfunktionen zu verwenden.

Eine große Hürde beim Einsatz von FPGAs stellt der nach wie vor hohe Entwicklungsaufwand im Vergleich zu Softwareentwicklung dar. Effiziente, schnelle Hardwareschaltungen zu entwerfen erfordert eine grundlegend andere Denkweise bei Entwicklern. Darüber hinaus sind die Simulations- und Integrationsprozesse zeitraubend. Es wird seit einiger Zeit versucht, diese Hürden mittels abstrakteren Sprachkonzepten oder High-Level-Synthese, welche das Übersetzen von z.B. C-Code ermöglichen soll, zu verkleinern und somit die Möglichkeiten von FPGAs einem weiteren Anwenderkreis zu öffnen.

Bislang funktionieren diese Ansätze allerdings nur für kleinere, spezielle Problemstellungen innerhalb eines Projekts akzeptabel. Für ein performantes Gesamtsystem sind tiefgreifende Spezialkenntnisse unabdingbar und keineswegs so exotisch wie mittlerweile Assemblercode in der Softwareentwicklung. Es bleibt spannend, auf welche Arten wir zukünftig mit FPGAs arbeiten werden. Die Technologie selbst wird hingegen kaum mehr wegzudenken sein.

* Dr.-Ing. Andreas Fiessler, Research Engineer beim Münchner Spezialisten für IT Security genua: „Neueste Technologien und unkonventionelle Lösungen gehören in unserer Entwicklung zum Alltag.“

Artikelfiles und Artikellinks

(ID:47470716)