Simple Science

Hochmoderne Wissenschaft einfach erklärt

# Computerwissenschaften# Kryptographie und Sicherheit# Programmiersprachen

Sicherheit in der Multi-Party-Berechnung voranbringen

Eine neue Programmiersprache verbessert die Sicherheitsüberprüfung des MPC-Protokolls.

― 6 min Lesedauer


Sichere MPC-ProtokolleSichere MPC-ProtokollevereinfachtSicherheitsverifizierung von MPC.Eine neue Sprache verändert die
Inhaltsverzeichnis

Sichere Multi-Party-Berechnung (MPC) ist ein wichtiges Werkzeug, um Daten in unserer vernetzten Welt privat zu halten. Es erlaubt verschiedenen Parteien, zusammenzuarbeiten, ohne ihre privaten Daten füreinander offenzulegen. Allerdings basiert der Nachweis darüber, dass diese Low-Level-MPC-Protokolle sicher sind, oft auf manuellen Methoden, die kompliziert und fehleranfällig sein können. Das ist ein Problem, weil die Methoden zur Überprüfung dieser Protokolle nicht standardisiert sind, was es vielen Experten in Programmiersprachen schwer macht, damit zu arbeiten.

Um diesen Prozess zu erleichtern, haben wir eine neue Programmiersprache entwickelt, die dabei hilft, verschiedene Low-Level-MPC-Protokolle zu definieren. Diese neue Sprache enthält auch Möglichkeiten zur Überprüfung von Vertraulichkeit und Integrität – zwei wichtige Sicherheitsmerkmale. Die von uns vorgeschlagenen Überprüfungen ähneln denen in traditionellen Informationsflussmodellen, die helfen sicherzustellen, dass sensible Informationen nicht durchsickern. Wir zeigen, wie unsere neue Sprache mit standardisierten MPC-Sicherheitsmodellen verbunden ist und wie sie zusammen verwendet werden kann, um die Sicherheit dieser Protokolle effektiver zu überprüfen.

Bedeutung der Low-Level-MPC-Programmierung

Hochgradige Programmiersprachen sind so konzipiert, dass sie dabei helfen, komplette Anwendungen zu erstellen. Sie konzentrieren sich darauf, Programmierung einfacher und effektiver zu gestalten. Wenn es um MPC geht, nutzen viele Hochsprachen jedoch Low-Level-Protokolle, um Datenaustausch und -verarbeitung zu steuern. Diese Low-Level-Protokolle, die geheime Verteilung und andere Methoden umfassen, erfordern sorgfältige manuelle Überprüfung. Die Herausforderung besteht darin, dass sowohl Hoch- als auch Low-Level-Entwürfe nötig sind, um sicherzustellen, dass MPC-Protokolle sicher sind.

Die Interaktion zwischen dem Informationsfluss und der Sicherheit der MPC-Protokolle wird kompliziert, insbesondere auf niedrigem Niveau. Bei MPC kommunizieren mehrere Clients miteinander, um Ergebnisse zu berechnen und zu teilen, ohne einen vertrauenswürdigen Dritten zu benötigen. Dieser Freigabeprozess kann unbeabsichtigt einige Informationen über die privaten Eingaben offenbaren, auch wenn die Gesamtergebnisse sicher bleiben. Die ideale Funktionalität in MPC muss eine Richtlinie zur richtigen Handhabung dieser Informationen festlegen, und das kann tricky sein.

Überblick über unsere Beiträge

Diese Arbeit stellt ein dreiteiliges System zur Überprüfung von MPC-Protokollen vor:

  1. Eine neue Low-Level-Programmiersprache, die speziell für die Definition grundlegender MPC-Operationen entwickelt wurde.
  2. Eine automatisierte Methode zur Überprüfung von Low-Level-MPC-Operationen in dieser neuen Sprache.
  3. Eine halbautomatisierte Methode zur Überprüfung der Sicherheit grösserer MPC-Protokolle, die auf diesen Low-Level-Operationen basieren.

Zusätzlich haben wir eine Reihe von Sicherheitsmerkmalen definiert, die für Experten in diesem Bereich interessant sein könnten.

Sprachdesign für MPC

Wir haben eine neue Programmiersprache entwickelt, um verteilte Protokolle zu definieren. Diese Sprache ermöglicht synchrones Messaging zwischen Clients, die Teil des Protokolls sind. Wir haben auch eine Metasprache entwickelt, die Protokolle dynamisch generiert. Das gibt Programmierern die Möglichkeit, Low-Level-Konzepte einfach auszudrücken.

Die Syntax unserer Programmiersprache ist klar und einfach. Sie unterstützt Standardoperationen wie Addition, Subtraktion und Multiplikation innerhalb eines endlichen Feldes. Clients senden Nachrichten und geben Informationen in einer Weise preis, die in das Framework dieser Sprache passt. Das macht es einfacher, MPC-Protokolle zu schreiben, zu verstehen und zu überprüfen.

Sicherheitsmodell für MPC

MPC-Protokolle zielen darauf ab, Ergebnisse bereitzustellen, ohne mehr Informationen preiszugeben als nötig. Mit unserem neuen Sicherheitsmodell können wir die Ausgaben dieser Protokolle in zwei Typen klassifizieren: real und ideal. Das Schlüsselkonzept ist, dass das reale Protokoll keine weiteren Informationen preisgeben sollte als das ideale Modell in derselben Situation.

In einem grundlegenden Sicherheitsmodell wird davon ausgegangen, dass alle Clients die Regeln der Protokolle befolgen. Wir können sagen, dass ein Protokoll „korrekt“ ist, wenn es für eine gegebene Eingabe die erwartete Ausgabe erzeugt, ohne zusätzliche Informationen preiszugeben. Dieses passive Sicherheitsniveau kann probabilistisch definiert werden, wobei mathematische Funktionen verwendet werden, die ausdrücken, wie Eingabe- und Ausgabevariablen zueinander stehen.

Wenn wir böswillige Clients in Betracht ziehen, die sich entscheiden, die Regeln zu brechen, führen wir einen Weg ein, um Betrug zu erkennen, der auftreten könnte. Dies fügt unserem Modell eine weitere Sicherheitsebene hinzu. Ehrliche Teilnehmer sollten in der Lage sein, dieses Fehlverhalten zu erkennen und die Operation nötigenfalls abzubrechen.

Sicherheitsmerkmale für MPC

Wir haben verschiedene Sicherheitsmerkmale entwickelt, um die Sicherheit von MPC-Protokollen zu bewerten. Ein wichtiges Merkmal ist die bedingte Nicht-Interferenz, die besagt, dass die Beobachtung der Ergebnisse des Protokolls einem Beobachter keine zusätzlichen Einblicke in die geteilten privaten Eingaben geben sollte.

Ein weiteres Merkmal ist graduelle Freigabe. Das bedeutet, dass das Protokoll nur eine kleine Menge an Informationen auf einmal offenbaren sollte, während andere sensible Details verborgen bleiben. Wir diskutieren auch robuste Deklassifizierung, die sicherstellt, dass selbst wenn einige Informationen preisgegeben werden, sie innerhalb der vereinbarten Grenzen bleiben, die das Protokoll vorgibt.

Überprüfungstechniken für MPC

Um die Sicherheit der MPC-Protokolle zu überprüfen, haben wir Methoden entwickelt, die es uns ermöglichen festzustellen, ob bestimmte Eigenschaften zutreffen. Dieser Überprüfungsprozess kann für einfache Protokolle vollständig automatisiert werden, während für komplexere Protokolle eine halbautomatisierte Methode zur Unterstützung der Überprüfung eingesetzt werden kann.

Unsere Methoden können die Wahrscheinlichkeitsverteilung der Ergebnisse aus verschiedenen Protokolldurchläufen bestimmen, was Sicherheitsprüfungen ermöglicht, die datengestützt sind. Mit diesen Ansätzen können wir reale Protokolle prüfen, wie sie in datenschutzorientierten Anwendungen wie sicheren Abstimmungen oder vertraulichem Datenaustausch verwendet werden.

Praktische Auswirkungen und zukünftige Arbeiten

Die neue Programmiersprache, die wir entworfen haben, zusammen mit unserer Untersuchung der Sicherheitsmerkmale, legt den Grundstein für eine bessere Definition von Low-Level-MPC-Protokollen. Sie öffnet auch Türen zur Verbesserung der Sicherheitsüberprüfung. Es gibt viele Bereiche, die wir weiter erforschen können, was zu besseren Werkzeugen und Methoden führen kann, um sicherzustellen, dass diese Protokolle sicher und zuverlässig sind.

Ein vielversprechender Bereich für zukünftige Forschung ist die Integration unserer Überprüfungstechniken mit bestehenden Beweisassistenten. Das würde es Programmierern ermöglichen, sicherere Protokolle mit weniger Aufwand zu schreiben. Ausserdem würde die Erweiterung unserer Sprache, um die Nebenläufigkeit effektiv zu behandeln, es uns ermöglichen, gängige MPC-Praktiken, wie das Teilen von Verpflichtungen und die Optimierung von Schaltungen, umfassender zu erfassen.

Fazit

Unsere Arbeit trägt dazu bei, die sichere Multi-Party-Berechnung durch die Entwicklung einer spezialisierten Programmiersprache und eines systematischen Überprüfungsprozesses zugänglicher zu machen. Indem wir uns auf Low-Level-Protokolle konzentrieren und Verbesserungen im Umgang mit Sicherheit integrieren, wollen wir die Art und Weise verbessern, wie sensible Daten in kollaborativen Umgebungen behandelt und geschützt werden können. Die Erkenntnisse aus dieser Arbeit können helfen, den Weg für sicherere und effizientere Methoden im wachsenden Bereich des Datenschutzes zu ebnen.

Originalquelle

Titel: Language-Based Security for Low-Level MPC

Zusammenfassung: Secure Multi-Party Computation (MPC) is an important enabling technology for data privacy in modern distributed applications. Currently, proof methods for low-level MPC protocols are primarily manual and thus tedious and error-prone, and are also non-standardized and unfamiliar to most PL theorists. As a step towards better language support and language-based enforcement, we develop a new staged PL for defining a variety of low-level probabilistic MPC protocols. We also formulate a collection of confidentiality and integrity hyperproperties for our language model that are familiar from information flow, including conditional noninterference, gradual release, and robust declassification. We demonstrate their relation to standard MPC threat models of passive and malicious security, and how they can be leveraged in security verification of protocols. To prove these properties we develop automated tactics in $\mathbb{F}_2$ that can be integrated with separation logic-style reasoning.

Autoren: Christian Skalka, Joseph P. Near

Letzte Aktualisierung: 2024-07-23 00:00:00

Sprache: English

Quell-URL: https://arxiv.org/abs/2407.16504

Quell-PDF: https://arxiv.org/pdf/2407.16504

Lizenz: https://creativecommons.org/licenses/by/4.0/

Änderungen: Diese Zusammenfassung wurde mit Unterstützung von AI erstellt und kann Ungenauigkeiten enthalten. Genaue Informationen entnehmen Sie bitte den hier verlinkten Originaldokumenten.

Vielen Dank an arxiv für die Nutzung seiner Open-Access-Interoperabilität.

Mehr von den Autoren

Ähnliche Artikel