视频行业的从业者——尤其是在线教育、财经分析等重视内容版权的播放平台都知道,视频安全是一个非常重要的基础需求。用户通过一次付费行为,就可以拿到付费视频的播放URL,将播放URL进行二次分发,这种行为叫做盗链;用户直接将视频下载到本地,然后再进行二次上传分发,这种行为叫做盗播,这两种行为都会给内容版权方造成十分严重的经济损失,面对日渐增多的盗链和盗播情况,我们应该怎么样去保护内容呢?
阿里云最新推出的 视频加密解决方案 对视频版权的保护可以从视频处理的各个环节来分别实现。阿里云通过转码、播放、分发等传输链路中环环相扣的保护措施,全方位保障视频内容安全。
阿里云视频加密解决方案,实际上是对视频数据进行加密,首先在播放阶段实现视频内容防盗链功能,即使视频内容被下载到本地,视频文件本身也是被加密的,无法进行恶意的二次上传分发。该解决方案,广泛应用于前文所提及的在线教育、财经金融、行业培训、独播剧等在线版权视频领域。
下面我们来从技术角度来看看,阿里云是如何实现视频加密保护的。在业务层,加密类型有以下两种:
1. 阿里云私有加密
媒体转码服务把视频文件转成加密的HLS格式,然后通过阿里云的iOS/Android/Flash播放器对加密内容进行解密播放。安全级别高,能够便捷、高效、安全地保护视频资源。
阿里云私有加密整体架构图:
整个视频加密的实现包括两个大部分, 加密转码和解密播放 。
1. 加密转码
流程是:业务方提交需要“数据加密”的转码作业;阿里云视频云服务负责通过“密钥管理服务KMS”生成“明文key”和“密文key”;使用“明文key”,来加密视频文件,转码完成后,“明文key”丢弃,不存储;保存“密文key”和加密后的视频文件到OSS输出Bucket,最终转码完成。
2. 解密播放
流程是:第一步业务授权,移动端的APP或者Web播放器访问视频时,先访问业务方自己的后端服务,业务方可以在这里加上自己的权限控制。如果业务方允许播放,则通过业务方子账号的AK访问STS,获取安全令牌,并返回给APP或Web播放器;第二步是获取播放地址,移动端APP或Web播放器把安全令牌和媒体ID参数传输给阿里云播放服务,播放器SDK会负责剩下的播放流程,包括获取对应的多格式、多清晰的播放地址和获取对应的加密钥匙;第三步是解密播放,视频云提供了安全的播放内核SDK,使用加密钥匙对内容解密,然后进行视频播放。
在解密播放过程中,涉及到另一层视频保护手段——安全下载,它是指将视频文件通过秘钥进行二次加密,下载后在SDK内部完成视频解密,保障离线视频仅能通过唯一应用进行安全播放的一种下载方式。
安全下载使用流程图:
该技术的应用场景:终端用户有离线观看视频的需求,并且需要保护视频版权,防止视频被盗用的情况下,可将离线下载设置为安全下载。设置安全下载后,离线下载的视频仅能通过在点播控制台设定的唯一应用并且集成点播播放器SDK来播放,确保视频文件被盗用的情况下别的应用也无法播放,让离线视频更加安全。
- 在使用私有加密时,需要关注账户和视频内容相关的安全策略,以下是防攻击的应对策略:
攻破点 | 描述 | 止血方法 |
---|---|---|
业务方 | 子帐号泄露 | 1、尽快通过主帐号禁止子账号 2、密钥不会被泄露 |
业务方 | 主帐号泄露 | 1、涉及密钥等接口只允许STS临时授权方式进行调用,不允许主帐号及子帐号进行调用 |
视频 | 视频被破解 | 1、每个视频一个密钥 2、不会大量泄露 |
整体来说,这个方案的优势在于每个媒体文件拥有独立的加密钥匙,能有效避免采用单一密钥时,一个密钥的泄露引起大范围的安全问题,从而大大提升了视频的安全性。
2. HLS标准加密
媒体转码服务将视频内容按照HLS AES-128标准协议进行加密,加密后的视频使用支持HLS规定的播放器均可播放。安全级别低于私有加密,需业务方进行密钥保护,如登录cookie、refer限制等。
HLS标准加密(MTS)整体架构图:
- 以上两种加密类型满足不同的业务需求,客户可根据如下对比选择适合自己的类型:
解决方案 | HLS标准加密 | 阿里云私有加密 |
---|---|---|
安全程度 | 较低 | 较高 |
密钥管理 | 用户自行管理 | 阿里云进行管理 |
支持的播放器 | 任何支持HLS的播放器都可以播放 | 阿里云提供的SDK可以播放 |
- 在易用性方面,阿里云视频加密解决方案所提供的两种加密类型均优于业界DRM加密方案如下对比:
易用性 | HLS标准加密 | 阿里云私有加密 | 业界的DRM(微软的PlayReady, 苹果的FairPlay等) |
---|---|---|---|
加密阶段 | 需用户提供密钥 | 只需一个加密开关 | 需与DRM进行交互,获取加密密钥 |
播放阶段 | 播放器对密钥的请求的合法性,需用户自行进行校验 | 播放器开发者,无感知视频是否加密视频 | 播放器开发者需要感知到视频是否加密 |
多终端支持 | 任何支持HLS的播放器都可以播放 | 移动端提供android及iOS的SDK,web提供flash SDK进行支持 | 仅支持自家浏览器的web播放 |
阿里云视频加密解决方案除了在业务层提供有效的防护之外,在播放器这一层,阿里云也在播放器SDK和播放服务之间利用https等手段,保证链路传输安全,同时在播放器端用一些App加固和授权等手段,保证密钥传输时不被破解。在CDN分发层面,用户也可以通过CDN加速OSS私有Bucket,来实现加速链路上的内容安全。
以上就是阿里云视频加密解决方案,客户可以通过在阿里云官网开通媒体转码服务或视频点播服务等操作来接入,并且可以对工作流进行相应的配置。