sushantpawar01/Side-Channel-Attack-Analysis-and-Mitigation

GitHub: sushantpawar01/Side-Channel-Attack-Analysis-and-Mitigation

基于FPGA平台演示AES-128的功耗侧信道攻击与一阶布尔掩码防护的完整研究与实验项目。

Stars: 0 | Forks: 0

# 基于 FPGA 的 AES 设计侧信道漏洞分析与缓解 ### 项目描述 本项目重点关注硬件加密系统的安全性。尽管 AES-128 算法在数学上是安全的,但其在 FPGA 等硬件上的物理实现可能会通过功耗“泄露”敏感信息。本项目演示了攻击者如何利用相关性功耗分析 (CPA) 通过监测这些功耗波动来恢复密钥。为了解决这一问题,我们使用布尔掩码 设计并实现了一个安全的 AES-128 核心,该技术通过随机化中间数据,确保功耗不再与密钥产生关联,从而有效消除了侧信道威胁。 ## 项目概述 * 目标:评估无防护 AES-128 核心对侧信道攻击的易受性,并实现一个安全的基于 Verilog 的掩码 AES 核心。 * 目标平台:ChipWhisperer CW305 (Artix-7 FPGA)。 * 分析工具:ChipWhisperer Husky。 * 防护措施:一阶布尔掩码。 ## 关键特性 * 密钥恢复攻击:利用功耗轨迹成功从无防护核心中提取完整的 128 位 AES 密钥。 * 安全实现:带有的一阶布尔掩码 AES-128 的自定义 Verilog 实现,通过随机化中间状态来解除功耗与敏感数据的相关性。 * 对比分析:严格的验证表明,虽然无防护核心泄露了完整密钥,但掩码核心成功抵御了攻击。 ## 硬件与软件设置 ### 硬件 * ChipWhisperer Husky:用于高速功耗轨迹采集和同步触发。 * CW305 FPGA 目标板:运行 AES-128 Verilog 实现。 * SMA/20-pin 线缆:用于功耗测量和控制信号。 ### 软件 * Vivado Design Suite:用于综合、实现和比特流生成。 * Python (Jupyter Notebooks):用于控制 ChipWhisperer 硬件并执行统计 CPA 分析。 * Verilog HDL:用于 AES 核心的硬件设计。 ## 项目结构 * aes_core.v:标准的、无防护的 AES-128 数据通路。 * masked_aes.v:包含布尔掩码逻辑的安全 AES 核心。 * cw305_top.v:用于 FPGA 接口的顶层模块。 * Analysis/:包含 CPA 攻击和验证脚本的 Jupyter notebooks。 ## 实验结果 | 实现方式 | 攻击类型 | 结果 | |----------------|-------------|--------| | 无防护 AES | 一阶 CPA | 完整密钥已恢复 | | 掩码 AES | 一阶 CPA | 攻击失败 (安全性已验证) | ## 未来展望 * 高阶掩码:实现阈值或多份额方案以抵抗二阶 CPA 攻击。 * TRNG 集成:用真随机数生成器 替代伪随机掩码。 * 多通道分析:评估电磁 (EM) 和时间侧信道。 ## 贡献者 * Karamthot Venkatesh * Sushant * Vankdoth Sahithi Sree 指导教师:Dr. Vijaypal Singh Rathor 所属机构:ABV-印度信息技术与管理学院 (IIITM),瓜廖尔
标签:AES-128, ChipWhisperer, CPA, FPGA安全, NoSQL, Verilog, Vivado, Xilinx Artix-7, 侧信道攻击, 密码学, 密钥恢复, 嵌入式安全, 布尔掩码, 手动系统调用, 抗DPA设计, 物理层安全, 相关性功耗分析, 硬件安全, 逆向工具