CN109492408B - 一种加密数据的方法及装置 - Google Patents

一种加密数据的方法及装置 Download PDF

Info

Publication number
CN109492408B
CN109492408B CN201710823246.2A CN201710823246A CN109492408B CN 109492408 B CN109492408 B CN 109492408B CN 201710823246 A CN201710823246 A CN 201710823246A CN 109492408 B CN109492408 B CN 109492408B
Authority
CN
China
Prior art keywords
data
data unit
packet
media
content
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
Application number
CN201710823246.2A
Other languages
English (en)
Other versions
CN109492408A (zh
Inventor
辛安民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201710823246.2A priority Critical patent/CN109492408B/zh
Priority to US16/646,761 priority patent/US11444927B2/en
Priority to PCT/CN2018/101900 priority patent/WO2019052323A1/zh
Priority to EP18856094.0A priority patent/EP3683706B1/en
Publication of CN109492408A publication Critical patent/CN109492408A/zh
Application granted granted Critical
Publication of CN109492408B publication Critical patent/CN109492408B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0457Network 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 dynamic encryption, e.g. stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0464Network 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 using hop-by-hop encryption, i.e. wherein an intermediate entity decrypts the information and re-encrypts it before forwarding it
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/70Media network packetisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic 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/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本公开是关于一种加密数据的方法及装置,属于通信领域。所述方法包括:获取待加密的媒体帧包括的第一数据单元,所述第一数据单元包括边界部分和内容部分,所述边界部分包括用于标识所述第一数据单元起始边界的边界信息,所述内容部分包括所述第一数据单元的内容数据;加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元,所述第二数据单元边界部分包括所述边界信息,所述第二数据单元的内容部分包括所述内容数据的数据长度和对所述内容数据进行加密得到的加密数据。所述装置包括:获取模块和加密模块。本发明能够提高对数据加密的安全性。

Description

一种加密数据的方法及装置
技术领域
本公开涉及通信领域,特别涉及一种加密数据的方法及装置。
背景技术
随着流媒体的快速发展,越来越多的音视频数据产生,其中音视频数据安全是一个重要的环节,为了能够保证音视频数据的安全,势必要求对音视频数据进行加密。
对音视频数据加密实质是对音视频数据帧加密,对于任一帧音视频数据帧,可以从该帧音视频数据帧中每隔固定字节选择M个字节的数据,对选择的M个字节的数据进行加密,以实现对整个音视频数据帧加密,M的取值可以为8、16或32等整数。
公开人在实现本公开的过程中,发现上述方式至少存在如下缺陷:
目前的加密方案在该帧音视频数据帧中每隔固定字节选择M个字节的数据进行加密,音视频数据帧中的内容还存在大量未加密的情况,安全性仍较低。
发明内容
为了提高数据加密安全性,本公开实施例提供了一种加密数据的方法及装置。所述技术方案如下:
根据本公开实施例的第一方面,提供一种加密数据的方法,所述方法包括:
获取待加密的媒体帧包括的第一数据单元,所述第一数据单元包括边界部分和内容部分,所述边界部分包括用于标识所述第一数据单元起始边界的边界信息,所述内容部分包括所述第一数据单元的内容数据;
加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元,所述第二数据单元边界部分包括所述边界信息,所述第二数据单元的内容部分包括所述内容数据的数据长度和对所述内容数据进行加密得到的加密数据。
可选的,所述加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元之后,还包括:
当所述内容数据为所述媒体帧的参数信息时,生成包括所述第二数据单元的第一媒体包,所述第一媒体包的包头字段包括所述媒体帧的时间戳和所述第一媒体包的包序号,所述第一媒体包的负载字段包括所述第二数据单元。
可选的,在所述边界信息包括识别码,生成的所述第一媒体包的负载字段包括所述识别码和所述第二数据单元的内容部分。
可选的,所述加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元之后,还包括:
当所述内容数据为所述媒体帧的媒体数据时,生成第二媒体包,所述第二媒体包的包头字段包括所述媒体帧的时间戳和所述第二媒体包的包序号,所述第二媒体包的负载字段包括用于标识所述第二媒体包为起始包的第一标识信息、所述边界信息和从所述第二数据单元的内容部分的起始位置截取的部分数据。
可选的,所述第二媒体包的负载字段包括指示器、头部和净荷字段,所述头部位于所述指示器和所述净荷字段之间,所述边界信息包括识别码,所述识别码包括第一部分内容和第二部分内容;
所述指示器包括所述第一部分内容,所述头部包括所述第二部分内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述第二媒体包的负载字段包括头部和净荷字段,所述头部位于所述净荷字段之前,所述边界信息包括识别码;
所述头部包括所述识别码的第一个字节的中间六比特内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述生成第二媒体包之后,还包括:
确定所述第二数据单元的内容部分包括未截取的剩余数据的长度是否超过预设阈值;
如果所述剩余数据超过预设阈值,则从所述剩余数据的起始位置处截取部分数据;
生成第三媒体包,并返回执行所述确定所述第二数据单元的内容部分还包括未截取的剩余数据的长度是否超过预设阈值的操作;其中,所述第三媒体包的包头字段包括所述媒体帧的时间戳和所述第三媒体包的包序号,所述第三媒体包的负载字段包括用于标识所述第三媒体包为中间包的第二标识信息和所述截取的部分数据。
可选的,所述方法还包括:
如果所述剩余数据未超过预设阈值,生成第四媒体包,所述第四媒体包的包头字段包括所述媒体帧的时间戳和所述第四媒体包的包序号,所述第四媒体包的负载字段包括用于标识所述第四媒体包为结尾包的第三标识信息和所述剩余数据。
根据本公开实施例的第二方面,提供一种加密数据的装置,所述装置包括:
获取模块,用于获取待加密的媒体帧包括的第一数据单元,所述第一数据单元包括边界部分和内容部分,所述边界部分包括用于标识所述第一数据单元起始边界的边界信息,所述内容部分包括所述第一数据单元的内容数据;
加密模块,用于加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元,所述第二数据单元边界部分包括所述边界信息,所述第二数据单元的内容部分包括所述内容数据的数据长度和对所述内容数据进行加密得到的加密数据。
可选的,所述装置还包括:
第一生成模块,用于当所述内容数据为所述媒体帧的参数信息时,生成包括所述第二数据单元的第一媒体包,所述第一媒体包的包头字段包括所述媒体帧的时间戳和所述第一媒体包的包序号,所述第一媒体包的负载字段包括所述第二数据单元。
可选的,在所述边界信息包括识别码时,生成的所述第一媒体包的负载字段包括所述识别码和所述第二数据单元的内容部分。
可选的,所述装置还包括:
第二生成模块,用于当所述内容数据为所述媒体帧的媒体数据时,生成第二媒体包,所述第二媒体包的包头字段包括所述媒体帧的时间戳和所述第二媒体包的包序号,所述第二媒体包的负载字段包括用于标识所述第二媒体包为起始包的第一标识信息、所述边界信息和从所述第二数据单元的内容部分的起始位置截取的部分数据。
可选的,所述第二媒体包的负载字段包括指示器、头部和净荷字段,所述头部位于所述指示器和所述净荷字段之间,所述边界信息包括识别码,所述识别码包括第一部分内容和第二部分内容;
所述指示器包括所述第一部分内容,所述头部包括所述第二部分内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述第二媒体包的负载字段包括头部和净荷字段,所述头部位于所述净荷字段之前,所述边界信息包括识别码;
所述头部包括所述识别码的第一个字节的中间六比特内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述装置还包括:
确定模块,用于确定所述第二数据单元的内容部分包括未截取的剩余数据的长度是否超过预设阈值;
截取模块,用于如果所述剩余数据超过预设阈值,则从所述剩余数据的起始位置处截取部分数据;
第三生成模块,用于生成第三媒体包,并返回执行所述确定所述第二数据单元的内容部分还包括未截取的剩余数据的长度是否超过预设阈值的操作;其中,所述第三媒体包的包头字段包括所述媒体帧的时间戳和所述第三媒体包的包序号,所述第三媒体包的负载字段包括用于标识所述第三媒体包为中间包的第二标识信息和所述截取的部分数据。
可选的,所述装置还包括:
第四生成模块,用于如果所述剩余数据未超过预设阈值,生成第四媒体包,所述第四媒体包的包头字段包括所述媒体帧的时间戳和所述第四媒体包的包序号,所述第四媒体包的负载字段包括用于标识所述第四媒体包为结尾包的第三标识信息和所述剩余数据。
本公开实施例提供的技术方案可以包括以下有益效果:
通过边界信息可以确定出第一数据单元中的内容部分,进而可以通过对每个第一数据单元中的内容部分中的所有内容数据进行加密,这样可以提高数据安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是本发明实施例1提供的一种加密数据的方法流程图;
图2-1是本发明实施例2提供的一种加密数据的方法流程图;
图2-2是本发明实施例2提供的媒体帧的结构示意图;
图2-3是本发明实施例2提供的H.264编码方式的媒体帧的结构示意图;
图2-4是本发明实施例2提供的H.265编码方式的媒体帧的结构示意图;
图2-5是本发明实施例2提供的媒体包的结构示意图;
图2-6是本发明实施例2提供的媒体包的包头字段的结构示意图;
图2-7是本发明实施例2提供的第一负载字段的结构示意图;
图2-8是本发明实施例2提供的第二负载字段的结构示意图;
图2-9是本发明实施例2提供的第三负载字段的结构示意图;
图2-10是本发明实施例2提供的第四负载字段的结构示意图;
图3是本发明实施例3提供的一种解密数据的方法流程图;
图4是本发明实施例4提供的一种加密数据的装置结构示意图;
图5是本发明实施例5提供的一种加密数据的装置结构示意图。
通过上述附图,已示出本公开明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本公开构思的范围,而是通过参考特定实施例为本领域技术人员说明本公开的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
实施例1
参见图1,本发明实施例提供了一种加密数据的方法,所述方法包括:
步骤101:获取待加密的媒体帧包括的第一数据单元,第一数据单元包括边界部分和内容部分,该边界部分包括用于标识第一数据单元起始边界的边界信息,该内容部分包括第一数据单元的内容数据。
通过第一数据单元中的边界部分中的边界信息可以识别出待加密的媒体帧中的每个第一个数据单元并进一步识别出每个第一数据单元中的内容部分。
步骤102:加密第一数据单元的内容部分包括的内容数据得到第二数据单元,第二数据单元边界部分包括该边界信息,第二数据单元的内容部分包括该内容数据的数据长度和对该内容数据进行加密得到的加密数据。
在本步骤中对待加密的媒体帧中的每个第一数据单元中的内容数据进行加密,对该第一数据单元中的内容数据进行加密得到加密数据后,自动将该第一数据单元中的该内容数据更新为该内容数据的数据长度和该加密数据,形成第二数据单元。
在本发明实施例中,通过边界信息可以确定出第一数据单元中的内容部分,进而可以对每个第一数据单元中的内容部分中的所有内容数据进行加密,这样可以提高数据安全性。
实施例2
参见图2-1,本发明实施例提供了一种加密数据的方法,包括:
步骤201:获取待加密的媒体帧包括的第一数据单元,第一数据单元包括边界部分和内容部分,该边界部分包括用于标识第一数据单元起始边界的边界信息,该内容部分包括第一数据单元的内容数据。
参见图2-2,图2-2为待加密的媒体帧在本步骤中,可以获取摄像机或编码器编码出的一个个第一数据单元,将获取的第一数据单元组成待加密的媒体帧。
第一数据单元的内容数据包括媒体帧的参数信息和媒体数据两种,该媒体数据可以为音视频数据等。媒体帧的参数信息包括SPS(Sequence Parameter Set,序列参数集)、PPS(Picture Parameter Set,图像参数集)和VPS(Video Parameter Set,视频参数集)等多种参数。按第一数据单元的内容数据,可以将第一数据单元分为不同类型的数据单元。所以第一数据单元可以包括如下几种类型的数据单元,分别为包括媒体数据的第一类型数据单元、包括SPS的第二类型数据单元、包括PPS的第三类型数据单元和包括VPS的第四类型数据单元等。
该边界信息包括起始码和识别码,其中,不同类型的第一数据单元包括的起始码可以相同,但包括的识别码可以不同。
在本实施例中,可以采用H.264编码方式或H.265编码方式编码出第一数据单元。采用H.264编码方式编码出的第一数据单元可以组成H.264编码方式的媒体帧,采用H.265编码方式编码出的第一数据单元可以组成H.265编码方式的媒体帧。
参见图2-3,对于采用H.264编码方式编码出的第一数据单元,第一数据单元包括边界部分和内容部分,该边界部分的长度可以为五个字节的长度。该内容部分的长度可以根据实际需求进行设置。
采用H.264编码方式编码得到的第一数据单元中的起始码可以为四个字节的长度,识别码可以为一个字节的长度。该边界部分的前四个字节可以包括起始码,该边界部分剩下的一个字节可以包括识别码。
采用H.264编码方式编码得到的第一数据单元中的内容数据包括SPS、PPS和媒体数据三种。所以编码得到的第一数据单元可以包括第一类型数据单元、第二类型数据单元和第三类型数据单元。该三种类型的第一数据单元中包括的起始码均相同,包括的识别码均不同。
参见图2-3,H.264编码方式的媒体帧包括一个第二类型数据单元、一个第三类型数据单元和至少一个第一类型数据单元。第二类型数据单元位于第三类型数据单元之前,且第三类型数据单元位于该至少一个第一类型数据单元之前。
第二类型数据单元的边界部分包括起始码和第一识别码,内容部分包括该SPS。例如,该起始码可以为00 00 00 01、00 00 00 02或00 00 00 03等值。第一识别码可以为67、57或47等值。
第三类型数据单元的边界部分包括起始码和第二识别码,内容部分包括该PPS。例如,第二识别码可以为68、58或48等值。
第一类型数据单元的边界部分包括起始码和第三识别码,内容部分包括该媒体数据。例如,第三识别码可以为65、55或45等值。
参见图2-4,对于采用H.265编码方式编码出的第一数据单元,第一数据单元包括边界部分和内容部分,该边界部分的长度可以为六个字节的长度。该内容部分的长度可以根据实际需求进行设置。
采用H.265编码方式编码得到的第一数据单元中的起始码可以为四个字节的长度,识别码可以为两个字节的长度。该边界部分的前四个字节可以包括起始码,该边界部分剩下的两个字节可以包括识别码。
采用H.265编码方式编码得到的第一数据单元中的内容数据包括VPS、SPS、PPS和媒体数据三种。所以编码得到的第一数据单元可以包括第一类型数据单元、第二类型数据单元、第三类型数据单元和第四类型数据单元。该四种类型的第一数据单元中包括的起始码均相同,包括的识别码均不同。
参见图2-4,H.265编码方式的媒体帧包括一个第四类型数据单元、一个第三类型数据单元、一个第二类型数据单元和至少一个第一类型数据单元。第四类型数据单元位于第二类型数据单元之前,第二类型数据单元位于第三类型数据单元之前,且第三类型数据单元位于该至少一个第一类型数据单元之前。
第二类型数据单元的边界部分包括起始码和第一识别码,内容部分包括该SPS。例如,该起始码可以为00 00 00 01、00 00 00 02或00 00 00 03等值。第一识别码可以为4201、3201或2201等值。
第三类型数据单元的边界部分包括起始码和第二识别码,内容部分包括该PPS。例如,第二识别码可以为4401、3401或2401等值。
第四类型数据单元的边界部分包括起始码和第四识别码,内容部分包括该VPS。例如,第四识别码可以为4001、3001或2001等值。
第一类型数据单元的边界部分包括起始码和第三识别码,内容部分包括该媒体数据。可选的,第三识别码可以为2601、3601或4601等值。
步骤202:加密第一数据单元的内容部分包括的内容数据得到第二数据单元。
例如,可以先识别出第一数据单元中的1个边界信息,然后将从该边界信息开始直到下一个边界信息之前的数据,识别为内容数据。参见图2-2,对每个第一数据单元包括的内容数据进行加密,得到每个第一数据单元对应的第二数据单元。第二数据单元边界部分包括该第一数据单元的边界信息,第二数据单元的内容部分包括该第一数据单元中的内容数据的数据长度和对该内容数据进行加密得到的加密数据。且在第二数据单元中该数据长度位于该边界信息和加密数据之间,该内容数据的数据长度与该加密数据的数据长度可以相同,也可以不相同。
例如,在第二数据单元中,该数据长度可以占用四个字节、三个字节或五个字节等单元长度。
对待加密的媒体帧中的每个第一数据单元的内容部分包括的内容数据进行加密,得到每个第一数据单元对应的第二数据单元,得到的每个第二数据单元组成了加密后的媒体帧。
参见图2-3,对于采用H.264编码方式形成的媒体帧,该媒体帧包括第一类型数据单元、第二类型数据单元和第三类型数据单元。
在加密第二类型数据单元时,获取第二类型数据单元的内容部分包括的内容数据和该内容数据的第一数据长度,该内容数据为SPS,对该SPS进行加密得到第一加密数据,然后将第二类型数据单元中的内容部分包括的SPS替换为第一数据长度和第一加密数据,得到第二数据单元。
在加密第三类型数据单元时,获取第三类型数据单元的内容部分包括的内容数据和该内容数据的第二数据长度,该内容数据为PPS,对该PPS进行加密得到第二加密数据,然后将第三类型数据单元中的内容部分包括的PPS替换为第二数据长度和第二加密数据,得到第二数据单元。
在加密第一类型数据单元时,获取第一类型数据单元的内容部分包括的内容数据和该内容数据的第三数据长度,该内容数据为媒体数据,对该媒体数据进行加密得到第三加密数据,然后将第一类型数据单元中的内容部分包括的媒体数据替换为第三数据长度和第三加密数据,得到第二数据单元。
参见图2-4,对于采用H.265编码方式形成的媒体帧,该媒体帧包括第一类型数据单元、第二类型数据单元、第三类型数据单元、第四类型数据单元。
在加密第四类型数据单元时,获取第四类型数据单元的内容部分包括的内容数据和该内容数据的第四数据长度,该内容数据为VPS,对该VPS进行加密得到第四加密数据,然后将第四类型数据单元中的内容部分包括的VPS替换为第四数据长度和第四加密数据,得到第二数据单元。
在加密第二类型数据单元时,获取第二类型数据单元的内容部分包括的内容数据和该内容数据的第一数据长度,该内容数据为SPS,对该SPS进行加密得到第一加密数据,然后将第二类型数据单元中的内容部分包括的SPS替换为第一数据长度和第一加密数据,得到第二数据单元。
在加密第三类型数据单元时,获取第三类型数据单元的内容部分包括的内容数据和该内容数据的第二数据长度,该内容数据为PPS,对该PPS进行加密得到第二加密数据,然后将第三类型数据单元中的内容部分包括的PPS替换为第二数据长度和第二加密数据,得到第二数据单元。
在加密第一类型数据单元时,获取第一类型数据单元的内容部分包括的内容数据和该内容数据的第三数据长度,该内容数据为媒体数据,对该媒体数据进行加密得到第三加密数据,然后将第一类型数据单元中的内容部分包括的媒体数据替换为第三数据长度和第三加密数据,得到第二数据单元。
在本实施例中,对每个第一数据单元中的内容部分中的所有内容数据进行加密,这样可以提高数据安全性。由于每个第一数据单元中的起始码和识别码都是预设的信息,所以可以不对每个第一数据单元中的边界部分中的边界信息加密,这样可以提高加密效率。
将该媒体帧中的每个第一数据单元加密成第二数据单元后,可以对该媒体帧中的每个第二数据单元进行打包,得到媒体包,将得到的媒体包形成数据流。该媒体包可以为RTP(Real-time Transport Protocol,实时传输协议)包等。
参见图2-5,媒体包包括包头字段和负载字段,还可以包括填充字段(图中未画出)。
H.264编码方式和H.265编码方式定义的媒体包的包头字段的结构可以相同,但定义的负载字段的结构不同。H.264编码方式定义的负载字段包括第一负载字段和第二负载字段两种。在H.265编码方式的负载字段包括第三负载字段和第四负载字段两种。
参见图2-6,包头字段包括包序列字段和时间戳字段等,包序列字段包括媒体包的序列号,时间戳字段包括媒体帧的时间戳。
参见图2-7,第一负载字段包括类型(type)字段和净荷字段等;参见图2-8,第二负载字段包括指示器(FU indicator)、头部(FU header)和净荷字段(FU payload);参见图2-9,第三负载字段包括头部(PayloadHdr)和净荷字段(Payload);参见图2-10,第四负载字段包括负载头字段(PayloadHdr)、头部(FU header)和净荷字段(FU payload)。
每个第二数据单元可以被打包成一个或多个媒体包。对于第二类型数据单元对应的第二数据单元,第三类型数据单元对应的第二数据单元和第四类型数据单元对应的第二数据单元,由于该三种类型的每个第二数据单元的数据量较小,所以每个第二数据单元可以打包成一个负载字段为第一负载字段或第三负载字段的媒体包。对于第一类型数据单元对应的第二数据单元,由于该第二数据单元的数据量较大,所以该第二数据单元可以打包成一个或多个负载字段为第二负载字段或第四负载字段的媒体包。
由于加密后的媒体帧中的前两个第二数据单元或前三个第二数据单元为第二类型数据单元对应的第二数据单元,第三类型数据单元对应的第二数据单元和/或第四类型数据单元对应的第二数据单元,所以媒体帧中的前两个第二数据单元或前三个第二数据单元可以按如下步骤203的操作打包成负载字段为第一负载字段或第三负载字段的媒体包。
对于加密后的媒体帧中的第一类型数据单元对应的第二数据单元,可以按下如下步骤204的操作打包成负载字段为第二负载字段或第四负载字段的媒体包。
步骤203:当第二数据单元中的内容数据为媒体帧的参数信息时,生成包括该第二数据单元的第一媒体包,第一媒体包的包头字段包括媒体帧的时间戳和第一媒体包的包序号,第一媒体包的负载字段包括第二数据单元。
第一媒体包的负载字段可以包括第二数据单元的边界部分中的识别码和第二数据单元的内容部分。第二数据单元的内容部分包括数据长度和加密数据。
参见图2-7,对于H.264编码方式的媒体帧,该媒体帧的前两个第二数据单元的内容数据为媒体帧的参数信息,所以对于该两个第二数据单元中的任一个第二数据单元,生成第一媒体包,第一媒体包的包头字段包括该媒体帧的时间戳和第一媒体包的包序号,第一媒体包的第一负载字段中的净荷字段包括该第二数据单元的边界部分中的识别码和内容部分中的数据。
参见图2-9,对于H.265编码方式的媒体帧,该媒体帧的前三个第二数据单元的内容数据为媒体帧的参数信息,所以对于该三个第二数据单元中的任一个第二数据单元,生成第一媒体包,第一媒体包的包头字段包括该媒体帧的时间戳和第一媒体包的包序号,第一媒体包的第三负载字段中的净荷字段包括该第二数据单元的边界部分中的识别码和内容部分中的数据。
步骤204:当第二数据单元中的内容数据为媒体帧的媒体数据时,生成第二媒体包。
第二媒体包的包头字段包括该媒体帧的时间戳和第二媒体包的包序号,第二媒体包的负载字段包括用于标识第二媒体包为起始包的第一标识信息、第二数据单元的边界信息和从第二数据单元的内容部分的起始位置处截取的部分数据。
其中,包括媒体数据的第二数据单元的数据量往往较大,可能被打包成多个媒体包,打包出来的第一个媒体包的包类型为起始包,为了便于说明称为第二媒体包。之后在打包出的最后一个媒体包之前打包出来的媒体包的包类型为中间包,为了便于说明称为第三媒体包。打包出来的最后一个媒体包的包类型为结尾包,为了便于说明称为第四媒体包。
参见图2-8,对于H.264编码方式的媒体帧,该媒体帧从第三个第二数据单元起,每个第二数据单元包括的内容数据为媒体数据,所以对于每个第二数据单元,该第二数据单元的边界信息中的识别码包括第一部分内容和第二部分内容,第一部分内容和第二部分内容是该识别码中不同的两部分。从该第二数据单元中的内容部分的起始位置开始获取一段数据,生成第二媒体包,第二媒体包的包头字段包括该媒体帧的时间戳和第二媒体包的包序号,第二媒体包的负载字段是第二负载字段,第二负载字段的指示器包括第一部分内容,第二负载字段的头部包括第二部分内容和第一标识信息,第一标识信息用于标识第二媒体包为起始包,第二负载字段中的净荷字段包括截取的部分数据。
可选的,第二负载字段的指示器中存在部分比特包括第一部分内容,第二负载字段的头部存在部分比特包括第二部分内容,该头部的剩下比特包括第一标识信息
假设,第一部分内容可以为识别码中的前三个比特的内容,第二部分内容可以为识别码中的后五个比特的内容。例如,该指示器包括的前三个比特可以包括第一部分内容,该头部包括的前三个比特可以包括第一标识信息,该头部的剩下五个比特可以包括第二部分内容。
例如,第一标识信息的长度可以为两个比特或三个比特。当第一标识信息为两个比特时,该头部包括的前三个比特中任两个比特包括第一标识信息。
参见图2-10,对于H.265编码方式的媒体帧,该媒体帧从第四个第二数据单元起,每个第二数据单元包括的内容数据为媒体数据,所以对于每个第二数据单元,从该第二数据单元中的内容部分的起始位置开始截取一段数据,生成第二媒体包,第二媒体包的包头字段包括该媒体帧的时间戳和第二媒体包的包序号,第二媒体包的负载字段是第四负载字段,第四负载字段的头部包括该识别码的第一字节中的部分内容和第一标识信息,第一标识信息用于标识第二媒体包为起始包,第四负载字段中的净荷字段包括截取的一段数据。
可选的,第四负载字段的头部存在部分比特包括该识别码的第一字节中的部分内容,该头部的剩下比特包括第一标识信息。
例如,第四负载字段的头部的前两个比特可以包括第一标识信息,该头部的剩下六个比特可以包括识别码的第一字节的中间六个比特的内容。
步骤205:在第二数据单元的内容部分还包括未截取的剩余数据且剩余数据的长度超过预设阈值时,生成第三媒体包,第三媒体包的包头字段包括该媒体帧的时间戳和第三媒体包的包序号,第三媒体包的负载字段包括用于标识第三媒体包为中间包的第二标识信息和从剩余数据的起始位置处截取的部分数据。
具体地,确定第二数据单元的内容部分包括未截取的剩余数据的长度是否超过预设阈值;如果剩余数据超过预设阈值,则从剩余数据的起始位置处截取部分数据;生成第三媒体包,并返回执行确定第二数据单元的内容部分还包括未截取的剩余数据的长度是否超过预设阈值的操作。如果剩余数据未超过预设阈值,则执行步骤206。
参见图2-8,对于H.264编码方式的媒体帧,从该第二数据单元中的内容部分包括的剩余未截取的剩余数据的起始位置处截取一段数据,生成第三媒体包,第三媒体包的包头字段包括该媒体帧的时间戳和第三媒体包的包序号,第三媒体包的负载字段是第二负载字段,第二负载字段的头部的包括第二标识信息,第二标识信息用于标识第二媒体包为中间包,第二负载字段中的净荷字段包括截取的一段数据。
例如,该头部包括的前三个比特可以包括第三标识信息。第三标识信息的长度可以为两个比特或三个比特。当第三标识信息为两个比特时,该头部包括的前三个比特中任两个比特包括第三标识信息。
参见图2-10,对于H.265编码方式的媒体帧,从该第二数据单元中的内容部分包括的剩余未截取的剩余数据的起始位置处截取一段数据,生成第三媒体包,第三媒体包的包头字段包括该媒体帧的时间戳和第三媒体包的包序号,第三媒体包的负载字段是第四负载字段,第四负载字段包括第二标识信息和截取的一段数据,第二标识信息用于标识第三媒体包为中间包。
第四负载字段的头部的前两个比特包括第二标识信息,第二标识信息用于标识第三媒体包为中间包,第四负载字段中的净荷字段包括截取的一段数据。
按本步骤的方法生成至少一个第三媒体包,直至第二数据单元中的剩余未截取的剩余数据只够生成一个媒体包时,即剩余数据的数据长度不超过预设阈值时开始执行如下步骤206的操作。
步骤206:在第二数据单元的内容部分还包括未截取的剩余数据且剩余数据的长度不超过预设阈值,生成第四媒体包,第四媒体包的包头字段包括媒体帧的时间戳和第四媒体包的包序号,第四媒体包的负载字段包括用于标识第四媒体包为结尾包的第三标识信息和剩余数据。
参见图2-8,对于H.264编码方式的媒体帧,获取该第二数据单元中的内容部分包括未截取的剩余数据,生成第四媒体包,第四媒体包的包头字段包括该媒体帧的时间戳和第四媒体包的包序号,第四媒体包的负载字段是第二负载字段,第二负载字段的头部包括第三标识信息,第三标识信息用于标识第四媒体包为结尾包,第四负载字段中的净荷字段包括剩余数据。
可选的,该头部包括的前三个比特可以包括第三标识信息。
参见图2-10,对于H.265编码方式的媒体帧,获取该第二数据单元中的内容部分包括未截取的剩余数据,生成第四媒体包,第四媒体包的包头字段包括该媒体帧的时间戳和第四媒体包的包序号,第四媒体包的负载字段是第四负载字段,第四负载字段的头部包括第三标识信息,第三标识信息用于标识第四媒体包为结尾包,第四负载字段中的净荷字段包括剩余数据。
例如,该头部的前两个比特可以包括第二标识信息。
将待加密的媒体帧中的每个第二数据单元,按上述203至206的操作打包成至少一个媒体包,然后将该至少一个媒体包组成媒体流,可以在网络中传输该媒体流。
在本发明实施例中,将待加密的媒体帧中的每个第一数据单元中的内容数据进行加密,这样可以提高数据的安全性;在加密时,不会对每个第一数据单元中的边界信息进行加密,提高加密效率。在加后的得到的第二数据单元中包括第一数据单元的内容数据的数据长度,这样在解密时可以解密出加密的数据。在将第二数据单元打包成媒体包时,不会打包边界信息中的起始码,减少了媒体包的数据量大小,减少传输的数据量。
实施例3
参见图3,本发明实施例提供了一种解密数据的方法,该方法用于解密实施例2加密形成的数据流。该方法包括:
步骤301:从接收的数据流获取同一媒体帧包括的媒体包。
数据流由多个媒体包组成,每个媒体包的包头字段中包括其属于的媒体帧的时间戳。所以本步骤中,可以从每个媒体包的包头字段中分别获取每个媒体包对应的时间戳,将时间戳相同的各媒体包作为一个媒体帧包括的媒体包。
步骤302:对该媒体帧包括的媒体包进行解析,得到该媒体帧包括的第二数据单元。
该媒体帧中的媒体包包括第一媒体包、第二媒体包、第三媒体包和第四媒体包。
本步骤可以通过如下几个个步骤实现,包括:
3021:从该媒体帧包括的每个媒体包的包头字段中分别获取每个媒体包的包序号,根据每个媒体包的包序号,按从小到大的顺序对每个媒体包进行排序。
3022:从排序的媒体包中获取第一媒体包、第二媒体包、第四媒体包和位于第二媒体包和第四媒体包之间的第三媒体包。其中,位于第二媒体包和第四媒体包之间的媒体包均为第三媒体包。
3023:解析第一媒体包形成第一媒体包对应的第二数据单元,以及解析第二媒体包、第三媒体包和第四媒体包形成第二数据单元,得到该媒体帧包括的每个第二数据单元。
步骤303:对该媒体帧中的每个第二数据单元进行解码得到该媒体帧中的每个第一数据单元。
对于任一个第二数据单元,从该第二数据单元的内容部分中获取数据长度N以及位于数据长度之后的加密数据,对该加密数据进行解密得到解密数据,从解密数据中提取前N长度的数据,将第二数据单元的内容部分中的数据更新为提取的数据得到第一数据单元。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
实施例4
参见图4,本发明实施例提供了一种加密数据的装置400,所述装置400包括:
获取模块401,用于获取待加密的媒体帧包括的第一数据单元,所述第一数据单元包括边界部分和内容部分,所述边界部分包括用于标识所述第一数据单元起始边界的边界信息,所述内容部分包括所述第一数据单元的内容数据;
加密模块402,用于加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元,所述第二数据单元边界部分包括所述边界信息,所述第二数据单元的内容部分包括所述内容数据的数据长度和对所述内容数据进行加密得到的加密数据。
可选的,所述装置400还包括:
第一生成模块,用于当所述内容数据为所述媒体帧的参数信息时,生成包括所述第二数据单元的第一媒体包,所述第一媒体包的包头字段包括所述媒体帧的时间戳和所述第一媒体包的包序号,所述第一媒体包的负载字段包括所述第二数据单元。
可选的,在所述边界信息包括识别码时,生成的所述第一媒体包的负载字段包括所述识别码和所述第二数据单元的内容部分。
可选的,所述装置400还包括:
第二生成模块,用于当所述内容数据为所述媒体帧的媒体数据时,生成第二媒体包,所述第二媒体包的包头字段包括所述媒体帧的时间戳和所述第二媒体包的包序号,所述第二媒体包的负载字段包括用于标识所述第二媒体包为起始包的第一标识信息、所述边界信息和从所述第二数据单元的内容部分的起始位置截取的部分数据。
可选的,所述第二媒体包的负载字段包括指示器、头部和净荷字段,所述头部位于所述指示器和所述净荷字段之间,所述边界信息包括识别码,所述识别码包括第一部分内容和第二部分内容;
所述指示器包括所述第一部分内容,所述头部包括所述第二部分内容,和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述第二媒体包的负载字段包括头部和净荷字段,所述头部位于所述净荷字段之前,所述边界信息包括所述第二数据单元的识别码;
所述头部包括所述识别码的第一个字节的中间六比特内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述装置400还包括:
确定模块,用于确定所述第二数据单元的内容部分包括未截取的剩余数据的长度是否超过预设阈值;
截取模块,用于如果所述剩余数据超过预设阈值,则从所述剩余数据的起始位置处截取部分数据;
第三生成模块,用于生成第三媒体包,并返回执行所述确定所述第二数据单元的内容部分还包括未截取的剩余数据的长度是否超过预设阈值的操作;其中,所述第三媒体包的包头字段包括所述媒体帧的时间戳和所述第三媒体包的包序号,所述第三媒体包的负载字段包括用于标识所述第三媒体包为中间包的第二标识信息和所述截取的部分数据。
可选的,所述装置400还包括:
第四生成模块,用于如果所述剩余数据未超过预设阈值,生成第四媒体包,所述第四媒体包的包头字段包括所述媒体帧的时间戳和所述第四媒体包的包序号,所述第四媒体包的负载字段包括用于标识所述第四媒体包为结尾包的第三标识信息和所述剩余数据。
在本发明实施例中,将待加密的媒体帧中的每个第一数据单元中的内容数据进行加密,这样可以提高数据的安全性;在加密时,不会对每个第一数据单元中的边界信息进行加密,提高加密效率。在加后的得到的第二数据单元中包括第一数据单元的内容数据的数据长度,这样在解密时可以解密出加密的数据。在将第二数据单元打包成媒体包时,不会打包边界信息中的起始码,减少了媒体包的数据量大小,减少传输的数据量。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
实施例5
图5是根据一示例性实施例示出的一种加密数据的装置500的框图。例如,装置500可以是摄像设备、移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图5,装置500可以包括以下一个或多个组件:处理组件502,存储器504,电源组件506,多媒体组件508,音频组件510,输入/输出(I/O)的接口512,传感器组件514,以及通信组件516。
处理组件502通常控制装置500的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件502可以包括一个或多个处理器520来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件502可以包括一个或多个模块,便于处理组件502和其他组件之间的交互。例如,处理组件502可以包括多媒体模块,以方便多媒体组件508和处理组件502之间的交互。
存储器504被配置为存储各种类型的数据以支持在装置500的操作。这些数据的示例包括用于在装置500上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器504可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件506为装置500的各种组件提供电力。电源组件506可以包括电源管理系统,一个或多个电源,及其他与为装置500生成、管理和分配电力相关联的组件。
多媒体组件508包括在所述装置500和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件508包括一个前置摄像头和/或后置摄像头。当装置500处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件510被配置为输出和/或输入音频信号。例如,音频组件510包括一个麦克风(MIC),当装置500处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器504或经由通信组件516发送。在一些实施例中,音频组件510还包括一个扬声器,用于输出音频信号。
I/O接口512为处理组件502和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件514包括一个或多个传感器,用于为装置500提供各个方面的状态评估。例如,传感器组件514可以检测到装置500的打开/关闭状态,组件的相对定位,例如所述组件为装置500的显示器和小键盘,传感器组件514还可以检测装置500或装置500一个组件的位置改变,用户与装置500接触的存在或不存在,装置500方位或加速/减速和装置500的温度变化。传感器组件514可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件514还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件514还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件516被配置为便于装置500和其他设备之间有线或无线方式的通信。装置500可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件516经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件516还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置500可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器504,上述指令可由装置500的处理器520执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当所述存储介质中的指令由装置500的处理器执行时,使得装置500能够执行一种加密数据的方法,所述方法包括:
获取待加密的媒体帧包括的第一数据单元,所述第一数据单元包括边界部分和内容部分,所述边界部分包括用于标识所述第一数据单元起始边界的边界信息,所述内容部分包括所述第一数据单元的内容数据;
加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元,所述第二数据单元边界部分包括所述边界信息,所述第二数据单元的内容部分包括所述内容数据的数据长度和对所述内容数据进行加密得到的加密数据。
可选的,所述加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元之后,还包括:
当所述内容数据为所述媒体帧的参数信息时,生成包括所述第二数据单元的第一媒体包,所述第一媒体包的包头字段包括所述媒体帧的时间戳和所述第一媒体包的包序号,所述第一媒体包的负载字段包括所述第二数据单元。
可选的,在所述边界信息包括识别码时,生成的所述第一媒体包的负载字段包括所述识别码和所述第二数据单元的内容部分。
可选的,所述加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元之后,还包括:
当所述内容数据为所述媒体帧的媒体数据时,生成第二媒体包,所述第二媒体包的包头字段包括所述媒体帧的时间戳和所述第二媒体包的包序号,所述第二媒体包的负载字段包括用于标识所述第二媒体包为起始包的第一标识信息、所述边界信息和从所述第二数据单元的内容部分的起始位置截取的部分数据。
可选的,所述第二媒体包的负载字段包括指示器、头部和净荷字段,所述头部位于所述指示器和所述净荷字段之间,所述边界信息包括识别码,所述识别码包括第一部分内容和第二部分内容;
所述指示器包括所述第一部分内容,所述头部包括所述第二部分内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述第二媒体包的负载字段包括头部和净荷字段,所述头部位于所述净荷字段之前,所述边界信息包括识别码;
所述头部包括所述识别码的第一个字节的中间六比特内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
可选的,所述生成第二媒体包之后,还包括:
确定所述第二数据单元的内容部分包括未截取的剩余数据的长度是否超过预设阈值;
如果所述剩余数据超过预设阈值,则从所述剩余数据的起始位置处截取部分数据;
生成第三媒体包,并返回执行所述确定所述第二数据单元的内容部分还包括未截取的剩余数据的长度是否超过预设阈值的操作;其中,所述第三媒体包的包头字段包括所述媒体帧的时间戳和所述第三媒体包的包序号,所述第三媒体包的负载字段包括用于标识所述第三媒体包为中间包的第二标识信息和所述截取的部分数据。
可选的,所述方法还包括:
如果所述剩余数据未超过预设阈值,生成第四媒体包,所述第四媒体包的包头字段包括所述媒体帧的时间戳和所述第四媒体包的包序号,所述第四媒体包的负载字段包括用于标识所述第四媒体包为结尾包的第三标识信息和所述剩余数据。
在本发明实施例中,通过边界信息可以确定出第一数据单元中的内容部分,进而可以将待加密的媒体帧中的每个第一数据单元中的内容数据进行加密,这样可以提高数据的安全性。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (12)

1.一种加密数据的方法,其特征在于,所述方法包括:
获取待加密的媒体帧包括的第一数据单元,所述第一数据单元包括边界部分和内容部分,所述边界部分包括用于标识所述第一数据单元起始边界的边界信息,所述内容部分包括所述第一数据单元的内容数据;
加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元,所述第二数据单元边界部分包括所述边界信息,所述第二数据单元的内容部分包括所述内容数据的数据长度和对所述内容数据进行加密得到的加密数据;
在所述第二数据单元包括所述媒体帧的参数信息时,将所述第二数据单元打包成一个负载字段为第一负载字段或第三负载字段的媒体包;
在所述第二数据单元包括媒体数据时,将所述第二数据单元打包成一个或多个负载字段为第二负载字段或第四负载字段的媒体包;
所述第一负载字段包括类型字段和净荷字段;所述第二负载字段包括指示器、头部和净荷字段;所述第三负载字段包括头部和净荷字段;所述第四负载字段包括负载头字段、头部和净荷字段;
其中,所述将所述第二数据单元打包成一个或多个负载字段为第二负载字段或第四负载字段的媒体包,包括:
生成第二媒体包,所述第二媒体包的包头字段包括所述媒体帧的时间戳和所述第二媒体包的包序号,所述第二媒体包的负载字段包括指示器、头部和净荷字段,所述头部位于所述指示器和所述净荷字段之间,所述边界信息包括识别码,所述识别码包括第一部分内容和第二部分内容;所述指示器包括所述第一部分内容,所述头部包括所述第二部分内容和第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据,所述第一标识信息用于标识所述第二媒体包为起始包。
2.如权利要求1所述的方法,其特征在于,所述将所述第二数据单元打包成一个负载字段为第一负载字段或第三负载字段的媒体包,包括:
当所述内容数据为所述媒体帧的参数信息时,生成包括所述第二数据单元的第一媒体包,所述第一媒体包的包头字段包括所述媒体帧的时间戳和所述第一媒体包的包序号,所述第一媒体包的负载字段包括所述第二数据单元。
3.如权利要求2所述的方法,其特征在于,在所述边界信息包括识别码时,生成的所述第一媒体包的负载字段包括所述识别码和所述第二数据单元的内容部分。
4.如权利要求1所述的方法,其特征在于,所述第二媒体包的负载字段包括头部和净荷字段,所述头部位于所述净荷字段之前,所述边界信息包括识别码;
所述头部包括所述识别码的第一个字节的中间六比特内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
5.如权利要求1或4所述的方法,其特征在于,所述生成第二媒体包之后,还包括:
确定所述第二数据单元的内容部分包括未截取的剩余数据的长度是否超过预设阈值;
如果所述剩余数据超过预设阈值,则从所述剩余数据的起始位置处截取部分数据,生成第三媒体包,并返回执行所述确定所述第二数据单元的内容部分还包括未截取的剩余数据的长度是否超过预设阈值的操作;其中,所述第三媒体包的包头字段包括所述媒体帧的时间戳和所述第三媒体包的包序号,所述第三媒体包的负载字段包括用于标识所述第三媒体包为中间包的第二标识信息和所述截取的部分数据。
6.如权利要求5所述的方法,其特征在于,所述方法还包括:
如果所述剩余数据未超过预设阈值,生成第四媒体包,所述第四媒体包的包头字段包括所述媒体帧的时间戳和所述第四媒体包的包序号,所述第四媒体包的负载字段包括用于标识所述第四媒体包为结尾包的第三标识信息和所述剩余数据。
7.一种加密数据的装置,其特征在于,所述装置包括:
获取模块,用于获取待加密的媒体帧包括的第一数据单元,所述第一数据单元包括边界部分和内容部分,所述边界部分包括用于标识所述第一数据单元起始边界的边界信息,所述内容部分包括所述第一数据单元的内容数据;
加密模块,用于加密所述第一数据单元的内容部分包括的内容数据得到第二数据单元,所述第二数据单元边界部分包括所述边界信息,所述第二数据单元的内容部分包括所述内容数据的数据长度和对所述内容数据进行加密得到的加密数据;
所述装置还用于在所述第二数据单元包括所述媒体帧的参数信息时,将所述第二数据单元打包成一个负载字段为第一负载字段或第三负载字段的媒体包;在所述第二数据单元包括媒体数据时,将所述第二数据单元打包成一个或多个负载字段为第二负载字段或第四负载字段的媒体包;所述第一负载字段包括类型字段和净荷字段;所述第二负载字段包括指示器、头部和净荷字段;所述第三负载字段包括头部和净荷字段;所述第四负载字段包括负载头字段、头部和净荷字段;
其中,所述将所述第二数据单元打包成一个或多个负载字段为第二负载字段或第四负载字段的媒体包,包括:
生成第二媒体包,所述第二媒体包的包头字段包括所述媒体帧的时间戳和所述第二媒体包的包序号,所述第二媒体包的负载字段包括指示器、头部和净荷字段,所述头部位于所述指示器和所述净荷字段之间,所述边界信息包括识别码,所述识别码包括第一部分内容和第二部分内容;所述指示器包括所述第一部分内容,所述头部包括所述第二部分内容和第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据,所述第一标识信息用于标识所述第二媒体包为起始包。
8.如权利要求7所述的装置,其特征在于,所述装置还包括:
第一生成模块,用于当所述内容数据为所述媒体帧的参数信息时,生成包括所述第二数据单元的第一媒体包,所述第一媒体包的包头字段包括所述媒体帧的时间戳和所述第一媒体包的包序号,所述第一媒体包的负载字段包括所述第二数据单元。
9.如权利要求8所述的装置,其特征在于,在所述边界信息包括识别码时,生成的所述第一媒体包的负载字段包括所述识别码和所述第二数据单元的内容部分。
10.如权利要求7所述的装置,其特征在于,所述第二媒体包的负载字段包括头部和净荷字段,所述头部位于所述净荷字段之前,所述边界信息包括识别码;
所述头部包括所述识别码的第一个字节的中间六比特内容和所述第一标识信息,所述净荷字段包括从所述第二数据单元的内容部分的起始位置处截取的部分数据。
11.如权利要求7或10所述的装置,其特征在于,所述装置还包括:
确定模块,用于确定所述第二数据单元的内容部分包括未截取的剩余数据的长度是否超过预设阈值;
截取模块,用于如果所述剩余数据超过预设阈值,则从所述剩余数据的起始位置处截取部分数据;
第三生成模块,用于生成第三媒体包,并返回执行所述确定所述第二数据单元的内容部分还包括未截取的剩余数据的长度是否超过预设阈值的操作;其中,所述第三媒体包的包头字段包括所述媒体帧的时间戳和所述第三媒体包的包序号,所述第三媒体包的负载字段包括用于标识所述第三媒体包为中间包的第二标识信息和所述截取的部分数据。
12.如权利要求11所述的装置,其特征在于,所述装置还包括:
第四生成模块,用于如果所述剩余数据未超过预设阈值,生成第四媒体包,所述第四媒体包的包头字段包括所述媒体帧的时间戳和所述第四媒体包的包序号,所述第四媒体包的负载字段包括用于标识所述第四媒体包为结尾包的第三标识信息和所述剩余数据。
CN201710823246.2A 2017-09-13 2017-09-13 一种加密数据的方法及装置 Active CN109492408B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201710823246.2A CN109492408B (zh) 2017-09-13 2017-09-13 一种加密数据的方法及装置
US16/646,761 US11444927B2 (en) 2017-09-13 2018-08-23 Method and apparatus for encrypting data
PCT/CN2018/101900 WO2019052323A1 (zh) 2017-09-13 2018-08-23 一种加密数据的方法及装置
EP18856094.0A EP3683706B1 (en) 2017-09-13 2018-08-23 Method and apparatus for encrypting data

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710823246.2A CN109492408B (zh) 2017-09-13 2017-09-13 一种加密数据的方法及装置

Publications (2)

Publication Number Publication Date
CN109492408A CN109492408A (zh) 2019-03-19
CN109492408B true CN109492408B (zh) 2021-06-18

Family

ID=65687912

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710823246.2A Active CN109492408B (zh) 2017-09-13 2017-09-13 一种加密数据的方法及装置

Country Status (4)

Country Link
US (1) US11444927B2 (zh)
EP (1) EP3683706B1 (zh)
CN (1) CN109492408B (zh)
WO (1) WO2019052323A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230057517A1 (en) * 2021-08-10 2023-02-23 Samsung Electronics Co., Ltd. Systems, methods, and apparatus for dividing and encrypting data

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162588A (zh) * 2015-09-14 2015-12-16 网易(杭州)网络有限公司 一种媒体文件加解密方法和装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3821086B2 (ja) 2002-11-01 2006-09-13 ソニー株式会社 ストリーミングシステム及びストリーミング方法、クライアント端末及びデータ復号方法、並びにプログラム
US20090187771A1 (en) * 2008-01-17 2009-07-23 Mclellan Jr Hubert Rae Secure data storage with key update to prevent replay attacks
JP5210723B2 (ja) * 2008-06-19 2013-06-12 株式会社日立製作所 再生装置
CN102547300B (zh) 2010-12-17 2015-01-21 华为技术有限公司 帧类型的检测方法和装置
CN102333236B (zh) * 2011-10-27 2014-07-02 中国华录集团有限公司 视频内容的加解密系统
US9491521B2 (en) * 2013-06-21 2016-11-08 Arris Enterprises, Inc. Trick play seek operation for HLS converted from DTCP
US10552620B2 (en) * 2016-06-20 2020-02-04 Intel Corporation Technologies for trusted I/O protection of I/O data with header information
US20180253559A1 (en) * 2017-03-01 2018-09-06 Intel Corporation Secured lossless data compression using encrypted headers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105162588A (zh) * 2015-09-14 2015-12-16 网易(杭州)网络有限公司 一种媒体文件加解密方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于H.264的实时视频传输流密码加密研究;姜浩;《中国优秀硕士学位论文全文数据库信息科技辑(月刊)》;20121215(第12期);第三章-第四章 *

Also Published As

Publication number Publication date
US11444927B2 (en) 2022-09-13
US20200274855A1 (en) 2020-08-27
EP3683706A1 (en) 2020-07-22
WO2019052323A1 (zh) 2019-03-21
CN109492408A (zh) 2019-03-19
EP3683706B1 (en) 2024-01-10
EP3683706A4 (en) 2020-11-04

Similar Documents

Publication Publication Date Title
CN109981607B (zh) 媒体流处理方法及装置、电子设备和存储介质
US11057853B2 (en) Methods and apparatus for indicating and determining synchronization block, and base station and user equipment
US9769667B2 (en) Methods for controlling smart device
US10911577B2 (en) Method and device for generating protocol data unit (PDU) packet
CN109076558B (zh) 识别下行传输的方法及装置
WO2019191948A1 (zh) 下行控制信息格式大小的确定方法及装置
CN107197320B (zh) 视频直播方法、装置和系统
EP2986020B1 (en) Method and apparatus for adjusting video quality based on network environment
US9723486B2 (en) Method and apparatus for accessing network
CN108053241B (zh) 数据分析方法、装置及计算机可读存储介质
CN113179555A (zh) 投屏方法、投屏设备、投屏系统、电子设备、存储介质
CN109451799B (zh) 剩余关键系统信息的公共控制资源集合的时域信息指示方法
CN109492408B (zh) 一种加密数据的方法及装置
US20230269031A1 (en) Method and device for hybrid automatic repeat request (harq) transmission, and storage medium
CN111050213B (zh) 视频播放方法、装置、电子设备及存储介质
EP3264735B1 (en) Method and device for determining coding format in volte
CN109565474B (zh) 数据传输方法及装置、电子设备和计算机可读存储介质
CN114221788B (zh) 登录方法、装置、电子设备及存储介质
WO2018018636A1 (zh) 信息写入方法及装置
CN109565649B (zh) 传输同步指示信息的方法及装置
CN115701017A (zh) 一种图像处理方法及装置
CN113301254A (zh) 视频录制方法、处理方法、装置、终端及存储介质
CN216437496U (zh) 投屏设备、接收设备、投屏系统
WO2023212943A1 (zh) 数据交互方法、装置、电子设备和存储介质
CN113840161B (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