title: Cryptographic Primitives that Resist Backdooring and Subversion
Creators: name: Mazaheri, Sogol
Publisher: name: UNSPECIFIED
Year: 2020

description: The Snowden revelations of 2013 have shed some light on the extent of state-performed mass surveillance programs that target people all over the world, violate their privacy, and endanger their cyber security. The presumably most expensive of these surveillance programs is the NSA's decryption program, Bullrun, which aims at breaking and sabotaging cryptosystems. This program cost $254.9 million in 2013 alone. Cryptosystems are vulnerable to sabotage in their mathematical specifications, standardization of their parameters, and their implementations. It has been a bitter surprise to realize that the capabilities of adversaries that have been classically considered in cryptographic models often do not even come close to what is attainable for big brother (i.e., state-level) adversaries. Therefore, it is of utmost necessity to rigorously study cryptographic sabotage and to develop resilient cryptosystems. Considering that the anticipated adversary is an extremely powerful one, finding solutions against sabotage requires not only tailoring the existing approaches from various areas in cryptography and other closely related disciplines to new scenarios but at times also entirely new design and proof techniques. As such, this thesis aims at adding new knowledge and techniques to the cryptographic toolbox to help better combat such attacks. In particular, we tackle the problem of disabling backdoors embedded in the mathematical design of cryptographic primitives as well as re-establishing security in their subverted implementations. The first part of this thesis is concerned with defeating backdoors in hash functions, which are one of the most fundamental and versatile primitives in cryptography. We formulate and study backdoored hash functions, whereby a big brother designs a hash function that despite displaying reasonable functionality and security properties, can be broken using a secret backdoor. We start by modeling backdoored hash functions in the standard model (i.e., a model without idealized primitives), where the backdoor is a key co-designed with the hash function. We then show the feasibility of efficient backdoored hash functions for fixed-length inputs and how iterating such functions in the Merkle-Damgard or the sponge constructions leads to backdoored hash functions for inputs of arbitrary length, where crucial security guarantees break down. On the positive side, we give evidence that the weak pseudorandomness property of hash functions, which rely on a secret key, is in fact robust against backdooring. This result allows us to build a backdoor-resilient iterative pseudorandom function, more precisely, a variant of HMAC. Furthermore, we show how the key derivation function HKDF can be immunized against backdoors at little cost. Unfortunately our findings also suggest that immunizing a hash function against backdoors, without relying on a secret key, is presumably hard. This observation later motivated our study of combining independent hash functions as a possible strategy in building secure backdoor-resilient hash functions. We then introduce a model which we call the backdoored random-oracle (BRO) model, whereby a big brother picks a random oracle, i.e., a random function, but he can also obtain arbitrary information about the random oracle using a backdoor oracle. This model captures not only weaknesses that lead to collision-finding and inversion attacks but also any conceivable weakness that can exist in a hash function. Therefore, adversaries equipped with such a backdoor oracle are powerful to the extent that no security can be achieved based on a single arbitrarily backdoored random oracle. However, when two independent BROs are available, we show that certain security properties, such as one-wayness, pseudorandomness, and collision resistance can be re-established. This is true even when we allow unrestricted and adaptive access to both backdoor oracles. To this end we consider three common combiners: concatenation, cascade, and xor. At the core of our results lie new reductions from cryptographic security goals to the communication complexities of several two-party tasks. Along the way we establish a communication complexity lower bound for set-intersection for cryptographically relevant ranges of parameters and distributions and where deciding set-disjointness can be easy. We further study the technique of combining independent BROs in order to construct a hash function from two or more BROs in a way that it can be used in many cryptographic applications that rely on a backdoor-free random oracle. The property that practically allows a hash function construction to replace a random oracle is referred to as indifferentiability and was introduced by Maurer, Renner, and Holenstein (TCC 2004). Achieving full indifferentiability in our model seems very challenging at the moment. We however make progress in this direction by showing that the xor combiner goes well beyond security against preprocessing attacks and offers indifferentiability as long as the number of the adversary's query switches between the backdoor oracles remains logarithmic in the input size of the underlying BROs. We also show that an extractor-based combiner of three BROs can provide indifferentiability even against adversaries that make a linear number of switches. To prove these results we build on and refine a recent technique by Göös, Lovett, Meka, Watson, and Zuckerman (STOC 2015) for decomposing high-entropy distributions into convex combinations of distributions on bit strings that are fixed on some points and highly unpredictable on others. Furthermore, a natural restriction of our definition of indifferentiability in the BRO model gives rise to a notion of indifferentiability with auxiliary input, for which we give two positive feasibility results. The second part of this thesis aims at providing security in face of malicious implementations. We put forward the notion of self-guarding cryptographic primitives as a countermeasure to a subclass of so-called algorithm substitution attacks (ASAs). These attacks are formalized by Bellare, Paterson, and Rogaway (CRYPTO 2014) as attacks, where a big brother secretly substitutes the genuine implementation of a cryptosystem with a malicious one in order to undermine users' security. The authors also show that randomized symmetric encryption schemes are vulnerable to devastating ASAs that practically allow a big brother to steal secret keys, while to users the input-output behavior of the encryption algorithm remains undetectable from that of a genuine implementation. Detecting ASAs, even if theoretically possible, is unfortunately not an easy task. Our self-guarding primitives, however, do not rely on detection and can still prevent undesirable leakage by subverted algorithms, usually for a bounded time, if one has the guarantee that the system has been working properly during an initial phase. This secure initial phase is justified for instance, before a malicious software update is performed or before a malicious internal state is reached. We present constructions of basic self-guarding primitives for symmetric and asymmetric encryption and for signatures. We also argue that the model captures attacks with malicious hardware tokens and show how to self-guard a key exchange protocol that is based on a physical uncloneable function (PUF).