Programmierbare Logikbausteine Raubkopierern Einhalt gebieten

Sicherheitsüberlegungen spielen auch bei FPGAs eine große Rolle
Sicherheitsüberlegungen spielen auch bei FPGAs eine große Rolle

FPGAs sind zur Zielscheibe für Raubkopierer geworden: Konkurrenten verwenden unter anderem IP eines Dritten, um ihre eigenen Entwicklungsbemühungen zu beschleunigen. Als Gegenmaßnahme gibt es Funktionen in den jeweiligen FPGA-Serien, die beispielsweise das gefürchtete Reverse Engineering deutlich erschweren.

Der Wechsel von der vertikalen Integration auf eine Struktur – basierend auf einer erweiterten Drittanbieter-Lieferkette – hat die Wirtschaftlichkeit der Elektronik-OEMs verbessert, aber auch neue Risiken mit sich gebracht. Durch diese Verschiebung ist insbesondere das geistige Eigentum (IP) im Design einem besonderen Risikio ausgesetzt.

Einzelpersonen, kriminelle Netzwerke und sogar Regierungen sind an den Versuchen, die Geheimnisse der Elektroniksysteme zu entschlüsseln, beteiligt – entweder im Sinne eines finanziellen Gewinns oder um Systeme für einen zukünftigen taktischen Vorteil zu entsperren. Raubkopierer können nahezu identische Fälschungen anbieten und Gewinne abschöpfen, Konkurrenten können IP eines Dritten verwenden, um ihre eigenen Entwicklungsbemühungen zu beschleunigen, und Gegner können die von einem System gewonnenen Informationen nutzen, um es lahmzulegen, wenn sie eine Chance dafür sehen.

Das feldprogrammierbare Gate Array (FPGA) ist bei diesen Angriffen zu einem wichtigen Ziel geworden. FPGAs, die u.a. Digi-Key in großen Stückzahlen ausliefert, sind mittlerweile weit verbreitet in Systemen, die bis dato von festverdrahteten ASICs oder Mikrocontrollern abhängig waren. Verfahrenstechnische Verbesserungen haben die Gatterzahl in Millionenregionen erhöht, wodurch es möglich wurde, ein komplettes System mit einem FPGA als zentraler Komponente zu bauen. Die steigende Logikdichte ermöglicht es den FPGAs, sowohl den Prozessor als auch die benutzerdefinierte Logik für den Großteil des gewünschten Systems zur Verfügung zu stellen. Dieser Übergang zu programmierbaren Lösungen hat die Art, wie Ingenieure die Designsicherheit betrachten, verändert; vor allem dann, wenn sie ihre IP und den Ruf ihrer Organisation vor ungewollten Zugriffen schützen wollen.

Es gibt eine Reihe von Möglichkeiten, wie die Designsicherheit kompromittiert werden kann. Eine ist das „Reverse Engineering“: Durch die Bestimmung der logischen Funktionen eines Chips kann ein Raubkopierer das gewünschte System duplizieren oder andere Funktionen hinzufügen, um daraus ein neues System zu entwickeln. Dieses kann er dann als erweitertes und dem Original überlegenes Produkt verkaufen. Sowohl ASICs als auch FPGAs sind anfällig für diese Praxis, doch ist es möglich, Eigenschaften von FPGAs zu verwenden, um das Reverse Engineering für die Wettbewerber sehr viel schwieriger zu machen.

Das Layout eines ASIC kann durch Entdeckelung des Bauteils und schrittweises Abziehen der verschiedenen Metallverbindungs-Layer rekonstruiert werden. Obwohl dies ein zeitaufwendiger Prozess ist, können Reverse-Engineering-Teams dafür Tools verwenden, welche die erforderlichen Netzlisten durch Analyse der Layout-Informationen neu erstellen. Im Falle eines FPGA wird das Reverse Engineering nicht mit Hilfe einer zerstörenden Analyse, sondern durch das Extrahieren des Konfigurations-Bitstream durchgeführt.

Die am häufigsten verwendete FPGA-Technologie basiert auf SRAMs und ist schnell; sie muss aber jedesmal neu konfiguriert werden, wenn das FPGA eingeschaltet wird. Typischerweise wird ein externer programmierbarer Nur-Lese-Speicher (PROM) verwendet, um die Konfigurationsdaten für das FPGA vorhalten zu können. Die Konfigurationsdaten lassen sich abfangen und können während der Boot-Zeit gelesen werden. Obwohl die Konfigurationsdaten nicht vom Menschen lesbar sind, kann man dafür eine automatisierte Analyse verwenden, welche die Netzliste zum Zwecke von Reverse Engineering des gewünschten IP rekonstruiert.