469 research outputs found

    Denial-of-Service Resistance in Key Establishment

    Get PDF
    Denial of Service (DoS) attacks are an increasing problem for network connected systems. Key establishment protocols are applications that are particularly vulnerable to DoS attack as they are typically required to perform computationally expensive cryptographic operations in order to authenticate the protocol initiator and to generate the cryptographic keying material that will subsequently be used to secure the communications between initiator and responder. The goal of DoS resistance in key establishment protocols is to ensure that attackers cannot prevent a legitimate initiator and responder deriving cryptographic keys without expending resources beyond a responder-determined threshold. In this work we review the strategies and techniques used to improve resistance to DoS attacks. Three key establishment protocols implementing DoS resistance techniques are critically reviewed and the impact of misapplication of the techniques on DoS resistance is discussed. Recommendations on effectively applying resistance techniques to key establishment protocols are made

    ETHTID: Deployable Threshold Information Disclosure on Ethereum

    Get PDF
    We address the Threshold Information Disclosure (TID) problem on Ethereum: An arbitrary number of users commit to the scheduled disclosure of their individual messages recorded on the Ethereum blockchain if and only if all such messages are disclosed. Before a disclosure, only the original sender of each message should know its contents. To accomplish this, we task a small council with executing a distributed generation and threshold sharing of an asymmetric key pair. The public key can be used to encrypt messages which only become readable once the threshold-shared decryption key is reconstructed at a predefined point in time and recorded on-chain. With blockchains like Ethereum, it is possible to coordinate such procedures and attach economic stakes to the actions of participating individuals. In this paper, we present ETHTID, an Ethereum smart contract application to coordinate Threshold Information Disclosure. We base our implementation on ETHDKG [1], a smart contract application for distributed key generation and threshold sharing, and adapt it to fit our differing use case as well as add functionality to oversee a scheduled reconstruction of the decryption key. For our main cost saving optimisation, we show that the security of the underlying cryptographic scheme is maintained. We evaluate how the execution costs depend on the size of the council and the threshold and show that the presented protocol is deployable on Ethereum with a council of more than 200 members with gas savings of 20--40\% compared to ETHDKG

    ETHTID: Deployable Threshold Information Disclosure on Ethereum

    Get PDF
    We address the Threshold Information Disclosure (TID) problem on Ethereum: An arbitrary number of users commit to the scheduled disclosure of their individual messages recorded on the Ethereum blockchain if and only if all such messages are disclosed. Before a disclosure, only the original sender of each message should know its contents. To accomplish this, we task a small council with executing a distributed generation and threshold sharing of an asymmetric key pair. The public key can be used to encrypt messages which only become readable once the threshold-shared decryption key is reconstructed at a predefined point in time and recorded on-chain. With blockchains like Ethereum, it is possible to coordinate such procedures and attach economic stakes to the actions of participating individuals. In this paper, we present ETHTID, an Ethereum smart contract application to coordinate Threshold Information Disclosure. We base our implementation on ETHDKG [1], a smart contract application for distributed key generation and threshold sharing, and adapt it to fit our differing use case as well as add functionality to oversee a scheduled reconstruction of the decryption key. For our main cost saving optimisation, we show that the security of the underlying cryptographic scheme is maintained. We evaluate how the execution costs depend on the size of the council and the threshold and show that the presented protocol is deployable on Ethereum with a council of more than 200 members with gas savings of 20-40% compared to ETHDKG

    KeyForge: Mitigating Email Breaches with Forward-Forgeable Signatures

    Full text link
    Email breaches are commonplace, and they expose a wealth of personal, business, and political data that may have devastating consequences. The current email system allows any attacker who gains access to your email to prove the authenticity of the stolen messages to third parties -- a property arising from a necessary anti-spam / anti-spoofing protocol called DKIM. This exacerbates the problem of email breaches by greatly increasing the potential for attackers to damage the users' reputation, blackmail them, or sell the stolen information to third parties. In this paper, we introduce "non-attributable email", which guarantees that a wide class of adversaries are unable to convince any third party of the authenticity of stolen emails. We formally define non-attributability, and present two practical system proposals -- KeyForge and TimeForge -- that provably achieve non-attributability while maintaining the important protection against spam and spoofing that is currently provided by DKIM. Moreover, we implement KeyForge and demonstrate that that scheme is practical, achieving competitive verification and signing speed while also requiring 42% less bandwidth per email than RSA2048

    Time-Lock Puzzles from Randomized Encodings

    Get PDF
    Time-lock puzzles are a mechanism for sending messages "to the future". A sender can quickly generate a puzzle with a solution s that remains hidden until a moderately large amount of time t has elapsed. The solution s should be hidden from any adversary that runs in time significantly less than t, including resourceful parallel adversaries with polynomially many processors. While the notion of time-lock puzzles has been around for 22 years, there has only been a single candidate proposed. Fifteen years ago, Rivest, Shamir and Wagner suggested a beautiful candidate time-lock puzzle based on the assumption that exponentiation modulo an RSA integer is an "inherently sequential" computation. We show that various flavors of randomized encodings give rise to time-lock puzzles of varying strengths, whose security can be shown assuming the mere existence of non-parallelizing languages, which are languages that require circuits of depth at least t to decide, in the worst-case. The existence of such languages is necessary for the existence of time-lock puzzles. We instantiate the construction with different randomized encodings from the literature, where increasingly better efficiency is obtained based on increasingly stronger cryptographic assumptions, ranging from one-way functions to indistinguishability obfuscation. We also observe that time-lock puzzles imply one-way functions, and thus the reliance on some cryptographic assumption is necessary. Finally, generalizing the above, we construct other types of puzzles such as proofs of work from randomized encodings and a suitable worst-case hardness assumption (that is necessary for such puzzles to exist)

    Decentralizing Software Identity Management

    Get PDF
    Software ist in unterschiedlichsten Bereichen von größter Wichtigkeit: Wirtschaft, Handel, Industrielle Steueranlagen, Transport, Logistik, Kommunikation, sowie im privaten Gebrauch um nur einige Beispiele zu nennen. Es ist entsprechend unverzichtbar, Software mit Integrität und einer expliziten Befürwortung durch den jeweiligen Entwickler oder Herausgeber zu beziehen. In dieser Arbeit verfolgen wir das Ziel, die Interaktion zwischen Erstellern und Nutzern von Software durch die Etablierung und Nutzung von expliziten Identitäten für Software weiter abzusichern. Eine Softwareidentität etabliert in erster Linie einen eindeutigen und persistenten Bezugspunkt an den Softwareersteller Informationen zu Binärdateien ihrer Software anhängen und entfernen können. Die Möglichkeit zuvor veröffentlichte Binärdateien aus einer Softwareidentität zu entfernen erlaubt Entwicklern auf sicherheitskritische Fehler oder Kompromittierungen zu reagieren, indem sie klar kommunizieren, dass bestimmte Binärdateien nicht länger verwendet werden sollten. Nutzer einer Software können über solche Widerrufe oder neue Versionen informiert werden, indem sie die entsprechende Softwareidentität beobachten über die sie dann auch die Integrität und Befürwortung von heruntergeladenen Binärdateien überprüfen können. Distributed Ledger Technologien wie Ethereum oder zuvor Bitcoin scheinen taugliche Plattformen für die Umsetzung von Softwareidentitäten zu sein, ohne dabei auf zentrale Anbieter vertrauen zu müssen. Ein offenes Peer-to-Peer Netzwerk etabliert einen Konsens über einen manipulationsgeschützten Zustandsverlauf, der namensgebende Ledger, und ermöglicht Zugriff auf selbigen. Ethereum ist einer der ersten Distributed Ledger, der sogenannte Smart Contracts ermöglicht. Dabei handelt es sich um Programme, die auf einem Distributed Ledger installiert und ausgeführt werden und damit einen eindeutig referenzierbaren Teil des Ledgerzustandes etablieren und verwalten. Einzig und allein die Programmierung eines Smart Contracts bestimmt darüber, wer den Teilzustand wann und wie verändern kann. Die erste Forschungsfrage dieser Dissertation zielt auf die Tauglichkeit von Distributed Ledger Technologien hinsichtlich der Etablierung, Verwaltung, und Nutzung von Softwareidentitäten ab. Insbesondere untersuchen wir, wie nützliche Eigenschaften für Softwareidentitätsmanagement und -nutzung von den Sicherheitseigenschaften des zugrundeliegenden Distributed Ledgers und weiteren Annahmen abgeleitet werden können. Neben der Verwendung von Softwareidentitäten zur weiteren Absicherung der Softwaredistribution untersuchen wir außerdem ihre Nutzbarkeit als Grundlage für unabhängige Begutachtungen von Softwareversionen. Die Durchführung solcher unabhängigen Begutachtungen mittels Distributed Ledgern führt unweigerlich zu einer Herausforderung hinsichtlich der koordinierten Offenlegung der Ergebnisse. Zum Zeitpunkt der Abfassung dieser Arbeit bietet kein Distributed Ledger eine entsprechende Funktionalität, um die Erstellung einer Menge unabhängig erstellter Aussagen zu unterstützen oder zu dokumentieren. Die zweite Forschungsfrage dieser Arbeit befasst sich deshalb mit der Umsetzung eines Offenlegungsmechanismus für Distributed Ledger basierend auf bestehenden kryptografischen Primitiven. Wir behandeln beide Forschungsfragen, indem wir entsprechende dezentrale Anwendungen konzipieren, implementieren, und evaluieren. Wir nutzen dabei Ethereum als prominentestes Exemplar eines Smart-Contract-fähigen Distributed Ledgers. Genauer gesagt messen wir die Installations- und Ausführungskosten jener Smart Contracts, die für unsere dezentralen Anwendungen nötig sind, um ihre praktische Tauglichkeit zu bestimmen. In zwei Fällen ermitteln wir außerdem den Rechenaufwand, der abseits des Ledgers anfällt. Wir zeigen zudem semi-formal, wie die Sicherheitseigenschaften unserer Proof of Concept Implementierung von dem zugrundeliegenden Distributed Ledger und weiteren Annahmen abgeleitet werden können. Wir kommen zu dem Ergebnis, dass Ethereum stellvertretend für Smart-Contract-fähige Distributed Ledger eine taugliche Plattform für die Umsetzung von Softwareidentitäten ist, inklusive der zuvor angemerkten unabhängigen Begutachtungen. Da unser Konzept des Softwareidentitätsmanagements auf eher grundlegenden Eigenschaften von Distributed Ledgern fußt sollte es sich gut auf andere Systeme übertragen lassen. Im Gegensatz dazu erfordert unser Konzept für einen Offenlegungsmechanismus die Unterstützung von bestimmten kryptografischen Operationen auf dem verwendeten Ledger, was die Übertragbarkeit entsprechend einschränkt. Die Kosten für die Installation der nötigen Smart Contracts sind signifikant größer als die Ausführungskosten im typischen Gebrauch, weshalb wir für zukünftige Arbeit empfehlen, die Wiederverwendbarkeit von installierten Smart Contract Instanzen zu verbessern. Bei der koordinierten Offenlegung von unabhängig erstellten Aussagen auf einem Distributed Ledger erzielen wir eine Reduktion der Gesamtkosten von 20–40 % im Vergleich zu verwandter Arbeit, indem wir unterschiedliche kryptografische Anforderungen ausnutzen. Unser Ansatz um eine koordinierte Offenlegung auf Ethereum zu erzielen stützt sich auf Elliptische-Kurven-Operationen die, obwohl ausreichend, zum aktuellen Zeitpunkt sehr eingeschränkt sind. Entsprechend trägt unsere Arbeit einen weiteren Grund für die Erweiterung der unterstützten elliptischen Kurven im Zuge der Weiterentwicklung von Ethereum bei
    • …
    corecore