srivarshini-karthikeyan/advanced-reidentification-risk-analysis

GitHub: srivarshini-karthikeyan/advanced-reidentification-risk-analysis

一个研究级的重识别风险分析框架,集成多种形式化隐私模型和攻击者模拟能力,帮助在数据发布前评估真实隐私泄露风险并给出缓解建议。

Stars: 0 | Forks: 0






``` ╔══════════════════════════════════════════════════════════════════════╗ ║ DETECT · PROTECT · EXPLAIN · WARN · DEFEND · REPORT ║ ╚══════════════════════════════════════════════════════════════════════╝ ```
## 🔐 什么是隐私智能引擎? **隐私智能引擎** 是一个全面的、研究级的 **重识别风险分析框架**,其功能远超基础的匿名化检查。它在多种形式化隐私模型 —— k-Anonymity、l-Diversity 和 t-Closeness —— 中实现了 **26+ 项隐私功能**,同时模拟现实世界的攻击者场景并提供加密数据保护。 专为需要 *可操作情报* 的安全研究人员、数据科学家和隐私工程师构建,而不仅仅是为了满足合规性复选框。 ## 🧠 系统架构 ``` ╔══════════════════════════════════════════════════════════════════════════════╗ ║ PRIVACY INTELLIGENCE ENGINE PIPELINE ║ ╠══════════════════════════════════════════════════════════════════════════════╣ ║ ║ ║ [ DATA INGESTION ] ║ ║ ┌─────────────────────────────────────────────────────────────────┐ ║ ║ │ CSV Input → Auto Quasi-Identifier Detection → Validation │ ║ ║ └──────────────────────────┬──────────────────────────────────────┘ ║ ║ ▼ ║ ║ [ FORMAL PRIVACY MODELS ] ║ ║ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────────┐ ║ ║ │ k-Anonymity │ │ l-Diversity │ │ t-Closeness │ ║ ║ │ Violation │ │ Sensitive │ │ Distribution Distance │ ║ ║ │ Detection │ │ Attr Check │ │ Analysis │ ║ ║ └──────┬──────┘ └──────┬──────┘ └───────────┬─────────────┘ ║ ║ └────────────────┬┴──────────────────────┘ ║ ║ ▼ ║ ║ [ RISK SCORING LAYER ] ║ ║ ┌────────────────────────────────────────────────────────────────┐ ║ ║ │ Weighted QI Scoring → Adaptive Risk Score → HIGH/MED/LOW │ ║ ║ │ Uniqueness Contribution Analysis │ ║ ║ └──────────────────────────┬─────────────────────────────────────┘ ║ ║ ▼ ║ ║ [ ATTACK SIMULATION ENGINE ] ║ ║ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ ║ ║ │ Casual │ │ Insider │ │ Advanced │ ← 3 Profiles ║ ║ │ (1 attr) │ │ (partial) │ │ (all attrs) │ ║ ║ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ ║ ║ └──────────────────┼──────────────────┘ ║ ║ │ + Linkage Attack Simulation ║ ║ ▼ ║ ║ [ PRIVACY MITIGATION ] ║ ║ ┌────────────────────────────────────────────────────────────────┐ ║ ║ │ Generalization Engine · Suppression Recommender │ ║ ║ │ Privacy Budget Simulator · SHA-256 Field Protection │ ║ ║ │ Dataset Integrity Verification │ ║ ║ └──────────────────────────┬─────────────────────────────────────┘ ║ ║ ▼ ║ ║ [ OUTPUT INTERFACES ] ║ ║ ┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐ ║ ║ │📊 CLI Dashboard │ │ 📄 TXT Report │ │ 📁 JSON Export │ ║ ║ │ ANSI Visuals │ │ Human-Readable │ │ Full Results │ ║ ║ └──────────────────┘ └──────────────────┘ └──────────────────┘ ║ ╚══════════════════════════════════════════════════════════════════════════════╝ ``` ## ✨ 功能矩阵 — 全部 26+ 项已激活
| # | 功能 | 模块 | 状态 | |:---:|:---|:---|:---:| | 1 | **准标识符选择** | 自动检测 + 手动覆盖 | ✅ | | 2 | **k-Anonymity 风险检测** | PrivacyAnalyzer | ✅ | | 3 | **l-Diversity 检查** | PrivacyAnalyzer | ✅ | | 4 | **t-Closeness 分析** | PrivacyAnalyzer | ✅ | | 5 | **多模型风险引擎** | PrivacyIntelligenceEngine | ✅ | | 6 | **加权 QI 风险评分** | PrivacyAnalyzer | ✅ | | 7 | **自适应(渐进式)风险等级** | PrivacyAnalyzer | ✅ | | 8 | **重识别风险分类** | PrivacyAnalyzer | ✅ | | 9 | **人类可读的风险警告** | PrivacyAnalyzer | ✅ | | 10 | **攻击者知识画像** | AttackSimulator | ✅ | | 11 | **攻击模拟引擎** | AttackSimulator | ✅ | | 12 | **链接攻击模拟** | AttackSimulator | ✅ | | 13 | **唯一性贡献分析** | PrivacyAnalyzer | ✅ | | 14 | **自动泛化引擎** | PrivacyMitigation | ✅ | | 15 | **抑制建议系统** | PrivacyMitigation | ✅ | | 16 | **隐私预算模拟器** | PrivacyMitigation | ✅ | | 17 | **隐私增强建议** | PrivacyIntelligenceEngine | ✅ | | 18 | **字段级加密保护** | CryptoUtils (SHA-256) | ✅ | | 19 | **数据集完整性验证** | CryptoUtils | ✅ | | 20 | **可解释隐私报告生成器** | ReportGenerator | ✅ | | 21 | **风险可视化仪表板 (CLI)** | ReportGenerator + Visualizer | ✅ | | 22 | **基于 CSV 的数据处理** | PrivacyIntelligenceEngine | ✅ | | 23 | **CLI 接口** | argparse | ✅ | | 24 | **配置驱动架构** | PrivacyConfig | ✅ | | 25 | **模块化代码结构** | 所有模块 | ✅ | | 26 | **代码质量与可维护性** | 完整代码库 | ✅ |
## 🚀 快速开始 ### 安装 ``` # Clone 仓库 git clone https://github.com/srivarshni-k/privacy-intelligence-engine.git cd privacy-intelligence-engine # 创建 virtual environment python -m venv venv source venv/bin/activate # Linux / Mac venv\Scripts\activate # Windows # 安装 dependencies pip install -r requirements.txt ``` ### 需求 ``` pandas numpy ``` ## 📖 使用说明 ### 基础分析(自动检测所有内容) ``` python privacy_engine.py --data patients.csv ``` ### 进阶 — 所有功能 ``` python privacy_engine.py --data patients.csv \ --k 5 --l 3 \ --attacker advanced \ --privacy-level high \ --show-crypto \ --show-generalization \ --export-json ``` ### 自定义准标识符 ``` python privacy_engine.py --data data.csv \ --quasi-identifiers age gender zipcode \ --sensitive diagnosis \ --k 10 ``` ### 使用配置文件的高安全性模式 ``` python privacy_engine.py --data sensitive_data.csv \ --privacy-level maximum \ --config config.json \ --verbose ``` ## 🔧 CLI 参考 | 标志 | 描述 | 默认值 | |:---|:---|:---:| | `--data` / `-d` | CSV 输入文件的路径 | 必需 | | `--quasi-identifiers` / `-q` | 准标识符列 | 自动检测 | | `--sensitive` / `-s` | 敏感属性列 | 最后一列 | | `--k` | k-Anonymity 阈值 | `3` | | `--l` | l-Diversity 阈值 | `2` | | `--attacker` | 攻击者画像:`casual` / `insider` / `advanced` | `insider` | | `--privacy-level` | `low` / `medium` / `high` / `maximum` | `medium` | | `--config` / `-c` | JSON 配置文件 | — | | `--output` / `-o` | 报告的输出目录 | `privacy_reports/` | | `--export-json` | 将完整结果导出为 JSON | 关闭 | | `--show-crypto` | 演示 SHA-256 字段保护 | 关闭 | | `--show-generalization` | 显示泛化前后的差异 | 关闭 | | `--verbose` / `-v` | 启用详细日志记录 | 关闭 | ## 📁 项目结构 ``` privacy-intelligence-engine/ │ ├── 📄 privacy_engine.py # Main engine — all 26+ features ├── 📄 config.json # Configuration file (optional) ├── 📄 requirements.txt # pandas, numpy │ ├── 📂 data/ # Place your CSV datasets here │ └── sample_data.csv # Example dataset │ └── 📂 privacy_reports/ # ← Auto-generated outputs ├── privacy_report_.txt # Human-readable report └── privacy_analysis_.json # Full JSON results ``` ## 🏛️ 模块概述
🎨 Visualizer — 精美的 CLI 渲染引擎
带有动画进度条、ASCII 条形图、风险仪表、格式化表格和框式摘要的 ANSI 彩色终端输出。每个输出都经过精心设计,以确保可读性和视觉冲击力。
⚙️ PrivacyConfig — 配置驱动架构
从 JSON 文件加载并管理所有隐私参数。支持四种隐私级别(`low` / `medium` / `high` / `maximum`),并可完全自定义 k、l、t 阈值、风险权重、攻击者画像和泛化策略。
🔐 CryptoUtils — 加密保护层
带盐值的 SHA-256 字段级哈希。功能包括单向不可逆保护、抗碰撞性演示、雪崩效应展示,以及通过哈希指纹进行的完整数据集完整性验证。
🔍 PrivacyAnalyzer — 核心隐私分析引擎
实现了所有三种形式化隐私模型:k-Anonymity(等价类分组 + 违规检测)、l-Diversity(敏感属性多样性检查)和 t-Closeness(基于 Earth Mover's Distance 的分布分析)。还处理唯一性评分、自适应风险计算和人类可读警告生成。
⚔️ AttackSimulator — 重识别攻击引擎
模拟三种攻击者画像 —— **Casual**(知道 1 个属性,公共记录)、**Insider**(部分知识)和 **Advanced**(所有准标识符)。还通过生成合成外部数据集并测量成功的记录连接来模拟 **链接攻击**。
🛡️ PrivacyMitigation — 保护策略引擎
实现自动泛化(年龄范围、ZIP 前缀截断)、带有列级唯一性分析的抑制建议,以及一个模拟所有四个隐私级别下隐私-效用权衡的隐私预算模拟器。
📄 ReportGenerator — 输出与可视化
生成涵盖每个分析阶段的全面人类可读 TXT 报告,导出完整的结构化 JSON 结果,并渲染带有条形图、风险仪表、指标表格和攻击比较图表的 CLI 可视化仪表板。
## 🔬 隐私模型解释 ### k-Anonymity 每条记录基于准标识符至少与 **k-1** 条其他记录无法区分。少于 k 条记录的组会被标记为违规。 ### l-Diversity 每个等价类必须包含至少 **l** 个不同的敏感属性值 —— 即使在满足 k-Anonymity 的情况下也能防止属性泄露。 ### t-Closeness 每个组内敏感属性值的分布必须在与整体数据集分布的距离 **t** 之内,通过 Earth Mover's Distance 测量。 ## ⚔️ 攻击者画像 ``` CASUAL → Knows 1 attribute (public records, social media) INSIDER → Knows partial attrs (employee, researcher) ADVANCED → Knows all attrs (sophisticated adversary, nation-state) ``` 每个画像计算每条记录的重识别概率,并报告平均/中位数/最大成功率以及 guaranteed 重识别计数。 ## 🛡️ 隐私级别 | 级别 | k | l | 用例 | |:---:|:---:|:---:|:---| | `low` | 2 | 1 | 公共数据集,高效用需求 | | `medium` | 3 | 2 | 标准用例(默认) | | `high` | 5 | 3 | 医疗、金融记录 | | `maximum` | 10 | 5 | 法律合规,最大程度保护 | ## 📤 示例输出结构 (JSON) ``` { "timestamp": "2026-03-01T16:30:00", "dataset_info": { "total_records": 1000, "quasi_identifiers": ["age", "gender", "zipcode"] }, "k_anonymity": { "violations": 12, "violation_percentage": 4.2 }, "l_diversity": { "violations": 5, "average_diversity": 3.1 }, "t_closeness": { "violations": 3, "average_distance": 0.14 }, "adaptive_risk": { "level": "WARNING", "recommendation": "Apply mitigation strategies" }, "risk_distribution": { "high": 45, "medium": 210, "low": 745 }, "attack_simulations": { "casual": { "average_success_rate": 0.08 }, "insider": { "average_success_rate": 0.31 }, "advanced": { "average_success_rate": 0.74 } }, "recommendations": [ { "severity": "HIGH", "action": "Apply generalization to zipcode" } ] } ``` ## 🐛 故障排除 | 问题 | 原因 | 解决方法 | |:---|:---|:---| | `ModuleNotFoundError` | 缺少包 | `pip install pandas numpy` | | 列上的 `KeyError` | 列名错误 | 显式使用 `--quasi-identifiers` | | 条形图为空 | 该类别中无数据 | 预期情况 —— 所有记录均为低风险 | | 配置未加载 | JSON 无效 | 使用 `python -m json.tool config.json` 验证 | | 泛化无操作 | 列 `age`/`zipcode` 不存在 | 重命名列或在配置中扩展策略 | ## 🔮 路线图 - [ ] 🎨 Streamlit Web 仪表板 - [ ] 🤖 LLM 生成的自然语言隐私解释 - [ ] 📊 Matplotlib/Plotly 可视化导出 - [ ] 🔁 差分隐私 (ε-DP) 集成 - [ ] 🏥 医疗 (HIPAA) 合规模式 - [ ] 🐳 Docker 容器化 - [ ] ☁️ 通过 FastAPI 提供 REST API - [ ] 📦 PyPI 包发布 ## 📚 参考资料 - **k-Anonymity** — Sweeney, L. (2002). *k-Anonymity: A Model for Protecting Privacy* - **l-Diversity** — Machanavajjhala et al. (2007). *l-Diversity: Privacy Beyond k-Anonymity* - **t-Closeness** — Li et al. (2007). *t-Closeness: Privacy Beyond k-Anonymity and l-Diversity* - **SHA-256** — NIST FIPS 180-4 Secure Hash Standard ## 📄 许可证 提供用于 **研究和教育目的**。有关完整条款,请参阅 `LICENSE`。
## 👩‍💻 作者 *隐私工程 · 网络安全 · 数据保护*
[![GitHub](https://img.shields.io/badge/GitHub-srivarshni--k-181717?style=for-the-badge&logo=github)](https://github.com/srivarshni-karthikeyan)
*如果这个项目对您有帮助,请考虑给它一个 ⭐*
标签:k-匿名, l-多样性, NumPy, Python, SHA-256, t-紧密性, 去标识化风险, 密码学, 密码管理, 手动系统调用, 数据合规, 数据脱敏, 数据防泄露, 无后门, 网络安全, 逆向工具, 重识别分析, 隐私保护, 隐私模型, 隐私计算