Definition der homomorphen Verschlüsselung
Was tun Sie, wenn Sie Berechnungen auf großen Datensätzen durchführen und dabei deren Vertraulichkeit wahren müssen? Mit anderen Worten, Sie möchten beispielsweise Analysen über Benutzerdaten erstellen, ohne den Inhalt der Berechnungsmaschine, die die Analysen berechnet, preiszugeben. Oder Sie sind ein Anbieter von Cloud-Diensten, der die verschlüsselte Speicherung von Dokumenten unterstützt, aber seinen Nutzern die Möglichkeit geben möchte, ihre Dokumente zu bearbeiten, ohne sie vorher zu entschlüsseln.
Hier könnte die homomorphe Verschlüsselung eine Hilfe sein. Die homomorphe Verschlüsselung bietet die Möglichkeit, die Speicherung und Berechnung von Daten in Cloud-Umgebungen „auszulagern“, indem die Daten zunächst in eine verschlüsselte Form umgewandelt werden.
Das Bemerkenswerte an dieser Technik ist, dass Sie die gleichen Ergebnisse (in verschlüsselter Form) erzielen, indem Sie die gewünschten Operationen und Berechnungen an den verschlüsselten Daten durchführen, wie Sie es bei der Durchführung der gleichen Operationen an der unverschlüsselten Form getan hätten.
„Die homomorphe Verschlüsselung unterscheidet sich von typischen Verschlüsselungsmethoden dadurch, dass sie es ermöglicht, Berechnungen direkt an 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 aufgedeckt werden“, so die Homomorphic Encryption Standardization, das Konsortium für Industriestandards, das die „offiziellen“ Standards, Leitlinien und Informationen über Entwicklungen in diesem Bereich bereitstellt. Dies ermöglicht die Verwendung derselben rechnerischen Analyselösungen, ohne dass die Vertraulichkeit der Daten in irgendeiner Phase beeinträchtigt wird.
Die Idee, solche Chiffriersuiten zu entwerfen, war weitgehend experimentell und wurde in den späten 1970er Jahren vorgeschlagen. Es dauerte drei Jahrzehnte, bis 2009 ein erstes praktisches Konzept von Craig Gentry entwickelt wurde.
Was ist anders an der homomorphen Verschlüsselung
Wenn man an Kryptografie in einem Industriestandard-Kontext denkt, wie HTTPS (ermöglicht durch SSL/TLS) oder End-to-End-Chat-Messaging, geht man davon aus, dass alle Kryptografie von Natur aus sicher ist und Vertraulichkeit und Integrität garantiert. Dies ist ein entscheidender Unterschied, der die homomorphe Verschlüsselung von typischen Kryptosystemen unterscheidet.
Damit die homomorphe Verschlüsselung funktioniert, sind ihre Chiffriersuiten so konzipiert, dass sie formbar sind, was bedeutet, dass sie die Integrität der Daten nicht garantieren können. Dies ist kein Fehler, sondern eine beabsichtigte Eigenschaft, die es einfacher macht, mit verschlüsselten Daten zu arbeiten.
Die Formbarkeit ist eine Eigenschaft kryptographischer Algorithmen, die die Umwandlung eines verschlüsselten Textes in einen anderen gültigen verschlüsselten Text ermöglicht, der die Bedeutung des ursprünglichen Textes verändert. Darüber hinaus muss der Benutzer, der die Daten umwandelt, nicht einmal wissen oder ableiten, was die ursprünglichen unverschlüsselten Daten waren.
Einfach ausgedrückt: Wenn ich eine verschlüsselte E-Mail an den Redakteur von CSO schicke, in der steht: „CSO ist großartig“, könnte ein Man-in-the-Middle-Angreifer (MitM), der diesen verschlüsselten Text stehlen kann, aber nicht weiß, was er bedeutet, ihn möglicherweise in eine andere verschlüsselte Zeichenfolge umwandeln, die, wenn der Redakteur sie entschlüsselt, lautet: „Ich hasse CSO!“
Praktische E-Mail-Verschlüsselungssysteme verfügen natürlich über Gegenmaßnahmen, um die Integrität der Daten zu schützen und dieses Szenario praktisch unmöglich zu machen, vorausgesetzt, die Algorithmen oder ihre Implementierung weisen keine Schwachstellen auf.
Das RSA-Kryptosystem, das teilweise homomorph ist, verwendet beispielsweise eine so genannte „Padding“-Funktion, um die Auswirkungen der Verfälschung zu minimieren. Darüber hinaus helfen Prüfsummen zur Nachrichtenauthentifizierung (z. B. MD5- oder SHA-Hashes) bei der Validierung der Datenintegrität.
Dies ist nicht so sehr besorgniserregend, da die Vertraulichkeit der Daten nicht durch Verfälschung beeinträchtigt wird. Besorgniserregend wird es, wenn z.B. die Rechenmaschine, die mit verschlüsselten Daten arbeitet, aufgrund eines fehlerhaften Algorithmus einen Fehler in die Daten oder das verschlüsselte Ergebnis einführt. Die Natur der homomorphen Verschlüsselung könnte es besonders schwierig machen, diese Fehler zu entdecken.
Arten der homomorphen Verschlüsselung
Alle Daten sind Zahlen (Computer arbeiten in Binärform). Die Kryptographie ist ein mathematischer Zweig, der direkt mit Zahlen arbeitet. Das heißt, Ver- und Entschlüsselung sind nichts anderes als ein komplexes Spiel von Operationen mit Zahlen.
Es gibt drei Arten von homomorpher Verschlüsselung:
- Teilweise homomorphe Verschlüsselung (PHE) ermöglicht nur eine Art von mathematischer Operation (z.B. Multiplikation) auf einem gegebenen Datensatz für eine unbegrenzte Anzahl von Malen.
- Die etwas homomorphe Verschlüsselung (SHE) ist freizügiger, aber immer noch restriktiv und erlaubt sowohl Addition als auch Multiplikation auf einem gegebenen Datensatz nur wenige Male.
- Die vollständig homomorphe Verschlüsselung (FHE) ist die beste aller Welten, da sie verschiedene Arten von Operationen auf Daten unbegrenzt oft zulässt, jedoch mit einem erheblichen Leistungsnachteil.
Jeder Ansatz tendiert dazu, entweder Leistung, Nutzen oder Schutz zu bieten, wobei FHE sehr intensiv und derzeit ineffizient ist (und daher in einem realen Szenario eine schlechte Leistung bietet).
Die aktuellen Entwicklungen der homomorphen Verschlüsselung sind ein ständiger Balanceakt zwischen den dreien, um eine optimale Lösung zu erreichen. Sobald das Potenzial von FHE ausgeschöpft ist, wird es bahnbrechende Möglichkeiten bieten, wie z. B. die Fähigkeit eines Cloud-Betreibers, verschiedene mathematische Operationen mit verschlüsselten Daten durchzuführen.
Anwendungsfälle für homomorphe Verschlüsselung
Regulierte und datenschutzorientierte Branchen
Die Speicherung von Daten und personenbezogenen Informationen (PII) in stark regulierten Branchen wie dem Gesundheitswesen, dem Finanzwesen, dem Rechtswesen und dem Bankwesen ist eine Herausforderung. Die verschlüsselte Speicherung ist eine Sicherheitsmaßnahme, die in diesen Branchen eingesetzt wird, aber eine weitere Herausforderung entsteht, wenn die Benutzerdaten zunächst entschlüsselt werden müssen, um daraus Erkenntnisse zu gewinnen.
Die Ableitung von prädiktiven Analysen, die maschinelles Lernen nutzen, aus Patientenakten kann Ärzten beispielsweise helfen, Heilmittel für Krankheiten zu finden. Mit der homomorphen Verschlüsselung entfiele die Notwendigkeit, die Patientenakten zunächst zu entschlüsseln. Die analytischen Algorithmen könnten auf verschlüsselte Patientendaten zugeschnitten werden und Ergebnisse auch in verschlüsselter Form liefern. Diese Ergebnisse würden nach der Entschlüsselung die gleichen Erkenntnisse liefern wie unverschlüsselte Patientendaten.
Dieser Anwendungsfall erstreckt sich auch auf die Online-Werbung. Angesichts zunehmender Beschränkungen durch Gesetze wie GDPR ist es eine Herausforderung, personalisierte Werbung anzubieten und gleichzeitig die Privatsphäre der Nutzer zu schützen. Mit homomorpher Verschlüsselung können Sie Analysen und Erkenntnisse aus verschlüsselten Nutzerdaten ableiten, ohne dabei die Vertraulichkeit der Nutzerinformationen zu gefährden.
Ausgelagerte Cloud-Speicherung
Die Auslagerung der Datenspeicherung kann eine kosteneffiziente Strategie sein, wenn es darum geht, die Personalkosten zu senken und die mit der Wartung eines vollwertigen, sicheren Rechenzentrums verbundenen Kopfschmerzen zu beseitigen. Darüber hinaus kann es vorkommen, dass Projekte Datenbanken grenzüberschreitend auslagern müssen, weil in ihrem eigenen Rechtsraum kein ausreichender rechtlicher Schutz vorhanden ist. Ein Beispiel aus der Praxis ist WikiLeaks, eine gemeinnützige Aktivistenorganisation, die ihre Hauptserver in Schweden hostet.
Verschlüsselung löst das Problem der Datenspeicherung, aber das Hinzufügen oder Ändern verschlüsselter Daten in ihrer verschlüsselten Form ist ein Problem, das durch homomorphe Verschlüsselung gelöst werden kann. Dadurch kann die Möglichkeit von Vorfällen wie dem Missbrauch von Privilegien durch einen ehemaligen Google-Ingenieur, der einige Nutzer der Plattform belästigt hat, verhindert werden.
Mit homomorpher Verschlüsselung werden Daten sicher in der Cloud gespeichert, während gleichzeitig die Möglichkeit besteht, verschlüsselte Informationen zu berechnen und zu durchsuchen. In einer idealen Umgebung wäre nur der Nutzer, dem die Daten in der Cloud gehören, in der Lage, die Daten und die Ergebnisse der homomorphen Verschlüsselung zu entschlüsseln.
Wenn Sie mit der Technologie experimentieren möchten, finden Sie auf der Website Homomorphic Encryption Standardization viele Open-Source-Implementierungen der homomorphen Verschlüsselung. Microsoft SEAL bietet „Verschlüsselungsbibliotheken, die es ermöglichen, Berechnungen direkt auf verschlüsselten Daten durchzuführen“, um Entwickler bei der Erstellung von Ende-zu-Ende-verschlüsselten Datenspeicher- und Berechnungsdiensten zu unterstützen.