CN115002089A - 流媒体传输方法、装置、电子设备及存储介质 - Google Patents

流媒体传输方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN115002089A
CN115002089A CN202210770064.4A CN202210770064A CN115002089A CN 115002089 A CN115002089 A CN 115002089A CN 202210770064 A CN202210770064 A CN 202210770064A CN 115002089 A CN115002089 A CN 115002089A
Authority
CN
China
Prior art keywords
streaming media
result
client
request
symmetric key
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.)
Granted
Application number
CN202210770064.4A
Other languages
English (en)
Other versions
CN115002089B (zh
Inventor
潘雨诗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Lanzhou Lezhi Education Technology Co ltd
Original Assignee
Lanzhou Lezhi Education Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Lanzhou Lezhi Education Technology Co ltd filed Critical Lanzhou Lezhi Education Technology Co ltd
Priority to CN202210770064.4A priority Critical patent/CN115002089B/zh
Publication of CN115002089A publication Critical patent/CN115002089A/zh
Application granted granted Critical
Publication of CN115002089B publication Critical patent/CN115002089B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请实施例涉及一种流媒体传输方法、装置、电子设备及存储介质,所述方法包括:接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。由此,可实现在鉴权操作的基础上,对流媒体进行加密,在流媒体的传输过程中更有效的保护了流媒体。

Description

流媒体传输方法、装置、电子设备及存储介质
技术领域
本申请实施例涉及计算机技术领域,尤其涉及一种流媒体传输方法、装置、电子设备及存储介质。
背景技术
在数据环境下,信息安全一直都是该领域的关注重点之一。随着科学技术的发展,产生了更多的数据格式,其中流媒体的发展非常迅速,且越来越多的领域都会用到流媒体,随之而来的是人们对流媒体传输的安全性的关注。
现有技术中,主流的流媒体传输主要有RTP(Real-time Transport Protocol,实时传输协议)、RTMP(Real Time Messaging Protocol,实时消息传输协议)、RTSP(RealTime Streaming Protocol,实时流传输协议)等开发协议,这些协议的传输主要在连接初始化过程中进行鉴权操作,但是当流媒体在网络中传输时,通过抓包的方式是可以还原流媒体的,因此在流媒体传输过程中仅通过鉴权操作并不能实现对流媒体有效的安全保护。
发明内容
鉴于此,为解决上述当流媒体在网络中传输时,通过抓包的方式是可以还原流媒体的,因此在流媒体传输过程中仅通过鉴权操作并不能实现对流媒体有效的安全保护的技术问题,本申请实施例提供一种流媒体传输方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供一种流媒体传输方法,所述方法包括:
接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;
解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;
根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;
将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。
在一个可选的实施方式中,所述接收客户端发送的播放请求,根据所述播放请求确定目标流媒体,包括:
接收客户端发送的第一请求,并响应于所述第一请求向客户端返回第一确认信息,其中,所述第一确认信息包括:所支持的客户端的请求类型;
接收客户端响应于所述第一确认信息发送的第二请求,并响应于所述第二请求向客户端返回第二确认信息;
接收客户端响应于所述第二确认信息发送的第三请求,并响应于所述第三请求向客户端返回第三确认信息;
接收客户端响应于所述第三确认信息发送的第四请求,并响应于所述第四请求确定目标流媒体;
所述解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的,包括:
解析第二请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述第二请求中的原地址进行补充而得到的。
在一个可选的实施方式中,所述补充信息包括:客户端与服务端建立通信连接的时间戳、校验结果,所述校验结果是客户端根据校验码运算规则对所述时间戳进行运算得到的结果。
在一个可选的实施方式中,所述根据所述补充信息和所述完整地址确定对称密钥,包括:
根据所述时间戳对预设的第一数值取模,得到第一结果;
根据所述校验结果对所述第一结果取模,得到第二结果;
根据所述第二结果对所述完整地址进行运算,得到对称密钥。
在一个可选的实施方式中,所述根据所述时间戳对预设的第一数值取模,得到第一结果,包括:
根据所述时间戳对预设的第一数值取模,得到目标结果;
判断所述目标结果是否为0;
若所述目标结果为0,则确定第一结果为预设的第二数值;
若所述目标结果非0,则确定第一结果为所述目标结果。
在一个可选的实施方式中,所述根据所述第二结果对所述完整地址进行运算,得到对称密钥,包括:
判断所述第二结果是否为0;
若所述第二结果为0,则通过预设加密算法对所述完整地址进行一次加密,得到第一加密结果,确定所述第一加密结果为对称密钥;
若所述第二结果非0,则通过预设加密算法对所述完整地址进行所述第二结果次加密,得到第二加密结果,确定所述第二加密结果为对称密钥。
在一个可选的实施方式中,所述响应于所述第二请求向客户端返回第二确认信息,包括:
判断所述时间戳所表示的时间与接收到所述第二请求的时间之间的时间差是否小于或等于预设的时间阈值;
和,
根据校验码运算规则对所述时间戳进行运算得到目标字段,判断所述校验结果与所述目标字段是否相等;
若所述时间差小于或等于预设的时间阈值,且所述校验结果与所述目标字段相等,则响应于所述第二请求向客户端返回第二确认信息;
若所述时间差大于预设的时间阈值和/或所述校验结果与所述目标字段不相等,则断开与客户端的连接。
第二方面,本申请实施例提供一种流媒体传输装置,所述装置包括:
目标流媒体确定模块,用于接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;
补充信息解析模块,用于解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;
加密模块,用于根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;
发送模块,用于将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。
第三方面,本申请实施例提供一种电子设备,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的流媒体传输程序,以实现第一方面中任一项流媒体传输方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现第一方面中任一项流媒体传输方法。
本申请实施例提供的技术方案,接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。通过对播放请求中的原地址进行补充,根据补充信息和补充后的完整地址确定对称密钥,以此对目标流媒体进行加密,实现了对目标流媒体传输过程中的保护。
附图说明
图1为本申请实施例提供的一种流媒体传输方法的实施流程示意图;
图2为本申请实施例提供的另一种流媒体传输方法的实施流程示意图;
图3为本申请实施例提供的一种对称密钥确定方法的实施流程示意图;
图4为本申请实施例提供的一种第一结果确定方法的实施流程示意图;
图5为本申请实施例提供的另一种对称密钥确定方法的实施流程示意图;
图6为本申请实施例提供的又一种流媒体传输方法的实施流程示意图;
图7为本申请实施例提供的一种流媒体传输装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为本申请实施例提供的一种流媒体传输方法的实施流程示意图,该方法可包括以下步骤:
S101:接收客户端发送的播放请求,根据播放请求确定目标流媒体。
在本申请实施例中,接收客户端发送的播放请求,客户端可包括加入到白名单中的视频或音频网站、软件等,本申请对此不做限定。根据客户端发送的播放请求,确定客户端请求的目标流媒体,其中,目标流媒体可以包括音频、视频等,本申请对此不做限定。
S102:解析播放请求中携带的完整地址中的补充信息,其中,完整地址是针对播放请求中的原地址进行补充而得到的。
在本申请实施例中,客户端发送的播放请求中携带客户端的原地址,原地址包括客户端的ip地址或者MAC地址,在原地址后缀两个字段得到完整地址,补充信息即为在原地址后缀的两个字段,针对不同的播放请求,在其原地址后缀的两个字段不同,在此先不作详述。因此可以解析播放请求中携带的完整地址中的补充信息。
S103:根据补充信息和完整地址确定对称密钥,利用对称密钥对目标流媒体进行加密。
在本申请实施例中,根据补充信息和完整地址确定对称密钥,利用对称密钥对目标流媒体进行加密,具体的,采用AES(Advanced Encryption Standard,高级加密标准)进行加密,向AES加密函数中输入对称密钥实现对目标流媒体的加密,得到加密后的目标流媒体。
S104:将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据补充信息和完整地址确定对称密钥,利用对称密钥对加密后的目标流媒体进行解密。
在本申请实施例中,将加密后的目标流媒体传输到客户端,客户端接收到目标流媒体,根据补充信息和完整地址确定对称密钥,利用对称密钥对加密后的目标流媒体进行解密,具体的,采用AES进行解密,向AES解密函数中输入对称密钥实现对加密后的目标流媒体的解密,得到目标流媒体,以实现对目标流媒体的播放。
通过上述对本申请实施例提供的技术方案的描述,本申请中对播放请求中的原地址添加补充信息,根据补充信息和添加补充信息的完整地址确定对称密钥,根据对称密钥实现对目标流媒体的加密和解密,从而实现在目标流媒体传输时,是加密的目标流媒体,且每个目标流媒体的对称密钥根据补充信息以及播放请求中的完整地址确定,因此针对每个播放请求确定的目标流媒体的对称密钥是不同的,根据此对称密钥得到的加密的目标流媒体对于中间抓包的抵御能力增强,即便加密的目标流媒体被抓包,也无法对其进行解密。
图2为本申请实施例提供的另一种流媒体传输方法的实施流程示意图,该方法可包括以下步骤:
S201:接收客户端发送的第一请求,并响应于第一请求向客户端返回第一确认信息,其中,第一确认信息包括:所支持的客户端的请求类型。
在本申请实施例中,目标流媒体在传输过程中采用RTSP(实时流传输协议,RealTime Streaming Protocol)进行传输,客户端向服务端发送请求前与服务端建立连接,然后客户端发送第一请求,即方法为OPTIONS的RTSP消息,响应于第一请求向客户端返回第一确认信息,第一确认信息包括服务端所支持的客户端发送消息时所使用的方法及其他内容,本申请对此不做限定。
S202:接收客户端响应于第一确认信息发送的第二请求,并响应于第二请求向客户端返回第二确认信息。
在本申请实施例中,客户端接收到第一确认信息后,响应于第一确认信息发送第二请求,即方法为DESCRIBE的RTSP消息,第二请求的作用为向服务器请求会话描述信息,指明接收数据的格式信息等内容,本申请对此不做限定。服务端响应于第二请求向客户端返回第二确认信息之前,判断是否需要认证,如果不需要认证,则直接响应于第二请求向客户端返回第二确认信息;如果需要认证,向客户端返回需要验证的信息,等待用户发送带有验证信息的第二请求,接收到带有验证信息的第二请求后响应于第二请求向客户端返回第二确认信息,第二确认信息包括SDP(Session Description Protocol,会话描述协议)及其他内容,本申请对此不做限定。其中SDP作用为在媒体会话中,传递媒体流信息,允许会话描述的接收者去参与会话,定义了会话描述的统一格式。
S203:接收客户端响应于第二确认信息发送的第三请求,并响应于第三请求向客户端返回第三确认信息。
在本申请实施例中,客户端接收到第二确认信息后,响应于第二确认信息发送第三请求,即方法为SETUP的RTSP消息,第三请求的主要目的是指明流媒体的传输方式,响应于第三请求向客户端发送第三确认信息,第三确认信息包括对于第三请求的确认信息等,本申请对此不做限定。
S204:接收客户端响应于第三确认信息发送的第四请求,并响应于第四请求确定目标流媒体。
在本申请实施例中,客户端接收到第三确认信息后,响应于第三确认信息发送第四请求,即方法为PLAY的RTSP消息,第四请求中包括客户端要求播放的流媒体的播放区间以及其他内容,本申请对此不做限定。基于RFC 2326处理第四请求,确定客户端请求的目标流媒体。
S205:解析第二请求中携带的完整地址中的补充信息,其中,完整地址是针对第二请求中的原地址进行补充而得到的,补充信息包括:客户端与服务端建立通信连接的时间戳、校验结果,校验结果是客户端根据校验码运算规则对时间戳进行运算得到的结果。
在本申请实施例中,在S202中客户端接收到第一确认信息后,响应于第一确认信息发送第二请求之前,对第二请求中的原地址添加补充信息,即在原地址后缀两个字段,两个字段包括:客户端与服务端建立通信连接的时间戳、校验结果。其中,校验结果是客户端根据校验码运算规则对时间戳进行运算得到的结果。校验码运算规则可以是CRC32运算规则,本申请对此不做限定。例如,时间戳为1656482962,校验码运算规则为CRC32时,校验结果为1111001110110110101100101。
在本申请实施例中,接收到第二请求之后,即解析第二请求中携带的完整地址中的补充信息,判断补充信息是否有效,若有效则继续执行以下步骤,若无效则断开服务端与客户端之间的连接,结束本次会话。需要说明的是,得到补充信息后,根据补充信息和完整地址确定对称密钥的步骤可在发送目标流媒体之前的任意时刻进行,保证目标流媒体在预设的时间内发送,避免造成太大的延迟。
S206:根据补充信息和完整地址确定对称密钥,利用对称密钥对目标流媒体进行加密。
S207:将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据补充信息和完整地址确定对称密钥,利用对称密钥对加密后的目标流媒体进行解密。
在本申请实施例中,对于S206和S207的详细介绍在S103和S104中已经给出,在此不再赘述。
通过上述对本申请实施例提供的技术方案的描述,本申请传输流媒体过程中利用现有协议进行传输,在连接初始化过程中进行鉴权操作,保证了流媒体传输时的安全性,且在第二次请求时向原地址中添加两个字段,根据两个字段以及添加两个字段后的完整地址确定对称密钥,利用对流媒体进行加密和解密。本申请在鉴权操作的基础上,对目标流媒体进行加密,在目标流媒体的传输过程中实现了双重保护。
根据图1所描述方法的在确定目标流媒体,对目标流媒体进行传输前需要确定对称密钥,利用对称密钥对目标流媒体进行加密,在客户端接收到加密后的目标流媒体后也需要确定对称密钥,对加密后的流媒体进行解密。图3为本申请实施例提供的一种对称密钥确定方法的实施流程示意图,该方法可包括以下步骤:
S301:根据时间戳对预设的第一数值取模,得到第一结果。
S302:根据校验结果对第一结果取模,得到第二结果。
S303:根据第二结果对完整地址进行运算,得到对称密钥。
以下对S301至S303进行统一说明:
在本申请实施例中,对第二请求中携带的时间戳进行模运算,例如,时间戳由timestamp表示,预设的第一数值取模设置为256,则计算:timestamp模256,即timestamp除以256取余数,得到的余数记为第一结果。对第二请求中携带的校验结果进行模运算,例如,校验结果由token表示,则计算:token模(第一结果),即token除以第一结果取余数,得到的余数记为第二结果,对完整地址进行第二结果次加密计算,将加密计算的结果作为对称密钥。
通过上述对本申请实施例提供的技术方案的描述,本申请中确定对称密钥时使用客户端与服务端建立连接的时间戳,以及根据时间戳计算得到的校验结果、第二请求中携带的完整地址确定对称密钥,对于每个请求的请求中携带的完整地址是不同的,建立连接的时间戳相同的概率也是极小的,因此确定的对称密钥与请求是一一对应的,实现了对目标流媒体传输过程中的保护。
图4为本申请实施例提供的一种第一结果确定方法的实施流程示意图,该方法可包括以下步骤:
S401:根据时间戳对预设的第一数值取模,得到目标结果。
S402:判断目标结果是否为0,若目标结果为0,则执行S403;若目标结果非0,则执行S404。
S403:确定第一结果为预设的第二数值。
S404:确定第一结果为目标结果。
以下对S401至S404进行统一说明:
在本申请实施例中,对第二请求中携带的时间戳进行模运算得到的结果可能为0,即对时间戳除以预设的第一数值取余数时,余数为0的情况,而第一结果在S302中要作为除数,因此当结果为0时,将第一结果置为预设的第二数值,其中预设的第二数值可以为任意正整数,例如,预设的第二数值为1、2、3等,本申请对此不做限定。结果不为0时,则确定第一结果为对第二请求中携带的时间戳进行模运算得到的结果。
图5为本申请实施例提供的另一种对称密钥确定方法的实施流程示意图,该方法可包括以下步骤:
S501:根据时间戳对预设的第一数值取模,得到第一结果。
S502:根据校验结果对第一结果取模,得到第二结果。
在本申请实施例中,对于S501和S502的详细介绍在S301和S302中已经给出,在此不再赘述。
S503:判断第二结果是否为0,若第二结果为0,则执行S504;若第二结果非0,则执行S505。
S504:通过预设加密算法对完整地址进行一次加密,得到第一加密结果,确定第一加密结果为对称密钥。
S505:通过预设加密算法对完整地址进行第二结果次加密,得到第二加密结果,确定第二加密结果为对称密钥。
以下对S503至S505进行统一说明:
在本申请实施例中,判断第二结果是否为0,若第二结果为0,通过预设的加密算法对完整地址进行一次加密,得到的第一加密结果记为对称密钥,若第二结果不为0,则进行第二结果次加密,得到的第二加密结果记为对称密钥。具体的,加密算法可以采用MD5加密算法等,本申请对此不做限定。
例如,加密算法采用MD5加密算法,第二结果为0,进行一次MD5迭代计算;第二结果不为0,第二结果的数值为几,即进行几次MD5迭代计算。例如第二结果为5,则进行5次MD5迭代计算。将进行加密计算后得到的结果作为对称密钥,当加密算法采用MD5加密算法时,得到的结果为一个128位的二进制数,即将该二进制数作为对称密钥。
通过上述对本申请实施例提供的技术方案的描述,本申请判断了第一结果是否为0的情况,避免了第二结果进行模运算时出现错误的情况,判断了第二结果是否为0的情况,避免了第二结果为0时不对第二结果进行加密的情况,提升了加密流程的严谨性,以达到对目标流媒体传输过程中更好的保护。
图6为本申请实施例提供的又一种流媒体传输方法的实施流程示意图,该方法可包括以下步骤:
S601:接收客户端发送的第一请求,并响应于第一请求向客户端返回第一确认信息,其中,第一确认信息包括:所支持的客户端的请求类型。
在本申请实施例中,对于S601的详细介绍在S201中已经给出,在此不再赘述。
S602:接收客户端响应于第一确认信息发送的第二请求,解析第二请求中携带的完整地址中的补充信息,其中,完整地址是针对第二请求中的原地址进行补充而得到的,补充信息包括:客户端与服务端建立通信连接的时间戳、校验结果,校验结果是客户端根据校验码运算规则对时间戳进行运算得到的结果。
在本申请实施例中,对于S602的详细介绍在S205中已经给出,在此不再赘述。
S603:判断时间戳所表示的时间与接收到第二请求的时间之间的时间差是否小于或等于预设的时间阈值;和,根据校验码运算规则对时间戳进行运算得到目标字段,判断校验结果与目标字段是否相等,若时间差大于预设的时间阈值和/或校验结果与目标字段不相等,则执行S604;若时间差小于或等于预设的时间阈值,且校验结果与目标字段相等,则执行S605。
S604:断开与客户端的连接。
S605:响应于第二请求向客户端返回第二确认信息。
以下对S603至S605进行统一说明:
在本申请实施例中,在接收到第二请求后,即解析第二请求中携带的完整地址中的补充信息,对补充信息进行验证,判断补充信息是否有效,具体的,要同时或依次判断补充信息中的时间戳和校验结果是否均有效,只有两者均有效时,才会向客户端返回响应于第二请求的第二确认信息,第二确认信息包括200OK信息以及按RFC 2326返回的其他字段信息,其他字段包括SDP、TRANSPORT等,本申请对此不做限定。若两者其中之一无效,则断开与客户端的连接。
在本申请实施例中,对时间戳是否有效进行判断时,判断时间戳所表示的时间与接收到第二请求的时间之间的时间差是否小于或等于预设的时间阈值。例如,预设的时间阈值为一分钟,则客户端第二请求中所携带的时间戳为1656469494,表示的时间为2022-06-29 10:24:54,若接收到第二请求的时间为2022-06-29 10:25:00,则时间差为6秒,小于预设的时间阈值,则时间戳有效;而当接收到第二请求的时间为2022-06-29 10:35:54,则时间差为11分钟,大于预设的时间阈值,则时间戳无效。
在本申请实施例中,对校验结果是否有效进行判断时,首先根据与客户端相同的校验码运算规则对时间戳进行运算的到目标字段,判断校验结果与目标字段是否相等。例如,校验码运算规则采用CRC32运算,时间戳为1656469494,校验结果为1111111101010111111010101100,若服务端计算得到的目标字段也为1111111101010111111010101100,两者相等,则校验结果有效;若服务端计算得到的目标字段为1111111101010111111010101101,两者不相等,则校验结果无效。
S606:接收客户端响应于第二确认信息发送的第三请求,并响应于第三请求向客户端返回第三确认信息。
S607:接收客户端响应于第三确认信息发送的第四请求,并响应于第四请求确定目标流媒体。
S608:根据补充信息和完整地址确定对称密钥,利用对称密钥对目标流媒体进行加密。
S609:将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据补充信息和完整地址确定对称密钥,利用对称密钥对加密后的目标流媒体进行解密。
在本申请实施例中,对于S606至S609的详细介绍在S203、S204、S206、S207中已经给出,在此不再赘述。
需要说明的是,在S608中确定对称密钥的步骤在S602解析第二请求中携带的完整地址中的补充信息后即可进行执行,保证对称密钥在对目标流媒体进行加密之前确定,避免造成太大的延迟。
通过上述对本申请实施例提供的技术方案的描述,本申请在接收到第二请求后,对第二请求中原地址后缀的两个字段进行判断,当两个字段均有效时才可继续执行以下步骤,当有一个字段无效时即断开连接,结束与客户端的会话,即客户端本次的播放请求失败。通过对客户端的请求时间以及校验结果进行验证,避免了在请求发送过程中出现被抓包,将请求信息泄露或是修改的情况,使请求过程更加完善,保密性能更好,防御效果增强。
图7为本申请实施例提供的一种流媒体传输装置的结构示意图,该装置包括:目标流媒体确定模块701、补充信息解析模块702、加密模块703和发送模块704。
目标流媒体确定模块701,用于接收客户端发送的播放请求,根据所述播放请求确定目标流媒体。
补充信息解析模块702,用于解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的。
加密模块703,用于根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密。
发送模块704,用于将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。
在一个可选的实施方式中,所目标流媒体确定模块701包括:
第一响应子模块,用于接收客户端发送的第一请求,并响应于所述第一请求向客户端返回第一确认信息,其中,所述第一确认信息包括:所支持的客户端的请求类型;
第二响应子模块,用于接收客户端响应于所述第一确认信息发送的第二请求,并响应于所述第二请求向客户端返回第二确认信息;
第三响应子模块,用于接收客户端响应于所述第二确认信息发送的第三请求,并响应于所述第三请求向客户端返回第三确认信息;
第四响应子模块,用于接收客户端响应于所述第三确认信息发送的第四请求,并响应于所述第四请求确定目标流媒体。
在一个可选的实施方式中,所述补充信息解析模块702具体用于:
解析第二请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述第二请求中的原地址进行补充而得到的。
在一个可选的实施方式中,所述加密模块703包括:
第一结果确定子模块,用于根据所述时间戳对预设的第一数值取模,得到第一结果;
第二结果确定子模块,用于根据所述校验结果对所述第一结果取模,得到第二结果;
对称密钥确定子模块,用于根据所述第二结果对所述完整地址进行运算,得到对称密钥。
在一个可选的实施方式中,所述第一结果确定子模块具体用于:
根据所述时间戳对预设的第一数值取模,得到目标结果;
判断所述目标结果是否为0;
若所述目标结果为0,则确定第一结果为预设的第二数值;
若所述目标结果非0,则确定第一结果为所述目标结果。
在一个可选的实施方式中,所述对称密钥确定子模块具体用于:
判断所述第二结果是否为0;
若所述第二结果为0,则通过预设加密算法对所述完整地址进行一次加密,得到第一加密结果,确定所述第一加密结果为对称密钥;
若所述第二结果非0,则通过预设加密算法对所述完整地址进行所述第二结果次加密,得到第二加密结果,确定所述第二加密结果为对称密钥。
在一个可选的实施方式中,所述第二响应子模块具体用于:
判断所述时间戳所表示的时间与接收到所述第二请求的时间之间的时间差是否小于或等于预设的时间阈值;
和,
根据校验码运算规则对所述时间戳进行运算得到目标字段,判断所述校验结果与所述目标字段是否相等;
若所述时间差小于或等于预设的时间阈值,且所述校验结果与所述目标字段相等,则响应于所述第二请求向客户端返回第二确认信息;
若所述时间差大于预设的时间阈值和/或所述校验结果与所述目标字段不相等,则断开与客户端的连接。
图8为本申请实施例提供的一种电子设备的结构示意图,图8所示的电子设备800包括:至少一个处理器801、存储器802、至少一个网络接口804和用户接口803。电子设备800中的各个组件通过总线系统805耦合在一起。可理解,总线系统805用于实现这些组件之间的连接通信。总线系统805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了说明的清楚起见,在图8中将各种总线都标为总线系统805。
其中,用户接口803可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball))、触感板或者触摸屏等。
可以理解,本申请实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器802存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统8021和应用程序8022。
其中,操作系统8021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序8022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本申请实施例方法的程序可以包含在应用程序8022中。
在本申请实施例中,通过调用存储器802存储的程序或指令,具体的,可以是应用程序8022中存储的程序或指令,处理器801用于执行各方法实施例所提供的方法步骤,例如包括:
接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。
上述本申请实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的电子设备可以是如图8中所示的电子设备,可执行如图1~6中流媒体传输方法的所有步骤,进而实现图1~6中流媒体传输方法的技术效果,具体请参照图1~6相关描述,为简洁描述,在此不作赘述。
本申请实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在电子设备侧执行的流媒体传输方法。
处理器用于执行存储器中存储的流媒体传输程序,以实现以下在电子设备侧执行的流媒体传输方法的步骤:
接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种流媒体传输方法,其特征在于,所述方法包括:
接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;
解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;
根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;
将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。
2.根据权利要求1所述的方法,其特征在于,所述接收客户端发送的播放请求,根据所述播放请求确定目标流媒体,包括:
接收客户端发送的第一请求,并响应于所述第一请求向客户端返回第一确认信息,其中,所述第一确认信息包括:所支持的客户端的请求类型;
接收客户端响应于所述第一确认信息发送的第二请求,并响应于所述第二请求向客户端返回第二确认信息;
接收客户端响应于所述第二确认信息发送的第三请求,并响应于所述第三请求向客户端返回第三确认信息;
接收客户端响应于所述第三确认信息发送的第四请求,并响应于所述第四请求确定目标流媒体;
所述解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的,包括:
解析第二请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述第二请求中的原地址进行补充而得到的。
3.根据权利要求2所述的方法,其特征在于,所述补充信息包括:客户端与服务端建立通信连接的时间戳、校验结果,所述校验结果是客户端根据校验码运算规则对所述时间戳进行运算得到的结果。
4.根据权利要求3所述的方法,其特征在于,所述根据所述补充信息和所述完整地址确定对称密钥,包括:
根据所述时间戳对预设的第一数值取模,得到第一结果;
根据所述校验结果对所述第一结果取模,得到第二结果;
根据所述第二结果对所述完整地址进行运算,得到对称密钥。
5.根据权利要求4所述的方法,其特征在于,所述根据所述时间戳对预设的第一数值取模,得到第一结果,包括:
根据所述时间戳对预设的第一数值取模,得到目标结果;
判断所述目标结果是否为0;
若所述目标结果为0,则确定第一结果为预设的第二数值;
若所述目标结果非0,则确定第一结果为所述目标结果。
6.根据权利要求4所述的方法,其特征在于,所述根据所述第二结果对所述完整地址进行运算,得到对称密钥,包括:
判断所述第二结果是否为0;
若所述第二结果为0,则通过预设加密算法对所述完整地址进行一次加密,得到第一加密结果,确定所述第一加密结果为对称密钥;
若所述第二结果非0,则通过预设加密算法对所述完整地址进行所述第二结果次加密,得到第二加密结果,确定所述第二加密结果为对称密钥。
7.根据权利要求3所述的方法,其特征在于,所述响应于所述第二请求向客户端返回第二确认信息,包括:
判断所述时间戳所表示的时间与接收到所述第二请求的时间之间的时间差是否小于或等于预设的时间阈值;
和,
根据校验码运算规则对所述时间戳进行运算得到目标字段,判断所述校验结果与所述目标字段是否相等;
若所述时间差小于或等于预设的时间阈值,且所述校验结果与所述目标字段相等,则响应于所述第二请求向客户端返回第二确认信息;
若所述时间差大于预设的时间阈值和/或所述校验结果与所述目标字段不相等,则断开与客户端的连接。
8.一种流媒体传输装置,其特征在于,所述装置包括:
目标流媒体确定模块,用于接收客户端发送的播放请求,根据所述播放请求确定目标流媒体;
补充信息解析模块,用于解析所述播放请求中携带的完整地址中的补充信息,其中,所述完整地址是针对所述播放请求中的原地址进行补充而得到的;
加密模块,用于根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述目标流媒体进行加密;
发送模块,用于将加密后的目标流媒体传输至客户端,以使客户端接收到加密后的目标流媒体,根据所述补充信息和所述完整地址确定对称密钥,利用所述对称密钥对所述加密后的目标流媒体进行解密。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述处理器用于执行所述存储器中存储的流媒体传输程序,以实现权利要求1~7中任一项流媒体传输方法。
10.一种存储介质,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现权利要求1~7中任一项流媒体传输方法。
CN202210770064.4A 2022-06-30 2022-06-30 流媒体传输方法、装置、电子设备及存储介质 Active CN115002089B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210770064.4A CN115002089B (zh) 2022-06-30 2022-06-30 流媒体传输方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210770064.4A CN115002089B (zh) 2022-06-30 2022-06-30 流媒体传输方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN115002089A true CN115002089A (zh) 2022-09-02
CN115002089B CN115002089B (zh) 2023-09-19

Family

ID=83019130

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210770064.4A Active CN115002089B (zh) 2022-06-30 2022-06-30 流媒体传输方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN115002089B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162226A (zh) * 2016-08-31 2016-11-23 珠海迈科智能科技股份有限公司 一种ts流的传输方法及系统
CN108769067A (zh) * 2018-06-28 2018-11-06 武汉斗鱼网络科技有限公司 一种鉴权校验方法、装置、设备和介质
CN109275030A (zh) * 2018-12-03 2019-01-25 南京森林警察学院 基于hls技术的web端密钥混淆错序视频加密方法
CN110011950A (zh) * 2018-01-04 2019-07-12 武汉斗鱼网络科技有限公司 一种视频流地址的鉴权方法及装置
WO2021120831A1 (zh) * 2019-12-20 2021-06-24 北京云享智胜科技有限公司 流媒体数据加密、解密方法、装置、电子设备及存储介质
CN113365097A (zh) * 2021-08-10 2021-09-07 北京达佳互联信息技术有限公司 直播信息流处理方法、装置、系统、电子设备及存储介质
CN113364587A (zh) * 2021-06-29 2021-09-07 中国电信股份有限公司 流媒体数据的处理系统、方法、装置、介质与设备
CN114501069A (zh) * 2020-11-13 2022-05-13 北京新氧科技有限公司 基于hls的多媒体播放方法、系统、设备及存储介质

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106162226A (zh) * 2016-08-31 2016-11-23 珠海迈科智能科技股份有限公司 一种ts流的传输方法及系统
CN110011950A (zh) * 2018-01-04 2019-07-12 武汉斗鱼网络科技有限公司 一种视频流地址的鉴权方法及装置
CN108769067A (zh) * 2018-06-28 2018-11-06 武汉斗鱼网络科技有限公司 一种鉴权校验方法、装置、设备和介质
CN109275030A (zh) * 2018-12-03 2019-01-25 南京森林警察学院 基于hls技术的web端密钥混淆错序视频加密方法
WO2021120831A1 (zh) * 2019-12-20 2021-06-24 北京云享智胜科技有限公司 流媒体数据加密、解密方法、装置、电子设备及存储介质
CN114501069A (zh) * 2020-11-13 2022-05-13 北京新氧科技有限公司 基于hls的多媒体播放方法、系统、设备及存储介质
CN113364587A (zh) * 2021-06-29 2021-09-07 中国电信股份有限公司 流媒体数据的处理系统、方法、装置、介质与设备
CN113365097A (zh) * 2021-08-10 2021-09-07 北京达佳互联信息技术有限公司 直播信息流处理方法、装置、系统、电子设备及存储介质

Also Published As

Publication number Publication date
CN115002089B (zh) 2023-09-19

Similar Documents

Publication Publication Date Title
US8775810B1 (en) Self-validating authentication token
US7917946B2 (en) Method and network for securely delivering streaming data
US8243924B2 (en) Progressive download or streaming of digital media securely through a localized container and communication protocol proxy
KR100747755B1 (ko) 데이터 스트림을 가상 스마트 카드 클라이언트 시스템에암호화하는 절차 및 스트리밍 서버
EP2605168B1 (en) System and method for preventing the unauthorized playback of content
US11432039B2 (en) Systems and methods for data processing, storage, and retrieval from a server
US20050005114A1 (en) Ticket-based secure time delivery in digital networks
CN1950777A (zh) 内容流的完整性保护
JP5524176B2 (ja) Ipベースの電話環境における公開鍵インフラストラクチャ(pki)を使用した認証およびアイデンティティ管理のための方法および装置
CN109981680B (zh) 一种访问控制实现方法、装置、计算机设备及存储介质
US20170171166A1 (en) Anti-hotlinking method and electronic device
MX2008003128A (es) Metodo y aparato para proporcionar un motor de administracion de derechos digitales.
CN112689014B (zh) 一种双全工通信方法、装置、计算机设备和存储介质
CN111835774A (zh) 数据处理方法、装置、设备及存储介质
US8006249B2 (en) Method of implementing a state tracking mechanism in a communications session between a server and a client system
CN113852681A (zh) 一种网关认证方法、装置及安全网关设备
CN115002089B (zh) 流媒体传输方法、装置、电子设备及存储介质
CN110912941A (zh) 组播数据的传输处理方法及装置
CN114205674B (zh) 视频数据处理方法、装置、电子设备和存储介质
US20180316497A1 (en) Security apparatus and control method
EP2713576B1 (en) Method and device for processing streaming media content
CN116248343A (zh) 一种用于客户端的注册及登录方法及系统
CN112738560A (zh) 一种视频数据传输方法、接收方法、服务端以及客户端
KR20170008514A (ko) 암호화된 컨텐츠의 복호화 키를 안전하게 획득하여 컨텐츠를 재생하기 위한 방법 및 시스템
US20240097903A1 (en) Ipcon mcdata session establishment method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant