Patchable Obfuscation

In this work, we introduce patchable obfuscation: our notion adapts the notion of indistinguishability obfuscation (iO) to a very general setting where obfuscated software evolves over time. We model this broadly by considering software patches P as arbitrary Turing Machines that take as input the description of a Turing Machine M , and output a new Turing Machine description M ′ = P (M). Thus, a short patch P can cause changes everywhere in the description of M and can even cause the description length of the machine to increase by an arbitrary polynomial amount. We further consider the setting where a patch is applied not just to a single machine M , but to an unbounded set of machines (M1, . . . ,Mt) to yield (P (M1), . . . , P (Mt). We call this multi-program patchable obfuscation. We consider both patchable obfuscation and multi-program patchable obfuscation in a setting where there are an unbounded number of patches that can be adaptively chosen by an adversary. We show that sub-exponentially secure iO for circuits and sub-exponentially secure one-way functions imply patchable obfuscation; and we show that sub-exponentially secure iO for circuits, sub-exponentially secure one-way functions, and sub-exponentially secure DDH imply multiprogram patchable obfuscation. Finally, we exhibit some simple applications of multi-program patchable obfuscation, to demonstrate how these concepts can be applied. ∗University of California Los Angeles and Center for Encrypted Functionalities. Email: prabhanjan@cs.ucla.edu. Work done in part while visiting the Simons Institute for Theoretical Computer Science, supported by the Simons Foundation and and by the DIMACS/Simons Collaboration in Cryptography through NSF grant #CNS-1523467. This work was partially supported by grant #360584 from the Simons Foundation and the grants listed under Amit Sahai. †Johns Hopkins University. Email: abhishek@cs.jhu.edu. Work done in part while visiting the Simons Institute for Theoretical Computer Science, supported by the Simons Foundation and and by the DIMACS/Simons Collaboration in Cryptography through NSF grant #CNS-1523467.. Supported in part by a DARPA/ARL Safeware Grant W911NF-15-C-0213 and NSF CNS-1414023. ‡University of California Los Angeles and Center for Encrypted Functionalities. Email: sahai@cs.ucla.edu Work done in part while visiting the Simons Institute for Theoretical Computer Science, supported by the Simons Foundation and and by the DIMACS/Simons Collaboration in Cryptography through NSF grant #CNS-1523467. Research supported in part from a DARPA/ARL SAFEWARE award, NSF Frontier Award 1413955, NSF grants 1228984, 1136174, 1118096, and 1065276, a Xerox Faculty Research Award, a Google Faculty Research Award, an equipment grant from Intel, and an Okawa Foundation Research Grant. This material is based upon work supported by the Defense Advanced Research Projects Agency through the ARL under Contract W911NF-15-C-0205. The views expressed are those of the author and do not reflect the official policy or position of the Department of Defense, the National Science Foundation, or the U.S. Government.

[1]  Silvio Micali,et al.  How to construct random functions , 1986, JACM.

[2]  Ran Canetti,et al.  Obfuscation of Probabilistic Circuits and Applications , 2015, TCC.

[3]  Rafael Pass,et al.  Output-Compressing Randomized Encodings and Applications , 2016, TCC.

[4]  Rafail Ostrovsky,et al.  Garbled RAM From One-Way Functions , 2015, STOC.

[5]  Brent Waters,et al.  A Punctured Programming Approach to Adaptively Secure Functional Encryption , 2015, CRYPTO.

[6]  A. Yao,et al.  Fair exchange with a semi-trusted third party (extended abstract) , 1997, CCS '97.

[7]  Ming Li,et al.  An Introduction to Kolmogorov Complexity and Its Applications , 2019, Texts in Computer Science.

[8]  Vinod Vaikuntanathan,et al.  Publicly Verifiable Software Watermarking , 2015, IACR Cryptol. ePrint Arch..

[9]  Amit Sahai,et al.  Indistinguishability Obfuscation with Constant Size Overhead , 2015, IACR Cryptol. ePrint Arch..

[10]  Craig Gentry,et al.  Fully homomorphic encryption using ideal lattices , 2009, STOC '09.

[11]  Amit Sahai,et al.  Multi-Input Functional Encryption , 2014, IACR Cryptol. ePrint Arch..

[12]  Kai-Min Chung,et al.  Computation-Trace Indistinguishability Obfuscation and its Applications , 2015, IACR Cryptol. ePrint Arch..

[13]  Ran Canetti,et al.  Succinct Adaptive Garbled RAM , 2015, IACR Cryptol. ePrint Arch..

[14]  Amit Sahai,et al.  Multi-input Functional Encryption for Unbounded Arity Functions , 2015, ASIACRYPT.

[15]  Yuval Ishai,et al.  Public-Coin Differing-Inputs Obfuscation and Its Applications , 2015, TCC.

[16]  Amit Sahai,et al.  Functional Encryption for Turing Machines , 2016, TCC.

[17]  Shafi Goldwasser,et al.  Functional Signatures and Pseudorandom Functions , 2014, Public Key Cryptography.

[18]  Brent Waters,et al.  How to use indistinguishability obfuscation: deniable encryption, and more , 2014, IACR Cryptol. ePrint Arch..

[19]  Nir Bitansky,et al.  Indistinguishability Obfuscation from Functional Encryption , 2015, 2015 IEEE 56th Annual Symposium on Foundations of Computer Science.

[20]  Allison Bishop,et al.  Indistinguishability Obfuscation from the Multilinear Subgroup Elimination Assumption , 2015, 2015 IEEE 56th Annual Symposium on Foundations of Computer Science.

[21]  Brent Waters,et al.  Constrained Pseudorandom Functions and Their Applications , 2013, ASIACRYPT.

[22]  Yael Tauman Kalai,et al.  Reusable garbled circuits and succinct functional encryption , 2013, STOC '13.

[23]  Allison Bishop,et al.  Indistinguishability Obfuscation for Turing Machines with Unbounded Memory , 2015, IACR Cryptol. ePrint Arch..

[24]  Ilan Komargodski,et al.  From Single-Input to Multi-Input Functional Encryption in the Private-Key Setting , 2015, IACR Cryptol. ePrint Arch..

[25]  Michael J. Fischer,et al.  Relations Among Complexity Measures , 1979, JACM.

[26]  Sanjam Garg,et al.  Incremental Program Obfuscation , 2017, CRYPTO.

[27]  Craig Gentry,et al.  Fully Key-Homomorphic Encryption, Arithmetic Circuit ABE and Compact Garbled Circuits , 2014, EUROCRYPT.

[28]  Aggelos Kiayias,et al.  Delegatable pseudorandom functions and applications , 2013, IACR Cryptol. ePrint Arch..

[29]  Kai-Min Chung,et al.  Delegating RAM Computations with Adaptive Soundness and Privacy , 2016, TCC.

[30]  Kai-Min Chung,et al.  On Extractability Obfuscation , 2014, IACR Cryptol. ePrint Arch..

[31]  Craig Gentry,et al.  Succinct Randomized Encodings and their Applications. , 2014 .

[32]  Mark Zhandry,et al.  Differing-Inputs Obfuscation and Applications , 2013, IACR Cryptol. ePrint Arch..

[33]  Ran Canetti,et al.  Fully Succinct Garbled RAM , 2016, ITCS.

[34]  Abhishek Jain,et al.  Indistinguishability Obfuscation from Compact Functional Encryption , 2015, CRYPTO.

[35]  Amit Sahai,et al.  On the (im)possibility of obfuscating programs , 2001, JACM.

[36]  Vinod Vaikuntanathan,et al.  From Selective to Adaptive Security in Functional Encryption , 2015, CRYPTO.

[37]  Ran Canetti,et al.  Indistinguishability Obfuscation of Iterated Circuits and RAM Programs , 2014, IACR Cryptol. ePrint Arch..

[38]  Brent Waters,et al.  Candidate Indistinguishability Obfuscation and Functional Encryption for all Circuits , 2013, 2013 IEEE 54th Annual Symposium on Foundations of Computer Science.

[39]  Craig Gentry,et al.  Outsourcing Private RAM Computation , 2014, 2014 IEEE 55th Annual Symposium on Foundations of Computer Science.

[40]  Ryo Nishimaki,et al.  Watermarking Cryptographic Programs Against Arbitrary Removal Strategies , 2015, IACR Cryptol. ePrint Arch..