API 文档

有奖调研
文档中心 > 数据万象 > 最佳实践 > 通过 HLS 加密防止视频泄露

通过 HLS 加密防止视频泄露

最近更新时间:2021-07-29 15:18:00

概述

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

注意:

目前仅支持 HLS 标准加密。

实现原理

说明:

本加密方案中,数据万象接入了腾讯云 KMS 服务。

加密流程

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

解密流程

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

加密操作步骤

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