cristianbass01/physical_attacks_on_secure_systems
GitHub: cristianbass01/physical_attacks_on_secure_systems
一套针对 AES 和 ASCON 密码实现的侧信道分析与故障注入攻击教学与研究工具箱。
Stars: 0 | Forks: 0
# 安全系统的物理攻击
欢迎来到**安全系统的物理攻击**项目仓库。本项目包含针对密码实现(如 AES 和 ASCON)的侧信道攻击、泄漏评估和故障注入技术的高级分析与实际实现。
## 🗂️ 项目结构
本仓库被组织成不同的模块,侧重于不同类别的物理攻击和评估方法。
### 1. 功耗与模板攻击 (`power_and_template_attacks/`)
本模块侧重于利用功耗特性的侧信道分析(SCA)。
- **`01_cpa_hamming_weight.ipynb`**:使用汉明重量(Hamming Weight)泄漏模型对 AES 软件实现进行相关性功耗分析(CPA)。
- **`02_template_attacks.ipynb`**:使用多元正态分布以及通过皮尔逊相关性和均值差进行感兴趣点选择的高级模板攻击。
- **`03_dpa_and_cpa_comparisons.ipynb`**:差分功耗分析(DPA)以及针对未对齐数据集的单比特 DoM、单比特 CPA 和汉明距离(HD)模型的比较研究。
### 2. 故障与泄漏分析 (`fault_and_leakage_analysis/`)
本模块探讨了形式化泄漏评估技术和主动故障注入攻击。
- **`01_tvla_aes.ipynb`**:测试向量泄漏评估(TVLA),用于在不执行完整密钥恢复攻击的情况下,统计评估 AES 实现中的信息泄漏。
- **`02_ascon_analysis.ipynb`**:对 ASCON 轻量级密码套件的分析,侧重于扩散层以及侧信道利用的理论边界。
- **`03_dfa_aes.ipynb`**:应用于 AES 的差分故障分析(DFA),演示了如何在加密期间通过目标故障注入来恢复密钥。
## 🛠️ 设置与要求
要运行本仓库中的 Jupyter Notebooks 和 Python 脚本,您需要以下依赖项:
- Python 3.8+
- Jupyter Notebook / JupyterLab
- NumPy
- SciPy
- Matplotlib
*注意:Notebook 所需的数据集(例如 `.npy`、`.npz` 轨迹文件)与 notebook 一起保存在各自的模块目录中。*
## 📝 作者
- **Cristian Bassotto**
- **Roberta Chissich**
*作为拉德堡德大学安全系统的物理攻击课程的一部分开发。*
标签:AES, ASCON, CPA, DFA, DPA, NoSQL, Python, TVLA, 侧信道分析, 功耗分析, 反取证, 安全工具箱, 安全评估, 密码学, 密钥恢复, 差分功耗分析, 差分故障攻击, 手动系统调用, 故障注入, 无后门, 模板攻击, 汉明距离, 汉明重量, 泄漏评估, 物理攻击, 相关功耗分析, 硬件安全, 网络安全, 轻量级密码学, 逆向工具, 隐私保护