文件
jw-beauty/docs/design/07-安全与鉴权方案.md

2.8 KiB

安全与鉴权方案

基于 软件系统说明.docx 整理。本文档用于把当前已知安全要求整理成可继续细化的设计骨架。

本文档不虚构签名算法、密钥管理方案或合规要求,只固定已知要求和必须补齐的实现细节。

已确认事实

  • 全链路传输使用 TLS 1.2+
  • 设备认证依赖 DeviceSecret
  • 用户认证为微信登录 + Token
  • Token 有效期为 7 天
  • 敏感数据需要加密存储
  • 需要 API 鉴权
  • 需要角色权限控制
  • 需要 API 级别鉴权

安全边界拆分

当前系统至少存在四类安全边界:

  • 小程序用户身份安全
  • 设备身份安全
  • 云端 API 访问安全
  • 后台管理权限安全

用户鉴权待补项

至少需要明确:

  • 微信登录到自有 token 的完整链路
  • Token 格式
  • Token 签名算法
  • Token 7 天有效期是否支持续期
  • Token 失效、登出、吊销机制
  • 多端并发登录规则

设备鉴权待补项

至少需要明确:

  • DeviceSecret 的签发时机
  • DeviceSecret 的保存位置
  • DeviceSecret 是否可轮换
  • 设备被盗用或泄露后的失效机制
  • 设备认证失败后的告警与禁用策略

API 安全待补项

至少需要明确:

  • API 鉴权中间件规则
  • 接口级权限定义
  • 限流策略
  • 防重放策略
  • 防刷策略
  • 请求日志中需要记录的审计字段

数据安全待补项

至少需要明确:

  • 哪些字段属于敏感数据
  • 加密字段范围
  • 加密方式
  • 脱敏展示规则
  • 数据保留周期
  • 备份与恢复的安全要求

后台权限安全待补项

至少需要明确:

  • 管理员认证方式
  • 角色权限模型
  • 高风险操作的二次确认规则
  • 操作日志保留策略
  • 是否需要登录告警和异常操作审计

建议最先统一的安全对象

为了后续设计不混乱,建议先统一这些对象的定义:

  • 用户身份
  • 设备身份
  • 管理员身份
  • 访问 token
  • 设备密钥
  • 角色
  • 权限

建议补充的安全设计模板

后续可按以下模板逐项补齐:

主题 已知要求 待确认实现 风险
用户登录 微信登录 + Token 待定义 待评估
设备认证 DeviceSecret 待定义 待评估
API 鉴权 API 级别鉴权 待定义 待评估
数据加密 敏感数据加密存储 待定义 待评估

待确认问题

  • 小程序 token 是否只用于云端 API,还是也影响设备绑定授权
  • 后台是否与小程序共用用户体系
  • 是否需要设备侧应用层签名或加密,而不仅是 TLS
  • 是否有合规或审计的特殊要求

当前结论

当前说明已经明确安全目标,但没有给出实现方案。最先要补的是 token 生命周期、DeviceSecret 生命周期、权限模型和敏感数据定义。