WO2006068152A1 - 鍵情報生成方法 - Google Patents

鍵情報生成方法 Download PDF

Info

Publication number
WO2006068152A1
WO2006068152A1 PCT/JP2005/023397 JP2005023397W WO2006068152A1 WO 2006068152 A1 WO2006068152 A1 WO 2006068152A1 JP 2005023397 W JP2005023397 W JP 2005023397W WO 2006068152 A1 WO2006068152 A1 WO 2006068152A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
key information
pieces
content key
content
Prior art date
Application number
PCT/JP2005/023397
Other languages
English (en)
French (fr)
Inventor
Tomoya Satou
Makoto Fujiwara
Kentaro Shiomi
Yusuke Nemoto
Yuishi Torisaki
Kazuya Shimizu
Shinji Inoue
Kazuya Fujimura
Makoto Ochi
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US11/793,702 priority Critical patent/US20080212770A1/en
Priority to JP2006549011A priority patent/JP4606421B2/ja
Publication of WO2006068152A1 publication Critical patent/WO2006068152A1/ja

Links

Classifications

    • 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/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • 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/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • 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/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • Key information generation method and device key information update method, falsification detection method and device, data structure of key information
  • the present invention relates to a method and apparatus for detecting whether or not confidential information stored in a target device or the like is falsified, a method and apparatus for generating confidential information to be detected whether or not falsification is detected, and whether or not falsification is detected. It relates to the data structure of confidential information.
  • Content related to copyrighted works and personal information (for example, content represented by music data and video data) needs to be prevented from being illegally copied or leaked to the outside.
  • Such content is stored in the target device in an encrypted state.
  • the host device executes an authentication process with the target device. If this authentication fails, the host device cannot obtain the content key for decrypting the encrypted content by the target device. On the other hand, if this authentication is successful, the host device can access the content stored in the target device and use the content. With this configuration, it is possible to prevent decryption of encrypted content by an unauthorized host device.
  • the target device is, for example, a memory card such as an SD card.
  • the host device is a semiconductor integrated circuit that reads data from a memory card, a set device that includes the semiconductor integrated circuit, or a content distribution device that distributes content to a target device.
  • confidential information refers to information (for example, key information) necessary for reproducing content.
  • a storage area in the target device is divided into a system area 901, a protection area 902, and a normal area 903.
  • the system area 901 is an area for storing information for performing authentication between the target device and the host device. Host device goes to system area 901 The system area 901 cannot be accessed unless the specified process is permitted to be accessed.
  • the protected area 902 is an area that cannot be accessed arbitrarily by the user (host device) and can only be accessed after successful authentication.
  • the normal area 903 is an area that the user can arbitrarily access.
  • the system area 901 stores an authentication key.
  • the protected area 902 stores an encrypted content key. In the normal area 903, encrypted content is stored.
  • the storage size of the normal area 903 for storing content is set larger than the storage size of the protection area 902 so that a large amount of content can be stored in the target device. Therefore, the amount of data that can be stored in the protected area 902 is smaller than the amount of data that can be stored in the normal area 903.
  • the host device performs authentication using the authentication key stored in itself and the authentication key stored in the target device. If the authentication is successful, the host device generates an authentication intermediate key using these authentication keys.
  • This authentication intermediate key is defined as a key for decrypting the encrypted content key. Therefore, the host device obtains the encrypted content key from the target device, decrypts the encrypted content key with the authentication intermediate key, and indicates the plaintext (encrypted, indicating the state. ) Content key. Furthermore, the host device also acquires the encrypted content from the target device, decrypts the encrypted content using the plaintext content key V, and generates plaintext content. Thereby, the content can be used. By executing the processing as described above, only the host device that has succeeded in authentication can use the encrypted content stored in the target device for IJ.
  • an authentication intermediate key is generated if the authentication is successful. Therefore, if the authentication is successful, the encrypted content can be decrypted. That is, the encrypted content stored in the target device can be used if it is a valid host device.
  • the confidential information stored in the storage area in the target device when the domain key is set in this way will be described. Even if a domain key is set, in order to maintain compatibility with the conventional target device, the method of dividing the area in the target device must be the same. If both the domain key and the content key are stored in the protection area 902, the domain key is a key for decrypting the content key, but the same security as the content key is used. It will be stored in the level area. Therefore, when a domain key is set to maintain security and compatibility, the domain key is stored in the protected area 902 in an encrypted state. The content key is stored in the normal area 903 in an encrypted state.
  • the protected area 902 in the target device stores n (n is an integer of 1 or more) encrypted domain keys Ku (l) to Ku (n).
  • the domain keys Ku (l) to Ku (n) are assigned n pieces of domain key management information UR [u] (l) to UR [u] (n) on a one-to-one basis.
  • a plurality of content keys are stored in the normal area 903 of the target device.
  • Each content key corresponds to one of the domain keys Ku (l) to Ku (n). That is, a plurality of encrypted content keys can be decrypted using a single domain key.
  • m is an integer of 1 or more
  • content keys Kt (l-l) to Kt (l-m) correspond to the domain key Ku (l).
  • Content keys Kt (l-l) to Kt (l-m) have m content key management information U R [t] (l-l) to UR [t] (l-m) and m pieces of additional information info (l-l) to info (l-m) are assigned on a one-to-one basis.
  • the set of domain keys Ku (l) to Ku (n) and domain key management information UR [u] (l) to UR [u] (n) is expressed as “domain key group UKUREJ and Content key Kt (l-l) to Kt (l-m), content key management information UR [t] (l-l) to UR [t] (l-m), and additional information info (l-l ) ⁇ Info (l-m) is indicated as "Content key group TKURE (1)"! /
  • a domain key is required to decrypt the encrypted content key. To quickly search which content key can be decrypted by which domain key
  • a key correspondence table Address List is also stored.
  • the key correspondence table Add ress List describes the correspondence between domain keys and content keys. For example, the content key Kt (l-l) to Kt (l-m) that can be decrypted using the domain key is associated with the domain key Ku (l).
  • the encrypted content key is stored in the normal area 903. Since the normal area 903 is an area that can be accessed arbitrarily by the user, it is possible to guarantee the validity of the encrypted content key stored in the normal area 903, in other words, to check falsification. It becomes important.
  • EncKt (l-l) to EncKt (lm) that can be decrypted with the domain key Ku (l), and their encrypted content keys EncKt (ll) to EncKt (lm)
  • Hash operation is executed by concatenating all the corresponding attached information info (l-l) to info (l-m). The hash obtained by the hash operation The value Hash (K U (l) is stored in the domain key management information UR [u] (l).
  • the host device when checking the falsification in the encrypted content key EncKt l-1), the host device refers to the key correspondence table Address List, and the content key group from the normal area 903 in the target device. Reads TKURE (l) and executes no / sh operation. On the other hand, the host device decrypts the encryption domain key management information En C UR [ U ] (l) stored in the protection area 902 in the target device, using the authentication intermediate key obtained by the authentication. . Next, the host device extracts the hash value Hash (K u (l) from the domain key management information UR [u] (l) obtained by the decryption key.
  • the hash value calculated by the hash operation is compared with the hash value extracted from the domain key management information UR [u] (l), and the host device determines that the two are identical and has been tampered with. On the other hand, if the two do not match, the host device does not decrypt the encrypted content as if it has been altered.
  • Patent Document 1 Japanese Patent Laid-Open No. 2001-203686
  • the host device in order to check whether one content key (content key Kt (ll)) has been tampered with, the host device must have all the content keys that can be decrypted with the same domain key and all the accompanying information ( It is necessary to read the content key group TKURE (l)) from the target device and perform a hash operation on the read information.
  • the number of contents stored in the target device increases, the number of content keys increases accordingly.
  • the content key associated with one domain key increases, and the processing time further increases.
  • a hash operation is not performed on all the content keys that can be decrypted with the same domain key and all the information (content key group TKURE (l)) that accompanies it.
  • a hash value is calculated in advance by performing a no-shush operation on each of the plurality of content keys associated with the domain key, and the calculated multiple no-shash values are embedded in the domain key management information.
  • a method is also conceivable.
  • an object of the present invention is to reduce the amount of data stored in a predetermined area and reduce the amount of processing when tampering is detected. More specifically, the amount of data stored in a given area is small and the amount of processing when tampering is detected! /,
  • the data structure of the key information, the method and apparatus for generating the key information, and the key information The purpose is to provide a method and device for detecting tampering in the system and a method for updating the key information.
  • key information is generated by the host device.
  • the key information includes domain key information and m pieces of content key information (m is a natural number).
  • the key information is detected for tampering.
  • the host device includes a data generation unit and a data writing unit.
  • the data generation unit generates key information.
  • the data writing unit writes the key information generated by the data generation unit to the target device.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information.
  • the generation method includes steps (A) to (E).
  • step (A) the data generation unit receives m pieces of content key information. First data is added to each piece of information, and each of the m pieces of content key information is chain encrypted using a domain key. The first data corresponds to the partial inspection data used for falsification detection processing.
  • step (B) the data generation unit extracts the medium first data of each of the m pieces of content key information encrypted in step (A) in an encrypted state.
  • step (C) the data generation unit executes a predetermined operation on the concatenated data including the m pieces of first data extracted in step) to generate second data.
  • step (D) the data generation unit adds the second data generated in step (C) to the domain key information as overall inspection data.
  • step (E) the data writing unit writes the m pieces of encrypted content key information in the first storage area, and writes the domain key information in the second storage area.
  • data used for falsification detection processing is generated in a plurality of stages. Also, not all the data used for falsification detection processing is stored in a predetermined area (second storage area with a relatively high security level), but the final stage inspection data is stored in a predetermined area. The As a result, the amount of data stored in the predetermined area can be reduced. Further, by comparing the first data obtained by executing predetermined processing on one piece of content key information and the partial inspection data prepared in advance, it is possible to detect the presence or absence of falsification in the content key information. Further, by comparing the second data generated based on the m pieces of first data with the overall verification data, it is possible to detect whether or not the entire key information has been tampered with. Therefore, since it is not necessary to perform processing on the entire key information, the processing amount at the time of falsification detection processing can be reduced.
  • key information is generated by the host device.
  • the key information includes domain key information and m pieces of content key information.
  • the key information is detected for tampering.
  • the host device includes a data generation unit and a data writing unit.
  • the data generation unit generates key information.
  • the data writing unit writes the key information generated by the data generation unit to the target device.
  • the target device includes a first storage area and a second storage area having a security level higher than that of the first storage area.
  • Each of the m content key information includes a content key used for encrypting and decrypting the content.
  • Domain key The information includes a domain key used to encrypt and decrypt m pieces of content key information.
  • the generation method includes steps (A) to (E).
  • step (A) the data generation unit adds the first data to each of the m pieces of content key information, and uses the domain key to add each of the m pieces of content key information to the chain encryption key. To do.
  • the first data corresponds to partial inspection data used for falsification detection processing.
  • step (B) the data generation unit extracts the first data from the m pieces of content key information encrypted in step (A) in an encrypted state.
  • step (C) the data generation unit performs chain ciphering on the concatenated data including the second data and the m first data extracted in step (B) using the domain key, and encrypts the encrypted data.
  • the second data is extracted from the concatenated data in an encrypted state.
  • step (D) the data generation unit adds the second data extracted in step (C) to the domain key information as overall inspection data.
  • the data writing unit writes m encrypted first data included in the concatenated data encrypted in step (C) to the first storage area.
  • the data writing unit writes the m pieces of encrypted content key information in the first storage area, and writes the domain key information in the second storage area.
  • key information is generated by the host device.
  • the key information includes domain key information and m pieces of content key information.
  • the key information is detected for tampering.
  • the host device includes a data generation unit and a data writing unit.
  • the data generation unit generates key information.
  • the data writing unit writes the key information generated by the data generation unit to the target device.
  • the target device includes a first storage area and a second storage area having a security level higher than that of the first storage area.
  • Each of the m content key information includes a content key used for encrypting and decrypting the content.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information.
  • the generation method includes steps (A) to (E).
  • step (A) the data generation unit encrypts each of the m pieces of content key information using the domain key.
  • step (B) the data generation unit performs a first operation on each of the m content key information encrypted in step (A) to generate m first data.
  • step (C) the data generation unit performs a second operation on the concatenated data including the m first data generated in step) to generate second data.
  • step (D) the data generation unit adds the second data generated in step (C) to the domain key information as overall verification data.
  • step (E) the data writing unit writes the m pieces of first data as m pieces of partial inspection data in the first storage area.
  • the data writing unit writes the m encrypted content key information in the first storage area, and writes the domain key information in the second storage area.
  • the key information is updated by the host device.
  • the key information is detected for tampering.
  • the host device includes a data updating unit and a data writing unit.
  • the data updating unit adds new content key information to the key information and updates the key information.
  • the data writing unit writes the key information updated by the data updating unit to the target device.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • the key information includes domain key information and m pieces of content key information.
  • Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content, and first data corresponding to partial inspection data used for falsification detection processing.
  • the domain key information includes a domain key used for encrypting and decrypting the m pieces of content key information and data for overall inspection.
  • Each of the m pieces of content key information is encrypted.
  • the update method includes steps (A) to (E).
  • step (A) the data updating unit adds the first data to the new content key information, and performs chain encryption on the content key information using the domain key.
  • step (B) the data updating unit extracts the first key data of the content key information encrypted in step (A) in an encrypted state.
  • step (C) the data updating unit applies to the concatenated data including the first data extracted in step (B) and the first data included in each of the m pieces of encrypted content key information. Execute the specified operation to generate the second data.
  • step (D) the data updating unit rewrites the entire inspection data included in the domain key information with the second data generated in step (C).
  • step (E) the data writing unit performs the encrypted content key information and the encrypted new key information. The content key information is written in the first storage area, and the domain key information is written in the second storage area.
  • the key information update method when the key information is updated, it is not necessary to perform predetermined processing on the entire key information. Therefore, it is possible to reduce the processing amount when updating the key information.
  • the updated key information all of the data used for falsification detection processing is not stored in the specified area (secondary storage area with a relatively high security level). Data is stored in a predetermined area. Thereby, the amount of data stored in the predetermined area can be reduced. Further, when falsification detection processing is executed for the updated key information, it is not necessary to perform processing on the entire key information, so that the amount of processing when falsification is detected can be reduced.
  • the key information is updated by the host device. Key information is detected for tampering.
  • the host device includes a data updating unit and a data writing unit.
  • the data updating unit adds new content key information to the key information and updates the key information.
  • the data writing unit writes the key information updated by the data updating unit to the target device.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • the key information includes domain key information, m pieces of content key information, m pieces of encrypted first data, and second data. Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content, and first data corresponding to partial inspection data used for falsification detection processing. Including.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information, and whole inspection data. Each of the m pieces of content key information is encrypted.
  • the update method includes steps (A) to (E).
  • step (A) the data updating unit adds the first data to the new content key information, and performs chain encryption on the content key information using the domain key.
  • step (B) the data updating unit extracts the first data from the content key information encrypted in step (A) in an encrypted state.
  • step (C) the data update unit links the concatenated data including the second data, the m encrypted first data, and the first data extracted in step (B) using the domain key. Encryption The second data is extracted from the encrypted concatenated data in an encrypted state.
  • step (D) the data updating unit rewrites the entire inspection data included in the domain key information with the second data extracted in step (C).
  • step (E) the data writing unit writes (m + 1) pieces of first data included in the concatenated data encrypted in step (C) to the first storage area.
  • step (E) the data writing unit writes the m pieces of encrypted content key information and the new encrypted content key information to the first storage area, and the domain key Write information to the second storage area.
  • the key information is updated by the host device. Key information is detected for tampering.
  • the host device includes a data updating unit and a data writing unit.
  • the data updating unit adds new content key information to the key information and updates the key information.
  • the data writing unit writes the key information updated by the data updating unit to the target device.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • the key information includes domain key information, m pieces of content key information, and m pieces of partial inspection data. Each of the m content key information includes a content key used to encrypt and decrypt the content.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information, and data for overall inspection.
  • the update method includes steps (A) to (E).
  • step (A) the data updating unit encrypts new content key information.
  • step (B) the data updating unit executes the first calculation on the new content key encrypted in step (A) to generate first data.
  • step (C) the data updating unit performs a second operation on the concatenated data including the m pieces of partial inspection data and the first data generated in step (B) to obtain the second data. Generate.
  • step (D) the data updating unit rewrites the entire inspection data included in the domain key information with the second data generated in step (C).
  • step (E) the data writing unit writes m partial inspection data and the first data as (m + 1) partial inspection data in the first storage area.
  • step (E) the data writing unit The content key information and the new encrypted content key information are written in the first storage area, and the domain key information is written in the second storage area.
  • the key information is updated by the host device. Key information is detected for tampering.
  • the host device includes a data updating unit and a data writing unit.
  • the data updating unit deletes any one piece of content key information from the key information that can detect the presence or absence of falsification, and updates the key information.
  • the data writing unit writes the key information updated by the data updating unit to the target device.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • the key information includes domain key information and m pieces of content key information. Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content, and a first data corresponding to partial inspection data used for falsification detection processing.
  • the domain key information includes a domain key used for encrypting and decrypting the m pieces of content key information, and overall inspection data. Each of the m pieces of content key information is encrypted.
  • the updating method includes steps (A) to (E). In step (A), the data updating unit deletes one of the m encrypted content key information. In step (B), the data updating unit encrypts the first data included in each of the (m-1) encrypted content key information that has not been deleted in step (A). Extract as is. In step (C), the data updating unit performs a predetermined operation on the concatenated data including the (m ⁇ 1) pieces of first data extracted in step) to generate second data.
  • step (D) the data updating unit rewrites the entire inspection data included in the domain key information with the second data generated in step (C).
  • step (E) the data writing unit writes the (m ⁇ 1) pieces of encrypted content key information in the first storage area, and writes the domain key information in the second storage area.
  • the key information is updated by the host device.
  • Key information is detected for tampering.
  • the host device includes a data updating unit and a data writing unit.
  • the data updating unit deletes any one piece of content key information from the key information that can detect the presence or absence of tampering, and updates the key information.
  • the target device is O
  • the key information includes domain key information, m pieces of content key information, and m pieces of encrypted first pieces of information, including a first storage area and a second storage area having a higher security level than the first storage area. Data and second data.
  • Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content, and first data corresponding to partial inspection data used for falsification detection processing. .
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information and data for overall inspection.
  • the m encrypted first data has a one-to-one correspondence with the m content key information.
  • Each of the m pieces of content key information is encrypted.
  • the updating method includes steps (A) to (E).
  • step (A) the data updating unit deletes one of the m pieces of content key information.
  • step (B) the data updater encrypts the first data contained in each of the (m-1) encrypted content key information that was not deleted in step (A). Extract as is.
  • step (C) the data updating unit deletes the first data corresponding to the content key information deleted in step (A) from the m encrypted first data.
  • step (C) the data updating unit uses the domain key to generate the concatenated data including the second data and the (m-1) encrypted first data that has not been deleted in step (B).
  • a chain cipher is used to extract the second data of the encrypted concatenated data as it is.
  • step (D) the data updating unit rewrites the entire inspection data included in the domain key information with the second data extracted in step (C).
  • step (E) the data writing unit writes (m ⁇ 1) pieces of first data included in the concatenated data encrypted in step (C) to the first storage area.
  • step (E) the data writing unit writes the (m ⁇ 1) pieces of encrypted content key information in the first storage area, and writes the domain key information in the second storage area.
  • the key information is updated by the host device. Key information is detected for tampering.
  • the host device includes a data updating unit and a data writing unit.
  • the data updating unit deletes any one piece of content key information from the key information that can detect the presence or absence of falsification, and updates the key information.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • the key information includes domain key information, m pieces of content key information, and m pieces of partial inspection data. Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information, and data for overall inspection.
  • the m partial inspection data correspond one-to-one with the m content key information.
  • Each of the m pieces of content key information is encrypted.
  • the updating method includes steps (A) to (E).
  • step (A) the data updater deletes one of the m encrypted content key information.
  • step (B) the data updating unit deletes the partial inspection data corresponding to the content key information deleted in step (A) from the m partial inspection data.
  • step (C) the data updating unit performs the second operation on the concatenated data including the (m-1) partial inspection data that has not been deleted in step (B), and the second data Is generated.
  • step (D) the entire data for inspection contained in the data update domain key information is rewritten with the second data generated in step (C).
  • step (E) the data writing unit writes (m ⁇ 1) pieces of partial inspection data that were not deleted in step) to the first storage area.
  • step (E) the data writing unit writes the (m-1) encrypted content key information in the first storage area, and the domain key information in the second storage area. Write.
  • the host device detects whether or not the key information stored in the target device is falsified.
  • the key information includes domain key information and m pieces of content key information (m is a natural number).
  • Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content, and first data corresponding to partial inspection data used for falsification detection processing.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content keys, and overall inspection data.
  • Each of the m pieces of content key information is encrypted.
  • the detection method includes steps (A) to (E).
  • step (A) any one of m encrypted content key information is chain-decrypted using a domain key, and the first data is extracted from the decrypted content key information. Extract.
  • step (B) the first data extracted in step (A) is compared with the partial inspection data prepared in advance.
  • step (C) the first data is extracted from each of the m pieces of content key information in an encrypted state, and the extracted concatenated data including the m pieces of first data is predetermined. Perform the operation to generate the second data.
  • step (D) the second data generated in step (C) is compared with the overall inspection data included in the domain key information.
  • step (E) if the first data and the partial inspection data match in step (B) and the second data and the whole inspection data match in step (D), Judge that the key information has not been tampered with.
  • the host device detects whether or not the key information stored in the target device is falsified.
  • the key information includes domain key information, m pieces of content key information, m pieces of encrypted first data, and second data.
  • Each of the m pieces of content key information includes a content key used for encrypting and decrypting the content, and first data corresponding to partial inspection data used for falsification detection processing.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content keys, and overall inspection data.
  • Each of the m pieces of content key information is encrypted.
  • the detection method includes steps (A) to (E).
  • step (A) any one of the m encrypted content key information is chain-decrypted using the domain key, and the first data is obtained from the middle of the decrypted content key information. Extract.
  • step (B) the first data extracted in step (A) is compared with the partial inspection data prepared in advance.
  • step (C) the domain key is converted into the concatenated data including the whole inspection data included in the domain key information and the m encrypted first data. Using this, chain decoding is performed, and the entire inspection data is extracted from the decoded linked data.
  • step (D) the second data is compared with the whole examination data extracted in step (C).
  • step (E) if the first data matches the partial inspection data in step), and the second data and the whole inspection data match in step (D), the key information is falsified. Judged to be obscene.
  • the host device detects whether or not the key information stored in the target device is falsified.
  • the key information includes domain key information, m pieces of content key information, and m pieces of partial inspection data.
  • Each of the m content key information includes a content key used for encrypting and decrypting the content.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content keys, and overall inspection data.
  • the m pieces of partial inspection data correspond one-to-one with the m pieces of content key information.
  • Each of the m pieces of content key information is encrypted.
  • the detection method includes steps (A) to (E).
  • step (A) a first operation is performed on any one of the m pieces of encrypted content key information to generate first data.
  • step (B) the first data generated in step (A) and the partial inspection data corresponding to the content key information for which the first calculation was performed in step (A) among the m partial inspection data And compare.
  • step (C) the second operation is performed on the concatenated data including the m pieces of partial detection data to generate the second data.
  • step (D) the second data generated in step (C) is compared with the overall inspection data included in the domain key information.
  • step (E) if the first data and the partial inspection data match in step (B), and if the second data and the whole inspection data match in step (D), the key information is Judge that it has not been tampered with.
  • the data structure of the key information includes m pieces of content key information and domain key information.
  • the key information is stored in the target device.
  • the key information is detected by the host device as to whether or not the key information has been tampered with.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • m pieces of content key information are stored in the first storage area.
  • the domain key information is stored in the second storage area.
  • Each of the m pieces of content key information encrypts and decrypts the content.
  • a first key corresponding to partial inspection data used for falsification detection processing by the host device.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information and overall inspection data used for falsification detection processing by the host device.
  • Each of the m pieces of content key information is encrypted.
  • the whole inspection data is extracted from each of the m encrypted content key information that has not been tampered with.
  • the first data is extracted in an encrypted state, and the first m pieces of the extracted first data are encrypted. This corresponds to data obtained by executing a predetermined operation on concatenated data including data.
  • the data structure of the key information includes m pieces of content key information, domain key information, m pieces of encrypted first data, and second data.
  • Key information is stored in the target device.
  • the key information is detected by the host device as to whether or not it has been tampered with.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • m pieces of content key information, m pieces of encrypted first data, and second data are stored in the first storage area.
  • the domain key information is stored in the second storage area.
  • Each of the m pieces of content key information is a first corresponding to a content key used for encrypting and decrypting the content and partial inspection data used for falsification detection processing by the host device. Data.
  • the domain key information includes the domain key used for encrypting and decrypting the m pieces of content key information and falsification inspection by the host device. And overall inspection data used for outgoing processing.
  • the m pieces of encrypted first data correspond one-to-one with the m pieces of content key information.
  • Each of the m pieces of content key information is encrypted.
  • the whole inspection data is obtained by chain-ciphering the concatenated data including the unencrypted m encrypted first data and second data using the domain key, and then encrypting the concatenated data. This is equivalent to the second data extracted from the encrypted data.
  • the data structure of the key information includes m pieces of content key information, domain key information, and m pieces of partial inspection data.
  • the key information is stored in the target device.
  • the key information is detected by the host device for tampering.
  • the target device includes a first storage area and a second storage area having a higher security level than the first storage area.
  • m content key information and m partial inspection data are stored in the first storage area.
  • Domain key information is stored in the second storage area.
  • Each of the m content key information includes a content key used for encrypting and decrypting the content.
  • the domain key information includes a domain key used for encrypting and decrypting m pieces of content key information, and overall inspection data used for falsification detection processing by the host device.
  • the m partial inspection data correspond one-to-one with the m content key information.
  • Each of the m partial inspection data corresponds to data obtained by executing the first operation on the content key information that has not been tampered with corresponding to the partial inspection data.
  • the overall inspection data corresponds to the data obtained by executing the second operation on concatenated data including m partial inspection data that has not been tampered with.
  • FIG. 1 is a block diagram showing an overall configuration of a confidential information processing system according to a first embodiment of the present invention.
  • FIG. 2 is a diagram showing confidential information stored in the target device according to the first embodiment of the present invention.
  • FIG. 3 is a diagram for explaining the domain key encryption key Z decryption key and the content key encryption key Z decryption key.
  • FIG. 4 is a diagram for explaining a procedure for generating the hash list and overall inspection data shown in FIG. 2.
  • FIG. 5 is a schematic flowchart of the operation by the confidential information processing system.
  • FIG. 6 is a diagram for explaining the authentication process.
  • FIG. 7 is a flowchart regarding the falsification detection method according to the first embodiment of the present invention.
  • FIG. 8 is a diagram for explaining a procedure for updating a hash list and overall inspection data when content key information is added.
  • FIG. 9 is a diagram for explaining a procedure for updating the hash list and the entire inspection data when the content key information is deleted.
  • FIG. 10 is a diagram for explaining a modification of the confidential information shown in FIG.
  • FIG. 11 is a diagram for explaining a modified example of the confidential information shown in FIG.
  • FIG. 12 is a diagram for explaining a chained cryptosystem.
  • FIG. 13 is a block diagram showing an overall configuration of a confidential information processing system according to a second embodiment of the present invention.
  • FIG. 14 is a diagram showing confidential information stored in the target device shown in FIG.
  • FIG. 15 is a diagram for explaining a procedure for generating the entire inspection data shown in FIG.
  • FIG. 16 is a diagram for explaining a procedure of falsification detection processing using a check value.
  • FIG. 17 is a flow chart for a falsification detection method according to the second embodiment of the present invention.
  • FIG. 18 is a diagram for explaining a procedure for updating the entire inspection data when content key information is added.
  • FIG. 19 is a diagram for explaining a procedure for updating the entire inspection data when the content key information is deleted.
  • FIG. 20 is a diagram for explaining a one-way function type hash operation (DES HASH).
  • FIG. 21 is a diagram showing an algorithm for executing the hash operation shown in FIG.
  • FIG. 22 is a diagram for explaining a one-way function type hash operation (C2).
  • FIG. 23 is a diagram for explaining a chained cryptosystem (DES E-CBC).
  • FIG. 24 is a diagram showing an algorithm for executing the chained cryptosystem shown in FIG.
  • FIG. 25 is a diagram for explaining a chained cryptosystem (C2 E-CBC).
  • FIG. 26 is a diagram for explaining an example of modification of the confidential information shown in FIG.
  • FIG. 27 is a diagram showing confidential information stored in the target device according to the third embodiment of the present invention.
  • FIG. 28 is a diagram for explaining the procedure for generating the check value list and the entire inspection data shown in FIG. 27.
  • FIG. 29 is a diagram for explaining the procedure of falsification detection processing using the entire check value and the check value list.
  • FIG. 30 is a diagram for explaining a procedure for updating a check value list and overall inspection data when content key information is added.
  • FIG. 31 is a diagram for explaining a procedure for updating a check value list and overall inspection data when content key information is deleted.
  • FIG. 32 is a diagram showing confidential information stored in a conventional target device.
  • FIG. 33 is a diagram showing confidential information stored in the target device when the domain key is set.
  • FIG. 34 is a diagram showing in more detail the confidential information stored in the target device.
  • FIG. 1 shows the overall configuration of a confidential information processing system according to the first embodiment of the present invention.
  • This confidential information processing system includes a target device 10 and a host device 11.
  • the target device 10 is, for example, a portable storage device such as a memory card represented by an SD card. A device that stores data including key information.
  • the host device 11 is connected to the target device 10, and reads and writes key information with the target device 10.
  • the target device 10 and the host device 11 may be integrated.
  • the target device 10 includes a system area 101, a protection area 102, and a normal area 103.
  • the storage sizes of the system area 101, the protection area 102, and the normal area are set in advance. For example, it is ideal that about 1% of the entire storage area (for example, 512 MB) of the target device 10 is allocated to the system area 101 and the protection area 102 and the rest is allocated to the normal area 103.
  • the system area 101 is divided into an area that can be accessed from the host device 11 and an area that cannot be accessed from the host device 11.
  • Information necessary for authentication processing (target device authentication key) executed between the target device 10 and the host device 11 is stored in an area accessible from the host device 11 in the system area 101.
  • An authentication intermediate key A obtained as a result of mutual authentication is stored in advance in an area that cannot be accessed from the host device 11 in the system area 101.
  • Information to be stored in the system area 101 is written in advance at the manufacturing stage and cannot be rewritten after being shipped as a product.
  • the protected area 102 is an area that can be accessed by the host device 11 only after the authentication process executed between the target device 10 and the host device 11 is successful.
  • the protected area 102 stores at least one domain key information.
  • the domain key information includes a domain key.
  • the domain key information may include domain key management information. In the domain key management information, information for specifying a host device that can use this domain key is written.
  • the normal area 103 is an area that the host device 11 can arbitrarily access.
  • the normal area 103 stores a plurality of content key information and a plurality of contents.
  • Each of the plurality of content key information corresponds to any one of the domain key information stored in the protected area 102.
  • Each of the plurality of content key information includes a content key.
  • Each of the plurality of content key information may include content key management information.
  • the content key management information includes information such as the maximum number of content reproductions, the maximum number of copies, and copyright information about the content. Multiple contents correspond one-to-one with multiple content key information.
  • the domain key information is encrypted using the authentication intermediate key A.
  • Each of the plurality of pieces of content key information is encrypted using a corresponding domain key.
  • the content is encrypted using the corresponding content key.
  • the host device 11 includes an internal bus 111, a target IZF unit 112, a confidential information processing unit 113, a host I / F unit 114, a host CPU 115, a ROM 116, and a RAMI 17.
  • the target HZF unit 112 inputs / outputs data to / from the target device 10.
  • the confidential information processing unit 113 performs authentication with the target device 10 according to a predetermined sequence.
  • the confidential information processing unit 113 performs encryption key Z decryption of confidential information stored in the target device 10.
  • the host IZF unit 114 inputs / outputs data with the target IZF unit 112, with the confidential information processing unit 113, and with the host CPU 115.
  • the host CPU 115 causes the confidential information processing unit 113 to execute a predetermined sequence.
  • the ROM 116 stores a host device authentication key.
  • the RAMI 17 is used as a work area for temporarily storing data in the host CPU 115 and the confidential information processing unit 113.
  • the confidential information processing unit 113 When reading confidential information Z is performed between the target device 10 and the host device 11, it is necessary to perform authentication between the target device 10 and the host device 11.
  • the confidential information processing unit 113 is activated by the host CPU 115, and the confidential information processing unit 113 performs an authentication process. If the authentication is successful, the host device 11 reads the confidential information from the target device 10 via the target IZF unit 112 and decrypts it by the confidential information processing unit 113.
  • the confidential information processing unit 113 is concealed hardware. Further, when the confidential information processing unit 113 is activated by the host CPU 115, the security information processing unit 113 or the security information processing unit 113 is secured. Only a predetermined sequence that requires less utility is executed.
  • the normal area 103 stores a key-corresponding tape address Address List, a content key group TKURE (i), and a hash list Hash List (i). It should be noted that encrypted content is also stored in the normal area 103, but is omitted in FIG.
  • the domain key group UKURE consists of n encryption domain keys EncKu (l) to Enc Ku (n) and n encryption domain key management information EncUR [u] (l) to EncUR [u] (n).
  • Each of the encryption domain keys EncKu (l) to EncKu (n) is associated with a plurality of encrypted content keys (one content key group). Also, as shown in FIG. 3, the encryption key keys En cKu (l) to EncKu (n) are decrypted using the authentication intermediate key A, so that the domain keys Ku (l) to Ku ( n). Each of the domain keys Ku (l) to Ku (n) is used for encryption / decryption of a plurality of content keys associated therewith. That is, one domain key can be used for encryption, and a plurality of content keys can be encrypted or decrypted.
  • the encryption domain key management information EncUR [u] (l) to EncUR [u] (n) has a one-to-one correspondence with the encryption domain keys EncKu (l) to EncKu (n). Also, as shown in FIG. 3, the encryption key domain key management information EncUR [u] (l) to EncUR [u] (n) is decrypted using the authentication intermediate key A, so that the domain Key management information UR [u] (l) to UR [u] (n). Further, the entire inspection data is stored at predetermined positions of the encryption domain key management information EncUR [u] (l) to EncUR [u] (n). The whole inspection data is generated based on a content key group corresponding to the encryption key domain key management information.
  • the i-th encryption key key management information EncURMG) (i is an integer and 1 ⁇ i ⁇ n ) Stores the entire inspection data DATAll (i) generated based on the content key group TKURE (i).
  • the content key group TKURE (i) is a set of content keys that can be encrypted / decrypted using the domain key Ku (i) and a blueprint associated with the content key.
  • the content key group TKURE (i) consists of m (m is an integer of 1 or more) encrypted content keys EncKt (i-l) to EncK t (im), and m encrypted content key management information EncUR [t] (i-l) to EncUR [t] (im) are included.
  • the encrypted content keys EncKtG-l) to EncKt (im) are decrypted by using the domain key Ku (i), so that the content keys Kt (il) to Kt (im).
  • Each of the content keys Kt (i-l) to Kt (i-m) is used for encrypting and decrypting content (not shown) corresponding to the content key Kt (i-l) to Kt (i-m).
  • the encrypted content key management information EncUR [t] (i-l) to EncUR [t] (im) has a one-to-one correspondence with the encrypted content keys EncKt (i-l) to EncKt (i-m). Also, as shown in FIG. 3, the encrypted content key management information EncUR [t] (i-l) to EncUR [t] (im) are decrypted using the domain key Ku (i). Accordingly, the content key management information becomes UR [t] Gl) to UR [t] Gm).
  • the key correspondence table Address List includes n encryption domain key addresses Ku addr (l) to Ku addr (n) and n content key tables Kt addr list (l) to Kt addr list (n). It is associated.
  • Each of the n content key tables has a one-to-one correspondence with n content groups (only the content key group TKURE (i) is illustrated in FIG. 2).
  • the address of the encrypted content key included in the corresponding content key group is written.
  • the content key group TKURE (i) (corresponding to the domain key Ku (i) by referring to the content key tape Kt addr list (i) corresponding to the address Ku addr (0 corresponding to the address of the domain key Ku (i) Specifically, the encrypted content keys EncKtG-l) to EncKt (im)) can be searched.
  • the key management table Address List the correspondence between the domain key and the content key can be quickly searched.
  • the hash list Hash List (i) corresponds to the content key group TKURE (i). Also, nossyuri
  • the list Hash List (i) includes m hash values Hash (i-l) to Hash (im).
  • the hash values Hash (i-l) to Hash (im) correspond one-to-one with the encrypted content keys EncKtGl) to EncKt (im).
  • FIG. 2 only the hash list Hash List (i) corresponding to the content key group TKURE (i) is shown, but each content key group (not shown) other than the content key group TKURE (i) is shown. There may be a hash list corresponding to.
  • the encrypted content key EncKtG-1) and the encrypted content key management information EncUR [t] (i-1) are concatenated into one.
  • the encrypted content keys EncKt (i-2) to EncKt (im) are one. Connected to As a result, m pieces of concatenated data are generated.
  • Step ST101-4 First, m hash values Hash (i-l) to Hash (im) existing in the hash list Hash List (i) are concatenated into one. As a result, one hash concatenated data is generated.
  • the concatenated hash value Hash (i) calculated in step ST101-5 is stored in a predetermined position of the entire verification data DATA11 (0 as encryption key domain key management information EncUR [u] (i).
  • the encryption key management information EncUR [u] (i) corresponds to the hash list Hash List (i).
  • the encryption key domain management information EncURMG when the encryption key domain management information EncURMG is updated (for example, when new content key information is associated with the existing encryption key domain key EncKu (i), If the content key information associated with the encryption key domain key EncKu (i) has been deleted), the encryption key management key (EncURMG) will return the concatenated hash value Hash (i). Before being stored, it is decrypted and becomes domain key management information UR [u] (i). When the concatenated hash value HashG) is stored in the domain key management information UR [u] (i), the domain key management information UR [u] (i) is encrypted and encrypted. Return to Information (EncURMG). In this way, the entire inspection data DATA11 (0 is updated.
  • the system of the target device 10 is The authentication key for the target device stored in the system area 101 is read.
  • the host device 11 executes an authentication process using the target device authentication key read from the target device 10 and the host device authentication key that the host device 11 has.
  • the host device 11 determines that the access is unauthorized and executes abnormal termination. On the other hand, if the host device 11 succeeds in authentication, the process proceeds to step ST14.
  • the host device 11 generates an authentication intermediate key based on the target device authentication key read from the target device 10 and the host device authentication key that the host device 11 has.
  • the generated authentication intermediate key is stored in the authentication intermediate key storage area in the confidential information processing unit 113. As a result, the preparation for the subsequent exchange between the target device 10 and the host device 11 is completed.
  • the host device 11 determines whether or not a user or the like is required to decrypt the encrypted content stored in the target device 10. If it is determined that it is required, the process proceeds to step ST16.
  • the host device 11 reads out confidential information (encrypted content key, encrypted domain key, and information associated therewith) necessary for decrypting the encrypted content from the target device 10. Specifically, the host device 11 first extracts a content ID from an information card attached to the encrypted content, and based on the content ID, the content key required for decrypting the encrypted content is obtained. Is identified. The correspondence between content ID and content key is prepared as a table. Next, the host device 11 refers to the key correspondence table stored in the normal area 103 in the target device 10 based on the identified content key, and identifies the necessary domain key. When the content key and domain key are specified, the necessary key information is read out. [0084] [Step ST17]
  • the host device 11 decrypts the encrypted domain key read out in step ST16 using the authentication intermediate key generated in step ST14. This generates a plaintext domain key.
  • the host device 11 performs a tampering check on the encrypted content key read in step ST16.
  • the host device 11 determines that it is an unauthorized access and executes abnormal termination. On the other hand, if no alteration of the encryption key is detected, the process proceeds to step ST20.
  • the host device 11 uses the domain key generated in step ST17 to decrypt the encryption key content key. As a result, the host device 11 acquires a plaintext content key.
  • the host device 11 decrypts the encrypted content using the plaintext content key acquired in step ST20. Thereby, the content can be used.
  • the host device 11 reads the target device authentication key stored in the system area 101 of the target device 10.
  • the host device 11 reads the host device authentication key stored in the ROM 116.
  • the host device 11 is based on the target device authentication key and the host device authentication key.
  • Authentication intermediate key A Specifically, the host device 11 generates the authentication intermediate key A by multiplying the target device authentication key and the host device authentication key.
  • each of the host device 11 and the target device 10 generates a predetermined function (for example, a random number) individually and exchanges the generated predetermined functions with each other.
  • a predetermined function for example, a random number
  • the host device 11 performs the predetermined function generated in the host device 11 and the predetermined device generated in the target device 10 in step ST34.
  • the authentication intermediate key B is generated by multiplying the functions.
  • the target device 10 (specifically, a processing unit (not shown) in the target device 10) reads the authentication intermediate key A stored in the system area 101, and performs step ST34 on the read authentication intermediate key A. Then, the authentication intermediate key B is generated by multiplying the predetermined function generated by the target device 10 and the host device 11 by the predetermined function generated.
  • the target device 10 encrypts the encryption key information stored in the protection area 102 (here, the encryption key key EncKu (i), the encryption key key management information EncUR [u] (i)). And the encrypted domain key information read out is encrypted using the authentication intermediate key B generated in step ST36.
  • the target device 10 sends the encrypted domain key information to the host device 10.
  • the host device 11 decrypts the domain key information sent from the target device 10 using the authentication intermediate key B generated in step ST34.
  • the host device 11 uses the authentication intermediate key A generated in step ST33.
  • the domain key information decrypted in step ST39 is further decrypted.
  • domain key information in this case, domain key Ku (i), domain key management information UR [u] (i)
  • domain key information in this case, domain key Ku (i), domain key management information UR [u] (i)
  • the domain key information is exchanged between the target device 10 and the host device 11, the domain key information is encrypted twice using the authentication intermediate key A and the authentication intermediate key B. Be deceived.
  • the host device 11 is the content key KtG- of the j-th content key (j is an integer and l ⁇ j ⁇ m) among the content keys KtG-l) to KtG-m) corresponding to the domain key Ku (i). j) is subject to falsification detection.
  • the host device 11 concatenates the encrypted content key EncKt (i-j) and the accompanying encrypted content key management information EncUR [t] (i-j). As a result, one piece of concatenated data is generated.
  • the host device 11 performs a hash operation on the concatenated data generated in step ST102-1, and calculates a hash value Hash (i-j).
  • the host device 11 uses the hash value Hash (i-j) calculated in step ST102-2 and the hash value HashG- in the hash list Hash List (i) stored in the normal area 103 of the target device 10. Compare j).
  • step ST102-3 As a result of the comparison in step ST102-3, it is determined that the hash value Hash (ij) calculated in step ST102-2 and the hash value Hash (ij) of the hash list Hash List (i) do not match. Then, the host device 11 determines that the encrypted content key EncKt (H) or the encrypted content key management information EncUR [t] Gj) has been tampered with, and executes abnormal termination. On the other hand, if it is determined that they match, the process proceeds to step ST102-5. [0106] [Step ST102-5]
  • the host device 11 removes the hash value Hash (ij) corresponding to the content key Kt (ij) from the hash list Hash List (i) stored in the target device 10 and obtains (m ⁇ 1) items.
  • Hash (i- (j + l) to Hash (im) are obtained.
  • En Domain key EncKu (i) corresponding to the encryption key ⁇ Content key EncKtG-1) to EncKt (im) (m-1) encrypted content keys other than the encrypted content key EncKt (ij)
  • the host device 11 does not execute the no-shash operation, and the host device 11 then compares the hash value Hash (Hj-l)) and the hash value Hash (ij ),
  • the hash value Hash (ij) calculated in step ST102-2 is placed between the hash value Hash (i- (j + l)) immediately after).
  • Hash (i- l) ⁇ Hash (iO '-D), Hash (ij), Hash (i- (j + l) to Hash (im) are concatenated into one, which generates hash concatenated data. Then, out of the m hash values Hash (i-l) to Hash (i-m) existing in the hash list Hash List (i), the hash value Hash (i-j) is transferred to step ST102-2! / The hash value Hash (i-j) calculated in this way is replaced with!
  • the hash list Hash List ( i) may be concatenated to generate hash concatenated data.
  • the host device 11 further performs a hash operation on the hash concatenated data generated in Step ST102-5 to calculate a concatenated hash value Hash (i). Then go to step ST102-9.
  • the host device 11 refers to the key correspondence table Address List and detects the encryption key domain key EncKu (i) necessary for decryption of the encryption content key EncKt (i-j). Then, the host device 11 uses the authentication intermediate key A to decrypt the detected encrypted domain key EncKu (i) and encrypted domain key management information EncURMG). As a result, the domain key Ku (i) and the domain key management information UR [u] (i) are generated.
  • Step ST102-8 Next, the host device 11 extracts the entire inspection data DATA11 (0 stored in the predetermined bit position from the domain key management information UR [u] (i). Next, go to step ST102-9. move on.
  • the host device 11 compares the concatenated hash value Hash (i) calculated in step ST102-6 with the overall inspection data DATA11 (0) extracted in step ST102-8.
  • step ST102-9 if it is determined that the concatenated hash value Hash (i) calculated in step ST102-6 and the overall inspection data DATA11 (0 extracted in step ST102-8 do not match, the host The device 11 determines that the hash list Hash List (i) has been tampered with, and performs abnormal termination, whereas if it is determined that the two match, the process proceeds to step ST20.
  • content keys may be added or deleted by distribution via the network.
  • the node list, hash list Hash List (i), and overall inspection data DATA11 (0) are updated.
  • the encrypted content key information including the encrypted content key EncKt (i-a) and the encrypted content key management information EncUR [t] (ia) is added.
  • the content key information including the content key Kt (ia) and the content key management information UR [t] (ia) is encrypted using the domain key Ku (i). Generated by.
  • the encrypted content key information including the encrypted content key EncKt (i-2) and the encrypted content key management information EncUR [t] (i-2) is deleted.
  • the hash value Hash (i-2) corresponding to the deleted encrypted content key EncKt (i-2) among the encrypted content keys EncKt (il) to EncKt (im) is stored in the hash list Hash List (i ) Middle power is deleted.
  • a hash operation is performed on the concatenated data generated in step ST104-2 to generate a new concatenated hash value Has h (i ").
  • the calculated new concatenated hash value HashG ") is stored at a predetermined position in the new global inspection data DATA11 (0 as encryption key domain key management information EncUR [u] (i).
  • a hash operation on one content key information and a hash operation on concatenated data consisting of m hash values existing in the node list are executed. Is done. In this way, since it is not necessary to perform a hash operation on the entire content key group TKURE (i), the amount of processing in the falsification detection process can be reduced.
  • each hash value of m encrypted content key information is calculated, and then one whole inspection data is calculated from the m hash values. Is generated. In this way, data used for falsification detection processing (hash list, overall inspection data) is generated in multiple stages. Then, the final inspection data (entire inspection data) is stored in the protection area. In this way, the amount of data stored in the protected area can be reduced.
  • the added content key information power also calculates a new hash value, and the calculated hash value and m hash values in the hash list are calculated. A new whole inspection data is generated. When the content key information is deleted, the node list is updated and new whole inspection data is generated from the updated hash list. In this way, since it is not necessary to perform a hash operation on the entire content key group TKURE (i), the amount of processing when updating confidential information can be reduced. Togashi.
  • an area in which the content key is stored is reserved in advance in the form of an entry.
  • Each entry is associated with one of a plurality of domain keys. That is, each domain key is associated with a plurality of entries.
  • the encrypted content key stored in the entry can be decrypted with the domain key associated with the entry.
  • there is a concept of a hash list that summarizes the hash values corresponding to each entry. That is, regardless of whether or not the content key is actually stored, the hash values for all entries associated with the same domain key may be stored in the normal area 103 as a nose list.
  • the hash values of all entries associated with the same domain key are concatenated into one, a hash operation is performed on the concatenated data, and a hash value is calculated.
  • a hash list is generated by performing a hash operation only on the entry where the content key is actually stored, and a hash operation is performed on the concatenation of the hash values of the hash list. It is preferable to store the calculated hash value in the domain key management information.
  • m additional information info (il) to info (im) has a one-to-one correspondence with m encrypted content keys EncKt (i-l) to EncKt (im). It's okay to be attached.
  • Each of the m pieces of additional information infoG-l) to infoG-m) is not encrypted and stores information with relatively low confidentiality (for example, song title).
  • the additional information may be the target of the hash calculation. For example, by performing a hash operation on concatenated data that also has additional information info (ij), encrypted key content key EncKt (ij), and encrypted key content key management information EncUR [t] ('). , No, or the hash value Hash (i -j) may be calculated.
  • the encrypted content is not necessarily stored in the same target device as the target device that stores the encrypted content key, but may be stored in a separate recording medium. good. In that case, the host device acquires the encryption key content stored in the other recording medium via a network or the like, and the content key whose validity is guaranteed by the falsification check method of this embodiment. The encrypted content is decrypted using.
  • a set of content keys decrypted with the same domain key (one hash list Hash List (i) is provided for the content key group TKURE (O))
  • P subset hash lists (P is an integer of 2 or more) and one whole set hash list for one content key group.
  • the subset hash list and the entire set hash list will be described by taking the content key group TKURE (i) as an example with reference to Fig. 11.
  • decryption can be performed using the domain key Ku (i).
  • Multiple encrypted key content keys are P parts (P is an integer of 2 or more) Divided into subsets, P subsets with P subset hashes Strike Hash ListG - Grl) ⁇ Hash ListG- GrP) is a one-to-one correspondence.
  • the subset of the j-th content key Kt (i-j) force up to the k-th (k is an integer, and j ⁇ k ⁇ m) content key Kt (iK) includes a subset hash list Hash List ( GrJ) corresponds to Ci, which is an integer and 1 ⁇ J ⁇ P).
  • the subset hash list Hash List (i-GrJ) includes (k ⁇ j) hash values Hash (i ⁇ j) to Has h (i ⁇ k). Further, the subset hash lists Hash List (i-Grl) to Hash List (i-GrP) are associated with the whole set hash list Hash List G-ALL).
  • Hash List (i-ALL) is a P subset hash value Hash (Hash (1) corresponding to P subset hash lists Hash List (i-Grl) to Hash List (i-GrP). i-Grl) to Hash (i-GrP).
  • the whole hash value ALL Hash (i) is generated based on the whole set hash list Hash List (i-ALL).
  • the entire hash value ALL Hash (i) is stored in the encryption domain key management information EncURMG) as the entire inspection data ALL DATAll (i).
  • the concatenated data key consisting of the encrypted content key EncKt (ij) and the encrypted content key management information EncUR [t] (ij) Hash operation (hash operation 1), hash operation (hash operation 2) for subset hash list G-GrJ) corresponding to the subset to which the content key Kt (ij) belongs, and whole hash list Hash List (i -ALL) will perform hash operation (Nosh operation 3).
  • the total processing amount of the Noh, Shush operation 2 and Hash operation 3 is smaller than the processing amount in the processing shown in FIG. Therefore, further increase in processing speed can be expected.
  • the content key and the content key management information are encrypted and decrypted by the concatenated encryption method (chained encryption and chained decryption).
  • the encryption key is the content key Kt (i-j) and the content key management information UR [t] (i-j).
  • the content key Kt (ij) and the content key management information UR [t] (ij) are concatenated into one, and then the leading force is also divided in units of 8 bytes in order to obtain “data 1”, “data 2”. ", ⁇ , "data
  • X (X is an integer greater than or equal to 2). Needless to say, it can be divided arbitrarily, not 8 bytes.
  • the set of ') is also divided into 8 bytes in order and becomes “encrypted data 1”, “encrypted data 2”, ..., “encrypted data X”.
  • “encrypted data 1” is decrypted using the domain key Ku (i) to become “data 1”.
  • “encrypted data 2” is decrypted using the decryption result of “encrypted data 1” to become “data 2”.
  • the first 8 bytes of “encryption data 1” is decrypted using the domain key Ku (i).
  • Each of the second and subsequent encrypted data is sequentially decrypted using the result of the decryption for the previous encrypted data.
  • FIG. 13 shows the overall configuration of a confidential information processing system according to the second embodiment of the present invention.
  • the ROM 116 further stores partial inspection data DATA21.
  • FIG. 14 shows confidential information stored in the target device 10 shown in FIG.
  • the domain key group UKURE is stored in the protected area 102.
  • the normal area 103 stores a key correspondence table Address List and a content key group TKURE (i). Note that the encrypted content is also stored in the normal area 103, but it is omitted in FIG.
  • the domain key group UKURE consists of n encrypted domain keys EncKu (l) to EncKu (n) and n encrypted domain key management information En C UR [u] (l) to E nc UR [u] ( n ).
  • the entire inspection data is stored in predetermined positions of the encryption domain key management information EncUR [u] (l) to EncUR [u] (n).
  • the whole inspection data is generated based on the content key group corresponding to the encryption key domain key management information. For example, the entire inspection data DATA22G) generated based on the content key group TKURE (i) is stored in a predetermined position of the encryption domain key management information EncUR [u] (i). .
  • the content key group TKURE (i) includes m encrypted check values EncCheck (i-l) to EncCheck (i-m) in addition to the content key group TKURE (i) shown in FIG.
  • the encryption check values EncHeck (i-l) to EncCheck (im) correspond one-to-one with the encrypted content keys EncKt (i-l) to EncKt (im).
  • Each of the check values Check (i-l) to Check (i-m) in the plaintext state corresponds to partial inspection data DATA21 stored in the ROM 116 of the host device 11.
  • the key correspondence table Address List is the same as the key correspondence table Address List shown in FIG.
  • the content key Kt (i-j) and the content key management information UR [t] (i-j) are concatenated.
  • a check value Check (i-j) is embedded at a predetermined position of the concatenated data composed of the content key Kt (i-j) and the content key management information UR [t] (i-j).
  • a check value is embedded in the LSB.
  • the concatenated data power encryption with the check value Check (H) embedded is encrypted.
  • the encrypted concatenated data is converted into an encrypted content key EncKt (ij), encrypted content key management information EncUR [t] (ij), and an encrypted key check value EncCheck (ij).
  • the content key, content key management information, and check value are encrypted.
  • the position where the check value is embedded can be specified by a designated byte instead of the fixed position, the position where the check value is embedded can be concealed, and security is improved.
  • each of the encrypted content key management information EncUR [t] (i-l) to EncUR [t] (im) is connected to the subsequent stage of the corresponding encrypted content key
  • Each of the encryption check values EncCheckG-l) to EncCheck (im) is assumed to be linked to the subsequent stage of the corresponding encrypted content key management information.
  • Each of the encryption key check values EncCheck (i-l) to EncCheck (im) is assumed to be 8-byte data.
  • the medium key m encryption check values (EncCheckG-l) to EncCheck (im) are extracted from the content key group TKURE (i). For example, a predetermined position from a set of an encrypted content key EncKt (ij) and accompanying information (encrypted content key management information EncUR [t] (ij) and an encryption check value EncCheck (ij)) Data (here, 8-byte data existing immediately after the encrypted content key management information EncUR [t] (ij)) is extracted. As a result, the encryption key check value EncCheck (ij) is extracted. Such extraction process Are executed for each of the encrypted content keys EncKt (il) to EncKt (im), so that m encryption check values EncCheck (i-l) to EncCheck (im) are extracted. Is done.
  • step ST201-2 a hash operation is performed on the check value concatenated data generated. As a result, a chain hash value Chain Hash (i) is calculated.
  • step ST201-3 the chain hash value Chain Hash (i) calculated in step ST201-3 is stored as a whole inspection data DATA22G) at a predetermined position of the encryption domain key management information EncURMG).
  • the encryption domain key management information EncUR [u] (i) is the chain hash value Chain Hash (i ) Before being stored, it is decrypted into domain key management information UR [u] (i).
  • the chain hash value Chain Hash (i) is stored in the domain key management information UR [u] (i)
  • the domain key management information UR [u] (i) is encrypted and encrypted. ⁇ Return to domain key management information EncUR [u] (i). In this way, the overall inspection data DATA22G) is updated.
  • the check value does not have to be 8 bytes, but an arbitrary number of bytes.
  • the encrypted content key EncKtG-j), the encrypted content key management information EncUR [t] G-j), and the encrypted key check value EncCheck (i-j) are combined into one. As a result, one piece of concatenated data is generated.
  • the concatenated data is decrypted by a chain encryption method.
  • the content key is decrypted by a chain encryption method.
  • Kt (i-j), content key management information UR [t] (i-j), and check value Check (i-j) Connected data is generated.
  • This concatenated data has a structure in which a check value Check (i-j) is embedded at a predetermined position.
  • the content data KtG-j), content key management information UR [t] (ij), and the check value Check (ij) are the intermediate powers of the concatenated data according to the specified byte (information indicating the predetermined bit position).
  • a check value Check (ij) is extracted.
  • step ST202-3 the check value Check (ij) extracted at! / In step ST202-3 is compared with the partial inspection data DATA21 stored in the ROM 116 of the host device 11.
  • each of the content keys Kt (il) to Kt (im) is! /, The intermediate value of the decrypted concatenated data, and the partial check stored in the ROM 116. The legitimacy of the content key is verified by comparing the data.
  • the check value is preferably added immediately after the content key management information.
  • the LSB of the concatenated data is preferably a check value.
  • the validity of the entire data to be decrypted can be verified by checking the LSB.
  • the falsification detection method processing in step ST22 in FIG. 5 in the confidential information processing system shown in FIG. 13 will be described.
  • the domain key Ku (i) The corresponding content key Kt (ij) is targeted for falsification detection.
  • the check value Check (ij) is 8-byte data added immediately after the content key management information UR [t] Gj).
  • the host device 11 decrypts the encrypted content key EncKt (i-j), the encrypted content key management information EncUR [t] (ij), and the encryption check value EncCheckG-j). Since these are encrypted as one piece of concatenated data by the above-mentioned chain cipher, the concatenated data is decrypted in order from the MSB (first 8 bytes).
  • the host device 11 decrypts the concatenated data (content key Kt (ij), content key management information UR [t] (ij), and check value CheckG-) according to the specified byte.
  • j) Extract 8 bytes of data from the concatenated data).
  • the check value Check (i-j) is added immediately after the content key management information UR [t] (i-j)
  • the designated byte indicates the LSB (last 8 bytes).
  • the check value Check (i-j) is extracted from the consolidated data in plain text.
  • the process proceeds to step ST203-4.
  • the host device 11 extracts the partial inspection data DATA21 stored in the ROM 116.
  • the host device 11 compares the check value Check (i-j) extracted in step ST203-2 with the partial inspection data DATA21 extracted in step ST203-3. In this way, by comparing the two, it is possible to verify the validity of the data up to the position where the check value is embedded in the content key, the content key management information, and the concatenated data that is the check value power.
  • step ST203-4 If it is determined as a result of the comparison in step ST203-4 that the check value Check (ij) extracted in step ST203-2 and the partial inspection data D ATA21 extracted in step ST203-3 do not match, the host device 11 , Encryption key content key EncKt (') Therefore, it is determined that the encrypted content key management information EncUR [t] (ij) or the encryption check value EncCheck (i -j) has been tampered with, and the abnormal termination is executed. On the other hand, if it is determined that both match, the process proceeds to step ST203-6.
  • the host device 11 extracts the medium m encryption check values EncCheckG-l) to EncCheck (im) from the content key group TKURE (i) according to the designated byte. For example, the host device 11 connects the encrypted data content key EncKtG-j), encrypted content key management information EncUR [t] (ij), and encryption check value EncCheck (ij) according to the specified byte. Extract 8 bytes of data from. As a result, the encryption key check value EncCheck (i-j) is extracted. The host device 11 extracts m encryption check values EncCheck (i-l) to EncCheck (i-m) by executing such extraction processing on each piece of concatenated data.
  • the host device 11 concatenates the encryption check values EncCheck (i-l) to EncCheck (im) extracted in step ST203-6. As a result, one check value concatenated data is generated.
  • Step ST203-7 the host device 11 performs a hash operation on the check value concatenated data generated in Step ST203-7. As a result, a chain hash value Chain Hash (i) is calculated. Next, the process proceeds to step ST203-11.
  • the host device 11 refers to the key correspondence table Address List and detects the encryption key domain key EncKu (i) necessary for decryption of the encryption content key EncKt (i-j). Then, the host device 11 uses the authentication intermediate key A to decrypt the detected encrypted domain key EncKu (i) and encrypted domain key management information EncURMG). Thereby, the host device 11 acquires the domain key Ku (i) and the domain key management information UR [u] (i). The decrypted domain key is used for decrypting the content key in step ST203-1.
  • Step ST203-10 Next, the host device 11 extracts the entire inspection data DATA22G) stored in a predetermined bit position from the domain key management information UR [u] (i).
  • the host device 11 compares the chain hash value Chain Hash (i) calculated in step ST203-8 with the entire inspection data DATA22 (i) extracted in step ST203-10.
  • step ST203-11 the chain hash value Chain Hash (i) calculated in step ST203-8! / Does not match the whole detection data DATA22G) extracted in step ST203-10 If it is determined, the host device 11 determines that the encryption check values EncCheckG-l) to EncCheckG-m) have been tampered with! And executes abnormal termination. On the other hand, if it is determined that both match, the process proceeds to step ST20.
  • the host device 11 decrypts the encrypted content.
  • content keys may be added or deleted by distribution via the network.
  • the whole inspection data (DATA22G) is updated as content key information is added or deleted.
  • the encrypted content key information including the encrypted content key EncKt (ia), the encrypted content key management information EncUR [t] (ia), and the encrypted key check value EncCheckG-a) is added.
  • This encrypted content key information is added to the content key information including the content key Kt (ia) and the content key management information UR [t]
  • Content key information is generated by chain encryption using the domain key Ku (i).
  • the ability to execute falsification detection processing on existing content key information by the above-described method is described here. Omitted.
  • the encrypted content values EncKt (il) to EncKt (im) are added to the encrypted check values EncCheckG-l) to EncCheck (im) and the added encrypted content key EncKtG-a).
  • the accompanying check value EncCheck (ia) is extracted.
  • a hash operation is performed on the check value concatenated data generated in step ST204-2 to calculate a new chain hash value Chain Hash (i '). Is done.
  • the calculated new chain hash value Chain Hash (i ′) is stored as new whole inspection data DATA22G) at a predetermined position of encryption domain key management information EncUR [t] (0).
  • the encrypted content key including the encrypted content key EncKt (i-2), the encrypted content key management information EncUR [t] (i-2), and the encryption key check value EncCheckG-2) Information is deleted.
  • Step ST201-3 Next, similarly to the processing in step ST201-3, a hash operation is performed on the check value concatenated data generated in step ST205-2, and a new chain hash value Chain HashG ") is calculated.
  • the calculated new chain hash value Chain Hash (i ) is stored as new whole inspection data DATA22G) at a predetermined position of encryption key management information EncUR [t] (0).
  • FIG. 20 is a conceptual diagram showing an encryption algorithm for a one-way function type hash operation (DES HASH).
  • FIG. 21 is a flowchart showing an encryption algorithm for a one-way function type hash operation (DES HASH).
  • FIG. 22 is a conceptual diagram showing a cryptographic algorithm for a one-way function type hash operation (C2 HASH).
  • FIG. 23 is a conceptual diagram showing an encryption algorithm for the chained encryption method (DES E-CBC).
  • FIG. 24 is a flowchart showing an encryption algorithm for the chain encryption method (DES E-CBC).
  • FIG. 25 is a conceptual diagram showing an encryption algorithm for the chained encryption method (C2 E-CBC).
  • the check value is extracted from one piece of content key information and the hash operation is performed on the concatenated data that is the power of m encryption check values. Is done. In this way, since it is not necessary to perform a hash operation on the entire content key group TKURE (i), the amount of processing during the falsification detection process can be reduced.
  • each force check value of the m encrypted content key information is extracted, and one whole inspection data is extracted from the m encryption check values. Is generated. In this way, data (check value, overall inspection data) used for falsification detection processing is generated in multiple stages. Then, the final inspection data (entire inspection data) is stored in the protection area. In this way, the amount of data stored in the protected area can be reduced.
  • the falsification detection process for each piece of content key information and the falsification detection process for all check values are performed in different ways. That is, in the falsification detection process for each content key, the decryption process using the chain encryption method is executed for the content key information, and the extraction process is executed. On the other hand, in the falsification detection process for all check values, a hash operation is executed for all cryptographic key check values. In this way, since the inspection means at the time of tampering detection are different from each other, the security level can be improved.
  • the partial inspection data DATA21 does not need to be stored in the ROM 116 or a register (not shown). If the constant of the partial inspection data DATA21 has a certain regularity, it can be realized by a combination of arithmetic units without providing a register. In general, it is more advantageous as a circuit area to implement constants by combining arithmetic units than providing registers.
  • a check value may be embedded in the domain key management information.
  • the check value Check (i) may be embedded in the domain key management information UR [t] (i).
  • the encrypted content key information including the encrypted content key EncKt (H), the encrypted content key management information EncUR [t] G-j), and the encrypted key check value EncCheckG-j) is modified. If the same process as the detection process (see Fig. 16) is executed, alteration of the domain key information including the encryption domain key EncKu (i) and the encryption domain key management information En C UR [t] (i) The presence or absence can be detected.
  • m additional information info (il) to info (im) are associated with m encrypted content keys EncKt (i-l) to EncKt (im). I don't mind.
  • Each additional information info (i-l) to info (i-m) has a check value corresponding to itself among the encrypted check values EncCheck (i-l) to EncCheck (i-m) in plain text.
  • the check value Check (ij) is shown as a representative.
  • the additional information info (ij) stores a plain text check value Check (ij). In this case, a different check value can be set for each content key, and security can be improved.
  • the check value Check (i-j) may be stored at a predetermined position of the corresponding additional information info (') according to the designated byte.
  • the partial inspection data DATA21 is extracted from the additional information info (ij) according to the specified noite (ST202-5) .
  • the check value Check (ij) obtained by the processing in steps 202-4 and ST202-1 to ST202-3 and the partial inspection extracted in steps ST202-5! /! Data for data DATA21 is compared. In this way, the presence / absence of alteration in the B-sound content key EncKt (i-j) is checked.
  • the area where the content key is stored is reserved in advance in the form of an entry.
  • Each entry is associated with a domain key.
  • the encrypted content key stored in the entry can be decrypted with the domain key associated with the entry.
  • the concept of performing a hash operation by concatenating check values corresponding to each entry arises.
  • the data at a predetermined position is extracted in accordance with the central designated byte of all entries associated with the same domain key,
  • the extracted data may be concatenated into one to perform a hash operation, and the calculated hash value may be stored in the domain key management information.
  • the amount of hash calculation is small. Therefore, data extraction according to the specified byte is executed only for entries where the content key is actually stored, the extracted data is concatenated into one, a hash operation is performed, and the calculated hash value is converted to the domain key. It is preferable to store it in management information.
  • the encrypted content is not necessarily stored in the same target device as the target device that stores the encrypted content key, but may be stored in a separate recording medium. good.
  • the host device acquires the encryption key content stored in the other recording medium via a network or the like, and the content whose validity is guaranteed by the falsification detection method of this embodiment.
  • the encrypted content is decrypted using the key.
  • the position where the check value is embedded need not be specified by a specified byte, and may be fixed. For example, if LSB 8 bytes are fixed and embedded, it is possible to check all data (content key, content key management information) for tampering.
  • falsification detection is executed using the entire check value.
  • the chain encryption method is the same as that shown in FIG. Further, the method for detecting whether or not the content key Kt (i-j) and the accompanying information UR [t] (i-j) have been tampered with is the same as in the second embodiment.
  • the overall configuration of the confidential information processing system according to the third embodiment of the present invention is the same as that shown in FIG. However, the confidential information stored in the target device 10 is different.
  • FIG. 27 shows confidential information stored in the target device 10 in the present embodiment. Protection In the protected area 102, the domain key group UKURE is stored.
  • the normal area 103 stores a key correspondence table Address List, a content key group TKURE (i), a check value list Check List (i), and an overall check value Check (i). Note that the encrypted content is also stored in the normal area 103, which is omitted in FIG.
  • the domain key group UKURE includes n encryption domain keys EncKu (l) to EncKu (n) and n encryption key domain key management information EncUR [u] (l) to EncUR [ u] (n).
  • the entire verification data is stored at predetermined positions of the encryption key domain key management information EncUR [u] (l) to EncUR [u] (n).
  • the overall inspection data is generated based on the content key group corresponding to the domain key and the overall check value. For example, the entire inspection data generated based on the content key group TKURE (i) and the overall check value Check (i) is placed at a predetermined position of the encryption key domain key management information EncUR [u] (i). DATA32 (i) is stored.
  • the content key group TKURE (i) and the key correspondence table Address List are the same as those shown in FIG.
  • the check value list Check List (i) corresponds to the content key group TKURE (i). Further, home click value list Check List (i) includes m double-encrypted check values Enc 2 Check (i- l) ⁇ Enc 2 Check (i- m). Double-encrypted check values Enc 2 Check (i- l) ⁇ Enc 2 Check (i- m) the encrypted check value EncCheck (i- l) ⁇ EncCheck included in the content key group TKURE (i) (i- There is a one-to-one correspondence with m).
  • the overall check value Check (i) corresponds to the content key group TKUREG).
  • FIG. 27 only the overall check value Check (i) corresponding to the content key group TKURE (i) is shown, but each content key group (not shown) other than the content key group TKURE (i) is shown. There is also an overall check value corresponding to
  • the medium key m encryption check values (EncCheckG-l) to EncCheck (im) are extracted from the content key group TKURE (i).
  • the encryption key check value EncCheck (ij) is extracted from the concatenated data consisting of the encrypted content key EncKt (ij), the encrypted content key management information EncUR (ij), and the encryption check value EncCheckG-j).
  • m encryption check values EncCheck (i-l) to EncCheck (i-m) are extracted.
  • the check value concatenated data is encrypted using the domain key Ku (i) according to the chain encryption method.
  • the set of double encrypted Chiwekku value Enc 2 Check (il) ⁇ Enc 2 Check (im) and encryption I ⁇ body check value EncCheckG) is generated.
  • step ST301-4! / The entire encryption check value retrieved EncCheck (i) Is stored in a predetermined position of the domain key management information UR [u] (i) as overall inspection data DATA32G).
  • the encryption key management information EncURMG when the encryption key management information EncURMG is updated (for example, when new content key information is associated with the existing encryption key domain key EncKu (i), When the content key information associated with the encryption domain key EncKu (i) is deleted), the encryption domain key management information EncUR [u] (i) Before storing the entire check value EncCheck (i), it is decrypted and becomes domain key management information UR [u] (i). When the entire encryption key check value EncCheck (i) is stored in the domain key management information UR [u] (i), the domain key management information UR [u] (i) is encrypted and encrypted. ⁇ Return to domain key management information EncUR [u] (i). In this way, the entire inspection data DATA32G) is updated.
  • the falsification detection method using the overall check value Check (i) shown in FIG. 27 will be described.
  • the encryption domain key EncKu (i), the check value list Check List (i), and the overall check value Check (i) will be described as examples.
  • the falsification detection method using the check values Check (i-l) to Check (i-m) shown in FIG. 27 is the same as the method shown in FIG.
  • EncURMG encryption key domain key management information
  • domain key management information UR [u] (i) is generated.
  • the entire inspection data DATA32G) extracted at a predetermined position of the domain key management information UR [u] (i) is extracted.
  • step ST302-1 The extracted overall inspection data DATA32G) is further linked to the subsequent stage of the m pieces of double encryption key check values Enc 2Check (il) to Enc 2 Check (im).
  • one check value concatenated data is generated.
  • step ST302-6 data at a predetermined position (here, 8-byte data which is the LSB of the set) is extracted from the decoded check value concatenated data. As a result, the data corresponding to the overall check value Check (0 is extracted. Then, the process proceeds to step ST302-6.
  • step ST302-6 the entire check value Check (i) stored in the normal area 103 of the target device 10 is extracted according to the designated byte.
  • the process proceeds to step ST302-6.
  • step ST302-4 the data extracted in step ST302-4 is compared with the overall check value Check (i) extracted in step ST302-5.
  • the check value list Check List (i) or the overall check value Check (i) has not been falsified.
  • the check value list Check List (i) or the overall check value CheckG) has been tampered with, and the abnormal termination is executed.
  • the validity of the check value list Check List (i) can be verified. If the check value list has not been tampered with, it can be detected whether or not the encrypted content key has been tampered with. For example, when it is desired to check for alteration of the encryption key content key EncKt (ij), the encryption key corresponding to the content key Kt (ij) is checked from the check value list Check List (i) decrypted in step ST302-3. ⁇ Extract check value EncCheck (ij). On the other hand, the encryption check value EncCheck (ij) is extracted from the content key group TKURE (i).
  • the extracted encryption check value EncCheckG-j) is compared. In this way, it is verified whether the encrypted content key EncKt (ij) and the information accompanying it (encrypted content key management information EncUR [t] (ij), etc.) have been altered. It can be done.
  • step ST22 the falsification check method shown in FIG. 16 (falsification check method using check values Check (il) to Check (im)) and the falsification check method shown in FIG. 29 (overall check value).
  • the validity of the content key is verified by executing the falsification check method using CheckG).
  • content keys may be added or deleted by distribution via the network.
  • the check value list Check List (i) and the entire inspection data DATA32G) are updated.
  • the encrypted content key information including the encrypted content key EncKt (ia), the encrypted content key management information EncUR [t] (i-a), and the encrypted key check value EncCheckG-a) is added.
  • the This encrypted content key information is stored in the content key information including the content key Kt (ia) and the content key management information UR [t] (ia).
  • Information is generated by chain ciphering using the domain key Ku (i).
  • the encrypted content keys EncKt (il) to EncKt (im) are added to the encrypted check values EncCheckG-l) to EncCheck (im) and the added encrypted content key EncKtG-a).
  • the accompanying encryption check value EncCheck (ia) is extracted.
  • Step ST303-2 Next, the extracted encryption check values EncCheck (i-l) to EncCheck (im), EncCheck (i-a) and the overall check value CheckG) are concatenated into one. As a result, one check value concatenated data is generated.
  • step ST303-2 the check value concatenated data generated in step ST303-2 is encrypted according to the chain encryption method.
  • Step ST303- 4 double-encrypted check values Enc 2 Chec k (i- l) ⁇ Enc 2 Check (i- m), Enc 2 Check (i- a) and WDE
  • the entire encryption check value EncCheck (i ') is extracted from the set with the check value EncCheck (i).
  • the extracted encryption key overall check value EncCheck (i ') is used as the new whole inspection data D ATA32G) as the domain key management information UR [u] (i ) Is stored in a predetermined position.
  • check value list Check List (i) and the overall inspection data DATA32 (i) are updated.
  • the encrypted content key including the encrypted content key EncKt (i-2), the encrypted content key management information EncUR [t] (i-2), and the encryption key check value EncCheckG-2) Information is deleted.
  • EncCheck (i-3) to EncCheck (im) are extracted.
  • Step ST304-2 Next, the extracted (m-1) encrypted check values EncCheck (il), EncCheck (i-3) to EncCheckG-m) and the overall check value Check (i) are combined into one. . As a result, check value concatenated data is generated.
  • step ST205-2 the check value concatenated data generated in step ST205-2 is encrypted according to the chain encryption method. From this, a set of double encryption check values Enc 2 Check (il), Enc 2 Check (i-3) to Enc 2 Check (im) and an encryption overall check value EncCheckG ”) is generated.
  • Step ST301- 4 double-encrypted check values Enc 2 Chec k (il), Enc 2 Check (i- 3) ⁇ Enc 2 Check (i- m) and the encrypted whole Chiwekku value
  • the entire encryption key check value EncCheck O is extracted from the set with EncCheck (i ").
  • the set of Check (im) becomes a new check value list Check List, and then, as in the process in step ST301-5, the extracted encrypted key total check value EncCheck O is the new total check value.
  • Data (DATA32G) is stored at a predetermined location in the domain key management information UR [u] (i).
  • each force check value of m encrypted content key information is extracted, and 1 is determined from the entire check value and m encrypted key check values.
  • One whole inspection data is generated.
  • the data used for falsification detection processing (check value, overall inspection data) is generated in multiple stages.
  • most Final inspection data (overall inspection data) is stored in the protected area. In this way, the amount of data stored in the protected area can be reduced.
  • the encrypted content is not necessarily stored in the same target device as the target device that stores the encrypted content key, but may be stored in a separate recording medium. good.
  • the host device acquires the encryption key content stored in the other recording medium via a network or the like, and the content whose validity is guaranteed by the falsification detection method of this embodiment.
  • the encrypted content is decrypted using the key.
  • the position where the check value is embedded need not be specified by the specified byte, and may be fixed. For example, if the LSB is fixedly embedded at 8 bytes, it is possible to detect whether all data (content key, content key management information) has been tampered with.
  • the overall check value Check (i) may also be stored as a constant in the ROM 116, a register (not shown) or the like, like the partial inspection data DATA21.
  • the constant has a certain regularity, it can be realized by combining arithmetic units without providing a register. It is also possible to do. In general, it is more advantageous in terms of circuit area to implement constants by combining arithmetic units than providing registers.
  • the schematic flowchart shown in Fig. 5 may be appropriately changed according to the content key tampering check method (processing in step ST22) according to each embodiment. .
  • a person skilled in the art can easily change the schematic flowchart of FIG. 5 as appropriate according to each embodiment.
  • the present invention can be used in a confidential information processing system configured by a target device and a host device.

Abstract

 ドメイン鍵を用いて暗号化コンテンツ鍵情報を連鎖復号化し(ST203-1)、第1データを抽出する(ST203-2)。抽出された第1データと部分検査用データとを比較する(ST203-4)。m個の暗号化コンテンツ鍵情報の各々の中から第1データを暗号化されたままの状態で抽出し(ST203-6)、抽出されたm個のチェック値を含む連結データに対して所定演算を実行して、第2データを生成する(ST203-8)。第2データとドメイン鍵情報に含まれる全体検査用データとを比較する(ST203-11)。第1データと部分検査用データとが一致し(ST203-5)、且つ、第2データと全体検査用データとが一致する(ST203-12)と、改竄されていないと判断する。

Description

明 細 書
鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装 置,鍵情報のデータ構造
技術分野
[0001] 本発明は、ターゲット機器等に格納される機密情報における改竄の有無を検出す る方法および装置,改竄の有無を検出される機密情報を生成する方法および装置, 改竄の有無を検出される機密情報のデータ構造に関する。
背景技術
[0002] 著作物や個人情報等に関するコンテンツ (例えば、音楽データや映像データに代 表されるコンテンツ)は、不正なコピーあるいは外部への漏洩を防ぐ必要がある。この ようなコンテンツは、暗号ィ匕された状態でターゲット機器に格納される。ホスト機器が ターゲット機器に格納された暗号ィ匕コンテンツを扱う際には、ホスト機器は、ターゲット 機器との間で認証処理を実行する。この認証が失敗すると、ホスト機器は、暗号化コ ンテンッを復号ィ匕するためのコンテンツ鍵をターゲット機器力も入手することができな い。一方、この認証が成功すると、ホスト機器は、ターゲット機器に格納されたコンテ ンッにアクセスして、そのコンテンツを利用することができる。このような構成にするこ とにより、不正なホスト機器による暗号ィ匕コンテンツの復号ィ匕を防いでいる。なお、ここ で、ターゲット機器は、例えば、 SDカードのようなメモリカードである。また、ホスト機器 は、メモリカードからデータを読み出す半導体集積回路,その半導体集積回路を実 装したセット機器,あるいはターゲット機器へとコンテンツを配信するコンテンツ配信 機器である。
[0003] 次に、図 32を参照しつつ、従来におけるターゲット機器の格納領域およびその格 納領域に格納される機密情報について説明する。なお、以下の説明において、機密 情報とはコンテンツを再生するために必要な情報 (例えば、鍵情報等)を示す。
[0004] ターゲット機器内の格納領域は、システム領域 901,保護領域 902,および通常領 域 903に分けられている。システム領域 901は、ターゲット機器とホスト機器との間で 認証を行うための情報が格納される領域である。ホスト機器は、システム領域 901へ のアクセスが許可された所定の処理でなければ、システム領域 901にアクセスするこ とができない。保護領域 902は、ユーザ (ホスト機器)が任意にアクセスをすることがで きず、且つ、認証に成功して初めてアクセスすることができる領域である。通常領域 9 03は、ユーザが任意にアクセスすることができる領域である。システム領域 901には 、認証鍵が格納される。保護領域 902には、暗号ィ匕コンテンツ鍵が格納される。通常 領域 903には、暗号ィ匕コンテンツが格納される。
[0005] また、ターゲット機器に多くのコンテンツを格納することができるように、コンテンツを 格納する通常領域 903の格納サイズは、保護領域 902の格納サイズよりも大きく設定 されている。したがって、保護領域 902に格納することができるデータ量は、通常領 域 903に格納することができるデータ量よりも少ない。
[0006] 次に、ホスト機器がターゲット機器内の暗号ィ匕コンテンツを復号ィ匕して利用する方 法について説明する。まず、ホスト機器は、自己に格納している認証鍵とターゲット機 器に格納された認証鍵とを用いて、認証を行う。認証に成功すると、ホスト機器は、こ れらの認証鍵を用いて認証中間鍵を生成する。この認証中間鍵は、暗号化コンテン ッ鍵を復号ィ匕するための鍵として規定されている。したがって、ホスト機器は、ターゲ ット機器から暗号ィ匕コンテンツ鍵を取得するとともに、その暗号ィ匕コンテンツ鍵を認証 中間鍵で復号ィ匕して、平文(暗号化されて 、な 、状態を示す)のコンテンツ鍵を生成 する。さらに、ホスト機器は、暗号ィ匕コンテンツをターゲット機器力も取得し、平文のコ ンテンッ鍵を用 V、てその暗号ィ匕コンテンッを復号化して、平文のコンテンッを生成す る。これにより、コンテンツが利用可能になる。以上のような処理を実行することにより 、認証に成功したホスト機器のみがターゲット機器に格納された暗号ィ匕コンテンツを 禾 IJ用することがでさる。
[0007] 上述のコンテンツの復号ィ匕では、認証に成功すれば認証中間鍵が生成されるので 、認証にさえ成功すれば暗号ィ匕コンテンツを復号ィ匕することが可能である。すなわち 、ターゲット機器に格納されている暗号ィ匕コンテンツは、正当なホスト機器であれば利 用することができる。
[0008] 一方で、近年では、電子配信を利用して暗号ィ匕コンテンツを特定のユーザに送信 することによって、その特定ユーザのみにコンテンツを利用させるといった動きが活発 である。しかし、このような電子配信での利用を想定した場合、特定ユーザに送信さ れる暗号ィ匕コンテンツは、その特定ユーザが所有する特定のホスト機器でしか復号 化できないようにする必要がある。しかし、上述の方法ではその要求を満足すること ができない。
[0009] そのため、有効なドメイン鍵を特定のユーザにのみ設定する方法が新たに考えられ ている。ドメイン鍵が設定された場合、コンテンツはコンテンツ鍵で暗号化され、コン テンッ鍵は認証中間鍵ではなく特定ユーザのみに設定されたドメイン鍵を用いて暗 号ィ匕されることになる。また、ドメイン鍵自体も、認証中間鍵,あるいは認証中間鍵の 情報を用いて生成される別の鍵を用いて、暗号ィ匕してターゲット機器に格納される。 これにより、ドメイン鍵自体の秘匿性も確保される。
[0010] 図 33を参照しつつ、このようにドメイン鍵を設定した場合における、ターゲット機器 内の格納領域に格納される機密情報にっ ヽて説明する。ドメイン鍵を設定した場合 であっても従来のターゲット機器との互換性を保っために、ターゲット機器内の領域 の分割方法は同一でなくてはならない。また、ドメイン鍵とコンテンツ鍵との双方を保 護領域 902に格納してしまうと、ドメイン鍵は、コンテンツ鍵の復号ィ匕のための鍵であ るにもかかわらず、コンテンツ鍵と同一のセキュリティレベルの領域に格納されてしま う。したがって、セキュリティと互換性とを保っために、ドメイン鍵を設定した場合は、ド メイン鍵は、暗号化された状態で、保護領域 902に格納される。また、コンテンツ鍵は 、暗号化された状態で、通常領域 903に格納される。
[0011] 図 34を参照しつつ、ターゲット機器内に格納される機密情報についてさらに詳細に 説明する。ターゲット機器内の保護領域 902には、 n個 (nは 1以上の整数)の暗号ィ匕 されたドメイン鍵 Ku(l)〜Ku(n)が格納されている。ドメイン鍵 Ku(l)〜Ku(n)には、 n個の ドメイン鍵管理情報 UR[u](l)〜UR[u](n)が一対一で付与されている。
[0012] ターゲット機器の通常領域 903には、複数のコンテンツ鍵が格納されている。コンテ ンッ鍵の各々は、ドメイン鍵 Ku(l)〜Ku(n)のうちいずれか 1つに対応する。すなわち、 1つのドメイン鍵を用いて、複数の暗号ィ匕コンテンツ鍵を復号ィ匕することができる。例 えば、ドメイン鍵 Ku(l)には、 m個(mは 1以上の整数)のコンテンツ鍵 Kt(l- l)〜Kt(l- m)が対応する。コンテンツ鍵 Kt(l- l)〜Kt(l- m)には、 m個のコンテンツ鍵管理情報 U R[t](l- l)〜UR[t](l- m)と m個の付加情報 info(l- l)〜info(l- m)とが一対一で付与され ている。
[0013] なお、図 34では、ドメイン鍵 Ku(l)〜Ku(n)とドメイン鍵管理情報 UR[u](l)〜UR[u](n) との集合は「ドメイン鍵群 UKUREJと示し、コンテンツ鍵 Kt(l- l)〜Kt(l- m),コンテンツ 鍵管理情報 UR[t](l- l)〜UR[t](l- m),および付加情報 info(l- l)〜info(l- m)の集合は 「コンテンツ鍵群 TKURE(1)」と示されて!/、る。
[0014] 暗号ィ匕されたコンテンツを復号ィ匕するためには、平文のコンテンツ鍵が必要である
。また、暗号ィ匕されたコンテンツ鍵を復号ィ匕するためには、ドメイン鍵が必要である。 どのコンテンツ鍵がどのドメイン鍵によって復号ィ匕できるのかを素早く検索するために
、通常領域には鍵対応テーブル Address Listも格納されている。鍵対応テーブル Add ress Listには、ドメイン鍵とコンテンツ鍵との対応関係が記されている。例えば、ドメイ ン鍵 Ku(l)には、そのドメイン鍵を用いて復号化できるコンテンツ鍵 Kt(l- l)〜Kt(l- m) が対応付けられている。
[0015] このように、暗号ィ匕コンテンツ鍵は、通常領域 903に格納される。通常領域 903は ユーザが任意にアクセスすることが可能な領域であるので、通常領域 903に格納さ れた暗号ィ匕コンテンツ鍵の正当性を保証すること、言 、換えれば改竄を検査すること が重要となってくる。
[0016] ターゲット機器に格納された機密情報の改竄を検査する場合、機密情報毎にハツ シュ関数を用いる方法がある。ここで、機密情報に関連する全ての情報についてハツ シュ演算を実行することによって、機密情報における改竄の有無を検出する手順に ついて説明する。なお、ここで、「Enc」は、暗号化された状態を表す接頭語として使 用する。例えば、「EnCUR[U](l)」は、暗号化されたドメイン鍵管理情報 UR[u](l)を示す
[0017] まず、ドメイン鍵 Ku(l)によって復号化することができる暗号化コンテンツ鍵 EncKt(l- l)〜EncKt(l-m),それらの暗号化コンテンツ鍵 EncKt(l-l)〜EncKt(l-m)に対応する 暗号ィ匕コンテンツ鍵管理情報 EncUR[t](l- l)〜EncUR[t](l- m),およびそれら暗号ィ匕 コンテンツ鍵 EncKt(l- l)〜EncKt(l- m)に対応する付カ卩情報 info(l- l)〜info(l- m)をす ベて連結してハッシュ演算を実行する。そのハッシュ演算によって得られたハッシュ 値 Hash(KU(l》をドメイン鍵管理情報 UR[u](l)に格納する。
[0018] 次に、暗号ィ匕コンテンツ鍵 EncKt l- 1)における改竄を検査する際には、ホスト機器 は、鍵対応テーブル Address Listを参照して、ターゲット機器内の通常領域 903から コンテンツ鍵群 TKURE(l)を読み出し、ノ、ッシュ演算を実行する。一方、ホスト機器は 、認証によって得られた認証中間鍵を用いて、ターゲット機器内の保護領域 902に 格納された暗号ィ匕ドメイン鍵管理情報 EnCUR[U](l)を復号ィ匕する。次に、ホスト機器 は、復号ィ匕によって得られたドメイン鍵管理情報 UR[u](l)の中からハッシュ値 Hash(K u(l》を抽出する。次に、ホスト機器は、ノ、ッシュ演算によって算出したハッシュ値とドメ イン鍵管理情報 UR[u](l)の中から抽出したハッシュ値とを比較する。ホスト機器は、両 者が一致すれば改竄されて ヽな ヽと判断して、暗号ィ匕コンテンツ鍵を復号ィ匕する。 一方、ホスト機器は、両者が不一致であれば改竄されたものとして暗号ィ匕コンテンツ を復号化しない。
特許文献 1:特開 2001— 203686号公報
発明の開示
発明が解決しょうとする課題
[0019] し力しながら、図 34に示したような改竄検出方法では、処理量が非常に大きくなる。
すなわち、 1つのコンテンツ鍵 (コンテンツ鍵 Kt(l-l))の改竄をチェックするためには、 ホスト機器は、同一のドメイン鍵で復号ィ匕可能な全てのコンテンツ鍵とそれに付随す る全ての情報 (コンテンツ鍵群 TKURE(l))をターゲット機器力も読み出し、その読み 出した情報に対してハッシュ演算を実行する必要がある。特に、ターゲット機器に格 納されるコンテンツの個数が増加すると、それに従って、コンテンツ鍵の個数も増カロ する。その結果、 1つのドメイン鍵に対応付けられるコンテンツ鍵は増加していくので 、処理時間は、さらに増加していく。
[0020] また、コンテンツとコンテンツ鍵とがー組のデータとして、ネットワーク等を介して配 信されることも想定される。そのような場合には、 1つのドメイン鍵に対応付けられるコ ンテンッ鍵の追加 Z削除が生じる。し力しながら、従来の方法によれば、コンテンツ 鍵を追加 Z削除する場合、 1つのドメイン鍵 (ドメイン鍵 Ku(l))に対応付けられる全て のコンテンツ鍵とそれに付随する全ての情報(コンテンツ鍵群 TKURE(l))につ!/、てハ ッシュ演算を再度やりなおし、算出されたハッシュ値をそのドメイン鍵に付随するドメイ ン鍵管理情報(ドメイン鍵管理情報 UR[u](l))に埋め込む必要がある。このように、コ ンテンッ鍵の追加 Z削除のたびに、膨大な処理を実行する必要がある。
[0021] ここで、同一のドメイン鍵で復号ィ匕可能な全てのコンテンツ鍵とそれに付随する全て の情報 (コンテンツ鍵群 TKURE(l))に対してハッシュ演算を実行するのではなぐ 1つ のドメイン鍵に関連づけられた複数のコンテンツ鍵の各々に対して予めノ、ッシュ演算 を実行してハッシュ値を算出しておき、算出された複数のノ、ッシュ値をドメイン鍵管理 情報に埋め込んでおく方法も考えられる。
[0022] しかし、コンテンツ鍵の個数が多くなると算出されるハッシュ値の個数も多くなるので 、格納サイズが小さ 、保護領域 902に対してすべてのハッシュ値を格納することは困 難である。この場合、保護領域 902の格納サイズを拡大する必要があり、通常領域 9 03の格納サイズが小さくなつてしまうので、好ましくない。
[0023] そこで、本発明は、所定領域に格納されるデータ量を低減し、且つ、改竄検出時に おける処理量を低減することを目的とする。さら〖こ詳しくは、所定領域に格納されるデ ータ量が少なく且つ改竄検出時における処理量が少な!/、鍵情報のデータ構造,そ の鍵情報を生成する方法および装置,その鍵情報における改竄を検出する方法お よび装置,その鍵情報を更新する方法を提供することを目的とする。
課題を解決するための手段
[0024] この発明の 1つの局面に従うと、鍵情報生成方法では、ホスト機器によって鍵情報 が生成される。鍵情報は、ドメイン鍵情報と、 m個 (mは自然数)のコンテンツ鍵情報と を含む。鍵情報は、改竄の有無を検出される。ホスト機器は、データ生成部と、デー タ書込部とを備える。データ生成部は、鍵情報を生成する。データ書込部は、データ 生成部によって生成された鍵情報をターゲット機器に書き込む。ターゲット機器は、 第 1記憶領域と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを含む 。 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するために使 用されるコンテンツ鍵を含む。ドメイン鍵情報は、 m個のコンテンツ鍵情報を暗号ィ匕お よび復号化するために使用されるドメイン鍵を含む。上記生成方法は、ステップ (A) 〜ステップ (E)を備える。ステップ (A)では、データ生成部が、 m個のコンテンツ鍵情 報の各々に対して、第 1データを追加し、ドメイン鍵を用いてその m個のコンテンツ鍵 情報の各々を連鎖暗号化する。第 1データは、改竄検出処理のために使用される部 分検査用データに相当する。ステップ (B)では、データ生成部が、ステップ (A)にお いて暗号ィ匕された m個のコンテンツ鍵情報の各々の中力 第 1データを暗号ィ匕され たままの状態で抽出する。ステップ (C)では、データ生成部が、ステップ )において 抽出された m個の第 1データを含む連結データに対して所定演算を実行して、第 2デ ータを生成する。ステップ (D)では、データ生成部が、ステップ (C)において生成さ れた第 2データを全体検査用データとしてドメイン鍵情報に追加する。ステップ (E)で は、データ書込部が、上記 m個の暗号化されたコンテンツ鍵情報を第 1記憶領域に 書き込み、且つ、上記ドメイン鍵情報を第 2記憶領域に書き込む。
[0025] 上記鍵情報生成方法では、改竄検出処理のために使用されるデータが複数段階 に分けて生成される。また、改竄検出処理のために使用されるデータのすべてが所 定領域 (セキュリティレベルが比較的高い第 2記憶領域)に格納されるのではなぐ最 終段階の検査用データが所定領域に格納される。これにより、所定領域に格納され るデータ量を低減することができる。また、ある 1つのコンテンツ鍵情報に対して所定 処理を実行して得られる第 1データと予め用意された部分検査用データとの比較を 行えば、そのコンテンツ鍵情報における改竄の有無を検出できる。また、 m個の第 1 データに基づいて生成される第 2データと全体検証用データとの比較を行えば、鍵 情報全体における改竄の有無を検出することができる。したがって、鍵情報全体に対 して処理を実行する必要がな!ヽので、改竄検出処理時の処理量を低減することがで きる。
[0026] また、鍵情報生成方法では、ホスト機器によって鍵情報が生成される。鍵情報は、ド メイン鍵情報と、 m個のコンテンツ鍵情報とを含む。鍵情報は、改竄の有無を検出さ れる。ホスト機器は、データ生成部と、データ書込部とを備える。データ生成部は、鍵 情報を生成する。データ書込部は、データ生成部によって生成された鍵情報をター ゲット機器に書き込む。ターゲット機器は、第 1記憶領域と、第 1記憶領域よりもセキュ リティレベルが高い第 2記憶領域とを含む。 m個のコンテンツ鍵情報の各々は、コン テンッを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵 情報は、 m個のコンテンツ鍵情報を暗号ィ匕および復号ィ匕するために使用されるドメイ ン鍵を含む。上記生成方法は、ステップ (A)〜ステップ (E)を備える。ステップ (A)で は、データ生成部が、 m個のコンテンツ鍵情報の各々に対して、第 1データを追加し 、ドメイン鍵を用いてその m個のコンテンツ鍵情報の各々を連鎖暗号ィ匕する。第 1デ ータは、改竄検出処理のために使用される部分検査用データに相当する。ステップ( B)では、データ生成部が、ステップ (A)において暗号ィ匕された m個のコンテンツ鍵情 報の各々の中から第 1データを暗号化されたままの状態で抽出する。ステップ (C)で は、データ生成部が、第 2データとステップ (B)において抽出された m個の第 1データ とを含む連結データをドメイン鍵を用いて連鎖暗号ィ匕し、その暗号化された連結デー タの中から第 2データを暗号ィ匕されたままの状態で抽出する。ステップ (D)では、デ ータ生成部が、ステップ (C)において抽出された第 2データを全体検査用データとし てドメイン鍵情報に追加する。ステップ (E)では、データ書込部が、ステップ (C)にお いて暗号化された連結データに含まれる m個の暗号化された第 1データを第 1記憶 領域に書き込む。また、ステップ (E)では、データ書込部が、上記 m個の暗号化され たコンテンツ鍵情報を第 1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第 2記 憶領域に書き込む。
また、鍵情報生成方法では、ホスト機器によって鍵情報が生成される。鍵情報は、ド メイン鍵情報と、 m個のコンテンツ鍵情報とを含む。鍵情報は、改竄の有無を検出さ れる。ホスト機器は、データ生成部と、データ書込部とを備える。データ生成部は、鍵 情報を生成する。データ書込部は、データ生成部によって生成された鍵情報をター ゲット機器に書き込む。ターゲット機器は、第 1記憶領域と、第 1記憶領域よりもセキュ リティレベルが高い第 2記憶領域とを含む。 m個のコンテンツ鍵情報の各々は、コン テンッを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵 情報は、 m個のコンテンツ鍵情報を暗号ィ匕および復号ィ匕するために使用されるドメイ ン鍵を含む。上記生成方法は、ステップ (A)〜ステップ (E)を備える。ステップ (A)で は、データ生成部が、ドメイン鍵を用いて m個のコンテンツ鍵情報の各々を暗号ィ匕す る。ステップ (B)では、データ生成部が、ステップ (A)によって暗号ィ匕された m個のコ ンテンッ鍵情報の各々に対して第 1演算を実行して、 m個の第 1データを生成する。 ステップ (C)では、データ生成部が、ステップ )において生成された m個の第 1デ ータを含む連結データに対して第 2演算を実行して、第 2データを生成する。ステツ プ (D)では、データ生成部が、ステップ (C)において生成された第 2データを全体検 查用データとしてドメイン鍵情報に追加する。ステップ (E)では、データ書込部が、上 記 m個の第 1データを m個の部分検査用データとして第 1記憶領域に書き込む。また 、ステップ (E)では、データ書込部が、上記 m個の暗号ィ匕されたコンテンツ鍵情報を 第 1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第 2記憶領域に書き込む。 この発明のもう 1つの局面に従うと、鍵情報更新方法では、ホスト機器によって鍵情 報が更新される。鍵情報は、改竄の有無を検出される。ホスト機器は、データ更新部 と、データ書込部とを備える。データ更新部は、鍵情報に対して新たなコンテンツ鍵 情報を追加するとともに、その鍵情報を更新する。データ書込部は、データ更新部に よって更新された鍵情報をターゲット機器に書き込む。ターゲット機器は、第 1記憶領 域と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを含む。鍵情報は 、ドメイン鍵情報と、 m個のコンテンツ鍵情報とを含む。 m個のコンテンツ鍵情報の各 々は、コンテンツを暗号ィ匕および復号ィ匕するために使用されるコンテンツ鍵と、改竄 検出処理のために使用される部分検査用データに相当する第 1データとを含む。ドメ イン鍵情報は、 m個のコンテンツ鍵情報を暗号ィ匕および復号ィ匕するために使用され るドメイン鍵と、全体検査用データとを含む。 m個のコンテンツ鍵情報の各々は、暗号 化されている。上記更新方法は、ステップ (A)〜ステップ (E)を備える。ステップ (A) では、データ更新部が、新たなコンテンツ鍵情報に対して第 1データを追加し、その コンテンツ鍵情報をドメイン鍵を用いて連鎖暗号ィ匕する。ステップ (B)では、データ更 新部が、ステップ (A)において暗号ィ匕されたコンテンツ鍵情報の中力 第 1データを 暗号化されたままの状態で抽出する。ステップ (C)では、データ更新部が、ステップ( B)において抽出された第 1データと m個の暗号ィ匕されたコンテンツ鍵情報の各々に 含まれる第 1データとを含む連結データに対して所定演算を実行して、第 2データを 生成する。ステップ (D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査 用データをステップ (C)において生成された第 2データに書き換える。ステップ (E)で は、データ書込部が、上記 m個の暗号化されたコンテンツ鍵情報と暗号化された新 たなコンテンツ鍵情報とを第 1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第 2 記憶領域に書き込む。
[0029] 上記鍵情報更新方法では、鍵情報を更新するときに、鍵情報全体に対して所定処 理を実行する必要がない。したがって、鍵情報の更新時における処理量を低減する ことができる。また、更新された鍵情報では、改竄検出処理のために使用されるデー タのすべてが所定領域 (セキュリティレベルが比較的高 、第 2記憶領域)に格納され るのではなぐ最終段階の検査用データが所定領域に格納される。これにより、所定 領域に格納されるデータ量を低減することができる。また、更新された鍵情報に対し て改竄検出処理を実行する場合、鍵情報全体に対して処理する必要がな!ヽので、 改竄検出時における処理量を低減することができる。
[0030] また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、 改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。 データ更新部は、鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、その 鍵情報を更新する。データ書込部は、データ更新部によって更新された鍵情報をタ 一ゲット機器に書き込む。ターゲット機器は、第 1記憶領域と、第 1記憶領域よりもセキ ユリティレベルが高い第 2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、 m個のコ ンテンッ鍵情報と、 m個の暗号ィ匕された第 1データと、第 2データとを含む。 m個のコ ンテンッ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するために使用されるコ ンテンッ鍵と、改竄検出処理のために使用される部分検査用データに相当する第 1 データとを含む。ドメイン鍵情報は、 m個のコンテンツ鍵情報を暗号化および復号ィ匕 するために使用されるドメイン鍵と、全体検査用データとを含む。 m個のコンテンツ鍵 情報の各々は、暗号化されて 、る。上記更新方法は、ステップ (A)〜ステップ (E)を 備える。ステップ (A)では、データ更新部が、新たなコンテンツ鍵情報に対して第 1デ ータを追加し、そのコンテンツ鍵情報をドメイン鍵を用いて連鎖暗号ィ匕する。ステップ (B)では、データ更新部が、ステップ (A)において暗号ィ匕されたコンテンツ鍵情報の 中から第 1データを暗号化されたままの状態で抽出する。ステップ (C)では、データ 更新部が、第 2データ, m個の暗号化された第 1データ,およびステップ (B)において 抽出された第 1データを含む連結データを、ドメイン鍵を用いて連鎖暗号ィ匕し、その 暗号化された連結データの中から第 2データを暗号化されたままの状態で抽出する 。ステップ (D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査用データ をステップ (C)において抽出された第 2データに書き換える。ステップ (E)では、デー タ書込部が、ステップ (C)において暗号ィ匕された連結データに含まれる(m+ 1)個の 第 1データを第 1記憶領域に書き込む。また、ステップ (E)では、データ書込部が、上 記 m個の暗号化されたコンテンツ鍵情報および上記暗号化された新たなコンテンツ 鍵情報を第 1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第 2記憶領域に書き 込む。
また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、 改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。 データ更新部は、鍵情報に対して新たなコンテンツ鍵情報を追加するとともに、その 鍵情報を更新する。データ書込部は、データ更新部によって更新された鍵情報をタ 一ゲット機器に書き込む。上記ターゲット機器は、第 1記憶領域と、第 1記憶領域より もセキュリティレベルが高い第 2記憶領域とを含む。鍵情報は、ドメイン鍵情報と、 m 個のコンテンツ鍵情報と、 m個の部分検査用データとを含む。 m個のコンテンツ鍵情 報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵を 含む。ドメイン鍵情報は、 m個のコンテンツ鍵情報を暗号ィ匕および復号ィ匕するために 使用されるドメイン鍵と、全体検査用データとを含む。 m個のコンテンツ鍵情報の各 々は、暗号ィ匕されている。上記更新方法は、ステップ (A)〜ステップ (E)を備える。ス テツプ (A)では、データ更新部が、新たなコンテンツ鍵情報を暗号ィ匕する。ステップ( B)では、データ更新部が、ステップ (A)において暗号ィ匕された新たなコンテンツ鍵に 対して第 1演算を実行して、第 1データを生成する。ステップ (C)では、データ更新部 が、 m個の部分検査用データとステップ (B)において生成された第 1データとを含む 連結データに対して第 2演算を実行して、第 2データを生成する。ステップ (D)では、 データ更新部が、ドメイン鍵情報に含まれる全体検査用データをステップ (C)におい て生成された第 2データに書き換える。ステップ (E)では、データ書込部が、 m個の部 分検査用データと上記第 1データとを (m+ 1)個の部分検査用データとして第 1記憶 領域に書き込む。また、ステップ (E)では、データ書込部が、上記 m個の暗号化され たコンテンツ鍵情報および上記暗号化された新たなコンテンツ鍵情報を第 1記憶領 域に書き込み、且つ、上記ドメイン鍵情報を第 2記憶領域に書き込む。
[0032] また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、 改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。 データ更新部は、改竄の有無を検出することができる鍵情報の中からいずれか 1つ のコンテンツ鍵情報を削除するとともに、その鍵情報を更新する。データ書込部は、 データ更新部によって更新された鍵情報をターゲット機器に書き込む。ターゲット機 器は、第 1記憶領域と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域と を含む。鍵情報は、ドメイン鍵情報と、 m個のコンテンツ鍵情報とを含む。 m個のコン テンッ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するために使用されるコン テンッ鍵と、改竄検出処理のために使用される部分検査用データに相当する第 1デ 一タとを含む。ドメイン鍵情報は、上記 m個のコンテンツ鍵情報を暗号化および復号 化するために使用されるドメイン鍵と、全体検査用データとを含む。 m個のコンテンツ 鍵情報の各々は、暗号ィ匕されている。上記更新方法は、ステップ (A)〜ステップ (E) を備える。ステップ (A)では、データ更新部が、 m個の暗号ィ匕されたコンテンツ鍵情 報のうちいずれか 1つを削除する。ステップ (B)では、データ更新部が、ステップ (A) において削除されな力つた (m— 1)個の暗号ィ匕されたコンテンツ鍵情報の各々に含 まれる第 1データを暗号化されたままの状態で抽出する。ステップ (C)では、データ 更新部が、ステップ )において抽出された (m— 1)個の第 1データを含む連結デー タに対して所定演算を実行して、第 2データを生成する。ステップ (D)では、データ更 新部が、ドメイン鍵情報に含まれる全体検査用データをステップ (C)において生成さ れた第 2データに書き換える。ステップ (E)では、データ書込部が、上記 (m— 1)個の 暗号化されたコンテンツ鍵情報を第 1記憶領域に書き込み、且つ、上記ドメイン鍵情 報を第 2記憶領域に書き込む。
[0033] また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、 改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。 データ更新部は、改竄の有無を検出することができる鍵情報の中からいずれか 1つ のコンテンツ鍵情報を削除するとともに、その鍵情報を更新する。ターゲット機器は、 第 1記憶領域と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを含む o鍵情報は、ドメイン鍵情報と、 m個のコンテンツ鍵情報と、 m個の暗号化された第 1 データと、第 2データとを含む。 m個のコンテンツ鍵情報の各々は、コンテンツを暗号 化および復号ィ匕するために使用されるコンテンツ鍵と、改竄検出処理のために使用 される部分検査用データに相当する第 1データとを含む。ドメイン鍵情報は、 m個のコ ンテンッ鍵情報を暗号ィ匕および復号ィ匕するために使用されるドメイン鍵と、全体検査 用データとを含む。 m個の暗号ィ匕された第 1データは、 m個のコンテンツ鍵情報と一 対一で対応する。 m個のコンテンツ鍵情報の各々は、暗号ィ匕されている。上記更新 方法は、ステップ (A)〜ステップ (E)を備える。ステップ (A)では、データ更新部が、 m個のコンテンツ鍵情報のうちいずれか 1つを削除する。ステップ(B)では、データ更 新部が、ステップ (A)において削除されな力つた (m—1)個の暗号ィ匕されたコンテン ッ鍵情報の各々に含まれる第 1データを暗号化されたままの状態で抽出する。ステツ プ (C)では、データ更新部が、 m個の暗号ィ匕された第 1データのうちステップ (A)に おいて削除されたコンテンツ鍵情報に対応する第 1データを削除する。ステップ (C) では、データ更新部が、第 2データとステップ (B)において削除されな力つた (m—1) 個の暗号化された第 1データとを含む連結データをドメイン鍵を用いて連鎖暗号ィ匕し 、その暗号化された連結データの中力も第 2データを暗号化されたままの状態で抽 出する。ステップ (D)では、データ更新部が、ドメイン鍵情報に含まれる全体検査用 データをステップ (C)において抽出された第 2データに書き換える。ステップ (E)では 、データ書込部が、ステップ (C)において暗号ィ匕された連結データに含まれる (m- 1)個の第 1データを第 1記憶領域に書き込む。また、ステップ (E)では、データ書込 部が、上記 (m—1)個の暗号化されたコンテンツ鍵情報を第 1記憶領域に書き込み、 且つ、上記ドメイン鍵情報を第 2記憶領域に書き込む。
また、鍵情報更新方法では、ホスト機器によって鍵情報が更新される。鍵情報は、 改竄の有無を検出される。ホスト機器は、データ更新部と、データ書込部とを備える。 データ更新部は、改竄の有無を検出することができる鍵情報の中からいずれか 1つ のコンテンツ鍵情報を削除するとともに、その鍵情報を更新する。ターゲット機器は、 第 1記憶領域と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを含む 。鍵情報は、ドメイン鍵情報と、 m個のコンテンツ鍵情報と、 m個の部分検査用データ とを含む。 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕する ために使用されるコンテンツ鍵を含む。ドメイン鍵情報は、 m個のコンテンツ鍵情報を 暗号ィ匕および復号ィ匕するために使用されるドメイン鍵と、全体検査用データとを含む 。 m個の部分検査用データは、 m個のコンテンツ鍵情報と一対一で対応する。 m個の コンテンツ鍵情報の各々は、暗号ィ匕されている。上記更新方法は、ステップ (A)〜ス テツプ (E)を備える。ステップ (A)では、データ更新部が、 m個の暗号ィ匕されたコンテ ンッ鍵情報のうちいずれか 1つを削除する。ステップ (B)では、データ更新部が、 m個 の部分検査用データのうちステップ ( A)において削除されたコンテンッ鍵情報に対 応する部分検査用データを削除する。ステップ (C)では、データ更新部が、ステップ( B)において削除されな力つた (m—1)個の部分検査用データを含む連結データに 対して第 2演算を実行して、第 2データを生成する。ステップ (D)では、データ更新部 力 ドメイン鍵情報に含まれる全体検査用データをステップ (C)において生成された 第 2データに書き換える。ステップ (E)では、データ書込部が、ステップ )において 削除されなかった (m— 1)個の部分検査用データを上記第 1記憶領域に書き込む。 また、ステップ (E)では、データ書込部が、上記 (m—1)個の暗号ィ匕されたコンテンツ 鍵情報を第 1記憶領域に書き込み、且つ、上記ドメイン鍵情報を第 2記憶領域に書き 込む。
この発明のさらにもう 1つの局面に従うと、改竄検出方法では、ホスト機器によって、 ターゲット機器に格納された鍵情報における改竄の有無が検出される。鍵情報は、ド メイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報とを含む。 m個のコンテンツ鍵 情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵 と、改竄検出処理のために使用される部分検査用データに相当する第 1データとを 含む。ドメイン鍵情報は、 m個のコンテンツ鍵を暗号ィ匕および復号ィ匕するために使用 されるドメイン鍵と、全体検査用データとを含む。 m個のコンテンツ鍵情報の各々は、 暗号ィ匕されている。上記検出方法は、ステップ (A)〜ステップ (E)を備える。ステップ (A)では、 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれ力 1つをドメイン鍵を用 いて連鎖復号化し、その復号化されたコンテンツ鍵情報の中から上記第 1データを 抽出する。ステップ (B)では、ステップ (A)において抽出された第 1データと予め用意 された部分検査用データとを比較する。ステップ (C)では、 m個のコンテンツ鍵情報 の各々の中から第 1データを暗号化されたままの状態で抽出し、その抽出された m個 の第 1データを含む連結データに対して所定演算を実行して、第 2データを生成する 。ステップ (D)では、ステップ (C)において生成された第 2データと上記ドメイン鍵情 報に含まれる全体検査用データとを比較する。ステップ (E)では、ステップ (B)にお いて第 1データと部分検査用データとがー致し、且つ、ステップ (D)において第 2デ ータと全体検査用データとがー致すると、上記鍵情報が改竄されていないと判断す る。
[0036] 上記改竄検出方法では、鍵情報全体に対して処理を実行する必要がな!ヽので、改 竄検出処理時の処理量を低減することができる。また、改竄検出処理のために使用 されるデータのすべてが所定領域 (セキュリティレベルが比較的高 、第 2記憶領域) に格納されている必要はなぐ最終段階で使用される検査用データが所定領域に格 納されていれば良い。したがって、所定領域に格納されるデータ量を低減することが できる。
[0037] また、改竄検出方法では、ホスト機器によって、ターゲット機器に格納された鍵情報 における改竄の有無が検出される。鍵情報は、ドメイン鍵情報と、 m個のコンテンツ鍵 情報と、 m個の暗号ィ匕された第 1データと、第 2データとを含む。 m個のコンテンツ鍵 情報の各々は、コンテンツを暗号化および復号化するために使用されるコンテンツ鍵 と、改竄検出処理のために使用される部分検査用データに相当する第 1データとを 含む。ドメイン鍵情報は、 m個のコンテンツ鍵を暗号ィ匕および復号ィ匕するために使用 されるドメイン鍵と、全体検査用データとを含む。 m個のコンテンツ鍵情報の各々は、 暗号ィ匕されている。上記検出方法は、ステップ (A)〜ステップ (E)を備える。ステップ (A)では、 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれ力 1つをドメイン鍵を用 いて連鎖復号化し、その復号化されたコンテンツ鍵情報の中力ゝら第 1データを抽出 する。ステップ (B)では、ステップ (A)において抽出された第 1データと予め用意され た部分検査用データとを比較する。ステップ (C)では、ドメイン鍵情報に含まれる全 体検査用データと m個の暗号ィ匕された第 1データとを含む連結データをドメイン鍵を 用いて連鎖復号ィ匕し、その復号ィ匕された連結データの中からその全体検査用データ を抽出する。ステップ (D)では、第 2データとステップ (C)において抽出された全体検 查用データとを比較する。ステップ (E)では、ステップ )において第 1データと部分 検査用データとがー致し、且つ、ステップ(D)において第 2データと全体検査用デー タとが一致すると、上記鍵情報が改竄されて ヽな ヽと判断する。
[0038] また、改竄検出方法では、ホスト機器によって、ターゲット機器に格納された鍵情報 における改竄の有無が検出される。鍵情報は、ドメイン鍵情報と、 m個のコンテンツ鍵 情報と、 m個の部分検査用データとを含む。 m個のコンテンツ鍵情報の各々は、コン テンッを暗号化および復号化するために使用されるコンテンツ鍵を含む。ドメイン鍵 情報は、 m個のコンテンツ鍵を暗号ィ匕および復号ィ匕するために使用されるドメイン鍵 と、全体検査用データとを含む。 m個の部分検査用データは、 m個のコンテンツ鍵情 報と一対一で対応する。 m個のコンテンツ鍵情報の各々は、暗号ィ匕されている。上記 検出方法は、ステップ (A)〜ステップ (E)を備える。ステップ (A)では、 m個の暗号化 されたコンテンツ鍵情報のうちいずれか 1つに対して第 1演算を実行して、第 1データ を生成する。ステップ (B)では、ステップ (A)において生成された第 1データと、 m個 の部分検査用データのうちステップ (A)において第 1演算が実行されたコンテンツ鍵 情報に対応する部分検査用データとを比較する。ステップ (C)では、 m個の部分検 查用データを含む連結データに対して第 2演算を実行して、第 2データを生成する。 ステップ (D)では、ステップ (C)において生成された第 2データとドメイン鍵情報に含 まれる全体検査用データとを比較する。ステップ (E)では、ステップ (B)において第 1 データと部分検査用データとがー致し、且つ、ステップ (D)において第 2データと全 体検査用データとがー致すると、上記鍵情報が改竄されていないと判断する。
[0039] この発明のさらにもう 1つの局面に従うと、鍵情報のデータ構造は、 m個のコンテン ッ鍵情報と、ドメイン鍵情報とを備える。鍵情報は、ターゲット機器に格納される。また 、鍵情報は、ホスト機器によって改竄の有無を検出される。ターゲット機器は、第 1記 憶領域と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを含む。 m個 のコンテンツ鍵情報は、第 1記憶領域に格納される。ドメイン鍵情報は、第 2記憶領域 に格納される。 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕 するために使用されるコンテンツ鍵と、ホスト機器による改竄検出処理のために使用 される部分検査用データに相当する第 1データとを含む。ドメイン鍵情報は、 m個のコ ンテンッ鍵情報を暗号ィ匕および復号ィ匕するために使用されるドメイン鍵と、ホスト機器 による改竄検出処理のために使用される全体検査用データとを含む。 m個のコンテ ンッ鍵情報の各々は、暗号ィ匕されている。全体検査用データは、改竄されていない m個の暗号ィ匕されたコンテンツ鍵情報の各々力 第 1データを暗号ィ匕されたままの状 態で抽出し、その抽出された m個の第 1データを含む連結データに対して所定演算 を実行することによって得られるデータに相当する。
[0040] 上記鍵情報のデータ構造では、改竄検出処理のために使用されるデータのすべて が所定領域 (セキュリティレベルが比較的高 、第 2記憶領域)に格納されて 、るので はなぐ最終段階の検査用データが所定領域に格納されている。したがって、所定領 域に格納されるデータ量を低減することができる。また、ある 1つのコンテンツ鍵情報 に対して所定処理を実行して得られる第 1データと予め用意された部分検査用デー タとの比較を行えば、そのコンテンツ鍵情報における改竄の有無を検出できる。また 、m個の第 1データに基づいて生成される第 2データと全体検証用データとの比較を 行えば、鍵情報全体における改竄の有無を検出することができる。したがって、鍵情 報全体に対して処理を実行する必要がないので、改竄検出処理時における処理量 を低減することができる。
[0041] また、鍵情報のデータ構造は、 m個のコンテンツ鍵情報と、ドメイン鍵情報と、 m個 の暗号化された第 1データと、第 2データとを備える。鍵情報は、ターゲット機器に格 納される。また、鍵情報は、ホスト機器によって改竄の有無を検出される。ターゲット 機器は、第 1記憶領域と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域 とを含む。 m個のコンテンツ鍵情報, m個の暗号化された第 1データ,および第 2デー タは、第 1記憶領域に格納される。ドメイン鍵情報は、第 2記憶領域に格納される。 m 個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するために使用 されるコンテンツ鍵と、ホスト機器による改竄検出処理のために使用される部分検査 用データに相当する第 1データとを含む。ドメイン鍵情報は、 m個のコンテンツ鍵情報 を暗号ィ匕および復号ィ匕するために使用されるドメイン鍵と、ホスト機器による改竄検 出処理のために使用される全体検査用データとを含む。 m個の暗号化された第 1デ ータは、 m個のコンテンツ鍵情報と一対一で対応する。 m個のコンテンツ鍵情報の各 々は、暗号ィ匕されている。全体検査用データは、改竄されていない m個の暗号ィ匕さ れた第 1データと第 2データとを含む連結データをドメイン鍵を用いて連鎖暗号ィ匕し、 その暗号化された連結データの中から暗号化されたままの状態で抽出される第 2デ ータに相当する。
[0042] また、鍵情報のデータ構造は、 m個のコンテンツ鍵情報と、ドメイン鍵情報と、 m個 の部分検査用データとを備える。鍵情報は、ターゲット機器に格納される。また、鍵情 報は、ホスト機器によって改竄の有無を検出される。ターゲット機器は、第 1記憶領域 と、第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを含む。 m個のコンテ ンッ鍵情報および m個の部分検査用データは、第 1記憶領域に格納される。ドメイン 鍵情報は、第 2記憶領域に格納される。 m個のコンテンツ鍵情報の各々は、コンテン ッを暗号ィ匕および復号ィ匕するために使用されるコンテンツ鍵を含む。ドメイン鍵情報 は、 m個のコンテンツ鍵情報を暗号ィ匕および復号ィ匕するために使用されるドメイン鍵 と、ホスト機器による改竄検出処理のために使用される全体検査用データとを含む。 m個の部分検査用データは、 m個のコンテンツ鍵情報と一対一で対応する。 m個の 部分検査用データの各々は、その部分検査用データに対応する改竄されていない コンテンツ鍵情報に対して第 1演算を実行することによって得られるデータに相当す る。全体検査用データは、改竄されていない m個の部分検査用データを含む連結デ ータに対して第 2演算を実行することによって得られるデータに相当する。
発明の効果
[0043] 以上のように、改竄検出処理のために使用されるデータのすべてが所定領域 (セキ ユリティレベルが比較的高い第 2記憶領域)に格納されるのではなぐ最終段階の検 查用データが所定領域に格納される。これにより、所定領域に格納されるデータ量を 低減することができる。
[0044] また、鍵情報全体に対して処理を実行する必要がな!、ので、改竄検出処理時にお ける処理量を低減することができる。
[0045] また、鍵情報を更新するときに、鍵情報全体に対して所定処理を実行する必要がな い。したがって、鍵情報の更新時における処理量を低減することができる。
図面の簡単な説明
[図 1]図 1は、この発明の第 1の実施形態による機密情報処理システムの全体構成を 示すブロック図である。
[図 2]図 2は、この発明の第 1の実施形態におけるターゲット機器に格納される機密情 報を示す図である。
[図 3]図 3は、ドメイン鍵の暗号ィ匕 Z復号ィ匕とコンテンツ鍵の暗号ィ匕 Z復号ィ匕とについ て説明するための図である。
[図 4]図 4は、図 2に示したハッシュリストおよび全体検査用データの生成手順につい て説明するための図である。
[図 5]図 5は、機密情報処理システムによる動作についての概略フローチャートである [図 6]図 6は、認証処理について説明するための図である。
[図 7]図 7は、この発明の第 1の実施形態における改竄検出方法についてのフローチ ヤートである。
[図 8]図 8は、コンテンツ鍵情報が追加された場合におけるハッシュリストおよび全体 検査用データの更新手順について説明するための図である。
[図 9]図 9は、コンテンツ鍵情報が削除された場合におけるハッシュリストおよび全体 検査用データの更新手順について説明するための図である。
[図 10]図 10は、図 2に示した機密情報の改変例について説明するための図である。
[図 11]図 11は、図 2に示した機密情報の改変例について説明するための図である。
[図 12]図 12は、連鎖暗号方式について説明するための図である。
[図 13]図 13は、この発明の第 2の実施形態による機密情報処理システムの全体構成 を示すブロック図である。
圆 14]図 14は、図 13に示したターゲット機器に格納される機密情報を示す図である
[図 15]図 15は、図 14に示した全体検査用データの生成手順について説明するため の図である。 [図 16]図 16は、チェック値を利用した改竄検出処理の手順について説明するための 図である。
[図 17]図 17は、この発明の第 2の実施形態における改竄検出方法についてのフロー チャートである。
[図 18]図 18は、コンテンツ鍵情報が追加された場合における全体検査用データの更 新手順について説明するための図である。
[図 19]図 19は、コンテンツ鍵情報が削除された場合における全体検査用データの更 新手順について説明するための図である。
[図 20]図 20は、一方向関数型のハッシュ演算(DES HASH)について説明するため の図である。
[図 21]図 21は、図 20に示したハッシュ演算を実行するためのアルゴリズムを示す図 である。
[図 22]図 22は、一方向関数型のハッシュ演算(C2)について説明するための図であ る。
[図 23]図 23は、連鎖暗号方式(DES E-CBC)について説明するための図である。
[図 24]図 24は、図 23に示した連鎖暗号方式を実行するためのアルゴリズムを示す図 である。
[図 25]図 25は、連鎖暗号方式 (C2 E-CBC)について説明するための図である。
[図 26]図 26は、図 14に示した機密情報の改変例について説明するための図である
[図 27]図 27は、この発明の第 3の実施形態におけるターゲット機器に格納される機密 情報を示す図である。
[図 28]図 28は、図 27に示したチェック値リストおよび全体検査用データの生成手順 について説明するための図である。
[図 29]図 29は、全体チェック値およびチェック値リストを利用した改竄検出処理の手 順について説明するための図である。
[図 30]図 30は、コンテンツ鍵情報が追加された場合におけるチェック値リストおよび 全体検査用データの更新手順について説明するための図である。 [図 31]図 31は、コンテンツ鍵情報が削除された場合におけるチェック値リストおよび 全体検査用データの更新手順について説明するための図である。
[図 32]図 32は、従来のターゲット機器に格納される機密情報を示す図である。
圆 33]図 33は、ドメイン鍵を設定した場合のターゲット機器に格納される機密情報を 示す図である。
[図 34]図 34は、ターゲット機器に格納される機密情報についてさらに詳細に示した図 である。
符号の説明
(10) ターゲット機器
(11) ホスト機器
(101, 901) システム領域
(102, 902) 保護領域
(103, 903) 通常領域
(111) 内部バス
(112) ターゲット IZF部
(113) 機密情報処理部
(114) ホスト IZF部
(115) ホスト CPU
(116) ROM
(117) RAM
発明を実施するための最良の形態
以下、この発明の実施の形態を図面を参照して詳しく説明する。なお、図中同一ま たは相当部分には同一の符号を付しその説明は繰り返さない。
(第 1の実施形態)
<全体構成 >
図 1は、この発明の第 1の実施形態による機密情報処理システムの全体構成を示す 。この機密情報処理システムは、ターゲット機器 10と、ホスト機器 11とを備える。ター ゲット機器 10は、例えば、 SDカードに代表されるメモリカードのような可搬型記憶デ バイスであり、鍵情報を含むデータを格納する。ホスト機器 11は、ターゲット機器 10 が接続されて、ターゲット機器 10との間で鍵情報の読み出し Z書き込みを行う。なお
、ターゲット機器 10とホスト機器 11とが一体となって 、ても良 、。
[0049] <ターゲット機器の内部構成 >
ターゲット機器 10は、システム領域 101と、保護領域 102と、通常領域 103とを含む 。システム領域 101,保護領域 102,通常領域の各々の格納サイズは、予め設定さ れている。例えば、ターゲット機器 10の格納領域全体 (例えば、 512MB)のうち、約 1%がシステム領域 101および保護領域 102に割り当てられ、残りが通常領域 103に 割り当てられることが理想的である。
[0050] 〔システム領域〕
システム領域 101は、ホスト機器 11からアクセスすることができる領域と、ホスト機器 11からアクセスすることができない領域に分かれている。システム領域 101のうちホス ト機器 11からアクセス可能な領域には、ターゲット機器 10とホスト機器 11との間で実 行される認証処理に必要な情報 (ターゲット機器用認証鍵)が格納されている。シス テム領域 101のうちホスト機器 11からアクセス不可能な領域には、相互認証の結果 得られる認証中間鍵 Aが予め格納されている。システム領域 101に格納されるべき情 報は製造段階で予め書き込まれており、製品となって出荷された後に書き換えること はできない。
[0051] 〔保護領域〕
保護領域 102は、ターゲット機器 10とホスト機器 11との間で実行される認証処理が 成功して初めてホスト機器 11がアクセスすることができる領域である。保護領域 102 には、少なくとも 1つのドメイン鍵情報が格納されている。ドメイン鍵情報は、ドメイン鍵 を含む。また、ドメイン鍵情報は、ドメイン鍵管理情報を含んでいても良い。ドメイン鍵 管理情報には、このドメイン鍵を使用することができるホスト機器を特定するための情 報等が書き込まれている。
[0052] 〔通常領域〕
通常領域 103は、ホスト機器 11が任意にアクセスすることができる領域である。通 常領域 103には、複数のコンテンツ鍵情報と、複数のコンテンツとが格納されている。 複数のコンテンツ鍵情報の各々は、保護領域 102に格納されたドメイン鍵情報のうち いずれか 1つに対応する。複数のコンテンツ鍵情報の各々は、コンテンツ鍵を含む。 また、複数のコンテンツ鍵情報の各々は、コンテンツ鍵管理情報を含んでいても良い 。コンテンツ鍵管理情報には、コンテンツの再生限度回数やコピー限度回数,コンテ ンッについての著作権に関する情報等が書き込まれている。複数のコンテンツは、複 数のコンテンツ鍵情報と一対一で対応する。
[0053] ドメイン鍵情報は、認証中間鍵 Aを用いて暗号ィ匕されて 、る。複数のコンテンツ鍵 情報の各々は、対応するドメイン鍵を用いて暗号ィ匕されている。コンテンツは、対応 するコンテンツ鍵を用いて暗号ィ匕されて 、る。
[0054] <ホスト機器の内部構成 >
ホスト機器 11は、内部バス 111と、ターゲット IZF部 112と、機密情報処理部 113と 、ホスト I/F部 114と、ホスト CPU115と、 ROM116と、 RAMI 17とを含む。ターゲッ HZF部 112は、ターゲット機器 10との間でデータの入出力を行う。機密情報処理部 113は、所定シーケンスに従って、ターゲット機器 10との間で認証を実行する。また、 機密情報処理部 113は、ターゲット機器 10に格納された機密情報の暗号ィ匕 Z復号 化を実行する。ホスト IZF部 114は、ターゲット IZF部 112との間,機密情報処理部 113との間,およびホスト CPU115との間で、データの入出力を行う。ホスト CPU11 5は、機密情報処理部 113に所定シーケンスを実行させる。 ROM116には、ホスト機 器用認証鍵が格納されている。 RAMI 17は、ホスト CPU115や機密情報処理部 11 3に、データを一時格納しておくためのワーク領域として使用される。
[0055] ターゲット機器 10とホスト機器 11との間において機密情報の読み出し Z書き込み が行われる場合には、ターゲット機器 10とホスト機器 11との間で認証を行う必要があ る。この場合、ホスト CPU115によって機密情報処理部 113が起動され、機密情報 処理部 113が認証処理を行う。認証が成功すると、ホスト機器 11では、ターゲット機 器 10からターゲット IZF部 112を介して機密情報が読み出され、機密情報処理部 1 13によって復号ィ匕される。
[0056] 機密情報処理部 113は、秘匿されたハードウェアである。また、機密情報処理部 11 3は、ホスト CPU115によって起動されると、セキュリティの確保された,あるいはセキ ユリティの必要の少ない所定のシーケンスのみを実行する。
[0057] <機密情報 >
次に、ターゲット機器 10に格納される機密情報について図 2を参照しつつ説明する 。保護領域 102〖こは、ドメイン鍵群 UKUREが格納されている。通常領域 103には、鍵 対応テープノレ Address Listと、コンテンツ鍵群 TKURE(i)と、ハッシュリスト Hash List(i) とが格納されている。なお、通常領域 103には、暗号ィ匕されたコンテンツも格納され ているが、図 2では省略する。
[0058] 〔ドメイン鍵群〕
ドメイン鍵群 UKUREは、 n個(nは 1以上の整数)の暗号化ドメイン鍵 EncKu(l)〜Enc Ku(n)と、 n個の暗号化ドメイン鍵管理情報 EncUR[u](l)〜EncUR[u](n)とを含む。
[0059] 暗号化ドメイン鍵 EncKu(l)〜EncKu(n)の各々には、複数の暗号化コンテンツ鍵(1 つのコンテンツ鍵群)が対応付けられている。また、図 3のように、暗号ィ匕ドメイン鍵 En cKu(l)〜EncKu(n)は、認証中間鍵 Aを用いて復号ィ匕されることによって、ドメイン鍵 K u(l)〜Ku(n)になる。ドメイン鍵 Ku(l)〜Ku(n)の各々は、自己に対応付けられた複数の コンテンツ鍵を暗号ィ匕 Z復号ィ匕するために使用される。つまり、 1つのドメイン鍵を用 V、て、複数のコンテンツ鍵を暗号ィ匕 Z復号ィ匕することができる。
[0060] 暗号化ドメイン鍵管理情報 EncUR[u](l)〜EncUR[u](n)は、暗号化ドメイン鍵 EncKu( l)〜EncKu(n)と一対一で対応する。また、図 3のように、暗号ィ匕ドメイン鍵管理情報 En cUR[u](l)〜EncUR[u](n)は、認証中間鍵 Aを用いて復号ィ匕されることによって、ドメイ ン鍵管理情報 UR[u](l)〜UR[u](n)になる。さらに、暗号ィ匕ドメイン鍵管理情報 EncUR[ u](l)〜EncUR[u](n)の各々の所定位置には、全体検査用データが格納されている。 全体検査用データは、その暗号ィ匕ドメイン鍵管理情報に対応するコンテンツ鍵群に 基づいて生成されている。例えば、暗号ィ匕ドメイン鍵管理情報 EncUR[u](l)〜EncUR[ u](n)のうち i番目の暗号ィ匕ドメイン鍵管理情報 EncURMG) (iは整数,且つ, 1≤i≤n) の所定位置には、コンテンツ鍵群 TKURE(i)に基づ 、て生成された全体検査用デー タ DATAll(i)が格納される。
[0061] なお、図 2では、暗号化ドメイン鍵 EncKu(i)に対応するコンテンツ鍵群 TKURE(i)の みしか図示して 、な 、が、暗号化ドメイン鍵 EncKu(i)以外の暗号化ドメイン鍵の各々 にもコンテンツ鍵群が一対一で対応して 、てもよ 、。
[0062] 〔コンテンツ鍵群〕
コンテンツ鍵群 TKURE(i)は、ドメイン鍵 Ku(i)を用いて暗号ィ匕 Z復号ィ匕することがで きるコンテンツ鍵およびそのコンテンツ鍵に付随する†青報の集合である。コンテンツ 鍵群 TKURE(i)は、 m個(mは 1以上の整数)の暗号化コンテンツ鍵 EncKt(i- l)〜EncK t(i- m)と、 m個の暗号化コンテンツ鍵管理情報 EncUR[t](i- l)〜EncUR[t](i- m)とを含 む。
[0063] 図 3のように、暗号化コンテンツ鍵 EncKtG- l)〜EncKt(i- m)は、ドメイン鍵 Ku(i)を用 いて復号化されることによって、コンテンツ鍵 Kt(i-l)〜Kt(i-m)になる。コンテンツ鍵 Kt (i-l)〜Kt(i-m)の各々は、自己に対応するコンテンツ(図示せず)を暗号化 Z復号ィ匕 するために使用される。
[0064] 暗号化コンテンツ鍵管理情報 EncUR[t](i- l)〜EncUR[t](i- m)は、暗号化コンテンツ 鍵 EncKt(i-l)〜EncKt(i-m)と一対一で対応する。また、図 3のように、暗号化コンテン ッ鍵管理情報 EncUR[t](i- l)〜EncUR[t](i- m)は、ドメイン鍵 Ku(i)を用いて復号ィ匕され ることによって、コンテンツ鍵管理情報 UR[t]G-l)〜UR[t]G-m)になる。
[0065] 〔鍵対応テーブル〕
鍵対応テーブル Address Listには、 n個の暗号化ドメイン鍵のアドレス Ku addr(l)〜 Ku addr(n)と n個のコンテンツ鍵テーブル Kt addr list(l)〜Kt addr list(n)とが対応付け られている。 n個のコンテンツ鍵テーブルの各々は、 n個のコンテンツ群(図 2では、コ ンテンッ鍵群 TKURE(i)のみを図示している。)と一対一で対応する。また、コンテンツ 鍵テーブルの各々には、対応するコンテンツ鍵群に含まれる暗号化コンテンツ鍵の アドレスが書き込まれている。例えば、ドメイン鍵 Ku(i)のアドレス Ku addr (0に対応す るコンテンツ鍵テープノレ Kt addr list(i)を参照して、ドメイン鍵 Ku(i)に対応するコンテン ッ鍵群 TKURE(i) (詳しくは、暗号化コンテンツ鍵 EncKtG- l)〜EncKt(i-m))を検索する ことができる。このように、鍵管理テーブル Address Listを参照することによって、ドメイ ン鍵とコンテンツ鍵との対応関係を素早く検索することができる。
[0066] 〔ハッシュリスト〕
ノヽッシユリスト Hash List(i)は、コンテンツ鍵群 TKURE(i)に対応する。また、ノヽッシユリ スト Hash List(i)は、 m個のハッシュ値 Hash(i- l)〜Hash(i- m)を含む。ハッシュ値 Hash(i - l)〜Hash(i- m)は、暗号化コンテンツ鍵 EncKtG- l)〜EncKt(i- m)と一対一で対応する 。なお、図 2では、コンテンツ鍵群 TKURE(i)に対応するハッシュリスト Hash List(i)のみ しか図示していないが、コンテンツ鍵群 TKURE(i)以外のコンテンツ鍵群(図示せず) の各々に対応するハッシュリストも存在して ヽても良 、。
[0067] <ハッシュリストの生成手順 >
次に、図 4を参照しつつ、図 2に示したハッシュリスト Hash List(i)の生成手順につい て説明する。
[0068] 〔ステップ ST101— 1〕
まず、暗号ィ匕コンテンツ鍵 EncKtG- 1)および暗号ィ匕コンテンツ鍵管理情報 EncUR[t] (i-1)は、 1つに連結される。暗号化コンテンツ鍵 EncKt (i-2)〜EncKt(i-m)の各々にお いても、同様に、その暗号ィ匕コンテンツ鍵,その暗号ィ匕コンテンツ鍵に付随する暗号 化コンテンツ鍵管理情報力 1つに連結される。これにより、 m個の連結データが生 成される。
[0069] 〔ステップ ST101— 2〕
次に、暗号ィ匕コンテンツ鍵 EncKt(i-l)に対応する連結データに対して、ノ、ッシュ演 算が実行される。これにより、ノ、ッシュ値 Hash(i-l)が算出される。 B音号化コンテンツ鍵 EncKt(i-2)〜EncKt(i-m)の各々に対応する連結データにおいても、同様に、その連 結データに対してハッシュ演算が実行される。このようにして、 m個のハッシュ値 Hash (i- l)〜HashG- m)が算出される。
[0070] 〔ステップ ST101— 3〕
次に、算出された m個のハッシュ値 Hash(i- l)〜Hash(i- m)は、 1つのリストにまとめら れる。これにより、コンテンツ鍵群 TKURE(i)に対応するハッシュリスト Hash List(i)が完 成する。
[0071] <連結ハッシュ値の生成手順 >
次に、図 4を参照しつつ、図 2に示した全体検査用データ DATA11(0の生成手順に ついて説明する。
[0072] 〔ステップ ST101— 4〕 まず、ハッシュリスト Hash List(i)に存在する m個のハッシュ値 Hash(i- l)〜Hash(i- m) は、 1つに連結される。これにより、 1つのハッシュ連結データが生成される。
[0073] 〔ステップ ST101— 5〕
次に、ステップ ST101— 4において生成されたハッシュ連結データに対して、ハツ シュ演算が実行される。これにより、連結ハッシュ値 Hash(i)が算出される。
[0074] 〔ステップ ST101— 6〕
次に、ステップ ST101— 5において算出された連結ハッシュ値 Hash(i)は、全体検 查用データ DATA11(0として、暗号ィ匕ドメイン鍵管理情報 EncUR[u](i)の所定位置に 格納される。暗号ィ匕ドメイン鍵管理情報 EncUR[u](i)は、ハッシュリスト Hash List(i)に対 応する。
[0075] ここで、暗号ィ匕ドメイン鍵管理情報 EncURMG)を更新する場合 (例えば、既に存在 する暗号ィ匕ドメイン鍵 EncKu(i)に対して新たなコンテンッ鍵情報が対応付けられた場 合や、暗号ィ匕ドメイン鍵 EncKu(i)に対して対応付けられて ヽるコンテンツ鍵情報が削 除された場合)は、暗号ィ匕ドメイン鍵管理情報 EncURMG)は、連結ハッシュ値 Hash(i) を格納する前に一且復号化されて、ドメイン鍵管理情報 UR[u](i)になる。そして、ドメイ ン鍵管理情報 UR[u](i)に連結ハッシュ値 HashG)が格納されると、そのドメイン鍵管理 情報 UR[u](i)は、暗号化されて暗号ィ匕ドメイン鍵管理情報 EncURMG)に戻る。このよ うにして、全体検査用データ DATA11(0が更新される。
[0076] ただし、ドメイン鍵 Ku(i)も新たに作成された場合は、ドメイン鍵管理情報 UR[u](i)も 新規に作成されることになるので、ー且復号ィ匕の処理を行う必要はない。この場合、 新たに作成されたドメイン鍵管理情報 UR[u](i)に連結ハッシュ値 HashG)を格納した後 、そのドメイン鍵管理情報 UR[u](i)が暗号化される。このようにして新たな暗号ィ匕ドメイ ン鍵管理情報 EncURMG)が生成される。
[0077] <全体の処理の流れ >
次に、図 5を参照しつつ、ホスト機器 11がターゲット機器 10に格納された暗号ィ匕コ ンテンッを復号化する処理につ 、て説明する。
[0078] 〔ステップ ST11〕
まず、ターゲット機器 10がホスト機器 11に接続されると、ターゲット機器 10のシステ ム領域 101に格納されたターゲット機器用認証鍵を読み出す。
[0079] 〔ステップ ST12〕
次に、ホスト機器 11は、ターゲット機器 10から読み出したターゲット機器用認証鍵と 自らが有するホスト機器用認証鍵とを用いて、認証処理を実行する。
[0080] 〔ステップ ST13〕
認証処理の結果、認証に失敗した場合には、ホスト機器 11は、不正なアクセスであ ると判断して異常終了を実行する。一方、ホスト機器 11が認証に成功した場合には、 ステップ ST14へ進む。
[0081] 〔ステップ ST14〕
次に、ホスト機器 11は、ターゲット機器 10から読み出したターゲット機器用認証鍵と 自らが有するホスト機器用認証鍵とに基づいて、認証中間鍵を生成する。生成された 認証中間鍵は、機密情報処理部 113内の認証中間鍵格納領域に格納される。これ によって、ターゲット機器 10とホスト機器 11との間で以降のやりとりを行う準備が完了 する。
[0082] 〔ステップ ST15〕
次に、ホスト機器 11は、ターゲット機器 10に格納された暗号ィ匕コンテンツの復号ィ匕 をユーザなど力も要求されている力否かを判断する。要求されていると判断すると、ス テツプ ST16へ進む。
[0083] 〔ステップ ST16〕
次に、ホスト機器 11は、暗号化コンテンツの復号化に必要となる機密情報(暗号ィ匕 コンテンツ鍵、暗号ィ匕ドメイン鍵、およびそれらに付随する情報)をターゲット機器 10 から読み出す。具体的な処理としては、ホスト機器 11は、まず、暗号化コンテンツに 付随する情報カゝらコンテンツ IDを抽出し、コンテンツ IDに基づいて、暗号化コンテン ッの復号ィ匕に必要となるコンテンツ鍵を特定する。コンテンツ IDとコンテンツ鍵との対 応関係はテーブルとして準備されている。次に、ホスト機器 11は、特定されたコンテ ンッ鍵に基づいてターゲット機器 10内の通常領域 103に格納された鍵対応テープ ルを参照して、必要となるドメイン鍵を特定する。コンテンツ鍵とドメイン鍵とが特定さ れると、必要となる鍵情報が読み出される。 [0084] 〔ステップ ST17〕
次に、ホスト機器 11は、ステップ ST14において生成された認証中間鍵を用いて、 ステップ ST16において読み出された暗号ィ匕ドメイン鍵を復号ィ匕する。これにより、平 文のドメイン鍵が生成される。
[0085] 〔ステップ ST18〕
次に、ホスト機器 11は、ステップ ST16において読み出された暗号ィ匕コンテンツ鍵 に対して改竄チェックを実行する。
[0086] 〔ステップ ST19〕
暗号ィ匕コンテンツ鍵の改竄が検出された場合には、ホスト機器 11は、不正なァクセ スであると判断して異常終了を実行する。一方、暗号ィ匕コンテンツ鍵の改竄が検出さ れなかった場合には、ステップ ST20へ進む。
[0087] 〔ステップ ST20〕
次に、ホスト機器 11は、ステップ ST17において生成されたドメイン鍵を用いて、暗 号ィ匕コンテンツ鍵を復号ィ匕する。これにより、ホスト機器 11は、平文のコンテンツ鍵を 取得する。
[0088] 〔ステップ ST21〕
次に、ホスト機器 11は、ステップ ST20において取得した平文のコンテンツ鍵を用 いて、暗号ィ匕コンテンツを復号ィ匕する。これにより、コンテンツが利用可能となる。
[0089] <認証処理 >
ここで、図 6を参照しつつ、ターゲット機器 10とホスト機器 11との間で実行される認 証処理について説明する。
[0090] 〔ステップ ST31〕
まず、ホスト機器 11は、ターゲット機器 10のシステム領域 101に格納されたターゲッ ト機器用認証鍵を読み出す。
[0091] 〔ステップ ST32〕
次に、ホスト機器 11は、 ROM116に格納されたホスト機器用認証鍵を読み出す。
[0092] 〔ステップ ST33〕
次に、ホスト機器 11は、ターゲット機器用認証鍵とホスト機器用認証鍵とに基づい て、認証中間鍵 Aを生成する。具体的には、ホスト機器 11は、ターゲット機器用認証 鍵とホスト機器用認証鍵とを掛け合わせることによって、認証中間鍵 Aを生成する。
[0093] 〔ステップ ST34〕
次に、ホスト機器 11およびターゲット機器 10の各々は、互いに個別に所定関数 (例 えば、乱数)を生成し、生成した所定関数を互いに交換する。
[0094] 〔ステップ ST35〕
次に、ホスト機器 11は、ステップ ST33において生成された認証中間鍵 Aに対して 、ステップ ST34にお 、てホスト機器 11にお 、て生成された所定関数およびターゲッ ト機器 10で生成された所定関数を掛け合わせることによって、認証中間鍵 Bを生成 する。
[0095] 〔ステップ ST36〕
一方、ターゲット機器 10 (具体的にはターゲット機器 10内の処理部(図示せず))は 、システム領域 101に格納された認証中間鍵 Aを読み出し、読み出した認証中間鍵 Aに対してステップ ST34においてターゲット機器 10で生成された所定関数およびホ スト機器 11にお 、て生成された所定関数を掛け合わせることによって、認証中間鍵 B を生成する。
[0096] 〔ステップ ST37〕
次に、ターゲット機器 10は、保護領域 102に格納された暗号ィ匕ドメイン鍵情報 (ここ では、暗号ィ匕ドメイン鍵 EncKu(i),暗号ィ匕ドメイン鍵管理情報 EncUR[u](i))を読み出し 、ステップ ST36において生成された認証中間鍵 Bを用いて、読み出した暗号化ドメ イン鍵情報を暗号ィ匕する。
[0097] 〔ステップ ST38〕
次に、ターゲット機器 10は、暗号ィ匕されたドメイン鍵情報をホスト機器 10へ送る。
[0098] 〔ステップ ST39〕
次に、ホスト機器 11は、ステップ ST34において生成された認証中間鍵 Bを用いて 、ターゲット機器 10から送られたドメイン鍵情報を復号ィ匕する。
[0099] 〔ステップ ST40〕
次に、ホスト機器 11は、ステップ ST33において生成された認証中間鍵 Aを用いて 、ステップ ST39において復号ィ匕されたドメイン鍵情報をさらに復号ィ匕する。これによ り、平文状態のドメイン鍵情報 (ここでは、ドメイン鍵 Ku(i),ドメイン鍵管理情報 UR[u](i) )が生成される。
[0100] このように、ターゲット機器 10とホスト機器 11との間でドメイン鍵情報がやりとりされ る場合、ドメイン鍵情報は、認証中間鍵 A,認証中間鍵 Bを用いて、 2重に暗号ィ匕さ れる。
[0101] <コンテンツ鍵の改竄検出 >
図 7を参照しつつ、ホスト機器 11がターゲット機器 10に格納された機密情報におけ る改竄を検出する処理 (ステップ ST22における処理)について説明する。ここでは、 ホスト機器 11は、ドメイン鍵 Ku(i)に対応するコンテンツ鍵 KtG- l)〜KtG- m)のうち j番目 (jは整数,且つ, l≤j≤m)のコンテンツ鍵 KtG-j)を改竄検出の対象とする。
[0102] 〔ステップ ST102— 1〕
まず、ホスト機器 11は、暗号ィ匕コンテンツ鍵 EncKt(i-j)とそれに付随する暗号ィ匕コン テンッ鍵管理情報 EncUR[t](i-j)とを連結する。これにより、 1つの連結データが生成さ れる。
[0103] 〔ステップ ST102— 2〕
次に、ホスト機器 11は、ステップ ST102—1において生成された連結データに対し てハッシュ演算を実行して、ノ、ッシュ値 Hash (i-j)を算出する。
[0104] 〔ステップ ST102— 3〕
次に、ホスト機器 11は、ステップ ST102— 2において算出されたハッシュ値 Hash(i- j )とターゲット機器 10の通常領域 103に格納されたハッシュリスト Hash List(i)内のハツ シュ値 HashG-j)とを比較する。
[0105] 〔ステップ ST102—4〕
ステップ ST102— 3における比較の結果、ステップ ST102— 2において算出された ハッシュ値 Hash(i- j)とハッシュリスト Hash List(i)のハッシュ値 Hash(i- j)とが不一致であ ると判断すると、ホスト機器 11は、暗号ィ匕コンテンツ鍵 EncKt(H),あるいは暗号ィ匕コ ンテンッ鍵管理情報 EncUR[t]G-j)が改竄されて 、ると判断して、異常終了を実行す る。一方、両者が一致すると判断された場合には、ステップ ST102— 5へ進む。 [0106] 〔ステップ ST102— 5〕
次に、ホスト機器 11は、ターゲット機器 10に格納されたハッシュリスト Hash List(i)の 中からコンテンツ鍵 Kt(i-j)に対応するハッシュ値 Hash(i-j)を除 、た (m— 1)個のハツ シュ値 Hash(i- l)〜Hash(i- (j- 1)), Hash(i- (j+l》〜Hash(i- m)を取得する。つまり、ホスト 機器 11は、暗号ィ匕ドメイン鍵 EncKu(i)に対応する暗号ィ匕コンテンツ鍵 EncKtG- 1)〜E ncKt(i-m)のうち暗号化コンテンツ鍵 EncKt(i-j)以外の(m— 1)個の暗号化コンテンツ 鍵に対しては、ノ、ッシュ演算を実行しない。次に、ホスト機器 11は、ノ、ッシュ値 Hash(i -j)の直前に位置するハッシュ値 Hash(Hj-l))とハッシュ値 Hash(i-j)の直後に位置する ハッシュ値 Hash(i-(j+l》との間にステップ ST102— 2において算出されたハッシュ値 Hash (i-j)を配置する。そして、ホスト機器 11は、それらのハッシュ値 Hash(i- l)〜Hash (i-O'-D), Hash(i-j), Hash(i- (j+l》〜Hash(i- m)を 1つに連結する。これにより、ハッシュ 連結データが生成される。つまり、このハッシュ連結データでは、ハッシュリスト Hash L ist(i)に存在する m個のハッシュ値 Hash(i- l)〜Hash(i- m)のうちハッシュ値 Hash(i- j)が ステップ ST102— 2にお!/、て算出されたハッシュ値 Hash(i- j)に置換されて!、る。
[0107] なお、ハッシュ値 Hash(i-j)を置換する必要は必ずしもなぐすでにハッシュリスト Has h List(i)内のハッシュ値との比較によって正当性は検証されているので、ハッシュリス ト Hash List(i)をそのまま連結してハッシュ連結データを生成しても良 、。
[0108] 〔ステップ ST102— 6〕
次に、ホスト機器 11は、ステップ ST102— 5において生成されたハッシュ連結デー タに対してさらにハッシュ演算を行い、連結ハッシュ値 Hash(i)を算出する。次に、ステ ップ ST102— 9へ進む。
[0109] 〔ステップ ST102— 7〕
一方、ホスト機器 11は、鍵対応テーブル Address Listを参照して、暗号化コンテン ッ鍵 EncKt(i-j)の復号ィ匕に必要な暗号ィ匕ドメイン鍵 EncKu(i)を検出する。そして、ホス ト機器 11は、認証中間鍵 Aを用いて、その検出した暗号ィ匕ドメイン鍵 EncKu(i)および 暗号ィ匕ドメイン鍵管理情報 EncURMG)を復号ィ匕する。これにより、ドメイン鍵 Ku(i)およ びドメイン鍵管理情報 UR[u](i)が生成される。
[0110] 〔ステップ ST102— 8〕 次に、ホスト機器 11は、ドメイン鍵管理情報 UR[u](i)の中から所定のビット位置に格 納された全体検査用データ DATA11(0を抽出する。次に、ステップ ST102— 9へ進 む。
[0111] 〔ステップ ST102— 9〕
次に、ホスト機器 11は、ステップ ST102— 6において算出された連結ハッシュ値 Ha sh(i)とステップ ST102— 8において抽出された全体検査用データ DATA11(0とを比 較する。
[0112] 〔ステップ ST102—10〕
ステップ ST102— 9における比較の結果、ステップ ST102— 6において算出された 連結ハッシュ値 Hash(i)とステップ ST102— 8において抽出された全体検査用データ DATA11(0とが不一致であると判断すると、ホスト機器 11は、ハッシュリスト Hash List(i )が改竄されていると判断して、異常終了を実行する。一方、両者が一致すると判断さ れた場合には、ステップ ST20へ進む。
[0113] このようにして、ターゲット機器に格納された機密情報における改竄の有無が検出 される。
[0114] くコンテンツ鍵情報の追加や削除 >
また、今後は、ネットワークを介した配信によってコンテンツ鍵を追加したり、削除し たりすることも考えられる。コンテンツ鍵情報の追加や削除にともない、ノ、ッシユリスト H ash List(i),および全体検査用データ DATA11(0が更新される。
[0115] 〔コンテンツ鍵情報の追加〕
図 8を参照しつつ、コンテンツ鍵情報が追加された場合について説明する。なお、 ここでは、暗号化コンテンツ鍵 EncKt(i-a),暗号化コンテンツ鍵管理情報 EncUR[t](i- a)を含む暗号ィ匕コンテンツ鍵情報が追加される。この暗号ィ匕コンテンツ鍵情報は、コ ンテンッ鍵 Kt(i-a),コンテンツ鍵管理情報 UR[t](i-a)を含むコンテンツ鍵情報がドメイ ン鍵 Ku(i)を用いて暗号ィ匕されることによって生成される。
[0116] 〔ステップ ST103— 1〕
まず、追加された暗号ィ匕コンテンツ鍵 EncKtG-a),暗号化コンテンツ鍵管理情報 Enc UR[t](i-a)は、 1つに連結される。これにより、 1つの連結データが生成される。 [0117] 〔ステップ ST103— 2〕
次に、ステップ ST103— 1において生成された連結データに対して、ハッシュ演算 が実行される。これにより、ノ、ッシュ値 Hash (ト a)が算出される。
[0118] 〔ステップ ST103— 3〕
次に、ステップ ST103— 2において算出されたハッシュ値 Hash(i- a)がハッシュリスト Hash List(i)に追加される。
[0119] 次に、ハッシュリスト Hash List(i)に存在するハッシュ値 Hash(i- l)〜Hash(i- m)とステツ プ ST103— 2において算出されたハッシュ値 Hash(i-a)とが 1つに連結される。これに より、 1つのハッシュ連結データが生成される。
[0120] 〔ステップ ST101— 4〜: L01— 6〕
次に、ステップ ST101— 4, 101— 5における処理と同様に、(m+ 1)個のハッシュ 値 Hash(i-l)〜Hash(i-m), Hash(i-a)が 1つに連結されてハッシュ連結データが生成さ れ、そのハッシュ連結データに対してハッシュ演算が実行されて、新たな連結ハツシ ュ値 Hash(i')が算出される。次に、ステップ ST101— 6における処理と同様に、算出さ れた新たな連結ハッシュ値 Hash(i')は、新たな全体検査用データ DATA11(0として、 暗号ィ匕ドメイン鍵管理情報 EnCUR[t](i)の所定位置に格納される。
[0121] このようにして、ノ、ッシユリスト Hash List(i),全体検査用データ DATA11(0が更新され る。
[0122] 〔コンテンツ鍵情報の削除〕
図 9を参照しつつ、コンテンツ鍵情報が削除された場合について説明する。なお、 ここでは、暗号化コンテンツ鍵 EncKt(i-2),暗号化コンテンツ鍵管理情報 EncUR[t](i- 2)を含む暗号化コンテンツ鍵情報が削除される。
[0123] 〔ステップ ST104— 1〕
まず、暗号化コンテンツ鍵 EncKt(i-l)〜EncKt(i-m)のうち削除された暗号化コンテ ンッ鍵 EncKt(i- 2)に対応するハッシュ値 Hash(i- 2)が、ハッシュリスト Hash List(i)の中 力 削除される。
[0124] 〔ステップ ST104— 2〕
次に、ハッシュリスト Hash List(i)に存在する(m—l)個のハッシュ値 Hash(i- 1), Hash (i-3)〜! iash(i-m)が 1つに連結される。これにより、 1つのハッシュ連結データが生成さ れる。
[0125] 〔ステップ ST101— 5〕
次に、ステップ ST101— 5における処理と同様に、ステップ ST104— 2において生 成された連結データに対してハッシュ演算が実行されて、新たな連結ハッシュ値 Has h(i")が生成される。算出された新たな連結ハッシュ値 HashG")は、新たな全体検査用 データ DATA11(0として、暗号ィ匕ドメイン鍵管理情報 EncUR[u](i)の所定位置に格納さ れる。
[0126] このようにして、ノ、ッシユリスト Hash List(i),全体検査用データ DATA11(0が更新され る。
[0127] <効果>
以上のように、機密情報における改竄の有無を検出する処理において、 1つのコン テンッ鍵情報に対するハッシュ演算と、ノ、ッシユリストに存在する m個のハッシュ値か らなる連結データに対するハッシュ演算とが実行される。このように、コンテンツ鍵群 T KURE(i)全体に対してハッシュ演算を実行する必要がな 、ので、改竄検出処理時に おける処理量を低減することができる。
[0128] また、機密情報を生成する処理にぉ 、て、 m個の暗号ィ匕されたコンテンツ鍵情報の 各々力 ハッシュ値が算出された後、 m個のハッシュ値から 1つの全体検査用データ が生成される。このように、改竄検出処理のために使用されるデータ (ハッシュリスト, 全体検査用データ)が複数段階に分けて生成される。そして、最終段階の検査用デ ータ (全体検査用データ)が保護領域に格納される。このように、保護領域に格納さ れるデータ量を低減することができる。
[0129] さらに、機密情報に新たなコンテンツ鍵情報が追加された場合、追加されたコンテ ンッ鍵情報力も新たなハッシュ値を算出し、算出されたハッシュ値とハッシュリストの m 個のハッシュ値とから新たな全体検査用データを生成する。また、コンテンツ鍵情報 が削除された場合、ノ、ッシユリストを更新して、更新したハッシュリストから新たな全体 検査用データを生成する。このように、コンテンツ鍵群 TKURE(i)全体に対してハツシ ュ演算を実行する必要がな 、ので、機密情報の更新時における処理量を低減するこ とがでさる。
[0130] <エントリー >
ターゲット機器によっては、コンテンツ鍵が格納される領域を、エントリーという形で 、予め確保しているものもある。エントリーの各々は、複数のドメイン鍵のうちいずれか 1つに対応付けられる。つまり、ドメイン鍵の各々には、複数のエントリーが対応付けら れる。エントリーに格納される暗号ィ匕コンテンツ鍵は、そのエントリーに対応付けられ たドメイン鍵によって復号ィ匕することができる。このような場合には、各々のエントリー に対応するノ、ッシュ値をまとめたハッシュリストという概念が生じる。すなわち、コンテ ンッ鍵が実際に格納されているか否かに関わらず、同一のドメイン鍵に対応付けられ た全てのエントリーについてのハッシュ値をノヽッシユリストとして通常領域 103に格納 してもよい。また、同一のドメイン鍵に対応付けられた全てのエントリーのハッシュ値を 1つに連結して、その連結データに対してハッシュ演算を実行してハッシュ値を算出 し、その算出したハッシュ値をドメイン鍵管理情報に格納してもよい。もちろん、処理 量を軽減するためには、ノ、ッシュ演算の演算量が少ない方が好ましい。したがって、 コンテンツ鍵が実際に格納されているエントリーのみにハッシュ演算を実行することに よってハッシュリストを生成し、そのハッシュリストのハッシュ値を連結したものに対して ノ、ッシュ演算を実行することによって算出されるハッシュ値をドメイン鍵管理情報に格 納する方が好ましい。
[0131] <付加情報 >
また、図 10のように、 m個の暗号化コンテンツ鍵 EncKt(i- l)〜EncKt(i- m)に対して m 個の付加情報 info(i-l)〜info(i-m)が一対一で対応付けられて ヽても良 ヽ。 m個の付 加情報 infoG- l)〜infoG- m)の各々は、暗号化されておらず、機密性の比較的低い情 報 (例えば、曲名)を格納する。
[0132] また、付加情報をハッシュ演算の対象にしても構わな ヽ。例えば、付加情報 info(i-j) ,暗号ィ匕コンテンツ鍵 EncKt(i- j),および暗号ィ匕コンテンツ鍵管理情報 EncUR[t]( ') 力もなる連結データに対してハッシュ演算を実行することによって、ノ、ッシュ値 Hash(i -j)を算出しても構わない。
[0133] <改変例> 本実施形態について様々な改変例が考えられるが、代表例として以下の改変例を 開示する。
[0134] (1)暗号ィ匕コンテンツは、必ずしも暗号ィ匕コンテンツ鍵を格納するターゲット機器と 同一のターゲット機器内に格納されている必要はなぐ別の記録媒体に格納されるも のであっても良い。その場合には、ホスト機器は、その別の記録媒体に格納された暗 号ィ匕コンテンツをネットワーク等を介して取得し、本実施形態の改竄チェック方法によ つて正当性が保証されたコンテンッ鍵を用いてその暗号化コンテンッを復号ィ匕するこ とになる。
[0135] (2)第 1の実施形態では、同一のドメイン鍵で復号ィ匕されるコンテンツ鍵の集合 (コ ンテンッ鍵群 TKURE(O)に対して 1つのハッシュリスト Hash List(i)が設けられている構 成であるが、 1つのコンテンツ鍵群に対して P個(Pは 2以上の整数)の部分集合ハツ シュリストおよび 1つの全体集合ハッシュリストを設けることも可能である。ここで、部分 集合ハッシュリストおよび全体集合ハッシュリストについてコンテンツ鍵群 TKURE(i)を 例に挙げて図 11を参照しつつ説明する。ここでは、ドメイン鍵 Ku(i)を用いて復号ィ匕 することができる複数の暗号ィ匕コンテンツ鍵 (コンテンツ鍵群 TKURE(i)に含まれる m 個の暗号化コンテンツ鍵 EncKt(i-l)〜EncKt(i-m))は、 P個(Pは 2以上の整数)の部 分集合に分割される。 P個の部分集合には、 P個の部分集合ハッシュリスト Hash ListG - Grl)〜Hash ListG- GrP)が一対一で対応する。例えば、 j番目のコンテンツ鍵 Kt(i- j) 力も k番目(kは整数,且つ, j <k≤m)のコンテンツ鍵 Kt(i-K)までの部分集合には、 部分集合ハッシュリスト Hash List (ト GrJ)が対応する Ciは整数,且つ, 1≤J≤P)。ま た、部分集合ハッシュリスト Hash List(i- GrJ)は、(k— j)個のハッシュ値 Hash(i- j)〜Has h(i- k)を含む。また、部分集合ハッシュリスト Hash List(i- Grl)〜Hash List(i- GrP)は、 全体集合ハッシュリスト Hash ListG- ALL)に対応付けられる。全体集合ハッシュリスト H ash List(i- ALL)は、 P個の部分集合ハッシュリスト Hash List(i- Grl)〜Hash List(i- GrP )と一対一で対応する P個の部分ハッシュ値 Hash(i-Grl)〜Hash(i-GrP)を含む。全体 ハッシュ値 ALL Hash(i)は、全体集合ハッシュリスト Hash List(i- ALL)に基づいて生成 される。なお、全体ハッシュ値 ALL Hash(i)は、全体検査用データ ALL DATAll(i)とし て暗号ィ匕ドメイン鍵管理情報 EncURMG)に格納される。このような構成にすれば、暗 号ィ匕コンテンツ鍵 EncKt(i-j)につ 、て改竄チェックを実行する場合、暗号化コンテン ッ鍵 EncKt(i-j)と暗号ィ匕コンテンツ鍵管理情報 EncUR[t](i-j)とからなる連結データ〖こ 対するハッシュ演算 (ハッシュ演算 1) ,コンテンツ鍵 Kt(i-j)が属する部分集合に対応 する部分集合ハッシュリスト Hash ListG-GrJ)に対するハッシュ演算 (ハッシュ演算 2) , および全体集合ハッシュリスト Hash List(i-ALL)に対するハッシュ演算(ノヽッシュ演算 3)を実行することになる。ノ、ッシュ演算 2とハッシュ演算 3とをあわせた処理量は、図 4 に示した処理における処理量よりも小さい。したがって、さらなる処理の高速化を期待 できる。
[0136] (第 2の実施形態)
この発明の第 2の実施形態では、コンテンツ鍵およびコンテンツ鍵管理情報は、連 鎖暗号方式によって暗号化 Z復号化される (連鎖暗号化 Z連鎖復号化される)。
[0137] <連鎖暗号方式 >
ここで、連鎖暗号方式(Cipher Block Chaining)による暗号化方法について図 12を 参照しつつ説明する。なお、ここでは、暗号ィ匕の対象がコンテンツ鍵 Kt(i-j)およびコ ンテンッ鍵管理情報 UR[t](i-j)であるものとする。
[0138] 〔暗号化処理〕
まず、コンテンツ鍵 Kt(i-j)およびコンテンツ鍵管理情報 UR[t](i-j)は、 1つに連結され た後、先頭力も順番に 8バイト毎に分割されて、「データ 1」, 「データ 2」, ···, 「データ
X」になる (Xは 2以上の整数)。なお、 8バイトではなく任意に分割され得ることはいう までもない。
[0139] 次に、 MSB (Most significant bitまたは Most Significant Byte)側の最初の 8バイト である「データ i」は、ドメイン鍵 KuG)を用いて暗号ィ匕されて「暗号ィ匕データ 1」になる。 次に、「データ 1」に対する暗号ィ匕の中間値 1に所定演算が実行されて、連鎖鍵 1が 生成される(例えば、中間値 1とドメイン鍵 Ku(i)とが掛け合わされて連鎖鍵 1が生成さ れる)。次に、「データ 1」の 1つ後ろに位置する「データ 2」は、連鎖鍵 1を用いて暗号 化されて「暗号ィ匕データ 2」になる。次に、「データ 2」に対する暗号ィ匕の中間値 2に所 定演算が実行されて、連鎖鍵 2が生成される。このように、先頭の 8バイトである「デー タ 1」は、ドメイン鍵 Ku(i)を用いて暗号ィ匕される。また、 2番目以降の 8バイトデータの 各々は、 1つ前の 8バイトデータについての暗号ィ匕の結果を利用して順次暗号ィ匕され る。
[0140] MSBから数えて最後の 8バイト(つまり、 LSB (Least Significant Bitまたは Least Si gnificant Byte) )である「データ X」まで上述の暗号化処理が繰り返されることにより、「 データ 1」〜「データ X」は、「暗号化データ 1」〜「暗号化データ X」になる。この「暗号 化データ 1」〜「暗号化データ X」の集合が、暗号化コンテンツ鍵 EncKt(i-j)および暗 号化コンテンツ鍵管理情報 EncUR[t]( ')の集合となる。
[0141] 〔復号化処理〕
次に、連鎖暗号方式による復号化方法について説明する。
[0142] まず、暗号化コンテンツ鍵 EncKt(i-j)および暗号化コンテンツ鍵管理情報 EncUR[t](
')の集合は、先頭力も順番に 8バイト毎に分割されて、「暗号化データ 1」, 「暗号ィ匕 データ 2」, ···, 「暗号ィ匕データ X」になる。次に、「暗号ィ匕データ 1」は、ドメイン鍵 Ku(i) を利用して復号化されて、「データ 1」になる。次に、「暗号ィ匕データ 2」は、「暗号化デ ータ 1」の復号ィ匕の結果を利用して復号ィ匕されて、「データ 2」になる。このように、先 頭の 8バイトである「暗号ィ匕データ 1」は、ドメイン鍵 Ku(i)を利用して復号ィ匕される。 2番 目以降の暗号化データの各々は、 1つ前の暗号ィヒデータについての復号ィヒの結果 を利用して順次復号化される。
[0143] このような連鎖暗号方式では、部分毎のデータが(8バイトデータ毎に)連鎖しなが ら暗号化 Z復号化されていく。つまり、このような連鎖暗号方式は、復号ィ匕の際に何 れかの段階で復号化に失敗すると、その段階以降の暗号ィヒデータの全てが正常に 復号化されないという特徴を有する。したがって、例えば、最後の 8バイト (LSB)であ る暗号化データ Xの復号化に成功すれば、全てのデータが正当であることが保証さ れる。
[0144] また、このような連鎖暗号方式では、同一のデータを暗号ィ匕する場合であっても、 事前に暗号ィ匕されたデータが異なっている場合には暗号ィ匕の結果が異なるという特 徴を有する。
[0145] <構成 >
以上を踏まえて、この発明の第 2の実施形態による機密情報処理システムについて 説明する。図 13は、この発明の第 2の実施形態による機密情報処理システムの全体 構成を示す。ここで、 ROM116には、部分検査用データ DATA21がさらに格納され ている。
[0146] <機密情報 >
図 14は、図 13に示したターゲット機器 10に格納される機密情報を示す。保護領域 102〖こは、ドメイン鍵群 UKUREが格納される。通常領域 103には、鍵対応テーブル A ddress Listと、コンテンツ鍵群 TKURE(i)とが格納される。なお、通常領域 103には、 暗号ィ匕されたコンテンツも格納されているが、図 14では省略する。
[0147] 〔ドメイン鍵群〕
ドメイン鍵群 UKUREは、図 2と同様に、 n個の暗号化ドメイン鍵 EncKu(l)〜EncKu(n) と、 n個の暗号ィ匕ドメイン鍵管理情報 EnCUR[u](l)〜EncUR[u](n)とを含む。また、暗号 化ドメイン鍵管理情報 EncUR[u](l)〜EncUR[u](n)の各々の所定位置には、全体検査 用データが格納される。全体検査用データは、その暗号ィ匕ドメイン鍵管理情報に対 応するコンテンツ鍵群に基づいて生成されている。例えば、暗号化ドメイン鍵管理情 報 EncUR[u](i)の所定位置には、コンテンツ鍵群 TKURE(i)に基づ 、て生成された全 体検査用データ DATA22G)が格納されて ヽる。
[0148] なお、図 14では、暗号化ドメイン鍵 EncKu(i)に対応するコンテンツ鍵群 TKURE(i)の みしか図示して 、な 、が、暗号化ドメイン鍵 EncKu(i)以外の暗号化ドメイン鍵の各々 にもコンテンツ鍵群が対応して 、てもよ 、。
[0149] 〔コンテンツ鍵群〕
コンテンツ鍵群 TKURE(i)は、図 2に示したコンテンツ鍵群 TKURE(i)に加えて、 m個 の暗号化チヱック値 EncCheck(i-l)〜EncCheck(i-m)を含む。暗号化チェック値 EncC heck(i- l)〜EncCheck(i- m)は、暗号化コンテンツ鍵 EncKt(i- l)〜EncKt(i- m)と一対一 で対応する。平文状態のチヱック値 Check(i-l)〜Check(i-m)の各々は、ホスト機器 11 の ROM 116に格納されて ヽる部分検査用データ DATA21に相当する。
[0150] 鍵対応テーブル Address Listは、図 2に示した鍵対応テーブル Address Listと同様 である。
[0151] くコンテンッ鍵およびそれに付随する情報の暗号ィ匕 > 次に、コンテンツ鍵,コンテンツ鍵管理情報,チェック値の暗号ィ匕処理について説 明する。ここでは、コンテンツ鍵 KtG- j),コンテンツ鍵管理情報 UR[t]G-j),チェック値 c heck(i-j)を例に挙げて説明する。
[0152] まず、コンテンツ鍵 Kt(i-j)とコンテンツ鍵管理情報 UR[t](i-j)とが連結される。次に、 指定バイトに従って、コンテンツ鍵 Kt(i-j)およびコンテンツ鍵管理情報 UR[t](i-j)から なる連結データの所定位置にチェック値 Check(i-j)が埋め込まれる。この例(図 14参 照)では LSBにチェック値を埋め込んでいる。次に、連鎖暗号方式に従って、チエツ ク値 Check(H)が埋め込まれた連結データ力 暗号化される。次に、暗号化された連 結データを、暗号ィ匕コンテンツ鍵 EncKt(i- j),暗号ィ匕コンテンツ鍵管理情報 EncUR[t]( i-j),および暗号ィ匕チェック値 EncCheck(i- j)に分割する。
[0153] このようにして、コンテンツ鍵,コンテンツ鍵管理情報,およびチェック値が暗号ィ匕さ れる。また、チェック値が埋め込まれる位置が固定位置ではなく指定バイトによって指 定することも可能であるので、チェック値が埋め込まれる位置を秘匿することができ、 セキュリティが向上する。
[0154] <全体検査用データの生成手順 >
図 15を参照しつつ、図 14に示した全体検査用データ DATA22G)の生成手順につ いて説明する。なお、ここでは、暗号ィ匕コンテンツ鍵管理情報 EncUR[t](i- l)〜EncUR [t](i-m)の各々は、対応する暗号ィ匕コンテンツ鍵の後段に連結されているものとし、暗 号化チ ック値 EncCheckG- l)〜EncCheck(i- m)の各々は、対応する暗号化コンテン ッ鍵管理情報の後段に連結されているものとする。また、暗号ィ匕チェック値 EncCheck (i- l)〜EncCheck(i- m)の各々は、 8バイトデータであるものとする。
[0155] 〔ステップ ST201— 1〕
まず、指定バイトに従って、コンテンツ鍵群 TKURE(i)の中力 m個の暗号ィ匕チェック 値 EncCheckG- l)〜EncCheck(i- m)が抽出される。例えば、暗号化コンテンツ鍵 EncKt (i-j)とこれに付随する情報(暗号化コンテンツ鍵管理情報 EncUR[t](i-j)および暗号ィ匕 チヱック値 EncCheck(i-j))との集合の中から、所定位置のデータ(ここでは、暗号化コ ンテンッ鍵管理情報 EncUR[t](i-j)の直後に存在する 8バイトデータ)が抽出される。こ れにより、暗号ィ匕チェック値 EncCheck(i-j)が抽出されたことになる。このような抽出処 理を、暗号化コンテンツ鍵 EncKt(i-l)〜EncKt(i-m)の各々に対して実行されることに よって、 m個の暗号化チェック値 EncCheck(i- l)〜EncCheck(i- m)が抽出される。
[0156] 〔ステップ ST201— 2〕
次に、抽出された m個の暗号化チェック値 EncCheck(i-l)〜EncCheck(i-m)が 1つに 連結される。これにより、 1つのチェック値連結データが生成される。
[0157] 〔ステップ ST201— 3〕
次に、ステップ ST201— 2にお 、て生成されたチェック値連結データに対してハツ シュ演算が実行される。これにより、連鎖ハッシュ値 Chain Hash(i)が算出される。
[0158] 〔ステップ ST201— 4〕
次に、ステップ ST201— 3において算出された連鎖ハッシュ値 Chain Hash(i)は、全 体検査用データ DATA22G)として、暗号ィ匕ドメイン鍵管理情報 EncURMG)の所定位 置に格納される。
[0159] ここで、暗号ィ匕ドメイン鍵管理情報 EnCUR[u](i)を更新する場合は、暗号化ドメイン 鍵管理情報 EncUR[u](i)は、連鎖ハッシュ値 Chain Hash(i)を格納する前に一且復号 化されて、ドメイン鍵管理情報 UR[u](i)になる。そして、ドメイン鍵管理情報 UR[u](i)に 連鎖ハッシュ値 Chain Hash(i)が格納されると、そのドメイン鍵管理情報 UR[u](i)は、暗 号ィ匕されて暗号ィ匕ドメイン鍵管理情報 EncUR[u](i)に戻る。このようにして、全体検査 用データ DATA22G)が更新される。
[0160] ただし、ドメイン鍵 Ku(i)も新たに作成された場合は、ドメイン鍵管理情報 UR[u](i)も 新規に作成されることになるので、ー且復号ィ匕の処理を行う必要はない。この場合、 新たに作成されたドメイン鍵管理情報 UR[u](i)に連鎖ハッシュ値 Chain Hash(i)を格納 した後、そのドメイン鍵管理情報 UR[u](i)が暗号ィ匕される。このようにして新たな暗号 化ドメイン鍵管理情報 EncURMG)が生成される。
[0161] なお、チェック値は、また 8バイトである必要はなく任意のバイト数でょ 、。
[0162] くコンテンツ鍵情報の改竄検出 >
図 16を参照しつつ、図 14に示したチェック値 Check(i-l)〜Check(i-m)を利用した 改竄検出方法について説明する。ここでは、暗号ィ匕コンテンツ鍵 EncKt(i-j),暗号ィ匕 コンテンツ鍵管理情報 EncUR[t](i-j),および暗号化チェック値 EncCheckG- j)を例に 挙げて説明する。
[0163] 〔ステップ ST202— 1〕
まず、暗号ィ匕コンテンツ鍵 EncKtG- j),暗号ィ匕コンテンツ鍵管理情報 EncUR[t]G- j), および暗号ィ匕チェック値 EncCheck(i-j)が 1つに連結される。これにより、 1つの連結デ ータが生成される。
[0164] 〔ステップ ST202— 2〕
次に、連鎖暗号方式によって連結データが復号化される。これにより、コンテンツ鍵
Kt(i-j),コンテンッ鍵管理情報 UR[t](i-j),およびチェック値 Check(i-j)力 なる連結デ ータが生成される。この連結データは、所定位置にチェック値 Check(i-j)が埋め込ま れた構成になっている。
[0165] 〔ステップ ST202— 3〕
次に、指定バイト (所定のビット位置を示す情報)に従って、コンテンツ鍵 KtG- j),コ ンテンッ鍵管理情報 UR[t](i-j),およびチェック値 Check(i-j)力 なる連結データの中 力 チヱック値 Check(i-j)が抽出される。
[0166] 〔ステップ ST202— 4〕
次に、ステップ ST202— 3にお!/、て抽出されたチェック値 Check(i- j)とホスト機器 11 の ROM 116に格納された部分検査用データ DATA21とが比較される。
[0167] このように、コンテンツ鍵 Kt(i-l)〜Kt(i-m)の各々にお!/、て、復号化された連結デー タの中力 抽出されたチェック値と ROM116に格納された部分検査用データを比較 することによって、そのコンテンツ鍵の正当性が検証される。
[0168] なお、チェック値は、コンテンツ鍵管理情報の直後に付加することが好ましい。つま り、コンテンツ鍵,コンテンツ鍵管理情報,チェック値で構成される連結データにおい て、その連結データの LSBがチェック値であることが好ましい。それは、連鎖暗号方 式では、 LSBをチェックすることによって復号ィ匕の対象となるデータ全体の正当性を 検証することができるカゝらである。
[0169] <改竄検出方法 >
図 17を参照しつつ、図 13に示した機密情報処理システムにおける改竄検出方法( 図 5のステップ ST22における処理)について説明する。ここでは、ドメイン鍵 Ku(i)に 対応するコンテンツ鍵 Kt(i-j)を改竄検出の対象とする。また、チェック値 Check(i-j)は 、コンテンツ鍵管理情報 UR[t]G-j)の直後に付加された 8バイトデータであるものとする
[0170] 〔ステップ ST203— 1〕
まず、ホスト機器 11は、暗号ィ匕コンテンツ鍵 EncKt(i-j),暗号ィ匕コンテンツ鍵管理情 報 EncUR[t](i- j),および暗号化チェック値 EncCheckG-j)を復号化する。これらは 1つ の連結データとして上述の連鎖暗号方式によって暗号ィヒされて 、るので、この連結 データは MSB (最初の 8バイト)から順番に復号化される。
[0171] 〔ステップ ST203— 2〕
次に、ホスト機器 11は、指定バイトに従って、復号ィ匕して平文になった連結データ( コンテンツ鍵 Kt(i- j) ,コンテンツ鍵管理情報 UR[t](i-j),およびチェック値 CheckG- j)か らなる連結データ)の中から 8バイト分のデータを抽出する。なお、ここでは、チェック 値 Check(i-j)がコンテンツ鍵管理情報 UR[t](i-j)の直後に付加されて 、るので、指定 バイトは、 LSB (最後の 8バイト)を示す。これにより、平文になった連結データの中か らチェック値 Check(i-j)が抽出されたことになる。次に、ステップ ST203— 4へ進む。
[0172] 〔ステップ ST203— 3〕
一方、ホスト機器 11は、 ROM116に格納された部分検査用データ DATA21を抽出 する。
[0173] 〔ステップ ST203—4〕
次に、ホスト機器 11は、ステップ ST203— 2において抽出されたチェック値 Check(i -j)とステップ ST203— 3にお 、て抽出された部分検査用データ DATA21とを比較す る。このように、両者を比較することにより、コンテンツ鍵,コンテンツ鍵管理情報,お よびチェック値力 なる連結データのうちチェック値が埋め込まれた位置までのデー タの正当性を検証することができる。
[0174] 〔ステップ ST203— 5〕
ステップ ST203—4における比較の結果、ステップ ST203— 2において抽出された チェック値 Check(i-j)とステップ ST203— 3において抽出された部分検査用データ D ATA21とが一致しないと判断すると、ホスト機器 11は、暗号ィ匕コンテンツ鍵 EncKt( ') ,暗号化コンテンツ鍵管理情報 EncUR[t](i-j),あるいは暗号化チェック値 EncCheck(i -j)が改竄されていると判断して、異常終了を実行する。一方、両者が一致すると判断 された場合には、ステップ ST203— 6へ進む。
[0175] 〔ステップ ST203— 6〕
次に、ホスト機器 11は、指定バイトに従って、コンテンツ鍵群 TKURE(i)の中力 m 個の暗号化チェック値 EncCheckG- l)〜EncCheck(i- m)を抽出する。例えば、ホスト機 器 11は、指定バイトに従って、暗号ィ匕コンテンツ鍵 EncKtG- j),暗号ィ匕コンテンツ鍵管 理情報 EncUR[t](i-j),暗号化チェック値 EncCheck(i-j)力もなる連結データの中から 8 バイト分のデータを抽出する。これにより、暗号ィ匕チェック値 EncCheck(i-j)が抽出され たことになる。ホスト機器 11は、このような抽出処理を、各々の連結データに対して実 行することによって、 m個の暗号化チェック値 EncCheck(i- l)〜EncCheck(i- m)を抽出 する。
[0176] 〔ステップ ST203— 7〕
次に、ホスト機器 11は、ステップ ST203— 6において抽出された暗号ィ匕チェック値 EncCheck(i- l)〜EncCheck(i- m)を 1つに連結する。これにより、 1つのチェック値連結 データが生成される。
[0177] 〔ステップ ST203— 8〕
次に、ホスト機器 11は、ステップ ST203— 7において生成されたチェック値連結デ ータに対してハッシュ演算を実行する。これにより、連鎖ハッシュ値 Chain Hash(i)が算 出される。次に、ステップ ST203— 11へ進む。
[0178] 〔ステップ ST203— 9〕
一方、ホスト機器 11は、鍵対応テーブル Address Listを参照して、暗号化コンテン ッ鍵 EncKt(i-j)の復号ィ匕に必要な暗号ィ匕ドメイン鍵 EncKu(i)を検出する。そして、ホス ト機器 11は、認証中間鍵 Aを用いて、その検出した暗号ィ匕ドメイン鍵 EncKu(i)および 暗号ィ匕ドメイン鍵管理情報 EncURMG)を復号ィ匕する。これにより、ホスト機器 11は、ド メイン鍵 Ku(i)およびドメイン鍵管理情報 UR[u](i)を取得する。なお、復号化されたドメ イン鍵は、ステップ ST203— 1においてコンテンツ鍵の復号化に使用される。
[0179] 〔ステップ ST203— 10〕 次に、ホスト機器 11は、ドメイン鍵管理情報 UR[u](i)の中から所定のビット位置に格 納された全体検査用データ DATA22G)を抽出する。
[0180] 〔ステップ ST203— 11〕
次に、ホスト機器 11は、ステップ ST203— 8において算出された連鎖ハッシュ値 Ch ain Hash(i)とステップ ST203— 10において抽出された全体検査用データ DATA22(i) とを比較する。
[0181] 〔ステップ ST203— 12〕
ステップ ST203 - 11における比較の結果、ステップ ST203 - 8にお!/、て算出され た連鎖ハッシュ値 Chain Hash(i)とステップ ST203— 10において抽出された全体検 查用データ DATA22G)とが一致しないと判断すると、ホスト機器 11は、暗号化チェック 値 EncCheckG-l)〜EncCheckG-m)が改竄されて!、ると判断して、異常終了を実行す る。一方、両者が一致すると判断された場合には、ステップ ST20へ進む。
[0182] このような処理によって得られた平文のコンテンツ鍵 Kt(i-j)を用いて、ホスト機器 11 は、暗号ィ匕されたコンテンツを復号ィ匕する。
[0183] <コンテンツ鍵情報の追加や削除 >
また、今後は、ネットワークを介した配信によってコンテンツ鍵を追加したり、削除し たりすることも考えられる。コンテンツ鍵情報の追加や削除にともない、全体検査用デ ータ DATA22G)が更新される。
[0184] 〔コンテンツ鍵情報の追加〕
図 18を参照しつつ、コンテンツ鍵が追加された場合について説明する。なお、ここ では、暗号化コンテンツ鍵 EncKt(i-a),暗号化コンテンツ鍵管理情報 EncUR[t](i-a), 暗号ィ匕チェック値 EncCheckG-a)を含む暗号ィ匕コンテンツ鍵情報が追加される。この 暗号ィ匕されたコンテンツ鍵情報は、コンテンツ鍵 Kt(i-a),コンテンツ鍵管理情報 UR[t] (ト a)を含むコンテンツ鍵情報にチェック値 Check (ト a)が追加された後、そのコンテンツ 鍵情報がドメイン鍵 Ku(i)を用いて連鎖暗号ィ匕されることによって生成される。また、コ ンテンッ鍵情報の追加や削除を実行する場合には、まず上述の方法(図 17参照)に よって既存のコンテンツ鍵情報に対して改竄検出処理を実行することもある力 ここ では説明を省略する。 [0185] 〔ステップ ST204— 1〕
まず、暗号化コンテンツ鍵 EncKt(i-l)〜EncKt(i-m)に付随する暗号化チ ック値 En cCheckG- l)〜EncCheck(i- m)と、追加された暗号化コンテンツ鍵 EncKtG- a)に付随す るチェック値 EncCheck(i-a)とが抽出される。
[0186] 〔ステップ ST204— 2〕
次に、抽出された(m+ 1)個の暗号化チェック値 EncCheck(i- l)〜EncCheck(i- m), EncCheckG-a)が 1つに連結される。これにより、 1つのチェック値連結データが生成さ れる。
[0187] 〔ステップ ST201— 3〕
次に、ステップ ST201— 3における処理と同様に、ステップ ST204— 2において生 成されたチェック値連結データに対してハッシュ演算が実行されて、新たな連鎖ハツ シュ値 Chain Hash(i')が算出される。算出された新たな連鎖ハッシュ値 Chain Hash(i') は、新たな全体検査用データ DATA22G)として、暗号ィ匕ドメイン鍵管理情報 EncUR[t]( 0の所定位置に格納される。
[0188] このようにして、全体検査用データ DATA22G)が更新される。
[0189] 〔コンテンツ鍵情報の削除〕
図 19を参照しつつ、コンテンツ鍵情報が削除された場合について説明する。なお、 ここでは、暗号化コンテンツ鍵 EncKt(i-2),暗号化コンテンツ鍵管理情報 EncUR[t](i- 2),暗号ィ匕チェック値 EncCheckG-2)を含む暗号ィ匕されたコンテンツ鍵情報が削除さ れる。
[0190] 〔ステップ ST205— 1〕
まず、削除された暗号ィ匕コンテンツ鍵 EncKt(i-2)以外の(m— 1)個の暗号化コンテ ンッ鍵 EncKt(i- 1), EncKt(i- 3)〜EncKt(i- m)に付随する暗号化チ ック値 EncCheck(i -1), EncCheck(i- 3)〜EncCheck(i- m)が抽出される。
[0191] 〔ステップ ST205— 2〕
次に、抽出された(m— 1)個の暗号化チェック値 EncCheck(i-l), EncCheck(i-3)〜E ncCheck(i-m)が 1つに連結される。これにより、チェック値連結データが生成される。
[0192] 〔ステップ ST201— 3〕 次に、ステップ ST201— 3における処理と同様に、ステップ ST205— 2において生 成されたチェック値連結データに対してハッシュ演算が実行されて、新たな連鎖ハツ シュ値 Chain HashG")が算出される。算出された新たな連鎖ハッシュ値 Chain Hash(i") は、新たな全体検査用データ DATA22G)として、暗号ィ匕ドメイン鍵管理情報 EncUR[t]( 0の所定位置に格納される。
[0193] このようにして、全体検査用データ DATA22G)が更新される。
[0194] <暗号アルゴリズム >
ここで、ハッシュ演算および連鎖暗号方式による暗号アルゴリズムにつ 、て説明す る。
[0195] 図 20は、一方向関数型のハッシュ演算(DES HASH)についての暗号アルゴリズム を示す概念図である。図 21は、一方向関数型のハッシュ演算(DES HASH)について の暗号アルゴリズムを示すフローチャートである。図 22は、一方向関数型のハッシュ 演算(C2 HASH)についての暗号アルゴリズムを示す概念図である。図 23は、連鎖 暗号方式(DES E-CBC)についての暗号アルゴリズムを示す概念図である。図 24は 、連鎖暗号方式(DES E-CBC)についての暗号アルゴリズムを示すフローチャートで ある。図 25は、連鎖暗号方式(C2 E-CBC)についての暗号アルゴリズムを示す概念 図である。
[0196] 図 21と図 24とを比較すると、一方向関数型のハッシュ演算と連鎖暗号方式とは、暗 号アルゴリズムの一部が互いに共通している。したがって、演算回路を共有すること ができ、回路面積を低減することができる。
[0197] <効果 >
以上のように、機密情報における改竄の有無を検出する処理において、 1つのコン テンッ鍵情報におけるチェック値の抽出と、 m個の暗号ィ匕チェック値力 なる連結デ ータに対するハッシュ演算とが実行される。このように、コンテンツ鍵群 TKURE(i)全体 に対してハッシュ演算を実行する必要がな!、ので、改竄検出処理時における処理量 を低減することができる。
[0198] また、機密情報を生成する処理にぉ 、て、 m個の暗号ィ匕されたコンテンツ鍵情報の 各々力 チェック値が抽出され、 m個の暗号化チェック値から 1つの全体検査用デー タが生成される。このように、改竄検出処理のために使用されるデータ(チェック値, 全体検査用データ)が複数段階に分けて生成される。そして、最終段階の検査用デ ータ (全体検査用データ)が保護領域に格納される。このように、保護領域に格納さ れるデータ量を低減することができる。
[0199] さらに、機密情報に新たなコンテンツ鍵情報が追加された場合、追加されたコンテ ンッ鍵情報力 チェック値を抽出し、一方で、既存のコンテンツ鍵情報力 抽出され た暗号ィ匕チェック値と新たなコンテンツ鍵情報力も抽出された暗号ィ匕チェック値とから 新たな全体検査用データを生成する。また、機密情報カゝらコンテンツ鍵情報が削除 された場合、削除されたコンテンッ鍵情報以外のコンテンッ鍵情報に含まれるチエツ ク値から全体検査用データが生成される。このように、コンテンツ鍵群 TKURE(i)全体 に対してハッシュ演算を実行する必要がな!、ので、機密情報の更新時における処理 量を低減することができる。
[0200] さらに、本実施形態では、コンテンツ鍵情報の各々に対する改竄検出処理と、すべ てのチェック値に対する改竄検出処理とを別々の方式で行っている。すなわち、コン テンッ鍵の各々に対する改竄検出処理では、そのコンテンツ鍵情報に対して連鎖暗 号方式を利用した復号化処理が実行され抽出処理が実行される。一方、すべてのチ エック値に対する改竄検出処理では、すべての暗号ィ匕チェック値に対してハッシュ演 算が実行される。このように、改竄検出時における検査手段が互いに異なっているの で、セキュリティレベルを向上させることができる。
[0201] なお、部分検査用データ DATA21は、 ROM 116やレジスタ(図示せず)に格納され ている必要はない。また、部分検査用データ DATA21の定数がある規則性を有する 場合には、レジスタを設けなくとも、演算器の組み合わせなどで実現することも可能で ある。一般に、レジスタを設けるよりも演算器の組み合わせによって定数を実装する 方力 回路面積としては有利である。
[0202] また、ドメイン鍵管理情報の中にチェック値が埋め込まれていても良い。例えば、ド メイン鍵管理情報 UR[t](i)の中にチェック値 Check(i)が埋め込まれて 、ても良 、。この 場合、暗号ィ匕コンテンツ鍵 EncKt(H),暗号ィ匕コンテンツ鍵管理情報 EncUR[t]G- j), および暗号ィ匕チェック値 EncCheckG-j)を含む暗号ィ匕コンテンツ鍵情報に対する改竄 検出処理(図 16参照)と同様の処理を実行すれば、暗号ィ匕ドメイン鍵 EncKu(i)および 暗号ィ匕ドメイン鍵管理情報 EnCUR[t](i)を含むドメイン鍵情報における改竄の有無を 検出することができる。
[0203] <付加情報 >
また、図 26のように、 m個の暗号化コンテンツ鍵 EncKt(i- l)〜EncKt(i- m)に対して m 個の付加情報 info(i-l)〜info(i-m)が対応付けられて 、ても構わな 、。付加情報 info(i - l)〜info(i- m)の各々には、暗号化チヱック値 EncCheck(i- l)〜EncCheck(i- m)のうち 自己に対応するチェック値が平文の状態で格納されている(図 26では、代表としてチ エック値 Check(i-j)のみを図示している。 ) o例えば、暗号化チェック値 EncCheck(i-j) が付随する暗号ィ匕コンテンツ鍵 EncKt(i-j)の付加情報 info(i-j)には、平文のチェック 値 Check(i-j)が格納されている。この場合、コンテンツ鍵毎に異なるチェック値を設け ることが可能であり、セキュリティを向上させることができる。また、チェック値 Check(i-j )は、指定バイトに従って、対応する付加情報 info( ')の所定位置に格納されていても 良い。
[0204] ここで、暗号ィ匕コンテンツ鍵 EncKt(i-j)について改竄チェックを実行する場合、指定 ノイトに従って、付加情報 info(i-j)の中から部分検査用データ DATA21が抽出される( ST202— 5)。次に、ステップ 202— 4で ίま、ステップ ST202— 1〜ST202— 3にお ける処理によって得られたチェック値 Check(i-j)とステップ ST202— 5にお!/、て抽出さ れた部分検査用データ DATA21とが比較される。このようにして、 B音号化コンテンツ鍵 EncKt(i-j)における改竄の有無を検査する。
[0205] <エントリー >
なお、ターゲット機器によっては、コンテンツ鍵が格納される領域を、エントリーという 形で、予め確保しているものもある。エントリーの各々には、ドメイン鍵が対応付けられ る。エントリーに格納される暗号ィ匕コンテンツ鍵は、そのエントリーに対応付けられたド メイン鍵によって復号ィ匕することができる。このような場合には、各々のエントリーに対 応するチェック値を連結してハッシュ演算を実行するという概念が生じる。すなわち、 コンテンツ鍵が実際に格納されているカゝ否かに関わらず、同一のドメイン鍵が対応付 けられた全てのエントリーの中力 指定バイトに従って所定位置のデータを抽出し、 その抽出したデータを 1つに連結してハッシュ演算を実行し、算出されたハッシュ値 をドメイン鍵管理情報に格納してもよい。もちろん、処理量を軽減するためにはハツシ ュ演算の演算量が少ない方が好ましい。したがって、コンテンツ鍵が実際に格納され ているエントリーだけに指定バイトに従ったデータ抽出を実行し、その抽出したデータ を 1つに連結してハッシュ演算を実行し、算出されたハッシュ値をドメイン鍵管理情報 に格納する方が好ましい。
[0206] <改変例>
本実施形態について様々な改変例が考えられるが、代表例として以下の改変例を 開示する。
[0207] (1)暗号ィ匕コンテンツは、必ずしも暗号ィ匕コンテンツ鍵を格納するターゲット機器と 同一のターゲット機器内に格納されている必要はなぐ別の記録媒体に格納されるも のであっても良い。その場合には、ホスト機器は、その別の記録媒体に格納された暗 号ィ匕コンテンツをネットワーク等を介して取得し、本実施形態の改竄検出方法によつ て正当性が保証されたコンテンッ鍵を用いてその暗号化コンテンッを復号化すること になる。
[0208] (2)チヱック値が埋め込まれる位置は、指定バイトで指定する必要は必ずしもなぐ 固定でも構わない。例えば、 LSBの 8バイトと固定して埋め込んでおけば、全てのデ ータ(コンテンツ鍵、コンテンツ鍵管理情報)の改竄をチェックすることが可能である。
[0209] (第 3の実施形態)
この発明の第 3の実施形態では、全体チェック値を利用して改竄検出が実行される 。連鎖暗号方式は図 12に示したものと同様である。また、コンテンツ鍵 Kt(i-j)および それに付随する情報 UR[t](i-j)の改竄の有無を検出する方法は、第 2の実施形態と 同様である。
[0210] <構成 >
この発明の第 3の実施形態による機密情報処理システムの全体構成は、図 13に示 したものと同様である。ただし、ターゲット機器 10に格納される機密情報が異なる。
[0211] <機密情報 >
図 27は、本実施形態におけるターゲット機器 10に格納される機密情報を示す。保 護領域 102〖こは、ドメイン鍵群 UKUREが格納される。通常領域 103には、鍵対応テ 一ブル Address Listと、コンテンツ鍵群 TKURE(i)と、チェック値リスト Check List(i)と、 全体チェック値 Check(i)とが格納される。なお、通常領域 103には、暗号ィ匕されたコン テンッも格納されているが、図 27では省略する。
[0212] 〔ドメイン鍵群〕
ドメイン鍵群 UKUREは、図 14と同様に、 n個の暗号化ドメイン鍵 EncKu(l)〜EncKu( n)と、 n個の暗号ィ匕ドメイン鍵管理情報 EncUR[u](l)〜EncUR[u](n)とを含む。また、暗 号ィ匕ドメイン鍵管理情報 EncUR[u](l)〜EncUR[u](n)の各々の所定位置には、全体検 查用データが格納される。全体検査用データは、そのドメイン鍵に対応するコンテン ッ鍵群と全体チェック値とに基づいて生成されている。例えば、暗号ィ匕ドメイン鍵管理 情報 EncUR[u](i)の所定位置には、コンテンツ鍵群 TKURE(i)および全体チェック値 Ch eck(i)に基づ 、て生成された全体検査用データ DATA32(i)が格納されて 、る。
[0213] なお、図 27では、暗号化ドメイン鍵 EncKu(i)に対応するコンテンツ鍵群 TKURE(i)の みしか図示して ヽな 、が、暗号化ドメイン鍵 EncKu(i)以外の暗号化ドメイン鍵 EncKu(l ;)〜 EncKu(n)の各々にもコンテンツ鍵群が対応して 、てよ!/、。
[0214] 〔コンテンツ鍵群および鍵対応テーブル〕
コンテンツ鍵群 TKURE(i)および鍵対応テーブル Address Listは、図 14に示したも のと同様である。
[0215] 〔チェック値リスト〕
チェック値リスト Check List(i)は、コンテンツ鍵群 TKURE(i)に対応する。また、チエツ ク値リスト Check List(i)は、 m個の二重暗号化チェック値 Enc2Check(i- l)〜Enc2Check( i- m)を含む。二重暗号化チェック値 Enc2Check(i- l)〜Enc2Check(i- m)は、コンテンツ 鍵群 TKURE(i)に含まれる暗号化チェック値 EncCheck(i- l)〜EncCheck(i- m)と一対一 で対応する。
[0216] なお、図 27では、コンテンツ鍵群 TKURE(i)に対応するチェック値リスト Check List(i) のみしか図示していないが、コンテンツ鍵群 TKURE(i)以外のコンテンツ鍵群(図示せ ず)の各々に対応するハッシュリストも存在して ヽても良 、。
[0217] 〔全体チェック値〕 全体チェック値 Check(i)は、コンテンツ鍵群 TKUREG)に対応する。なお、図 27では 、コンテンツ鍵群 TKURE(i)に対応する全体チェック値 Check(i)のみ図示されて 、るが 、コンテンツ鍵群 TKURE(i)以外のコンテンツ鍵群(図示せず)の各々に対応する全体 チェック値も存在して 、ても良 、。
[0218] <チェック値リストおよび暗号ィ匕チェック値の生成手順 >
図 28を参照しつつ、図 27に示したチェック値リスト Check List(i)および全体検査用 データ DATA32G)の生成手順について説明する。
[0219] 〔ステップ ST301— 1〕
まず、指定バイトに従って、コンテンツ鍵群 TKURE(i)の中力 m個の暗号ィ匕チェック 値 EncCheckG- l)〜EncCheck(i- m)が抽出される。例えば、暗号化コンテンツ鍵 EncKt (i-j),暗号化コンテンツ鍵管理情報 EncUR(i-j),および暗号化チェック値 EncCheckG- j)からなる連結データの中から暗号ィ匕チェック値 EncCheck(i-j)が抽出される。このよう にして、 m個の暗号化チェック値 EncCheck(i-l)〜EncCheck(i-m)が抽出される。
[0220] 〔ステップ ST301 - 2]
次に、ステップ ST301— 1にお!/ヽて抽出された m個の暗号化チェック値 EncCheck(i
- l)〜EncCheck(i- m)と全体チェック値 Check(i)とが 1つに連結される。これにより、 1つ のチェック値連結データが生成される。
[0221] 〔ステップ ST301— 3〕
次に、連鎖暗号方式にしたがって、ドメイン鍵 Ku(i)を用いてチェック値連結データ が暗号化される。これにより、二重暗号化チヱック値 Enc2Check(i-l)〜Enc2Check(i-m )と暗号ィ匕全体チェック値 EncCheckG)との集合が生成される。
[0222] 〔ステップ ST301 -4]
次に、二重暗号化チェック値 Enc2Check(i-l)〜Enc2Check(i-m)と暗号化全体チ ッ ク値 EncCheck(i)との集合の中から、暗号化全体チェック値 EncCheck(i)が取り出され る。これにより、二重暗号化チェック値 Enc2Check(i- l)〜Enc2Check(i- m)の集合は、チ エック値リスト Check List(i)になる。
[0223] 〔ステップ ST301 - 5]
次に、ステップ ST301— 4にお!/、て取り出された暗号化全体チェック値 EncCheck(i) は、全体検査用データ DATA32G)として、ドメイン鍵管理情報 UR[u](i)の所定位置に 格納される。
[0224] ここで、暗号ィ匕ドメイン鍵管理情報 EncURMG)を更新する場合 (例えば、既に存在 する暗号ィ匕ドメイン鍵 EncKu(i)に対して新たなコンテンッ鍵情報が対応付けられた場 合や、暗号ィ匕ドメイン鍵 EncKu(i)に対して対応付けられて ヽるコンテンツ鍵情報が削 除された場合)は、暗号ィ匕ドメイン鍵管理情報 EncUR[u](i)は、暗号ィ匕全体チェック値 EncCheck(i)を格納する前にー且復号ィ匕されて、ドメイン鍵管理情報 UR[u](i)になる。 そして、ドメイン鍵管理情報 UR[u](i)に暗号ィ匕全体チェック値 EncCheck(i)が格納され ると、そのドメイン鍵管理情報 UR[u](i)は、暗号化されて暗号ィ匕ドメイン鍵管理情報 En cUR[u](i)に戻る。このようにして、全体検査用データ DATA32G)が更新される。
[0225] ただし、ドメイン鍵 Ku(i)も新たに作成された場合は、ドメイン鍵管理情報 UR[u](i)も 新規に作成されることになるので、ー且復号ィ匕の処理を行う必要はない。この場合、 新たに作成されたドメイン鍵管理情報 UR[u](i)に暗号ィ匕全体チェック値 EncCheckG)を 格納した後、そのドメイン鍵管理情報 UR[u](i)が暗号化される。このようにして新たな 暗号ィ匕ドメイン鍵管理情報 EncURMG)が生成される。
[0226] <改竄検出方法 >
図 29を参照しつつ、図 27に示した全体チェック値 Check(i)を利用した改竄検出方 法について説明する。ここでは、暗号化ドメイン鍵 EncKu(i),チェック値リスト Check Li st(i),および全体チェック値 Check(i)を例に挙げて説明する。なお、図 27に示したチ エック値 Check(i-l)〜Check(i-m)を利用した改竄検出方法は、図 16に示した方法と 同様である。
[0227] 〔ステップ ST302—1〕
まず、暗号ィ匕ドメイン鍵管理情報 EncURMG)が復号ィ匕される。これにより、ドメイン 鍵管理情報 UR[u](i)が生成される。そして、ドメイン鍵管理情報 UR[u](i)の所定位置に 格納された全体検査用データ DATA32G)が抽出される。
[0228] 〔ステップ ST302— 2〕
次に、チェック値リスト Check List(i)に存在する m個の二重暗号化チェック値 Enc2Ch eck(i- l)〜Enc2Check(i- m)が 1つに連結される。そして、ステップ ST302— 1において 抽出された全体検査用データ DATA32G)は、それら m個の二重暗号ィ匕チェック値 Enc 2Check(i-l)〜Enc2Check(i-m)力 なる連結データの後段にさらに連結される。つまり 、二重暗号化チヱック値 Enc2Check(i-l)〜Enc2Check(i-m)と全体検査用データ DATA 32(0と力 なる連結データにおいて、その連結データの LSBは、全体検査用データ DATA32G)である。これにより、 1つのチェック値連結データが生成される。
[0229] 〔ステップ ST302— 3〕
次に、ドメイン鍵 Ku(i)を用いて、連鎖暗号方式による復号ィ匕がチェック値連結デー タに対して実行される。
[0230] 〔ステップ ST302— 4〕
次に、復号ィ匕されたチェック値連結データの中から所定位置のデータ (ここでは、そ の集合の LSBである 8バイトデータ)が抽出される。これにより、全体チェック値 Check( 0に相当するデータが抽出されたことになる。次に、ステップ ST302— 6へ進む。
[0231] 〔ステップ ST302— 5〕
一方、指定バイトに従って、ターゲット機器 10の通常領域 103に格納されている全 体チェック値 Check(i)が抽出される。次に、ステップ ST302— 6へ進む。
[0232] 〔ステップ ST302— 6〕
次に、ステップ ST302—4において抽出されたデータとステップ ST302— 5におい て抽出された全体チェック値 Check(i)とが比較される。ここで、両者が一致する場合チ エック値リスト Check List(i)あるいは全体チェック値 Check(i)に改竄がなかったものと判 断される。一方、両者が一致しない場合チェック値リスト Check List(i)あるいは全体チ エック値 CheckG)が改竄されていると判断されて、異常終了が実行される。
[0233] このようにして、チェック値リスト Check List(i)の正当性を検証することができる。チェ ック値リストが改竄されて 、なければ、暗号ィ匕コンテンツ鍵の改竄の有無を検出する ことができる。例えば、暗号ィ匕コンテンツ鍵 EncKt(i-j)の改竄について検査したい場 合、ステップ ST302— 3において復号化されたチェック値リスト Check List(i)の中から コンテンツ鍵 Kt(i-j)に対応する暗号ィ匕チェック値 EncCheck(i-j)を抽出する。一方、コ ンテンッ鍵群 TKURE(i)の中から暗号化チェック値 EncCheck(i-j)を抽出する。そして、 復号化されたチェック値リスト Check List(i)から抽出された暗号化チェック値 EncChec kG- j)とコンテンツ鍵群 TKURE(i)力 抽出された暗号化チェック値 EncCheckG- j)とを 比較する。このようにすれば、暗号ィ匕コンテンツ鍵 EncKt(i-j)およびこれに付随する情 報(暗号化コンテンツ鍵管理情報 EncUR[t](i-j)等)が改竄されて ヽるか否かを検証す ることがでさる。
[0234] <改竄検出方法 >
次に、本実施形態の機密情報処理システムによる動作について説明する。本実施 形態の機密情報処理システムによる動作の全体の流れは、図 5と同様であるが、コン テンッ鍵の改竄をチェックする処理 (ステップ ST22)における詳細な処理が異なる。 本実施形態では、ステップ ST22において、図 16に示した改竄チェック方法 (チェック 値 Check(i-l)〜Check(i-m)を利用した改竄チェック方法)と図 29に示した改竄チェッ ク方法 (全体チェック値 CheckG)を利用した改竄チェック方法)を実行することによって 、コンテンツ鍵の正当性を検証する。
[0235] <コンテンツ鍵情報の追加や削除 >
また、今後は、ネットワークを介した配信によってコンテンツ鍵を追加したり、削除し たりすることも考えられる。コンテンツ鍵情報の追加や削除にともない、チェック値リス ト Check List(i),および全体検査用データ DATA32G)が更新される。
[0236] 〔コンテンツ鍵情報の追加〕
図 30を参照しつつ、コンテンツ鍵情報が追加された場合について説明する。なお、 ここでは、暗号化コンテンツ鍵 EncKt(i-a),暗号化コンテンツ鍵管理情報 EncUR[t](i- a),暗号ィ匕チェック値 EncCheckG-a)を含む暗号ィ匕コンテンツ鍵情報が追加される。こ の暗号ィ匕コンテンツ鍵情報は、コンテンツ鍵 Kt(i-a),コンテンツ鍵管理情報 UR[t](i-a )を含むコンテンツ鍵情報にチェック値 Check (ト a)が追加された後、そのコンテンツ鍵 情報がドメイン鍵 Ku(i)を用いて連鎖暗号ィ匕されることによって生成される。
[0237] 〔ステップ ST303 - 1〕
まず、暗号化コンテンツ鍵 EncKt(i-l)〜EncKt(i-m)に付随する暗号化チ ック値 En cCheckG- l)〜EncCheck(i- m)と、追加された暗号化コンテンツ鍵 EncKtG- a)に付随す る暗号化チェック値 EncCheck(i-a)とが抽出される。
[0238] 〔ステップ ST303— 2〕 次に、抽出された暗号化チェック値 EncCheck(i- l)〜EncCheck(i- m), EncCheck(i- a )と全体チェック値 CheckG)とが 1つに連結される。これにより、 1つのチェック値連結デ ータが生成される。
[0239] 〔ステップ ST303— 3〕
次に、連鎖暗号方式にしたがって、ステップ ST303— 2において生成されたチエツ ク値連結データが暗号ィ匕される。これ〖こより、二重暗号ィ匕チェック値 Enc2Check(i-l) 〜Enc2Check(i-m), Enc2Check(i-a)と暗号化全体チヱック値 EncCheck(i')との集合が 生成される。
[0240] 〔ステップ ST303— 4, ST303— 5〕
次に、ステップ ST303— 4における処理と同様に、二重暗号化チェック値 Enc2Chec k(i- l)〜Enc2Check(i- m), Enc2Check(i- a)と暗号化全体チヱック値 EncCheck(i)との集 合の中から、暗号化全体チェック値 EncCheck(i')が取り出される。これにより、二重暗 号化チヱック値 Enc2Check(i- l)〜Enc2Check(i- m), Enc2Check(i- a)の集合は、新たな チェック値リスト Check List(i')になる。次に、ステップ ST303— 5における処理と同様 に、取り出された暗号ィ匕全体チェック値 EncCheck(i')は、新たな全体検査用データ D ATA32G)として、ドメイン鍵管理情報 UR[u](i)の所定位置に格納される。
[0241] このようにして、チェック値リスト Check List(i),および全体検査用データ DATA32(i) が更新される。
[0242] 〔コンテンツ鍵情報の削除〕
図 31を参照しつつ、コンテンツ鍵情報が削除された場合について説明する。なお、 ここでは、暗号化コンテンツ鍵 EncKt(i-2),暗号化コンテンツ鍵管理情報 EncUR[t](i- 2),暗号ィ匕チェック値 EncCheckG-2)を含む暗号ィ匕されたコンテンツ鍵情報が削除さ れる。
[0243] 〔ステップ ST304—1〕
まず、削除された暗号ィ匕コンテンツ鍵 EncKt(i-2)以外の(m— 1)個の暗号化コンテ ンッ鍵 EncKt(i- 1), EncKt(i- 3)〜EncKt(i- m)に付随する暗号化チ ック値 EncCheck(i
-1), EncCheck(i- 3)〜EncCheck(i- m)が抽出される。
[0244] 〔ステップ ST304— 2] 次に、抽出された(m— 1)個の暗号化チェック値 EncCheck(i-l), EncCheck(i-3)〜E ncCheckG-m)と全体チェック値 Check(i)とが 1つに連結される。これにより、チェック値 連結データが生成される。
[0245] 〔ステップ ST304 - 3〕
次に、連鎖暗号方式にしたがって、ステップ ST205— 2において生成されたチエツ ク値連結データが暗号ィヒされる。これ〖こより、二重暗号化チェック値 Enc2Check(i-l), Enc2Check(i-3)〜Enc2Check(i-m)と暗号化全体チヱック値 EncCheckG")との集合が生 成される。
[0246] 〔ステップ ST301—4, ST301— 5〕
次に、ステップ ST301— 4における処理と同様に、二重暗号化チェック値 Enc2Chec k(i-l), Enc2Check(i- 3)〜Enc2Check(i- m)と暗号化全体チヱック値 EncCheck(i")との 集合の中から、暗号ィ匕全体チェック値 EncCheck Oが取り出される。これにより、二重 暗号化チヱック値 Enc2Check(i-l), Enc2Check(i-3)〜Enc2Check(i-m)の集合は、新た なチェック値リスト Check List になる。次に、ステップ ST301— 5における処理と同 様に、取り出された暗号ィ匕全体チェック値 EncCheck Oは、新たな全体検査用データ DATA32G)として、ドメイン鍵管理情報 UR[u](i)の所定位置に格納される。
[0247] このようにして、チェック値リスト Check List(i),および全体検査用データ DATA32(i) が更新される。
[0248] <効果 >
以上のように、機密情報における改竄の有無を検出する処理において、 1つのコン テンッ鍵情報におけるチェック値の抽出と、全体検査用データと m個の二重暗号ィ匕 チェック値とからなる連結データに対する復号化処理とが実行される。このように、コ ンテンッ鍵群 TKURE(i)全体に対してハッシュ演算を実行する必要がな 、ので、改竄 検出処理時における処理量を低減することができる。
[0249] また、機密情報を生成する処理にぉ 、て、 m個の暗号ィ匕されたコンテンツ鍵情報の 各々力 チェック値が抽出され、全体チェック値および m個の暗号ィ匕チェック値から 1 つの全体検査用データが生成される。このように、改竄検出処理のために使用される データ (チヱック値,全体検査用データ)が複数段階に分けて生成される。そして、最 終段階の検査用データ (全体検査用データ)が保護領域に格納される。このように、 保護領域に格納されるデータ量を低減することができる。
[0250] さらに、機密情報に新たなコンテンツ鍵情報が追加された場合、追加されたコンテ ンッ鍵情報カゝらチェック値を抽出し、一方で、全体チェック値,既存のコンテンツ鍵情 報カゝら抽出された暗号ィ匕チェック値,新たなコンテンツ鍵情報カゝら抽出された暗号ィ匕 チェック値を含む連結データ力 新たな全体検査用データが生成される。また、機密 情報からコンテンツ鍵情報が削除された場合、削除されたコンテンツ鍵情報に対応 する二重暗号ィ匕チェック値をチェック値リストの中から削除し、全体チェック値と削除 されなかった二重暗号ィヒチェック値とを含む連結データに対して連鎖暗号方式を利 用した暗号ィ匕処理が実行されて、新たな全体検査用データが生成される。このように
、コンテンツ鍵群 TKURE(i)全体に対してハッシュ演算を実行する必要がな 、ので、 機密情報の更新時における処理量を低減することができる。
[0251] <改変例>
本実施形態について様々な改変例が考えられる力 代表例として以下の 3つの改 変例を開示する。
[0252] (1)暗号ィ匕コンテンツは、必ずしも暗号ィ匕コンテンツ鍵を格納するターゲット機器と 同一のターゲット機器内に格納されている必要はなぐ別の記録媒体に格納されるも のであっても良い。その場合には、ホスト機器は、その別の記録媒体に格納された暗 号ィ匕コンテンツをネットワーク等を介して取得し、本実施形態の改竄検出方法によつ て正当性が保証されたコンテンッ鍵を用いてその暗号化コンテンッを復号化すること になる。
[0253] (2)チヱック値が埋め込まれる位置は、指定バイトで指定する必要は必ずしもなぐ 固定でも構わない。例えば、 LSBの 8バイトと固定して埋め込んでおけば、全てのデ ータ(コンテンツ鍵、コンテンツ鍵管理情報)の改竄の有無を検出することが可能であ る。
[0254] (3)全体チェック値 Check(i)も、部分検査用データ DATA21と同様に、定数として R OM 116やレジスタ(図示せず)などに格納しておいても良い。また、その定数がある 規則性を有する場合には、レジスタを設けなくとも、演算器の組み合わせなどで実現 することも可能である。一般に、レジスタを設けるよりも演算器の組み合わせによって 定数を実装する方が、回路面積としては有利である。
[0255] 以上の各実施形態の説明において、図 5に示した概略フローチャートは、各々の実 施形態によるコンテンツ鍵の改竄チェック方法 (ステップ ST22における処理)に応じ て、適宜変更されても構わない。当業者であれば、図 5の概略フローチャートを各実 施形態に応じて適宜変更することは容易である。
産業上の利用可能性
[0256] 本発明は、ターゲット機器とホスト機器カゝら構成される機密情報処理システム等に 利用可能である。

Claims

請求の範囲
[1] ドメイン鍵情報と m個 (mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を 検出される鍵情報を生成するデータ生成部と、
前記データ生成部によって生成された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の生成方法であって、
前記ターゲット機器は、第 1記憶領域と、当該第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵を含み、
前記生成方法は、
前記データ生成部が、前記 m個のコンテンツ鍵情報の各々に対して、改竄検出処 理のために使用される部分検査用データに相当する第 1データを追加し、前記ドメイ ン鍵を用いて当該 m個のコンテンツ鍵情報の各々を連鎖暗号ィ匕するステップ (A)と、 前記データ生成部が、前記ステップ (A)において暗号ィ匕された m個のコンテンツ鍵 情報の各々の中から前記第 1データを暗号化されたままの状態で抽出するステップ( B)と、
前記データ生成部が、前記ステップ (B)において抽出された m個の第 1データを含 む連結データに対して所定演算を実行して、第 2データを生成するステップ (C)と、 前記データ生成部が、前記ステップ (C)において生成された第 2データを全体検査 用データとして前記ドメイン鍵情報に追加するステップ (D)と、
前記データ書込部が、前記 m個の暗号化されたコンテンツ鍵情報を前記第 1記憶 領域に書き込み、且つ、前記ドメイン鍵情報を前記第 2記憶領域に書き込むステップ (E)とを備える
ことを特徴とする鍵情報生成方法。
[2] 請求項 1において、
前記所定演算は、ハッシュ演算である ことを特徴とする鍵情報生成方法。
[3] 請求項 2において、
前記連鎖暗号ィ匕のアルゴリズムと前記ハッシュ演算のアルゴリズムとは、一部が共 通している
ことを特徴とする鍵情報生成方法。
[4] ドメイン鍵情報と m個 (mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を 検出される鍵情報を生成するデータ生成部と、
前記データ生成部によって生成された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の生成方法であって、
前記ターゲット機器は、第 1記憶領域と、当該第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵を含み、
前記生成方法は、
前記データ生成部が、前記 m個のコンテンツ鍵情報の各々に対して、改竄検出処 理のために使用される部分検査用データに相当する第 1データを追加し、前記ドメイ ン鍵を用いて当該 m個のコンテンツ鍵情報の各々を連鎖暗号ィ匕するステップ (A)と、 前記データ生成部が、前記ステップ (A)において暗号ィ匕された m個のコンテンツ鍵 情報の各々の中から前記第 1データを暗号化されたままの状態で抽出するステップ( B)と、
前記データ生成部が、第 2データと前記ステップ (B)において抽出された m個の第 1データとを含む連結データを前記ドメイン鍵を用いて連鎖暗号ィ匕し、当該暗号化さ れた連結データの中から前記第 2データを暗号化されたままの状態で抽出するステ ップ (C)と、
前記データ生成部が、前記ステップ (C)において抽出された第 2データを全体検査 用データとして前記ドメイン鍵情報に追加するステップ (D)と、 前記データ書込部が、前記ステップ (C)において暗号化された連結データに含ま れる m個の暗号化された第 1データを前記第 1記憶領域に書き込み、前記 m個の暗 号化されたコンテンツ鍵情報を前記第 1記憶領域に書き込み、且つ、前記ドメイン鍵 情報を前記第 2記憶領域に書き込むステップ (E)とを備える
ことを特徴とする鍵情報生成方法。
[5] 請求項 1または請求項 4において、
前記 m個のコンテンツ鍵情報の各々では、前記第 1データは、当該コンテンツ鍵情 報のうち予め指定された位置に配置される
ことを特徴とする鍵情報生成方法。
[6] 請求項 1または請求項 4において、
前記 m個のコンテンツ鍵情報の各々では、前記第 1データは、当該コンテンツ鍵情 報の最下位に位置する所定長のデータとして配置される
ことを特徴とする鍵情報生成方法。
[7] 請求項 1または請求項 4において、
前記 m個のコンテンツ鍵情報に対して、所定位置に前記部分検査用データを格納 する付加情報を対応付けるステップ (F)をさらに備え、
前記ステップ (E)では、さらに、
前記データ書込部が、前記 m個の付加情報を前記第 1記憶領域に書き込む ことを特徴とする鍵情報生成方法。
[8] ドメイン鍵情報と m個 (mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を 検出される鍵情報を生成するデータ生成部と、
前記データ生成部によって生成された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の生成方法であって、
前記ターゲット機器は、第 1記憶領域と、当該第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを有し、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵を含み、
前記生成方法は、
前記データ生成部が、前記ドメイン鍵を用いて前記 m個のコンテンツ鍵情報の各々 を暗号ィ匕するステップ (A)と、
前記データ生成部が、前記ステップ (A)によって暗号ィ匕された m個のコンテンツ鍵 情報の各々に対して第 1演算を実行して、 m個の第 1データを生成するステップ (B) と、
前記データ生成部が、前記ステップ (B)において生成された m個の第 1データを含 む連結データに対して第 2演算を実行して、第 2データを生成するステップ (C)と、 前記データ生成部が、前記ステップ (C)において生成された第 2データを全体検査 用データとして前記ドメイン鍵情報に追加するステップ (D)と、
前記データ書込部が、前記 m個の第 1データを m個の部分検査用データとして前 記第 1記憶領域に書き込み、前記 m個の暗号化されたコンテンツ鍵情報を前記第 1 記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第 2記憶領域に書き込むス テツプ (E)とを備える
ことを特徴とする鍵情報生成方法。
[9] 請求項 8において、
前記第 1および第 2演算の各々は、ハッシュ演算である
ことを特徴とする鍵情報生成方法。
[10] 請求項 1,請求項 4,請求項 8のうちいずれ力 1つにおいて、
前記鍵情報は、前記ドメイン鍵情報を暗号化および復号化するために使用される 認証鍵をさらに含み、
前記ターゲット機器は、前記第 2領域よりもセキュリティレベルが高ぐ且つ、前記認 証鍵を格納する第 3記憶領域をさらに含み、
前記生成方法は、
前記データ生成部が、前記認証鍵を用いて前記ドメイン鍵情報を暗号化するステツ プ (F)をさらに備え、
前記ステップ (E)では、 前記データ書込部が、前記ステップ (F)において暗号ィ匕されたドメイン鍵情報を前 記第 2記憶領域に書き込む
ことを特徴とする鍵情報生成方法。
[11] 請求項 10において、
前記第 1記憶領域は、前記ホスト機器が任意にアクセスすることができ、 前記第 2記憶領域は、前記ホスト機器と前記ターゲット機器との間で認証が成功す ると、当該ホスト機器がアクセスすることができ、
前記第 3記憶領域は、前記ホスト機器と前記ターゲット機器との間で相互認証を実 行するために使用される
ことを特徴とする鍵情報生成方法。
[12] 請求項 11において、
前記第 3記憶領域は、前記認証鍵が書き込まれた後に書き換えができなくなるよう に処理される
ことを特徴とする鍵情報生成方法。
[13] 請求項 1,請求項 4,請求項 8のうちいずれ力 1つにおいて、
前記ターゲット機器は、前記ホスト機器からのクロックおよび動作命令に従って動作 する可搬型記憶デバイスである
ことを特徴とする鍵情報生成方法。
[14] ドメイン鍵と m個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出 される鍵情報を生成する装置であって、
前記ターゲット機器は、第 1記憶領域と、当該第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵を含み、
前記生成装置は、
前記 m個のコンテンツ鍵情報の各々に対して、改竄検出処理のために使用される 部分検査用データに相当する第 1データを追加し、前記ドメイン鍵を用いて当該 m個 のコンテンツ鍵情報の各々を連鎖暗号化する暗号化部と、
前記暗号ィ匕部によって暗号ィ匕された m個のコンテンツ鍵情報の各々の中力 前記 第 1データを暗号化されたままの状態で抽出するデータ抽出部と、
前記データ抽出部によって抽出された m個の第 1データを含む連結データに対し て所定演算を実行して、第 2データを生成するデータ生成部と、
前記データ生成部によって生成された第 2データを全体検査用データとして前記ド メイン鍵情報に追加するデータ追加部と、
前記 m個の暗号化されたコンテンツ鍵情報を前記第 1記憶領域に書き込み、且つ、 前記ドメイン鍵情報を前記第 2記憶領域に書き込むデータ書込部とを備える ことを特徴とする鍵情報生成装置。
ドメイン鍵と m個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出 される鍵情報を生成する装置であって、
前記ターゲット機器は、第 1記憶領域と、当該第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵を含み、
前記生成装置は、
前記 m個のコンテンツ鍵情報の各々に対して、改竄検出処理のために使用される 部分検査用データに相当する第 1データを追加し、前記ドメイン鍵を用いて当該 m個 のコンテンツ鍵情報の各々を連鎖暗号化する暗号化部と、
前記暗号ィ匕部によって暗号ィ匕された m個のコンテンツ鍵情報の各々の中力 前記 第 1データを暗号化されたままの状態で抽出するデータ抽出部と、
第 2データと前記データ抽出部によって抽出された m個の第 1データとを含む連結 データを前記ドメイン鍵を用いて連鎖暗号ィ匕し、当該暗号化された連結データの中 力も前記第 2データを暗号化されたままの状態で抽出するデータ処理部と、 前記データ処理部によって抽出された第 2データを全体検査用データとして前記ド メイン鍵情報に追加するデータ追加部と、
前記データ処理部によって暗号ィ匕された連結データに含まれる m個の暗号ィ匕され た第 1データを前記第 1記憶領域に書き込み、前記 m個の暗号化されたコンテンツ鍵 情報を前記第 1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第 2記憶領 域に書き込むデータ書込部とを備える
ことを特徴とする鍵情報生成装置。
ドメイン鍵と m個(mは自然数)のコンテンツ鍵情報とを含み且つ改竄の有無を検出 される鍵情報を生成する装置であって、
前記ターゲット機器は、第 1記憶領域と、当該第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵を含み、
前記生成装置は、
前記ドメイン鍵を用いて前記 m個のコンテンツ鍵情報の各々を暗号化する暗号ィ匕 部と、
前記暗号ィ匕部によって暗号ィ匕された m個のコンテンツ鍵情報の各々に対して第 1 演算を実行して、 m個の第 1データを生成する第 1演算部と、
前記第 1演算部によって生成された m個の第 1データを含む連結データに対して第 2演算を実行して、第 2データを生成する第 2演算部と、
前記第 2演算部によって生成された第 2データを全体検査用データとして前記ドメ イン鍵情報に追加するデータ追加部と、
前記 m個の第 1データを前記 m個の部分検査用データとして前記第 1記憶領域に 書き込み、前記 m個の暗号化されたコンテンツ鍵情報を前記第 1記憶領域に書き込 み、且つ、前記ドメイン鍵情報を前記第 2記憶領域に書き込むデータ書込部とを備え ことを特徴とする鍵情報生成装置。
改竄の有無を検出される鍵情報に対して新たなコンテンツ鍵情報を追加するととも に、当該鍵情報を更新するデータ更新部と、
前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の更新方法であって、
前記ターゲット機器は、第 1記憶領域と、前記第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記鍵情報は、ドメイン鍵情報と、 m個 (mは自然数)のコンテンツ鍵情報とを含み、 前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記更新方法は、
前記データ更新部が、前記新たなコンテンツ鍵情報に対して前記第 1データを追 加し、当該コンテンツ鍵情報を前記ドメイン鍵を用いて連鎖暗号ィ匕するステップ (A) と、
前記データ更新部が、前記ステップ (A)において暗号ィ匕されたコンテンツ鍵情報の 中から前記第 1データを暗号化されたままの状態で抽出するステップ (B)と、 前記データ更新部が、前記ステップ (B)において抽出された第 1データと前記 m個 の暗号ィ匕されたコンテンツ鍵情報の各々に含まれる第 1データとを含む連結データ に対して所定演算を実行して、第 2データを生成するステップ (C)と、
前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ス テツプ (C)において生成された第 2データに書き換えるステップ (D)と、
前記データ書込部が、前記 m個の暗号化されたコンテンツ鍵情報と前記暗号化さ れた新たなコンテンツ鍵情報とを前記第 1記憶領域に書き込み、且つ、前記ドメイン 鍵情報を前記第 2記憶領域に書き込むステップ (E)とを備える ことを特徴とする鍵情報更新方法。
改竄の有無を検出される鍵情報に対して新たなコンテンツ鍵情報を追加するととも に、当該鍵情報を更新するデータ更新部と、
前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の更新方法であって、
前記ターゲット機器は、第 1記憶領域と、前記第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 暗号化された第 1データと、第 2データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記更新方法は、
前記データ更新部が、前記新たなコンテンツ鍵情報に対して前記第 1データを追 加し、当該コンテンツ鍵情報を前記ドメイン鍵を用いて連鎖暗号ィ匕するステップ (A) と、
前記データ更新部が、前記ステップ (A)において暗号ィ匕されたコンテンツ鍵情報の 中から前記第 1データを暗号化されたままの状態で抽出するステップ (B)と、 前記データ更新部が、前記第 2データ,前記 m個の暗号化された第 1データ,およ び前記ステップ (B)において抽出された第 1データを含む連結データを、前記ドメイ ン鍵を用いて連鎖暗号化し、当該暗号化された連結データの中から前記第 2データ を暗号化されたままの状態で抽出するステップ (C)と、
前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ス テツプ (C)において抽出された第 2データに書き換えるステップ (D)と、
前記データ書込部が、前記ステップ (C)において暗号化された連結データに含ま れる (m+ 1)個の第 1データを前記第 1記憶領域に書き込み、前記 m個の暗号化さ れたコンテンツ鍵情報および前記暗号化された新たなコンテンツ鍵情報を前記第 1 記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第 2記憶領域に書き込むス テツプ (E)とを備える
ことを特徴とする鍵情報更新方法。
改竄の有無を検出される鍵情報に対して新たなコンテンツ鍵情報を追加するととも に、当該鍵情報を更新するデータ更新部と、
前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の更新方法であって、
前記ターゲット機器は、第 1記憶領域と、前記第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 部分検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記更新方法は、
前記データ更新部が、前記新たなコンテンツ鍵情報を暗号ィ匕するステップ (A)と、 前記データ更新部が、前記ステップ (A)において暗号ィ匕された新たなコンテンツ鍵 情報に対して第 1演算を実行して、第 1データを生成するステップ (B)と、
前記データ更新部が、前記 m個の部分検査用データと前記ステップ (B)において 生成された第 1データとを含む連結データに対して第 2演算を実行して、第 2データ を生成するステップ (C)と、
前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ス テツプ (C)において生成された第 2データに書き換えるステップ (D)と、
前記データ書込部が、 m個の部分検査用データと前記第 1データとを (m+ 1)個の 部分検査用データとして前記第 1記憶領域に書き込み、前記 m個の暗号化されたコ ンテンッ鍵情報および前記暗号化された新たなコンテンツ鍵情報を前記第 1記憶領 域に書き込み、且つ、前記ドメイン鍵情報を前記第 2記憶領域に書き込むステップ (E )とを備える
ことを特徴とする鍵情報更新方法。
改竄の有無を検出される鍵情報の中から 、ずれか 1つのコンテンッ鍵情報を削除 するとともに、当該鍵情報を更新するデータ更新部と、
前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の更新方法であって、
前記ターゲット機器は、第 1記憶領域と、前記第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記鍵情報は、ドメイン鍵情報と、 m個 (mは自然数)のコンテンツ鍵情報とを含み、 前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記更新方法は、
前記データ更新部が、前記 m個の暗号化されたコンテンツ鍵情報のうち ヽずれか 1 つを削除するステップ (A)と、
前記データ更新部が、前記ステップ (A)において削除されな力つた (m—1)個の暗 号化されたコンテンツ鍵情報の各々に含まれる第 1データを暗号化されたままの状態 で抽出するステップ (B)と、
前記データ更新部が、前記ステップ (B)において抽出された (m— 1)個の第 1デー タを含む連結データに対して所定演算を実行して、第 2データを生成するステップ( C)と、
前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ス テツプ (C)において生成された第 2データに書き換えるステップ (D)と、
前記データ書込部が、前記 (m— 1)個の暗号化されたコンテンツ鍵情報を前記第 1 記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第 2記憶領域に書き込むス テツプ (E)とを備える
ことを特徴とする鍵情報更新方法。
改竄の有無を検出される鍵情報の中から 、ずれか 1つのコンテンッ鍵情報を削除 するとともに、当該鍵情報を更新するデータ更新部と、
前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の更新方法であって、
前記ターゲット機器は、第 1記憶領域と、前記第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 暗号化された第 1データと、第 2データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個の暗号ィ匕された第 1データは、前記 m個のコンテンツ鍵情報と一対一で対 応し、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記更新方法は、
前記データ更新部が、前記 m個のコンテンツ鍵情報のうちいずれ力 1つを削除する ステップ(A)と、
前記データ更新部が、前記ステップ (A)において削除されな力つた (m—1)個の暗 号化されたコンテンツ鍵情報の各々に含まれる第 1データを暗号化されたままの状態 で抽出するステップ (B)と、
前記データ更新部が、前記 m個の暗号化された第 1データのうち前記ステップ (A) において削除されたコンテンツ鍵情報に対応する第 1データを削除するステップ (B) と、
前記データ更新部が、前記第 2データと前記ステップ (B)において削除されなかつ た (m— 1)個の暗号ィ匕された第 1データとを含む連結データを前記ドメイン鍵を用い て連鎖暗号化し、当該暗号化された連結データの中から前記第 2データを暗号化さ れたままの状態で抽出するステップ (C)と、
前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ス テツプ (C)において抽出された第 2データに書き換えるステップ (D)と、
前記データ書込部が、前記ステップ (C)において暗号化された連結データに含ま れる (m— 1)個の第 1データを前記第 1記憶領域に書き込み、前記 (m— 1)個の暗号 化されたコンテンツ鍵情報を前記第 1記憶領域に書き込み、且つ、前記ドメイン鍵情 報を前記第 2記憶領域に書き込むステップ (E)とを備える
ことを特徴とする鍵情報更新方法。
改竄の有無を検出される鍵情報の中から 、ずれか 1つのコンテンッ鍵情報を削除 するとともに、当該鍵情報を更新するデータ更新部と、
前記データ更新部によって更新された鍵情報をターゲット機器に書き込むデータ 書込部とを備えるホスト機器による鍵情報の更新方法であって、
前記ターゲット機器は、第 1記憶領域と、前記第 1記憶領域よりもセキュリティレベル が高!、第 2記憶領域とを含み、
前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 部分検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個の部分検査用データは、前記 m個のコンテンツ鍵情報と一対一で対応し 前記 m個のコンテンツ鍵情報の各々は、暗号化されており、 前記更新方法は、
前記データ更新部が、前記 m個の暗号化されたコンテンツ鍵情報のうち ヽずれか 1 つを削除するステップ (A)と、
前記データ更新部が、前記 m個の部分検査用データのうち前記ステップ (A)にお いて削除されたコンテンツ鍵情報に対応する部分検査用データを削除するステップ( B)と、
前記データ更新部が、前記ステップ (B)において削除されな力つた (m—1)個の部 分検査用データを含む連結データに対して第 2演算を実行して、第 2データを生成 するステップ (C)と、
前記データ更新部が、前記ドメイン鍵情報に含まれる全体検査用データを前記ス テツプ (C)において生成された第 2データに書き換えるステップ (D)と、
前記データ書込部が、前記ステップ (B)において削除されな力つた (m—1)個の部 分検査用データを前記第 1記憶領域に書き込み、前記 (m— 1)個の暗号化されたコ ンテンッ鍵情報を前記第 1記憶領域に書き込み、且つ、前記ドメイン鍵情報を前記第 2記憶領域に書き込むステップ (E)とを備える
ことを特徴とする鍵情報更新方法。
ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無を検 出する方法であって、
前記鍵情報は、ドメイン鍵情報と、 m個 (mは自然数)のコンテンツ鍵情報とを含み、 前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵を暗号化および復号化するために 使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記検出方法は、
前記 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれか 1つを前記ドメイン鍵を 用いて連鎖復号ィ匕し、当該復号化されたコンテンツ鍵情報の中から前記第 1データ を抽出するステップ (A)と、
前記ステップ (A)において抽出された第 1データと予め用意された部分検査用デ 一タとを比較するステップ (B)と、
前記 m個のコンテンツ鍵情報の各々の中力 前記第 1データを暗号ィ匕されたままの 状態で抽出し、当該抽出された m個の第 1データを含む連結データに対して所定演 算を実行して、第 2データを生成するステップ (C)と、
前記ステップ (C)にお ヽて生成された第 2データと前記ドメイン鍵情報に含まれる全 体検査用データとを比較するステップ (D)と、
前記ステップ (B)において前記第 1データと前記部分検査用データとがー致し、且 つ、前記ステップ (D)において前記第 2データと前記全体検査用データとがー致す ると、前記鍵情報が改竄されていないと判断するステップ (E)とを備える
ことを特徴とする改竄検出方法。
[24] 請求項 23において、
前記全体検査用データは、改竄されて ヽな ヽ m個の暗号ィ匕されたコンテンツ鍵情 報の中から m個の第 1データを暗号化されたままの状態で抽出し、当該抽出された m 個の第 1データを含む連結データに対して所定演算を実行することによって得られる データに相当する
ことを特徴とする改竄検出方法。
[25] 請求項 23において、
前記ターゲット機器は、
前記 m個の暗号化されたコンテンツ鍵情報を格納する第 1記憶領域と、 前記第 1記憶領域よりもセキュリティレベルが高ぐ且つ、前記ドメイン鍵情報を格納 する第 2記憶領域とを含む
ことを特徴とする改竄検出方法。
[26] 請求項 23において、
前記所定演算は、ハッシュ演算である
ことを特徴とする改竄検出方法。
[27] 請求項 26において、 前記ハッシュ演算のアルゴリズムと前記連鎖暗号ィ匕のアルゴリズムとは、一部が共 通している
ことを特徴とする改竄検出方法。
ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無を検 出する方法であって、
前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 暗号化された第 1データと、第 2データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵を暗号化および復号化するために 使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記検出方法は、
前記 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれか 1つを前記ドメイン鍵を 用いて連鎖復号ィ匕し、当該復号化されたコンテンツ鍵情報の中から前記第 1データ を抽出するステップ (A)と、
前記ステップ (A)において抽出された第 1データと予め用意された部分検査用デ 一タとを比較するステップ (B)と、
前記ドメイン鍵情報に含まれる全体検査用データと前記 m個の暗号化された第 1デ 一タとを含む連結データを前記ドメイン鍵を用いて連鎖復号ィ匕し、当該復号化された 連結データの中から当該全体検査用データを抽出するステップ (C)と、
前記第 2データと前記ステップ (C)にお ヽて抽出された全体検査用データとを比較 するステップ (D)と、
前記ステップ (B)において前記第 1データと前記部分検査用データとがー致し、且 つ、前記ステップ (D)において前記第 2データと前記全体検査用データとがー致す ると、前記鍵情報が改竄されていないと判断するステップ (E)とを備える
ことを特徴とする改竄検出方法。 [29] 請求項 28において、
前記全体検査用データは、改竄されていない m個の暗号化された第 1データと前 記第 2データとを含む連結データを前記ドメイン鍵を用いて連鎖暗号ィ匕し、当該暗号 ィ匕された連結データの中から暗号化されたままの状態で抽出される第 2データに相 当する
ことを特徴とする改竄検出方法。
[30] 請求項 28において、
前記ターゲット機器は、
前記 m個の暗号化されたコンテンツ鍵,前記 m個の暗号化された第 1データ,およ び前記第 2データを格納する第 1記憶領域と、
前記第 1記憶領域よりもセキュリティレベルが高ぐ且つ、前記ドメイン鍵情報を格納 する第 2記憶領域とを含む
ことを特徴とする改竄検出方法。
[31] 請求項 23または請求項 28において、
前記 m個のコンテンツ鍵情報の各々では、前記第 1データは、当該コンテンツ鍵情 報のうち予め指定された位置に配置されている
ことを特徴とする改竄検出方法。
[32] 請求項 23または請求項 28において、
前記 m個のコンテンツ鍵情報の各々では、前記第 1データは、当該コンテンツ鍵情 報の最下位に位置する所定長のデータとして配置されている
ことを特徴とする改竄検出方法。
[33] 請求項 23または請求項 28において、
前記鍵情報は、 m個のコンテンツ鍵情報と一対一で対応する m個の付加情報をさ らに含み、
前記 m個の付加情報の各々には、前記部分検査用データが所定位置に格納され ており、
前記ステップ (B)では、
前記ステップ (A)において抽出された第 1データと当該第 1データが抽出されたコ ンテンッ鍵情報に対応する付加情報に格納された部分検査用データとを比較する ことを特徴とする改竄検出方法。
[34] ホスト機器によって、ターゲット機器に格納された鍵情報における改竄の有無を検 出する方法であって、
前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 部分検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号化および復号化するため に使用されるコンテンツ鍵と含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵を暗号化および復号化するために 使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個の部分検査用データは、前記 m個のコンテンツ鍵情報と一対一で対応し 前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記検出方法は、
前記 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれか 1つに対して第 1演算を 実行して、第 1データを生成するステップ (A)と、
前記ステップ (A)にお 、て生成された第 1データと前記 m個の部分検査用データ のうち前記ステップ (A)にお ヽて第 1演算が実行されたコンテンツ鍵情報に対応する 部分検査用データとを比較するステップ (B)と、
前記 m個の部分検査用データを含む連結データに対して第 2演算を実行して、第 2データを生成するステップ (C)と、
前記ステップ (C)にお ヽて生成された第 2データと前記ドメイン鍵情報に含まれる全 体検査用データとを比較するステップ (D)と、
前記ステップ (B)において前記第 1データと前記部分検査用データとがー致し、且 つ、前記ステップ (D)において前記第 2データと前記全体検査用データとがー致す ると、前記鍵情報が改竄されていないと判断するステップ (E)とを備える
ことを特徴とする改竄検出方法。
[35] 請求項 34において、 前記 m個の部分検査用データの各々は、当該部分検査用データに対応する改竄 されて ヽないコンテンッ鍵情報に対して前記第 1演算を実行することによって得られ るデータに相当し、
前記全体検査用データは、改竄されて ヽな 、m個の部分検査用データを含む連 結データに対して前記第 2演算を実行することによって得られるデータに相当する ことを特徴とする改竄検出方法。
[36] 請求項 34において、
前記ターゲット機器は、
前記 m個の暗号化されたコンテンツ鍵情報と前記 m個の部分検査用データとを格 納する第 1記憶領域と、
前記第 1記憶領域よりもセキュリティレベルが高ぐ且つ、前記ドメイン鍵情報を格納 する第 2記憶領域とを含む
ことを特徴とする改竄検出方法。
[37] 請求項 34において、
前記第 1および第 2演算の各々は、ハッシュ演算である
ことを特徴とする改竄検出方法。
[38] 請求項 25,請求項 30,請求項 36のうちいずれ力 1つにおいて、
前記鍵情報は、前記ドメイン鍵情報を暗号化および復号化するために使用される 認証鍵をさらに含み、
前記ターゲット機器は、前記第 2領域よりもセキュリティレベルが高ぐ且つ、前記認 証鍵を格納する第 3記憶領域をさらに含み、
前記ドメイン鍵情報は、暗号化されている
ことを特徴とする改竄検出方法。
[39] 請求項 38において、
前記第 1記憶領域は、前記ホスト機器が任意にアクセスすることができ、 前記第 2記憶領域は、前記ホスト機器と前記ターゲット機器との間で認証が成立す ると、当該ホスト機器がアクセスすることができ、
前記第 3記憶領域は、前記ホスト機器と前記ターゲット機器との間で相互認証を実 行するために使用される
ことを特徴とする改竄検出方法。
[40] 請求項 39において、
前記第 3記憶領域は、前記認証鍵が書き込まれた後に書き換えができなくなるよう に処理される
ことを特徴とする改竄検出方法。
[41] 請求項 23,請求項 28,請求項 34のうちいずれ力 1つにおいて、
前記ターゲット機器は、前記ホスト機器からのクロックおよび動作命令に従って動作 する可搬型記憶デバイスである
ことを特徴とする改竄検出方法。
[42] ターゲット機器に格納された鍵情報における改竄の有無を検出する装置であって、 前記鍵情報は、ドメイン鍵情報と、 m個 (mは自然数)のコンテンツ鍵情報とを含み、 前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵を暗号化および復号化するために 使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記検出装置は、
前記 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれか 1つを前記ドメイン鍵を 用いて連鎖復号ィ匕し、当該復号化されたコンテンツ鍵情報の中から前記第 1データ を抽出するデータ処理部と、
前記データ処理部によって抽出された第 1データと予め用意された部分検査用デ 一タとを比較する第 1比較部と、
前記 m個のコンテンツ鍵情報の各々の中力 前記第 1データを暗号ィ匕されたままの 状態で抽出し、当該抽出された m個の第 1データを含む連結データに対して所定演 算を実行して、第 2データを生成するデータ生成部と、
前記データ生成部によって生成された第 2データと前記ドメイン鍵情報に含まれる 全体検査用データとを比較する第 2比較部と、
前記第 1比較部において前記第 1データと前記部分検査用データとがー致し、且 つ、前記第 2比較部において前記第 2データと前記全体検査用データとがー致する と、前記鍵情報が改竄されて 、な 、と判断する改竄判断部とを備える
ことを特徴とする改竄検出装置。
ターゲット機器に格納された鍵情報における改竄の有無を検出する装置であって、 前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 暗号化された第 1データと、第 2データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と、改竄検出処理のために使用される部分検査用データ に相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵を暗号化および復号化するために 使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記検出装置は、
前記 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれか 1つを前記ドメイン鍵を 用いて連鎖復号ィ匕し、当該復号化されたコンテンツ鍵情報の中から前記第 1データ を抽出する第 1データ処理部と、
前記第 1データ処理部によって抽出された第 1データと予め用意された部分検査用 データとを比較する第 1比較部と、
前記ドメイン鍵情報に含まれる全体検査用データと前記 m個の暗号化された第 1デ 一タとを含む連結データを前記ドメイン鍵を用いて連鎖復号ィ匕し、当該復号化された 連結データの中から当該全体検査用データを抽出する第 2データ処理部と、 前記第 2データと前記第 2データ処理部によって抽出された全体検査用データとを 比較する第 2比較部と、
前記第 1比較部において前記第 1データと前記部分検査用データとがー致し、且 つ、前記第 2比較部において前記第 2データと前記全体検査用データとがー致する と、前記鍵情報が改竄されて 、な 、と判断する改竄判断部とを備える ことを特徴とする改竄検出装置。
[44] 鍵ターゲット機器に格納された鍵情報における改竄を有無を検出する装置であつ て、
前記鍵情報は、ドメイン鍵情報と、 m個(mは自然数)のコンテンツ鍵情報と、 m個の 部分検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵を暗号化および復号化するために 使用されるドメイン鍵と、全体検査用データとを含み、
前記 m個の部分検査用データは、前記 m個のコンテンツ鍵情報と一対一で対応し 前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記検出装置は、
前記 m個の暗号ィ匕されたコンテンツ鍵情報のうちいずれか 1つに対して第 1演算を 実行して、第 1データを生成する第 1演算部と、
前記第 1演算部によって生成された第 1データと前記 m個の部分検査用データのう ち前記第 1演算部によって第 1演算が実行されたコンテンツ鍵情報に対応する部分 検査用データとを比較する第 1比較部と、
前記 m個の部分検査用データを含む連結データに対して第 2演算を実行して、第 2データを生成する第 2演算部と、
前記第 2演算部によって生成された第 2データと前記ドメイン鍵情報に含まれる全 体検査用データとを比較する第 2比較部と、
前記第 1比較部において前記第 1データと前記部分検査用データとがー致し、且 つ、前記第 2比較部において前記第 2データと前記全体検査用データとがー致する と、前記 m個のコンテンツ鍵情報が改竄されて 、な 、と判断する改竄判断部とを備え る
ことを特徴とする改竄検出装置。
[45] 第 1記憶領域と当該第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを 含むターゲット機器に格納され、且つ、ホスト機器によって改竄の有無を検出される 鍵情報であって、
前記第 1記憶領域に格納される m個(mは自然数)のコンテンツ鍵情報と、 前記第 2記憶領域に格納されるドメイン鍵情報とを備え、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と、前記ホスト機器による改竄検出処理のために使用され る部分検査用データに相当する第 1データとを含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、前記ホスト機器による改竄検出処理のために使用される 全体検査用データとを含み、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記全体検査用データは、改竄されて ヽな ヽ m個の暗号ィ匕されたコンテンツ鍵情 報の各々力 前記第 1データを暗号化されたままの状態で抽出し、当該抽出された m個の第 1データを含む連結データに対して所定演算を実行することによって得られ るデータに相当する
ことを特徴とする鍵情報のデータ構造。
[46] 請求項 45において、
前記所定演算は、ハッシュ演算である
ことを特徴とする鍵情報のデータ構造。
[47] 第 1記憶領域と当該第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを 含むターゲット機器に格納され、且つ、ホスト機器によって改竄の有無を検出される 鍵情報であって、
前記第 1記憶領域に格納される m個(mは自然数)のコンテンツ鍵情報, m個の暗 号化された第 1データ,および第 2データと、
前記第 2記憶領域に格納されるドメイン鍵情報とを備え、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵と、前記ホスト機器による改竄検出処理のために使用され る部分検査用データに相当する第 1データとを含み、 前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、前記ホスト機器による改竄検出処理のために使用される 全体検査用データとを含み、
前記 m個の暗号ィ匕された第 1データは、前記 m個のコンテンツ鍵情報と一対一で対 応し、
前記 m個のコンテンツ鍵情報の各々は、暗号化されており、
前記全体検査用データは、改竄されていない m個の暗号化された第 1データと前 記第 2データとを含む連結データを前記ドメイン鍵を用いて連鎖暗号ィ匕し、当該暗号 ィ匕された連結データの中から暗号化されたままの状態で抽出される第 2データに相 当する
ことを特徴とする鍵情報のデータ構造。
[48] 請求項 45または請求項 47において、
前記 m個のコンテンツ鍵情報の各々では、前記第 1データは、当該コンテンツ鍵情 報のうち予め指定された位置に配置されている
ことを特徴とする鍵情報のデータ構造。
[49] 請求項 45または請求項 47において、
前記 m個のコンテンツ鍵情報の各々では、前記第 1データは、当該コンテンツ鍵情 報の最下位に位置する所定長のデータとして配置されている
ことを特徴とする鍵情報のデータ構造。
[50] 請求項 45または請求項 47において、
前記鍵情報は、 m個のコンテンツ鍵情報と一対一で対応する m個の付加情報をさ らに含み、
前記 m個の付加情報の各々には、前記部分検査用データが所定位置に格納され ている
ことを特徴とする鍵情報のデータ構造。
[51] 第 1記憶領域と当該第 1記憶領域よりもセキュリティレベルが高い第 2記憶領域とを 含むターゲット機器に格納され、且つ、ホスト機器によって改竄の有無を検出される 鍵情報であって、 前記第 1記憶領域に格納される m個(mは自然数)のコンテンツ鍵情報および m個 の部分検査用データと、
前記第 2記憶領域に格納されるドメイン鍵情報とを備え、
前記 m個のコンテンツ鍵情報の各々は、コンテンツを暗号ィ匕および復号ィ匕するため に使用されるコンテンツ鍵を含み、
前記ドメイン鍵情報は、前記 m個のコンテンツ鍵情報を暗号化および復号化するた めに使用されるドメイン鍵と、前記ホスト機器による改竄検出処理のために使用される 全体検査用データとを含み、
前記 m個の部分検査用データは、前記 m個のコンテンツ鍵情報と一対一で対応し 前記 m個の部分検査用データの各々は、当該部分検査用データに対応する改竄 されていないコンテンツ鍵情報に対して第 1演算を実行することによって得られるデ ータに相当し、
前記全体検査用データは、改竄されて ヽな 、m個の部分検査用データを含む連 結データに対して第 2演算を実行することによって得られるデータに相当する ことを特徴とする鍵情報のデータ構造。
請求項 51において、
前記第 1および第 2演算は、ハッシュ演算である
ことを特徴とする鍵情報のデータ構造。
PCT/JP2005/023397 2004-12-20 2005-12-20 鍵情報生成方法 WO2006068152A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US11/793,702 US20080212770A1 (en) 2004-12-20 2005-12-20 Key Information Generating Method and Device, Key Information Updating Method, Tempering Detecting Method and Device, and Data Structure of Key Information
JP2006549011A JP4606421B2 (ja) 2004-12-20 2005-12-20 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004-367187 2004-12-20
JP2004367187 2004-12-20

Publications (1)

Publication Number Publication Date
WO2006068152A1 true WO2006068152A1 (ja) 2006-06-29

Family

ID=36601752

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/023397 WO2006068152A1 (ja) 2004-12-20 2005-12-20 鍵情報生成方法

Country Status (3)

Country Link
US (1) US20080212770A1 (ja)
JP (1) JP4606421B2 (ja)
WO (1) WO2006068152A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341415B1 (en) * 2008-08-04 2012-12-25 Zscaler, Inc. Phrase matching
US9342621B1 (en) 2008-08-04 2016-05-17 Zscaler, Inc. Phrase matching
WO2014055148A2 (en) 2012-07-09 2014-04-10 Massachusetts Institute Of Technology Cryptography and key management device and architecture
US10148430B1 (en) 2013-04-17 2018-12-04 Amazon Technologies, Inc Revocable stream ciphers for upgrading encryption in a shared resource environment
EP2884692B1 (en) * 2013-12-13 2020-05-20 Nxp B.V. Updating software on a secure element
US10284534B1 (en) * 2015-06-26 2019-05-07 EMC IP Holding Company LLC Storage system with controller key wrapping of data encryption key in metadata of stored data item
US10754960B2 (en) * 2017-11-17 2020-08-25 Intel Corporation Support for increased number of concurrent keys within multi-key cryptographic engine
US11038672B2 (en) * 2018-06-01 2021-06-15 Duality Technologies, Inc. Secure and distributed management of a proxy re-encryption key ledger
US11128460B2 (en) 2018-12-04 2021-09-21 EMC IP Holding Company LLC Client-side encryption supporting deduplication across single or multiple tenants in a storage system
US11019033B1 (en) 2019-12-27 2021-05-25 EMC IP Holding Company LLC Trust domain secure enclaves in cloud infrastructure
CN115544530A (zh) * 2021-06-30 2022-12-30 阿里巴巴新加坡控股有限公司 密钥管理系统及其实现密钥管理的方法和计算节点
US20230031380A1 (en) * 2021-07-30 2023-02-02 APPDIRECT, Inc. Encryption key rotation

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200199A (ja) * 1995-12-22 1997-07-31 General Instr Corp Of Delaware ハッシュキーを使用した暗号サインの生成方法及び装置
JP2004194271A (ja) * 2002-10-18 2004-07-08 Toshiba Corp 暗号化記録装置、再生装置及びプログラム
JP2004259262A (ja) * 2003-02-07 2004-09-16 Matsushita Electric Ind Co Ltd 端末装置及びそれを備えたデータ保護システム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673316A (en) * 1996-03-29 1997-09-30 International Business Machines Corporation Creation and distribution of cryptographic envelope
JP2001209583A (ja) * 2000-01-26 2001-08-03 Sony Corp データ記録再生器およびセーブデータ処理方法、並びにプログラム提供媒体
US20020157002A1 (en) * 2001-04-18 2002-10-24 Messerges Thomas S. System and method for secure and convenient management of digital electronic content
JP4190253B2 (ja) * 2002-10-31 2008-12-03 大日本印刷株式会社 コントラスト向上シートおよび背面投射型スクリーン
JP2004199138A (ja) * 2002-12-16 2004-07-15 Matsushita Electric Ind Co Ltd メモリデバイスとそれを使用する電子機器
JP3810425B2 (ja) * 2004-12-16 2006-08-16 松下電器産業株式会社 改竄検出用データ生成方法、および改竄検出方法及び装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09200199A (ja) * 1995-12-22 1997-07-31 General Instr Corp Of Delaware ハッシュキーを使用した暗号サインの生成方法及び装置
JP2004194271A (ja) * 2002-10-18 2004-07-08 Toshiba Corp 暗号化記録装置、再生装置及びプログラム
JP2004259262A (ja) * 2003-02-07 2004-09-16 Matsushita Electric Ind Co Ltd 端末装置及びそれを備えたデータ保護システム

Also Published As

Publication number Publication date
JP4606421B2 (ja) 2011-01-05
JPWO2006068152A1 (ja) 2008-06-12
US20080212770A1 (en) 2008-09-04

Similar Documents

Publication Publication Date Title
JP4606421B2 (ja) 鍵情報生成方法および装置,鍵情報更新方法,改竄検出方法および装置,鍵情報のデータ構造
JP3810425B2 (ja) 改竄検出用データ生成方法、および改竄検出方法及び装置
JP4140863B2 (ja) 暗号によって保護されたページング・システム
JP5306465B2 (ja) セキュアなメモリに応用するメッセージ認証コードの事前計算
US6834333B2 (en) Data processing device, data storage device, data processing method, and program providing medium for storing content protected under high security management
US7734920B2 (en) Information processing apparatus, information processing method, information providing medium, information decryption apparatus, and information recording medium
US20030084308A1 (en) Memory encryption
US20020073326A1 (en) Protect by data chunk address as encryption key
WO2001078298A1 (fr) Systeme et procede de traitement d&#39;informations
CN110289946A (zh) 一种区块链钱包本地化文件的生成方法及区块链节点设备
JP4843563B2 (ja) 情報記録媒体のセキュリティ方法、情報処理装置及びプログラム
CN113434876A (zh) 一种数据加密方法、装置、内存控制器、芯片及电子设备
WO2022003327A1 (en) Integrity tree for memory security
JP6205272B2 (ja) デジタル情報の保護方法、装置およびコンピュータによるアクセス可能な記録媒体
JP4864456B2 (ja) 改竄検出用データ生成方法
JP2002290395A (ja) 情報端末装置
JPH10293724A (ja) ユニット装置、復号化ユニット装置、暗号化ユニット装置、暗号処理システム、暗号化方法及び復号化方法
WO2021044465A1 (ja) 暗号化装置、復号装置、コンピュータプログラム、暗号化方法、復号方法及びデータ構造
CN100571135C (zh) 窜改检测用数据的生成方法、窜改检测方法及装置
JP2000305850A (ja) 電子化データ保護システム、使用許諾者側装置および使用者側装置
JP2021092634A (ja) 平文暗号化復号化方法および平文暗号化復号化装置
JP2004145905A (ja) ソフトウェアコピー処理装置、ソフトウェアコピー処理方法およびソフトウェアをコピーするプログラムを記録したコンピュータ読み取り可能な記録媒体
Book et al. Content Protection for Recordable Media Specification
JP2000349749A (ja) 秘密鍵管理装置及びコンピュータ読み取り可能な記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KN KP KR KZ LC LK LR LS LT LU LV LY MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2006549011

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 05819454

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 11793702

Country of ref document: US