6-security_and_quality_design.md 2.62 KB

🔒 安全工程师 | 步骤 6/7 | 15.1s


1. 认证与授权方案

内网仍按零信任设计。登录采用账号密码 + 可选 MFA,密码使用 Argon2/BCrypt 哈希。API 使用短期 JWT,包含 userId、role、workstation、scope,服务端校验签名、过期、签发方;刷新令牌或 Session 存 Redis,可强制下线。权限采用 RBAC:菜单、按钮、接口、工序角色分离;数据权限按工厂、产线、工位、工单、供应商范围过滤。前端权限仅用于展示,后端必须二次校验。

2. 工序操作防篡改与审计设计

扫码、开工、测试、返修、关闭、完工均写入 trace_event,事件只追加不可改。每条事件记录操作者、角色、工位、设备、IP、前后状态、原因、附件 hash,并用 previous_hash/current_hash 串联。管理员修正不得覆盖原记录,只生成更正事件。关键动作要求备注或二次确认。

3. 关键接口安全

扫码提交:校验 SN、工序顺序、工位权限、冻结状态,使用 Idempotency-Key、唯一约束和乐观锁防重复。
测试上传:限制文件类型、大小、魔数,保存 hash,测试项按服务端标准判定。
异常关闭:仅责任角色可操作,必须填写原因、处理结果、复测记录。
工单完工:校验所有 SN、工序、异常、测试均闭环后方可完成。

4. 数据安全

敏感字段如密码、令牌、个人信息加密或脱敏展示;日志禁止记录密码、Token、完整连接串。数据库最小权限账号访问,备份加密并定期恢复演练。审计日志、登录日志、接口日志按合规周期留存,支持按人、SN、设备、工单追责。

5. 工业现场风险

断网:前端提示只读或排队,恢复后按幂等键补交。重复提交:按钮防抖 + 后端唯一约束。设备离线:状态心跳、超时告警。时间不同步:服务器统一授时,客户端时间仅参考。越权操作:后端 RBAC + 工位绑定校验,403 记录审计。

6. 测试策略

覆盖领域状态机单元测试、接口鉴权与幂等测试、扫码到完工端到端测试、角色/数据权限矩阵测试、文件上传安全测试、并发提交测试、异常返修闭环测试、追溯链路回放测试,验证事件 hash、状态和报表一致。

7. 上线前检查清单

启用 HTTPS;关闭调试接口;JWT 密钥安全存放并可轮换;数据库账号最小权限;备份恢复通过;限流启用;安全响应头配置;权限矩阵验收;审计链路不可篡改验证;慢查询压测通过;设备离线、断网、重复扫码演练通过。