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, 侧信道分析, 侧信道攻击, 功耗分析, 密码学, 密钥恢复, 嵌入式安全, 微控制器, 手动系统调用, 模型剪枝, 深度学习, 物联网安全, 电磁分析, 硬件安全, 神经网络压缩, 结构化剪枝, 资源受限设备, 逆向工具