📄 docs: 添加游戏加速器完整技术方案(14部分)

This commit is contained in:
大海
2026-06-06 11:46:01 +08:00
parent a188ee1426
commit b87cac57ce
14 changed files with 5422 additions and 0 deletions
@@ -0,0 +1,183 @@
# 第十部分:安全设计
## 10.1 用户认证
```
┌──────────────────────────────────────────────────────────────────┐
│ 用户认证体系 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 认证流程: │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 用户登录 │───→│ 身份验证 │───→│ Token签发│───→│ 返回客户端│ │
│ │ 提交凭证 │ │ 密码校验 │ │ JWT生成 │ │ 缓存Token │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ │
│ Token机制(JWT): │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ Access Token: │ │
│ │ - 有效期:2小时 │ │
│ │ - 签名算法:RS256 (RSA + SHA256) │ │
│ │ - 包含信息:user_id, device_id, role, exp │ │
│ │ - 存储位置:客户端内存(不持久化) │ │
│ │ │ │
│ │ Refresh Token: │ │
│ │ - 有效期:30天 │ │
│ │ - 存储位置:Redis + 客户端安全存储 │ │
│ │ - 一次性使用(刷新后失效) │ │
│ │ - 支持主动撤销 │ │
│ │ │ │
│ │ Token刷新流程: │ │
│ │ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │
│ │ │Access │───→│过期检测│───→│Refresh │───→│新Token │ │ │
│ │ │过期 │ │自动刷新│ │验证 │ │签发 │ │ │
│ │ └────────┘ └────────┘ └────────┘ └────────┘ │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ 密码安全: │
│ - 哈希算法:bcrypt (cost=12) │
│ - 盐值:每个用户独立随机盐值 │
│ - 最小长度:8位 │
│ - 复杂度要求:大小写+数字+特殊字符 │
│ │
└──────────────────────────────────────────────────────────────────┘
```
## 10.2 设备绑定与防共享
```
┌──────────────────────────────────────────────────────────────────┐
│ 设备绑定与防共享 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 设备指纹生成: │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 组合以下信息生成唯一指纹: │ │
│ │ - CPU ID │ │
│ │ - 主板序列号 │ │
│ │ - 硬盘序列号 │ │
│ │ - MAC地址 │ │
│ │ - 操作系统版本 │ │
│ │ - 客户端版本 │ │
│ │ │ │
│ │ 指纹算法:SHA256(组合字符串) │ │
│ │ 指纹格式:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ 设备限制策略: │
│ ┌──────────────┬──────────────┬────────────────────────────┐ │
│ │ 套餐类型 │ 设备限制 │ 说明 │ │
│ ├──────────────┼──────────────┼────────────────────────────┤ │
│ │ 免费版 │ 1台 │ 绑定后不可更换 │ │
│ │ 月卡/季卡 │ 2台 │ 可解绑,30天冷却期 │ │
│ │ 年卡 │ 3台 │ 可解绑,30天冷却期 │ │
│ │ 电竞版 │ 5台 │ 可解绑,7天冷却期 │ │
│ └──────────────┴──────────────┴────────────────────────────┘ │
│ │
│ 防共享检测: │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 规则1:同时在线检测 │ │
│ │ - 同一账号在不同设备同时在线 │ │
│ │ - 触发条件:不同设备指纹 + 相同账号 + 时间重叠 │ │
│ │ - 处理:通知用户 + 限制新设备登录 │ │
│ │ │ │
│ │ 规则2:异地登录检测 │ │
│ │ - 同一账号在短时间内不同地区登录 │ │
│ │ - 触发条件:城市变化 + 时间<30分钟 │ │
│ │ - 处理:要求二次验证 │ │
│ │ │ │
│ │ 规则3:频繁切换设备 │ │
│ │ - 同一账号频繁在不同设备切换 │ │
│ │ - 触发条件:24小时内切换>3次设备 │ │
│ │ - 处理:冻结账号24小时 + 人工审核 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────┘
```
## 10.3 数据加密
```
┌──────────────────────────────────────────────────────────────────┐
│ 数据加密方案 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 传输加密: │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 客户端 ←──TLS 1.3──→ API Gateway │ │
│ │ - 证书:Let's Encrypt + 自签证书 │ │
│ │ - 密钥交换:X25519 │ │
│ │ - 加密套件:TLS_AES_256_GCM_SHA384 │ │
│ │ │ │
│ │ 客户端 ←──自定义加密──→ 加速节点 │ │
│ │ - 密钥交换:ECDH (Curve25519) │ │
│ │ - 数据加密:AES-256-GCM │ │
│ │ - 完整性:HMAC-SHA256 │ │
│ │ - 密钥轮换:每24小时 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ 存储加密: │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 敏感字段加密(应用层): │ │
│ │ - 手机号:AES-256-GCM 加密存储 │ │
│ │ - 邮箱:AES-256-GCM 加密存储 │ │
│ │ - 支付信息:不存储(支付平台处理) │ │
│ │ │ │
│ │ 数据库加密(存储层): │ │
│ │ - MySQL TDE (Transparent Data Encryption) │ │
│ │ - 备份文件加密 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ 客户端安全: │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ - 本地配置加密存储(DPAPI/Keychain │ │
│ │ - 代码混淆(VMProtect/Themida │ │
│ │ - 反调试检测 │ │
│ │ - 完整性校验 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────┘
```
## 10.4 防DDoS与防作弊
```
┌──────────────────────────────────────────────────────────────────┐
│ 防DDoS与防作弊 │
├──────────────────────────────────────────────────────────────────┤
│ │
│ 防DDoS
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 层级1:云服务商防护 │ │
│ │ - 阿里云DDoS防护(10Gbps基础防护) │ │
│ │ - Cloudflare Spectrum(游戏流量防护) │ │
│ │ │ │
│ │ 层级2:接入层防护 │ │
│ │ - SYN Cookie │ │
│ │ - 连接数限制 │ │
│ │ - IP限速 │ │
│ │ │ │
│ │ 层级3:应用层防护 │ │
│ │ - 请求频率限制 │ │
│ │ - 异常流量检测 │ │
│ │ - 自动封禁 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
│ 防作弊: │
│ ┌──────────────────────────────────────────────────────────┐ │
│ │ 1. 加速时长作弊 │ │
│ │ - 服务端计时,不信任客户端 │ │
│ │ - 心跳验证(防止篡改时间) │ │
│ │ │ │
│ │ 2. 流量作弊 │ │
│ │ - 流量统计双端校验 │ │
│ │ - 异常流量检测 │ │
│ │ │ │
│ │ 3. 账号共享 │ │
│ │ - 设备指纹检测 │ │
│ │ - 同时在线限制 │ │
│ │ - 异地登录检测 │ │
│ └──────────────────────────────────────────────────────────┘ │
│ │
└──────────────────────────────────────────────────────────────────┘
```