PkLavc/cipher-gate

GitHub: PkLavc/cipher-gate

基于 FastAPI 的零信任安全代理,通过动态数据脱敏、AES-256 加密和自动化 PII 检测,为传输中的敏感数据提供合规防护与审计能力。

Stars: 10 | Forks: 0

# CipherGate 安全代理 [![Python 版本](https://img.shields.io/badge/Python-3.11+-blue.svg)](https://python.org) [![安全性](https://img.shields.io/badge/Security-Zero--Trust-red.svg)](https://github.com/PkLavc/cipher-gate) [![许可证: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) ## 概述 CipherGate 安全代理是一款企业级的 Zero-Trust 安全解决方案,旨在保护传输中的敏感数据。这款生产就绪的实现为现代数字基础设施提供了全面的数据保护、身份验证和监控功能。 ### 核心安全原则 - **显式验证**:每个请求都经过加密身份验证和授权 - **最小权限访问**:基于角色的数据脱敏和访问控制 - **假设泄露**:通过防篡改审计跟踪进行持续监控 - **加密保护**:具有完整性验证的军事级加密 ## 技术架构 ### 安全工作流 ``` graph LR A[Inbound Request] --> B[CipherGate Proxy] B --> C{PII Detector} C -- Sensitive Data --> D[AES-256 Masking] C -- Safe Data --> E[Forward to Backend] D --> E E --> F[Secure Response] ``` ### 核心组件 #### 1. 安全代理 (`proxy.py`) - **基于 FastAPI 的高性能代理服务器** - **Zero-Trust 中间件实现** - **请求/响应拦截和验证** - **基于角色的访问控制集成** #### 2. 加密库 (`crypto_vault.py`) - **用于静态数据的 AES-256-GCM 加密** - **用于数据完整性验证的 HMAC-SHA256** - **用于令牌签名和验证的 RSA-2048** - **安全密钥生成和管理** #### 3. 动态数据脱敏引擎 (`masking_engine.py`) - **自动敏感数据模式检测** - **具有多个级别的基于角色的脱敏**: - **完全**:完整数据可见性(Admin) - **部分**:保留首尾字符(User) - **仅后四位**:仅可见最后 4 位数字(User) - **脱敏**:用星号完全掩码(Guest) - **结构保留**:维持数据格式和 schema 完整性 #### 4. 合规审计器 (`compliance_auditor.py`) - **带有加密链的防篡改审计日志记录** - **GDPR/HIPAA 合规性报告** - **实时安全违规检测** - **带有完整性验证的不可变审计跟踪** ## 安全规范 ### 加密标准 - **AES-256-GCM**:带有身份验证加密的行业标准加密算法 - **HMAC-SHA256**:使用 SHA-256 的加密完整性验证 - **RSA-2048**:使用 2048 位密钥的数字签名和令牌验证 - **安全随机生成**:使用 `secrets` 模块进行加密安全的密钥生成 - **Luhn 算法**:符合 PCI-DSS 标准的信用卡验证 - **ReDoS 缓解**:通过输入大小限制防范正则表达式拒绝服务攻击 ### 数据保护标准 - **GDPR 合规性**:数据最小化、目的限制以及全面的审计要求 - **HIPAA 合规性**:通过技术保障措施保护受保护健康信息 (PHI) - **PCI-DSS 合规性**:支付卡行业数据安全标准的实施 - **NIST Zero-Trust 框架**:全面实施 NIST SP 800-207 指南 ### 密钥管理架构 #### 主密钥派生 - 基于环境的密钥生成,带有安全的备用机制 - 基于 SHA-256 的密钥派生以增强安全性 - 密钥隔离,针对不同的加密操作使用独立的密钥 #### 持久化密钥存储 - 用于加密密钥的 AES-256 加密存储 - 跨平台文件系统权限验证 - 针对 Windows 和类 Unix 系统的跨平台安全措施 #### 密钥生命周期管理 - 加密安全的随机密钥生成 - 全面的密钥完整性和格式验证 - 运行时文件系统权限验证 - 带有自动擦除的安全内存处理 ## 高并发审计 CipherGate 的合规审计系统专为大规模、高吞吐量的企业环境而设计: ### 单例异步日志记录器 - 线程安全的单例模式,确保所有线程和进程中只有一个实例 - 在 FastAPI 环境中智能检测和复用事件循环 - 通过异步日志写入进行后台处理以防止阻塞 - 基于队列的非阻塞日志处理架构 ### 防篡改审计跟踪 - 加密链连接,每条审计记录均与前一条记录相链接 - 具有单次写入审计跟踪和完整性验证的不可变日志 - 亚毫秒级审计日志处理的实时处理能力 - 通过异步文件 I/O 实现适用于大容量操作的可扩展存储 ### 高吞吐量性能 - 非阻塞 I/O 操作,防止阻塞关键应用路径 - 为大规模部署优化的内存使用 - 与 FastAPI 事件循环架构无缝集成 - 在没有运行事件循环的环境下的同步备用方案 ## 弹性特性 专为生产环境设计的全面弹性机制: ### 优雅降级 - 组件故障处理,在单个组件发生故障时保持系统连续性 - 在高级功能不可用时自动回退到安全默认设置 - 错误隔离,防止组件故障发生级联 - 服务连续性,确保核心安全功能保持正常运行 ### 文件系统安全 - 对安全关键文件进行运行时文件系统权限验证 - 具有特定平台安全措施的跨平台支持 - 对加密密钥文件采用严格的文件权限 (600) - 持续监控文件系统安全态势 ### 运营弹性 - 重启持久化,保留加密密钥和配置 - 系统故障后自动状态恢复 - 对所有关键组件进行全面健康检查 - 在维持安全性的同时处理性能降级 ### 安全监控 - 针对安全违规和异常的实时警报 - 持续的审计跟踪完整性验证 - 安全操作性能监控 - 为法规要求自动生成合规报告 ## 合规与审计 ### 法规对齐 | 法规 | 要求 | CipherGate 实现 | | :--- | :--- | :--- | | **GDPR** | 隐私权 | 动态数据脱敏 (PII) | | **HIPAA** | 技术保障措施 | AES-256 加密与审计跟踪 | | **PCI-DSS** | 支付卡安全 | Luhn 算法与银行卡脱敏 | | **NIST 800-207** | Zero-Trust 架构 | 持续验证中间件 | ### 审计日志示例 ``` { "event": "pii_masking_applied", "source_ip": "192.168.1.50", "endpoint": "/v1/user/data", "masked_fields": ["email", "credit_card"], "algorithm": "AES-256-GCM", "status": "success" } ``` ### 审计跟踪功能 - 加密链连接,每条日志条目均通过加密方式链接到上一条 - 篡改检测,自动检测日志修改尝试 - 实时监控,提供实时安全事件流 - 合规报告,自动生成 GDPR/HIPAA 合规报告 ### 安全监控 - 访问模式分析,检测异常访问模式 - 安全违规日志记录,自动记录策略违规 - 性能监控,包含请求延迟和吞吐量指标 - 错误跟踪,详细的错误日志记录以供故障排除 ## 设置与使用 ### 前置条件 - Python 3.11+ - pip 包管理器 ### 安装 ``` # Clone 仓库 git clone https://github.com/PkLavc/cipher-gate.git cd cipher-gate # 安装依赖 pip install -r requirements.txt # 启动代理服务器 python proxy.py ``` ### 配置 代理默认运行在 `http://localhost:8000`,并提供以下端点: - **健康检查**:`GET /health` - **API 代理**:`POST /api/proxy/{service_path:path}` - **文档**:`GET /docs` (Swagger UI) ### 使用示例 ``` # 使用示例数据测试代理 curl -X POST "http://localhost:8000/api/proxy/test-service" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -d '{ "user": { "name": "John Doe", "email": "john.doe@example.com", "ssn": "123-45-6789" }, "message": "Contact me at user@domain.com" }' ``` ### 基于角色的访问控制 CipherGate 支持四种具有不同数据访问级别的用户角色: - **Admin**:完全数据可见性 - **User**:部分脱敏(保留首尾字符) - **Guest**:完全脱敏 - **Auditor**:用于合规监控的完全可见性 ### 安全配置 为生产部署设置主密钥环境变量: ``` export CIPHERGATE_MASTER_KEY="your-64-character-hex-key-here" python proxy.py ``` ## 性能特征 ### 基准测试 - **加密/解密**:对于 10KB 的 payload < 100ms - **数据脱敏**:对于复杂的嵌套数据结构 < 100ms - **令牌验证**:每个请求 < 10ms - **审计日志记录**:每条日志条目 < 1ms ### 可扩展性 - **横向扩展**:无状态设计支持负载均衡 - **内存效率**:每个请求的内存占用最小 - **CPU 优化**:高效的加密操作 - **网络性能**:为代理请求增加极少的延迟 ## 开发与贡献 ### 代码质量标准 - 类型提示,确保全面的可维护性 - 详尽的 docstring 和内联注释 - 以安全为核心的测试覆盖率 - 对所有更改执行强制安全审查 ### 安全开发生命周期 1. 威胁建模与安全需求分析 2. 遵循 OWASP 指南的安全编码 3. 自动化安全测试执行 4. 以安全为核心的同行评审 5. 安全部署实践 ## 支持与维护 ### 安全更新 - 定期安全审计与季度评估 - 自动化的依赖项更新和安全补丁 - 对严重漏洞的 24 小时响应 - 通过安全公告进行透明的安全沟通 ### 专业服务 - 定制部署协助和实施支持 - 针对特定组织的安全评估 - Zero-Trust 架构培训计划 - 法规合规咨询 ## 作者 **Patrick - 计算机工程师** 要查看其他项目和作品集详情,请访问: [https://pklavc.github.io/projects.html](https://pklavc.github.io/projects.html) [![GitHub Sponsors](https://img.shields.io/badge/Sponsor%20me-%23ea4aaa?style=for-the-badge&logo=github-sponsors&logoColor=white)](https://github.com/sponsors/PkLavc)
标签:AES-256加密, API安全, API网关, AV绕过, DDM, FastAPI, GDPR合规, HIPAA合规, HMAC-SHA256, IP 地址批量处理, JSONLines, JSON输出, PII检测, Python, RBAC, RSA-2048, 个人身份信息检测, 人工智能安全, 企业安全, 加密网关, 动态数据脱敏, 合规性, 基于角色的访问控制, 安全代理, 审计日志, 授权访问控制, 数据传输安全, 数据隐私, 数据静态加密, 无后门, 网络安全, 网络资产管理, 计算机取证, 请求响应过滤, 逆向工具, 防御绕过, 防篡改, 隐私保护, 零信任