# 溯影 **Repository Path**: Free_520/tracing-shadow ## Basic Information - **Project Name**: 溯影 - **Description**: 计算机大赛-网络技术赛项目。本项目围绕信息安全 + 计算机视觉方向展开,采用轻量化技术栈实现安全类应用。核心使用 OpenCV 完成图像采集与处理,结合密码学算法,实现像素级数据隐秘传输、内容防篡改校验等功能,不依赖重型大模型,兼顾实用性与创新性。项目可应用于敏感文件加密传输、隐私数据隐蔽存储等场景,整体结构简洁、部署轻便。 - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: lyx - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2026-04-12 - **Last Updated**: 2026-07-23 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 面向敏感图像外发场景的数据防泄漏与防篡改审查认证系统 项目代号:`Tracing-Shadow` 系统面向敏感图像外发、传输和审查认证场景,提供 DLP 策略判断、受控传播留痕、溯源审查认证、篡改检测和基础修复能力。在原有图像防泄漏与防篡改能力基础上,当前版本进一步增强了受控软件实例管理、图内溯源锚点、显示态会话水印、公网观测链路和证据图谱回放能力,使系统能够覆盖“外发前策略判断、外发中受控留痕、外发后责任追溯”的完整流程。 ## 核心能力 - 敏感等级、外发通道、接收方和业务用途驱动的 DLP-lite 策略判断 - 基于 trace token 的外发标识、审计日志和证据图谱 - 软件实例注册、激活校验和实例身份管理 - 源头图像注册、图内溯源锚点写入和服务端账本记录 - 受控查看、下载、导出、分享等操作的事件链追踪 - 显示态会话取证水印,用于截图或二次传播后的辅助识别 - 公网观测样本登记,通过锚点、会话水印或感知哈希关联原始图像 - SM2、SM3、SM4 组合的国密工具能力,用于密钥保护、摘要校验和事件完整性表达 - 图像篡改检测、掩膜生成、检测标注和基础块级修复 - Web 控制台与命令行演示双入口 ## 技术路线 系统按三层组织: ### `main` 主调度层,负责配置管理、流程编排、服务接口、CLI 演示入口和 Flask Web 控制台。 关键文件: - `main/config.py`:统一流程配置 - `main/controller.py`:工作流入口 - `main/workflow_factory.py`:受控溯源动作与工作流编排 - `main/service.py`:Web 层调用的业务接口 - `main/run.py`:Flask 服务启动入口 - `main/app/`:路由、表单、模板和静态资源 ### `src/Security` 安全与溯源核心层,负责 DLP 策略、软件实例身份、密码学工具、溯源账本、锚点写入、会话水印和证据查询。 关键文件: - `Crypt.py`:SM2、SM3、SM4、LSB 载荷写入与提取等基础工具 - `traceability.py`:源头注册、受控事件、会话水印、公网观测和证据图谱 - `app_identity.py`:软件实例注册、校验、停用和密钥派生 - `dlp/policy.py`:DLP 策略判断与 trace token 生成 - `dlp/audit.py`:DLP 审计日志写出 - `models.py`:锚点、事件、证据图谱、实例和审计数据结构 ### `src/CV` 图像处理支撑层,负责图像读写、数组转换和可视化辅助能力。 关键文件: - `ImageIO.py`:图像读取与保存 - `RGBConverter.py`:图像与 `np.ndarray` 转换 - `tamper_detect.py`、`visualize.py`:篡改检测、掩膜生成和检测标注 ## 主流程 当前默认工作流为 `controlled_trace`。 ### 1. 源头注册 1. 读取原始图像 2. 转换为统一的 `np.ndarray[H, W, 3]` 3. 根据敏感等级、外发通道、接收方和业务用途执行 DLP 策略判断 4. 注册或校验软件实例 5. 生成 image_id、root token、actor token、session token 和事件哈希 6. 将溯源锚点写入图像 LSB 区域 7. 写入服务端账本和 DLP 审计日志 8. 输出源头锚定图像与证据图谱 ### 2. 受控传播 受控软件对图像执行 `view`、`download`、`export`、`share`、`public_release` 等动作时: 1. 校验软件实例是否注册且激活 2. 提取并校验图像中的溯源锚点 3. 生成本次受控事件 4. 对查看场景生成显示态会话水印图 5. 对下载、导出、分享等外发场景更新图内检查点 6. 将事件追加到账本 7. 返回更新后的证据图谱 ### 3. 溯源查询 管理端接收待查询图像后,按优先级尝试: 1. 提取图内文件层溯源锚点 2. 解析显示态会话水印 3. 使用感知哈希匹配公网相似样本 4. 查询服务端账本 5. 汇总源头节点、最后受控节点、受控事件链和公网观测记录 ### 4. 公网观测 当外部平台出现疑似泄露样本时,系统可登记平台、账号提示和页面提示,并尝试将样本关联到已有 image_id,补充到公网观测链中。 ## DLP 策略 DLP-lite 策略根据敏感等级和外发通道决定是否允许流转: - `public`:公开图像,可自由流转 - `internal`:内部图像,外发时需要审计并携带溯源能力 - `sensitive`:敏感图像,需要受控传播、审计和密钥保护表达 - `restricted`:限制级图像禁止外部通道传输 当策略阻断时,系统不会继续写入图像处理结果,只生成阻断摘要和审计日志。 ## 密码学说明 项目使用 SM2、SM3、SM4 组合表达安全能力: - SM4:用于会话密钥和对称保护能力表达 - SM2:用于公钥保护会话密钥 - SM3:用于摘要、事件哈希、实例密钥摘要和完整性校验 需要强调的是:图像中不应写入明文密钥;涉及密钥传输时,图像内嵌入的是公钥保护后的 token 或摘要信息。 ## 运行方式 ### 安装依赖 ```bash pip install -r requirements.txt ``` ### 命令行演示 ```bash python examples/demo.py ``` 默认会运行 `PipelineConfig()`,即受控溯源源头注册流程,并在终端打印摘要。 ### Web 控制台 ```bash python -m main.run ``` 启动后访问: ```text http://127.0.0.1:5000 ``` Web 控制台支持: - 上传图片或输入本地路径 - 生成源头锚定图像 - 解析溯源证据图谱 - 注册和管理软件实例 - 以指定实例执行受控查看 - 执行下载、导出、分享等受控传播动作 - 登记公网观测样本 - 配置 DLP 参数、trace secret 和 master key ## 输出文件 默认输出目录为 `output/`。常见输出包括: - `traced.png`:源头锚定图像 - `_image.png`:更新检查点后的受控图像 - `_session_preview.png`:显示态会话取证图 - `public_observed_sample.png`:公网观测样本 - `evidence_graph.json`:证据图谱 - `trace_ledger.json` 或 `trace_ledger.db`:服务端溯源账本 - `app_identity_registry.json`:软件实例注册表 - `dlp_audit_.json`:DLP 审计日志 ## 测试 ```bash python -m pytest -q ``` 测试覆盖 DLP 策略、受控溯源、软件实例身份、密码学工具、图像嵌入工具和兼容流程。 ## 当前边界 当前版本已经形成可运行的工程原型,但仍有一些边界需要明确: - 服务端账本默认是本地 JSON,可通过配置切换 SQLite - 权限、账户、密钥托管和审计后台仍是简化实现 - 公网观测依赖手动登记样本,不包含自动爬取平台能力 - 感知哈希匹配是轻量级相似图关联,不等同于强鲁棒版权识别 - `legacy_tamper` / `detect_repair` 链路保留为防篡改检测与基础修复的兼容入口 ## 后续方向 建议优先迭代: 1. 将发送端、查看端、管理端拆分成更清晰的独立部署形态 2. 将本地账本升级为统一服务端存储和查询接口 3. 接入真实 KMS 或密钥服务,替代 demo 环境默认密钥 4. 增加更系统的审计看板和证据链导出能力 5. 强化公网相似图匹配与截图场景下的鲁棒识别 6. 优化防篡改检测、区域定位和基础修复效果 ## 一句话总结 `Tracing-Shadow` 当前形成了一条完整的敏感图像防泄漏、防篡改与溯源审查认证闭环: **原图输入 -> DLP 策略判断 -> 认证与溯源信息嵌入 -> 软件实例校验 -> 受控传播留痕 -> 会话水印取证 -> 公网样本观测 -> 篡改检测与基础修复 -> 证据图谱回放。**