Rogit-28/TrustFlow-Chain-of-Custody-based-Traceability-Framework

GitHub: Rogit-28/TrustFlow-Chain-of-Custody-based-Traceability-Framework

基于 Python 的 P2P 隐私仿真框架,通过图谱溯源、隐写水印和密码学机制实现敏感信息的全生命周期追踪与泄露归因。

Stars: 0 | Forks: 0

# TrustFlow - 链式监管隐私框架 一个基于 Python 的模拟器,用于在 P2P 网络中对去中心化隐私和信任进行建模,具备消息溯源追踪、安全删除传播、加密签名以及用于泄露归因的隐写水印功能。 ## 功能特性 - **基于图谱的监管链**: 针对复杂转发场景的有向图模型,采用加密签名 - **安全删除传播**: 基于令牌的删除,沿监管链传播 - **Shamir 秘密共享**: 将敏感内容分割为 (k,n) 阈值份额 - **时间锁加密**: 使用 AES-256-GCM 实现内容自动过期 - **隐写水印**: 用于泄露归因的不可见水印(零宽 Unicode、语言指纹、空白模式) - **离线消息队列**: 节点可离线,上线后接收排队消息 - **双层网络架构**: 内存模拟(用于测试)+ ZeroMQ 多进程(用于真实场景) - **可扩展架构**: 提供存储、节点发现、通知等抽象接口 ## 项目结构 ``` TrustFlow/ ├── coc_framework/ │ ├── core/ # Core domain logic │ │ ├── coc_node.py # CoC graph node with signatures │ │ ├── crypto_core.py # Ed25519 signing, SHA-256 hashing │ │ ├── deletion_engine.py # Deletion token propagation │ │ ├── network_sim.py # In-memory Peer/Network simulation │ │ ├── secret_sharing.py # Shamir's Secret Sharing │ │ ├── steganography.py # Invisible watermarking │ │ ├── timelock.py # Time-lock encryption │ │ └── audit_log.py # Hash-chained logging │ ├── interfaces/ # Abstract interfaces + defaults │ │ ├── storage_backend.py # StorageBackend + InMemoryStorage │ │ ├── notification_handler.py │ │ ├── peer_discovery.py │ │ └── ... │ ├── network/ # ZeroMQ multi-process layer │ │ ├── coordinator.py # Process orchestrator │ │ ├── peer_process.py # Standalone peer process │ │ └── protocol.py # Message serialization │ └── simulation_engine.py # In-memory orchestrator ├── scenario_runner.py # CLI entry point ├── scenario.json # Sample scenario ├── requirements.txt └── README.md ``` ## 快速开始 ### 1. 设置环境 ``` # Clone 并进入 repository git clone cd TrustFlow # 创建 virtual environment python -m venv venv source venv/bin/activate # Linux/Mac venv\Scripts\activate # Windows # 安装 dependencies pip install -r requirements.txt ``` ### 2. 运行模拟 ``` # 使用默认 scenario 运行 python scenario_runner.py # 使用自定义 scenario 运行 python scenario_runner.py path/to/scenario.json # 使用 verbose 输出运行 python scenario_runner.py -v # 使用自定义 tick delay 运行 python scenario_runner.py --tick-delay 0.5 ``` ### 3. 创建自定义场景 编辑 `scenario.json` 以定义你的模拟: ``` { "settings": { "total_peers": 5, "simulation_duration": 10, "enable_secret_sharing": true, "enable_timelock": false, "enable_steganography": true }, "events": [ { "time": 1, "type": "CREATE_MESSAGE", "originator_id": "peer_0", "recipient_ids": ["peer_1", "peer_2"], "content": "Confidential message content" }, { "time": 2, "type": "FORWARD_MESSAGE", "sender_id": "peer_1", "recipient_ids": ["peer_3"], "parent_message_id": "msg_001" } ] } ``` ## 事件类型 | 事件 | 描述 | |-------|-------------| | `CREATE_MESSAGE` | 创建包含内容的根 CoC 节点 | | `FORWARD_MESSAGE` | 将现有内容转发给新接收者 | | `DELETE_MESSAGE` | 发起删除传播 | | `PEER_ONLINE` / `PEER_OFFLINE` | 更改节点在线状态 | | `DISTRIBUTE_SHARES` | 使用 Shamir 秘密共享分割内容 | | `RECONSTRUCT_SECRET` | 从份额中重构内容 | | `TIMELOCK_CONTENT` | 创建时间锁加密内容 | | `WATERMARK_FORWARD` | 携带隐写水印的转发 | | `DETECT_LEAK` | 分析内容中的水印 | ## 依赖项 - **PyNaCl**: Ed25519 加密签名 - **cryptography**: AES-256-GCM 用于时间锁加密 - **pyzmq**: ZeroMQ 用于多进程网络通信 ## 许可证 MIT 许可证 - 详情请参阅 [LICENSE](LICENSE)。
标签:AES-256, CVE, DNS 反向解析, DNS 解析, Ed25519, P2P网络, Python, ZeroMQ, 信任模型, 信息流控制, 分布式系统, 前端可视化, 区块链仿真, 响应大小分析, 子域名变形, 安全删除, 审计日志, 密码学, 手动系统调用, 数字签名, 无后门, 时间锁加密, 水印技术, 沙米尔秘密共享, 泄漏归因, 溯源追踪, 漏洞评估, 监管链, 网络信息收集, 逆向工具, 隐写术, 隐私计算, 零宽度字符