信息网络安全 ›› 2014, Vol. 14 ›› Issue (8): 6-11.doi: 10.3969/j.issn.1671-1122.2014.08.002

• 技术研究 • 上一篇    下一篇

安全的程序混淆研究综述

成荣, 张方国   

  1. 中山大学信息科学与技术学院,广东广州 510006
  • 收稿日期:2014-07-21 出版日期:2014-08-01
  • 作者简介:成荣(1987-),女,湖北,博士研究生,主要研究方向:密码学与程序混淆;张方国(1972-),男,山东,博士生导师,教授,博士,主要研究方向:密码学与信息安全。
  • 基金资助:
    国家自然科学基金[61379154, U1135001]、高等学校博士学科点(博导类)专项科研基金[20120171110027]

An Overview on the Secure Program Obfuscation

CHENG Rong, ZHANG Fang-guo   

  1. School of Information Science and Technology, Sun Yat-sen University, Guangzhou Guangdong 510006, China
  • Received:2014-07-21 Online:2014-08-01

摘要: 程序混淆可以理解为一个编译器,它将源程序转化成一种不被理解的形式,但依然保持其功能特性。混淆的概念最早在代码混淆领域被提出,在软件保护、数字水印等领域有着实际的应用,但缺乏严格的安全分析与证明。混淆在密码学领域的研究最早由Barak等人引入,并提出了虚拟黑盒混淆的形式化定义及安全性要求。对密码函数的安全通用混淆研究具有非常重要的理论意义,其与随机预言机、全同态加密、零知识证明等其他密码原语有着紧密的联系。对具体密码函数的安全混淆在云计算、代理计算等领域也有着实际的应用价值。近年来,安全的程序混淆研究成为当前密码研究领域的一个热点。由于在Barak提出的标准定义下已证明不存在通用的安全混淆,因此后续的程序混淆方面的研究工作主要集中在3个方面:对具体函数类的混淆实现、混淆的新模型研究以及混淆与其他密码模型的关系研究及应用。文章给出了安全的程序混淆的一个研究综述,对对具体函数类的安全混淆、混淆模型的研究以及混淆的推广和应用都分别给出了一个较为详细的介绍。

关键词: 密码学, 程序混淆, 虚拟黑盒特性

Abstract: Program obfuscation is a compiler that transfers the original program into an unintelligible form while preserving the functionality. The concept of obfuscation was first introduced in code obfuscation, which is used for software protection, digital watermarking, etc. However, it lacks formal analysis and security proof. Obfuscation for cryptographic purposes was proposed by Barak et al., and they gave the formal definition of `virtual black-box obfuscation and its security requirements. General obfuscation of cryptographic functions has important meaning in theoretical research and has close relation with other cryptographic primitives such as random oracle, fully homomorphic encryption, zero knowledge, etc. Besides, secure obfuscation of specific cryptographic functions has practical use in cloud computing and delegate computing. In recent years, secure program obfuscation has become one of the hottest topics in the progress of cryptographic research. As obfuscation of general function families was proved impossible under Barak’s standard definition, thus following researches are mainly focused on realizing secure obfuscation of specific families of functions, new definition models of obfuscation, and relations and applications of obfuscation in other cryptographic primitives. In this paper, we give an overview on the study of secure obfuscation, which includes constructions of secure obfuscation of specific cryptographic functions, studies on special models of obfuscation and generalization and applications of secure obfuscation.

Key words: cryptography, program obfuscation, virtual black-box property

中图分类号: