在线视频常见加密⽅式及安全性透析
基于互联⽹的快速传播,众多培训机构也逐渐将线下原创版权课程迁移到在线平台中,⼀⽅⾯可以更快的打响知名度,同时往往能带来⽐较乐观的收益。这也滋⽣了⿊产,盗版
随之出现。如何防范原创视频被轻易盗版呢?针对该问题,笔者对市⾯上的视频防盗⽅案做了⼀定调研,如有任何不当之处,请指正。
本⽂将根据⾯向⼈分类阐述。⼀种是防⼩⽩⽤户,⼀种是防IT技术⼈员。
⼀、防⼩⽩⽤户
什么是⼩⽩⽤户?⼩⽩⽤户是指对计算机的了解,仅停留在会使⽤阶段的⼈。
怎么防⼩⽩⽤户下载视频呢?⼀般采⽤的⽅式,包括但不仅限于播放地址隐藏、动态url校验、协议防范等⽅式进⾏视频保护。
1、播放地址隐藏
我们要知道,⽹站是基于HTTP协议的,如⽹站的图⽚、css、js都是通过该协议进⾏传输,视频也不例外。由于http协议的开放性,很多浏览器或插件都开发了对应的嗅探下载
功能。如遨游浏览器、360浏览器等。
⽐如该⽹站的课程,采⽤了某度云的平台,就是对播放地址进⾏了简单的隐藏的⽅式。相关视频使⽤傲游浏览器就可以下载。
2、动态url校验
第⼀种地址隐藏的⽅式,地址是固定的,所以很容易被下载。为了解决这个问题,很多⽹站或平台,选择在原始基础上,加⼊了⾃定义的sign计算,进⾏播放地址校验。
⼀般来说动态url具有时效性,可以有效地防下载和盗链。如某⽹校采⽤的乐视云平台。
经过分析此时的下载地址如下:
通常情况下,该类下载地址存在⼀定的参数校验,包括了时间戳 sign 等。但sign计算规则⼀般都⽐较简单,容易被识破伪造。
这种⽅式同样也可以通过浏览器或插件下载。不过需要⾃⾏判断,哪个地址才是真实的⽂件地址。
3、协议防范
鉴于http协议的开放性,那么视频如何避免被浏览器或插件嗅探呢?⼀些⽹站选择从协议⼊⼿,采⽤⾮http的协议进⾏视频播放,如rtmp协议。
rtmp协议由来已久,是adobe公司推出的视频播放协议,稳定性和安全性较http更好,应⽤⼴泛。rtmp协议,需要专⽤的服务器,如FMS,开源的有red5,技术成本⽐较⾼。
⾄于安全性⽅⾯,针对rtmp协议,⽬前已经有较多的嗅探下载⼯具出现。如某抓、rtmpdumper等。
这个⽹站就是采⽤了rtmp协议,并且限制10分钟试看时间。可以使⽤专业⼯具的嗅探功能,就可以得到rtmp地址直接观看或下载完整视频,从⽽实现跳过购买流程,安全性可见
⼀般。
综上所述,对于⼩⽩⽤户的防范,多半是在url上做⽂章,并没有实质性的数据加密,难度都很低。从安全性的⾓度考虑,各⼤⽹站或平台应当及时摒弃以上加密⽅式。
⼆、防IT技术⼈员
IT技术⼈员,是指具有⼀定的计算机基础,会利⽤现成⼯具乃⾄在程序⽅⾯,有深⼊研究的⼈。如⽹站管理员,程序员等。
针对该部分⼈,⽬前业界普遍采⽤的防范⽅式,包括但不仅限于播放器校验,url编码加密、视频加密等。
1、播放器校验
区别于⼀般的校验url地址,播放器校验是指播放地址,只能通过特定播放器,进⾏域名⽩名单校验才可以播放。作⽤主要在于防盗链和下载,⼀般直接访问下载地址会403。
这种加密⽅式,⼀般可以通过对header伪造,添加referer等⽅式,实现403跳过校验,实现视频下载,意义不⼤。
2、Url编码加密
简单来说,url编码加密就是将播放地址⾃定义算法编码,创建私有协议的播放地址。播放需要专⽤的播放器进⾏地址解码。
如某图公考采⽤的某家云平台,就是采⽤这种⽅式。
经过调试分析,并不能直接得到播放地址,但是可得到编码加密的某家云私有url。
bjcloudvod://Uml4e3c8NDRsZG8zf2pobHYwZ2ZxbWxngnZyNWpxcjRraTo5bzQ0PTcza2ZAZTNnajU4bGgyZz1rZ2dpb2c8bDY3Zj5BNDw5bTA0NzR6Mnp4b3JnbTB6cGtndDQ5Mzc5QDI5OmY1a2g6通过对播放器和js的分析,实现对加密的url解密,得到真实的播放地址。
⼀般情况下,普通平台的只要解析到真实地址就可以实现播放下载了。
某家云在此基础上,同时也对视频做了初步加密,这点做得还是不错的。但是加密算法过于简单,通过解密,即可实现本地观看。
3、视频加密
区别于对url进⾏处理,视频加密是对数据加密,达到即便被下载也⽆法播放的⽬的。⽬前⽐较知名的视频云平台,⼏乎均有对视频进⾏加密处理。
Flash端多是⾃定义算法,Html5⼤多基于HLS 协议使⽤或开发。
(⼀)Flash-FLV视频加密⽅案
⽅案⼀、flv部分数据加密,采⽤DES、AES128或其它算法。
⽐如某⽹校采⽤的某C视频云平台,就是对flv的头部数据进⾏加密,视频为pcf 格式。
获取的下载地址
由于加密的数据较少,且算法⽐较单⼀,所以存在被解密的风险。
⽹络上已经出现了相关的解密⼯具。⽬前采⽤此类⽅案的⼚商,包含但不仅限于某C视频、某家云等。
(2)flv切⽚加密处理,⼀般也是采⽤DES、AES128、XOR或其它算法。
针对第⼀种flv加密⽅式存在的问题,如算法单⼀、视频过⼤。更多有实⼒的⼚商,在此基础上优化、衍⽣出更加优秀的解决⽅案。
采⽤切⽚⽅式的优点较多,如加载更快速、播放更流畅、每⼀个数据⽚段都采⽤了加密,解密难度更⾼。
1、⽐如某⽹校采⽤的某云视频云平台,演⽰地址:
经过分析可以得到⽚段地址,每⼀段均是加密的smf⽂件,地址存在规律性。
经过分析,其实每⼀段都是flv⽚段,进⾏了简单的加密。由于分⽚算法⽐较单⼀,存在不⾜,所以还是可能被解码合并的。
2、某某威视也采⽤flv切⽚加密技术,其算法更复杂,并会⾃动升级,⽬前市⾯上没有对应的解密⽅案。下⾯是官⽅的介绍。
当然世界上没有不透风的墙,不排除以后会有视频解密⽅案出炉。
⽬前采⽤此类flv优化⽅案的⼚商,包括但不仅限于某某威视、某⼭(某云)等。
(⼆)HTML5-HLS视频加密⽅案
鉴于flash跨平台的兼容性问题及漏洞,越来越多的⼚商更加青睐在H5作视频加密⽅案,同时实现pc及移动端的视频保护。⽬前较为⼴泛采⽤的是apple hls 协议。
⽬前hls协议的使⽤,包含了原⽣协议和⾃定义优化两种。
(1)原⽣hls协议
Hls协议天⽣的优势,使得⼤部分⼚商便可以直接采⽤,并未做任何处理。但由于协议的公开性,⽬前⽹络上已经有对应的解密⽅案,其中不乏傻⽠式⼯具类。如ffmpeg。
通过简单调试,得到对应的m3u8地址,再利⽤ffmpeg命令⾏便可实现下载。
命令⾏⼤致如下:
⽬前采⽤该协议的⼚商,包括但不仅限于某讯云、某c视频、某宝视频等。
(2)基于hls协议优化在线url网址编码解码
针对hls协议的问题,部分对技术有追求的⼚商,便推出了⼀些优化处理⽅案。当然hls视频的泄漏,主要还是密钥的泄漏,所以优化均是围绕AES128密钥的保护⼊⼿做处理。
1、某某soho采⽤了密钥混淆错序的⽅式。将原本的16字节密钥处理为20字节,通过播放器进⾏复位解码。该算法容易被猜测出混淆错序规则,存在⼀定的风险。
各个清晰度m3u8采⽤了编码加密,有时效性,仅能访问⼀次,防范做的还是不错的。
可以看到视频采⽤了AES128的加密算法。密钥的地址,第⼀次访问的时候,是20字节,“f8864726x4r6f34w4r36”,其后每次访问都是不同的16字节。
其实真实的秘钥,就藏在了第⼀次的20字节⾥⾯,之后的16字节都是假的秘钥。
我们需要从20字节中到真实秘钥,从⽽实现解密。具体算法不做阐述。
2、某某威视⽬前针对hls做了两种优化⽅案,分别是web授权和app授权。
(1)Web授权
介绍:为了兼容平台和web页⾯,采⽤了sign校验,⼀次访问即失效。有效防⽌盗链和下载。
该⽅式与某soho⽅案类似,通过对m3u8地址,进⾏sign计算校验,并增加了时效性,不排除被猜测规则,伪造下载地址的可能性。
(2)App授权
介绍:采⽤服务器校验和传输密钥,将原本的16字节加密处理为32字节,SDK授权解密进⾏解码。
这种⽅式是对密钥key数据本⾝进⾏加密处理。⽬前尚⽆解密⽅案出现,安全级别极⾼。当然随着时间的迁移,不排除以后有对应的解密⽅案出炉。
⽬前基于hls协议进⾏优化处理的⼚商,包括但不仅限于某某威视、某soho。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论