基于网络终端的防盗链方法、装置和系统与流程

文档序号:12037816阅读:170来源:国知局
基于网络终端的防盗链方法、装置和系统与流程

本发明涉及流媒体技术领域,具体而言,特别涉及一种基于网络终端的防盗链方法、装置和系统。



背景技术:

网络终端,包括ott终端、iptv终端和dvb终端等,可以是智能电视机、计算机、机顶盒、pad、智能手机等等。其中,向网络终端提供的应用服务包括视频播放,在提供视频播放时,对于传统的视频播放技术,播放模式中必须等待整个视频文件下载完成后才可以播放。随着流媒体技术的发展,这种播放模式在逐步更改。

流媒体是指采用流式传输技术在网络上连续实时播放的媒体格式,如音频、视频以及其他多媒体文件。流媒体技术也称流式媒体技术,所谓流媒体技术就是把连续的影像和声音信息经过压缩处理后放到网站服务器,由视频服务器向用户终端顺序或实时地传送各个压缩包,让用户一边下载一边观看、收听,无需等整个压缩文件下载到本地才可以观看的网络传输技术。

在这一过程中,如果视频提供方把视频资源地址直接嵌入到自己的网站,那么盗链者便可以成功的实现视频流的盗链。为了解决这一问题,现有技术中提出了很多防盗链的解决方案。

方案一:此技术方案为最简单的防盗链解决方案,通过检查http协议中表头字段referer,服务器可以检测目标网页访问的来源请求,如果是资源文件,比如视频资源,则可以跟踪到显示它的来源地址。有了referer跟踪来源,就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返回指定的页面。

对于该技术方案一,盗链者可以在页面中间件里面先进入目的地址的另外一个页面,再转到目的页面,这样页面的refer就是目的站点自己的,如此,即做到突破。这方面可以使用的工具很多,尤其是成熟的web项目测试包,如htmlunit,直接在请求中设置refer都是可以的。

方案二:此技术方案为最常用的防盗链解决方案,核心部分是通过对url中传递的参数增加加密算法来实现。比如对其中三个参数进行加密,然后在服务端也采用同样的方式来加密,双方校对加密结果是否一致来判断是否合法来源。目前已知的加密算法包括:md5、sha1和3des。

对于该技术方案二,由于加密算法是常见的技术,此方案里面最难破解的是加密参数内容和密钥信息,但是,一旦拿到加密规则就代表所有的资源对于防盗链安全机制即将失效。因而,方案二的防盗链方法仍然不能有效解决盗链问题。

针对技术中存在的防盗链方法有效性差的问题,目前尚未提出解决方法。



技术实现要素:

本发明的主要目的在于提供一种基于网络终端的防盗链方法、装置和系统,以解决上述技术问题。

一方面,提供了一种基于网络终端的防盗链方法,该网络终端包括代理模块、用于响应用户播放操作的响应模块和播放器模块,在网络终端一侧,该方法包括:响应模块响应于播放操作,向认证服务器获取播放信息,其中,认证服务器用于对播放操作进行合法性认证,在合法性认证通过时,返回播放信息;

响应模块在接收到播放信息后,启动播放器模块;播放器模块根据播放信息得到第一url,其中,第一url采用私有协议组装,第一url中的目的地址为代理模块的地址,第一url传递的明参包括待播放媒体的描述信息;播放器模块通过第一url请求到代理模块;代理模块对第一url采用私有协议进行解析处理,并将第一url中的目的地址修改为待播放媒体实际存储的媒体服务器的地址;代理模块通过第一url请求到媒体服务器,其中,媒体服务器用于解析第一url得到待播放媒体的描述信息,以将待播放媒体返回至播放器模块。

进一步地,网络终端还包括认证模块,响应模块响应于播放操作,向认证服务器获取播放信息的步骤具体包括:响应模块响应于播放操作,调用认证模块;认证模块基于socket加密通道,向认证服务器获取播放操作对应的播放信息;认证模块将获取的播放信息传送至响应模块。

进一步地,播放信息包括加密参数,加密参数是认证服务器按照预设加密规则对待加密信息进行加密得到的,待加密信息包括网络终端的描述信息和待播放媒体的描述信息,播放器模块得到的第一url中传递的密参为加密参数,在播放器模块通过第一url请求到代理模块之后,代理模块通过第一url请求到媒体服务器之前,该方法还包括:代理模块获取网络终端的描述信息;在第一url传递的明参中增加网络终端的描述信息,其中,媒体服务器还用于对校验参数与第一url中的加密参数进行比较,如果一致,则将待播放媒体返回至播放器模块,校验参数是媒体服务器按照预设加密规则,对从第一url中解析得到的明参进行加密处理得到的。

进一步地,响应模块响应于播放操作,调用认证模块的步骤具体包括:获取播放操作对应的待播放媒体的描述信息,将待播放媒体的描述信息作为参数,以http协议请求认证模块;认证模块基于socket加密通道,向认证服务器获取播放操作对应的播放信息的步骤具体包括:接收到http协议请求后,将http协议请求转换为tcp加密通信协议请求,并获取网络终端的描述信息,将网络终端的描述信息与待播放媒体的描述信息共同作为参数,以tcp加密通信协议请求认证服务器获取播放信息。

进一步地,当待播放媒体的格式为mp4格式时,认证模块向认证服务器获取的播放信息为第一url。

进一步地,当待播放媒体的格式为m3u8格式时,认证模块向认证服务器获取的播放信息为第二url,第二url中的目的地址为认证服务器的地址,第二url传递的密参为加密参数,认证服务器还用于在返回播放信息后存储加密参数,播放器模块根据播放信息得到第一url的步骤具体包括:播放器模块通过第二url请求到认证服务器,其中,认证服务器用于对自身存储的加密参数与第二url中的加密参数进行比较,如果一致,则返回m3u8索引文件;播放器模块接收并解析m3u8索引文件得到第一url。

进一步地,待加密信息还包括加密密钥标识和网络终端的ip地址,第一url传递的明参还包括加密密钥标识和网络终端的ip地址。

进一步地,待播放媒体的描述信息包括:时间戳和影片介质标识;网络终端的描述信息包括:终端唯一标识。

进一步地,在网络终端开机启动时,该方法还包括:认证模块调用网络终端的系统内核信息以获取网络终端的mac地址,将mac地址作为终端唯一标识进行存储;或认证模块向认证服务器发起认证注册行为以获得认证服务器生成的网络终端唯一的终端编号,将终端编号作为终端唯一标识进行存储;或认证模块调用网络终端的系统内核信息以获取网络终端的mac地址,认证模块向认证服务器发起认证注册行为以获得认证服务器生成的网络终端唯一的终端编号,将mac地址和终端编号的组合作为终端唯一标识进行存储。

另一方面,提供了一种基于网络终端的防盗链装置,在网络终端一侧,防盗链装置包括代理模块、用于响应用户播放操作的响应模块和播放器模块,其中,响应模块具体用于执行以下步骤:响应于用户播放操作,向认证服务器获取播放信息,在接收到播放信息后,启动播放器模块,其中,认证服务器用于对播放操作进行合法性认证,在合法性认证通过时,返回播放信息;播放器模块具体用于执行以下步骤:根据播放信息得到第一url,并通过第一url请求到代理模块,其中,第一url采用私有协议组装,第一url中的目的地址为代理模块的地址,第一url传递的参数包括待播放媒体的描述信息;代理模块具体用于执行以下步骤:对第一url采用私有协议进行解析处理,将第一url中的目的地址修改为待播放媒体实际存储的媒体服务器的地址,并通过第一url请求到媒体服务器,其中,媒体服务器用于解析第一url得到待播放媒体的描述信息,以将待播放媒体返回至播放器模块。

进一步地,防盗链装置还包括认证模块,响应模块在响应于播放操作,向认证服务器获取播放信息时,具体执行以下步骤:响应于播放操作,调用认证模块,并接收认证模块返回的播放信息;认证模块用于基于socket加密通道,向认证服务器获取播放操作对应的播放信息。

进一步地,播放信息包括加密参数,加密参数是认证服务器按照预设加密规则对待加密信息进行加密得到的,待加密信息包括网络终端的描述信息和待播放媒体的描述信息,播放器模块得到的第一url中传递的密参为加密参数,在播放器模块请求到代理模块之后,代理模块请求到媒体服务器之前,代理模块还用于获取网络终端的描述信息,并在第一url传递的参数中增加网络终端的描述信息,其中,媒体服务器还用于对校验参数与第一url中的加密参数进行比较,如果一致,则将待播放媒体返回至播放器模块,校验参数是媒体服务器按照预设加密规则,对从第一url中解析得到的明参进行加密处理得到的。

进一步地,响应模块调用认证模块时,具体执行以下步骤:获取播放操作对应的待播放媒体的描述信息,将待播放媒体的描述信息作为参数,以http协议请求认证模块;认证模块在基于socket加密通道,向认证服务器获取播放操作对应的播放信息时,具体执行以下步骤:接收到http协议请求后,将http协议请求转换为tcp加密通信协议请求,并获取网络终端的描述信息,将网络终端的描述信息与待播放媒体的描述信息共同作为参数,以tcp加密通信协议请求认证服务器获取播放信息。

进一步地,当待播放媒体的格式为mp4格式时,认证模块向认证服务器获取的播放信息为第一url。

进一步地,当待播放媒体的格式为m3u8格式时,认证模块向认证服务器获取的播放信息为第二url,第二url中的目的地址为认证服务器的地址,第二url传递的密参为加密参数,认证服务器还用于在返回播放信息后存储加密参数,播放器模块在根据播放信息得到第一url时,具体执行以下步骤:通过第二url请求到认证服务器,接收并解析认证服务器下发的m3u8索引文件得到第一url,其中,认证服务器用于对自身存储的加密参数与第二url中的加密参数进行比较,如果一致,则返回m3u8索引文件。

进一步地,待加密信息还包括加密密钥标识和网络终端的ip地址,第一url传递的明参还包括加密密钥标识和网络终端的ip地址。

进一步地,待播放媒体的描述信息包括:时间戳和影片介质标识;网络终端的描述信息包括:终端唯一标识。

进一步地,在网络终端开机启动时,认证模块还用于执行以下步骤:调用网络终端的系统内核信息以获取网络终端的mac地址,将mac地址作为终端唯一标识进行存储;或向认证服务器发起认证注册行为以获得认证服务器生成的网络终端唯一的终端编号,将终端编号作为终端唯一标识进行存储;或调用网络终端的系统内核信息以获取网络终端的mac地址,向认证服务器发起认证注册行为以获得认证服务器生成的网络终端唯一的终端编号,将mac地址和终端编号的组合作为终端唯一标识进行存储。

另一方面,提供了一种基于网络终端的防盗链系统,该系统包括:网络终端、媒体服务器和认证服务器,其中,网络终端包括本申请提供的任意一种基于网络终端的防盗链装置,用于向认证服务器获取播放信息,并根据播放信息向媒体服务器获取待播放媒体;认证服务器用于向网络终端返回播放信息;以及媒体服务器用于向网络终端返回待播放媒体。

通过本发明,提出了一种基于网络终端的防盗链方法,该网络终端中设置有代理模块、用于响应用户播放操作的响应模块和播放器模块,该方法包括下述的步骤:响应模块响应于用户播放操作,向认证服务器获取播放信息,其中,认证服务器用于对播放操作进行合法性认证,在合法性认证通过时,返回播放信息;响应模块在接收到播放信息后,启动播放器模块;播放器模块根据播放信息得到第一url,该第一url采用私有协议组装,能够被代理模块所解析,并且通过请求该第一url时访问到的是代理模块,第一url传递的参数包括待播放媒体的描述信息,第一url中的目的地址为所述代理模块的地址,也即,第一url中的目的地址并不是待播放媒体实际的资源地址,而是代理模块的地址,因而播放器模块在请求第一url时,实质上访问到的是代理模块,代理模块对第一url采用私有协议进行解析处理,以得到待播放媒体实际存储的媒体服务器的地址,再将第一url中的目的地址修改为媒体服务器的地址,进而请求到媒体服务器,获得待播放媒体。

与现有技术相比,在这一过程中,响应用户播放操作的响应模块并不能直接拿到资源地址,而是通过请求代理模块来间接获取,而盗链者没有代理模块,所以其无法获取到资源地址,从而本申请通过代理模块提供了更安全的防盗链机制,解决了现有技术中防盗链方法有效性差的问题。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1是根据本发明第一实施例的基于网络终端的防盗链系统的架构图;

图2是根据本发明第二实施例的基于网络终端的防盗链方法的流程图;

图3是根据本发明第三实施例的基于网络终端的防盗链方法的流程图;

图4是根据本发明第四实施例的基于网络终端的防盗链方法的流程图;

图5和图6是根据本发明第五实施例的基于网络终端的防盗链方法的流程图;

图7和图8是根据本发明第六实施例的基于网络终端的防盗链方法的流程图;以及

图9是根据本发明第七实施例的基于网络终端的防盗链装置的框图。

具体实施方式

下面结合附图和具体实施方式对本发明做进一步说明。需要指出的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

实施例一

本发明实施例一描述一种基于网络终端的防盗链系统,在该系统中,包括网络终端、媒体服务器和认证服务器,将所有的网络终端和所有服务器作为0层组件,可以分别理解为客户端和服务端。

其中,网络终端是响应用户操作以播放多媒体的客户端,其通过用户认证接口与认证服务器进行交互,向认证服务器获取播放信息;通过读取媒体源接口与媒体服务器进行交互,根据播放信息向媒体服务器获取待播放媒体。

认证服务器是与网络终端进行交互以向网络终端返回播放信息的服务端,媒体服务器是与网络终端进行交互以向网络终端返回待播放媒体的服务端。

进一步地,在网络终端内部,包括代理模块、用于响应用户播放操作的响应模块和播放器模块,其中,优选地,响应模块作为安装在网络终端中的一个客户端应用程序,并且在该客户端应用程序打包的过程中,增加代理模块;播放器模块优选为网络终端的系统应用程序。需要说明的是,本申请中的各个模块仅仅是从逻辑功能上进行的划分,实现过程中还可采用其他本领域技术人员知晓和能够获知的方式。

代理模块与响应模块(也即客户端应用程序)、媒体服务器基于私有协议进行通信,客户端应用程序在请求待播放的多媒体时,先向认证服务器进行认证,认证通过后,认证服务器向其返回播放信息。该播放信息可以直接包括能够通过私有协议请求至代理模块的url,也可以为播放器模块能够根据该播放信息获取到该url的信息,具体根据不同的多媒体格式设置不同的方式,该url采用私有协议组装,其中的目的地址为代理模块的地址。

客户端应用程序在得到播放信息后启动播放器模块,播放器模块根据播放信息得到该url后,再通过该url请求至代理模块;代理模块对该url进行,并获取实际存储多媒体的地址,也即媒体服务器的地址,再将该url中的目的地址修改为实际存储多媒体的地址,最后通过修改目的地址后的url请求到媒体服务器,从媒体服务器获得待播放多媒体。

因此,通过代理模块,能够在防盗链方面提供安全保证,同时也确保非法来源的客户端应用程序在没有这个模块的情况下,是没有办法访问到媒体服务器的,增强防盗链的有效性。

优选地,在网络终端内部还包括认证模块,认证模块可以与代理模块一样,增加在客户端应用程序的打包过程中。对于具有认证模块的网络终端,客户端应用程序在向认证服务器进行认证时,并不是客户端应用程序与认证服务器直接交互,而是经由认证模块进行交互。认证模块基于socket加密通道,向认证服务器获取播放信息给响应模块。

因此,通过认证模块,能够在用户认证方面增强安全保证,同时也确保非法的来源客户端应用程序在没有认证模块的情况下,是没有办法通过认证而获取到认证服务器返回的播放信息,从而也没有办法访问到媒体服务器,增强防盗链的有效性。

对该优选实施例,网络终端内部的客户端应用程序、认证模块和代理模块作为1层组件。在服务器内部,由认证服务器和媒体服务器组成,作为1层组件。其中,针对流媒体的情况,媒体服务器为流媒体服务器,如图1所示,客户端应用程序发起用户认证请求,通过认证模块调用认证服务器的用户认证接口来实现。用户认证接口返回播放信息,由客户端应用程序通过代理模块的下载视频流接口请求流媒体服务器获取待播放媒体来进行播放。具体业务流程以及如何实现防盗链的过程,将在下述各个实施例中进一步详细讲解。

实施例二

本发明实施例二从网络终端的角度描述了一种基于网络终端的防盗链方法,该网络终端包括代理模块、用于响应用户播放操作的响应模块和播放器模块,各模块之间、以及与服务器之间的交互,实现对用户播放操作的响应,最终播放用户意欲视听的多媒体,该实施例的重点在于在交互的过程中实现防盗链。具体地,如图2所示,该实施例的防盗链方法包括以下的步骤s202至步骤s212,各个步骤依次详细说明如下。

步骤s202:响应模块响应于用户播放操作,向认证服务器获取播放信息。

响应模块可以为安装在网络终端中的一个客户端应用程序,例如某浏览器,用户通过该浏览器欲播放多媒体时,该浏览器响应用户播放操作,向认证服务器获取播放信息。

具体地,响应模块可以直接与认证服务器相交互,直接请求认证服务器来获取播放信息,也可以调用响应模块之外的其他模块,由其他模块请求认证服务器来获取播放信息。认证服务器接收到的请求中传递的参数可包括网络终端的描述信息和/或待播放媒体的描述信息,认证服务器在接收到请求后,根据请求中传递的参数对播放操作进行合法性验证,在合法性认证通过时,返回播放信息。

该播放信息为网络终端最终能够访问到待播放媒体实际存储的媒体服务器的信息。

步骤s204:响应模块在接收到播放信息后,启动播放器模块。

步骤s206:播放器模块根据播放信息得到第一url。

根据多媒体格式的不同,播放信息的内容不同,从而播放器模块根据播放信息得到第一url的方式不同,具体地,播放器模块可以从播放信息中直接获得第一url,也可以从播放信息间接获取到第一url,具体根据多媒体格式的不同而不同。

其中,第一url采用私有协议组装,第一url中的目的地址为代理模块的地址,用于访问代理模块,代理模块能够识别该私有协议对第一url进行解析,第一url传递的明参包括待播放媒体的描述信息。

步骤s208:播放器模块通过第一url请求到代理模块。

步骤s210:代理模块对第一url采用私有协议进行解析处理,并将第一url中的目的地址修改为待播放媒体实际存储的媒体服务器的地址。

步骤s212:代理模块通过修改目的地址后的第一url请求到媒体服务器。

媒体服务器接收到请求后,解析第一url中的参数,能够得到待播放媒体的描述信息,然后根据描述信息将待播放媒体返回至播放器模块,以使播放器进行播放。

在该实施例中,通过代理模块间接获取资源地址,响应用户播放操作的响应模块并不能直接拿到资源地址,而盗链者没有代理模块,所以其无法获取到资源地址,从而增加防盗链机制的安全性和有效性。

实施例三

本发明实施例三为在上述实施例二的基础上,优选的实施例。该优选实施例中,网络终端还包括认证模块。具体地,如图3所示,该实施例的防盗链方法包括以下的步骤s302至步骤s316,各个步骤依次详细说明如下。

步骤s302:响应模块响应于用户播放操作,调用认证模块。

用户通过响应模块实施播放操作,响应模块进行响应,首先获取播放操作对应的待播放媒体的描述信息,该待播放媒体的描述信息包括时间戳、影片介质标识、影片内容标识等,然后将待播放媒体的描述信息作为参数,以http协议请求认证模块。

步骤s304:认证模块与认证服务器基于socket加密通道进行通信,向认证服务器获取播放操作对应的播放信息。

认证模块自身存储有网络终端的描述信息,接收到http协议请求后,获取到待播放媒体的描述信息,然后调用认证服务器的用户认证接口,将待播放媒体的描述信息和网络终端的描述信息透传至认证服务器,认证服务器对这些用户资料进行合法性认证,在合法性认证通过时,向认证模块返回播放信息。播放器模块通过该播放信息能够直接或间接请求至本地代理模块。

认证模块向认证服务器获取播放信息时,基于socket加密通道与认证服务器进行通信,以提高用户认证的安全性。具体地,认证模块接收到http协议请求后,将http协议请求转换为tcp加密通信协议请求,然后将自身存储的网络终端的描述信息与响应模块传递的待播放媒体的描述信息共同作为参数,以tcp加密通信协议请求认证服务器进行合法性认证。

步骤s306:认证模块接收播放信息传送至响应模块。

认证服务器合法性认证通过后,向认证模块下发播放信息,认证模块再将其传回响应模块。

步骤s308:响应模块在接收到播放信息后,启动播放器模块。

步骤s310:播放器模块根据播放信息得到第一url。

步骤s312:播放器模块通过第一url请求到代理模块。

第一url中的目的地址,实质上是代理模块的地址,因而,播放器模块实质上请求到的是代理模块。

步骤s314:代理模块对第一url采用私有协议进行解析处理,并将第一url中的目的地址修改为待播放媒体实际存储的媒体服务器的地址。

该处实际存储的媒体服务器的地址也即资源地址。一种情况下,资源地址通过私有协议组装在第一url中,代理模块通过私有协议解析后可获得真实的资源地址;另一种情况下,资源地址的对应参数通过私有协议组装在第一url种,代理模块中存储资源地址与对应参数的关系,代理模块通过私有协议解析后获得资源地址的对应参数后,再根据得到的对应参数从存储的资源地址与对应参数的关系中确定资源地址。

在确定资源地址后,将第一url中的目的地址修改为资源地址。

步骤s316:代理模块通过修改后的第一url请求到媒体服务器。

在确定媒体服务器的地址后,代理模块能够向媒体服务器请求待播放的多媒体,媒体服务器接收到的请求后,解析第一url中的参数,能够得到待播放媒体的描述信息,然后据此在媒体服务器的数据库中找到与待播放媒体的描述信息相对应的多媒体数据,并将其返回至播放器模块,以使播放器进行播放。

在该实施例中,达到上述实施例二效果的同时,通过认证模块进行安全性认证,一方面,盗链者由于没有认证模块,所以其无法通过认证而获取到播放信息,进而也无法获取到资源地址,从而增加防盗链机制的安全性和有效性;另一方面,在认证时,由认证模块与认证服务器通过加密通道进行通信,进一步提升认证的安全性。

实施例四

本发明实施例四为在上述实施例三的基础上,优选的实施例,该优选实施例中,对交互过程中传递至服务器的参数进行了加密,服务器对接收到的请求首先进行加密参数的校验,校验通过后再返回相应的信息。具体地,如图4所示,该实施例的防盗链方法包括以下的步骤s402至步骤s422,各个步骤依次详细说明如下。

步骤s402:响应模块响应于用户播放操作,获取播放操作对应的待播放媒体的描述信息,将待播放媒体的描述信息作为参数,以http协议请求认证模块。

步骤s404:认证模块接收到http协议请求后,将http协议请求转换为tcp加密通信协议请求。

步骤s406:认证模块获取网络终端的描述信息。

其中,网络终端的描述信息包括终端标识,终端标识可以为描述终端的唯一标识参数,也即,不同的网络终端具有不同的终端标识,该终端标识可以为网络终端的mac地址,在网络终端开机启动时,认证模块调用网络终端的系统内核信息以获取网络终端的mac地址,将mac地址作为终端标识存储于本地认证存储器,在该步骤中认证模块从本地认证存储器中获取网络终端的mac地址。

终端标识也可以为认证服务器生成的网络终端的唯一终端编号,在网络终端开机启动时,认证模块请求认证服务器发起认证注册行为以获得认证服务器生成的网络终端唯一的终端编号,认证模块将唯一的终端编号作为终端标识存储于本地认证存储器,在该步骤中认证模块从本地认证存储器中获取网络终端唯一的终端编号。

终端标识也可以为mac地址与唯一终端编号的组合,在网络终端开机启动时,认证模块获取到mac地址和唯一的终端编号后,将mac地址和终端编号的组合作为终端标识存储于本地认证存储器,在该步骤中认证模块从本地认证存储器中获取该组合。

步骤s408:将网络终端的描述信息与待播放媒体的描述信息共同作为参数,以tcp加密通信协议请求认证服务器进行合法性认证。

认证服务器在合法性认证通过后,按照预设加密规则对待加密信息进行加密,待加密信息包括网络终端的描述信息和待播放媒体的描述信息,然后将加密参数作为播放信息的内容返回至认证模块。

步骤s410:认证模块接收播放信息传送至响应模块。

步骤s412:响应模块在接收到播放信息后,启动播放器模块。

步骤s414:播放器模块根据播放信息得到第一url。

此时,第一url传递的参数包括加密参数,传递的明参包括待播放媒体的描述信息。

步骤s416:播放器模块通过第一url请求到代理模块。

步骤s418:代理模块对第一url采用私有协议进行解析处理,并将第一url中的目的地址修改为待播放媒体实际存储的媒体服务器的地址。

步骤s420:代理模块从认证模块中获取网络终端的描述信息。

步骤s422:代理模块在第一url传递的明参中增加网络终端的描述信息。

步骤s424:代理模块通过第一url请求到媒体服务器。

经代理模块处理后的第一url,其中的目的地址为待播放媒体实际存储的媒体服务器的地址,传递的明参包括网络终端的描述信息和待播放媒体的描述信息。代理模块通过第一url请求到媒体服务器,媒体服务器在接收到请求后,按照预设加密规则,也即与认证服务器加密时使用完全一致的加密规则,对解析到的待播放媒体的描述信息和网络终端的描述信息进行加密处理得到校验参数,将校验参数与第一url中的加密参数进行比较,如果一致,则将待播放媒体返回至播放器。

在该实施例中,达到上述实施例三效果的同时,url中传递的参数包括了加密参数,在媒体服务器一端对加密参数进行校验,仅在校验通过时下发待播放媒体,从而增强了防盗链的有效性。进一步地,在加密规则中考虑了描述终端的唯一标识参数,使得一个请求返回的资源只能给一个网络终端来使用,进一步有效地防止非法用户的盗链行为,保护了所有者的劳动成果。

实施例五

本发明实施例五为在上述实施例二至四的基础上,优选的实施例,该优选实施例中,以mp4格式的流媒体视频为例,详细说明网络终端与服务器之间交互中的防盗链方法。其中,网络终端内设置有认证模块、代理模块、用于响应用户播放操作的响应模块(也即客户端应用程序)和播放器模块,与网络终端相交互的服务器包括认证服务器和流媒体服务器。

在网络终端开机启动时,认证模块获取网络终端的描述信息,也即mac地址,具体地,认证模块调用网络终端的系统内核信息以获取网络终端的mac地址,将mac地址作为终端标识存储于本地认证存储器。

首先,如图5所示,大体上描述该实施例的业务流程如下:用户点击播放按钮,发起播放行为之后,客户端应用程序调用本地的认证模块,对该播放行为进行安全验证,也即用户认证,具体验证的用户资料包括待播放的视频资源的描述信息和网络终端的描述信息。

认证模块通过安全加密通道将用户资料透传到认证服务器,对用户资料做合法性校验,其中,对用户资料中待播放的视频资源的描述信息的校验过程实质上完成的是播放鉴权,对用户资料中网络终端的描述信息的校验过程实质上完成的是用户合法性校验。如果校验通过,返回带有私有协议标识的防盗链播放串,该播放串也即第一url,该第一url中的目的地址为代理模块的地址,如果校验失败,返回校验失败,停止播放行为。

在上述校验通过之后,客户端应用程序启动本地播放器(也即播放器模块),由播放器根据该第一url下载视频流,具体为:播放器调用播放串进行播放,实质上请求的是本地的代理模块。代理模块接收到请求之后,将第一url中的目的地址修改为流媒体服务器的地址,再请求本地认证模块获取到网络终端的mac地址。

在获取到mac地址后,代理模块将mac地址作为明参加入至第一url,通过该第一url访问到流媒体服务器,由流媒体服务器做防盗链认证,如果校验通过,将返回视频资源信息,交由播放器播放,如果校验失败,将停止播放行为。

接下来,如图6所示,将详细描述该实施例的方法步骤。

步骤01,用户发起播放行为。

客户端应用程序提供网络终端与用户的交互界面,用户通过该界面实施播放操作,发起播放行为,其中,用户发起播放行为后,网络终端将影片的资料存储起来,作为待播放媒体的描述信息进行存储,以备验证,为下一步的播放提供建立相关数据。

步骤02,网络终端请求下载视频同时发送用户播放鉴权。

具体地,客户端应用程序接收到用户播放操作后,获取播放操作对应的待播放媒体的描述信息,也即上述影片的资料,然后将影片资料作为参数,以http协议请求本地的认证模块,认证模块接收到请求后,将http协议请求转换为tcp加密通信协议请求,并从本地认证存储器里面取出mac地址并连同影片资料一起发给认证服务器。

步骤03,用户鉴权验证。

认证服务器通过加密通道接收到tcp加密通信协议请求后,进行用户鉴权,包括播放鉴权和用户合法性校验,具体将对mac地址并连同影片资料做合法性校验,如果没有通过验证,转至步骤04,如果通过验证,转至步骤05。

步骤04,返回用户鉴权失败的信息。

步骤05,服务器生成带有防盗链的mp4播放串下载地址。

认证服务器返回mp4播放串下载地址,也即前述各个实施例中提到的第一url,并且在第一url中增加防盗链处理,具体防盗链策略包括:

第一url使用私有协议组装,只能由支持私有协议的本地代理模块来解析并请求;

第一url的目的地址为本地代理模块地址,只能访问至本地代理模块,再由代理模块来访问流媒体服务器;

在第一url中增加加密参数,一种情况,可以采用一种加密算法仅对mac地址与影片资料进行加密,由于mac地址为网络终端唯一标识参数,因而有且只能由此网络终端唯一播放,其他终端播放失败。第一url中的明参包括影片资料。

另一种情况,在生成加密参数时,通过des和md5加密算法对mac地址、影片资料、加密密钥标识(keyid)和网络终端的ip地址进行加密,其中,加密密钥标识生成规则较为复杂,并且属于现有技术,在此不做详细描述。keyid只是密钥表的密钥编号,实际校验过程是通过反查密钥表得到实际的密钥来进行解密,就算此keyid信息被泄露,认证服务器也可以通过更新密钥表来随时更换密钥信息。第一url中的明参包括影片资料、加密密钥标识(keyid)和网络终端的ip地址。

步骤06,播放器根据播放串请求代理模块。

步骤07,代理模块请求认证模块获取终端的mac地址。

接收到播放器的请求后,代理模块请求认证模块获取终端mac地址,并将mac地址作为明参加入至第一url。

步骤08,代理模块请求服务器做防盗链认证。

接收到播放器的请求后,本地代理模块将对播放串做特殊解析处理,以得到待播放影片实际存储的流媒体服务器的地址,并将播放串中的目的地址修改为流媒体服务器的地址,通过修改后的播放串访问流媒体服务器。

步骤09,防盗链校验。

流媒体服务器接收到本地代理模块的请求以后,对播放串中的加密参数做防盗链校验,如果没有通过验证,转至步骤10,如果通过验证,转至步骤11。

具体地,流媒体服务器接收到并解析播放串中的参数,得到明参和加密参数,按照与认证服务器相同的加密规则,对明参进行加密得到校验参数,然后将校验参数与解析得到的加密参数进行比较,如果相同则校验通过,如果不同在校验失败。

由于每个播放串都对影片资料和mac地址等描述信息做了加密处理,所以可以保证每个播放串的防盗链机制限制到了唯一客户端和唯一视频资源,如果流媒体服务器解析得到的明参与得到加密参数时所使用的待加密信息不同、或者待加密信息中各参数顺序不正确、以及加密算法使用不相同等情况,将视为非法来源请求,并返回校验失败。

步骤10,返回非法请求来源的信息。

步骤11,服务器返回mp4资源给播放器进行播放。

流媒体服务器返回mp4格式的视频流信息给播放器进行播放。

步骤12,当资源播放完成将播放结束。

播放器执行播放过程,当资源播放完成后,整体播放流程结束。

实施例六

本发明实施例五为在上述实施例二至四的基础上,优选的实施例,该优选实施例中,以m3u8格式的流媒体视频为例,详细说明网络终端与服务器之间交互中的防盗链方法。其中,网络终端内设置有认证模块、代理模块、用于响应用户播放操作的响应模块(也即客户端应用程序)和播放器模块,与网络终端相交互的服务器包括认证服务器和流媒体服务器。

在网络终端开机启动时,认证模块获取网络终端的描述信息,也即mac地址,具体地,认证模块调用网络终端的系统内核信息以获取网络终端的mac地址,将mac地址作为终端标识存储于本地认证存储器。

首先,如图7所示,大体上描述该实施例的业务流程如下:用户点击播放按钮,发起播放行为之后,客户端应用程序调用本地的认证模块,对该播放行为进行安全验证,也即用户认证,具体验证的用户资料包括待播放的视频资源的描述信息和网络终端的描述信息。

认证模块通过安全加密通道将用户资料透传到认证服务器,对用户资料做合法性校验,对用户资料中待播放的视频资源的描述信息的校验过程实质上完成的是播放鉴权,对用户资料中网络终端的描述信息的校验过程实质上完成的是用户合法性校验。如果校验通过,返回带有防盗链的虚拟m3u8文件的下载地址,如果校验失败,返回校验失败,停止播放行为。

在上述校验通过之后,客户端应用程序启动本地播放器(也即播放器模块),由播放器请求虚拟m3u8文件的下载地址,该下载地址实质上是认证服务器的地址。播放器请求虚拟m3u8文件的下载地址,认证服务器再次进行安全性验证,如果通过则直接返回带有防盗链的m3u8索引文件。进行二次验证的原因在于,由于播放器进行m3u8索引文件解析,而不是由客户端应用程序进行解析,所以认证服务器没有直接返回m3u8索引文件给客户端应用程序。

在索引文件中标识的资源地址是本地代理模块的地址,因而播放器请求m3u8索引地址,其实请求的是本地代理模块,代理模块接收到请求之后,再请求本地认证模块获取网络终端的描述信息,例如前述提到的网络终端的mac地址。

在获取到上述网络终端的描述信息后,代理模块通过http协议调用流媒体服务器,由流媒体服务器做防盗链认证,如果校验通过,将返回视频资源分片列表信息,如果校验失败,将停止播放行为。

播放器根据分片列表分别请求代理模块通过私有协议来下载视频流,代理模块将下载视频流结果返回给播放器播放使用。

接下来,如图8所示,将详细描述该实施例的方法步骤。

步骤01,用户发起播放行为。

步骤02,网络终端请求下载视频同时发送用户播放鉴权。

步骤03,用户鉴权验证。

步骤04,返回用户鉴权失败的信息。

该实施例六中的步骤01至04与实施例五中的对应步骤01至04对应相同,此处不再赘述。

步骤05,服务器生成虚拟m3u8文件地址返回给播放器。

认证服务器返回m3u8格式的虚拟文件地址给播放器,也即第二url,此虚拟文件地址由独立的认证服务来提供支持,因而虚拟文件地址也即认证服务器的地址,第二url采用与实施例五中加密第一url时相同的加密方法进行处理,此处不再赘述。

步骤06,播放器向服务器请求虚拟m3u8文件地址。

播放器请求m3u8格式的虚拟文件地址,请求至认证服务器,认证服务器进行安全性校验。具体地,认证服务器首先获取自身存储加密参数与第二url中的加密参数进行比较;如果获取不到时,再将待播放媒体的描述信息和网络终端的描述信息进行加密处理,用加密得到的加密参数与第二url中的加密参数进行比较,如果一致,表示验证通过,验证通过后,由认证服务器返回带有防盗链的m3u8索引文件。

步骤07,服务器生成带有防盗链的m3u8文件地址。

带有防盗链的m3u8文件地址,也即播放串或第一url。播放器接收到带有防盗链的m3u8索引文件地址以后,解析索引文件中的分片列表,此文件中分片只有一个资源地址,也即本地代理模块的地址。该第一url中仍然增加防盗链处理,具体防盗链策略与实施例五中提到的防盗链策略相同,此处不再赘述。

步骤08,播放器根据播放串请求代理模块。

播放器根据m3u8索引文件中的分片资源地址请求本地代理模块。

步骤09,代理模块请求认证模块获取终端的mac地址。

接收到播放器的请求后,本地代理模块请求本地认证模块获取终端mac地址,将mac地址作为明参加入至播放串。

步骤10,代理模块请求服务器做防盗链校验。

接收到播放器的请求后,本地代理模块将对播放串做特殊解析处理,以得到待播放影片实际存储的流媒体服务器的地址,并将播放串中的地址修改为流媒体服务器的地址。然后通过修改后的播放串请求至流媒体服务器,由流媒体服务器做防盗链校验。

步骤11,防盗链校验。

流媒体服务器接收到本地代理模块的请求以后,对播放串中做防盗链校验,如果没有通过验证,转至步骤10,如果通过验证,转至步骤11。

具体地,流媒体服务器接收到播放串以后,解析播放串中的参数,得到加密参数、影片的资料信息和网络终端的mac地址,将影片的资料信息和网络终端的mac地址按照与认证服务器相同的加密规则进行加密,然后与播放串中的传递的加密参数进行比较,如果相同则校验通过,如果不同在校验失败。

由于每个播放串都对影片的资料信息和网络终端的mac地址做了加密处理,所以可以保证每个播放串的防盗链机制限制到了唯一客户端和唯一视频资源,如果流媒体服务器解析得到的明参与得到加密参数时所使用的待加密信息、或者待加密信息中各参数顺序不正确、以及加密算法使用不相同等情况,将视为非法来源请求,并返回校验失败。

步骤12,返回非法请求来源的信息。

步骤13,服务器返回ts分片资源列表给播放器进行播放。

步骤14,当资源播放完成将播放结束。

播放器执行播放过程,当资源播放完成后,整体播放流程结束。

在上述实施例五和实施例六中,在防盗链机制上,将网络终端的唯一性加入到防盗链的机制中,保证一个请求返回的资源只能给一个网络终端来使用,采用了上述实施例,可以有效地防止非法用户的盗链行为,保护了所有者的劳动成果,同时提高对视频服务的处理能力,降低运营成本,另外不影响合法用户的视频服务请求,保护了合法用户的合法权益。

以上实施例二至六描述了本申请提出的基于网络终端的防盗链方法的实施例,本申请还提出了基于网络终端的防盗链装置,需要说明的是,本申请提供的基于网络终端的防盗链装置可用于执行本申请提供的任意一种基于网络终端的防盗链方法。

实施例七

本发明实施例七与上述实施例二相对应,该实施例提供了一种基于网络终端的防盗链装置,该装置位于网络客户端一侧,如图9所示,该装置包括代理模块704、响应模块702和播放器模块706。

其中,响应模块具体用于执行以下步骤:响应于用户播放操作,向认证服务器获取播放信息,在接收到播放信息后,启动播放器模块,其中,认证服务器用于对播放操作进行合法性认证,在合法性认证通过时,返回播放信息。

播放器模块具体用于执行以下步骤:根据播放信息得到第一url,并通过第一url请求到代理模块,其中,第一url采用私有协议组装,第一url中的目的地址为代理模块的地址,第一url传递的参数包括待播放媒体的描述信息。

代理模块具体用于执行以下步骤:对第一url采用私有协议进行解析处理,以得到待播放媒体实际存储的媒体服务器的地址,并通过私有协议请求媒体服务器的地址,将第一url中的目的地址修改为待播放媒体实际存储的媒体服务器的地址,并通过第一url请求到媒体服务器,其中,媒体服务器用于解析第一url得到待播放媒体的描述信息,以将待播放媒体返回至播放器模块。

采用该实施例,通过代理模块间接获取资源地址,响应用户播放操作的响应模块并不能直接拿到资源地址,而盗链者没有代理模块,所以其无法获取到资源地址,从而增加防盗链机制的安全性和有效性。

优选地,防盗链装置还包括认证模块。响应模块在获取播放信息时,具体执行以下步骤:响应于播放操作,调用认证模块,并接收认证模块返回的播放信息。认证模块用于基于socket加密通道,认证服务器获取播放操作对应的播放信息,以使认证服务器对播放操作进行合法性认证,其中,认证服务器用于在合法性认证通过时,向认证模块返回播放信息,认证模块还用于接收播放信息传送至响应模块。

采用该优选实施例,在防盗链装置中增加认证模块,通过认证模块,能够在用户认证方面增强安全保证,同时也确保非法的来源客户端应用程序在没有这个模块的情况下,是没有办法访问到媒体服务器的,增强防盗链的有效性。

优选地,播放信息包括加密参数,加密参数是认证服务器按照预设加密规则对待加密信息进行加密得到的,待加密信息包括网络终端的描述信息和待播放媒体的描述信息,播放器模块根据播放信息得到的第一url中传递的密参为加密参数,在播放器模块请求到代理模块之后,代理模块请求到媒体服务器之前,代理模块还用于获取网络终端的描述信息,并在第一url传递的参数中增加网络终端的描述信息,其中,媒体服务器还用于对校验参数与第一url中的加密参数进行比较,如果一致,则将待播放媒体返回至播放器模块,校验参数是媒体服务器按照预设加密规则,对从第一url中解析得到的明参进行加密处理得到的。

采用该优选实施例,第一url中传递的参数包括了加密参数,在媒体服务器一端对加密参数进行校验,仅在校验通过时下发待播放媒体,从而增强防盗链的有效性,同时,将网络终端的描述信息和待播放媒体的描述信息作为待加密信息进行加密,加入至防盗链的机制中,保证了请求返回的资源只能给满足描述信息的网络终端播放,能够避免大面积的盗链。

优选地,响应模块调用认证模块时,具体执行以下步骤:获取播放操作对应的待播放媒体的描述信息,将待播放媒体的描述信息作为参数,以http协议请求认证模块;认证模块在基于socket加密通道,向认证服务器获取播放操作对应的播放信息时,具体执行以下步骤:认证模块接收到http协议请求后,将http协议请求转换为tcp加密通信协议请求,并获取网络终端的描述信息,将网络终端的描述信息与待播放媒体的描述信息共同作为参数,以tcp加密通信协议请求认证服务器获取播放信息。

采用该优选实施例,认证模块与认证服务器基于socket加密通道进行通信,进一步提高了用户认证方面的安全保证。

优选地,当待播放媒体的格式为mp4格式时,认证模块向认证服务器获取的播放信息为第一url。

当待播放媒体的格式为m3u8格式时,认证模块向认证服务器获取的播放信息为第二url,第二url中的目的地址为认证服务器的地址,第二url传递的密参为加密参数,认证服务器还用于在返回播放信息后存储加密参数,播放器模块在根据播放信息得到第一url时,具体执行以下步骤:通过第二url请求到认证服务器,接收并解析认证服务器下发的m3u8索引文件得到第一url,其中,认证服务器用于对自身存储的加密参数与第二url中的加密参数进行比较,如果一致,则返回m3u8索引文件。

进一步优选地,网络终端的描述信息包括终端标识。终端标识为终端唯一标识参数,从而保证一个请求返回的资源只能给一个网络终端来使用,即使发生盗链,也仅限于单个网络终端,进一步避免大面积盗链。

其中,终端唯一标识参数可以为mac地址、唯一的终端编号或mac地址与唯一的终端编号的组合。在网络终端开机启动时,认证模块还用于执行以下步骤:调用网络终端的系统内核信息以获取网络终端的mac地址,将mac地址作为终端唯一标识进行存储;或向认证服务器发起认证注册行为以获得认证服务器生成的网络终端唯一的终端编号,将终端编号作为终端唯一标识进行存储;或调用网络终端的系统内核信息以获取网络终端的mac地址,向认证服务器发起认证注册行为以获得认证服务器生成的网络终端唯一的终端编号,将mac地址和终端编号的组合作为终端唯一标识进行存储。

进一步优选地,待播放媒体的描述信息包括:时间戳和影片介质标识,通过时间戳能够控制资源的时间有效性,例如将资源限制在某一段时间内使用,时间到期后资源就会过期无法继续盗链,也能够使防盗链机制更安全。

需要说明的是,上述装置或系统实施例属于优选实施例,所涉及的模块并不一定是本申请所必须的。

本说明书中的各个实施例从不同角度对本申请进行了描述,各个实施例之间相同相似的部分互相参见即可。对于本申请的装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处与方法实施例的部分可相互参考。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉该技术的人在本发明所揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

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