lawless-design/docs/00_项目概述/开发规范/规范-安全与数据保护.md
2026-07-09 14:39:17 +08:00

61 行
2.5 KiB
Markdown

此文件含有模棱两可的 Unicode 字符

此文件含有可能会与其他字符混淆的 Unicode 字符。 如果您是想特意这样的,可以安全地忽略该警告。 使用 Escape 按钮显示他们。

# 规范-安全与数据保护
> **位置**: `docs/开发规范/规范-安全与数据保护.md`
> **版本**: v1.0
> **日期**: 2026-07-08
> **关联**: AGENTS.md、GDD-02死亡惩罚/充值、GDD-06经济系统、TDD-07反作弊
---
## 1. 数据安全铁律
### 1.1 玩家数据保护
| 规则 | 优先级 | 说明 |
|------|--------|------|
| 所有玩家数据变更必须写 WAL | P0 | Write-Ahead Log,支持按时间点恢复 |
| 每日自动全量备份 + 每小时增量备份 | P0 | 保留 30 天,异地存储 |
| 敏感操作必须双人确认 + 审计日志 | P0 | 删除角色/转移货币/修改境界等 |
| 生产数据库禁止直连修改 | P0 | 必须通过审批工单 + 临时只读账号 |
| 玩家隐私数据加密存储 | P0 | 手机号/邮箱/身份证号 AES-256 加密 |
| GDPR/个人信息合规 | P1 | 支持账号注销、数据导出、删除请求 |
### 1.2 反作弊与安全红线
| 规则 | 优先级 | 说明 |
|------|--------|------|
| **服务端权威**:所有数值计算在服务端完成 | P0 | 客户端只负责展示,禁止本地计算战斗结果/掉落 |
| **校验链**:每次操作必须有服务端签名 | P0 | 战斗/交易/突破等关键操作防篡改 |
| **异常检测**:高频操作自动冻结 | P0 | 同一账号 100 次/秒以上自动冻结并告警 |
| **经济审计**:每日扫描异常交易 | P0 | 价格偏离均值 10 倍/同一物品异常流转 |
| **反编译保护**:客户端代码混淆 | P1 | TypeScript 编译后做代码混淆 + 签名验证 |
| **通信加密**TLS + 自定义协议加密 | P0 | 防止中间人攻击/数据包嗅探 |
| **防脚本**:行为模式检测 | P1 | 挂机行为 vs 脚本行为的模式差异识别 |
### 1.3 安全禁止行为
- ❌ 客户端本地计算战斗伤害/掉落结果
- ❌ 通信协议明文传输敏感数据
- ❌ 生产环境使用 root/管理员账号直连数据库
- ❌ 将玩家隐私数据写入日志
- ❌ 在代码中硬编码密钥/密码(必须走环境变量/密钥管理服务)
- ❌ 未经审计直接修改玩家数据GM 操作必须留痕)
---
## 2. 审计与合规
| 审计项 | 频率 | 保留时长 |
|--------|------|----------|
| 登录/登出日志 | 实时 | 90 天 |
| 交易流水 | 实时 | 永久 |
| GM 操作日志 | 实时 | 永久 |
| 战斗结果日志 | 实时 | 7 天(压缩) |
| 异常行为告警 | 实时 | 90 天 |
---
## 3. 版本记录
- **v1.0**2026-07-08: 初始版本,覆盖数据保护、反作弊、审计合规