CN114501069B - 基于hls的多媒体播放方法、系统、设备及存储介质 - Google Patents
基于hls的多媒体播放方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN114501069B CN114501069B CN202011269648.0A CN202011269648A CN114501069B CN 114501069 B CN114501069 B CN 114501069B CN 202011269648 A CN202011269648 A CN 202011269648A CN 114501069 B CN114501069 B CN 114501069B
- Authority
- CN
- China
- Prior art keywords
- key
- multimedia
- terminal
- unique identifier
- preset
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 238000013507 mapping Methods 0.000 claims description 29
- 230000008569 process Effects 0.000 claims description 16
- 238000003780 insertion Methods 0.000 claims description 14
- 230000037431 insertion Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 10
- 230000005540 biological transmission Effects 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 7
- 230000011218 segmentation Effects 0.000 description 7
- 230000008901 benefit Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 5
- 238000013478 data encryption standard Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- PCTMTFRHKVHKIS-BMFZQQSSSA-N (1s,3r,4e,6e,8e,10e,12e,14e,16e,18s,19r,20r,21s,25r,27r,30r,31r,33s,35r,37s,38r)-3-[(2r,3s,4s,5s,6r)-4-amino-3,5-dihydroxy-6-methyloxan-2-yl]oxy-19,25,27,30,31,33,35,37-octahydroxy-18,20,21-trimethyl-23-oxo-22,39-dioxabicyclo[33.3.1]nonatriaconta-4,6,8,10 Chemical compound C1C=C2C[C@@H](OS(O)(=O)=O)CC[C@]2(C)[C@@H]2[C@@H]1[C@@H]1CC[C@H]([C@H](C)CCCC(C)C)[C@@]1(C)CC2.O[C@H]1[C@@H](N)[C@H](O)[C@@H](C)O[C@H]1O[C@H]1/C=C/C=C/C=C/C=C/C=C/C=C/C=C/[C@H](C)[C@@H](O)[C@@H](C)[C@H](C)OC(=O)C[C@H](O)C[C@H](O)CC[C@@H](O)[C@H](O)C[C@H](O)C[C@](O)(C[C@H](O)[C@H]2C(O)=O)O[C@H]2C1 PCTMTFRHKVHKIS-BMFZQQSSSA-N 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005336 cracking Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Multimedia (AREA)
- Storage Device Security (AREA)
Abstract
本申请提出一种基于HLS的多媒体播放方法、系统、设备及存储介质,该方法包括:多媒体服务器接收终端发送的密钥获取请求,密钥获取请求包括唯一标识和多媒体文件的访问地址;根据唯一标识和访问地址,获取用于对多媒体文件加解密的第一密钥;根据唯一标识和第一密钥,生成动态密钥;发送动态密钥给终端,以使终端的播放器对多媒体文件进行解密播放。本申请中终端每次请求获取密钥,多媒体服务器都临时生成动态密钥给终端,确保了真正的密钥在传输过程中的安全性,多媒体文件及其密钥的安全性都很高。且终端通过只能在客户端内部访问的本地代理服务器获取多媒体文件及密钥,不通过本地代理服务器无法播放多媒体文件,提升了多媒体文件的安全性。
Description
技术领域
本申请属于音视频安全技术领域,具体涉及一种基于HLS的多媒体播放方法、系统、设备及存储介质。
背景技术
目前对多媒体数字版权的保护需求越来越高,为了防止多媒体文件被恶意、非法的复制拷贝,保障多媒体文件发行方的权益,对多媒体文件加密是一种重要的保护手段。
相关技术中的HLS(HTTP Live Streaming,基于HTTP的流媒体网络传输协议)协议里提供了AES-128(Advanced Encryption Standard,高级加密标准)音视频码流数据加密方法,预先设置AES-128的密钥,将多媒体文件分片成一个个切片文件,使用预置的密钥对切片加密,生成m3u8文件。m3u8文件中包含加密后的切片和切片密钥的URL(uniformresource locator,统一资源定位符)地址。将m3u8文件发布到服务器中,服务器下发m3u8文件的访问地址。终端根据该访问地址下载并解析m3u8文件,下载切片文件和切片对应的密钥,即可对切片文件进行解密并播放。
但服务器下发m3u8文件的访问地址后,通过获取该访问地址的内容,依据HLS协议仍然可以获得多媒体文件,且相关技术用预置的固定密钥解密,导致多媒体文件的安全性较差。
发明内容
本申请提出一种基于HLS的多媒体播放方法、系统、设备及存储介质,终端每次请求获取密钥,多媒体服务器都临时生成动态密钥给终端,确保了真正的密钥在传输过程中的安全性,多媒体文件及其密钥的安全性都很高。且终端通过只能在客户端内部访问的本地代理服务器获取多媒体文件及密钥,不通过本地代理服务器无法播放多媒体文件,提升了多媒体文件的安全性。
本申请第一方面实施例提出了一种基于HLS的多媒体播放方法,应用于多媒体服务器,包括:
接收终端发送的密钥获取请求,所述密钥获取请求包括所述终端的唯一标识和多媒体文件的访问地址;
根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥;
根据所述唯一标识和所述第一密钥,生成动态密钥;
发送所述动态密钥给所述终端,以使所述终端根据所述动态密钥解密并播放所述多媒体文件。
在本申请的一些实施例中,所述接收终端发送的密钥获取请求之前,还包括:
接收终端发送的接口请求信息,所述接口请求信息中包括所述终端的唯一标识;
为所述终端分配第二密钥;
建立所述唯一标识与所述第二密钥的对应关系;
将所述唯一标识和所述第二密钥的对应关系存储在映射表中;
发送所述第二密钥给所述终端。
在本申请的一些实施例中,所述根据所述唯一标识和所述第一密钥,生成动态密钥,包括:
从所述映射表中,获取所述唯一标识对应的第二密钥;
按照预设拼接规则将预设约定参数和所述第二密钥拼接为第一字符串,所述预设约定参数包括当前系统时间或所述唯一标识;
根据所述第一字符串和所述第一密钥,生成动态密钥。
在本申请的一些实施例中,所述根据所述第一字符串和所述第一密钥,生成动态密钥,包括:
采用所述第一字符串通过预设加密算法对所述第一密钥进行加密,得到动态密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;采用所述第二字符串通过所述预设加密算法对所述第一密钥进行加密,得到动态密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;采用所述第二字符串通过所述预设加密算法对所述第一密钥进行加密,得到第三字符串;按照预设分割规则将所述预设约定参数分割为多个字符组合;按照预设插入顺序将所述多个字符组合插入所述第三字符串中,得到动态密钥。
在本申请的一些实施例中,所述根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥,包括:
查询所述映射表中是否包含所述终端对应的所述唯一标识;
如果所述映射表中不包含所述唯一标识,则发送请求失败信息给所述终端;
如果所述映射表中包含所述唯一标识,则需查询本地多媒体数据库中是否包含所述访问地址,以获取第一密钥。
在本申请的一些实施例中,所述根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥,还包括:
查询本地多媒体数据库中是否包含所述访问地址;
如果所述本地多媒体数据库中不包含所述访问地址,则发送请求失败信息给所述终端;
如果本地多媒体数据库中包含所述访问地址,则需查询所述映射表中是否包含所述终端对应的所述唯一标识,以获取第一密钥。
在本申请的一些实施例中,所述方法还包括:
如果所述映射表中包含所述唯一标识且所述本地多媒体数据库中包含所述访问地址,则从所述本地多媒体数据库中获取所述访问地址对应的第一密钥。
本申请第二方面的实施例提供了一种基于HLS的多媒体播放方法,应用于终端,包括:
通过本地代理服务器发送密钥获取请求给多媒体服务器,所述密钥获取请求包括所述终端的唯一标识和多媒体文件的访问地址;
接收所述多媒体服务器返回的动态密钥;
根据所述动态密钥和所述唯一标识,获取用于对所述多媒体文件进行解密的第一密钥;
将所述第一密钥和加密后的所述多媒体文件传输给所述终端的播放器,所述播放器对所述多媒体文件进行解密播放。
在本申请的一些实施例中,所述通过本地代理服务器发送密钥获取请求给多媒体服务器之前,还包括:
发送接口请求信息给多媒体服务器,所述接口请求信息中包括所述终端的唯一标识;
接收所述多媒体服务器返回的第二密钥;
存储所述第二密钥。
在本申请的一些实施例中,所述根据所述动态密钥和所述唯一标识,获取用于对所述多媒体文件进行解密的第一密钥,包括:
获取存储的所述第二密钥,以及获取预设约定参数,所述预设约定参数包括所述多媒体服务器生成所述动态密钥的过程中所使用的当前系统时间或所述唯一标识;
按照预设拼接规则将预设约定参数和所述第二密钥拼接为第一字符串;
根据所述第一字符串和所述动态密钥,获取用于对所述多媒体文件进行解密的第一密钥。
在本申请的一些实施例中,所述根据所述第一字符串和所述动态密钥,获取用于对所述多媒体文件进行解密的第一密钥,包括:
采用所述第一字符串通过预设加密算法对所述动态密钥进行解密,得到用于对所述多媒体文件进行解密的第一密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;采用所述第二字符串通过所述预设加密算法对所述动态密钥进行解密,得到用于对所述多媒体文件进行解密的第一密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;根据预设分割规则确定所述预设约定参数分割而成的多个字符组合;根据预设插入顺序从所述动态密钥中剔除所述多个字符组合,得到第三字符串;采用所述第二字符串通过所述预设加密算法对所述第三字符串进行解密,得到用于对所述多媒体文件进行解密的第一密钥。
本申请第三方面的实施例提供了一种基于HLS的多媒体播放系统,包括多媒体服务器和终端;
所述多媒体服务器,用于接收所述终端发送的密钥获取请求,所述密钥获取请求包括所述终端的唯一标识和多媒体文件的访问地址;根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥;根据所述唯一标识和所述第一密钥,生成动态密钥;发送所述动态密钥给所述终端;
所述终端,用于通过本地代理服务器发送所述密钥获取请求给所述多媒体服务器;接收所述多媒体服务器返回的所述动态密钥;根据所述动态密钥和所述唯一标识,获取所述第一密钥;将所述第一密钥和加密后的所述多媒体文件传输给所述终端的播放器,所述播放器对所述多媒体文件进行解密播放。
本申请第四方面的实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序以实现上述第一方面或第二方面所述的方法。
本申请第五方面的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行实现上述第一方面或第二方面所述的方法。
本申请实施例中提供的技术方案,至少具有如下技术效果或优点:
在本申请实施例中,由于终端每次请求获取多媒体文件的密钥,多媒体服务器都通过复杂的加密过程对多媒体文件的密钥进行加密得到动态密钥,将动态密钥发送给终端。终端再通过复杂的解密过程才能获取到多媒体文件的密钥。通过动态密钥确保多媒体文件的密钥在传输过程中的安全性,动态密钥的生成及解密过程复杂,恶意分子即便截取到动态密钥,也很难从动态密钥解密出多媒体文件的正确密钥,因此多媒体文件及其密钥的安全性都很高。而且本申请实施例中通过本地代理服务器来从多媒体服务器中获取多媒体文件的切片数据及密钥,本地代理服务器只能在客户端内部访问,不通过本地代理服务器无法获得真正的解密密钥,即便获得多媒体文件,也无法进行解密,进一步提升了多媒体文件的安全性。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变的明显,或通过本申请的实践了解到。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请一实施例所提供的一种基于HLS的多媒体播放系统的结构示意图;
图2示出了本申请一实施例所提供的为终端分配第二密钥的流程示意图;
图3示出了本申请一实施例所提供的一种基于HLS的多媒体播放方法的流程示意图;
图4示出了本申请一实施例所提供的终端获取并播放切片文件的流程示意图;
图5示出了本申请一实施例所提供的一种基于HLS的多媒体播放装置的结构示意图;
图6示出了本申请一实施例所提供的一种基于HLS的多媒体播放装置的另一结构示意图;
图7示出了本申请一实施例所提供的一种电子设备的结构示意图;
图8示出了本申请一实施例所提供的一种存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本申请的示例性实施方式。虽然附图中显示了本申请的示例性实施方式,然而应当理解,可以以各种形式实现本申请而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本申请,并且能够将本申请的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
下面结合附图来描述根据本申请实施例提出的一种基于HLS的多媒体播放方法、系统、设备及存储介质。
HLS协议的基本实现原理为将一个大的多媒体文件进行分片,将分片文件的资源路径记录于m3u8文件内。m3u8文件是指UTF-8(8-bit Unicode Transformation Format,针对Unicode的可变长度字符编码)编码格式的m3u文件。m3u是一种文件格式,是手机、平板电脑等终端的浏览器缓存视频的“专用视频格式”文件,m3u8文件记录了一个索引纯文本文件,终端可以根据m3u8文件的索引找到对应的多媒体文件的访问地址,以便对该多媒体文件进行在线播放。在本申请实施例中,多媒体文件可以为音视频文件。
相关技术中服务器采用预置的固定密钥对多媒体文件的每个分片进行加密,预置的固定密钥容易被恶意份子非法窃取,导致多媒体文件的安全性较差。而且相关技术中服务器下发m3u8文件的访问地址之后,通过该访问地址的内容,依据HLS协议能够很容易地获取到多媒体文件,进一步降低了多媒体文件的安全性。
为了提高多媒体文件的安全性,本申请实施例提供了一种基于HLS的多媒体播放方法,该方法所基于的系统架构如图1所示,该系统包括多媒体服务器和终端。其中,终端上安装有本地代理服务器和用于播放多媒体文件的客户端。本地代理服务器可以是在客户端中基于socket(套接字)机制搭建起来的,用于在客户端与多媒体服务器之间进行信息转发。本地代理服务器分别与客户端及多媒体服务器通信连接。
在本申请实施例中,多媒体服务器接收到终端发送的某个多媒体文件的密钥获取请求时,并不是直接将该多媒体文件对应的密钥发送给终端,而是根据该多媒体文件对应的密钥生成动态密钥,将该动态密钥发送给终端,从而达到对多媒体文件对应的密钥进行保护的目的,提高了多媒体文件对应的密钥的安全性,进而提高了多媒体文件的安全性。而且本申请实施例中终端是通过本地代理服务器来获取多媒体文件及其对应的密钥,未搭建本地代理服务器的终端是无法对本申请实施例中的多媒体文件进行正确解密的,也就无法播放多媒体文件,从而能够保证多媒体文件的安全性。
在多媒体服务器中,对于一个完整的数据量较大的多媒体文件,如mp4格式的音视频文件,可以将该多媒体文件按照m3u8文件的形式进行存储。具体地,多媒体服务器将该多媒体文件进行分片,得到多个切片文件,每个切片文件都是TS(Transport Stream,传输流)格式的,能够被独立解码播放。多媒体服务器通过预设的对称加密算法生成用于对该多媒体文件进行加解密的第一密钥。上述预设的对称加密算法可以为DES(Data EncryptionStandard,数据加密标准)、TDEA(Triple Data Encryption Algorithm,三重数据加密算法)等。
多媒体服务器采用第一密钥通过预设加密算法分别对每个切片文件进行加密,得到每个切片文件对应的切片密文文件。预设加密算法可以为DES算法或AES-128算法等。然后多媒体服务器将第一密钥及每个切片密文文件存储在本地多媒体数据库中,并记录第一密钥的存储地址以及每个切片密文文件的存储地址。多媒体服务器还生成该多媒体文件对应的播放列表,该播放列表中包括第一密钥的存储地址和每个切片密文文件的存储地址。将该多媒体文件、该多媒体文件的访问地址、该播放列表与第一密钥及每个切片密文文件对应存储在本地多媒体数据库中。
在本申请的另一些实施例中,多媒体服务器在存储上述第一密钥之前,还可以通过MD5(Message Digest Algorithm 5,第5代信息摘要算法)、哈希运算、DES、TDEA等算法对第一密钥进行加密,得到第一密钥对应的密钥密文,将该密钥密文与上述多媒体文件、多媒体文件的访问地址、播放列表及每个切片密文文件对应存储在本地多媒体数据库中,以提高第一密钥在多媒体服务器中存储过程中的安全性。
通过上述方式在多媒体服务器中将多媒体文件以m3u8的形式存储之后,该多媒体文件的提供方即可在网络中发布该多媒体文件,以便用户观看该多媒体文件。在本申请实施例中,当终端检测到用户打开用于播放多媒体文件的客户端时首先为用户分配第二密钥,该第二密钥用于后续终端在请求获取多媒体文件时生成多媒体文件对应的动态密钥。如图2所示,具体包括:
步骤S1:终端发送接口请求信息给多媒体服务器,该接口请求信息中包括终端的唯一标识。该唯一标识可以为终端的MAC(Media Access Control Address,硬件地址)地址、客户端的版本序列号或随机生成的用于唯一标识该终端的序列码等。步骤S2:多媒体服务器接收终端发送的该接口请求信息,为该终端分配第二密钥。多媒体服务器可以通过随机数生成器生成一个随机字符串,将该随机字符串作为分配给该终端的第二密钥。步骤S3:多媒体服务器建立终端的唯一标识与第二密钥的对应关系。步骤S4:多媒体服务器将唯一标识和第二密钥的对应关系存储在映射表中,并将该第二密钥发送给终端。步骤S5:终端接收并存储该第二密钥。
之后当用户需要播放任意m3u8格式的多媒体文件时,终端即可通过本申请实施例提供的方法来播放该多媒体文件。当用户通过终端浏览多媒体文件的发布信息,并需要观看该多媒体文件时,用户可以点击该多媒体文件的发布信息中的播放链接。终端检测到用户点击该播放链接后,终端首先创建播放器,并将本地代理服务器的地址设置到创建的播放器中。终端获取用户点击的播放链接对应的多媒体文件的访问地址,将该访问地址转换为本地代理服务器能够处理的请求地址。
具体地,通过urlencode(url编码)函数将本地代理服务器的地址拼接在该多媒体文件的访问地址中。例如,多媒体文件的访问地址为https://m3u8.soyoung.com/c46c9e199d5bf597b60f35fc09eb4076.m3u8。本地代理服务器的地址为127.0.0.1:5356。则拼接后的访问地址为http://127.0.0.1:5356/https%3a%2f%2fm3u8.soyoung.com%2fc46c9e199d5bf597b60f35fc09eb4076.m3u8。
终端通过上述方式获得拼接后的访问地址后,客户端发送多媒体获取请求给代理服务器,该多媒体获取请求包括上述拼接后的访问地址及终端的唯一标识。代理服务器接收该多媒体获取请求,从该访问地址中剔除本地代理服务器的地址,解析出多媒体文件的访问地址。根据该多媒体文件的访问地址,确定本地是否已存储有该多媒体获取请求包括的访问地址对应的m3u8文件的播放列表。如果是,则确定之前已经从多媒体服务器中获取了该多媒体获取请求对应的多媒体文件的播放列表。如果否,则发送多媒体获取请求给多媒体服务器,该多媒体请求中包括唯一标识和多媒体文件的访问地址。
多媒体服务器接收终端通过本地代理服务器发送的该多媒体获取请求,根据该多媒体获取请求包括的访问地址,从本地多媒体数据库中获取该访问地址对应的播放列表,发送该播放列表给终端。
终端通过代理服务器接收多媒体服务器返回的播放列表,终端解析该播放列表,获得该多媒体文件对应的每个切片密文文件的存储地址以及用于对每个切片进行加解密的第一密钥的存储地址。本地代理服务器存储该多媒体文件的访问地址、每个切片密文文件的存储地址及第一密钥的存储地址的对应关系。代理服务器还将获取到的每个切片密文文件的存储地址以及第一密钥的存储地址返回给播放器。
播放器获得每个切片密文文件的存储地址以及第一密钥的存储地址之后,即可通过本申请实施例提供的方法来获得多媒体文件对应的第一密钥,并通过第一密钥对多媒体文件的每个切片密文进行解密并播放。参见图3,本申请实施例提供的方法具体包括以下步骤:
步骤101:终端通过本地代理服务器发送密钥获取请求给多媒体服务器,该密钥获取请求包括终端的唯一标识和多媒体文件的访问地址。
终端中的播放器通过上述方式获得第一密钥对应的存储地址之后,通过urlencode函数将本地代理服务器的地址拼接在第一密钥对应的存储地址中。终端通过播放器发送密钥获取请求给本地代理服务器,该密钥获取请求中包括多媒体文件的访问地址、第一密钥对应的存储地址、唯一标识、系统版本信息、时间戳等。本地代理服务器接收该密钥获取请求,解析该密钥获取请求,按照预设顺序对解析出的多媒体文件的访问地址、第一密钥对应的存储地址、唯一标识、系统版本信息、时间戳等参数进行排序。然后通过预设签名算法对排序后的参数序列进行签名,得到签名字符串。将该签名字符串添加到密钥获取请求的请求头中,发送该密钥获取请求给多媒体服务器。
上述预设顺序可以为按照字符串长度由长到短或由短到长的顺序等。预设签名算法可以为MD5或哈希运算等算法。
步骤102:多媒体服务器接收终端发送的密钥获取请求,根据该密钥获取请求包括的唯一标识和访问地址,获取用于对多媒体文件进行加解密的第一密钥。
为了提高第一密钥的安全性,避免第一密钥被恶意获取,本步骤中多媒体服务器接收到密钥获取请求之后,还可以先校验该密钥获取请求中的参数是否被篡改。具体地,多媒体服务器从该密钥获取请求中提取出多媒体文件的访问地址、第一密钥对应的存储地址、唯一标识、系统版本信息、时间戳、签名字符串等参数。按照预设顺序对除签名字符串以外的其他参数进行排序,然后通过预设签名算法对排序后的参数序列进行签名,得到签名字符串。多媒体服务器所采用的该预设顺序及预设签名算法均与步骤101中本地代理服务器所采用的预设顺序和预设签名算法相同。多媒体服务器比较自己运算得到的签名字符串与该密钥获取请求中包括的签名字符串是否一致,若二者一致,则确定该密钥获取请求中的参数未被篡改,继续进行后续操作。若上述两个签名字符串不一致,则确定该密钥获取请求中的参数被篡改了,若继续进行后续操作会造成第一密钥的泄漏风险,因此不再继续后续的密钥获取操作,向终端发送请求失败信息。
若通过上述方式确定密钥获取请求中的参数未被篡改,进一步地可以通过如下方式来对该密钥获取请求中的参数进行合法性校验,包括:
多媒体服务器查询本地存储的映射表中唯一标识与第二密钥的对应关系中是否包含该密钥获取请求中的唯一标识,如果不包含,则表明发起该密钥获取请求的终端不合法,不具备获取多媒体文件及其对应密钥的权限,因此发送请求失败信息给该终端。如果映射表中包括该终端的唯一标识,则进一步查询本地多媒体数据库中是否包含该密钥获取请求中包括的多媒体文件的访问地址;如果不包含该访问地址,则表明本地多媒体数据中并未存储该多媒体文件的数据,因此发送请求失败信息给该终端。如果映射表中包含该唯一标识且本地多媒体数据库中包含该访问地址,则从本地多媒体数据库中获取该访问地址对应的第一密钥。
步骤103:多媒体服务器根据第一密钥和密钥获取请求中的唯一标识,生成动态密钥,发送该动态密钥给终端。
多媒体服务器首先从本地存储的映射表中唯一标识与第二密钥的对应关系中,获取该密钥获取请求中的唯一标识对应的第二密钥,第二密钥是终端检测到用户打开客户端时请求多媒体服务器为其分配的一个临时密钥。多媒体服务器按照预设拼接规则将预设约定参数和第二密钥拼接为第一字符串。根据第一字符串和第一密钥,生成动态密钥。
其中,预设约定参数包括当前系统时间或终端的唯一标识等。预设拼接规则可以为将预设约定参数拼接在第二密钥的开始位置、结束位置或中间第预设数目个字符的位置处。预设数目可以为2、3或5等。
在本申请实施例中,根据第一字符串和第一密钥,至少可以通过如下第一至第三种方式中的任一种方式来生成动态密钥,具体包括:
第一,采用第一字符串通过预设加密算法对第一密钥进行加密,得到动态密钥。预设加密算法可以为DES或AES-128等。
由于第一字符串是通过在为终端分配的第二密钥中添加预设约定参数得到的,因此恶意份子很难获得第一字符串,通过第一字符串对第一密钥进行加密得到动态密钥,后续将动态密钥传输给终端,如此能够提高第一密钥在传输过程中的安全性。
第二,通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;采用第二字符串通过预设加密算法对第一密钥进行加密,得到动态密钥。预设摘要算法可以为MD5或MD4等。
第一字符串是通过在为终端分配的第二密钥中添加预设约定参数得到的,又对第一字符串进行了摘要运算,利用得到的第二字符串对第一密钥进行加密得到动态密钥。由于第二字符串是经过一系列复杂操作得到的,恶意份子很难获得第二字符串,通过第二字符串对第一密钥进行加密,大大提高了第一密钥在传输过程中的安全性。
第三,通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;采用第二字符串通过预设加密算法对第一密钥进行加密,得到第三字符串;按照预设分割规则将预设约定参数分割为多个字符组合;按照预设插入顺序将多个字符组合插入第三字符串中,得到动态密钥。
上述预设分割规则可以为每预设数目个字符分割为一个字符组合,预设数目可以为1、2或3等。例如,假设预设约定参数为abcdef,预设数目为2,则可以分割为ab、cd、ef三个字符组合。或者,预设分割规则还可以规定分割而成的字符组合中第一个字符组合包括第一数目的字符,第二个字符组合包括第二数目的字符,第三个字符组合包括第三数目的字符等等。其中,第一数目、第二数目、第三数目等均可以为1、2、3等。例如,假设预设约定参数为abcdef,第一数目为1,第二数目为2,第三数目为3,则可以分割成a、bc、def三个字符组合。在预设约定参数为当前系统时间时,预设分割规则还可以规定按照年、月、日、时、分的时间组成规则来分割。例如,当前系统时间为2020.09.21 17:30,则可以分割为2020、09、21、17、30共五个字符组合。
上述预设插入顺序可以为每隔预设个数个字符插入一个字符组合。预设个数可以2、3或5等。例如,假设第三字符串为ABCDEF,字符组合为a、bc、def,预设个数为2,则最终得到的动态密钥可以为aAB bcCD defEF。或者,预设插入顺序可以为一定数目的字符组合插入第三字符串的开始位置,剩余的字符组合插入第三字符串的结束位置。例如,假设第三字符串为ABCDEF,字符组合为a、bc、def,预设个数为2,则最终得到的动态密钥可以为a bcABCD EFdef。
上述仅以示例的方式列举了预设分割规则及预设插入顺序的几种可能的情况,实际应用中可根据需求来设计预设分割规则及预设插入顺序。
在第三种方式中,通过第二字符串对第一密钥加密后,还在得到的第三字符串中插入了多个字符组合,进一步提高了得到的动态密钥的破解难度,使得第一密钥的安全性更高。
通过上述任一方式生成第一密钥对应的动态密钥后,多媒体服务器将该动态密钥返回给终端中的本地代理服务器。由于每次本地代理服务器请求获取多媒体文件的密钥,多媒体服务器都临时生成一个动态密钥,将动态密钥传输给终端。通过动态密钥的加解密过程使终端获得多媒体文件的密钥。由于每次请求生成的动态密钥都不相同,因此恶意份子很难通过截取动态密钥的方式来获得多媒体文件的密钥,确保了多媒体文件的密钥的安全性,进而大大提高了多媒体文件的安全性。
步骤104:终端接收多媒体服务器返回的动态密钥,根据该动态密钥和终端的唯一标识,获取用于对多媒体文件进行解密的第一密钥。
终端接收多媒体服务器返回的动态密钥,从本地获取第二密钥,该第二密钥是在用户打开客户端时终端从多媒体服务器获取并存储的。以及获取预设约定参数,预设约定参数包括多媒体服务器生成动态密钥的过程中所使用的当前系统时间或唯一标识。若预设约定参数为唯一标识,则可以直接从本地获得该唯一标识。若该预设约定参数为多媒体服务器生成动态密钥的过程中所使用的当前系统时间,则终端可以根据预设分割规则和预设插入顺序从接收的动态密钥中提取出当前系统时间。其中,终端所依据的预设分割规则及预设插入顺序与步骤103中多媒体服务器在生成动态密钥过程中所使用的预设分割规则及预设插入顺序相同。
终端通过上述方式获得第二密钥和预设约定参数后,按照预设拼接规则将预设约定参数和第二密钥拼接为第一字符串。其中,终端所采用的预设拼接规则与步骤103中多媒体服务器在生成第一字符串时所使用的预设拼接规则相同。
终端根据第一字符串和动态密钥,获取用于对多媒体文件进行解密的第一密钥。终端对动态密钥的解密过程,是步骤103中多媒体服务器对第一密钥进行加密的逆过程。若多媒体服务器采用步骤103中第一种方式生成的动态密钥,则终端采用下述第一种方式对动态密钥解密,得到第一密钥。若多媒体服务器采用步骤103中第二种方式生成的动态密钥,则终端采用下述第二种方式对动态密钥解密,得到第一密钥。若多媒体服务器采用步骤103中第三种方式生成的动态密钥,则终端采用下述第三种方式对动态密钥解密,得到第一密钥。
第一,终端采用第一字符串通过预设加密算法对动态密钥进行解密,得到用于对多媒体文件进行解密的第一密钥。
终端所采用的预设加密算法与步骤103中多媒体服务器在生成动态密钥时所使用的预设加密算法相同。
第二,终端通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;采用第二字符串通过预设加密算法对动态密钥进行解密,得到用于对多媒体文件进行解密的第一密钥。
终端所采用的预设摘要算法与步骤103中多媒体服务器在生成动态密钥时所使用的预设摘要算法相同。
第三,终端通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;根据预设分割规则确定预设约定参数分割而成的多个字符组合;根据预设插入顺序从动态密钥中剔除多个字符组合,得到第三字符串;采用第二字符串通过预设加密算法对第三字符串进行解密,得到用于对多媒体文件进行解密的第一密钥。
由于多媒体服务器对第一密钥进行了一系统复杂的加密操作得到了动态密钥,将动态密钥传输给终端,在传输过程中第一密钥不会直接暴露,确保了第一密钥的安全性。终端接收到动态密钥后,通过一系统复杂的解密操作才能得到第一密钥,恶意份子很难通过截取动态密钥的方式来获得多媒体文件的第一密钥,确保了多媒体文件的密钥的安全性,进而大大提高了多媒体文件的安全性。
步骤105:终端将第一密钥和加密后的多媒体文件传输给终端的播放器,播放器对多媒体文件进行解密播放。
通过上述步骤101-104的操作使终端获得多媒体文件的第一密钥之后,终端即可利用该第一密钥对该多媒体文件进行解密。在此之前终端首先通过下述过程从多媒体服务器获得该多媒体文件的每个切片对应的切片密文文件。如图4所示,具体包括:
步骤A1:终端从播放列表中获取第一切片对应的存储地址,将该存储地址转换为本地代理服务器能够处理的切片请求地址,发送切片请求信息给本地代理服务器。
具体地,终端通过urlencode函数将本地代理服务器的地址拼接在该存储地址中,通过播放器发送请求信息给本地代理服务器,该切片请求信息中包括该存储地址。上述第一切片可以为多媒体文件中的任一切片。在本申请实施例中终端可以按照播放列表中多媒体文件的每个切片的时间先后顺序,从排在第一位的切片开始依次从多媒体服务器中请求每个切片对应的切片密文文件。
步骤A2:终端通过本地代理服务器根据第一切片的存储地址,生成第一切片的访问地址,发送切片获取请求给多媒体服务器,该切片获取请求中包括第一切片的访问地址和终端的唯一标识。
本地代理服务器接收到上述切片请求信息后,根据第一切片的存储地址,从多媒体文件的访问地址与每个切片的存储地址的对应关系中,获取该多媒体文件的访问地址。将该多媒体文件的访问地址的最后一段路径删除,将第一切片的存储地址作为最后一段路径添加到该多媒体文件的访问地址的最后,得到第一切片的访问地址。然后发送切片获取请求给多媒体服务器,在该切片获取请求中至少携带第一切片的访问地址和终端的唯一标识。
步骤A3:多媒体服务器接收终端发送的切片获取请求,根据切片获取请求中第一切片的访问地址,获取第一切片对应的切片密文文件,发送该切片密文文件给终端上的代理服务器。
多媒体服务器接收终端发送的切片获取请求,根据切片获取请求中第一切片的访问地址,从该访问地址中确定出该多媒体文件的访问地址,根据该多媒体文件的访问地址,定位出该多媒体文件包括的所有切片密文文件的存储区域。然后从第一切片的访问地址中确定出第一切片的存储地址,根据该存储地址从定位出的存储区域中获取第一切片对应的切片密文文件。多媒体服务器根据切片获取请求中的唯一标识,将该切片密文文件返回给终端上的本地代理服务器。
步骤A4:终端将上述获得的第一密钥和切片密文文件传输给终端的播放器,播放器采用第一密钥对切片密文文件进行解密播放。
终端上的本地代理服务器接收到多媒体服务器返回的切片密文文件后,将该切片密文文件传输给播放器。播放器利用步骤104获得的该多媒体文件对应的第一密钥,依据HLS协议对该切片密文文件进行解密播放。此处所采用的预设加密算法与多媒体服务器在对该多媒体文件的切片文件进行加密时所采用的加密算法相同。
对于该多媒体文件包括的每个切片,终端都可以按照上述步骤A1-A4的操作,按照切片的时间先后顺序依次从多媒体服务器获取每个切片对应的切片密文文件,并对获取的切片密文文件进行播放。
在本申请实施例中,由于终端每次请求获取多媒体文件的密钥,多媒体服务器都通过复杂的加密过程对多媒体文件的密钥进行加密得到动态密钥,将动态密钥发送给终端。终端再通过复杂的解密过程才能获取到多媒体文件的密钥。通过动态密钥确保多媒体文件的密钥在传输过程中的安全性,动态密钥的生成及解密过程复杂,恶意分子即便截取到动态密钥,也很难从动态密钥解密出多媒体文件的正确密钥,因此多媒体文件及其密钥的安全性都很高。而且本申请实施例中通过本地代理服务器来从多媒体服务器中获取多媒体文件的切片数据及密钥,本地代理服务器只能在客户端内部访问,不通过本地代理服务器无法获得真正的解密密钥,即便获得多媒体文件,也无法进行解密,进一步提升了多媒体文件的安全性。
本申请实施例还提供一种基于HLS的多媒体播放系统,参见图1,该系统包括多媒体服务器和终端;
多媒体服务器,用于接收终端发送的密钥获取请求,密钥获取请求包括终端的唯一标识和多媒体文件的访问地址;根据唯一标识和访问地址,获取用于对多媒体文件进行加解密的第一密钥;根据唯一标识和第一密钥,生成动态密钥;发送动态密钥给终端;
终端,用于通过本地代理服务器发送密钥获取请求给多媒体服务器;接收多媒体服务器返回的动态密钥;根据动态密钥和唯一标识,获取第一密钥;将所述第一密钥和加密后的所述多媒体文件传输给所述终端的播放器,所述播放器对所述多媒体文件进行解密播放。
在本申请实施例中,多媒体服务器所执行的操作均可参照上述任一实施例提供的基于HLS的多媒体播放方法中多媒体服务器所执行的操作,在此不再赘述。同样地,本申请实施例中终端所执行的操作均可参照上述任一实施例提供的基于HLS的多媒体播放方法中终端所执行的操作,在此不再赘述。
本申请的上述实施例提供的基于HLS的多媒体播放系统与本申请实施例提供的基于HLS的多媒体播放方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本申请实施例还提供一种基于HLS的多媒体播放装置,该装置用于执行上述任一实施例提供的基于HLS的多媒体播放方法中多媒体服务器所执行的操作。参见图5,该装置包括:
接收模块501,用于接收终端发送的密钥获取请求,密钥获取请求包括终端的唯一标识和多媒体文件的访问地址;
获取模块502,用于根据唯一标识和访问地址,获取用于对多媒体文件进行加解密的第一密钥;
生成模块503,用于根据唯一标识和第一密钥,生成动态密钥;
发送模块504,用于发送动态密钥给终端,以使终端根据动态密钥解密并播放多媒体文件。
上述接收模块501,还用于接收终端发送的接口请求信息,接口请求信息中包括终端的唯一标识;
该装置还包括:分配模块,用于为终端分配第二密钥;
存储模块,用于建立唯一标识与第二密钥的对应关系;将唯一标识和第二密钥的对应关系存储在映射表中;
上述发送模块504,还用于发送第二密钥给终端。
生成模块503,具体用于从映射表中,获取唯一标识对应的第二密钥;按照预设拼接规则将预设约定参数和第二密钥拼接为第一字符串,预设约定参数包括当前系统时间或唯一标识;根据第一字符串和第一密钥,生成动态密钥。
生成模块503,具体用于采用第一字符串通过预设加密算法对第一密钥进行加密,得到动态密钥;或者,通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;采用第二字符串通过预设加密算法对第一密钥进行加密,得到动态密钥;或者,通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;采用第二字符串通过预设加密算法对第一密钥进行加密,得到第三字符串;按照预设分割规则将预设约定参数分割为多个字符组合;按照预设插入顺序将多个字符组合插入第三字符串中,得到动态密钥。
获取模块502,具体用于查询映射表中是否包含终端对应的唯一标识;如果映射表中不包含唯一标识,则发送请求失败信息给终端;如果映射表中包含唯一标识,则需查询本地多媒体数据库中是否包含访问地址,以获取第一密钥。
获取模块502,具体用于查询本地多媒体数据库中是否包含访问地址;如果本地多媒体数据库中不包含访问地址,则发送请求失败信息给终端;如果本地多媒体数据库中包含访问地址,则需查询映射表中是否包含终端对应的唯一标识,以获取第一密钥;如果映射表中包含唯一标识且本地多媒体数据库中包含访问地址,则从本地多媒体数据库中获取访问地址对应的第一密钥。
本申请的上述实施例提供的基于HLS的多媒体播放装置与本申请实施例提供的基于HLS的多媒体播放方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本申请实施例还提供一种基于HLS的多媒体播放装置,该装置用于执行上述任一实施例提供的基于HLS的多媒体播放方法中多媒体服务器所执行的操作。参见图6,该装置包括:
发送模块601,用于通过本地代理服务器发送密钥获取请求给多媒体服务器,密钥获取请求包括终端的唯一标识和多媒体文件的访问地址;
接收模块602,用于接收多媒体服务器返回的动态密钥;
获取模块603,用于根据动态密钥和唯一标识,获取用于对多媒体文件进行解密的第一密钥;
解密播放模块604,用于将第一密钥和加密后的多媒体文件传输给终端的播放器,播放器对多媒体文件进行解密播放。
上述发送模块601,还用于发送接口请求信息给多媒体服务器,接口请求信息中包括终端的唯一标识;
上述接收模块602,还用于接收多媒体服务器返回的第二密钥;
该装置还包括:存储模块,用于存储第二密钥。
上述获取模块603,具体用于获取存储的第二密钥,以及获取预设约定参数,预设约定参数包括多媒体服务器生成动态密钥的过程中所使用的当前系统时间或唯一标识;按照预设拼接规则将预设约定参数和第二密钥拼接为第一字符串;根据第一字符串和动态密钥,获取用于对多媒体文件进行解密的第一密钥。
上述获取模块603,具体用于采用第一字符串通过预设加密算法对动态密钥进行解密,得到用于对多媒体文件进行解密的第一密钥;或者,通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;采用第二字符串通过预设加密算法对动态密钥进行解密,得到用于对多媒体文件进行解密的第一密钥;或者,通过预设摘要算法对第一字符串进行摘要运算,得到第二字符串;根据预设分割规则确定预设约定参数分割而成的多个字符组合;根据预设插入顺序从动态密钥中剔除多个字符组合,得到第三字符串;采用第二字符串通过预设加密算法对第三字符串进行解密,得到用于对多媒体文件进行解密的第一密钥。
本申请的上述实施例提供的基于HLS的多媒体播放装置与本申请实施例提供的基于HLS的多媒体播放方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种电子设备,以执行上述基于HLS的多媒体播放方法。请参考图7,其示出了本申请的一些实施方式所提供的一种电子设备的示意图。如图7所示,电子设备7包括:处理器700,存储器701,总线702和通信接口703,所述处理器700、通信接口703和存储器701通过总线702连接;所述存储器701中存储有可在所述处理器700上运行的计算机程序,所述处理器700运行所述计算机程序时执行本申请前述任一实施方式所提供的基于HLS的多媒体播放方法。
其中,存储器701可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口703(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线702可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器701用于存储程序,所述处理器700在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述基于HLS的多媒体播放方法可以应用于处理器700中,或者由处理器700实现。
处理器700可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器700中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器700可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器701,处理器700读取存储器701中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的电子设备与本申请实施例提供的基于HLS的多媒体播放方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的基于HLS的多媒体播放方法对应的计算机可读存储介质,请参考图8,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的基于HLS的多媒体播放方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的基于HLS的多媒体播放方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是:
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本申请的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本申请并帮助理解各个发明方面中的一个或多个,在上面对本申请的示例性实施例的描述中,本申请的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下示意图:即所要求保护的本申请要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本申请的单独实施例。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本申请的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
以上所述,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (13)
1.一种基于HLS的多媒体播放方法,其特征在于,应用于多媒体服务器,包括:
接收终端发送的密钥获取请求,所述密钥获取请求包括所述终端的唯一标识和多媒体文件的访问地址;
根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥;
根据所述唯一标识,从预先建立的唯一标识与第二密钥的映射表中,获取所述唯一标识对应的第二密钥;
按照预设拼接规则将预设约定参数和所述第二密钥拼接为第一字符串,所述预设约定参数包括当前系统时间或所述唯一标识;
根据所述第一字符串和所述第一密钥,生成动态密钥;
发送所述动态密钥给所述终端,以使所述终端根据所述动态密钥解密并播放所述多媒体文件;
所述接收终端发送的密钥获取请求,包括:接收所述终端通过本地代理服务器发送的密钥获取请求;
所述密钥获取请求中还包括第一密钥对应的存储地址,所述第一密钥对应的存储地址包括本地代理服务器的地址。
2.根据权利要求1所述的方法,其特征在于,所述接收终端发送的密钥获取请求之前,还包括:
接收终端发送的接口请求信息,所述接口请求信息中包括所述终端的唯一标识;
为所述终端分配第二密钥;
建立所述唯一标识与所述第二密钥的对应关系;
将所述唯一标识和所述第二密钥的对应关系存储在映射表中;
发送所述第二密钥给所述终端。
3.根据权利要求1所述的方法,其特征在于,所述根据所述第一字符串和所述第一密钥,生成动态密钥,包括:
采用所述第一字符串通过预设加密算法对所述第一密钥进行加密,得到动态密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;采用所述第二字符串通过所述预设加密算法对所述第一密钥进行加密,得到动态密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;采用所述第二字符串通过所述预设加密算法对所述第一密钥进行加密,得到第三字符串;按照预设分割规则将所述预设约定参数分割为多个字符组合;按照预设插入顺序将所述多个字符组合插入所述第三字符串中,得到动态密钥。
4.根据权利要求3所述的方法,其特征在于,所述根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥,包括:
查询所述映射表中是否包含所述终端对应的所述唯一标识;
如果所述映射表中不包含所述唯一标识,则发送请求失败信息给所述终端;
如果所述映射表中包含所述唯一标识,则需查询本地多媒体数据库中是否包含所述访问地址,以获取第一密钥。
5.根据权利要求3所述的方法,其特征在于,所述根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥,还包括:
查询本地多媒体数据库中是否包含所述访问地址;
如果所述本地多媒体数据库中不包含所述访问地址,则发送请求失败信息给所述终端;
如果本地多媒体数据库中包含所述访问地址,则需查询所述映射表中是否包含所述终端对应的所述唯一标识,以获取第一密钥。
6.根据权利要求4或5所述的方法,其特征在于,所述方法还包括:
如果所述映射表中包含所述唯一标识且所述本地多媒体数据库中包含所述访问地址,则从所述本地多媒体数据库中获取所述访问地址对应的第一密钥。
7.一种基于HLS的多媒体播放方法,其特征在于,应用于终端,包括:
通过本地代理服务器发送密钥获取请求给多媒体服务器,所述密钥获取请求包括所述终端的唯一标识和多媒体文件的访问地址;
接收所述多媒体服务器返回的动态密钥;
根据所述动态密钥和所述唯一标识,获取用于对所述多媒体文件进行解密的第一密钥;所述动态密钥为所述多媒体服务器根据唯一标识,从预先建立的唯一标识与第二密钥的映射表中,获取所述唯一标识对应的第二密钥,按照预设拼接规则将预设约定参数和所述第二密钥拼接为第一字符串,所述预设约定参数包括当前系统时间或所述唯一标识,根据所述第一字符串和所述第一密钥生成的;
将所述第一密钥和加密后的所述多媒体文件传输给所述终端的播放器,所述播放器对所述多媒体文件进行解密播放;
所述密钥获取请求中还包括第一密钥对应的存储地址,所述第一密钥对应的存储地址包括本地代理服务器的地址。
8.根据权利要求7所述的方法,其特征在于,所述通过本地代理服务器发送密钥获取请求给多媒体服务器之前,还包括:
发送接口请求信息给多媒体服务器,所述接口请求信息中包括所述终端的唯一标识;
接收所述多媒体服务器返回的第二密钥;
存储所述第二密钥。
9.根据权利要求8所述的方法,其特征在于,所述根据所述动态密钥和所述唯一标识,获取用于对所述多媒体文件进行解密的第一密钥,包括:
获取存储的所述第二密钥,以及获取预设约定参数,所述预设约定参数包括所述多媒体服务器生成所述动态密钥的过程中所使用的当前系统时间或所述唯一标识;
按照预设拼接规则将预设约定参数和所述第二密钥拼接为第一字符串;
根据所述第一字符串和所述动态密钥,获取用于对所述多媒体文件进行解密的第一密钥。
10.根据权利要求9所述的方法,其特征在于,所述根据所述第一字符串和所述动态密钥,获取用于对所述多媒体文件进行解密的第一密钥,包括:
采用所述第一字符串通过预设加密算法对所述动态密钥进行解密,得到用于对所述多媒体文件进行解密的第一密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;采用所述第二字符串通过所述预设加密算法对所述动态密钥进行解密,得到用于对所述多媒体文件进行解密的第一密钥;或者,
通过预设摘要算法对所述第一字符串进行摘要运算,得到第二字符串;根据预设分割规则确定所述预设约定参数分割而成的多个字符组合;根据预设插入顺序从所述动态密钥中剔除所述多个字符组合,得到第三字符串;采用所述第二字符串通过所述预设加密算法对所述第三字符串进行解密,得到用于对所述多媒体文件进行解密的第一密钥。
11.一种基于HLS的多媒体播放系统,其特征在于,包括多媒体服务器和终端;
所述多媒体服务器,用于接收所述终端发送的密钥获取请求,所述密钥获取请求包括所述终端的唯一标识和多媒体文件的访问地址;根据所述唯一标识和所述访问地址,获取用于对所述多媒体文件进行加解密的第一密钥;根据所述唯一标识,从预先建立的唯一标识与第二密钥的映射表中,获取所述唯一标识对应的第二密钥;按照预设拼接规则将预设约定参数和所述第二密钥拼接为第一字符串,所述预设约定参数包括当前系统时间或所述唯一标识;根据所述第一字符串和所述第一密钥,生成动态密钥;发送所述动态密钥给所述终端;所述接收终端发送的密钥获取请求,包括:接收所述终端通过本地代理服务器发送的密钥获取请求;
所述终端,用于通过本地代理服务器发送所述密钥获取请求给所述多媒体服务器;接收所述多媒体服务器返回的所述动态密钥;根据所述动态密钥和所述唯一标识,获取用于对所述多媒体文件进行解密的第一密钥;所述动态密钥为所述多媒体服务器根据唯一标识,从预先建立的唯一标识与第二密钥的映射表中,获取所述唯一标识对应的第二密钥,按照预设拼接规则将预设约定参数和所述第二密钥拼接为第一字符串,所述预设约定参数包括当前系统时间或所述唯一标识,根据所述第一字符串和所述第一密钥生成的;将所述第一密钥和加密后的所述多媒体文件传输给所述终端的播放器,所述播放器对所述多媒体文件进行解密播放;
所述密钥获取请求中还包括第一密钥对应的存储地址,所述第一密钥对应的存储地址包括本地代理服务器的地址。
12.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序以实现如权利要求1-10任一项所述的方法。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行实现如权利要求1-10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011269648.0A CN114501069B (zh) | 2020-11-13 | 2020-11-13 | 基于hls的多媒体播放方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011269648.0A CN114501069B (zh) | 2020-11-13 | 2020-11-13 | 基于hls的多媒体播放方法、系统、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114501069A CN114501069A (zh) | 2022-05-13 |
CN114501069B true CN114501069B (zh) | 2024-06-07 |
Family
ID=81490032
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011269648.0A Active CN114501069B (zh) | 2020-11-13 | 2020-11-13 | 基于hls的多媒体播放方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114501069B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115002089B (zh) * | 2022-06-30 | 2023-09-19 | 兰州乐智教育科技有限责任公司 | 流媒体传输方法、装置、电子设备及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095793B1 (en) * | 2009-12-30 | 2012-01-10 | In-Circuit Solutions Inc. | Digital rights management apparatus and method |
CN103649962A (zh) * | 2011-05-02 | 2014-03-19 | 英赛瑟库尔公司 | 用于利用数字权利管理(drm)保护数字内容的系统和方法 |
CN105939484A (zh) * | 2016-06-14 | 2016-09-14 | 深圳创维数字技术有限公司 | 一种音视频的加密播放方法及其系统 |
CN106506159A (zh) * | 2016-11-18 | 2017-03-15 | 上海艾讯云计算有限公司 | 用于密钥安全的加密方法和设备 |
CN108881205A (zh) * | 2018-06-08 | 2018-11-23 | 西安理工大学 | 一种hls流媒体的安全播放系统及播放方法 |
CN108989848A (zh) * | 2018-07-26 | 2018-12-11 | 网宿科技股份有限公司 | 一种视频资源文件的获取方法和管理系统 |
CN109040087A (zh) * | 2018-08-15 | 2018-12-18 | 咪咕视讯科技有限公司 | 一种文件加、解密方法及装置 |
CN110213669A (zh) * | 2019-05-18 | 2019-09-06 | 杭州当虹科技股份有限公司 | 一种基于ts切片的视频内容防盗系统和方法 |
CN110798714A (zh) * | 2019-10-23 | 2020-02-14 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8767961B2 (en) * | 2011-01-05 | 2014-07-01 | Motorola Mobility Llc | Secure live television streaming |
WO2017192736A1 (en) * | 2016-05-03 | 2017-11-09 | Pegasus Media Security, Llc | Methods and apparatus for device authentication and secure data exchange between a server application and a device |
-
2020
- 2020-11-13 CN CN202011269648.0A patent/CN114501069B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095793B1 (en) * | 2009-12-30 | 2012-01-10 | In-Circuit Solutions Inc. | Digital rights management apparatus and method |
CN103649962A (zh) * | 2011-05-02 | 2014-03-19 | 英赛瑟库尔公司 | 用于利用数字权利管理(drm)保护数字内容的系统和方法 |
CN105939484A (zh) * | 2016-06-14 | 2016-09-14 | 深圳创维数字技术有限公司 | 一种音视频的加密播放方法及其系统 |
CN106506159A (zh) * | 2016-11-18 | 2017-03-15 | 上海艾讯云计算有限公司 | 用于密钥安全的加密方法和设备 |
CN108881205A (zh) * | 2018-06-08 | 2018-11-23 | 西安理工大学 | 一种hls流媒体的安全播放系统及播放方法 |
CN108989848A (zh) * | 2018-07-26 | 2018-12-11 | 网宿科技股份有限公司 | 一种视频资源文件的获取方法和管理系统 |
CN109040087A (zh) * | 2018-08-15 | 2018-12-18 | 咪咕视讯科技有限公司 | 一种文件加、解密方法及装置 |
CN110213669A (zh) * | 2019-05-18 | 2019-09-06 | 杭州当虹科技股份有限公司 | 一种基于ts切片的视频内容防盗系统和方法 |
CN110798714A (zh) * | 2019-10-23 | 2020-02-14 | 深圳创维新世界科技有限公司 | 一种基于hls的本地视频播放系统及播放方法 |
Non-Patent Citations (3)
Title |
---|
Identity-based SIP Authentication and Key Agreement;Wu Shao Bo 等;《2011 Seventh International Conference on Computational Intelligence and Security》;20120112;全文 * |
基于标识的密码算法SM9研究综述;殷明;《信息技术与信息化》;20200528;全文 * |
支持多种分发模式的数字内容版权管理机制;俞银燕;《万方学位论文》;20051231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114501069A (zh) | 2022-05-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110138716B (zh) | 一种密钥的提供、视频播放方法、服务器及客户端 | |
CN105659240B (zh) | 一种用于发送和验证url签名以进行自适应流中url认证和基于url的内容访问授权的系统和方法 | |
EP3123383B1 (en) | System and method for partial url signing with applications to dynamic adaptive streaming | |
KR101611848B1 (ko) | 콘텐츠 전송 및 전달 시에 콘텐츠 암호화 및 권한 관리의 시그널링 및 취급 | |
US10229248B2 (en) | Multiple content protection systems in a file | |
US8688991B1 (en) | Media player embodiments and secure playlist packaging | |
JP5686951B2 (ja) | 様々なコンテンツ・タイプのデジタル媒体の保護 | |
US11259082B2 (en) | Systems and methods for data processing, storage, and retrieval from a server | |
US20040199771A1 (en) | Method for tracing a security breach in highly distributed content | |
US10142684B2 (en) | Pinning encryption metadata to segment URIs | |
CN106973310A (zh) | 一种iptv系统中流媒体的播放方法、epg服务器及cdn服务器 | |
US20120311318A1 (en) | Information processing system, information processing device, information processing method and program | |
AU2014305015A1 (en) | Extensible media format system and methods of use | |
CN108235152B (zh) | Drm应用系统和drm私有数据的传递方法 | |
CN110798714A (zh) | 一种基于hls的本地视频播放系统及播放方法 | |
CN114501069B (zh) | 基于hls的多媒体播放方法、系统、设备及存储介质 | |
US20200364317A1 (en) | Method and system for identifying a user terminal in order to receive streaming protected multimedia content | |
CN112203118B (zh) | 多媒体资源分发方法、装置、电子装置和存储介质 | |
CN109040087A (zh) | 一种文件加、解密方法及装置 | |
JP5350021B2 (ja) | ファイル生成装置、ファイル再生装置およびコンピュータプログラム | |
CN113127891A (zh) | 一种智能媒体桌面的模板文件加密方法和装置 | |
EP4455908A1 (en) | Method for receiving content in user device over cdn | |
CN117729379A (zh) | 一种视频播放方法、装置及电子设备 | |
CN116009854A (zh) | 一种数据加解密的处理方法及加解密工具 |
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 |