【问题标题】:Securing HLS with Token Authentication使用令牌身份验证保护 HLS
【发布时间】:2015-03-04 01:33:51
【问题描述】:

我正在尽我所能保护我们 CDN 上的 HTTP Live Stream 格式视频。我想防止热链接、共享 url、防止访问尚未发布的流。

每个视频都有多个比特率,因此 HLS 文件包含一个主 m3u8 清单,该清单指向几个子清单文件,这些子清单文件又指向 ts 文件(传输流)。这些 ts 文件是 9 秒的 mp4 视频片段。

HLS 文件存储在我们的 CDN 上,可以通过 HTTPS 访问。我们在 CDN (Edgecast) 上启用了令牌身份验证。

视频将从付费墙后面流式传输,并且需要在不支持 AES 加密的 JWPlayer 中播放。

我最好的选择是什么?现在,我正在动态生成 m3u8 清单文件并将令牌插入到 .ts 文件的 url 中。这样 ts 文件只在 60 分钟内有效?使用令牌保护子清单文件是否更聪明?

有没有更好的方法来保护内容并且仍然能够在 JWPlayer 6 中播放?

【问题讨论】:

  • 嗨,您是如何将令牌插入到 m3u8 和 .ts 文件的 url 中的?

标签: security video token jwplayer6 http-live-streaming


【解决方案1】:

我有类似的issue。我想保护存储在 S3 存储桶中的(验证和授权)HLS 流(主播放列表 + 分段文件)。这是我的解决方案:

  • 我为存储私有 HLS 流的存储桶创建了 VPC endpoint
  • 然后我实现了反向代理并授予它访问此 S3 VPC 端点的权限

因此,播放器发出的每个请求(针对主播放列表文件或片段)都会通过代理。玩家需要设置几个自定义 HTTP 标头(身份验证令牌、用户信息等)。然后反向代理正在对我的用户 API 进行身份验证和授权。基于此结果,反向代理正在将请求传递给给定的 S3 内容或拒绝它。

【讨论】:

    【解决方案2】:

    【讨论】:

    • 即使使用 AES,密钥也是通过清单传递的,因此用户仍然可以使用密钥并在他们身边解密。除了使用 DRM 之外没有其他真正的解决方案吗?
    • 恐怕我们不支持 DRM。
    • @PitDigger 你找到解决方案了吗?!
    • 我们在 JW7 中支持 DASH 的 DRM。
    • @Mr.Hyde 除了 DRM 之外,没有真正的解决方案可以真正保护流。具有基本加密和 curl 技能的用户可以轻松破解流。
    猜你喜欢
    • 2016-06-09
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2021-08-22
    • 2017-01-05
    • 2019-06-28
    相关资源
    最近更新 更多