Patchable Indistinguishability Obfuscation: iO for Evolving Software

In this work, we introduce patchable indistinguishability obfuscation: our notion adapts the notion of indistinguishability obfuscation (\({i\mathcal {O}}\)) 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 considermulti-program patchable indistinguishability obfuscation where a patch is applied not just to a single machine M, but to an unbounded set of machines \(M_1,\dots , M_n\) to yield \(P(M_1), \dots , P(M_n)\).

[1]  Mihir Bellare,et al.  Foundations of garbled circuits , 2012, CCS.

[2]  Rafail Ostrovsky,et al.  Garbled RAM Revisited , 2014, EUROCRYPT.

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

[4]  Brent Waters,et al.  Fuzzy Identity-Based Encryption , 2005, EUROCRYPT.

[5]  Brent Waters,et al.  New Negative Results on Differing-Inputs Obfuscation , 2016, EUROCRYPT.

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

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

[8]  Nir Bitansky,et al.  Time-Lock Puzzles from Randomized Encodings , 2016, IACR Cryptol. ePrint Arch..

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

[10]  Omer Reingold,et al.  Incremental Deterministic Public-Key Encryption , 2012, EUROCRYPT.

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

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

[13]  Amit Sahai,et al.  Patchable Obfuscation , 2015, IACR Cryptol. ePrint Arch..

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

[15]  Ilan Komargodski,et al.  Multi-input Functional Encryption in the Private-Key Setting: Stronger Security from Weaker Assumptions , 2016, EUROCRYPT.

[16]  Daniele Micciancio,et al.  Oblivious data structures: applications to cryptography , 1997, STOC '97.

[17]  Yehuda Lindell,et al.  A Proof of Security of Yao’s Protocol for Two-Party Computation , 2009, Journal of Cryptology.

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

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

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

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

[22]  Mihir Bellare,et al.  Incremental Cryptography: The Case of Hashing and Signing , 1994, CRYPTO.

[23]  Moni Naor,et al.  One-Way Functions and (Im)Perfect Obfuscation , 2014, 2014 IEEE 55th Annual Symposium on Foundations of Computer Science.

[24]  Rafail Ostrovsky,et al.  Black-Box Garbled RAM , 2015, 2015 IEEE 56th Annual Symposium on Foundations of Computer Science.

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

[26]  Yael Tauman Kalai,et al.  One-Time Programs , 2008, CRYPTO.

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

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

[29]  Jonathan Katz,et al.  Incremental Unforgeable Encryption , 2001, FSE.

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

[31]  Yael Tauman Kalai,et al.  Protecting Obfuscation against Algebraic Attacks , 2014, EUROCRYPT.

[32]  Mihir Bellare,et al.  Incremental cryptography and application to virus protection , 1995, STOC '95.

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

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

[35]  Vinod Vaikuntanathan,et al.  Watermarking cryptographic capabilities , 2016, STOC.

[36]  Nir Bitansky,et al.  On Strong Simulation and Composable Point Obfuscation , 2010, CRYPTO.

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

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

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

[40]  Marc Fischlin Incremental Cryptography and Memory Checkers , 1997, EUROCRYPT.

[41]  Craig Gentry,et al.  On the Implausibility of Differing-Inputs Obfuscation and Extractable Witness Encryption with Auxiliary Input , 2014, CRYPTO.

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

[43]  Satoshi Hada,et al.  Zero-Knowledge and Code Obfuscation , 2000, ASIACRYPT.

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

[45]  Kai-Min Chung,et al.  Cryptography for Parallel RAM from Indistinguishability Obfuscation , 2016, ITCS.

[46]  Alon Rosen,et al.  There is no Indistinguishability Obfuscation in Pessiland , 2013, IACR Cryptol. ePrint Arch..

[47]  Yael Tauman Kalai,et al.  How to Run Turing Machines on Encrypted Data , 2013, CRYPTO.

[48]  Yael Tauman Kalai,et al.  Succinct Functional Encryption and Applications: Reusable Garbled Circuits and Beyond , 2012, IACR Cryptol. ePrint Arch..

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

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

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

[52]  Adam O'Neill,et al.  Definitional Issues in Functional Encryption , 2010, IACR Cryptol. ePrint Arch..

[53]  Guy N. Rothblum,et al.  Virtual Black-Box Obfuscation for All Circuits via Generic Graded Encoding , 2014, TCC.

[54]  Rafail Ostrovsky,et al.  How to Garble RAM Programs , 2013, EUROCRYPT.

[55]  Rafail Ostrovsky,et al.  Software protection and simulation on oblivious RAMs , 1996, JACM.

[56]  Moni Naor,et al.  Universal Obfuscation and Witness Encryption: Boosting Correctness and Combining Security , 2016, IACR Cryptol. ePrint Arch..

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

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

[59]  Yael Tauman Kalai,et al.  On Virtual Grey Box Obfuscation for General Circuits , 2017, Algorithmica.

[60]  Guy N. Rothblum,et al.  On Best-Possible Obfuscation , 2007, TCC.

[61]  Ronald L. Rivest,et al.  ON DATA BANKS AND PRIVACY HOMOMORPHISMS , 1978 .

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

[63]  Yael Tauman Kalai,et al.  The Impossibility of Obfuscation with Auxiliary Input or a Universal Simulator , 2014, CRYPTO.

[64]  Yuval Ishai,et al.  Founding Cryptography on Tamper-Proof Hardware Tokens , 2010, IACR Cryptol. ePrint Arch..

[65]  Yael Tauman Kalai,et al.  On the impossibility of obfuscation with auxiliary input , 2005, 46th Annual IEEE Symposium on Foundations of Computer Science (FOCS'05).

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

[67]  Brent Waters,et al.  Functional Encryption: Definitions and Challenges , 2011, TCC.

[68]  Moni Naor,et al.  Universal Constructions and Robust Combiners for Indistinguishability Obfuscation and Witness Encryption , 2016, CRYPTO.

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

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

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