论文部分内容阅读
智能卡设备作为一种保障用户信息安全的产品,其内部实现的密码算法都是满足理论安全要求的商用密码算法,如DES,AES,RSA等,以确保恶意攻击者无法获取内部的关键信息。这些密码算法都是经过了一系列理论验证和筛选,以及传统密码分析方法实际攻击后被证明安全的算法。但是,这些密码算法实现在具体的物理设备上时,设备运行过程中的泄漏信息提供了关于设备中关键信息的先验知识,使得攻击者能够通过旁路攻击这种手段恢复设备中的关键信息。对于智能卡设备而言,旁路攻击是威胁设备安全性的攻击手段之一。近年来,基于建模的旁路分析方法已经成为了传统旁路分析方法的一种重要补充,与深度学习技术的结合更是进一步提高了攻击的泛用场景,简化了攻击的流程,提高了攻击的性能。论文研究了基于深度学习的建模旁路功耗分析(Deep Learning-based Template Attacks,DLTA)的一般方法,分析了基于深度学习的建模旁路功耗分析相较于传统模板攻击(Template attacks,TA)以及相关功耗分析(Correlation Power Analysis,CPA)在攻击效率和适用场景上的优势。与CPA相比,由于引入了额外的来自建模设备的先验知识构建模型,因此DLTA的攻击效率提高了至少一个数量级。此外,依赖于神经网络的特性,DLTA能够自动提取功耗波形数据中的关键特征,无需对原始功耗波形进行特征点的选取,简化了TA在数据预处理阶段的工作。并且当功耗曲线特征点较多时,DLTA能够通过模型训练的方式有效减少TA中计算高阶矩阵带来的计算资源的要求。由于TA和DLTA都要求建模设备和目标设备功耗数据独立同分布,因此在实际执行TA和DLTA时,都会存在由于建模设备和目标设备功耗数据分布不一致而导致的攻击效率下降现象。据此,论文提出了基于深度学习的频域跨设备旁路功耗分析(Frequency Domain and Deep Learning based Template Attacks,FLTA)解决方案。首先,对建模设备和目标设备分布不一致的原因进行了分析,并设计了不同型号、不同系列的实际智能卡设备用于验证。根据建模设备和目标设备的差异程度,将攻击场景划分为相同设备,独立设备,同构设备,异构设备四种攻击场景,从统计学角度对设备差异性进行了理论验证,通过TA和DLTA攻击测试进行了实际验证。最后,提出了适用跨设备场景的FLTA方案,从功耗的频域表示中提取合理的特征训练模型,提高模型对不同设备的泛化能力,实现对跨设备的旁路功耗分析。具体的实验方案实现中,我们在ATMEL的ATmega系列以及MICROCHIP的PIC系列芯片中实现了AES-128算法,搭建了智能卡功耗采集平台,并将设备加密过程中的实际采集的功耗曲线作为分析对象,验证跨设备场景对TA和DLTA攻击效率的影响,以及FLTA在跨设备场景的优势。具体包括:不同型号芯片的功能模块的实现以及AES-128算法的实现;基于SAKURA-W的智能卡功耗采集平台的搭建,包括PC上位机软件平台、示波器、待分析设备三者之间的数据交互框架;设备差异性的理论分析和实验验证,通过对建模设备和目标设备的功耗数据分布进行统计学分析以及使用TA和DLTA进行实际攻击,验证设备差异的存在,并进一步分析不同跨设备攻击场景对攻击效率的影响;成功实现FLTA的具体攻击框架和特征选择策略,证明FLTA方法在跨设备攻击场景上的优势;使用本地采集的功耗曲线攻击领域的公开数据集,当该公开数据集的芯片型号,实现算法,采集环境和参数等都和本地数据集存在差异的情况下,依然能够通过FLTA方法成功恢复正确的密钥,体现FLTA方法的鲁棒性。论文的研究结果表明,在跨设备攻击场景下,FLTA能够有效克服设备之间的差异性,保证攻击效率,与使用时域特征的DLTA和TA相比,攻击效率至少提升了两个数量级,提高了建模旁路分析对实际设备的威胁。