UCdasec/TinyPower

GitHub: UCdasec/TinyPower

TinyPower 利用结构化剪枝技术大幅压缩用于侧信道攻击的 CNN 模型参数量,使深度学习侧信道攻击能够在资源受限设备上高效执行。

Stars: 12 | Forks: 1

# TinyPower **数据集和代码仅供研究使用** 侧信道攻击利用功耗与加密中间结果之间的相关性来推断加密密钥。近期研究表明,深度学习在侧信道攻击领域展现出了令人瞩目的效果。然而,深度学习侧信道攻击中所使用的神经网络结构复杂、参数量巨大,且消耗大量内存。因此,在资源受限的设备上执行深度学习侧信道攻击极具挑战性。 本项目提出了一个名为 TinyPower 的框架,该框架利用剪枝技术来减少用于侧信道攻击的神经网络参数量。通过我们框架获得的剪枝神经网络,能够以更少的参数量和内存消耗成功执行侧信道攻击。具体而言,我们重点关注卷积神经网络 (CNN) 滤波器上的结构化剪枝。我们展示了结构化剪枝在微控制器 (AVR XMEGA 和 ARM STM32) 以及 FPGA (Xilinx Artix-7) 上运行的 AES-128 功耗轨迹和电磁辐射 (EM) 轨迹上的有效性。实验结果表明,在 CNN 上我们可以实现 98.8\% 的压缩率(例如,将参数量从 5310 万减少到 59 万),并且仍能在 XMEGA 上恢复密钥。对于 STM32 和 Artix-7,我们在 CNN 上分别实现了 92.9\% 和 87.3\% 的压缩率。我们还证明了,我们的剪枝 CNN 可以在 Raspberry Pi 4 上有效地执行侧信道攻击的攻击阶段,每条轨迹的推理时间不到 2.5 毫秒,每个 CNN 的内存占用不到 41 MB。 ## 参考文献 当报告使用本仓库中的数据集或代码得出的结果时,请引用以下论文: Haipeng Li, Mabon Ninan, Boyang Wang, John M. Emmert, "TinyPower: Side-Channel Attacks with Tiny Neural Networks," IEEE International Symposium on Hardware Oriented Security and Trust (**IEEE HOST 2024**), Washington DC, USA, May 6-9 2024 ## 环境要求 本项目使用 Python 3.8 和 Tensorflow 2.3.1 编写。我们的实验运行环境如下: * GPU 机器(Intel i9 CPU,64GB 内存,以及 NVIDIA Titan RTX GPU)。 * Raspberry Pi 4 Model B,运行 Debian Version 11 (64位),配备 Broadcom BCM2711,四核 Cortex-A72 64位 1.8GHz 处理器,以及 4GB SDRAM。 ## 代码与数据集 ### 代码 代码库包含 2 个文件夹:MiniDrop 和 Unstructured_Pruning SCA * MiniDrop * Score_Algo:使用 l-2 或 FPGM 生成 CNN 滤波器分数的代码(更多信息请参见 MiniDrop/Score_Algo/README.md) * cnn:用于结构化、自动和基线 CNN 训练和测试的代码(更多信息请参见 MiniDrop/README.md) * model_performance:此文件夹包含各种可用于测量 CNN 模型性能的脚本(更多信息请参见 MiniDrop/model_performance/README.md) * utils:代码的附加工具 * Unstructured_Pruning SCA:非结构化剪枝的 CNN 实现(更多信息请参见 Unstructured_Pruning/README.md) * cnn * utils:代码的附加工具 ### 数据集 本研究中使用的数据集可通过以下链接访问(**最后更新于 2026 年 4 月**): https://mailuc-my.sharepoint.com/:f:/g/personal/wang2ba_ucmail_uc_edu/IgCBOBCzoFw9RJu2MxUwENMsAf4wdSHOd0HLoPVs2WWI9lA?e=3NCeNS 注意:由于 OneDrive 的某些设置,上述链接需要每 6 个月更新一次。如果您发现链接已过期且无法访问数据,请随时给我们发送电子邮件(Boyang Wang 博士,boyang.wang@uc.edu)。我们将尽快更新链接(通常在 2 天内)。感谢! ### 如何复现结果 1. 对于基于 CNN 的方法,请遵循 cnn/README.md 中的说明 # 联系方式 Mabon Ninan ninanmm@mail.uc.edu Boyang Wang boyang.wang@uc.edu Haipeng Li li2hp@mail.uc.edu 研究小组主页:https://homepages.uc.edu/~wang2ba/
标签:AES-128, CNN, FPGA, TinyPower, 侧信道分析, 侧信道攻击, 功耗分析, 密码学, 密钥恢复, 嵌入式安全, 微控制器, 手动系统调用, 模型剪枝, 深度学习, 物联网安全, 电磁分析, 硬件安全, 神经网络压缩, 结构化剪枝, 资源受限设备, 逆向工具