加密视频技术在远程教育领域应用十分广泛,有没有一种加密技术能做到对视频较为严密的保护又不会增加学员的操作复杂度? 首先让我们来分析下通常的视频文件格式,我们以最流行的网络视频格式FLV为例, FLV是一个二进制文件,flvheader和flv body组成,其中:
· FLV header比较简单,主要包括这个文件的全局信息:
表一
如下图所示:
图1
· FLV body 主要由metadata tag, audio tag和video tag组成:
图2
· 加密流程:
图3
加密过程说明:
1.制作视频并上传;
2.polyv加密模块生成key token;
3.polyv加密模块将对应文件id以及key token 存入数据库;
4.polyv加密模块使用该文件的key token对文件的video tag和audio tag的二进制文件做乱序处理并生成加密文件;
解密过程说明:
1.用户请求播放视频;
2.polyv播放器根据用户文件ID在数据库查询对应key token;
3.polyv播放器用keytoken对读取的加密二进制字节流做还原处理;
4.还原后的数据即可通过flash解码播放;
· Polyv加密技术的优势:
1.完全兼容flash player,用户无需安装任何第三方插件即可实现对视频的保护;
2.完全兼容目前的HTTP视频CDN,无需购买昂贵的FMS服务器;
3.由于采用http这种最成熟的传输模式,用户的播放体验也远远超越采用rtmp协议的fms流保护方案;
4.结合(保利威视)POLYV防盗链能对视频文件做到较为全面的保护,而且即使视频被盗链甚至是下载也无法播放,做到了比fms更加可靠和严密的加密级别;
5.由于每一个视频文件都有唯一的key,即使某文件被破解,其它文件也还是安全的,而且系统会定期更新key,并对文件重新做乱序处理,从而大大增加了破解者的难度。
写在最后的话:
没有任何一种加密技术能做到100%的不可破解。因此就没有必要为了追求彻底的保护级别而降低用户体验。 MS的windows media drm就是一个典型的失败案例,WMDRM为了达到较高的级别把license server做得很复杂,导致效率极低,大并发访问的时候,即使是合法用户也会因为license server处理不过来造成无响应而播放不了。更杯具的是这样一套看似及其严密的DRM系统,推出不到半年即被高手破解。因此我认为加密产品的设计理念应该是:
1.保护的同时不影响用户体验;
2.采用可变的加密机制,尽可能的增加破解者的破解成本;
3.采用一定的方法降低破解后视频数据的使用体验。