CN111698576B - 信息加密方法、解密方法、服务器、客户端及介质 - Google Patents
信息加密方法、解密方法、服务器、客户端及介质 Download PDFInfo
- Publication number
- CN111698576B CN111698576B CN202010581736.8A CN202010581736A CN111698576B CN 111698576 B CN111698576 B CN 111698576B CN 202010581736 A CN202010581736 A CN 202010581736A CN 111698576 B CN111698576 B CN 111698576B
- Authority
- CN
- China
- Prior art keywords
- file
- fragment
- sequence
- indexes
- list file
- 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
Images
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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- 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, manipulating MPEG-4 scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
-
- 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/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26613—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing keys in general
-
- 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/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/44—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
- H04N21/4405—Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving video stream decryption
-
- 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/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/8547—Content authoring involving timestamps for synchronizing content
Abstract
本发明的实施方式提供了一种信息加密方法、解密方法、服务器、客户端、介质和计算设备。该方法包括:对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;基于第一列表文件生成第二列表文件;其中,所述第二列表文件中包含按照第二顺序排列的N个TS分片索引,并且,第二顺序与所述第一顺序不同;对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同。本发明实施例能够保证视频文件的安全性。
Description
技术领域
本发明的实施方式涉及信息处理领域,更具体地,本发明的实施方式涉及一种信息加密方法、解密方法、服务器、客户端、介质和计算设备。
背景技术
本部分旨在为权利要求书中陈述的本发明的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
相关技术中,在视频文件的传输过程中,通过播放列表文件,比如m3u8文件中包含的“EXT-X-KEY”的字段,该字段对应的值是一个HTTP(Hyper Text Transfer Protocol,超文本传输协议)的URL(Uniform Resource Locator,统一资源定位符),通过请求该URL可以获取一个密钥,该密钥可以对视频文件分割得到的多个TS(Transport Stream,传输流)分片文件进行解密。但是,这种方式针对视频文件的解密较为容易,无法保证视频文件的安全性。
发明内容
本发明期望提供一种信息加密方法、解密方法、服务器、客户端、介质和计算设备,以至少解决上述技术问题。
在本发明实施方式的第一方面中,提供了一种信息加密方法,包括:
对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;
基于第一列表文件生成第二列表文件;其中,所述第二列表文件中包含按照第二顺序排列的N个TS分片索引,并且,第二顺序与所述第一顺序不同;
对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同。
在本发明的一个实施例中,所述方法还包括:
基于预设的包含N位数值的第一数组,确定第一列表文件中的N个TS分片索引在所述第二列表文件中的第二顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
在本发明的一个实施例中,所述方法还包括:
根据TS分片文件的数量N,生成包含N位数值的第二数组;其中,所述第二数组中的N位数值按照递增顺序排列,并且两两相邻的数值之间的差值为预设值;
对所述第二数组中的N位数值的顺序进行调整得到第三数组,基于所述第二数组以及第三数组生成顺序调整文件;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
在本发明的一个实施例中,所述基于第一列表文件生成第二列表文件,包括:
基于顺序调整文件中N组位置信息的第二位置从低到高的顺序,依次根据与第二位置对应的所述第一位置,从第一列表文件获取对应的TS分片索引,将获取的TS分片索引按照所述第二位置添加至所述第二列表文件中。
在本发明的一个实施例中,所述方法还包括:
基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;
根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
在本发明的一个实施例中,所述基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值,还包括:
根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
在本发明的一个实施例中,所述方法还包括:
基于预设密钥对顺序调整文件进行加密,得到加密后的顺序调整文件。
在本发明实施方式的第二方面中,提供了一种信息解密方法,所述方法包括:
获取视频文件对应的第二列表文件;其中,所述第二列表文件中包含有按照第二顺序排列的N个TS分片索引,不同TS分片索引用于获取不同TS分片文件;
根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引;其中,第一顺序与第二顺序不同;
基于TS分片索引获取对应的TS分片文件,基于TS分片文件所对应的密钥对所述TS分片文件进行解密;其中,不同TS分片文件对应的密钥不同。
在本发明的一个实施例中,所述方法还包括:
基于预设的包含N位数值的第一数组,确定N个TS分片索引的第一顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
在本发明的一个实施例中,所述方法还包括:
获取加密的顺序调整文件,基于预设密钥对所述加密的顺序调整文件进行解密,得到解密后的顺序调整文件,基于所述解密后的顺序调整文件确定N个TS分片索引的第一顺序;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
在本发明的一个实施例中,所述根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引,包括:
基于顺序调整文件中N组位置信息的第一位置从低到高的顺序,依次根据与第一位置对应的所述第二位置,从第二列表文件获取对应的TS分片索引。
在本发明的一个实施例中,所述方法还包括:
基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值;
根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
在本发明的一个实施例中,所述基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值,还包括:
根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
在本发明实施方式的第三方面中,提供了一种服务器,包括:
编码单元,用于对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;
置乱单元,用于基于第一列表文件生成第二列表文件;其中,所述第二列表文件中包含按照第二顺序排列的N个TS分片索引,并且,第二顺序与所述第一顺序不同;
加密单元,用于对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同。
在本发明的一个实施例中,所述置乱单元,用于基于预设的包含N位数值的第一数组,确定第一列表文件中的N个TS分片索引在所述第二列表文件中的第二顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
在本发明的一个实施例中,所述置乱单元,用于根据TS分片文件的数量N,生成包含N位数值的第二数组;其中,所述第二数组中的N位数值按照递增顺序排列,并且两两相邻的数值之间的差值为预设值;
对所述第二数组中的N位数值的顺序进行调整得到第三数组,基于所述第二数组以及第三数组生成顺序调整文件;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
在本发明的一个实施例中,所述置乱单元,用于基于顺序调整文件中N组位置信息的第二位置从低到高的顺序,依次根据与第二位置对应的所述第一位置,从第一列表文件获取对应的TS分片索引,将获取的TS分片索引按照所述第二位置添加至所述第二列表文件中。
在本发明的一个实施例中,所述加密单元,用于基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
在本发明的一个实施例中,所述加密单元,用于根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
在本发明的一个实施例中,所述加密单元,用于基于预设密钥对顺序调整文件进行加密,得到加密后的顺序调整文件。
在本发明实施方式的第四方面中,提供了一种客户端,包括:
信息获取单元,用于获取视频文件对应的第二列表文件;其中,所述第二列表文件中包含有按照第二顺序排列的N个TS分片索引,不同TS分片索引用于获取不同TS分片文件;
提取单元,用于根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引;其中,第一顺序与第二顺序不同;
解密单元,用于基于TS分片索引获取对应的TS分片文件,基于TS分片文件所对应的密钥对所述TS分片文件进行解密;其中,不同TS分片文件对应的密钥不同。
在本发明的一个实施例中,所述提取单元,用于基于预设的包含N位数值的第一数组,确定N个TS分片索引的第一顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
在本发明的一个实施例中,所述信息获取单元,用于获取加密的顺序调整文件;
所述提取单元,用于基于预设密钥对所述加密的顺序调整文件进行解密,得到解密后的顺序调整文件,基于所述解密后的顺序调整文件确定N个TS分片索引的第一顺序;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
在本发明的一个实施例中,所述提取单元,用于基于顺序调整文件中N组位置信息的第一位置从低到高的顺序,依次根据与第一位置对应的所述第二位置,从第二列表文件获取对应的TS分片索引。
在本发明的一个实施例中,所述解密单元,用于基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值;根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
在本发明的一个实施例中,所述解密单元,用于根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
在本发明实施方式的第五方面中,提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理器执行实现上述信息加密方法或信息解密方法的步骤。
在本发明实施方式的第六方面中,提供了一种计算设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述信息加密方法或信息解密方法的步骤。
根据本发明实施方式,能够对视频文件对应的列表文件中包含的TS分片索引的顺序进行置乱,在无法确定置乱顺序的情况下,盗取视频的列表文件也无法正确获取完整的视频文件;还能对视频文件分割得到的TS分片文件单独加密,不同的TS分片文件采用不同的密钥进行加密,如此,避免获取到一个密钥就能够解密全部TS分片文件所带来的安全性问题,保证了视频传输的安全性。
附图说明
通过参考附图阅读下文的详细描述,本发明示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本发明的若干实施方式,其中:
图1示意性地示出了根据本发明一实施方式的信息加密方法实现示意图;
图2示意性地示出了根据本发明一实施方式的随机置乱算法产生的文件的示意图;
图3示意性地示出了实现本发明一实施方式的对原始m3u8文件进行置乱得到置乱后的m3u8文件的示意图;
图4示意性地示出了根据本发明一实施方式的信息加密方法的实现流程示意图;
图5示意性地示出了根据本发明一实施方式的信息解密方法的实现流程示意图;
图6示意性地示出了根据本发明一实施方式的介质结构示意图;
图7示意性地示出了根据本发明一实施方式的服务器结构示意图;
图8示意性地示出了根据本发明一实施方式的客户端结构示意图;
图9示意性地示出了根据本发明一实施方式的计算设备结构示意图。
在附图中,相同或对应的标号表示相同或对应的部分。
具体实施方式
下面将参考若干示例性实施方式来描述本发明的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本发明,而并非以任何方式限制本发明的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域技术人员知道,本发明的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
根据本发明的实施方式,提出了一种信息加密方法、解密方法、服务器、客户端、介质和计算设备。
在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
下面参考本发明的若干代表性实施方式,详细阐释本发明的原理和精神。
发明概述
本发明人发现,HLS((HTTP Live Streaming,Apple的动态码率自适应技术)的原生加密方案存在安全性缺陷,只要视频盗取者用抓包工具抓取到获取m3u8文件和key(密钥)的请求,保存加密后的TS分片和密钥。写一个脚本以m3u8为索引一一解密出加密后的TS分片的原文件,再把TS拼接成完整的视频原文件。
有鉴于此,本发明提供一种信息加密方法、解密方法、服务器、客户端、介质和计算设备,对视频文件对应的列表文件中包含的TS分片索引的顺序进行置乱,在无法确定置乱顺序的情况下,盗取视频的列表文件也无法正确获取完整的视频文件;还能对视频文件分割得到的TS分片文件单独加密,不同的TS分片文件采用不同的密钥进行加密,如此,避免获取到一个密钥就能够解密全部TS分片文件所带来的安全性问题,保证了视频传输的安全性。
在介绍了本发明的基本原理之后,下面具体介绍本发明的各种非限制性实施方式。
示例性方法
下面参考图1来描述根据本发明示例性实施方式的信息加密方法,包括:
S101:对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;
S102:基于第一列表文件生成第二列表文件;其中,所述第二列表文件中包含按照第二顺序排列的N个TS分片索引,并且,第二顺序与所述第一顺序不同;
S103:对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同。
本实施例提供的信息加密方法,可以应用于服务器侧。
前述视频文件可以为待传输给客户端的文件,或者可以为服务器中多个视频文件中任意之一;
前述S101中,对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件,可以理解为,将服务器中的任意一个源视频文件进行编码处理,得到的m3u8文件,以及得到源视频文件分割得到的N个TS分片文件。
M3u8文件以及N个TS分片文件可以为基于HLS(HTTP Live Streaming)协议的内容。HLS是流媒体传输协议,其基本实现原理为将一个大的媒体文件,比如本实施例中的视频文件进行分片,将该分片文件的资源路径记录于m3u8文件(即第一列表文件)内用于提供给客户端;客户端依据该m3u8文件即可获取对应的媒体资源,进行播放。
进一步地,m3u8文件,也就是第一列表文件中可以包括有文件头以及针对多个TS分片文件的相关信息,本实施例中,将针对多个TS分片文件的相关信息称为TS分片索引。
其中,TS分片索引可以为TS分片文件的地址信息,比如,可以为绝对地址(或绝对路径),以及相对地址(或相对路径)。
N个TS分片文件可以为基于视频文件分割得到的。
N可以为大于等于2的整数;当然N也可以为1,如果N为1也就是说视频仍为一个完整的文件,也可以使用本实施例的方案,但是本实施例并不关注N等于1的处理方式,而本实施例尤其适用于N大于等于2的场景。
S102可以理解为将第一列表文件中TS分片索引的顺序打乱并且重新排列,得到第二列表文件。
具体来说,可以根据置乱算法,确定第一列表文件中TS分片索引置乱后的顺序,然后根据置乱后的顺序生成第二列表文件。
进一步,基于第一列表文件生成第二列表文件为:
建立一个新的列表文件作为第二列表文件,将第一列表文件中的文件头拷至第二列表文件,作为第二列表文件的文件头;根据置乱算法得到第二顺序,将第一列表文件中的N个分片索引的第一顺序调整为第二顺序,在第二列表文件中按照第二顺序添加N个分片索引。
进一步来说,前述置乱算法可以有两种,方式一、随机算法进行置乱;方式二:固定算法进行置乱。两种方式的选择在后续(传输阶段,解密阶段,解码阶段)对应不同的操作,这里首先分别针对两种方式进行说明:
方式一、随机算法进行置乱,具体可以包括:
根据TS分片文件的数量N,生成包含N位数值的第二数组;其中,所述第二数组中的N位数值按照递增顺序排列,并且两两相邻的数值之间的差值为预设值;
对所述第二数组中的N个数值的顺序进行调整得到第三数组,基于所述第二数组以及第三数组生成顺序调整文件;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
也就是,根据当前分割出的TS切片文件的数量,生成长度为文件数量大小的第二数组,该第二数组可以包括有自然数的顺序的N个数值。例如视频文件被切割为N份,则生成一个[1,2,3,……N]的第二数组。
对所述第二数组中的N个数值的顺序进行调整得到第三数组,可以为从第二数组中随机提取一位数值,将提取的数值放在第三数组中的最后一位,如此循环执行,可以执行M次处理,得到最终的第三数组。其中,M可以与N相同,也就是针对当前第二数组中剩余的数值随机提取一位数值并每次都添加到第三数组的最后一位。也就是说每次从尚未处理的数值中随机取一个数值,然后把该数值放在数组尾部。
举例来说,假设N等于4,第二数组可以为[1,2,3,4],随机算法置乱后得到的第三数组为[3,2,4,1]。
将处理打乱顺序后的第三数组,组成一个json序列,该json序列可以保存在顺序调整文件中,具体实现方式如下:
顺序调整文件中,每个json元素即为每一组位置信息;其中,每一个位置信息(json元素)包含如下属性:id,自增序号,起到标识作用,无实际含义;第一位置可以为oriLoaction,代表某个TS分片在第一顺序中的原始位置,第二位置可以为curLocation,代表某个TS分片经过打乱顺序后的第二顺序中的位置,也就是顺序打乱之后,TS分片文件目前所处的位置。比如,如图2所示,第一组位置信息中,id为1,用于表示为第1组位置信息,第一位置,oriLocation为1,表示原来的第一顺序中位于第1个位置的TS分片文件;第二位置curLocatioon为3,可以表示顺序置乱后也就是第二顺序中的当前位置为3。
基于前述方式一的置乱算法,相应的,基于第一列表得到第二列表文件的处理中,对第一列表文件中的N个分片索引的第一顺序进行调整得到第二顺序,在第二列表文件中按照第二顺序添加N个分片索引,具体可以包括:
基于顺序调整文件中N组位置信息的第二位置从低到高的顺序,依次根据与第二位置对应的所述第一位置,从第一列表文件获取对应的TS分片索引,将获取的TS分片索引按照所述第二位置添加至所述第二列表文件中。
也就是先创建一个新的m3u8文件(也就是第二列表文件),文件头内容从原有m3u8文件(也就是第一列表文件)拷贝,此时,TS分片内容不进行拷贝。
再进一步地,如果采用随机算法进行置乱,则根据顺序调整文件(也就是前述包含的json数组),首先找到curLocation为1的数据,获取其对应的oriLoaction值,在原有m3u8文件中找到其对应的TS分片索引,将其对应的TS分片索引信息放在新的m3u8文件的第一个位置;
依次按照curLocation的顺序,进行遍历,依次获取其oriLoaction值,追加到新的m3u8文件(第二列表文件)上,直至将json中所有数据遍历完成,得到最终生成的第二列表文件。
方式二、固定置乱算法:
基于预设的包含N位数值的第一数组,确定第一列表文件中的N个TS分片索引在所述第二列表文件中的第二顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
前述预设的包含N位数值的第一数组可以为服务器以及客户端(比如终端设备)之间预先协商好的。即通信双方事先商定固定的置乱算法,该置乱算法应满足如下特性:如果多次输入一个固定的TS分片数N,输出的数组应完全相同。
举例来说,如果第一数组为[3,2,4,1],可以理解为第二顺序中,第一位为原来第一顺序中的第三个位置的内容;第二位为第一顺序中的第二个位置的内容,依次类推。
进一步地,如果采用固定算法进行置乱,则在基于第一列表文件生成第二列表文件时,遍历上述第一数组,依次取出遍历第一列表文件(原m3u8文件)中对应的TS分片索引,例如数组为[3,2,6,4,5,1],则将第一列表文件(原m3u8文件)中第3个TS分片取出,放在第二列表文件(新m3u8)的第一个位置。
依次遍历数组,取出第一列表文件(原m3u8文件)中对应位置的TS分片,依次填入第二列表文件(新m3u8)文件,直至数组遍历完成,得到置乱后的第二列表文件。
至此完成前述S102的处理,结合图3所示,可以看出基于第一列表文件生成第二列表文件中,文件头的内容不变,TS分片(也就是TS分片索引)的位置产生变化。具体的变化方式或置乱后的结果图中仅为一种示例,实际处理中,TS分片索引的数量可以更多或更少,置乱后的顺序也可以与图示不同,这里不再进行穷举。另外,关于m3u8文件的文件头的内容本示例中也不对其进行详细说明。
至此,本实施例完成通过置乱算法对原始m3u8文件(第一列表文件)中TS分片顺序进行置乱的处理。在相关技术中,基于标准HLS加密的视频有一个很大的弊端:当窃取者通过抓包工具获取到该视频的m3u8文件以及加密密钥时,他就可以按照m3u8文件中TS分片的顺序,顺次请求TS分片,并用获取到的密钥对TS分片进行解密,将解密后的TS分片进行拼接,从而获取完整的视频文件。而本实施例通过采用置乱算法,将原m3u8中TS分片的顺序进行随机打乱,以达到即使在最坏的情况下,视频盗取者获取到解密密钥和m3u8文件,也无法拼接出完整的视频。
然后执行S103的处理,也就是对TS分片文件进行加密。
不同TS分片对应的密钥的生成方法可以包括:
第一种方法、
基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;
根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
其中通用密钥可以表示为common_encrypt_key,可以为HLS协议生成的。
基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值,可以采用预设的加密算法,对所述位置进行加密得到所述第一值。加密算法可以根据实际情况设置,这里不做限定,但是需要服务器以及客户端双方协商统一。
根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥,可以为基于第一值以及通用密钥进行异或运算得到最终的TS分片文件的密钥。
在针对每一个TS分片文件进行加密的时候,都采用上述方式进行密钥的生成,对每一个TS分片文件逐个采用各自对应的密钥进行加密,直至全部TS分片处理完成。
第二种方法、
根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息;
根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
与前一种方法不同在于,本方法增加了时间戳,基于时间戳以及每一个TS分片索引的第一顺序中的位置来生成第一值。同样的,时间戳以及位置需要根据预设的加密算法进行加密计算得到第一值,加密算法也为服务器以及客户端双方协商确定的。
前述时间戳,可以为顺序调整文件中携带的,比如,具体可以为json数组中携带的,这种方式更加适用于前述置乱算法中的方式一,也就是随机算法置乱处理。又或者,时间戳可以为列表文件m3u8中携带的,比如,可以携带在文件头中。再或者,时间戳,可以为服务器以及客户端双方协议得到的一个固定值。
可以理解为一个使用一个随机计数器random_counter来进行处理,随机计数器由两部分组成,前一部分为随机数,也就是时间戳,比如,可以是json文件(也就是顺序调整文件)中的timestamp(时间戳)值;或者,可以为服务器以及客户端双方约定的一个固定值;后一部分为json文件(也就是顺序调整文件)中的oriLocation值,也就是TS分片文件在第一顺序中的位置,该位置表示为数值,比如第3位,那么后一部分就是数值3。
将时间戳以及TS分片文件在第一顺序中的位置进行加密,将加密后的结果与通用密钥common_encrypt_key进行异或运算,得到加密该TS分片需要的最终密钥TS_encrypt_key。
然后基于该TS分片文件所对应的密钥TS_encrypt_key,对该TS分片文件进行加密,得到加密后的TS分片文件。其中,加密方式可以为ASE加密。
另外,如果S102中采用方式一,也就是随机算法置乱的处理时,还需要将其生成的顺序调整文件,也就是json数组(或称为json文件)也进行加密,因此,本实施例提供的方法还包括:
基于预设密钥对顺序调整文件进行加密,得到加密后的顺序调整文件。
具体的,服务器端与客户端可以事先约定一个对随机计数器加密的预设密钥counter_encrypt_key,根据该预设密钥对顺序调整文件,也就是json数组(或称为json文件)进行AES加密,得到encrypt_json,也就是加密后的顺序调整文件。
完成前述S103的处理之后,可以得到置乱后的m3u8文件(也就是第二列表文件),以及N个加密后的TS分片文件。或者,可以得到置乱后的m3u8文件(也就是第二列表文件),以及N个加密后的TS分片文件,以及加密后的顺序调整文件。将以上内容进行保存,比如可以保存在服务器侧的存储系统中。
通过执行S103的处理,生成一个随机计数器,随机计数器由两部分组成,前一部分为随机数,可以采用生成m3u8文件的时间戳;后一部分为该该TS分片在原始m3u8文件中的位置。然后对该随机计数器加密生成一个密码流,将该密码流与标准HLS生成的密钥进行异或运算,为每个TS分片生成一个唯一的加密密钥。如此对于每个TS分片,都生成唯一的加解密密钥,并且不会增加额外的数据传输,能够对标准HLS的加密密钥进行增强。
结合图4,以第一列表文件为原始m3u8文件,第二列表文件为新的m3u8文件,顺序调整文件为json文件,置乱算法采用随机置乱算法为例,提供一种示例性说明,包括以下步骤:
S1:对视频文件编码生成原始m3u8文件和多个TS分片文件;
S2:根据随机置乱算法,生成TS分片索引置乱后的json文件;
S3:根据json文件,生成新的m3u8文件;
S4:判断是否全部TS分片文件均加密完成,若是,则执行S5,否则,执行S4-1;
S4-1:从未加密完成的TS分片文件中提取一个待加密TS分片文件;
S4-2:将通用密钥,以及TS分片文件在原始m3u8文件的原始位置进行异或计算得到TS分片文件的密钥;这里,还可以对TS分片文件在原始m3u8文件的原始位置先进行一次加密运算,根据加密运算得到的第一值与通用密钥进行异或计算得到针对该TS分片文件的专用密钥;
S4-3:对TS分片文件进行加密;
S5:将全部TS分片文件上传文件存储系统。
这里,可以理解为前述S1-S4-3在服务器中执行,S5中的文件存储系统为服务器内包含的系统,也就是S5可以同样在服务器中执行。或者,可以理解为前述S1-S4-3在第一服务器中执行,S5中的文件存储系统为其他服务器包含的系统,也就是S5可以由第一服务器将全部TS分片文件(以及m3u8文件)存储至其他服务器中;相应的,这种方式中,客户端获取文件可以向其他服务器请求并获取,或者客户端可以向第一服务器请求,由第一服务器根据存储路径获取到存储的TS分片文件并传输给客户端。
本申请的另一实施例中,提供一种信息解密方法,如图5所示,所述方法包括:
S501:获取视频文件对应的第二列表文件;其中,所述第二列表文件中包含有按照第二顺序排列的N个TS分片索引,不同TS分片索引用于获取不同TS分片文件;
S502:根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引;其中,第一顺序与第二顺序不同;
S503:基于TS分片索引获取对应的TS分片文件,基于TS分片文件所对应的密钥对所述TS分片文件进行解密;其中,不同TS分片文件对应的密钥不同。
本实施例中一种信息解密方法可以应用于视频文件的接收端,可以为客户端,或者可以为终端设备,或者具备播放功能的电子设备等,比如,可以是用户端的个人电脑(PC)、笔记本电脑、平板电脑、智能手机等设备任意之一。
前述S501中,获取视频文件对应的第二列表文件,也就是:客户端(或终端设备)向服务器请求视频文件,也就是请求第二列表文件。一种示例中,客户端向服务器请求前述实施例产生的新的m3u8文件。
另外,执行S501的同时,或者S501之前或之后(S502之前),还可以包括有:获取密钥;也就是客户端向服务器请求前述实施例加密阶段中生成的通用密钥common_encrypt_key。
S502中,根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引,需要先确定第一顺序,然后根据第一顺序从第二列表文件中获取TS分片索引;然后针对获取的TS分片索引执行S503。
需要指出的是S502-S503循环处理,直至全部第二列表文件中的分片索引所对应的TS分片全部被获取并解密完成。
其中,每一个TS分片文件解密完成之后可以直接播放,然后再按照第一顺序获取下一个TS分片文件进行解密并播放,直至全部TS分片文件解密并播放完成。
具体来说,确定第一顺序的方式,可以包括:
方式一、针对随机置乱算法:
获取加密的顺序调整文件,基于预设密钥对所述加密的顺序调整文件进行解密,得到解密后的顺序调整文件,基于所述解密后的顺序调整文件确定N个TS分片索引的第一顺序;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
具体来说,如果采用随机置乱算法,则客户端向服务器请求代表TS顺序的加密json文件(也就是顺序调整文件),该json文件(也就是顺序调整文件)具体包括:每个TS分片在视频中的实际位置,该TS分片在当前m3u8文件(也就是第二列表文件)中的相对位置。
所述根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引,包括:
基于顺序调整文件中N组位置信息的第一位置从低到高的顺序,依次根据与第一位置对应的所述第二位置,从第二列表文件获取对应的TS分片索引。
举例来说,解密得到的顺序调整文件,可以如图2所示,先找出第一位置为1所对应的第二位置(curLocationo)为3,然后从第二列表文件中获取第3位的TS分片索引;根据TS分片索引中包含的地址(或路径)信息提取对应的TS分片文件。
方式二、固定置乱算法,基于预设的包含N位数值的第一数组,确定N个TS分片索引的第一顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
也就是客户端以及服务器之间预设相同的N位数值组成的第一数组,假设为[3,2,4,1],那么先选择为1的数值,根据该数值在第一数组中的位置4,从第二列表文件中获取第4个TS分片索引,再根据TS分片索引对应的地址(或路径)获取对应的TS分片文件。
然后进入解密的处理,首先需要确定一个TS分片文件所对应的密钥,具体可以包括:基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值;根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
或者,根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
本实施例中生成密钥的处理与前述实施例中生成密钥的处理相同,这里不再赘述。
在一种示例中,如果采用随机置乱算法来处理的话,解密的处理可以为客户端根据事先约定的预设密钥counter_encrypt_key,对json文件进行AES解密;客户端获取每个TS分片对应的密钥TS_encrypt_key,具体方式如下:
客户端根据请求的m3u8文件,直至所有TS分片处理完成。
客户端按照json文件中oriLocation的值的升序顺序,依次找到其curLocation值,并请求对应的TS分片。
客户端根据该分片的oriLocation以及json文件中的timestamp,拼出随机计数器,采用事先约定的密钥进行加密操作后,与请求到的common_encrypt_key进行异或运算,得到该TS分片的密钥。通过密钥,对该TS分片进行解密。
另一示例中,如果采用固定置乱算法,则实现方式如下:客户端根据事先约定的置乱算法,生成和服务端相同的第一数组,例如第一数组与服务器侧的相同,可以为[3,2,6,4,5,1],客户端的操作步骤为,在m3u8文件(第二列表文件)中获取第6个TS分片,即数组中值为1的位置所在的分片,利用分片对应的密码进行解密,第二个取数组中值为2的位置,也就是第2个分片,利用第二个分片对应的密码进行解密,直至数组遍历完成。
示例性介质
在介绍了本发明示例性实施方式的方法之后,接下来,参考图6对本发明示例性实施方式的介质进行说明。
在一些可能的实施方式中,本发明的各个方面还可以实现为一种计算机可读介质,其上存储有程序,当所述程序被处理器执行时用于实现本说明书上述“示例性方法”部分中描述的根据本发明各种示例性实施方式的信息加密/解密方法中的步骤。
具体地,上述处理器执行上述程序时用于实现如下步骤:
对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;
基于第一列表文件生成第二列表文件;其中,所述第二列表文件中包含按照第二顺序排列的N个TS分片索引,并且,第二顺序与所述第一顺序不同;
对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同。
或者,获取视频文件对应的第二列表文件;其中,所述第二列表文件中包含有按照第二顺序排列的N个TS分片索引,不同TS分片索引用于获取不同TS分片文件;
根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引;其中,第一顺序与第二顺序不同;
基于TS分片索引获取对应的TS分片文件,基于TS分片文件所对应的密钥对所述TS分片文件进行解密;其中,不同TS分片文件对应的密钥不同。
需要说明的是:上述的介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
如图6所示,描述了根据本发明的实施方式的介质60,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序,并可以在设备上运行。然而,本发明不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于:电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算设备。
示例性装置
在介绍了本发明示例性实施方式的介质之后,接下来,参考图7对本发明示例性实施方式的装置进行说明。
本发明实施例提供一种服务器,如图7所示,包括:
编码单元71,用于对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;
置乱单元72,用于基于第一列表文件生成第二列表文件;其中,所述第二列表文件中包含按照第二顺序排列的N个TS分片索引,并且,第二顺序与所述第一顺序不同;
加密单元73,用于对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同。
其中,所述置乱单元72可以根据置乱算法,确定第一列表文件中TS分片索引置乱后的顺序,然后根据置乱后的顺序生成第二列表文件,具体可以如下:
置乱单元72,用于建立一个新的列表文件作为第二列表文件,将第一列表文件中的文件头拷至第二列表文件,作为第二列表文件的文件头;根据置乱算法得到第二顺序,将第一列表文件中的N个分片索引的第一顺序调整为第二顺序,在第二列表文件中按照第二顺序添加N个分片索引。
进一步来说,前述置乱算法可以有两种,方式一、随机算法进行置乱;方式二:固定算法进行置乱。两种方式的选择在后续(传输阶段,解密阶段,解码阶段)对应不同的操作,这里分别针对两种方式进行说明:
方式一、随机算法进行置乱,具体可以包括:
置乱单元72,用于根据TS分片文件的数量N,生成包含N位数值的第二数组;其中,所述第二数组中的N位数值按照递增顺序排列,并且两两相邻的数值之间的差值为预设值;对所述第二数组中的N个数值的顺序进行调整得到第三数组,基于所述第二数组以及第三数组生成顺序调整文件;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
置乱单元72,用于基于顺序调整文件中N组位置信息的第二位置从低到高的顺序,依次根据与第二位置对应的所述第一位置,从第一列表文件获取对应的TS分片索引,将获取的TS分片索引按照所述第二位置添加至所述第二列表文件中。
方式二、固定置乱算法:
置乱单元72,用于基于预设的包含N位数值的第一数组,确定第一列表文件中的N个TS分片索引在所述第二列表文件中的第二顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
不同TS分片对应的密钥的生成方法可以包括:
第一种方法、
加密单元73,用于基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;
根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
其中通用密钥可以表示为common_encrypt_key,可以为HLS协议生成的。
第二种方法、
加密单元73,用于根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息;
根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
如果采用方式一,也就是随机算法置乱的处理时,还需要将其生成的顺序调整文件,也就是json数组(或称为json文件)也进行加密,因此,本实施例提供的加密单元73,用于基于预设密钥对顺序调整文件进行加密,得到加密后的顺序调整文件。
本申请的另一实施例中,提供一种客户端,如图8所示,包括:
信息获取单元81,用于获取视频文件对应的第二列表文件;其中,所述第二列表文件中包含有按照第二顺序排列的N个TS分片索引,不同TS分片索引用于获取不同TS分片文件;
提取单元82,用于根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引;其中,第一顺序与第二顺序不同;
解密单元83,用于基于TS分片索引获取对应的TS分片文件,基于TS分片文件所对应的密钥对所述TS分片文件进行解密;其中,不同TS分片文件对应的密钥不同。
具体来说,确定第一顺序的方式,可以包括:
方式一、针对随机置乱算法:
所述信息获取单元81,用于获取加密的顺序调整文件;所述提取单元82,用于基于预设密钥对所述加密的顺序调整文件进行解密,得到解密后的顺序调整文件,基于所述解密后的顺序调整文件确定N个TS分片索引的第一顺序;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;所述每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
所述提取单元82,用于基于顺序调整文件中N组位置信息的第一位置从低到高的顺序,依次根据与第一位置对应的所述第二位置,从第二列表文件获取对应的TS分片索引。
方式二、固定置乱算法,提取单元82,用于基于预设的包含N位数值的第一数组,确定N个TS分片索引的第一顺序;
其中,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
然后进入解密的处理,解密单元83,用于需要确定一个TS分片文件所对应的密钥,具体可以包括:解密单元83,用于基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值;根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
或者,解密单元83,用于根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一排列顺序中的位置,生成针对每一个TS分片文件的第一值;其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
本实施例中生成密钥的处理与前述实施例中生成密钥的处理相同,这里不再赘述。
示例性计算设备
在介绍了本发明示例性实施方式的方法、介质和客户端和服务器之后,接下来,参考图9对本发明示例性实施方式的计算设备进行说明。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
在一些可能的实施方式中,根据本发明实施方式的计算设备可以至少包括至少一个处理单元以及至少一个存储单元。其中,所述存储单元存储有程序代码,当所述程序代码被所述处理单元执行时,使得所述处理单元执行本说明书上述“示例性方法”部分中描述的根据本发明的各种示例性实施方式的信息加密方法或信息解密方法中的步骤。
下面参照图9来描述根据本发明的这种实施方式的计算设备90。图9显示的计算设备90仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图9所示,计算设备90以通用计算设备的形式表现。计算设备90的组件可以包括但不限于:上述至少一个处理单元901、上述至少一个存储单元902,连接不同系统组件(包括处理单元901和存储单元902)的总线903。
总线903包括数据总线、控制总线和地址总线。
存储单元902可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)9021和/或高速缓存存储器9022,可以进一步包括非易失性存储器形式的可读介质,例如只读存储器(ROM)9023。
存储单元902还可以包括具有一组(至少一个)程序模块9024的程序/实用工具9025,这样的程序模块9024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
计算设备90也可以与一个或多个外部设备904(例如键盘、指向设备等)通信。这种通信可以通过输入/输出(I/O)接口905进行。并且,计算设备90还可以通过网络适配器906与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图9所示,网络适配器906通过总线903与计算设备90的其它模块通信。应当理解,尽管图中未示出,可以结合计算设备90使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
应当注意,尽管在上文详细描述中提及了信息加密/解密装置的若干单元/模块或子单元/模块,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多单元/模块的特征和功能可以在一个单元/模块中具体化。反之,上文描述的一个单元/模块的特征和功能可以进一步划分为由多个单元/模块来具体化。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。
Claims (28)
1.一种信息加密方法,其特征在于,包括:
对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;
基于预设的包含N位数值的第一数组,确定所述第一列表文件中的N个TS分片索引在第二列表文件中的第二顺序;其中,所述第一数组是服务器与客户端之间预设相同的N位数值组成的数组;
基于所述第一列表文件生成所述第二列表文件;其中,所述第二列表文件中包含按照所述第二顺序排列的N个TS分片索引,并且,所述第二顺序与所述第一顺序不同;
对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同;
保存所述第二列表文件和所述加密后的N个TS分片文件于所述服务器中,以提供给所述客户端。
2.根据权利要求1所述的方法,其特征在于,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
3.根据权利要求1所述的方法,其特征在于,所述基于预设的包含N位数值的第一数组,确定所述第一列表文件中的N个TS分片索引在第二列表文件中的第二顺序的步骤,替换为:
根据TS分片文件的数量N,生成包含N位数值的第二数组;其中,所述第二数组中的N位数值按照递增顺序排列,并且两两相邻的数值之间的差值为预设值;对所述第二数组中的N位数值的顺序进行调整得到第三数组,基于所述第二数组以及所述第三数组生成顺序调整文件;基于所述顺序调整文件,确定所述第一列表文件中的N个TS分片索引在第二列表文件中的第二顺序;其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
4.根据权利要求3所述的方法,其特征在于,所述基于所述第一列表文件生成所述第二列表文件,包括:
基于顺序调整文件中N组位置信息的第二位置从低到高的顺序,依次根据与第二位置对应的所述第一位置,从第一列表文件获取对应的TS分片索引,将获取的TS分片索引按照所述第二位置添加至所述第二列表文件中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述方法还包括:
基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一顺序中的位置,生成针对每一个TS分片文件的第一值;
根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
6.根据权利要求5所述的方法,其特征在于,所述基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一顺序中的位置,生成针对每一个TS分片文件的第一值,还包括:
根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
基于预设密钥对顺序调整文件进行加密,得到加密后的顺序调整文件。
8.一种信息解密方法,其特征在于,所述方法包括:
获取视频文件对应的第二列表文件;其中,所述第二列表文件中包含有按照第二顺序排列的N个TS分片索引,不同TS分片索引用于获取不同TS分片文件;
基于预设的包含N位数值的第一数组,确定N个TS分片索引的第一顺序;其中,所述第一数组是服务器与客户端之间预设相同的N位数值组成的数组;
根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引;其中,所述第一顺序与所述第二顺序不同;
基于TS分片索引获取对应的TS分片文件,基于TS分片文件所对应的密钥对所述TS分片文件进行解密;其中,不同TS分片文件对应的密钥不同。
9.根据权利要求8所述的方法,其特征在于,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
10.根据权利要求8所述的方法,其特征在于,所述基于预设的包含N位数值的第一数据,确定N个TS分片索引的第一顺序的步骤,替换为:
获取加密的顺序调整文件,基于预设密钥对所述加密的顺序调整文件进行解密,得到解密后的顺序调整文件,基于所述解密后的顺序调整文件确定N个TS分片索引的第一顺序;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
11.根据权利要求10所述的方法,其特征在于,所述根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引,包括:
基于顺序调整文件中N组位置信息的第一位置从低到高的顺序,依次根据与第一位置对应的所述第二位置,从第二列表文件获取对应的TS分片索引。
12.根据权利要求8-11任一项所述的方法,其特征在于,所述方法还包括:
基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值;
根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
13.根据权利要求12所述的方法,其特征在于,所述基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值,还包括:
根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
14.一种服务器,其特征在于,包括:
编码单元,用于对视频文件进行编码得到对应的第一列表文件以及N个TS分片文件;其中,N为大于等于2的整数;所述第一列表文件中包含按照第一顺序排列的N个TS分片索引;不同TS分片索引用于获取不同的TS分片文件;
置乱单元,用于基于预设的包含N位数值的第一数组,确定第一列表文件中的N个TS分片索引在第二列表文件中的第二顺序,基于所述第一列表文件生成所述第二列表文件;其中,所述第一数组是所述服务器与客户端之间预设相同的N位数值组成的数组;所述第二列表文件中包含按照所述第二顺序排列的N个TS分片索引,并且,所述第二顺序与所述第一顺序不同;
加密单元,用于对N个TS分片文件中每一个TS分片文件采用对应的密钥进行加密,得到加密后的N个TS分片文件;其中,不同TS分片文件对应的密钥不同;
用于保存所述第二列表文件和所述加密后的N个TS分片文件于所述服务器中以提供给所述客户端的单元。
15.根据权利要求14所述的服务器,其特征在于,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
16.根据权利要求14所述的服务器,其特征在于,所述置乱单元中的用于基于预设的包含N位数值的第一数组,确定第一列表文件中的N个TS分片索引在第二列表文件中的第二顺序的作用,替换为,用于根据TS分片文件的数量N,生成包含N位数值的第二数组;其中,所述第二数组中的N位数值按照递增顺序排列,并且两两相邻的数值之间的差值为预设值;
对所述第二数组中的N位数值的顺序进行调整得到第三数组,基于所述第二数组以及所述第三数组生成顺序调整文件;
基于所述顺序调整文件,确定第一列表文件中的N个TS分片索引在第二列表文件中的第二顺序;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
17.根据权利要求16所述的服务器,其特征在于,所述置乱单元,用于基于顺序调整文件中N组位置信息的第二位置从低到高的顺序,依次根据与第二位置对应的所述第一位置,从第一列表文件获取对应的TS分片索引,将获取的TS分片索引按照所述第二位置添加至所述第二列表文件中。
18.根据权利要求14-17任一项所述的服务器,其特征在于,所述加密单元,用于基于每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一顺序中的位置,生成针对每一个TS分片文件的第一值;根据针对每一个TS分片文件的第一值以及通用密钥,生成每一个TS分片文件对应的密钥。
19.根据权利要求18所述的服务器,其特征在于,所述加密单元,用于根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
20.根据权利要求18所述的服务器,其特征在于,所述加密单元,用于基于预设密钥对顺序调整文件进行加密,得到加密后的顺序调整文件。
21.一种客户端,其特征在于,包括:
信息获取单元,用于获取视频文件对应的第二列表文件;其中,所述第二列表文件中包含有按照第二顺序排列的N个TS分片索引,不同TS分片索引用于获取不同TS分片文件;
提取单元,用于基于预设的包含N位数值的第一数组,确定N个TS分片索引的第一顺序,并根据N个分片索引的第一顺序的升序顺序,从所述第二列表文件中依次获取TS分片索引;其中,所述第一顺序与所述第二顺序不同;所述第一数组是服务器与客户端之间预设相同的N位数值组成的数组;
解密单元,用于基于TS分片索引获取对应的TS分片文件,基于TS分片文件所对应的密钥对所述TS分片文件进行解密;其中,不同TS分片文件对应的密钥不同。
22.根据权利要求21所述的客户端,其特征在于,所述N位数值中,第i位数值表示TS分片索引在第一顺序中的位置,第i位表示TS分片索引在第二顺序中的位置;i为大于等于1且小于等于N的整数。
23.根据权利要求21所述的客户端,其特征在于,所述信息获取单元,用于获取加密的顺序调整文件;
所述提取单元中的用于基于预设的包含N位数值的第一数组,确定N个TS分片索引的第一顺序的作用,替换为,用于基于预设密钥对所述加密的顺序调整文件进行解密,得到解密后的顺序调整文件,基于所述解密后的顺序调整文件确定N个TS分片索引的第一顺序;
其中,所述顺序调整文件包括N组位置信息,所述N组位置信息中不同组位置信息用于指示不同的TS分片索引的位置调整信息;每一组位置信息中的第一位置用于指示一TS分片索引在第一顺序中的位置,第二位置用于指示一TS分片索引在第二顺序中的位置。
24.根据权利要求23所述的客户端,其特征在于,所述提取单元,用于基于顺序调整文件中N组位置信息的第一位置从低到高的顺序,依次根据与第一位置对应的所述第二位置,从第二列表文件获取对应的TS分片索引。
25.根据权利要求21-24任一项所述的客户端,其特征在于,所述解密单元,用于基于每一个TS分片文件所对应的TS分片索引在第一顺序中的位置,生成针对每一个TS分片文件的第一值;根据每一个TS分片文件的第一值以及通用密钥,生成针对每一个TS分片文件对应的密钥。
26.根据权利要求25所述的客户端,其特征在于,所述解密单元,用于根据时间戳、以及每一个TS分片文件所对应的TS分片索引在第一列表文件中的第一顺序中的位置,生成针对每一个TS分片文件的第一值;
其中,所述时间戳,为顺序调整文件中携带的信息,或者,为第二列表文件的文件头中携带的信息。
27.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行权利要求1-13中任一项所述的方法。
28.一种计算设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1-13中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010581736.8A CN111698576B (zh) | 2020-06-23 | 2020-06-23 | 信息加密方法、解密方法、服务器、客户端及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010581736.8A CN111698576B (zh) | 2020-06-23 | 2020-06-23 | 信息加密方法、解密方法、服务器、客户端及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111698576A CN111698576A (zh) | 2020-09-22 |
CN111698576B true CN111698576B (zh) | 2022-04-01 |
Family
ID=72483427
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010581736.8A Active CN111698576B (zh) | 2020-06-23 | 2020-06-23 | 信息加密方法、解密方法、服务器、客户端及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111698576B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112235608B (zh) * | 2020-12-11 | 2021-03-12 | 视联动力信息技术股份有限公司 | 一种基于视联网的数据加密传输方法、装置及介质 |
CN113453042A (zh) * | 2021-06-25 | 2021-09-28 | 佳缘科技股份有限公司 | 一种基于gpu的高速安全数据传输方法 |
CN113626855A (zh) * | 2021-07-15 | 2021-11-09 | 杭州玖欣物联科技有限公司 | 一种基于区块链的数据保护方法 |
CN114282256B (zh) * | 2022-03-04 | 2022-06-07 | 支付宝(杭州)信息技术有限公司 | 一种基于秘密分享的排序打乱方法和恢复方法 |
CN114513683A (zh) * | 2022-04-20 | 2022-05-17 | 景网技术有限公司 | 一种音视频传输系统的通信测试方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255886A (zh) * | 2011-04-02 | 2011-11-23 | 南京邮电大学 | 一种流媒体点播系统的加密和解密方法 |
CN103248474A (zh) * | 2012-02-01 | 2013-08-14 | 华为技术有限公司 | 一种流媒体的加密、解密方法和装置 |
CN104657629A (zh) * | 2013-11-22 | 2015-05-27 | 中国移动通信集团公司 | 一种文件版权保护方法和设备 |
CN108183973A (zh) * | 2018-02-23 | 2018-06-19 | 苏州汉辰数字科技有限公司 | 一种流媒体量子流数据块结构及加解密方法 |
CN110401689A (zh) * | 2018-11-23 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 文件管理方法、装置及存储介质 |
CN111245818A (zh) * | 2020-01-08 | 2020-06-05 | 中国信息安全测评中心 | 文件传输方法、系统及发送端设备、接收端设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7457415B2 (en) * | 1998-08-20 | 2008-11-25 | Akikaze Technologies, Llc | Secure information distribution system utilizing information segment scrambling |
JP5208549B2 (ja) * | 2008-03-25 | 2013-06-12 | 株式会社東芝 | 通信装置、システム、送信方法及びプログラム |
US8099473B2 (en) * | 2008-12-31 | 2012-01-17 | Apple Inc. | Variant streams for real-time or near real-time streaming |
CN108156479B (zh) * | 2016-12-06 | 2021-04-02 | 创盛视联数码科技(北京)有限公司 | 视频云平台视频播放uri加解密方法 |
US10356447B2 (en) * | 2017-09-25 | 2019-07-16 | Pluto Inc. | Methods and systems for determining a video player playback position |
-
2020
- 2020-06-23 CN CN202010581736.8A patent/CN111698576B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102255886A (zh) * | 2011-04-02 | 2011-11-23 | 南京邮电大学 | 一种流媒体点播系统的加密和解密方法 |
CN103248474A (zh) * | 2012-02-01 | 2013-08-14 | 华为技术有限公司 | 一种流媒体的加密、解密方法和装置 |
CN104657629A (zh) * | 2013-11-22 | 2015-05-27 | 中国移动通信集团公司 | 一种文件版权保护方法和设备 |
CN108183973A (zh) * | 2018-02-23 | 2018-06-19 | 苏州汉辰数字科技有限公司 | 一种流媒体量子流数据块结构及加解密方法 |
CN110401689A (zh) * | 2018-11-23 | 2019-11-01 | 腾讯科技(深圳)有限公司 | 文件管理方法、装置及存储介质 |
CN111245818A (zh) * | 2020-01-08 | 2020-06-05 | 中国信息安全测评中心 | 文件传输方法、系统及发送端设备、接收端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111698576A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111698576B (zh) | 信息加密方法、解密方法、服务器、客户端及介质 | |
US11238165B2 (en) | File encryption method, file decryption method, electronic device, and storage medium | |
US10425228B2 (en) | Receipt, data reduction, and storage of encrypted data | |
JP6671278B2 (ja) | データ転送最適化 | |
US9253164B2 (en) | Distribution of portions of content | |
JP2021506004A (ja) | 分散型ストレージ方法及び装置、コンピュータ機器及び記憶媒体 | |
CN107222759B (zh) | 媒体文件加解密的方法、系统、设备和介质 | |
US20120269340A1 (en) | Hierarchical encryption/decryption device and method thereof | |
US9369288B1 (en) | Video data delivery protection | |
JP2004096754A (ja) | 一方向関数を使用する階層的暗号化装置及び方法 | |
JP6598044B2 (ja) | 情報処理装置および情報処理方法 | |
Senthilnathan et al. | An enhancing reversible data hiding for secured data using shuffle block key encryption and histogram bit shifting in cloud environment | |
CN109474418B (zh) | 文档加密方法、文档解密方法、装置、介质和计算设备 | |
JP2023529948A (ja) | データの圧縮と暗号化の為のシステム及び方法 | |
TW201317823A (zh) | 一種雲端安全儲存系統 | |
US8989432B2 (en) | System and method of adding a watermark to a JPEG image file | |
CN110401689B (zh) | 文件管理方法、装置及存储介质 | |
CN109040087B (zh) | 一种文件加、解密方法及装置 | |
CN114390317B (zh) | 面向流式传输视频的加密方法及系统 | |
CN116132041A (zh) | 密钥处理方法、装置、存储介质及电子设备 | |
CN114286130A (zh) | 视频加密方法、视频处理方法、装置及电子设备 | |
CN112685753A (zh) | 一种用于加密数据存储的方法及设备 | |
CN114501069A (zh) | 基于hls的多媒体播放方法、系统、设备及存储介质 | |
KR20190136531A (ko) | 동영상의 보안 서비스 방법 및 시스템 | |
EP1552420A1 (en) | Method for managing metadata |
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 |