全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 钉钉智能硬件
视频直播

直播安全

更新时间:2017-11-07 12:05:59

场景

  • 我使用阿里云做直播,有什么手段保护直播安全?

准备工作

  • 开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 直播官网详情页 中单击 立即开通 ,开通阿里云直播服务。
  • 如您已经能够使用阿里云进行直播,但还没有进行过直播,可参考 如何使用 PC 推流

系统架构

由下图可知,我们可以通过三个方面控制直播的安全。

3

  • 对推流进行鉴权
  • 对直播流的管控
  • 对播放进行鉴权

直播鉴权

推流鉴权与播放鉴权的机制是一样的,都是属于直播鉴权。

  • 鉴权原理:用户对加速域名设置一个密钥,并根据将访问阿里云的 uri、时间戳、密钥构成的字符串进行 hash,将 hash 值以及时间戳作为请求参数的一部分,当如下两项通过时,允许访问该 url。

    • 时间戳没有超过当前时间。
    • 服务端用同样的 hash 算法计算 hash 值,请求参数中的 hash 值一致。
  • 鉴权算法:

    • 未鉴权 url:http:// DomainName/AppName/StreamName.flv
    • 鉴权后的 url:http:// DomainName/Filename?auth_key=timestamp-rand-0-md5hash
  • 参数说明:

    • timestamp:失效时间,整形正数,固定长度 10,1970 年 1 月 1 日以来的秒数。用来控制失效时间。
    • rand:随机数,一般设成 0。
    • md5hash:通过md5算法计算出的验证串,算法(假设用户的密钥为 123456:md5hash=md5(timestamp-rand-0-123456)。
  • 一个鉴权的例子:

    • 用户给 a.com 这个域名配置了一个鉴权密钥:xyz,希望鉴权有效时间为:2017-07-28 05:43:20,准备用 rtmp://video-center.alivecdn.com/live/abc?vhost=a.com 进行推流,相应的鉴权计算逻辑为:

      推流
      • 获取推流 uri:/live/abc
      • 获取 timestamp:过期时间 2017-07-28 05:43:200 的unixtimestamp为:1501191800。
      • 组装加密字符串:/live/abc-1501191800-0-0-xyz
      • 计算加密后的字符串:md5 (“/live/abc-1501191800-0-0-xyz”) = 7856896499b661b1123dca82d7406aa3。
      • 拼接加密后的推流 url:rtmp://video- center.alivecdn.com/live/abc?vhost=a.com?auth_key=1501191800-0-0-7856896499b661b1123dca82d7406aa3
      播放
      • 播放的计算方法与推流类似,以 httpflv 播放地址为例。未鉴权的 url 为:http:// a.com/live/abc.flv
      • 获取播放 url:/live/abc.flv
      • 获取 timestamp:过期时间 2017-07-28 05:43:200 的 unixtimestamp 为:1501191800。
      • 组装加密字符串:/live/abc.flv-1501191800-0-0-xyz
      • 计算加密后的字符串:md5(“/live/abc.flv-1501191800-0-0-xyz”) = b022238fd0cd1c8efae2ba84fc0c9119
      • 拼接加密后的推流 url:http://a.com/live/abc.flv?auth_key=1501191800-0-0-b022238fd0cd1c8efae2ba84fc0c9119
      • 设置方法:可以在直播控制台进行设置,控制台中鉴权计算器,可以方便的生成鉴权 url。详情参考 直播鉴权

直播流管控

直播流管控针对直播推流,在直播过程中,发现直播流内容不合法,除了能够通过终止推流停止直播以外,还能够通过直播流管控手段,对直播流进行封禁。

进入 视频直播控制台,在流管理列表中可以看到加入黑名单选项。将视频就设置黑名单后,此条流执行禁推功能,将不会在接收推流的状态。

加入黑名单

本文导读目录