Wissen | homomorphe Verschlüsselung

von Thomas


Erstellt am 18.10.2021


Vorhängeschloss schließt Tor

Einführung

In meiner Projektarbeit (T-2000 für die DHBW Karlsruhe) „Evaluation des praktischen Nutzen von homomorpher Verschlüsselung“, habe ich mich mit dem Thema homomorphe Verschlüsselung beschäftigt. Homomorphe Verschlüsselung ist eine Verschlüsselungsmethode, die es ermöglicht, mit den verschlüsselten Daten zu operieren. Damit ist gemeint, dass es möglich sein soll zwei verschlüsselte Zahlen, ohne Kenntnis über die Entschlüsselungsmethode, zu verrechnen. Das Wissen, wie das funktioniert und wie gut Homomorphe Verschlüsselung schon ausgereift ist, erkläre ich in diesem kurzen Artikel.

Was bringt mir Homomorphe Verschlüsselung? Erklärt an Beispielen

Stell dir vor, du willst deine Word Dokumente aus der Office 365 Cloud so bearbeiten, dass Unbekannte und Microsoft zu keinem Zeitpunkt den Inhalt lesen können. Aktuell wird das durch Zugriffsberechtigungen umgesetzt. Dabei wird das Dokument zwar verschlüsselt Übertragen, auf dem Server von Microsoft selbst liegt das Dokument entschlüsselt. Wäre das Dokument verschlüsselt, könnte der Server keine Änderungen an dem Dokument vornehmen. Unbefugte haben in der Regel keinen Zugriff auf die Dokumente, da Microsoft durch entsprechende Zugriffsberechtigungen jene ausschließt. Wie sieht es aber mit Microsoft selbst aus? Das wissen wir leider nicht. Jeder muss Microsoft als Unternehmen vertrauen, dass die Daten nicht ausspioniert werden.
Zugegeben, ich persönlich glaube nicht daran, dass Daten von Microsoft ausgespäht werden. Aber allein die Tatsache, dass es möglich ist lässt auf Lösungen hoffen, die dieses Problem eventuell beheben könnten – und genau hier kommt homomorphe Verschlüsselung zum Einsatz. Mit homomorpher Verschlüsselung sind die Daten zu jedem Zeitpunkt, außer auf dem Client selbst, verschlüsselt. Die Verschlüsselung bringt den Vorteil mit sich, dass selbst Microsoft mit den Daten nichts mehr anfangen könnte, weil sie verschlüsselt sind. Sogar wenn Daten von einem Microsoft Server gestohlen werden, sind alle Dokumente sicher, denn was will ein Dieb mit verschlüsselten Daten, die er sowieso nicht lesen kann?

Man sieht, dass die homomorphe Verschlüsselung schon hier einen Vorteil bringt. Noch interessanter wird es aber im Data-Insights Umfeld. Aufgrund der DSGVO ist es nur mit der Zustimmung von Kunden möglich, persönliche Daten (z. B. Hobbys, Wohnort, Interessen, etc.) auszuwerten. Nun stell dir vor du möchtest aber genau anhand solcher Daten von allen Kunden Auswertungen machen, um deine Produkte noch effektiver auf den Markt zu bringen. Dadurch erhoffen sich Unternehmen den Umsatz zu steigern. Wegen der homorphen Verschlüsselung wäre es möglich diese Auswertungen dennoch zu tätigen. Denn alle Daten die von einem Kunden vorliegen sind verschlüsselt. Somit könnten keine Rückschlüsse zu einem speziellen Kunden gemacht werden. Diese Methode ist DSGVO-konform und dank homomorpher Verschlüsselung möglich umzusetzten.

Grundlagen zur homomorpher Verschlüsselung

Um nun ein bisschen wissenschaftlicher zu werden, möchte ich noch kurz nahebringen, wie die homomorpher Verschlüsselung in der Theorie funktioniert. Homomorphe Verschlüsselung arbeitet nach dem Public-Key- Verschlüsselungsverfahren. Bei diesem Verschlüsselungsverfahren werden zwei Schlüssel, ein Private- (privater) und ein Public-key (öffentlicher) erstellt. Dabei kann eine Nachricht N nur von dem Public-key, verschlüsselt werden. Aus dem Private-key kann jederzeit der Public-key erzeugt werden, so ist es indirekt möglich mit dem Private-key zu verschlüsseln. Entschlüsselt kann die Nachricht nur von dem Private-key.

Homomorphe Verschlüsselung setzt bei diesem Prinzip an, verwendet jedoch einen weiteren Schlüssel, den Evaluations-key, um Operationen auf den verschlüsselten Daten zuzulassen

Zusätzlich sind schon einige Algorithmen in der Theorie und Praxis definiert, die es ermöglichen Zahlen miteinander zu verrechnen:

  • Brakerski/Fan-Vercauteren (BFV): eignet sich gut, um Ganzzahlberechnungen auszuführen.
  • The Cheon-Kim-Kim-Song (CKKS): eignet sich für maschinelles Lernen und Gleitkommazahlberechnungen.

Die beiden Algorithmen finden in der Praxis bereits Anwendung. Microsoft hat in der Microsoft SEAL Bibliothek beide Algorithmen in C++ umgesetzt und deren Anwendung stark vereinfacht. Die Bibliothek ist Open Source und kann auf Github eingesehen und verwendet werden.

Data-Insights mit homomorpher Verschlüsselung schon im Jahr 2021 möglich?

Kurz gesagt: Theoretisch, ja – Praktisch, zu langsam.
In der Praxis ist es dank eines Transpiler von Google möglich bereits einfache Zeichenketten (Strings) miteinander zu vergleichen oder zu manipulieren. Dadurch lässt sich z. B. an einem verschlüsselten Datensatz von Kunden herausfinden, wie viele die gleiche Postleitzahl haben. Im Rahmen meiner Projektarbeit T-2000 hat sich aber herausgestellt, dass eine solche Berechnung bei nur 30 Datensätzen mehr als fünf Minuten benötigt. Praktisch ist Data- Insights damit schon heute möglich, aber aufgrund der Performance nicht rentabel. Google erwähnt im Blog selbst, dass der Transpiler nur für experimentelle Zwecke gedacht ist.
Ein anderes Beispiel aus dem Bereich der DNA zeigt, dass es durchaus möglich ist, dass HE schon heute praktische Anwendung findet.
Auch Google zeigt sich in einem Blogeintrag optimistisch über die Zukunft von homomorpher Verschlüsselung: In the next 10 years, FHE could even help researchers find associations between specific gene mutations by analyzing genetic information across thousands of encrypted samples and testing different hypotheses to identify the genes most strongly associated with the diseases they’re studying.