WO2001078299A1 - Information processing system and method - Google Patents

Information processing system and method Download PDF

Info

Publication number
WO2001078299A1
WO2001078299A1 PCT/JP2001/002929 JP0102929W WO0178299A1 WO 2001078299 A1 WO2001078299 A1 WO 2001078299A1 JP 0102929 W JP0102929 W JP 0102929W WO 0178299 A1 WO0178299 A1 WO 0178299A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
node
data
ekb
information processing
Prior art date
Application number
PCT/JP2001/002929
Other languages
English (en)
French (fr)
Inventor
Ryuji Ishiguro
Yoshitomo Osawa
Tateo Oishi
Tomoyuki Asano
Atsushi Mitsuzawa
Original Assignee
Sony Corporation
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 Sony Corporation filed Critical Sony Corporation
Priority to EP01919777A priority Critical patent/EP1185021B1/en
Priority to US09/980,952 priority patent/US7505599B2/en
Priority to DE60126540T priority patent/DE60126540T2/de
Priority to CNB018016278A priority patent/CN100376091C/zh
Priority to DK01919777T priority patent/DK1185021T3/da
Priority to CA002372510A priority patent/CA2372510A1/en
Publication of WO2001078299A1 publication Critical patent/WO2001078299A1/ja
Priority to US11/342,162 priority patent/US7707410B2/en

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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/109Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • 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/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2109Game systems

Definitions

  • the present invention relates to an information processing system, an information processing method, an information recording medium, and a program providing medium, and more particularly to a system and method for distributing a cryptographic processing key in a system involving cryptographic processing. .
  • a tree-structured hierarchical key distribution method and reconstructing the hierarchical key distribution array according to the distribution device to reduce the amount of data included in the distribution keep
  • An information processing system that reduces the amount of messages to be distributed, reduces the load on data distribution when updating content keys or updating various keys, and maintains data security.
  • the present invention relates to a method, an information recording medium, and a program providing medium. 2.
  • Content software data
  • game programs such as game programs, audio data, and image data
  • networks such as the Internet or DVDs and CDs.
  • Distribution via various storage media is increasing.
  • These distributed contents can be received and played back by a user's PC (Personal Computer) or game machine, or installed on a storage medium, or recorded in a recording / playback device attached to the PC or the like. It is stored on a device, for example, a memory card, hard disk, etc., and is used by new playback from a storage medium.
  • Information devices such as video game machines and PCs, have interfaces for receiving distribution content from the network or accessing DVDs, CDs, etc., and control means and programs required for content reproduction.
  • the data It has RAM, ROM, etc. used as a memory area.
  • Various contents such as music data, image data, and programs are provided by a user instruction from a game device used as a playback device, an information device main body such as a PC, or a user instruction via a connected input means. It is called from the storage medium and played through the information equipment itself or the connected display or speaker.
  • One method of restricting usage for users is to encrypt distributed content. That is, for example, various contents such as voice data, image data, game programs, etc., which are encrypted via the Internet or the like, are distributed, and the distributed encryption is provided only to a person who is confirmed to be a legitimate user.
  • This is a means for decrypting the content, that is, a configuration for providing a decryption key.
  • the encrypted data can be returned to a decrypted data (plaintext) that can be used by a decryption process according to a predetermined procedure.
  • a decrypted data plaintext
  • a one-time encryption and decryption method using an encryption key for such information encryption processing and a decryption key for decryption processing has been well known.
  • the encryption key and the decryption key used for the above-described encryption processing and decryption are, for example, It can be obtained by applying a one-way function such as a hash function based on a password or the like.
  • a one-way function is a function that makes it very difficult to find its input from its output.
  • a one-way function is applied with a password determined by a user as an input, and an encryption key and a decryption key are generated based on the output.
  • a method that uses a different algorithm for processing using an encryption key used for encryption and processing for a decryption key used for decryption is a so-called public key encryption method.
  • the public key encryption method uses a public key that can be used by an unspecified user, and encrypts an encrypted document for a specific individual using a public key issued by the specific individual. Documents encrypted with the public key can be decrypted only with the private key corresponding to the public key used for the encryption. Since the private key is owned only by the individual who issued the public key, documents encrypted with the public key can be decrypted only by the individual who has the private key.
  • a typical public key encryption method is RSA (Rivest-Shami r-Adleman) encryption.
  • the content is encrypted and provided to the user by storing it on a network or a recording medium such as a DVD or a CD, and the content key for decrypting the encrypted content is provided only to the legitimate user.
  • a network or a recording medium such as a DVD or a CD
  • the content key for decrypting the encrypted content is provided only to the legitimate user.
  • Many configurations have been adopted.
  • Content keys for preventing unauthorized copying of the content keys themselves are provided to authorized users, and the content keys can be used by decrypting the encrypted content keys using the decryption keys possessed only by the authorized users. Has been proposed.
  • the determination as to whether or not the user is a legitimate user is generally performed, for example, by executing an authentication process between the content provider that is the sender of the content and the user device before distributing the content or the content key.
  • a party key is confirmed, a session key valid only for the communication is generated, and when authentication is established, data is generated using the generated session key.
  • communication is performed by encrypting the content or the content key.
  • the public key method the computational load is large and the required amount of memory is large, and it is not a desirable configuration to provide such a processing means in each device.
  • the hierarchical key distribution tree is reconfigured according to the distribution device to reduce the amount of data contained in the distribution keep-gate, thereby reducing the data S of the encryption key and reducing the load on data transmission.
  • An information processing system is an information processing system that distributes encrypted message data that can be used only in one or more selected devices.
  • Each device has a unique key set for each node and a unique leaf key for each device in a hierarchical tree structure with multiple different devices as leaves. It has encryption processing means for executing decryption processing on the distributed encrypted message data using the key set.
  • the encrypted message data provided to the device is defined as one node of the hierarchical tree structure being a vertex node, and a node key in a group consisting of nodes and leaves connected below the vertex node.
  • This is a data configuration encrypted by the update node key obtained by the above.
  • the activation key block (EKB) consists of a data part consisting of an encryption key This is a configuration including a tag part as position identification data in a hierarchical array structure of the encryption key data stored in the evening part.
  • the encryption key data included in the activation key block (EKB) is obtained by encrypting a node key constituting a hierarchical tree structure using a lower node key or a lower leaf key.
  • the position identification data stored in the evening part is the encryption key data at the lower left / right node or leaf position of each of the one or more encryption key data stored in the activation key block (E KB). It is configured as a tag that indicates the presence or absence of.
  • the encryption key data included in the activation key block (EKB) is such that the terminal node or leaf capable of decrypting the activation key block (EKB) is located at the bottom.
  • the restructured hierarchy that is reconstructed by selecting the paths that make up the simplified two-branch tree and omitting unnecessary nodes is configured based only on the keys corresponding to the nodes or reefs of the tree.
  • the position identification data stored in the tag section is configured to include data indicating whether the encryption key corresponding to the tag of the activation key block (EKB) is stored.
  • the encryption key data included in the activation key block (EKB) is simplified by setting the terminal node or leaf capable of decrypting the activation key block (EKB) to the lowest level.
  • the restructured hierarchy that is reconstructed by selecting the paths that make up the split two-branch tree and omitting the unnecessary nodes is configured based only on the keys corresponding to the nodes or leaves of the tree.
  • the position identification data stored in the tag part is the encryption key data of the lower left and right nodes or leaf positions of each of the one or more encryption keys stored in the activation key block (EKB). Includes data indicating presence / absence and data indicating whether the encryption key corresponding to the tag is stored.
  • the reconstructed hierarchical tree is a tree configured by selecting a subroot that is a vertex node of an entity defined as a subset of devices having common elements. .
  • the encryption key data included in the activation key block (EKB) includes the activation key block (EKB).
  • EKB activation key block
  • the position identification data stored in the evening part which is constructed based only on the keys corresponding to the vertex nodes and the terminal nodes or leaves of the reconstructed hierarchical tree that is reconstructed, is an activation key block (EKB). It is configured to include data indicating whether or not the encryption key corresponding to the tag is stored.
  • the reconstructed hierarchy tree is composed of a vertex node forming a simplified multi-branch tree, and a terminal node or leaf forming the simplified tree.
  • the cryptographic processing means in the device includes a tag unit of the enabling key block (EKB).
  • EKB enabling key block
  • the message data is a content key usable as a decryption key for decrypting the content.
  • the message data is an authentication key used in an authentication process.
  • the 'message data' is a content integrity 'check value (ICV) generation key.
  • IOV content integrity 'check value
  • the message data is a program code.
  • An information processing method is an information processing method for distributing encrypted message data usable only in one or more selected devices.
  • one node of a hierarchical tree structure having a plurality of different devices as leaves is set as a top node, and at least a node key in a group constituted by nodes and leaves connected below the top node is set.
  • An updated node key that has been updated either, and the updated node key is encrypted with the group node key or leaf key
  • the validity of generating an activation keep packet (EKB) including the data part including the encryption key data and the tag part as the position identification data in the hierarchical tree structure of the encryption key data stored in the data part It has an encryption key block (EKB) generation step, and a message data distribution step of generating message data encrypted with an update node key and delivering it to the device.
  • EKB activation keep packet
  • EKB encryption key block
  • an encrypted message It has a decryption processing step for performing decryption processing for evening using a key set.
  • the activation key block (EKB) generating step includes encrypting a node key constituting the hierarchical tree structure using a lower node key or a lower leaf key to generate encrypted key data. And a tag indicating the presence or absence of encryption key data at the left or right node or leaf position below each node position of one or more encryption key data stored in the activation key block (EKB) And storing it in the tag section.
  • the activation key block (EKB) generation step is a simplified step in which the terminal node or leaf capable of decoding the activation key block (EKB) is at the bottom.
  • a step of generating a restructured hierarchy tree by selecting a path constituting the branch type tree and omitting unnecessary nodes, and validating only based on keys corresponding to constituent nodes or leaves of the restructured hierarchy tree. (EKB) is generated, and a step of storing in the tag section a data indicating whether or not an encryption key corresponding to the evening of the activation key block (EKB) is stored.
  • the step of generating the reconstructed hierarchical tree includes selecting and executing a subroot that is a vertex node of an entity defined as a subset of devices having common elements. This is the tree generation process performed.
  • the activation key block (EKB) generation step includes the step of decoding the activation key block (EKB).
  • EKB activation key block
  • a simplified multi-branch tree with one node or leaf at the bottom by selecting a path directly connecting the terminal node or leaf and the top of the multi-branch tree, eliminating unnecessary nodes Generating a reconstructed hierarchy tree to be reconstructed; and storing data indicating whether or not an encryption key corresponding to the tag of the activation key block (EKB) is stored in the evening part.
  • the reconstructed hierarchy tree generated in the step of generating the reconstructed hierarchy tree includes a vertex node constituting the simplified multi-branch tree and a simplified tree. Creates a tree with three or more branches that are directly connected to the terminal nodes or leaves that make up.
  • the decryption processing step includes the step of: An update node key obtaining step of obtaining an update node key by sequentially extracting data and executing a sequential decryption process, and a message data decryption step of executing decryption of the encrypted message data by the update node key are included.
  • the message data is a content key that can be used as a decryption key for decrypting the content data.
  • the message data is an authentication key used in an authentication process.
  • the message data is a content integrity check value (ICV) generation key.
  • IOV content integrity check value
  • the message data is a program code.
  • the information recording medium is an information recording medium storing data (this information recording medium has one node of a hierarchical tree structure having a plurality of different devices as leaves as a vertex node, and An updated node key that has updated at least one of the node keys in the group consisting of nodes and leaves connected to the lower level, and the updated node key as the node's node key or leaf key Therefore, an enabling key block (EKB) that includes a data part composed of encrypted encryption key data and an evening part as position identification data in a hierarchical array structure of the encryption key data stored in the data part. ) And the message data encrypted by the updated node key.
  • EKB enabling key block
  • the encryption key included in (EKB) is a key obtained by encrypting a node key constituting a hierarchical tree structure using a lower node key or a lower leaf key.
  • the location identification data stored in the evening part was stored in the activation key block (EKB).
  • the reconstructed hierarchy is reconstructed by omitting unnecessary nodes, and is configured based only on the keys corresponding to the nodes or leaves of the one of the reconstructed layers.
  • the location identification data stored in the evening part is configured to include data indicating whether or not the encryption key corresponding to the tag of the activation key block (EKB) 'is stored.
  • a program providing medium provides a node tree in a group composed of a node and a leaf that are connected to one node of a hierarchical tree structure having a plurality of different devices as leaves as a vertex node and a node connected below the vertex node.
  • a computer that causes a computer system to generate at least one of the updated node keys and an update key key (EKB) generated by encrypting the updated node key with the node's node key or leaf key.
  • EKB update key key
  • a step of generating a reconstructed hierarchy tree by selecting a path constituting a simplified two-branch type tree with a terminal node or leaf at the bottom that can decode (E KB) and omitting unnecessary nodes.
  • an encryption key distribution configuration having a hierarchical (tree) structure by using an encryption key distribution configuration having a hierarchical (tree) structure, the amount of distribution messages required for key update is kept small.
  • each device is arranged on each leaf (reef) of the n-ary tree, for example, via a recording medium or a communication line, for example, a content key as an encryption key for content data or authentication.
  • the authentication key used for processing or the program code is distributed together with the activation key.
  • the activation key block is composed of an encryption key data part and a tag part that indicates the position of the encryption key, so that the data amount can be reduced, and the decryption process in the device can be prepared and executed quickly. And With this configuration, it is possible to safely deliver data that only a legitimate device can decrypt.
  • the program providing medium is, for example, a medium that provides a computer program in a computer-readable format to a general-purpose computer system that can execute various programs.
  • the form of the medium is not particularly limited, such as a recording medium such as CD, FD, and MO, or a transmission medium such as a network.
  • Such a program providing medium defines a structural or functional cooperative relationship between a computer program and a providing medium for realizing a predetermined combination program function on a computer system. It is. In other words, by installing the computer program into the computer system via the distribution medium, a cooperative action is exerted on the computer system, and the same as in other aspects of the present invention. The effect of the above can be obtained.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system according to the present invention.
  • FIG. 2 is a configuration example of a recording / reproducing apparatus applicable to the information processing system of the present invention.
  • FIG. 3 is a diagram illustrating a structure of a key for explaining an encryption process of various keys and data in the information processing system of the present invention.
  • FIGS. 4A and 4B are diagrams showing examples of an enabling key block (EKB) used for distribution of various keys and data in the information processing system of the present invention.
  • EKB enabling key block
  • FIG. 5 is a diagram showing an example of distribution and an example of decryption processing using a content key activation key block (EKB) in the information processing system of the present invention.
  • EKB content key activation key block
  • FIG. 6 is a diagram showing a format example of an enabling key block (EKB) in the information processing system of the present invention.
  • EKB enabling key block
  • FIGS. 7A to 7C are diagrams for explaining the configuration of the tag of the enabling key block (EKB) in the information processing system of the present invention.
  • FIG. 8A and FIG. 8B are diagrams showing an example of a data configuration for distributing together an activation keep up (E KB), a content key, and a content in the information processing system of the present invention.
  • FIG. 9 is a diagram showing an example of processing in a device when the activation key block (EKB), the content key, and the content are distributed together in the information processing system of the present invention.
  • EKB activation key block
  • FIG. 10 is a diagram for explaining the correspondence when the enabling key block (EKB) and the content are stored in the recording medium in the information processing system of the present invention.
  • FIG. 11A and FIG. 11B are diagrams comparing the process of transmitting the activation key (EKB) and the content key in the information processing system of the present invention with the conventional transmission process.
  • FIG. 12 is a diagram showing an authentication processing sequence using a common key cryptosystem applicable to the information processing system of the present invention.
  • FIG. 13 is a diagram (part 1) illustrating a data configuration for distributing an activation key block (EKB) and an authentication key together in the information processing system of the present invention, and a processing example in a device.
  • EKB activation key block
  • FIG. 14 is a diagram showing a data configuration for distributing an activation key block (EKB) and an authentication key together in the information processing system of the present invention, and a processing example in a device. 2).
  • EKB activation key block
  • FIG. 15 is a diagram showing an authentication processing sequence by a public key cryptosystem applicable to the information processing system of the present invention.
  • FIG. 16 is a diagram illustrating a process of distributing an enabling key block (EKB) and a content key together using an authentication process based on a public key cryptosystem in the information processing system of the present invention.
  • EKB enabling key block
  • FIG. 17 is a diagram showing a process of distributing an activation key block (EKB) and encrypted program data together in the information processing system of the present invention.
  • EKB activation key block
  • FIG. 18 is a diagram showing an example of generating a MAC value used for generating a content integrity check value (ICV) applicable in the information processing system of the present invention.
  • FIG. 19 is a diagram (part 1) showing a data configuration for distributing an enabling key block (EKB) and an ICV generation key together in the information processing system of the present invention, and a processing example in a device. .
  • EKB enabling key block
  • FIG. 20 is a diagram (part 2) illustrating a data configuration for distributing an enabling key block (EKB) and an ICV generation key together in the information processing system of the present invention, and a processing example in a device.
  • EKB enabling key block
  • FIG. 21A and FIG. 21B are diagrams for explaining a copy prevention function when a content integrity 'check value (ICV) applicable to the information processing system of the present invention is stored in a medium.
  • IOV content integrity 'check value
  • FIG. 22 is a diagram for explaining a configuration for managing a content integrity check value (ICV) applicable to the information processing system of the present invention separately from a content storage medium.
  • IOV content integrity check value
  • FIG. 23 is a diagram illustrating an example of category classification in a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 24A and FIG. 24B are diagrams for explaining a process of generating the simplification enabling key block (EKB) in the information processing system of the present invention.
  • FIG. 25A and FIG. 25B are diagrams for explaining the generation process of the activation keep-up (EKB) in the information processing system of the present invention.
  • FIG. 26A and FIG. 26B are diagrams for explaining the simplification enabling key procedure (EKB) (Example 1) in the information processing system of the present invention.
  • FIG. 27A and FIG. 27B are diagrams illustrating a simplified enabling key block (EKB) (Example 2) in the information processing system of the present invention.
  • FIGS. 28A to 28C are diagrams illustrating an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 29A to FIG. 29C are diagrams illustrating details of the entity management configuration having a hierarchical structure in the information processing system of the present invention.
  • FIGS. 30A and 3B are diagrams illustrating an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 31 is a diagram illustrating a reserved node in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention. '.
  • FIG. 32 is a diagram illustrating a new entity registration processing sequence in an entity management configuration having a hierarchical structure in the information processing system of the present invention.
  • FIG. 33 is a diagram illustrating the relationship between a new entity and a higher-level entity in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 34A and FIG. 34B are diagrams illustrating a sub EKB used in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIGS. 35A to 35D are diagrams for explaining device revocation processing in the entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 36 is a diagram illustrating a device revocation processing sequence in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIGS. 37A and 37B are diagrams for explaining the update sub EKB at the time of device revocation in the entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 38A to FIG. 38D are diagrams illustrating an entity revocation process in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 39 is a diagram illustrating an entity revocation processing sequence in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 40 is a diagram for explaining the relationship between a revoked entity and an upper entity in an entity management configuration having a hierarchical structure in the information processing system of the present invention.
  • FIG. 41 is a diagram for describing the setting of the capacity in the entity management configuration having a hierarchical structure in the information processing system of the present invention.
  • FIG. 42 is a diagram illustrating the setting of the capacity in the entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIGS. 43A and 43B are views for explaining the configuration of a capacity management table managed by a key issuing center (KDC) in the information processing system of the present invention.
  • FIG. 44 is a flowchart of an EKB generation process based on a capacity management table managed by a key issuing center (KDC) in the information processing system of the present invention.
  • FIG. 45 is a diagram illustrating a capability notification process at the time of new entity registration in the information processing system of the present invention.
  • FIG. 1 shows an example of a content distribution system to which the data processing system of the present invention can be applied.
  • the content distribution side 10 encrypts the content or the content key and transmits the content or the content key to the various content playback devices of the content reception side 20.
  • the device on the receiving side 20 obtains the content or the content key by decrypting the received encrypted content or the encrypted content key, etc., and reproduces image data and audio data, or executes various programs.
  • Data exchange between the content distribution side 10 and the content reception side 20 is performed via a network such as an Internet network or via a circulating storage medium such as a DVD or CD. .
  • the content distribution side 10 is configured as, for example, a so-called server, It is composed of an existing personal computer having an information storage means such as a drive and an information processing device such as a CPU.
  • the content delivery side 10 may have the same function as a content provider described later or a service provider / application provider.
  • Each device on the content receiving side 20 acquires the content provided from the content distribution side 10 from a communication means such as a network or the medium 30.
  • FIG. 2 shows a configuration block diagram of the recording / reproducing apparatus 100 as an example of the device on the content receiving side 20 shown in FIG.
  • the recording / reproducing device 1 ⁇ 0 is an input / output I / F (Interface) 120, an MPEG (Moving Picture Experts Group) codec 1 30 An input / output I / F (Interface) equipped with an A / D and D / A converter 141. ) 140, a cryptographic processing means 150, a ROM (Read Only Memory) 160, a CPU (Central Processing Unit) 170, a memory 180, a recording medium 195, and a drive 190. Interconnected.
  • the input / output I / F 120 receives digital signals constituting various contents such as images, audio, and programs supplied from the outside, outputs them on the bus 110, and outputs the digital signals on the bus 110. Receives signals and outputs to outside.
  • the MPEG codec 130 converts the MPEG-encoded data supplied via the bus 110 into an MPEG, outputs the data to the input / output I / F 140, and outputs the input / output I / F.
  • the digital signal supplied from 140 is MPEG-encoded and output on bus 110.
  • the I / F I / F 140 has A / D and D / A comparators 141 built-in.
  • the input / output I / F 140 receives analog signals as externally supplied contents and converts them into digital signals by A / D (Analog Digital) conversion at the AZD, D / A Comparator 141. Output to MPEG codec 130 In addition, the digital signal from the MPEG codec 130 is D / A (Digital Analog) converted by the A / D and D / A converter 141 to be output to the outside as an analog signal.
  • a / D Analog Digital
  • the encryption processing means 150 is composed of, for example, a one-chip LSI (Large Scale Integrated Curcuit), and performs encryption, decryption processing, or authentication processing of digital signals as content supplied via the path 110. It has a configuration to execute and output encrypted data, decrypted data, etc. on the bus 110.
  • the cryptographic processing means 150 is not limited to one-chip LSI, but can be realized by a configuration combining various software or hardware. The configuration as the processing means by the software configuration will be described later.
  • the ROM 160 stores program data processed by the recording / reproducing device.
  • the CPU 170 controls the MPEG codec 130, the encryption processing means 150, and the like by executing programs stored in the ROM 160 and the memory 180.
  • the memory 180 is, for example, a non-volatile memory, which stores programs executed by the CPU 170, data required for the operation of the CPU 170, and a set of keys used for cryptographic processing performed by the device.
  • the key set will be described later.
  • the drive 190 reads (reproduces) digital data from the recording medium 195 by driving a recording medium 195 capable of recording and reproducing digital data, outputs the digital data to the bus 110, and outputs the digital data via the bus 110.
  • the supplied digital data is supplied to the recording medium 195 for recording.
  • the recording medium 195 is a medium capable of storing digital data such as an optical disk such as a DVD or a CD, a magneto-optical disk, a magnetic disk, a magnetic tape, or a semiconductor memory such as a RAM. It is assumed that the configuration is such that it can be attached to and detached from drive 190. However, the recording medium 195 may be built in the recording / reproducing device 100.
  • the cryptographic processing means 150 shown in FIG. 2 may be configured as one one-chip LSI, or may be configured to be realized by a configuration combining software and hardware.
  • the pickers' 0 to 15 shown at the bottom of FIG. 3 are individual devices of the content receiving side 20. That is, each leaf of the hierarchical tree structure shown in Fig. 3 corresponds to a device.
  • each of the devices 0 to 15 has a key (node key) assigned to a node from its own leaf to the root in the hierarchical tree structure shown in FIG.
  • a key set consisting of leaf keys of the leaves is stored in the memory.
  • K 0 00 0 to K 1 1 1 1 shown at the bottom of FIG. 3 are leaf keys assigned to each of the devices 0 to 15, and the top K R
  • device 0 owns a leaf key 0 0 00 0 and node keys: K 0 0 0, K 0 0, K 0, and KR.
  • Device 5 has K 0101, K 010, K 01, K 0, and K R.
  • Device 15 owns K1111, K111, K11, K1, KR.
  • Fig. 3 only 16 devices (0 to 15) are shown, and the tree structure is shown as a four-stage balanced and symmetrical configuration. It is possible to have a different number of stages in each part of the tree.
  • each device included in the tree structure of FIG. 3 includes various recording media, for example, various types of devices such as DVDs, CDs, MDs, and flash memories that are embedded in a device or detachably configured in the device. Devices are included. Furthermore, various application services can coexist. On such a coexistence configuration of different devices and different applications, the hierarchical structure shown in FIG. 3, which is a content or key distribution configuration, is applied.
  • a portion surrounded by a dotted line in FIG. 3, that is, devices 0, 1, 2, and 3 are set as one group using the same recording medium.
  • the group surrounded by this dotted line For the devices included in the device, the common content is collectively encrypted and sent from the provider, the content key used commonly for each device is sent, or the provider or payment institution etc. is used from each device.
  • Institutions that send and receive data to and from each device such as content providers or payment processing institutions, collectively collect the data enclosed by the dotted line in Fig. 3, that is, devices ⁇ , 1, 2, and 3 as one group. Execute the process of sending overnight.
  • An organization that transmits and receives data to and from each device such as a content provider or a payment processing organization, functions as message data distribution means.
  • the node key and leaf key may be managed by a single key management center, or may be managed for each group by message data distribution means such as a provider or settlement institution that sends and receives various data to and from each group. It may have a configuration.
  • message data distribution means such as a provider or settlement institution that sends and receives various data to and from each group. It may have a configuration.
  • These node keys and leaf keys are updated, for example, in the event of a key leak, etc. This updating is performed by a key management center, a provider, a payment institution, or the like. '
  • three devices 0, 1, 2, and 3 included in one group have common keys K00, K0, and KR as node keys.
  • this node key sharing configuration for example, it becomes possible to provide a common content key only to the devices ⁇ , 1, 2, and 3.
  • the commonly owned node key ⁇ 00 itself is set as the content key, only the devices 0, 1, 2, and 3 can set the common content key without sending a new key. .
  • Enc (K00, Kcon) obtained by encrypting the new content key Kc0 ⁇ with the node key ⁇ 00 is stored via the network or in a recording medium, and the device 0, 1, 2 , 3, only the devices 0, 1, 2, 3 can decrypt the content key: K k using the shared node key K 00 held in each device. con can be obtained.
  • Enc (K a, Kb) indicates that Kb is encrypted using K a.
  • K (t) aaa indicates that the generation of the key K aaa is an update key of t.
  • the update key distribution process will be described.
  • the key is updated, for example, by storing a table composed of block data called an enabling key block (EKB: Enabling Key Block) shown in FIG. 4A in a network or a recording medium, for example. , 1, 2.
  • the activation keep key (EKB) is composed of an encryption key for distributing a newly updated key to devices corresponding to each leaf configuring the tree structure as shown in Fig. 3.
  • An enabling key block (EKB) is sometimes called a key renewal block (KRB: Key Renewa 1 Block).
  • the activation key block (EKB) shown in Fig. 4A is configured as professional and sock data that has a data structure that only devices that need to update the node key can update.
  • the example in Figures 4A and 4B is a block diagram created for the purpose of distributing a generation 7 updated node key to devices 0, 1, and 2 in the structure shown in Figure 3. .
  • device 0 and device 1 require K (t) 00, K (t) 0, and K (t) R as update node keys, and device 2 has K (t) R as an update node key.
  • K (t) R As is clear from FIG. 3, device 0 and device 1 require K (t) 00, K (t) 0, and K (t) R as update node keys, and device 2 has K (t) R as an update node key.
  • 7) 00 1, K (7) 00, K (t) 0, and K (7) R are required.
  • the EKB contains multiple encryption keys.
  • the encryption key at the bottom is Enc (K 00 10, K (7) 00 1).
  • This is the updated node key K (t) 00 1 encrypted with the leaf key K 0010 of device 2, and device 2 decrypts this encrypted key with its own leaf key to obtain K (t) 001 be able to.
  • K obtained by decryption Using (t) 001 the second-stage encryption key Enc (K (7) ⁇ 01, ⁇ (t) 00) from the bottom in FIG. 4A can be decrypted, and the updated node key K (t) 00 Can be obtained.
  • the encryption key Enc (K () 0 0, K (t) 0) in the second stage from the top in FIG. Decrypt the eye's encryption key Enc (K (7) 0, K (t) R) to obtain K (t) R.
  • device K 0000. K000 1 does not include node key K 000 in the object to be updated.
  • K (t) 00, K (t) 0, and K (t) R are required as update node keys. is there.
  • the device K 0000. 000 000 1 decrypts the third encryption key Enc (K 000, K (seven) 00) from the top in FIG. 4A and obtains K (t) 00.
  • devices 0, 1, and .2 can obtain the updated key K (t) R.
  • the index in Fig. 4A indicates the absolute address of the node key and leaf key used as the decryption key.
  • the node keys at the upper stage of the tree structure shown in FIG. 3 K (t) 0, K (t)
  • K (t) K (t)
  • K (t) K (t)
  • EKB modified key procedure
  • the EKB shown in Fig. 4B can be used, for example, when distributing a new content key shared by a specific group.
  • a new common content key K (t) c0n is required.
  • K (t) 00 that has updated the common node key K00 of the devices 0, 1, 2, and 3: K (seven) c 0 n Data En c (K (t) 00, K (t) con) will be distributed along with the EKB shown in Fig. 4B. This distribution makes it possible to distribute data that cannot be decrypted to devices in other groups, such as device 4.
  • devices 0, 1, and 2 use K (t) 00 obtained by processing EKB. If the above ciphertext is decrypted, the content key K (seven) con at time t can be obtained.
  • FIG. 5 shows an example of a process for obtaining the content K () c 0 n at the time point t, which is obtained by encrypting a new common content key K (seven) con using K () 00. (K (7) 00, K (7) con) and the EKB shown in Fig. 4B received via the recording medium are processed by device 0. That is, in this example, the encrypted message data by EKB is used as the content key K (t) con.
  • device 0 performs the same EKB processing as described above using the generation stored in the recording medium: the EKB at seven points and the node key K 00 stored in advance. , Node key K (seven) 0 0 is generated. Furthermore, the updated content key K (t) con is decrypted using the decrypted updated node key K (seven) 0 0, and the encrypted content key K (t) con is encrypted with the leaf key K 0 0 0 0 0 that is owned by the user in order to use it later. To pay.
  • FIG. 6 shows an example of the format of the activation key block (EKB).
  • Version 601 is an identifier indicating the version of the activation key block (EKB).
  • the version has the function to identify the latest EKB and the function to show the correspondence between the contents.
  • Debs indicates the number of layers in the hierarchical tree for the device to which the activation key block (EKB) is distributed.
  • the data pointer 603 is a pointer indicating the position of the data part in the activation key block (EKB)
  • the tag pointer 604 is the position of the tag part
  • the signature pointer 605 is the position of the signature. It is a poin evening.
  • the data section 606 stores, for example, data obtained by encrypting a node key to be updated. For example, each encryption key related to the updated node key as shown in FIG. 5 is stored.
  • the tag section 607 is a tag indicating the positional relationship between the encrypted node key and leaf key stored in the data section.
  • the tag assignment rule will be described with reference to FIGS. 7A to 7C.
  • FIGS. 7A to 7C show an example in which the activation key block (EKB) described above with reference to FIG. 4A is transmitted as data.
  • Fig. 7 B It becomes as shown in.
  • the address of the top node included in the encryption key at this time is used as the top node address.
  • the top node address is KR.
  • data Enc (K (t) 0, K (t) R) at the top is located at the position shown in the hierarchical tree shown in FIG. 7A.
  • the next data is Enc (K (7) 0 0, K (t) 0), which is located at the lower left position of the previous data on the tree. If there is data, the tag is set to 0, otherwise it is set to 1.
  • tags are set for all data, and the data strings and tag strings shown in Fig. 7C are configured.
  • the tag is set to indicate where the data Enc (Kxxx, Kyyy) is located in the tree structure.
  • the key data Enc (Kxxx, Ky yy)... Stored in the data section is simply a series of encrypted keys, so the encryption key stored as data by the tag described above is used. This makes it possible to determine the position on the wall. Without using the tag described above, using the node index corresponding to the encrypted data as in the configuration described in FIGS. 4A and 4B, for example,
  • the key position can be determined with a small amount of data by using the above-mentioned evening as index data indicating the key position.
  • a signature is an electronic signature executed by, for example, a key management center, content provider, or clearing house that issued an activation keyblock (EKB).
  • the device that received the E KB The source verifies the validity key block (EKB) issued by the valid activation key block (EKB) issuer by verifying the signature.
  • FIG. 8A shows this configuration.
  • En c (K con, entry) 801 is data obtained by encrypting the content (Content) with a content key (K con)
  • En c (KEK, Kc on) 80 2 is data obtained by encrypting the content key (K con) with a content key encryption key (KEK: Key Encryption-ey)
  • Enc (EKB, KEK) 803 validates the content key encryption key KEK Indicates that the data is encrypted by the encryption key block (EKB).
  • the content key encryption key KEK may be the node key (K000, K00-) shown in FIG. 3 or the root key (KR) itself, or the node key (K000, K00-). Or a key encrypted with a root key (KR).
  • FIG. 8B shows an example of a configuration in which a plurality of contents are recorded on a medium and each uses the same Enc (EB, KEK) 805.
  • each content is Without adding the same Enc (EKB, KEK)
  • data indicating the link destination to Enc (EKB, KEK) can be added to each data overnight.
  • FIG. 9 shows an example in which the content key encryption key KEK is configured as an updated node key K (t) 00 obtained by updating the node key K 00 shown in FIG.
  • the device 3 has been revoked (excluded) due to, for example, leakage of a key, and has been assigned to a member of another group, that is, the devices 0, 1, and 2.
  • the decoding procedure in device 0 is shown on the right side of FIG.
  • the content key Kc0n is obtained by decryption using K (t) 00, and the content is decrypted using the content key Kc0n.
  • the device 0 can use the content.
  • the devices 4, 5, 6, ... of the other groups shown in Fig. 3 receive the similar data (EK B) and use their own leaf keys and It is not possible to obtain the ten-key encryption key (KEK-K (t) 00). Similarly, the revoked device 3 cannot obtain the content key encryption key (KEK-K (t) 00) with its own reflex key or node key, and has a legitimate right. Only the device can decrypt and use the content.
  • the activation key block (EKB), content key, encrypted content, etc. can be safely distributed over the network.
  • the activation key block (EKB), content key, and encryption It is also possible to provide the user with the encrypted content stored on a recording medium such as a DVD or CD.
  • the content key obtained by decrypting the activation key (EKB) stored on the same recording medium should be used.
  • Only by leaf key and node key which only the rightful holder holds in advance The process of distributing usable encrypted content, that is, content distribution with limited available user devices can be realized with a simple configuration.
  • Fig. 10 shows an example of a configuration in which the storage medium stores the encryption content and an activation keep-up key (EKB).
  • contents C 1 to C 4 are stored on a recording medium, and further, data in which an activation keep-up packet (EKB) corresponding to each storage content is stored.
  • EKB activation keep-up packet
  • EKB—1 is used to generate a content key Kc0n1 that encrypts content C1
  • EKB— 2 is used to generate a content key Kc0n2 which is an encrypted version of the content C 2.
  • the activation key block (EKB-M) of version M is stored on the recording medium and Since C 3 and C 4 are associated with the activation key block (EKB-M), it is possible to obtain the content keys of the contents C 3 and C 4 by decrypting the activation key block (EKB-M).
  • EKB-1 and EKB-2 are It is necessary to acquire EKB-1 and EKB-2 required for decrypting the content key by new provision means, for example, network distribution or distribution by recording media, because they are not stored in Fig. 11A and Fig. 11B show examples of content key distribution using EKB when content keys are distributed between multiple devices and a comparison example of conventional content key distribution processing.
  • 1A is a conventional configuration
  • Fig. 11B is an example using the activation keep port (EKB) of the present invention.
  • Ka (Kb) is K Indicates that b is data encrypted with Ka.
  • authentication is performed between devices in order to confirm the validity of the sender and receiver of the data and to share a session key K ses used for encryption of data transmission.
  • Processing and key exchange processing (AKE: Authentication and Key Exchange) were executed, and the content key K con was encrypted and transmitted with the session key K ses on condition that the authentication was established.
  • K con by decrypting the received content Ks es (K con) encrypted with the session key using the session key, and further obtaining the obtained K c 0 n save key held by PC itself K st It can be encrypted with r and saved in its own memory.
  • Fig. 11A even if the content provider wants to distribute the data in a form that can be used only for the recording device 111 of Fig. 11A, if there is a PC and playback device in between, As shown in Fig. 11A, the authentication process is executed, and the content key is encrypted with each session key and distributed. In addition, the PC and the playback device interposed therebetween can use the security key generated and shared in the authentication process to decrypt the encrypted content key and obtain the content key.
  • an activation key block (EKB) that can be used only at the right end of FIG. 11B is generated, and the activation key block (EKB) and a node key obtained by the EKB processing, or
  • the intervening PCs, playback devices, etc. may execute EKB processing depending on their own leaf key and node key. I can't do that. Therefore, the content that can be safely used only for the authorized device without performing processing such as authentication processing at the transmission / reception device, generation of a security key, and encryption processing of the content key Kc0n using the security key.
  • the key can be distributed.
  • EKB enabling key block
  • EKB activation key program
  • EKB activation keep lock
  • the content or the content key transferred between devices always maintain the same encryption form
  • the data transmission path is stolen and recorded, and then transferred again later
  • illegal copies may be generated by so-called replay breaks.
  • the authentication key K ak used when executing this authentication process and key exchange process is distributed to the device using the above-mentioned activation key block (EKB), and is shared as a secure secret key.
  • EKB activation key block
  • Figure 12 shows a mutual authentication method (IS0 / IEC 9798-2) using a common key cryptosystem.
  • DES is used as a common key encryption method, but other methods can be used as long as the common key encryption method is used.
  • B generates a 64-bit random number Rb and transmits Rb and its own ID (b) to A.
  • A Upon receiving this, A generates a new 64-bit random number Ra, encrypts the data using the key Kab in the CES mode of DES in the order of Ra, Rb, and ID (b), and sends it to B.
  • the key Kab is a key that is stored in each recording element as a secret key common to A and B.
  • the received data is decrypted by first decrypting the ciphertext E1 with the authentication key Kab to obtain a random number Ra.
  • the ciphertext E 2 is decrypted with the authentication key K ab, and the exclusive OR of the result and E 1 is obtained to obtain Rb.
  • the ciphertext E 3 is decrypted with the authentication key Kab, and the result and E 2 And obtains ID (b).
  • ID (b) Of the Ra, Rb, and ID (b) thus obtained, it is verified whether Rb and ID (b) match those transmitted by B. If this verification passes, B authenticates A as valid.
  • B generates a security key (K ses) to be used after authentication (the generation method uses a random number). Then, in the order of R b, R a, and K se s, the data is encrypted using the authentication key K a b in the D C CBC mode, and is returned to A.
  • K ses a security key
  • A decrypts the received data with the authentication key K ab. Since the decoding method of the received data is the same as the decoding process of B, the details are omitted here. It verifies that 1 and 1 & of R b, R a, and K ses obtained in this way match those transmitted by A. If it passes this verification, A authenticates B as valid. After mutually authenticating each other, the security key K ses is used as a common key for secure communication after authentication. -If incorrect or mismatched data is found during the verification of the received data, the process is suspended assuming that mutual authentication failed.
  • a and B share a common authentication key K ab.
  • the common key K ab is delivered to the device using the above-mentioned activation key procedure (E KB).
  • either A or B generates an activation key block (EKB) that can be decrypted by the other, and an authentication key is generated by an activation key block (EKB).
  • the Kab may be encrypted and transmitted to the other device, or a third party may generate an activation key (EKB) that can be used by both devices A and B, and transmit them to devices A and B.
  • the authentication key K ab may be encrypted and distributed using the generated activation key block (EKB).
  • Figures 13 and 14 show examples of configurations in which an authentication key K ake common to multiple devices is distributed by an activation key block (EKB).
  • Figure 13 shows an example of distributing a decryptable authentication key K ak to devices 0, 1, 2, and 3.
  • Figure 14 repokes (excludes) device 3 from devices 0, 1, 2, and 3.
  • An example is shown in which an authentication key that can be decrypted is distributed only to devices 0, 1, and 2.
  • the authentication key Kak e is obtained by the update node key K (t) 00.
  • an activation key block (EKB) that can decrypt the node key K (seven) 00 updated using the node key and leaf key of each of the devices 0, 1, 2, and 3 is generated.
  • Each device first obtains an updated node key K (t) 00 by processing (decrypting) the EKB as shown on the right side of FIG.
  • Authentication key encrypted using 00: Enc (K () 00, Kake) can be decrypted to obtain an authentication key Kake.
  • the decoding procedure is shown on the right side of FIG.
  • the devices 0, 1, and 2 first obtain the updated node key (K (t) 00) 'from the received activation keep-up packet by decryption processing using the leaf key or node key held by the device.
  • an authentication key K a ke is obtained by decryption using K (t) 00.
  • the devices 4, 5, 6... of the other groups shown in FIG. 3 receive the similar data (EK B) and update their node keys (K (t) using their own leaf keys and node keys. 00) cannot be obtained. Similarly, the revoked device 3 cannot acquire the updated node key (K (t) 00) with its own leaf key or node key, and only the device having the right is authenticated. The key can be decrypted and used.
  • the data amount can be reduced and the authentication key that can be safely decrypted only by the rightful right holder can be delivered. It works.
  • EKB activation key block
  • Sig is generated for Ra, Rb, and A v (X coordinate and Y coordinate), and the public key certificate of A is obtained.
  • Ra and Rb are each 64 bits
  • the X coordinate and the total coordinate of Av are each 160 bits
  • the digital signature + is generated for a total of 448 bits.
  • B is calculated as BkxAv (Bk is a random number, but Av is a point on the elliptic curve, so scalar multiplication of the point on the elliptic curve is required), and ⁇ is AkxB V is calculated, and the lower 64 bits of the X coordinate of these points are used as a session key for the subsequent communication (when the common key encryption is a 64-bit key length common key encryption).
  • the session key may be generated from the Y coordinate, and may not be the lower 64 bits. Note that in secret communication after mutual authentication, the transmitted data may not only be encrypted with the session key, but also may be digitally signed.
  • FIG 16 shows an example of content key distribution processing using public key authentication and an activation key block (EKB).
  • authentication processing using the public key method described in Fig. 15 is executed between the content provider and the PC.
  • the content provider generates an EKB that can be decrypted using the playback device to which the content key is distributed, the node key and the leaf key of the recording medium, and performs encryption using the update node key.
  • the activation key block (EKB) are encrypted with the session key K ses generated in the authentication process between PCs and transmitted to the PC.
  • the PC decrypts the content key E (K con) that was encrypted with the updated node key and the activation key block (EKB) encrypted with the session key using the session key, and then sends it to the playback device and recording medium. I do.
  • the playback device and the recording medium decrypt the content key E (K con) that has been encrypted by the update node key and the activation key program (EKB) using its own node key or leaf key to decrypt the content key K. Get c 0 n.
  • [Content key E (Kcon) and encryption key block (EKB) that have been encrypted using the updated node key] are transmitted on condition that authentication is performed between the content provider and the PC. For example, even if a node key is leaked, data can be reliably transmitted to the other party.
  • Fig. 17 shows an example in which the program code is encrypted by an update key block (EKB), for example, and transmitted between devices.
  • the device 1 701 is a device that uses an activation key program (EKB) that can be decrypted with the node key and leaf key of the device 1 702 and a program code that has been encrypted with the updated node key included in the activation key block (EKB).
  • EKB activation key program
  • the device 1 702 processes the received EKB to obtain an updated node key, and further decrypts the program code with the obtained updated node key to obtain a program code.
  • the device 1702 further executes a process based on the obtained program code, returns the result to the device 1701, and the device 1701 further continues the process based on the result.
  • a process based on the obtained program code returns the result to the device 1701, and the device 1701 further continues the process based on the result.
  • An example is shown.
  • an integrity check value (ICV) of the content is generated in order to prevent falsification of the content, and the presence or absence of falsification of the content is determined by calculating the ICV in association with the content. I do.
  • ICV integrity check value
  • CI and C2 are content information, and a message authentication code (MAC) of important information of the content is used.
  • Fig. 18 shows an example of MAC value generation using the DES encryption processing configuration. As shown in the configuration in Fig. 18, the target message is divided into 8-byte units (hereafter, the divided messages are referred to as Ml, M2, ..., MN). (Hereinafter, referred to as IV)) and M1 are exclusive-ORed (the result is referred to as I1).
  • I 1 is put into the DES encryption unit, and is encrypted using a key (hereinafter, referred to as K 1) (the output is referred to as E 1).
  • K 1 the output is referred to as K 1
  • E 2 the exclusive OR of E 1 and M 2
  • the output I 2 is input to the DES encryption unit, and is encrypted using the key K 1 (output E 2).
  • E 2 the key that appears last
  • MAC message authentication code
  • a content integrity check value is generated by applying a hash function to the MAC value of the content and the ICV generation key. For example, if the I CV generated at the time of content generation is guaranteed to be falsified and the I CV generated based on the new content is the same, the same I CV can be obtained. If it is guaranteed and the ICVs are different, it is determined that tampering has occurred.
  • KicV which is a content integrity check value (ICV) generation key
  • EKB message data encrypted by EKB
  • FIG. 19 shows an example of distributing a decryptable check value generation key KicV to devices 0, 1, 2, and 3.
  • FIG. 20 shows revoking (exclusion) of device 3 of devices 0, 1, 2, and 3.
  • An example of distributing a check value generation key KicV that can be decrypted only to devices 0, 1, and 2 will be described.
  • FIG. 19 shows an example of distributing a decryptable check value generation key KicV to devices 0, 1, 2, and 3.
  • FIG. 20 shows revoking (exclusion) of device 3 of devices 0, 1, 2, and 3.
  • the updated node key K (t) 00 is used to encrypt the check value generation key KicV together with the encrypted node value and the node key and the refresh key in the devices 0, 1, 2, and 3.
  • Each device first obtains an updated node key K (t) 00 by processing (decrypting) the EKB, as shown on the right side of FIG. 19, and then obtains It becomes possible to obtain the check value generation key KicV by decrypting the check value generation key: Enc (K (7) 00, Kiev) encrypted using the node key K (t) 00. .
  • the decoding procedure is shown on the right side of FIG. First, the devices 0, 1, and 2 obtain the updated node key (K (7) 0 0) from the received activation keep-up packet by decryption processing using their own reflex key or node key. Next, a check value generation key K i c V is obtained by decoding with K (t) 00.
  • the devices 4, 5, 6, ... of the other groups shown in Fig. 3 receive the same data (EKB) and update their own node keys (K (t) 0 0) using their own leaf keys and node keys. Can not get. Similarly, the revoked device 3 cannot acquire the updated node key (K (t) 0 0) with its own leaf key and node key, and only the device having the right has the check value generation key. One can be decrypted and used.
  • the media 1 storing the content C1 and the content C2 together with an activation key block (EKB) capable of obtaining the content key of the content C1 and the content C2 is provided. Yes, and it is assumed that this is copied to Media 2 as it is. It is possible to copy EKB and encrypted content, and this can be used on devices that can decrypt EKB.
  • EKB activation key block
  • the configuration is such that the integrity 'check value (ICV (C1, C2)) is stored in association with the content properly stored in each medium.
  • (ICV (C 1, C 2)) is the content integrity check value of the contents C 1 and C 2 which is calculated using a hash function. 2).
  • the content 1 and the content 2 are properly stored in the media 1, and the integrity 'check value (ICV (C1, C2)) generated based on the content C1 and the content C2 Is stored.
  • the content 2 is properly stored in the medium 2, and an integrity check value (ICV (C1)) generated based on the content C1 is stored.
  • the integrity check value (ICV)
  • the ICV rewrite is illegal. It may be done by the user, and the security of the ICV may not be maintained.
  • ICV integrity check value
  • FIG. 22 An example of this configuration is shown in FIG. In Fig. 22, the content is stored on read-only media or non-copy-protected media such as ordinary MOs 2201, and the user can freely set the integrity check value (ICV) for these contents.
  • ICV integrity check value
  • the data is stored in a secure medium 222 on the host machine which is not permitted to access, and the user is prevented from rewriting the illegal integrity check value (CV).
  • CV illegal integrity check value
  • the encryption key is configured as the hierarchical tree structure shown in Fig. 3, including the root key, node key, leaf key, etc., and the content key, authentication key, ICV generation key, or program code, data, etc. are encrypted together with the activation key block (EKB).
  • EKB activation key block
  • Fig. 23 shows an example of category classification in a hierarchical tree structure.
  • the root key K r0 ot 231 is set at the top of the hierarchical tree structure
  • the node key 2302 is set at the following middle
  • the leaf key is set at the bottom.
  • One 23 3 is set.
  • Each device has an individual leaf key and a series of node keys, root keys, from the leaf key to the root key.
  • a node having an M-th stage from the top is set as a category node 2304.
  • each of the M-th nodes is a device setting node of a specific category.
  • one node of the M-th stage is set as a vertex, and nodes and leaves of the M + 1 stage and below are nodes and leaves corresponding to devices included in the category.
  • the category [Memory Stick (trademark)] is set to one node 2305 in the M-th stage in FIG. 23, and the nodes and leaves following this node are various types using the memory stick. It is set as a node or leaf dedicated to the category that includes the various devices. That is, a node 2305 or less is defined as a set of related nodes and leaves of the device defined in the memory stick category.
  • a stage several stages lower than the M stage can be set as a subcategory node 2306.
  • the node of [Reproduction only] is set as a subcategory node included in the category of the device using the memory stick at the node two levels below the category [Memory stick] node 2305 I do.
  • the node 2303 of the telephone with the music playback function included in the category of the playback-only device is set under the node 2303 of the playback-only device, which is a subcategory node, and the music playback is further subordinated.
  • [PHS] node 2308 and [mobile phone] node 2309 included in the function phone category can be set.
  • categories and sub-categories are not only device types, but also arbitrary units (eg, nodes managed by a certain manufacturer, content provider, payment institution, etc., ie, processing units, jurisdiction units, or provided service units, etc.) These are collectively referred to as entities below).
  • the category node is set as a vertex node dedicated to game machines XYZ sold by game machine manufacturers, it is possible to store and sell the lower node keys and leaf keys below the vertex node in game machines ⁇ ⁇ sold by the manufacturer.
  • the distribution of the encrypted content, or the distribution and update of various keys is performed by generating an activation key process ( ⁇ ⁇ ) consisting of a node key and a leaf key below the top node key.
  • the data can be distributed and can be used only for devices below the top node.
  • one vertex of the category stage or the subcategory stage is set. It is possible for a manufacturer or content provider that manages a node to independently generate an activation key procedure ( ⁇ ) with that node as the vertex and distribute it to devices belonging to the vertex node and below. Key update can be performed without affecting devices belonging to other categories of nodes that do not belong.
  • a key for example, a content key is sent to a predetermined device (leaf)
  • decryption is performed using the leaf key or node key owned by the key distribution destination device.
  • E KB activation key block
  • FIG. 24A when transmitting a key, for example, a content key to devices a, g, and j constituting a leaf, an activation key procedure that can be decrypted at each node of a, S, and j (E KB) and distribute it.
  • the devices a, g 3 j each execute the EKB process to obtain the K (t) root using the refresh and the node key shown in FIG. 24B, and obtain the obtained update root key.
  • the content key K (t) con is decrypted by K (t) r00t to obtain a content key.
  • the configuration of the activation key block (EKB) provided in this case is shown in Figure 25 .
  • the activation key block (EKB) shown in Fig. 25 is configured according to the format of the activation key block (EKB) described in Fig. 6 above, and corresponds to data (encryption key).
  • the tag With a tag to do. As described with reference to FIGS. 7A to 7C, the tag indicates left (L), right (R), 0 if there is data in each direction, and 1 if there is no data.
  • the device that has received the activation key block (EKB) performs the decryption processing of the encryption key sequentially based on the encryption key and the tag of the activation key block (EKB) and obtains the updated key of the upper node. Go. As shown in Fig. 25, the more the number of steps (debs) from the root to the leaf increases, the more the amount of data in the activation keep mouth (EKB) increases. The number of steps (debs) increases in accordance with the number of devices (leaves). If the number of devices to which keys are distributed is large, the amount of data in the EKB will be further increased.
  • FIGS. 26A and 26B show an example in which the activation key block (EKB) is simplified according to the key distribution device.
  • FIG. 25 it is assumed that a key, for example, a content is transmitted to devices a, g, and j that configure a leaf.
  • Build a tree consisting only of key distribution devices.
  • the tree configuration of FIG. 26B is constructed as a new tree configuration based on the configuration shown in FIG. 24B. There is no branch at all from Kr 00 7 to K j and only one branch needs to be present.To reach from Kro 0 t to Ka and K g, only a branch point is formed at K 0, The tree shown in Figure 26A with a two-branch configuration is constructed.
  • a simplified tree having only K 0 as a node is generated.
  • An Activation Key Block (EKB) for update key distribution is generated based on these simplified trees.
  • the tree shown in Fig. 26A is reconstructed by selecting a path constituting a two-branch tree with the terminal node or leaf at the bottom that can decode the activation key block (EKB) and omitting unnecessary nodes. This is a restructure hierarchy tree.
  • the activation key block (EKB) for update key distribution is constructed based only on the keys corresponding to the nodes or leaves of this restructured hierarchical tree.
  • the tag 25 stores the encrypted data of all keys from each leaf a, g, j to Kroot. , Stores encrypted data only for the nodes that make up the simplified tree.
  • the tag has a 3-bit configuration.
  • the first and second bits have the same meaning as in the example of FIG. 25, and indicate 0 if there is data in the left (L) and right (R) directions, and 1 if there is no data in that direction.
  • the third bit is a bit for indicating whether or not an encryption key is stored in the EKB; set to 1 if data is stored, and set to 0 if no data is stored. Is done.
  • the activation key block (EKB) stored in the data communication network or the storage medium and provided to the device (leaf) is, as shown in FIG. 26B, smaller than the configuration shown in FIG. Is greatly reduced.
  • Each device that has received the activation key block (EKB) shown in FIGS. 26A and 26B sequentially decodes only the data in the portion where 1 is stored in the third bit of the tag, thereby performing a predetermined operation. Decryption of the encryption key can be realized.
  • the device a decrypts the encrypted data En c (Ka, K (t) 0) with the leaf key Ka to obtain the node key K (seven) '0 and obtains the node key K (t) Encrypted data En c (K (t) 0, K by 0
  • the device j decrypts the encrypted data En c (K j, K (t) r oot) with the leaf key K j to obtain K (t) r o t.
  • the configuration described with reference to FIGS. 26A and 26B is equivalent to the activation key block (EK
  • the reconstructed hierarchy was reconstructed by selecting a path constituting a two-branch tree with the terminal node or leaf at the bottom that can decode B) and omitting unnecessary nodes.
  • the activation key procedure (EKB) for update key distribution is constructed based only on the keys corresponding to the nodes or leaves of this reconstructed hierarchical tree.
  • the reconstructed hierarchical tree shown in Fig. 26A uses the activation key block (E KB) shown in Fig. 26B in order to obtain the updated root key K (t) ro 0 t at leaves a, g, and j '. To deliver.
  • leaf j obtains the root (K (t) root) by one decryption of Enc (K j, K (7) root). Can be obtained. However, after the leaves a and g obtain K (t) ⁇ by decoding Enc (Ka, K (t) 0) or En c (Kg, K (t) 0), further, En c ( Decrypt K (7) 0, K (t) root) to obtain the root key: K (t) root. That is, leaves a and g need to execute the decoding process twice.
  • the simplified restructured hierarchical tree of FIGS. 26A and 26B is a case in which node K0 performs its own management as the management node of its lower leaves a and g, for example, as a subroot node described later. If the lower leaf is managed, it is effective to confirm that the leafs a and g have obtained the update key, but if the node 0 is not managing the lower leaf, Or, even if this is done, if the update key distribution from the upper node is permitted, the rebuilding hierarchy tree shown in Fig. 26A is further simplified, and the key of node 0 is omitted and the activation keep A token (EKB) may be generated and distributed.
  • EKB activation keep A token
  • FIGS. 27A and 27B show the configuration of such an enabling key block (EKB). Similar to FIGS. 26A and 26B, it is assumed that a key, for example, a content key is transmitted to devices a, g, and j configuring a leaf. Build a tree in which the root K r 0 0 t and each leaf a, g, j are directly connected as shown in Fig. 27A. C As shown in Fig. 27A, a node from the reconstructed hierarchical tree shown in Fig. 26A A simplified array without K0 is generated. The activation keep-key (EKB) for update key distribution is generated based on these simplified trees.
  • EKB activation keep-key
  • the peri shown in Figure 27A is a direct link between the root and the leaf that can decrypt the activation key Dock (EKB).
  • 5 is a reconstructed hierarchical tree that is reconstructed only by a single path.
  • the activation key block (EKB) for update key distribution is based solely on the keys corresponding to the leaves of this reconstructed hierarchical tree.
  • Fig. 27A is a configuration example in which the end is a leaf.
  • EKB activation keep packet
  • the reconstructed hierarchical tree has a configuration in which the apex nodes forming the simplified tree and the terminal nodes or leaves forming the simplified tree are directly connected.
  • the number of branches from the vertex node is not limited to two, and it can be configured as a tree having three or more branches according to the number of distribution nodes or leaves.
  • the activation key block (EKB) described in Fig. 25 stores data obtained by encrypting all the keys from each leaf a, g, j to K root.
  • the activation key block (EKB) described in Section 27 was configured to store leaf keys for leaves a, g, and j, K0 as a common node for a and g, and a root key.
  • the activation keep block (E KB) based on the simplified hierarchical tree shown here omits the key of node K 0, and as shown in FIG. 27B, the activation key block ( EKB).
  • the enable key block (EKB) in FIG. 27B has a 3-bit configuration like the enable key block (EKB) in FIG. 26B.
  • the first and second bits are set to 0 if there is no data in the left (L) and right (R) directions in the same manner as described with reference to FIGS. Show.
  • the third bit is a bit for indicating whether or not an encryption key is stored in the EKB, and is set to 1 if data is stored, and to 0 if there is no data. Is set. ⁇
  • each leaf a ;, g, j is represented by Enc (K a, K (t) root) or Enc (Kg, K (t) root) Enc ( The root key: K (t) root can be obtained by one decryption process of Kj, K (t) root).
  • the activation key block (EKB) generated based on the tree with the configuration directly connected to the end node or leaf is the top node and terminal node or leaf of the reconstructed hierarchical tree as shown in Figure 27B. 26A and FIG. 26B or the activation key procedure (EKB) described in FIG. 27A and FIG. 27B depending on the distribution destination device.
  • EKB effective key block
  • An entity is an aggregate block of a plurality of nodes or leaves selected from a node or a leaf constituting a tree structure as a key distribution structure.
  • An entity is a set that is set according to the type of device, or a processing unit, jurisdiction unit, or provided service that has a certain common point, such as a management unit such as a device provider, content provider, or payment institution. It is set as a set of various aspects such as units.
  • One entity is a collection of devices that fall into a common category. 'For example, by reconstructing a simplified tree similar to the one described above with the vertex nodes (subroots) of multiple entities. Generating an EKB allows the generation and distribution of a simplified enabling keep-alive (EKB) that can be decrypted on devices belonging to the selected entity.
  • EKB simplified enabling keep-alive
  • an enabling key block can be configured to be stored on an information recording medium such as an optical disk or a DVD.
  • an activation key block (EKB) including a data portion composed of the above-described encryption key data and a tag portion as a position identification data in a hierarchical array structure of the encryption key data is further provided. It is possible to provide each device with an information recording medium storing message data such as content encrypted by an update node key. The device is The encryption key data contained in the activation key block (EKB) can be extracted and decrypted sequentially according to the identification data of the tag part, and the key required for decrypting the content can be obtained to use the content. Become. Of course, the configuration may be such that the activation key block (EKB) is distributed via a network such as an Internet network.
  • a block as a set of a plurality of nodes or leaves is hereinafter referred to as an entity.
  • An entity is a set that is set according to the type of device, or a processing unit, jurisdiction unit, or provided service that has a certain common point, such as a management unit of a device provider manufacturer, a content provider, a payment institution, etc. It is set as a set of various aspects such as units.
  • FIG. 28A is a diagram for explaining a management configuration of the tree in entity units.
  • One entity is shown as a triangle in the figure.
  • one entity 27701 includes a plurality of nodes.
  • Figure 28B shows the node configuration within one entity.
  • One entity is composed of a multi-stage two-branch tree with one node as the vertex.
  • the vertex node 2 702 of the entity is referred to as a sable.
  • the ends of the tree are composed of leaves, or devices, as shown in Figure 28C.
  • ⁇ A device belongs to one of the entities that has multiple devices as leaves and has a vertex node 2702 as a subroot.
  • entities have a hierarchical structure. This hierarchical structure will be described with reference to FIGS. 29A to 29C.
  • FIG. 29A is a diagram for simplifying and explaining the hierarchical structure, in which entities A 0 1 to A nn are configured several levels below K root, and the entities A l to An , And entities B 01 to B nk, and below that, entities C 1 to C nq are set.
  • each entity has a tree shape composed of multiple stages of nodes and leaves.
  • the configuration of entity B nk is With 1 as the vertex node, it has a number of nodes up to the terminal node 2 8 1 2.
  • This entity has an identifier B nk, and performs the node key management corresponding to the nodes in the entity B nk independently of the entity B nk, so that the lower-level (child) entity set with the terminal node 2812 as the vertex Perform administration.
  • the entity B nk is under the management of a higher (parent) entity A nn having the sub route 2811 as a terminal node.
  • the configuration of the entity C n 3 is as shown in (c), with the subroot 285 1 as the top node, the terminal node 285 2 which is each device, and in this case, multiple nodes until the leaf is reached.
  • This entity has the identifier C n 3, and corresponds to the terminal node 2 8 5 2 by executing the node key corresponding to the node and leaf in the entity C n 3, and the reef key management independently of the entity C n 3 Perform leaf (device) management.
  • the entity C n 3 is under the management of a higher-order (parent) entity B n 2 having the subroot 2851 as a terminal node. Key management in each entity is, for example, key update processing, revocation processing, etc., which will be described in detail later.
  • the device which is the leaf of the lowest entity stores the node key and leaf key of each node located on the path from the leaf key of the entity to which the device belongs to the subroutine node which is the vertex node of the entity to which the device belongs.
  • the device of the terminal node 285 2 stores the keys from the terminal node (leaf) 285 2 to the sub root node 285 1.
  • An entity can have a tree structure composed of various levels.
  • the number of stages, that is, depth can be set according to the number of lower (child) entities corresponding to the terminal nodes managed by the entities, or the number of devices as leaves.
  • the root entity is the top entity with the root key.
  • entities A, B, and C are set as subordinate entities, and as subordinate entities of entity C Entity D is set.
  • the entity C 290 1 retains one or more of its end nodes as a reserved node 295 0, and when increasing its managed entity, the entity C 290 further has a multi-tiered configuration.
  • 2902 are newly established as reserved nodes 2950 as top nodes, so that the number of managed terminal nodes 2970 can be increased and the increased lower-level entities can be added to the managed terminal nodes.
  • Entities A, 3101 have subordinate entities B, C, D, etc. to be managed, and have one reserved node 3221. If the entity wants to further increase the number of lower-level entities to be managed, set its own management lower-level entities A,, 3102 in the reserved node 3 021 and the terminal node of the lower-level entities A, 3, 012 Further management + target lower-level entities: F and G can be set.
  • Lower Ente Iti A self-managing, 3 0 1 2 also, by setting one at least of its terminal node as a reserve node 3 0 2 '2, further lower entity A, 5 3 0 1 3 the setting Then, additional management entities can be added.
  • One or more reserved nodes are also reserved at the terminal nodes of the lower-level entities A ',.
  • the number of lower-level entities managed by a certain entity can be increased without limit.
  • the number of the reservoir entities is not limited to one of the terminal nodes, but may be plural.
  • an activation key block (EKB) is configured for each entity, and key updating and revocation processing are performed for each entity.
  • EKBs activation key blocks
  • multiple entities A, A,, A, have their own activation key blocks (EKBs), which are entities A, A ',
  • EKBs activation key blocks
  • FIG. 32 shows the registration processing sequence. Explanation will be given according to the sequence of FIG.
  • a new (child) entity (N—E n) added during the new tree structure is a higher-level (parent) entity.
  • Each entity has a public key in accordance with the public key encryption method, and the new entity sends its own public key to the upper-level entity (P-En) when requesting registration.
  • the higher-level entity (P-En) Upon receiving the registration request, the higher-level entity (P-En) transfers the new (child) entity's (N-En) public key to the Certificate Authority (CA), and signs the CA. Receive the public key of the new (child) entity (N-En) you added. These procedures are performed as a mutual authentication procedure between the upper entity (P-E n) and the new (child) entity (N-En).
  • the higher-level entity (P-En) permits the registration of the new (child) entity (N-En) and the new (child) entity (N-En).
  • This node key is a node key of one of the terminal nodes of the upper-level entity (P-En) and corresponds to the vertex node of the new (child) entity (N-E n), that is, the sub-root key.
  • the new (child) entity (N-En) constructs the tree structure of the new (child) entity ( ⁇ ⁇ —En), and the subroot key of the vertex node received at the vertex of the constructed tree. Set the key of each node and leaf, and generate the activation key block (EKB) in the entity.
  • the activation key block (EKB) within one entity is called a sub-EKB.
  • the higher-level entity (P—E n) generates a sub-EKB in the higher-level entity (P—E n) with the added end node added by adding a new (child) entity (N—E n) I do.
  • KDC Key Distribute Center
  • the key issuing center (KDC) can generate various types of EKBs, that is, EKBs that can be decrypted only by a specific entity or device.
  • a content provider is provided with an EKB in which a decryptable entity or device is set, and the content provider encrypts a content key based on the EKB and transmits the encrypted content key via a network or
  • the content provider By providing the content by storing it on a recording medium, it is possible to provide content that can be used only on a specific device.
  • the process of registering the sub-EKB of the new entity with the key issuing center (KDC) is not limited to the method of sequentially transferring and executing the sub-EKB via the upper-level entity. Alternatively, it may be configured to execute the process of registering the key issuance center (KDC) directly from the newly registered entity.
  • the correspondence between the upper-level entity and the lower-level entity newly added to the upper-level entity will be described with reference to FIG.
  • the lower entity is added as a managed entity of the higher entity by providing one of the terminal nodes of the higher entity as a vertex node of the newly added entity to the lower entity.
  • the entity managed by the higher-level entity which will be described in detail later, has a meaning that the higher-level entity can execute the revocation (exclusion) processing of the lower-level entity.
  • one node 3201 of the terminal node, which is a leaf of the upper entity, and the top node 3202 of the newly added entity are set as equal nodes. That is, one leaf node, one leaf of the upper node, is set as a subroot of the newly added entity. With this setting, the newly added entity is enabled under the entire tree structure.
  • Figures 34A and 34B show examples of the updated EKB generated by the upper-level entity when a newly added entity is set.
  • 34A and 34B show the configuration shown in FIG. 34A, that is, the terminal node (no de OOO) 3301 and the terminal node (no de OOl) 3302 that already exist effectively, and the newly added entity is newly added here.
  • Entity added terminal node (no del OO) When added 3303, higher rank This is an example of the sub EKB generated by the entity.
  • the sub EKB has a configuration as shown in FIG. 34B.
  • the upper node key encrypted with the effective end node key, the further upper node key encrypted with the upper node key, etc., proceed to the higher level to reach the sub root key.
  • a sub EKB is generated.
  • Each entity, as shown in Figure 34B, is a valid end node, or an upper node key encrypted with a reef key, an upper node key is further encrypted with a higher node key, and it is sequentially deeper and deeper to the sub root It has an EKB composed of encrypted data and manages it.
  • FIGS. 35A to 35D are diagrams for explaining a device revocation process by the entity at the bottom of the tree, ie, the entity managing each device.
  • Figure 35A shows the key distribution tree structure by entity management.
  • the root node is set at the highest level, and the entities A 0 l to Ann at several levels below it, B 0 1 to the lower level: B nk entity, and C 1 to cn at the lower level Entities are configured.
  • the terminal node (leaf) is an individual device, for example, a recording / reproducing device, a reproducing-only device, or the like.
  • the revoke process is executed independently by each entity. For example, in the entities C l to C n at the bottom, revoke processing of the leaf device is executed.
  • Figure 35B shows one of the entities at the bottom, entity C n, 343 ⁇ tree structure is shown.
  • the entity Cn, 3430 has a vertex node 3431, and has a configuration in which a leaf that is a terminal node has a plurality of devices. ⁇ A device to be revoked, such as a device 3432, is located in the leaf that is the terminal node.
  • the entity Cn, 3430 generates an activation key block (sub EKB) composed of the node key and leaf key in the entity Cn that has been independently updated.
  • This activation key block is a key block composed of an encryption key which cannot be decrypted by the revoke device 3432 and can be decrypted only by devices constituting another life.
  • the administrator of entity C n generates this as an updated sub-EKB.
  • the nodes 343 1: 3434 and 3435 constituting the path from the sub root to the revoked device 3432 are updated, and the updated node key can be decrypted only on leaf devices other than the revoked device 3432
  • the pro- gram configured as a secure encryption key is the update sub-EKB. This processing corresponds to the processing in which the route is replaced with the subroot key, which is the vertex key of the entity, in the revoke processing configuration described in FIGS.
  • the activation keep-up key (sub-EKB) updated by the entity C n, 3430 by the revocation processing is transmitted to the higher-level entity.
  • the upper entity is the entity B nk, 3420, and is an entity having the vertex node 3431 of the entity Cn, 3430 as a terminal node.
  • Entity: Bnk, 3420 upon receiving the activation key block (sub-EKB) from subordinate entity Cn, 3430, entity Bnk, 3420 corresponding to vertex node 3431 of entity Cnk, 3430 included in the key block
  • the terminal node 3431 is set to the key updated in the lower-level entity Cn, 3430, and the sub-EKB of the own entity Bnk, 3420 is updated.
  • Figure 35C shows the structure of the entity; Bnk, 3420.
  • the node key to be updated is a node key on the path from the sub route 3421 in FIG. 35C to the terminal node 3431 constituting the entity including the revoke device.
  • each of the paths that make up the node 3431 of the entity that sent the update sub-EKB Nodes 342 1, 3424 and 3425 are to be updated.
  • a new updated sub-EKB for entity Bnk, 3420 is generated.
  • the activation key block (sub-EKB) updated by entity Bnk, 3420 is transmitted to the upper entity.
  • the upper entity is the entity Ann, 3410, and is an entity having the vertex node 3421 of the entity Bnk, 3420 as a terminal node.
  • the entity Ann, 3410 When the entity Ann, 3410 receives the activation key block (sub-EKB) from the lower-level entity Bnk, 3420, the entity Ann, 341 0 corresponding to the vertex node 3421 of the entity Bnk, 3420 included in the key block Then, the sub-EKB of the own entity Ann, 3410 is updated by setting the end node 3421 of the subordinate entity Bnk, 3420 to the updated key in the lower entity Bnk, 3420.
  • Figure 35D shows the structure of the entity Ann, 3410.
  • the nodes to be updated are the nodes 341 1, 1 -1, 1 -1, 1 -1, 1 -1, 1 -1, 1 -1, 1 -3, 1 1, 1 s, 1 s, 1 s, 1 s, 1 s, and 1 s, which are connected to the node 342 1 of the entity that transmitted the update sub-EKB from the subroute 34 1 1 in FIG.
  • the node keys are 3414 and 3415. The node key of each of these nodes is updated to generate a new updated sub-EKB for the entity Ann, 3410.
  • FIG. 36 shows a sequence diagram of the device repoke process.
  • the device management entity (D-En) at the bottom of the tree structure performs the key update necessary to eliminate the leaves to be re-poked within the device management entity (D-En), and performs device update.
  • N Generate a new sub-EKB (D) of Titi (D—En).
  • the update sub-EKB (D) is sent to the upper entity.
  • the upper (parent) entity (PI—En) that receives the update sub-EKB (D) updates the end node key corresponding to the update vertex node of the update sub-EKB (D), and updates the sub-root from that end node.
  • Generate an update sub-EKB (PI) that updates the node key on the path leading to.
  • FIGS. 37A and 37B show an example of an enabling key procedure (EKB) generated by a higher-level entity performing an update process by a device re-poke process.
  • EKB enabling key procedure
  • FIG. 37A and 37B are diagrams illustrating an example of an EKB generated in an upper entity that has received an update sub-EKB from a lower entity including a revoke device in the configuration shown in FIG. 37A.
  • the top node of the lower entity including the revoked device corresponds to the terminal node (nodel O O) 3601 of the upper entity.
  • the upper entity updates a node key existing in a path from the sub root of the upper entity to the terminal node (no de 100) 3601 to generate a new updated sub-EKB.
  • the update sub-EKB looks like Figure 37B. Updated keys are underlined and marked with [,].
  • the node key on the path from the terminal node updated to the subsystem updated in this way is updated as an updated sub EKB in the entity.
  • Figure 38A shows the key distribution tree structure by entity management.
  • the root node is set at the top level, and the entities AO l to An n are several levels below it, B 0 1 to the lower levels; B nk entity, and the C 1 to cn are the lower levels. Entities are configured.
  • the terminal node (leaf) is an individual device, for example, a recording / reproducing device, a reproducing-only device, or the like.
  • the bottom entry, Cn, 3730 is shown in Figure 38B. It has a vertex node 3431 and a plurality of devices on the leaf that is the terminal node.
  • entity Cnk, 3720 which is the superior entity of entity Cn, 3730.
  • entity Bnk, 3720 is an entity having the vertex node 3731 of the entity Cn, 3730 as a terminal node.
  • the entity Bnk, 3720 updates the terminal node 3731 of the entity Bnk, 3720 corresponding to the vertex node 3731 of the entity Cnk, 3730 when executing the revoking of the lower-level entity Cn, 3730. It updates the node key on the path from the revoked entity 3730 to the entity Bnk, 3720 subroutine, generates an activation key block, and generates an update sub-EKB.
  • the node key to be updated is the node key on the path from the subroute 3721 in FIG. 38C to the terminal node 3731 constituting the vertex node of the revoked entity. That is, the node keys of the nodes 372 1, 3724, 3725, and 3731 are to be updated. The node key of each of these nodes is updated, and a new updated sub EKB of entity B nk, 3720 is generated.
  • the entity Bnk, 3720 does not update the terminal node 373 1 of the entity B nk, 3720 corresponding to the vertex node 37 3 1 of the entity Cnk, 3730 when revoking the lower-level entity Cn, 3730
  • the renewal sub-EKB may be generated by updating the node keys except for the terminal node 3731 on the path from the revoked entity 3730 to the entity Bnk, 3720.
  • the activation key block (sub-EKB) updated by the entity Bnk, 3720 is transmitted to the upper entity.
  • the upper entity is the entity Ann, 3710, and is an entity having the vertex node 3721 of the entity Bnk, 3720 as a terminal node.
  • Entity Ann, 37 1 0 is available from lower entity Bnk, 3720
  • the activation key block (sub EKB) is received, the entity An included in the keep mouth, the entity An corresponding to the vertex node 3721 of 3702, the terminal node 372 1 of 3710, and the subordinate entity Bnk , 3720, set the updated key, and execute the update process of the sub-EKB of its own entity, Ann, 3710.
  • Figure 38D shows the tree structure of entity Ann, 3710.
  • the nodes to be updated are the ones that make up the path connected to the node 372 1 of the entity that sent the update sub-EKB from the subroute 3711 in Fig. 38D. Nodes 37 1 1, 3 7 1 4,
  • node key of each of these nodes is updated to generate a new updated sub EKB of the entity Ann, 3710.
  • Figure 39 shows the sequence diagram of the entity revocation process. The processing procedure will be described with reference to the sequence diagram of FIG. First, the entity management entity (E ⁇ E n) that wants to revoke the entity performs the key update necessary to eliminate the revoked end node in the entity management entity (E ⁇ En), and performs entity management. New sub-EKB for entities (E—En)
  • the update sub-EKB (E) is sent to the upper entity.
  • the upper (parent) entity (P 1 -E n) that receives the update sub-EKB (E) updates the terminal node key corresponding to the update vertex node of the update sub-EKB (E), and subroots from the terminal node.
  • KDC key issuing center
  • the key issuance (KD C) is the update sub-E of all entities.
  • the updated EKB is an encryption keep-up key that cannot be decrypted by devices belonging to the revoked entity.
  • FIG. 40 shows a diagram for explaining the correspondence between the revoked lower-level entity and the revoked upper-level entity.
  • the terminal node 3901 of the upper entity is updated by the revocation of the entity, and a new sub-EKB is updated by updating the node key existing in the path from the terminal node 3901 to the subroot in the high-level entity chain. Generated. As a result, the node key of the vertex node 3902 of the revoked lower entity does not match the node key of the terminal node 3901 of the higher entity.
  • the EKB generated by the key issuance center (KDC) after the revocation of the entity is generated based on the key of the terminal node 3901 updated in the higher-level entity, and does not hold the updated key
  • the device corresponding to the leaf of the subordinate entity will not be able to decrypt the EKB generated by the key issuing center (KDC).
  • the process of revoking the entity management entity in the middle of the tree by the higher-level entity can be performed by the same process as described above.
  • the entity can revoke all of the plurality of entities and devices belonging to the subordinate of the revoked entity management entity at once.
  • the capability means what kind of content the device has, such as being able to decode a specific compressed audio data, allowing a specific audio reproduction method, or being able to process a specific image processing program. Or is it a device that can process programs, etc. That is, the definition information of the data processing capability of the device.
  • Figure 41 shows an example of an entity configuration in which the capities are defined.
  • the root node is located at the top of the key distribution array, a plurality of entities are connected to the lower layer, and each node has two branches.
  • the entity 4001 is defined as an entity having a capacity that allows any of the audio reproduction methods A, B, and C. Specifically, for example, when music data compressed by a certain audio compression program A, B, or C is distributed, devices belonging to entities configured to be less than entity 4001 decompress the compressed data. Is possible.
  • entity 4002 is audio playback method B or C
  • entity 4003 is audio playback method A or B
  • entity 4004 is audio playback method B
  • entity 4 ⁇ 05 is audio playback method C. Is defined as an entity that has the capability to process
  • the entity 4002 is defined as an entity that allows the image reproduction methods p, q, and r.
  • the entity 4022 is an image reproduction method of the methods p and q, and the entity 4002 is a method. It is defined as an entity that has the capability to reproduce the image of p.
  • Such key capability information of each entity is managed in a key issuing center (KDC).
  • KDC key issuing center
  • the key issuance center (KDC) can decrypt only the device that can reproduce the specific compression program.
  • An effective key block (EKB) can be generated based on each entity's capacity information.
  • the content provider that provides the content distributes the content key encrypted using the activation key block (EKB) generated based on the key property information, and provides each device with compressed audio data encrypted using the content key. .
  • FIG. 41 shows a configuration in which the capability information is defined for all entities, as shown in FIG.
  • the key property is defined only for the lowest entity to which the device belongs, and the key capability of the device belonging to the lowest entity is assigned to the key issuance key (KD C ),
  • the content provider may generate an enabling key block (EKB) that can be decrypted only for devices that can perform the processing desired by the content provider based on the capacity information defined in the lowest entity.
  • the capacities of entities 4101 4105 with devices defined at the end nodes are defined, and the capacities of these entities are managed by the key issuing center (KDC). is there.
  • the entity 4101 belongs to a device capable of processing method B for audio reproduction and method r for image reproduction.
  • the entity 4102 includes a device capable of processing the method A for audio reproduction and the method q for image reproduction.
  • Figures 43A and 43B show examples of the configuration of the key management table managed in the key issuing center (KDC).
  • the key property management table has a data structure as shown in Figure 43A. That is, an entity ID as an identifier for identifying each entity, a capability list indicating the capability defined for the entity, and the capability list processed by, for example, the audio data reproduction processing method (A) as shown in FIG. 43B. [1] if possible, if not possible
  • the method of setting the capacity information is not limited to such a format, and any other configuration may be used as long as the capability of the management device of the entity can be identified.
  • the capity management table further stores the sub-EKB of each entity or, if the sub-EKB is stored in another database, the identification information of the sub-EKB. Node identification data is stored.
  • the key issuance key (KD C) is an activation key block that can be decrypted only by a device that can play specific content, based on the key property management table.
  • Generate (E KB) With reference to FIG. 44, a description will be given of a process of generating an activation key block based on the key property information.
  • the key issuing center selects an entity having the specified capacity from the capacity management table. Specifically, for example, when a content provider wants to distribute reproducible data based on the audio data reproduction processing method A, the item of the audio data reproduction processing (method A) is set to [1] from the capacity list in FIG. Select the entity set to [].
  • step S4302 a list of selected entities ID constituted by the selected entities is generated.
  • step S4303 a path (a path in a key distribution tree configuration) required for the tree constituted by the selected entity ID is selected.
  • step S4304 it is determined whether or not all the paths included in the list of the selected entity ID have been selected, and a path is generated in step S4303 until the selection is completed. This means that when multiple entities are selected, each path is selected sequentially.
  • step S4305 When the selection of all the paths included in the list of the selected entity ID is completed, the process proceeds to step S4305 to construct a key distribution tree structure including only the selected path and the selected entity.
  • step S4306 the node key of the tree structure generated in step S4305 is updated to generate an updated node key.
  • the sub-EKB of the selected entity constituting the array is extracted from the capability management table, and can be decrypted only in the device of the selected entity based on the sub-EKB and the updated node key generated in step S4306.
  • the activation key block (EKB) generated in this way is used only in a device having a specific capacity, that is, becomes an enabling key block (EKB) that can be decrypted.
  • This activation key block (EKB) encrypts, for example, the content key, and encrypts the content compressed based on the specific program with the content key and provides it to the device. ) Only on the specific processable device selected by Ten is used.
  • the key issuing center KDC
  • KDC key issuing center
  • EKB activation key block
  • FIG. 45 is a diagram showing a capability notification processing sequence when a new entity participates in the key distribution tree configuration.
  • the new (child) entity (N-En) newly added during the tree construction executes a new registration request to the upper (parent) entity (P-En).
  • Each entity holds a public key in accordance with the public key cryptosystem, and the new entity sends its own public key to the upper-level entity (P-En) upon a registration request.
  • the upper entity (P-En) transfers the received public key of the new (child) entity (N-En) to the Certificate Authority (CA) and signs the CA.
  • CA Certificate Authority
  • Receive the proposal key of the new (child) entity (N-En) with the appended are performed as a procedure for mutual authentication between the higher-level entity (P-En) and the new (child) entity (N-En).
  • the higher-level entity (P-En) permits the registration of the new (child) entity (N_En) and the new (child) entity (N-En). Send the node key to the new (child) entity (N-En).
  • This node key is one of the terminal keys of the terminal node of the higher-level entity (P-En), and corresponds to the top node of the new (child) entity (N-En), that is, the sub-key.
  • the new (child) entity (N_En) constructs a tree structure of the new (child) entity (N—En), and sets the subroot key of the received vertex node at the top of the constructed tree. Set the key of each node and leaf, and generate the activation key block (sub EKB) in the entity.
  • the upper-level entity (P—En) is also the new (child) entity (N_En) With the addition of, a sub-EKB in the upper-level entity (P-En) to which the terminal node to be activated is added is generated.
  • this sub-EKB is sent to the upper-level entity (P—En). transmitted, further, it notifies the Keipapiriti information about the device to be managed by its own entity to the host entity (the new (child) entity (N--level entity, which has received the sub E KB and Keipapiriti information from E n) (P- En ) Sends the received sub-EKB, the capacity information, and the updated sub-EKB of the upper-level entity (P-En) to the key distribution center (KDC: Key Distribute Center).
  • KDC Key Distribute Center
  • the key issuance center registers the received entity sub: EKB and capacity information in the capacity management tables described in FIGS. 43A and 43B, and updates the capacity management tables.
  • the key issuing center (KDC) can generate an EKB in various modes, that is, an EKB that can be decrypted only by an entity or device having a specific capacity, based on the updated capacity management table. It becomes possible.
  • an encryption processing key block such as a content key, an authentication key, a content check value generation key, and a program data key.
  • EKB enabling key block
  • the hierarchical key distribution tree is reconstructed according to the distribution device, and activated based on the nodes and leaves included in the reconstructed simplified tree.
  • Key Proc Since it is configured to generate data, a significant reduction in the data volume of the activation key process (EKB) is realized.
  • an activation key block (EKB) based on a simplified reconstructed hierarchical tree is configured, and furthermore, as an identifier of the position of encrypted key data in the EKB.
  • the tag has a structure that includes data for determining the presence or absence of encrypted key data, so that the amount of data in the EKB can be significantly reduced and the tag in the device that has received the EKB can be saved. Extraction of the encryption key data by using EKB becomes easy, and EKB decryption processing in the device becomes efficient.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Technology Law (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • Storage Device Security (AREA)
  • Multi-Process Working Machines And Systems (AREA)
  • Facsimile Transmission Control (AREA)
  • General Factory Administration (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)

Description

明細 :
情報処理システム及び方法 技術分野 本発明は、 情報処理システム、 情報処理方法、 及び情報記録媒体、 並びにプロ グラム提供媒体に関し、 特に、 暗号処理を伴うシステムにおける暗号処理鍵を配 信するシステム及び方法に関する。 特に、 木構造の階層的鍵配信方式を用い、 さ らに、 階層的鍵配信ッリ一を配信デバィスに応じて再構築して配信キープ口ック に含まれるデ一夕量を削減することにより、 配信メ ッセージ量を小さく抑えて、 コンテンツキー配信、 あるいは各種鍵の更新の際のデータ配信の負荷を軽減し、 かつデータの安全性を保持することを可能とする情報処理システム、 情報処理方 法、 及び情報記録媒体、 並びにプログラム提供媒体に関する。 背景技術 昨今、 ゲームプログラム、 音声データ、 画像データ等、 様々なソフ トウェアデ 一夕 (以下、 これらをコンテンツ (Content) と呼ぶ) を、 インターネヅ ト等のネ ッ トワーク、 あるいは D V D、 C D等の流通可能な記憶媒体を介しての流通が盛 んになってきている。 これらの流通コンテンツは、 ユーザの所有する P C (Pers onal Computer) 、 ゲーム機器によってデ一夕受信、 あるいは記憶媒体の装着がな されて再生されたり、 あるいは P C等に付属する記録再生機器内の記録デバィス、 例えばメモリカード、 ハードディスク等に格納されて、 格納媒体からの新たな再 生により利用される。
ビデオゲーム機器、 P C等の情報機器には、 流通コンテンツをネッ トワークか ら受信するため、 あるいは D V D、 C D等にアクセスするためのインタフェース を有し、 さらにコンテンツの再生に必要となる制御手段、 プログラム、 データの メモリ領域として使用される R A M、 R O M等を有する。
音楽データ、 画像データ、 あるいはプログラム等の様々なコンテンツは、 再生 機器として利用されるゲーム機器、 P C等の情報機器本体からのユーザ指示、 あ るいは接続された入力手段を介したユーザの指示により記憶媒体から呼び出され、 情報機器本体、 あるいは接続されたディスプレイ、 スピーカ等を通じて再生され る。
ゲームプログラム、 音楽データ、 画像データ等、 多くのソフトウェア . コンテ ンヅは、 一般的にその作成者、 販売者に頒布権等が保有されている。 したがって、 これらのコンテンツの配布に際しては、 一定の利用制限、 すなわち、 正規なユー ザに対してのみ、 ソフ トウェアの使用を許諾し、 許可のない複製等が行われない ようにする、 すなわちセキュリティを考慮した構成をとるのが一般的となってい る。
ユーザに対する利用制限を実現する 1つの手法が、 配布コンテンツの暗号化処 理である。 すなわち、 例えばインターネット等を介して暗号化された音声データ、 画像データ、 ゲームプログラム等の各種コンテンヅを配布するとともに、 正規ュ 一ザであると確認された者に対してのみ、 配布された暗号化コンテンツを復号す る手段、 すなわち復号鍵を付与する構成である。
暗号化データは、 所定の手続きによる復号化処理によって利用可能な復号デ一 夕 (平文) に戻すことができる。 このような情報の暗号化処理に暗号化鍵を用い、 復号化処理に復号化鍵を用いるデ一夕暗号化、 復号化方法は従来からよく知られ ている。
暗号化鍵と復号化鍵を用いるデータ暗号化 ·復号化方法の態様には様々な種類 あるが、 その 1つの例としていわゆる共通鍵暗号化方式と呼ばれている方式があ る。 共通鍵暗号化方式は、 データの暗号化処理に用いる暗号化鍵とデ一夕の復号 化に用いる復号化鍵を共通のものとして、 正規のユーザにこれら暗号化処理、 復 号化に用いる共通鍵を付与して、 鍵を持たない不正ユーザによるデータアクセス を排除するものである。 この方式の代表的な方式に D E S (データ暗号標準: De ta encryption standard) がある。
上述の暗号化処理、 復号化に用いられる暗号化鍵、 復号化鍵は、 例えばあるパ スワード等に基づいてハッシュ関数等の一方向性関数を適用して得ることができ る。 一方向性関数とは、 その出力から逆に入力を求めるのは非常に困難となる関 数である。 例えばュ一ザが決めたパスヮードを入力として一方向性関数を適用し て、 その出力に基づいて暗号化鍵、 復号化鍵を生成するものである。 このように して得られた暗号化鍵、 復号化鍵から、 逆にそのオリジナルのデータであるパス ワードを求めることは実質上不可能となる。
また、 暗号化するときに使用する暗号化鍵による処理と、 復号するときに使用 する復号化鍵の処理とを異なるアルゴリズムとした方式がいわゆる公鬨鍵暗号化 方式と呼ばれる方式である。 公開鍵暗号化方式は、 不特定のユーザが使用可能な 公開鍵を使用する方法であり、 特定個人に対する暗号化文書を、 その特定個人が 発行した公開鍵を用いて暗号化処理を行う。 公開鍵によって暗号化された文書は、 その暗号化処理に使用された公鬨鍵に対応する秘密鍵によってのみ復号処理が可 能となる。 秘密鍵は、 公開鍵を発行した個人のみが所有するので、 その公開鍵に よって暗号化された文書は秘密鍵を持つ個人のみが復号することができる。 公開 鍵暗号化方式の代表的なものには R S A (Rivest-Shami r-Adl eman) 暗号がある。 このような暗号化方式を利用することにより、 暗号化コンテンツを正規ュ一ザに 対してのみ復号可能とするシステムが可能となる。
上記のようなコンテンッ配信システムでは、 コンテンッを暗号化してユーザに ネットワーク、 あるいは D V D、 C D等の記録媒体に格納して提供し、 暗号化コ ンテンッを復号するコンテンツキーを正当なユーザにのみ提供する構成が多く採 用されている。 コンテンツキ一自体の不正なコピー等を防ぐためのコンテンツキ —を暗号化して正当なユーザに提供し、 正当なユーザのみが有する復号キーを用 いて暗号化コンテンツキーを復号してコンテンヅキーを使用可能とする構成が提 案されている。
正当なユーザであるか否かの判定は、 一般には、 例えばコンテンツの送信者で あるコンテンツプロバイダとユーザデバイス間において、 コンテンツ、 あるいは コンテンツキーの配信前に認証処理を実行することによって行う。 一般的な認証 処理においては、 相手の確認を行うとともに、 その通信でのみ有効なセッション キーを生成して、 認証が成立した場合に、 生成したセッションキ一を用いてデー 夕、 例えばコンテンツあるいはコンテンツキーを暗号化して通信を行う。 認証方 式には、 共通鍵暗号方式を用いた相互認証と、 公鬨鍵方式を使用した認証方式が あるが、 共通鍵を使った認証においては、 システムワイ ドで共通な鍵が必要にな り、 更新処理等の際に不便である。 また、 公開鍵方式においては、 計算負荷が大 きくまた必要なメモリ量も大きくなり、 各デバイスにこのような処理手段を設け ることは望ましい構成とはいえない。
• 発明の開示 本発明では、 上述のようなデータの送信者、 受信者間の相互認証処理に頼るこ となく、 正当なユーザに対してのみ、 安全にデータを送信することを可能とする とともに、 階層的鍵配信ヅリーを配信デバィスに応じて再構築して配信キープ口 ヅクに含まれるデータ量を削減することにより、 暗号化キーのデータ Sを削減し、 デ一夕送信の負荷を軽減するとともに、 各デバイスにおける暗号化キー取得のた めの処理の軽減を可能とした情報処理システム、 情報処理方法、 及び情報記録媒 体、 並びにプログラム提供媒体を提供することを目的とする。
本発明に係る情報処理システムは、 1以上の選択されたデバイスにおいてのみ 利用可能な暗号化メッセージデータを配信する情報処理システムである。 個々の デバイスは、 複数の異なるデバイスをリーフとした階層ヅリー構造における各ノ ードに固有のメ一ドキ一と各デバイス固有のリーフキーの異なるキーセッ トをそ れそれ保有するとともに、 デバイスに対して配信される暗号化メッセージデータ についての復号処理をキーセッ トを使用して実行する暗号処理手段を有する。 デ バイスに提供される暗号化メヅセージデータは、 階層ヅリ一構造の 1つのノード を頂点ノード'とし、 頂点ノードの下位に連結されるノ一ド及びリーフによって構 成されるグループ内のノ一ドキーの少なく ともいずれかを更新した更新ノードキ 一と、 更新ノ一ドキ一をグループのノードキーあるいはリ一フキ一によって暗号 化した暗号化キーデータを含む有効化キーブロック (E K B ) の復号処理によつ て得られる更新ノードキ一によって暗号化されたデータ構成である。 有効化キー プロック (E K B ) は、 暗号化キーデ一夕によって構成されるデータ部と、 デー 夕部に格納される暗号化キーデータの階層ヅリ一構造における位置識別データと してのタグ部とを含む構成である。
さらに、 本発明の情報処理システムの一実施態様において、 有効化キーブロッ ク (EKB) に含まれる暗号化キーデータは、 階層ツリー構造を構成するノード キーを下位ノードキー又は下位リーフキーを用いて暗号化したデータである。 夕 グ部に格納される位置識別データは、 有効化キーブロック (E KB) に格納され た 1以上の暗号化キーデータ各々のノード位置の下位の左右ノード又はリーフ位 置の暗号化キーデ一夕の有無を示すタグとして構成されている。
さらに、 本発明の情報処理システムの一実施態様において、 有効化キーブロッ ク (EKB) に含まれる暗号化キーデータは、 有効化キーブロック (EKB) を 復号可能な末端ノード又はリーフを最下段とした簡略化した 2分岐型ツリーを構 成するパスを選択して不要ノードを省略することにより再構築される再構築階層 ッリーのノード又はリ一フに対応するキーのみに基づいて構成されている。 タグ 部に格納される位置識別データは、 有効化キーブロック (EKB) のタグに対応 する暗号化キーの格納の有無を示すデータを含む構成である。
さらに、 本発明の情報処理システムの一実施態様において、 有効化キーブロッ ク (EKB) に含まれる暗号化キーデータは、 有効化キープロヅク (EKB) を 復号可能な末端ノード又はリーフを最下段とした簡略化した 2分岐型ッリーを構 成するパスを選択して不要ノードを省略することにより再構築される再構築階層 ッリーのノード又はリーフに対応するキーのみに基づいて構成されている。 タグ 部に格納される位置識別データは、 有効化キーブロック (EKB) に格納された 1以上の暗号化キ一デ一夕各々のノード位置の下位の左右ノード又はリーフ位置 の暗号化キーデータの有無を示す夕グと、 タグに対応する暗号化キーの格納の有 無を示すデータを含む。
さらに、 本発明の情報処理システムの一実施態様において、 再構築階層ツリー は、 共通要素を持つデバイスの部分集合ッリーとして定義されるエンティティの 頂点ノードであるサブルートを選択して構成されるツリーである。
さちに、 本発明の情報処理システムの一実施態様において、 有効化キーブロッ ク (EKB) に含まれる暗号化キーデータは、 有効化キープロヅク (EKB) を 復号可能な末端ノード又はリーフを最下段とした簡略化した多分岐型ヅリーにお いて、 末端ノード又はリーフと、 多分岐型ツリーの頂点とを直接接続するパスを 選択して不要ノードを省略することにより再構築される再構築階層ッリーの頂点 ノード及び末端ノード又はリーフに対応するキーのみに基づいて構成されている, 夕グ部に格納される位置識別データは、 有効化キーブロック (E K B ) のタグに 対応する暗号化キーの格納の有無を示すデータを含む構成である。
さらに、 本発明の情報処理システムの一実施態様において、.再構築階層ヅリ一 は、 簡略化した多分岐型ツリーを構成する頂点ノードと、 簡略化したツリーを構 成する末端ノード又はリーフとを直接接続した 3以上の分岐を持つッリ一である < さらに、 本発明の情報処理システムの一実施態様において、 デバイスにおける 暗号処理手段は、 有効化キ一ブロック (E K B ) のタグ部のデ一夕により、 暗号 化キーデータを順次抽出して、 復号処理を実行し、 更新ノードキーを取得し、 取 得した更新ノードキーにより暗号化メッセージデータの復号を実行する構成であ る。
さらに、 本発明の情報処理システムの一実施態様において、 メッセージデータ は、 コンテンヅデ一夕を復号するための復号鍵として使用可能なコンテンツキ一 である。
さらに、 本発明の情報処理システムの一実施態様において、 メヅセージデータ は、 認証処理において用いられる認証キーである。
さらに、 本発明の情報処理システムの一実施態様において、' メッセージデータ は、 コンテンツのインテグリティ ' チェヅク値 ( I C V ) 生成キーである。
さらに、 本発明の情報処理システムの一実施態様において、 メッセージデ一夕 は、 プログラムコードである。
本発明に係る情報処理方法は、 1以上の選択されたデバイスにおいてのみ利用 可能な暗号化メッセージデータを配信する情報処理方法である。 この情報処理方 法は、 複数の異なるデバイスをリーフとした階層ッリー構造の 1つのノードを頂 点ノードとし、 頂点ノードの下位に連結されるノード及びリーフによって構成さ れるグループ内のノードキーの少なく ともいずれかを更新した更新ノードキーと、 更新ノードキ一をグループのノードキーあるいはリーフキーによって暗号化した 暗号化キーデータを含むデータ部と、 データ部に格納される暗号化キーデ一夕の 階層ヅリー構造における位置識別デ一夕としてのタグ部とを含む有効化キープ口 ヅク (EKB) を生成する有効化キ一ブロック (EKB) 生成ステヅプと、 更新 ノードキーによって暗号化したメッセージデータを生成してデバイスに対して配 信するメヅセージデータ配信ステヅプとを有する。
さらに、 本発明の情報処理方法の一実施態様において、 階層ツリー構造におけ る各ノードに固有のノードキーと各デバイス固有のリーフキ一の異なるキーセヅ トをそれそれ保有するデバイスにおいて、 暗号化メッセージデ一夕についての復 号処理をキーセッ トを使用して実行する復号処理ステツプを有する。
さらに、 本発明の情報処理方法の一実施態様において、 有効化キーブロック (E KB) 生成ステップは、 階層ツリー構造を構成するノードキーを下位ノード キー又は下位リーフキーを用いて暗号化して暗号化キーデータを生成するステツ プと、 有効化キーブロック (EKB) に格納される 1以上の暗号化キーデータ各 々のノード位置の下位の左右位置のノード又はリーフ位置の暗号化キーデータの 有無を示すタグを生成してタグ部に格納するステップとを含む。
さらに、 本発明の情報処理方法の一実施態様において、 有効化キーブロック (E KB) 生成ステップは、 有効化キープロヅク (EKB) を復号可能な末端ノ 一ド又はリーフを最下段とした簡略化した 2分岐型ヅリーを構成するパスを選択 して不要ノードを省略することにより再構築階層ッリーを生成するステップと、 再構築階層ヅリーの構成ノード又はリーフに対応するキーのみに基づいて有効化 キーブロック (EKB) を生成するステップと、 有効化キーブロック (EKB) の夕グに対応する暗号化キ一の格納の有無を示すデ一夕をタグ部に格納するステ ップとを含む。
さらに、 本発明の情報処理方法の一実施態様において、 再構築階層ツリーを生 成するステップは、 共通要素を持つデバイスの部分集合ヅリーとして定義される エンティティの頂点ノードであるサブルートを選択して実行されるヅリー生成処 理である。
さらに、 本発明の情報処理方法の一実施態様において、 有効化キーブロック (EKB) 生成ステップは、 有効化キープロヅク (EKB) を復号可能な末端ノ 一ド又はリーフを最下段とした簡略化した多分岐型ッリーにおいて、 末端ノード 又はリーフと、 多分岐型ヅリ一の頂点とを直接接続するパスを選択して不要ノー ドを省略することにより再構築される再構築階層ヅリーを生成するステップと、 有効化キーブロック (E K B ) のタグに対応する暗号化キーの格納の有無を示す データを夕グ部に格納するステップとを含む。
さらに、 本発明の情報処理方法の一実施態様において、 再構築階層ヅリーの生 成ステップにおいて生成する再構築階層ヅリーは、 簡略化した多分岐型ヅリーを 構成する頂点ノードと、 簡略化したヅリーを構成する末端ノード又はリーフとを 直接、 接続した 3以上の分岐を持つッリーとして生成する。
さらに、 本発明の情報処理方法の一実施態様において、 復号処理ステップは、 有効化キ一プロヅク (E K B ) のタグ部に格納された位置識別データに基づいて データ部に格納された暗号化キ一データを順次抽出して順次復号処理を実行する ことにより更新ノードキーを取得する更新ノードキー取得ステップと、 更新ノー ドキーにより暗号化メヅセージデータの復号を実行するメッセージデータ復号ス テツプとを含む。
ざらに、 本発明の情報処理方法の一実施態様において、 メッセージデータは、 コンテンツデ一夕を復号するための復号鍵として使用可能なコンテンツキーであ る。
さらに、 本発明の情報処理方法の一実施態様において、 メッセージデータは、 認証処理において用いられる認証キーである。
さらに、 本発明の情報処理方法の一実施態様において、 メヅセージデ一夕は、 コンテンツのインテグリティ ' チェヅク値 ( I C V ) 生成キーである。
さらに、 本発明の情報処理方法の一実施態様において、 メッセージデータは、 プログラムコードである。
さらに、 本発明に係る情報記録媒体は、 データを格納した情報記録媒体である ( この情報記録媒体は、 複数の異なるデバイスをリーフとした階層ヅリー構造の 1 つのノードを頂点ノードとし、 頂点ノードの下位に連結されるノード及びリーフ によって構成されるグループ内のノードキーの少なく ともいずれかを更新した更 新ノードキーと、 更新ノードキーをグループのノ一ドキーあるいはリーフキーに よって暗号化した暗号化キーデータによって構成されるデータ部と、 データ部に 格納される暗号化キーデータの階層ヅリ一構造における位置識別データとしての 夕グ部とを含む有効化キーブロック (EKB) と、 更新ノードキーによって暗号 ィ匕したメヅセ一ジデ一夕とを格納している。
さらに、 本発明の情報記録媒体の一実施態様において、 有効化キ一ブロック
(EKB) に含まれる暗号化キ一デ一夕は、 階層ツリー構造を構成するノードキ —を下位ノ一ドキー又は下位リーフキーを用いて暗号化したデ一夕である。 夕グ 部に格納される位置識別データは、 有効化キ一ブロック (EKB) に格納された
1以上の暗号化キーデータ各々のノ一ド位置の下位の左お位置のノ一ド又はリー フ位置の暗号化キ一データの有無を示す夕グとして構成されている。
さらに、 本発明の情報記録媒体の一実施態様において、 有効化キーブロック
(EKB) に含まれる暗号化キーデ一夕は、 有効化キ一ブロック (EKB) を復 号可能な末端ノ一ド又はリーフを最下段とした簡略化した 2分岐型ツリーを構成 するパスを選択して不要ノードを省略することにより再構築される再構築階層ッ リ一のノード又はリーフに対応するキーのみに基づいて構成されている。 夕グ部 に格納される位置識別デ一夕は、 有効化キ一プロヅク (E KB) 'のタグに対応す る暗号化キーの格納の有無を示すデータを含む構成である。
本発明に係るプログラム提供媒体は、 複数の異なるデバイスをリーフとした階 層ヅリー構造の 1つのノードを頂点ノードとし、 頂点ノードの下位に連結される ノード及びリーフによって構成されるグループ内のノードキーの少なく ともいず れかを更新した更新ノードキ一と、 更新ノードキーをグループのノ一ドキーある いはリーフキ一によって暗号化した有効化キ一プロヅク (EKB) の生成処理を コンピュータ · システム上で実行せしめるコンピュータ · プログラムを提供する プログラム提供媒体である。 コンピュータ · プログラムは、 有効化キープロヅク
(E KB) を復号可能な末端ノード又はリーフを最下段とした簡略化した 2分岐 型ッリ一を構成するパスを選択して不要ノードを省略することにより再構築階層 ヅリーを生成するステツプと、 再構築階層ッリーの構成ノード又はリーフに対応 するキ一のみに基づいて有効化キ一ブロック (EKB) を生成するステップと、 有効化キ一ブロック (EKB) のタグに対応する暗号化キーの格納の有無を示す データをタグ部に格納するステップとを含む。
本発明では、 ッリ一 (木) 構造の階層的構造の暗号化鍵配信構成を用いること により、 キ一更新に必要な配信メ ッセージ量を小さく抑えている。 すなわち、 各 機器を n分木の各葉 (リ一フ) に配置した構成の鍵配信方法を用い、 記録媒体若 しくは通信回線を介して、 例えばコンテンツデータの暗号鍵であるコンテンヅキ 一若しくは認証処理に用いる認証キ一、 あるいはプログラムコード等を有効化キ —プロヅクとともに配信する構成としている。
さらに、 有効化キーブロックを暗号化キーデータ部と、 暗号化キーの位置を示 すタグ部とによって構成し、 データ量を少なく し、 デバイスにおける復号処理を 用意かつ迅速に実疔することを可能としている。 本構成により、 正当なデバイス のみが復号可能なデータを安全に配信することが可能となる。
なお、 本発明に係るプログラム提供媒体は、 例えば、 様々なプログラム ' コ一 ドを実行可能な汎用コンビュ一夕 ' システムに対して、 コンピュータ ' プログラ ムをコンピュータ可読な形式で提供する媒体である。 媒体は、 C Dや F D、 M O などの記録媒体、 あるいは、 ネッ トワークなどの伝送媒体など、 その形態は特に 限定されない。
このようなプログラム提供媒体は、 コンピュータ · システム上で所定のコンビ ユー夕 · プログラムの機能を実現するための、 コンピュータ · プログラムと提供 媒体との構造上又は機能上の協働的関係を定義したものである。 換言すれば、 提 供媒体を介してコンピュ一タ · プログラムをコンピュータ ·.システムにインス ト —ルすることによって、 コンピュータ ' システム上では協働的作用が発揮され、 本発明の他の側面と同様の作用効果を得ることができるのである。
本発明のさらに他の目的、 特徴や利点は、 後述する本発明の実施例や添付する 図面に基づくより詳細な説明によって明らかになるであろう。 図面の簡単な説明 図 1は、 本発明の情報処理システムの構成例を説明する図である。
図 2は、 本発明の情報処理システムにおいて適用可能な記録再生装置の構成例 を示すプロック図である。
図 3は、 本発明の情報処理システムにおける各種キー、 データの暗号化処理に ついて説明するッリー構成図である。
図 4 A及び図 4 Bは、 本発明の情報処理システムにおける各種キ一、 デ一夕の 配布に使用される有効化キ一ブロック (EKB) の例を示す図である。
図 5は、 本発明の情報処理システムにおけるコンテンツキーの有効化キ一プロ ヅク (EKB) を使用した配布例と復号処理例を示す図である。
図 6は、 本発明の情報処理システムにおける有効化キーブロヅク (EKB) の フォーマツト例を示す図である。
図 7 A乃至図 7 Cは、 本発明の情報処理システムにおける有効化キ一プロヅク (EKB) のタグの構成を説明する図である。
図 8 A及び図 8 Bは、 本発明の情報処理システムにおける有効化キープ口ヅク (E KB) と、 コンテンツキ一、 コンテンヅを併せて配信するデータ構成例を示 す図である。
図 9は、 本発明の情報処理システムにおける有効化キ一ブロック (EKB) と、 コンテンツキ一、 コンテンヅを併せて配信した場合のデバイスでの処理例を示す 図である。
図 1 0は、 本発明の情報処理システムにおける有効化キーブロック (EKB) とコンテンツを記録媒体に格納した場合の対応について説明する図である。
図 1 1 A及び図 1 1 Bは、 本発明の情報処理システムにおける有効化キープ口 ヅク (EKB).と、 コンテンツキーを送付する処理を従来の送付処理と比較した 図である。
図 1 2は、 本発明の情報処理システムにおいて適用可能な共通鍵暗号方式によ る認証処理シーケンスを示す図である。
図 1 3は、 本発明の情報処理システムにおける有効化キープロ ヅク (EKB) と、 認証キーを併せて配信するデ一夕構成と、 デバイスでの処理例を示す図 (そ の 1 ) である。
図 14は、 本発明の情報処理システムにおける有効化キープロヅク (EKB) と、 認証キーを併せて配信するデータ構成と、 デバイスでの処理例を示す図 (そ の 2 ) である。
図 1 5は、 本発明の情報処理システムにおいて適用可能な公開鍵暗号方式によ る認証処理シーケンスを示す図である。
図 1 6は、 本発明の情報処理システムにおいて公開鍵暗号方式による認証処理 を用いて有効化キーブロック (EKB) と、 コンテンツキーを併せて配信する処 理を示す図である。
図 1 7は、 本発明の情報処理システムにおいて有効化キーブロック (EKB) と、 暗号化プログラムデータを併せて配信する処理を示す図である。
図 1 8は、 本発明の情報処理システムにおいて適用可能なコンテンツ ·インテ グリティ ·チェヅク値 (I CV) の生成に使用する M A C値生成例を示す図であ る。
図 1 9は、 本発明の情報処理システムにおける有効化キ一ブロック (EKB) と、 I CV生成キ一を併せて配信するデータ構成と、 デバイスでの処理例を示す 図 (その 1 ) である。
図 20は、 本発明の情報処理システムにおける有効化キ一ブロック (EKB) と、 I CV生成キ一を併せて配信するデータ構成と、 デバイスでの処理例を示す 図 (その 2 ) である。
図 2 1 A及び図 2 1 Bは、 本発明の情報処理システムにおいて適用可能なコン テンッ ·ィンテグリティ 'チェヅク値 (I CV) をメディアに格納した場合のコ ピー防止機能を説明する図である。
図 22は、 本発明の情報処理システムにおいて適用可能なコンテンツ ·ィンテ グリティ ·チェック値 (I CV) をコンテンツ格納媒体と別に管理する構成を説 明する図である。
図 23は、 本発明の情報処理システムにおける階層ツリー構造のカテゴリ分類 の例を説明する図である。
図 24 A及び図 24Bは、 本発明の情報処理システムにおける簡略化有効化キ 一プロヅク (EKB) の生成過程を説明する図である。
図 25 A及び図 25Bは、 本発明の情報処理システムにおける有効化キープ口 ック (EKB) の生成過程を説明する図である。 図 2 6 A及び図 2 6 Bは、 本発明の情報処理システムにおける簡略化有効化キ 一プロヅク (E K B ) (例 1 ) を説明する図である。
図 2 7 A及び図 2 7 Bは、 本発明の情報処理システムにおける簡略化有効化キ 一ブロック (E K B ) (例 2 ) を説明する図である。
図 2 8 A乃至図 2 8 Cは、 本発明の情報処理システムにおける階層ヅリー構造 のエンティティ管理構成について説明する図である。
図 2 9 A乃至図 2 9 Cは、 本発明の情報処理システムにおける階層ヅリ一構造 のエンティティ管理構成の詳細について説明する図である。
図 3 0 A及び図 3◦ Bは、 本発明の情報処理システムにおける階層ヅリー構造 のエンティティ管理構成について説明する図である。
図 3 1は、 本発明の情報処理システムにおける階層ツリー構造のエンティティ 管理構成でのリザ一ブノードについて説明する図である。' .
図 3 2は、 本発明の情報処理システムにおける階層ヅリ一構造のエンティティ 管理構成での新規ェンティティ登録処理シ一ケンスについて説明する図である。 図 3 3は、 本発明の情報処理システムにおける階層ツリー構造のエンティティ 管理構成での新規エンティティと上位エンティティの関係について説明する図で ある。
図 3 4 A及び図 3 4 Bは、 本発明の情報処理システムにおける階層ッリー構造 のエンティティ管理構成で用いるサブ E K Bについて説明する図である。
図 3 5 A乃至図 3 5 Dは、 本発明の情報処理システムにおける階層ッリー構造 のエンティティ管理構成でのデバイスリボーク処理について説明する図である。 図 3 6は、 本発明の情報処理システムにおける階層ツリー構造のエンティティ 管理構成でのデバイスリボーク処理シーケンスについて説明する図である。 図 3 7 A及び図 3 7 Bは、 本発明の情報処理システムにおける階層ヅリー構造 のエンティティ管理構成でのデバイスリボーク時の更新サブ E K Bについて説明 する図である。
図 3 8 A乃至図 3 8 Dは、 本発明の情報処理システムにおける階層ッリー構造 のエンティティ管理構成でのエンティティ リボーク処理について説明する図であ る。 図 3 9は、 本発明の情報処理システムにおける階層ッリー構造のエンティティ 管理構成でのエンティティ リボーク処理シーケンスについて説明する図である。 図 4 0は、 本発明の情報処理システムにおける階層ヅリ一構造のエンティティ 管理構成でのリボークェンティティ と上位エンティティの関係について説明する 図である。
図 4 1は、 本発明の情報処理システムにおける階層ヅリ一構造のエンティティ 管理構成でのケィパピリティ設定について説明する図である。
図 4 2は、 本発明の情報処理システムにおける階層ヅリー構造のエンティティ 管理構成でのケィパピリティ設定について説明する図である。
図 4 3 A及び図 4 3 Bは、 本発明の情報処理システムにおけるキー発行セン夕 ( K D C ) の管理するケィパピリティ管理テーブル構成を説明する図である。 図 4 4は、 本発明の情報処理システムにおけるキー発行センタ (K D C ) の管 理するケィパピリティ管理テーブルに基づく E K B生成処理フロー図である。 図 4 5は、 本発明の情報処理システムにおける新規エンティティ登録時のケィ パビリティ通知処理を説明する図である。 発明を実施するための最良の形態
[システム概要]
図 1に本発明のデータ処理システムが適用可能なコンテンヅ配信システム例を 示す。 コンテンツの配信側 1 0は、 コンテンツ受信側 2 0の有する様々なコンテ ンヅ再生可能な機器に対してコンテンヅ、 あるいはコンテンツキーを暗号化して 送信する。 受信側 2 0における機器では、 受信した暗号化コンテンツ、 あるいは 暗号化コンテンツキー等を復号してコンテンツあるいはコンテンツキーを取得し て、 画像データ、 音声データの再生、 あるいは各種プログラムの実行等を行う。 コンテンツの配信側 1 0 とコンテンツ受信側 2 0との間のデータ交換は、 イン夕 一ネッ ト等のネッ トワークを介して、 あるいは D V D、 C D等の流通可能な記憶 媒体を介して実行される。
コンテンツの配信側 1 0は例えば所謂サーバとして構成され、 ハードディスク ドライブなどの情報記憶手段や C P Uなどの情報処理装置を有する既存のパ一ソ ナルコンピュータで構成される。 コンテンッの配信側 1 0は後述するコンテンツ プ αバイダとして、 あるいはサービスプロバイダゃアプリケーションプロバイダ が同等の機能を有していてもよい。 コンテンツの配信側 1 ◦のデ一夕配信手段と しては、 インターネヅ ト 1 1、 衛星放送 1 2、 電話回線 1 3、 DVDs CD等の メディア 14等があり、 一方、 コンテンツ受信側 20のデバイスとしては、 パー ソナルコンビュ一夕 (P C) 2 1、 ポータブルデバイス (PD) 22、 携帯電話、 PDA (Personal Digital Assistants) 等の携帯機器 23、 DVD、 CDプレ一 ャ等の記録再生器 24、 ゲーム端末等の再生専用器 25等がある。 これらコンテ ンッ受信側 20の各デバイスは、 コンテンッ配信側 1 0から提供されたコンテン ヅをネヅ トワーク等の通信手段あるいは、 あるいはメディア 30から取得する。
[デバイス構成]
図 2に、 図 1に示すコンテンツ受信側 20のデバイスの一例として、 記録再生 装置 1 00の構成プロヅク図を示す。 記録再生装置 1 ◦ 0は、 入出力 I /F (In terface) 120、 MPEG (Moving Picture Experts Group) コ一デック 1 30 A/D, D/ Aコンバータ 141を備えた入出力 I /F (Interface) 140、 暗 号処理手段 150、 ROM (Read Only Memory) 160、 CPU (Central Proc essing Unit) 1 70、 メモリ 1 80、 記録媒体 1 95のドライブ 1 90を有し、 これらはバス 1 1 0によって相互に接続されている。
入出力 I/F 1 20は、' 外部から供給される画像、 音声、 プログラム等の各種 コンテンヅを構成するディジタル信号を受信し、 バス 1 1 0上に出力するととも に、 バス 1 10上のディジタル信号を受信し、 外部に出力する。 MP EGコーデ ヅク 1 30は、 バス 1 1 0を介して供給される MP E G符号化されたデータを、 MP EGデコ一ドし、 入出力 I/F 140に出力するとともに、 入出力 I/F 1 40から供給されるディジタル信号を MP E Gエンコードしてバス 1 10上に出 力する。 入出力 I /F 140は、 A/D , D/Aコンパ一夕 14 1を内蔵してい る。 入出力 I/F 140は、 外部から供給されるコンテンツとしてのアナログ信 号を受信し、 AZD, D/Aコンパ'一夕 141で A/D (Analog Digital) 変換 することで、 ディジタル信号として、 MPEGコーデヅク 130に出力するとと もに、 MPEGコーデヅク 130からのディジタル信号を、 A/D, D/Aコン バ一タ 14 1で D/A (Digital Analog) 変換することで、 アナログ信号として、 外部に出力する。
暗号処理手段 1 50は、 例えば、 1チップの L S I (Large Scale Integrated Curcuit) で構成され、 パス 1 1 0を介して供給されるコンテンツとしてのディ ジタル信号の暗号化、 復号処理、 あるいは認証処理を実行し、 暗号データ、 復号 データ等をバス 1 1 0上に出力する構成を持つ。 なお、 暗号処理手段 1 50は 1 チヅプ L S Iに限らず、 各種のソフ トウエア又はハードウエアを組み合わせた構 成によって実現することも可能である。 ソフトウヱァ構成による処理手段として の構成については後段で説明する。
ROM 1 60は、 記録再生装置によって処理されるプログラムデータを格納す る。 CPU 170は、 ROM1 60、 メモリ 1 80に記憶されたプログラムを実 行することで、 MP EGコ一デヅク 130や暗号処理手段 1 50等を制御する。 メモリ 1 80は、 例えば、 不揮発性メモリで、 C P U 170が実行するプログラ ムゃ、 CPU 1 70の動作上必要なデ一夕、 さらにデバイスによって実行される 暗号処理に使用されるキ一セッ トを記憶する。 キ一セッ トについては後段で説明 する。 ドライブ 190は、 ディジタルデータを記録再生可能な記録媒体 195を 駆動することにより、 記録媒体 1 95からディジタルデータを読み出し (再生 し) 、 バス 1 1 0上に出力するとともに、 バス 1 1 0を介して供給されるディジ タルデータを、 記録媒体 195に供給して記録させる。
記録媒体 195は、 例えば、 DVD、 CD等の光ディスク、 光磁気ディスク、 磁気ディスク、 磁気テープ、 あるいは RAM等の半導体メモリ等のディジタルデ 一夕の記憶可能な媒体であり、 本実施の形態では、 ドライブ 1 90に対して着脱 可能な構成であるとする。 ただし、 記録媒体 195は、 記録再生装置 1 00に内 蔵する構成としてもよい。
なお、 図 2に示す暗号処理手段 1 50は、 1つのワンチップ L S Iとして構成 してもよく、 また、 ソフ トウェア、 ハードウェアを組み合わせた構成によって実 現する構成としてもよい。
[キー配信構成としてのツリー (木) 構造について] 次に、 図 1に示すコンテンッ配信側 1 0からコンテンヅ受信側 2 0の各デバイ スに暗号データを配信する場合における各デバイスにおける暗号処理鍵の保有構 成及びデータ配信構成を図 3を用いて説明する。
図 3の最下段に示すナンパ' 0〜 1 5がコンテンツ受信側 2 0の個々のデバイス である。 すなわち図 3に示す階層ツリー (木) 構造の各葉 (リーフ : leaf) がそ れそれのデバイスに相当する。
各デバイス 0〜 1 5は、 製造時あるいは出荷時、 あるいはその後において、 図 3に示す階層ツリー (木) 構造における、 自分のリーフからルートに至るまでの ノードに割り当てられた鍵 (ノードキー) 及び各リーフのリーフキーからなるキ ーセヅ トをメモリに格納する。 図 3の最下段に示す K 0 0 0 0〜K 1 1 1 1が各 デバイス 0〜 1 5にそれそれ割り当てられたリーフキーであり、 最上段の K R
(ル一トキ一) から、 最下段から 2番目の節 (ノード) に記載されたキー : K R 〜; 1 1 1をノードキーとする。
図 3に示すッリ一構成において、 例えばデバイス 0はリーフキ一 Κ 0 0 0 0 と、 ノードキー : K 0 0 0、 K 0 0、 K 0、 K Rを所有する。 デバイス 5は K 0 1 0 1、 K 0 1 0、 K 0 1、 K 0、 K Rを所有する。 デバイス 1 5は、 K 1 1 1 1、 K 1 1 1、 K 1 1、 K 1、 K Rを所有する。 なお、 図 3のッリ一にはデバイスが 0〜1 5の 1 6個のみ記載され、 ツリー構造も 4段構成の均衡のとれた左右対称 構成として示しているが、 さらに多くのデバイスがツリー中に構成され、 また、 ヅリーの各部において異なる段数構成を持つことが可能である。
また、 図 3のツリー構造に含まれる各デバイスには、 様々な記録媒体、 例えば、 デバイス埋め込み型あるいはデバイスに着脱自在に構成された D V D、 C D、 M D、 フラッシュメモリ等を使用する様々なタイプのデバイスが含まれている。 さらに、 様々なアプリケーションサービスが共存可能である。 このような異なる デバイス、 異なるアプリケ一シヨンの共存構成の上に図 3に示すコンテンツある いは鍵配布構成である階層ッリ一構造が適用される。
これらの様々なデバイス、 アプリケーションが共存するシステムにおいて、 例 えば図 3の点線で囲んだ部分、 すなわちデバイス 0 , 1 , 2, 3を同一の記録媒 体を用いる 1つのグループとして設定する。 例えば、 この点線で囲んだグループ 内に含まれるデバイスに対しては、 まとめて、 共通のコンテンツを暗号化してプ 口バイダから送付したり、 各デバイス共通に使用するコンテンツキーを送付した り、 あるいは各デバイスからプロバイダあるいは決済機関等にコンテンツ料金の 支払データをやはり暗号化して出力するといつた処理が実行される。 コンテンツ プロバイダ、 あるいは決済処理機関等、 各デバイスとのデ一夕送受信を行う機関 は、 図 3の点線で囲んだ部分、 すなわちデバイス◦, 1, 2 , 3を 1つのグルー プとして一括してデ一夕を送付する処理を実行する。 このようなグループは、 図 3のツリー中に複数存在する。 コンテンツプロバイダ、 あるいは決済処理機関等、 各デバイスとのデータ送受信を行う機関は、 メヅセージデータ配信手段として機 能する。
なお、 ノードキ一、 リーフキーは、 ある 1つの鍵管理センタによって統括して 管理してもよいし、 各グループに対する様々なデータ送受信を行うプロバイダ、 決済機関等のメッセージデータ配信手段によってグループ毎に管理する構成とし てもよい。 これらのノードキー、 リーフキーは例えばキーの漏洩等の場合に更新 処理が実行され、 この更新処理は鍵管理センタ、 プロバイダ、 決済機関等が実行 する。 '
このツリー構造において、 図 3から明らかなように、 1つのグループに含まれ る 3つのデバイス 0 , 1, 2, 3はノードキーとして共通のキー K 00、 K 0、 KRを保有する。 このノードキー共有構成を利用することにより、 例えば共通の コンテンツキーをデバイス◦ , 1, 2, 3のみに提供することが可能となる。 例 えば、 共通に保有するノ一ドキー Κ 00自体をコンテンツキーとして設定すれば、 新たな鍵送付を実行することなくデバイス 0 , 1, 2, 3のみが共通のコンテン ヅキーの設定が可能である。 また、 新たなコンテンツキー K c 0 ηをノードキー Κ 00で暗号化した値 E n c (K 00, Kc o n) を、 ネッ トワークを介してあ るいは記録媒体に格納してデバイス 0, 1, 2, 3に配布すれば、 デバイス 0, 1 , 2 , 3のみが、 それそれのデバイスにおいて保有する共有ノードキー K 00 を用いて暗号 E n c (K 00 , K c o n) を解いてコンテンツキ一 : K c o nを 得ることが可能となる。 なお、 Enc (K a, Kb) は Kbを K aによって暗号 ィ匕したデ一夕であることを示す。 また、 ある時点 tにおいて、 デバイス 3の所有する鍵 : K00 1 1, Κ 00 1 ; Κ 00 , K0, KRが攻撃者 (ハッカー) により解析されて露呈したことが発覚 した場合、 それ以降、 システム (デバイス 0, 1 , 2 , 3のグループ) で送受信 されるデータを守るために、 デバイス 3をシステムから切り離す必要がある。 そ のためには、 ノードキー : Κ00 1, Κ 00 , K 0, KRをそれぞれ新たな鍵 Κ ( t ) 00 1 , K ( t ) 00, K ( t ) 0 , K (七) Rに更新し、 デバイス 0, 1 , 2にその更新キーを伝える必要がある。 ここで、 K ( t ) a a aは、 鍵 K a a aの世代 (Generation) : tの更新キ一であることを示す。
更新キーの配布処理ついて説明する。 キ一の更新は、 例えば、 図 4 Aに示す有 効化キーブロック (E KB : Enabling Key Block) と呼ばれるプロヅクデータに よって構成されるテーブルを例えばネヅ トワーク、 あるいは記録媒体に格納して デバイス 0 , 1 , 2に供給することによって実行される。 なお、 有効化キープ口 ヅク (EKB) は、 図 3に示すようなツリー構造を構成する各リーフに対応する デバイスに新たに更新されたキーを配布するための暗号化キーによって構成され る。 有効化キープロヅク (EKB) は、 キー更新プロヅク (KRB : Key Renewa 1 Block) と呼ばれることもある。
図 4 Aに示す有効化キ一ブロック (EKB) には、 ノードキーの更新の必要な デバイスのみが更新可能なデータ構成を持つプロ、ソクデータとして構成される。 図 4 A及び図 4 Bの例は、 図 3に示すッリ一構造中のデバイス 0, 1, 2におい て、 世代七の更新ノードキーを配布することを目的として形成ざれたプロックデ —夕である。 図 3から明らかなように、 デバイス 0, デバイス 1は、 更新ノード キーとして K ( t ) 00、 K ( t ) 0、 K (t ) Rが必要であり、 デバイス 2は、 更新ノードキーとして K (七) 00 1、 K (七) 00、 K ( t ) 0、 K (七) R が必要である。
図 4 Aの E KBに示されるように E KBには複数の暗号化キーが含まれる。 最 下段の暗号化キーは、 Enc (K 00 1 0 , K (七) 00 1) である。 これはデ バイス 2の持つリーフキー K 0010によって暗号化された更新ノードキー K ( t ) 00 1であり、 デバイス 2は、 自身の持つリーフキーによってこの暗号化 キーを復号し、 K ( t ) 001を得ることができる。 また、 復号により得た K ( t ) 001を用いて、 図 4 Aの下から 2段目の暗号化キー E n c (K (七) ◦ 0 1, Κ (t) 00) を復号可能となり、 更新ノードキー K ( t ) 00を得るこ とができる。 以下順次、 図 4 Aの上から 2段目の暗号化キー E n c (K ( ) 0 0 , K (t ) 0) を復号し、 更新ノードキー K (t) 0、 図 4Aの上から 1段目 の暗号化キー E nc (K (七) 0, K ( t ) R) を復号し K ( t ) Rを得る。 一 方、 デバイス K 0000. K000 1は、 ノードキ一 K 000は更新する対象に 含まれておらず、 更新ノードキーとして必要なのは、 K ( t ) 00、 K ( t ) 0、 K (t) Rである。 デバイス K 0000. Κ 000 1は、 図 4 Aの上から 3段目 の暗号化キ一Enc (K 000 , K (七) 00) を復号し K ( t ) 00を取得し、 以下、 図 4Aの上から 2段目の暗号化キー Enc (K (七) 00, K ( t ) 0) を復号し、 更新ノードキー K ( ) 0、 図 4 Aの上から 1段目の暗号化キ一 E n c (K ( t ) 0, K ( t ) R) を復号し K ( ) Rを得る。 このようにして、 デ バイス 0, 1 , .2は更新した鍵 K ( t ) Rを得ることができる。 なお、 図 4 Aの インデックスは、 復号キーとして使用するノードキー、 リーフキーの絶対番地を 示す。
図 3に示すツリー構造の上位段のノードキー : K (t) 0,K (t) Rの更新が 不要であり、 ノードキ一K 00のみの更新処理が必要である場合には、 図 4Bの 有効化キープロヅク (EKB) を用いることで、 更新ノードキ一 K ( t ) 00を デバイス 0., 1, 2に配布することができる。
図 4 Bに示す E KBは、 例えば特定のグループにおいて共有する新たなコンテ ンヅキーを配布する場合に利用可能である。 具体例として、 図 3に点線で示すグ ループ内のデバイス 0, 1, 2, 3がある記録媒体を用いており、 新たな共通の コンテンツキー K ( t ) c 0 nが必要であるとする。 このとき、 デバイス 0 , 1, 2, 3の共通のノードキ一 K00を更新した K (t) 00を用いて新たな共通の 更新コンテンツキー : K (七) c 0 nを暗号化したデータ En c (K ( t ) 00, K (t) c on) を図 4 Bに示す EKBとともに配布する。 この配布により、 デ バイス 4など、 その他のグループの機器においては復号されないデータとしての 配布が可能となる。
すなわち、 デバイス 0, 1, 2は EKBを処理して得た K ( t ) 00を用いて 上記暗号文を復号すれば、 t時点でのコンテンツキー K (七) c o nを得ること が可能になる。
[E KBを使用したコンテンツキ一の配布]
図 5に、 t時点でのコンテンヅキ一K ( ) c 0 nを得る処理例として、 K ( ) 0 0を用いて新たな共通のコンテンツキー K (七) c o nを暗号化したデ 一夕 E n c (K (七) 0 0, K (七) c o n) と図 4 Bに示す E K Bとを記録媒 体を介して受領したデバイス 0の処理を示す。 すなわち E KBによる暗号化メヅ セージデータをコンテンツキー K ( t ) c o nとした例である。
図 5に示すように、 デバイス 0は、 記録媒体に格納されている世代 : 七時点の E KBと自分が予め格納しているノードキー K 0 0 0を用いて上述したと同様の E KB処理により、 ノードキー K (七) 0 0を生成する。 さらに、 復号した更新 ノードキー K (七) 0 0を用いて更新コンテンツキー K ( t ) c o nを復号して、 後にそれを使用するために自分だけが持つリーフキー K 0 0 0 0で暗号化して格 納する。
[E KBのフォーマツ ト]
図 6に有効化キ一ブロック (E KB) のフォーマッ ト例を示す。 バージョン 6 0 1は、 有効化キーブロヅク (E KB) のバージョンを示す識別子である。 なお、 バージョンは最新の E K Bを識別する機能とコンテンツとの対応関係を示す機能 を持つ。 デブスは、 有効化キーブロック (E KB) の配布先のデバイスに対する 階層ツリーの階層数を示す。 デ一夕ポインタ 6 0 3は、 有効化キーブロック (E KB) 中のデータ部の位置を示すポインタであり、 タグポインタ 6 0 4はタグ部 の位置、 署名ポインタ 6 0 5は署名の位置を示すポィン夕である。
データ部 6 0 6は、 例えば更新するノードキーを暗号化したデ一夕を格納する。 例えば図 5に示すような更新されたノードキーに関する各暗号化キー等を格納す る。
タグ部 6 0 7は、 データ部に格納された暗号化されたノードキー、 リーフキー の位置関係を示すタグである。 このタグの付与ルールを図 7 A乃至図 Ί Cを用い て説明する。 図 7 A乃至図 7 Cでは、 データとして先に図 4 Aで説明した有効化 キ一プロヅク (EKB) を送付する例を示している。 この時のデ一夕は、 図 7 B に示すようになる。 このときの暗号化キーに含まれる トヅプノ一ドのァドレスを ト ヅプノードアドレスとする。 この場合は、 ルートキーの更新キー K (t ) Rが 含まれているので、 トップノードアドレスは KRとなる。 このとき、 例えば最上 段のデータ E n c (K ( t ) 0, K ( t ) R) は、 図 7 Aに示す階層ツリーに示 す位置にある。 ここで、 次のデータは、 E n c (K (七) 0 0, K ( t ) 0 ) で あり、 ツリー上では前のデータの左下の位置にある。 データがある場合は、 タグ が 0、 ない場合は 1が設定される。 タグは {左 (L) タグ, 右 (R) タグ } とし て設定される。 最上段のデータ E n c (K (七) ◦, K ( t ) R) の左にはデー 夕があるので、 Lタグ = 0、 右にはデ一夕がないので、 Rタグ = 1 となる。 以下、 全てのデ一夕にタグが設定され、 図 7 Cに示すデータ列、 及びタグ列が構成され る。
タグは、 データ E n c (Kxxx, K yyy) がツリー構造のどこに位置して いるのかを示すために設定されるものである。 データ部に格納されるキーデータ E n c (Kxxx, Ky yy) . . . は、 単純に暗号化されたキーの羅列データ に過ぎないので、 上述したタグによってデータとして格納された暗号化キーのッ リ 上の位置を判別可能としたものである。 上述したタグを用いずに、 先の図 4 A及び図 4 Bで説明した構成のように暗号化データに対応させたノード · ィンデ ックスを用いて、 例えば、
0 : E n c (K (t ) 0 , K (t ) r o o t )
0 0 : E n c (K (t ) 0 0 , K (t ) 0)
0 0 0 : E n c (K ( ( t ) 0 0 0 , K (t ) 0 0 ) )
. . . のようなデ一夕構成とすることも可能であるが、 このようなインデヅク スを用いた構成とすると冗長なデータとなりデータ量が増大し、 ネッ トワークを 介する配信等においては好ましくない。 これに対し、 上述した夕グをキ一位置を 示す索引データとして用いることにより、 少ないデ一夕量でキー位置の判別が可 能となる。
図 6に戻って、 E KBフォーマッ トについてさらに説明する。 署名 (Signatur e) は、 有効化キープロヅク (E KB) を発行した例えば鍵管理セン夕、 コンテン ヅプロバイダ、 決済機関等が実行する電子署名である。 E KBを受領したデバイ スは署名検証によって正当な有効化キ一ブロック (EKB) 発行者が発行した有 効化キープロヅク (EKB) であることを確認する。
[E KBを使用したコンテンツキ一及びコンテンッの配信]
上述の例では、 コンテンツキーのみを E KBとともに送付する例について説明 したが、 コンテンツキーで暗号化したコンテンツと、 コンテンツキ一暗号キ一で 暗号化したコンテンツキ一と、 EKBによって暗号化したコンテンヅキー暗号鍵 を併せて送付する構成について以下説明する。
図 8 A及び図 8 Bにこのデ一夕構成を示す。 図 8 Aに示す構成において、 En c (K c on, c o nt e nt) 80 1は、 コンテンツ (Content) をコンテンツ キ一 (Kc on) で暗号化したデータであり、 En c (KEK, Kc on) 80 2は、 コンテンツキー (K c on) をコンテンヅキー暗号キー (KEK : Key En cryption- ey) で暗号化したデータであり、 Enc (EKB, KEK) 803は、 コンテンツキー暗号キー KEKを有効化キーブロック (EKB) によって暗号化 したデータであることを示す。
ここで、 コンテンツキ一暗号キー KEKは、 図 3で示すノードキ一 (K000 , ; K 00 -) 、 あるいはルートキ一 (KR) 自体であってもよく、 またノードキ一 (K 000, K 00 -) 、 あるいはルートキー (KR) によって暗号化されたキ 一であってもよい。
図 8 Bは、 複数のコンテンツがメディアに記録され、 それそれが同じ En c (E B, KEK) 805を利用している場合の構成例を示す、 このような構成 においては、 各デ一夕に同じ Enc (EKB, KEK) を付加することなく、 E n c (EKB, KEK) にリンクするリンク先を示すデ一タを各デ一夕に付加す る構成とすることができる。
図 9にコンテンツキ一暗号キ一 KEKを、 図 3に示すノードキ一 K 00を更新 した更新ノードキー K (t ) 00として構成した場合の例を示す。 この場合、 図 3の点線枠で囲んだグル一プにおいてデバイス 3が、 例えば鍵の漏洩により リボ —ク (排除) されているとして、 他のグループのメンバ、 すなわち、 デバイス 0 , 1 , 2に対して図 9に示す有効化キープロヅク (EKB) と、 コンテンツキー (K c on) をコンテンヅキー暗号キー (KEK = K (t) 00) で暗号化した データと、 コンテンツ (content) をコンテンツキー (Kc o n) で暗号化したデ 一夕とを配信することにより、 デバイス 0, 1 , 2はコンテンヅを得ることがで ぎる。
図 9の右側には、 デバイス 0における復号手順を示してある。 デバイス 0は、 まず、 受領した有効化キープ口ヅクから自身の保有するリーフキー K 000を用 いた復号処理により、 コンテンツキー暗号キ一 (KEK = K ( t) 00) を取得 する。 次に、 K ( t ) 00による復号によりコンテンヅキー K c 0 nを取得し、 さらにコンテンツキ一 K c 0 nによりコンテンツの復号を行う。 これらの処理に より、 デバイス 0はコンテンツを利用可能となる。 デバイス 1 , 2においても各 々異なる処理手順で EKBを処理することにより、 コンテンヅキ一暗号キー (K EK = K ( t ) 00) を取得することが可能となり、 同様にコンテンツを利用す ることが可能となる。
図 3に示す他のグループのデバイス 4 , 5 , 6···は、 この同様のデ一夕 (EK B) を受信したとしても、 自身の保有するリーフキ一、 ノ一ドキ一を用いてコン テンヅキー暗号キ一 (KEK二 K ( t ) 00) を取得することができない。 同様 にリボークされたデバイス 3においても、 自身の保有するリ一フキ一、 ノードキ 一では、 コンテンツキー暗号キ一 (KEK-K ( t ) 00) を取得することがで きず、 正当な権利を有するデバイスのみがコンテンヅを復号して利用することが 可能となる。
このように、 E KBを利用したコンテンツキーの配送を用いれば、 データ量を 少なく して、 かつ安全に正当権利者のみが復号可能とした暗号化コンテンツを配 信することが可能となる。
なお、 有効化キープロヅク (EKB) 、 コンテンツキー、 暗号化コンテンツ等 は、 ネッ トワークを介して安全に配信することが可能な構成であるが、 有効化キ —ブロック (EKB) 、 コンテンツキ一、 暗号化コンテンツを D VD、 CD等の 記録媒体に格納してユーザに提供することも可能である。 この場合、 記録媒体に 格納された暗号化コンテンツの復号には、 同一の記録媒体に格納された有効化キ —ブロヅク (EKB) の復号により得られるコンテンツキ一を使用するように構 成すれば、 予め正当権利者のみが保有するリーフキー、 ノードキーによってのみ 利用可能な暗号化コンテンツの配布処理、 すなわち利用可能なユーザデバイスを 限定したコンテンツ配布が簡易な構成で実現可能となる。
図 10に記録媒体に暗号化コンテンヅとともに有効化キープ口ヅク ( E K B ) を格納した構成例を示す。 図 1 0に示す例においては、 記録媒体にコンテンツ C 1〜 C 4が格納され、 さらに各格納コンテンヅに対応するの有効化キープ口ック (E KB) を対応付けたデータが格納され、 さらにバージョン Mの有効化キープ ロック (E KB„M) が格納されている。 例えば E KB— 1はコンテンツ C 1を 暗号化したコンテンツキー K c 0 n 1を生成するのに使用され、 例えば EKB— 2はコンテンツ C 2を暗号化したコンテンツキー K c 0 n 2を生成するのに使用 される。 この例では、 バージョン Mの有効化キープロヅク (EKB— M) が記録 媒体に格納されており、 コンテンツ C 3 , C 4は有効化キーブロック (EKB— M) に対応付けられているので、 有効化キープロヅク (EKB— M) の復号によ りコンテンツ C 3 , C 4のコンテンツキーを取得することができる。 EKB— 1、 E KB— 2はディスクに格納されていないので、 新たな提供手段、 例えばネヅ ト ワーク配信、 あるいは記録媒体による配信によってそれそれのコンテンツキーを 復号するために必要な EKB— 1, EKB— 2を取得することが必要となる。 図 1 1 A及び図 1 1 Bに、 複数のデバイス間でコンテンヅキーが流通する場合 の E KBを利用したコンテンツキーの配信と、 従来のコンテンツキー配信処理の 比較例を示す。 図 1 1 Aが従来構成であり、 図 1 1 Bが本発明の有効化キープ口 ヅク (EKB) を利用した例である。 なお、 図 1 1 A及び図 1 1 Bにおいて Ka (Kb) は、 K bを K aで暗号化したデータであることを示す。
図 1 1 Aに示すように、 従来は、 デ一夕送受信者の正当性を確認し、 またデー 夕送信の暗号化処理に使用するセヅシヨンキー K s e sを共有するために各デバ イス間において、 認証処理及び鍵交換処理 (AKE : Authentication and Key E xchange) を実行し、 認証が成立したことを条件としてセヅシヨンキー K s e sで コンテンツキー K c o nを暗号化して送信する処理を行なっていた。
例えば図 1 1 Aの PCにおいては、 受信したセヅシヨンキーで暗号化したコン テンツキ一 Ks e s (Kc on) をセッションキーで復号して K c o nを得るこ とが可能であり、 さらに取得した K c 0 nを P C自体の保有する保存キ一 K s t rで暗号化して自身のメモリに保存することが可能となる。
図 1 1 Aにおいて、 コンテンツプロバイダは、 図 1 1 Aの記録デバイス 1 1 0 1にのみデ一夕を利用可能な形で配信したい場合でも、 間に P C、 再生装置が存 在する場合は、 図 1 1 Aに示すように認証処理を実行し、 それぞれのセッション キーでコンテンツキーを暗号化して配信するといつた処理が必要となる。 また、 間に介在する P C、 再生装置においても認証処理において生成し共有することに なったセヅシヨンキ一を用いることで暗号化コンテンツキ一を復号してコンテン ヅキ一を取得可能となる。
一方、 図 1 1 Bの下段に示す有効化キーブロック (EKB) を利用した例にお いては、 コンテンツプロバイダから有効化キ一ブロック (E KB) と、 有効化キ —プロヅク (EKB) の処理によって得られるノードキー、 又はル一トキ一によ つてコンテンツキ一 K c 0 nを暗号化したデ一夕 (図の例では Kr o o t (K c o n) ) を配信することにより、 配信した E KBの処理が可能な機器においての みコンテンツキ一K c 0 nを復号して取得することが可能になる。
従って、 例えば図 1 1 Bの右端にのみ利用可能な有効化キープロヅク (EK B) を生成して、 その有効化キーブロック (EKB) と、 その EKB処理によつ て得られるノ一ドキー、 又はルートキーによってコンテンツキー K c 0 nを暗号 化したデ一夕を併せて送ることにより、 間に存在する P C、 再生機器等は、 自身 の有するリーフキー、 ノードキーによっては、 E KBの処理を実行することがで きない。 従って、 デ一夕送受信デバイス藺での認証処理、 セヅシヨンキーの生成、 セヅシヨンキーによるコンテンツキー K c 0 nの暗号化処理といった処理を実行 することなく、 安全に正当なデバイスに対してのみ利用可能なコンテンツキーを 配信することが可能となる。
P C、 記録再生器にも利用可能なコンテンツキーを配信したい場合は、 それそ れにおいて処理可能な有効化キープロヅク (EKB) を生成して、 配信すること により、 共通のコンテンヅキ一を取得することが可能となる。
[有効化キ一プロヅク (EKB) を使用した認証キーの配信 (共通鍵方 式) ]
上述の有効化キ一プロヅク (EKB) を使用したデ一夕あるいはキ一の配信に おいて、 デバイス間で転送される有効化キープロック (EKB) 及びコンテンツ あるいはコンテンツキーは常に同じ暗号化形態を維持しているため、 データ伝走 路を盗み出して記録し、 再度、 後で転送する、 いわゆるリブレイァ夕ヅクにより、 不正コピーが生成される可能性がある。 これを防ぐ構成としては、 デ一夕転送デ バイス間において、 従来と同様の認証処理及び鍵交換処理を実行することが有効 な手段である。 ここでは、 この認証処理及び鍵交換処理を実行する際に使用する 認証キー K ak eを上述の有効化キーブロック (EKB) を使用してデバイスに 配信することにより、 安全な秘密鍵として共有する認証キーを持ち、 共通鍵方式 に従つた認証処理を実行する構成について説明する。 すなわち E K Bによる暗号 化メッセージデータを認証キーとした例である。
図 1 2に、 共通鍵暗号方式を用いた相互認証方法 (IS0/IEC 9798-2) を示す。 図 1 2においては、 共通鍵暗号方式として DE Sを用いているが、 共通鍵暗号方 式であれば他の方式も可能である。 図 12において、 まず、 Bが 64ビットの乱 数 Rbを生成し、 R b及び自己の I Dである I D (b) を Aに送信する。 これを 受信した Aは、 新たに 64ビッ トの乱数 R aを生成し、 Ra、 Rb、 I D (b) の順に、 D ESの C B Cモードで鍵 K a bを用いてデータを暗号化し、 Bに返送 する。 なお、 鍵 Kabは、 A及び Bに共通の秘密鍵としてそれそれの記録素子内 に格納する鍵である。 DE Sの CB Cモードを用いた鍵 K a bによる暗号化処理 は、 例えば DE Sを用いた処理においては、 初期値と R aとの排他的論理和を求 め、 DE S暗号化部において、 鍵 Kabを用いて暗号化し、 暗号文 E 1を生成し、 続けて暗号文 E 1と R bとの排他的論理和を求め、 DE S暗号化部において、 鍵 Kabを用いて暗号化し、 暗号文 E 2を生成し、 さらに、 暗号文 E 2と I D (b) との排他的論理和を求め、 DE S暗号化部において、 鍵 Kabを用いて暗 号化して生成した暗号文 E 3とによって送信データ (Token-AB) を生成する。 これを受信した Bは、 受信データを、 やはり共通の秘密鍵としてそれそれの記 録素子内に格納する鍵 Kab (認証キ一) で復号化する。 受信データの復号化方 法は、 まず、 暗号文 E 1を認証キ一 K a bで復号化し、 乱数 R aを得る。 次に、 暗号文 E 2を認証キー K a bで復号化し、 その結果と E 1の排他的論理和を求め、 Rbを得る。 最後に、 暗号文 E 3を認証キー Kabで復号化し、 その結果と E 2 の排他的論理和を求め、 I D(b)を得る。 こうして得られた R a、 R b、 I D (b )の内、 Rb及び I D(b )が、 Bが送信したものと一致するか検証する。 この 検証に通った場合、 Bは Aを正当なものとして認証する。
次に; Bは、 認証後に使用するセヅシヨンキー (K s e s) を生成する (生成方 法は、 乱数を用いる) 。 そして、 R b、 R a、 K s e sの順に、 D E Sの CB C モードで認証キー K a bを用いて暗号化し、 Aに返送する。
これを受信した Aは、 受信デ一タを認証キー K a bで復号化する。 受信データ の復号化方法は、 Bの復号化処理と同様であるので、 ここでは詳細を省略する。 こうして得られた R b、 R a、 K s e sの内、 1 及び1 &が、 Aが送信したも のと一致するか検証する。 この検証に通った場合、 Aは Bを正当なものとして認 証する。 互いに相手を認証した後には、 セヅシヨンキー K s e sは、 認証後の秘 密通信のための共通鍵として利用される。 - なお、 受信データの検証の際に、 不正、 不一致が見つかった場合には、 相互認 証が失敗したものとして処理を中断する。
上述の認証処理においては、 A, Bは共通の認証キー K a bを共有する。 この 共通鍵 K a bを上述の有効化キ一プロヅク (E KB) を使用してデバイスに配信 する。
例えば、 図 1 2の例では、 A, 又は Bのいずれかが他方が復号可能な有効化キ 一ブロック (E KB) を生成して生成した有効化キーブロヅク (EKB) によつ て認証キ一 K a bを暗号化して、 他方に送信する構成としてもよいし、 あるいは 第 3者がデバイス A, Bに対して双方が利用可能な有効化キ プロヅク (E K B) を生成してデバイス A, Bに対して生成した有効化キーブロック (EKB) によって認証キー K a bを暗号化して配信する構成としてもよい。
図 1 3及び図 1 4に複数のデバイスに共通の認証キー K a k eを有効化キープ ロック (E KB) によって配信する構成例を示す。 図 1 3はデバイス 0 , 1, 2, 3に対して復号可能な認証キー K ak eを配信する例、 図 1 4はデバイス 0, 1, 2 , 3中のデバイス 3をリポーク (排除) してデバイス 0 , 1 , 2に対してのみ 復号可能な認証キーを配信する例を示す。
図 1 3の例では、 更新ノードキー K ( t ) 0 0によって、 認証キー K ak eを 暗号化したデ一夕とともに、 デバイス 0, 1, 2, 3においてそれぞれの有する ノードキー、 リーフキ一を用いて更新されたノードキー K (七) 00を復号可能 な有効化キーブロック (EKB) を生成して配信する。 それそれのデバイスは、 図 1 3の右側に示すようにまず、 EKBを処理 (復号) することにより、 更新さ れたノードキー K ( t ) 00を取得し、 次に、 取得したノードキー K (七) 00 を用いて暗号化された認証キ一 : Enc (K ( ) 00 , K ak e) を復号して 認証キー K ak eを得ることが可能となる。
その他のデバイス 4 , 5 , 6 , 7…は同一の有効化キーブロック (EKB) を 受信しても自身の保有するノードキー、 リーフキーでは、 E KBを処理して更新 されたノ一ドキー K ( ) 00を取得することができないので、 安全に正当なデ バイスに対してのみ認証キ一を送付することができる。
一方、 図 14の例は、 図 3の点線枠で囲んだグループにおいてデバイス 3.が、 例えば鍵の漏洩により リポーク (排除) されているとして、 他のグループのメン ノ 、 すなわち、 デバイス 0, 1 , 2に対してのみ復号可能な有効化キーブロック (EKB) を生成して配信した例である。 図 14に示す有効化キ一ブロック (E KB) と、 認証キー (Kake) をノ一ドキ一 (K ( t ) 00) で暗号化したデ —夕を配信する。
図 14の右側には、 復号手順を示してある。 デバイス 0, 1, 2は、 まず、 受 領した有効化キープ口ヅクから自身の保有するリーフキー又はノードキ一を用い た復号処理により、 更新ノードキー (K ( t ) 00) 'を取得する。 次に、 · K ( t ) 00による復号により認証キ一 K a k eを取得する。
図 3に示す他のグループのデバイス 4 , 5 , 6…は、 この同様のデ一夕 (EK B) を受信したとしても、 自身の保有するリーフキー、 ノードキーを用いて更新 ノードキー (K (t) 00) を取得することができない。 同様にリボ一クされた デバイス 3においても、 自身の保有するリーフキー、 ノードキ一では、 更新ノー ドキ一 (K (t) 00) を取得することができず、 正当な権利を有するデバイス のみが認証キーを復号して利用することが可能となる。
このように、 E KBを利用した認証キーの配送を用いれば、 データ量を少なく して、 かつ安全に正当権利者のみが復号可能とした認証キーを配信することが可 能となる。
[公開鍵認証と有効化キ一ブロック (EKB) を使用したコンテンツキーの 配信]
次に、 公開鍵認証と有効化キーブロック (EKB) を使用したコンテンヅキー の配信処理について説明する。 まず、 公開鍵暗号方式である 1 60ビヅ ト長の楕 円曲線暗号を用いた相互認証方法を、 図 1 5を用いて説明する。 図 1 5において、 公鬨鍵暗号方式として E C Cを用いているが、 同様な公鬨鍵暗号方式であればい ずれでもよい。 また、 鍵サイズも 1 6 0ビットでなくてもよい。 図 1 5において、 まず Bが、 64ビットの乱数 Rbを生成し、 Aに送信する。 これを受信した Aは、 新たに 64ビヅ卜の乱数 R a及び素数 pより小さい乱数 A kを生成する。 そして、 ベースポイント Gを Ak倍した点 A v = Ak X Gを求め、 Ra、 Rb、 A v (X 座標と Y座標) に対する電子署名 A. S i gを生成し、 Aの公開鍵証明書ととも に Bに返送する。 ここで、 R a及び R bはそれそれ 64ビット、 Avの X座標と Υ座標がそれそれ 1 60ビヅ トであるので、 合計 448ビヅ トに対する電子署名 +を生成する。
Αの公開鍵証明書、 R a、 R b、 Av、 電子署名 Α. 3 ;1 を受信した8は、 Aが送信してきた R bが、 Bが生成したものと一致するか検証する。 その結果、 一致していた場合には、 Aの公開鍵証明書内の電子署名を認証局の公開鍵で検証 し、 Aの公開鍵を取り出す。 そして、 取り出した Aの公閧鍵を用い電子署名 A. S i gを検証する。
次に、 Bは、 素数 pより小さい乱数 Bkを生成する。 そして、 ベースポイント Gを Bk倍した点 Bv = Bkx Gを求め、 Rb、 R a、 B v (X座標と Y座標) に対する電子署名 Β. S i gを生成し、 Bの公開鍵証明書とともに Aに返送する c
Bの公開鍵証明書、 R b、 R a、 Av、 電子署名 B . S i gを受信した Αは、 Bが送信してきた R aが、 Aが生成したものと一致するか検証する。 その結果、 一致していた場合には、 Bの公開鍵証明書内の電子署名を認証局の公開鍵で検証 し、 Bの公閧鍵を取り出す。 そして、 取り出した Bの公開鍵を用い電子署名 B . S i gを検証する。 電子署名の検証に成功した後、 Aは Bを正当なものとして認 証する。 両者が認証に成功した場合には、 Bは BkxAv (Bkは乱数だが、 Avは楕 円曲線上の点であるため、 楕円曲線上の点のスカラー倍計算が必要) を計算し、 Αは AkxB Vを計算し、 これら点の X座標の下位 64ビヅ トをセッションキー として以降の通信に使用する (共通鍵暗号を 64ビッ ト鍵長の共通鍵暗号とした 場合) 。 もちろん、 Y座標からセッション鍵を生成してもよいし、 下位 64ビヅ トでなくてもよい。 なお、 相互認証後の秘密通信においては、 送信データはセッ ションキーで暗号化されるだけでなく、 電子署名も付されることがある。
電子署名の検証や受信データの検証の際に、 不正、 不一致が見つかった場合に は、 相互認証が失敗したものとして処理を中断する。
図 1 6に公鬨鍵認証と有効化キーブロック (EKB) を使用したコンテンツキ 一の配信処理例を示す。 まずコンテンツプロバイダと P C間において図 1 5で説 明した公開鍵方式による認証処理が実行される。 コンテンヅプロバイダは、 コン テンヅキー配信先である再生装置、 記録媒体の有するノードキー、 リーフキーに よって復号可能な E KBを生成して、 更新ノ一ドキーによる暗号化を実行したコ ンテンツキ一 E (Kc o n) と、 有効化キ一ブロック (EKB) とを P C間の認 証処理において生成したセッションキー K s e sで暗号化して P Cに送信する。
P Cはセッションキーで暗号化された [更新ノードキーによる暗号化を実行し たコンテンヅキー E (K c on) と、 有効化キープロヅク (EKB) ] をセヅシ ヨンキーで復号した後、 再生装置、 記録媒体に送信する。
再生装置、 記録媒体は、 自身の保有するノードキー又はリーフキーによって [更新ノードキ一による暗号化を実行したコンテンツキー E (K c o n) と、 有 効化キープロヅク (EKB) ] を復号することによってコンテンツキー K c 0 n を取得する。
この構成によれば、 コンテンツプロバイダと P C間での認証を条件として [更 新ノードキーによる暗号化を実行したコンテンツキ一E (Kc o n) と、 有効化 キーブロック (EKB) ] が送信されるので、 例えば、 ノードキーの漏洩があつ た場合でも、 確実な相手に対するデータ送信が可能となる。
[プログラムコードの有効化キーブロック (EKB) を使用した配信] 上述した例では、 コンテンツキー、 認証キー等を有効化キーブロック (EK B) を用いて暗号化して配信する方法を説明したが、 様々なプログラムコードを 有効化キ一ブロック (EKB) を用いて配信する構成も可能である。 すなわち E KBによる暗号化メヅセージデータをプログラムコードとした例である。 以下、 この構成について説明する。
図 1 7にプログラムコードを有効化キーブロック (EKB) の例えば更新ノ一 ドキ一によって暗号化してデバイス間で送信する例を示す。 デバイス 1 70 1は、 デバイス 1 702の有するノードキー、 リーフキーによって復号可能な有効化キ 一プロヅク (EKB) と、 有効化キ一ブロック (EKB) に含まれる更新ノード キーで暗号処理したプログラムコードをデバイス 1702に送信する。 デバイス 1 702は受信した E KBを処理して更新ノードキーを取得して、 さらに取得し た更新ノードキーによってプログラムコードの復号を実行して、 プログラムコー ドを得る。
図 1 7に示す例では、 さらに、 デバイス 1702において取得したプログラム コードによる処理を実行して、 その結果をデバイス 170 1に返して、 デバイス 1 70 1がその結果に基づいて、 さらに処理を続行する例を示している。
このように有効化キーブロック (EKB) と、 有効化キープロヅク (EKB) に含まれる更新ノードキーで暗号処理したプログラムコードを配信することによ り、 特定のデバイスにおいて解読可能なプログラムコードを前述の図 3で示した 特定のデバイス、 あるいはグループに対して配信することが可能となる。
[送信コンテンツに対するチェック値 (I CV integrity Check Value) を 対応させる構成]
次に、 コンテンツの改竄を防止するためにコンテンツのィンテグリティ · チェ ヅク値 (I CV) を生成して、 コンテンツに対応付けて、 I CVの計算により、 コンテンツ改竄の有無を判定する処理構成について説明する。
コンテンツのィンテグリティ . チェヅク値 (I CV) は、 例えばコンテンツに 対するハッシュ関数を用いて計算され、 I C V = h a s h (K i c v, C I , C 2, ···) によって計算される。 K i c vは I C V生成キーである。 C I , C 2は コンテンツの情報であり、 コンテンツの重要情報のメヅセージ認証符号 (MAC : Message authentication Code) が使用される。 D E S暗号処理構成を用いた MAC値生成例を図 18に示す。 図 18の構成に 示すように対象となるメッセージを 8バイ ト単位に分割し、 (以下、 分割された メッセージを Ml、 M2、 . . ·、 MNとする) 、 まず、 初期値 (Initial Valu e (以下、 I Vとする) ) と M 1の排他的論理和を求める (その結果を I 1とす る) 。 次に、 I 1を D E S暗号化部に入れ、 鍵 (以下、 K 1とする) を用いて暗 号化する (出力を E 1とする) 。 続けて、 E 1及び M 2の排他的論理和を求め、 その出力 I 2を D E S暗号化部へ入れ、 鍵 K 1を用いて暗号化する (出力 E 2 ) 。 以下、 これを繰り返し、 全てのメッセージに対して暗号化処理を施す。 最後に出 てきた E Nがメッセージ認証符号 (MAC (Message Authentication Code) ) と なる。
このようなコンテンツの MAC値と I CV生成キーにハヅシュ関数を適用して 用いてコンテンツのインテグリティ ' チェック値 (I CV) が生成される。 改竄 のないことが保証された例えばコンテンツ生成時に生成した I CVと、 新たにコ ンテンッに基づいて生成した I CVとを比較して同一の I CVが得られればコン テンッに改竄のないことが保証され、 I CVが異なれば、 改竄があつたと判定さ れる。
[チェック値 (I CV) の生成キー K i c Vを E KBによって配布する構 成]
次に、 コンテンツのィンテグリティ ' チェヅク値 (I CV) 生成キーである K i c Vを上述の有効化キープ口ヅクによって送付する構成について説明する。 す なわち E K Bによる暗号化メヅセージデータをコンテンツのインテグリティ · チ ェヅク値 (I C V) 生成キーとした例である。
図 1 9及び図 20に複数のデバイスに共通のコンテンツを送付した場合、 それ らのコンテンツの改竄の有無を検証するためのィンテグリティ · チェヅク値生成 キー K i c Vを有効化キープロヅク (EKB) によって配信する構成例を示す。 図 1 9はデバイス 0 , 1, 2, 3に対して復号可能なチェヅク値生成キー K i c Vを配信する例、 図 20はデバイス 0 , 1, 2 , 3中のデバイス 3をリボーク (排除) してデバイス 0 , 1 , 2に対してのみ復号可能なチェック値生成キ一 K i c Vを配信する例を示す。 図 1 9の例では、 更新ノードキー K ( t ) 0 0によって、 チェヅク値生成キー K i c Vを暗号化したデータとともに、 デバイス 0, 1 , 2 , 3においてそれそ れの有するノードキー、 リ一フキーを用いて更新されたノードキ一 K (七) 0 0 を復号可能な有効化キーブロック (E KB) を生成して配信する。 それそれのデ バイスは、 図 1 9の右側に示すようにまず、 E KBを処理 (復号) することによ り、 更新されたノードキー K (t ) 0 0を取得し、 次に、 取得したノードキー K (t ) 0 0を用いて暗号化されたチェック値生成キー : E n c (K (七) 0 0 , K i e v) を復号してチェック値生成キー K i c Vを得ることが可能となる。 その他のデバイス 4 , 5 , 6 , 7…は同一の有効化キーブロック (E KB) を 受信しても自身の保有するノードキー、 リーフキーでは、 E KBを処理して更新 されたノードキー K ( t ) 0 0を取得することができないので、 安全に正当なデ バイスに対してのみチェヅク値生成キーを送付することができる。
一方、 図 2 0の例は、 図 3の点線枠で囲んだグループにおいてデバイス 3が、 例えば鍵の漏洩により リボーク (排除) されているとして、 他のグループのメン Λ すなわち、 デバイス 0 , 1 , 2に対してのみ復号可能な有効化キープロヅク (E KB) を生成して配信した例である。 図 2 0に示す有効化キ一プロヅク (E KB) と、 チヱヅク値生成キー (K i e v) をノードキー (K ( t ) 0 0) で暗 号化したデータを配信する。
図 2 0の右側には、 復号手順を示してある。 デバイス 0, 1, 2は、 まず、 受 領した有効化キープ口ックから自身の保有するリ フキー又はノードキーを用い た復号処理により、 更新ノードキー (K (七) 0 0 ) を取得する。 次に、 K ( t ) 0 0による復号によりチェヅク値生成キ一 K i c Vを取得する。
図 3に示す他のグループのデバイス 4, 5, 6…は、 この同様のデータ (E K B) を受信したとしても、 自身の保有するリーフキー、 ノードキーを用いて更新 ノードキー (K ( t ) 0 0) を取得することができない。 同様にリボークされた デバイス 3においても、 自身の保有するリーフキー、 ノードキーでは、 更新ノー ドキー (K (t ) 0 0 ) を取得することができず、 正当な権利を有するデバイス のみがチェック値生成キ一を復号して利用することが可能となる。
このように、 E KBを利用したチヱヅク値生成キーの配送を用いれば、 デ一夕 量を少なく して、 かつ安全に正当権利者のみが復号可能としたチェック値生成キ 一を配信することが可能となる。
このようなコンテンツのインテグリティ ' チェック値 (I CV) を用いること により、 EKBと暗号化コンテンツの不正コピーを排除することができる。 例え ば図 2 1 A及び図 2 1 Bに示すように、 コンテンヅ C 1とコンテンツ C 2とをそ れそれのコンテンツキーを取得可能な有効化キ一ブロック (EKB) とともに格 納したメディア 1があり、 これをそのままメディア 2にコピーした場合を想定す る。 E KBと暗号化コンテンツのコピーは可能であり、 これを E KBを復号可能 なデバイスでは利用できることになる。
図 2 1 Bに示すように各メディアに正当に格納されたコンテンツに対応付けて インテグリティ ' チェック値 (I CV (C 1 , C 2 ) ) を格納する構成とする。 なお、 ( I C V ( C 1 , C 2 ) ) は、 コンテンツ C 1とコンテンツ C 2にハヅシ ュ関数を用いて計算されるコンテンツのィンテグリティ ' チェヅク値である I C V二 ha sh (K i e , C I , C 2 ) を示している。 図 2 1 Bの構成において、 メディア 1には正当にコンテンツ 1とコンテンツ 2が格納され、 コンテンツ C 1 とコンテンツ C 2に基づいて生成されたィンテグリティ ' チェック値 (I C V (C 1 , C 2 ) ) が格納される。 また、 メディア 2には正当にコンテンツ 1が格 納され、 コンテンツ C 1に基づいて生成されたィンテグリティ ' チェヅク値 (I C V (C 1 ) ) が格納される。 この構成において、 メディア 1に格納された {E KB , コンテンツ 2}·をメディア 2にコピーしたとすると、'メディア 2で、 コン テンヅチェヅク値を新たに生成すると I CV (C 1 , C 2 ) が生成されることに なり、 メディアに格納されている K i c V (C 1 ) と異なり、 コンテンツの改竄 あるいは不正なコピーによる新たなコンテンツの格納が実行されたことが明らか になる。 メディアを再生するデバイスにおいて、 再生ステップの前ステヅプに I CVチヱヅクを実行して、 生成 I CVと格納 I CVの一致を判別し、 一致しない 場合は、 再生を実行しない構成とすることにより、 不正コピ一のコンテンツの再 生を防止することが可能となる。
また、 さらに、 安全性を高めるため、 コンテンツのインテグリティ ' チェック 値 (I CV) を書き換えカウンタを含めたデータに基づいて生成する構成として もよい。 すなわち I CV = ha s h (K i e v, c oun t e r + 1 , C I , C 2 , ···) によって計算する構成とする。 ここで、 カウンタ (c o unt e ;r + 1 ) は、 I CVの書き換え毎に 1つインクリメントされる値として設定する。 な お、 カウン夕値はセキュアなメモリに格納する構成とすることが必要である。 さらに、 コンテンツのインテグリティ ' チェック値 (I CV) をコンテンヅと 同一メディァに格納することができない構成においては、 コンテンツのィンテグ リティ · チェヅク値 (I CV) をコンテンツとは別のメディア上に格納する構成 としてもよい。 ·
例えば、 読み込み専用メディアや通常の MO等のコピー防止策のとられていな いメディアにコンテンツを格納する場合、 同一メディアにインテグリティ · チェ ヅク値 ( I CV) を格納すると I CVの書き換えが不正なユーザによりなされる 可能性があり、 I CVの安全性が保てないおそれがある。 このような場合、 ホス トマシン上の安全なメディアに I CVを格納して、 コンテンツのコピーコントロ —ル (例えば check- in/check- out、 move) に I C Vを使用する構成とすることに より、 I CVの安全な管理及びコンテンツの改竄チヱヅクが可能となる。
この構成例を図 2 2に示す。 図 2 2では読み込み専用メディアや通常の MO等 のコピー防止策のとられていないメディア 22 0 1にコンテンツが格納され、 こ れらのコンテンツに関するインテグリティ ' チェック値 ( I C V ) を、 ユーザが 自由にアクセスすることの許可されないホストマシン上の安全なメディア 2 2 0 2に格納し、 ユーザによる不正なィンテグリティ ·'チェヅク値 (ェ C V) の書き 換えを防止した例である。 このような構成として、 例えばメディア 2 2 0 1を装 着したデバイスがメディア 220 1の再生を実行する際にホス トマシンである P C、 サーバにおいて I CVのチェックを実行して再生の可否を判定する構成とす れば、 不正なコピーコンテンツあるいは改竄コンテンッの再生を防止できる。
[階層ヅリー構造のカテゴリ分類]
暗号鍵をルートキー、 ノードキー、 リーフキー等、 図 3の階層ヅリー構造とし て構成し、 コンテンツキー、 認証キー、 I CV生成キー、 あるいはプログラムコ ード、 データ等を有効化キーブロヅク (EKB) とともに暗号化して配信する構 成について説明してきたが、 ノードキー等を定義している階層ヅリー構造を各デ バイスのカテゴリ毎に分類して効率的なキー更新処理、 暗号化キー配信、 データ 配信を実行する構成について、 以下説明する。
図 2 3に階層ツリー構造のカテゴリの分類の一例を示す。 図 2 3において、 階 層ッリー構造の最上段には、 ルートキ一 K r 0 o t 2 3 0 1が設定され、 以下の 中間段にはノードキー 2 3 0 2が設定され、 最下段には、 リーフキ一 2 3◦ 3が 設定される。 各デバイスは個々のリーフキーと、 リーフキーからルートキ一に至 る一連のノードキー、 ル一トキ一を保有する。
ここで、 一例として最上段から第 M段目のあるノードをカテゴリノード 2 3 0 4として設定する。 すなわち第 M段目のノードの各々を特定カテゴリのデバイス 設定ノードとする。 第 M段の 1つのノードを頂点として以下、 M + 1段以下のノ 一ド、 リーフは、 そのカテゴリに含まれるデバイスに闋するノード及びリーフと する。
例えば図 2 3の第 M段目の 1つのノード 2 3 0 5にはカテゴリ [メモリスティ ヅク (商標) ] が設定され、 このノード以下に連なるノ一ド、 リーフはメモリス ティ ヅクを使用した様々なデバイスを含むカテゴリ専用のノード又はリーフとし て設定される。 すなわち、 ノ一ド 2 3 0 5以下を、 メモリスティ ヅクのカテゴリ に定義されるデバイスの関連ノード、 及びリーフの集合として定義する。
さらに、 M段から数段分下位の段をサブカテゴリノード 2 3 0 6として設定す ることができる。 例えば図に示すようにカテゴリ [メモリスティ ヅク] ノード 2 3 0 5の 2段下のノードに、 メモリスティ ヅクを使用したデバイスのカテゴリに 含まれるサブカテゴリノードとして、 [再生専用器] のノードを設定する。 さら に、 サブカテゴリノードである再生専用器のノード 2 3 0 6以下に、 再生専用器 のカテゴリに含まれる音楽再生機能付き電話のノード 2 3 0 7が設定され、 さら にその下位に、 音楽再生機能付き電話のカテゴリに含まれる [ P H S ] ノード 2 3 0 8 と [携帯電話] ノード 2 3 0 9を設定することができる。
さらに、 カテゴリ、 サブカテゴリは、 デバイスの種類のみならず、 例えばある メーカー、 コンテンツプロバイダ、 決済機関等が独自に管理するノード、 すなわ ち処理単位、 管轄単位、 あるいは提供サービス単位等、 任意の単位 (これらを総 称して以下、 エンティティ と呼ぶ) で設定することが可能である。 例えば 1つの カテゴリノードをゲーム機器メーカーの販売するゲーム機器 XYZ専用の頂点ノ 一ドとして設定すれば、 メーカーの販売するゲーム機器 ΧΥΖにその頂点ノード 以下の下段のノードキー、 リーフキーを格納して販売することが可能となり、 そ の後、 暗号化コンテンツの配信、 あるいは各種キーの配信、 更新処理を、 その頂 点ノードキー以下のノードキ一、 リーフキーによって構成される有効化キ一プロ ヅク (Ε ΚΒ) を生成して配信し、 頂点ノード以下のデバイスに対してのみ利用 可能なデ一夕が配信可能となる。
このように、 1つのノードを頂点としして、 以下のノードをその頂点ノードに 定義されたカテゴリ、 あるいはサブカテゴリの関連ノードとして設定する構成と することにより、 カテゴリ段、 あるいはサブカテゴリ段の 1つの頂点ノードを管 理するメーカー、 コンテンヅプロバイダ等がそのノードを頂点とする有効化キ一 プロヅク (ΕΚΒ) を独自に生成して、 頂点ノード以下に属するデバイスに配信 する構成が可能となり、 頂点ノードに属さない他のカテゴリのノードに属するデ バイスには全く影響を及ぼさずにキー更新を実行することができる。
[簡略 E KBによるキー配信構成 ( 1 ) ]
先に説明した例えば図 3のッリ一構成において、 キ一、 例えばコンテンツキー を所定デバイス (リーフ) 宛に送付する場合、 キー配布先デバイスの所有してい る リーフキ一、 ノードキ一を用いて復号可能な有効化キ一ブロック (E KB) を 生成して提供する。 例えば図 2 4 Aに示すヅリー構成において、 リーフを構成す るデバイス a, g, j に対してキー、 例えばコンテンツキーを送信する場合、 a , S , j の各ノードにおいて復号可能な有効化キープロヅク (E KB) を生成して 配信する。
例えば更新ル一トキ一 K (七) r o o tでコンテンツキ一K (七) c o nを暗 号化処理し、 E KBとともに配信する場合を考える。 この場合、 デバイス a, g3 jは、 それそれが図 2 4 Bに示すリ一フ及びノードキーを用いて、 EKBの処理 を実行して K ( t ) r o o tを取得し、 取得した更新ルートキ一 K (t ) r 0 0 tによってコンテンツキー K ( t ) c o nの復号処理を実行してコンテンツキ一 を得る。
この場合に提供される有効化キ一プロヅク (EKB) の構成は、 図 2 5に示す ようになる。 図 2 5に示す有効化キーブロック (EKB) は、 先の図 6で説明し た有効化キ一ブロック (EKB) のフォーマッ トにしたがって構成されたもので あり、 データ (暗号化キー) と対応するタグとを持つ。 タグは、 先に図 7 A乃至 図 7 Cを用いて説明したように左 (L) 、 右 (R) 、 それそれの方向にデータが あれば 0、 無ければ 1を示している。
有効化キーブロック (EKB) を受領したデバイスは、 有効化キープロヅク (E KB) の暗号化キーとタグに基づいて、 順次暗号化キーの復号処理を実行し て上位ノードの更新キーを取得していく。 図 25に示すように、 有効化キープ口 ヅク (EKB) は、 ルートからリーフまでの段数 (デブス) が多いほど、 そのデ 一夕量は増加していく。 段数 (デブス) は、 デバイス (リーフ) 数に応じて増大 するものであり、 キーの配信先となるデバイス数が多い場合は、 EKBのデ一夕 量がさらに增大することになる。
このような有効化キーブロック (EKB) のデータ量の削減を可能とした構成 について説明する。 図 2 6 A及び図 26 Bは、 有効化キープロヅク (EKB) を キー配信デバイスに応じて簡略化して構成した例を示すものである。
図 25と同様、 リーフを構成するデバイス a, g , jに対してキー、 例えばコ ンテンツキ一を送信する場合を想定する。 図 26Aに示すように、 · キー配信デバ イスによってのみ構成されるツリーを構築する。 この場合、 図 24Bに示す構成 に基づいて新たなツリー構成として図 2 6 Bのツリー構成が構築される。 Kr 0 0七から K jまでは全く分岐がなく 1つの枝のみが存在すればよく、 Kr o 0 t から K a及び K gに至るためには、 K 0に分岐点を構成するのみで、 2分岐構成 の図 26 Aのツリーが構築される。
図 26 Aに示すように、 ノードとして K 0のみを持つ簡略化したツリーが生成 される。 更新キー配信のための有効化キープロヅク (EKB) は、 これらの簡略 ツリーに基づいて生成する。 図 26Aに示すツリーは、 有効化キープロヅク (E KB) を復号可能な末端ノード又はリーフを最下段とした 2分岐型ッリーを構成 するパスを選択して不要ノードを省略することにより再構築される再構築階層ヅ リーである。 更新キー配信のための有効化キーブロック (EKB) は、 この再構 築階層ツリーのノード又はリーフに対応するキーのみに基づいて構成される。 先の図 25で説明した有効化キーブロック (EKB) は、 各リーフ a, g, j から Kr o o tに至るまでの全てのキーを暗号化したデータを格納していたが、 簡略化 E KBは、 簡略化したッリーを構成するノードについてのみの暗号化デー 夕を格納する。 図 26 Bに示すようにタグは 3ビット構成を有する。 第 1及び第 2ビヅトは、 図 2 5の例と、 同様の意味を持ち、 左 (L) 、 右 (R) 、 それそれ の方向にデータがあれば 0、 無ければ 1を示す。 第 3番目のビッ トは、 ; EKB内 に暗号化キ一が格納されているか否かを示すためのビヅトであり、 データが格納 されている場合は 1、 データが無い場合は、 0として設定される。
データ通信網、 あるいは記憶媒体に格納されてデバイス (リーフ) に提供され る有効化キーブロック (EKB) は、 図 2 6 Bに示すように、 図 25に示す構成 に比較すると、 デ一夕量が大幅に削減されたものとなる。 図 2 6 A及び図 2 6 B に示す有効化キーブロック (EKB) を受領した各デバイスは、 タグの第 3ビヅ トに 1が格納された部分のデータのみを順次復号することにより、 所定の暗号化 キーの復号を実現することができる。 例えばデバイス aは、 暗号化デ一夕 En c (Ka, K (t) 0) をリーフキ一K aで復号して、 ノードキ一 K (七)' 0を取 得して、 ノードキー K ( t ) 0によって暗号化データ En c (K ( t ) 0, K
( t ) r o o t) を復号して K (t ) r o o tを取得する。 デバイス jは、 暗号 化データ En c (K j, K (t) r o o t) をリーフキー K jで復号して、 K ( t ) r o o tを取得する。
このように、 配信先のデバイスによってのみ構成される簡略化した新たなッリ 一構成を構築して、 構築されたッリーを構成するリーフ及びノ一ドのキーのみを 用いて有効化キーブロック (EKB) を生成することにより、 少ないデータ量の 有効化キープロヅク (EKB) を生成することが可能となり、 有効化キーブロヅ ク (EKB) のデータ配信が効率的に実行可能となる。
[簡略 E KBによるキー配信構成 (2) ] ' 図 26 A及び図 26 Bで示した簡略化したヅリーに基づいて生成される有効化 キーブロック (EKB) をさらに、 簡略化してデータ量を削減し、 効率的な処理 を可能とした構成について説明する。
図 26 A及び図 26 Bを用いて説明した構成は、 有効化キーブロック (EK B) を復号可能な末端ノード又はリーフを最下段とした 2分岐型ッリーを構成す るパスを選択して不要ノードを省略することにより再構築される再構築階層ヅリ 一であった。 更新キー配信のための有効化キープロヅク (EKB) は、 この再構 築階層ツリーのノ一ド又はリーフに対応するキーのみに基づいて構成される。 図 2 6 Aに示す再構築階層ツリーは、 リーフ a, g, j 'において更新ルートキ 一 K (t) r o 0 tを取得可能とするため、 図 26 Bに示す有効化キーブロック (E KB) を配信する。 図 26 Bの有効化キ一ブロック (EKB) の処理におい て、 リーフ jは、 Enc (K j, K (七) r o o t) の 1回の復号処理によりル 一トキ一: K ( t ) r o o tを取得できる。 しかし、 リーフ a, gは、 Enc (Ka, K (t) 0) 又は、 En c (Kg, K (t ) 0) の復号処理により K (t ) ◦を得た後、 さらに、 En c (K (七) 0 , K ( t ) r o o t) の復号処 理を実行してルートキ一: K ( t ) r o o tを取得する。 すなわち、 リーフ a, gは、 2回の復号処理を実行することが必要となる。
図 2 6 A及び図 26 Bの簡略化した再構築階層ツリーは、 ノード K 0がその下 位リーフ a, gの管理ノードとして独自の管理を実行している場合、 例えば後述 するサブルート · ノードとして、 下位リーフの管理を実行している場合には、 リ ーフ a, gが更新キーを取得したことを確認する意味で有効であるが、 ノード 0が下位リーフの管理を行なっていない場合、 あるいは行なっていたとしても、 上位ノードからの更新キー配信を許容している場合には、 図 26 Aに示す再構築 階層ヅリーをさらに簡略化して、 ノード 0のキーを省略して有効化キープ口ヅ ク (EKB) を生成して配信してもよい。
図 27 A及び図 27Bに、 このような有効化キーブロック (EKB) の構成を 示す。 図 26 A及び図 26 Bと同様、 リーフを構成するデバイス a, g, jに対 してキー、 例えばコンテンツキーを送信する場合を想定する。 図 27 Aに示すよ うに、 ルート K r 0 0 tと各リーフ a, g, jを直接接続したツリーを構築する c 図 27 Aに示すように、 図 26 Aに示す再構築階層ツリーからノード K0が省 かれた簡略化したヅリ一が生成される。 更新キー配信のための有効化キープ口ッ ク (EKB) は、 これらの簡略ツリーに基づいて生成する。 図 27 Aに示すヅリ 一は、 有効化キ一ブ Dック (EKB) を復号可能なリーフをとルートとを直接結 ぶパスのみによって再構築される再構築階層ツリーである。 更新キー配信のため の有効化キープロヅク (EKB) は、 この再構築階層ツリーのリーフに対応する キーのみに基づいて構成される。
なお、 図 27 Aの例は、 末端をリーフとした構成例であるが、 例えば最上位ノ ードか複数の中位、 下位ノードに対してキーを配信する場合も、 最上位ノードと 中位、 下位ノードとを直接接続した簡略化ッリ一に基づいて有効化キープ口ヅク (E KB) .を生成してキー配信を実行することが可能である。 このように、 再構 築階層ツリーは、 簡略化したツリーを構成する頂点ノードと、 簡略化したツリー を構成する末端ノード又はリーフとを直接、 接続した構成を持つ。 この簡略化ヅ リーでは、 頂点ノードからの分岐は 2に限らず、 配信ノード又はリーフ数に応じ て 3以上の多分岐を持つヅリーとして構成することが可能である。
先の図 25で説明した有効化キ一ブロック (EKB) は、 各リーフ a, g, j から K r o o tに至るまでの全てのキーを暗号化したデータを格納し、 図 26 A 及び図 26 Bで説明した有効化キ一ブロック (EKB) は、 リーフ a, g, jの リーフキー、 a, gの共通ノードとしての K 0、 さらに、 ルートキーを格納した 構成であつたが、 図 27 Aに示す簡略化階層ッリーに基づく有効化キープ口ック (E KB) は、 ノード K 0のキ一を省略したので、 図 27Bに示すように、 さら にデ一夕量の少ない有効化キーブロック (EKB) となる。
図 27 Bの有効化キ一ブロック (EKB) は、 図 26 Bの有効化キープロヅク (EKB) と同様、 3ビッ ト構成の夕グを有する。 第 1及び第 2ビッ トは、 図 2 6 A及び図 26 Bで説明したと同様、 左 (L) 、 右 (R) 、 それそれの方向にデ 一夕があれば 0、 無ければ 1を示す。 第 3番目のビッ トは、 EKB内に暗号化キ 一が格納されているか否かを示すためのビヅ トであり、 データが格納されている 場合は 1、 データが無い場合は、 0として設定される。 ·
図 27 Bの有効化キ一ブロック (EKB) において、 各リーフ a;, g , jは、 Enc (K a, K (t) r o o t) 、 又は Enc (Kg , K ( t ) r o o t) E n c (K j , K (t) r o o t) の 1回の復号処理によりルートキー : K ( t ) r o o tを取得できる。
このように簡略化された再構築ッリーの最上位ノードと、 ッリーを構成する末 端ノード又はリーフとを直接、 接続した構成を持つッリーに基づいて生成される 有効化キ一ブロック (EKB) は、 図 27 Bに示すように、 再構築階層ツリーの 頂点ノード及び末端ノード又はリーフに対応するキーのみに基づいて構成される, 図 2 6 A及び図 2 6 B又は図 27 A及び図 27 Bで説明した有効化キ一プロヅ ク (EKB) のように、 配信先のデバイスによってのみ構成される簡略化した新 たなツリー構成を構築して、 構築されたツリーを構成するリーフのみ、 あるいは リーフと共通ノードのキーのみを用いて有効化キ一ブロック (EKB) を生成す ることにより、 少ないデータ量の有効化キーブロック (EKB) を生成すること が可能となり、 有効化キーブロック (EKB) のデータ配信が効率的に実行可能 となる。
なお、 簡略化した階層ツリー構成は、 後段で説明するエンティティ単位の EK B管理構成において特に有効に活用可能である。 エンティティは、 キ一配信構成 としてのヅリー構成を構成するノードあるいはリ一フから選択した複数のノード あるいはリーフの集合体ブロックである。 エンティティは、 デバイスの種類に応 じて設定される集合であったり、 あるいはデバイス提供メーカー、 コンテンツプ ロバイダ、 決済機関等の管理単位等、 ある共通点を持った処理単位、 管轄単位、 あるいは提供サービス単位等、 様々な態様の集合として設定される。 1つのェン ティティには、 ある共通のカテゴリに分類されるデバイスが集まっており、' 例え ば複数のエンティティの頂点ノード (サブルート) によって上述したと同様の簡 略化したヅリーを再構築して E KBを生成することにより、 選択されたェンティ ティに属するデバイスにおいて復号可能な簡略化された有効化キープ口ック (E KB) の生成、 配信が可能となる。 エンティティ単位の管理構成については後段 で詳細に説明する。
なお、 このような有効化キーブロック (EKB) は、 光ディスク、 DVD等の 情報記録媒体に格納した構成とすることが可能である。 例えば、 上述の暗号化キ 一データによって構成されるデータ部と、 暗号化キーデータの階層ヅリ一構造に おける位置識別デ一夕としてのタグ部とを含む有効化キーブロック (EKB) に さらに、 更新ノードキーによって暗号化したコンテンツ等のメ ヅセージデ一夕と を格納した情報記録媒体を各デバイスに提供する構成が可能である。 デバイスは 有効化キーブロック (E K B ) に含まれる暗号化キーデータをタグ部の識別デー 夕にしたがって順次抽出して復号し、 コンテンツの復号に必要なキーを取得して コンテンヅの利用を行うことが可能となる。 もちろん、 有効化キーブロック (E K B ) をイン夕一ネッ ト等のネヅ トワークを介して配信する構成としてもよい。
[エンティティ単位の E K B管理構成]
次に、 キー配信構成としてのッリ一構成を構成するノードあるいはリーフを、 複数のノードあるいはリーフの集合としてのプロヅクで管理する構成について説 明する。 なお、 複数のノードあるいはリーフの集合としてのブロックを以下ェン ティティと呼ぶ。 エンティティは、 デバイスの種類に応じて設定される集合であ つたり、 あるいはデバイス提供メーカ一、 コンテンツプロバイダ、 決済機関等の 管理単位等、 ある共通点を持った処理単位、 管轄単位、 あるいは提供サービス単 位等、 様々な態様の集合として設定される。
エンティティについて、 図 2 8乃至図 2 8 Cを用いて説明する。 図 2 8 Aはヅ リーのエンティティ単位での管理構成を説明する図である。 1つのエンティティ は図では、 三角形として示し、 例えば 1エンティティ 2 7 0 1内には、 複数のノ —ドが含まれる。 1エンティティ内のノード構成を示すのが図 2 8 Bである。 1 つのエンティティは、 1つのノードを頂点とした複数段の 2分岐形-ヅリーによつ て構成される。 以下、 エンティティの頂点ノ一ド 2 7 0 2をサブル一トと呼ぶ。 ヅリーの末端は、 図 2 8 Cに示すようにリーフ、 すなわちデバイスによって構 成される。 · デバイスは、 複数デバイスをリーフとし、 サブルートである頂点ノー ド 2 7 0 2を持つッリ一によって構成されるいずれかのエンティティに属する。 図 2 8 Aから理解されるように、 エンティティは、 階層構造を持つ。 この階層 構造について、 図 2 9 A乃至図 2 9 Cを用いて説明する。
図 2 9 Aは、 階層構造を簡略化して説明するための図であり、 K r o o tから 数段下の段にエンティティ A 0 1 ~ A n nが構成され、 エンティティ A l〜 A n の下位には、 さらに、 エンティティ B 0 1〜: B n k、 さらに、 その下位にェンテ ィティ C 1〜C n qが設定されている。 各エンティティは、 図 2 9 B, 図 2 9 C に示す如く、 複数段のノード、 リーフによって構成されるヅリ一形状を持つ。 例えばエンティティ B n kの構成は、 (b ) に示すように、 サブルート 2 8 1 1 を頂点ノードとして、 末端ノード 2 8 1 2に至るまでの ¾数ノードを有する。 このエンティティは識別子 B n kを持ち、 エンティティ B n k内のノードに対応 するノードキー管理をエンティティ B n k独自に実行することにより、 末端ノー ド 2 8 1 2を頂点として設定される下位 (子) エンティティの管理を実行する。 また、 一方、 エンティティ B n kは、 サブルート 2 8 1 1 を末端ノードとして持 つ上位 (親) エンティティ A n nの管理下にある。
エンティティ C n 3の構成は、 ( c ) に示すように、 サブルート 2 8 5 1 を頂 点ノードとして、 各デバイスである末端ノード 2 8 5 2、 この場合はリーフに至 るまで複数ノード、 リーフを有する。 このエンティティは識別子 C n 3を持ち、 エンティティ C n 3内のノード、 リーフに対応するノードキー、 リ一フキー管理 をエンティティ C n 3独自に実行することにより、 末端ノード 2 8 5 2に対応す るリーフ (デバイス) の管理を実行する。 また、 一方、 エンティティ C n 3は、 サブルート 2 8 5 1 を末端ノードとして持つ上位 (親) エンティティ B n 2の管 理下にある。 各エンティティにおけるキ一管理とは、 例えばキー更新処理、 リボ ーク処理等であるが、 これらは後段で詳細に説明する。
最下段ェンティティのリーフであるデバイスには、 デバイスの属するェンティ ティのリーフキーから、 自己の属するエンティティの頂点ノ一ドであるサブルー トノードに至るパスに位置する各ノードのノードキー及びリーフキーが格納され る。 例えば末端ノード 2 8 5 2のデバイスは、 末端ノード (リーフ) 2 8 5 2か ら、 サブルートノード 2 8 5 1 までの各キーを格納する。
図 3 0 A及び図 3 0 Bを用いて、 さらにエンティティの構成について説明する。 エンティティは様々な段数によって構成されるヅリー構造を持つことが可能であ る。 段数、 すなわちデプス (depth) は、 エンティティで管理する末端ノードに対 応する下位 (子) エンティティの数、 あるいはリーフとしてのデバイス数に応じ て設定可能である。
図 3 0 Aに示すような上下エンティティ構成を具体化すると、 (b ) に示す態 様となる。 ルートエンティティは、 ルートキーを持つ最上段のエンティティであ る。 ルートエンティティの末端ノードに複数の下位エンティティ としてェンティ ティ A, B, Cが設定され、 さらに、 エンティティ Cの下位エンティティとして エンティティ Dが設定される。 エンティティ C 2 9 0 1は、 その未端ノードの 1 つ以上のノードをリザーブノード 2 9 5 0として保持し、 自己の管理するェンテ ィティを増加させる場合、 さらに複数段のヅリー構成を持つエンティティ C, 2 9 0 2をリザーブノード 2 9 5 0を頂点ノードとして新設することにより、 管理 末端ノ一ド 2 9 7 0を増加させて、 管理末端ノードに増加した下位エンティティ を追加することができる。
リザーブノードについて、 さらに図 3 1 を用いて説明する。 エンティティ A , 3 0 1 1は、 管理する下位エンティティ B, C, D…を持ち、 1つのリザーブノ ード 3 0 2 1を持つ。 エンティティは管理対象の下位エンティティをさらに増加 させたい場合、 リザーブノード 3 0 2 1に、 自己管理の下位エンティティ A, , 3 0 1 2を設定し、 下位エンティティ A, , 3 0 1 2の末端ノードにさらに管理 +対象の下位エンティティ: F, Gを設定することができる。 自己管理の下位ェンテ ィティ A, , 3 0 1 2も、 その末端ノードの少なく とも 1つをリザーブノード 3 0 2 '2 として設定することにより、 さらに下位エンティティ A, 5 3 0 1 3を設 定して、 さらに管理エンティティを增加させることができる。 下位エンティティ A ' , . 3 0 1 3の末端ノードにも 1以上のリザーブノードを確保する。 .このよう なリザーブノード保有構成をとることにより、 あるエンティティの管理する下位 エンティティは、 際限なく増加させることが可能となる。 なお、 リザ一プエンテ ィティは.、 末端ノードの 1つのみではなく、 複数個設定する構成としてもよい。 それそれのエンティティでは、 エンティティ単位で有効化キーブロック (E K B ) が構成され、 エンティティ単位でのキー更新、 リボーク処理を実行すること になる。 図 3 1のように複数のエンティティ A, A, , A, , には各ェンティテ ィ個々の有効化キ一ブロック (E K B ) が設定されることになるが、 これらは、 エンティティ A, A ' , A, , を共通に管理する例えばあるデバイスメーカーが 一括して管理することが可能である。
[新規エンティティの登録処理]
次に、 新規エンティティの登録処理について説明する。 登録処理シーケンスを 図 3 2に示す。 図 3 2のシーケンスにしたがって説明する。 新たにヅリー構成中 に追加される新規 (子) エンティティ (N— E n ) は、 上位 (親) エンティティ (P-En) に対して新規登録要求を実行する。 なお、 各エンティティは、 公閧 鍵暗号方式に従った公開鍵を保有し、 新規エンティティは自己の公開鍵を登録要 求に際して上位エンティティ (P— En) に送付する。
登録要求を受領した上位エンティティ (P— En) は、 受領した新規 (子) ェ ンティティ (N— En) の公開鍵を証明書発行局 (C A: Certificate Authorit y) に転送し、 C Aの署名を付加した新規 (子) エンティティ (N— En) の公開 鍵を受領する。 これらの手続きは、 上位エンティティ (P— E n) と新規 (子) エンティティ (N— En) との相互認証の手続きとして行われる。
これらの処理により、 新規登録要求エンティティの認証が終了すると、 上位ェ ンティティ (P— En) は、 新規 (子) エンティティ (N— En) の登録を許可 し、 新規 (子) エンティティ (N—En) のノードキーを新規 (子) ェンティテ ィ (N— En) に送信する。 このノードキ一は、 上位エンティティ (P— En) の末端ノードの 1つのノードキーであり、 かつ、 新規 (子) エンティティ (N— E n) の頂点ノード、 すなわちサブルートキーに対応する。
このノードキー送信が終了すると、 新規 (子) エンティティ (N— En) は、 新規 (子) エンティティ (·Ν— En) のツリー構成を構築し、 構築したツリーの 頂点に受信した頂点ノードのサブルートキーを設定し、 各ノード、 リーフのキ一 を設定して、 エンティティ内の有効化キープロヅク (EKB) を生成する。 1つ のエンティティ内の有効化キ一ブロック (EKB) をサブ EKBと呼ぶ。
一方、 上位エンティティ (P— E n) は、 新規 (子) エンティティ (N— E n) の追加により、 有効化する末端ノードを追加した上位エンティティ (P— E n) 内のサブ E KBを生成する。
新規 (子) エンティティ (N— En) は、 新規 (子) エンティティ (N— E n) 内のノードキー、 リーフキーによって構成されるサブ EKBを生成すると、 これを上位エンティティ (P— En) に送信する。
新規 (子) エンティティ (N— E n) からサブ E KBを受信した上位ェンティ ティ (P— En) は、 受信したサブ EKBと、 上位エンティティ (P— En) の 更新したサブ E KBとをキー発行セン夕 (KD C : Key Distribute Center) に送 信する。 キー発行センタ (KD C) は、 全てのエンティティのサブ EKBに基づいて、 様々な態様の E KB、 すなわち特定のエンティティあるいはデバイスのみが復号 可能な E KBを生成することが可能となる。 このように復号可能なエンティティ あるいはデバイスを設定した E KBを例えばコンテンップロバイダに提供し、 コ ンテンヅプロバイダが E KBに基づいてコンテンツキーを暗号化して、 ネッ トヮ ークを介して、 あるいは記録媒体に格納して提供することによ り、 特定のデバイ スでのみ利用可能なコンテンツを提供することが可能となる。
なお、 新規エンティティのサブ E KBのキー発行センタ (KD C) に対する登 録処理は、 サブ EKBを上位エンティティを介してを順次転送して実行する方法 に限るものではなく、 上位エンティティを介さずに、 新規登録エンティティから 直接、 キー発行セン夕 (KD C) に登録する処理を実行する構成としてもよい。 上位エンティティと、 上位エンティティに新規追加する下位エンティティ との 対応について図 33を用いて説明する。 上位エンティティの末端ノードの 1つ 3 20 1を新規追加エンティティの頂点ノードとして、 下位エンティティに提供す ることによって下位エンティティは、 上位エンティティの管理下のェンティティ として追加される。 上位エンティティの管理下のエンティティ とは、 後段で詳細 に説明するが、 下位エンティティのリボーク (排除) 処理を上位エンティティが 実行できる構成であるという意味を含むものである。
図 33に示すように、 上位エンティティに新規エンティティが設定されると、 上位エンティティのリーフである末端ノードの 1つのノード 320 1と新規追加 ェンティティの頂点ノード 3202とが等しいノードとして設定される。 すなわ ち上位ノードの 1つのリーフである 1つの末端ノードが、 新規追加エンティティ のサブルートとして設定される。 このように設定されることにより、 新規追加工 ンティティが全体ヅリー構成の下で有効化される。
図 34 A及び図 34Bに新規追加エンティティを設定した際に上位ェンティテ ィが生成する更新 E KBの例を示す。 図 34A及び図 34Bは、 図 34 Aに示す 構成、 すなわち既に有効に存在する末端ノード (no d e O O O) 3301と末 端ノード (no d e O O l ) 3302があり、 ここに新規追加ェンティティに新 規エンティティ追加末端ノード (no d e l O O) 3303を付与した際に上位 エンティティが生成するサブ E K Bの例を示したものである。
サブ E K Bは、 図 3 4 Bに示すようにな構成を持つ。 それぞれ有効に存在する 末端ノードキーにより暗号化された上位ノードキー、 上位ノードキーで暗号化さ れたさらなる上位ノ一ドキ一、 …さらに上位に進行してサブルートキーに至る構 成となっている。 この構成によりサブ E K Bが生成される。 各エンティティは図 3 4 Bに示すと同様、 有効な未端ノード、 あるいはリ一フキーにより暗号化され た上位ノードキー、 上位ノードキーでさらに上位のノードキーを暗号化し、 順次 上位に深厚してサブルートに至る暗号化データによって構成される E K Bを有し、 これを管理する。
[エンティティ管理下におけるリポーク処理]
次に、 キー配信ッリー構成をエンティティ単位として管理する構成におけるデ バイスあるいはエンティティのリボーク (排除) 処理について説明する。 先の図 3, 4では、 ツリー構成全体の中から特定のデバイスのみ復号可能で、 リボーク されたデバイスは復号不可能な有効化キーブロック (E K B ) を配信する処理に ついて説明した。 図 3, 4で説明したリボーク処理は、 ヅリー全体の中から特定 のリーフであるデバイスをリボークする処理であつたが、 ツリーのエンティティ 管理による構成では、 エンティティ毎にリボーク処理が実行可能となる。
図 3 5以下の図を用いてエンティティ管理下のッリー構成におけるリボーク処 理について説明する。 図 3 5 A乃至図 3 5 Dは、 ツリーを構成するエンティティ の内、 最下段のエンティティ、 すなわち個々のデバイスを管理しているェンティ ティによるデバイスのリボーク処理を説明する図である。
図 3 5 Aは、 エンティティ管理によるキー配信ツリー構造を示している。 ッリ 一最上位にはルートノードが設定され、 その数段下にエンティティ A 0 l〜A n n、 さらにその下位段に B 0 1〜: B n kのエンティティ、 さらにその下位段に C 1〜 c nのエンティティが構成されている。 最も下のエンティティは、 末端ノー ド (リーフ) が個々のデバイス、 例えば記録再生器、 再生専用器等であるとする。 ここで、 リボーク処理は、 各エンティティにおいて独自に実行される。 例えば、 最下段のエンティティ C l ~ C nでは、 リーフのデバイスのリボーク処理が実行 される。 図 3 5 Bには、 最下段のエンティティの 1つであるエンティティ C n, 343◦のツリー構成を示している。 エンティティ Cn, 3430は、 頂点ノ一 ド 3431を持ち、 末端ノードであるリーフに複数のデバイスを持つ構成である < この末端ノードであるリーフ中に、 リボーク対象となるデバイス、 例えばデバ イス 3432があったとすると、 エンティティ Cn, 3430は、 独自に更新し たエンティティ Cn内のノ一ドキー、 リーフキーによって構成される有効化キ一 ブロック (サブ EKB) を生成する。 この有効化キ一ブロックは、 リボークデバ イス 3432においては復号できず、 他のリ一フを構成するデバイスにおいての み復号可能な暗号化キ一により構成されるキ一プロヅクである。 エンティティ C nの管理者は、 これを更新されたサブ E KBとして生成する。 具体的には、 サブ ルートからリボークデバイス 3432に連なるパスを構成する各ノード 343 1: 3434 , 3435のノ一ドキ一を更新して、 この更新ノードキーをリボークデ バイス 3432以外のリーフデバイスにおいてのみ復号可能な暗号化キーとして 構成したプロヅクを更新サブ EKBとする。 この処理は、 先の図 3, 4において 説明したリボーク処理構成において、 ル一トキ一を、 エンティティの頂点キーで あるサブルートキーに置き換えた処理に対応する。
このようにエンティティ C n, 3430がリボーク処理によって更新した有効 化キープ口ヅク (サブ EKB) は、 上位エンティティに送信される。 この場合、 上位エンティティはエンティティ B n k, 3420であり、 エンティティ Cn, 3430の頂点ノード 343 1を末端ノードとして有するエンティティである。 エンティティ: Bnk, 3420は、 下位ェンティティ Cn, 3430から有効 化キーブロック (サブ EKB) を受領すると、 そのキーブロックに含まれるェン ティティ Cnk, 3430の頂点ノード 343 1に対 するエンティティ Bnk, 3420の末端ノード 343 1を、 下位エンティティ Cn, 3430において更 新されたキーに設定して、 自身のエンティティ B nk, 3420のサブ EKBの 更新処理を実行する。 図 35 Cにエンティティ ; Bnk, 3420のッリー構成を 示す。 エンティティ Bnk, 3420において、 更新対象となるノードキーは、 図 35 Cのサブルート 342 1から リボークデバイスを含むエンティティを構成 する末端ノード 343 1に至るパス上のノードキーである。 すなわち、 更新サブ E KBを送信してきたエンティティのノード 343 1に連なるパスを構成する各 ノ一ド 342 1 , 3424 , 3425のノ一ドキ一が更新対象となる。 これら各 ノードのノードキーを更新してエンティティ Bnk, 3420の新たな更新サブ E KBを生成する。
さらに、 エンティティ Bnk, 3420が更新した有効化キ一ブロック (サブ E KB) は、 上位エンティティに送信される。 この場合、 上位エンティティはェ ンティティ Ann, 341 0であり、 エンティティ Bnk, 3420の頂点ノ一 ド 342 1を末端ノードとして有するエンティティである。
エンティティ Ann, 3410は、 下位ェンティティ Bnk, 3420から有 効化キープロヅク (サブ EKB) を受領すると、 そのキ一ブロックに含まれるェ ンティティ Bnk, 3420の頂点ノード 342 1に対応するエンティティ An n, 341 0の未端ノード 342 1を、 下位ェンティティ Bnk, 3420にお いて更新されたキーに設定して、 自身のエンティティ Ann, 34 1 0のサブ E KBの更新処理を実行する。 図 3 5 Dにエンティティ Ann, 341 0のッリ一 構成を示す。 エンティティ Ann, 34 10において、 更新対象となるノ一ドキ —は、 図 35Dのサブルート 34 1 1から更新サブ E KBを送信してきたエンデ ィティのノード 342 1に連なるパスを構成する各ノード 341 1, 3414, 34 1 5のノードキーである。 これら各ノードのノードキーを更新してェンティ ティ Ann, 341 0の新たな更新サブ E KBを生成する。
これらの処理を順次、 上位のエンティティにおいて実行し、 図 30 Bで説明し たルートエンティティまで実行する。 この一連の処理により、 デバイスのリボー ク処理が完結する。 なお、 それそれのエンティティにおいて更新されたサブ E K Bは、 最終的にキー発行センタ (KD C) に送信され、 保管される。 キ一発行セ ンタ (KD C) は、 全てのエンティティの更新サブ E KBに基づいて、 様々な E KBを生成する。 更新 E KBは、 リボ一クされたデバイスでの復号が不可能な暗 号化キ一プロックとなる。
デバイスのリポーク処理のシーケンス図を図 36に示す。 処理手順を図 36の シーケンス図に従って説明する。 まず、 ツリー構成の最下段にあるデバイス管理 エンティティ (D— En) は、 デバイス管理エンティティ (D— En) 内のリポ —ク対象のリーフを排除するために必要なキー更新を行ない、 デバイス管理ェン ティティ (D— En) の新たなサブ EKB (D) を生成する。 更新サブ EKB (D) は、 上位エンティティに送付される。 更新サブ E KB (D) を受領した上 位 (親) エンティティ (P I— En) は、 更新サブ EKB (D) の更新頂点ノー ドに対応した末端ノードキ一の更新及び、 その末端ノードからサブルートに至る パス上のノードキーを更新した更新サブ E KB (P I) を生成する。 これらの処 理を順次、 上位エンティティにおいて実行して、 最終的に更新された全てのサブ E KBがキ一発行センタ (KD C) に格納され管理される。
図 37 A及び図 37 Bにデバイスのリポーク処理によって上位エンティティが 更新処理を行なって生成する有効化キ一プロヅク (EKB) の例を示す。
図 37 A及び図 37 Bは、 図 37 Aに示す構成において、 リボークデバイスを 含む下位エンティティから更新サブ E KBを受信した上位エンティティにおいて 生成する E KBの例を説明する図である。 リボークデバイスを含む下位ェンティ ティの頂点ノードは、 上位ェンティティの末端ノード (no d e l O O) 360 1に対応する。
上位エンティティは、 上位エンティティのサブルートから末端ノード (no d e 1 00 ) 3601までのパスに存在するノードキーを更新して新たな更新サブ E KBを生成する。 更新サブ E KBは、 図 37 Bのようになる。 更新されたキ一 は、 下線及び [, ] を付して示してある。 このように更新された末端ノードから サブル一トまでのパス上のノードキーを更新してそのエンティティにおける更新 サブ E K Bとする。
次に、 リボークする対象をエンティティ とした場合の処理、 すなわちェンティ ティのリボーク処理について説明する。
図 38Aは、 エンティティ管理によるキー配信ヅリ一構造を示している。 ヅリ 一最上位にはルートノ一ドが設定され、 その数段下にエンティティ AO l〜An n、 さらにその下位段に B 0 1〜; B nkのエンティティ、 さらにその下位段に C 1〜c nのエンティティが構成されている。 最も下のエンティティは、 末端ノ一 ド (リーフ) が個々のデバイス、 例えば記録再生器、 再生専用器等であるとする。 ここで、 リボ一ク処理を、 エンティティ Cn, 3730に対して実行する場合 について説明する。 最下段のェンティティ Cn, 3730は、 図 38Bに示すよ うに頂点ノード 343 1を持ち、 末端ノードであるリーフに複数のデバイスを持 つ構成である。
エンティティ Cn, 3730をリボークすることにより、 エンティティ Cn, 3730に属する全てのデバイスのヅリー構造からの一括排除が可能となる。 ェ ンティティ Cn, 3730のリボーク処理は、 エンティティ Cn, 3730の上 位エンティティであるエンティティ Bnk, 3720において実行される。 ェン ティティ Bnk, 3720は、 エンティティ Cn, 3730の頂点ノード 373 1を末端ノードとして有するエンティティである。
エンティティ Bnk, 3720は、 下位エンティティ Cn, 3730のリボー クを実行する場合、 エンティティ Cnk, 3730の頂点ノ一ド 373 1に対応 するエンティティ: Bnk, 3720の末端ノード 3731を更新し、 さらに、 そ のリボークエンティティ 3730からエンティティ Bnk, 3720のサブルー トまでのパス上のノードキーの更新を行ない有効化キーブロックを生成して更新 サブ E KBを生成する。 更新対象となるノードキーは、 図 38 Cのサブルート 3 72 1からリボークエンティティの頂点ノードを構成する末端ノード 373 1に 至るパス上のノードキーである。 すなわち、 ノード 372 1 , 3724, 372 5, 373 1のノードキーが更新対象となる。 これら各ノードのノードキーを更 新してエンティティ B nk, 3720の新たな更新サブ E K Bを生成する。
あるいは、 エンティティ Bnk, 3720は、 下位エンティティ Cn, 373 0のリボークを実行する場合、 エンティティ Cnk, 3730の頂点ノード 37 3 1に対応するエンティティ B nk, 3720の末端ノード 373 1は更新せず、 そのリボークエンティティ 3730からエンティティ Bnk, 3720のサブル 一トまでのパス上の末端ノード 373 1を除くノードキーの更新を行ない有効化 キープ口ックを生成して更新サブ E KBを生成してもよい。
さらに、 エンティティ Bnk, 3720が更新した有効化キ一ブロック (サブ E KB) は、 上位エンティティに送信される。 この場合、 上位エンティティはェ ンティティ Ann, 3710であり、 エンティティ Bnk, 3720の頂点ノー ド 372 1を末端ノードとして有するエンティティである。
エンティティ Ann, 37 1 0は、 下位エンティティ Bnk, 3720から有 効化キーブロック (サブ EKB) を受領すると、 そのキープ口ヅクに含まれるェ ンティティ Bnk, 372 0の頂点ノード 372 1に対応するエンティティ An , 3 7 1 0の末端ノード 372 1を、 下位エンティティ Bnk, 3 72 0にお いて更新されたキーに設定して、 自身のエンティティ Ann, 37 1 0のサブ E KBの更新処理を実行する。 図 38 Dにエンティティ Ann, 37 1 0のツリー 構成を示す。 エンティティ Ann, 37 1 0において、 更新対象となるノ一ドキ —は、 図 3 8 Dのサブルート 3 7 1 1から更新サブ E KBを送信してきたェンテ ィティのノード 372 1に連なるパスを構成する各ノード 37 1 1, 3 7 1 4 ,
3 7 1 5のノードキーである。 これら各ノードのノードキ一を更新してェンティ ティ Ann, 37 1 0の新たな更新サブ E K Bを生成する。
これらの処理を順次、 上位のエンティティにおいて実行し、 図 30 Bで説明し たルートエンティティまで実行する。 この一連の処理により、 エンティティのリ ボーク処理が完結する。 なお、 それそれのエンティティにおいて更新されたサブ EKBは、 最終的にキー発行セン夕 (KD C) に送信され、 保管される。 キー発 行セン夕 (KD C) は、 全てのエンティティの更新サブ E KBに基づいて、 様々 な EKBを生成する。 更新 EKBは、 リボークされたエンティティに属するデバ イスでの復号が不可能な暗号化キープ口ヅクとなる。
エンティティのリボーク処理のシーケンス図を図 39に示す。 処理手順を図 3 9のシーケンス図に従って説明する。 まず、 エンティティをリボークしようとす るエンティティ管理エンティティ (E— E n) は、 エンティティ管理ェンティテ ィ (E— En) 内のリボーク対象の末端ノードを排除するために必要なキー更新 を行ない、 エンティティ管理エンティティ (E— En) の新たなサブ EKB
(E) を生成する。 更新サブ EKB (E) は、 上位エンティティに送付される。 更新サブ EKB (E) を受領した上位 (親) エンティティ (P 1 -E n) は、 更 新サブ E KB (E) の更新頂点ノードに対応した末端ノードキーの更新及び、 そ の末端ノードからサブルートに至るパス上のノードキーを更新した更新サブ E K B (P 1 ) を生成する。 これらの処理を順次、 上位エンティティにおいて実行し て、 最終的に更新された全てのサブ EKBがキー発行センタ (KD C) に格納さ れ管理される。 キー発行セン夕 (KD C) は、 全てのエンティティの更新サブ E K Bに基づいて、 様々な E K Bを生成する。 更新 E K Bは、 リボークされたェン ティティに属するデバイスでの復号が不可能な暗号化キープ口ヅクとなる。
図 4 0にリボークされた下位エンティティと、 リボークを行なった上位ェンテ ィティの対応を説明する図を示す。 上位エンティティの末端ノード 3 9 0 1は、 エンティティのリボークにより更新され、 上位ェンティティのヅリ一における末 端ノード 3 9 0 1からサブルートまでのパスに存在するノードキーの更新により、 新たなサブ E K Bが生成される。 その結果、 リボークされた下位エンティティの 頂点ノード 3 9 0 2のノードキ一と、 上位エンティティの末端ノ一ド 3 9 0 1の ノードキーは不一致となる。 エンティティのリボーク後にキー発行センタ (K D C ) によって生成される E K Bは、 上位エンティティにおいて更新された末端ノ ード 3 9 0 1のキーに基づいて生成されることになるので、 その更新キーを保有 しない下位エンティティのリーフに対応するデバイスは、 キ一発行センタ (K D C ) によって生成される E K Bの復号ガ不可能になる。
なお、 上述の説明では、 デバイスを管理する最下段のエンティティのリボーク 処理について説明したが、 ヅリーの中段にあるエンティティ管理エンティティを その上位ェンティティがリボークする処理も上記と同様のプロセスによって可能 である。 中段のェンティティ管理ェン,ティティをリポークすることにより、 リボ ークされたエンティティ管理エンティティの下位に属する全ての複数ェンティテ ィ及びデバイスを一括してリボーク可能となる。
このように、 エンティティ単位でのリボークを実行することにより、 1つ 1つ のデバイス単位で実行するリボーク処理に比較して簡易なプロセスでのリボーク 処理が可能となる。
[エンティティのケィパピリティ管理]
次に、 エンティティ単位でのキー配信ツリー構成において、 各エンティティの 許容するケィパピリティ(Capabi l ity)を管理して、 ケィパピリティに応じたコン テンヅ配信を行う処理構成について説明する。 ここでケィパピリティ とは、 例え ば特定の圧縮音声データの復号が可能であるとか、 特定の音声再生方式を許容す るとか、 あるいは特定の画像処理プログラムを処理できる等、 デバイスがどのよ うなコンテンツ、 あるいはプログラム等を処理できるデパイスであるか、 すなわ ちデバイスのデータ処理能力の定義情報である。
図 4 1 にケィパピリティを定義したエンティティ構成例を示す。 キー配信ッリ 一構成の最頂点ににルートノードが位置し、 下層に複数のエンティティが接続さ れて各ノードが 2分岐を持つヅリー構成である。 ここで、 例えばエンティティ 4 0 0 1は、 音声再生方式 A, B , Cのいずれかを許容するケィパピリティを持つ エンティティ として定義される。 具体的には、 例えばある音声圧縮プログラム一 A、 B、 又は C方式で圧縮した音楽データを配信した場合に、 エンティティ 4 0 0 1以下に構成されたエンティティに属するデバイスは圧縮データを伸長する処 理が可能である。
同様にエンティティ 4 0 0 2は音声再生方式 B又は C、 エンティティ 4 0 0 3 は音声再生方式 A又は B、 エンティティ 4 0 0 4は音声再生方式 B、 ェンティテ ィ 4◦ 0 5は音声再生方式 Cを処理することが可能なケィパピリティを持つェン ティティ として定義される。
一方、 エンティティ 4 0 2 1は、 画像再生方式 p, q , rを許容するェンティ ティ として定義され、 エンティティ 4 0 2 2は方式 p , qの画像再生方式、 ェン ティティ 4 0 2 3は方式. pの画像再生が可能なケィパピリティを持つェンティテ ィ として定義される。
このような各エンティティのケィパピリティ情報は、 キー発行センタ (K D C ) において管理される。 キー発行セン夕 (K D C ) は、 例えばあるコンテンツ プロバイダが特定の圧縮プログラムで圧縮した音楽データを様々なデバイスに配 信したい場合、 その特定の圧縮プログラムを再生可能なデバイスに対してのみ復 号可能な有効化キープロヅク (E K B ) を各エンティティのケィパピリティ情報 に基づいて生成することができる。 コンテンヅを提供するコンテンツプロバイダ は、 ケィパピリティ情報に基づいて生成した有効化キーブロック (E K B ) によ つて暗号化したコンテンツキーを配信し、 そのコンテンツキーで暗号化した圧縮 音声データを各デバイスに提供する。 この構成により、 データの処理が可能なデ バイスに対してのみ特定の処理プログラムを確実に提供することが可能となる。 なお、 図 4 1では全てのエンティティについてケィパピリティ情報を定義して いる構成であるが、 図 4 1の構成ように全てのエンティティにケィパピリティ情 報を定義することは必ずしも必要ではなく、 例えば図 42に示すようにデバイス が属する最下段のエンティティについてのみケィパピリティを定義して、 最下段 のエンティティに属するデバイスのケィパピリティをキー発行セン夕 (KD C) において管理して、 コンテンヅプロ イダが望む処理の可能なデバイスにのみ復 号可能な有効化キーブロック (EKB) を最下段のエンティティに定義されたケ ィパピリティ情報に基づいて生成する構成としてもよい。 図 42では、 末端ノー ドにデバイスが定義されたエンティティ 4 1 0 1 =4 1 05におけるケィパピリ ティが定義され、 これらのエンティティについてのケィパピリティをキー発行セ ン夕 (KD C) において管理する構成である。 例えばエンティティ 4 1 01には 音声再生については方式 B、 画像再生については方式 rの処理が可能なデバイス が属している。 エンティティ 41 02には音声再生については方式 A、 画像再生 については方式 qの処理が可能なデバイスが属している等である。
図 43 A及び図 43 Bにキー発行セン夕 (KD C) において管理するケィパピ リティ管理テーブルの構成例を示す。 ケィパピリティ管理テーブルは、 図 43 A のようなデータ構成を持つ。 すなわち、 各エンティティを識別する識別子として のエンティティ I D、 そのエンティティに定義されたケィパピリティを示すケィ パビリティ リス ト、 このケィパピリティ リストは図 43 Bに示すように、 例えば 音声データ再生処理方式 (A) が処理可能であれば [ 1] 、 処理不可能であれは
[0] 、 音声データ再生処理方式 (B) が処理可能であれば [ 1] 、 処理不可能 であれは [0] …等、 様々な態様のデータ処理についての可否を 1ビヅ トづっ ·
[ 1 ] 又は [0]. を設定して構成されている。 なお、 このケィパピリティ情報の 設定方法はこのような形式に限らず、 エンティティの管理デバイスについてのケ ィパピリティを識別可能であれば他の構成でもよい。
ケィパピリティ管理テーブルには、 さらに、 各エンティティのサブ E KB、 あ るいはサブ E KBが別のデータベースに格納されている場合は、 サブ E KBの識 別情報が格納され、 さらに、 各エンティティのサブルートノード識別データが格 納される。
キー発行セン夕 (KD C) は、 ケィパピリティ管理テーブルに基づいて、 例え ば特定のコンテンツの再生可能なデバイスのみが復号可能な有効化キーブロック (E KB) を生成する。 図 44を用いて、 ケィパピリティ情報に基づく有効化キ 一プロックの生成処理について説明する。
まず、 ステップ S 430 1において、 キー発行セン夕 (KD C) は、 ケィパピ リティ管理テーブルから、 指定されたケィパピリティを持つエンティティを選択 する。 具体的には、 例えばコンテンツプロバイダが音声データ再生処理方式 Aに 基づく再生可能なデータを配信したい場合は、 図 43 Aのケィパピリティ リス ト から、 例えば音声データ再生処理 (方式 A) の項目が [ 1 ] に設定されたェンテ ィティを選択する。
次に、 ステップ S 4302において、 選択されたエンティティによって構成さ れる選択エンティティ I Dのリス トを生成する。 次に、 ステップ S 4303で、 選択エンティティ I Dによって構成されるツリーに必要なパス (キー配信ッリー 構成のパス) を選択する。 ステップ S 4304では、 選択エンティティ I Dのリ ス トに含まれる全てのパス選択が完了したか否かを判定し、 完了するまで、 ステ ヅプ S 4303においてパスを生成する。 これは、 複数のエンティティが選択さ れた場合に、 それそれのパスを順次選択する処理を意味している。
選択エンティティ I Dのリス トに含まれる全てのパス選択が完了すると、 ステ ヅプ S 4305に進み、 選択したパスと、 選択ェンティティによってのみ構成さ れるキー配信ツリー構造を構築する。
次に、 ステップ S 4306において、 ステップ S 4305で生成したヅリー構 造のノードキーの更新処理を行ない、 更新ノードキーを生成する。 さらに、 ヅリ 一を構成する選択エンティティのサブ E KBをケィパビリティ管理テ一ブルから 取り出し、 サブ E KBと、 ステヅプ S 4306で生成した更新ノードキーとに基 づいて選択エンティティのデバイスにおいてのみ復号可能な有効化キープロヅク (E KB) を生成する。 このようにして生成した有効化キ一ブロック (EKB) は、 特定のケィパピリティを持つデバイスにおいてのみ利用、 すなわち復号可能 な有効化キープロヅク (EKB) となる。 この有効化キーブロック (EKB) で 例えばコンテンツキーを暗号化して、 そのコンテンツキーで特定プログラムに基 づいて圧縮したコンテンツを暗号化してデバイスに提供することで、 キー発行セ ,ン夕 (KD C) によって選択された特定の処理可能なデバイスにおいてのみコン テンッが利用される。
このようにキー発行センタ (KD C) は、 ケィパピリティ管理テーブルに基づ いて、 例えば特定のコンテンヅの再生可能なデバイスのみが復号可能な有効化キ 一ブロック (EKB) を生成する。 従って、 新たなエンティティが登録される場 合には、 その新規登録エンティティのケィパピリティを予め取得することが必要 となる。 このエンティティ新規登録に伴うケィパピリティ通知処理について図 4 5を用いて説明する。 . ■
図 45は、 新規エンティティがキー配信ヅリー構成に参加する場合のケィパピ リティ通知処理シーケンスを示した図である。
新たにツリー構成中に追加される新規 (子) エンティティ (N— En) は、 上 位 (親) エンティティ (P— En) に対して新規登録要求を実行する。 なお、 各 エンティティは、 公開鍵暗号方式に従った公閧鍵を保有し、 新規エンティティは 自己の公開鍵を登録要求に際して上位エンティティ (P— En) に送付する。 登録要求を受領した上位エンティティ (P— En) は、 受領した新規 (子) ェ ンティティ (N— En) の公開鍵を証明書発行局 (C A: Certificate Author it y) に転送し、 C Aの署名を付加した新規 (子) エンティティ (N— En) の公閧 鍵を受領する。 これらの手続きは、 上位エンティティ (P— En) と新規 (子) エンティティ (N— En) との相互認証の手続きとして行われる。
これらの処理により、 新規登録要求エンティティの認証が終了すると、 上位ェ ンティティ (P— En) は、 新規 (子) エンティティ (N_En) の登録を許可 し、 新規 (子) エンティティ (N— En) のノードキーを新規 (子) ェンティテ ィ (N— En) に送信する。 このノードキ一は、 上位エンティティ (P— En) の末端ノードの 1つのノードキーであり、 かつ、 新規 (子) エンティティ (N— En) の頂点ノード、 すなわちサブル一トキ一に対応する。
このノードキー送信が終了すると、 新規 (子) エンティティ (N_En) は、 新規 (子) エンティティ (N— En) のツリー構成を構築し、 構築したツリーの 頂点に受信した頂点ノードのサブルートキーを設定し、 各ノード、 リーフのキー を設定して、 エンティティ内の有効化キープロヅク (サブ EKB) を生成する。 —方、 上位エンティティ (P— En) も、 新規 (子) エンティティ (N_En) の追加により、 有効化する末端ノードを追加した上位エンティティ (P— En) 内のサブ E KBを生成する。
新規 (子) エンティティ (N— En) は、 新規 (子) エンティティ (N— E n) 内のノードキ一、 リーフキーによって構成されるサブ E KBを生成すると、 これを上位エンティティ (P— En) に送信し、 さらに、 自己のエンティティで 管理するデバイスについてのケィパピリティ情報を上位エンティティに通知する ( 新規 (子) エンティティ (N— E n) からサブ E KB及びケィパピリティ情報 を受信した上位エンティティ (P— En) は、 受信したサブ E KBとケィパピリ ティ情報と、 上位エンティティ (P— En) の更新したサブ E KBとをキー発行 セン夕 (KDC :Key Distribute Center) に送信する。
キ一発行センタ (KDC) は、 受領したエンティティのサブ: E KB及びケィパ ピリティ情報とを図 43 A及び図 43 Bで説明したケィパピリティ管理テーブル に登録し、 ケィパピリティ管理テーブルを更新する。 キー発行セン夕 (KD C) は、 更新したケィパピリティ管理テーブルに基づいて、 様々な態様の EKB、 す なわち特定のケィパピリティを持つエンティティあるいはデバイスのみが復号可 能な E KBを.生成することが可能となる。
以上、 特定の実施例を参照しながら、 本発明について詳解してきた。 しかしな がら、 本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得る ことは自明である。 すなわち、 例示という形態で本発明を開示してきたのであり、 限定的に解釈されるべきではない。 本発明の要旨を判断するためには、 冒頭に記 • 載した特許請求の範囲の欄を参酌すべきである。 産業上の利用可能性 以上、 説明したように、 本発明の情報処理システム及び方法によれば、 コンテ ンッキーや認証キ一、 コンテンツチェック値生成キー、 プログラムデ一夕等の暗 号化処理キーブロックとして適用可能な有効化キーブロック (EKB) の生成に おいて、 階層的鍵配信ツリーを配信デバイスに応じて再構築して、 再構築した簡 略ヅリーに含まれるノード、 リーフに基づいて有効化キープロヅク (EKB) を 生成する構成としたので、 有効化キ一プロヅク (EKB) の大幅なデータ量削減 が実現される。
また、 本発明の情報処理システム及び方法によれば、 簡略化した再構築階層ヅ リーに基づく有効化キ一ブロック (EKB) を構成し、 さらに、 E KB中の暗号 化キーデータの位置識別子としてのタグに暗号化キ一データの有無を判別するデ 一夕を含ませた構成としたので、 E KBの大幅なデータ量削減が実現されるとと もに、 E K Bを受領したデバイスでのタグを用いた暗号化キーデータの抽出が容 易となり、 デバイスでの E KB復号処理が効率的になる。

Claims

請求の範囲
1 . 1以上の選択されたデバイスにおいてのみ利用可能な暗号化メッセージデ一 夕を配信する情報処理システムであり、
個々のデバイスは、 複数の異なるデバイスをリーフとした階層ヅリ一構造にお ける各ノードに固有のノードキーと各デバイス固有のリーフキーの異なるキーセ
、メ トをそれそれ保有するとともに、 デバイスに対して配信される前記暗号化メッ セ—ジデ一夕についての復号処理を前記キ―セットを使用して実行する暗号処理 手段を有し、
前記デバイスに提供される暗号化メッセージデータは、 前記階層ッリ一構造の 1つのノードを頂点ノードとし、 該頂点ノードの下位に連結されるノ一ド及びリ ーフによって構成されるグループ内のノードキーの少なくともいずれかを更新し た更新ノードキーを、 該グループのノードキーあるいはリーフキ一によって暗号 化した暗号化キーデータを含む有効化キーブロック (E K B ) の復号処理によつ て得られる前記更新ノードキーによって暗号化されたデータ構成であり、 前記有効化キーブロック (E K B ) は、 前記暗号化キ一デ一夕によって構成さ れるデータ部と、 該デ一夕部に格納される暗号化キーデ一夕の前記階層ッリ一構 造における位置識別デ一夕としての夕グ部とを含む構成であることを特徴とする 情報処理システム。
2 . 前記有効化キ一プロック (E K B ) に含まれる前記暗号化キーデータは、 前 記階層ッリ一構造を構成するノードキーを下位ノードキー又は下位リーフキーを 用いて暗号化したデ一夕であり、
前記タグ部に格納される位置識別データは、 前記有効化キ一ブロック (E K B ) に格納された 1以上の暗号化キーデ一夕各々のノード位置の下位の左右ノー ド又はリーフ位置の暗号化キーデータの有無を示す夕グとして構成されているこ とを特徴とする請求の範囲第 1項に記載の情報処理システム。
3 . 前記有効化キーブロック (E K B ) に含まれる前記暗号化キ一データは、 該 有効化キーブロック (E K B ) を復号可能な未端ノード又はリーフを最下段とし た簡略化した 2分岐型ッリーを構成するパスを選択して不要ノードを省略するこ とにより再構築される再構築階層ヅリーのノード又はリーフに対応するキ一のみ に基づいて構成され、
前記タグ部に格納される位置識別デ一夕は、 前記有効化キ一ブロック (E K B ) のタグに対応する暗号化キーの格納の有無を示すデータを含む構成であるこ とを特徴とする請求の範囲第 1項に記載の情報処理システム。
4 . 前記有効化キーブロック (E K B ) に含まれる前記暗号化キーデータは、 該 有効化キーブロック (E K B ) を復号可能な未端ノード又はリーフを最下段とし た簡略化した 2分岐型ヅリーを構成するパスを選択して不要ノードを省略するこ とにより再構築される再構築階層ッリーのノード又はリーフに対応するキーのみ に基づいて構成され、
前記タグ部に格納される位置識別データは、 前記有効化キーブロック (E K B ) に格納された 1以上の暗号化キーデ一夕各々のノード位置の下位の左右ノー ド又はリーフ位置の暗号化キーデータの有無を示すタグと、 該タグに対応する暗 号化キーの格納の有無を示すデータを含む構成であることを特徴とする請求の範 西第 1項に記載の情報処理システム。
5 . 前記再構築階層ツリーは、 共通要素を持つデバイスの部分集合ツリーとして 定義されるエンティティの頂点ノードであるサブル一トを選択して構成されるッ リ一であることを特徴とする請求の範囲第 4項に記載の情報処理システム。
6 . 前記有効化キーブロック (E K B ) に含まれる前記暗号化キーデータは、 該 有効化キーブロック (E K B ) を復号可能な末端ノード又はリーフを最下段とし た簡略化した多分岐型ツリーにおいて、 前記末端ノード又はリーフと、 該多分岐 型ヅリーの頂点とを直接接続するパスを選択して不要ノ一ドを省略することによ り再構築される再構築階層ッリーの頂点ノード及び末端ノード又はリーフに対応 するキーのみに基づいて構成され、
前記タグ部に格納される位置識別データは、 前記有効化キ一ブロック (E K B ) のタグに対応する暗号化キーの格納の有無を示すデータを含む構成であるこ とを特徴とする請求の範囲第 1項に記載の情報処理システム。
7 . 前記再構築階層ツリーは、 簡略化した多分岐型ツリーを構成する頂点ノード と、 簡略化したツリーを構成する末端ノード又はリーフとを直接、 接続した 3以 上の分岐を持つッリーであることを特徴とする請求の範囲第 6項に記載の情報処 理システム。 .
8 . 前記デバイスにおける前記暗号処理手段は、 前記有効化キーブロック (E K B ) の前記タグ部のデータにより、 前記暗号化キーデ一夕を順次抽出して、 復号 処理を実行し、 前記更新ノードキーを取得し、 該取得した更新ノードキーにより 前記暗号化メッセ一ジデ一夕の復号を実行する構成であることを特徴とする請求 の範囲第 1項に記載の情報処理システム。
9 . 前記メ ッセージデータは、 コンテンツデータを復号するための復号鍵として 使用可能なコンテンツキ一であることを特徴とする請求の範囲第 1項に記載の情 報処理システム。
1 0 . 前記メッセージデータは、 認証処理において用いられる認証キーであるこ とを特徴とする請求の範囲第 1項に記載の情報処理システム。
1 1 . 前記メッセージデータは、 コンテンツのィンテグリティ ' チェック値 ( I C V ) 生成キーであることを特徴とする請求の範囲第 1項に記載の情報処理シス テム。
1 2 . 前記メッセージデータは、 プログラムコードであることを特徴とする請求 の範囲第 1項に記載の情報処理システム。
1 3 . 1以上の選択されたデバイスにおいてのみ利用可能な暗号化メッセージデ 一夕を配信する情報処理方法であり、
複数の異なるデバイスをリーフとした階層ッリ一構造の 1つのノードを頂点ノ ードとし、 該頂点ノードの下位に連結されるノ一ド及びリーフによって構成され るグループ内のノードキ一の少なく ともいずれかを更新した更新ノードキーを、 該グループのノードキーあるいはリーフキ一によつて暗号化した暗号化キーデー 夕を含むデータ部と、 該デ一夕部に格納される暗号化キーデータの前記階層ッリ —構造における位置識別データとしての夕グ部とを含む有効化キープ口ック (E K B ) を生成する有効化キ一ブロック (E K B ) 生成ステヅプと、
前記更新ノードキーによって暗号化したメヅセ一ジデ一夕を生成してデバイス に対して配信するメヅセージデータ配信ステップとを有する情報処理方法。
1 4 . 前記情報処理方法は、 さらに、 前記階層ッリー構造における各ノードに固有のノードキーと各デバイス固有の リーフキーの異なるキ一セッ トをそれそれ保有するデバイスにおいて、 前記暗号 化メッセージデータについての復号処理を前記キーセッ トを使用して実行する復 号処理ステップを有する請求の範囲第 13項に記載の情報処理方法。
1 5. 前記有効化キーブロック (EKB) 生成ステップは、
前記階層ッリー構造を構成するノードキ一を下位ノードキー又は下位リーフキ 一を用いて暗号化して前記暗号化キーデータを生成するステツブと、
前記有効化キーブロック (EKB) に格納される 1以上の暗号化キーデータ各 々のノ一ド位置の下位の左右位置のノード又はリーフ位置の暗号化キ一デ一夕の 有無を示すタグを生成して前記タグ部に格納するステップとを含むことを特徴と する請求の範囲第 1 3項に記載の情報処理方法。
1 6. 前記有効化キ一ブロック (EKB) 生成ステヅプは、
該有効化キーブロック (EKB) を復号可能な末端ノード又はリーフを最下段 とした簡略化した 2分岐型ッリーを構成するパスを選択して不要ノードを省略す ることにより再構築階層ッリーを生成するステップと、
前記再構築階層ツリーの構成ノード又はリーフに対応するキーのみに基づいて 有効化キ一ブロック (EKB) を生成するステップと、
前記有効化キ一ブロック (EKB) のタグに対応する暗号化キーの格納の有無 を示すデータを前記タグ部に格納するステップとを含むことを特徴とする請求の 範囲第 1 3項に記載の情報処理方法。
1 7. 前記再構築階層ツリーを生成するステップは、 共通要素を持つデバイスの 部分集合ツリーとして定義されるエンティティの頂点ノードであるサブルートを 選択して実行されるヅリ一生成処理であることを特徴とする請求の範囲第 1 6項 に記載の情報処理方法。
1 8. 前記有効化キープロヅク (EKB) 生成ステップは、
該有効化キ一ブロック (EKB) を復号可能な末端ノード又はリーフを最下段 とした簡略化した多分岐型ツリーにおいて、 前記末端ノード又はリーフと、 該多 分岐型ヅリーの頂点とを直接接続するパスを選択して不要ノードを省略すること により再構築される再構築階層ッリーを生成するステップと、 前記有効化キーブロック (E K B ) のタグに対応する暗号化キーの格納の有無 を示すデータを前記タグ部に格納するステップとを含むことを特徴とする請求の 範囲第 1 3項に記載の情報処理方法。
1 9 . 前記再構築階層ツリーの生成ステップにおいて生成する再構築階層ツリー は、 簡略化した多分岐型ヅリ一を構成する頂点ノードと、 簡略化したツリーを構 成する末端ノード又はリーフとを直接、 接続した 3以上の分岐を持つッリーとし て生成することを特徴とする請求の範囲第 1 8項に記載の情報処理方法。
2 0 . 前記復号処理ステップは、
前記有効化キーブロック (E K B ) の前記タグ部に格納された位置識別データ に基づいて前記データ部に格納された暗号化キ一データを順次抽出して順次復号 処理を実行することにより前記更新ノードキーを取得する更新ノードキー取得ス チップと、
前記更新ノードキーにより前記暗号化メッセージデータの復号を実行するメ、リ セージデータ復号ステツプとを含むことを特徴とする請求の範囲第 1 4項に記載 の情報処理方法。
2 1 . 前記メッセージデ一夕は、 コンテンツデ一夕を復号するための復号鍵とし て使用可能なコンテンツキーであることを特徴とする請求の範囲第 1 3項に記載 の情報処理方法。
2 2 . 前記メヅセージデ一夕は、 認証処理において用いられる認証キーであるこ とを特徴とする請求の範囲第 1 3項に記載の情報処理方法。
2 3 . 前記メヅセージデ一夕は、 コンテンツのインテグリティ ' チェヅク値 ( I
C V ) 生成キーであることを特徴とする請求の範囲第 1 3項に記載の情報処理方 法。
2 4 . 前記メッセージデータは、 プログラムコードであることを特徴とする請求 の範囲第 1 3項に記載の情報処理方法。
2 5 . データを格納した情報記録媒体であり、
複数の異なるデバイスをリーフとした階層ヅリー構造の 1つのノードを頂点ノ —ドとし、 該頂点ノードの下位に連結されるノード及びリーフによって構成され るグループ内のノードキーの少なく ともいずれかを更新した更新ノードキーを、 該グループのノードキーあるいはリーフキーによって暗号化した暗号化キーデー 夕によって構成されるデータ部と、 該デ一夕部に格納される暗号化キーデ一夕の 前記階層ッリ一構造における位置識別データとしての夕グ部とを含む有効化キ一 ブロック ( E K B ) と、
前記更新ノードキーによって暗号化したメッセージデータとを格納した情報記 録媒体。
2 6 . 前記有効化キーブロック (E K B ) に含まれる前記暗号化キ一データは、 前記階層ッリ一構造を構成するノードキーを下位ノードキ一又は下位リーフキー を用いて暗号化したデータであり、
前記タグ部に格納される位置識別データは、 前記有効化キーブロック (E K B ) に格納された 1以上の暗号化キーデータ各々のノード位置の下位の左右位置 のノード又はリーフ位置の暗号化キーデータの有無を示すタグとして構成されて いることを特徴とする請求の範囲第 2 5項に記載の情報記録媒体。
2 7 . 前記有効化キ一ブロック (E K B ) に含まれる前記暗号化キーデータは、 該有効化キ一ブロック (E K B ) を復号可能な末端ノード又はリーフを最下段と した簡略化した 2分岐型ヅリ一を構成するパスを選択して不要ノ一ドを省略する ことにより再構築される再構築階層ヅリーのノード又はリーフに対応するキ一の みに基づいて構成され、
前記タグ部に格納される位置識別データは、 前記有効化キーブロック (E K B ) のタグに対応する暗号化キーの格納の有無を示すデータを含む構成であるこ とを特徴とする請求の範囲第 2 5項に記載の情報記録媒体。
2 8 . 複数の異なるデバイスをリーフとした階層ヅリー構造の 1つのノードを頂 点ノードとし、 該頂点ノードの下位に連結されるノード及びリーフによって構成 されるグループ内のノードキーの少なく ともいずれかを更新した更新ノードキー を、 該グループのノ一ドキーあるいはリーフキーによって暗号化した有効化キー プロヅク (E K B ) の生成処理をコンピュータ . システム上で実行せしめるコン ピュー夕 · プログラムを提供するプログラム提供媒体であって、
前記コンピュータ · プログラムは、
該有効化キーブロック (E K B ) を復号可能な末端ノード又はリーフを最下段 とした簡略化した 2分岐型ッリーを構成するパスを選択して不要ノ一ドを省略す ることにより再構築階層ツリーを生成するステップと、
前記再構築階層ヅリーの構成ノード又はリーフに対応するキーのみに基づいて 有効化キ一ブロック (E K B ) を生成するステップと、
前記有効化キーブロック (E K B ) のタグに対応する暗号化キーの格納の有無 を示すデ一タを前記タグ部に格納するステップとを含むことを特徴とするプログ ラム提供媒体。
2 9 . 複数の異なるデバイスをリーフとした階層ヅリ一構造における固有のノー ドキーとリーフキーのキーセヅ トを保持する記憶手段と、
配信される暗号化メッセージデータについての復号処理を前記キーセッ トを使 用して実行する復号処理手段を有し、
前記提供される暗号化メッセ一ジデ一夕は、 有効化キーブロック (E K B ) の 前記復号処理手段の復号処理によって得られる更新ノードキーによつて暗号化さ れたデータ構成であり、
前記有効化キ一ブロック (E K B ) は、
前記階層ヅリ一構造の 1つのノードを頂点ノ一ドとし、 該頂点ノードの下位に 連結されるノ一ドおよびリーフキーによって構成されるグループ内のノードキー の少なく ともいずれかを更新した前記更新ノードキーを、 該グループのノードキ —あるいはリーフキーによって暗号化した暗号化キ一データによって構成される デ一夕部と、
該データ部に格納される暗号化キーデータの前記階層ヅリ一構造における位置 識別データとしてのタグ部とを含む構成であることを特徴とする情報処理装置。
3 0 . 前記有効化キ一ブロック (E K B ) に含まれる前記暗号化キーデータは、 前記階層ッリ一構造を構成するノードキーを下位ノードキーまたは下位リーフキ —を用いて暗号化したデ一夕であり、
前記タグ部に格納される位置識別データは、 前記有効化キーブロック (E K B ) に格納された 1以上の暗号化キーデータ各々のノード位置の下位の左右ノー ドまたはリーフ位置の暗号化キーデータの有無を示すタグとして構成されている ことを特徴とする請求の範囲第 2 9項に記載の情報処理装置。
3 1 . 前記有効化キーブロック (E K B ) に含まれる前記暗号化キ一データは、 該有効化キ一ブロック (E K B ) を復号可能な末端ノー ドまたはリーフを最下段 とした簡略化した分岐型ッリーを構成するパスを選択して不要ノードを省略する ことにより再構築される再構築階層ツリーのノードまたはリーフに対応するキー のみに基づいて構成され、
前記タグ部に格納される位置識別データは、 前記有効化キーブロック (E K B ) のタグに対応する暗号化キーの格納の有無を示すデ一夕を含む構成であるこ とを特徴とする請求の範囲第 2 9項に記載の情報処理装置。
3 2 . 前記有効化キーブロック (E K B ) に含まれる前記暗号化キーデ一夕は、 該有効化キーブロック (E K B ) を復号可能な末端ノードまたはリーフを最下段 とした簡略化した分岐型ッリーを構成するパスを選択して不要ノードを省略する ことにより再構築される再構築階層ツリーのノードまたはリーフに対応するキー のみに基づいて構成され、
前記タグ部に格納される位置識別デ一夕は、 前記有効化キーブロック (E K B ) に格納された 1以上の暗号化キーデータ各々のノード位置の下位の左右ノー ドまたはリーフ位置の暗号化キーデータの有無を示すタグと、 該タグに対応する 暗号化キ一の格納の有無を示すデータを含む構成であることを特徴とする請求の 範囲第 2 9項に記載の情報処理装置。
3 3 . 前記復号処理手段は、
前記有効化キーブロック (E K B ) の前記タグ部のデータにより、 前記暗号化 キ一データを順次抽出して、 復号処理を実行し、 前記更新ノードキーを取得し、 該取得した更新ノードキーにより前記暗号化メッセージデータの復号を実行する 構成であることを特徴とする請求の範囲第 2 9項に記載の情報処理装置。
3 4 . 配信される暗号化メッセージデータを復号処理する情報処理方法であって、 階層ッリー構造の 1つのノードを頂点ノードとし、 該頂点ノードの下位に連結 されるノード及びリーフによって構成されるグループ内のノードキーの少なくと もいずれかを更新した更新ノードキーを、 上記グループのノードキーあるいはリ ーフキーによって暗号化した暗号化キーデータを含む有効化キープロヅク ( E K B ) より、 前記暗号化キーデ一夕を取得する暗号化キーデ一夕取得ステップと、 取得された前記暗号化キーデータを復号することにより上記更新ノードキーを 得る更新ノードキー取得ステップとを含み、
前記有効化キーブロック (E K B ) は、 前記暗号化キーデータによって構成さ れるデータ部と、 該データ部に格納される暗号化キーデータの前記階層ッリー構 造における位置識別データとしてのタグ部とを含む構成であることを特徴とする 情報処理方法。
3 5 . 前記暗号化キーデータ取得ステップでは、
前記有効化キーブロック (E K B ) の前記タグ部に格納された位置識別データ に基づいて前記データ部に格納された暗号化キーデータを順次抽出するようにな し、
前記更新ノードキー取得ステップでは、 取得された上記暗号化キーデータを順 次復号処理を実行することにより前記更新ノードキーを取得するようになすとと もに、
前記更新ノードキ一により前記暗号化メッセージデータの復号を実行する復号 処理ステップを更に有することを特徴とする請求の範囲第 3 4項に記載の情報処 理方法。
3 6 . 前記復号処理ステップでは、
前記階層ッリ一構造における各ノードに固有のノードキーと各デバイス固有の リーフキーの異なるキーセヅ トを保有し、 前記暗号化メヅセージデータについて の復号処理を前記キーセッ トを使用して実行するようになすことを特徴とする請 求の範囲第 3 5項に記載の情報処理方法。
3 7 . 上記メヅセージデータは、 コンテンヅデ一夕を復号するための復号鍵とし て使用可能なコンテンツキ一であることを特徴とする請求の範囲第 3 4項に記載 の情報処理方法。
3 8 . 上記メ ヅセージデータは、 認証処理において用いられる認証キ一であるこ とを特徴とする請求の範囲第 3 4項に記載の情報処理方法。
3 9 . 上記メヅセ一ジデ一夕は、 コンテンツのィンテグリティ · チェヅク値 ( I
C V ) 生成キーであることを特徴とする請求の範囲第 3 4項に記載の情報処理方 法。
PCT/JP2001/002929 2000-04-06 2001-04-04 Information processing system and method WO2001078299A1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
EP01919777A EP1185021B1 (en) 2000-04-06 2001-04-04 Information processing system and method
US09/980,952 US7505599B2 (en) 2000-04-06 2001-04-04 Information processing system and method for managing encrypted data with tag information
DE60126540T DE60126540T2 (de) 2000-04-06 2001-04-04 Verfahren und vorrichtung zur informationsverarbeitung
CNB018016278A CN100376091C (zh) 2000-04-06 2001-04-04 用于加密消息数据的接收设备和信息处理方法
DK01919777T DK1185021T3 (da) 2000-04-06 2001-04-04 Fremgangsmåde og anlæg til informationsbehandling
CA002372510A CA2372510A1 (en) 2000-04-06 2001-04-04 Information processing system and method
US11/342,162 US7707410B2 (en) 2000-04-06 2006-01-27 Information processing system and method

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2000105329 2000-04-06
JP2000-105329 2000-04-06
JP2000-179692 2000-06-15
JP2000179692 2000-06-15
JP2000317803A JP4023083B2 (ja) 2000-04-06 2000-10-18 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP2000-317803 2000-10-18

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US09980952 A-371-Of-International 2001-04-04
US11/342,162 Division US7707410B2 (en) 2000-04-06 2006-01-27 Information processing system and method

Publications (1)

Publication Number Publication Date
WO2001078299A1 true WO2001078299A1 (en) 2001-10-18

Family

ID=27343012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/002929 WO2001078299A1 (en) 2000-04-06 2001-04-04 Information processing system and method

Country Status (13)

Country Link
US (1) US7707410B2 (ja)
EP (1) EP1185021B1 (ja)
JP (1) JP4023083B2 (ja)
KR (1) KR100777906B1 (ja)
CN (1) CN100376091C (ja)
AT (1) ATE354223T1 (ja)
CA (1) CA2372510A1 (ja)
DE (1) DE60126540T2 (ja)
DK (1) DK1185021T3 (ja)
ES (1) ES2277919T3 (ja)
MY (1) MY135432A (ja)
TW (1) TWI228901B (ja)
WO (1) WO2001078299A1 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003036859A2 (en) * 2001-10-26 2003-05-01 Matsushita Electric Industrial Co., Ltd. Key management apparatus
WO2003036858A2 (en) * 2001-10-26 2003-05-01 Matsushita Electric Industrial Co., Ltd. Digital work protection system, key management apparatus, and user apparatus
WO2005074186A1 (en) * 2004-02-02 2005-08-11 Samsung Electronics Co., Ltd. Method of assigning user keys for broadcast encryption
US7698551B2 (en) 2001-01-26 2010-04-13 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US9520993B2 (en) 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0587850U (ja) * 1992-04-30 1993-11-26 多治見無線電機株式会社 多芯ケーブル用コネクタ
JP3957978B2 (ja) 2001-02-09 2007-08-15 株式会社東芝 暗号化システム、データ利用デバイス、及び、暗号化システムのデータ再生制御方法
JP2003229843A (ja) * 2002-01-31 2003-08-15 Sony Corp ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体
US7092527B2 (en) 2002-04-18 2006-08-15 International Business Machines Corporation Method, system and program product for managing a size of a key management block during content distribution
US7437664B2 (en) * 2002-06-18 2008-10-14 Microsoft Corporation Comparing hierarchically-structured documents
US7317799B2 (en) * 2002-07-19 2008-01-08 Vadium Technology, Inc. Cryptographic key distribution using key folding
KR100924773B1 (ko) 2002-09-16 2009-11-03 삼성전자주식회사 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템
US8261063B2 (en) * 2003-02-03 2012-09-04 Hewlett-Packard Development Company, L.P. Method and apparatus for managing a hierarchy of nodes
EP1612990A4 (en) * 2003-03-11 2011-06-01 Panasonic Corp CONTENT RECORDING / REPRODUCING SYSTEM, DISTRIBUTION DEVICE, REPRODUCING DEVICE, AND RECORDING DEVICE
KR101282972B1 (ko) 2004-03-22 2013-07-08 삼성전자주식회사 디바이스와 휴대형 저장장치와의 상호인증
MXPA06010776A (es) * 2004-03-22 2006-12-15 Samsung Electronics Co Ltd Autentificacion entre un dispositivo y un almacenamiento portatil.
JP4583069B2 (ja) * 2004-05-18 2010-11-17 パイオニア株式会社 鍵管理システム、及び再生装置
KR100970391B1 (ko) * 2005-04-19 2010-07-15 삼성전자주식회사 브로드 캐스트 암호화 시스템에서의 태그 형성방법
CN100418090C (zh) * 2005-08-31 2008-09-10 国际商业机器公司 一种存储数据的方法
JP4837463B2 (ja) * 2006-07-11 2011-12-14 Kddi株式会社 鍵管理システム、鍵管理方法およびプログラム
US9071589B1 (en) * 2008-04-02 2015-06-30 Cisco Technology, Inc. Encryption key management for storage area network devices
KR101252549B1 (ko) * 2008-11-21 2013-04-08 한국전자통신연구원 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치
US8165041B2 (en) * 2008-12-15 2012-04-24 Microsoft Corporation Peer to multi-peer routing
WO2013134290A2 (en) 2012-03-05 2013-09-12 R. R. Donnelley & Sons Company Digital content delivery
JP5906146B2 (ja) * 2012-06-29 2016-04-20 株式会社沖データ 画像データ処理装置及びプログラム
WO2020011358A1 (de) * 2018-07-12 2020-01-16 Seclous Gmbh Verfahren zum aufbau eines sicheren hierarchischen referenzierungssystems

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
WO2001003365A1 (en) * 1999-07-06 2001-01-11 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
WO2001003364A1 (en) * 1999-07-06 2001-01-11 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE19511298B4 (de) * 1995-03-28 2005-08-18 Deutsche Telekom Ag Verfahren zur Erteilung und zum Entzug der Berechtigung zum Empfang von Rundfunksendungen und Decoder
JPH1040255A (ja) 1996-07-29 1998-02-13 Nec Software Ltd ハッシュ表管理装置
US6118873A (en) 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
JPH11187013A (ja) * 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
WO2001003365A1 (en) * 1999-07-06 2001-01-11 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
WO2001003364A1 (en) * 1999-07-06 2001-01-11 Matsushita Electric Industrial Co., Ltd. Dual encryption protocol for scalable secure group communication

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"Key management for secure internet multicast using boolean function minimization techniques", PROCEEDINGS OF INFOCOM'99, vol. 2, 24 March 1999 (1999-03-24), pages 689 - 698, XP002941562, Retrieved from the Internet <URL:http://www.ieee-infocom.org/1999/> *
"Secure group communications using key graphs", PROCEEDINGS OF ACM SIGCOMM'98, 2 September 1998 (1998-09-02), pages 68 - 79, XP002941561, Retrieved from the Internet <URL:http://www.acm.org/sigcomm/sigcomm98/tp/technical.html> *
"The versakey framework: versatile group key management", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 17, no. 9, September 1999 (1999-09-01), pages 1614 - 1631, XP002941560 *

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698551B2 (en) 2001-01-26 2010-04-13 International Business Machines Corporation Method for broadcast encryption and key revocation of stateless receivers
US9520993B2 (en) 2001-01-26 2016-12-13 International Business Machines Corporation Renewable traitor tracing
US11108569B2 (en) 2001-01-26 2021-08-31 International Business Machines Corporation Renewable traitor tracing
WO2003036859A2 (en) * 2001-10-26 2003-05-01 Matsushita Electric Industrial Co., Ltd. Key management apparatus
WO2003036858A2 (en) * 2001-10-26 2003-05-01 Matsushita Electric Industrial Co., Ltd. Digital work protection system, key management apparatus, and user apparatus
WO2003036858A3 (en) * 2001-10-26 2004-07-08 Matsushita Electric Ind Co Ltd Digital work protection system, key management apparatus, and user apparatus
WO2003036859A3 (en) * 2001-10-26 2004-07-08 Matsushita Electric Ind Co Ltd Key management apparatus
US7272229B2 (en) 2001-10-26 2007-09-18 Matsushita Electric Industrial Co., Ltd. Digital work protection system, key management apparatus, and user apparatus
WO2005074186A1 (en) * 2004-02-02 2005-08-11 Samsung Electronics Co., Ltd. Method of assigning user keys for broadcast encryption

Also Published As

Publication number Publication date
CA2372510A1 (en) 2001-10-18
DE60126540D1 (de) 2007-03-29
US20060159272A1 (en) 2006-07-20
EP1185021A4 (en) 2003-05-07
TWI228901B (en) 2005-03-01
JP4023083B2 (ja) 2007-12-19
CN100376091C (zh) 2008-03-19
US7707410B2 (en) 2010-04-27
JP2002077131A (ja) 2002-03-15
EP1185021A1 (en) 2002-03-06
KR100777906B1 (ko) 2007-11-20
MY135432A (en) 2008-04-30
EP1185021B1 (en) 2007-02-14
ES2277919T3 (es) 2007-08-01
CN1383646A (zh) 2002-12-04
ATE354223T1 (de) 2007-03-15
KR20020026285A (ko) 2002-04-09
DE60126540T2 (de) 2007-11-22
DK1185021T3 (da) 2007-06-11

Similar Documents

Publication Publication Date Title
KR100840823B1 (ko) 암호 키 블록을 이용한 정보 처리 시스템 및 방법
KR100859622B1 (ko) 정보 처리 시스템 및 방법
JP4078802B2 (ja) 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体
KR100852305B1 (ko) 정보 처리 시스템 및 방법
WO2001078299A1 (en) Information processing system and method
KR100746880B1 (ko) 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와프로그램 제공 매체
JP4622087B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム記憶媒体
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
WO2002056535A1 (fr) Appareil et procede permettant d&#39;enregistrer et de reproduire des informations
JP4120135B2 (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP4806847B2 (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体
JP3988385B2 (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体
JP2010288291A (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CA CN IN KR RU SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/2001/01471/MU

Country of ref document: IN

ENP Entry into the national phase

Ref document number: 2372510

Country of ref document: CA

Ref document number: 2372510

Country of ref document: CA

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 1020017015695

Country of ref document: KR

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: 2001919777

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 018016278

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2001919777

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 09980952

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1020017015695

Country of ref document: KR

WWG Wipo information: grant in national office

Ref document number: 2001919777

Country of ref document: EP