一种HLS索引列表加密防盗链系统及方法与流程

文档序号:12829099阅读:686来源:国知局
一种HLS索引列表加密防盗链系统及方法与流程

本发明涉及交互式网络电视iptv技术领域,特别是涉及基于httplivestreaming(hls)协议方式处理数据的技术。



背景技术:

hls(httplivestreaming,超文本直播流)协议是由苹果公司创立,基于http的流媒体传输交互协议,并且hls协议支持自动码率适配,在hls技术中web服务器向通信终端提供视频流服务。

现有技术中,采用httplivestreaming(hls)extension的内容加密技术,它通过http发送加密的视频流给客户端,客户端通过密钥drm服务器获取解密key对媒体文件进行解密后播放。这里所述的drm环节采用了高级加密标准(aes-128)、https协议以及其他技术来保护内容不被非法盗版。

上述采用httplivestreaming(hls)extension的内容加密技术,是对切片视频文件本身加密解密,存在两个不足之处:1)无法限制非法下载,这样对于内容分发服务器会产生不小的盗链压力。因为文件的索引列表是明文,播放器即使不能播放的话,还是会去下载。2)对硬件要求比较高,在硬件性能比较差的设备上解密切片视频文件比较慢,会出现播放视频卡顿现象。



技术实现要素:

为了解决现有技术存在的不足,本发明的目的在于提供一种hls索引列表加密防盗链系统及方法,在客户端获取m3u8索引列表时对其内容进行加密,即使直接下载了索引列表文件也无法获取到视频文件地址,从而起到了防盗链的作用。

为实现上述目的,本发明提供的hls索引列表加密防盗链系统,包括,客户端、客户认证服务器、节目单服务器、索引列表服务器、密钥服务器,以及内容分发服务器,其中,

所述客户端,其对m3u8索引列表密文进行解密,获取视频切片文件下载地址,下载并播放视频切片文件;

所述客户认证服务器,为所述客户端提供用户令牌的颁发和校验服务;

所述节目单服务器,为所述客户端提供m3u8播放地址;

所述索引列表服务器,生成key的url地址和m3u8索引列表密文,并通过所述内容分发系统向客户端进行分发;

所述密钥服务器,其定期生成、变更密钥,并向所述客户端进行分发;

所述内容分发服务器,其存储切片文件实体及m3u8索引列表密文文件,为所述客户端提供下载服务。

进一步地,所述客户端,其从所述客户认证服务器获取用户令牌并与ip地址进行绑定;从所述节目单服务器获取m3u8播放地址;根据所述m3u8播放地址从所述索引列表服务器获取key的url地址和m3u8索引列表密文;根据所述key的url地址从所述密钥服务器获取内容解密公钥;根据解密的标准m3u8索引列表的下载地址,从所述内容分发服务器下载并播放没有加密的视频切片文件。

为实现上述目的,本发明提供的hls索引列表加密防盗链方法,包括以下步骤:

1)获取客户端用户令牌并将其与客户端ip绑定;

2)获取节目单或m3u8播放地址;

3)获取key的url地址和m3u8索引列表密文;

4)获取内容解密公钥,并对m3u8索引列表密文进行解密;

5)下载并播放视频切片文件。

进一步地,所述步骤1)是客户端登陆用户认证服务器获取用户令牌并与ip绑定。

进一步地,所述步骤2)是节目单服务器接收客户端的电子节目单请求并通过绑定的客户端ip对用户令牌进行校验通过后,返回客户端需要m3u8播放地址。

进一步地,所述步骤3)是索引列表服务器根据客户端获取的m3u8播放地址,向客户端返回key的url地址和m3u8索引列表密文。

进一步地,所述步骤4)进一步包括以下步骤:客户端根据所述key的url地址,从密钥服务器获得内容解密公钥,并对m3u8索引列表密文进行解密,获取标准m3u8索引列表。

更进一步地,所述步骤5)进一步包括以下步骤:客户端从标准m3u8索引列表获得视频切片文件下载地址,从内容分发服务器下载并播放视频切片文件。

本发明的hls索引列表加密防盗链系统及方法,采用了高级加密标准(3des)、https安全以及电子ca(usertoken)校验来无缝地保护内容不被非法下载或盗版,在流媒体直播或点播时负责数字版权管理和内容访问控制,可以在为版权拥有者提供大规模互联网流媒体服务的基础上,实现有控制的视频分发,支持多种策略并且可以根据具体应用场景来扩展和定制授权方式。

本发明hls索引列表加密防盗链系统及方法,在客户端获取m3u8索引列表文件时对内容进行加密,即使直接下载了这些文件也无法获取到视频文件地址,从而起到了防盗链的作用,所以不需要对视频切片文件再进行加密,即使在低性能设备上也能够流畅地播放视频切片文件。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:

图1为根据本发明的hls索引列表加密防盗链系统架构图;

图2为根据本发明的hls索引列表加密防盗链方法工作流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

图1为根据本发明的hls索引列表加密防盗链系统架构图,如图1所示,本发明的hls索引列表加密防盗链系统,包括,客户端10、客户认证服务器20、节目单服务器30、索引列表服务器40、密钥服务器50,以及内容分发服务器,其中,

客户端10,从密钥服务器50(drmserver)获取索引列表密文解密公钥并m3u8对索引列表密文进行解密,获得标准m3u8切片文件索引文本,找到切片文件下载地址,下载并播放切片文件。优选地,本发明的客户端10包括手机、电视、电脑,以及平板电脑等终端。

客户认证服务器20,是authentication、authorization及accounting服务的简称,为系统对外提供:用户认证、服务授权、服务计费服务。提供用户令牌usertoken的颁发和校验服务;客户认证服务器20(aaaserver),为客户端10提供用户认证、服务授权、记账服务;提供用户令牌(usertoken)的颁发和校验服务。

节目单服务器30(epgserver),存储m3u8播放地址,并向客户端10进行分发。epg服务是electronicprogramguide的英文缩写,意思是电子节目菜单。iptv所提供的各种业务的节目及导航都是通过epg系统来完成的。

索引列表服务器40(m3u8server),存储key的url地址和索引列表密文,并向客户端10进行分发。索引列表服务器40(m3u8server),负责生成key的url地址和m3u8索引列表密文,通过内容分发服务器60向客户端进行分发。

密钥服务器50(drmserver),其定期生成、变更密钥,并向所述客户端进行分发。

内容分发服务器60(cdnserver),其存储视频切片文件实体及m3u8索引列表密文文件,为所述客户端10提供下载服务。

图2为根据本发明的hls索引列表加密防盗链方法工作流程图,下面将参考图2,对本发明的hls索引列表加密防盗链方法进行详细描述。

首先,在步骤201,客户端通过系统的客户认证服务器20(aaaserver)获取用户令牌,并与客户端的ip地址进行绑定。客户端通过客户认证服务器获取用户令牌时,会有geoblock(ip限制)机制,在非授权国家无法登陆。用户令牌是和客户端ip绑定的,并且有时间戳过期失效。每个用户的令牌都不一样,重新登录会下发新的令牌,原令牌自动失效,用户需要重新登录。

在步骤202,客户端获取m3u8播放地址。客户端向节目单服务器30(epgserver)发送epg请求(电子节目单请求)时,传入usertoken(传入token参数时和其它传入的参数一起经过加密,epgserver获取后解密),epgserver通过绑定的客户端ip来校验此token是否合法。如果合法,epgserver则返回客户端播放所需要的m3u8播放地址;否则不下发播放地址。epgserver返回的内容也是加密的,客户端获取数据后需要解密。

在步骤203,客户端获取key的url地址及m3u8索引列表密文。客户端从节目单服务器30拿到m3u8播放地址以后,向索引列表服务器40(m3u8server)发送请求,m3u8索引服务根据客户端请求场景,下发配套的密钥keyurl和m3u8索引列表密文(即m3u8加密数据)。如为直播请求,m3u8索引服务会下发最新n片索引列表密文;如为点播请求,m3u8索引服务则下发全部点播索引列表密文;如为时移,m3u8索引服务则根据时移时间下发时移时间附近的最新n片索引列表密文;如为回看,m3u8索引服务会将指定时间区间的索引列表密文下发。在请求时传入usertoken(传入token参数时和其它传入的参数一起经过加密,索引列表服务器40获取后解密),索引列表服务器40通过绑定的客户端ip来校验此token是否合法。如果合法返回#keyuri(代表key的url地址)及#body(代表m3u8加密数据),加密算法为3des。反馈内容的文本格式样例如下:

#keyuri=http://keyservice.test.itv.cn/m3u8key/text?version=21e35dc0-502c-4434-8f5f-122375246bc6&id=d62fe937-ac96-401f-9b52-7c917b8baaf9&type=live

#body=decq9ivcu4s09qphlxcszbqskpbhbvh5qcgup//5ugyoq04pxmmftq7roctc5zyzzm5tcciwzgmrgj/e20jnjeaqnwg/ui0ykh3mbuqaosothdy5u2es0twvk1fqbsdgtacna0fybu83gjiuko4xa3jy8lm2f4yki+4lh6txuu7ljtr1gb0vetei3bzkumqjbr1n961ltyyun3wd6snux7fk648pym==

在步骤204,获取标准m3u8播放列表文本。客户端10根据key的url地址,通过双向httpspost协议将加密后的用户令牌提给密钥服务器50(drmserver),用于获取内容解密公钥(直播场景下此密钥会定时更换),之后结合本地私钥,对m3u8索引密文进行解密,得到标准m3u8播放列表文本。密钥服务器50同时会通过绑定的客户端ip来校验此token是否合法。每个keyuri中会带着version字段,此字段用于标记公钥版本,当公钥发生变更时会产生一个新的version,确保该version对应的m3u8索引列表密文能正确解密;解密后结果文本格式样例如下(标准m3u8索引列表):

#extm3u

#ext-x-version:3

#ext-x-targetduration:15

#ext-x-media-sequence:1668778

#extinf:3.000,

#keyuri=http://keyservice.domian/m3u8key?version=3a3cd4c4-e3c9-4102-afad-25baf3eb9b22_0&id=8bad9f20-ff22-46b8-94ed-dced10dcfdeb&type=live

http://cdn.domian/s03/465bd596-1297-4335-91f3-247f0e3b8844/1000/20141203/1000_1417596194_5714597_45534609.ts

#extinf:3.000,

http://cdn.domian/s03/465bd596-1297-4335-91f3-247f0e3b8844/1000/20141203/1000_1417596197_2618938_45537609.ts

#extinf:3.000,

http://cdn.domian/s03/465bd596-1297-4335-91f3-247f0e3b8844/1000/20141203/1000_1417596200_2105875_45540609.ts。

在步骤205,顺序获取视频切片文件并进行播放。客户端通过解密后的标准m3u8播放列表中的视频切片文件下载地址,从内容分发服务器60(cdnserver)下载视频切片文件,下载时cdnserver前端验证模块会过滤非法请求(user-agent校验、ip地址验证、用户令牌验证)。

以上结合附图的流程描述针对本领域普通技术人员可以理解:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1