数字版权管理(Digital Rights Management,DRM),对于在线教育、行业培训等领域都是十分重要的。视频文件的泄露,有可能造成十分严重的经济损失。
传统的视频服务提供商大多是通过各种各样的防盗链机制来实现视频内容保护。该方案的基本原理是:App 服务端给客户派发专属的视频 URL,CDN 服务对请求 URL、请求 IP、HTTP 头等参数进行校验,如果校验通过,则返回正常的视频数据;否则返回 403 错误码。
但是,对于需要付费观看的视频,一旦恶意用户通过一次付费行为拿到了合法的防盗链播放 URL,其便可以将视频完整下载到本地,进而实现二次分发。因此,防盗链方案对于视频版权保护是远远不够的。要进一步提升视频内容的保护程度,就不能仅仅在视频的分发环节做文章,而是必须对视频数据本身的加密。对视频数据加密之后,即使恶意用户把视频下载到本地,视频本身也是被加密的,这样就提高了恶意用户将视频内容二次分发的门槛。
防盗链综述
为支持视频播放的权限控制,推出了防盗链的解决方案。开通防盗链后, CDN 节点将对播放请求中的关键信息进行检查,并对通过检查的请求返回视频数据。
一般的点播防盗链支持 Referer 防盗链和 Key 防盗链两种类型。Key 防盗链在不同的平台又称为URL鉴权或TOKEN防盗链,基本机制一样。
Referer防盗链
功能介绍
- 基于 HTTP 协议支持的 Referer 机制,通过 HTTP 头部中携带的 Referer 字段识别请求的来源。开发者可以通过配置 Referer 黑白名单,对视频请求来源进行识别和鉴权 。
- 支持黑名单和白名单两种模式。当视频播放请求到达 CDN 节点后,节点将依据用户配置的 Referer 黑白名单对请求来源鉴权。对于符合规则的请求,CDN 将返回视频数据。否则,将返回403响应码,拒绝播放请求。
注意事项
- 该功能为可选项,默认不启用。
- 开启功能后,选择并填写黑名单或白名单,黑名单和白名单互斥,同一时间仅支持一种模式。
- 黑名单或白名单中的域名支持1 - 10条,每一行一条记录。
- 域名前不要带协议名(
http://
和https://
),域名为前缀匹配(填写abc.com
,则abc.com/123
和abc.com.cn
也会匹配),且支持通配符(*.abc.com)
。
Key 防盗链
功能介绍
- 支持在视频 URL 中指定过期时间,他人获取后无法长期使用。
- 支持在视频 URL 中指定最大允许播放 IP 数,他人获取后不能无限制地分发给更多人观看。
- 支持在视频 URL 中指定试看时长,实现试看功能。
- 开发者使用密钥(KEY)对视频 URL 签名,并在 URL 中带上签名结果。只要用户密钥不泄露,其他用户无法伪造视频 URL。
- CDN 节点检查视频 URL 中的参数和签名,对视频播放请求进行控制。如果请求检查不通过,将返回403响应码。
防盗链 URL 生成方式
- 开发者在腾讯云点播中的视频均存在视频原始 URL。未开启防盗链时,使用视频原始 URL 即可播放视频。
- 开启 Key 防盗链后,视频原始 URL 不再能播放,此时需要构造视频的防盗链 URL。
视频的防盗链 URL 的生成规则是在原始 URL 后以 QueryString 的方式加入防盗链参数,形如:
http://example.vod2.myqcloud.com/dir1/dir2/myVideo.mp4?t=[t]&exper=[exper]&rlimit=[rlimit]&us=[us]&sign=[sign]
QueryString 中的防盗链参数必须按照t
,exper
,rlimit
,us
,sign
的顺序拼接,下面详细介绍防盗链 URL 中各个参数的含义和取值方法。
防盗链参数
参数名 | 必选 | 说明 |
---|---|---|
KEY | 是 | 开启 Key 防盗链 |