Jede Partei liefert ihre eigenen vertraulichen Eingaben für die Funktion F. Diese Eingaben müssen jedoch vor den anderen Parteien geheim bleiben, außer insofern, als sie sich aus dem Endergebnis der Funktion F ableiten lassen. Das Problem besteht darin, dass die SMPC/SMC-Technologie ihre Funktion ohne eine tatsächliche vertrauenswürdige dritte Partei (TTP) erfüllen muss. Unsere Gesellschaft erfordert heutzutage immer mehr Situationen und praktische Anwendungsfälle, in denen SMPC benötigt wird. Diese SMPC-Technologie lässt sich in einer Hierarchie kryptografischer Primitiven verorten. Ihre Stufen, von der einfachsten zur komplexesten, sind: (1) WCT (Weak Coin Tossing). Zwei Entitäten A und B erzeugen ein Zufallsbit; A möchte 0 und B möchte 1, und beide wissen dies. (2) CT (Coin Tossing). Zwei Entitäten A und B erzeugen ein Zufallsbit durch Datenaustausch. (3) BC (Bit Commitment). Entität A verschlüsselt ein Bit für B und gibt es später wieder preis. Das niedrigstwertige Bit (LSB) einer Dezimalzahl N ist der Modulo-2-Wert dieser Zahl N. (4) OT (Unwissender Transfer oder bitweiser Transponierter Transfer). Entität A präsentiert zwei Bits an B, und B wählt nur eines davon aus. A kann nicht wissen, welches Bit es gewählt hat, und B kennt das andere Bit von A nicht. (4) S2-PC (Sichere Zwei-Parteien-Berechnung). Die Entitäten A und B geben ihre privaten Daten ein und erhalten die gemeinsamen Funktionen FA(a, b) und FB(a, b).
Ziele von SMPC:
Die Secure Multi-Party Computation (SMPC)-Technologie eignet sich für alle Situationen und Anwendungen, in denen zwei oder mehr Parteien oder Entitäten gemeinsam Berechnungen oder Aufgaben durchführen möchten. Jede Partei muss ihre vertraulichen/privaten Eingaben beisteuern, darf diese jedoch weder anderen Parteien noch Dritten, einschließlich Transaktionsverarbeitungsplattformen (TTPs), offenlegen. Mit der zunehmenden Verbreitung des Internets gewinnt die SMPC-Technologie immer mehr an Bedeutung. In verteilten Systemen führen vernetzte Teilnehmer oder Entitäten gemeinsam Berechnungen auf Basis ihrer Eingaben durch.
Beispiele für Anwendungen, in denen die SMPC-Technologie eine Schlüsselrolle spielt, sind:
(i) Ein Unternehmen möchte den Netzwerkverkehr auf bestimmte Anomalien überwachen. Der Netzbetreiber verweigert dem Unternehmen jedoch den Netzwerkzugriff, und das Unternehmen möchte nicht offenlegen, welche Anomalien es aufspüren möchte.
(ii) Zwei Pharmaunternehmen verfügen jeweils über eine Datenbank mit Molekülen und toxikologischen Testergebnissen und möchten ihre Ergebnisse zusammenführen, ohne preiszugeben, welche Moleküle sich in den jeweiligen Datenbanken befinden.
(iii) Zwei Finanzorganisationen planen eine Kooperation in einem Projekt zum gegenseitigen Nutzen. Jede Organisation möchte, dass ihre eigenen Anforderungen erfüllt werden. Diese Anforderungen sind jedoch vertrauliche Geschäftsdaten, darunter Kundenprognosen zur zukünftigen Entwicklung bestimmter Preise, Zinssätze und Inflationsraten, Wirtschaftsstatistiken usw. Daher möchten sie ihre Anforderungen weder der jeweils anderen Partei noch einem Transaktionsverarbeitungsunternehmen (TTP) offenlegen.
(iv) Eine Forscherin, Z, vermutet eine genetische Erkrankung und möchte diese untersuchen. Sie weiß, dass ein Kollege, X, über eine Datenbank mit DNA-Mustern (Desoxyribonukleinsäure) für verschiedene Krankheiten verfügt. Sie möchte ihn um Hilfe bitten, ohne seine vertraulichen Daten preiszugeben.
(v) Nach aufwändiger Marktforschung beschließt Unternehmen X, seinen Markt in eine bestimmte Region auszudehnen. Unternehmen X weiß, dass ein Konkurrent, Unternehmen Y, ebenfalls plant, in dieselbe Region zu expandieren. Strategisch gesehen wollen die Unternehmen X und Y nicht in derselben Region konkurrieren und möchten daher wissen, ob sich ihre Expansionsgebiete überschneiden. Sie benötigen also eine Möglichkeit, dieses Problem zu lösen und gleichzeitig ihre Expansionsziele geheim zu halten.
(vi) Zwei Menschen möchten einander einen Heiratsantrag machen, aber keiner von beiden möchte den ersten Schritt wagen, bis er sich sicher ist, dass der andere „Ja“ sagt. Zu diesem Zweck führen sie ein SMPC-System durch, dessen Ergebnis aufdeckt, ob beide heiraten möchten oder nicht. Nach Durchführung des SMPC-Systems wird einer von ihnen den ersten Schritt wagen.
Yaos Zwei-Millionäre-Problem besteht darin, herauszufinden, wer von zwei Personen reicher ist, ohne deren Vermögen preiszugeben. Dieses Problem ist analog zu einem allgemeineren Problem, bei dem zwei Zahlen, A und B, gegeben sind und es darum geht, die größere zu bestimmen, ohne die tatsächlichen Werte von A und B zu offenbaren. Ein wichtiges Werkzeug für symbolbasiertes Problemlösen (SMPC) ist die verifizierbare geheime Aufteilung (VSS). Dabei verteilt ein ehrlicher Akteur einen geheimen Wert S unter den Teilnehmern und erlaubt einigen, zu betrügen. Diese betrügenden Teilnehmer erhalten keine Informationen über S, und die ehrlichen Teilnehmer können das Geheimnis S selbst angesichts der böswilligen Handlungen der Betrüger rekonstruieren. Ein anschauliches Beispiel ist ein Paar, das nach einer langen Beziehung heiraten möchte, aber keiner von beiden den ersten Schritt wagen und einen Antrag machen will, bis sie sicher sind, dass der andere zustimmt.
Charakterisierung der SMPC-Technologie:
Ziel der SMPC ist es, Teilnehmern die Durchführung verteilter Rechenaufgaben mit ihren geheimen/privaten Informationen zu ermöglichen. Angriffe können sowohl von externen Entitäten als auch von einer Untergruppe böswilliger Teilnehmer (sogenannten Verschwörern) ausgehen. Der Zweck des Angriffs besteht darin, die privaten Informationen ehrlicher, nicht verschwörerischer Teilnehmer zu erlangen oder die beabsichtigte Berechnung zu verfälschen. SMPC konzentriert sich typischerweise auf Verfahren, bei denen keine Informationen offengelegt werden (ideales Modell). Es gibt jedoch einen anderen SMPC-Ansatz, der auf höhere Leistung und Effizienz für die Nutzer abzielt. Hierbei wird ein gewisses Risiko akzeptiert, teilweise Informationen können offengelegt werden, und die Sicherheit ist an die akzeptablen Sicherheitsdefinitionen des Nutzers anpassbar. Die protokollierte Übertragung ist ein Spezialfall der Zwei-Parteien-Berechnung, bei dem Partei A n Informationsketten (M1, ..., Mn) besitzt und Partei B eine ganze Zahl von eins bis an, beispielsweise i, wählt. Ziel ist es, dass B nur Mi kennt, während Partei A nichts über den von B gewählten Wert von i erfahren soll. Es ist möglich, passiv sichere SMPC-Verfahren mithilfe verschiedener Werkzeuge und Primitiven wie homomorphen Chiffren, transkribierten Übertragungen, Secret Sharing-Fragmentierung, Zero-Knowledge-Beweisen, PRNG-basierten Nonces usw. zu konstruieren. Im militärischen Kontext ist ein Beispiel für SMPC die Einsatzplanung von Koalitionen. Hierbei sind die Ressourcen der Koalitionsmitglieder die Geheimnisse, und das Ergebnis ist die Zuteilung dieser Ressourcen für eine spezifische Mission. Durch die Vereinbarung über die Zuteilung der Funktion F stellen die beiden Parteien eine gerechte Zuteilung sicher, und durch die Verwendung von SMPC bleiben die Details ihrer Fähigkeiten verborgen.

Synthese eines SMPC-Mechanismus basierend auf multiplikativer homomorpher RSA-Verschlüsselung.
Angenommen, wir möchten das geometrische Mittel der von drei Entitäten A, B und C geheim gehaltenen Werte ermitteln. Entität A besitzt die folgenden RSA-Parameter: Modulo n = 33, öffentlicher Schlüssel e = 3, privater Schlüssel d = 7. Entität A hält den geheimen Wert x1 (Wert 2), Entität B den vertraulichen Wert x2 (Wert 3) und Entität C den geheimen Wert x3 (Wert 4). Ziel ist es, einen SMPC-Mechanismus anzuwenden, sodass alle drei Entitäten letztendlich das geometrische Mittel erhalten, ohne ihre Geheimnisse preiszugeben. Der Algorithmus des SMPC-Protokolls bzw. -Schemas ist wie folgt: (i) Entität A verschlüsselt ihren Wert x1 mit ihrem öffentlichen RSA-Schlüssel und sendet ihn an B. In diesem Fall ist x1 gleich 2 hoch 3 modulo 33, das Ergebnis ist 8. (ii) Entität B verschlüsselt den Wert von A x2, in diesem Fall drei hoch drei modulo 33, mit dem öffentlichen RSA-Schlüssel von A, was zu 27 führt. Anschließend multipliziert sie diesen Wert mit dem von A erhaltenen Wert und sendet das Ergebnis modulo 33, also 18, an C. (iii)
Entität C verschlüsselt den Wert x von A, in diesem Fall vier hoch drei modulo 33, mit dem öffentlichen RSA-Schlüssel von A, was 31 ergibt. Anschließend multipliziert sie diesen Wert mit dem von B empfangenen Wert, und der resultierende Wert modulo 33, also 30, wird an A gesendet. (iv) Entität A entschlüsselt den empfangenen Wert, in diesem Fall dreißig hoch sieben modulo 33, was 24 ergibt. Sie teilt dieses Ergebnis durch die Anzahl der Entitäten, in diesem Fall drei, und sendet das Ergebnis, 8, an die verbleibenden Entitäten, also die Entitäten B und C. Dies entspricht dem gewünschten geometrischen Mittelwert, in diesem Fall dem Wert acht.

Synthese eines Zweiparteienmechanismus basierend auf additiver homomorpher Verschlüsselung.
Entität A möchte die arithmetische Summe berechnen, ohne ihre geheimen Werte an Entität B preiszugeben, die die Addition durchführt. Entität A verschlüsselt ihre beiden Geheimnisse, beispielsweise x1 (gleich 2) und x2 (gleich 1). Die Verschlüsselungsparameter von A sind: geheimer Schlüssel s = 3, öffentlicher Wert g = 28, Geheimnis modulo q = 7 (kleiner als g). Das multiplikative Inverse von s modulo 7 ist 19. Die Verschlüsselung der beiden Geheimnisse x1 und x2 ergibt die Werte 6 und 3, d. h.: C(x1) = (x1 . s) mod g = 6 und C(x2) = (x2 . s) mod g = 3. Entität A sendet diese beiden verschlüsselten Werte, 6 und 3, an B. Entität B addiert die Werte und sendet die Summe 9 an Entität A zurück. Entität A entschlüsselt die empfangene Summe 9 mit: D(9) = (9 . 19) mod 28 = 3. Daher ist die Summe der von A gespeicherten Geheimnisse 3, da Entität B die Summe berechnet hat, ohne die geheimen Summanden 2 und 1 zu kennen.
Abschließende Betrachtungen:
Sicheres Multiparty-Computing nutzt eine Vielzahl von Techniken, um die privaten Informationen aller an einer kollaborativen Aufgabe beteiligten Parteien oder Organisationen zu schützen. Derzeit erleben wir ein beispielloses Wachstum dieser Art des Rechnens in allen Sektoren: Industrie, Wirtschaft/Handel, Netzwerke, Wissenschaft, Spiele, Cybersicherheit, Finanzen und mehr. Unsere Forschungsgruppe arbeitet seit zwanzig Jahren auf diesem Gebiet und kooperiert international mit verschiedenen Unternehmen, Universitäten und Forschungszentren.
Dieser Artikel ist Teil der Aktivitäten des LEFIS-Netzwerks.
Literatur
Areitio, J. „Informationssicherheit: Netzwerke, Computer und Informationssysteme“. Cengage Learning-Paraninfo. 2013.
Areitio, J. „Implementierung von Cybersicherheit im elektronischen Geschäftsumfeld“. Conectrónica Magazine. Nr. 162. November 2012.
Areitio, J. „Management von Informationssicherheits- und Datenschutzrisiken“. Conectrónica Magazine. Nr. 155. März 2012.
Areitio, J. „Technologie zur Informationsverbergung, eine Grundlage für den Datenschutz“. Conectrónica Magazine. Nr. 132. November 2009.
Areitio, J. „Identifizierung, Analyse und Korrelation zwischen physischem Schutz und Cybersicherheit“. Conectrónica Magazine. Nr. 161. Oktober 2012.
Blahut, R.E. „Kryptographie und sichere Kommunikation“. Cambridge University Press. 2014.
Singer, P.W. und Friedman, A. „Cybersecurity and Cyberwar: What Everyone Needs to Know.“ Oxford University Press. 2014.
Wu, CH und Irwin, JD „Introduction to Computer Networks and Cybersecurity.“ CRC Press. 2013.
Kostopoulos, G. „Cyberspace and Cybersecurity.“ Auerbach Publications. 2012.
Camenish, J., Fischer-Hubner, S. und Rannenberg, K. „Privacy and Identity Management for Life.“ Springer. 2011.
Stavrou, A. „Network Availability of Internet Services: Threats and Defences.“ Springer. 2010.
Zhan, J. und Matwin, S. „Secure Data Mining.“ Springer. 2012.
Saito, WH „The Future of Privacy and IT Security.“ Wiley. 2012.
Autor:
Prof. Dr. Javier Areitio Bertolín – E-Mail:
Professor an der Fakultät für Ingenieurwissenschaften der Universität Deusto.
Leiter der Forschungsgruppe Netzwerke und Systeme
