|
ABSTRACT
Software protection is one of the most important issues concerning computer practice. There exist many heuristics and ad-hoc methods for protection, but the problem as a whole has not received the theoretical treatment it deserves. In this paper, we make the first steps towards a theoretic treatment of software protection: First, we distill and formulate the key problem of learning about a program from its execution. Second, assuming the existence of one-way permutations, we present an efficient way of executing programs such that it is infeasible to learn anything about the program by monitoring its executions.
How can one efficiently execute programs without allowing an adversary, monitoring the execution, to learn anything about the program? Traditional cryptographic techniques can be applied to keep the contents of the memory unknown throughout the execution, but are not applicable to the problem of hiding the access pattern. The problem of hiding the access pattern efficiently corresponds to efficient simulation of Random Access Machines (RAM) on an oblivious RAM. We define an oblivious RAM to be a (probabilistic) RAM for which (the distribution of) the memory access pattern is independent of the input. We present an (on-line) simulation of t steps of an arbitrary RAM with m memory cells, by less than t·m&egr; steps of an oblivious RAM with 2m memory cells, where &egr;>0 is an arbitrary constant.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
AHU
|
|
 |
AKS
|
|
| |
ACGS
|
|
| |
Bat
|
Batcher, K., "Sorting Networks and the:it Applications", AFIPS Spring Joint Cornouter Conference, 32, 1968, pp. 307-314.
|
| |
Be
|
Best, R., "Microprocessor for Executing Encrypted Programs", US Patent 4,168,396. Issued September 1979.
|
| |
BG
|
|
| |
BM
|
|
 |
GGM
|
|
| |
GM
|
Goldwasser S., and S. Micali, "Probabilistic Encryption", Jour. of Computer and System Science, Vol. 28, No. 2, 1984, pp. 270-299.
|
| |
K
|
|
 |
L
|
|
 |
LR
|
|
 |
PF
|
|
| |
Y
|
Yao, A.C., "Theory and Applications of Trapdoor Functions", Proc. of the 23rd IEEE Syrup. on Foundation of Computer Science, 1982, pp. 80-91.
|
CITED BY 14
|
|
|
|
|
|
|
|
Mihir Bellare , Oded Goldreich , Shafi Goldwasser, Incremental cryptography and application to virus protection, Proceedings of the twenty-seventh annual ACM symposium on Theory of computing, p.45-56, May 29-June 01, 1995, Las Vegas, Nevada, United States
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Xiaotong Zhuang , Tao Zhang , Hsien-Hsin S. Lee , Santosh Pande, Hardware assisted control flow obfuscation for embedded processors, Proceedings of the 2004 international conference on Compilers, architecture, and synthesis for embedded systems, September 22-25, 2004, Washington DC, USA
|
|
|
|
|
|
|
|
|
Lan Gao , Jun Yang , Marek Chrobak , Youtao Zhang , San Nguyen , Hsien-Hsin S. Lee, A low-cost memory remapping scheme for address bus protection, Proceedings of the 15th international conference on Parallel architectures and compilation techniques, September 16-20, 2006, Seattle, Washington, USA
|
|
|
|
|
|
|
|