CDN加速

HLS标准化加密

更新时间:2021-01-22 13:35:00

一. 功能简介

  在“内容为王”的视频领域,用户并不关心在哪个网站上观看视频,而是在乎哪个网站上有自己喜欢的视频。为了提升自己的品牌影响力,增加用户粘度,以及培养用户付费观看的习惯,视频网站加大了自制内容的投入,以便提供差异化服务。对于大众口碑好、关注度高的优质IP,视频网站则不惜花费重金购买独家版权,以吸收用户。
  在巨大内容成本投入的情况下,如何避免独家视频被下载传播,导致视频网站和内容提供者的利益受到侵害,便成为视频网站亟需解决的问题。
  网宿作为中国CDN行业的领航者,一直致力于保障客户的服务质量,维护客户的合法利益。为帮助客户解决视频版权问题,网宿推出了HLS DRM加密功能,通过对视频文件进行加密,用户只能通过特定的播放器才能正常播放视频文件,达到保护版权的目的。

二. 功能说明

2.1 基本原理

  HLS协议定义了一个加密标签:#EXT-X-KEY,用于标识视频文件是否被加密,用什么算法进行加密,并指明获取解密密钥的地址信息。
  播放器获取明文的m3u8文件,根据“#EXT-X-KEY”标签识别出视频文件经过加密,需要通过“URI”参数携带的URL信息获取解密密钥,并根据“METHOD”参数携带的算法信息对视频文件进行解密,才能正常播放视频文件。
  带有“#EXT-X-KEY”标签的m3u8文件示例如下:

网宿科技再度获评“2018行业影响力品牌”

图1 使用HLS DRM加密功能的m3u8文件示例

  在使用HLS DRM加密功能时,需要注意:

  • 为避免合法用户获取解密密钥时,解密密钥在传输过程中被非法截取,播放器获取解密密钥的请求推荐使用https协议进行传输。
  • 在使用https协议进行传输时,可以同时让APP端在请求解密密钥时动态生成鉴权参数,由服务器对请求进行合法性校验,以判断是否进行响应。
  • 为避免合法用户获取到解密密钥后,将解密密钥进行非法传播,或者非法用户通过明文的m3u8文件知悉获取解密密钥的地址后进行非法请求,服务器可以先将解密密钥进行加密,再由特定的播放器进行解密,最后才得到解密密钥。
  • 如果对密钥也进行加密,由于播放器获取到密钥后需要先对密钥进行解密,所以需要特定的播放器。

2.2 业务流程

  HLS DRM加密功能的关键是视频文件的加密、解密密钥的管理以及客户端视频的解密及播放。基于解密密钥管理的主体不同,网宿提供了网宿管理密钥和客户管理密钥两种方案,以便满足不同客户需求。
  下面以移动端在请求解密密钥时动态生成鉴权参数为例进行介绍。

2.2.1 网宿管理密钥

网宿科技再度获评“2018行业影响力品牌”

图2 网宿管理密钥 业务流程图


  HLS DRM加密功能包括两大部分:转码加密和解密播放,其中13为转码加密,48为解密播放。具体业务流程为:
  1. 客户通过API接口向网宿云存储下发HLS DRM加密的http/https请求 ,接口传递的参数为用于加密ts的key及其存储地址。为避免客户调用网宿云存储的API接口下发加密请求时,API接口中携带的key被非法截取,API接口中的key需要进行非对称加密,非对称公钥由网宿云存储提供。
  2. 网宿云存储通过API接口向网宿云转码下发HLS DRM加密请求,接口传递的参数包括用于加密ts的key以及用于解密key的非对称私钥。
  3. 网宿云转码通过非对称私钥解密出key,并用key对ts进行加密,同时生成新的m3u8文件(增加加密标签),并将新的m3u8、已加密ts文件和key,一并返回给网宿云存储。
  4. 用户发起视频请求,应用提示先登录,用户输入账号进行登录。目前在线教育、会员视频等有版权要求的应用,客户为了对用户进行管理,在播放视频或者分享时要求进行账号登录和验证。
  5. 登录验证通过。
  6. 用户请求视频,播放器向CDN节点请求m3u8文件,CDN节点响应m3u8文件。如果CDN节点没有该m3u8文件,则回云储存获取该m3u8文件并响应给客户。
  7. 播放器从m3u8文件中提取key的存储地址,并动态生成鉴权参数,拼装后向CDN节点发起https请求,CDN节点鉴权通过后,回网宿云存储获取加密密钥,并响应给播放器。
  8. 播放器通过http或者https协议 向CDN节点发起ts请求,CDN节点回网宿云存储获取ts文件,并响应给播放器,播放器对ts文件进行解密播放。

2.2.2 客户管理密钥

网宿科技再度获评“2018行业影响力品牌”

图3 客户管理密钥 业务流程图


  与网宿管理密钥方案不同的是,客户需要提供鉴权中心和密钥管理中心,分别用于key请求鉴权和key存储管理。

三. 适用场景

  适用于在线教育、在线培训、财经金融、独播剧、版权音乐等需要进行版权保护的应用场景。

四. 注意事项

  HLS DRM加密功能属于增值服务,若要使用需另行付费。
  视频处理相关功能只能对保存在云存储上的视频文件进行操作,如果要使用必须同时开通云存储服务。