13 research outputs found

    Kompression von numerischen Datensätzen mittels mehrdimensionaler hierarchischer Teilraumschemata

    Get PDF
    Bei der Arbeit mit großen numerischen Datensätzen ist es oft wünschenswert, diese zur Übertragung und Speicherung zu komprimieren. Häufig sind solche Datensätze das Ergebnis einer Simulation von physikalischen Zusammenhängen, zum Beispiel Strömungen. Im Endeffekt sind diese Datensätze daher eine diskrete Darstellung einer (unbekannten) Funktion, die einen physikalischen Zusammenhang beschreibt. Da Funktionen, die physikalische Zusammenhänge beschreiben, in der Regel relativ glatt sind, bietet sich als Vorstufe zur Kompression eine Transformation der Daten an, bei der Differenzen zwischen den Datenpunkten gebildet werden. Wegen der glatten Ausgangsdaten sind diese Differenzen im Betrag kleiner und unterscheiden sich weniger als die ursprünglichen Werte, was die Kompression erleichtert. Eine Möglichkeit, solche Differenzen zu bilden, stellt die Hierarchisierung der Ausgangsdaten dar. Neben den erwähnten kleineren Beträgen der Differenzen bietet die hierarchisierte Darstellung weitere Eigenschaften, die bei der Kompression ausgenutzt werden können. Auf Basis von bzip2, einem allgemeinen Datenkompressionsverfahren, wird in dieser Arbeit ein Verfahren zur Kompression von hierarchisierten numerischen Datensätzen entwickelt und der Einfluss verschiedener Parameter auf die Kompressionsleistung untersucht

    Formal Security Analysis of the OpenID FAPI 2.0: Accompanying a Standardization Process

    Get PDF
    In recent years, the number of third-party services that can access highly-sensitive data has increased steadily, e.g., in the financial sector, in eGovernment applications, or in high-assurance identity services. Protocols that enable this access must provide strong security guarantees. A prominent and widely employed protocol for this purpose is the OpenID Foundation\u27s FAPI protocol. The FAPI protocol is already in widespread use, e.g., as part of the UK\u27s Open Banking standards and Brazil\u27s Open Banking Initiative as well as outside of the financial sector, for instance, as part of the Australian government\u27s Consumer Data Rights standards. Based on lessons learned from FAPI 1.0, the OpenID Foundation has developed a completely new protocol, called FAPI 2.0. The specifications of FAPI 2.0 include a concrete set of security goals and attacker models under which the protocol aims to be secure. Following an invitation from the OpenID Foundation\u27s FAPI Working Group (FAPI WG), we have accompanied the standardization process of the FAPI 2.0 protocol by an in-depth formal security analysis. In this paper, we report on our analysis and findings. Our analysis incorporates the first formal model of the FAPI 2.0 protocol and is based on a detailed model of the web infrastructure, the Web Infrastructure Model, originally proposed by Fett, Küsters, and Schmitz. Our analysis has uncovered several types of attacks on the protocol, violating the aforementioned security goals set by the FAPI WG. We subsequently have worked with the FAPI WG to fix the protocol, resulting in several changes to the specifications. After adapting our model to the changed specifications, we have proved the security properties to hold under the strong attacker model defined by the FAPI WG

    The Grant Negotiation and Authorization Protocol: Attacking, Fixing, and Verifying an Emerging Standard

    Get PDF
    The Grant Negotiation and Authorization Protocol (GNAP) is an emerging authorization and authentication protocol which aims to consolidate and unify several use-cases of OAuth 2.0 and many of its common extensions while providing a higher degree of security. OAuth 2.0 is an essential cornerstone of the security of authorization and authentication for the Web, IoT, and beyond, and is used, among others, by many global players, like Google, Facebook, and Microsoft. Because of historically grown limitations and issues of OAuth 2.0 and its various extensions, prominent members of the OAuth community decided to create GNAP, a new and completely resigned authorization and authentication protocol. Given GNAP\u27s advantages over OAuth 2.0 and its support within the OAuth community, GNAP is expected to become at least as important as OAuth 2.0. In this paper, we present the first formal security analysis of GNAP. We build a detailed formal model of GNAP, based on the Web Infrastructure Model (WIM) of Fett, Küsters, and Schmitz. Based on this model, we provide formal statements of the key security properties of GNAP, namely, authorization, authentication, and session integrity for both authorization and authentication. In the process of trying to prove these properties, we have discovered several attacks on GNAP. We present these attacks as well as modifications to the protocol that prevent them. These modifications have been incorporated into the GNAP specification after discussion with the GNAP working group. We give the first formal security guarantees for GNAP, by proving that GNAP, with our modifications applied, satisfies the mentioned security properties. GNAP was still an early draft when we started our analysis, but is now on track to be adopted as an IETF standard. Hence, our analysis is just in time to help ensure the security of this important emerging standard

    DY* : A Modular Symbolic Verification Framework for Executable Cryptographic Protocol Code

    Get PDF
    International audienceWe present DY*, a new formal verification framework for the symbolic security analysis of cryptographic protocol code written in the F* programming language. Unlike automated symbolic provers, our framework accounts for advanced protocol features like unbounded loops and mutable recursive data structures, as well as low-level implementation details like protocol state machines and message formats, which are often at the root of real-world attacks. Our work extends a long line of research on using dependent type systems for this task, but takes a fundamentally new approach by explicitly modeling the global trace-based semantics within the framework, hence bridging the gap between trace-based and type-based protocol analyses. This approach enables us to uniformly, precisely, and soundly model, for the first time using dependent types, long-lived mutable protocol state, equational theories, fine-grained dynamic corruption, and trace-based security properties like forward secrecy and post-compromise security. DY* is built as a library of F* modules that includes a model of low-level protocol execution, a Dolev-Yao symbolic attacker, and generic security abstractions and lemmas, all verified using F*. The library exposes a high-level API that facilitates succinct security proofs for protocol code. We demonstrate the effectiveness of this approach through a detailed symbolic security analysis of the Signal protocol that is based on an interoperable implementation of the protocol from prior work, and is the first mechanized proof of Signal to account for forward and post-compromise security over an unbounded number of protocol rounds

    Layered Symbolic Security Analysis in DY^\star

    Get PDF
    While cryptographic protocols are often analyzed in isolation, they are typically deployed within a stack of protocols, where each layer relies on the security guarantees provided by the protocol layer below it, and in turn provides its own security functionality to the layer above. Formally analyzing the whole stack in one go is infeasible even for semi-automated verification tools, and impossible for pen-and-paper proofs. The DY^\star protocol verification framework offers a modular and scalable technique that can reason about large protocols, specified as a set of F^\star modules. However, it does not support the compositional verification of layered protocols since it treats the global security invariants monolithically. In this paper, we extend DY^\star with a new methodology that allows analysts to modularly analyze each layer in a way that compose to provide security for a protocol stack. Importantly, our technique allows a layer to be replaced by another implementation, without affecting the proofs of other layers. We demonstrate this methodology on two case studies. We also present a verified library of generic authenticated and confidential communication patterns that can be used in future protocol analyses and is of independent interest

    Design and analysis of a secure and efficient bulletin board using Blockchains

    No full text
    In vielen durch die Wähler und unabhängige Beobachter verifizierbaren eVoting-Systemen wird ein sogenanntes Bulletin Board benötigt. Ein Bulletin Board ist eine Art öffentliches schwarzes Brett, auf dem jeder Nachrichten veröffentlichen und von dem jeder die veröffentlichten Nachrichten lesen kann. Ein solches Bulletin Board sollte mindestens die Eigenschaft haben, dass Nachrichten, die einmal veröffentlicht wurden, nicht wieder entfernt oder verändert werden können. Bisher wurden Bulletin Boards - wenn die Implementierung überhaupt berücksichtigt wurde - in der Regel entweder als zentraler Server, dem vertraut werden muss, oder als verteiltes System implementiert. Mit den seit 2008 bekannten Blockchains gibt es eine Technologie, die ein ähnliches Versprechen gibt: Dass nur Daten angehängt, bestehende aber nicht verändert werden können. In dieser Arbeit werden zunächst Blockchains und Bulletin Boards zusammen mit ihren wesentlichen Eigenschaften diskutiert und anschließend wird untersucht, wie sich ein Bulletin Board auf Basis bzw. mithilfe einer Blockchain implementieren lässt

    A Formal Security Analysis of the W3C Web Payment APIs : Attacks and Verification

    No full text
    Payment is an essential part of e-commerce. Merchants usually rely on third-parties, so-called payment processors, who take care of transferring the payment from the customer to the merchant. How a payment processor interacts with the customer and the merchant varies a lot. Each payment processor typically invents its own protocol that has to be integrated into the merchant’s application and provides the user with a new, potentially unknown and confusing user experience.Pushed by major companies, including Apple, Google, Master-card, and Visa, the W3C is currently developing a new set of standards to unify the online checkout process and “streamline the user’s payment experience”. The main idea is to integrate payment as a native functionality into web browsers, referred to as the Web Payment APIs. While this new checkout process will indeed be simple and convenient from an end-user perspective, the technical realization requires rather significant changes to browsers.Many major browsers, such as Chrome, Firefox, Edge, Safari, and Opera, already implement these new standards, and many payment processors, such as Google Pay, Apple Pay, or Stripe, support the use of Web Payment APIs for payments. The ecosystem is constantly growing, meaning that the Web Payment APIs will likely be used by millions of people worldwide.So far, there has been no in-depth security analysis of these new standards. In this paper, we present the first such analysis of the Web Payment APIs standards, a rigorous formal analysis. It is based on the Web Infrastructure Model (WIM), the most comprehensive model of the web infrastructure to date, which, among others, we extend to integrate the new payment functionality into the generic browser model.Our analysis reveals two new critical vulnerabilities that allow a malicious merchant to over-charge an unsuspecting customer. We have verified our attacks using the Chrome implementation and reported these problems to the W3C as well as the Chrome developers, who have acknowledged these problems. Moreover, we propose fixes to the standard, which by now have been adopted by the W3C and Chrome, and prove that the fixed Web Payment APIs indeed satisfy strong security properties
    corecore