一种数据的传输方法及装置与流程

文档序号:11778375阅读:367来源:国知局
一种数据的传输方法及装置与流程

本发明涉及视频播放领域,特别涉及一种数据的传输方法及装置。



背景技术:

mpeg(movingpictureexpertsgroup,动态图像专家组)组织批准了mpeg-dash(dynamicadaptivestreamingoverhttp,基于http的动态自适应流媒体)协议标准。随后,mpeg-dash成为互联网流媒体领域的大热话题。动态自适应流媒体dash目前应用于领先的内容分发平台,其以自适应流媒体方式传输音频和视频内容,支持连续观看而不会出现画面停滞或断断续续的现象。市场对dash技术标准的采用日益增长。

现有技术中,dash系统中的dash服务端产生关于播放视频文件的媒体表示描述mpd和切片文件,其中,mpd是可扩展标记语言xml文件,包含了与切片文件相关的所有信息的说明;dash客户端向该dash服务端请求mpd,dash服务端响应并向该dash客户端发送mpd;dash客户端接收并解析该mpd,根据当前网络情况和自身设备的性能信息,选择合适的mpd中的url(uniformresourcelocator,统一资源定位符),并使用该合适的url向dash服务端请求相应的切片文件,dash客户端播放该相应的切片文件,并及时更新当前网络情况。在现有的dash系统中,整个请求视频文件的过程都是明文进行的,这样就使得dash服务端有可能遭到非法dash客户端的安全攻击。可想而知的,dash系统中未实行安全机制,所述dash服务端与所述dash客户端所传输的mpd容易被窃取,数据安全性不高。



技术实现要素:

本发明实施例公开了一种数据的传输方法及装置,以实现对dash系统中所传输的数据进行加密,提高所传输的数据的安全性。具体方案如下:

一方面,本发明实施例提供了一种数据的传输方法,应用于动态自适应流 媒体dash客户端,其中,所述dash客户端与dash服务端连接,所述方法包括:

向所述dash服务端发送携带有预设扩展字段的安全传输层协议tls连接请求,以使所述dash服务端从所述tls连接请求所携带的预设扩展字段中选择自身所支持的第一加密算法,向所述dash客户端发送携带有所述第一加密算法的tls连接回复,以与所述dash客户端建立tls连接,其中,所述预设扩展字段中包含所述dash客户端所支持的至少一种加密算法;

向所述dash服务端发送媒体表示描述mpd请求,以使所述dash服务端根据所述第一加密算法对与所述mpd请求对应的mpd进行加密,并将加密后所形成的目标mpd反馈给所述dash客户端;

接收所述dash服务端反馈的所述目标mpd;

根据所述第一加密算法所对应解密算法,对所述目标mpd解密;

从解密结果所包括的统一资源定位符url中选择待利用的目标url;

依据所述目标url向所述dash服务端请求相应的切片文件。

可选的,所述预设扩展字段中还携带关于所述目标mpd的校验码crc的目标值的计算方式;

所述tls连接回复中还携带有所述目标mpd的crc的所述目标值,其中,所述目标mpd的crc的所述目标值为:所述dash服务端根据所述预设扩展字段所携带的所述计算方式计算得到的值;

在所述根据所述第一加密算法所对应解密算法,对所述目标mpd解密之前,所述方法还包括:

根据所述目标mpd的crc的所述目标值,判断所述目标mpd是否有效;

当判断为有效时,执行所述根据所述第一加密算法所对应解密算法,对所述目标mpd解密的步骤。

可选的,所述根据所述目标mpd的crc的所述目标值,判断所述目标mpd是否有效,包括:

根据所述预设扩展字段所携带的计算方式,计算所述目标mpd的crc的标 准值;

判断所述标准值是否与所述目标值相同;

如果相同,表明所述目标mpd有效;

如果不相同,表明所述目标mpd无效。

可选的,所述预设扩展字段所携带的计算方式包括:

当关于所述目标mpd的crc的长度大于或者等于第一预定数值时,选取所述crc的第一预定数值个字节进行计算,确定所述目标mpd的crc的所述目标值;

当关于所述目标mpd的crc的长度小于第一预定数值时,对所述crc的所有字节进行整体计算,确定所述目标mpd的crc的所述目标值。

可选的,所述tls连接请求中还携带所述dash客户端生成的第一随机数,所述tls连接回复中还携带所述dash服务端生成的第二随机数;

在所述向所述dash服务端发送mpd请求之前,所述方法还包括:

根据所述第一随机数、所述第二随机数以及所述目标值,计算关于所述目标mpd的目标解密密钥;

所述根据所述第一加密算法所对应解密算法,对所述目标mpd解密,包括:

利用所述目标解密密钥以及所述第一加密算法所对应的所述解密算法,对所述目标mpd解密。

可选的,所述目标mpd中携带关于所包括url对应的切片文件的加密信息,所述加密信息包括第二加密算法,其中,所述第二加密算法为dash客户端所支持的所述至少一种加密算法中的一种算法;

所述方法还包括:

接收所述切片文件;

根据所述第二加密算法所对应解密算法,对所述切片文件解密;

播放所述解密后的切片文件。

可选的,所述加密信息中还包括所述切片文件对应的目标令牌token标识;

在所述根据所述第二加密算法所对应解密算法,对所述切片文件解密之前,所述方法还包括:

判断所述目标token标识是否和与所述切片文件同时所接收的token标识相同;

如果是,执行所述根据所述第二加密算法所对应解密算法,对所述切片文件解密的步骤。

第二方面,本发明实施例还提供了一种数据的传输方法,应用于动态自适应流媒体dash服务端,其中,所述dash服务端与dash客户端连接,所述方法包括:

接收所述dash客户端发送的携带有预设扩展字段的安全传输层协议tls连接请求,其中,所述预设扩展字段中携带所述dash客户端所支持的至少一种加密算法;

从所述至少一种加密算法中,确定自身所支持的第一加密算法;

向所述dash客户端发送携带有所述第一加密算法的tls连接回复,以与所述dash客户端建立tls连接;

接收所述dash客户端发送的媒体表示描述mpd请求;

根据所述第一加密算法对与所述mpd请求对应的mpd进行加密;

向所述dash客户端发送加密后所形成的目标mpd,以使所述dash客户端在根据所述第一加密算法所对应解密算法,对所述目标mpd解密后,从解密结果所包括的统一资源定位符url中选择待利用的目标url,依据所述目标url向所述dash服务端请求相应的切片文件;

响应所述目标url,向所述dash客户端发送与所述目标url相应的切片文件。

可选的,所述预设扩展字段中还携带关于所述目标mpd的校验码crc的目标值的计算方式;

所述向所述dash客户端发送携带有所述第一加密算法的tls连接回复之 前,所述方法还包括:

根据所述预设扩展字段所携带的所述计算方式,计算所述目标mpd的crc的所述目标值;

所述向所述dash客户端发送携带有所述第一加密算法的tls连接回复,包括:

向所述dash客户端发送携带有所述第一加密算法以及所述目标mpd的crc的所述目标值的tls连接回复。

可选的,所述tls连接请求中还携带所述dash客户端生成的第一随机数,所述tls连接回复中还携带所述dash服务端生成的第二随机数;

所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密之前,所述方法还包括:

根据所述第一随机数、所述第二随机数以及所述目标值,计算关于所述目标mpd的目标解密密钥;

所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密,包括:

根据所述第一加密算法以及所述目标解密密钥,对与所述mpd请求对应的mpd进行加密。

可选的,所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密之前,所述方法还包括:

从所述至少一种加密算法中,确定自身所支持的第二加密算法;

根据所述第一加密算法,对url对应的切片文件的加密信息以及与所述mpd请求对应的mpd进行加密,以形成目标mpd,其中,所述url对应的切片文件的加密信息包括所述第二加密算法;

在所述响应所述目标url,向所述dash客户端发送与所述目标url相应的切片文件之前,所述方法还包括:

根据所述第二加密算法对与所述目标url相应的所述切片文件进行加密,以使所述dash客户端根据所述目标mpd中所携带的所述第二加密算法所对应解密算法,对所接收到的切片文件解密。

可选的,所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密之前,所述方法还包括:

确定所述切片文件所对应的目标令牌token标识;

所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密,包括:

根据所述第一加密算法对与所述mpd请求对应的mpd以及所述目标token标识进行加密。

第三方面,本发明实施例提供了一种数据的传输装置,应用于动态自适应流媒体dash客户端,其中,所述dash客户端与dash服务端连接,所述装置包括:安全传输层协议tls连接请求发送模块、媒体表示描述mpd请求发送模块、目标mpd接收模块、目标mpd解密模块、目标统一资源定位符url选择模块和切片文件请求模块;

所述tls连接请求发送模块:用于向所述dash服务端发送携带有预设扩展字段的tls连接请求,以使所述dash服务端从所述tls连接请求所携带的预设扩展字段中选择自身所支持的第一加密算法,向所述dash客户端发送携带有所述第一加密算法的tls连接回复,以与所述dash客户端建立tls连接,其中,所述预设扩展字段中包含所述dash客户端所支持的至少一种加密算法;

所述mpd请求发送模块:用于向所述dash服务端发送mpd请求,以使所述dash服务端根据所述第一加密算法对与所述mpd请求对应的mpd进行加密,并将加密后所形成的目标mpd反馈给所述dash客户端;

所述目标mpd接收模块:用于接收所述dash服务端反馈的所述目标mpd;

所述目标mpd解密模块:用于根据所述第一加密算法所对应解密算法,对所述目标mpd解密;

所述目标url选择模块:用于从解密结果所包括的统一资源定位符url中选择待利用的目标url;

所述切片文件请求模块:用于依据所述目标url向所述dash服务端请求相应的切片文件。

第四方面,本发明实施例还提供了一种数据的传输装置,应用于动态自适 应流媒体dash服务端,其中,所述dash服务端与dash客户端连接,所述装置包括:安全传输层协议tls连接请求接收模块、第一加密算法确定模块、tls连接回复发送模块、媒体表示描述mpd请求接收模块、mpd加密模块、目标mpd发送模块和切片文件发送模块;

所述tls连接请求接收模块:用于接收所述dash客户端发送的携带有预设扩展字段的tls连接请求,其中,所述预设扩展字段中携带所述dash客户端所支持的至少一种加密算法;

所述第一加密算法确定模块:用于从所述至少一种加密算法中,确定自身所支持的第一加密算法;

所述tls连接回复发送模块:用于向所述dash客户端发送携带有所述第一加密算法的tls连接回复,以与所述dash客户端建立tls连接;

所述mpd请求接收模块:用于接收所述dash客户端发送的mpd请求;

所述mpd加密模块:用于根据所述第一加密算法对与所述mpd请求对应的mpd进行加密;

所述目标mpd发送模块:用于向所述dash客户端发送加密后所形成的目标mpd,以使所述dash客户端在根据所述第一加密算法所对应解密算法,对所述目标mpd解密后,从解密结果所包括的统一资源定位符url中选择待利用的目标url,依据所述目标url向所述dash服务端请求相应的切片文件;

所述切片文件发送模块:用于响应所述目标url,向所述dash客户端发送与所述目标url相应的切片文件。

在本方案中,动态自适应流媒体dash客户端向dash服务端发送携带有预设扩展字段的安全传输层协议tls连接请求,以使该dash服务端从该tls连接请求所携带的预设扩展字段中选择自身所支持的第一加密算法,向该dash客户端发送携带有该第一加密算法的tls连接回复,以与该dash客户端建立tls连接,其中,该预设扩展字段中包含该dash客户端所支持的至少一种加密算法;向该dash服务端发送媒体表示描述mpd请求,以使该dash服务端根据该第一加密算法对与该mpd请求对应的mpd进行加密,并将加密后所形成的目标mpd反馈给该dash客户端;接收该dash服务端反馈的该目标mpd;根据该第一加 密算法所对应解密算法,对该目标mpd解密;从解密结果所包括的统一资源定位符url中选择待利用的目标url;依据该目标url向该dash服务端请求相应的切片文件。通过对目标mpd进行加密的方式,以避免该目标mpd内的数据被窃取,提高在dash系统中所传输的数据的安全性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

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

图1为本发明实施例所提供的一种数据的传输方法的流程示意图;

图2为本发明实施例所提供的一种数据的传输方法的另一流程示意图;

图3为本发明实施例所提供的一种数据的传输装置的结构示意图;

图4为本发明实施例所提供的一种数据的传输装置的另一结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种数据的传输方法及装置,以实现对dash系统中所传输的数据进行加密,提高所传输的数据的安全性。

下面首先对本发明实施例所提供的一种数据的传输方法进行介绍。

需要说明的是,本发明实施例所提供的一种数据的传输方法,可以应用于动态自适应流媒体dash客户端,其中,该dash客户端与dash服务端连接,并且在该dash客户端与dash服务端之间在基于http动态自适应流媒体协议请求媒体表示描述mpd时,可以使用超文本传输安全协议(hypertexttransferprotocolsecure,https)以及安全传输层协议(transportlayersecurityprotocol, tls),该tls在该dash客户端与dash服务端之间提供保密性和数据完整性,该https为以安全为目标的http通道。

如图1所示,本发明实施例所提供的一种数据的传输方法,可以包括步骤:

s101:该dash客户端向dash服务端发送携带有预设扩展字段的tls连接请求,以使该dash服务端从该安全传输层协议tls连接请求所携带的预设扩展字段中选择自身所支持的第一加密算法,向该dash客户端发送携带有该第一加密算法的tls连接回复,以与该dash客户端建立tls连接,其中,该预设扩展字段中包含该dash客户端所支持的至少一种加密算法;

可以理解的是,在请求媒体表示描述mpd前,需要在该dash客户端与dash服务端之间建立tls连接,与现有技术不同的是,在建立该tls连接时,该dash客户端向dash服务端发送携带有预设扩展字段的tls连接请求,其中,该预设扩展字段中包含该dash客户端所支持的至少一种加密算法,在建立连接的同时,该dash客户端与dash服务端会协商好进行后续的数据传输时,所需要的数据加密相关信息,如第一加密算法,以保证所传输的数据的安全性。作为本发明的一种实施方式,该预设扩展字段可以定义为use_encrypt_mpd。

举例而言,该dash客户端所支持的加密算法可以为:des(dataencryptionstandar,数据加密标准)、dsa(digitalsignaturealgorithm,数字签名算法)以及aes(advancedencryptionstandard,高级加密标准)等等。需要强调的是,该dash客户端所支持的加密算法可以根据实际情况进行设定,本发明实施例对此不做限定。

s102:向该dash服务端发送媒体表示描述mpd请求,以使该dash服务端根据该第一加密算法对与该mpd请求对应的mpd进行加密,并将加密后所形成的目标mpd反馈给该dash客户端;

需要说明的是,该dash客户端与dash服务端之间建立好tls连接以及协商好后续的数据传输时所需的第一加密算法后,dash客户端向该dash服务端发送mpd请求,此时,该mpd请求可以基于https。此时,为了保护所传输的数据的安全性,该dash服务端在接收到该mpd请求后,会根据协商好的第一加密算法对与该mpd请求对应的mpd进行加密,并将该加密后所形成 的目标mpd反馈给该dash客户端。防止该目标mpd在传输过程中被截取,该目标mpd中所包含的数据被窃取的情况。

s103:接收该dash服务端反馈的该目标mpd;

具体的,在向该dash服务端发送mpd请求后,该dash服务端会响应该mpd请求,向该dash客户端发送加密后所形成的目标mpd,该客户端会接收该dash服务端反馈的该目标mpd,继而进行后续的数据的传输流程,其中,接收该目标mpd可以采用现有技术,在此不做赘述。

s104:根据该第一加密算法所对应解密算法,对该目标mpd解密;

可以理解的是,根据该第一加密算法,可以利用现有技术组合成解密算法,根据该解密算法对该目标mpd进行解密,其中,该解密过程可以利用现有技术,在此不做赘述。

s105:从解密结果所包括的url中选择待利用的目标url;

需要说明的是,该目标mpd中包含多个url(uniformresourcelocator,统一资源定位符),其各自对应着一个切片文件,将该目标mpd解密后,该dash客户端可以根据自身的网络情况以及自身的配置性能信息,从该所包括的url中选择待利用的目标url。

s106:依据该目标url向该dash服务端请求相应的切片文件。

具体的,在该dash客户端选择出待利用的目标url后,会依据该目标url向该dash服务端请求相应的切片文件。

应用本发明实施例,dash客户端向dash服务端发送携带有预设扩展字段的tls连接请求,以使该dash服务端从该tls连接请求所携带的预设扩展字段中选择自身所支持的第一加密算法,向该dash客户端发送携带有该第一加密算法的tls连接回复,以与该dash客户端建立tls连接,其中,该预设扩展字段中包含该dash客户端所支持的至少一种加密算法;向该dash服务端发送mpd请求,以使该dash服务端根据该第一加密算法对与该mpd请求对应的mpd进行加密,并将加密后所形成的目标mpd反馈给该dash客户端;接收该dash服务端反馈的该目标mpd;根据该第一加密算法所对应解密算法,对该目标mpd解密;从解密结果所包括的统一资源定位符url中选择待利用 的目标url;依据该目标url向该dash服务端请求相应的切片文件。通过对目标mpd进行加密的方式,以避免该目标mpd内的数据被窃取,提高在dash系统中所传输的数据的安全性。

作为本发明的一种实施方式,对于数据加密所依据的信息有多种,在保证该dash客户端与dash服务端之间的互通性的同时,又要提高该加密的安全性与保密性,该数据加密所依据的信息可以是不固定的,根据该mpd请求的内容的不同,而随机变换的,具体的,所述预设扩展字段中还可以携带关于该目标mpd的校验码crc的目标值的计算方式;

该tls连接回复中还携带有该目标mpd的crc的目标值,其中,该目标mpd的crc的目标值为:该dash服务端根据该预设扩展字段所携带的计算方式计算得到的值;

在所述根据该第一加密算法所对应解密算法,对该目标mpd解密之前,所述方法还可以包括:

根据该目标mpd的crc的目标值,判断该目标mpd是否有效;当判断为有效时,执行s104。

该目标mpd在传输的过程中可能会被劫取,并替换成其他mpd,为了节省解密该目标mpd所占用的资源,在解密该目标mpd之前,可以首先根据该目标mpd的crc的目标值,判断该目标mpd是否有效,当判断该目标mpd无效时,可以将该目标mpd丢弃,无需再进行后续的解密过程,重新进行mpd请求;当判断有效时,继续后续流程。

具体的,所述根据该目标mpd的crc的目标值,判断该目标mpd是否有效,可以包括:

根据该预设扩展字段所携带的计算方式,计算该目标mpd的crc的标准值;

判断该标准值是否与该目标值相同;

如果相同,表明该目标mpd有效;

如果不相同,表明该目标mpd无效。

其中,对于进行数据传输的dash客户端与dash服务端之间,该dash 客户端将携带关于该目标mpd的校验码crc的目标值的计算方式的预设扩展字段发送给dash服务端,该dash服务端根据该计算方式,确定了该目标mpd的crc的目标值,并将该目标值发送给dash客户端,以通知该dash客户端,其要发送该目标值的目标mpd,当该dash客户接收到该目标mpd后,根据该目标值判断该接收到的目标mpd是否为该dash服务器所要向该dash客户端发送的目标mpd,根据与该dash服务器同样的计算方式,对所接收的目标mpd的crc进行计算,得到标准值,判断该目标值与该标准值是否相同,如果相同,表明该目标mpd有效;如果不相同,表明该目标mpd无效,则将该所接收的目标mpd丢弃。

具体的,该预设扩展字段所携带的计算方式可以包括:

当关于该目标mpd的crc的长度大于或者等于第一预定数值时,选取该crc的第一预定数值个字节进行计算,确定该目标mpd的crc的目标值;

当关于该目标mpd的crc的长度小于第一预定数值时,对该crc的所有字节进行整体计算,确定该目标mpd的crc的目标值。

作为本发明的一种实施方式,对于不同的mpd其对应的crc的长度会存在差异,该第一预定数值可以为32字节,当该目标mpd的crc的长度大于或者等于32字节时,可以选取该目标mpd的crc前后各16个字节,组合成32字节的数据,对该数据进行计算,得到crc32值(目标值),根据该crc32值进行目标mpd的校验;当该目标mpd的crc的长度小于32字节时,则对该目标mpd的crc的所有字节进行计算,得到crc32值,根据该crc32值进行目标mpd的校验;特殊的,作为本发明的一种实施方式,可能会未获得该目标mpd的crc的长度,此时可以不对该目标mpd进行校验,或者通过“0”填充该crc32值,例如,该目标mpd的crc的长度为0,即smpdcrc_32_null;

如果smpd_aes128_cm模式,则该目标解密密钥为0x00000000mpd_keyx;

如果smpd_aes192_cm模式,则该目标解密密钥为0x00000000mpd_keyx0000;

如果smpd_aes256_cm模式,则该目标解密密钥为0x00000000mpd_keyx00000000。

作为本发明的一种实施方式,该加密解密的过程中,还需要该加解密所需的密钥,其中该密钥可以是该dash客户端与该dash服务器之间已经预先约定好的,也可以是该dash客户端与该dash服务器之间随机协商,对于该加解密的安全性的考虑,后者会更加优选,具体的,所述tls连接请求中还携带该dash客户端生成的第一随机数,所述tls连接回复中还携带该dash服务端生成的第二随机数;

在所述向该dash服务端发送媒体表示描述mpd请求之前,所述方法还可以包括:

根据该第一随机数、该第二随机数以及该目标值,计算关于该目标mpd的目标解密密钥;

所述根据该第一加密算法所对应解密算法,对该目标mpd解密,可以包括:

利用该目标解密密钥以及该第一加密算法所对应的解密算法,对该目标mpd解密。

作为本发明的一种实施方式,该目标值可以是利用现有技术生成的一个4字节的数,该目标解密密钥可以是由该4字节的目标值、第一随机数的4个字节以及第二随机数的4个字节组成,其中,该第一随机数的4个字节以及第二随机数的4个字节可以称为一个8字节的私有key,可以用mpd_keyx表示。

例如:该目标值生成的4字节的数为0xaabbccdd,

如果smpd_aes128_cm模式,则该目标解密密钥为0xaabbccddmpd_keyx;

如果smpd_aes192_cm模式,则该目标解密密钥为0xaabbccddmpd_keyx0000;

如果smpd_aes256_cm模式,则该目标解密密钥为0xaabbccddmpd_keyx00000000。

需要说明的是,为了更进一步的保证该dash客户端与dash服务端之间所传输的数据的安全性,对于该切片文件进行加密,进而进行传输。具体的,所述目标mpd中携带关于所包括url对应的切片文件的加密信息,该加密信息包括所述第二加密算法,其中,该第二加密算法为dash客户端所支持的至少一种加密算法中的一种算法;

所述方法还可以包括:

接收该切片文件;

根据该第二加密算法所对应解密算法,对该切片文件解密;

播放该解密后的切片文件。

更进一步的,所述加密信息中还可以包括该切片文件对应的目标令牌token标识;

在所述根据该第二加密算法所对应解密算法,对该切片文件解密之前,所述方法还可以包括:

判断该目标token标识是否和与该切片文件同时所接收的token标识相同;

如果是,执行所述根据该第二加密算法所对应解密算法,对该切片文件解密的步骤。

需要说明的是,为了节省该dash客户端对该切片文件解密时所需占用的资源,在对该切片文件进行解密之前可以首先根据该切片文件对应的目标token标识,判断该切片文件是否有效,如果无效则对该切片文件进行丢弃,如果有效,对该切片文件进行解密,并进行后续的播放过程。

可以理解的是,在该dash服务器向该dash客户端发送目标mpd之前将该mpd中所包含的url所对应的切片文件的token标识(目标token标识)都添加入了该目标mpd中,另外,在根据该所选择的目标url发送切片文件时,同时携带该切片文件对应的token标识,判断该所接收的token标识与该目标token标识是否相同,以判断该切片文件是否为所需要的切片文件,即该切片文件是否有效。

相应于上述方法实施例,本发明实施例还提供的一种数据的传输方法,可以应用于动态自适应流媒体dash服务端,其中,该dash服务端与dash客户端连接,其中,需要说明的是,该dash服务端可以与多个该dash客户端连接,如图2所示,该方法可以包括步骤:

s201:接收该dash客户端发送的携带有预设扩展字段的安全传输层协议 tls连接请求,其中,该预设扩展字段中携带该dash客户端所支持的至少一种加密算法;

可以理解的是,该dash服务器利用现有技术接收该dash客户端发送的携带有预设扩展字段的tls连接请求,该预设扩展字段中携带该dash客户端所支持的至少一种加密算法,该dash服务器接收到该tls连接请求后,可以知晓该dash客户端要与自身建立tls连接,并进行后续的数据的传输,该至少一种加密算法用于后续的所需传输的数据的加密。

s202:从该至少一种加密算法中,确定自身所支持的第一加密算法;

具体的,该dash服务器接收到tls连接请求后,从该tls连接请求中携带的预设扩展字段所包含的至少一种加密算法中,确定自身所支持的第一加密算法,继续后续的数据的传输流程;作为本发明的一种实施方式,如果该dash服务器未能从该至少一种加密算法中确定出自身所支持的第一加密算法,则该数据的加密无法完成,该数据的传输流程结束或者利用现有技术对未加密的数据进行传输,等等,这都是合理的。

s203:向该dash客户端发送携带有该第一加密算法的tls连接回复,以与该dash客户端建立tls连接;

需要说明的是,向该dash客户端发送tls连接回复是为了与该dash客户端建立tls连接,以告知该dash客户端,其可以进行后续的数据的传输流程,向该dash客户端发送该第一加密算法是为了告知该dash客户端,对于后续的数据的传输过程中,其会依据该第一加密算法进行数据的加密。

s204:接收该dash客户端发送的媒体表示描述mpd请求;

具体的,该dash服务器利用现有技术接收该dash客户端发送的mpd请求,会响应该mpd请求,选择出与该mpd请求对应的mpd,进行后续的数据的传输的流程。

s205:根据该第一加密算法对与该mpd请求对应的mpd进行加密;

具体的,该dash服务器可以根据现有技术利用该确定的第一加密算法对与该mpd请求对应的mpd进行加密。

s206:向该dash客户端发送加密后所形成的目标mpd,以使该dash客户 端在根据该第一加密算法所对应解密算法,对该目标mpd解密后,从解密结果所包括的统一资源定位符url中选择待利用的目标url,依据该目标url向该dash服务端请求相应的切片文件;

需要说明的是,该dash服务端将该mpd进行加密后,形成目标mpd,将该目标mpd发送给该dash客户端,以使该dash客户端根据所协商好的该第一加密算法所对应解密算法,利用现有技术对该目标mpd进行解密,并且从该解密结果中所包含的url中,依据该dash客户端自身的网络状态依据设备配置性能信息,选择待利用的目标url,并且向该dash服务端请求切片文件。

s207:响应该目标url,向该dash客户端发送与该目标url相应的切片文件。

可以理解的是,该目标url唯一对应一个切片文件,根据该目标url可以确定相应的切片文件,将该切片文件发送给该dash客户端,其中,该切片文件可以是经过加密后的文件,也可以是未进行加密的文件,这都是可以的。

应用本发明实施例,该dash服务端根据与该dash客户端协商好的第一加密算法,对该目标mpd进行加密传输,可以避免该目标mpd被窃取,导致该目标mpd所对应的数据被窃取,可以提高dash系统中所传输的数据的安全性。

具体的,所述预设扩展字段中还携带关于该目标mpd的校验码crc的目标值的计算方式;

所述向该dash客户端发送携带有该第一加密算法的tls连接回复之前,所述方法还可以包括:

根据该预设扩展字段所携带的该计算方式,计算该目标mpd的crc的目标值;

所述向该dash客户端发送携带有该第一加密算法的tls连接回复,包括:

向该dash客户端发送携带有该第一加密算法以及该目标mpd的crc的目标值的tls连接回复。

为保证该dash客户端与dash服务端之间所要传输的数据的准确性,保 证数据的安全,并且保证该dash客户端与dash服务端之间的同步性,该预设扩展字段中还可以携带关于该目标mpd的校验码crc的目标值的计算方式,根据该计算方式,该dash服务端可以计算出该目标mpd的crc的目标值,同时,将该目标值添加入该tls链接回复中,一起传输给该dash客户端,以保证后续的数据的传输的同步性,该dash客户端与dash服务端之间可以根据该目标值对该传输的目标mpd进行校验,判断该目标mpd的有效性及真实性。

作为本发明的一种实施方式,在该加密解密的过程中,还需要该加解密所需的密钥,其中,该密钥可以是该dash客户端与该dash服务器之间已经预先约定好的,也可以是该dash客户端与该dash服务器之间随机协商,对于该加解密的安全性的考虑,后者会更加优选,具体的,所述tls连接请求中还携带该dash客户端生成的第一随机数,该tls连接回复中还携带该dash服务端生成的第二随机数;

所述根据该第一加密算法对与该mpd请求对应的mpd进行加密之前,所述方法还可以包括:

根据该第一随机数、该第二随机数以及该目标值,计算关于该目标mpd的目标解密密钥;

所述根据该第一加密算法对与该mpd请求对应的mpd进行加密,包括:

根据该第一加密算法以及该目标解密密钥,对与该mpd请求对应的mpd进行加密。

更进一步的,为了更好的保证该dash客户端与该dash服务器之间所传输的数据的安全性,该切片文件也可以是加密后,再进行传输的,另外,对于该切片文件的加密,该dash客户端与该dash服务器之间也是需要进行相互通信,协商与该切片文件相关的加密信息的。具体的,所述根据该第一加密算法对与该mpd请求对应的mpd进行加密之前,所述方法还可以包括:

从该至少一种加密算法中,确定自身所支持的第二加密算法;

根据该第一加密算法,对url对应的切片文件的加密信息以及与该mpd请求对应的mpd进行加密,以形成目标mpd,其中,该url对应的切片文件的加 密信息包括该第二加密算法;

在所述响应该目标url,向该dash客户端发送与该目标url相应的切片文件之前,所述方法还可以包括:

根据该第二加密算法对与该目标url相应的该切片文件进行加密,以使该dash客户端根据该目标mpd中所携带的该第二加密算法所对应解密算法,对所接收到的切片文件解密。

更进一步的,所述根据该第一加密算法对与该mpd请求对应的mpd进行加密之前,所述方法还可以包括:

确定该切片文件所对应的目标令牌token标识;

所述根据该第一加密算法对与该mpd请求对应的mpd进行加密,包括:

根据该第一加密算法对与该mpd请求对应的mpd以及该目标token标识进行加密。

可以理解的是,为了更好的确定该切片文件的准确性,减轻该dash客户端解密该切片文件时所占用的资源,该dash服务端向该dash客户端发送与该mpd请求对应的mpd的同时,还发送该切片文件所对应的目标token标识,以在解密该切片文件之前,首先校验该切片文件是否有效,即该切片文件的真实性。

相应于上述方法实施例,如图3所示,本发明实施例所提供的一种数据的传输装置,可以应用于动态自适应流媒体dash客户端,其中,所述dash客户端与dash服务端连接,所述装置可以包括:安全传输层协议tls连接请求发送模块301、媒体表示描述mpd请求发送模块302、目标mpd接收模块303、目标mpd解密模块304、目标统一资源定位符url选择模块305和切片文件请求模块306;

所述tls连接请求发送模块301:用于向所述动态自适应流媒体dash服务端发送携带有预设扩展字段的安全传输层协议tls连接请求,以使所述dash服务端从所述tls连接请求所携带的预设扩展字段中选择自身所支持的第一加密算法,向所述dash客户端发送携带有所述第一加密算法的tls连接回复,以与所述dash建立tls连接,其中,所述预设扩展字段中包含所述dash客户端所支持的至少一种加密算法;

所述mpd请求发送模块302:用于向所述dash服务端发送媒体表示描述 mpd请求,以使所述dash服务端根据所述第一加密算法对与所述mpd请求对应的mpd进行加密,并将加密后所形成的目标mpd反馈给所述dash客户端;

所述目标mpd接收模块303:用于接收所述dash服务端反馈的所述目标mpd;

所述目标mpd解密模块304:用于根据所述第一加密算法所对应解密算法,对所述目标mpd解密;

所述目标url选择模块305:用于从解密结果所包括的统一资源定位符url中选择待利用的目标url;

所述切片文件请求模块306:用于依据所述目标url向所述dash服务端请求相应的切片文件。

应用本发明实施例,dash客户端向dash服务端发送携带有预设扩展字段的tls连接请求,以使该dash服务端从该tls连接请求所携带的预设扩展字段中选择自身所支持的第一加密算法,向该dash客户端发送携带有该第一加密算法的tls连接回复,以与该dash客户端建立tls连接,其中,该预设扩展字段中包含该dash客户端所支持的至少一种加密算法;向该dash服务端发送mpd请求,以使该dash服务端根据该第一加密算法对与该mpd请求对应的mpd进行加密,并将加密后所形成的目标mpd反馈给该dash客户端;接收该dash服务端反馈的该目标mpd;根据该第一加密算法所对应解密算法,对该目标mpd解密;从解密结果所包括的统一资源定位符url中选择待利用的目标url;依据该目标url向该dash服务端请求相应的切片文件。通过对目标mpd进行加密的方式,以避免该目标mpd内的数据被窃取,提高在dash系统中所传输的数据的安全性。

具体的,所述预设扩展字段中还携带关于所述目标mpd的校验码crc的目标值的计算方式;

所述tls连接回复中还携带有所述目标mpd的crc的所述目标值,其中,所述目标mpd的crc的所述目标值为:所述dash服务端根据所述预设扩展字段所携带的所述计算方式计算得到的值;

所述装置还可以包括目标mpd判断模块:

所述目标mpd判断模块:用于在所述根据所述第一加密算法所对应解密算法,对所述目标mpd解密之前,根据所述目标mpd的crc的所述目标值,判断所述目标mpd是否有效,当判断为有效时,触发所述目标mpd解密模块304。

具体的,所述目标mpd判断模块包括标准值计算单元与判断单元;

所述标准值计算单元:用于根据所述预设扩展字段所携带的计算方式,计算所述目标mpd的crc的标准值;

所述判断单元:用于判断所述标准值是否与所述目标值相同;

如果相同,表明所述目标mpd有效;

如果不相同,表明所述目标mpd无效。

具体的,所述预设扩展字段所携带的计算方式包括:

当关于所述目标mpd的crc的长度大于或者等于第一预定数值时,选取所述crc的第一预定数值个字节进行计算,确定所述目标mpd的crc的所述目标值;

当关于所述目标mpd的crc的长度小于第一预定数值时,对所述crc的所有字节进行整体计算,确定所述目标mpd的crc的所述目标值。

具体的,所述tls连接请求中还携带所述dash客户端生成的第一随机数,所述tls连接回复中还携带所述dash服务端生成的第二随机数;

所述装置还包括第一目标解密密钥计算模块:

所述第一目标解密密钥计算模块:用于在所述向所述dash服务端发送媒体表示描述mpd请求之前,根据所述第一随机数、所述第二随机数以及所述目标值,计算关于所述目标mpd的目标解密密钥;

所述目标mpd解密模块304,具体用于:

利用所述目标解密密钥以及所述第一加密算法所对应的所述解密算法,对所述目标mpd解密。

具体的,所述目标mpd中携带关于所包括url对应的切片文件的加密信息,所述加密信息包括第二加密算法,其中,所述第二加密算法为dash客户端所支 持的所述至少一种加密算法中的一种算法;

所述装置还包括切片文件接收模块、切片文件解密模块和切片文件播放模块:

所述切片文件接收模块:用于接收所述切片文件;

所述切片文件解密模块:用于根据所述第二加密算法所对应解密算法,对所述切片文件解密;

所述切片文件播放模块:用于播放所述解密后的切片文件。

具体的,所述加密信息中还包括所述切片文件对应的目标令牌token标识;

所述装置还包括token标识判断模块;

所述token标识判断模块:用于判断所述目标token标识是否和与所述切片文件同时所接收的token标识相同;如果是,触发所述切片文件解密模块。

相应于上述方法实施例,如图4所示,本发明实施例提供了一种数据的传输装置,可以应用于动态自适应流媒体dash服务端,其中,所述dash服务端与dash客户端连接,所述装置可以包括:安全传输层协议tls连接请求接收模块401、第一加密算法确定模块402、tls连接回复发送模块403、媒体表示描述mpd请求接收模块404、mpd加密模块405、目标mpd发送模块406和切片文件发送模块407;

所述tls连接请求接收模块401:用于接收所述dash客户端发送的携带有预设扩展字段的安全传输层协议tls连接请求,其中,所述预设扩展字段中携带所述dash客户端所支持的至少一种加密算法;

所述第一加密算法确定模块402:用于从所述至少一种加密算法中,确定自身所支持的第一加密算法;

所述tls连接回复发送模块403:用于向所述dash客户端发送携带有所述第一加密算法的tls连接回复,以与所述dash客户端建立tls连接;

所述mpd请求接收模块404:用于接收所述dash客户端发送的媒体表示描述mpd请求;

所述mpd加密模块405:用于根据所述第一加密算法对与所述mpd请求对应 的mpd进行加密;

所述目标mpd发送模块406:用于向所述dash客户端发送加密后所形成的目标mpd,以使所述dash客户端在根据所述第一加密算法所对应解密算法,对所述目标mpd解密后,从解密结果所包括的统一资源定位符url中选择待利用的目标url,依据所述目标url向所述dash服务端请求相应的切片文件;

所述切片文件发送模块407:用于响应所述目标url,向所述dash客户端发送与所述目标url相应的切片文件。

应用本发明实施例,该dash服务端根据与该dash客户端协商好的第一加密算法,对该目标mpd进行加密传输,可以避免该目标mpd被窃取,导致该目标mpd所对应的数据被窃取,可以提高dash系统中所传输的数据的安全性。

具体的,所述预设扩展字段中还携带关于所述目标mpd的校验码crc的目标值的计算方式;

所述装置还包括目标值计算模块;

所述目标值计算模块:用于所述向所述dash客户端发送携带有所述第一加密算法的tls连接回复之前,根据所述预设扩展字段所携带的所述计算方式,计算所述目标mpd的crc的目标值;

所述tls连接回复发送模块403,具体用于:

向所述dash客户端发送携带有所述第一加密算法以及所述目标mpd的crc的目标值的tls连接回复。

具体的,所述tls连接请求中还携带所述dash客户端生成的第一随机数,所述tls连接回复中还携带所述dash服务端生成的第二随机数;

所述装置还包括第二目标解密密钥计算模块;

所述第二目标解密密钥计算模块:用于所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密之前,根据所述第一随机数、所述第二随机数以及所述目标值,计算关于所述目标mpd的目标解密密钥;

所述mpd加密模块405,具体用于:

根据所述第一加密算法以及所述目标解密密钥,对与所述mpd请求对应的mpd进行加密。

具体的,所述装置还包括第二加密算法确定模块和切片文件加密模块;

所述第二加密算法确定模块:用于所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密之前,从所述至少一种加密算法中,确定自身所支持的第二加密算法;

所述mpd加密模块405,具体用于:

根据所述第一加密算法,对url对应的切片文件的加密信息以及与所述mpd请求对应的mpd进行加密,以形成目标mpd,其中,所述url对应的切片文件的加密信息包括所述第二加密算法;

所述切片文件加密模块:用于在所述响应所述目标url,向所述dash客户端发送与所述目标url相应的切片文件之前,根据所述第二加密算法对与所述目标url相应的所述切片文件进行加密,以使所述dash客户端根据所述目标mpd中所携带的所述第二加密算法所对应解密算法,对所接收到的切片文件解密。

具体的,所述装置还可以包括目标令牌token标识确定模块;

所述目标token标识确定模块:用于所述根据所述第一加密算法对与所述mpd请求对应的mpd进行加密之前,确定所述切片文件所对应的目标token标识;

所述mpd加密模块405,具体用于:

根据所述第一加密算法对与所述mpd请求对应的mpd以及所述目标token标识进行加密。

对于系统/装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含” 或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

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