云上直播服务安全攻略,有效保护直播源站资源

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

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

实现原理

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

图1 直播安全架构图

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

推流鉴权

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

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

图2 配置Key防盗链

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

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)
  • 验证防盗链功能。

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

播放鉴权

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

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

图3 配置Referer防盗链

表2 Referer防盗链配置
参数名描述
类型支持黑名单和白名单模式。Referer黑名单:允许非名单内的域名请求访问资源,拒绝名单中的域名请求访问。Referer白名单:允许名单内的域名请求访问资源,拒绝其它域名请求访问。您可以设置是否允许空Referer字段访问资源,即是否允许通过浏览器地址栏直接访问资源URL。
规则黑名单或白名单中的域名。规则最多支持100条(最少1条),每一行一条记录,或者以英文“;”分隔。域名为正则匹配,若填写“^http://test.*com$”,则“http://test.example.com”和“http://test.example01.com”也会匹配成功。
  • 配置完成后,单击“确定”。
    • Key防盗链

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

  • IP黑名单
    • 选择“IP黑名单”,弹出“IP黑名单”对话框,如图4所示。

图4 配置IP黑名单

  1. 按照页面提示输入禁止访问的播放域名IP地址,您也可以通过输入IP网段添加黑名单。
    1. 配置完成后,单击“确定”。

直播流管理

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

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

图5 禁推

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

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

图6 禁推配置

永久禁用:若选择“永久禁用”,该直播流在执行恢复推流前将再也无法进行推流活动。

限时:可以选择恢复时间,在恢复时间前,该直播流无法进行推流活动。

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

华为云828企业上云节,新客户0元试用,直播流量包低至75折,满额送华为P40Pro、华为开发者大会门票等好礼!

详情点击:https://activity.huaweicloud.com/828_promotion/index.html?ggw_hd