CN103957436B - 一种基于ott业务的视频防盗链方法 - Google Patents
一种基于ott业务的视频防盗链方法 Download PDFInfo
- Publication number
- CN103957436B CN103957436B CN201410200313.1A CN201410200313A CN103957436B CN 103957436 B CN103957436 B CN 103957436B CN 201410200313 A CN201410200313 A CN 201410200313A CN 103957436 B CN103957436 B CN 103957436B
- Authority
- CN
- China
- Prior art keywords
- video
- request
- index file
- user
- video segment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种基于OTT业务的视频防盗链方法,该视频防盗链方法包括:接收客户端对服务请求地址AU的访问请求,生成用户特征串US;根据用户特征串US生成视频索引文件链接IL;接收客户端的视频索引文件链接访问请求,判断视频索引文件链接访问请求中的用户特征信息与视频索引文件链接IL中包含的用户特征串US是否匹配;如果匹配,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串US生成各视频切片的访问入口,从而形成视频索引文件内容IC返回给客户端;接收客户端的视频切片访问请求,判断视频切片访问请求中的用户特征信息与各视频切片文件的访问入口中包含的用户特征串US是否匹配;如果匹配,向客户端返回视频切片。
Description
技术领域
本发明涉及互联网视频信息技术领域,具体涉及一种基于OTT业务的视频防盗链方法。
背景技术
近年来,OTT业务在国内外均处于一个蓬勃发展的时期,OTT业务中的主要视音频传输协议包括:HTTP Live Streaming(HLS)、HTTP Dynamic Streaming(HDS)等视频传输协议,以及未来有可能作为下一代国际标准的Dynamic Adaptive Streamingover HTTP(DASH)协议。
HLS是苹果公司提出的流媒体网络传输协议,其工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extendedM3U(m3u8)文件,即切片索引文件,用于寻找可用的媒体切片。
HDS是Adobe公司的传统流媒体解决方案RTMP+FLV的结合,在互联网视频行业得到了广泛的应用。它包含了多个部件来完成内容的准备工作(由内容准备模块执行),并通过HTTP将内容传送给终端的Flash Player。内容准备模块包括了面向VOD模块和面向Live直播的模块,VOD打包模块将媒体文件分片,并以F4F的格式存储,Live直播打包模块将直播流实时地写入到F4F文件当中。同时均会产生媒体对应的F4M格式的索引文件,索引文件中包含了编码、分辨率以及码率等参数信息。
DASH又称为MPEG-DASH,类似于HLS、HDS等协议,DASH也将视频内容切片为多个视频小片段,每个片段包含一小段视频内容。DASH是第一个基于HTTP的自适应码率的国际标准。
综合而言,上述类协议的基本特点为:均采用了索引文件加实际视频切片文件的二级结构。
随着OTT业务的发展,盗链现象也越来越常见。所谓盗链,即实体或个人不经过合法运营商同意,自行构建网页或APP应用程序链接到合法运营商的视频资源,使最终用户不经过合法运营商的指定页面或APP应用程序,而是通过盗链者的网页或APP应用程序访问到了合法运营商的视频资源。最终用户通过盗链者的网页或APP访问合法运营商的视频资源,极大的损害了合法运营商的广告价值、宣传价值,同时使合法运营商需要负担额外的CDN带宽开销,造成直接的经济损失。
目前的各种防盗链技术,针对上述OTT业务中的常用协议,均存在一定的问题。
采用session、cookie、reference-url等防盗链方式,通常只能保护网页中的直接视频链接;而OTT业务中的HLS、HDS、DASH均采用了二级结构,session、cookie、ref-url等信息无法通过一级索引文件,传递到对二级视频切片文件的访问请求中,无法有效保护二级视频切片内容,因此就无法防止盗链方自行模拟生成一级索引文件的方式对二级视频切片内容进行盗链。
传统的在链接中携带认证串的方式进行防盗链,则通常依赖于一个统一的用户认证中心对链接进行认证,这就要求实际使用中,用户进行登录认证,导致操作繁琐,用户体验不佳。
同时,OTT页面中的大量视频内容均通过商业CDN进行分发,大量视频切片索引文件及实际切片文件分布式缓存在了CDN的多个cache服务器中,采用统一的用户认证中心对所有这些切片的访问请求进行认证,一方面对认证中心的处理性能有很高要求,使OTT运营商的建设成本增加;另一方面,需要商业CDN和OTT运营商之间进行一定的认证接口对接,极大的增加了两方的开发成本,且推广的通用性不佳。
发明内容
本发明提供一种基于OTT业务的视频防盗链方法,以在无需部署用户认证中心的情况下,有效的对HLS/HDS/DASH等协议的视频索引文件链接和视频切片文件的链接进行防护,保护合法OTT运营商视频资源不被其他网站非法盗链。
为了实现上述目的,本发明提供一种基于OTT业务的视频防盗链方法,所述的视频防盗链方法包括:
步骤1:接收客户端对服务请求地址AU的访问请求,并根据所述AU的访问请求中的用户特征信息UI生成用户特征串US(S101);
步骤2:根据所述的用户特征串US生成视频索引文件链接IL(S102);
步骤3:接收所述客户端的视频索引文件链接访问请求(S103),判断所述视频索引文件链接访问请求中的用户特征信息与所述视频索引文件链接IL中包含的用户特征串US是否匹配(S104);
步骤4:如果匹配,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串US生成各视频切片的访问入口,从而形成视频索引文件内容IC返回给所述客户端(S105);
步骤5:接收所述客户端的视频切片访问请求(S106),判断所述的视频切片访问请求中的用户特征信息与所述各视频切片文件的访问入口中包含的用户特征串US是否匹配(S107);
步骤6:如果匹配,向所述的客户端返回视频切片(S108)。
在一实施例中,在所述步骤1中,根据所述AU的访问请求中的用户特征信息UI生成用户特征串US,包括:
将包含客户端IP地址UIP及客户端User-Agent信息UA的客户信息结合,生成用户特征信息UI:UI=(UIP,UA);
定义可逆函数F0,将所述用户特征信息UI和本次访问请求的时间因子T进行运算,形成用户特征串US=F0(UI,T)。
在一实施例中,所述步骤2中,根据所述的用户特征串US生成视频索引文件链接IL,包括:
定义可逆函数F1,将所述的用户特征串US和所述客户端要访问的视频索引文件的原始访问位置IO进行运算,基于不同的用户特征串US形成不同的视频索引文件链接IL:
IL=F1(IO,US)
其中,可逆函数F1的运算方式包括字符串连接。
在一实施例中,所述步骤4中,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串US生成各视频切片的访问入口,从而形成视频索引文件内容IC返回给所述客户端,包括:定义可逆函数F2(CL,US),对所述用户特征串US和所述各视频切片的原始访问位置信息CL进行运算,生成索引文件中包含的各视频切片的访问入口,使不同用户特征串US产生的视频索引文件内容IC不同。
在一实施例中,所述步骤4中,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串US生成各视频切片的访问入口,从而形成视频索引文件内容IC返回给所述客户端,包括:定义可逆函数F2′(CL,US,CI),对所述用户特征串US、所述各视频切片的访问位置信息CL及各视频切片的特征信息CI进行运算,生成索引文件中包含的各视频切片的访问入口,使不同用户特征串US产生的视频索引文件内容IC不同。
在一实施例中,所述的函数F2通过加密算法进行运算,加密时使用的密钥是基于各视频切片的时间戳信息TS动态生成的。
在一实施例中,所述的函数F2′通过加密算法进行运算,加密时使用的密钥是基于各视频切片的时间戳信息TS动态生成的。
在一实施例中,所述的步骤3中,当接收所述客户端的视频索引文件链接访问请求后,利用可逆函数F1(IO,US)的逆函数F1-1从访问的URL中解析出用户特征串US,记录本次用户访问的用户特征信息UI0和时间因子T0;定义函数F5(US,UI0,T0),并对函数F5(US,UI0,T0)进行判定,如果判定结果为TRUE,则判定本次视频索引文件链接访问请求为合法请求,如果判定结果为FALSE,判定本次视频索引文件链接访问请求为非法请求。
在一实施例中,对函数F5(US,UI0,T0)的进行判定的步骤包括:
利用可逆函数F0(UI,T)的逆函数F0-1从用户特征串US中解析出用户特征信息UI和时间因子T;
判定UI与UI0的关系,并判定T0-T与Tm的关系,如果UI不等于UI0,或者T0-T>Tm,返回FALSE,否则,返回TRUE;
其中,Tm为预定义的请求超时时间。
在一实施例中,判定本次视频索引文件访问请求是否合法时,采用步骤a和/或步骤b作为补充步骤:
步骤a:当接收所述客户端的视频索引文件访问请求后,提取请求中的reference-url域RU,判断RU与AU的关系;
如果RU等于AU,则判定本次视频索引文件链接访问请求为合法请求,如果RU不等于AU,则判定本次视频索引文件链接访问请求为非法请求;
步骤b:将所述US写入HTTP-Cookie,形成HTTP-Cookie值AS;
当接收所述客户端的视频索引文件链接访问请求后,提取HTTP请求中的HTTP-Cookie信息RS,判断RS与AS的关系;
如果RS等于AS,则判定本次视频索引文件链接访问请求为合法请求,如果RS不等于AS,则判定本次视频索引文件链接访问请求为非法请求。
在一实施例中,在所述步骤5中,判断所述的视频切片访问请求中的用户特征信息与所述各视频切片的访问入口中包含的用户特征串US是否匹配,包括:
接收所述客户端的视频切片访问请求后,利用F2(CL,US)的逆函数F2-1从访问的URL中解析出US,记录本次用户访问的用户特征信息UI0和时间因子T0,利用函数F5(US,UI0,T0)进行合法性判定;
如果所述F5(US,UI0,T0)为TRUE,则判定本次视频切片访问请求为合法请求,如果所述F5(US,UI0,T0)为FALSE,则判定本次视频切片访问请求为非法请求。
在一实施例中,在所述步骤5中,判断所述的视频切片访问请求中的用户特征信息与所述各视频切片的访问入口中包含的用户特征串US是否匹配,包括:
接收所述客户端的视频切片访问请求后,利用F2′(CL,US,CI)的逆函数F2′-1从访问的URL中解析出US,记录本次用户访问的用户特征信息UI0和时间因子T0,利用函数F5(US,UI0,T0)进行合法性判定;
如果所述F5(US,UI0,T0)为TRUE,则判定本次视频切片访问请求为合法请求,如果所述F5(US,UI0,T0)为FALSE,则判定本次视频切片访问请求为非法请求。
利用本发明的视频防盗链方法,在动态产生索引内包含的视频切片文件链接时,采用了结合视频切片文件视频特征的方式,使得非法盗链者难于猜测和模拟视频切片文件的动态链接。
利用本发明的视频防盗链方法,对视频索引链接、视频切片文件链接,采用了一种将传统HTTP-Cookie机制、reference-url机制和记录客户端信息并动态生成特征串机制相结合的方式进行防盗链,可有效避免传统HTTP-Cookie、reference-url等方法无法保护二级切片的问题。
本发明的视频防盗链方法,在防盗链策略中用到的用户访问合法性校验策略采用特定算法完成,不需要构建统一的认证中心或校验中心,也不需要终端用户进行登录认证操作,因此可以极大节约建设成本,不影响用户体验、并非常适用于CDN网络的分布式部署。
综上所述,本发明的有益效果在于,针对OTT运营商的合法视频内容,无须构建统一认证中心,无须用户登录认证,即可实现对视频内容的有效防盗链,从而可保护OTT运营商的合法权益,大幅度降低运营商的投资成本,非常适合通过CDN网络进行分布式部署。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施的基于OTT业务的视频防盗链方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明提供一种基于OTT业务的视频防盗链方法,该视频防盗链方法可以用于非DRM下针对OTT业务的视频防盗链,该视频防盗链方法包括:
步骤101:接收客户端对服务请求地址AU的访问请求,并根据所述AU的访问请求中的用户特征信息UI生成用户特征串US;
步骤102:根据所述的用户特征串US生成视频索引文件链接IL;
步骤103:接收所述客户端的视频索引文件链接访问请求,判断所述视频索引文件链接访问请求中的用户特征信息与所述视频索引文件链接IL中包含的用户特征串US是否匹配;
步骤104:如果匹配,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串US生成各视频切片的访问入口,从而形成视频索引文件内容IC返回给所述客户端;
步骤105:接收所述客户端的视频切片访问请求,判断所述的视频切片访问请求中的用户特征信息与所述各视频切片文件的访问入口中包含的用户特征串US是否匹配;
步骤106:如果匹配,向所述的客户端返回视频切片。
本发明基于OTT业务的视频防盗链方法的执行主体为服务器端,该服务器段可以与客户端进行通信,接收客户端的请求,向客户端发送反馈信息。
由图1所示的流程可知,本发明接收客户端对服务请求地址AU的访问请求,生成根据该访问请求中的用户特征信息UI生成用户特征串US,然后根据用户特征串US生成视频索引文件链接IL;接收所述客户端的视频索引文件链接访问请求,并判断该请求是否合法(即匹配),如果合法,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串US生成各视频切片的访问入口,从而形成视频索引文件内容IC反馈给所述客户端;接收客户端的视频切片访问请求,判断该视频切片访问请求是否合法,如果是,向所述的客户端返回视频切片。通过上述过程,在无需部署用户认证中心的情况下,有效的对HLS/HDS/DASH等协议的视频索引文件链接和视频切片文件的链接进行防护,保护合法OTT运营商视频资源不被其他网站非法盗链。
在一实施例中,在图1的步骤101中,客户端向服务器端发送对服务请求地址AU的访问请求,服务器端接收到该访问请求后,将包含客户端IP地址UIP及客户端User-Agent信息UA的客户信息结合,生成用户特征信息UI,UI=(UIP,UA)。定义可逆函数F0,将上述生成的用户特征信息UI和本次访问请求的时间因子T进行运算,形成用户特征串US=F0(UI,T)。F0(UI,T)可采用但不局限于如下方式实现:
1)对UI和T进行字符串连接,形成待加密缓冲区B0.;
2)对B0进行AES加密,形成加密缓冲区B1;
3)对B1进行Base64编码,形成US。
需要说明的是,可逆函数F0在将上述生成的用户特征信息UI和本次访问请求的时间因子T进行运算时,可采用AES、DES等通用加密算法或其他自定义的加密算法,防止被非法用户猜测出US,本发明不以此为限。
对于上述时间因子T,在一实施例中,可以取访问请求时间作为时间因子T,但时间因子T的取值不限于此。另外,对同一用户通过客户端的多次访问,时间因子T取值不同,可以使得相同的UI得到的US不同,从而防止US被重复使用。
上述步骤102具体实施时,服务器端可以定义可逆函数F1,将用户特征串US和客户端要访问的视频索引文件的原始访问位置IO进行运算,基于不同的用户特征串US形成不同的视频索引文件链接IL,并将视频索引文件链接IL进行发布,IL=F1(IO,US)。其中,可逆函数F1将用户特征串US和客户端要访问的视频索引文件的原始访问位置IO进行运算的运算方式包括字符串连接或者其他可逆运算方式。举例说明一个典型的字符串拼接方式如下:
1)对用户特征串US进行base64编码,形成编码后的字符串BUS,以防止出现中文等不能在URL中出现的字符。
2)将BUS作为参数添加入原始访问位置IO,形成视频索引文件链接IL。
在服务器端将视频索引文件链接IL发布之后,客户端可以向服务器端发起视频索引文件链接访问请求,进入步骤103。步骤103具体实施时,当接收到客户端的视频索引文件链接访问请求后,利用可逆函数F1(IO,US)的逆函数F1-1从访问的URL中解析出用户特征串US,记录本次用户访问的用户特征信息UI0和时间因子T0。然后定义函数F5(US,UI0,T0),并对函数F5(US,UI0,T0)进行判定,判定结果为TRUE还是FALSE。如果判定结果为TRUE,则判定本次视频索引文件链接访问请求为合法请求,如果判定结果为FALSE,判定本次视频索引文件链接访问请求为非法请求。
在一实施例中对函数F5(US,UI0,T0)的进行判定的步骤包括:
利用可逆函数F0(UI,T)的逆函数F0-1从用户特征串US中解析出用户特征信息UI和时间因子T。
判定UI与UI0的关系,并判定T0-T与Tm的关系,如果UI不等于UI0,或者T0-T>Tm,返回FALSE。否则,如果UI等于UI0,并且同时T0-T≤Tm,返回TRUE。其中,Tm为预定义的请求超时时间。
上述通过函数F5(US,UI0,T0)判定本次视频索引文件链接访问请求是否合法,但是本发明并不限于利用函数F5(US,UI0,T0)进行判定,还可以用另外两种方法进行判定。本实施例中,将利用函数F5(US,UI0,T0)进行判定的方法称为第一种判定方法,下述两种判定方法分别为第二种判定方法及第三种判定方法,其中的“第一种”、“第二种”、“第三种”并非为了限定,仅是为了便于区分。下面分别第二种判定方法及第三种判定方法:
1、第二种判定方法:
当接收到客户端的视频索引文件访问请求后,提取请求中的reference-url域RU,然后判断RU与AU的关系;
如果RU等于AU,则判定本次视频索引文件链接访问请求为合法请求;如果RU不等于AU,则判定本次视频索引文件链接访问请求为非法请求。
2、第三种判定方法:
将所述US写入HTTP-Cookie,形成HTTP-Cookie值AS;
当接收所述客户端的视频索引文件链接访问请求后,提取HTTP请求中的HTTP-Cookie信息RS,判断HTTP-Cookie信息RS与HTTP-Cookie值AS的关系;
如果RS等于AS,则判定本次视频索引文件链接访问请求为合法请求;如果RS不等于AS,则判定本次视频索引文件链接访问请求为非法请求。
这里需要说明的是,判定视频索引文件链接访问请求是否合法时,可以采用上述三种判定方法,也可以采用上述三种判定方法中的两种或者一种。采用三种判定方法或者两种判定方法时,不分先后顺序,例如采用上述的第一种判定方法及第三种判定方法判定视频索引文件链接访问请求是否合法时,可以先采用第三种判定方法进行判定,然后进行第一种判定方法进行判定。采用三种判定方法或者两种判定方法时,只要一种判定方法判定视频索引文件链接访问不合法,则视频索引文件链接访问请求不合法,故在采用三种判定方法或者两种判定方法时,如果先采用的判定方法判定视频索引文件链接访问不合法,则无需采用后面的判定方法再进行判定,可以直接得出视频索引文件链接访问不合法的结论。
如果服务器端判定本次视频索引文件链接访问请求为合法请求,则视频索引文件链接访问请求中的用户特征信息与视频索引文件链接IL中包含的用户特征串US匹配,可以进行步骤104,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串US生成各视频切片的访问入口,从而形成视频索引文件内容IC返回给客户端。
当服务器端判定本次视频索引文件链接访问请求为非法请求时,则判定客户端对服务请求地址AU的访问请求为盗链行为,可以拒绝客户端的访问请求,阻止OTT业务的视频被盗链。
步骤104具体实施时,在一实施例中,可以通过定义可逆函数F2(CL,US)进行,对所述用户特征串US和所述各视频切片的原始访问位置信息CL进行运算,生成索引文件中包含的各视频切片的访问入口,使不同用户特征串US产生的视频索引文件内容IC不同。
上述的可逆函数F2(CL,US)可以通过加密算法进行运算,加密时使用的密钥是基于各视频切片的时间戳信息TS动态生成的。可逆函数F2(CL,US)采用加密算法可以是AES、DES等通用加密算法或其他自定义的加密算法,对US和CL进行加密运算。
在另一实施例中,可以通过定义可逆函数F2′(CL,US,CI),对用户特征串US、各视频切片的访问位置信息CL及各视频切片的特征信息CI进行运算,生成索引文件中包含的各视频切片的访问入口,使不同用户特征串US产生的视频索引文件内容IC不同。
上述的可逆函数F2′(CL,US,CI)可以通过加密算法进行运算,加密时使用的密钥是基于各视频切片的时间戳信息TS动态生成的。可逆函数F2′(CL,US,CI)采用加密算法可以是AES、DES等通用加密算法或其他自定义的加密算法,对用户特征串US和各视频切片的访问位置信息CL进行加密运算,可逆函数F2′(CL,US,CI)的密钥基于各视频切片文件的视频切片文件的特征信息CI生成,其基本步骤为:
1)设定C=预设的索引文件中需包含的切片个数;
设定索引文件中包含的各视频切片文件的访问位置信息集合为:
{CL0,CL1,…CLc-1}
设定索引文件中包含的各视频切片文件的特征信息为:
{CI0,CI1,…CIc-1}
2)定义密钥生成算法K,基于各视频切片文件的特征信息计算各切片的密钥,得到:
{K(CI0),K(CI1),…K(CIc-1)}
3)计算索引文件中包含的各视频切片文件的访问入口:
{F2′(US,CL0,K(CI0)),F2′(US,CL1,K(CI1)),…F2′(US,CLc-1,K(CIc-1))}
上述的密钥生成算法K可使用基于MD5等单向哈希算法或其他密钥生成算法。
视频索引文件中包含的各视频切片文件的特征信息CI采用各视频切片文件的时间戳信息动态生成,不同切片的时间戳不同,则CI不同。
由于函数F2′(CL,US,CI)提取视频索引文件中包含的各视频切片文件的特征信息CI参与运算,使得不同用户特征串US对应的相同视频切片文件的访问入口不同,同一用户特征串US对应的不同视频切片文件的入口由于结合了各视频切片文件自身的特征信息进行计算,难于被预测。
客户端收到视频索引文件内容IC后,可以向服务器端发送视频切片访问请求,服务器端接收客户端的视频切片访问请求,判断视频切片访问请求中的用户特征信息与各视频切片文件的访问入口中包含的用户特征串US是否匹配(步骤105)。
步骤105具体实施时,在一实施例中,服务器端接收到客户端的视频切片访问请求后,利用F2(CL,US)的逆函数F2-1从访问的URL中解析出US,记录本次用户访问的用户特征信息UI0和时间因子T0,利用函数F5(US,UI0,T0)进行合法性判定;如果所述F5(US,UI0,T0)为TRUE,则判定本次视频切片访问请求为合法请求,如果所述F5(US,UI0,T0)为FALSE,则判定本次视频切片访问请求为非法请求。
在上述过程中,由于不同切片文件链接对应的密钥不同,因此盗链方难于通过猜测破解密钥的方式模拟出合法的切片文件链接,因此难于进行盗链。同时,在多个服务器端构成的分布式环境中,该校验机制使客户端通过任意一个服务器端获取视频切片文件时,服务器端均可对访问请求进行独立校验,不需要构建统一的校验中心。
步骤105具体实施时,在一实施例中,服务器端接收到客户端的视频切片访问请求后,利用F2′(CL,US,CI)的逆函数F2′-1从访问的URL中解析出US,记录本次用户访问的用户特征信息UI0和时间因子T0,利用函数F5(US,UI0,T0)进行合法性判定;如果所述F5(US,UI0,T0)为TRUE,则判定本次视频切片访问请求为合法请求,如果所述F5(US,UI0,T0)为FALSE,则判定本次视频切片访问请求为非法请求。
在上述过程中,由于不同切片文件链接对应的密钥不同,因此盗链方难于通过猜测破解密钥的方式模拟出合法的切片文件链接,因此难于进行盗链。同时,在多个服务器端构成的分布式环境中,该校验机制使客户端通过任意一个服务器端获取视频切片文件时,服务器端均可对访问请求进行独立校验,不需要构建统一的校验中心。
如果视频切片访问请求中的用户特征信息与各视频切片文件的访问入口中包含的用户特征串US匹配,本次视频切片访问请求为合法请求,返回视频切片。如果视频切片访问请求中的用户特征信息与各视频切片文件的访问入口中包含的用户特征串US不匹配,本次视频切片访问请求为非法请求,则不向客户端返回对应视频切片。
与现有的视频防盗链方法相比,本发明的视频防盗链方法的优势之一在于,针对OTT运营商广泛采用1级索引+2级切片的视频发布和传输方式,本发明采用了动态产生视频索引文件和动态产生索引内包含的视频切片文件链接的方式,从而使非法网站无法获得固定的索引文件链接或索引内包含的二级视频切片文件链接。
与现有的视频防盗链方法相比,本发明的视频防盗链方法的另一优势在于,在动态产生索引内包含的视频切片文件链接时,采用了结合视频切片文件视频特征的方式,使得非法盗链者难于猜测和模拟视频切片文件的动态链接。
与现有的视频防盗链方法相比,本发明的视频防盗链方法的又一优势在于,对视频索引链接、视频切片文件链接,采用了一种将传统HTTP-Cookie机制、reference-url机制和记录客户端信息并动态生成特征串机制相结合的方式进行防盗链,可有效避免传统HTTP-Cookie、reference-url等方法无法保护二级切片的问题。
与现有的视频防盗链方法相比,本发明所述的视频防盗链方法的再另一优势在于,防盗链策略中用到的用户访问合法性校验策略采用特定算法完成,不需要构建统一的认证中心或校验中心,也不需要终端用户进行登录认证操作,因此可以极大节约建设成本,不影响用户体验、并非常适用于CDN网络的分布式部署。
综上所述,本发明的有益效果在于,针对OTT运营商的合法视频内容,无须构建统一认证中心,无须用户登录认证,即可实现对视频内容的有效防盗链,从而可保护OTT运营商的合法权益,大幅度降低运营商的投资成本,非常适合通过CDN网络进行分布式部署。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种基于OTT业务的视频防盗链方法,其特征在于,所述的视频防盗链方法包括:
步骤1:接收客户端对服务请求地址(AU)的访问请求,并根据所述服务请求地址(AU)的访问请求中的用户特征信息(UI)生成用户特征串(US);
步骤2:根据所述的用户特征串(US)生成视频索引文件链接(IL);
步骤3:接收所述客户端的视频索引文件链接访问请求,判断所述视频索引文件链接访问请求中的用户特征信息与所述视频索引文件链接(IL)中包含的用户特征串(US)是否匹配;
步骤4:如果匹配,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串(US)生成各视频切片的访问入口,从而形成视频索引文件内容(IC)返回给所述客户端;
步骤5:接收所述客户端的视频切片访问请求,判断所述的视频切片访问请求中的用户特征信息与所述各视频切片文件的访问入口中包含的用户特征串(US)是否匹配;
步骤6:如果匹配,向所述的客户端返回视频切片。
2.根据权利要求1所述的方法,其特征在于,在所述步骤1中,根据所述AU的访问请求中的用户特征信息(UI)生成用户特征串(US),包括:
将包含客户端IP地址(UIP)及客户端User-Agent信息(UA)的客户信息结合,生成用户特征信息(UI):UI=(UIP,UA);
定义可逆函数F0,将所述用户特征信息(UI)和本次访问请求的时间因子(T)进行运算,形成用户特征串,US=F0(UI,T)。
3.根据权利要求1所述的方法,其特征在于,所述步骤2中,根据所述的用户特征串(US)生成视频索引文件链接(IL),包括:
定义可逆函数F1,将所述的用户特征串(US)和所述客户端要访问的视频索引文件的原始访问位置(IO)进行运算,基于不同的用户特征串(US)形成不同的视频索引文件链接(IL):
IL=F1(IO,US)
其中,可逆函数F1的运算方式包括字符串连接。
4.根据权利要求1所述的方法,其特征在于,所述步骤4中,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串(US)生成各视频切片的访问入口,从而形成视频索引文件内容(IC)返回给所述客户端,包括:定义可逆函数F2(CL,US),对所述用户特征串(US)和所述各视频切片的原始访问位置信息(CL)进行运算,生成索引文件中包含的各视频切片的访问入口,使不同用户特征串(US)产生的视频索引文件内容(IC)不同。
5.根据权利要求1所述的方法,其特征在于,所述步骤4中,根据视频索引文件中包含的各视频切片的原始访问入口和用户特征串(US)生成各视频切片的访问入口,从而形成视频索引文件内容(IC)返回给所述客户端,包括:定义可逆函数F2′(CL,US,CI),对所述用户特征串(US)、所述各视频切片的访问位置信息(CL)及各视频切片的特征信息(CI)进行运算,生成索引文件中包含的各视频切片的访问入口,使不同用户特征串(US)产生的视频索引文件内容(IC)不同。
6.根据权利要求4所述的方法,其特征在于,所述的函数F2通过加密算法进行运算,加密时使用的密钥是基于各视频切片的时间戳信息(TS)动态生成的。
7.根据权利要求5所述的方法,其特征在于,所述的函数F2′通过加密算法进行运算,加密时使用的密钥是基于各视频切片的时间戳信息(TS)动态生成的。
8.根据权利要求3所述的方法,其特征在于,所述的步骤3中,当接收所述客户端的视频索引文件链接访问请求后,利用可逆函数F1(IO,US)的逆函数F1-1从访问的URL中解析出用户特征串(US),记录本次用户访问的用户特征信息(UI0)和时间因子(T0);定义函数F5(US,UI0,T0),并对函数F5(US,UI0,T0)进行判定,如果判定结果为TRUE,则判定本次视频索引文件链接访问请求为合法请求,如果判定结果为FALSE,判定本次视频索引文件链接访问请求为非法请求。
9.根据权利要求8所述的方法,其特征在于,对函数F5(US,UI0,T0)的进行判定的步骤包括:
利用可逆函数F0(UI,T)的逆函数F0-1从用户特征串(US)中解析出用户特征信息(UI)和时间因子(T);
判定UI与UI0的关系,并判定T0-T与Tm的关系,如果UI不等于UI0,或者T0-T>Tm,返回FALSE,否则,返回TRUE;
其中,Tm为预定义的请求超时时间。
10.根据权利要求9所述的方法,其特征在于,判定本次视频索引文件访问请求是否合法时,采用步骤a和/或步骤b作为补充步骤:
步骤a:当接收所述客户端的视频索引文件访问请求后,提取请求中的reference-url域(RU),判断RU与AU的关系;
如果RU等于AU,则判定本次视频索引文件链接访问请求为合法请求,如果RU不等于AU,则判定本次视频索引文件链接访问请求为非法请求;
步骤b:将所述US写入HTTP-Cookie,形成HTTP-Cookie值AS;
当接收所述客户端的视频索引文件链接访问请求后,提取HTTP请求中的HTTP-Cookie信息RS,判断RS与AS的关系;
如果RS等于AS,则判定本次视频索引文件链接访问请求为合法请求,如果RS不等于AS,则判定本次视频索引文件链接访问请求为非法请求。
11.根据权利要求4所述的方法,其特征在于,在所述步骤5中,判断所述的视频切片访问请求中的用户特征信息与所述各视频切片的访问入口中包含的用户特征串(US)是否匹配,包括:
接收所述客户端的视频切片访问请求后,利用F2(CL,US)的逆函数F2-1从访问的URL中解析出US,记录本次用户访问的用户特征信息(UI0)和时间因子(T0),利用函数F5(US,UI0,T0)进行合法性判定;
如果所述F5(US,UI0,T0)为TRUE,则判定本次视频切片访问请求为合法请求,如果所述F5(US,UI0,T0)为FALSE,则判定本次视频切片访问请求为非法请求。
12.根据权利要求5所述的方法,其特征在于,在所述步骤5中,判断所述的视频切片访问请求中的用户特征信息与所述各视频切片的访问入口中包含的用户特征串(US)是否匹配,包括:
接收所述客户端的视频切片访问请求后,利用F2′(CL,US,CI)的逆函数F2′-1从访问的URL中解析出US,记录本次用户访问的用户特征信息(UI0)和时间因子(T0),利用函数F5(US,UI0,T0)进行合法性判定;
如果所述F5(US,UI0,T0)为TRUE,则判定本次视频切片访问请求为合法请求,如果所述F5(US,UI0,T0)为FALSE,则判定本次视频切片访问请求为非法请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410200313.1A CN103957436B (zh) | 2014-05-13 | 2014-05-13 | 一种基于ott业务的视频防盗链方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410200313.1A CN103957436B (zh) | 2014-05-13 | 2014-05-13 | 一种基于ott业务的视频防盗链方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103957436A CN103957436A (zh) | 2014-07-30 |
CN103957436B true CN103957436B (zh) | 2016-09-07 |
Family
ID=51334644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410200313.1A Active CN103957436B (zh) | 2014-05-13 | 2014-05-13 | 一种基于ott业务的视频防盗链方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103957436B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104284213A (zh) * | 2014-09-26 | 2015-01-14 | 深圳市同洲电子股份有限公司 | 一种防盗链方法、客户端以及系统 |
CN104735484B (zh) * | 2015-03-05 | 2017-12-15 | 天脉聚源(北京)科技有限公司 | 一种播放视频的方法及装置 |
CN105307052B (zh) * | 2015-10-27 | 2018-09-25 | 无锡天脉聚源传媒科技有限公司 | 一种视频请求处理方法及装置 |
CN105392051B (zh) * | 2015-10-27 | 2019-03-19 | 无锡天脉聚源传媒科技有限公司 | 一种视频请求处理方法及装置 |
CN105897671A (zh) * | 2015-11-13 | 2016-08-24 | 乐视云计算有限公司 | 防盗链方法及系统 |
CN105871805A (zh) * | 2015-12-11 | 2016-08-17 | 乐视云计算有限公司 | 防盗链的方法及装置 |
CN105657474B (zh) * | 2016-02-19 | 2019-04-26 | 微鲸科技有限公司 | 在视频应用中使用基于身份签名体制的防盗链方法及系统 |
CN105847941B (zh) * | 2016-03-17 | 2019-02-19 | 央广视讯传媒股份有限公司 | 一种基于hls协议的音视频流直播方法 |
CN105933310A (zh) * | 2016-04-20 | 2016-09-07 | 乐视控股(北京)有限公司 | 防盗链方法、装置及系统 |
CN107707504B (zh) * | 2016-08-08 | 2020-11-10 | 中国电信股份有限公司 | 一种流媒体的播放方法、系统以及服务器和客户端 |
CN107786526A (zh) * | 2016-08-31 | 2018-03-09 | 北京优朋普乐科技有限公司 | 防盗链方法、客户端和服务器系统 |
CN107872487B (zh) * | 2016-09-28 | 2020-09-08 | 中国电信股份有限公司 | 海量文件防盗链和装置 |
CN107222480A (zh) * | 2017-05-27 | 2017-09-29 | 中国联合网络通信集团有限公司 | 一种流媒体播放方法、终端设备及cdn服务器 |
CN107911336B (zh) * | 2017-10-09 | 2022-02-25 | 西安交大捷普网络科技有限公司 | 一种web盗链防护方法 |
CN110138716B (zh) | 2018-02-09 | 2020-11-27 | 网宿科技股份有限公司 | 一种密钥的提供、视频播放方法、服务器及客户端 |
CN110519656B (zh) * | 2018-05-22 | 2021-11-26 | 中国电信股份有限公司 | 自适应流媒体的播放方法、系统以及服务器 |
CN108924595A (zh) * | 2018-08-15 | 2018-11-30 | 广东南方新媒体股份有限公司 | 实现ts切片防盗链的方法及系统 |
CN109819337A (zh) * | 2019-02-02 | 2019-05-28 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种视频文件下载防盗链方法、系统及介质 |
CN109905731A (zh) * | 2019-02-22 | 2019-06-18 | 湖南快乐阳光互动娱乐传媒有限公司 | 可防通行证盗用的视频文件下载防盗链方法、系统及介质 |
CN110139136B (zh) * | 2019-04-30 | 2021-11-26 | 北京数字太和科技有限责任公司 | 一种基于drm技术的网络电视播放的方法及装置 |
CN110446108B (zh) * | 2019-06-28 | 2022-04-22 | 中国传媒大学 | 一种媒体云系统及视频加密、解密方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282281A (zh) * | 2007-04-03 | 2008-10-08 | 华为技术有限公司 | 一种媒体分发系统、装置及流媒体播放方法 |
CN101582919A (zh) * | 2009-04-14 | 2009-11-18 | 冯俊秋 | 网络电视播放方法及系统 |
CN102624752A (zh) * | 2011-01-26 | 2012-08-01 | 天脉聚源(北京)传媒科技有限公司 | 一种m3u8直播流防盗链方法和系统 |
CN103365865A (zh) * | 2012-03-29 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 数据存储方法、数据下载方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2730079A1 (en) * | 2011-07-07 | 2014-05-14 | Cisco Technology, Inc. | System and method for providing a message and an event based video services control plane |
-
2014
- 2014-05-13 CN CN201410200313.1A patent/CN103957436B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282281A (zh) * | 2007-04-03 | 2008-10-08 | 华为技术有限公司 | 一种媒体分发系统、装置及流媒体播放方法 |
CN101582919A (zh) * | 2009-04-14 | 2009-11-18 | 冯俊秋 | 网络电视播放方法及系统 |
CN102624752A (zh) * | 2011-01-26 | 2012-08-01 | 天脉聚源(北京)传媒科技有限公司 | 一种m3u8直播流防盗链方法和系统 |
CN103365865A (zh) * | 2012-03-29 | 2013-10-23 | 腾讯科技(深圳)有限公司 | 数据存储方法、数据下载方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103957436A (zh) | 2014-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103957436B (zh) | 一种基于ott业务的视频防盗链方法 | |
CN106797563B (zh) | 用于自适应流媒体的基于令牌的认证和授权信息的信令通知和交互 | |
CN105659240B (zh) | 一种用于发送和验证url签名以进行自适应流中url认证和基于url的内容访问授权的系统和方法 | |
EP2945344B1 (en) | Token-based validation method for segmented content delivery | |
US9032497B2 (en) | System and method for securing embedded media | |
US9026782B2 (en) | Token-based entitlement verification for streaming media decryption | |
US20140096271A1 (en) | Segment Authentication for Dynamic Adaptive Streaming | |
US20170171166A1 (en) | Anti-hotlinking method and electronic device | |
CN107707504A (zh) | 一种流媒体的播放方法、系统以及服务器和客户端 | |
CN105915494A (zh) | 防盗链方法及系统 | |
US9419948B2 (en) | Method and apparatus for avoiding license storming during an unplanned regional blackout | |
US11500968B2 (en) | Method of and system for providing access to access restricted content to a user | |
CN109040079A (zh) | 直播链接地址的组建和验证方法及相应装置 | |
CN106101133A (zh) | 一种流媒体防盗链的方法及系统 | |
CN102546528B (zh) | 流媒体播放的方法和设备 | |
US20140165209A1 (en) | Digital content delivery platform for multiple retailers | |
CN116055767A (zh) | 视频文件的处理方法、装置、设备及可读存储介质 | |
CN108235067B (zh) | 一种视频流地址的鉴权方法及装置 | |
CN113329242A (zh) | 一种资源管理的方法和装置 | |
CN106131603B (zh) | 一种基于动态字典的视频播放方法与系统 | |
US8943312B2 (en) | Method of and system for authenticating online read digital content | |
CN108055356A (zh) | 一种信息处理方法、服务器、客户端及可读存储介质 | |
CN106470186B (zh) | 一种以跳转方式访问第三方资源的方法 | |
CN109218009A (zh) | 一种提高设备id安全性的方法、客户端和服务器 | |
CN110012319A (zh) | 一种视频流地址的鉴权方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |