# Homomorphe Verschlüsselung
**Grundidee**: Berechnungen auf verschlüsselten Daten durchführen, ohne diese entschlüsseln zu müssen.
**Definition**:
Eine Homomorphe Verschlüsselung ermöglicht Entwicklern Mathematische Operationen auf Verschlüsselten Daten durchzuführen ohne diese zu entschlüsseln. Dazu muss sich eine Verschlüsselungstechnik bezüglich einer Operation oder mehreren Operationen Homomorph zwischen Urbild und Abbild sein d. h. das Ergebnis mit einer bestimmten Operation eines verschlüsselten Wertes entspricht bei der Entschlüsselung dem Ergebnis der selben Rechnung mit den selben unverschlüsselten Werten.[9]
**Funktion**:
Homomorphe Verschlüsselung funktioniert mit dem Public_Key Verfahren, welches z. B die meisten Messanger verwenden bzw. wird es am häufigsten von Software verwendet, die Daten übertragen(Transportverschlüsselungen). Der einzige unterschied ist, dass nur der Nutzer mit seinem Public- und Private-key die Daten entschlüsseln kann.
„Die Sicherheit der homomorphen Verschlüsselung basiert auf der Komplexität des mathematischen Problems namens „Ring-Learing with Errors“ (RLWE)“[10]. Diese Verschlüsselungstechinken gelten laut Forschern als genau so sicher, wie andere herkömmliche verschlüsselungsverfahren und sogar es gilt auch als sicher gegen Quantencomputer![10]
**Schutzziel**:
* Vertraulichkeit: Die Daten in einer Datenbank und Berechnungen auf diesen sind verschlüsselt und somit für Nutzer ohne Berechtigungsschlüssel nicht abrufbar
Es existieren verschiedene Arten der Homomorphen Verschlüsselung mit eigenen Möglichkeiten und Nachteilen. Im folgenden erste Ideen zur Homomorphen Verschlüsselung ohne Beachtung von Vor-/Nachteilen durch Art der homomorphen Verschlüsselung.
(Quelle:"https://www.security-insider.de/was-ist-homomorphe-verschluesselung-a-1021699/" stand:20.10.22)
### Allgemeine Use-Cases:
* private Datenbanken die Berechnungen über vertrauliche Informationen durchführen müssen bspw.:
1. Datenbank einer Schule/Universität mit Namen, Anschrift, Kontaktdaten... Ermitteln, welche Schüler/innen bereits Semesterbeitrag/Milchgeld o.ä. bezahlt haben (nicht jeder soll Inhalt wissen, aber jeder soll Rechnungen ausführen)
2. Beispiel Datenbank Arzt aus PA Vorstellung
* gemietete Datenbank von einem Dienstleister, Schutz der eigenen Daten vor möglichen Fehlern oder "Spionage" durch den Dienstleister
* Spamfilter für verschlüsselte Emails, Server versieht Spam Nachrichten mit codierter Mitteilung ob es sich um Spam handelt, danach kann der Nutzer sicher wissen ob es sich bei der Mail, die er entschlüsseln will um Spam handelt und gegebenenfalls diese bereits zuvor löschen.[1]
* Elektronische Wahlen mit Angaben wie Name, Anschrift, gewählte Partei, Auswertung kann durchgeführt werden ohne Info über den Wähler, und Sicherheit der betrugsfreien Wahl[2]
### Allgemeine Angreiferszenarien gegen DB:
* Silent Observer (Online Datenbank/lokale Datenbank einer Firma):
**Angreifer**: Mitarbeiter mit ausreichender Berechtigung und/oder technischem Verständnis
**Ziele**: Kommerziell, Spionage(Neugierde), Beeinflussung
Fall 1: Online Datenbank.
Der Besitzer der Datenbank oder einer seiner Angestellten könnte seine Rolle missbrauchen um heimlich die Datenbank eines Kundens mitzulesen. Daten zu speichern/stehlen um sie anschließlich zu verkaufen oder sie jedenfalls zu seinem Nutzen auszulegen. Durch seine administrative Stellung könnte ein Angreifer mit ausreichend privilegien solch einen Angriff durchführen ohne, dass der Kunde davon etwas mitbekommen würde. Potenzielle Gefahren für den Angreifer wären Mitarbeiter/Vorgesetzte und im Falle des Besitzers der Datenbank Strafbehören u.ä..
Fall 2: lokale Datenbank einer Firma:
Ein Mitarbeiter mit physichem Zugang zur Datenbank (Facility-Mangager,Putzkraft) oder ausreichenden Zugriffsrechten, könnte unbemerkt Firmengeheimnisse/Kundendaten stehlen oder lesen. Physische Abwehrmaßnahmen wie Kameras, Sicherheitstüren oder Sicherheitspersonal stellen eine Bedrohung für diesen Angriff dar, ebenfalls Zugriffsprotokolle o.ä.
* Man in the Middle (Zwischen Nutzer und Datenbank online)
**Angreifer**: Hacker/Cyber-Kriminelle/Spione (genügend technisches Wissen)
**Ziele**: Erpressung, Datendiebstahl, Komerziell, Sabotage
Ein Angreifer im Internet hört den Datenverkehr zwischen einem online Server und einem Nutzer mit und kann versendete Informationen mitlesen. Nutzer denkt er kommuniziert direkt mit Datenbank, jedoch gehen Daten zuerst an Angreifer, dadurch könnte der Angreifer auch angefragte oder versendete Daten aufhalten oder verändern, könnte jedoch auffallen. Erstmals wieder Vertraulichkeit gefährdet im weiteren jedoch auch Integrität der versendeten und erhaltenen Daten.
* Aktiver Angreifer (sowohl für Online Datenbank/lokale Datenbankne)
**Angreifer**: Mitarbeiter mit ausreichender Berechtigung und/oder technischem Verständnis
**Ziele**:Sabotage, Zerstörung, jegliches Ziel ist vorstellbar
Jeder Angreifer mit Zugang zur Datenbank könnte diese gezielt/willkürlich zerstören. Hierbei schützen erneut physische Abwehrmaßnahmen oder Backups der Datenbanken, die für den Angreifer nicht erreichbar sind (offline, offsite).
* nach ähnlichem Schema lassen sich viele Szenarien erstellen, jedoch bietet (Homomorphe Verschlüsselung) eine Absicherung bezüglich der Vertraulichkeit der Daten, es müssen keine Sonderrechte gewährt werden um mit den Daten zu arbeiten. Der Plaint Text der Daten kann lediglich dem Besitzer zur Verfügung stehen während weder DB-Service-Provier, Man in the Middle Angreifer oder lokale Angreifer mit dem Inhalt der Daten etwas anfangen können. Die einzigen **möglichen Angriffe gegen Homomorphe Verschlüsselung**:
**1.** Verschlüsselung brechen (Zeit/Kostenaufwendig) betrifft jede Verschlüsselung
**2.** Social Engineering gegen Inhaber, Personal Secret in Erfahrung bringen, Sicherheit ist hier unabhängig vom System
**3.** Angreifer erlangt unverschlüsselte Ergebnisse über das Gerät des Nutzers -> keine/wenig Information über die eigentlichen Daten
**4.** Homomorphe Verschlüsselung schützt nicht vor Zerstörung der Daten, unbefugtes Verändern der verschlüsselten Werte, bietet jedoch durch fehlerhafte Entschlüsselung Einsicht in Veränderungen.
## Teil-Homomorphe Verschlüsselung/Partially Homomorphic Encryption (PHE)
PHE erlaubt lediglich das Ausführen einer ausgewählten Anzahl an mathematischen Operationen auf den verschlüsselten Daten und beschränkt sich dabei meistens auf eine, oft Addition oder Multiplikation.
### Beispiele von PHE
**Goldwasser-Micali-Kryptosystem** (additiv-homomorph)
**Benaloh-Kryptosystem** (additiv-homomorph) [8]
**Paillier-Kryptosystem** (additiv-homomorph)
**Damgård-Jurik-Kryptosystem** (additiv-homomorph)
**Okamoto-Uchiyama-Kryptosystem** (additiv-homomorph)
**RSA** (multiplikativ-homomorph)
**ElGamal** (multiplikativ-homomorph)
**Naccache–Stern-Kryptosystem** (additiv-homomorph)
**Cohen-Fischer-Kryptosystem**[4] (additiv-homomorph)
**PIR Protokoll** basierend auf additiv-homomorpher Verschlüsselung[5]
weitere (additiv-homomorph) jedoch bish jetzt nichts gefunden :KTX (Kawachi et al. 2007), Galbraith (Galbraith 2002)
#### Zusammenfassungen PHE (Anwendung-Technik-etc)
**Cohen-Fischer-Kryptosystem**[4]
Ziel: Kryptographisches System entwerfen, dass bei einer elektrischen Wahl eingesetzt werden kann, um die Korrektheit der Wahlergebnisse und das Wahlgeheimnis zu schützen.
Aufbau: Wähler werden Prozesse genannt, ebenfalls gibt es den Staat als administrativen Prozess. Um zu kommunizieren erhält jeder Prozess einen Kanal den jeder andere Prozess mitlesen kann aber nur der Besitzer schreibrecht besitzt. Ebenfalls teilen sich alle Prozesse eine globale Uhr und einen Beacon der auf Anfrage einen zufälligen signierten Bit übergibt. Jeder Prozess kann nach den Resultaten fragen und hat seine eigenen Wahlergebnisse die er nachher mit denen der Regierung abgleichen kann um Wahltäuschung zu erkennen. Gültige Stimmen müssen vor Ende der Zeit abgegeben werden und dürfen nur Ja oder Nein beinhalten.
Ablauf: Staat erstellt Wahl. Prozesse erhalten verschlüsselte Ja und Nein Wahlzettel, müssen diese einmal in zufälliger Reihenfolge auswählen und zeigen. Schutz gegen zweimal Ja-Zettel etc. Anschließend wird der Schritt wiederholt nur dieses mal wählt der Prozess seine tatsächtliche Entscheidung.
Anschließend veröffentlicht der Staat ihre Ergebnisse und jeder Prozess kann mit seinem ausgerechnetem Ergebnis abgleichen.
Sicherheit: Staat hat während der Wahl die möglichkeit Einzelentscheidungen einzusehen und zuordnen zu können, jedoch wird das anschließende Ergebnis erhoben durch den Staat von allen Prozessen geprüft. Die priviligierte Stellung des Staates nach der Wahl verfällt und wird durch die neu gewählte Regierung ersetzt.
Anwendbar: Symptome werden einzelnd verschlüsselt (vorher Votes) an Datenbank (vorher Staat) gesendet, durch das addieren dieser Symptome (Stimmenzählen) kann die Datenbank dann ein verschlüsselte Ergebnis z.B. Index (Wahlentscheid) liefern (evtl eig Berechnung zum prüfen) mit Hilfe dessen der Arzt schließlicht auf einer anderen Datenbank sich Behandlungen ausgeben lassen kann indem er per Index eine bestimmte Krankheit aufruft. Hierzu erweitern mit PIR um gezielt Krankheit mit Index i Behandlungsmethoden zuzuordnen.
Dafür Notwendig: Erweiterbar auf mehrere Optionen als nur Ja und Nein, mehrfach Abstimmung, eindeutige Symptome zu einer Krankheit: Krankheitensymptome einzelnd hochzählen, eine Stimme kann n viele Krankheiten hochzählen.
**PIR-Protokoll**
siehe PIR und Oblivious Transfer[5]
## Nahezu-Voll-Homomorphe Verschlüsselung/Somewhat Homomorphic Encryption (SHE)
SHE erlaubt das ausführen einer limitierten Anzahl an Operationen, dies allerdings lediglich mit einer begrenzten Häufigkeit der Operationen. So kann SHE z.B. Additionen und Multiplikationen verwenden, dies allerdings nur begrenzt häufig und nicht zu komplex.
### Beispiele von SHE
[6]
[7]
#### Zusammenfassungen PHE (Anwendung-Technik-etc)
## Voll-Homomorphe Verschlüsselung/Fully Homomorphic Encryption (FHE)
FHE erlaubt das Ausführen einer jediglichen mathematischen Operation und begrenzt nicht die Anzahl an Operationen die auf dem verschlüsselten Text angewendet werden darf.
Auch wenn FHE als die beste Option erscheint, gilt es zum aktuellen Zeitpunkt für die meisten Anwendungen als unbrauchbar, da es zwar als möglich bewiesen wurde aber noch nicht die Effektivität besitzt die für weitverbreiteten Einsatz benötigt wird.
(Quelle: "https://research.aimultiple.com/homomorphic-encryption/", Stand 23.10.2022)
### Beispiele von FHE
**Voll-Homomorphes-System** nach Craig Gentry[1]
#### Zusammenfassungen PHE (Anwendung-Technik-etc)
## Quellen Paper
[1]Gentry, Craig. A fully homomorphic encryption scheme. Stanford university, 2009.
[2]Zbick, Niklas A. "Homomorphe Verschlüsselung." Uni Koblenz, (2012).
[3]Reith, Referent Prof Dr Steffen, and Korreferent Prof Dr Bernhard Geib. "Homomorphe Verschlüsselung."
[4]*Josh D. Cohen and Michael J. Fischer. A robust and verifiable crypto-
graphically secure election scheme. In Proceedings of the 26th Annual
Symposium on Foundations of Computer Science, SFCS ’85, pages 372–382,
Washington, DC, USA, 1985. IEEE Computer Society.*
[5]*Eyal Kushilevitz and Rafail Ostrovsky. Replication is not needed:
Single database, computationally-private information retrieval (exten-
ded abstract). In IN PROC. OF THE 38TH ANNU. IEEE SYMP. ON
FOUNDATIONS OF COMPUTER SCIENCE, pages 364–373, 1997.*
[6]Bourse, Florian, Olivier Sanders, and Jacques Traoré. "Improved secure integer comparison via homomorphic encryption." Cryptographers’ Track at the RSA Conference. Springer, Cham, 2020.
[7]Boneh, Dan, et al. "Private database queries using somewhat homomorphic encryption." International Conference on Applied Cryptography and Network Security. Springer, Berlin, Heidelberg, 2013.
[8]Benaloh, Josh, and Dwight Tuinstra. "Receipt-free secret-ballot elections." Proceedings of the twenty-sixth annual ACM symposium on Theory of computing. 1994.
[9] Was ist Homomorphe Verschlüsselung? Autor / Redakteur: Dipl.-Ing. (FH) Stefan Luber / Peter Schmitz. 31.03.2021 (https://www.security-insider.de/was-ist-homomorphe-verschluesselung-a-1021699/#:~:text=Es%20gibt%20verschiedene%20Arten%20der,erlaubt%20die%20Ausf%C3%BChrung%20beliebiger%20Rechenoperationen.)
[10] Verschlüsselung: Wie funktioniert Homomorphic Encryption? Von Nadine Graf, t3n Magazin 24.07.2021, 17:00 Uhr(https://t3n.de/news/verschluesselung-homomorphe-funktioniert-encryption-1393280/.)
### interessante Weiterführend
**Kapitel 4.3/4** Bouti, Adil. Homomorphe Verschlüsselung und Cloud-Computing. Diss. 2020.
**S.22-26:** Acar, Abbas, et al. "A survey on homomorphic encryption schemes: Theory and implementation." ACM Computing Surveys (Csur) 51.4 (2018): 1-35.