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
中科院分区:
其他
文献类型:
--
作者:
Oded Goldreich

文献摘要

被引文献

相似文献

软件保护是计算机实践中最重要的问题之一。问题是出售可以由买方执行的程序,但不能由他复制和/或分发给其他用户。有许多专门的保护方法,但这个问题作为一个整体并没有得到应有的理论处理,本文中,我们对软件保护的理论处理的第一步:首先,我们提取和制定的关键问题,了解一个程序,从它的执行。其次,我们提出了一种高效的执行程序的方法(即解释器),这样通过监视程序的执行来了解程序的任何信息是不可行的。下面是一个防止复制的方案:如何才能有效地执行程序,而不让监视执行的对手了解程序的任何信息?目前的密码技术可以用来使存储器的内容在整个执行过程中保持未知,但不适用于隐藏访问模式的问题。有效地隐藏访问模式是我们解决方案的精髓。我们展示了如何实现(在线和在一个“不经意的方式”)tfetch指令的大小的内存,使小于ant·mε实际访问,对于每个固定的ε>0。
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.