论文部分内容阅读
白盒攻击环境也称白盒攻击模型,是为了解决应用程序运行在不可信的终端面临的威胁而提出的一种理论模型。白盒攻击模型定义了一种更加极端的攻击环境,它假定加密软件运行在不安全的终端,攻击者拥有一切权限,可以完全访问加密算法和相关执行环境,获得观察和改变这些实现的全部或部分内部细节以及执行动态的能力,攻击者甚至可以随意更改中间值,或加密逻辑。将能够抵抗白盒攻击的密码算法称为白盒密码。白盒密码最初的目标是防止密钥提取攻击,保护密钥。本文主要研究内容包括:1)白盒密码的理论基础、设计方法、安全性评价、应用场景等相关白盒知识。白盒密码的设计方式有三种,本文主要研究查找表方式的白盒实现。查找表方式的白盒实现是通过查表实现加密和解密。白盒多样性和白盒含混度用来衡量查找表构建的安全性,而差分分析和代数分析是查找表组合时评价白盒方案的安全性的两种常用的方式,所以白盒方案的设计不仅要考虑所构建的查找表会不会泄露密钥信息,还要考虑整体的方案能不能保证密钥不被恢复。2)设计一个新的基于AES的白盒方案。通过对众多白盒方案以及白盒攻击的了解,提出了一个新的白盒AES实现方案,该方案丢弃所有的非线性编码,引入128-bit的仿射变换作为轮输出编码,每轮3种类型的查找表,轮内部中间值的编码采用类似白鲲鹏等人的白盒SM4的复杂化编码方式,其中一半的查找表使用一种输出编码(忽略仿射常数的不同),另一半使用另一种输出编码,使得在查找表组合时,大型仿射编码不被抵消。3)通过分析,对新提出的方案进行改进,提出方案二。将新方案中用作加密的两种类型表合二为一,构造表F来实现AES的轮函数,查找表De的输出编码采用更加复杂的形式,使得一轮中16张De表的输出编码均不相同。经过性能分析发现,方案二相对于已有的方案具有较大优势,但是尺寸较大;通过多样性和含混度分析,方案二的查找表的构造是安全的,对于查找表组合的安全性分析显示,方案二面对代数分析,如BGE、MGH等时具有较好的安全性。通过与白-武方案的对比,改进的方案二能提供更好的安全性,同时采用类似潘文伦等人的分析,基于差分分析的方法提出对白-武方案和改进方案二的一种有效分析方式,能够快速提取白盒方案的密钥。通过对这种复杂编码方式的白盒实现的分析,我们发现这种编码方式面对代数分析具有较好的安全性,而面对差分分析时,它表现的安全性并不理想。