IPTV点播系统DRM方案

来源:互联网 发布:mysql 分组排序 编辑:程序博客网 时间:2024/05/17 02:54

IPTV点播系统DRM方案
为了对RMVB电影数字版权的保护,比较现有DRM加密的优劣以及OPETV鸥朴公司产品技术特点,结合自身实际,本着改动量少、实现方便、有效保护RMVB正版电影数字版权的原则,特制定IPTV点播系统DRM方案。
1、加密方式不对外公开算法,以增加黑客破解难度。
2、独立做一个加解密动态库dll提供加解密接口,供Loader和播放器调用。
3、对RMVB格式文件采用等长加密的方式和在文件尾添加固定长度的特征串的方式实现。
4、对文件头固定位置2048字节分组加密,对文件尾固定位置2048字节分组加密。
5、对文件尾部添加加密标识"******** CIPHER2010"特征串(此处为尚未公开的加密方案,使用掩码代替关键字段),用以判定文件是否加密,如果加密则Loader分发时和播放时要先进行解密。经过测试,这一添加的特征串的长短不会对播放产生影响我们可以采用固定长度,以方便Loader加以解密区别和做Hash。此特征串为了防止被用户恶意更改,采用SHA-1固定长度加密算法,公钥加密私钥解密的方式进行。
6、播放器增加和Loader心跳通信的TCP连接Socket,采用固定端口,端口选定10000和11000端口。首先播放器先通过10000端口进行TCP连接,如果成功则每隔2秒发送心跳包,如果不成功则通过11000端口进行TCP连接。
7、播放器收到播放打开文件,先检查文件尾部的"******CIPHER2010"特征串,进行私钥解密还原,如果比对正确,则确认此文件是加密文件,则通过心跳包发送请求解密命令给Loader;Loader接到请求解密命令后对相应的文件头特定位置2048字节进行,然后对文件尾特定位置2048字节进行解密,解密后等长写入文件,然后返回解密成功信息给播放器;播放器收到解密陈功信息后再重新打开文件进行播放。(由于Loader此时对RMVB文件拥有写权限而播放器只拥有读权限,所以此处加解密统一由Loader调用加解密动态库接口进行)。
8、当播放器播放成功大约5秒之后,再通过心跳包通知Loader进行加密,这样能及时地保护文件不被用户恶意拷贝。
9、Loader通过播放器发送的心跳包适时对文件进行保护,如果超过5次大约10秒未收到心跳包,则自动对文件进行加密处理。
10、播放器采用定时器适时检查Loader程序的状态,如果发现Loader程序异常退出则自动重新启动Loader。如果Loader被用户恶意删除则自动对Download下载目录下的RMVB文件进行加密处理或直接删除。
11、播放器和Loader之间的通信协议等方案讨论定下来之后再详细制定。

原创粉丝点击