von Thomas
Erstellt am 18.10.2021
 
            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. 
                
                    
                
            
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.
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:
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.
                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.