摘要
侧信道分析是密码芯片安全性分析中一种高效且易于实施的破解方法,对芯片安全性产生了很大的威胁。因此,国际主流评测机构把是否拥有抗侧信道攻击能力作为考察芯片安全性的重要评估指标之一。密码芯片在现代生活中应用十分广泛,它的安全性直接关系民生、医疗、军事等。研究更高效的侧信道分析方法有助于评估密码的安全性,为设计密码算法提供参考。近年来随着大数据与人工智能的发展,越来越多的研究人员开始研究侧信道分析与机器学习、深度学习结合的新型分析方案。本文结合深度学习与传统建模侧信道攻击与非建模侧信道攻击技术,分别提出一种基于自编码器的侧信道分类模型与一种基于残差网络的侧信道攻击反演模型。最后探讨了一种抗侧信道分析掩码方案,所做的主要工作如下: (1)研究深度学习中多层感知机及卷积网络等模型结构,结合建模攻击的建模过程问题可以转化成分类问题的特性,本文提出了一种基于自编码器的分类模型。首先对侧信道信息进行编码与初步的特征提取与降维,再利用一个卷积网络提取深层特征,从功耗样本得到密钥的分类概率。在ASCAD数据集的基础上,对模型进行了训练与验证实验,结果表明,在120-150条样本的情况下能正确地恢复密钥,并且准确度也得到了较大提升。 (2)本文将非建模侧信道攻击中模拟功耗转化为反演问题,建立了一个从功耗到相关中间值的理论模型,考虑了非建模攻击中功耗与中间值相关的特征,在模型设计上对提取并结合功耗样本各层特征,反演得到中间值。在功能上,解决了传统侧信道攻击中通常只能同一时刻恢复一个密钥字节的问题。模型训练中采用了两个数据集,其一为ASCAD中未处理的功耗数据,其二为本文在在Sakura-G平台对AES与PRESENT进行FPGA实现并采集的功耗样本数据。实验结果表明模型在ASCAD数据集上的相关性在0.8以上,而对AES与PRESENT算法的评估指标均达到了0.95,在攻击效率上,仅需要20到30条样本即可恢复密钥,反演模型极大提高了侧信道分析的适用性与准确性。 (3)本文探讨了在深度学习背景下侧信道分析的防御方案,对AES算法进行研究与重构,提出了一种基于零知识证明的高阶掩码方案。此方案将敏感中间值随机分成d+1份,其中每d份都独立于中间值,以此来达到对中间值的隐藏效果。实验结果表明,该方案能有效的对抗各种侧信道分析,为密码设备的安全性提供有效保护。