Kryptogeräte im Hochsicherheitsbereich Einsatz von FPGAs in Sicherheitsmodulen

Ordnungsmerkmale

erschienen in: <kes> 2004#1, Seite 51

Rubrik: BSI Forum

Schlagwort: Kryptographie

Autor: Von Uwe Dornseifer, BSI

Zusammenfassung: Die sichere Übertragung von höher als "VS-NfD" eingestuften Informationen erfordert häufig spezielle Verschlüsselungssysteme. Dieser Beitrag beleuchtet mathematisch-technische Aspekte von Sicherheitssystemen und Kryptogeräten für den Hochsicherheitsbereich. Bei der technischen Realisierung von Sicherheitsmodulen liegt dabei der Fokus auf der Verwendung von Field-Programmable Gate Arrays (FPGAs).

Zu den gesetzlichen Aufgaben des Bundesamtes für Sicherheit in der Informationstechnik (BSI) gehört gemäß BSI-Errichtungsgesetz (BSIG § 3 Abs. 1) die "Untersuchung von Sicherheitsrisiken bei Anwendung der Informationstechnik sowie Entwicklung von Sicherheitsvorkehrungen, insbesondere von informationstechnischen Verfahren und Geräten für die Sicherheit in der Informationstechnik, soweit dies zur Erfüllung von Aufgaben des Bundes erforderlich ist, ...". Die Informationstechnik im Sinne des Gesetzes umfasst alle technischen Mittel zur Verarbeitung oder Übertragung von Informationen. Die Eignung eines informationstechnischen Sicherheitssystems wird im Rahmen des Zulassungsverfahrens verifiziert.

Für die informationstechnische Sicherung von Verschlusssachen bis zum Einstufungsgrad "VS – Nur für den Dienstgebrauch" (VS-NfD) können häufig marktgängige Kryptogeräte vertrauenswürdiger Hersteller zugelassen werden. An informationstechnische Sicherheitssysteme zur Verarbeitung oder Übertragung höher eingestufter Verschlusssachen werden Anforderungen gestellt, die durch marktgängige Kryptogeräte häufig nicht erfüllt werden und somit durch vom BSI beauftragte Geräteentwicklungen realisiert werden müssen.

Sicherheitsanforderungen

Hauptaufgabe der im Hochsicherheitsbereich eingesetzten Kryptogeräte ist die Sicherung schutzwürdiger Informationen, also die Gewährleistung der Vertraulichkeit, Integrität/Authentizität oder Verbindlichkeit dieser Informationen bei der Übertragung, Verarbeitung oder Speicherung. Zur Erfüllung dieser Sicherheitsdienste kommen Sicherheitsmechanismen (z. B. Verschlüsselung, Digitale Signatur, Zugriffskontrolle, Beweissicherung, ...) zum Einsatz, die oft die Verwendung von Sicherheitsparametern (Schlüssel, Zertifikate, Passwörter, Access-Listen, ...) erforderlich machen. Sicherheitsparameter haben meistens nur einen begrenzten Gültigkeitszeitraum, müssen also regelmäßig geändert werden. Dazu bedarf es einer Sicherheitsmanagementkomponente, die zusätzlich auch den gesicherten Austausch von Sicherheitsmechanismen unterstützen kann und selbst wieder Sicherheitsmechanismen und -parameter verwendet.

Um die Hauptaufgabe zuverlässig erfüllen zu können, müssen bestimmte Nebenanforderungen erfüllt werden. Es ist insbesondere darauf zu achten, dass

Dabei ist zu bedenken, dass vor allem die Anforderungen an Sicherheitsmechanismen Langzeitcharakter haben, also beispielsweise die Manipulationsfreiheit der Geräte über ihre gesamte Betriebsdauer (etwa 10 Jahre) gewährleistet sein soll.

Kryptogeräte, vor allem solche zur Sicherung der Informationsübertragung, sind Teil eines Sicherheitssystems, in dem verschiedene Sicherheitsbeziehungen bestehen. Neben der offensichtlich notwendigen Sicherheitsbeziehung zwischen den Kryptogeräten von Sender und Empfänger einer Nachricht existieren häufig weitere Sicherheitsbeziehungen, die zusätzliche Sicherheitsparameter und gelegentlich auch zusätzliche Sicherheitsmechanismen erforderlich machen. Die nachfolgende Aufzählung beschränkt sich auf die wichtigsten Sicherheitsbeziehungen eines typischen Kryptogeräts zur Sicherung der Informationsübertragung:

Sicherheitsdienste werden folglich nicht nur in den Kryptogeräten zur Sicherung der Nutzdaten benötigt, sondern auch in verschiedenen anderen Komponenten des Sicherheitssystems. Für die Wiederverwendbarkeit geprüfter sicherer Module in verschiedenen Komponenten eines Sicherheitssystems oder auch in verschiedenen Sicherheitssystemen existieren nicht nur wirtschaftliche, sondern auch sicherheitstechnische Gründe. Je größer die Komponentenvielfalt und damit Komplexität eines Sicherheitssystems ist, desto größer ist die Wahrscheinlichkeit für verborgene Schwachstellen.

Ob ein Sicherheitssystem und damit auch die enthaltenen Kryptogeräte die Sicherheitsanforderungen erfüllen, wird durch eine der Zulassung vorausgehende Evaluierung überprüft. Dabei stößt man bei der Evaluierung – in Abhängigkeit von der Evaluierungstiefe – an technische (z. B. hochintegrierte Schaltungen) und praktische Grenzen (z. B. komplexe Software), die ohne die vertrauensvolle Zusammenarbeit mit einem vertrauenswürdigen Hersteller einer Zulassung entgegenstehen.

Sicherheitsmodule

Sicherheitsmodule sind abgeschlossene technische Einheiten mit definierten Schnittstellen und einer definierten Schutzhülle. Sie erbringen Sicherheitsdienste und verfügen über Mechanismen zum Schutz der enthaltenen Sicherheitsobjekte und leisten somit einen wichtigen Beitrag zur Erfüllung der genannten Sicherheitsanforderungen an Kryptogeräte. Während des gesamten Lebenszyklus, von der Herstellung über Personalisierung und Betriebsphase bis zur Vernichtung der Sicherheitsmodule, darf auf enthaltene sicherheitsrelevante Objekte nur durch autorisierte Personen oder Prozesse zugegriffen werden. Beispielsweise könnten während der Betriebsphase für Softwareupdates nur noch von der Zulassungsstelle signierte (und verschlüsselte) Softwaremodule akzeptiert werden. Zur Abwehr unautorisierter Zugriffe verfügen gute Sicherheitsmodule über logische und physische (physikalische) Schutzmechanismen.

Logische Schutzmechanismen sollen verhindern, dass Angreifer, unter Nutzung der regulären Kommunikationsschnittstellen und unter Beachtung des erlaubten Betriebsbereichs, Operationen ausführen können, die zur Kompromittierung sicherheitsrelevanter Objekte führen. Bei diesen Schutzmechanismen handelt es sich im Wesentlichen um geeignete Filtermechanismen der Hardware, des Betriebssystems und der Applikationen für alle vorhandenen Schnittstellen des Sicherheitsmoduls.

Physische (physikalische) Schutzmechanismen sollen verhindern, dass ein Angreifer das Sicherheitsmodul außerhalb des erlaubten Betriebsbereichs oder über nicht-reguläre Kommunikationsschnittstellen so betreiben kann, dass sicherheitsrelevante Objekte kompromittiert werden. Mögliche physische (physikalische) Angriffsklassen und beispielhafte Gegenmaßnahmen sind:

[Sicherheitsparameter, -mechanismen und -management sind durch Kommunikations- und Anti-Tamper-Mechanismen mit der Außenwelt verbunden]
Konzeptioneller Aufbau eines Sicherheitsmoduls

Technische Ausprägungen

Die Bandbreite der Bauformen von Sicherheitsmodulen reicht von PCs oder Geräten mit speziellem Gehäuse über (PC-)Einsteckkarten bis hin zu Kryptochips und Chipkarten. Bei der Entwicklung oder Auswahl von Sicherheitsmodulen sind neben Sicherheitsanforderungen vor allem technische und wirtschaftliche Anforderungen zu berücksichtigen:

Durch den modularen Aufbau der Hard- und Software von Sicherheitssystemen, Kryptogeräten und Sicherheitsmodulen können angepasste Lösungen zur Erfüllung abgestufter (Sicherheits-)Anforderungen entwickelt werden, ohne dabei den relativ kleinen Kryptogerätemarkt im Hochsicherheitsbereich durch eine übermäßige Variantenbildung zu stark zu belasten.

In Abhängigkeit projektspezifischer Anforderungen können ausgewählte marktgängige Standardhardwarekomponenten wie Security-Controller, Smartcards, Mikroprozessoren, Digital Signal Processors (DSPs) und Field-Programmable Gate Arrays (FPGAs) zum Einsatz kommen oder aber die Entwicklung eines anwendungsspezifischen hochintegrierten Schaltkreises (Application Specific Integrated Circuit, ASIC) beauftragt werden. ASICs bieten bei einem hohen Sicherheitsniveau die Möglichkeit sehr leistungsfähige oder auch angepasste Lösungen zu schaffen. Die vergleichsweise langen Entwicklungszeiten, die weitgehend statische Funktionalität sowie die im Hochsicherheitsbereich häufig kleinen Stückzahlen verringern jedoch ihre Attraktivität. Zukünftig lassen sich einige dieser Probleme vielleicht durch die Integration leistungsfähiger konfigurierbarer Blöcke in einen ASIC mildern.

Vor dem Einsatz marktgängiger Komponenten(-familien) in Sicherheitsmodulen wird ihre Eignung vom BSI geprüft und ermittelt, ob und unter welchen Randbedingungen ihr Einsatz möglich ist und welchen Einfluss dies auf die Erfüllung der genannten Anforderungen hat. Bei der Verwendung marktüblicher Komponenten ist die Verfügbarkeit von zugehöriger Software ein entscheidendes Auswahlkriterium. Wichtige Stichwörter in diesem Kontext sind: Sicherheitsbetriebssysteme, Sicherheitsapplikationen, Open Source und Hardwareunabhängigkeit.

FPGAs in Sicherheitsmodulen

Seit mehreren Jahren wächst die Leistungsfähigkeit programmierbarer Logikbauelemente. Für die Implementierung von komplexen Sicherheitsmechanismen sind in diesem Bereich Field-Programmable Gate Arrays (FPGAs) besonders interessant, da sie über eine große Anzahl von Logikelementen verfügen. Die Verbindung der identischen Logikelemente erfolgt über konfigurierbare Verdrahtungsressourcen.

Der Entwurfsprozess für kundenspezifische Anteile von ASICs und FPGAs ist sehr ähnlich. Ausgehend von einer Beschreibung mittels einer Hardwarebeschreibungssprache folgt im iterativen Entwurfsprozess (Design, Verifikation, Redesign) Synthese. Beim ASIC endet der Entwurfsprozess mit einer Schaltungsbeschreibung auf Maskenebene, beim FPGA mit einer Schaltungsbeschreibung in Form einer Konfigurationsdatei. Die Fertigung des ASICs erfolgt auf Grundlage der kundenspezifischen Masken. FPGAs werden hingegen unspezifisch gefertigt und erst beim Kunden projektspezifisch konfiguriert.

FPGAs verfügen aufgrund der Konfigurierbarkeit über ein breites Anwendungsspektrum. Daraus resultieren große Stückzahlen sowie ein größerer Markt und damit letztlich Kostenvorteile für Gerätehersteller. Andererseits haben konfigurierbare Strukturen einen erhöhten Ressourcenverbrauch und damit höhere Stückkosten zur Folge. Bei kleinen Stückzahlen stellen FPGAs oft die preiswertere Lösung dar, bei großen Stückzahlen der für die Anwendung optimierte ASIC.

Dass man bei konfigurierten FPGAs bevorzugt an Hardware denkt, hat sicher auch damit zu tun, dass der Entwurfsprozess für die Konfigurationsdaten, die verwendeten Entwurfswerkzeuge und die Beschreibungssprachen weitgehend identisch sind zu solchen, die bei der Hardwareentwicklung zum Einsatz kommen. Allerdings weisen einige FPGA-Typen auch Eigenschaften auf, die man gewöhnlich mit dem Begriff Software verbindet. Hervorzuheben ist die Möglichkeit der Reprogrammierbarkeit oder gar dynamischen Reprogrammierbarkeit dieser Bausteine (vgl. Tabelle 2).

Speichertechnologie für Konfigurationsdaten Flüchtigkeit (Konfigurationsdaten gehen beim Ausschalten des Bausteins verloren) Reprogrammierbarkeit (der Baustein kann mit einer geänderten Konfiguration neu geladen werden)
SRAM ja ja
(Flash-)EEPROM nein ja
Anti-Fuse nein nein

Klassifikation von FPGAs auf Basis der Speichertechnik

Die Speichertechnologie hat direkten Einfluss auf die Sicherheitseigenschaften von FPGAs: Reprogrammierbare FPGAs bieten im Zusammenhang mit Anti-Tamper-Mechanismen (gegen phys. Manipulation) die Möglichkeit die Konfiguration des Bausteins zu löschen und somit einem Angreifer vertrauliche Sicherheitsmechanismen vorzuenthalten. Damit ist theoretisch – hochwirksame logische und physische (physikalische) Schutzmechanismen des Sicherheitsmoduls vorausgesetzt – ein höherer Vertraulichkeitsschutz zu erreichen, als mit dem "Vergraben" vertraulicher Schaltungsanteile in Form von ASICs oder so genannten Anti-Fuse-FPGAs. Praktisch steigt und fällt die Wirksamkeit dieses Vorgehens mit der Qualität des Anti-Tamper-Mechanismus. Erschwerend kommt hinzu, dass das schnelle Löschen (< 1 Sekunde) von Informationen ein grundsätzliches Problem darstellt – nicht nur bei rekonfigurierbaren FPGAs. Selbst bei flüchtigen Speichern wie SRAMs können statische Daten zu Veränderungen am Speicherchip und somit zu einem "Gedächtnis"-Effekt führen. Dies macht besondere Speicher- und Löschmechanismen erforderlich.

Im Rahmen der Eignungsprüfung durch das BSI wurden und werden die Sicherheitseigenschaften sowie die Leistungsfähigkeit von FPGAs untersucht. Hierzu hat das BSI auch Studien an Firmen und Forschungseinrichtungen vergeben (siehe [2]). Zur Leistungsfähigkeit von FPGAs im Kontext kryptographischer Anwendungen existiert eine Vielzahl veröffentlichter Ergebnisse. Im BSI wurden darüber hinaus Implementierungen zu ausgewählten Sicherheitsmechanismen durchgeführt. Die Implementierungsergebnisse für ein öffentliches Kryptoverfahren werden in einer der nächsten <kes>-Ausgaben beispielhaft präsentiert.

Fazit

Derzeit existieren keine FPGAs, die alle Sicherheitsanforderungen für Sicherheitsmodule im Hochsicherheitsbereich erfüllen und somit ohne weitere Sicherheitsmaßnahmen als Sicherheitsmodul dienen können. Allerdings haben verschiedene FPGA-Typen/Familien das Potenzial als Recheneinheit zur Ausführung von Sicherheitsmechanismen innerhalb von Sicherheitsmodulen zu dienen. Das Sicherheitsmodul muss dann insbesondere über umfassende und zuverlässige logische und physische (physikalische) Schutzmechanismen verfügen. Die funktionalen Eigenschaften und vor allem die Rekonfigurierbarkeit lassen FPGAs sehr attraktiv erscheinen – auch für den Einsatz im Hochsicherheitsbereich.

Literatur

[1]
Marktübersicht zu "Programmierbare Logik-ICs", Markt&Technik, Heft 25/2003, WEKA-Verlag, online auf [externer Link] www.elektroniknet.de/download/marktuebersicht/pdf2003/25/Programmierbare_Logik-ICs.pdf
[2]
T. Wollinger and C. Paar, How Secure are FPGAs in Cryptographic Applications?, The International Conference on Field Programmable Logic and Applications – FPL 2003, Lisbon, September 2003, [externer Link] http://eprint.iacr.org/2003/119.pdf
[3]
BSI, Gemeinsame Kriterien für die Prüfung und Bewertung der Sicherheit von Informationstechnik (Common Criteria), [externer Link] www.bsi.bund.de/cc/