侧信道攻击与CPU使用率研究
1. 侧信道攻击原理
侧信道攻击通过观测密码算法实现时泄露的物理或运行痕迹(如时间、功耗、电磁波等)来恢复密钥。常见攻击方法包括SPA、DPA、CPA和模板攻击等。攻击流程涉及选择目标操作、中间值和泄露模型,并通过统计分析恢复密钥。
2. 最初目的与成果
研究初衷是搭建线上模拟平台,简化侧信道教学研究。实现了对AES、SM4、RSA、ECC、SM2、Dilithium等算法的模拟,并构建了模拟轨迹生成流程,包括生成基础功耗轨迹、生成算法操作时间线和叠加操作功耗到基础轨迹。
3. 大胆的想法与行动
尝试使用CPU使用率代替能耗轨迹进行侧信道攻击。通过模拟和实验验证了CPU使用率与中间值泄露的相关性,但发现相关性随着轨迹数量增加而急剧下降。
4. 挑战与解决方案
在QEMU模拟环境中遇到SPI状态标志位不自动更新和UART通讯限制等问题,最终通过脚本接收参数和外部监控程序循环读取标记的方式解决了这些问题。
5. 实验结果与成因分析
实验结果表明,中间值泄露与CPU使用率的相关性随着轨迹数量增加而下降。主要原因在于CPU使用率的变动与物理能耗的波动无关,无法满足侧信道攻击的条件。
6. 研究成果
研究搭建了完整的侧信道软件实验环境、基于Python的CPU使用率攻击实验环境和基于QEMU的侧信道实验环境,并获得了实验结果。
7. 未来研究方向
未来将尝试搭建真实的侧信道环境进行验证,使用主机能耗软件监控加密算法进程的能耗,针对CPU使用进行专项研究建模,并搭建基于时序攻击的验证环境。