XUP-P3R PCIe-Karte mit Xilinx VU9P FPGA
PCIe FPGA Card XUP-P3R Xilinx UltraScale+ 3/4-Length PCIe Board 4x 100GbE und bis zu 512GB DDR4 Brauchen Sie ein Preisangebot? Zum Preisanfrageformular springen Bereit
Die Verschlüsselung von Daten ist eine Notwendigkeit für sensible Informationen wie medizinische Akten oder Finanzdaten, deren Volumen exponentiell wächst. Idealerweise würden diese Daten in einer kostengünstigen öffentlichen Cloud-Infrastruktur gespeichert, einschließlich der Verarbeitungsfunktionen, wie z. B. das Nachschlagen eines Datensatzes in einer Datenbank. Aufgrund der Verschlüsselung bedeutet dies jedoch, dass der Anbieter des Cloud-Speichers die privaten Schlüssel benötigt - und die Suchbegriffe und -ergebnisse einsehen kann. Diese gemeinsame Nutzung von Schlüsseln und die Offenlegung privater Informationen birgt erhebliche Sicherheitsrisiken.
In dem obigen Beispiel wird eine verschlüsselte Datenbank auf einem öffentlichen Cloud-Server gespeichert. Um Daten abzurufen, z. B. bei einer Suche, muss das Cloud-System sowohl die privaten Schlüssel besitzen, um die Datenbank zu entschlüsseln, als auch Einblick in den Suchbegriff und das Ergebnis haben. Diese Daten werden zwar verschlüsselt, bevor sie über ungesicherte Verbindungen übertragen werden, aber das Risiko besteht darin, dass der Cloud-Anbieter über private Schlüssel verfügt und die Sicherheit davon abhängt, dass seine Systeme nicht kompromittiert werden.
Aufgrund dieser Beschränkungen können viele Arten von hochsicheren Daten, wie z. B. medizinische Aufzeichnungen, keine öffentliche Cloud-Infrastruktur nutzen.
Eine jahrzehntealte Technik ermöglicht jedoch die Verarbeitung verschlüsselter Daten, wie z. B. eine Textsuche, ohne Entschlüsselung oder Zugang zu privaten Schlüsseln. Außerdem können die Verarbeitungsanforderung (z. B. der Suchbegriff) und das Ergebnis ebenfalls verschlüsselt werden. Der Speicheranbieter könnte sensible verschlüsselte Daten ohne Risiko speichern und verarbeiten.
Diese Technik wird als homomorphe Verschlüsselung (HE) bezeichnet und ist in mehreren Stufen mit steigendem Rechenbedarf verfügbar. Bis leistungsfähige FPGA-Karten wie die IA-440i von BittWare verfügbar waren, schränkte der für die homomorphe Verschlüsselung erforderliche Rechenaufwand die praktischen Anwendungsfälle stark ein.
Wir haben zwar die Suche in einer Datenbank erwähnt, aber es gibt noch viele andere Einsatzmöglichkeiten für die homomorphe Verschlüsselung:
Homomorphe Verschlüsselungsverfahren verfolgen in der Regel einen von zwei Ansätzen:
Dieser Ansatz erlaubt es, eine bestimmte Menge an Verarbeitung durchzuführen, bevor der interne Fehler, der in allen HE-Schemata auftritt, zu groß wird. Wenn die Tiefe der erforderlichen Verarbeitung im Voraus bekannt ist, kann der Benutzer ein HE-Schema mit der entsprechenden Toleranz erstellen. Dies hat den Vorteil, dass nur der geringste Teil der Verarbeitung durchgeführt wird, was den Durchsatz erhöht.
Dieses Verfahren leidet ebenfalls unter zunehmendem Rauschen, verwendet aber eine Technik namens "Bootstrapping", um Fehler zu beseitigen, bevor sie zu groß werden. Boostrapping ist sehr langsam, obwohl es in letzter Zeit einige Fortschritte bei der Beschleunigung dieses Leistungsengpasses gegeben hat.
Die Wahl des zu verwendenden HE-Schemas hängt stark vom Problemfall des Nutzers ab. Daher ist es unwahrscheinlich, dass eine Lösung für alle geeignet ist. Die Verarbeitung verschlüsselter Daten in HE ist außerdem sehr langsam und bedarf einer erheblichen Beschleunigung, um sinnvoll zu sein. Glücklicherweise sind FPGAs extrem gut in der Art von Berechnungen, die für Verschlüsselungsschemata erforderlich sind, und flexibel genug, um jedes beliebige HE-Schema effizient zu verarbeiten.
Mit einer Ethernet-fähigen FPGA-Karte können Benutzer verschlüsselte Datenbankanfragen senden. Die HE-Logik auf dem FPGA wandelt diese Anfrage in die entsprechende Suche in einer verschlüsselten Datenbank um, die im angeschlossenen permanenten Speicher gespeichert ist. Zu keinem Zeitpunkt kann ein Hacker nützliche Informationen extrahieren, so dass die Datenbank in der Öffentlichkeit frei zugänglich ist. Da die Datenbank in einem verschlüsselten Format vorliegt, können keine sensiblen Informationen oder Algorithmus-IP extrahiert werden, wenn ein illegaler Zugriff auf die Daten erfolgt ist.
Homomorphe Verschlüsselung ist nicht auf textbasierte Datenbankanwendungen beschränkt. Dasselbe FPGA-Beschleunigungssystem, das oben beschrieben wurde, kann Beschleunigung als Dienstleistung für Berechnungen anbieten, z. B. für maschinelles Lernen (ML) und Inferenz. Im medizinischen Bereich können beispielsweise Röntgenaufnahmen von Patienten (als Bilder) an Cloud-basierte ML-Modelle gesendet werden, um Anomalien zu erkennen. Wie im Beispiel der Datenbank erfordert eine solche Suche jedoch das Senden persönlicher medizinischer Informationen (die Röntgenbilder) an einen gemeinsam genutzten ML-Modellanbieter, der die Bilder entschlüsseln muss, um die Schlussfolgerung durchführen zu können. Das folgende Diagramm zeigt, was stattdessen möglich ist: ein FPGA-beschleunigtes HE- und Inferenzsystem, das sichere Abfragen für eine Reihe von Benutzern bereitstellt:
In diesem HE-gesicherten System würden die Röntgenbilder des Patienten, das trainierte ML-Modell und das Ergebnis im System des gemeinsamen Anbieters verschlüsselt bleiben. Wie beim Beispiel der Datenbanksuche würde der ideale Host viele Benutzer und Abfragen auf einer gemeinsam genutzten Ressource verarbeiten. Um ein solches System mit homomorpher Verschlüsselung zu sichern, ist der Aufbau sehr ähnlich wie beim Beispiel der Datenbanksuche.
Heutige Leistungseinschränkungen
Es ist zu beachten, dass das HE-System heute selbst mit der Hochleistungsbeschleunigung durch FPGAs um Größenordnungen langsamer als das unverschlüsselte Äquivalent. Daher sind weitere Arbeiten erforderlich, um diesen Leistungsunterschied für eine breitere Anwendung zu verringern.
Bevor die vollständig homomorphe Verschlüsselung (FHE) realisiert wurde, wiesen einige bekannte Verschlüsselungsverfahren bereits einige teilweise homomorphe Fähigkeiten auf. Das Verschlüsselungsverfahren RSA weist einen multiplikativen Homomorphismus auf, d. h. zwei verschlüsselte Chiffretexte können miteinander multipliziert werden und ergeben bei der Entschlüsselung das gleiche Multiplikationsergebnis wie der Klartext.
Das Paillier-Kryptosystem ist ein Beispiel für ein additives Verschlüsselungsverfahren. Dies kann wie folgt geschrieben werden...
Wie bereits erwähnt, ist ein vollständig homomorphes Verschlüsselungsverfahren (FHE) eines, das sowohl additive als auch multiplikative Operationen durchführen kann. In diesem Fall sind wiederholte Multiplikationen oder Additionen des Chiffriertextes zulässig, während der ursprüngliche Klartext weiterhin wiederhergestellt werden kann.
Wenn ein HE-Schema sowohl Multiplikationen als auch Additionen zulässt, ist es in der Lage, ein logisches NAND-Gatter und damit jede logische Schaltung auszuführen.
Eines der ersten FHE-Verfahren war das DGHV-Verfahren. Es beruhte auf extrem großen Chiffretexten, um eine gute Sicherheit zu gewährleisten. Die Verschlüsselungs- und Entschlüsselungsverfahren werden durch die folgenden Gleichungen dargestellt.
Für eine gute Verschlüsselung muss der Chiffretext sehr groß sein, d. h. mehrere 10 Millionen Bits, der geheime Schlüssel p Tausende von Bits und ein großer Rauschwert. Um sicherzustellen, dass ein Verschlüsselungsverfahren nicht für Angriffe der linearen Algebra anfällig ist, muss das Rauschen (r) bewusst eingeführt werden. Dies ist unten dargestellt.
Die Verwendung eines so großen Chiffriertextes führt eindeutig zu Leistungsproblemen, da ein einziges Bit des Klartextes zu Millionen von Bits des Chiffriertextes anwächst, was es in realen Anwendungsfällen unpraktisch macht. Dennoch war dies eines der ersten funktionalen HE-Verfahren, das die akademische Forschung im Bereich HE neu belebte.
Ein weiteres Problem des DGHV-Verfahrens war die Zunahme des Rauschens, das durch den erforderlichen Zufallsfaktor bei der Verschlüsselung entsteht. In diesem Fall erhöht das Hinzufügen von Chiffretexten das Rauschen um ein einziges Bit, während eine Multiplikation das Rauschen bei jeder Anwendung verdoppelt.
Die Abbildung zeigt, dass sich das multiplikative Rauschen ρ im Verhältnis zur Größe des geheimen Schlüssels q verdoppelt. Sobald das Rauschen q überschreitet, kann der Klartext nicht mehr fehlerfrei wiederhergestellt werden. Das bedeutet, dass wir nur eine begrenzte Anzahl von Operationen verarbeiten können, bevor der Prozess zusammenbricht.
Um dieses Fehlerwachstum zu beheben, wird eine Technik namens Bootstrapping eingesetzt. Bootstrapping kann das Rauschen entfernen, indem der Geheimtext durch die Verschlüsselungslogik geleitet und mit einem gemeinsamen öffentlichen Schlüssel verschlüsselt wird. Dies ist gleichbedeutend mit einer Entschlüsselung des Chiffriertextes (wodurch das Rauschen entfernt wird) und einer erneuten Verschlüsselung, wobei die Daten jedoch durchgehend privat bleiben, da der öffentliche Schlüssel nicht zur Wiederherstellung des ursprünglichen Klartextes verwendet werden kann. Dieser Prozess ist zwar rechenintensiv, kann aber das Rauschen entfernen und eine unbegrenzte Anzahl verschlüsselter Berechnungen ermöglichen: ein vollständig homomorphes Verschlüsselungsverfahren (FHE).
Das Learning With Error (LWE)-Verfahren basiert auf der Polynomauswertung, bei der der Verschlüsselungsschlüssel die Koeffizienten eines Polynoms vom Grad N sind. Die Koeffizienten der Polynome liegen in einem endlichen Feld mit der Wortgröße q. Um die Sicherheit zu erhöhen, muss dem System Rauschen (e) hinzugefügt werden - andernfalls lässt sich das Verfahren leicht mit linearer Algebra lösen.
Die Addition von zwei Polynomen ergibt ein drittes Polynom gleichen Grades; die Multiplikation der beiden Polynome ergibt jedoch ein quadratisches Polynom mit (n+1)2 Koeffizienten. Um diesen Anstieg der Anzahl der Polynomterme zu korrigieren, wird eine Technik namens Re-Linearisierung verwendet. Dabei werden die quadratischen Terme des Polynoms veröffentlicht, die dann mittels binärer Zerlegung vom Ergebnis subtrahiert werden können, wodurch das erweiterte Polynom wieder auf (n+1) Koeffizienten reduziert wird. Diese Multiplikation leidet unter dem gleichen Rauschanstieg wie die DGHV, jedoch kann eine Technik namens "modulus switching" verwendet werden, um die Auswirkungen zu reduzieren.
Es kann gezeigt werden, dass die Entschlüsselungsergebnisse gleich bleiben, wenn die Koeffizienten durch eine neue Primzahl skaliert werden, so dass die neuen Koeffizienten "c" gleichwertig sind, so dass cnew = c mod 2. Diese Beziehung kann verwendet werden, um ein exponentielles Wachstum des Rauschens in ein lineares umzuwandeln, so dass viel mehr Operationen am Chiffretext durchgeführt werden können, bevor das Rauschwachstum zu groß wird (siehe Abbildung unten).
Dies nennt man eine nivellierte FHE. Wenn wir die Tiefe der Berechnungen kennen, können wir die Größe des Anfangsmoduls so wählen, dass sie für ein bestimmtes Problem groß genug ist, und so die teure Bootstrapping-Phase vermeiden.
Eine Erweiterung des LWE-Schemas ist die Verwendung eines Polynomrings, wobei N eine Potenz von 2 ist. Die Polynome befinden sich nun im Ring . In diesem Fall werden bei der Addition oder Multiplikation zweier Polynome die Koeffizienten noch um den Primzahlmodul reduziert. Nach der Multiplikation werden die 2N Koeffizienten reduziert, indem man den Rest bei der Division durch (XN + 1).
Die Multiplikation der Polynome ist der größte Engpass bei dieser HE-Implementierung, da die Anzahl der Koeffizienten in der Regel im Bereich N = [210,214] liegt. Eine Optimierung der Polynommultiplikation ist die negazyklische zahlentheoretische Transformation (NTT). Dadurch wird die Anzahl der Berechnungen von NN auf Nlog(N) reduziert. Die NTT ist eine schnelle Fourier-Transformation (FFT) über ein endliches Feld von ganzen Zahlen.
Die Multiplikation zweier Polynome f(x) und g(x) wird dann zu...
InvNTT (FwdNTT(f(x)) * FwdNTT(g(x)))
Es gibt mehrere öffentlich zugängliche HE-APIs, die meist für CPUs optimiert sind. Hier sind einige Beispiele:
Intel hat auch einen parallelen FPGA-Zweig zu seiner HEXL-Bibliothek. Die Intel Homomorphic Encryption Acceleration Library for FPGAs(HEXL-fpga) ist eine Open-Source-Bibliothek, die einige Beispiel-FPGA-Implementierungen von HE-Funktionen bietet.
Die folgenden Operatoren sind derzeit in der FPGA-API enthalten:
Diese geben den Benutzern die Möglichkeit, mit verschiedenen HE-Workflows auf FPGAs zu experimentieren. Die BittWare USM (Unified Share Memory) BSPs sind mit dieser Bibliothek kompatibel.
Die potenziellen Vorteile der homomorphen Verschlüsselung sind beträchtlich; sie ermöglicht eine viel bessere Nutzung der gemeinsam genutzten öffentlichen Ressourcen für risikoreiche Daten, wie sie in der Medizin und im Finanzbereich verwendet werden. HE wird weiterentwickelt, um die Leistungsprobleme mit neuen Techniken zu lösen.
FPGAs sind aufgrund ihrer äußerst flexiblen und leistungsfähigen Architektur die ideale Technologie, um die Einführung von HE zu unterstützen. BittWare-Karten wie die IA-440i sind gut geeignet, um Kunden bei der Umstellung auf homomorphe Verschlüsselung von der akademischen Forschung auf reale Anwendungen zu unterstützen.
Erfahren Sie mehr über unsere von Agilex betriebenen FPGA-Beschleunigerkarten →
HE: Homomorphe Verschlüsselung
RSA: Rivest, Shamir und Adleman
FHE: Vollständig homomorphe Verschlüsselung
DGHV: Digi Gentry Halevi Vaikuntanathan
RLWE: Ring Learning With Error
PCIe FPGA Card XUP-P3R Xilinx UltraScale+ 3/4-Length PCIe Board 4x 100GbE und bis zu 512GB DDR4 Brauchen Sie ein Preisangebot? Zum Preisanfrageformular springen Bereit
BittWare Partner IP MACsec IP-Core IEEE 802.1AE IP-Core Die Xiphera MACsec-Familie bietet Hochgeschwindigkeits-IP-Cores, die die MACsec (Media Access Control security)
IA-780i 400G + PCIe Gen5 Single-Width-Karte Kompakte 400G-Karte mit der Leistung von Agilex Die Intel Agilex 7 FPGAs der I-Serie sind für Anwendungen optimiert
FPGA-Server TeraBox 2102D 2U-Server für FPGA-Karten Übersicht Wir haben einen der beliebtesten 2U-Rechenzentrumsserver von Dell EMC mit