一种视频流地址的鉴权方法及装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种视频流地址的鉴权方法及装置。
背景技术
当前,各类互联网商业模式层出不穷,直播视频也是其中一匹黑马,直播视频是利用互联网及流媒体技术进行的直播,其中,直播视频是通过视频流地址来进行播放的。
然而,对直播视频内容的提供方而言,其视频流地址容易被第三方平台获取,以使得观众即使不通过提供方的视频直播网站,也可以在其他第三方平台上直接观看直播视频,即绕过了提供方直播网站的视频播放器,从而减少了提供方视频网站的网站流量。
为了解决视频流地址被盗用的问题,维护直播视频提供方的合法利益,目前较常用的方式是,采用对视频流地址鉴权的方法来保护视频流地址,然而,当前的视频流地址鉴权算法大多采用成熟的公开的算法来保障算法的安全性,但是由于算法是公开的,所以也比较容易被黑客分析出来使用的什么算法,从而可以直接使用对应的算法来对视频流地址鉴权。
可见,现有技术中视频流地址鉴权的方法,存在安全性低的技术问题。
发明内容
本发明提供一种视频流地址的鉴权方法及装置,用以解决现有技术中视频流地址鉴权的方法,存在的安全性低的技术问题。
一方面,本发明提供了一种视频流地址的鉴权方法,包括:
与服务器同步定期更新平台客户端视频流地址的鉴权算法;
获取目标视频播放的环境信息,并基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;
发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,并判断所述第一鉴权值与所述第二鉴权值是否匹配;
当接收到所述服务器在确定所述第一鉴权值与所述第二鉴权值匹配后发送的视频流地址时,基于所述视频流地址播放所述目标视频。
可选的,所述与服务器同步定期更新平台客户端视频流地址的鉴权算法,包括:与服务器同步定期更新平台客户端视频流地址的鉴权算法,所述鉴权算法是定期通过算法生成工具随机排列逻辑算法和随机值来生成的鉴权算法。
可选的,所述与服务器同步定期更新平台客户端视频流地址的鉴权算法,包括:与服务器同步定期更新平台客户端N个视频流地址的鉴权算法,其中,所述N个视频流地址的鉴权算法与N个视频的房间号一一对应;所述基于所述鉴权算法,对所述环境信息进行加密,包括:从所述N个视频流地址的鉴权算法中,确定出与所述目标视频的房间号对应的目标鉴权算法;基于所述目标鉴权算法,对所述环境信息进行加密;所述发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,包括:发送所述第一鉴权值、所述目标视频的房间号和所述环境信息至所述服务器,以供所述服务器确定出所述目标鉴权算法,并通过所述目标鉴权算法和所述环境信息确定出第二鉴权值。
可选的,所述基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值,包括:基于所述目标鉴权算法,对所述环境信息进行加密,生成加密数据;通过非对称加密算法RSA,采用与所述目标视频的房间号对应的随机数,对所述加密数据进一步加密,生成所述第一鉴权值,其中,所述N个视频的房间号与N个随机数一一对应;所述发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,包括:发送所述第一鉴权值、所述目标视频的房间号对应的随机数和所述环境信息至所述服务器,以供所述服务器先通过所述目标鉴权算法对所述环境信息进行加密,生成中间数据,再通过所述非对称加密算法RSA,采用与所述目标视频的房间号对应的随机数对所述中间数据进一步加密,生成所述第二鉴权值。
可选的,所述环境信息包括以下任意一种或多种的组合:用户身份认证信息、所述目标视频的房间号、设备唯一标识、互联网协议地址或当前时间信息。
另一方面,提供一种视频流地址的鉴权方法,包括:
与平台客户端同步定期更新视频流地址的鉴权算法;
接收终端发送的第一鉴权值和环境信息;
通过所述鉴权算法,对所述环境信息进行加密,生成第二鉴权值;
判断所述第一鉴权值与所述第二鉴权值是否匹配;
当所述第一鉴权值与所述第二鉴权值匹配时,发送所述环境信息对应的视频流地址至所述终端,以使所述终端能基于所述视频流地址播放所述环境信息对应的目标视频;
当所述第一鉴权值与所述第二鉴权值不匹配时,拒绝发送所述环境信息对应的视频流地址至所述终端。
可选的,所述与平台客户端同步定期更新视频流地址的鉴权算法,包括:与所述平台客户端同步定期更新视频流地址的鉴权算法,所述鉴权算法是定期通过算法生成工具随机排列逻辑算法和随机值来生成的鉴权算法。
可选的,所述与平台客户端同步定期更新视频流地址的鉴权算法,包括:与平台客户端同步定期更新N个视频流地址的鉴权算法,其中,所述N个视频流地址的鉴权算法与N个视频的房间号一一对应;所述接收终端发送的第一鉴权值和环境信息,包括:接收所述终端发送的所述第一鉴权值、所述目标视频的房间号和所述环境信息;所述通过所述鉴权算法,对所述环境信息进行加密,包括:根据所述目标视频的房间号,从所述N个视频流地址的鉴权算法中,确定出与所述目标视频的房间号对应的目标鉴权算法;基于所述目标鉴权算法,对所述环境信息进行加密。
再一方面,提供一种视频流地址的鉴权装置,所述装置为终端,包括:
第一更新模块,用于与服务器同步定期更新平台客户端视频流地址的鉴权算法;
第一加密模块,用于获取目标视频播放的环境信息,并基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;
第一发送模块,用于发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,并判断所述第一鉴权值与所述第二鉴权值是否匹配;
第一接收模块,用于当接收到所述服务器在确定所述第一鉴权值与所述第二鉴权值匹配后发送的视频流地址后,基于所述视频流地址播放所述目标视频。
再一方面,提供一种视频流地址的鉴权装置,所述装置为服务器,包括:
第二更新模块,用于与平台客户端同步定期更新视频流地址的鉴权算法;
第二接收模块,用于接收终端发送的第一鉴权值和环境信息;
第二加密模块,用于通过所述鉴权算法,对所述环境信息进行加密,生成第二鉴权值;
判断模块,用于判断所述第一鉴权值与所述第二鉴权值是否匹配;
第二发送模块,用于当所述第一鉴权值与所述第二鉴权值匹配时,发送所述环境信息对应的视频流地址至所述终端,以使所述终端能基于所述视频流地址播放所述环境信息对应的目标视频;
拒绝模块,用于当所述第一鉴权值与所述第二鉴权值不匹配时,拒绝发送所述环境信息对应的视频流地址至所述终端。
本发明实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
1、本申请实施例提供的方法及装置,设置平台客户端与服务器同步定期更新视频流地址的鉴权算法,在需要播放视频时,先基于定期更新的所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;再发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过相同的鉴权算法加密所述环境信息确定出第二鉴权值。而只有在服务器通过判断所述第一鉴权值与所述第二鉴权值是否匹配,来判断出终端上发送视频播放请求的来源正是本平台客户端后,才会发送视频流地址至终端,从而加强对视频流地址的保护,进一步,由于平台客户端与服务器不是采用固定的鉴权算法,而是同步定期更换新的视频流地址的鉴权算法,有效的增加了黑客逆向推算出该算法的难度,提高了视频流地址的安全性。
2、本申请实施例提供的方法及装置,设置不同房间号的视频随机生成不同的鉴权算法,从而可以大大提高算法的分支,有效的增加了黑客逆向推算出该算法的难度,进一步提高了视频流地址的安全性。
3、本申请实施例提供的方法及装置,对采用每个房间号对应的鉴权算法生成的加密数据,采用非对称加算法RSA进行进一步加密,并在加密中引入房间号和每个房间各不相同的随机数,从而进一步增加各个房间视频的鉴权算法的复杂度,有效的增加了黑客逆向推算出该算法的难度,进一步提高了视频流地址的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中视频流地址的鉴权方法的流程图一;
图2为本发明实施例中视频流地址的鉴权方法的流程图二;
图3为本发明实施例中视频流地址的鉴权装置的结构示意图一;
图4为本发明实施例中视频流地址的鉴权装置的结构示意图二。
具体实施方式
本申请实施例通过提供一种视频流地址的鉴权方法及装置,用以解决现有技术中视频流地址鉴权的方法,存在的安全性低的技术问题。实现了提高视频流地址鉴权方法的安全性的技术效果。
本申请实施例中的技术方案,总体思路如下:
与服务器同步定期更新平台客户端视频流地址的鉴权算法;获取目标视频播放的环境信息,并基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,并判断所述第一鉴权值与所述第二鉴权值是否匹配;当接收到所述服务器在确定所述第一鉴权值与所述第二鉴权值匹配后发送的视频流地址时,基于所述视频流地址播放所述目标视频。
上述方法通过设置平台客户端与服务器同步定期更新视频流地址的鉴权算法,在需要播放视频时,先基于定期更新的所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;再发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过相同的鉴权算法加密所述环境信息确定出第二鉴权值。而只有在服务器通过判断所述第一鉴权值与所述第二鉴权值是否匹配,来判断出终端上发送视频播放请求的来源正是本平台客户端后,才会发送视频流地址至终端,从而加强对视频流地址的保护,进一步,由于平台客户端与服务器不是采用固定的鉴权算法,而是同步定期更换新的视频流地址的鉴权算法,有效的增加了黑客逆向推算出该算法的难度,提高了视频流地址的安全性。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本实施例提供一种视频流地址的鉴权方法,如图1所示,该方法包括:
步骤S101,与服务器同步定期更新平台客户端视频流地址的鉴权算法;
步骤S102,获取目标视频播放的环境信息,并基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;
步骤S103,发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,并判断所述第一鉴权值与所述第二鉴权值是否匹配;
步骤S104,当接收到所述服务器在确定所述第一鉴权值与所述第二鉴权值匹配后发送的视频流地址时,基于所述视频流地址播放所述目标视频。
需要说明的是,本实施例提供的方法应用于终端设备;所述终端设备与所述服务器通过无线或有限网络进行连接,以实现通信;所述终端设备上安装有所述平台客户端。
在具体实施过程中,所述终端可以为智能手机,平板电脑或台式机,在此也不作限制。所述服务器可以是一台独立的服务器,也可以是多台服务器组成的服务器群,在此也不作限制。
下面,结合图1详细介绍本申请实施例提供的视频流地址的鉴权方法的实施步骤。
首先,执行步骤S101,与服务器同步定期更新平台客户端视频流地址的鉴权算法。
具体来讲,视频流地址的鉴权算法是终端通过一部分信息计算出一个结果,然后对比和服务器的计算结果是否一致,如果不一致则说明终端上的平台客户端不是所述服务器对应的客户端直播平台,如果一致则说明是所述服务器对应的客户端直播平台。考虑到加解密鉴权算法没有绝对的安全,采用固定的鉴权算法,很容易被黑客破解。本申请设置不断的频繁的更换算法来提高算法的安全性,即定期的、周期性的同步更新服务器和终端上的平台客户端的视频流地址的鉴权算法,来增加黑客破解的难度。所述定期可以为每两周一次、每一个月一次或每十天一次,在此不作限制。
为了能方便的定期更新所述鉴权算法,减少每次重新编写算法的工作强度,本实施例通过先设计所述算法生成工具来生成所有的算法。
在具体实施过程中,生成的所述鉴权算法可以根据需要设置,下面列举三种为例:
第一种,随机生成鉴权算法。
在本申请实施例中,所述与服务器同步定期更新平台客户端视频流地址的鉴权算法,包括:
与服务器同步定期更新平台客户端视频流地址的鉴权算法,所述鉴权算法是定期通过算法生成工具随机排列逻辑算法和随机值来生成的鉴权算法。
即所述算法生成工具会使用一些随机的数据以及随机的数据逻辑运算来对数据进行加解密操作。所以该算法生成工具每次生成的算法都不一样,从而可以非常方便的更换视频流地址鉴权算法。
具体来讲,所述算法生成工具可以将每个独立的逻辑操作单元提取出来做为操作的一条语句,那么对应的生成的鉴权算法则是在最终生成的代码文件中生成的一条操作代码,例如,对所述环境信息Srcdata使用一个随机的数据Randdata2来减,既可以用代码表示为“Srcdata=Srcdata+Randdata2;”。
当然,所述逻辑操作单元也可以是对所述环境信息进行异或某个随机数据、加减某个随机数据、左右移位某个随机数据等。对于其他的语句也是使用同样的方法,最终的输出文件中则是组合起来的一个个独立的算法。通过任意条这样的操作组合起来从而可以生成比较复杂并且无规律的加密鉴权算法。举例来说,组合起来的鉴权算法可以是:
Srcdata=Srcdata xor Randdata//对所述环境信息使用一个随机的数据Randdata来异或;
Srcdata=Srcdata+Randdata2//对所述环境信息使用一个随机的数据Randdata2来减;
Srcdata=Srcdata<<Randdata3//对所述环境信息使用一个随机的数据Randdata3来左移;
Srcdata=Srcdata>>Randdata4//对所述环境信息使用一个随机的数据Randdata4来右移。
通过将上述基本的数据逻辑操作随机的生成任意条,并且进行叠加操作,从而可以生成任意复杂的并且无规律的对所述环境信息进行加密的鉴权算法。
第二种,结合房间号来生成鉴权算法。
所述与服务器同步定期更新平台客户端视频流地址的鉴权算法,包括:与服务器同步定期更新平台客户端N个视频流地址的鉴权算法,其中,所述N个视频流地址的鉴权算法与N个视频的房间号一一对应。
具体来讲,可以结合视频的房间号来对不同的房间号来使用不同的加密算法,即N个视频的房间号对应N个不同的鉴权算法,从而提高算法被破解的门槛。由于使用的是算法生成工具来生成的算法,所以可以很方便的对每个房间生成独立的加密算法,从而可以无限的提高算法的分支。如果黑客需要盗取视频流地址则需要对每个房间号单独去破解其算法,那么其工作量非常巨大,可以有效的防止黑客逆向出该算法。
举例来说,所述算法生成工具在生成所述鉴权算法的代码文件时,可以采用命令If roomid=n先对房间号进行循环,其中,roomid为房间号,n为算法编号,当然也可以是对房间号的部分信息进行循环,例如,对后3位的房间号进行循环。在每次循环中调用前述采用随机的数据以及随机的数据逻辑运算来生成所述鉴权算法的步骤,以对每个房间号生成一个鉴权算法。
例如,假设视频房间号是8位的数字串,可以取后3位数字来区分不同的房间,进而生成不同的加密算法。假设有三个房间,后三位房间号为001,100,011,则具体实现如下:
If 001=0//房间号001的鉴权算法采用加密算法0
Else if 100=1//房间号100的鉴权算法采用加密算法1
Else if 011=2//房间号011的鉴权算法采用加密算法2
等等,即通过取房间号的后3位数字,并针对后3位的数字来对不同的数字生成一个不同的算法,实现每个房间号对应一个鉴权算法。
第三种,先结合房间号来生成鉴权算法,再使用房间号对鉴权算法计算出的加密数据进行进一步加密。
为了再进一步增加黑客破解的难度,本申请还设置对每个房间号对应的鉴权算法计算出的加密数据,再使用常规的非对称加密算法RSA来对最后的加密数据再进一步的加密来生成第一鉴权值。当然,在具体实施过程中,也可以再使用对称加密算法对所述加密数据进行进一步加密,在此不作限制。
举例来说,采用KEY=RSA.encrypt(Data,KEYDATA)指令来对所述加密数据Data进行进一步的RSA算法加密,其中,KEYDATA是对每个房间号使用的不同的随机数,Data是对需要加密的所述环境信息经过上述的鉴权算法后得到的所述加密数据。以最终调用RSA算法来对所述加密数据进一步加密后得到的值作为所述第一鉴权值。
在确定了鉴权算法后,执行步骤S102,获取目标视频播放的环境信息,并基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值。
在本申请实施例中,所述环境信息包括以下任意一种或多种的组合:
用户身份认证信息、所述目标视频的房间号、设备唯一标识、互联网协议地址或当前时间信息。
具体来讲,终端上需要播放视频的客户端可以先获取当前观众的目标视频运行环境信息,例如,包括用户登陆时获取的Token,用户请求的房间号Roomid,用户生成的设备唯一ID,用户的电脑当前IP地址,以及用户请求的当前时间等,终端再将获取的所有信息拼接形成需要加密的环境信息。
获取所述环境信息后,使用步骤S101中获得的鉴权算法对所述环境信息进行加密生成所述第一鉴权值。
举例来说:
第一种,当所述鉴权算法为前述第一种中随机生成的鉴权算法时,直接使用所述鉴权算法对所述环境信息进行加密生成所述第一鉴权值。具体来讲,所述鉴权算法将需加密的所述环境信息通过无规律的计算从而得到所述第一鉴权值,具体算法则是对所述环境信息进行异或某个随机数据、加减某个随机数据、左右移位某个随机数据等。
第二种,当所述鉴权算法为前述第二种中结合房间号生成的鉴权算法时,所述基于所述鉴权算法,对所述环境信息进行加密,包括:从所述N个视频流地址的鉴权算法中,确定出与所述目标视频的房间号对应的目标鉴权算法;基于所述目标鉴权算法,对所述环境信息进行加密。
第三种,当所述鉴权算法为前述第三种中先结合房间号来生成鉴权算法,再使用房间号对鉴权算法计算出的加密数据进行进一步加密时,所述基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值,包括:从所述N个视频流地址的鉴权算法中,确定出与所述目标视频的房间号对应的目标鉴权算法;基于所述目标鉴权算法,对所述环境信息进行加密,生成加密数据;通过非对称加密算法RSA,采用与所述目标视频的房间号对应的随机数,对所述加密数据进一步加密,生成所述第一鉴权值,其中,所述N个视频的房间号与N个随机数一一对应。即在每种算法的最后都调用RSA算法来对数据进行进一步的加密操作。
上述三种基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值的具体加密方法与步骤S101中获取的鉴权算法相对应,在介绍步骤S101时已详细描述,在此不再累述。
接下来,执行步骤S103,发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,并判断所述第一鉴权值与所述第二鉴权值是否匹配。
在具体实施过程中,所述判断所述第一鉴权值与所述第二鉴权值是否匹配可以为:判断所述第一鉴权值与所述第二鉴权值是否相同,或判断所述第一鉴权值与所述第二鉴权值是否等值。
具体来讲,由于在服务器和终端的平台客户端都包含同样的鉴权算法,并且都使用此鉴权算法对所述环境信息加密,来计算视频流地址的鉴权的第一鉴权值和第二鉴权值。所以,如果终端上为所述服务器对应的平台客户端,则由于和服务器使用同样的鉴权算法所以得到的最终结果应该是一致的,即所述第一鉴权值与所述第二鉴权值相等;如果终端上请求播放视频的不是所述服务器对应的平台客户端,则由于和服务器使用不相同的鉴权算法所以得到的最终结果是不一致的,即所述第一鉴权值与所述第二鉴权值不匹配。
举例来说:
第一种,当所述鉴权算法为前述第一种中随机生成的鉴权算法时,所述服务器接收到所述环境信息后,直接使用所述鉴权算法对所述环境信息进行加密生成所述第二鉴权值。具体来讲,所述鉴权算法将需加密的所述环境信息通过无规律的计算从而得到所述第一鉴权值,具体算法则是对所述环境信息进行异或某个随机数据、加减某个随机数据、左右移位某个随机数据等。
第二种,当所述鉴权算法为前述第二种中结合房间号生成的鉴权算法时,所述发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,包括:发送所述第一鉴权值、所述目标视频的房间号和所述环境信息至所述服务器,以供所述服务器确定出所述目标鉴权算法,并通过所述目标鉴权算法和所述环境信息确定出第二鉴权值。
第三种,当所述鉴权算法为前述第三种中先结合房间号来生成鉴权算法,再使用房间号对鉴权算法计算出的加密数据进行进一步加密时,所述发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,包括:发送所述第一鉴权值、所述目标视频的房间号对应的随机数和所述环境信息至所述服务器,以供所述服务器先通过所述目标鉴权算法对所述环境信息进行加密,生成中间数据,再通过所述非对称加密算法RSA,采用与所述目标视频的房间号对应的随机数对所述中间数据进一步加密,生成所述第二鉴权值。
上述三种所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值的具体加密方法与步骤S101中获取的鉴权算法相对应,在介绍步骤S101时已详细描述,在此不再累述。
再下来,执行步骤S104,当接收到所述服务器在确定所述第一鉴权值与所述第二鉴权值匹配后发送的视频流地址时,基于所述视频流地址播放所述目标视频。
具体来讲,当所述服务器确定所述第一鉴权值与所述第二鉴权值匹配时,会发送所述环境信息对应的视频流地址至所述终端,以使所述终端能基于所述视频流地址播放所述环境信息对应的目标视频;
当所述服务器确定所述第一鉴权值与所述第二鉴权值不匹配时,会拒绝发送所述环境信息对应的视频流地址至所述终端,以使所述终端不能播放所述目标视频。
具体来讲,本申请频繁同步更新服务器和平台客户端的鉴权算法,提高了黑客破解工作量,还设置每个房间号对应不同的鉴权算法,如果黑客想要破解鉴权算法则需要对每个房间号都进行破解,从而造成了极大的门槛,进一步,由于整个视频流地址的鉴权算法是算法生成工具自动随机生成的,更换算法只需要使用算法生成工具生成一次,所以能非常方便快捷的更换鉴权算法,从而极大的保障了安全性。
基于同一发明构思,本申请还提供了与实施例一中视频流地址的鉴权方法对应的应用于服务器端的视频流地址的鉴权方法,详见实施例二。
实施例二
本实施例提供了一种视频流地址的鉴权方法,如图2所示,该方法包括:
步骤S201,与平台客户端同步定期更新视频流地址的鉴权算法;
步骤S202,接收终端发送的第一鉴权值和环境信息;
步骤S203,通过所述鉴权算法,对所述环境信息进行加密,生成第二鉴权值;
步骤S204,判断所述第一鉴权值与所述第二鉴权值是否匹配;
步骤S205,当所述第一鉴权值与所述第二鉴权值匹配时,发送所述环境信息对应的视频流地址至所述终端,以使所述终端能基于所述视频流地址播放所述环境信息对应的目标视频;
步骤S206,当所述第一鉴权值与所述第二鉴权值不匹配时,拒绝发送所述环境信息对应的视频流地址至所述终端。
需要说明的是,本实施例提供的方法应用于服务器;所述服务器与所示终端通过无线或有限网络进行连接,以实现通信;所述终端上安装有所述平台客户端。
在具体实施过程中,所述终端可以为智能手机,平板电脑或台式机,在此也不作限制。所述服务器可以是一台独立的服务器,也可以是多台服务器组成的服务器群,在此也不作限制。
下面,结合图2详细介绍本申请实施例提供的视频流地址的鉴权方法的实施步骤。
首先,执行步骤S201,与平台客户端同步定期更新视频流地址的鉴权算法。
在实施例一中已经详细介绍了如何同步更新服务器和终端的平台客户端的视频流地址的鉴权算法,在此不再累述。
然后,执行步骤S202和步骤S203,接收终端发送的第一鉴权值和环境信息;通过所述鉴权算法,对所述环境信息进行加密,生成第二鉴权值;
举例来说,第一种,当所述鉴权算法为实施例一所述的第一种中随机生成的鉴权算法时,即所述与平台客户端同步定期更新视频流地址的鉴权算法,包括:与所述平台客户端同步定期更新视频流地址的鉴权算法,所述鉴权算法是定期通过算法生成工具随机排列逻辑算法和随机值来生成的鉴权算法。
对应的,所述服务器接收到所述环境信息后,直接使用所述鉴权算法对所述环境信息进行加密生成所述第二鉴权值。具体来讲,所述鉴权算法将需加密的所述环境信息通过无规律的计算从而得到所述第一鉴权值,具体算法则是对所述环境信息进行异或某个随机数据、加减某个随机数据、左右移位某个随机数据等。
第二种,当所述鉴权算法为实施例一所述第二种中结合房间号生成的鉴权算法时,即所述与平台客户端同步定期更新视频流地址的鉴权算法,包括:与平台客户端同步定期更新N个视频流地址的鉴权算法,其中,所述N个视频流地址的鉴权算法与N个视频的房间号一一对应。
所述接收终端发送的第一鉴权值和环境信息,包括:接收所述终端发送的所述第一鉴权值、所述目标视频的房间号和所述环境信息;
所述通过所述鉴权算法,对所述环境信息进行加密,包括:根据所述目标视频的房间号,从所述N个视频流地址的鉴权算法中,确定出与所述目标视频的房间号对应的目标鉴权算法;基于所述目标鉴权算法,对所述环境信息进行加密。
第三种,当所述鉴权算法为实施例一所述第三种中先结合房间号来生成鉴权算法,再使用房间号对鉴权算法计算出的加密数据进行进一步加密时,
所述接收终端发送的第一鉴权值和环境信息,包括:接收所述终端发送的所述第一鉴权值、所述目标视频的房间号、所述目标视频的房间号对应的随机数和所述环境信息;
所述通过所述鉴权算法,对所述环境信息进行加密,包括:根据所述目标视频的房间号,从所述N个视频流地址的鉴权算法中,确定出与所述目标视频的房间号对应的目标鉴权算法;先通过所述目标鉴权算法对所述环境信息进行加密,生成中间数据,再通过所述非对称加密算法RSA,采用与所述目标视频的房间号对应的随机数对所述中间数据进一步加密,生成所述第二鉴权值。
上述三种所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值的具体加密方法与实施例一描述的是三种鉴权算法相对应,在实施例一中已详细描述,在此不再累述。
然后,执行步骤S204,判断所述第一鉴权值与所述第二鉴权值是否匹配。
在具体实施过程中,所述判断所述第一鉴权值与所述第二鉴权值是否匹配可以为:判断所述第一鉴权值与所述第二鉴权值是否相同,或判断所述第一鉴权值与所述第二鉴权值是否等值。
具体来讲,由于在服务器和终端的平台客户端都包含同样的鉴权算法,并且都使用此鉴权算法对所述环境信息加密,来计算视频流地址的鉴权的第一鉴权值和第二鉴权值。所以,如果终端上为所述服务器对应的平台客户端,则由于和服务器使用同样的鉴权算法所以得到的最终结果应该是一致的,即所述第一鉴权值与所述第二鉴权值相等;如果终端上请求播放视频的不是所述服务器对应的平台客户端,则由于和服务器使用不相同的鉴权算法所以得到的最终结果是不一致的,即所述第一鉴权值与所述第二鉴权值不匹配。
当所述第一鉴权值与所述第二鉴权值匹配时,执行步骤S205,发送所述环境信息对应的视频流地址至所述终端,以使所述终端能基于所述视频流地址播放所述环境信息对应的目标视频。
当所述第一鉴权值与所述第二鉴权值不匹配时,执行步骤S206,拒绝发送所述环境信息对应的视频流地址至所述终端。
由于本发明实施例二所介绍的方法与实施例一中所介绍的方法属于同一发明构思,基于实施例一本领域技术人员应该了解实施例二提供方法的实施步骤及原理,故而在此不再赘述。
基于同一发明构思,本申请还提供了与实施例一中视频流地址的鉴权方法对应的装置,详见实施例三。
实施例三
本实施例提供一种视频流地址的鉴权装置,所述装置为终端,如图3所示,该装置包括:
第一更新模块301,用于与服务器同步定期更新平台客户端视频流地址的鉴权算法;
第一加密模块302,用于获取目标视频播放的环境信息,并基于所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;
第一发送模块303,用于发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过所述鉴权算法和所述环境信息确定出第二鉴权值,并判断所述第一鉴权值与所述第二鉴权值是否匹配;
第一接收模块304,用于当接收到所述服务器在确定所述第一鉴权值与所述第二鉴权值匹配后发送的视频流地址后,基于所述视频流地址播放所述目标视频。
在具体实施过程中,所述终端可以为智能手机,平板电脑或台式机,在此也不作限制。所述服务器可以是一台独立的服务器,也可以是多台服务器组成的服务器群,在此也不作限制。
在具体实施过程中,所述终端与所述服务器通过无线或有限网络进行连接,以实现通信;所述终端上安装有所述平台客户端。
由于本发明实施例三所介绍的装置,为实施本发明实施例一的视频流地址的鉴权方法所采用的装置,故而基于本发明实施例一所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例一的方法所采用的装置都属于本发明所欲保护的范围。
基于同一发明构思,本申请还提供了与实施例二中视频流地址的鉴权方法对应的装置,详见实施例四。
实施例四
本实施例提供一种视频流地址的鉴权装置,所述装置为服务器,如图4所示,该装置包括:
第二更新模块401,用于与平台客户端同步定期更新视频流地址的鉴权算法;
第二接收模块402,用于接收终端发送的第一鉴权值和环境信息;
第二加密模块403,用于通过所述鉴权算法,对所述环境信息进行加密,生成第二鉴权值;
判断模块404,用于判断所述第一鉴权值与所述第二鉴权值是否匹配;
第二发送模块405,用于当所述第一鉴权值与所述第二鉴权值匹配时,发送所述环境信息对应的视频流地址至所述终端,以使所述终端能基于所述视频流地址播放所述环境信息对应的目标视频;
拒绝模块406,用于当所述第一鉴权值与所述第二鉴权值不匹配时,拒绝发送所述环境信息对应的视频流地址至所述终端。
在具体实施过程中,所述终端可以为智能手机,平板电脑或台式机,在此也不作限制。所述服务器可以是一台独立的服务器,也可以是多台服务器组成的服务器群,在此也不作限制。
在具体实施过程中,所述终端与所述服务器通过无线或有限网络进行连接,以实现通信;所述终端上安装有所述平台客户端。
由于本发明实施例四所介绍的装置,为实施本发明实施例二的视频流地址的鉴权方法所采用的装置,故而基于本发明实施例二所介绍的方法,本领域所属人员能够了解该装置的具体结构及变形,故而在此不再赘述。凡是本发明实施例二的方法所采用的装置都属于本发明所欲保护的范围。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
1、本申请实施例提供的方法及装置,设置平台客户端与服务器同步定期更新视频流地址的鉴权算法,在需要播放视频时,先基于定期更新的所述鉴权算法,对所述环境信息进行加密,生成第一鉴权值;再发送所述第一鉴权值和所述环境信息至所述服务器,以供所述服务器通过相同的鉴权算法加密所述环境信息确定出第二鉴权值。而只有在服务器通过判断所述第一鉴权值与所述第二鉴权值是否匹配,来判断出终端上发送视频播放请求的来源正是本平台客户端后,才会发送视频流地址至终端,从而加强对视频流地址的保护,进一步,由于平台客户端与服务器不是采用固定的鉴权算法,而是同步定期更换新的视频流地址的鉴权算法,有效的增加了黑客逆向推算出该算法的难度,提高了视频流地址的安全性。
2、本申请实施例提供的方法及装置,设置不同房间号的视频随机生成不同的鉴权算法,从而可以大大提高算法的分支,有效的增加了黑客逆向推算出该算法的难度,进一步提高了视频流地址的安全性。
3、本申请实施例提供的方法及装置,对采用每个房间号对应的鉴权算法生成的加密数据,采用非对称加算法RSA进行进一步加密,并在加密中引入房间号和每个房间各不相同的随机数,从而进一步增加各个房间视频的鉴权算法的复杂度,有效的增加了黑客逆向推算出该算法的难度,进一步提高了视频流地址的安全性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明实施例进行各种改动和变型而不脱离本发明实施例的精神和范围。这样,倘若本发明实施例的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。