digitalinnovator/pqc-iot-analyzer

GitHub: digitalinnovator/pqc-iot-analyzer

Rust CLI 工具,解析 IoT 协议流量并评估后量子密码学就绪度,自动检测经典密码原语并推荐 NIST PQC 替代方案。

Stars: 0 | Forks: 0

# PQC 就绪 IoT 协议分析器 用于分析 IoT 协议流量并评估后量子密码学 (PQC) 就绪度的 Rust CLI 工具。解析 CoAP、MQTT 和 RPL 数据包,检测经典密码原语,评估量子漏洞风险,并推荐 NIST PQC 替代方案。 ## 动机 FIPS 203/204/205 已经定稿。IoT 设备的寿命通常为 10 到 20 年,这意味着今天部署的使用 RSA/ECDSA 的设备在 CRQC 到来时仍将运行。“现在收集,以后解密” (HNDL) 使情况变得更糟:攻击者可以今天记录加密的 IoT 流量,一旦 Shor 算法 capable 硬件出现,就能对其进行回顾性破解。传感器数据(能源、医疗、基础设施)具有长期价值,因此 IoT 中的 HNDL 风险并非假设。 该工具可自动对 IoT 协议流量进行 PQC 就绪度评估——检测正在使用的密码技术,评估其暴露程度,并将每个易受攻击的原语映射到其 NIST PQC 替代方案。 ## 架构 ``` +-------------------+ | CLI (clap) | | main.rs | +--------+----------+ | +--------------+--------------+ | | +-------v--------+ +---------v--------+ | protocols/ | | report/ | | | | | | coap.rs (7252) | | JSON + Text | | mqtt.rs (3.1.1)| | report generator | | rpl.rs (6550) | +--------+---------+ +-------+--------+ ^ | | +-------v--------+ +-------+----------+ | crypto/ |--------->| analyzer/ | | | | | | TLS suite map | | Weighted scoring | | OID detection | | Category breakdown| | RPL sec parse | | PQC migration | | Payload heur. | | recommendations | +----------------+ +------------------+ ``` | 模块 | 用途 | |--------|---------| | `protocols::coap` | CoAP v1 解析器 (RFC 7252) -- header、options、payload、DTLS 记录提取 | | `protocols::mqtt` | MQTT v3.1.1/5.0 解析器 -- CONNECT、PUBLISH、SUBSCRIBE 以及 TLS 检测 | | `protocols::rpl` | RPL 解析器 (RFC 6550) -- DIS、DIO、DAO 以及安全部分解析 | | `crypto` | 通过 TLS cipher suites、ASN.1 OID、RPL 安全选项和 payload 启发式方法进行原语检测 | | `analyzer` | 加权 PQC 就绪度评分,包含按类别的细分 | | `report` | JSON 和格式化文本报告生成 | ## 安装 ``` git clone https://github.com/digitalinnovator/pqc-iot-analyzer.git cd pqc-iot-analyzer cargo build --release ``` ## 用法 ``` # 使用文本输出进行分析 pqc-iot-analyzer analyze samples/mixed_traffic.hex # JSON output pqc-iot-analyzer analyze samples/coap_dtls.hex --format json # 按协议过滤 pqc-iot-analyzer analyze samples/mixed_traffic.hex --protocol coap # 扫描特定协议 pqc-iot-analyzer scan samples/mixed_traffic.hex --protocol rpl # 生成报告 pqc-iot-analyzer report samples/coap_dtls.hex --format text # 显示 PQC 迁移映射表 pqc-iot-analyzer mappings ``` ## 示例输出 ``` ======================================================================== PQC-Ready IoT Protocol Analyzer -- Analysis Report ======================================================================== PQC Readiness Score: 38/100 Risk Level: HIGH Packets Analyzed: 5 Primitives Detected: 6 Recommendations: 3 Score: [###############-------------------------] 38/100 ------------------------------------------------------------------------ Category Breakdown ------------------------------------------------------------------------ Category Score Safe Vuln Unk ------------------------------------------------------ Key Exchange 0% 0 2 0 Digital Signature 0% 0 2 0 AEAD 100% 2 0 0 Hash Function 100% 1 0 0 ------------------------------------------------------------------------ Detected Cryptographic Primitives ------------------------------------------------------------------------ Algorithm Category PQC Status Source -------------------------------------------------------------------- AES-128-GCM AEAD [SAFE] TLS CipherSuite 0xC02B AES-256-GCM AEAD [SAFE] TLS CipherSuite 0x009C ECDHE Key Exchange [VULN] TLS CipherSuite 0xC02B ECDSA Digital Signature [VULN] TLS CipherSuite 0xC02B RSA Key Exchange [VULN] TLS CipherSuite 0x009C SHA-256 Hash Function [SAFE] TLS CipherSuite 0xC02B ------------------------------------------------------------------------ PQC Migration Recommendations ------------------------------------------------------------------------ 1. ECDHE --> ML-KEM-768 (FIPS 203) Standard: FIPS 203 ML-KEM replaces ECDH key agreement. Hybrid X25519+ML-KEM-768 recommended during transition (RFC 9370). 2. ECDSA --> ML-DSA-44 (FIPS 204) Standard: FIPS 204 ML-DSA replaces ECDSA/EdDSA; ML-DSA-44 targets NIST Level 2, comparable to P-256. 3. RSA --> ML-KEM-768 (FIPS 203) Standard: FIPS 203 ML-KEM (Kyber) replaces RSA key transport with IND-CCA2 secure key encapsulation. ======================================================================== Generated by pqc-iot-analyzer v0.1.0 ======================================================================== ``` ## PQC 迁移映射 | 经典算法 | PQC 替代方案 | NIST 标准 | 类型 | |---|---|---|---| | RSA (密钥传输) | ML-KEM-768 / ML-KEM-1024 | FIPS 203 | KEM | | RSA (签名) | ML-DSA-65 / ML-DSA-87 | FIPS 204 | Signature | | ECDSA (P-256) | ML-DSA-44 | FIPS 204 | Signature | | ECDSA (P-384) | ML-DSA-65 | FIPS 204 | Signature | | Ed25519 / Ed448 | ML-DSA-44 / ML-DSA-65 | FIPS 204 | Signature | | ECDH (P-256/P-384) | ML-KEM-768 / ML-KEM-1024 | FIPS 203 | KEM | | X25519 / X448 | ML-KEM-768 / ML-KEM-1024 | FIPS 203 | KEM | | DH (2048/3072-bit) | ML-KEM-768 / ML-KEM-1024 | FIPS 203 | KEM | | AES-128 | AES-256 (Grover 缓解) | -- | Symmetric | | SHA-256 | SHA-256 / SHA-3-256 | FIPS 202 | Hash | ## 评分方法 PQC 就绪度分数 (0-100) 是密码原语类别的加权平均值: | 类别 | 权重 | 理由 | |---|---|---| | 密钥交换 | 30% | 直接被 Shor 算法破解;HNDL 风险最高 | | 数字签名 | 30% | 直接被 Shor 算法破解;身份验证妥协 | | 对称密码 | 15% | Grover 算法将有效密钥长度减半;AES-256 仍然安全 | | 哈希函数 | 10% | 量子加速有限;SHA-256+ 仍然足够 | | KEM | 10% | 后量子密钥封装的存在表明了迁移进度 | | AEAD | 5% | 认证加密继承了对称密码的安全性 | 每个类别的分数 = 量子安全原语与检测到的总原语的比率。状态未知的原语被视为半安全。 风险级别:LOW (80-100),MEDIUM (50-79),HIGH (20-49),CRITICAL (0-19)。 ## 示例数据格式 十六进制编码的数据包数据,每行一个数据包。以 `#` 开头的行是注释。十六进制字符串中的空格将被忽略。 ``` # CoAP GET 请求 4201000100AABB # MQTT CONNECT v3.1.1 101600044D51545404020038000873656E736F723031 ``` ## 测试 ``` cargo test ``` 单元测试覆盖了每个协议解析器、密码检测和评分算法。集成测试验证了从十六进制输入到报告输出的完整管道。 ## 参考文献 1. **FIPS 203** -- Module-Lattice-Based Key-Encapsulation Mechanism Standard (ML-KEM). NIST, 2024. 2. **FIPS 204** -- Module-Lattice-Based Digital Signature Algorithm Standard (ML-DSA). NIST, 2024. 3. **FIPS 205** -- Stateless Hash-Based Digital Signature Algorithm Standard (SLH-DSA). NIST, 2024. 4. **RFC 7252** -- The Constrained Application Protocol (CoAP). Shelby et al., 2014. 5. **RFC 6347** -- Datagram Transport Layer Security Version 1.2. Rescorla & Modadugu, 2012. 6. **RFC 6550** -- RPL: IPv6 Routing Protocol for Low-Power and Lossy Networks. Winter et al., 2012. 7. **RFC 9431** -- MQTT Version 5.0. OASIS Standard, 2023. 8. **RFC 9370** -- Multiple Key Encapsulation Mechanism (KEM) Hybrid Key Exchange. Stebila et al., 2023. 9. **NIST SP 800-227** -- Recommendations for Transition to Post-Quantum Cryptography. NIST, 2025. 10. Sohail, M.A. et al. "Security Analysis of RPL-based IoT Networks." PLOS ONE. ## 相关工作 - **[KeyPact](https://github.com/digitalinnovator/keypact)** -- Rust 中的混合 PQC 密钥协商库。 ## 作者 Muhammad Amar Sohail (amarsohail838@gmail.com) ## 许可证 MIT
标签:AES-256, CoAP, FIPS 205, HNDL, IoT安全, NIST FIPS 203, NIST FIPS 204, NIST PQC, PQC, RPL, RSA/ECDSA检测, Rust, 主机安全, 传感器数据保护, 协议分析, 可视化界面, 后量子密码学, 安全报告生成, 密码学评估, 抗量子计算, 权限提升, 漏洞评估, 物联网, 现在存储以后解密, 网络协议安全, 网络安全合规, 网络流量分析, 网络流量审计, 量子漏洞评分, 防御绕过