生产环境安全检查清单
DRM-X 6.0 正式上线前的检查清单:最小权限凭据、服务端播放规则、敏感信息保护、日志安全、请求转发范围,以及播放结束后的会话释放。
凭据管理#
- 分别为 Development 和 Production 创建独立的 API 客户端。
- 播放集成只授予
license-tokens:create权限。 - 将 Access Key 保存在密钥管理服务或受保护的运行时配置中。不要放入源代码、镜像、前端构建文件、APK、IPA 或日志。
- 怀疑凭据泄露时立即更换,并删除不再使用的 API 客户端。
- 将出站请求限制在预期的 DRM-X API 和代理源站范围内。
授权控制#
- 从认证的服务器会话中解析
subject。 - 在服务器端将内容目录记录映射到可信且状态为 Published 的加密文件 Content IDs。
- 根据产品、套餐、租赁、课程、设备或内容档位,选择已批准的命名模板或完整自定义策略。
- 不要信任播放器提交的 Manifest URL、许可证 URL、策略 JSON、画质权限或用户身份。
- 每次实际发起播放时,生成一个新的、不可预测的会话 ID。
网络传输与浏览器限制#
- 使用 HTTPS,验证 TLS,并拒绝跳转到不可信地址。
- 明确设置超时时间及请求大小上限。
- 仅向响应中返回的证书、许可证、续期和会话释放路径附加授权信息。
- 原样保留原生 DRM Challenge 和许可证二进制数据,不要转换其字节内容。
- 返回播放响应时设置
Cache-Control: no-store,并避免将响应持久保存在浏览器中。
记录诊断信息时排除敏感数据#
记录关联 ID、阶段、状态、耗时、环境、应用 ID、DRM 系统和安全的内容引用。对请求头及查询参数进行脱敏。不要记录 Access Keys、DRM License Tokens、内容密钥、私钥、证书、原生 DRM Challenge、许可证响应体,或完整的成功播放响应。
准确描述安全保障情况当前平台的安全控制应描述为参照 ISO 27001 要求设计或正在开展认证准备工作。在实际完成认证之前,不得宣称已取得经认可的 ISO/IEC 27001 认证。
启用验收#
- 验证以下情况均会拒绝授权:用户无权观看、Token 过期、DRM 系统错误、Content ID 错误,或请求了未获准的画质。
- 对每个宣称支持的平台,使用实体设备验证播放及输出设备切换。
- 确认停止播放、更换视频、发生错误和关闭应用时,均会释放占用的并发播放名额。
- 检查已脱敏的诊断数据及事件处理手册。
- 备份受保护的配置,并在上线前验证能够恢复。
DRM-X 6.0