Abstract:
Überall werden Daten geteilt. Oft für Berechnungen im Auftrag des Besitzers oder für gemeinsame Berechnungen zwischen mehreren Entitäten. Über die Jahre wurden verschiedene Techniken gefunden, die sicherstellen, dass andere Teilnehmer Daten nur so verarbeiten, wie vereinbart. Sichere Berechnungen können sicherstellen, dass alle Teilnehmer keine zusätzliche Information über die Daten lernen oder die Ausgabe der Berechnung verändern. Dieser Baustein kann sogar dann Berechnung ermöglichen, wenn rechtliche Anforderungen das Zusammenführen von Daten aus mehreren Quellen verbieten (z. ... mehrB. bei Berechnungen auf Medizindaten).
Es existieren zwei Ansätze um sichere Berechnungen zu realisieren: Sichere Mehrparteienberechnung (MPC) benutzt kryptografische Techniken um Daten vor Teilnehmern zu verstecken und sicherzustellen, dass alle der vereinbarten Berechnung folgen. Im Allgemeinen lässt sich MPC für beliebige Funktionen realisieren, z.B. durch den Einsatz von Secret Sharing, Garbled Circuits oder homomorpher Verschlüsselung. In vielen realen Szenarien müssen MPC-Implementierungen aber auf den konkreten Anwendungsfall zugeschnitten werden und einfache Funktionen berechnen um mit akzeptabler Performance realisiert werden zu können. Enklaven (oft verkauft unter den Begriffen “Trusted Computing” und “Confidential Computing”) behaupten, sichere Berechnung mit nur minimalen Performance-Einbußen zu ermöglichen, im Vergleich zur Berechnung auf gewöhnlicher Hardware. Abhängig von der konkreten Umsetzung behaupten Enklaven das Programm von aller anderen Software auf dem System und sogar vor physischen Angriffen zu isolieren. Schlussendlich bieten Enklaven einen Mechanismus, um das Ergebnis einer Ausführung zu “attestieren”. Damit wird anderen ermöglicht, zu prüfen, dass die erwartete Berechnung in einer Enklave des jeweiligen Herstellers durchgeführt wurde und zu diesem Ergebnis geführt hat. Ein Nachteil dieses Ansatzes besteht darin, dass die Integrität und Vertraulichkeit der Berechnung ausschließlich von der Annahme abhängt, dass Enklaven dieses Herstellers nicht erfolgreich angegriffen werden können. Eine einzige unsichere Enklave reicht aus, um “attestations” zu fälschen und die Berechnung anzugreifen. Im Gegensatz dazu benötigt MPC nur Vertrauen in die eigene Hardware und die Sicherheit der verwendeten kryptografischen Protokolle.
Diese Dissertation zeigt, wie man die Vorteile von MPC und Enklaven verbinden kann, und damit Protokolle erhält, die bessere Performance und/oder bessere Sicherheit wie reine MPC Protokolle bieten, ohne vollständig von dem Vertrauen in die verwendeten Enklaven abzuhängen. Sie zeigt auch, dass dieses Vertrauen keine binäre Wahl ist, sondern abhängig vom Grad des Vertrauens ein Protokoll verschiedene Sicherheits-Eigenschaften haben kann, und verschiedene Performance-Verbesserungen möglich sind. Zusätzlich wird gezeigt, dass das vollständige Vertrauen in die eigene Hardware, wie es bei MPC-Protokollen oft angenommen wird, nicht nötig ist, und sichere Berechnungen trotzdem realisiert werden können, selbst wenn der eigenen Hardware nicht vollständig vertraut wird.
Im Einzelnen haben wir das zur Zeit schnellste Protokoll für Private Set Intersection konstruiert und dabei nur Enklaven mir reduzierten Vertrauensannahmen verwendet. Neben seinen vielfältigen Anwendungen ist Private Set Intersection ein interessantes Problem für diese Untersuchung, da hierfür viele spezialisierte und hoch performante MPC Protokolle existieren, was es zu einem interessanten Vergleich macht. Unsere Konstruktion senkt die Performancekosten weiter, indem Enklaven genutzt werden, wobei hier nur recht geringes Vertrauen in deren Sicherheit angenommen wird. Für eine andere Anwendung, förderiertes Lernen von Entscheidungsbäumen, konstruieren wir ein spezifisches MPC Protokoll, das aber gewisse Menge an Information nicht geheim hält. Wir zeigen, wie dessen Sicherheit durch Enklaven verstärkt werden kann, was zu verschiedenen Sicherheitsleveln führt, abhängig davon, welche Sicherheitsannahme man bereit ist, für die Enklave zu treffen. Wenn die Enklaven komplett sicher sind, hält das verbesserte Protokoll alle Information geheim, wenn die Enklaven Speicherzugriff-Seitenkanäle haben, schützt das Protokoll eine gewisse Menge an Information nicht, und wenn die Enklaven schlechtest-mögliche Seitenkanäle haben, ist der Verlust an Geheimhaltung, wie ohne die Verwendung von Enklaven. Zusätzlich zeigt diese Dissertation, dass sogar das normalerweise angenommene Vertrauen in die eigene Hardware nicht einfach gegeben werden muss. Wir zeigen, wie sichere Berechnung mit noch weniger Vertrauensannahmen realisiert werden kann, als sie für normale MPC benötigt werden, auf Kosten von Performance. Für dieses Ergebnis nehmen wir eine beliebige Ausführung einer virtuellen Maschine und zeichnen nicht-deterministisches Verhalten auf. Ein zweites System verifiziert dann diese Berechnung (möglicherweise von einem anderen Hersteller), wodurch Sicherheit erreicht wird, wenn sich nur eines der zwei Systeme ehrlich verhält.
Abstract (englisch):
Sharing data between entities is ubiquitous, often for data processing on behalf of a data owner, or to enable a joint computation between the entities. Over the years several techniques have been found to ensure that other entities process the data as agreed upon. Secure computations can ensure that all entities cannot learn additional information about the data or manipulate the output of the computation. This building block can even enable computations where legal requirements prohibit merging different data sources (e.g. calculations on medical data).
To realize secure computation there are two main approaches: Secure multi-party computation (MPC) uses cryptographic techniques to hide data from participants and ensure that they follow the agreed upon computation. ... mehrIn general, MPC can be realized for arbitrary functions, for example with secret sharing, garbled circuits or homomorphic encryption. In many real-world scenarios however, implementations often need to be tailored for a specific and simple computation to achieve acceptable performance. Enclaves (often sold under the terms “Trusted Computing” and “Confidential Computing”) claim to realize secure computation with only minimal performance penalty, compared to programs running on regular computer hardware. Depending on the concrete realization, enclaves claim isolation from other software running on the same system or even specific physical attacks. In the end, enclaves provide some form of “attestation”, to allow others to verify that the computation has taken place in an enclave of a specific manufacturer. The downside of this approach is, that for the integrity and confidentiality of the computation, the user needs to assume that all enclaves produced by the manufacturer cannot be successfully attacked. One insecure enclave is sufficient for an attacker to forge attestations and attack the computation. In contrast, MPC only requires trust in one’s own hardware and the security of the cryptographic protocol.
This dissertation shows how to combine the advantages of both MPC and enclaves, leading to protocols with better performance and/or security than pure MPC protocols, while only requiring little trust in the security of the enclaves used. This shows that trust is not a binary choice, but depending on trust given the resulting protocol can have different characteristics for security and performance. On top of that, this dissertation shows that complete trust in one’s own hardware is not necessarily a prerequisite for running e.g. MPC protocols, so a protocol with even less trust than usually assumed can be realized.
In particular we construct the fastest to date protocol to implement private set intersection using enclaves with reduced trust assumptions.Apart from its many applications, private set itersection is an interesting problem to study as it has many specialized and highly performant MPC protocols. Our construction brings the performance cost even further down by using enclaves, while only assuming little trust in the enclaves. For another application, federated decision tree training, we construct a performant specialized MPC protocol with some leakage. Additionally, we show how it can be enhanced with enclaves, leading to different security levels depending on the security that is assumed from the enclave. If the enclaves are fully secure, the enhanced protocol has no leakage, if the enclaves have memory access side channels the protocol has an intermediate leakage, and if the enclaves have all possible side-channels, the protocol has the same leakage as it would have without enclaves. What is more, the thesis shows that even the generally assumed trust in one’s own hardware for MPC does not need to be taken for granted. We show how to realize secure computation with less trust assumptions than generally accepted for MPC at a performance cost. To achieve this result, we take an arbitraryexecution of a whole virtual machine and trace non-deterministic behavior. This execution is then verified on a second machine (possibly from a different vendor) achieving security when one of the machines behaves honestly.