NeuroKoder3/E-SCPE
GitHub: NeuroKoder3/E-SCPE
一款量子安全、离线优先的供应链溯源引擎,通过 Bell 不等式验证量子标签并将记录写入防篡改签名账本,适用于高保证环境下的供应链完整性审计与合规。
Stars: 0 | Forks: 0
E-SCPE
纠缠增强供应链溯源引擎
量子安全、离线优先的供应链完整性验证,结合防篡改账本技术。
功能 • 架构 • 快速开始 • 桌面应用 • CLI 参考 • 安全性 • 许可证
## 概述 **E-SCPE** 是一个生产级的**离线**溯源引擎,专为隔离网络和本地环境设计。它通过 **CHSH/Bell 不等式** 测试验证量子标签扫描,并将每次通过的扫描记录到一个**防篡改、哈希链式、加密签名的仅追加账本**中。 专为供应链完整性不容妥协的行业而构建:**航空航天、国防、制药、半导体制造和关键基础设施**。 ## 功能 - **量子标签验证** -- 通过符合计数计算 CHSH 统计量 (S);当 `S > 阈值` 时(违反 Bell 不等式)予以接受 - **防篡改账本** -- 基于 SQLite 的仅追加账本,具有 SHA-256 哈希链(`prev_hash -> entry_hash`)、有效载荷哈希以及 ECDSA P-256 签名存储 - **离线优先架构** -- 零网络依赖;所有加密验证均在本地进行 - **硬件绑定许可** -- 与机器指纹(Windows MachineGuid)绑定的 Ed25519 签名许可证 - **离线签名验证** -- 条目内嵌 X.509 证书 (DER) 以实现自包含验证 - **批量审计与合规** -- CSV 序列号 -> 顺序扫描 -> 账本条目 -> 合规包导出(清单 + JSON + LaTeX + PDF) - **SQLCipher 支持** -- 与 SQLCipher 链接时支持可选的静态加密 - **FFI / DLL 接口** -- `escpe_core.dll` 暴露完整的 C-ABI,支持与任何语言集成 - **WinUI 3 桌面应用** -- 用于交互式操作的现代化 Windows 桌面 GUI - **SIEM 集成** -- 用于安全监控管道的结构化 JSON-lines 日志 ## 架构 ``` +---------------------+ +-------------------+ +--------------------+ | Quantum Tag | | CHSH/Bell | | Tamper-Evident | | Reader (HW/Sim) | --> | Inequality Test | --> | Append-Only | | | | S > threshold | | Ledger (SQLite) | +---------------------+ +-------------------+ +--------------------+ | v +--------------------+ | P-256 ECDSA | | Signature + | | X.509 Cert | +--------------------+ | v +--------------------+ | Compliance Pack | | (JSON + LaTeX + | | PDF/A Report) | +--------------------+ ``` ### 核心组件 | 组件 | 语言 | 描述 | |-----------|----------|-------------| | `escpe` (CLI) | Rust | 用于所有操作的命令行引擎 | | `escpe_core.dll` | Rust (FFI) | 具有 C-ABI 的共享库,用于语言互操作 | | `EscpeWinUI` | C# / WinUI 3 | 现代化的 Windows 桌面应用程序 | | 账本 | SQLite | 哈希链式、签名的仅追加数据存储 | ## 快速开始 ### 前置条件 - **Rust** 1.75+ 及 `cargo` - **Windows 10/11** (19041+) - **.NET 8 SDK**(仅用于 WinUI 应用) ### 构建 ``` git clone https://github.com/NeuroKoder3/E-SCPE.git cd E-SCPE # 运行测试 cargo test # 构建 release binaries cargo build --release ``` **产物:** - CLI:`target\release\escpe.exe` - DLL (FFI):`target\release\escpe_core.dll` ### 1. 生成开发签名密钥 + 证书 ``` .\target\release\escpe.exe keygen --out-dir .\escpe-keys --common-name "E-SCPE Dev" ``` ### 2. 初始化账本 ``` .\target\release\escpe.exe init-ledger --db .\escpe-ledger.db ``` ### 3. 扫描 + 验证 + 追加至账本(模拟读取器) ``` .\target\release\escpe.exe scan ` --db .\escpe-ledger.db ` --serial "AERO-ALLOY-000042" ` --chsh-threshold 2.0 ` --signing-key-pem .\escpe-keys\signing_key.pem ` --signing-cert-pem .\escpe-keys\signing_cert.pem ``` ### 4. 验证账本完整性 ``` .\target\release\escpe.exe verify-ledger --db .\escpe-ledger.db ``` ### 5. 从 CSV 进行批量审计 ``` # 创建 serials.csv,包含 header: serial .\target\release\escpe.exe audit ` --db .\escpe-ledger.db ` --csv .\serials.csv ` --out-dir .\escpe-compliance-pack ` --chsh-threshold 2.0 ` --signing-key-pem .\escpe-keys\signing_key.pem ` --signing-cert-pem .\escpe-keys\signing_cert.pem ``` **输出:** `manifest.json`、`ledger_entries.json`、`audit_report.tex`、`audit_report.pdf`(如果 `tectonic` 位于 PATH 中) ## WinUI 桌面应用 E-SCPE WinUI 3 桌面应用程序为所有引擎操作提供了一个现代化、交互式的界面。 ### 构建与运行 ``` cd winui dotnet build -c Release .\bin\Release\net8.0-windows10.0.19041.0\EscpeWinUI.exe ``` ### 功能 - 一键生成密钥、初始化账本、扫描和验证 - 带有颜色编码严重级别的实时日志输出 - 带进度指示器的批量审计 - SQLCipher 数据库加密密码管理(受 DPAPI 保护) - 内置许可证激活与验证 - 包含版本、git 哈希和构建时间戳的“关于”对话框 ## CLI 参考 | 命令 | 描述 | |---------|-------------| | `escpe init-ledger` | 创建新的空账本数据库 | | `escpe scan` | 扫描并验证量子标签,追加签名条目 | | `escpe verify-ledger` | 验证整个账本的哈希链和签名 | | `escpe audit` | 从 CSV 批量审计序列号,生成合规包 | | `escpe keygen` | 生成 P-256 签名密钥和自签名 X.509 证书 | | `escpe license-keygen` | 生成用于许可的 Ed25519 供应商密钥对 | | `escpe license-generate` | 创建已签名的、机器绑定的许可证文件 | | `escpe license-check` | 验证许可证文件 | | `escpe machine-fingerprint` | 打印此机器的硬件指纹 | | `escpe export-ledger` | 将账本导出为 JSON 备份 | | `escpe import-ledger` | 从 JSON 备份导入账本 | | `escpe version` | 打印版本、git 哈希和构建时间戳 | ## 配置 E-SCPE 从以下位置加载配置(按顺序): 1. CLI 参数(最高优先级) 2. 可执行文件旁边的 `escpe.toml` 3. `%LOCALAPPDATA%\E-SCPE\config.toml` 4. 环境变量(`ESCPE_DB_KEY`、`ESCPE_DB`、`ESCPE_LOG_LEVEL`) 5. 内置默认值 有关所有可用选项,请参见 [`escpe.toml.example`](escpe.toml.example)。 ## SQLCipher(静态加密) E-SCPE 默认使用普通 SQLite 运行。当与 SQLCipher 链接/构建时,请设置加密密钥: ``` $env:ESCPE_DB_KEY = "your-strong-passphrase" .\target\release\escpe.exe init-ledger --db .\escpe-ledger.db ``` E-SCPE 在启动时探测 `PRAGMA cipher_version;`,并记录 SQLCipher 是否处于活动状态。 ## 安全性 有关漏洞报告和安全态势详细信息,请参见 [SECURITY.md](SECURITY.md)。 ### 加密原语 | 用途 | 算法 | 标准 | |---------|-----------|----------| | 账本条目签名 | ECDSA P-256 | FIPS 186-4 | | 哈希链 | SHA-256 | FIPS 180-4 | | 许可证签名 | Ed25519 | RFC 8032 | | 机器指纹 | SHA-256(MachineGuid) | -- | | 数据库加密(可选) | AES-256-CBC | SQLCipher / FIPS 197 | ### 强化路线图 - **FIPS 140-3**:将加密后端替换为经过验证的模块(例如,BoringSSL FIPS、Windows CNG) - **TPM/HSM**:为 Windows CNG / PKCS#11 实现签名器,并在 TPM NV 中存储根哈希 - **PDF/A-2b**:经验证的模板和符合 PDF/A 标准的工具链,用于生成监管报告 - **硬件读取器驱动**:使用供应商 SDK 和 Rust FFI 包装器替换模拟读取器 ## 许可证 本项目基于**源码可用 -- 禁止修改**许可证发布。您可以自由地使用、运行和测试本软件。但**不得**修改、更改或创建衍生作品。完整条款请参见 [LICENSE](LICENSE)。 ## 贡献 由于许可条款的限制,我们不接受代码贡献(包含代码更改的 Pull Request)。但是,欢迎您: - 提交 **issues** 以报告错误或建议功能 - 在 **Discussions** 中分享反馈和使用场景 - 如果您觉得本项目有用,请为仓库加星使用 Rust 和 WinUI 3 构建 — 专为隔离网络、高保证环境而设计。
标签:CHSH不等式, CVE, ECDSA P-256, .NET 8, Rust, SHA-256, SQLite, Windows桌面应用, WinUI 3, 供应链溯源, 关键基础设施, 制药, 半导体制造, 可视化界面, 哈希链, 国防军工, 完整性验证, 密码学, 手动系统调用, 数字签名, 数据防篡改, 本地部署, 溯源引擎, 物理隔离, 离线优先, 网络流量审计, 航空航天, 贝尔不等式, 账本技术, 通知系统, 量子加密, 量子安全, 量子标签, 防篡改账本