Released software might include some sensitive/secret information such as technical details of the product. In order to prevent the attacker from anti-compiling the program, it is very important to study the principle and technology of software and program protection. Program obfuscation is a compiler algorithm that takes a program as input and generates a new program with the same functionality as before, while maintaining hard-to-understand in some sense. Compared with traditional obfuscation techniques such as substituting words, inserting redundancy codes and breaking statistics, provably secure obfuscation in cryptography provides a more secure and perfect mechanism to implement the program protection, and thus it is important and crucial in theoretical research and practical application.. In this work, we study the key technologies and methods in provably secure obfuscation, such as security models of obfuscation, functionality-preserving pseudo-entropy enhance in functions, argument constants obfuscation of password, key and fingerprint etc. We also analyze and evaluate the performances of program obfuscation, including functionality, security, computing cost and storing price etc, and study and design the generic composability of obfuscation that combining multiple obfuscated modules into one integrated and obfuscated program. . The fruit of our research can be applied and deployed in copyright protection of sensitive algorithm, outsourcing computation with privacy preservation, database retrieval of sensitive operations and so on. Furthermore, our research can also simplify and improve lots of state-of-the-art cryptographic schemes.
发布的软件中可能隐含有诸如技术细节等私密信息,防止被人利用反编译等手段破解,是软件保护研究的重要内容。程序混淆将一个程序转化为相同功能新的程序,但无法从混淆程序中获得有关原程序中的有用信息,以达到对程序算法机密保护。与传统采用简单置换、加入冗余代码、破坏静态统计等方式达到程序混乱不可识别不同,从密码学上研究和设计可证明安全的程序混淆,可达到更强安全的程序保护,有重要理论意义和应用价值。. 本项目研究可证明安全程序混淆的关键技术和方法,包括可证安全混淆基础理论、函数功能保持的伪熵增强、内部常量(常数、口令、密钥或水印等)及调用算法混淆,分析混淆程序所达到的功能保持性、安全性、计算性能和存储性能,进而提出一种多混淆模块上的混淆可组合性一般方案。研究成果可用于算法版权保护、隐私保护外包计算、敏感数据搜索等场合,同时本研究也可以简化和改进很多现有密码方案,在密码与信息安全方面获得更多新的思想。
程序混淆作为一个编译器可将一个程序(布尔表达的电路)转化为可执行的混淆化程序, 混淆后的程序与原始程序在相同输入情况下达到相同输出功能,但无法从混淆程序中获得有关原始程序或电路的任何有用信息,可实现对程序功能的“隐私保护”。混淆可使得软件代码逆项工程在密码学上是可证明困难的,可用于软件产权保护、安全外包计算、敏感代理操作等应用场合,也可实现密码学领域中的新应用。.本项目研究内容体现在三个方面:一是系统地研究达到虚拟黑盒安全和不可区分安全的程序混淆及可证明安全的理论和方法,主要包括混淆伪熵增强方案,对虚拟黑盒安全混淆、虚拟灰盒安全混淆、最可能混淆、可提取安全的混淆、以及不可区分混淆等安全模型进行深入分析探讨;二是研究保护程序中敏感常量数据下的混淆技术并设计安全的混淆算法,特别是针对密码算法中的密钥和机密性委托密钥等作了较深入的研究,并给出混淆的可组合性分析;三是研究和提出多种达到虚拟黑盒安全的密码方案构造,以及达到不可区分混淆的安全密码算法构造:针对密码算法中的委托重密钥保密性设计了达到虚拟黑盒安全的对可验证重加密算法的混淆方案;研究中设计了达到平均条件下的虚拟黑盒安全的匿名重加密算法的安全混淆算法及实现方案;针对在不可信服务器上的多跳重加密算法执行的机密性与隐私性保护,研究和设计了在不可信外包服务器上的灵活可控的重加密混淆方案。.本项目完成预定的研究核心内容和目标。基于本项目的支持,相关成果获得国际学术会议最优论文奖2项;出版学术专著1本、编辑1本国际学术会议论文集和1本国际学术期刊专刊;发表学术论文32篇;依托本项目申请专利14项(其中授权专利7项,转让专利1项)、软件著作权2项。在本项目支持下,承办了2次学术会议,受邀在7个国际/国内学术会议上做学术报告,参加国内外学术会议20余次。依托本课题,培养博士1名,硕士生10名。作为本研究内容的扩展和延续,获批2项重点实验室开放课题的资助。
{{i.achievement_title}}
数据更新时间:2023-05-31
玉米叶向值的全基因组关联分析
监管的非对称性、盈余管理模式选择与证监会执法效率?
宁南山区植被恢复模式对土壤主要酶活性、微生物多样性及土壤养分的影响
针灸治疗胃食管反流病的研究进展
卫生系统韧性研究概况及其展望
面向CCMANET网络可证明安全命名与名字路由机制关键技术研究
程序混淆理论若干关键问题研究
可证明安全的双服务器口令认证密钥交换的关键技术研究
发布/订阅服务中保护用户隐私与可证明安全密码方案的关键技术研究