网络直播的防盗链方法、系统和装置与流程

文档序号:19688526发布日期:2020-01-14 18:33阅读:893来源:国知局
网络直播的防盗链方法、系统和装置与流程

本发明实施方式涉及网络安全应用领域,尤其涉及一种网络直播的防盗链方法、系统和装置。



背景技术:

盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向最终用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。通常被浏览的页面并不是一次全部传送到客户端的。例如,如果客户请求的是一个带有许多图片和其它信息的页面,那么最先的一个http请求被传送回来的是这个页面的html文本,客户端浏览器对这段文本解释执行后,发现其中还有其它文件,客户端浏览器会再发送一条或者更多http请求,当这些请求被处理后其它文件才被传送到客户端,然后浏览器将这些文件放到页面的正确位置。一个完整的页面要经过发送多条http请求才能够被完整地显示。基于这样的机制,盗链就成为可能,服务提供商完全可以在自己的页面中嵌入别人的链接,显示在自己的页面上,以达到盗链的目的。

由于盗链现象的多发,防盗链技术随之产生,即通过一些技术手段和加密方法,阻止不合法的用户进行访问,防止盗链者获取到原网站的数据和流量。例如在http协议中,有个表头字段referer,采用url的格式来表示从哪儿链接到当前的网页或文件。通过referer,网站可以检测目标网页访问的来源网页,如果是资源文件,则可以跟踪到显示它的网页地址。通过referer跟踪来源,一旦检测到来源不是本站即进行阻止或者返回指定的页面从而实现防盗链。

但是在实施本发明的过程中,发明人发现现有技术至少存在如下问题:

rtmp(realtimemessagingprotocol,实时消息传输协议)是一种进行实时数据通信的网络协议,主要用来在flash/air平台和支持rtmp协议的流媒体/交互服务器之间进行音视频和数据通信,因此可以用来支持网络直播。但是,目前的防盗链是基于http协议的网页,在rtmp网络直播中难以实现。

应该注意,上面对技术背景的介绍只是为了方便对本发明的技术方案进行清楚、完整的说明,并方便本领域技术人员的理解而阐述的。不能仅仅因为这些方案在本发明的背景技术部分进行了阐述而认为上述技术方案为本领域技术人员所公知。



技术实现要素:

针对上述问题,本发明实施方式的目的在于提供一种网络直播的防盗链方法、系统和装置,适用在rtmp网络直播中,以防止盗链者窃取直播数据和流量。

为实现上述目的,本发明实施方式提供一种网络直播的防盗链方法,适用在rtmp网络直播中,包括:rtmp直播推流设备向rtmp流媒体服务器注册,在所述注册信息通过验证后,rtmp流媒体服务器向rtmp直播推流设备下发md5令牌;当用户需要观看直播时,rtmp流媒体服务器向rtmp直播推流设备下发rtmp直播推流地址,所述直播推流地址中带有随机生成的验证密钥;rtmp直播推流设备根据所述md5令牌和所述验证密钥,通过加密算法生成加密推流地址,并将所述加密推流地址发送给rtmp流媒体服务器;rtmp流媒体服务器对所述加密推流地址进行验证,当验证通过时,接受rtmp直播推流设备向所述加密推流地址的推流。

进一步地,rtmp直播推流设备向rtmp流媒体服务器发送注册消息,所述注册信息包含唯一的设备序列号和登录密码,所述登录密码烧录在所述rtmp直播推流设备中;所述rtmp直播推流设备的设备序列号和登录密码预先存储在rtmp流媒体服务器直播推流设备中;如果rtmp流媒体服务器验证所述设备序列号和登录密码和自身存储的rtmp直播推流设备的设备序列号和登录密码是相同,则验证通过,通过加密方式,rtmp流媒体服务器向rtmp直播推流设备下发md5令牌。

进一步地,rtmp流媒体服务器向rtmp直播推流设备下发开始推流命令,所述开始推流命令中包含按预定格式生成的rtmp直播推流地址,所述直播推流地址中附带有验证密钥,所述验证密钥由rtmp流媒体服务器随机生成。

进一步地,rtmp直播推流设备获取所述开始推流命令中的rtmp直播推流地址后,从所述地址rtmp直播推流地址中解析出验证密钥,将md5令牌和验证密钥一起进行md5加密,生成加密后的字符串,将所述加密字符串附于直播推流地址之后,生成加密推流地址,并将所述加密推流地址返回给rtmp流媒体服务器。

进一步地,rtmp流媒体服务器解析出返回的加密推流地址中的验证密钥以及后面的加密字符串,用和所述rtmp直播推流设备同样方的加密规则生成一个加密字符串;将rtmp流媒体服务器生成的加密字符串和rtmp流媒体服务器解析出的加密字符串做对比,如果一致,则验证通过,接受rtmp直播推流设备向加密推流地址的推流;如果不一致,则验证未通过,拒绝rtmp直播推流设备向加密推流地址的推流。。

为实现上述目的,本发明实施方式还提供一种网络直播的防盗链系统,包括:rtmp直播推流设备和rtmp流媒体服务器;所述rtmp直播推流设备,用于向rtmp流媒体服务器注册,在所述注册信息通过验证后,接收来自rtmp流媒体服务器下发的md5令牌;当收到来自rtmp流媒体服务器下发的rtmp直播推流地址时,从所述直播推流地址获取验证密钥,根据所述md5令牌和所述验证密钥,通过加密算法生成加密推流地址,并将所述加密推流地址发送给rtmp流媒体服务器;所述rtmp流媒体服务器,用于对来自rtmp直播推流设备的注册进行验证,并在验证通过后,向rtmp直播推流设备下发的md5令牌;当用户需要观看直播时,向rtmp直播推流设备下发rtmp直播推流地址,所述直播推流地址中带有随机生成的验证密钥;接收来自rtmp直播推流设备的加密推流地址,并对所述加密推流地址进行验证;当验证通过时,接受rtmp直播推流设备向所述加密推流地址的推流。

为实现上述目的,本发明实施方式还提供一种网络直播推流设备,适用在rtmp网络直播中,包括:注册单元,用于向rtmp流媒体服务器注册,所述注册信息包含唯一的设备序列号和登录密码,所述登录密码烧录在所述rtmp直播推流设备中;接收单元,用于在所述注册信息通过验证后,接收来自rtmp流媒体服务器下发的md5令牌;解析加密单元,用于当收到来自rtmp流媒体服务器下发的rtmp直播推流地址时,从所述直播推流地址获取验证密钥,根据所述md5令牌和所述验证密钥,通过加密算法生成加密推流地址;发送单元,用于将所述加密推流地址发送给rtmp流媒体服务器。

为实现上述目的,本发明实施方式还提供一种流媒体服务器,适用在rtmp网络直播中,包括:第一验证单元,用于对来自rtmp直播推流设备的注册进行验证,并在验证通过后,向rtmp直播推流设备下发的md5令牌;下发直播推流地址单元,用于当用户需要观看直播时,向rtmp直播推流设备下发rtmp直播推流地址,所述直播推流地址中带有随机生成的验证密钥;第二验证单元,用于接收来自rtmp直播推流设备的加密推流地址,并对所述加密推流地址进行验证,当验证通过时,接受rtmp直播推流设备向所述加密推流地址的推流。

由上可见,本发明实施方式提供的网络直播的防盗链方法、系统和装置,针对rtmp网络直播,给出了多重的防盗链方案,如下:

1、rtmp流媒体服务器下发的rtmp直播推流地址必须按预定规则生成,并需要带有验证密钥,如不符合规则,rtmp直播推流设备将拒绝此直播推流地址,如此可以在一定程度上防止盗链;

2、rtmp直播推流设备对直播推流地址进行加密,形成的加密推流地址发送给rtmp流媒体服务器,该加密推流地址并非rtmp流媒体服务器下发的直播推流地址,而是设备的实际推流地址,因此即使盗链者破解了直播推流地址的格式,也无法获知实际的直播推流地址(即加密推流地址),如此也可以一定程度上防止盗链;

3、md5token由rtmp流媒体服务器通过加密通信方式下发,第三方无法获知,这样即使盗链者破解了rtmp直播推流设备生成的加密推流地址的规则,还是无法得到设备实际的直播推流地址。

通过这三重加密和验证方式,本发明的技术方案可以有效防止盗链现象,确保设备的直播数据不被盗链者获取,维护服务器的正常运行。

附图说明

为了更清楚地说明本发明实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中需要要使用的附图逐一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施方式提供的网络直播的防盗链方法的流程示意图;

图2为本发明实施方式提供的网络直播的防盗链方法的详细流程示意图;

图3为本发明实施方式提供的网络直播推流设备的结构示意图;

图4为本发明实施方式提供的流媒体服务器的结构示意图。

具体实施方式

为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。此外,在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。

在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。

为了使本技术领域的人员更好地理解本发明方案,下面将结合附图,对本发明实施例中的技术方案进行清楚、完整地描述。

本发明实施方式提供一种网络直播的防盗链方法,适用在rtmp网络直播中,防止盗链者窃取直播数据和流量。如图1所示,该方法包括以下步骤:

步骤s101,rtmp直播推流设备向rtmp流媒体服务器注册,在所述注册信息通过验证后,rtmp流媒体服务器向rtmp直播推流设备下发用于加密的md5令牌(token)。

步骤s102,当用户需要观看直播时,rtmp流媒体服务器向rtmp直播推流设备下发rtmp直播推流地址,所述直播推流地址中带有随机生成的验证密钥(auth_key)。

步骤s103,rtmp直播推流设备根据所述md5token和所述auth_key,通过加密算法生成加密推流地址,并将所述加密推流地址发送给rtmp直播推流设备。

步骤s104,rtmp流媒体服务器对所述加密推流地址进行验证,当验证通过时,接受rtmp直播推流设备向所述加密推流地址的推流。

图2是对上述图1所示方法的进一步详述,如图2所示,该方法包括以下步骤:

步骤s201,rtmp直播推流设备向rtmp流媒体服务器注册。

在本步骤中,rtmp直播推流设备向rtmp流媒体服务器发送注册消息,所述注册信息包含唯一的设备sn(serialnumber,序列号)和登录密码。该登录密码是在工厂烧录sn时烧录到设备中的,每个设备都不同,且不能修改。

步骤s202,rtmp流媒体服务器向rtmp直播推流设备下发md5token。

在本步骤中,每个设备的sn和登录密码会录入到rtmp流媒体服务器中,rtmp直播推流设备注册时,rtmp流媒体服务器会验证设备的sn和登录密码是否和自身存储的一致。

rtmp流媒体服务器验证所述设备sn和登录密码是否正确,验证通过后,通过加密方式(例如ssl/tls方式加密),rtmp流媒体服务器将md5token下发给rtmp直播推流设备,第三方无法得知此md5token的内容。

md5token由rtmp流媒体服务器按规则生成。md5(message2digestalgorithm5,信息-摘要算法)的作用是让大容量信息在用数字签名软件签署私人密匙前被“压缩”成一种保密的格式,输入不定长度信息,经过程序流程,生成四个32位数据,最后产生出一个128位散列的信息摘要,不同的文件,会得到不同的128位信息摘要,以防止被篡改。

步骤s203,rtmp流媒体服务器向rtmp直播推流设备下发开始推流命令。

在本步骤中,用户需要观看直播时,可以通过http/https向rtmp流媒体服务器拉流。rtmp流媒体服务器向rtmp直播推流设备下发开始推流命令,所述开始推流命令中包含按预定格式生成的rtmp直播推流地址,并在所述直播推流地址中附带有随机生成的auth_key。所述预订格式可以由设备端和服务器协商确定,例如:,所述auth_key由rtmp流媒体服务器随机生成,例如根据当前时间加上随机值生成,每次均不相同。步骤s204,rtmp直播推流设备根据md5token和auth_key,通过md5加密算法生成加密推流地址。

在本步骤中,rtmp直播推流设备获取所述开始推流命令中的rtmp直播推流地址后,从所述地址rtmp直播推流地址中解析出auth_key,将md5token和auth_key一起进行md5加密,生成加密后的字符串,将所述加密字符串附于直播推流地址之后,生成加密推流地址,例如加密地址格式为:-加密字符串,将所述加密推流地址返回给rtmp流媒体服务器。步骤s205,若rtmp流媒体服务器验证所述加密推流地址是合法的,则接受rtmp直播推流设备向直播推流地址的推流。

在本步骤中,rtmp流媒体服务器验证设备返回的rtmp直播推流地址是否是根据之前下发的md5token和auth_key,按预定的加密规则生成的正确地址。

具体地,rtmp流媒体服务器解析出返回的加密推流地址中的auth_key以及后面的加密字符串,用同样方式的加密规则(例如上文中的md5加密),也生成一个加密字符串,将rtmp流媒体服务器生成的加密字符串和解析出的加密字符串做对比,判断是否一致。

如果一致,则验证通过,rtmp流媒体服务器获得的所述加密推流地址是合法的,接受rtmp直播推流设备向加密推流地址的推流。

如果不一致,则验证未通过,拒绝rtmp直播推流设备向加密推流地址的推流。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,前述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)等非易失性存储介质,或随机存储记忆体(randomaccessmemory,ram)等。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

进一步参考图2,本发明实施例还提供一种网络直播的防盗链系统,包括:rtmp直播推流设备和rtmp流媒体服务器;

所述rtmp直播推流设备,用于向rtmp流媒体服务器注册,在所述注册信息通过验证后,接收来自rtmp流媒体服务器下发的md5令牌;当收到来自rtmp流媒体服务器下发的rtmp直播推流地址时,从所述直播推流地址获取验证密钥,根据所述md5令牌和所述验证密钥,通过加密算法生成加密推流地址,并将所述加密推流地址发送给rtmp流媒体服务器;

所述rtmp流媒体服务器,用于对来自rtmp直播推流设备的注册进行验证,并在验证通过后,向rtmp直播推流设备下发的md5令牌;当用户需要观看直播时,向rtmp直播推流设备下发rtmp直播推流地址,所述直播推流地址中带有随机生成的验证密钥;接收来自rtmp直播推流设备的加密推流地址,并对所述加密推流地址进行验证;当验证通过时,接受rtmp直播推流设备向所述加密推流地址的推流。

进一步参考图3,本发明实施例还提供一种网络直播推流设备,适用在rtmp网络直播中,包括:注册单元,用于向rtmp流媒体服务器注册,所述注册信息包含唯一的设备序列号和登录密码,所述登录密码烧录在所述rtmp直播推流设备中;接收单元,用于在所述注册信息通过验证后,接收来自rtmp流媒体服务器下发的md5令牌;解析加密单元,用于当收到来自rtmp流媒体服务器下发的rtmp直播推流地址时,从所述直播推流地址获取验证密钥,根据所述md5令牌和所述验证密钥,通过加密算法生成加密推流地址;发送单元,用于将所述加密推流地址发送给rtmp流媒体服务器。

所述解析加密单元,具体用于:获取所述开始推流命令中的rtmp直播推流地址后,从所述地址rtmp直播推流地址中解析出验证密钥,将md5令牌和验证密钥一起进行md5加密,生成加密后的字符串,将所述加密字符串附于直播推流地址之后,生成加密推流地址。

进一步参考图4,本发明实施例还提供一种流媒体服务器,适用在rtmp网络直播中,包括:第一验证单元,用于对来自rtmp直播推流设备的注册进行验证,并在验证通过后,向rtmp直播推流设备下发的md5令牌;下发直播推流地址单元,用于当用户需要观看直播时,向rtmp直播推流设备下发rtmp直播推流地址,所述直播推流地址中带有随机生成的验证密钥;第二验证单元,用于接收来自rtmp直播推流设备的加密推流地址,并对所述加密推流地址进行验证,当验证通过时,接受rtmp直播推流设备向所述加密推流地址的推流。

所述第一验证单元,具体用于:所述rtmp直播推流设备的设备序列号和登录密码预先存储在rtmp流媒体服务器直播推流设备中;如果验证所述设备序列号和登录密码和自身存储的rtmp直播推流设备的设备序列号和登录密码是相同,则验证通过,通过加密方式,向rtmp直播推流设备下发md5令牌。

所述第二验证单元,具体用于:解析出返回的加密推流地址中的验证密钥以及后面的加密字符串,用md5加密规则生成一个加密字符串;将生成的加密字符串和解析出的加密字符串做对比如果一致,则验证通过,接受rtmp直播推流设备向加密推流地址的推流;如果不一致,则验证未通过,拒绝rtmp直播推流设备向加密推流地址的推流。

上述的涉及到的直播的防盗链装置具体技术细节和直播的防盗链方法中类似,在直播的防盗链装置的实施方式中所能达到的技术效果在直播的防盗链方法的实施方式中也同样可以实现,为了减少重复,这里不再赘述。相应地,在直播的防盗链装置的实施方式中提到的相关技术细节也可应用在直播的防盗链方法的实施方式中。

本说明书中的各个实施方式均采用递进的方式描述,各个实施方式之间相同相似的部分互相参见即可,每个实施方式重点说明的都是与其他实施方式的不同之处。

最后应说明的是:上面对本发明的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本发明的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本发明旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。

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