Towards a theory of software protection and simulation by oblivious RAMs

Oded Goldreich
{"title":"Towards a theory of software protection and simulation by oblivious RAMs","authors":"Oded Goldreich","doi":"10.1145/28395.28416","DOIUrl":null,"url":null,"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.","PeriodicalId":161795,"journal":{"name":"Proceedings of the nineteenth annual ACM symposium on Theory of computing","volume":"8 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1987-01-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"524","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the nineteenth annual ACM symposium on Theory of computing","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/28395.28416","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 524

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.
基于遗忘ram的软件保护与仿真理论研究
软件保护是计算机实践中的重要问题之一。目前存在许多启发式和特殊的保护方法,但作为一个整体,这个问题并没有得到应有的理论处理。在本文中,我们向软件保护的理论处理迈出了第一步:首先,我们提炼和制定了从程序的执行中了解程序的关键问题。其次,假设存在单向排列,我们提出了一种执行程序的有效方法,使得通过监视程序的执行来了解程序的任何信息是不可行的。如何有效地执行程序,而不让对手监视执行,了解程序的任何信息?传统的加密技术可以使内存的内容在整个执行过程中保持未知,但不适用于隐藏访问模式的问题。有效隐藏访问模式的问题对应于随机存取机(RAM)在无关内存上的高效仿真。我们将遗忘RAM定义为一种(概率)RAM,其内存访问模式的分布与输入无关。我们提出了一个(在线)模拟t步的任意RAM与m个存储单元,小于t·m&egr;具有2m存储单元的遗忘RAM的步长,其中&egr;>0是任意常数。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信