全部产品
视频直播

直播鉴权

更新时间:2017-09-12 19:31:12   分享:   

URL 鉴权功能旨在保护用户站点的内容资源不被非法站点下载盗用。采用防盗链方法添加 referer 黑、白名单方式可以解决部分盗链问题。但是,由于 referer 内容可以伪造,referer 防盗链方式还不能很好的保护站点资源。因此,采用 URL 鉴权方式保护用户源站资源更为安全有效。

URL 鉴权功能是通过阿里云 CDN 加速节点与客户资源站点配合实现的一种更为安全可靠的源站资源防盗方法。由客户站点提供给用户加密 URL(包含权限验证信息),用户使用加密后的 URL 向加速节点发起请求,加速节点对加密 URL 中的权限信息进行验证以判断请求的合法性,对合法请求给予正常响应,拒绝非法请求,从而有效保护客户站点资源。

鉴权 URL 组成

组成部分:直播推流/播放部分地址 + 验证串,验证串是根据鉴权 key + 失效时间通过 md5 算法计算出,该地址适用于 PC 端、移动端、第三方推流和播放工具。

  • 鉴权 KEY 字段用户可以自行设置,

  • 有效时间 指用户访问客户源服务器时间超过自定义的时间(timestamp 字段指定)后,该鉴权失效。例如,有效时间为 1800s,用户设置访问时间:2020-08-15 15:00:00,链接真正失效时间是:2020-08-15 15:30:00。

URL 鉴权原理说明

用户访问加密 URL 构成:
  1. http://DomainName/Filename?auth_key=timestamp-rand-uid-md5hash
鉴权字段描述
字段 描述
timestamp 失效时间,整形正数,固定长度 10,1970 年 1 月 1 日以来的秒数。用来控制失效时间,10 位整数,有效时间 1800s
rand 随机数,一般设成 0
uid 暂未使用(设置成 0 即可)
md5hash 通过 md5 算法计算出的验证串,数字和小写英文字母混合 0-9a-z,固定长度 32

服务器拿到请求后,首先会判断请求中的 timestamp 是否小于当前时间。如果小于,则认为过期失效并返回 HTTP 403 错误。如果 timestamp 大于当前时间,则构造出一个同样的字符串(参考以下 sstring 构造方式)。然后使用MD5算法算出 HashValue,再和请求中带来的 md5hash 进行比对。比对结果一致,则认为鉴权通过,返回文件。否则鉴权失败,返回 HTTP 403 错误。

  • HashValue 是通过以下字符串计算出来的,

    1. sstring = "URI-Timestamp-rand-uid-PrivateKey"URI是用户的请求对象相对地址,不包含参数,如:/Filename

    HashValue = md5sum(sstring)

示例说明
  1. 通过 req_auth 请求对象:

    1. http:// cdn.example.com/video/standard/1K.html
  2. 密钥设为:aliyuncdnexp1234 (由用户自行设置)

  3. 鉴权配置文件失效日期为:2015年10月10日00:00:00,计算出来的秒数为 1444435200

  4. 服务器会构造一个用于计算 Hashvalue 的签名字符串:

    1. /video/standard/1K.html-1444435200-0-0-aliyuncdnexp1234"
  5. 服务器会根据该签名字符串计算 HashValue

    1. HashValue = md5sum("/video/standard/1K.html-1444435200-0-0-aliyuncdnexp1234") = 80cd3862d699b7118eed99103f2a3a4f
  6. 请求时 url 为:

    1. http:// cdn.example.com/video/standard/1K.html?auth_key=1444435200-0-0-80cd3862d699b7118eed99103f2a3a4f

    计算出来的 HashValue 与用户请求中带的 md5hash = 80cd3862d699b7118eed99103f2a3a4f 值一致,于是鉴权通过。

    ☆ 强烈建议推流地址执行加密鉴权操作,减少直播被盗录、盗播的风险。

鉴权配置

  1. 登录 视频直播控制台

  2. 在域名管理页面中,选择所需的地域。

  3. 选择所需的域名并单击右侧的 管理

    2

  4. 单击 鉴权配置 页签进入鉴权配置页面。

    3

  5. 打开鉴权开关。

    打开

  6. 输入鉴权主 KEY 与备 KEY,单击 确定

    输入

    说明:

    • 主 KEY 是计算加密字符串的一个密钥,为必填项。
    • 若主 KEY 执行更换,所有使用主 KEY 的地址会立即失效。备 KEY 作为主 KEY 需要更换时,使用主 KEY 的推流或播放地址不会马上中断,先使用备 KEY 做为更换的桥接。
  7. 获取鉴权 URL。

    1. 填写 推流地址

      您可以在 基本信息 中获取推流的地址。

      注意:如果您要使用自定义的AppName和StreamName,您需要将推流地址中的AppName和StreamName替换为自定义的AppName和StreamName,然后再生成鉴权URL。

      34

      65

    2. 输入鉴权所需的主 KEY 或备 KEY 值。

    3. 输入鉴权地址的有效时间,超过有效时间,鉴权失效。

    4. 单击 生成 按钮,生成加密的鉴权 URL 地址。

      注意:鉴权的使用以域名级别进行配置,若域名下鉴权功能开启,该域名下的所有推流地址均必须执行鉴权加密操作。同时,推流对应的播放地址也进行鉴权加密,请使用加密后的地址执行播放操作。

本文导读目录
本文导读目录
以上内容是否对您有帮助?