首页 / 安全体系 / 数据安全与隐私
数据安全与隐私
PII 加密(iamsvr / GORM AES-GCM)、配置加密、日志脱敏、密钥管理与数据留存。
数据安全总览
数据安全覆盖:字段级加密(PII)→ 配置加密 → 日志脱敏 → 密钥管理 → 留存与删除,贯穿 Java 与 Go 两侧。
PII 加密
| 位置 | 实现 | 说明 |
|---|---|---|
| Go iamsvr | gRPC PIIEncrypt / PIIDecrypt | 统一加解密服务,供跨语言调用 |
| Go 设备档案 | DmDeviceInfo GORM Hook(BeforeSave/AfterFind) | Phone/Mac/Address/Imei/LastIp 透明 AES-GCM 加解密;ENC: 前缀防重复加密;密钥 getPIIKey() 环境变量注入,禁止硬编码 |
| Java 侧 | 敏感字段按业务规则加密/脱敏 | 支付凭据、MFA secret、推送 Token 不落明文 |
PII 密钥严禁写入代码与日志;生产密钥从 KMS/环境变量注入,定期轮换。
配置加密
- go-share
config_crypto:敏感配置以ENC[AESGCM:...]格式加密后存入 Nacos。 - 内置默认密钥仅用于过渡(代码标注 TODO),正式生产必须迁移环境外密钥管理。
- Java 侧文档只写
${SECRET}占位符,凭据经部署密钥注入。
日志脱敏
| 位置 | 机制 | 脱敏内容 |
|---|---|---|
| Java 操作审计 | SensitiveAuditAspect | 审计日志中的敏感字段打码 |
| 日志管道 | FluentBit Filter + scrub.lua | IP 匿名化、JWT Token 丢弃、DSN URL 拦截 |
| 应用日志规范 | 开发约定 | 禁止打印密码、验证码、私钥、精确定位原始坐标;只记录脱敏 ID/状态/时间 |
密钥管理
- 目标:AWS KMS / Azure Key Vault / HSM 统一管理区域密钥,CMK 定期轮换。
- 当前过渡:环境变量注入 PII 密钥;配置加密
ENC[AESGCM:...]。 - 数据库层:底层存储卷 KMS 加密(EBS Volume Encryption / TDE)为基础设施要求。
数据留存与删除
| 数据 | 留存策略 |
|---|---|
| 轨迹数据 | 默认 ≤12 个月(除法律义务),过期物理删除 |
| 系统日志 | ≤6 个月;热 7 天 / 温 30 天 / 超期硬删(ILM) |
| 嵌入式硬件日志 | S3 Lifecycle 7 天自动硬删除 |
| TDengine 时序 | KEEP 365 DAYS 10(365 天保留 + 10 天清扫) |
| 安全审计日志 | 离线冷备份 ≥1 年,严禁删除 |
| 账号注销 | 一键注销后 10 个工作日内彻底抹除云端关联数据 |