[发明专利]用于混淆计算机程序的系统、方法以及存储介质有效
申请号: | 201680031724.X | 申请日: | 2016-04-05 |
公开(公告)号: | CN107667368B | 公开(公告)日: | 2020-12-22 |
发明(设计)人: | K·埃尔·德弗拉维;赵忠原;D·C·爱朋;J·卡茨 | 申请(专利权)人: | 赫尔实验室有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 吕俊刚;杨薇 |
地址: | 美国加利*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 混淆 计算机 程序 系统 方法 以及 存储 介质 | ||
用于混淆计算机程序的系统、方法以及存储介质。描述了一种用于混淆计算机程序的系统。接收未受保护的计算机程序的敏感数据作为输入。使用随机预言机来代数地隐藏代表该敏感数据的一组多项式大小的点函数。系统输出内部隐藏该敏感数据的一组经混淆的指令。使用该组经混淆的指令将未受保护的计算机程序转换成受保护的、经混淆的计算机程序,经混淆的计算机程序接受该组多项式大小的点函数。将该经混淆的计算机程序写入非易失性计算机可读介质。
相关申请的交叉引用
这是于2015年7月9日在美国提交的标题为“Non-Malleable Obfuscator for aPolynomial Set of Sparse Functions”的美国临时申请No.62/190,435的非临时申请,该临时申请通过引用整体并入本文
技术领域
本发明涉及一种用于混淆计算机程序的系统,并且更具体地涉及一种用于混淆包含任何多项式大小的(polynomial-size)点函数组以保护计算机程序中的敏感信息的计算机程序的系统。
背景技术
在软件开发中,混淆是指创建混淆的代码(即难以理解的源代码或机器代码)的行为。程序员可能会故意混淆代码来掩盖其目的或其逻辑,以防止篡改、阻止逆向工程或作为阅读源代码的人的难题或娱乐挑战。称为混淆器的程序使用各种技术将可读代码转换为混淆的代码。以下是混淆算法中的现有技术。
参考文献1(参见下文提供的参考文献列表)中描述的工作考虑了非可延展加密混淆的概念。其为多点程序类提供了非可延展混淆的第一结构,该结构接受来自输入域的恒定数量的点,并通过访问随机预言机(Random Oracle)(即,在随机预言机模型(ROM)中)对这些点进行混淆。
此外,参考文献2中描述的工作考虑了加密混淆的概念。该工作提供了针对朴素模型(plain model)(即,不在随机预言机模型(ROM)中)中的一般函数的加密混淆的强概念的强不可能结果。该工作不考虑非可延展性。
参考文献3提供了朴素模型中具有超多项式硬度的强伪随机函数的强点混淆。这样的程序很重要,因为其代表了对其它系统的基于密码的访问控制。然而,混淆仅针对点函数族实现,其中,与秘密值x相关联的点函数将字符串x'作为输入,并且如果x=x'则输出1;否则输出0。该工作的主要限制在于系统只能处理一个密码而不是很多。
另外,参考文献4中公开的工作提供了如何混淆ROM中的一些类别的函数并以可组合的方式实现混淆。该工作考虑了针对图形访问函数类的混淆,这些函数是点函数的通用类,但不考虑混淆的非可延展性。
参考文献5考虑了混淆的弱概念(被称为不可分辨性混淆(iO))中的多项式有序有界决策图(POBDD)的混淆。POBDD被用作非循环图,其顶点和边分别代表变量和二进制值。iO不保证电路的敏感信息的保护。
最后,参考文献6提供了针对iO概念中所有多项式大小电路的通用混淆,其在加密多线性编码下满足较弱的安全形式。由于底层构建块,混淆方案是不切实际的,因为即使混淆简单的程序,经混淆的程序的大小也太大而无法在实践中部署。例如,针对16比特字符串相等性测试的经混淆的程序具有30千兆字节(GB),并且其执行时间超过30分钟。
因此,不断需要用于混淆多项式数量的点而不是恒定数量的点的非可延展混淆器,并且还根据比现有方法更强的混淆概念来提供安全性。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于赫尔实验室有限公司,未经赫尔实验室有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201680031724.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种自动检测纸量的纸巾盒
- 下一篇:一种厕所用卫生卷纸放置装置