WO2010044146A1 - 暗号装置及び復号装置及び暗号方法及び復号方法 - Google Patents

暗号装置及び復号装置及び暗号方法及び復号方法 Download PDF

Info

Publication number
WO2010044146A1
WO2010044146A1 PCT/JP2008/068634 JP2008068634W WO2010044146A1 WO 2010044146 A1 WO2010044146 A1 WO 2010044146A1 JP 2008068634 W JP2008068634 W JP 2008068634W WO 2010044146 A1 WO2010044146 A1 WO 2010044146A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
encryption
unit
encrypted
head
Prior art date
Application number
PCT/JP2008/068634
Other languages
English (en)
French (fr)
Inventor
晃由 山口
恒夫 佐藤
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to CN2008801315410A priority Critical patent/CN102187682A/zh
Priority to PCT/JP2008/068634 priority patent/WO2010044146A1/ja
Priority to US13/122,417 priority patent/US20110188652A1/en
Priority to EP08877405A priority patent/EP2337348A4/en
Priority to JP2010533746A priority patent/JPWO2010044146A1/ja
Publication of WO2010044146A1 publication Critical patent/WO2010044146A1/ja

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/167Systems rendering the television signal unintelligible and subsequently intelligible
    • H04N7/1675Providing digital key or authorisation information for generation or regeneration of the scrambling sequence
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2347Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption
    • H04N21/23476Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving video stream encryption by partially encrypting, e.g. encrypting the ending portion of a movie
    • 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/236Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
    • H04N21/23611Insertion of stuffing data into a multiplex stream, e.g. to obtain a constant bitrate
    • 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, rendering scenes according to MPEG-4 scene graphs
    • H04N21/4405Processing 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
    • H04N21/44055Processing 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 by partially decrypting, e.g. decrypting a video stream that has been partially encrypted

Definitions

  • the present invention relates to a technique for encrypting compression-encoded data that has been compression-encoded, and a technique for decrypting encrypted encoded-encoded data, and in particular, a technique for encrypting compression-encoded image data that has been compression-encoded.
  • the present invention also relates to a technique for decrypting encrypted compressed encoded image data.
  • the moving image is MPEG (Moving Picture Experts Group) 2 or H.264.
  • H.264 is often compressed and encoded using intra-frame prediction and inter-frame prediction.
  • Intraframe prediction is compression performed only with information in a single frame, and information used as a reference in intraframe prediction is called an I (Intra) frame (or I picture).
  • Interframe prediction is performed by compressing frame information before and after, and information used as a reference in interframe prediction is P (Predictive) frame (or P picture) or B (Bidirectionally) frame (or B picture).
  • MPEG2 and H.264 In compression of moving images such as H.264, P frames and B frames are not essential, and encoding can be performed using only I frames. This is determined by a trade-off between compression ratio and quality.
  • in order to prioritize real-time characteristics there is a case where only intra-frame prediction is performed without performing inter-frame prediction that requires a computation time.
  • Patent Document 1 Patent Document 1
  • Patent Document 2 Patent Document 3
  • Patent Document 4 As an image encryption method specialized in H.264, there is Patent Document 4.
  • JP 2005-295468 A Japanese Patent Application Laid-Open No. 08-163533 Japanese Patent Laid-Open No. 10-145773 JP-T-2006-510308
  • H.264 NAL units are divided into “header data”, “intra data”, and “inter data”, and the user arbitrarily encrypts each.
  • header data when “header data” is encrypted, it is necessary to accurately determine whether the data is encrypted. There is a problem that the H.264 decoder may malfunction.
  • SEI NAL unit
  • SEI NAL unit
  • One of the main objects of the present invention is to solve the above-mentioned problems, and realizes an encryption technique that can reduce the amount of calculation in the encryption processing of compression-encoded data, and can perform high-speed and reliable encryption.
  • Another object of the present invention is to realize a decoding technique capable of reducing the amount of calculation in the decoding process of the encrypted compressed encoded data and decoding the data at high speed and with certainty.
  • the encryption device is: A data input unit that inputs compressed encoded data that is processed from the beginning of the data at the time of data expansion; And an encryption unit that selects head data from the compressed and encoded data input by the data input unit and encrypts the head data.
  • the data input unit includes: Input intra-frame prediction compression encoded data,
  • the encryption unit The head data is selected from the intra-frame prediction compression-encoded data input by the data input unit, and the head data is encrypted.
  • the data input unit includes: Input interframe predictive compression encoded data,
  • the encryption unit The head data is selected from the inter-frame prediction compression-encoded data input by the data input unit, and the head data is encrypted.
  • the encryption unit The data size of the head data is set to a sufficiently small data size with respect to the entire data size of the compression encoded data.
  • the encryption unit Perform encryption using a predetermined number of bytes as a processing unit,
  • the data size of the head data is made to correspond to the processing unit.
  • the encryption unit is In addition to the head data, a part of the data in the compression encoded data is selected and encrypted.
  • the encryption unit It is characterized in that at least one of the position and data size of data to be encrypted can be changed.
  • the encryption unit It supports multiple types of encryption algorithms, Encryption is performed according to an encryption algorithm specified for the compression-encoded data input by the data input unit.
  • the encryption unit It is characterized in that dummy data is inserted into the encrypted data.
  • the cryptographic device further comprises: In addition to generating decryption information used for decrypting the data encrypted by the encryption unit, the decryption information generation unit inserts dummy data into the generated decryption information.
  • the decoding device provides: A data input unit for inputting compression-encoded data that is compression-encoded, wherein the leading data is encrypted; And a decoding unit that selects the head data from the compressed and encoded data input by the data input unit and decodes the head data.
  • the data input unit includes: Input the intra-frame prediction compression encoded data in which the first data is encrypted,
  • the decoding unit The head data is selected from the intra-frame prediction compression-encoded data input by the data input unit, and the head data is decoded.
  • the data input unit includes: Input the inter-frame prediction compression encoded data in which the first data is encrypted,
  • the encryption unit The head data is selected from the inter-frame prediction compression-encoded data input by the data input unit, and the head data is encrypted.
  • the encryption method according to the present invention includes: Computer Input the compressed encoded data that is processed from the beginning of the data at the time of data decompression, The head data is selected from the input compressed and encoded data, and the head data is encrypted.
  • the decoding method includes: Computer Input the compression encoded data that is encoded with the first data encrypted, The head data is selected from the input compressed and encoded data, and the head data is decoded.
  • the head data is selected from the compression encoded data processed from the head of the data at the time of data decompression, and the selected head data is encrypted
  • the compression code is required if the encrypted head data is not decrypted.
  • the entire data is not decrypted correctly. For this reason, according to the present invention, unauthorized decryption and reproduction can be prevented with a small amount of data encryption.
  • FIG. 1 is a block diagram illustrating a configuration example of an encryption device 100 according to the present embodiment.
  • H.264 is used.
  • a cryptographic device 100 targeting H.264 will be described.
  • the encryption apparatus 100 according to the present embodiment can also be applied to other moving image encoding methods having equivalent characteristics.
  • the overall operation flow of the encryption device 100 will be described with reference to FIG. It is assumed that the encryption device 100 shown in FIG. 1 and a decryption device 500 described later share in advance information such as the data size to be encrypted, the position of the data to be encrypted, and the encryption algorithm.
  • the packet extraction unit 101 inputs a moving image data stream 106. Then, the packet extraction unit 101 decomposes the moving image data stream 106 for each packet, and outputs a moving image packet 109.
  • AUD indicates the head of the access unit.
  • SPS and PPS are image parameters.
  • SEI is a user parameter.
  • the I slice data is intra-frame predictive compression encoded data. An I frame is composed of one or more I slice data.
  • Each of the P slice data and the B slice data is inter-frame prediction compression encoded data.
  • Each of the P frame and the B frame includes one or more P slice data and B slice data.
  • I slice data, P slice data, and B slice data are processed from the beginning of each data when decompressing the data, and are examples of compression-encoded data.
  • the packet extraction unit 101 inputs I slice data, P slice data, and B slice data, which are examples of compressed encoded data, and is an example of a data input unit.
  • the packet determination unit 102 classifies the moving image packet 109 into an image data packet 110 that includes the encoded image data body and a control data packet 111 that stores parameters necessary for decoding the encoded image. Then, the packet determination unit 102 outputs the control data packet 111 to the packet synthesis unit 105 and outputs the image data packet 110 to the encryption unit 103.
  • the encryption key generation unit 104 receives the encryption key derivation data 114 and generates the encryption key data 107 and the decryption packet 112 from the input encryption key derivation data 114.
  • the encryption key data 107 and the decryption packet 112 are information (decryption information) used for decrypting the encrypted data, and the encryption key generation unit 104 is an example of a decryption information generation unit.
  • the encryption unit 103 encrypts the image data packet 110 with the encryption key data 107 and outputs an encrypted image data packet 113.
  • the encryption unit 103 selects the top data from the compressed encoded data included in the image data packet 110, and at least encrypts the selected top data. That is, the head data of each of the I slice data, the P slice data, and the B slice data is selected, and encryption is performed on each head data.
  • the data size of the first data to be selected is a data size that is sufficiently smaller than the overall data size of each of the I slice data, P slice data, and B slice data.
  • the encryption unit 103 may encrypt only the top data, or may encrypt subsequent data other than the top data. At the very least, the top data should be encrypted. Further, the encryption unit 103 may encrypt the leading data of only the I slice data without encrypting the P slice data and the B slice data.
  • the packet combining unit 105 combines the control data packet 111, the encrypted image data packet 113, and the decryption packet 112, and outputs the encrypted moving image data stream 108.
  • the packet extraction unit 101 and the packet determination unit 102 may be omitted.
  • an image data packet 110 and a control data packet 111 are separately supplied from the moving image encoder.
  • FIG. 2 shows a configuration example of the encryption unit 103, and an operation flow in the encryption unit 103 will be described.
  • the encrypted data extraction unit 201 receives the image data packet 110 and generates the encryption target data 207 from the input image data packet 110.
  • the encryption target data 207 is the first n bytes of the encoded image data body in the image data packet.
  • n is a constant multiple of the processing unit (block) of the cryptographic processing unit 202. That is, the encryption processing unit 202 performs encryption using a predetermined number of bytes as a processing unit, and the encrypted data extraction unit 201 associates the processing unit of the encryption processing unit 202 with a processing unit constant corresponding to the processing unit of the encryption processing unit 202. Extract n-byte head data corresponding to double. However, as described above, n is sufficiently shorter than the data length of the image data packet 110.
  • the encrypted data extraction unit 201 extracts the first 8 bytes (one time of the processing unit) from the image data packet 110 as the encryption target data 207.
  • I slice data or P slice data or B slice data
  • the encryption target data 207 extracted by the encrypted data extraction unit 201 is sufficiently small.
  • the encrypted data extraction unit 201 may select data to be encrypted with an arbitrary size at an arbitrary position. The size in this case is also a constant multiple of the processing unit (block) of the cryptographic processing unit 202.
  • the encryption processing unit 202 receives the encryption key data 107 generated by the encryption key generation unit 104, and encrypts the encryption target data 207 using the input encryption key data 107. That is, the encryption processing unit 202 encrypts the first n bytes of each of the I slice data, P slice data, and B slice data, and outputs the encrypted data 208.
  • the data replacement unit 203 replaces the data corresponding to the encryption target data 207 in the image data packet 110 with the encrypted data 208 encrypted by the encryption processing unit 202. Further, as shown in FIG. 8, the data replacement unit 203 may insert dummy data 209 into the encrypted data 208 at the beginning and end and at a fixed interval at the time of replacement. Thus, it is possible to prevent the ciphertext from including a specific code (such as a start code) of the video data stream.
  • a specific code such as a start code
  • FIG. 3 shows a configuration example of the encryption key generation unit 104 shown in FIG. 1, and an operation flow in the encryption key generation unit 104 will be described.
  • the encryption key data generation unit 303 receives the encryption key derivation data 114 and generates the encryption key data 107 from the input encryption key derivation data 114. However, although it is easy to generate the encryption key data 107 from the encryption key derivation data 114, it is difficult to derive the encryption key derivation data 114 from the encryption key data 107. In addition, the encryption key data generation unit 303 outputs the decryption data 306. However, the decryption data 306 does not include the encryption key derivation data 114 itself. However, it includes an amount of information sufficient to generate decryption key data 512 described later from the decryption data 306 and decryption key derivation data 514 described later.
  • the decryption header generation unit 302 receives the decryption data 306 and generates a decryption packet 112.
  • FIG. 4 shows a generation image of the decoding packet.
  • the decryption header generation unit 302 connects the decryption data 306 to the header information 402 as shown in FIG. Further, as shown in FIG. 4B, the decryption header generation unit 302 inserts dummy data 403 at regular intervals into the concatenated information.
  • H In the case of H.264, a 1-byte code other than 0x00 and 0x01 is inserted as dummy data. The inserted data is output as a decryption packet 112.
  • FIG. 5 shows a configuration example of the decryption apparatus 500 that decrypts the encrypted video stream generated in FIG. 1, and the entire operation flow of the decryption apparatus 500 will be described.
  • the packet extraction unit 501 receives the encrypted moving image data stream 108 and generates an encrypted moving image packet 508 from the input encrypted moving image data stream 108.
  • the encrypted moving image data stream 108 includes a control data packet 111 including AUD, SPS, PPS, and SEI, and an encryption including I slice data, P slice data, and B slice data in which the first n bytes are encrypted.
  • An image data packet 113 and a decryption packet 112 generated by the encryption key generation unit 104 are included.
  • the packet extraction unit 501 decomposes the encrypted moving image data stream 108 into the control data packet 111, the encrypted image data packet 113, and the decryption packet 112 as an encrypted moving image packet 508.
  • the I slice data, B slice data, and P slice data in which the leading data is encrypted are examples of compressed encoded data in which the leading data is encrypted.
  • the packet extraction unit 501 inputs I slice data, B slice data, and P slice data, which are examples of compressed encoded data in which the leading data is encrypted, and is an example of a data input unit.
  • the packet determination unit 502 classifies the encrypted moving image packet 508 into an encrypted image data packet 113, a control data packet 111, and a decryption packet 112, and outputs the control data packet 111 to the packet combining unit 505.
  • the data packet 113 is output to the decryption unit 503, and the decryption packet 112 is output to the decryption key generation unit 504.
  • the decryption key generation unit 504 receives the decryption packet 112 and the decryption key derivation data 514, and generates decryption key data 512 from the input decryption packet 112 and the decryption key derivation data 514.
  • the decryption unit 503 receives the encrypted image data packet 113 and the decryption key data 512, decrypts the encrypted image data packet 113 using the decryption key data 512, and generates a decrypted image data packet 513. More specifically, the decryption unit 503 selects the first n bytes of data from the I slice data, B slice data, and P slice data in the encrypted image data packet 113, and decrypts the first n bytes of data. . Then, the decoding unit 503 outputs a decoded image data packet 513 including I slice data, B slice data, and P slice data after decoding the first n bytes of data.
  • the packet combining unit 505 receives the decoded image data packet 513 and the control data packet 111, and combines the input decoded image data packet 513 and the control data packet 111 to generate a moving image data stream 507.
  • the packet combining unit 505 when performing decoding processing in combination with a moving picture decoder, the packet combining unit 505 may be omitted. In this case, a decoded image data packet 513 and a control data packet 111 are separately provided to the moving image decoder.
  • FIG. 6 shows a configuration example of the decoding unit 503, and an operation flow of the decoding unit 503 will be described.
  • the decryption data extraction unit 601 generates decryption target data 607 from the encrypted image data packet 113.
  • the decryption target data 607 is the first n bytes of each of the I slice data, P slice data, and B slice data, and the decryption data extraction unit 601 selects the decryption target data 607 from the encrypted image data packet 113.
  • the decryption data extraction unit 601 removes the dummy data 209 from the decryption target data 607.
  • the decryption processing unit 602 uses the decryption key data 512 to decrypt the decryption target data 607 according to the same encryption algorithm as that of the encryption processing unit 202, and generates decrypted data 608.
  • the data replacement unit 603 replaces the data corresponding to the decryption target data 607 in the encrypted image data packet 113 with the decrypted data 608.
  • the replacement operation is the same as that of the data replacement unit 203.
  • the data after replacement by the data replacement unit 603 becomes a decoded image data packet 513.
  • FIG. 7 a configuration example of the decryption key generation unit 504 is shown in FIG. 7, and an operation flow of the decryption key generation unit 504 will be described.
  • Decoding data extraction section 702 receives decoding packet 112, removes header information and dummy data, and outputs decoding data 306.
  • the decryption key data generation unit 703 receives the decryption key derivation data 514 and the decryption data 306 and generates decryption key data 512.
  • FIG. 16 shows a video stream before encryption
  • FIG. 17 shows a video stream after encryption
  • the slice header (S / H) includes at least a unique word. However, parameters other than the unique word may be included.
  • the slice header (S / H) is not encrypted.
  • encryption of the head data is essential, but subsequent data other than the head data may be encrypted or may not be encrypted.
  • FIG. 17 shows an example in which data other than the top data is encrypted. In FIG.
  • the head data is encrypted for P slice data and B slice data in addition to I slice data, but the encryption of the head data of P slice data and B slice data may be omitted. . That is, only the top data of the I slice data may be encrypted. Further, as shown in FIG. 17, the decryption packet 112 is included in the SEI packet.
  • FIG. 9 shows an image of the encrypted data when viewed at the frame level.
  • a macroblock written as “encrypted (required)” indicates a macroblock that is always encrypted, and a macroblock written as “encrypted (optional)” is encrypted.
  • a macroblock indicating an arbitrary macroblock and indicated as “encoding” indicates a macroblock to be encoded, and a macroblock indicated as “reference” is an encoding of a macroblock to be encoded.
  • the macroblocks referred to during decoding and decoding are shown.
  • macroblocks with the same hatching pattern have the same attributes (encryption (essential), encryption (optional), reference)).
  • the arrows shown in FIG. 9 indicate macroblocks included in one packet data (slice).
  • MPEG-4 AVC / H.264 for intra-frame prediction, the pixel values of the upper, left, and upper left macroblocks are referred to for the macroblock to be encoded. For this reason, unless the values of these reference macroblocks are normally decoded, the macroblock to be encoded is not normally decoded. That is, in intra-frame prediction, if the leading macroblock is not decoded correctly, the entire frame cannot be decoded correctly. In this embodiment, by encrypting only the data including the macroblock at the head of the slice, it is possible to prevent unauthorized decoding and reproduction of moving images with a small amount of data encryption.
  • the decoding data 306 may include a random number, and sometimes the numerical value matches a specific code (such as a start code) of the video data stream. In this case, there is a risk of malfunction at the video decoding stage. In the present embodiment, such a specific code can be prevented from appearing by inserting a dummy byte.
  • a specific code such as a start code
  • an apparatus and method for encrypting data compressed by a moving image encoding method that performs intra-frame prediction and inter-frame prediction, in an encoded and shaped image data packet The moving image encryption apparatus and the moving image encryption method for encrypting a part of the moving image data including the head data of the encoded image data main body have been described.
  • the moving image encryption apparatus and the moving image encryption method for inserting dummy information at the beginning, end, and fixed intervals with respect to the encrypted data have been described.
  • the data encoded by the moving image encoding system that performs intra-frame prediction and inter-frame prediction is MPEG-4 AVC / H. It was explained that the data was compressed by H.264.
  • a moving picture encryption apparatus and a moving picture which add header information to information necessary for decryption and insert dummy information into the information necessary for decryption with the header information added at regular intervals.
  • the image encryption method was explained.
  • the moving image encryption apparatus and the moving image encryption method that embed data in which dummy information is inserted into the moving image stream have been described.
  • a moving image decoding apparatus that decodes a part of moving image data including the head data of the encoded encrypted image data body in the encoded and formed encrypted image data packet, and The video decoding method has been described.
  • the moving picture decoding apparatus and moving picture decoding method for removing dummy information from decoding target data when dummy information is inserted into the decoding target data have been described.
  • a video decoding device and a video decoding method have been described in which data with dummy information inserted is acquired from a video stream, the dummy information is removed, and information necessary for decoding is acquired. .
  • Embodiment 2 it is necessary to fix the data size to be encrypted, the position of the data to be encrypted, the encryption algorithm, and the like between the encryption device and the decryption device.
  • the data size to be encrypted, the position of the data to be encrypted, and the like are made variable.
  • FIG. 10 is a block diagram illustrating a configuration example of the encryption device 1000 according to the present embodiment.
  • H.264. H.264 will be described.
  • the encryption apparatus 1000 according to the present embodiment can be applied to other encoding methods having equivalent characteristics.
  • the operations of the packet extraction unit 1001, the packet determination unit 1002, and the packet synthesis unit 1005 are the same as those of the packet extraction unit 101, the packet determination unit 102, and the packet synthesis unit 105 described in the first embodiment.
  • the encryption key generation unit 1004 receives the encryption parameter 1015 in addition to the encryption key derivation data 1014.
  • the encryption key derivation data 1014 is the same as the encryption key derivation data 114 described in the first embodiment.
  • the encryption parameter 1015 is information indicating the data size to be encrypted, the position of the data to be encrypted, and the encryption algorithm. By using the encryption parameter 1015, the data size to be encrypted, the position of the data to be encrypted, and the encryption algorithm can be made variable.
  • the encryption key generation unit 1004 is an example of a decryption information generation unit.
  • the encryption unit 1003 receives the image data packet 1010, the encryption key data 1007, and the encryption parameter 1015.
  • the encryption parameter 1015 includes the data size for encryption, the position of the data to be encrypted, the encryption algorithm information to be used, and the like. Encryption is performed based on the indicated data size, data position, and encryption algorithm. For example, the encryption unit 1003 sets the data size (n bytes) of the head data of the I slice data to be encrypted as the data size indicated in the encryption parameter 1015. The encryption unit 1003 performs encryption using the encryption algorithm indicated in the encryption parameter 1015.
  • the encrypted data extraction unit 1101 obtains the data size to be encrypted and the position information of the data to be encrypted from the encryption parameter 1015. Then, the encrypted data extraction unit 1101 extracts data to be encrypted from the image data packet 1010 according to the information acquired from the encryption parameter 1015, and sets the extracted data as the encryption target data 1110.
  • the encryption selection unit 1102 obtains encryption algorithm information to be used from the encryption parameter 1015, and distributes the encryption target data to any of the corresponding encryption processing units 1103-1105.
  • FIG. 11 shows the case of three cryptographic processing units, the number may be arbitrary. The three cryptographic processing units shown in FIG. 11 correspond to different cryptographic algorithms.
  • the encryption processing unit 1103-1105 encrypts the distributed encryption target data 1110 with the encryption key data 1007, and generates encrypted data 1111.
  • the data replacement unit 1106 obtains the data size to be encrypted and the position information of the data to be encrypted from the encryption parameter 1015.
  • the data replacement unit 1106 replaces the corresponding data in the image data packet 1010 with the encrypted data 1111 according to the information acquired from the encryption parameter 1015, and generates an encrypted image data packet 1013.
  • the data replacement unit 1106 may insert dummy data into the encrypted data 1111 at the beginning and end and at regular intervals during the replacement. Thus, it is possible to prevent the ciphertext from including a specific code (such as a start code) of the video data stream.
  • FIG. 12 shows the operation of the encryption key generation unit 1004 shown in FIG.
  • the encryption key data generation unit 1203 generates encryption key data 1007 from the encryption key derivation data 1014. However, although it is easy to generate the encryption key data 1007 from the encryption key derivation data 1014, it is difficult to derive the encryption key derivation data 1014 from the encryption key data 1007. Also, the encryption key data generation unit 1203 outputs the decryption data 1206. However, the decryption data 1206 does not include the encryption key derivation data 1014 body. However, it includes an amount of information sufficient to generate decryption key data 1412 described later from the decryption data 1206 and decryption key derivation data 1414 described later.
  • the decryption header generation unit 1202 receives the decryption data 1206 and the encryption parameter 1015 and generates a decryption packet 1204.
  • FIG. 13 shows a generation image of the decoding packet.
  • the decryption header generation unit 1202 concatenates the decryption data 1206 and the encryption parameter 1015 with the header information 1302. Also, the decryption header generation unit 1202 inserts dummy data 1303 at regular intervals into the connected information. H. In the case of H.264, a 1-byte code other than 0x00 and 0x01 is inserted as dummy data. Then, the decryption header generation unit 1202 outputs the data after inserting the dummy data as a decryption packet 1012.
  • FIG. 14 shows a configuration of a decryption apparatus 1400 that decrypts the encrypted video stream generated in FIG.
  • the operations of the packet extracting unit 1401, the packet determining unit 1402, and the packet combining unit 1405 are the same as those of the packet extracting unit 501, the packet determining unit 502, and the packet combining unit 505 described in the first embodiment.
  • the decryption key generation unit 1404 generates the decryption key data 1412 and the encryption parameter 1015 from the decryption packet 1012 and the decryption key derivation data 1414.
  • the decryption unit 1403 decrypts the encrypted image data packet 1409 using the decryption key data 1412 and the encryption parameter 1015 to generate a decrypted image data packet 1413.
  • the decryption unit 1403 decrypts the encrypted data based on the data size, data position, and encryption algorithm indicated in the encryption parameter. For example, the decryption unit 1403 sets the data size (n bytes) of the head data of the I slice data to be decrypted as the data size indicated in the encryption parameter 1015. Also, the decryption unit 1403 performs decryption using the encryption algorithm indicated in the encryption parameter 1015.
  • the packet combining unit 1405 when performing decoding processing in combination with a moving picture decoder, the packet combining unit 1405 may be omitted. In this case, a decoded image data packet 1413 and a control data packet 1011 are separately provided to the moving image decoder.
  • FIG. 15 shows a configuration example of the decoding unit 1403.
  • the decryption data extraction unit 1501 obtains the data size to be decrypted and the position information of the data to be decrypted from the encryption parameter 1015. Then, the decryption data extraction unit 1501 extracts data to be decrypted from the encrypted image data packet 1013 according to the acquired information, and sets it as decryption target data 1510. Similarly to the first embodiment, the decoding data extraction unit 1501 removes dummy data from the decoding target data 1510 when the decoding target data 1510 includes dummy data.
  • the decryption selection unit 1502 obtains encryption algorithm information to be used from the encryption parameter 1015, and distributes the decryption target data to one of the corresponding decryption processing units 1503-1505.
  • the decryption processing units 1503-1505 decrypt the distributed decryption target data 1510 with the decryption key data 1412 to generate decrypted data 1511.
  • the data replacement unit 1506 obtains the data size to be decrypted and the position information of the data to be decrypted from the encryption parameter 1015.
  • the data replacement unit 1506 then replaces the corresponding data of the encrypted image data packet 1013 with the decrypted data 1511 according to the information acquired from the encryption parameter 1015, and generates a decrypted image data packet 1413.
  • information such as the data size to be encrypted, the position of the data to be encrypted, and the encryption algorithm is determined on the encryption device side, and these are transferred to the decryption device as encryption parameters.
  • the encryption algorithm can be changed.
  • the data size to be encrypted operation according to the security level becomes possible.
  • the moving image encryption apparatus and the moving image encryption method that can change the size and position of data to be encrypted and the encryption algorithm to be used according to predetermined parameters have been described.
  • the moving picture decoding apparatus and moving picture decoding method that can change the size and position of data to be decoded and the decoding algorithm to be used according to predetermined parameters have been described.
  • FIG. 18 is a diagram illustrating an example of hardware resources such as the encryption device 100 described in the first and second embodiments. 18 is merely an example of the hardware configuration of the encryption device 100 or the like, and the hardware configuration of the encryption device 100 or the like is not limited to the configuration illustrated in FIG. Also good.
  • the encryption device 100 or the like includes a CPU 911 (also referred to as a central processing unit, a central processing unit, a processing unit, an arithmetic unit, a microprocessor, a microcomputer, and a processor) that executes a program.
  • the CPU 911 is connected to, for example, a ROM (Read Only Memory) 913, a RAM (Random Access Memory) 914, a communication board 915, a display device 901, a keyboard 902, a mouse 903, and a magnetic disk device 920 via a bus 912. Control hardware devices.
  • the CPU 911 may be connected to an FDD 904 (Flexible Disk Drive), a compact disk device 905 (CDD), a printer device 906, and a scanner device 907.
  • FDD 904 Flexible Disk Drive
  • CDD compact disk device
  • a storage device such as an optical disk device or a memory card (registered trademark) read / write device may be used.
  • the RAM 914 is an example of a volatile memory.
  • the storage media of the ROM 913, the FDD 904, the CDD 905, and the magnetic disk device 920 are an example of a nonvolatile memory. These are examples of the storage device.
  • a communication board 915, a keyboard 902, a mouse 903, a scanner device 907, an FDD 904, and the like are examples of input devices.
  • the communication board 915, the display device 901, the printer device 906, and the like are examples of output devices.
  • the communication board 915 is connected to the network.
  • the communication board 915 may be connected to a LAN (local area network), the Internet, a WAN (wide area network), or the like.
  • the magnetic disk device 920 stores an operating system 921 (OS), a window system 922, a program group 923, and a file group 924.
  • the programs in the program group 923 are executed by the CPU 911 using the operating system 921 and the window system 922.
  • the RAM 914 temporarily stores at least part of the operating system 921 program and application programs to be executed by the CPU 911.
  • the RAM 914 stores various data necessary for processing by the CPU 911.
  • the ROM 913 stores a BIOS (Basic Input Output System) program
  • the magnetic disk device 920 stores a boot program.
  • BIOS Basic Input Output System
  • the BIOS program in the ROM 913 and the boot program in the magnetic disk device 920 are executed, and the operating system 921 is activated by the BIOS program and the boot program.
  • the program group 923 stores programs for executing the functions described as “... Unit” in the description of the first and second embodiments.
  • the program is read and executed by the CPU 911.
  • the data and signal values are the RAM 914 memory, the FDD 904 flexible disk, the CDD 905 compact disk, and the magnetic field. Recording is performed on a recording medium such as a magnetic disk of the disk device 920, other optical disks, mini disks, DVDs, and the like. Data and signals are transmitted online via a bus 912, signal lines, cables, or other transmission media.
  • Embodiments 1 and 2 may be “... circuit”, “... device”, “... device”. Also, “... step”, “... procedure”, “... process” may be used. That is, what is described as “... Unit” may be realized by firmware stored in the ROM 913. Alternatively, it may be implemented only by software, or only by hardware such as elements, devices, substrates, and wirings, by a combination of software and hardware, or by a combination of firmware.
  • Firmware and software are stored as programs in a recording medium such as a magnetic disk, a flexible disk, an optical disk, a compact disk, a mini disk, and a DVD.
  • the program is read by the CPU 911 and executed by the CPU 911. That is, the program causes the computer to function as “... Unit” in the first and second embodiments. Alternatively, the computer executes the procedure and method of “... Unit” in the first and second embodiments.
  • the encryption device 100 or the like described in the first and second embodiments includes a CPU that is a processing device, a memory that is a storage device, a magnetic disk, a keyboard that is an input device, a mouse, a communication board, a display device that is an output device, and a communication device.
  • a computer including a board or the like, and implements the function indicated as “... Unit” using the processing device, the storage device, the input device, and the output device as described above.
  • FIG. 3 is a diagram illustrating a configuration example of a cryptographic device according to the first embodiment.
  • FIG. 3 shows a configuration example of an encryption unit according to the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of an encryption key generation unit according to the first embodiment.
  • FIG. 6 is a diagram showing an example in which dummy data is inserted into a decoding packet according to the first embodiment.
  • FIG. 3 shows a configuration example of a decoding apparatus according to the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a decoding unit according to the first embodiment.
  • FIG. 3 is a diagram illustrating a configuration example of a decryption key generation unit according to the first embodiment.
  • FIG. 3 is a diagram illustrating an example of macroblock encryption according to the first embodiment.
  • FIG. 4 is a diagram illustrating a configuration example of an encryption device according to a second embodiment.
  • FIG. 6 is a diagram illustrating a configuration example of an encryption unit according to a second embodiment.
  • FIG. 10 is a diagram illustrating a configuration example of an encryption key generation unit according to the second embodiment.
  • FIG. FIG. 6 is a diagram illustrating a configuration example of a decoding device according to a second embodiment.
  • FIG. 10 is a diagram illustrating a configuration example of a decoding unit according to the second embodiment.
  • FIG. 6 is a diagram illustrating an example of a video stream before encryption according to the first embodiment.
  • FIG. 6 is a diagram illustrating an example of an encrypted moving image stream according to the first embodiment.
  • FIG. 3 is a diagram illustrating a hardware configuration example of an encryption device and a decryption device according to Embodiments 1 and 2.
  • 100 encryption device 101 packet extraction unit, 102 packet determination unit, 103 encryption unit, 104 encryption key generation unit, 105 packet synthesis unit, 106 moving image data stream, 107 encryption key data, 108 encrypted moving image data stream, 109 Moving image packet, 110 image data packet, 111 control data packet, 112 decryption packet, 113 encrypted image data packet, 114 encryption key derivation data, 201 encrypted data extraction unit, 202 encryption processing unit, 203 data replacement unit, 207 data to be encrypted, 208 encrypted data, 209 dummy data, 302 decryption header generation unit, 303 encryption key data generation unit, 306 decryption data, 402 header information, 403 dummy data, 500 decryption device 501 packet extraction unit, 502 packet determination unit, 503 decryption unit, 504 decryption key generation unit, 505 packet synthesis unit, 507 moving image data stream, 508 encrypted moving image packet, 512 decryption key data, 513 decrypted image data packet, 514 Decryption key

Abstract

 フレーム内予測に用いられ、データ伸張時に先頭のデータから処理されるIスライスデータが含まれる画像データパケット110を暗号化部103が入力し、暗号化部103が、Iスライスデータの全体のデータサイズに比べて十分小さいデータサイズのデータをIスライスデータの先頭から抽出し、抽出した先頭のデータのみ暗号化を行い、これにより、Iスライスデータの先頭のデータが復号されないとフレーム内予測が行えなくなり、少ないデータ量の暗号化で、動画像データの不正な復号再生を阻止できる。

Description

暗号装置及び復号装置及び暗号方法及び復号方法
 本発明は、圧縮符号化された圧縮符号化データを暗号化する技術及び暗号化された圧縮符号化データを復号する技術に関し、特に、圧縮符号化された圧縮符号化画像データを暗号化する技術及び暗号化された圧縮符号化画像データを復号する技術に関する。
 近年、ビデオや監視映像等、動画像の電子化に伴い、これらのコンテンツを不正な閲覧から守るため、データの暗号化が求められる。
 動画像はMPEG(Moving Picture Experts Group)2やH.264など、フレーム内予測とフレーム間予測を使って圧縮・符号化されることが多い。
 フレーム内予測とは、単一フレーム内の情報のみで圧縮を行うものであり、フレーム内予測で基準となる情報は、I(Intra)フレーム(又はIピクチャ)と呼ばれる。
 フレーム間予測とは、前後するフレーム情報を用いて圧縮を行うものであり、フレーム間予測で基準となる情報は、P(Predictive)フレーム(又はPピクチャ)やB(Bidirectionally)フレーム(又はBピクチャ)と呼ばれる。
 MPEG2やH.264などの動画像の圧縮では、PフレームやBフレームは必須ではなく、Iフレームのみで符号化することも可能である。
 これは、圧縮率と品質とのトレードオフで決まる。
 また、組み込みシステムでは、リアルタイム性を優先するために、演算時間のかかるフレーム間予測を行わずに、フレーム内予測のみを行う場合もある。
 従来の動画像の暗号化では、Iフレームのみを暗号化するものが提案されている(例えば、特許文献1、特許文献2、特許文献3)。
 また、H.264に特化した画像暗号化法として、特許文献4がある。
特開2005-295468号公報 特開平08-163533号 特開平10-145773号公報 特表2006-510308号公報
 特許文献1-3の手法で暗号化した場合、Iフレームのみで符号化された動画像を暗号化する場合に、全フレームデータを暗号化しなくてはならず、暗号化に多大な演算コストがかかるという課題がある。
 また、特許文献4では、H.264のNALユニットを「ヘッダデータ」、「イントラデータ」、「インターデータ」に分け、ユーザーが各々を任意に暗号化する手法が示されている。
 しかし、「ヘッダデータ」を暗号化した場合、データが暗号化されているかを的確に判断しなければ、H.264デコーダが誤動作する恐れがあるという課題がある。
 これを防止するには、ヘッダデータを格納するNALユニットを拡張するか、ユーザーが任意に値を設定できるNALユニット(SEI)に暗号化に関する情報を格納する必要がある。
 前者は標準化の兼ね合いから実現が困難であり、後者は時系列上SEIより前に存在するNALユニットには適用できない。
 「イントラデータ」、「インターデータ」を暗号化する際は、全フレームデータを暗号化しなくてはならず、暗号化に多大な演算コストがかかるという課題がある。
 この発明は、上記のような課題を解決することを主な目的の一つとしており、圧縮符号化データの暗号化処理における演算量を削減し、高速かつ確実に暗号化できる暗号化技術を実現し、また、暗号化された圧縮符号化データの復号処理における演算量を削減し、高速かつ確実に復号できる復号技術を実現することを主な目的とする。
 本発明に係る暗号装置は、
 データ伸張時にデータの先頭から処理される、圧縮符号化された圧縮符号化データを入力するデータ入力部と、
 前記データ入力部により入力された前記圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化する暗号化部とを有することを特徴とする。
 前記データ入力部は、
 フレーム内予測圧縮符号化データを入力し、
 前記暗号化部は、
 前記データ入力部により入力された前記フレーム内予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする。
 前記データ入力部は、
 フレーム間予測圧縮符号化データを入力し、
 前記暗号化部は、
 前記データ入力部により入力された前記フレーム間予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする。
 前記暗号化部は、
 前記先頭のデータのデータサイズを、前記圧縮符号化データの全体のデータサイズに対して十分に小さいデータサイズとすることを特徴とする。
 前記暗号化部は、
 所定バイト数を処理単位として暗号化を行い、
 前記先頭のデータのデータサイズを、前記処理単位に対応させることを特徴とする。
 前記暗号化部は、
 前記先頭のデータ以外に前記圧縮符号化データ中の一部のデータを選別して暗号化することを特徴とする。
 前記暗号化部は、
 暗号化の対象とするデータの位置及びデータサイズの少なくともいずれかを変更できることを特徴とする。
 前記暗号化部は、
 複数種類の暗号アルゴリズムに対応しており、
 前記データ入力部により入力された前記圧縮符号化データに対して指定されている暗号アルゴリズムに従って暗号化を行うことを特徴とする。
 前記暗号化部は、
 暗号化後のデータにダミーデータを挿入することを特徴とする。
 前記暗号装置は、更に、
 前記暗号化部により暗号化されたデータの復号に用いられる復号用情報を生成するとともに、生成した復号用情報にダミーデータを挿入する復号用情報生成部を有することを特徴とする。
 本発明に係る復号装置は、
 先頭のデータが暗号化されている、圧縮符号化された圧縮符号化データを入力するデータ入力部と、
 前記データ入力部により入力された前記圧縮符号化データから前記先頭のデータを選別し、前記先頭のデータを復号する復号部とを有することを特徴とする。
 前記データ入力部は、
 先頭のデータが暗号化されているフレーム内予測圧縮符号化データを入力し、
 前記復号部は、
 前記データ入力部により入力された前記フレーム内予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを復号することを特徴とする。
 前記データ入力部は、
 先頭のデータが暗号化されているフレーム間予測圧縮符号化データを入力し、
 前記暗号化部は、
 前記データ入力部により入力された前記フレーム間予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする。
 本発明に係る暗号方法は、
 コンピュータが、
 データ伸張時にデータの先頭から処理される、圧縮符号化された圧縮符号化データを入力し、
 入力した前記圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする。
 本発明に係る復号方法は、
 コンピュータが、
 先頭のデータが暗号化されている、圧縮符号化された圧縮符号化データを入力し、
 入力した前記圧縮符号化データから前記先頭のデータを選別し、前記先頭のデータを復号することを特徴とする。
 本発明では、データ伸張時にデータの先頭から処理される圧縮符号化データから先頭のデータを選別し、選別した先頭のデータを暗号化するので、暗号化された先頭のデータが復号されないと圧縮符号化データ全体が正常に復号されない。このため、本発明によれば、少ないデータ量の暗号化で、不正な復号再生を阻止することができる。
 実施の形態1.
 図1は、本実施の形態に係る暗号装置100の構成例を示すブロック図である。
 本実施の形態では、H.264を対象とする暗号装置100を説明する。しかし、本実施の形態に係る暗号装置100は、同等の特性を有する他の動画像符号化方式にも適用可能である。
 まず、図1を用いて、暗号装置100の全体の動作フローを説明する。
 なお、図1に示す暗号装置100と後述する復号装置500は、暗号化するデータサイズ、暗号化するデータの位置、暗号アルゴリズム等の情報を予め共有しているものとする。
 パケット抽出部101は、動画像データストリーム106を入力する。
 そして、パケット抽出部101は、動画像データストリーム106をパケットごとに分解し、動画像パケット109を出力する。
 H.264の場合、パケット抽出部101は、動画像パケット109として、図16に示すAUD、SPS、PPS、SEIを含む制御データパケット111と、Iスライスデータ、Pスライスデータ、Bスライスデータを含む画像データパケット110とに分解する。
 図16において、AUDは、アクセスユニット先頭を示す。SPS及びPPSは、画像パラメータである。SEIは、ユーザパラメータである。
 Iスライスデータは、フレーム内予測圧縮符号化データである。Iフレームは、1つ以上のIスライスデータから構成される。
 Pスライスデータ、Bスライスデータは、それぞれ、フレーム間予測圧縮符号化データである。Pフレーム、Bフレームは、それぞれ、1つ以上のPスライスデータ、Bスライスデータから構成される。
 また、Iスライスデータ、Pスライスデータ、Bスライスデータは、データ伸張時に各々のデータの先頭から処理され、圧縮符号化データの一例である。
 そして、パケット抽出部101は圧縮符号化データの例であるIスライスデータ、Pスライスデータ、Bスライスデータを入力しており、データ入力部の例である。
 パケット判定部102は、動画像パケット109を、符号化された画像データ本体を含む画像データパケット110と、符号化画像の復号に必要なパラメータを格納する制御データパケット111に分類する。
 そして、パケット判定部102は、制御データパケット111をパケット合成部105に出力し、画像データパケット110を暗号化部103に出力する。
 暗号鍵生成部104は、暗号鍵導出用データ114を入力するとともに、入力した暗号鍵導出用データ114から暗号鍵データ107及び復号用パケット112を生成する。
 暗号鍵データ107及び復号用パケット112は、暗号化されたデータの復号に用いられる情報(復号用情報)であり、暗号鍵生成部104は復号用情報生成部の例である。
 暗号化部103は、暗号鍵データ107で画像データパケット110を暗号化して暗号化画像データパケット113を出力する。
 暗号化部103は、画像データパケット110の暗号化において、画像データパケット110に含まれる圧縮符号化データから先頭のデータを選別し、少なくとも選別した先頭のデータの暗号化を行う。つまり、Iスライスデータ、Pスライスデータ、Bスライスデータの各々の先頭のデータを選別し、各々の先頭のデータに対して暗号化を行う。そして、選別の対象となる先頭のデータのデータサイズは、Iスライスデータ、Pスライスデータ、Bスライスデータの各々の全体のデータサイズに対して十分に小さいデータサイズである。
 暗号化部103は、先頭のデータのみ暗号化してもよいし、先頭のデータ以外の後続のデータも暗号化してもよい。最低限、先頭のデータを暗号化すればよい。
 また、暗号化部103は、Pスライスデータ及びBスライスデータに対しては暗号化を行わず、Iスライスデータのみ先頭のデータの暗号化を行うようにしてもよい。
 パケット合成部105は制御データパケット111、暗号化画像データパケット113、復号用パケット112を合成し、暗号化動画像データストリーム108を出力する。
 図1において、動画像エンコーダと組み合わせて暗号処理を行う場合は、パケット抽出部101及びパケット判定部102を省略しても良い。
 この場合、動画像エンコーダから、別途画像データパケット110と制御データパケット111を供給する。
 図2に暗号化部103の構成例を示し、暗号化部103における動作フローを説明する。
 暗号化データ抽出部201は、画像データパケット110を入力し、入力した画像データパケット110から、暗号化対象データ207を生成する。
 暗号化対象データ207は、画像データパケット中の符号化された画像データ本体の先頭nバイトである。
 nは暗号処理部202の処理単位(ブロック)の定数倍とする。つまり、暗号処理部202は所定バイト数を処理単位として暗号化を行っており、暗号処理部202の処理単位に対応させて、暗号化データ抽出部201は、暗号処理部202の処理単位の定数倍に相当するnバイトの先頭データを抽出する。
 ただし、前述したように、nは画像データパケット110のデータ長より十分短いものとする。
 例えば、暗号処理部202の処理単位を8バイトとした場合に、暗号化データ抽出部201は画像データパケット110から先頭8バイト(処理単位の1倍)を暗号化対象データ207として抽出する。そして、通常、Iスライスデータ(又はPスライスデータ又はBスライスデータ)は少なくとも1Kバイトのデータサイズを有するので、暗号化データ抽出部201により抽出される暗号化対象データ207は十分に小さい。
 また、暗号化データ抽出部201は、前記画像データ本体の先頭nバイトの他に、任意の位置の任意のサイズで暗号化対象データを選択しても良い。
 この場合のサイズも暗号処理部202の処理単位(ブロック)の定数倍とする。
 暗号処理部202は、暗号鍵生成部104で生成された暗号鍵データ107を入力し、入力した暗号鍵データ107を用いて暗号化対象データ207の暗号化を行う。
 つまり、暗号処理部202は、Iスライスデータ、Pスライスデータ、Bスライスデータの各々の先頭nバイトのデータの暗号化を行い、暗号済みデータ208を出力する。
 データ置換部203は、画像データパケット110中の暗号化対象データ207に相当するデータを、暗号処理部202により暗号化された暗号済みデータ208に置換する。
 また、データ置換部203は、図8に示すように、置換の際に、暗号済みデータ208に対し、その先頭と終端及び一定間隔でダミーデータ209を挿入しても良い。
 このことにより、暗号文が映像データストリームの特定のコード(スタートコード等)を含むことを防止できる。
 次に、図3に図1に示した暗号鍵生成部104の構成例を示し、暗号鍵生成部104における動作フローを説明する。
 暗号鍵データ生成部303は、暗号鍵導出用データ114を入力し、入力した暗号鍵導出用データ114から暗号鍵データ107を生成する。
 ただし、暗号鍵導出用データ114から暗号鍵データ107を生成することは容易であるが、暗号鍵データ107から暗号鍵導出用データ114を導出することは困難であるとする。
 また、暗号鍵データ生成部303は復号用データ306を出力する。
 ただし、復号用データ306には暗号鍵導出用データ114本体を含まない。
 しかし、復号用データ306と後述する復号鍵導出用データ514から、後述する復号鍵データ512を生成できるだけの情報量を含む。
 復号ヘッダ生成部302は、復号用データ306を入力として復号用パケット112を生成する。
 図4には、復号用パケットの生成イメージを示す。
 復号ヘッダ生成部302は、図4(a)に示すように、復号用データ306をヘッダ情報402と連接する。
 また、復号ヘッダ生成部302は、図4(b)に示すように、連接した情報に対し、一定間隔でダミーデータ403を挿入する。
 H.264の場合、ダミーデータとして0x00、0x01以外の1バイトコードを挿入する。挿入後のデータを復号用パケット112として出力する。
 図5に、図1で生成された暗号化動画像ストリームを復号する復号装置500の構成例を示し、復号装置500の全体の動作フローを説明する。
 パケット抽出部501は、暗号化動画像データストリーム108を入力し、入力した暗号化動画像データストリーム108から暗号化動画像パケット508を生成する。
 暗号化動画像データストリーム108には、AUD、SPS、PPS、SEIを含む制御データパケット111と、それぞれ先頭nバイトが暗号化されているIスライスデータ、Pスライスデータ、Bスライスデータを含む暗号化画像データパケット113と、暗号鍵生成部104で生成された復号用パケット112が含まれている。
 パケット抽出部501は、暗号化動画像データストリーム108を、暗号化動画像パケット508として、制御データパケット111、暗号化画像データパケット113、復号用パケット112に分解する。
 先頭のデータが暗号化されているIスライスデータ、Bスライスデータ、Pスライスデータは、先頭のデータが暗号化されている圧縮符号化データの一例である。そして、パケット抽出部501は先頭のデータが暗号化されている圧縮符号化データの例であるIスライスデータ、Bスライスデータ、Pスライスデータを入力しており、データ入力部の例である。
 パケット判定部502は、暗号化動画像パケット508を、暗号化画像データパケット113、制御データパケット111、復号用パケット112に分類し、制御データパケット111をパケット合成部505に出力し、暗号化画像データパケット113を復号部503に出力し、復号用パケット112を復号鍵生成部504に出力する。
 復号鍵生成部504は、復号用パケット112と復号鍵導出用データ514を入力し、入力した復号用パケット112と復号鍵導出用データ514から復号鍵データ512を生成する。
 復号部503は、暗号化画像データパケット113と復号鍵データ512を入力し、復号鍵データ512を使って暗号化画像データパケット113を復号し、復号画像データパケット513を生成する。
 より具体的には、復号部503は、暗号化画像データパケット113内のIスライスデータ、Bスライスデータ、Pスライスデータから先頭のnバイトのデータを選別し、先頭のnバイトのデータを復号する。そして、復号部503は、先頭のnバイトのデータを復号した後のIスライスデータ、Bスライスデータ、Pスライスデータが含まれる復号画像データパケット513を出力する。
 パケット合成部505は、復号画像データパケット513、制御データパケット111を入力し、入力した復号画像データパケット513、制御データパケット111を合成して動画像データストリーム507を生成する。
 図5において、動画像デコーダと組み合わせて復号処理を行う場合は、パケット合成部505を省略しても良い。
 この場合、動画像デコーダに、別途復号画像データパケット513と制御データパケット111を提供する。
 次に、図6に復号部503の構成例を示し、復号部503の動作フローを説明する。
 復号データ抽出部601は、暗号化画像データパケット113から、復号対象データ607を生成する。
 復号対象データ607は、Iスライスデータ、Pスライスデータ、Bスライスデータの各々の先頭nバイトのデータであり、復号データ抽出部601は、暗号化画像データパケット113から復号対象データ607を選別する。
 復号対象データ607にダミーデータ209が含まれている場合は、復号データ抽出部601は、復号対象データ607からダミーデータ209を除去する。
 復号処理部602は、復号鍵データ512を使って、前記暗号処理部202と同じ暗号アルゴリズムに従い復号対象データ607を復号し、復号済みデータ608を生成する。
 データ置換部603は暗号化画像データパケット113中の復号対象データ607に相当するデータを、復号済みデータ608に置換する。
 置換動作は前記データ置換部203と同じである。
 データ置換部603による置換後のデータが復号画像データパケット513となる。
 次に、図7に復号鍵生成部504の構成例を示し、復号鍵生成部504の動作フローを説明する。
 復号用データ抽出部702は、復号用パケット112を入力し、ヘッダ情報およびダミーデータを除去し、復号用データ306を出力する。
 復号鍵データ生成部703は、復号鍵導出用データ514と復号用データ306を入力し、復号鍵データ512を生成する。
 図16は、暗号化前の動画像ストリームを示し、図17は、暗号化後の動画像ストリームを示す。
 図16において、スライスヘッダ(S/H)には、少なくともユニークワードが含まれる。ただし、ユニークワード以外のパラメータを含んでも良い。
 前述したように、本実施の形態では、フレーム内予測圧縮符号化データ(Iスライスデータ)及びフレーム間予測圧縮符号化データ(Pスライスデータ、Bスライスデータ)における、符号化されたデータ本体の先頭nバイトを暗号化する。但し、スライスヘッダ(S/H)は暗号化しない。
 本実施の形態では、先頭データの暗号化は必須であるが、先頭データ以外の後続のデータは暗号化してもよいし、暗号化しなくてもよい。図17では、先頭データ以外のデータの暗号化を行っている例を示している。
 また、図17では、Iスライスデータのほか、Pスライスデータ、Bスライスデータについても先頭データの暗号を行っているが、Pスライスデータ、Bスライスデータの先頭データの暗号化は省略してもよい。つまり、Iスライスデータの先頭データのみを暗号化するようにしてもよい。
 また、復号用パケット112は、図17に示すように、SEIパケットに含まれる。
 図9はフレームレベルで見たときの暗号化データのイメージを示す。
 図9において、「暗号化(必須)」と表記されているマクロブロックは、必ず暗号化が行われるマクロブロックを示し、「暗号化(任意)」と表記されているマクロブロックは、暗号化が任意のマクロブロックを示し、「符号化」と表記されているマクロブロックは、符号化対象のマクロブロックを示し、「参照」と表記されているマクロブロックは、符号化対象のマクロブロックの符号化の際及び復号の際に参照されるマクロブロックを示す。
 図9において、同じハッチングパターンが付されているマクロブロックは、同じ属性(暗号化(必須)、暗号化(任意)、参照)を有するものとする。
 また、図9に示す矢印は、1つのパケットデータ(スライス)に含まれるマクロブロックを示す。
 MPEG-4 AVC/H.264では、フレーム内予測として、符号化対象のマクロブロックに対し、その上部、左部及び左上部のマクロブロックの画素値が参照される。
 そのため、これらの参照マクロブロックの値が正常に復号されないと、符号化対象のマクロブロックは正常に復号されない。つまり、フレーム内予測においては、先頭のマクロブロックが正しく復号されないと、そのフレーム全体が正しく復号できなくなる。
 本実施の形態では、スライス先頭のマクロブロックを含むデータのみを暗号化することで、少ないデータ量の暗号化で、動画像の不正な復号再生を阻止できる。
 また、復号ヘッダ生成部302の効果について説明する。
 復号用データ306には乱数を含むことがあり、時として、その数値が映像データストリームの特定のコード(スタートコード等)と一致することがある。この場合、映像の復号段階で誤動作をおこす恐れがある。
 本実施の形態では、ダミーバイトを挿入することで、このような特定のコードが現れることを防止することができる。
 以上、本実施の形態では、フレーム内予測とフレーム間予測を行う動画像符号化方式で圧縮されたデータを暗号化する装置及び方法であって、符号化され、成形された画像データパケット中の符号化された画像データ本体の先頭データを含む動画像データの一部を暗号化する動画像暗号化装置及び動画暗号化方法を説明した。
 また、本実施の形態では、暗号化したデータに対し、その先頭・終端・及び一定間隔でダミー情報を挿入する動画像暗号化装置及び動画像暗号化方法を説明した。
 また、本実施の形態では、フレーム内予測とフレーム間予測を行う動画像符号化方式で符号化されたデータは、MPEG-4 AVC/H.264で圧縮されたデータであることを説明した。
 また、本実施の形態では、復号に必要な情報に対し、ヘッダ情報を付加し、前記ヘッダ情報を付加した復号に必要な情報に、一定間隔でダミー情報を挿入する動画像暗号化装置及び動画像暗号化方法を説明した。
 また、本実施の形態では、ダミー情報を挿入したデータを動画像ストリームに埋め込む動画像暗号化装置及び動画像暗号化方法を説明した。
 また、本実施の形態では、符号化され、成形された暗号化画像データパケット中の符号化された暗号化画像データ本体の先頭データを含む動画像データの一部を復号する動画像復号装置及び動画像復号方法を説明した。
 また、本実施の形態では、復号対象データにダミー情報が挿入されていた場合、復号対象データからダミー情報を除去する動画像復号装置及び動画像復号方法を説明した。
 また、本実施の形態では、ダミー情報を挿入したデータを、動画像ストリームより取得し、前記ダミー情報を除去し、復号に必要な情報を取得する動画像復号装置及び動画像復号方法を説明した。
 実施の形態2.
 実施の形態1では、暗号化するデータサイズや暗号化するデータの位置、暗号アルゴリズムなどを暗号装置と復号装置との間で固定する必要がある。
 本実施の形態では、暗号化するデータサイズや暗号化するデータの位置等を可変にする。
 図10は、本実施の形態に係る暗号装置1000の構成例を示すブロック図である。
 本実施の形態では、H.264を対象にして説明を行う。しかし、本実施の形態に係る暗号装置1000は、同等の特性を有する他の符号化方式にも適用可能である。
 図10において、パケット抽出部1001、パケット判定部1002、パケット合成部1005の動作は実施の形態1で説明したパケット抽出部101、パケット判定部102、パケット合成部105と同じである。
 暗号鍵生成部1004は暗号鍵導出用データ1014に加えて、暗号化パラメータ1015を入力とする。
 暗号鍵導出用データ1014は、実施の形態1で説明した暗号鍵導出用データ114と同様である。暗号化パラメータ1015は、暗号化するデータサイズや暗号化するデータの位置、暗号アルゴリズムを示す情報である。暗号化パラメータ1015を用いることで、暗号化するデータサイズや暗号化するデータの位置、暗号アルゴリズムを可変とすることができる。
 暗号鍵生成部1004は、復号用情報生成部の例である。
 暗号化部1003は、画像データパケット1010、暗号鍵データ1007及び暗号化パラメータ1015を入力する。
 前述したように、暗号化パラメータ1015には、暗号化のためのデータサイズや暗号化するデータの位置、使用する暗号アルゴリズム情報等が含まれているので、暗号化部1003は、暗号化パラメータに示されているデータサイズ、データ位置、暗号アルゴリズムに基づいて、暗号化を行う。
 例えば、暗号化部1003は、暗号対象であるIスライスデータの先頭データのデータサイズ(nバイト)を、暗号化パラメータ1015に示されているデータサイズとする。また、暗号化部1003は、暗号化パラメータ1015に示されている暗号アルゴリズムを用いて暗号化を行う。
 次に、本実施の形態に係る暗号化部1003の構成例を図11に示す。
 暗号化データ抽出部1101は、暗号化パラメータ1015から、暗号化するデータサイズや暗号化するデータの位置情報を得る。
 そして、暗号化データ抽出部1101は、暗号化パラメータ1015から取得した情報に従い、画像データパケット1010から暗号化するデータを抽出し、抽出したデータを暗号化対象データ1110とする。
 暗号選択部1102は、暗号化パラメータ1015から使用する暗号アルゴリズム情報を得て、暗号化対象データを該当する暗号処理部1103-1105のいずれかに振り分ける。
 図11では3個の暗号処理部の場合について示してあるが、その個数は任意でよい。図11に示す3個の暗号処理部は、それぞれ異なる暗号アルゴリズムに対応している。
 暗号処理部1103-1105は、振り分けられた暗号化対象データ1110を暗号鍵データ1007で暗号化し、暗号済みデータ1111を生成する。
 データ置換部1106は暗号化パラメータ1015から、暗号化するデータサイズや暗号化するデータの位置情報を得る。
 データ置換部1106は、暗号化パラメータ1015から取得した情報に従い、画像データパケット1010の該当するデータを暗号済みデータ1111で置換し、暗号化画像データパケット1013を生成する。
 なお、データ置換部1106は、実施の形態1と同様に、置換の際に、暗号済みデータ1111に対し、その先頭と終端及び一定間隔でダミーデータを挿入しても良い。このことにより、暗号文が映像データストリームの特定のコード(スタートコード等)を含むことを防止できる。
 図12は、図10に示す暗号鍵生成部1004の動作を示す。
 暗号鍵データ生成部1203は、暗号鍵導出用データ1014から暗号鍵データ1007を生成する。
 ただし、暗号鍵導出用データ1014から暗号鍵データ1007を生成することは容易であるが、暗号鍵データ1007から暗号鍵導出用データ1014を導出することは困難であるとする。
 また、暗号鍵データ生成部1203は復号用データ1206を出力する。
 ただし、復号用データ1206には暗号鍵導出用データ1014本体を含まない。
 しかし、復号用データ1206と後述する復号鍵導出用データ1414から後述する復号鍵データ1412を生成できるだけの情報量を含む。
 復号ヘッダ生成部1202は、復号用データ1206と暗号化パラメータ1015を入力として復号用パケット1204を生成する。
 図13は、復号用パケットの生成イメージを示す。
 復号ヘッダ生成部1202は、復号用データ1206と暗号化パラメータ1015をヘッダ情報1302と連接する。
 また、復号ヘッダ生成部1202は、連接した情報に対し、一定間隔でダミーデータ1303を挿入する。
 H.264の場合、ダミーデータとして0x00、0x01以外の1バイトコードを挿入する。
 そして、復号ヘッダ生成部1202は、ダミーデータ挿入後のデータを復号用パケット1012として出力する。
 図14には、図9で生成された暗号化動画像ストリームを復号する復号装置1400の構成を示す。
 パケット抽出部1401、パケット判定部1402、パケット合成部1405の動作は実施の形態1で説明したパケット抽出部501、パケット判定部502、パケット合成部505と同じである。
 復号鍵生成部1404は、復号用パケット1012と復号鍵導出用データ1414から復号鍵データ1412と暗号化パラメータ1015を生成する。
 復号部1403は、復号鍵データ1412と暗号化パラメータ1015を使って暗号化画像データパケット1409を復号し、復号画像データパケット1413を生成する。
 本実施の形態では、復号部1403は、暗号化パラメータに示されているデータサイズ、データ位置、暗号アルゴリズムに基づいて、暗号化データの復号を行う。
 例えば、復号部1403は、復号対象であるIスライスデータの先頭データのデータサイズ(nバイト)を、暗号化パラメータ1015に示されているデータサイズとする。また、復号部1403は、暗号化パラメータ1015に示されている暗号アルゴリズムを用いて復号を行う。
 図14において、動画像デコーダと組み合わせて復号処理を行う場合は、パケット合成部1405を省略しても良い。この場合、動画像デコーダに、別途復号画像データパケット1413と制御データパケット1011を提供する。
 図15に復号部1403の構成例を示す。
 復号データ抽出部1501は、暗号化パラメータ1015から、復号するデータサイズや復号するデータの位置情報を得る。
 そして、復号データ抽出部1501は、取得した情報に従い、暗号化画像データパケット1013から復号するデータを抽出し、復号対象データ1510とする。
 また、復号データ抽出部1501は、実施の形態1と同様に、復号対象データ1510にダミーデータが含まれている場合は、復号対象データ1510からダミーデータを除去する。
 復号選択部1502は、暗号化パラメータ1015から使用する暗号アルゴリズム情報を得て、復号対象データを該当する復号処理部1503-1505のいずれかに振り分ける。
 図15では3個の復号処理部の場合について示してあるが、その個数は任意でよい。図15に示す3個の復号処理部は、それぞれ異なる暗号アルゴリズムに対応している。
 復号処理部1503-1505は、振り分けられた復号対象データ1510を復号鍵データ1412で復号し、復号済みデータ1511を生成する。
 データ置換部1506は暗号化パラメータ1015から、復号するデータサイズや復号するデータの位置情報を得る。
 そして、データ置換部1506は、暗号化パラメータ1015から取得した情報に従い、暗号化画像データパケット1013の該当するデータを復号済みデータ1511で置換し、復号画像データパケット1413を生成する。
 本実施の形態では、暗号化するデータサイズや暗号化するデータの位置、暗号アルゴリズムなどの情報を暗号装置側で決定し、それらを暗号化パラメータとして復号装置に引き渡している。
 万が一暗号アルゴリズムに欠陥があった場合には、暗号アルゴリズムを変更することができる。また、暗号化するデータサイズを可変にすることで、セキュリティレベルに応じた運用が可能となる。
 以上、本実施の形態では、所定のパラメータにしたがって暗号化するデータのサイズや位置、使用する暗号アルゴリズムを変更できる動画像暗号化装置及び動画像暗号化方法を説明した。
 また、本実施の形態では、所定のパラメータにしたがって復号するデータのサイズや位置、使用する復号アルゴリズムを変更できる動画像復号装置及び動画像復号方法を説明した。
 最後に、実施の形態1及び2に示した暗号装置100、復号装置500、暗号装置1000及び復号装置1400(以下、「暗号装置100等」と表記する)のハードウェア構成例について説明する。
 図18は、実施の形態1及び2に示す暗号装置100等のハードウェア資源の一例を示す図である。
 なお、図18の構成は、あくまでも暗号装置100等のハードウェア構成の一例を示すものであり、暗号装置100等のハードウェア構成は図18に記載の構成に限らず、他の構成であってもよい。
 図18において、暗号装置100等は、プログラムを実行するCPU911(Central Processing Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。
 CPU911は、バス912を介して、例えば、ROM(Read Only Memory)913、RAM(Random Access Memory)914、通信ボード915、表示装置901、キーボード902、マウス903、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。
 更に、CPU911は、FDD904(Flexible Disk Drive)、コンパクトディスク装置905(CDD)、プリンタ装置906、スキャナ装置907と接続していてもよい。また、磁気ディスク装置920の代わりに、光ディスク装置、メモリカード(登録商標)読み書き装置などの記憶装置でもよい。
 RAM914は、揮発性メモリの一例である。ROM913、FDD904、CDD905、磁気ディスク装置920の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置の一例である。
 通信ボード915、キーボード902、マウス903、スキャナ装置907、FDD904などは、入力装置の一例である。
 また、通信ボード915、表示装置901、プリンタ装置906などは、出力装置の一例である。
 通信ボード915は、ネットワークに接続されている。例えば、通信ボード915は、LAN(ローカルエリアネットワーク)、インターネット、WAN(ワイドエリアネットワーク)などに接続されていても構わない。
 磁気ディスク装置920には、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。
 プログラム群923のプログラムは、CPU911がオペレーティングシステム921、ウィンドウシステム922を利用しながら実行する。
 また、RAM914には、CPU911に実行させるオペレーティングシステム921のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。
 また、RAM914には、CPU911による処理に必要な各種データが格納される。
 また、ROM913には、BIOS(Basic Input Output System)プログラムが格納され、磁気ディスク装置920にはブートプログラムが格納されている。
 暗号装置100等の起動時には、ROM913のBIOSプログラム及び磁気ディスク装置920のブートプログラムが実行され、BIOSプログラム及びブートプログラムによりオペレーティングシステム921が起動される。
 上記プログラム群923には、実施の形態1及び2の説明において「・・・部」として説明している機能を実行するプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
 ファイル群924には、実施の形態1及び2の説明において、「・・・の判断」、「・・・の計算」、「・・・の比較」、「・・・の抽出」、「・・・の変更」、「・・・の設定」、「・・・の選別」、「・・・の選択」等として説明している処理の結果を示す情報やデータや信号値や変数値やパラメータが、「・・・ファイル」や「・・・データベース」の各項目として記憶されている。
 「・・・ファイル」や「・・・データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示などのCPUの動作に用いられる。
 抽出・検索・参照・比較・演算・計算・処理・編集・出力・印刷・表示のCPUの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリ、レジスタ、キャッシュメモリ、バッファメモリ等に一時的に記憶される。
 また、実施の形態1及び2で説明している機能ブロック間の矢印は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、FDD904のフレキシブルディスク、CDD905のコンパクトディスク、磁気ディスク装置920の磁気ディスク、その他光ディスク、ミニディスク、DVD等の記録媒体に記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
 また、実施の形態1及び2の説明において「・・・部」として説明しているものは、「・・・回路」、「・・・装置」、「・・・機器」であってもよく、また、「・・・ステップ」、「・・・手順」、「・・・処理」であってもよい。すなわち、「・・・部」として説明しているものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、DVD等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、実施の形態1及び2の「・・・部」としてコンピュータを機能させるものである。あるいは、実施の形態1及び2の「・・・部」の手順や方法をコンピュータに実行させるものである。
 このように、実施の形態1及び2に示す暗号装置100等は、処理装置たるCPU、記憶装置たるメモリ、磁気ディスク等、入力装置たるキーボード、マウス、通信ボード等、出力装置たる表示装置、通信ボード等を備えるコンピュータであり、上記したように「・・・部」として示された機能をこれら処理装置、記憶装置、入力装置、出力装置を用いて実現するものである。
実施の形態1に係る暗号装置の構成例を示す図。 実施の形態1に係る暗号化部の構成例を示す図。 実施の形態1に係る暗号鍵生成部の構成例を示す図。 実施の形態1に係る復号用パケットにダミーデータを挿入する例を示す図。 実施の形態1に係る復号装置の構成例を示す図。 実施の形態1に係る復号部の構成例を示す図。 実施の形態1に係る復号鍵生成部の構成例を示す図。 実施の形態1に係る暗号済みデータにダミーデータを挿入する例を示す図。 実施の形態1に係るマクロブロックの暗号化の例を示す図。 実施の形態2に係る暗号装置の構成例を示す図。 実施の形態2に係る暗号化部の構成例を示す図。 実施の形態2に係る暗号鍵生成部の構成例を示す図。 実施の形態2に係る復号用パケットにダミーデータを挿入する例を示す図。 実施の形態2に係る復号装置の構成例を示す図。 実施の形態2に係る復号部の構成例を示す図。 実施の形態1に係る暗号化前の動画像ストリームの例を示す図。 実施の形態1に係る暗号化後の動画像ストリームの例を示す図。 実施の形態1及び2に係る暗号装置及び復号装置のハードウェア構成例を示す図。
符号の説明
 100 暗号装置、101 パケット抽出部、102 パケット判定部、103 暗号化部、104 暗号鍵生成部、105 パケット合成部、106 動画像データストリーム、107 暗号鍵データ、108 暗号化動画像データストリーム、109 動画像パケット、110 画像データパケット、111 制御データパケット、112 復号用パケット、113 暗号化画像データパケット、114 暗号鍵導出用データ、201 暗号化データ抽出部、202 暗号処理部、203 データ置換部、207 暗号化対象データ、208 暗号済みデータ、209 ダミーデータ、302 復号ヘッダ生成部、303 暗号鍵データ生成部、306 復号用データ、402 ヘッダ情報、403 ダミーデータ、500 復号装置、501 パケット抽出部、502 パケット判定部、503 復号部、504 復号鍵生成部、505 パケット合成部、507 動画像データストリーム、508 暗号化動画像パケット、512 復号鍵データ、513 復号画像データパケット、514 復号鍵導出用データ、601 復号データ抽出部、602 復号処理部、603 データ置換部、607 復号対象データ、608 復号済みデータ、702 復号用データ抽出部、703 復号鍵データ生成部、1000 暗号装置、1001 パケット抽出部、1002 パケット判定部、1003 暗号化部、1004 暗号鍵生成部、1005 パケット合成部、1006 動画像データストリーム、1007 暗号鍵データ、1008 暗号化動画像データストリーム、1009 動画像パケット、1010 画像データパケット、1011 制御データパケット、1012 復号用パケット、1013 暗号化画像データパケット、1014 暗号鍵導出用データ、1015 暗号化パラメータ、1101 暗号化データ抽出部、1102 暗号選択部、1103 暗号処理部、1104 暗号処理部、1105 暗号処理部、1106 データ置換部、1110 暗号化対象データ、1111 暗号済みデータ、1202 復号ヘッダ生成部、1203 暗号鍵データ生成部、1206 復号用データ、1302 ヘッダ情報、1303 ダミーデータ、1400 復号装置、1401 パケット抽出部、1402 パケット判定部、1403 復号部、1404 復号鍵生成部、1405 パケット合成部、1407 動画像データストリーム、1408 暗号化動画像パケット、1412 復号鍵データ、1413 復号画像データパケット、1414 復号鍵導出用データ、1501 復号データ抽出部、1502 復号選択部、1503 復号処理部、1504 復号処理部、1505 復号処理部、1506 データ置換部、1510 復号対象データ、1511 復号済みデータ。

Claims (15)

  1.  データ伸張時にデータの先頭から処理される、圧縮符号化された圧縮符号化データを入力するデータ入力部と、
     前記データ入力部により入力された前記圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化する暗号化部とを有することを特徴とする暗号装置。
  2.  前記データ入力部は、
     フレーム内予測圧縮符号化データを入力し、
     前記暗号化部は、
     前記データ入力部により入力された前記フレーム内予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする請求項1に記載の暗号装置。
  3.  前記データ入力部は、
     フレーム間予測圧縮符号化データを入力し、
     前記暗号化部は、
     前記データ入力部により入力された前記フレーム間予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする請求項2に記載の暗号装置。
  4.  前記暗号化部は、
     前記先頭のデータのデータサイズを、前記圧縮符号化データの全体のデータサイズに対して十分に小さいデータサイズとすることを特徴とする請求項1に記載の暗号装置。
  5.  前記暗号化部は、
     所定バイト数を処理単位として暗号化を行い、
     前記先頭のデータのデータサイズを、前記処理単位に対応させることを特徴とする請求項1に記載の暗号装置。
  6.  前記暗号化部は、
     前記先頭のデータ以外に前記圧縮符号化データ中の一部のデータを選別して暗号化することを特徴とする請求項1に記載の暗号装置。
  7.  前記暗号化部は、
     暗号化の対象とするデータの位置及びデータサイズの少なくともいずれかを変更できることを特徴とする請求項6に記載の暗号装置。
  8.  前記暗号化部は、
     複数種類の暗号アルゴリズムに対応しており、
     前記データ入力部により入力された前記圧縮符号化データに対して指定されている暗号アルゴリズムに従って暗号化を行うことを特徴とする請求項1に記載の暗号装置。
  9.  前記暗号化部は、
     暗号化後のデータにダミーデータを挿入することを特徴とする請求項1に記載の暗号装置。
  10.  前記暗号装置は、更に、
     前記暗号化部により暗号化されたデータの復号に用いられる復号用情報を生成するとともに、生成した復号用情報にダミーデータを挿入する復号用情報生成部を有することを特徴とする請求項1に記載の暗号装置。
  11.  先頭のデータが暗号化されている、圧縮符号化された圧縮符号化データを入力するデータ入力部と、
     前記データ入力部により入力された前記圧縮符号化データから前記先頭のデータを選別し、前記先頭のデータを復号する復号部とを有することを特徴とする復号装置。
  12.  前記データ入力部は、
     先頭のデータが暗号化されているフレーム内予測圧縮符号化データを入力し、
     前記復号部は、
     前記データ入力部により入力された前記フレーム内予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを復号することを特徴とする請求項11に記載の復号装置。
  13.  前記データ入力部は、
     先頭のデータが暗号化されているフレーム間予測圧縮符号化データを入力し、
     前記暗号化部は、
     前記データ入力部により入力された前記フレーム間予測圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする請求項12に記載の復号装置。
  14.  コンピュータが、
     データ伸張時にデータの先頭から処理される、圧縮符号化された圧縮符号化データを入力し、
     入力した前記圧縮符号化データから先頭のデータを選別し、前記先頭のデータを暗号化することを特徴とする暗号方法。
  15.  コンピュータが、
     先頭のデータが暗号化されている、圧縮符号化された圧縮符号化データを入力し、
     入力した前記圧縮符号化データから前記先頭のデータを選別し、前記先頭のデータを復号することを特徴とする復号方法。
PCT/JP2008/068634 2008-10-15 2008-10-15 暗号装置及び復号装置及び暗号方法及び復号方法 WO2010044146A1 (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN2008801315410A CN102187682A (zh) 2008-10-15 2008-10-15 加密装置、解密装置、加密方法以及解密方法
PCT/JP2008/068634 WO2010044146A1 (ja) 2008-10-15 2008-10-15 暗号装置及び復号装置及び暗号方法及び復号方法
US13/122,417 US20110188652A1 (en) 2008-10-15 2008-10-15 Encryption apparatus, decryption apparatus, encryption method, and decryption method
EP08877405A EP2337348A4 (en) 2008-10-15 2008-10-15 ENCRYPTION DEVICE AND DECODING DEVICE AND ENCRYPTION METHOD AND DECODING METHOD
JP2010533746A JPWO2010044146A1 (ja) 2008-10-15 2008-10-15 暗号装置及び復号装置及び暗号方法及び復号方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2008/068634 WO2010044146A1 (ja) 2008-10-15 2008-10-15 暗号装置及び復号装置及び暗号方法及び復号方法

Publications (1)

Publication Number Publication Date
WO2010044146A1 true WO2010044146A1 (ja) 2010-04-22

Family

ID=42106324

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2008/068634 WO2010044146A1 (ja) 2008-10-15 2008-10-15 暗号装置及び復号装置及び暗号方法及び復号方法

Country Status (5)

Country Link
US (1) US20110188652A1 (ja)
EP (1) EP2337348A4 (ja)
JP (1) JPWO2010044146A1 (ja)
CN (1) CN102187682A (ja)
WO (1) WO2010044146A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012153450A1 (ja) * 2011-05-11 2012-11-15 パナソニック株式会社 動画像送信装置および動画像送信方法
JP2013061650A (ja) * 2011-09-12 2013-04-04 Thomson Licensing データの暗号化を選択的にフォーマット維持する方法及び装置
JP2013197842A (ja) * 2012-03-19 2013-09-30 Kayaba Ind Co Ltd ドライブレコーダ
JP5393886B2 (ja) * 2010-06-01 2014-01-22 三菱電機株式会社 メディア暗号化装置、メディア暗号復号装置、メディア暗号化方法およびメディア暗号復号方法
JP2015119477A (ja) * 2013-12-16 2015-06-25 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
WO2015093011A1 (ja) * 2013-12-16 2015-06-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信方法、受信方法、送信装置及び受信装置
KR20170040298A (ko) * 2014-08-07 2017-04-12 쏘닉 아이피, 아이엔씨. 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625788B2 (en) * 2011-01-05 2014-01-07 Intel Corporation Method and apparatus for building a hardware root of trust and providing protected content processing within an open computing platform
US9445095B1 (en) * 2011-10-06 2016-09-13 Arris Enterprises, Inc. Compression of modified data captures for packets with encrypted or non-interesting content
KR101877535B1 (ko) * 2018-02-12 2018-07-11 한화에어로스페이스 주식회사 스트리밍 영상 암호화 방법과 컴퓨터 프로그램 및 스트리밍 영상 복호화 방법과 컴퓨터 프로그램
CN109580653A (zh) * 2018-11-06 2019-04-05 深圳技术大学(筹) 一种铁路扣件图像采集方法
CN110198458B (zh) * 2019-05-31 2020-04-07 北京文香信息技术有限公司 一种加密音视频数据的处理方法及装置
CN111163316A (zh) * 2020-01-08 2020-05-15 东电创新(北京)科技发展股份有限公司 一种基于低码流的高清视频传输方法及系统
CN111405233B (zh) * 2020-03-25 2021-08-20 苏州科达科技股份有限公司 视频会议中的加密图形传输方法、装置、存储介质及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08163533A (ja) 1994-12-06 1996-06-21 Fujitsu Ltd 動画像の暗号化処理方法及び装置及び暗号化された動画像の復号化処理方法及び装置
JPH10145773A (ja) 1996-11-14 1998-05-29 Toshiba Corp 動画像データの暗号化方法およびその方法が適用されるコンピュータシステム並びに動画像データ符号化/復号化装置
JP2005020346A (ja) * 2003-06-26 2005-01-20 Konica Minolta Business Technologies Inc データ秘密化装置、データ復元装置、画像データ保存装置及び画像形成装置
JP2005295468A (ja) 2004-04-06 2005-10-20 Hitachi Hybrid Network Co Ltd 通信装置及び通信システム
JP2006510308A (ja) 2002-12-16 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 映像データストリームを暗号化する方法及び装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0423567A (ja) * 1990-05-17 1992-01-27 Fujitsu Ltd フアクシミリ通信装置
JP3081032B2 (ja) * 1991-08-23 2000-08-28 株式会社リコー 符号化復号化方法
US6122378A (en) * 1995-09-13 2000-09-19 Hitachi, Ltd. Data compression/encryption method and system
JP3861392B2 (ja) * 1997-07-30 2006-12-20 ソニー株式会社 データ記録装置および方法、データ再生装置および方法、並びに伝送媒体
JPH11177520A (ja) * 1997-12-10 1999-07-02 Sony Corp データ多重化装置
JP4038858B2 (ja) * 1998-01-28 2008-01-30 ソニー株式会社 信号処理装置及び方法
JP2001119588A (ja) * 1999-10-15 2001-04-27 Ricoh Co Ltd ファクシミリ装置
JP2002016919A (ja) * 2000-04-28 2002-01-18 Sony Corp 情報送信方法及び装置、情報受信方法及び装置、情報記録方法及び装置、並びに、情報記録再生方法及び装置
JP3925218B2 (ja) * 2002-01-30 2007-06-06 ソニー株式会社 ストリーミングシステム及びストリーミング方法、ストリーミングサーバ及びデータ配信方法、クライアント端末及びデータ復号方法、並びにプログラム及び記録媒体

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08163533A (ja) 1994-12-06 1996-06-21 Fujitsu Ltd 動画像の暗号化処理方法及び装置及び暗号化された動画像の復号化処理方法及び装置
JPH10145773A (ja) 1996-11-14 1998-05-29 Toshiba Corp 動画像データの暗号化方法およびその方法が適用されるコンピュータシステム並びに動画像データ符号化/復号化装置
JP2006510308A (ja) 2002-12-16 2006-03-23 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 映像データストリームを暗号化する方法及び装置
JP2005020346A (ja) * 2003-06-26 2005-01-20 Konica Minolta Business Technologies Inc データ秘密化装置、データ復元装置、画像データ保存装置及び画像形成装置
JP2005295468A (ja) 2004-04-06 2005-10-20 Hitachi Hybrid Network Co Ltd 通信装置及び通信システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2337348A4 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5393886B2 (ja) * 2010-06-01 2014-01-22 三菱電機株式会社 メディア暗号化装置、メディア暗号復号装置、メディア暗号化方法およびメディア暗号復号方法
WO2012153450A1 (ja) * 2011-05-11 2012-11-15 パナソニック株式会社 動画像送信装置および動画像送信方法
CN102972024A (zh) * 2011-05-11 2013-03-13 松下电器产业株式会社 动态图像发送装置以及动态图像发送方法
JP2013061650A (ja) * 2011-09-12 2013-04-04 Thomson Licensing データの暗号化を選択的にフォーマット維持する方法及び装置
US9473829B2 (en) 2011-09-12 2016-10-18 Thomson Licensing Methods and devices for selective format-preserving data encryption
JP2013197842A (ja) * 2012-03-19 2013-09-30 Kayaba Ind Co Ltd ドライブレコーダ
JP2015119477A (ja) * 2013-12-16 2015-06-25 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America 送信方法、受信方法、送信装置及び受信装置
WO2015093011A1 (ja) * 2013-12-16 2015-06-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 送信方法、受信方法、送信装置及び受信装置
US11722714B2 (en) 2013-12-16 2023-08-08 Panasonic Intellectual Property Corporation Of America Transmitting method, receiving method, transmitting device and receiving device
US11284136B2 (en) 2013-12-16 2022-03-22 Panasonic Intellectual Property Corporation Of America Transmitting method, receiving method, transmitting device and receiving device
US10827208B2 (en) 2013-12-16 2020-11-03 Panasonic Intellectual Property Corporation Of America Transmitting method, receiving method, transmitting device and receiving device
JP2020078095A (ja) * 2014-08-07 2020-05-21 ディビックス, エルエルシー 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法
KR102426067B1 (ko) * 2014-08-07 2022-07-28 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
JP2018174533A (ja) * 2014-08-07 2018-11-08 ソニック アイピー, インコーポレイテッド 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法
KR102306641B1 (ko) * 2014-08-07 2021-09-30 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
KR20210121281A (ko) * 2014-08-07 2021-10-07 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
JP2021182744A (ja) * 2014-08-07 2021-11-25 ディビックス, エルエルシー 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法
JP2017526228A (ja) * 2014-08-07 2017-09-07 ソニック アイピー, インコーポレイテッド 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法
US10542303B2 (en) 2014-08-07 2020-01-21 Divx, Llc Systems and methods for protecting elementary bitstreams incorporating independently encoded tiles
KR20220109480A (ko) * 2014-08-07 2022-08-04 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
JP7204838B2 (ja) 2014-08-07 2023-01-16 ディビックス, エルエルシー 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法
KR102548789B1 (ko) * 2014-08-07 2023-06-29 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
KR20230098917A (ko) * 2014-08-07 2023-07-04 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
KR20170040298A (ko) * 2014-08-07 2017-04-12 쏘닉 아이피, 아이엔씨. 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
KR102597985B1 (ko) * 2014-08-07 2023-11-06 디빅스, 엘엘씨 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
JP7418533B2 (ja) 2014-08-07 2024-01-19 ディビックス, エルエルシー 独立的に符号化されたタイルを組み込む基本ビットストリームを保護するためのシステムおよび方法

Also Published As

Publication number Publication date
US20110188652A1 (en) 2011-08-04
EP2337348A4 (en) 2012-09-05
JPWO2010044146A1 (ja) 2012-03-08
EP2337348A1 (en) 2011-06-22
CN102187682A (zh) 2011-09-14

Similar Documents

Publication Publication Date Title
WO2010044146A1 (ja) 暗号装置及び復号装置及び暗号方法及び復号方法
EP2627095B1 (en) Device and method for partial encryption
CN102804766B (zh) 使用可变块大小参数的局部加密
KR102306641B1 (ko) 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법
JP5379129B2 (ja) 安全性を向上させたトリック再生を可能にする選択的暗号化
WO2014024113A2 (en) Systems and methods of digital rights management for digital content
WO2021072878A1 (zh) 基于rtmp的音视频数据加解密方法、装置及可读存储介质
JP5393886B2 (ja) メディア暗号化装置、メディア暗号復号装置、メディア暗号化方法およびメディア暗号復号方法
KR20130077804A (ko) 비트 스트림을 선택적으로 스크램블링하는 방법
CN115802049A (zh) 视频数据编解码方法、装置以及视频数据传输系统
US8243926B2 (en) Transport stream encryption device and its editing device and method for use therein
JP2005080204A (ja) 電子透かしに含めた暗号鍵を用いた符号化装置及び復号化装置並びにそれらの方法
US10409963B2 (en) Image processing apparatus and control method for receiving and processing encrypted image signals
JP5177939B2 (ja) 情報処理装置
US20080037782A1 (en) Reduction of channel change time for digital media devices using key management and virtual smart cards
EP2411960B1 (en) Content protection message extraction
WO2011125188A1 (ja) 動画像暗号化装置及び動画像復号装置及び動画像暗号化プログラム及び動画像暗号化方法
US11134307B2 (en) Image processing apparatus and control method thereof
JP2018007200A (ja) コンテンツ復号装置、コンテンツ復号方法、受信装置及びプログラム
US10958989B2 (en) Framework for embedding data in encoded video
JP4883701B2 (ja) コンテンツ復号装置、その方法及びそのプログラム
JP5610981B2 (ja) 画像暗号化装置及び画像復号装置及び画像暗号化方法及び画像復号方法及び画像暗号化プログラム及び画像復号プログラム
KR20120138940A (ko) 모바일 단말기용 영상 데이터의 선택적 암호화 구현 시스템 및 방법
GAYATHRI et al. EFFICIENT STEGANOGRAPHY IN ENCRYPTED VIDEO STREAMS USING MOTION VECTOR DIFFERENCE

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880131541.0

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08877405

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010533746

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2008877405

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 13122417

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE