隽阜 发布时间: 2019-02-11 10:34:01 浏览 25 评论 0
安全
加密
配置
控制台
aliyun
安全机制
阿里云播放器
摘要: 基本介绍 如何保障视频内容的安全, 不被盗链, 非法下载和传播, 阿里云视频点播已经有一套完善的机制保障视频的安全播放: 那么在播放器中支持哪一些安全播放的机制呢? 这里有料: 视频安全解决方案. Referer 访问控制 基于 HTTP 协议支持的 Referer 机制, 通过 Referer 跟踪来源, 对来源进行识别和判断, 用户可配置访问的 Referer 黑, 白名单 (二者互斥) 来限制视频资源被访问的情况.
基本介绍
如何保障视频内容的安全, 不被盗链, 非法下载和传播, 阿里云视频点播已经有一套完善的机制保障视频的安全播放:
那么在播放器中支持哪一些安全播放的机制呢?
这里有料: 视频安全解决方案.
https://www.atatech.org/articles/131368#1 Referer 访问控制
基于 HTTP 协议支持的 Referer 机制, 通过 Referer 跟踪来源, 对来源进行识别和判断, 用户可配置访问的 Referer 黑, 白名单 (二者互斥) 来限制视频资源被访问的情况.
1. 阿里云控制台支持黑名单和白名单两种模式, 访客对资源发起请求后, 请求到达 CDN 节点, 节点会根据用户预设的防盗链黑名单或白名单进行过滤, 符合规则可顺利请求到视频数据; 若不符合, 请求会被拒绝, 并返回 403 响应码.
2. 配置后会自动添加泛域名支持, 例如填写 a.com, 最终配置生效的是 *.a.com, 所有子级域名都会生效.
3. 由于移动端一般拿不到 Referer, 当前默认支持空 Referer 访问, 可选择关闭.
控制台配置页面如下:
https://www.atatech.org/articles/131368#2 播放器 referer 接口
阿里云播放器提供了 Referer 的设置. 提供了 setReferer 接口.
比如: 控制台设置的白名单为: aliyun.com . 那么使用如下:
- AliyunVodPlayer aliyunVodPlayer = new AliyunVodPlayer(this);
- // 注意: 加上 http(s):// 的协议头
- aliyunVodPlayer.setReferer("http://aliyun.com");
那么这样才能播放视频. 如果黑名单是 aliyun.com, 则如上设置不能播放视频.
https://www.atatech.org/articles/131368#3 视频加密播放
防盗链安全机制能有效保障用户的合法访问, 但对于付费观看视频的场景, 用户只需通过一次付费行为拿到视频合法的防盗链播放 URL, 将视频下载到本地, 进而实现二次分发. 因此, 防盗链方案对于视频版权保护是远远不够的. 视频文件一旦泄露, 会给付费观看模式造成十分严重的经济损失.
阿里云视频加密是对视频数据加密, 即使下载到本地, 视频本身也是被加密的, 无法恶意二次分发, 可有效防止视频泄露和盗链问题.
https://www.atatech.org/articles/131368#4 阿里云私有加密
阿里云视频加密采用私有的加密算法和安全传输机制, 提供云端一体的视频安全方案, 核心部分包括 "加密转码" 和 "解密播放".
https://www.atatech.org/articles/131368#5 核心优势
每个媒体文件拥有独立的加密钥匙, 能有效避免采用单一密钥时, 一个密钥的泄露引起大范围的安全问题.
提供信封加密机制 "密文 Key + 明文 Key", 仅密文 Key 入库, 明文 Key 不落存储, 所有过程只在内存中, 用完即销毁.
提供安全的播放器内核 SDK, 涵盖 iOS/Android / 多平台, 自动对加密内容进行解密播放.
播放器和云端使用私有加密协议进行密文传输, 不传输明文 Key, 有效防止密钥被窃取.
提供安全下载, 缓存到本地的视频会再次加密, 在确保无网离线播放前提下, 防止视频被拷贝窃取.
注意: 阿里云视频加密仅支持输出 HLS 格式, 且只能使用阿里云播放器.
更多信息参考 阿里云 - 视频加密
https://www.atatech.org/articles/131368#6 如何进行加密播放
阿里云播放器将内部解密逻辑, 服务端交互逻辑都封装到了 SDK 内部, 对用户无感知. 播放加密视频和普通方式没有区别, 不用做多余属性的设置, 只需要通过 videoId 的播放方式集成播放器播放视频即可.
所以用户只需要配置加密转码即可, 用户可以零成本使用加密播放.
https://www.atatech.org/articles/131368#7 HLS 标准加密
HLS 标准加密支持 HTTP Live Streaming 中规定的通用加密方案, 使用 AES-128 对视频内容本身进行加密, 同时能支持所有的 HLS 播放器, 用户可选择使用自研或开源的播放器. 相比私有加密方案, 灵活性更好, 但使用门槛更高, 安全性更低:
用户需搭建密钥管理服务, 提供密钥生成 (用于转码时对视频内容进行加密) 和解密服务(用于播放时获取解密密钥), 也可基于 阿里云 KMS 进行封装.
用户需提供令牌颁发服务, 用于验证播放端的身份, 避免解密密钥被非法获取, 此处为关键点, 处理不好会千里之堤溃于蚁穴.
播放器和云端传输明文 Key, 容易被窃取. 具体可以参考 HLS 标准加密流程 #### mtsHlsUriToken 阿里云播放器支持用户令牌传递, 阿里 CDN 会动态修改 m3u8 文件中的解密 URI, 解密 URI 中会带上用户的令牌, 业务方可以对令牌进行验证,
- - (void)prepareWithVid:(NSString*)vid accId:(NSString *)accId accSecret:(NSString*)accSecret stsToken:(NSString*)stsToken authInfo:(NSString*)authInfo region:(NSString*)region playDomain:(NSString*)playDomain mtsHlsUriToken:(NSString*)mtsHlsUriToken;
- https://www.atatech.org/articles/131368#8 chinaDRM
高端的视频节目, 需要满足内容提供商的安全要求, 如好莱坞. 阿里视频云与获得广电和好莱坞双认证的 ChinaDRM 服务商合作, 推出国内首款云端 DRM 解决方案.
目前阿里云移动端播放器支持 ChinaDRM 的加密播放, 来看一下系统框图:
https://www.atatech.org/articles/131368#9 如何使用
同样, 阿里云播放器做到了对用户零成本的接入, 用户不需要在客户端进行任何特殊的处理, 只需要使用加密的 vid 进行播放即可.
来源: https://yq.aliyun.com/articles/689885