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

背景

防盗链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格式。
  • 需使用视频点播提供的iOS、Android、H5、Flash播放器对加密内容进行解密播放。

接入方法

前提条件:

  1. 开通视频点播服务

  2. 添加加速域名

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

接入流程:

  1. 在控制台的转码设置页面,选择加密转码模板。具体操作,请参见转码设置
    • 基本参数-封装格式设置为hls
    • 打开HLS加密开关,使用数据加密。
  2. 视频上传

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

  3. 视频转码

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

  4. 视频播放

    视频点播提供iOS、Android、H5、Flash多平台的播放SDK供集成,以便您在自己的应用或网站中完成视频播放。

    说明 加密视频,需使用播放凭证方式进行播放,播放器需要的参数playauth,可调用API接口或SDK获取 。更多信息,请参见获取视频播放凭证
    • Web播放器(H5/Flash):通过集成在视频管理-视频详情页模块的Web播放器代码片段,用户可以在自己的Web页面中嵌入播放器并实现播放。更多信息,请参见集成文档
    • 移动端播放器(iOS/Android):用户可以通过SDK快速集成到自己的应用中,Android请参见集成文档,iOS请参见集成文档
  5. 视频流管理
    加密转码输出的内容,流信息会标示”加密”,更多信息,请参见播放信息 PlayInfo。在控制台也会展示私有加密标示,便于进行多种方式的内容管理。私有加密

方案扩展

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