Software Protection and Simulation on Oblivious RAMs

Software Protection and Simulation on Oblivious RAMs

May 1996 | ODED GOLDREICH AND RAFAIL OSTROVSKY
This paper presents a theoretical treatment of software protection, reducing the problem to efficient simulation on oblivious RAMs. Software protection is crucial due to the high cost of software development and the ease of copying. The paper defines software protection as preventing adversaries from learning about a program's implementation through its execution. It distinguishes between protection against duplication and redistribution. The paper argues that purely software-based solutions are insufficient and proposes a combination of hardware and software measures, such as physically shielded CPUs with encrypted programs. The paper introduces the concept of an oblivious RAM, where memory access patterns are independent of the program being executed. This ensures that the sequence of memory accesses does not reveal program characteristics. The paper shows that an oblivious RAM can simulate an arbitrary RAM with a polylogarithmic slowdown in running time. It also proves that a logarithmic slowdown is a lower bound for such simulations. The paper defines software protection as a transformation of programs into functionally equivalent programs that prevent adversaries from learning about the original program. It introduces the notion of a compiler that transforms programs into pairs of a function and an encrypted program. The compiler ensures that the encrypted program behaves like a black box, revealing only its input/output behavior and running time. The paper defines oblivious RAMs and their simulations, showing that an oblivious RAM can simulate an arbitrary RAM with a polylogarithmic slowdown. It also proves that any oblivious simulation of RAMs must have an average logarithmic overhead. The paper concludes that the overhead of software protection is polynomially related to the security parameter of one-way functions. The results are derived under the assumption that one-way functions exist, and the paper discusses the implications of these results for software protection and other applications.This paper presents a theoretical treatment of software protection, reducing the problem to efficient simulation on oblivious RAMs. Software protection is crucial due to the high cost of software development and the ease of copying. The paper defines software protection as preventing adversaries from learning about a program's implementation through its execution. It distinguishes between protection against duplication and redistribution. The paper argues that purely software-based solutions are insufficient and proposes a combination of hardware and software measures, such as physically shielded CPUs with encrypted programs. The paper introduces the concept of an oblivious RAM, where memory access patterns are independent of the program being executed. This ensures that the sequence of memory accesses does not reveal program characteristics. The paper shows that an oblivious RAM can simulate an arbitrary RAM with a polylogarithmic slowdown in running time. It also proves that a logarithmic slowdown is a lower bound for such simulations. The paper defines software protection as a transformation of programs into functionally equivalent programs that prevent adversaries from learning about the original program. It introduces the notion of a compiler that transforms programs into pairs of a function and an encrypted program. The compiler ensures that the encrypted program behaves like a black box, revealing only its input/output behavior and running time. The paper defines oblivious RAMs and their simulations, showing that an oblivious RAM can simulate an arbitrary RAM with a polylogarithmic slowdown. It also proves that any oblivious simulation of RAMs must have an average logarithmic overhead. The paper concludes that the overhead of software protection is polynomially related to the security parameter of one-way functions. The results are derived under the assumption that one-way functions exist, and the paper discusses the implications of these results for software protection and other applications.
Reach us at info@study.space
[slides] Software protection and simulation on oblivious RAMs | StudySpace