控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

填写文档满意度调查问卷,赢取缤纷好礼> HOT
文档中心 > 对象存储 > 最佳实践 > 数据安全 > 通过 HLS 加密防止视频泄露

通过 HLS 加密防止视频泄露

最近更新时间:2022-06-10 10:34:28

概述

对象存储(Cloud Object Storage,COS)数据处理提供了对 HLS 视频内容进行加密的功能。加密后的视频,无法分发给无访问权限的用户观看。HLS 加密涉及到业务侧的密钥服务和 Token 生成服务的搭建过程,所以本方案主要适用于能够自行搭建一套完整的鉴权及密钥管理服务的业务侧。

注意:

目前仅支持 HLS 标准加密。

实现原理

说明:

本加密方案中,COS 接入了腾讯云 KMS 服务。

加密流程

  1. 用户业务侧将视频上传到 COS 后,请求 HLS 加密。
  2. COS 收到加密请求后,向 KMS 请求加密密钥。
  3. COS 通过转码功能对视频进行 HLS 加密。
  4. 加密后,COS 通过 CDN 分发加密后的 HLS 视频文件。

解密流程

  1. 终端用户登录播放器终端,用户业务侧会对终端用户进行身份校验,校验通过后,会为播放终端分配一个 Token,并将带 Token 的播放地址返回给播放器端。
  2. 用户播放终端解析返回的 m3u8 文件,得到 “URI” 内容,向 URI 请求密钥。
  3. 用户业务侧的风控管理服务收到请求后,先根据用户逻辑自行判断合法性,再通过调用 KMS 服务的 API 查询密钥。
  4. 密钥管理服务将返回的密钥返回给播放终端。播放终端通过获取的密钥对 m3u8 文件进行解密并播放。

加密操作步骤

  1. 登录 对象存储控制台
  2. 在左侧导航栏中,单击存储桶列表,进入存储桶列表管理页面。
  3. 找到需要存储视频的存储桶,单击该存储桶名称,进入该存储桶管理页面。
  4. 在左侧导航栏中,选择数据工作流 > 公共配置 > 模板,进入模板配置页面。
  5. 选择音视频转码,单击创建转码模板,弹出创建转码模板窗口。
  6. 在创建转码模板窗口中,配置如下信息:
    • 模板名称:长度不超过64字符,仅支持中文、英文、数字、下划线_、中划线-*
    • 封装格式:选择 HLS。
    • 转码时长:可选为源文件时长、自定义配置。
    • 高级配置:
      • 视频加密:开启视频加密。
      • UriKey:用户搭建的密钥管理服务的地址。
  7. 单击确定,完成加密模板配置,后续选用此模板 配置工作流配置任务 即可实现加密视频。
目录