5 research outputs found

    Private Function Evaluation with Cards

    Get PDF
    Card-based protocols allow to evaluate an arbitrary fixed Boolean function on a hidden input to obtain a hidden output, without the executer learning anything about either of the two (e.g., [12]). We explore the case where implements a universal function, i.e., is given the encoding ⟚⟩ of a program and an input and computes (⟚⟩,)=(). More concretely, we consider universal circuits, Turing machines, RAM machines, and branching programs, giving secure and conceptually simple card-based protocols in each case. We argue that card-based cryptography can be performed in a setting that is only very weakly interactive, which we call the “surveillance” model. Here, when Alice executes a protocol on the cards, the only task of Bob is to watch that Alice does not illegitimately turn over cards and that she shuffles in a way that nobody knows anything about the total permutation applied to the cards. We believe that because of this very limited interaction, our results can be called program obfuscation. As a tool, we develop a useful sub-protocol II_{II}↑ that couples the two equal-length sequences , and jointly and obliviously permutes them with the permutation ∈ that lexicographically minimizes (). We argue that this generalizes ideas present in many existing card-based protocols. In fact, AND, XOR, bit copy [37], coupled rotation shuffles [30] and the “permutation division” protocol of [22] can all be expressed as “coupled sort protocols”

    Towards Applying Cryptographic Security Models to Real-World Systems

    Get PDF
    The cryptographic methodology of formal security analysis usually works in three steps: choosing a security model, describing a system and its intended security properties, and creating a formal proof of security. For basic cryptographic primitives and simple protocols this is a well understood process and is performed regularly. For more complex systems, as they are in use in real-world settings it is rarely applied, however. In practice, this often leads to missing or incomplete descriptions of the security properties and requirements of such systems, which in turn can lead to insecure implementations and consequent security breaches. One of the main reasons for the lack of application of formal models in practice is that they are particularly difficult to use and to adapt to new use cases. With this work, we therefore aim to investigate how cryptographic security models can be used to argue about the security of real-world systems. To this end, we perform case studies of three important types of real-world systems: data outsourcing, computer networks and electronic payment. First, we give a unified framework to express and analyze the security of data outsourcing schemes. Within this framework, we define three privacy objectives: \emph{data privacy}, \emph{query privacy}, and \emph{result privacy}. We show that data privacy and query privacy are independent concepts, while result privacy is consequential to them. We then extend our framework to allow the modeling of \emph{integrity} for the specific use case of file systems. To validate our model, we show that existing security notions can be expressed within our framework and we prove the security of CryFS---a cryptographic cloud file system. Second, we introduce a model, based on the Universal Composability (UC) framework, in which computer networks and their security properties can be described We extend it to incorporate time, which cannot be expressed in the basic UC framework, and give formal tools to facilitate its application. For validation, we use this model to argue about the security of architectures of multiple firewalls in the presence of an active adversary. We show that a parallel composition of firewalls exhibits strictly better security properties than other variants. Finally, we introduce a formal model for the security of electronic payment protocols within the UC framework. Using this model, we prove a set of necessary requirements for secure electronic payment. Based on these findings, we discuss the security of current payment protocols and find that most are insecure. We then give a simple payment protocol inspired by chipTAN and photoTAN and prove its security within our model. We conclude that cryptographic security models can indeed be used to describe the security of real-world systems. They are, however, difficult to apply and always need to be adapted to the specific use case

    Private Function Evaluation with Cards

    Get PDF
    Card-based protocols allow to evaluate an arbitrary fixed Boolean function ff on a hidden input to obtain a hidden output, without the executer learning anything about either of the two (e.g. CrĂ©peau and Kilian, CRYPTO 1993). We explore the case where ff implements a universal function, i.e. ff is given the encoding ⟹P⟩\langle P\rangle of a program PP and an input xx and computes f(⟹P⟩,x)=P(x)f(\langle P\rangle, x) = P(x). More concretely, we consider universal circuits, Turing machines, RAM machines, and branching programs, giving secure and conceptually simple card-based protocols in each case. We argue that card-based cryptography can be performed in a setting that is only very weakly interactive, which we call the “surveillance” model. Here, when Alice executes a protocol on the cards, the only task of Bob is to watch that Alice does not illegitimately turn over cards and that she shuffles in a way that nobody knows anything about the total permutation applied to the cards. We believe that because of this very limited interaction, our results can be called program obfuscation. As a tool, we develop a useful sub-protocol sortΠX↑Y\mathsf{sort}_{\Pi}X\mathop{\uparrow}Y that couples the two equal-length sequences X,YX, Y and jointly and obliviously permutes them with the permutation π∈Π\pi\in\Pi that lexicographically minimizes π(X)\pi(X). We argue that this generalizes ideas present in many existing card-based protocols. In fact, AND, XOR, bit copy (Mizuki and Sone, FAW 2009), coupled rotation shuffles (Koch and Walzer, ePrint 2017) and the “permutation division” protocol of (Hashimoto et al., ICITS 2017) can all be expressed as “coupled sort protocols”

    Cryptographic Protocols from Physical Assumptions

    Get PDF
    Moderne Kryptographie erlaubt nicht nur, personenbezogene Daten im Internet zu schĂŒtzen oder sich fĂŒr bestimmte Dienste zu authentifizieren, sondern ermöglicht auch das Auswerten einer Funktion auf geheimen Eingaben mehrerer Parteien, ohne dass dabei etwas ĂŒber diese Eingaben gelernt werden kann (mit der Ausnahme von Informationen, die aus der Ausgabe und eigenen Eingaben effizient abgeleitet werden können). Kryptographische Protokolle dieser Art werden sichere Mehrparteienberechnung genannt und eignen sich fĂŒr ein breites Anwendungsspektrum, wie z.B. geheime Abstimmungen und Auktionen. Um die Sicherheit solcher Protokolle zu beweisen, werden Annahmen benötigt, die oft komplexitĂ€tstheoretischer Natur sind, beispielsweise, dass es schwierig ist, hinreichend große Zahlen zu faktorisieren. Sicherheitsannahmen, die auf physikalischen Prinzipien basieren, bieten im Gegensatz zu komplexitĂ€tstheoretischen Annahmen jedoch einige Vorteile: die Protokolle sind meist konzeptionell einfacher, die Sicherheit ist unabhĂ€ngig von den BerechnungskapazitĂ€ten des Angreifers, und die Funktionsweise und Sicherheit ist oft fĂŒr den Menschen leichter nachvollziehbar. (Zum Beispiel forderte das Bundesverfassungsgericht: „Beim Einsatz elektronischer WahlgerĂ€te mĂŒssen die wesentlichen Schritte der Wahlhandlung und der Ergebnisermittlung vom BĂŒrger zuverlĂ€ssig und ohne besondere Sachkenntnis ĂŒberprĂŒft werden können.“ (BVerfG, Urteil des Zweiten Senats vom 03. MĂ€rz 2009)). Beispiele fĂŒr solche Annahmen sind physikalisch getrennte oder unkorrumpierbare Hardware-Komponenten (vgl. Broadnax et al., 2018), Write-Only-GerĂ€te fĂŒr Logging, oder frei zu rubbelnde Felder, wie man sie von PIN-Briefen kennt. Auch die aus der Quantentheorie folgende Nicht-Duplizierbarkeit von QuantenzustĂ€nden ist eine physikalische Sicherheitsannahme, die z.B. verwendet wird, um nicht-klonbares „Quantengeld“ zu realisieren. In der vorliegenden Dissertation geht es neben Protokollen, die die Sicherheit und Isolation bestimmter einfacher Hardware-Komponenten als Vertrauensanker verwenden, im Besonderen um kryptographischen Protokolle fĂŒr die sichere Mehrparteienberechnung, die mit Hilfe physikalischer Spielkarten durchgefĂŒhrt werden. Die Sicherheitsannahme besteht darin, dass die Karten ununterscheidbare RĂŒckseiten haben und, dass bestimmte Mischoperationen sicher durchgefĂŒhrt werden können. Eine Anwendung dieser Protokolle liegt also in der Veranschaulichung von Kryptographie und in der Ermöglichung sicherer Mehrparteienberechnungen, die gĂ€nzlich ohne Computer ausgefĂŒhrt werden können. Ein Ziel in diesem Bereich der Kryptographie ist es, Protokolle anzugeben, die möglichst wenige Karten benötigen – und sie als optimal in diesem Sinne zu beweisen. AbhĂ€ngig von Anforderungen an das Laufzeitverhalten (endliche vs. lediglich im Erwartungswert endliche Laufzeit) und an die PraktikabilitĂ€t der eingesetzten Mischoperationen, ergeben sich unterschiedliche untere Schranken fĂŒr die mindestens benötigte Kartenanzahl. Im Rahmen der Arbeit wird fĂŒr jede Kombination dieser Anforderungen ein UND-Protokoll – ein logisches UND zweier in Karten codierter Bits; dieses ist zusammen mit der Negation und dem Kopieren von Bits hinreichend fĂŒr die Realisierung allgemeiner Schaltkreise – konstruiert oder in der Literatur identifiziert, das mit der minimalen Anzahl an Karten auskommt, und dies auch als Karten-minimal bewiesen. Insgesamt ist UND mit vier (fĂŒr erwartet endliche Laufzeit (Koch, Walzer und HĂ€rtel, 2015; Koch, 2018)), fĂŒnf (fĂŒr praktikable Mischoperationen oder endliche Laufzeit (Koch, Walzer und HĂ€rtel, 2015; Koch, 2018)) oder sechs Karten (fĂŒr endliche Laufzeit und gleichzeitig praktikable Mischoperationen (Kastner et al., 2017)) möglich und optimal. FĂŒr die notwendigen Struktureinsichten wurden so-genannte „Zustandsdiagramme“ mit zugehörigen KalkĂŒlregeln entwickelt, die eine graphenbasierte Darstellung aller möglichen ProtokolldurchlĂ€ufe darstellen und an denen Korrektheit und Sicherheit der Protokolle direkt ablesbar sind (Koch, Walzer und HĂ€rtel, 2015; Kastner et al., 2017). Dieser KalkĂŒl hat seitdem eine breite Verwendung in der bereichsrelevanten Literatur gefunden. (Beweise fĂŒr untere Schranken bzgl. der Kartenanzahl werden durch den KalkĂŒl zu Beweisen, die zeigen, dass bestimmte ProtokollzustĂ€nde in einer bestimmten kombinatorischen Graphenstruktur nicht erreichbar sind.) Mit Hilfe des KalkĂŒls wurden Begriffe der Spielkartenkryptographie als C-Programm formalisiert und (unter bestimmten EinschrĂ€nkungen) mit einem „Software Bounded Model Checking“-Ansatz die LĂ€ngenminimalitĂ€t eines kartenminimalen UND-Protokolls bewiesen (Koch, Schrempp und Kirsten, 2019). DarĂŒber hinaus werden konzeptionell einfache Protokolle fĂŒr den Fall einer sicheren Mehrparteienberechnung angegeben, bei der sogar zusĂ€tzlich die zu berechnende Funktion geheim bleiben soll (Koch und Walzer, 2018), und zwar fĂŒr jedes der folgenden Berechnungsmodelle: (universelle) Schaltkreise, binĂ€re Entscheidungsdiagramme, Turingmaschinen und RAM-Maschinen. Es wird zudem untersucht, wie Karten-basierte Protokolle so ausgefĂŒhrt werden können, dass die einzige Interaktion darin besteht, dass andere Parteien die korrekte AusfĂŒhrung ĂŒberwachen. Dies ermöglicht eine (schwach interaktive) Programm-Obfuszierung, bei der eine Partei ein durch Karten codiertes Programm auf eigenen Eingaben ausfĂŒhren kann, ohne etwas ĂŒber dessen interne Funktionsweise zu lernen, das ĂŒber das Ein-/Ausgabeverhalten hinaus geht. Dies ist ohne derartige physikalische Annahmen i.A. nicht möglich. ZusĂ€tzlich wird eine Sicherheit gegen Angreifer, die auch vom Protokoll abweichen dĂŒrfen, formalisiert und es wird eine Methode angegeben um unter möglichst schwachen Sicherheitsannahmen ein passiv sicheres Protokoll mechanisch in ein aktiv sicheres zu transformieren (Koch und Walzer, 2017). Eine weitere, in der Dissertation untersuchte physikalische Sicherheitsannahme, ist die Annahme primitiver, unkorrumpierbarer Hardware-Bausteine, wie z.B. einen TAN-Generator. Dies ermöglicht z.B. eine sichere Authentifikation des menschlichen Nutzers ĂŒber ein korrumpiertes Terminal, ohne dass der Nutzer selbst kryptographische Berechnungen durchfĂŒhren muss (z.B. große Primzahlen zu multiplizieren). Dies wird am Beispiel des Geldabhebens an einem korrumpierten Geldautomaten mit Hilfe eines als sicher angenommenen zweiten GerĂ€ts (Achenbach et al., 2019) und mit möglichst schwachen Anforderungen an die vorhandenen KommunikationskanĂ€le gelöst. Da das angegebene Protokoll auch sicher ist, wenn es beliebig mit anderen gleichzeitig laufenden Protokollen ausgefĂŒhrt wird (also sogenannte Universelle Komponierbarkeit aufweist), es modular entworfen wurde, und die Sicherheitsannahme glaubwĂŒrdig ist, ist die Funktionsweise fĂŒr den Menschen transparent und nachvollziehbar. Insgesamt bildet die Arbeit durch die verschiedenen Karten-basierten Protokolle, KalkĂŒle und systematisierten Beweise fĂŒr untere Schranken bzgl. der Kartenanzahl, sowie durch Ergebnisse zur sicheren Verwendung eines nicht-vertrauenswĂŒrdigen Terminals, und einer Einordnung dieser in eine systematische Darstellung der verschiedenen, in der Kryptographie verwendeten physikalischen Annahmen, einen wesentlichen Beitrag zur physikalisch-basierten Kryptographie
    corecore