arXivDaily arXiv每日学术速递 周一至周五更新
arXiv周末暂无论文更新,休息一下吧,周末愉快~~
arXiv 1612.03345cs.CR
收藏

使用加密进行混淆

Obfuscation using Encryption

Johannes Schneider, Thomas Locher

摘要:

保护源代码免受逆向工程和盗窃是一个重要的问题。目标是在不可信方上使用机密算法进行计算,同时确保算法的机密性。这个问题已经解决了布尔电路称为“电路隐私”。对应于真实世界程序的电路是不切实际的。众所周知的混淆技术是高度实用的,但是仅提供有限的安全性,例如,没有盗版保护。在这项工作中,我们修改源代码产生程序可调的性能和安全保证,从不可分割的混淆(非安全)普通混淆。其目的是人为地制造"误导性"言论。他们的结果与使用加密的\emph{selector variables}的机密声明的结果相结合。因此,攻击者必须"猜测"加密的选择器变量来伪装机密源代码。我们使用十多个程序员以及跨开源代码库的模式挖掘来评估我们的方法,以获得与生成误导性陈述相关的(微)编码模式的见解。评估表明,我们的方法是有效的,它成功地保护了源代码的机密性。

英文摘要:

Protecting source code against reverse engineering and theft is an important problem. The goal is to carry out computations using confidential algorithms on an untrusted party while ensuring confidentiality of algorithms. This problem has been addressed for Boolean circuits known as `circuit privacy'. Circuits corresponding to real-world programs are impractical. Well-known obfuscation techniques are highly practicable, but provide only limited security, e.g., no piracy protection. In this work, we modify source code yielding programs with adjustable performance and security guarantees ranging from indistinguishability obfuscators to (non-secure) ordinary obfuscation. The idea is to artificially generate `misleading' statements. Their results are combined with the outcome of a confidential statement using encrypted \emph{selector variables}. Thus, an attacker must `guess' the encrypted selector variables to disguise the confidential source code. We evaluated our method using more than ten programmers as well as pattern mining across open source code repositories to gain insights of (micro-)coding patterns that are relevant for generating misleading statements. The evaluation reveals that our approach is effective in that it successfully preserves source code confidentiality.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑