Towards a Theory of Software Protection
Towards a Theory of Software Protection
复制标题
DOI:
10.1007/3-540-47721-7_31
复制
发表时间:
1986-08
期刊:
影响因子:
--
通讯作者:
Oded Goldreich
中科院分区:
文献类型:
--
作者:
Oded Goldreich
Software protection is one of the most important issues concerning computer practice. The problem is to sell programs that can be executed by the buyer, yet cannot be duplicated and/or distributed by him to other users. There exist many heuristics and ad-hoc methods for protection, but the problem as a whole did not receive 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 oflearning about a program from its execution. Second, we present anefficientway of executing programs (i.e. a interpreter) such that it is infeasible to learn anything about the program by monitoring its executions. A scheme that protects against duplication follows.How can one efficiently execute programs without allowing an adversary, monitoring the execution, to learn anything about the program ? Current cryptographic techniques can be applied to keep the contents of the memory unknow throughout the execution, but arenot applicableto the problem of hiding the access pattern. Hiding the access patternefficientlyis the essence of our solution. We show how to implement (on-line and in an “oblivious manner”)tfetch instructions to a memory of sizemby making less thant·mεactual accesses, for every fixed ε>0.