nehakishor204-svg/ai-side-channel-attack-detection-and-mitigation
GitHub: nehakishor204-svg/ai-side-channel-attack-detection-and-mitigation
该项目利用一维卷积神经网络实时检测 AES-128 加密设备上的功耗侧信道攻击,并在检测到攻击时触发虚假操作掩码以削弱密钥泄露。
Stars: 0 | Forks: 0
# AI 增强的侧信道攻击检测与缓解
本科毕业设计项目(APJ Abdul Kalam Technological University)——与 4 人团队在 Government Engineering College Wayanad 共同开发。
## 概述
一种 AI 增强的系统,用于检测和缓解基于 Arduino Uno 的 AES-128 加密设备上的硬件级侧信道攻击。该系统捕获加密过程中的真实功耗轨迹,使用 CNN 实时检测攻击模式,并应用 AI 触发的缓解措施,以减少依赖于密钥的信息泄露。
## 问题
侧信道攻击利用硬件无意中产生的物理泄露(功耗、时序、电磁辐射)来提取加密密钥——即使底层算法 (AES) 在理论上是安全的。相关性功耗分析 (Correlation Power Analysis, CPA) 是此类攻击中一种特别有效的现实世界攻击方式。
## 方法
- 搭建硬件环境:Arduino Uno (AES-128 加密) + NI USB-6009 DAQ 用于实时功耗轨迹采集(2000 Hz 采样率)
- 通过 MATLAB 采集了 2,000 条带标签的功耗轨迹(1,000 条正常轨迹,1,000 条攻击轨迹)
- 训练了一维卷积神经网络 (TensorFlow/Keras),将轨迹分类为正常轨迹或受攻击轨迹
- 在 MATLAB 中实现了相关性功耗分析 (CPA),作为真实攻击基准来恢复 AES-128 密钥
- 构建了 AI 触发的缓解系统,仅对被标记为攻击的轨迹应用虚假操作掩码(正弦波 + 随机尖峰)
- 将 MATLAB(硬件控制、信号处理、CPA)与 Python(CNN 训练)集成到一个混合 pipeline 中
## 结果
- CNN 攻击检测:80.75% 的测试准确率,81.22% 的精确率,80.00% 的召回率,80.60% 的 F1 分数
- 实时推理:每条轨迹 1.1–1.4 毫秒——完全在 50 毫秒的采集时间窗口内
- 缓解措施将平均 CPA 相关性从 0.196 降低至 0.184,显著削弱了依赖于密钥的泄露,并改变了恢复出的密钥
## 技术栈
Python, TensorFlow/Keras, NumPy, Scikit-learn, Matplotlib, Seaborn, MATLAB (Data Acquisition Toolbox), Arduino (C++, PlatformIO), NI USB-6009 DAQ
## 我的贡献
参与了使用 AES 128 算法进行加密、数据采集(1000 条正常与 1000 条攻击轨迹)、CNN 模型设计与训练 pipeline、数据预处理、结果分析,以及通过将 AI 模型加载到 MATLAB 中实现缓解机制。
## 团队
Adhil Mubaraq P, Keerthana Prasad, Muhammed Fuad Saneen, Neha Kishor
Government Engineering College Wayanad,2026 年 3 月
## 未来展望
混合 CNN-LSTM 模型,扩展到电磁/时序侧信道,全自动实时硬件缓解,以及在真实世界的嵌入式/IoT 安全应用中进行部署。
标签:Apex, Arduino, 侧信道攻击, 信号处理, 密码学, 手动系统调用, 机器学习, 硬件安全, 逆向工具