CN109495459A - 媒体数据加密方法、***、设备及存储介质 - Google Patents
媒体数据加密方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN109495459A CN109495459A CN201811288858.7A CN201811288858A CN109495459A CN 109495459 A CN109495459 A CN 109495459A CN 201811288858 A CN201811288858 A CN 201811288858A CN 109495459 A CN109495459 A CN 109495459A
- Authority
- CN
- China
- Prior art keywords
- data
- encryption
- media
- configuration data
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network 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/0435—Network 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
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- 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/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0637—Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明提供了一种媒体数据加密方法、***、设备及存储介质,所述方法包括如下步骤:首先对媒体文件进行加密,得到第一加密文件;将应用配置数据进行加密,得到加密后的应用配置数据;采用未加密的应用配置数据加密所述第一加密文件中的加密参数,得到第二加密文件;最后将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。本发明在对媒体文件进行加密的基础上,提供了业务应用附加在加密的媒体文件上的应用配置数据的加密保护方案,不仅仅保护了加密的媒体文件中的媒体内容,同时也保护了应用配置数据;通过使用应用配置数据对媒体文件的加密参数加密,对应用配置数据的篡改也将导致加密媒体文件的破坏,对媒体文件的保护更加全面。
Description
技术领域
本发明涉及数据加密技术领域,尤其涉及一种媒体数据加密方法、***、设备及存储介质。
背景技术
国际标准化组织(International Organization for Standardization,ISO)公布的ISO/IEC 14496-12标准文件定义了ISO BMFF(ISO Base Media File Format)媒体文件格式,此格式描述了包含音频媒体和视频媒体在内的媒体样本的结构数据,并且描述了把结构数据和媒体样本数据结合在一起来表达媒体的方法。
ISO公布的ISO/IEC 23001-7标准文件基于ISO BMFF媒体文件格式扩展定义了CENC(Common ENCryption in ISO BMFF files)通用加密方案,此方案描述了一套结构数据,用来对ISO BMFF媒体文件格式中的包含音频媒体和视频媒体在内的媒体样本数据进行加密的加密过程进行描述,并且描述了使用加密结构数据对ISO BMFF媒体文件做加密保护的方法。
在一般情况下,业务应用***在以ISO BMFF格式向用户提供加密的媒体的同时也常常附加一些业务应用相关的配置数据,使得应用配置数据随同媒体文件一起传输给用户。虽然,在使用CENC方案对ISO BMFF媒体进行加密保护时,可以获得媒体样本数据的保护;但是,由于没有定义不同于媒体样本数据的应用相关配置数据的加密方法,使得业务应用附加在ISO BMFF媒体上的业务辅助信息得不到妥善保护。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种媒体数据加密方法、***、设备及存储介质,对应用配置数据进行加密,在应用配置数据受到篡改时也会导致加密媒体文件的破坏,更全面地保护媒体数据。
本发明实施例提供一种媒体数据加密方法,待加密的媒体数据包括媒体文件和应用配置数据,所述方法包括如下步骤:
S100:对媒体文件进行加密,得到第一加密文件;
S200:将应用配置数据进行加密,得到加密后的应用配置数据;
S300:采用未加密的应用配置数据调整所述第一加密文件中的加密参数,得到第二加密文件;
S400:将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。
可选地,所述步骤S100,包括如下步骤:
S101:将媒体文件展开成关于块的结构化文档;
S102:从所述结构化文档中获取媒体轨道数量和媒体轨道描述信息,为各个媒体轨道提供第一加密密钥和第一密钥标识;
S103:对每条媒体轨道中的媒体样本数据使用第一加密密钥进行加密,并记录每帧媒体样本数据加密时使用的第一初始向量;
S104:把结构化文档中的每条加密后的媒体轨道描述信息标记为已加密,并将第一加密密钥对应的第一加密密钥标识和第一初始向量记录在媒体轨道描述信息中,处理完成的结构化文档为所述第一加密文件。
可选地,所述步骤S104中,将第一加密密钥标识和第一初始向量记录在媒体轨道描述信息中之后,还包括如下步骤:
将处理完成的结构化文档序列化并存储成媒体文件,作为第一加密文件。
可选地,所述步骤S200,包括如下步骤:
S201:将应用配置数据划分为第一配置数据、第二配置数据和第三配置数据,所述第一配置数据包括传输中允许读取和改写的配置数据,所述第二配置数据包括传输中允许读取但不允许改写的配置数据,所述第三配置数据包括传输中不允许读取且不允许改写的配置数据;
S202:提供对第三配置数据加密的第二加密密钥、第二密钥标识和第二初始向量,将第二密钥标识和第二初始向量添加至第二配置数据;
S203:提取第二配置数据的指纹数据,将指纹数据添加至第三配置数据中;
S204:使用第二加密密钥和第二初始向量对第三配置数据进行加密;
S205:将步骤S201得到的第一配置数据,步骤S202得到的第二配置数据,步骤S204得到的第三配置数据合并,得到加密后的应用配置数据。
可选地,所述步骤S202中,还包括提供填充数据块,将填充数据块添加至第三配置数据的步骤;
所述步骤S203中,提取的指纹数据为第二配置数据和第三配置数据中与填充数据块拼在一起的数据的指纹数据。
可选地,所述步骤S300,包括如下步骤:
S301:选择第一加密文件加密时的加密参数作为待调整数据,所述加密参数包括第一密钥标识和/或第一初始向量;
S302:使用步骤S204得到的第三配置数据对所述待调整数据进行可逆性扰乱计算,将扰乱计算后的结果作为调整后的加密参数,使用调整后的加密参数替换第一加密文件中记录的加密参数。
可选地,所述步骤S300中,进行可逆性扰乱计算,包括如下步骤:
提取步骤S204得到的第三配置数据的指纹数据作为第三加密密钥;
采用第三加密密钥对所述待调整数据进行加密。
可选地,所述步骤S400,包括如下步骤:
S401:将加密后的应用配置数据构造成与媒体文件的数据块格式相兼容的应用配置数据块;
S402:将应用配置数据块添加至所述第二加密文件中,得到媒体数据加密文件。
本发明实施例还提供一种媒体数据加密***,应用于所述的媒体数据加密方法,所述***包括:
媒体文件加密模块,用于对媒体文件进行加密,得到第一加密文件;
应用配置数据加密模块,用于将应用配置数据进行加密,得到加密后的应用配置数据;
加密参数调整模块,用于采用未加密的应用配置数据调整所述第一加密文件中的加密参数,得到第二加密文件;
加密数据合并模块,用于将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。
本发明实施例还提供一种媒体数据加密设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的媒体数据加密方法的步骤。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的媒体数据加密方法的步骤。
本发明所提供的媒体数据加密方法、***、设备及存储介质具有下列优点:
本发明在对ISO BMFF媒体文件进行加密的基础上,提供了业务应用附加在加密的媒体文件上的应用配置数据的加密保护方案,不仅仅保护了加密的媒体文件中的媒体内容,同时也保护了应用配置数据;本发明使用应用配置数据参与调整并扰乱已加密的媒体文件的加密参数,对受保护的应用配置数据的篡改也将导致加密ISO BMFF媒体文件的破坏,对媒体文件的保护更加全面。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的媒体数据加密方法的流程图;
图2是本发明一实施例的对媒体文件进行加密的流程图;
图3是本发明一实施例的对应用配置数据进行加密的流程图;
图4是本发明一实施例的媒体数据加密***的结构示意图;
图5是本发明一实施例的媒体数据加密设备的结构示意图;
图6是本发明一实施例的计算机存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
首先,此处对ISO BMFF格式的媒体文件的格式进行简单介绍。
在ISO BMFF标准中以块(box)为对象来堆砌媒体文件,一个块是拥有明确字节长度(byte length)并且定义了一个块类型(box type)的一段连续的二进制数据,根据块类型的定义允许某些块的内部放置特定类型的子块。ISO BMFF标准详尽地定义了一套层级嵌套式的块类型,通过使用这套块类型可以准确描述一部电影相关的包括诸如媒体样本(media sample)、媒体样本组(media sample chunk)、媒体轨道(media track)、电影块(movie box)、电影片段(movie fragment)、随机访问点(random access point)、样本描述(sample description)在内的一系列媒体相关的概念,并记录这套概念对应的数据块,堆砌在一起即构成一个关于此电影的ISO BMFF文件。一般地,在ISO BMFF文件中如果没有特殊要求,同处一个块之内的各个子块之间没有先后堆放顺序的限制。
在ISO BMFF文件中,使用一个四字节的块类型标识来定义一个块的内部结构,块的内部是由一组按标准定义的属性集和/或一组按标准允许放置的子块。块内的子块依然必须使用块类型标识来定义子块的类型,但是块内的属性则没有对应的属性标识符,而是依标准文件中的语义描述来安排具体的二进制编排位置和二进制编排格式。
为了方便描述,本发明借用XPath(XML Path Language,W3C关于XML的系列标准之一)标准中定义的路径表达式来描述ISO BMFF文件中的块或者属性的定位方法,当然也可以使用除XPath之外的任何一种等效的方法来描述块或者属性的选取或者定位,例如使用类似NTFS文件***的路径表达式,又例如使用类似CSS Selector的选择器表达式等,本文不作限定。
按ISO BMFF标准可推导出每个块、每个属性的XPath定位表达式,比如可以用节点表达式/mdat表示媒体样本数据在文件中保存的块,又如可以用带索引下标的节点数组表达式//trak[1]表示文件中第一个媒体轨道块,又如可以用节点属性表达式//trak[1]//stsz/@sample_count表示这个属性,它记录了第一个媒体轨道的媒体样本的帧数量,等等,此处仅列举了部分块及属性,其他块及属性在本发明中不再赘述。
下面对CENC标准对ISO BMFF格式的媒体文件的加密方式进行简单介绍。
CENC标准在ISO BMFF标准的基础上扩展出了一套新的块类型专门用于描述媒体加密相关的概念,并记录这套概念对应的数据块,在使用了CENC标准块类型的ISO BMFF文件中可以记录加密的媒体样本数据。
CENC标准中在属性//trak[n]//schm/@scheme_type、属性//trak[n]//saiz/@aux_info_type和属性//trak[n]//saio/@aux_info_type等处记录了加密方案,在标准中列出了若干加密方案:cenc、cbc1、cens、cbcs等。
CENC标准中使用密钥的标识(Key Identifier,KID)来唯一描述一个用来加密数据的密钥,用来加密第n个媒体轨道的缺省的密钥标识记录在属性//trak[n]//tenc/@default_KID处,用来加密第n个媒体轨道的所有媒体样本数据的具体的密钥标识记录在//trak[n]//sgpd/seig[*]/@KID位置处,所有密钥标识都在//pssh/@KID[*]位置处有一份记录。
按CENC标准可以在//trak[n]//tenc/@default_constant_IV处记录第n个媒体轨道的缺省的加密用初始向量(Initialization Vector,IV)。按CENC标准可以在//trak[n]//sgpd/seig[*]/@const_IV处记录每个媒体样本组内各帧媒体样本在加密时共同使用的IV,记录了这组IV时上述媒体轨道缺省的IV不再有效。按CENC标准可以在//trak[n]/senc/@InitializationVector[*]处记录具体每一帧媒体样本在加密时使用的IV,记录了这些IV时上述的媒体样本组内共用的IV不再有效。
CENC标准并没有直接描述通过密钥标识获得密钥的方法,而是通过定义pssh块类型,并建议保护***利用pssh块来实现把密钥标识转换成密钥的方法。
CENC标准中定义的pssh块类型的语义描述摘录如下:
其中,FullBox是ISO BMFF中定义的一类拥有占一个字节的整数型version属性和占三个字节的整数型flags属性的Box。所述Box即ISOBMFF中定义的块,是拥有占四个字节的整数型length属性和占四个字节的type属性的一段连续数据。
其中,SystemID属性占16个字节,建议某一具体保护***用来检查是否应该由该***来处理这个pssh块的通用唯一识别码(Universally Unique Identifier,UUID)。
其中,当flags属性大于0时,会有占四个字节的KID_count属性记录了在本pssh块中接下来存储了的密钥标识的个数,并且接下来会依次列出每个密钥标识KID,每个KID占16个字节。
其中,DataSize属性占四个字节,记录接下来的Data属性的字节长度,而Data属性中建议存储与具体保护***相关的任何数据,例如获取密钥的授权资源定位符等。
通过以上对CENC标准和ISO BMFF标准的分析,如果使用业务应用相关的应用配置数据或者其之一部分对CECN加密后的媒体加密参数进行调整,即按某种算法规则扰乱加密参数,然后对参与调整的配置数据或者其之一部分进行加密,再附加在调整过加密参数的ISO BMFF文件上,可以实现应用配置数据和媒体文件的更有效的加密保护。
为了解决现有技术中的技术问题,如图1所示,本发明实施例提供一种媒体数据加密方法,所述方法包括如下步骤:
S100:对媒体文件进行加密,得到第一加密文件;
S200:将应用配置数据进行加密,得到加密后的应用配置数据;
S300:采用未加密的应用配置数据调整所述第一加密文件中的加密参数,得到第二加密文件;
S400:将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。
本发明在对ISO BMFF媒体文件进行加密的基础上,提供了业务应用附加在加密的媒体文件上的应用配置数据的加密保护方案,首先通过步骤S100对媒体文件进行加密,然后通过步骤S200对应用配置数据进行加密,不仅仅保护了加密的媒体文件中的媒体内容,同时也保护了应用配置数据;进一步地,本发明通过步骤S300使用应用配置数据参与调整并扰乱已加密的媒体文件的加密参数,对受保护的应用配置数据的篡改也将导致加密ISOBMFF媒体文件的破坏,对媒体文件的保护更加全面。
下面结合一个具体实例来进一步介绍本发明的媒体数据加密方法中各个步骤的具体实现方式,可理解的是,此处列举的具体实现方式仅为举例,而不作为本发明的范围的限制。
如图2所示,所述步骤S100包括如下步骤:
S101:将媒体文件展开成关于块的结构化文档;具体地,在该实施例中,媒体文件是ISO BMFF格式的,即解析目标ISO BMFF格式的媒体文件并展开成层级式的关于块(Box)的结构化文档;
结构化文档的第一个块为根块,使用XPath表示根块。一般地,在根块下有一个/moov或/moof块来描述本文档的媒体结构数据;另外在根块下有一个/mdat块来记录本文档的媒体样本数据,媒体样本数据的结构在/moov块或/moof块中;通过/moov/trak或者/moof/trak来描述一个媒体轨道的结构数据,比如音频媒体轨道或者视频媒体轨道等,可按XPath表达式简记第n条媒体轨道的结构描述数据的块为//trak[n]。
S102:从结构化文档中获取媒体轨道数量及媒体轨道描述信息,为每个媒体轨道准备一对第一加密密钥(Key)及第一密钥标识(Key Identifier,KID);
在该实施例中,第一加密密钥和第一密钥标识的获取可以使用一个密钥管理***,向这个密钥管理***请求获得一对Key和KID用于所有媒体轨道的加密,也可以统计媒体轨道的个数,并向这个密钥管理***请求获得每个媒体轨道一对Key和KID用于加密,即第一加密密钥和第一密钥标识与媒体轨道之间可以是一一对应的关系,也可以是一对多的关系。
S103:对每条媒体轨道中的媒体样本数据使用准备好的第一加密密钥进行加密,在加密过程中附带记录每帧媒体样本数据加密时使用的第一初始向量(InitializationVector,IV),其中第一加密密钥对应有第一密钥标识,接收方在得知加密的第一密钥标识后,可以根据之前与发送方约定的加密密钥和密钥标识的对应关系查找到采用的第一加密密钥;
此处,可以使用各种保护方案(Protection Scheme)对每条媒体轨道中的媒体样本数据进行加密,并在加密每一帧媒体样本数据时记录参与加密的IV。可以使用的各种保护方案按CENC标准有AES-CTR方案(代码为cenc)、AES-CBC方案(代码为cbc1)、子样本模式加密的AES-CTR方案(代码为cens)和子样本模式加密的AES-CBC方案(代码为cbcs)。在加密时,可以每条媒体轨道选择相同的一种保护方案,也可以每条媒体轨道选择不同的保护方案。
此外,该实施例也可以使用CENC标准之外的保护方案,例如使用SM4算法替换AES-CTR方案中的AES算法从而构造出一种新的SM4-CTR方案(可以设置代码smct),又如同样地可以对应构造出SM4-CBC方案(可以设置代码smcb)、子样本模式加密的SM4-CTR方案(可以设置代码smts)、和子样本模式加密的SM4-CBC方案等(可以设置代码smbs)。
所述加密后的数据直接覆盖或替换原加密前的对应每个媒体轨道的每帧媒体样本数据,即使用加密后的媒体样本数据重组原来的/mdat块中的媒体样本数据,在加密过程中并不改变每帧媒体样本数据的字节长度和开始字节位置,发生改变的只有媒体样本数据的内容。
通过采用步骤S103的加密过程,实现了对媒体数据中每帧媒体样本数据的加密,即保护了媒体文件本身的内容。加密方法可以选择上述列举的各种保护方案,但本发明不限于此。
S104:在对结构化文档中媒体轨道加密完成后,把结构化文档中的每条经过加密处理的媒体轨道的描述信息标记为已加密,并把应用在该媒体轨道加密操作中的第一密钥标识KID和每帧媒体样本数据对应的第一初始向量IV记录在媒体轨道的加密描述信息中;因此,接收方在通过解密得到加密描述信息中,获得的是第一密钥标识KID,而非直接的第一加密密钥,根据之前与发送方约定的加密密钥和密钥标识的对应关系查找到采用的第一加密密钥,进一步保护媒体轨道信息的安全。
按CENC标准,把每条经过加密处理的媒体轨道的描述信息标记为受保护状态,此时需要变更媒体轨道的媒体样本的流格式描述块的内容,同时需要为媒体样本流格式描述块增加子块sinf来描述保护方案的详细信息。例如如果对音频媒体轨道进行加密,则把原来的音频媒体轨道的媒体样本的流格式描述块的块类型(例如类型mp4a)变更为enca,并把原始音频媒体样本流格式描述块的块类型记录在enca/sinf/frma/@data_format属性中,则原来的流格式描述块//trak[n]/mdia/minf/stbl/stsd/mp4a变更为新的流格式描述块//trak[n]//stsd/enca,并且设有属性enca/sinf/frma@data_format的值为mp4a。又例如,如果对视频媒体轨道进行加密,例如原始视频媒体样本流格式描述块为//trak[n]//stsd/avc1,变更后为新的流格式描述块//trak[n]//stsd/encv,并且设有属性encv/sinf/frma@data_format的值为avc1。在媒体轨道加密描述块sinf/schi/tenc内详细记录了媒体轨道是否加密、轨道缺省的KID、每份IV的字节大小、或者轨道缺省的第一初始向量IV等加密轨道内样本的缺省加密参数信息。
按CENC标准,需要为每条经过加密处理的媒体轨道记录除加密的第一加密密钥Key之外的各种加密过程细节描述,例如,需要为//trak[n]//stbl块增加一系列的子块:样本组描述块sgpd、样本绑定到组的描述块sbgp、样本辅助数据尺寸块saiz、样本辅助数据位置saio等,并且为//trak[n]增加子块senc。加密方案记录在属性//trak[n]//schm/@scheme_type处,并且在每个saiz/@aux_info_type和每个saio/@aux_info_type处有记录。在sgpd/seig[*]/@KID属性数组中记录每个样本组加密使用的KID,在sgp/seig[*]/@const_IV属性数组中记录每个样本组加密使用的缺省IV,在senc/@InitializationVector[*]数组中记录每帧样本数据加密时使用的IV。
在该实施例中,可以按CENC标准的pssh块内的KID属性,把上述所有唯一的第一密钥标识KID记录在/moov/pssh/KID[*]数组中,并在/moov/pssh/@KID_count上记录所述唯一的第一密钥标识KID的个数。
步骤S104获得的加密后的结构化文档可以直接作为第一加密文件,也可以进一步经过如下步骤S105的处理之后,将得到的文件作为第一加密文件。
S105:进一步地,可以把经过上述处理的结构化文档序列化并在文件***中存储成文件。此步骤为可选的步骤,可以进一步对步骤S104获得的结构化文档进行整理,方便后续步骤S300的操作。
此处,可以把媒体数据块/mdat和媒体结构数据描述块/moov分别存储到多个分片段的ISO BMFF文件中,也可以把媒体数据块/mdat和媒体结构数据描述块/moov拼在一起存储到同一个ISO BMFF文件中。
当把媒体数据块/mdat和媒体结构数据描述块/moov拼在一起存储时,先存储/moov,然后再存储/mdat。这种存储使得可以优先读取到媒体结构描述数据,从而让应用程序快速了解到ISO BMFF文件中的媒体内容的结构化信息。
通过采用步骤S101~S104的过程,或采用步骤S101~S105的过程,可以获得加密后的媒体文件,即第一加密文件,用于后续步骤S300的操作。该实施例通过对媒体文件中每个媒体轨道中媒体样本数据的加密,可以保护媒体文件的安全。
如图3所示,所述步骤S200可以包括如下步骤:
S201:首先将应用配置数据划分为第一配置数据、第二配置数据和第三配置数据,此处三类配置数据的划分依据是配置数据的保护要求不同,具体地,第三配置数据的保护要求高于第二配置数据,第二配置数据的保护要求高于第一配置数据;
在该实施例中,把需要附加在目标ISO BMFF格式的媒体文件中的应用配置数据按实际的业务需要划分成三类:开放性配置数据、公开性配置数据、保护性配置数据,开放性配置数据即对应于第一配置数据,公开性配置数据即对应于第二配置数据,保护性配置数据即对应于第三配置数据;
此处可以是业务应用程序根据自身业务的需要把需要附加在目标ISO BMFF文件中的配置数据按所述三类进行区分并且按区别地输入到实现此方法的***中,例如业务应用程序在区分好三类配置数据后,分别为不同类别的配置数据添加不同的标签,以进行区分,在步骤S201进行处理时,可以根据标签来识别数据的类别。具体地:
所述开放性配置数据即第一配置数据,是在传输加密文件的过程中允许被改写的配置数据,也就是在传输加密文件时可以在不解密的情况下允许改变这部分数据的内容,而不会因此而造成对加密文件的破坏;例如可以设置第一配置数据的代码为cfop,但本发明不限于此。
所述公开性配置数据即第二配置数据,是在传输加密文件的过程中允许读但不允许改写的配置数据,也就是在传输过程中这部分数据可以在不解密的情况下读出原始内容,但是对这部分数据进行任何变更都将导致对加密文件造成破坏,后续将无法从被破坏的加密文件中解密出受保护的多媒体内容;例如可以设置第二配置数据的代码为cfpb,但本发明不限于此。
所述保护性配置数据即第三配置数据,是在传输加密文件的过程中不允许读和写的数据,即在传输过程中在不解密的情况下无法读出原始内容,并且对这部分数据进行任何变更都将导致对加密文件造成无法解密的破坏。例如可以设置第三配置数据的代码为cfpt,但本发明不限于此。
S202:为加密所述应用配置数据准备一对第二加密密钥Key和第二密钥标识KID,并获得一个随机的第二初始向量IV,把第二密钥标识KID和第二初始向量IV添加至所述第二配置数据中。
此处,与上面类似地,第二加密密钥和第二密钥标识的提供可以使用一个密钥管理***,向这个密钥管理***请求获得一对第二加密密钥Key和第二密钥标识KID用于配置数据的加密。此处加密配置数据的第二加密密钥Key和第二密钥标识KID不能和S100中用于对目标ISO BMFF媒体文件中的媒体轨道加密的第一加密密钥Key和第一密钥标识KID共用,需要有别于媒体轨道加密使用的第一加密密钥Key和第一密钥标识KID。
此处,可以把即将用于第三配置数据的加密过程的加密算法的名称追加到第二配置数据中,以此来指导对第三配置数据的解密操作。
此外,为了进一步提高第二配置数据的指纹数据(第二配置数据的指纹数据在后续S203步骤中介绍)破解难度,在步骤S202中,还包括获得一个随机的填充数据块PAD,把填充数据块PAD追加到所述第三配置数据中。
S203:提取所述第二配置数据的指纹数据,或者使用一种散列算法对第二配置数据进行一次散列运算以获得第二配置数据的指纹数据,并把该指纹数据追加到所述第三配置数据中。此处的指纹数据指的是数字指纹,即将第二配置数据转换成另外一串数值,只能从原第二配置数据计算出该另外一串数值,而不能从另外一串数值反推出原第二配置数据,该另外一串数值即为指纹数据。在接收方接收到时,可以将接收到的第二配置数据进行同样的转换,得到一串数值,与接收到的指纹数据进行比较,即可以确定第二配置数据是否被篡改。
进一步地,如上所述,为了提高第二配置数据的指纹数据的破解难度,还提供了填充数据块PAD,从第三配置数据中提取与填充数据块PAD拼在一起的数据,采用这部分数据与第二配置数据组合,提取第二配置数据的指纹数据时,提取第二配置数据和第三配置数据中与填充数据块PAD拼在一起的数据的指纹数据,从而得到第二配置数据被填充数据块PAD扰乱后的指纹数据。在验证第二配置数据是否被篡改时,首先从第三配置数据中提取与填充数据块PAD拼在一起的数据,计算其与第二配置数据一起的指纹数据,将其与接收到的指纹数据进行比较,即可以确定第二配置数据是否被篡改。
此处,可以使用MD5(Message Digest Algorithm MD5,消息摘要算法)算法对第二配置数据提取MD5指纹,也可以使用SHA-1(Secure Hash Algorithm 1,安全散列算法1)算法对第二配置数据提取SHA-1指纹,也可以使用其它散列算法来提取指纹,此处不一一列举。
此处,也可以把提取第二配置数据的指纹数据的散列算法的名称追加到第二配置数据中作为其种一部分,然后再对第二配置数据提取指纹。
由于第二配置数据以文本数据为主,当第二配置数据需要包含二进制数据时,使用一种文本编码格式将二进制数据转换成文本数据,例如使用BASE64编码或者HEX编码来获得二进制数据的文本表达。使用文本数据的好处显而易见,既然是公开性配置数据,那么可以在不施加过多编辑、解析操作的情况下就能快速获知公开性配置数据的内容。
在该实施例中,文本表达的第二配置数据按属性集的形式组织,使用换行符来分隔每个属性配置信息,使用“属性名=属性值”的形式来记录每个属性配置信息。以下为说明文本表达的第二配置数据的一段示例性内容:
Title=X项目的Alpha版可用性评估会议
User=XieZhigang
KID=D7A8C0FBC8CBA3BAD0BBD6BEB8D65869
IV=E8B0A25A6869E5BF9747616E67E992A2
METHOD=AES-CBC-128
HASH=SHA-1
上述示例文本的前两行内容即为某个业务应用相关的原始输入的第二配置数据,而后面的KID、IV、HASH等属性为所述S202、S203步骤追加的KID属性、IV属性、加密算法(METHOD)属性和散列算法(HASH)属性。上述示例仅作为一种可行的公开性配置数据的举例说明,具体应用中的表现形式、属性名称以及可能列出的配置内容等均不以上述示例文本为限制。
示例性地,假设随机生成的填充数据块PAD为一个16字节的二进制数据块,其16进制编码表示为:6C45 D18E D772 6866 4C98 B5B3 16CC 3B22。
使用SHA-1算法对上述示例文本以及PAD拼接在一起的数据进行指纹提取获得SHA-1的散列值的16进制编码表示为:8C25 3681 E8EF 338B C910 24CB CF39 F86A EA03E029。
当把这个散列值记录在保护性配置数据中时,可以在只对第三配置数据进行解密而不尝试对ISO BMFF媒体轨道进行解密时,就能够验证第二配置数据是否在传输过程中被篡改。
S204:使用所述步骤S202中的第二加密密钥Key和第二初始向量IV,对所述步骤S203后获得的第三配置数据进行加密。
S205:将以上所述步骤S201后获得的第一配置数据、所述步骤S202后获得的第二配置数据、所述步骤S204后获得的加密后的第三配置数据三者合在一起,即构成所述步骤S200的所述加密后的应用配置数据。
进一步地,所述步骤S300包括如下步骤:
S301:选取所述S100步骤中的第一加密文件中的加密参数作为待调整数据,此处待调整的加密参数可以包括第一密钥标识KID,也可以包括第一初始向量IV,也可以同时包括第一密钥标识KID和第一初始向量IV;
所述步骤S301可以选取所述第一加密文件中的第一密钥标识KID作为待调整数据。当使用第一加密文件中的加密媒体轨道的第一密钥标识KID作为待调整数据时,选取所述步骤S104所述的记录第一密钥标识KID的所有位置,具体有://tenc[*]/@default_KID、//sgpd[*]/seig[*]/@KID、和//pssh/@KID[*]等属性数组。
又或者,所述步骤S301可以选取所述第一加密文件中的第一初始向量IV作为待调整数据。当使用第一加密文件中的加密媒体轨道的第一初始向量IV作为待调整数据时,选取所述步骤S104所述的记录初始向量IV的所有位置,具体有://tenc[*]/@default_constant_IV、//sgpd[*]/seig[*]/@const_IV、和//senc[*]/@InitializationVector[*]等属性数组。一般地,当选取第一初始向量IV作为待调整数据时,不适合在CTR类的加密方案情况下使用,即,当//schm[*]/@scheme_type使用了cenc或者cens或者如所述步骤S103所述的smct或者smts等加密方案时,不应该选取第一初始向量IV作为待调整数据。另外,当使用第一初始向量IV作为待调整数据时,需要调整的数据量也将远远大于使用第一密钥标识KID作为待调整数据时需要调整的数据量。
又或者可以同时选取第一密钥标识KID和第一初始向量IV作为待调整数据。本发明不再赘述。
S302:使用所述步骤S204的待加密的原始保护性配置数据对所述步骤S301所选取的待调整数据进行可逆性扰乱计算,把扰乱计算后的结果写回所选取的待调整数据的存储位置;
此处,所述步骤S302的可逆性扰乱计算,例如,可以使用S203步骤中的所述散列算法相同的散列算法对S204步骤中所述的第三配置数据提取指纹,截取指纹的前16字节当作第三加密密钥Key,对所选取的待调整数据进行加密。此时的加密算法可以选择如包括XOR(异或)算法、AES-ECB算法、SM4-ECB算法等各类对称式加密算法,本发明不再一一赘述。
经所述步骤S302之后,即获得了加密参数调整后的第二加密文件,因为部分加密参数已经被扰乱,所以无法直接用来对媒体轨道中的媒体样本数据进行解密。
由此,该实施例的媒体数据加密方法进一步提高了媒体文件本身加密的安全性,另外,当应用配置数据被篡改时,也会导致加密后的媒体文件的破坏,而无法正确解密。在接收端接收到媒体数据时,如果需要对媒体文件进行加密,首先需要对应用配置数据进行解密,得到解密后的应用配置数据后,再根据应用配置数据生成对应的第三加密密钥,并对媒体文件的加密参数进行解密,然后使用解密得到的媒体文件的加密参数(第一密钥标识和/或第一初始向量)对媒体文件进行解密,得到解密后的媒体文件。因此,本发明不仅可以实现对应用配置数据的加密保护,还可以结合应用配置数据对媒体文件加密参数的扰乱,进一步加强对媒体文件的加密保护。
进一步地,所述步骤S400包括如下步骤:
S401:把所述步骤S200获得的所述加密后的应用配置数据构造成与媒体文件的数据库格式相兼容的应用配置数据库;在该实施例中,媒体文件为ISO BMFF格式,因此按ISOBMFF的块格式构造出一个应用配置数据块;
此处,构造出一个容纳第一配置数据的块并以cfop为块类型标识,构造出一个容纳第二配置数据的块并以cfpb为块类型标识,构造出一个容纳第三配置数据的块并以cfpt为块类型标识,构造出一个容纳上述cfop、cfpb和cfpt三个块的块并以cfbg为块类型标识,此处的cfop、cfpb、cfpt、cfbg仅为指称和区别之用,本发明并不限定具体取值为哪四个字符。
此时,cfbg/cfop块中记录第一配置数据,cfbg/cfpb块中记录第二配置数据,cfbg/cfpt块中记录第三配置数据。
更进一步,依所述步骤S203,cfbg/cfpb/@KID属性记录了加密第三配置数据的第二加密密钥KID,cfbg/cfpb/@IV属性记录了加密第三配置数据的第二初始向量IV,cfbg/cfpb/@METHOD属性记录了加密第三配置数据的加密算法,cfbg/cfpb/@HASH属性记录了对第二配置数据取指纹的散列算法。
进一步地,可以在cfbg/cfpt块中构造属性cfpt/@PAD用来记录所述S202的随机填充数据块PAD,可以在cfbg/cfpt块中构造属性cfpt/@signature用来记录所述S203的散列值。
此处,可以直接使用cfbg/cfpb/@HASH属性记录的散列算法对第三配置数据取指纹做成所述S302的可逆性扰乱计算的第三加密密钥Key,又或者,在cfbg/cfpt块中构造属性cfpt/@HASH用来记录生成所述可逆性扰乱计算的第三加密密钥Key的散列算法。
进一步地,可以在cfbg/cfpt块中构造属性cfpt/@selector用来记录所述步骤S301的选取待调整加密参数的方法,例如,cfpt/@selector=KID,表示调整的加密参数是第一加密密钥,又或者,cfpt/@selector=IV,表示调整的加密参数是第一初始向量。
更进一步,上述的为cfpb、cfpt块所做的任何构造,如果影响或者导致了第二配置数据或者第三配置数据的内容的变更,则需要重新跳到所述步骤S300并对调整前的初级加密文件进行数据变更后的重新调整。
S402:把S401步骤所构造的应用配置数据块纳入到S300之所述的第二加密文件中,得到终级加密文件,即最终得到的媒体数据的加密文件。
在该实施例中,把S401步骤得到的应用配置数据块纳入到ISO BMFF文件的pssh块中。当把所述数据块纳入pssh块中时,对应的第一配置数据块即为/moov/pssh/cfbg/cfop,对应的第二配置数据块即为/moov/pssh/cfbg/cfpb,对应的第三配置数据块即为/moov/pssh/cfbg/cfpt。
进一步地,把S401所述数据块纳入到ISO BMFF文件的moov块中。当把所述数据块纳入moov块中时,对应的第一配置数据块即为/moov/cfbg/cfop,对应的第二配置数据块即为/moov/cfbg/cfpb,对应的第三配置数据块即为/moov/cfbg/cfpt。
S403:在步骤S402之后,即完成了对包括媒体文件和应用配置数据的媒体数据的加密工作,可选地,还可以进一步把步骤S402后获得的终级加密文件序列化并在文件***中存储成文件,或者向网络上发布,又或者向网络端口中写出。
接收端在接收到媒体文件后,首先由于第二配置数据是未加密的,可以根据第二配置数据中记录的第二密钥标识和第二初始向量查询到第二加密密钥,根据第二加密密钥和第二初始向量对应用配置数据进行解密,解密得到应用配置数据后,根据记录的媒体文件的加密参数的扰乱算法,采用应用配置数据的第三配置数据计算第三加密密钥,根据第三加密密钥对媒体文件的加密参数进行解密,解密后得到的加密参数可以是第一密钥标识和/或第一初始向量,然后再根据第一密钥标识查询到第一加密密钥,采用第一加密密钥和第一初始向量对媒体文件中各个媒体轨道的媒体样本数据进行解密,解密后即得到解密的媒体文件。
此外,由于第三配置数据中记录了第二配置数据和第三配置数据中与随机填充数据块拼在一起的数据的指纹数据,在对应用配置数据解密后,可以提取第二配置数据和第三配置数据中与随机填充数据块拼在一起的数据的指纹数据,然后从第三配置数据中提取与随机填充数据块拼在一起的数据,根据记录的指纹数据提取方法,计算第二配置数据和第三配置数据中与随机填充数据块拼在一起的数据的指纹数据,与第三配置数据中记录的指纹数据进行比较,如果一致,说明第二配置数据未被篡改,如果不一致,说明第二配置数据已被篡改。因此,该实施例的媒体数据加密方法不仅可以保护不允许读写的第三配置数据的安全,还可以进一步保护不允许改写的第二配置数据的安全。
如图4所示,本发明实施例还提供一种媒体数据加密***,用于实现上述的媒体数据加密方法,所述***包括:
媒体文件加密模块M100,用于对媒体文件进行加密,得到第一加密文件;
应用配置数据加密模块M200,用于将应用配置数据进行加密,得到加密后的应用配置数据;
加密参数调整模块M300,用于采用未加密的应用配置数据调整所述第一加密文件中的加密参数,得到第二加密文件;
加密数据合并模块M400,用于将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。
因此,本发明在对ISO BMFF媒体文件进行加密的基础上,提供了业务应用附加在加密的媒体文件上的应用配置数据的加密保护方案,首先通过媒体文件加密模块M100对媒体文件进行加密,然后通过应用配置数据加密模块M200对应用配置数据进行加密,不仅仅保护了加密的媒体文件中的媒体内容,同时也保护了应用配置数据;进一步地,本发明通过加密参数调整模块M300使用应用配置数据参与调整并扰乱已加密的媒体文件的加密参数,对受保护的应用配置数据的篡改也将导致加密ISO BMFF媒体文件的破坏,对媒体文件的保护更加全面。
所述媒体数据加密***的各个功能模块在实现各个对应功能时,可以采用上述媒体数据加密方法的实施例的各个步骤进行实施,例如媒体文件加密模块M100可以根据上述步骤S101~S104或步骤S101~S105来对媒体文件进行加密,应用配置数据加密模块M200可以根据上述步骤S201~S205来对媒体文件进行加密,加密参数调整模块M300可以根据上述步骤S301~S302来调整媒体文件的加密参数,加密数据合并模块M400可以根据上述步骤S401~S402或步骤S401~S403来将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。但可以理解的是,上述媒体数据加密方法的具体实施方式仅为示例,而不作为本发明的保护范围的限制。
本发明实施例还提供一种媒体数据加密设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的媒体数据加密方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为***、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“***”。
下面参照图5来描述根据本发明的这种实施方式的电子设备600。图5显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同***组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作***、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、***总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID***、磁带驱动器以及数据备份存储***等。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被执行时实现所述的媒体数据加密方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图6所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
综上所述,与现有技术相比,本发明所提供的媒体数据加密方法、***、设备及存储介质具有下列优点:
本发明在对ISO BMFF媒体文件进行加密的基础上,提供了业务应用附加在加密的媒体文件上的应用配置数据的加密保护方案,不仅仅保护了加密的媒体文件中的媒体内容,同时也保护了应用配置数据;本发明使用应用配置数据参与调整并扰乱已加密的媒体文件的加密参数,对受保护的应用配置数据的篡改也将导致加密ISO BMFF媒体文件的破坏,对媒体文件的保护更加全面。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (11)
1.一种媒体数据加密方法,其特征在于,待加密的媒体数据包括媒体文件和应用配置数据,所述方法包括如下步骤:
S100:对媒体文件进行加密,得到第一加密文件;
S200:将应用配置数据进行加密,得到加密后的应用配置数据;
S300:采用未加密的应用配置数据调整所述第一加密文件中的加密参数,得到第二加密文件;
S400:将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。
2.根据权利要求1所述的媒体数据加密方法,其特征在于,所述步骤S100,包括如下步骤:
S101:将媒体文件展开成关于块的结构化文档;
S102:从所述结构化文档中获取媒体轨道数量和媒体轨道描述信息,为各个媒体轨道提供第一加密密钥和第一密钥标识;
S103:对每条媒体轨道中的媒体样本数据使用第一加密密钥进行加密,并记录每帧媒体样本数据加密时使用的第一初始向量;
S104:把结构化文档中的每条加密后的媒体轨道描述信息标记为已加密,并将第一加密密钥对应的第一加密密钥标识和第一初始向量记录在媒体轨道描述信息中,处理完成的结构化文档为所述第一加密文件。
3.根据权利要求2所述的媒体数据加密方法,其特征在于,所述步骤S104中,将第一加密密钥标识和第一初始向量记录在媒体轨道描述信息中之后,还包括如下步骤:
将处理完成的结构化文档序列化并存储成媒体文件,作为第一加密文件。
4.根据权利要求1所述的媒体数据加密方法,其特征在于,所述步骤S200,包括如下步骤:
S201:将应用配置数据划分为第一配置数据、第二配置数据和第三配置数据,所述第一配置数据包括传输中允许读取和改写的配置数据,所述第二配置数据包括传输中允许读取但不允许改写的配置数据,所述第三配置数据包括传输中不允许读取且不允许改写的配置数据;
S202:提供对第三配置数据加密的第二加密密钥、第二密钥标识和第二初始向量,将第二密钥标识和第二初始向量添加至第二配置数据;
S203:提取第二配置数据的指纹数据,将指纹数据添加至第三配置数据中;
S204:使用第二加密密钥和第二初始向量对第三配置数据进行加密;
S205:将步骤S201得到的第一配置数据,步骤S202得到的第二配置数据,步骤S204得到的第三配置数据合并,得到加密后的应用配置数据。
5.根据权利要求4所述的媒体数据加密方法,其特征在于,所述步骤S202中,还包括提供填充数据块,将填充数据块添加至第三配置数据的步骤;
所述步骤S203中,提取的指纹数据为第二配置数据和第三配置数据中与填充数据块拼在一起的数据的指纹数据。
6.根据权利要求4所述的媒体数据加密方法,其特征在于,所述步骤S300,包括如下步骤:
S301:选择第一加密文件加密时的加密参数作为待调整数据,所述加密参数包括第一密钥标识和/或第一初始向量;
S302:使用步骤S204得到的第三配置数据对所述待调整数据进行可逆性扰乱计算,将扰乱计算后的结果作为调整后的加密参数,使用调整后的加密参数替换第一加密文件中记录的加密参数。
7.根据权利要求6所述的媒体数据加密方法,其特征在于,所述步骤S300中,进行可逆性扰乱计算,包括如下步骤:
提取步骤S204得到的第三配置数据的指纹数据作为第三加密密钥;
采用第三加密密钥对所述待调整数据进行加密。
8.根据权利要求1所述的媒体数据加密方法,其特征在于,所述步骤S400,包括如下步骤:
S401:将加密后的应用配置数据构造成与媒体文件的数据块格式相兼容的应用配置数据块;
S402:将应用配置数据块添加至所述第二加密文件中,得到媒体数据加密文件。
9.一种媒体数据加密***,其特征在于,应用于权利要求1至8中任一项所述的媒体数据加密方法,所述***包括:
媒体文件加密模块,用于对媒体文件进行加密,得到第一加密文件;
应用配置数据加密模块,用于将应用配置数据进行加密,得到加密后的应用配置数据;
加密参数调整模块,用于采用未加密的应用配置数据调整所述第一加密文件中的加密参数,得到第二加密文件;
加密数据合并模块,用于将加密后的应用配置数据和第二加密文件合并作为媒体数据加密文件。
10.一种媒体数据加密设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至8中任一项所述的媒体数据加密方法的步骤。
11.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被执行时实现权利要求1至8中任一项所述的媒体数据加密方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811288858.7A CN109495459B (zh) | 2018-10-31 | 2018-10-31 | 媒体数据加密方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811288858.7A CN109495459B (zh) | 2018-10-31 | 2018-10-31 | 媒体数据加密方法、***、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109495459A true CN109495459A (zh) | 2019-03-19 |
CN109495459B CN109495459B (zh) | 2021-05-28 |
Family
ID=65691769
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811288858.7A Active CN109495459B (zh) | 2018-10-31 | 2018-10-31 | 媒体数据加密方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109495459B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990848A (zh) * | 2019-11-18 | 2020-04-10 | 上海易点时空网络有限公司 | 基于hive数据仓库的敏感字加密方法及装置、存储介质 |
WO2021120831A1 (zh) * | 2019-12-20 | 2021-06-24 | 北京云享智胜科技有限公司 | 流媒体数据加密、解密方法、装置、电子设备及存储介质 |
CN113094736A (zh) * | 2021-06-04 | 2021-07-09 | 工业信息安全(四川)创新中心有限公司 | 身份证号码加密方法、解密方法、加密***及解密*** |
CN114286116A (zh) * | 2021-12-10 | 2022-04-05 | 深圳市洲明科技股份有限公司 | 媒体数据播放方法、装置和*** |
CN114826590A (zh) * | 2022-05-19 | 2022-07-29 | 北京海泰方圆科技股份有限公司 | 一种分组模式加密方法、解密方法及其装置、设备 |
CN116455560A (zh) * | 2023-06-16 | 2023-07-18 | 北京智芯微电子科技有限公司 | 数据加密方法、数据解密方法、装置、设备及介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185854A1 (en) * | 2009-01-21 | 2010-07-22 | Microsoft Corporation | Multiple content protection systems in a file |
US20160149865A1 (en) * | 2014-11-25 | 2016-05-26 | Stavros Antonakakis | Cryptographic security profiles |
US20170171610A1 (en) * | 2015-12-15 | 2017-06-15 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for media delivery using common mezzanine distribution format |
CN107911715A (zh) * | 2017-11-22 | 2018-04-13 | 中山大学 | 一种基于cavlc编码的h.264/avc视频格式兼容加密方法 |
CN108229112A (zh) * | 2016-12-22 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种保护应用程序、应用程序的运行方法以及装置 |
CN108632565A (zh) * | 2018-05-25 | 2018-10-09 | 苏州科达科技股份有限公司 | 视频码流的传输方法、播放方法、装置及会议设备 |
-
2018
- 2018-10-31 CN CN201811288858.7A patent/CN109495459B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100185854A1 (en) * | 2009-01-21 | 2010-07-22 | Microsoft Corporation | Multiple content protection systems in a file |
US20160149865A1 (en) * | 2014-11-25 | 2016-05-26 | Stavros Antonakakis | Cryptographic security profiles |
US20170171610A1 (en) * | 2015-12-15 | 2017-06-15 | Telefonaktiebolaget Lm Ericsson (Publ) | System and method for media delivery using common mezzanine distribution format |
CN108229112A (zh) * | 2016-12-22 | 2018-06-29 | 阿里巴巴集团控股有限公司 | 一种保护应用程序、应用程序的运行方法以及装置 |
CN107911715A (zh) * | 2017-11-22 | 2018-04-13 | 中山大学 | 一种基于cavlc编码的h.264/avc视频格式兼容加密方法 |
CN108632565A (zh) * | 2018-05-25 | 2018-10-09 | 苏州科达科技股份有限公司 | 视频码流的传输方法、播放方法、装置及会议设备 |
Non-Patent Citations (2)
Title |
---|
XINDE LI: ""Automatic Welding Seam Tracking and Identification"", 《IEEE TRANSACTIONS ON INDUSTRIAL ELECTRONICS》 * |
李建: "自适应比特率视频流的适时封装机制", 《计算机与现代化》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110990848A (zh) * | 2019-11-18 | 2020-04-10 | 上海易点时空网络有限公司 | 基于hive数据仓库的敏感字加密方法及装置、存储介质 |
WO2021120831A1 (zh) * | 2019-12-20 | 2021-06-24 | 北京云享智胜科技有限公司 | 流媒体数据加密、解密方法、装置、电子设备及存储介质 |
CN113094736A (zh) * | 2021-06-04 | 2021-07-09 | 工业信息安全(四川)创新中心有限公司 | 身份证号码加密方法、解密方法、加密***及解密*** |
CN114286116A (zh) * | 2021-12-10 | 2022-04-05 | 深圳市洲明科技股份有限公司 | 媒体数据播放方法、装置和*** |
CN114826590A (zh) * | 2022-05-19 | 2022-07-29 | 北京海泰方圆科技股份有限公司 | 一种分组模式加密方法、解密方法及其装置、设备 |
CN116455560A (zh) * | 2023-06-16 | 2023-07-18 | 北京智芯微电子科技有限公司 | 数据加密方法、数据解密方法、装置、设备及介质 |
CN116455560B (zh) * | 2023-06-16 | 2023-08-29 | 北京智芯微电子科技有限公司 | 数据加密方法、数据解密方法、装置、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109495459B (zh) | 2021-05-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109495459A (zh) | 媒体数据加密方法、***、设备及存储介质 | |
CN109067814B (zh) | 媒体数据加密方法、***、设备及存储介质 | |
CN111709038B (zh) | 文件加密解密方法、分布式存储***、设备及存储介质 | |
EP2813967B1 (en) | Apparatus and method for managing digital copyright for epub-based content, and apparatus and method for providing epub-based content according to user authority | |
EP1817687B1 (en) | Apparatus and method for supporting content exchange between different drm domains | |
US20100257370A1 (en) | Apparatus And Method for Supporting Content Exchange Between Different DRM Domains | |
US20080209231A1 (en) | Contents Encryption Method, System and Method for Providing Contents Through Network Using the Encryption Method | |
US20130103954A1 (en) | Key usage policies for cryptographic keys | |
CN107408135A (zh) | 用于对加密数据进行查询处理的数据库服务器和客户端 | |
CN103336929B (zh) | 用于已加密文件访问的方法和*** | |
US20120290837A1 (en) | Method and system for secured management of online XML document services through structure-preserving asymmetric encryption | |
CN104463554A (zh) | 一种电子***的实现方法和装置 | |
US11755499B2 (en) | Locally-stored remote block data integrity | |
US8675871B2 (en) | Protecting a control vector in an optional block of a standard key block | |
CN107733904A (zh) | 一种虚拟机数据加密和解密的方法、装置及平台 | |
CN107222759A (zh) | 媒体文件加解密的方法、***、设备和介质 | |
CN105162588A (zh) | 一种媒体文件加解密方法和装置 | |
CN106682521B (zh) | 基于驱动层的文件透明加解密***及方法 | |
US20240152630A1 (en) | Security system and method for real-time encryption or decryption of data using key management server | |
CN104182691B (zh) | 数据保密方法及装置 | |
US20150074823A1 (en) | Server, terminal and digital copyright management method | |
CN116132041A (zh) | 密钥处理方法、装置、存储介质及电子设备 | |
CN113569272B (zh) | 一种安全计算机实现方法和安全计算机 | |
US20130058487A1 (en) | Method of building optional blocks | |
CN106156625A (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 | ||
GR01 | Patent grant |