阿里云移动端播放器高级功能---安全播放

基本介绍

如何保障视频内容的安全,不被盗链、非法下载和传播,阿里云视频点播已经有一套完善的机制保障视频的安全播放:
7513ac86b801b2725e182bc47c31c00ac6982bc4html

那么在播放器中支持哪一些安全播放的机制呢?算法

这里有料:视频安全解决方案缓存

Referer访问控制

基于 HTTP 协议支持的 Referer机制,经过 Referer跟踪来源,对来源进行识别和判断,用户可配置访问的 Referer 黑、白名单(两者互斥)来限制视频资源被访问的状况。
1. 阿里云控制台支持黑名单和白名单两种模式,访客对资源发起请求后,请求到达CDN 节点,节点会根据用户预设的防盗链黑名单或白名单进行过滤,符合规则可顺利请求到视频数据;若不符合,请求会被拒绝,并返回403响应码。
2. 配置后会自动添加泛域名支持,例如填写a.com,最终配置生效的是*.a.com,全部子级域名都会生效。
3. 因为移动端通常拿不到Referer,当前默认支持空Referer访问,可选择关闭。安全

控制台配置页面以下:
7f4caac5ea15728fd1da31a5d981a3a4ff17940f微信

播放器referer接口

阿里云播放器提供了Referer的设置。提供了setReferer接口。
好比:控制台设置的白名单为:aliyun.com 。 那么使用以下:ide

AliyunVodPlayer aliyunVodPlayer = new AliyunVodPlayer(this);
//注意:加上http(s)://的协议头
aliyunVodPlayer.setReferer("http://aliyun.com");

那么这样才能播放视频。若是黑名单是aliyun.com,则如上设置不能播放视频。this

视频加密播放

防盗链安全机制能有效保障用户的合法访问,但对于付费观看视频的场景,用户只需经过一次付费行为拿到视频合法的防盗链播放URL,将视频下载到本地,进而实现二次分发。所以,防盗链方案对于视频版权保护是远远不够的。视频文件一旦泄露,会给付费观看模式形成十分严重的经济损失。阿里云

阿里云视频加密是对视频数据加密,即便下载到本地,视频自己也是被加密的,没法恶意二次分发,可有效防止视频泄露和盗链问题。加密

阿里云私有加密

阿里云视频加密采用私有的加密算法和安全传输机制,提供云端一体的视频安全方案,核心部分包括 “加密转码” 和 “解密播放”。
277eb9368fd9a7a94e7a016031b48266665913a0spa

核心优点

  • 每一个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引发大范围的安全问题。
  • 提供信封加密机制“密文Key+明文Key”,仅密文Key入库,明文Key不落存储,全部过程只在内存中,用完即销毁。
  • 提供安全的播放器内核SDK,涵盖iOS/Android/多平台,自动对加密内容进行解密播放。
  • 播放器和云端使用私有加密协议进行密文传输,不传输明文Key,有效防止密钥被窃取。
  • 提供安全下载,缓存到本地的视频会再次加密,在确保无网离线播放前提下,防止视频被拷贝窃取。

注意:阿里云视频加密仅支持输出HLS格式,且只能使用阿里云播放器。

更多信息参考 阿里云-视频加密

如何进行加密播放

阿里云播放器将内部解密逻辑、服务端交互逻辑都封装到了SDK内部,对用户无感知。播放加密视频和普通方式没有区别,不用作多余属性的设置,只须要经过videoId的播放方式集成播放器播放视频便可。
因此用户只须要配置加密转码便可,用户能够零成本使用加密播放。

HLS标准加密

HLS标准加密支持 HTTP Live Streaming 中规定的通用加密方案,使用AES-128对视频内容自己进行加密,同时能支持全部的HLS播放器,用户可选择使用自研或开源的播放器。相比私有加密方案,灵活性更好,但使用门槛更高、安全性更低:
6b7d23b27b24ea200e2c4e341ec0aa4bd143011f

  • 用户需搭建密钥管理服务,提供密钥生成(用于转码时对视频内容进行加密)和解密服务(用于播放时获取解密密钥),也可基于 阿里云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; 

chinaDRM

高端的视频节目,须要知足内容提供商的安全要求,如好莱坞。阿里视频云与得到广电和好莱坞双认证的ChinaDRM服务商合做,推出国内首款云端DRM解决方案。

目前阿里云移动端播放器支持ChinaDRM的加密播放,来看一下系统框图:
e3c22b9cebfa8d8c6fa10d4f17bce38dc7659162

如何使用

一样,阿里云播放器作到了对用户零成本的接入,用户不须要在客户端进行任何特殊的处理,只须要使用加密的vid进行播放便可。

 

原文连接 更多技术干货 请关注阿里云云栖社区微信号 :yunqiinsight

相关文章
相关标签/搜索