Zusätzliches Einführungsmaterial zur homomorphen Verschlüsselung finden Sie auf der Wikipedia-Seite Homomorphe Verschlüsselung.
Grundlagen der homomorphen Verschlüsselung
Vollständig homomorphe Verschlüsselung, oder einfach homomorphe Verschlüsselung, bezieht sich auf eine Klasse von Verschlüsselungsmethoden, die bereits 1978 von Rivest, Adleman und Dertouzos erdacht und 2009 erstmals von Craig Gentry konstruiert wurden. Die homomorphe Verschlüsselung unterscheidet sich von typischen Verschlüsselungsmethoden dadurch, dass sie es ermöglicht, Berechnungen direkt mit verschlüsselten Daten durchzuführen, ohne dass der Zugang zu einem geheimen Schlüssel erforderlich ist. Das Ergebnis einer solchen Berechnung bleibt in verschlüsselter Form und kann zu einem späteren Zeitpunkt vom Besitzer des geheimen Schlüssels offengelegt werden.
Anwendungen
Günstiges Cloud Computing und Cloud Storage haben die Art und Weise, wie Unternehmen und Privatpersonen ihre Daten nutzen und verwalten, grundlegend verändert. Herkömmliche Verschlüsselungsmethoden wie AES sind extrem schnell und ermöglichen die bequeme Speicherung von Daten in verschlüsselter Form. Um jedoch auch nur einfache Analysen mit den verschlüsselten Daten durchführen zu können, muss entweder der Cloud-Server Zugriff auf den geheimen Schlüssel haben, was zu Sicherheitsbedenken führt, oder der Eigentümer der Daten muss die Daten herunterladen, entschlüsseln und vor Ort bearbeiten, was kostspielig sein kann und eine logistische Herausforderung darstellt. Die homomorphe Verschlüsselung kann dieses Szenario erheblich vereinfachen, da die Cloud direkt mit den verschlüsselten Daten arbeiten kann und nur das verschlüsselte Ergebnis an den Eigentümer der Daten zurückgibt. Komplexere Anwendungsszenarien können mehrere Parteien mit privaten Daten einbeziehen, die eine dritte Partei bearbeiten und das Ergebnis an einen oder mehrere Teilnehmer zur Entschlüsselung zurückgeben kann.
Der jährliche iDASH-Wettbewerb fordert die Forschungsgemeinschaft auf, die Grenzen zu erweitern und die homomorphe Verschlüsselung auf neue Anwendungsfälle im Bereich des Datenschutzes von Genomen auszudehnen.
Sicherheit
Die Sicherheit der meisten praktischen homomorphen Verschlüsselungsverfahren basiert auf dem Ring-Learning With Errors (RLWE)-Problem, einem schwierigen mathematischen Problem im Zusammenhang mit hochdimensionalen Gittern. Die Sicherheitsannahme dieser Verschlüsselungsverfahren besagt nämlich, dass das RLWE-Problem effizient gelöst werden kann, wenn das Verfahren effizient gebrochen werden kann. Eine lange Reihe von begutachteten Forschungsarbeiten, die die Härte des RLWE-Problems bestätigen, gibt uns die Zuversicht, dass diese Verfahren tatsächlich mindestens so sicher sind wie jedes standardisierte Verschlüsselungsverfahren.
Wie bereits erwähnt, ist das RLWE-Problem eng mit den berühmten harten Gitterproblemen verwandt, die derzeit als sicher gegen Quantencomputer gelten. In ähnlicher Weise gelten RLWE und in der Folge die meisten homomorphen Verschlüsselungsverfahren als sicher gegenüber Quantencomputern, was sie in der Tat sicherer macht als auf Faktorisierung und diskretem Logarithmus basierende Systeme wie RSA und viele Formen der elliptischen Kurvenkryptographie. Tatsächlich gab es im Rahmen des vom NIST organisierten Projekts zur Standardisierung der Post-Quanten-Kryptografie mehrere Vorschläge, die auf harten Gitterproblemen basieren, die denjenigen ähneln, die bei der modernen homomorphen Verschlüsselung verwendet werden.
Standardisierung
Es gibt mehrere Gründe, warum wir glauben, dass dies der richtige Zeitpunkt ist, um die homomorphe Verschlüsselung zu standardisieren.
- Es besteht bereits ein dringender Bedarf an leicht verfügbarer, sicherer Rechentechnik, und dieser Bedarf wird sich noch verstärken, da immer mehr Unternehmen und Einzelpersonen auf Cloud-Speicher und -Rechner umsteigen. Die homomorphe Verschlüsselung ist bereits reif für die breite Anwendung, aber der derzeitige Mangel an Standardisierung erschwert den Einstieg in ihre Nutzung.
- Insbesondere sind die derzeitigen Implementierungen nicht einfach genug, um von Nicht-Experten genutzt zu werden. Der Standard wird die Vereinheitlichung und Vereinfachung ihrer API vorantreiben und die Anwendungsentwickler über ihre Verwendung aufklären.
- Die Sicherheitseigenschaften von RLWE-basierten homomorphen Verschlüsselungsverfahren können schwer zu verstehen sein. Der Standard wird die Sicherheitseigenschaften der standardisierten Schemata in einer klaren und verständlichen Form darstellen.
Verfügbarkeit
Es gibt heute mehrere Open-Source-Implementierungen von homomorphen Verschlüsselungsverfahren. Unten ist eine unvollständige Liste. Wenn Sie möchten, dass Ihre Implementierung hinzugefügt wird, kontaktieren Sie uns bitte unter [email protected].
- Microsoft SEAL: Eine weit verbreitete Open-Source-Bibliothek von Microsoft, die das BFV- und das CKKS-Verfahren unterstützt.
- PALISADE: Eine weit verbreitete Open-Source-Bibliothek eines Konsortiums von DARPA-finanzierten Verteidigungsunternehmen, die mehrere homomorphe Verschlüsselungsschemata wie BGV, BFV, CKKS, TFHE und FHEW, unter anderem, mit Mehrparteienunterstützung unterstützt.
- HELib: Eine frühe und weit verbreitete Bibliothek von IBM, die das CKKS- und BGV-Schema sowie Bootstrapping unterstützt.
- FHEW / TFHE: Unterstützt das TFHE-Schema. TFHE wurde aus FHEW entwickelt, das nicht mehr aktiv weiterentwickelt wird.
- HeaAn: Diese Bibliothek implementiert das CKKS-Schema mit nativer Unterstützung für approximative Festkommaarithmetik.
- Λ ○ λ (ausgesprochen „L O L“): Dies ist eine Haskell-Bibliothek für ringbasierte Gitterkryptographie, die FHE unterstützt.
- NFLlib: Diese Bibliothek ist ein Auswuchs des europäischen HEAT-Projekts zur Erforschung hochleistungsfähiger homomorpher Verschlüsselung unter Verwendung von Low-Level-Prozessorprimitiven.
- HEAT: Diese Bibliothek konzentriert sich auf eine API, die eine Brücke zwischen FV-NFLib und HeLIB schlägt.
- HEAT: Eine HW-Beschleunigerimplementierung für FV-NFLlib.
- cuHE: Diese Bibliothek erforscht die Verwendung von GPGPUs zur Beschleunigung der homomorphen Verschlüsselung.
- Lattigo: Dies ist eine gitterbasierte kryptografische Bibliothek, die in Go geschrieben wurde.
- Concrete: Diese Bibliothek unterstützt eine eigene Variante des TFHE-Schemas.