Software Protection and Simulation on Oblivious RAMs

Software Protection and Simulation on Oblivious RAMs

May 1996 | ODED GOLDREICH AND RAFAIL OSTROVSKY
This paper provides a theoretical treatment of software protection, focusing on the problem of learning about a program from its execution. The authors reduce this problem to the efficient simulation of an arbitrary program on an oblivious RAM. An oblivious machine is one where the sequence of memory accesses is identical for any two inputs with the same running time. The main result is an efficient simulation of an arbitrary random-access machine (RAM) program on a probabilistic oblivious RAM, achieving a polylogarithmic slowdown in the running time. The authors also show that a logarithmic slowdown is a lower bound for such simulations. The paper discusses the role of hardware in software protection, distinguishing between protection against illegitimate duplication and protection against redistribution. It introduces a Software-Hardware Package (SH-package) consisting of a physically shielded CPU and an encrypted program, and explores the limitations and challenges of such solutions. The paper concludes with a detailed definition of software protection and the simulation of RAMs on oblivious RAMs, providing a framework for understanding and achieving efficient and secure software protection.This paper provides a theoretical treatment of software protection, focusing on the problem of learning about a program from its execution. The authors reduce this problem to the efficient simulation of an arbitrary program on an oblivious RAM. An oblivious machine is one where the sequence of memory accesses is identical for any two inputs with the same running time. The main result is an efficient simulation of an arbitrary random-access machine (RAM) program on a probabilistic oblivious RAM, achieving a polylogarithmic slowdown in the running time. The authors also show that a logarithmic slowdown is a lower bound for such simulations. The paper discusses the role of hardware in software protection, distinguishing between protection against illegitimate duplication and protection against redistribution. It introduces a Software-Hardware Package (SH-package) consisting of a physically shielded CPU and an encrypted program, and explores the limitations and challenges of such solutions. The paper concludes with a detailed definition of software protection and the simulation of RAMs on oblivious RAMs, providing a framework for understanding and achieving efficient and secure software protection.
Reach us at info@study.space
Understanding Software protection and simulation on oblivious RAMs