阿里云周源:一篇文章读懂四代视频加密技术演进

摘要: 在刚刚圆满落幕的LiveVideoStackCon峰会上,阿里云高级技术专家周源进行了《视频加密和DRM的实施实践》主题分享。周源,有十多年音视频研发经验,以前在淘宝视频负责开放平台,目前在阿里云视频云部门负责媒体处理,在大规模系统建设和云计算方面都有很是丰富的实战经验。算法

在刚刚圆满落幕的LiveVideoStackCon峰会上,阿里云高级技术专家周源进行了《视频加密和DRM的实施实践》主题分享。周源,有十多年音视频研发经验,以前在淘宝视频负责开放平台,目前在阿里云视频云部门负责媒体处理,在大规模系统建设和云计算方面都有很是丰富的实战经验。本文为演讲原文,但愿对视频内容安全从业者有一些启发。数据库

在视频加密这块,实际上是一个攻防战,攻防的手段很是多,还会不断的翻新,有不少技术手段,技术的发展也是突飞猛进。视频保护技术其实已经升级了好几代,我会给你们介绍下每一代技术是怎么作的、背后的原理、遇到的问题以及业界的解法。会从数据加密、全链路保护、数字版权管理、内容识别四个方面来介绍。浏览器

数据加密原理——算法的选择

最初,数据加密原理很是简单,咱们在生活中若是有同样东西你想保护它,你会怎么办,你的第一反应可能就是拿把锁把他锁起来,本身保护好钥匙。在数字领域,这个“锁”有好多种,一种叫对称型的,一种叫非对称型的。安全

这两种算法分别有各自的优缺点,对称型算法的优势是计算量很是小,速度快,效率高。而它的缺点是密钥的管理和分发很是困难,若是别人配了相同的一把钥匙,就能够打开这把锁了,不够安全。常见的算法包括AES、EDS。非对称型算法的优缺点其实和对称型是相对的,优势是算法是公开的,你能够看到全部细节,即便这样,安全性也很是高。非对称算法有两种类型的钥匙:公钥和私钥。公钥能够开放给全部人,内容只能经过私钥加密,加密完成后,使用公钥就能够解密,可是不能进行加密。可是缺点是加密和解密花费的时间长,速度慢,因此不适合对大量数据加密,只适合少许数据的加密。常见的算法包括RSA、ECC。服务器

在视频场景下,怎么去权衡对称加密和非对称加密?

媒体介质经历了几回升级,最先是文本,几十KB就是很是大的一个小说了;到了图片就发展到了几百KB,甚至MB的级别;现在视频时代,量级上到GB级别。因此视频的第一个特色是数据量大,加密算法速度不行的话是不够实用化的。网络

视频的应用愈来愈普遍,它不只仅局限于某一个平台。用户会在各类操做系统、各类终端设备上去观看视频,在选择算法的同时,必定要考虑平台标准化这块。session

更进一步的话,须要考虑移动端的功耗问题,你们作视频都在能耗和发热作斗争,选择算法的时候,必定要考虑功耗问题。ide

最终的选择——AES算法

基于以上考虑,业界你们最终会选择AES算法。它具备如下特色:阿里云

  1. 安全性,AES算法从数学上证实是安全的。把加密好的文件给到你,你没拿到钥匙的状况下,暴力破解须要花2104亿年的时间,这几乎是一个不可能完成的任务。如今也存在一种旁路攻击的方法,攻击的是实现方法,不是算法自己。攻击成本比较高,在增长成本的前提下,实现上是有规避的方法。因此安全性仍是有保障的。
  2. 这个算法衡量了时-空占比,速度快、消耗小,适合小型系统上工做。
  3. 算法也很是标准化,也在绝大部分的硬件芯片、软件平台中进行内置,能够用硬件自己的能力快速作计算。

通常状况下密钥越长,安全性越高。可是密钥短并不表明运算速度必定会快。同时,由于均衡了时-空占比,AES算法的资源消耗也是最低的。因此,AES算法在对称算法中是首选。云计算

AES算法的经典应用——HLS数据加密

举个例子,HLS协议使用M3U8文件格式。关键性的信息是下图中橙色的一行,这里加了KEY的信息。它的原理是播放器从网上把m3u8下载下来,解析后获得KEY,而且传递给服务器询问请求经过不经过,服务器若是认证经过,会把真实的KEY返回给播放器进行播放。

仅仅使用AES加密来包含内容时,它的安全问题出在哪里呢?

它的最关键的问题是——钥匙URL。由于URL要被写在文件里的,无论你作什么变化,不管加session、referer、token,它都是标准的HTTP请求,这是HLS加密的最大风险点。

由于网络请求是公开的,咱们怎么保障网络传输安全性?防护中间人攻击?
而在客户端拿到钥匙后,其实是明文内容,客户端的安全性又该如何保障?

如此咱们便有了新解法——全链路保护

这里有两个很重要的原则,第一个是中间网络是不可信的,第二个是客户端是不可信的。接下来看看这两个问题如何解决。

关于中间网络不可信,HTTPS是最经典的方案。由于HTTPS整个流程保证了没有任何人能窃取中间的信息,安全的从服务端传递到客户端。

它整个流程是:黑色的部分是公开的,谁看到都不会影响安全性。客户端向服务端请求一次,服务端会返回公钥,客户端用公钥去把本身的对称钥匙保护一次。接着把加密后的对称钥匙传递给服务端,服务端使用秘钥解码后获得对称钥匙。这时候客户端和服务端双方都知道对称钥匙了,而后用对称钥匙对数据加密进行传递。这个方案即解决了安全性问题,又解决了效率问题。

关于客户端不可信。一般客户端是很是复杂的,常见的是浏览器,标准也不少(以下图)。可是在整个规划中,很重要的一点是:“有定义,但没有实现”。每一个浏览器都支持H5的DRM方案,可是每一个浏览器的支持方式都是不同的。

H5整个流程是,当解码器拿到加密数据以后,数据流会通过CDM,这个模块会和外部系统进行通信,去和License服务获取内容钥匙和受权规则,通过了这一步才能真正把流解密成明文数据去作渲染。因此,虽然有了H5的规范,可是实际上仍是会被厂商绑定,客户端安全性彻底由厂商提供的CDM来决定。

移动端方面,分为Web端和APP。Web端浏览器是很是复杂的,各类定制的WebKit引擎不支持内容解码模块(Content Decryption Module),只能采用JavaScript去写代码,它是明文代码,安全性不好。如今有一个新的技术WebAssembly,它是把JS编译一下,增长了破解的难度,可是仍是没有从源头解决这个问题。APP是没有任何标准了,都靠本身去定制。

如此看来,咱们想解决客户端不可信这件事,其实还有不少障碍在里面。同时,客户端不可信带来了不少问题,你无法知道你客户端里是好人仍是坏人,若是是恶意用户,他的破坏力普通比较强,会给平台带来很大的损失。

全链路的保护解决了网络传输的安全,可是客户端的安全问题没有获得完全彻底的解决,因此在业界有了第三种解法:数字版权保护(DRM)。

更安全的加密方式——数字版权保护DRM

DRM基本是三足鼎立的状况,微软的PlayReady,谷歌的Widevine,苹果的FairPlay。不一样操做系统、浏览器和移动平台须要不一样的方案,因此看起来咱们没办法用一套方案把全部的加密都作完。

因此如何跨平台把问题解决掉?——多重DRM解决方案

咱们分别来看看三个厂商的方案:PlayReady方案中,当你的设备和服务获得一个认证后,才能接着发起License请求,分了两个阶段来提交。Widevine方案中,经过第一段来控制是否有权限复杂的钥匙,再从License去拿真正的钥匙。FairPlay方案中,播放器第一个流程是认证,第二个流程是获取License。

如此,咱们有了多重DRM解决方案,它的流程是Player去问认证服务允不容许访问视频,后台通过认证后,会给一个认证后的token。当认证容许访问的时候,经过CDN分发网络从源站获取内容,当拿到内容后,有了token和视频KEY ID,就会把License返回,这里才有真正能解密内容的钥匙。

多重DRM能够下降加密成本,对于不一样平台,把整个流程作一致化,只须要一份加密资产,下降了加密流程成本和管理成本。同时,由于原生 DRM 客户端在其原平生台上一般是免费提供的,也能够消除客户端的许可成本。

从技术角度上,整个业界有通用加密格式的规范,能够很好的把加密内容安全地传输到客户端。可是有一个现实状况,FairPlay的加密算法是不一样的,为了实现多重DRM方案,咱们须要两份加密资产,才能真正作到跨平台的保护。

那么DRM是不是最终的加密方案呢?从安全性上来说,DRM用了非对称算法,可是依然会面临主密钥泄露这个问题,网上也出现HDCP主秘钥泄露、4K视频版权保护技术被破解等案例。

咱们用钥匙去保护视频、在全链路保护上作了不少改进,而且采用了更安全的多重DRM方案,咱们试图用各类方法把内容保护起来,这些思路都叫被动保护。被动包含的每种方法都有本身的缺陷,因此咱们给出一种新的思路,叫内容识别。

主动保护——内容识别

目前,版权保护遇到的问题是“内容全部权”跟“版权”的关系愈来愈复杂,这使我想起凯文.凯利在《必然》中曾提出:“对已有事物的从新排列和再利用,而对传统的财产观念和全部权概念产生巨大的影响。”

这里面就延伸出来不少问题,用户是否对原有素材作了必定的转化,仍是仅仅复制了原做?咱们应该是严格禁止仍是开放包容的态度?在这个全民导演的时代,咱们能够看到不少用户把本身录制或者网上收集的素材重混起来,就成为了很成功的新做品。固然,版权方也有真实的案例,即便得内容获得了很好的二次传播,还惊喜地得到额外的收益。面对这样的状况,咱们该如何进行高效地内容识别和保护?

视频指纹——给视频赋予惟一身份

阿里云视频云团队自研了视频指纹技术,它是一种识别、提取、压缩视频的技术,能够产生惟一的“指纹”来表明视频文件进行视频查找。你能够经过算法获得指纹信息,用这个指纹信息和版权库中的视频进行检索匹配,就能够很迅速地找到类似的视频源。它不只判断惟一性,还能够找到究竟使用了视频源的哪一段。

image

视频指纹技术能够解决以下的场景的问题:

1. 版权保护

新增视频与版权库作比对,对存在版权风险的视频进行播放控制,下降侵权风险;对自有版权的视频资源,从公网抓取视频数据鉴别,防止自有版权内容被侵权。

2. 原创识别

能识别这段视频是从哪一个片子剪辑出来的,识别视频是不是原创视频、剪辑后视频、自媒体再创造视频。

3. 广告分红

传播没关系,当能作到视频回溯的时候,就能够判断新上传的视频原创性,检索分红库召回认领视频,找到真正的视频版权主,从而支撑广告分红业务生态。

回顾

总体视频保护技术历经了几回升级,最后,咱们进行一个回顾和总结。

数据加密

它是有安全基础,有算法保障的,可是没有解决问题

全链路保护

总体的保护方案,可是没法落地,没办法大规模使用

数字版权管理(DRM)

更完善、更安全的保护方案,可是依旧存在风险

内容识别

改变思路,变被动为主动,开拓更广阔的空间

阿里云双十一1折拼团活动:已满6人,都是最低折扣了

【满6人】1核2G云服务器99.5元一年298.5元三年 2核4G云服务器545元一年 1227元三年

【满6人】1核1G MySQL数据库 119.5元一年

【满6人】3000条国内短信包 60元每6月

参团地址:http://click.aliyun.com/m/1000020293/

原文连接

相关文章
相关标签/搜索