阿里云视频加密可针对视频数据进行加密,本文为您介绍优势、整体架构和接入方法,并提供方案扩展方法。

背景

防盗链URL不能防止用户通过一次付费行为拿到付费视频合法的防盗链URL,将视频下载到本地,进而实现二次分发。因此,防盗链方案对于视频版权保护是不够的。视频文件一旦泄露,会给付费观看模式造成十分严重的经济损失。

优势介绍

阿里云视频加密是对视频数据加密,即使下载到本地,视频本身也是被加密的,无法恶意二次分发。视频加密可有效防止视频泄露和盗链问题,广泛用于在线教育、财经金融、行业培训、独播剧等在线版权视频领域。

采用阿里云私有加密算法,安全级别高,能够便捷、高效、安全地保护视频资源。

  • 每个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引起大范围的安全问题。
  • 视频点播提供完善的权限管理机制“子账号+播放凭证”。
  • 视频点播提供信封加密机制“密文Key+明文Key”,明文Key不存储,所有过程只在内存中。
  • 视频点播提供安全的播放内核SDK。

整体架构

阿里云视频加密方案包含两部分:加密转码 + 解密播放架构
  • 加密转码
    1. App后台发起视频加密

      业务方提交需要数据加密的转码作业。(上图中流程①)

    2. 视频点播获取加密密钥

      视频点播服务负责通过密钥管理服务KMS生成明文Key和密文Key。(上图中流程②)

    3. 视频加密转码

      使用明文Key来加密视频文件,转码完成后,明文Key丢弃,不存储。(上图中流程③)

    4. 转码完成+消息通知

      保存加密后的视频文件,并给业务方发送消息通知。(上图中流程④)

  • 解密播放
    1. 业务授权

      移动端的App或者Web页面访问视频时,先访问业务方自己的API或后端页面,业务方可以在这里加上自己的权限控制(例如需要登录才能播放,建议使用HTTPS)。如果业务上允许播放,则通过业务方子账号的AK访问STS,获取播放凭证,并返回给App/Web端。

    2. 获取播放地址

      移动端的App或者Web页面把播放凭证和媒体ID参数传给阿里云播放服务,播放器SDK会负责剩下的播放流程:

      • 根据媒体ID从视频点播服务获取对应的多格式、多清晰的播放地址。
      • 加密视频获取对应的加密钥匙。
    3. 解密播放

      视频云提供了安全的播放内核SDK,使用加密钥匙对内容解密,然后进行视频播放。

注意 阿里云视频加密仅支持输出HLS格式,且只能使用视频点播提供的阿里云播放器对加密内容进行解密播放。

接入方法

前提条件:

  1. 开通视频点播服务

  2. 添加加速域名

  3. 完成点播加速域名CNAME绑定

接入流程:

  1. 登录视频点播控制台,在点播控制台左侧的导航栏选择配置管理,单击媒体处理配置 > 转码模板组,在转码模板组页面单击添加转码模板组。具体操作,请参见普通转码模板设置
    • 在普通转码模板区域单击添加模板,在添加模板页面将基本参数区域中的封装格式设置为hls
    • 在视频打包模板区域单击添加模板,在视频打包模板页面打开高级参数区域的视频加密开关,使用数据加密。
  2. 视频上传

    可以通过SDK上传、OpenAPI上传、控制台上传、OSS第三方工具上传等多种方式来将已有视频文件上传到视频点播。更多信息,请参见媒体上传概述

  3. 视频转码

    视频上传完成后会自动触发转码,转码完成后视频状态标记为正常可播放。更多信息,请参见普通转码模板设置

  4. 视频播放

    视频点播提供iOS、Android、Web(H5、Flash)多平台的播放器SDK供集成,以便您在自己的应用或网站中完成私有加密视频的播放。暂不支持在移动端iOS平台的Web播放器中播放私有加密视频(此场景推荐使用HLS标准加密对视频进行加密),详细内容请参见播放阿里云视频加密(私有加密)视频

    说明 如使用播放凭证方式进行播放私有加密视频,播放器需要的参数playauth,可调用API接口或SDK获取。更多信息,请参见获取音视频播放凭证
  5. 视频流管理
    加密转码输出的内容,流信息会标示“加密”,更多信息,请参见播放信息 PlayInfo。在控制台也会展示私有加密标示,便于进行多种方式的内容管理。私有加密

方案扩展

如果终端用户有离线下载需求,为保证视频安全,建议开启安全下载。具体操作,请参见下载设置。将视频文件通过密钥进行二次加密,下载后在SDK内部完成视频解密,保障离线视频仅能通过唯一应用进行安全播放,让离线视频更加安全。方案扩展