网络空间安全一级学科中白盒密码的教学与科研探讨*

2021-03-21 04:34付兴兵
通信技术 2021年2期
关键词:黑盒密文攻击者

付兴兵,周 楠,吴 铤

(杭州电子科技大学,浙江 杭州 310018)

0 引言

随着威胁的日益增加,社会发展需要越来越多的网络空间安全人才。国家分别批准设立了网络空间安全一级学科的硕士点和博士点,以加速我国的网络空间安全人才培养。密码学在网络空间安全人才培养中是不可缺少的重要环节,对密码学的研究和密码人才的培养具有重要意义。

密码算法设计在攻击者出现的情况下用来保护数据或通信。若这些算法利用了密钥,则它们的安全性依赖于密钥的安全性,因此攻击者主要的目标是提取密钥。在传统的黑盒环境下,攻击者仅访问密码算法的输入与输出。然而,越来越多的软件在由恶意第三方所拥有和控制的不可信开放平台上执行,这就需要配置强密码算法。在黑盒环境不充足的情况下,攻击者能完全访问密码算法的软件实现,从而完全控制它的执行环境。白盒密码可用于数字内容保护系统中,如数字版权管理和付费电视系统,近年来更用于移动支付。提取密钥会危及内容安全,白盒密码的目的是在白盒环境下保护密码算法和密钥的机密性。

1 相关工作

传统上,密码原语被设计用来保护在黑盒攻击模型下的数据和密钥。在这种模型下,通信的端点是可信的,这样密码执行就不能被观察或篡改。这种假设在现在的数字版权管理、付费电视机顶盒和智能手机中是不适合的,因此需要白盒密码来解决。在白盒密码环境下,攻击者对密码的软件实现完全可见,能完全控制执行平台,但并不能提取密钥信息。

周等人[1]在2002年提出了白盒密码,目的是保护在不可信环境下密码算法的软件实现,主要目标是保护在白盒环境下密钥的机密性。周等人[1-2]首先提出了数据加密标准(Data Encryption Standard,DES)和高级加密标准(Advanced Encryption Standard,AES)的白盒实现。它们的方法是要找到算法表示为以随机和密钥相关的表的查找网络,后又提出了对DES和AES的白盒实现[3-6]。然而,所有这些方法都通过密钥提取和表分解攻击被攻破了。Biryukov等人[7]提出了专用的白盒分组密码,基于仿射-非线性-仿射-非线性-仿射(Affine,Nonlinear,Affine,Nonlinear,Affine,ASASA)结构。此结构由2个秘密的非线性层和3个秘密的仿射层组成,且仿射层和非线性层交织在一起。ASASA结构的白盒实现使用查找表。在白盒环境下,ASASA对密钥提取的安全性依赖于对ASASA的分解问题的困难性。在白盒环境下的表分解攻击应是计算上困难的,使得代码提升攻击是困难的。然而,对ASASA的分解攻击[8-9]已经提出。文献[10]提出了基于空间困难性的分组密码,在白盒下的分解安全性基于在标准黑盒下的密钥恢复困难性。然而,由于安全性优先设计策略,此方案会造成严重的性能开销,需要多次AES调用以加密单一的分组。文献[11]设计了专门的白盒分组密码SPNbox和小的分组密码,具有较好的效率和常量的执行时间。文献[12-13]提出了差分计算分析方法,能从白盒实现中自动提取密钥。文献[14]实现了和文献[10-11]同样的目标,但它提供了安全性证明保证且开销较小。文献[15]焦距在不可压缩性上,且这种不可压缩性能减轻代码量和提升攻击。他们提出了基于单向置换标准假设的不可压缩的白盒加密方案,而先前的工作多是基于公钥类型的假设和基于非标准的对称类型的假设。文献[16]使用硬件绑定和混淆用于安全存储,定义了白盒密钥派生函数,与硬件功能进行绑定,建模安全的存储功能。方案的安全性能规约到不可区分性混淆和伪随机函数安全假设。

2 预备知识

下面阐述白盒密码的一些相关概念[17]。

分组密码。一条nb比特的分组密码E是一个确定性函数。它在一把nk比特的密钥k的作用下映射nb比特的明文分组m成一条nb比特的密文分组c:

式中,nb和nk分别为分组密码大小和密钥大小。

理想分组密码。如果分组密码E指定的在上的个置换的分组密码系列是从个不同的转换中随机均匀选择的,则此分组密码E是理想分组密码。即使是理想分组密码,也容易遭到黑盒攻击。这种攻击并不利用分组密码的内部结构。

在设计新的分组密码时,需要考虑混淆和扩散。

混淆指的是密文比特依赖于明文比特和密钥比特的复杂方式,目标是使这种关系尽可能复杂,以便攻击者要利用这种关系是困难的,甚至是不可能的。获得混淆的基本部件是非线性的替换盒(S-boxes),典型的是以查找表来实现。然而,对查找表的存储需求会对输入大小造成限制。

扩展指的是每个明文比特和每个密钥比特对密文比特的影响程度,目标是使影响尽可能大。它具有一个特性,即翻转一明文比特或一密钥比特会导致以1/2的概率翻转密文比特,这种特性叫雪崩效应。获得扩散的基本分量如下:(1)线性扩散盒(D-盒),包含大量的线性运算;(2)对比特级或比特束级的置换,通常也叫比特转换或束转换。与非线性的S-boxes不同,这些扩散分量的输入大小通常没有约束。

查找表。查找表L映射m到n比特,是给定函数f:的特定表示。此查找表共需要2m×n比特的存储空间。由于此空间大小与表的输入大小m成指数关系,当m较大时,存储需求不切实际。

非线性的替换和线性的扩散是大多数分组密码设计的关键。它通常由Feistel密码和替换置换网络两种分组密码构造。这两种构造属于迭代分组密码,即乘积密码。乘积密码是通过多次替代简单的密钥相关的轮函数生成的分组密码。尽管简单的密钥轮函数能充当弱分组密码,但是通过多次轮函数的迭代会导致强分组密码。

攻击模型。攻击模型指定攻击者的能力,以试图攻破分组密码。这种能力要以低于穷举密钥搜索的复杂性进行攻击。

黑盒模型。在这种模型下,通信信道的授权终端用户——发送方和接收方假定是可信的。这种假设在早期的密码中是有效的,但现在密码应用广泛,黑盒密码已经不够。黑盒模型是一种保守模型,即攻击者被限制在分组密码的输入/输出行为上。这里输入对应于明文和密钥,输出对应于密文。黑盒模型有唯密文攻击、已知明文攻击、选定明文攻击、选定密文攻击以及自适应选定明文/密文攻击等,阻止对内部操作或数据的观察或篡改。

灰盒模型。这种模型不再假定通信信道的端点是可信的,攻击者能对实现进行有限的访问。对密码算法实现的攻击而不是对算法的攻击,指的是实现攻击。常见的是侧信道分析攻击,如执行时间、能耗和电磁辐射。灰盒密码涉及到密码体制的硬件实现,攻击者能篡改物理设备以获得与密钥相关的侧信道信息。

白盒模型。此模型和灰盒模型一样,终端用户是不可信的,且此模型下攻击者能完全访问密码软件的执行,能对执行平台实施完全控制。

攻击的整体复杂性可分为时间复杂性、存储复杂性和数据复杂性。

3 白盒密码的分类

对白盒密码的研究可大致分为对称白盒密码和公钥白盒密码。现在主要的研究都集中在对称白盒密码上,下面对其进行分类阐述。

3.1 基于空间困难性的白盒密码

基于仿射-非线性(Affine,Nonlinear,AS)结构的白盒密码都已经被攻破。Bogdanov等人[10]提出了基于空间困难性的白盒密码。后来,Bogdanov等人[11]提出了实用的白盒密码方案。他们的方案也是基于空间困难性的白盒密码方案,而且具有较好的效率。它们的比较如表1所示。

3.2 白盒密码的安全性证明

针对之前的一些工作[10-11]没有进行白盒密码的安全性证明,文献[14-16]实现了不可压缩性的目的,也提供了安全性证明。它们的比较如表2所示。

3.3 基于动态密钥的白盒密码

大多数的白盒密码实现都是基于固定密钥。在一些白盒密码应用中,要求更新密钥。文献[18-20]分别给出了基于动态密钥的白盒密码,比较如表3所示。

表1 基于空间困难性的白盒密码的比较

表2 基于安全性证明的白盒密码的比较

表3 动态白盒密码的对比

4 对白盒密码的研究方法

白盒密码由于可用在移动支付上,因此对它的研究将会越来越受到重视。当前可在国际5大知名数据库IEEE、ACM、Elsevier、Springer和Wiles下载白盒密码的经典论文,或国际Proquest学位论文数据库或国内的中文数据库进行下载相关的白盒密码的经典论文进行研究,也可研究学习美日欧和国内白盒密码发明专利进行研究。此外,可在Github上找到白盒密码的源代码进行研究,可开展讨论班、学术会议和与企业合作进行实际研发,以用于生产和生活。

5 结语

在网络空间安全硕士点和博士点一级学科的教学中,密码学是不可缺少的一个重要环节。白盒密码是密码学的一个重要分支,可用于数字版权管理、移动支付等领域。本文对白盒密码的相关概念、分类和研究方法进行阐述,可为研究生的后续研究打下基础。

猜你喜欢
黑盒密文攻击者
一种基于局部平均有限差分的黑盒对抗攻击方法
基于贝叶斯博弈的防御资源调配模型研究
一种支持动态更新的可排名密文搜索方案
基于模糊数学的通信网络密文信息差错恢复
基于网络报文流量的协议密文分析方法
密钥共享下跨用户密文数据去重挖掘方法*
正面迎接批判
正面迎接批判