Noir0x63/OMEGA
GitHub: Noir0x63/OMEGA
OMEGA 是一个在 Tor 洋葱网络上运行的零知识端到端加密通信中继协议,专为反取证和不受信任基础设施上的匿名消息传输而设计。
Stars: 2 | Forks: 0
# 🗲 E2EE-OMEGA-Protocol: OMEGA 协议 (Zero-Knowledge Terminal Architecture & Protocol)
[](https://github.com/Noir0x63/E2EE-OMEGA-Protocol)
[]()
[]()
[]()
[]()
[-green.svg)]()
**OMEGA 协议 (Zero-Knowledge Terminal Architecture & Protocol)** 是一个高安全性、易失性的通信框架,旨在不受信任的基础设施(Tor Hidden Services、Blind Relays 或 Compromised Nodes)上运行。
该系统确保了绝对的机密性以及对取证分析的数学免疫力,防止数据在技术栈的每一层持久化保存。
## 🏗️ 协议拓扑与数据流
```
graph LR
subgraph "CLIENT A (Browser)"
A[WebCrypto Engine] --> B[PBKDF2 600k Iterations]
B --> C[AES-256-GCM Encrypt]
C --> D[4096B Strict Padding]
end
D -- "ECDH Ephemeral Channel (Tor/Onion)" --> E
subgraph "BLIND RELAY (Node.js Server)"
E[Memory-Only Buffer] --> F[Zero-Persistence Vault]
F -- "Broadcast" --> G
end
G -- "Constant Bitrate Stream" --> H
subgraph "CLIENT B (Admin/User)"
H[Strict Frame Parsing] --> I[Web Worker Isolation]
I --> J[AES-256-GCM Decrypt]
J --> K[Volatile Memory Purge]
end
```
## 🔒 安全核心 (Hardening Features)
### 1. 自主加密引擎
该协议使用原生的 **WebCrypto API** 实现了多层加密堆栈,消除了对第三方库的依赖,并减轻了供应链攻击。
* **密钥交换:** 使用带有 SHA-256 的 RSA-OAEP (4096-bit) 进行身份认证。
* **完美前向保密 (Perfect Forward Secrecy):** 通过短暂的 **ECDH (P-256)** 密钥交换实现真正的 PFS。生成的共享密钥严格绑定到消息加密密钥。泄露主 RSA 密钥**不会**允许解密历史流量。
* **流安全:** 每一帧使用带有唯一初始化向量 (IV) 的 AES-256-GCM。
* **签名方案:** 使用带有 32 字节盐值的 **RSA-PSS** (Probabilistic Signature Scheme) 进行身份验证(Admin Command & Control)。
* **两阶段密钥派生:** 健壮的 PBKDF2 $\rightarrow$ HKDF 流水线。**阶段 1 (PBKDF2):** 对静态会话 token 进行 600,000 次 HMAC-SHA256 迭代以提供暴力破解抵抗力。**阶段 2 (HKDF):** 将短暂的 ECDH 共享密钥绑定为盐值,确保数学上可靠的前向保密。
### 2. Encrypted-At-Rest 密钥管理
所有加密密钥在静态下都受到保护——明文密钥材料**绝不会**持久化存储在磁盘上。
* **主私钥:** 使用 AES-256-GCM 加密,密钥通过 **PBKDF2** (600,000 次迭代,SHA-256) 从管理员口令派生。存储为 `master_private.enc`。
* **浏览器端解密:** 管理面板使用 WebCrypto PBKDF2 **完全在浏览器内**解密 `master_private.enc`。明文密钥仅存在于易失性 RAM 中——它永远不会到达服务器。
* **Admin HMAC Secret:** 通过 scrypt 从管理员口令确定性地派生——永远不存在 `admin_token.txt` 文件。
* **服务器 Nonce:** 每次密钥生成周期生成一个随机的 32 字节 nonce,为管理员路由轮换增加熵并防止预测攻击。
* **遗留数据清除:** 启动时,启动器会在取消链接之前使用随机数据安全覆盖并删除任何遗留的明文文件(`master_private.pem`,`admin_token.txt`)。
### 3. 流量分析缓解 (DPI 防御)
* **严格填充:** 每个有效载荷都被打包成固定大小的 **4096 字节** 二进制 ArrayBuffer。这消除了基于长度的侧信道分析。
* **随机混淆:** 通过随机化的定时器异步注入合成噪声帧,以混淆时间模式。
* **自适应工作量证明:** 具有随着服务器连接负载缩放的**动态难度**(16-24 位)的基于 SHA-256 的 PoW 挑战,以防止非对称 DoS 攻击。
### 4. 易失性反取证层
OMEGA 协议专为 **Zero-Persistence** 设计。
* **内存清理:** TypedArrays (`Uint8Array`) 用于明文处理,并在使用后立即通过 `.fill(0)` 和 CSPRNG 噪声注入进行清理。
* **自动 24 小时清除:** 服务器实施强制清理周期,每 24 小时擦除一次消息保险库(RAM 和磁盘),确保短暂性。
* **零存储密钥:** 会话 token 和私钥永远不会触及服务器的磁盘;在传输过程中,它们仅存在于浏览器内存和服务器的 RAM 的易失性中。
* **易失性身份轮换**:在系统每次启动时生成一个新的 `.onion` 地址(Onion Evasion),以防止长期追踪。
* **EXIF/IPTC 剥离**:通过管理面板发送的 JPEG 文件在加密前会被剥离 APP1 (EXIF) 和 APP13 (IPTC) 元数据——防止通过 GPS、设备信息或软件指纹去匿名化。
### 5. 会话治理与访问控制
* **会话过期:** 所有会话在 1 小时后过期,需要重新认证。
* **并发治理:** 每个会话 ID 最多允许 2 个连接,全局阈值为 500 个连接。
* **管理员路由轮换:** 带有 serverNonce 熵的每小时 HMAC 派生管理员路径——即使密钥泄露,路由也无法被预先计算。
* **输入清理:** 所有用户提供的字段在处理前都会进行验证并剥离控制字符。
* **保险库写入互斥锁:** Promise 链式序列化可防止在并发写入压力下出现竞态条件和 JSON 损坏。
## 🛡️ 完整性与构建流水线
客户端逻辑通过完整性验证而非隐蔽式安全 来加固:
* **Kerckhoffs 原则:** 混淆已被**移除**——安全性在于密钥,而不在于隐藏算法。代码经过压缩,而非混淆。
* **Worker 完整性:** `GOLD_HASH` (SHA-512) 验证确保 Web Worker 在传输过程中未被篡改(预生成验证)。
* **Worker 认证:** **服务器端**基于 HMAC 的挑战-响应认证确保了加密 worker 的运行时完整性。由服务器(而非客户端)决定并验证认证。
* **加密的零依赖:** 所有加密操作均使用原生的 WebCrypto API——在关键路径上没有第三方库。
* **框架加固:** 禁用 `X-Powered-By`,抑制 ETags,全局错误处理器防止路径暴露。
## 🔐 管理员认证流程
管理面板实施了**零信任、浏览器端解密**的流水线:
```
sequenceDiagram
participant Admin as Admin Browser
participant Server as OMEGA Server
Note over Admin: Navigate to hourly HMAC route
Admin->>Admin: Upload master_private.enc
Admin->>Admin: Enter passphrase
Admin->>Admin: PBKDF2 (600k) → AES key
Admin->>Admin: AES-256-GCM decrypt → RSA PEM (in RAM only)
Admin->>Admin: Import RSA-OAEP + RSA-PSS keys
Admin->>Server: WebSocket HANDSHAKE
Server->>Admin: AUTH_CHALLENGE (random nonce)
Admin->>Admin: RSA-PSS sign(nonce)
Admin->>Server: ADMIN_AUTH (signature)
Server->>Server: RSA-PSS verify(signature, master_public.pem)
Server->>Admin: ✓ Authenticated → Dashboard
```
**核心原则:** 服务器**永远**看不到私钥或口令。身份验证通过 RSA-PSS 挑战-响应来证明——服务器仅持有公钥。
## 🔍 审计结果 (v3.1)
在**零信任**理念下进行了正式的进攻性密码学审计。所有发现的问题均已修复:
| # | 发现 | 严重性 | CVSS | 状态 |
|---|---------|----------|------|--------|
| 1 | **明文 Token 泄露** — Token 在 INIT/ASYNC_MSG 帧中以明文形式发送 | 严重 | 9.8 | ✅ 已修复 |
| 2 | **弱密钥派生盐值** — 用户名用作 PBKDF2 盐值(低熵)| 高 | 7.4 | ✅ 已修复 |
| 3 | **客户端认证缺陷** — 客户端自我验证认证挑战 | 严重 | 8.5 | ✅ 已修复 |
| 4 | **EXIF 元数据泄露** — 发送的 JPEG 文件未剥离 EXIF/IPTC | 高 | 6.8 | ✅ 已修复 |
| 5 | **保险库竞态条件** — 并发的 `fs.writeFile` 调用损坏 `vault.json` | 中 | — | ✅ 已修复 |
| 6 | **虚假 PFS 实现** — 生成了 ECDH 密钥但未启用。替换为 PBKDF2 -> HKDF | 严重 | 9.8 | ✅ 已修复 |
| 7 | **零信任 HMAC 泄露** — 认证私钥发送至服务器。迁移至 ECDSA | 严重 | 8.5 | ✅ 已修复 |
## 🚀 部署 (Zero-Config Operator Setup)
OMEGA 协议 v3.1 引入了**原生桌面客户端** (Electron),旨在完全抽象化 Tor、Node.js 和加密密钥生成的复杂性。这使得非技术操作人员(记者、活动家)能够在零命令行交互的情况下部署一个 IRONCLAD 通信中继。
### 🖥️ 原生桌面特性
1. **自动化密钥生成:** 为 RSA-4096 密钥生成和 Encrypted-At-Rest 存储提供可视化口令提示。
2. **嵌入式 Tor:** 捆绑 Tor 二进制文件并动态生成 `torrc` 配置,绕过端口冲突和只读权限错误。
3. **易失性身份:** 在每次启动时自动擦除以前的 Hidden Service 密钥并引导生成一个新的 `.onion` 地址。
4. **本地仪表板桥接:** 将操作员安全地路由到其本地的加密管理仪表板(`localhost:3000/route`),同时客户端通过 `.onion` 网络进行连接。
5. **新粗野主义极简风:** 一种醒目、干净、高对比度的用户界面,完全消除了干扰和黑客电影的俗套,专为功能纯粹性而设计。
6. **跨平台编译:** 通过 NSIS 支持 Windows `.exe`,以及通过 `.AppImage` 支持 Linux(**Tails OS** 的标准)。
### 快速开始 (编译后的二进制文件)
1. 下载适合您操作系统的编译版本(Windows 使用 `.exe`,Linux/Tails 使用 `.AppImage`)。
2. 双击启动(无需安装或终端)。
3. 按照 UI 提示创建您的 Master Passphrase(至少 12 个字符)。
4. 等待 Tor 子系统引导(0% 到 100%)。
5. 点击 **Copy .onion Link**,并通过安全渠道将其发送给您的联系人。
6. 点击 **Open Admin Panel** 在您的本地浏览器中管理传入的消息。
## 📊 安全态势
| 层级 | 机制 | 标准 |
|-------|-----------|----------|
| **密钥交换** | RSA-4096 + ECDH P-256 | NIST SP 800-56A |
| **流密码** | AES-256-GCM | NIST SP 800-38D |
| **密钥派生** | PBKDF2 (600k) + HKDF | OWASP 2025 |
| **KDF 盐值** | sessionId + ecdhSecret (E2EE, 从不传输) | 高熵 |
| **签名** | RSA-PSS (32-byte 盐值) | PKCS#1 v2.1 |
| **密钥存储** | AES-256-GCM + PBKDF2 (600k) | Encrypted-at-rest |
| **管理员认证** | 浏览器端解密 + RSA-PSS C/R | 零信任 |
| **认证** | 服务器端 ECDSA 验证 + P1363 | 零知识 |
| **前向保密** | E2EE ECDH (Client↔Admin) + HKDF 短暂密钥 | 真正的 PFS (VULN-04 已修复) |
| **抗 DoS** | 自适应 PoW (16–24 位) | 动态扩展 |
| **反取证** | EXIF/IPTC 剥离 + 24 小时保险库清除 | 零持久化 |
| **传输层** | Tor Hidden Service | Onion routing |
## ⚖️ 许可证
**GNU General Public License v3.0 (GPLv3)** — 参见 [许可证](LICENSE)。
本项目为自由软件:您可以根据自由软件基金会发布的 GNU GPLv3 条款重新分发和/或修改它。
## ⚖️ 审计免责声明
OMEGA 协议建立在**攻击成本最大化**的原则之上。通过结合 Encrypted-At-Rest 密钥管理、完美前向保密、严格的内存清理、流量标准化和自适应工作量证明,该基础设施迫使对手消耗他们不太可能为标准拦截而投入的计算资源。
**由 Eduardo "Noir0x63" Camarillo 开发并加固** 🔒🎩
标签:GNU通用公共许可证, MITM代理, Node.js, Tor网络, 加密传输, 安全通信, 端到端加密, 自定义脚本, 零知识架构