文档首页 > > 最佳实践> 如何保障直播资源的安全?

如何保障直播资源的安全?

分享
更新时间:2020/09/28 GMT+08:00

场景说明

为保护用户直播源站的资源不被非法源站下载盗用,视频直播服务提供了Referer防盗链、Key防盗链、IP黑白名单鉴权机制和禁推功能。

  • 开启鉴权机制后,CDN会对访问者的身份进行识别和过滤,符合规则的才可使用直播服务,其它非法的访问将予以拒绝。
  • 禁推功能主要针对正在推送的直播流,在直播过程中,发现直播流内容不合法或被非法盗用,用户可对直播流进行禁止推送操作,从而保障直播资源的安全。

实现原理

图1所示,视频直播服务主要通过以下几方面保障直播资源的安全。

图1 直播安全架构图
  • 推流鉴权:主播使用租户提供的带加密串的鉴权推流地址向CDN请求直播推流,CDN会根据推流地址中携带的鉴权信息校验请求的合法性,仅校验通过的请求会被允许。
  • 播放鉴权
    • Referer防盗链:配置Referer黑名单或白名单后,CDN会根据名单对播放请求中携带的Referer字段进行识别,允许或拒绝播放请求。
    • Key防盗链:观众使用租户提供的带加密串的鉴权播放地址向CDN请求直播播放,CDN会根据请求地址中携带的鉴权信息进行检验,判断地址是否在有效期内,只有通过校验的请求才会被允许,从而保障直播资源的安全。
    • IP黑白名单:配置IP黑名单或白名单后,CDN会根据名单对播放请求者的IP进行识别和过滤,允许或拒绝播放请求。
  • 直播流管理:在直播过程中,发现直播流内容不合法或推流地址被非法盗用,将直播控制台上将此直播流加入禁推名单,对直播流进行封禁,在执行恢复推流前将无法进行推流活动。

推流鉴权

在直播推流前,为推流域名配置Key防盗链,通过鉴权地址的时效性保障直播资源的安全。

  1. 登录视频直播控制台
  2. 在左侧导航树中选择域名管理,进入域名管理页面。
  3. 在需要配置鉴权信息的域名行单击“管理”
  4. 在左侧导航树中选择基础配置 > 鉴权配置
  5. 选择Key防盗链,弹出“Key防盗链”对话框。
  6. 单击“开关”,配置Key防盗链参数,如图2所示。

    图2 配置Key防盗链
    表1 Key防盗链参数说明

    参数名

    描述

    类型

    计算鉴权串的方式,可选为:方式A、方式B或方式C。

    Key

    鉴权key值,支持自定义设置,由16位的字母和数字组成。

    时长

    URL鉴权信息的超时时长,指的是鉴权信息中携带的请求时间与直播服务收到请求时的时间的最大差值,用于检查直播推流URL或者直播播放URL是否已过期,单位:秒,范围限制:1分钟-30天。

  7. 配置完成后,单击“确定”
  8. 根据配置的鉴权类型拼接对应的鉴权地址。

    Key防盗链配置成功后,原始地址将无法使用,您需要拼接对应的推流鉴权地址。各鉴权类型对应的鉴权地址拼接示例请参见Key防盗链

    • 鉴权方式A
      鉴权URL格式
      原始URL?auth_key={timestamp}-{rand}-{uid}-{md5hash}
      md5hash的计算公式:
      sstring = "{URI}-{Timestamp}-{rand}-{uid}-{Key}"
      HashValue = md5sum(sstring)
    • 鉴权方式B
      鉴权URL格式
      原始URL?txSecret=md5(Key + StreamName + txTime)&txTime=hex(timestamp)
    • 鉴权方式C
      鉴权URL格式
      原始URL?auth_info=加密串.EncodedIV
      鉴权字段的生成算法:
      • LiveID=<AppName>+"/"+<StreamName>
      • 加密串=UrlEncode(Base64(AES128(<Key>,"$"+<Timestamp>+"$"+<LiveID>+"$"+<CheckLevel>)))
      • EncodedIV=Hex(加密使用的IV)

  9. 验证防盗链功能。

    使用视频云APP,通过鉴权推流地址进行验证,若原始推流地址无法成功推流,使用鉴权推流地址能成功推流,则表示Key防盗链生效。

播放鉴权

为直播播放域名配置Referer防盗链、Key防盗链或IP黑白名单。

  1. 登录视频直播控制台
  2. 在左侧导航树中选择域名管理,进入域名管理页面。
  3. 在需要配置鉴权信息的域名行单击“管理”
  4. 在左侧导航树中选择基础配置 > 鉴权配置
  5. 请根据实际需求配置以下鉴权方式。

    • Referer防盗链
      1. 选择Referer防盗链,弹出“Referer防盗链”对话框。
      2. 单击“开关”,配置Referer防盗链参数,如图3所示。
        图3 配置Referer防盗链
        表2 Referer防盗链配置

        参数名

        描述

        类型

        支持黑名单和白名单模式。
        • Referer黑名单:允许非名单内的域名请求访问资源,拒绝名单中的域名请求访问。
        • Referer白名单:允许名单内的域名请求访问资源,拒绝其它域名请求访问。

        您可以设置是否允许空Referer字段访问资源,即是否允许通过浏览器地址栏直接访问资源URL。

        规则

        黑名单或白名单中的域名。

        • 规则最多支持100条(最少1条),每一行一条记录,或者以英文“;”分隔。
        • 域名为正则匹配,若填写“^http://test.*com$”,则“http://test.example.com”“http://test.example01.com”也会匹配成功。
      3. 配置完成后,单击“确定”
    • Key防盗链

      播放域名的Key防盗链配置与推流域名的Key防盗链配置方法相同,具体请参见推流鉴权

    • IP黑白名单
      1. 选择IP黑白名单,弹出“IP黑白名单”对话框,如图4所示。
        图4 配置IP黑白名单
      2. 根据“鉴权类型”输入禁止或允许访问的播放域名IP地址,您也可以通过输入IP网段添加黑白名单。
      3. 配置完成后,单击“确定”

直播流管理

在直播过程中,若发现直播流内容不合法或推流地址被非法盗用,可以对直播流进行禁止推流操作,从而保障直播资源的安全。

  1. 登录视频直播控制台
  2. 在左侧导航树中选择直播管理 > 直播流管理,进入直播流管理页面。
  3. 选择需要禁止直播推流的域名。
  4. 在需要禁推的直播流行单击“禁推”,弹出“禁推”框。

    图5 禁推

  5. 在弹出的“禁推”框中选择禁推类型。

    禁止推流后的直播流信息可以在“禁推流”页签进行查看。

    图6 禁推配置

    限时:最长支持禁推90天,在恢复时间前,该直播流无法进行推流活动。

正在推送的直播流加入禁推名单后,在恢复推流前该推流地址将无法进行直播活动。

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问