PkLavc/cipher-gate
GitHub: PkLavc/cipher-gate
基于 FastAPI 的零信任安全代理,通过动态数据脱敏、AES-256 加密和自动化 PII 检测,为传输中的敏感数据提供合规防护与审计能力。
Stars: 10 | Forks: 0
# CipherGate 安全代理
[](https://python.org)
[](https://github.com/PkLavc/cipher-gate)
[](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)
[](https://github.com/sponsors/PkLavc)
标签:AES-256加密, API安全, API网关, AV绕过, DDM, FastAPI, GDPR合规, HIPAA合规, HMAC-SHA256, IP 地址批量处理, JSONLines, JSON输出, PII检测, Python, RBAC, RSA-2048, 个人身份信息检测, 人工智能安全, 企业安全, 加密网关, 动态数据脱敏, 合规性, 基于角色的访问控制, 安全代理, 审计日志, 授权访问控制, 数据传输安全, 数据隐私, 数据静态加密, 无后门, 网络安全, 网络资产管理, 计算机取证, 请求响应过滤, 逆向工具, 防御绕过, 防篡改, 隐私保护, 零信任