面向 Nginx 和 OpenSSH 的后量子密码学迁移工具包。
QSM 是一个开源工具包,用于审计遗留的密码学配置,并将其迁移至混合后量子密码学(PQC)。它针对**“先收集、后解密”(HNDL)**威胁向量,通过模拟 Shor 算法的影响,并在基于 Debian 的系统上自动化混合迁移。
⚠️ 严格的架构原则: QSM 绝不允许纯后量子部署。所有操作均强制执行混合范式,结合经典算法与 PQC 算法(认证使用 ECDSA P-256 + ML-DSA-65;密钥交换使用 X25519 + ML-KEM-768)。
QSM 是一个功能性概念验证,而非经过认证的生产工具。在关键环境中依赖它之前,请仔细阅读本节内容。
--simulate 命令使用简化的分析模型来估算 Shor 算法的资源需求——而非编译后的量子电路:
O(bits³)logical_qubits × 1000(表面码假设)这产生的是数量级估算,而非精确预测。 现实世界中 CRQC 的资源需求取决于电路深度、门保真度、纠错开销和硬件架构。这些仍是活跃的研究领域。
输出数值(例如*“ECC-256 约需 99 天”*)代表在所述假设下的理论下界,而非在任何现有机器上的测量结果。目前尚不存在密码学相关量子计算机(CRQC)。
--migrate 命令修补配置文件以注入混合密码套件。它不会:
liboqs 或 oqs-provider你必须确保 oqs-provider 已安装并加载,注入的密码名称才会生效。请先在非生产环境中测试所有迁移。
QSM 已在以下环境验证:
tests/)它尚未在大规模、高负载或多样化环境下进行压力测试。请将其视为参考实现,并根据你的基础设施进行调整。
QSM 面向最终确定的 NIST 标准:
| FIPS | 算法 | QSM 用途 |
|---|---|---|
| FIPS 203 | ML-KEM | 密钥交换(ML-KEM-768) |
| FIPS 204 | ML-DSA | 认证(ML-DSA-65) |
术语说明: “Kyber”和“Dilithium”是 NIST 竞赛期间使用的标准化前代号。最终确定的标准分别使用 ML-KEM 和 ML-DSA。QSM 全程使用标准化名称。
QSM 旨在跨环境自适应运行:
liboqs 系统,以原子方式修补配置层,并具备校验和验证的回滚逻辑。# Clone and enter the vault
git clone https://github.com/soufianecyber/Quantum-Safe-Migration
cd Quantum-Safe-Migration
# Initialize virtual environment
python3 -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
python3 qsm.py --preflight
# 1. Run Quantum Attack Simulation on target assets
python3 qsm.py --simulate --target example.com
python3 qsm.py --simulate --keyfile ./test_legacy_key.pem
# 2. Preview Hybrid Migration Block (Safe Dry-Run)
python3 qsm.py --migrate --target nginx --config ./dummy_nginx.conf --dry-run
# 3. Apply Production Migration (Requires Sudo)
sudo venv/bin/python3 qsm.py --migrate --target nginx --config /etc/nginx/nginx.conf
sudo venv/bin/python3 qsm.py --migrate --target sshd --config /etc/ssh/sshd_config
# 4. Atomic Rollback Checksum Restoration
sudo venv/bin/python3 qsm.py --rollback --target /etc/nginx/nginx.conf
sudo python3 qsm.py --preflight

验证 Python 版本、liboqs 绑定、ML-KEM/ML-DSA 可用性以及 OpenSSL。
python3 qsm.py --simulate --target google.com

在 google.com 上检测 ECC-256 并计算 Shor 算法的破解时间。
sudo python3 qsm.py --migrate --target nginx --config /etc/nginx/nginx.conf --dry-run

混合密码套件注入预览——未修改任何文件。
基于 MIT 许可证分发。详情请参阅 LICENSE。
免责声明:本工具包专为授权测试和基础设施迁移验证目的而构建。
Soufiane Cyber
liboqs如果 QSM 能帮助您保护基础设施免受量子威胁, 请考虑在 GitHub 上为其点亮一颗 star。这有助于项目 获得更多关注,并触达更多需要它的安全团队。