WO2001099331A1 - System and method for processing information using encryption key block - Google Patents

System and method for processing information using encryption key block Download PDF

Info

Publication number
WO2001099331A1
WO2001099331A1 PCT/JP2001/005146 JP0105146W WO0199331A1 WO 2001099331 A1 WO2001099331 A1 WO 2001099331A1 JP 0105146 W JP0105146 W JP 0105146W WO 0199331 A1 WO0199331 A1 WO 0199331A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
entity
node
sub
ekb
Prior art date
Application number
PCT/JP2001/005146
Other languages
English (en)
French (fr)
Inventor
Yoshimichi Kitaya
Ryuji Ishiguro
Yoshitomo Osawa
Tomoyuki Asano
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
Priority claimed from JP2000179693A external-priority patent/JP2001358707A/ja
Priority claimed from JP2000179694A external-priority patent/JP4120135B2/ja
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to CA002379476A priority Critical patent/CA2379476C/en
Priority to MXPA02001533A priority patent/MXPA02001533A/es
Priority to EP01938704A priority patent/EP1204236A4/en
Priority to US10/048,658 priority patent/US7269257B2/en
Publication of WO2001099331A1 publication Critical patent/WO2001099331A1/ja
Priority to HK03104427.2A priority patent/HK1053556B/zh
Priority to US11/879,639 priority patent/US7957537B2/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
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • 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
    • 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
    • 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
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • the present invention relates to an information processing system and an information processing method using an encryption key block, and a program providing medium, and more particularly, to an encryption process in a system with an encryption process.
  • a system and method for distributing keys In particular, by using a tree-structured hierarchical key distribution method, the amount of messages can be kept small, and the load of, for example, content key distribution or data distribution at the time of updating various keys can be reduced and data can be reduced.
  • the hierarchical key distribution tree is managed by the entity as a sub-partition that is classified based on the capacity as the data processing capability of the managed device.
  • An information processing system and information processing method using an encryption key block that realizes a key distribution and management configuration based on the program distribution medium, and a hierarchical key distribution tree managed by an entity as a subset having a common element An information processing system and an information processing system using an encryption key block realizing an efficient key distribution and management configuration Method, and a program providing medium. Recently, various software data such as game programs, audio data, image data, etc.
  • Content Electronics (hereafter, these are called “Content”) are becoming increasingly popular through networks such as the Internet, or through distribution media such as DVDs and CDs. These distribution contents are played back by a user (PC) or game machine, or are played back with a storage medium attached, or are stored in a recording / playback device attached to a PC or the like. It is stored on a recording device, for example, a memory card, hard disk, etc. It is used by reproduction.
  • PC user
  • a storage medium attached
  • a recording / playback device attached to a PC or the like. It is stored on a recording device, for example, a memory card, hard disk, etc. It is used by reproduction.
  • Information devices such as video game devices and PCs, have interfaces for receiving distribution content from the network or accessing DVDs, CDs, etc., as well as control means, programs, It has a RAM, ROM, etc. used as a memory area for overnight.
  • 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.
  • various contents such as voice data, image data, and game programs that are encrypted via the Internet or the like are distributed, and the distributed ciphers are provided only to those who are confirmed to be authorized users.
  • This is a means for decrypting the encrypted content, that is, a configuration for giving 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
  • Data encryption and decryption methods using an encryption key for such information encryption processing and a decryption key for decryption processing have been well known.
  • common key encryption method an encryption key used for data encryption and a decryption key used for data decryption are used in common, and the encryption and decryption are performed by an authorized user.
  • a common key used for encryption is assigned to eliminate data access by unauthorized users who do not have the key.
  • a typical example of this method is DES (Data Encryption Standard).
  • the encryption key and the decryption key used for the above-described encryption processing and decryption can be obtained by applying a one-way function such as a hash function based on a certain password or the like.
  • a one-way function is a function that makes it very difficult to find its input from its output. For example, a one-way function is applied with a password determined by the user as an input, and an encryption key and a decryption key are generated based on the output. On the contrary, it is practically impossible to obtain a password which is the original data from the encryption key and the decryption key obtained in this way.
  • a method called a public key encryption method is a method in which processing using an encryption key used for encryption and processing for a decryption key used for decryption are different algorithms.
  • 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 only be decrypted by the individual who has the private key.
  • a representative example of the public prize key encryption method is RSA (Rivest-Shamir-Adleman) encryption.
  • the content is encrypted and provided to the user on the network or in a recording medium such as a DVD or a CD, and the content key for decrypting the encrypted content is provided only to an authorized user.
  • a recording medium such as a DVD or a CD
  • the content key for preventing unauthorized copying of the content key itself can be encrypted and provided to the legitimate user, and the content key can be used by decrypting the encrypted content key using the decryption key possessed only by the legitimate user. Has been proposed.
  • the determination of whether a user is a legitimate user is generally made, for example, by the sender of the content. This is performed by performing an authentication process between a certain content provider and a user device before distributing the content or the content key.
  • an authentication process while confirming the other party and generating a session key that is valid only for the communication, when authentication is established, the generated session key is used to send data, for example, a content or content key.
  • 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 object of the present invention is to make it possible to transmit data safely only to a legitimate user without relying on the mutual authentication process between the data sender and receiver as described above.
  • an encryption key protocol that realizes a key distribution and management configuration based on the keyity as a configuration in which the hierarchical key distribution tree is managed by an entity as a sub-tree divided based on the capacity as the data processing capability of the managed device. It is an object of the present invention to provide an information processing system and an information processing method using the same, and a program providing medium.
  • an object of the present invention is to enable secure transmission of data only to valid users without relying on the mutual authentication process between the data sender and the receiver as described above.
  • An information processing system and an information processing method using an encryption key block that realizes an efficient key distribution and management configuration as a configuration for managing a hierarchical key distribution tree with entities as a subset having common elements, and To provide a program providing medium.
  • An information processing system using an encryption key block associates a key with each of a root, a node, and a leaf on a path from a root to a leaf in which a plurality of devices are configured as leaves.
  • the key tree and the key tree Select the path, update the key on the selected path, and execute the encryption processing of the upper key with the lower key to generate an EKB that can be decrypted only by the specific device and provide it to the device.
  • a part of a key tree is configured, sub-trees are classified based on the capability of the device as data processing capability, and correspond to nodes or leaves belonging to the sub-tree.
  • Sub EKBs Entities that generate sub-validation keep-ups (sub EKBs) based only on keys that are set as sub-keys, manage sub-entity information of multiple entities, and generate sub- Using the activation key block (sub-EKB), restore only at entities with a common capability.
  • EKB enabling key block
  • KD C KD C
  • the key issuance center includes an identifier of each of the plurality of entities, information on the capacities of each of the entities, and a sub-validation key pro- cess (each of the entities). It has a capacity management table that correlates information with sub-KBs.Based on the capacity management table, it selects an entity that can process the delivery data to the device, and decrypts only the devices under the selected entity. It has a configuration to generate a possible activation key block (EKB).
  • the newly added entity to the key is a sub-activation based only on the key set corresponding to the node or leaf in the sub-tree in the new entity.
  • a key block (sub EKB) is generated, the sub EKB is registered with the key issuing center (KDC), and notification processing of the own entity's capacity information is performed.
  • the plurality of entities are a higher-level entity and a lower-level entity having the lowermost terminal node of one entity as the top node (sub-root) of another entity. It has a hierarchical structure of entities.
  • Each of the number entities is configured to have the authority to set and update keys corresponding to the nodes or leaves that make up the subtree belonging to its own entity.
  • each of the plurality of entities adds a self-managed entity below its own entity.
  • One or more nodes or leaves in a given node or leaf are reserved and set as reserved nodes.
  • the upper entity that adds the new entity to the terminal node corresponds to the upper entity terminal node that is a node that sets a sub-directory of the new entity.
  • the key is set as the vertex node (subroot) key of the new entity.
  • the entity executing the device revocation processing is a node on a path from a vertex node (sub root) within the entity to a leaf corresponding to the revocation device.
  • the device has a configuration for executing a device repoke process.
  • the entity that performs the repoke processing of the lower entity is from the top node (sub root) in the entity to the terminal node corresponding to the revoked entity.
  • the upper entity updates the node key on the path from the terminal node that provided the update sub EKB to its own subroutine
  • the update sub-EKB is generated and transmitted in units of entities up to the highest-level entity, and the node key on the path from the revoked entity to the root is executed.
  • the entity that executes the revocation processing of the lower entity ranges from the top node (sub root) in the entity to the terminal node corresponding to the revoking entity.
  • An update sub EKB that updates the node key set to the nodes other than the terminal node on the path is generated and transmitted to the upper entity, and the upper entity is on the path from the terminal node that provided the update sub EKB to its own subroot.
  • Generate an update sub-EKB with the updated node key and send it to the higher-level entity execute the update sub-EKB generation and transmission process in entity units up to the highest-level entity, and route from the reporting entity to the root.
  • the information processing method using the encryption key block includes the steps of: providing a plurality of devices as leaves on a route, a node, and a leaf on a path from a root to a leaf; A key tree is created by associating keys with each other. The paths that make up the key tree are selected, the key on the selected path is updated, and the encryption processing of the upper key using the lower key is executed, and only the specific device is executed Decryptable activation keep In an information processing method using an encryption key procurement in an information processing system that generates (EKB) and provides it to a device, a part of a key tree is configured and classified based on the capability as a device's data processing capability.
  • EKB information processing system that generates
  • KDC key issuance center
  • the sub-validation key project (sub-EKB) generated by the entity having the common capability is extracted based on the capability information of the multiple entities.
  • the activation key block (EKB) generation step in the key issuance center (KDC) may include an entity for selecting an entity having a common capacity.
  • a selection step a step of generating an entity tree composed of the entities selected in the entity selection step, a node key update step of updating a node key constituting the entity tree, a node key updated in the node key update step, And a step of generating an enabling key block (EKB) decodable only at the selection entity based on the sub-EKB of the selection entity.
  • the key issuing center includes: an identifier of each of the plurality of entities; a capability information of each of the entities; and a sub-validation key block of each of the entities.
  • Sub-EKB It has a capacity management table that associates information with the information. Based on the capacity management table, it selects an entity that can process the delivery data to the device and decrypts only the device under the selected entity. Generate a possible activation keep block (EKB).
  • the newly added entity for the key is a node in a sub-tree in the new entity.
  • KDC key issuing center
  • each of the plurality of entities executes a setting and updating process of a key corresponding to a node or a leaf constituting a sublili belonging to the own entity. .
  • the upper entity that adds the new entity to the terminal node includes a key corresponding to the upper entity terminal node that is a node for setting the new entity sag. Set as the vertex node (subroot) key of the new entity.
  • the entity executing the device revocation processing may include an entity on a path from a vertex node (subroutine) in the entity to a leaf corresponding to the revocation device.
  • Updates the node key set for the other node generates an update sub-EKB composed of the updated node key as an encryption key that can be decrypted only in leaf devices other than the revoked device, and sends it to the upper entity
  • the upper entity updates Generate an update sub-EKB that updates the node key on the path from the terminal node that provided the sub-EKB to its own sub-root and send it to the upper-level entity.
  • the entity that executes the revoking process of the lower entity is from a vertex node (sub root) in the entity to a terminal node corresponding to the revoking entity.
  • An updated sub EKB that updates the node key set in the node on the path is generated and sent to the upper entity, and the upper entity sends the node key on the path from the terminal node that provided the updated sub EKB to its own subroot.
  • Update sub EKB that updated Generate and transmit to the higher-level entity, update sub-EKB generation and transmission processing in entity units up to the highest-level entity, and update the node key on the path from the revoked entity to the root.
  • the entity that executes the revoking process of the lower entity ranges from a vertex node (subroot) in the entity to a terminal node corresponding to the repo entity.
  • An update sub-EKB that updates the node keys set on nodes other than the terminal node on the path is generated and sent to the upper-level entity.
  • the higher-level entity moves from the terminal node that provided the update sub-EKB to its own sub-route.
  • Generates an update sub-EKB with the node key on the path updated and sends it to the higher-level entity executes the update sub-EKB generation and transmission process in entity units up to the highest-level entity, and routes from the reporting entity to the root.
  • Roh one Doki update except de by performing the process of registration in the updated generated by the key update sub E K B of the key issuing Sen evening (K D C), executes revoke processing of E-entities units.
  • the program providing medium comprises a key tree in which a key is assigned to each of a root, a node, and a leaf on a path from a root to a leaf in which a plurality of devices are configured as leaves.
  • an activation key procurement EKB
  • EKB activation key procurement
  • a computer program constitutes a part of a key tree, and manages sub-trees classified based on the gay capability as a device's data processing capability, and corresponds to a node or leaf belonging to each entity's sub-tree.
  • KDC key issuance center
  • sub EKB sub-validated key block generated by an entity with a common capability is extracted based on the capability information of multiple entities, and an entity with a common capability is extracted.
  • Generating an enabling key block (EKB) that can be decrypted only at the security key.
  • An information processing system using an encryption key block includes a key tree in which a key is associated with each of a root, a node, and a leaf on a path from a root of a tree configured with a plurality of devices to a leaf to a leaf.
  • Configure and configure the key tree Select the path, update the key on the selected path, and execute the encryption process of the upper key with the lower key to enable the key process (EKB) that can be decrypted only by a specific device
  • EKB key process
  • sub EKBs Multiple entities that generate sub-activation key proxies (sub EKBs) based on only And a key issuance key (KDC) that generates an activation key block (EKB) that can be decrypted only by the selected entity using the subactivation key block (subEKB).
  • KDC key issuance key
  • the plurality of entities may be a higher-level entity and a lower-level entity having the lowest terminal node of one entity as the top node (sub-root) of another entity. It has a hierarchical structure of entities.
  • each of the plurality of entities has a setting and update processing authority for a key corresponding to a node or leaf configuring a subtree belonging to the own entity. It is.
  • the node on the path from the vertex node (sub root) of the entity to which it belongs to the leaf corresponding to its device, the node key set for the leaf, and the leaf key are stored. It has a configuration.
  • each of the plurality of entities adds a self-managed entity below its own entity. It has a configuration in which one or more nodes or leaves in a node or leaf are reserved and set as reserved nodes.
  • the upper entity that adds the new entity to the terminal node has a key corresponding to the upper entity terminal node that is a node that sets the sub-tree of the new entity. It is configured to be set as the vertex node (sub root) key of the new entity.
  • the new additional entity may include a sub-validation key pro- cedure (sub-authentication) based only on a key set corresponding to a node or a leaf in a subtree in the new entity. EKB), and register the sub EKB to the key issuing center (KDC).
  • sub-validation key pro- cedure sub-authentication
  • the entity that executes the device repoke processing is a node on a path from a vertex node (sub root) in the entity to the repo.leaf corresponding to the device.
  • Updates the node key set in the sub-key generates an update sub-EKB composed of the updated node key as an encryption key that can be decrypted only by a leaf device other than the revoked device, and sends the updated sub-EKB to the upper entity.
  • An updated sub-EKB that updates the node key on the path from the provided end node to its own sub-route is generated and transmitted to the higher-level entity, and the update sub-EKB generation and transmission process for each entity up to the highest-level entity are sequentially performed.
  • repo device Perform node key update on the path to the root, by performing the process of registration in the key issuing Sen evening renewed sub E K B more generated in the key update (K D C), it has a configuration that executes revoke processing of a device.
  • the entity that executes the revoking process of the top entity generates an update sub EKB that updates the node key set on the node on the path from the top node (sub root) in the entity to the terminal node corresponding to the repo entity.
  • the upper entity generates an update sub-EKB by updating the node key on the path from the terminal node that provided the update sub-EKB to its own sub-root, sends it to the higher-level entity, and sends it to the higher-level entity.
  • An update sub-EKB is generated and transmitted in units of entities, and revoked-the node key on the path from the entity to the root is updated, and the key issuance of the update sub-EKB generated by the key update is performed.
  • KDC KDC registration process allows entity-level It has a configuration for executing the balk process.
  • the entity that executes the revocation processing of the lower entity ranges from the top node (sub root) in the entity to the terminal node corresponding to the revoked entity.
  • An update sub EKB that updates the node key set to the nodes other than the terminal node on the path is generated and transmitted to the upper entity, and the upper entity is on the path from the terminal node that provided the update sub EKB to its own subroutine.
  • the entity is configured as a management entity of a device or an entity belonging to a common category such as a device type, a service type, and a management means type.
  • the information processing method using the encryption key block provides a method in which a key is assigned to each of a route, a node, and a leaf on a path from a root to a leaf in which a plurality of devices are configured as leaves.
  • a key tree associated with the key tree is constructed, a path constituting the key tree is selected, a key is updated on the selected path, and an upper key is encrypted by a lower key.
  • an information processing method using an encryption key block in an information processing system for generating an activation keep-pack (EKB) that can be decrypted only by a specific device by executing an encryption process and providing the device with the key For generating a sub-validation keep-opening (sub-EKB) based only on the keys set corresponding to the nodes or leaves belonging to the sub-tree in a plurality of entities that manage the sub-tree as a sub-tree constituting the sub-tree In the key issuing center (KDC), using the sub-activation key block (sub-EKB) generated by a plurality of entities to generate an activation key block (EKB) that can be decrypted only in the selected entity.
  • KDC key issuing center
  • each of the plurality of entities executes setting and updating of a key corresponding to a node or a leaf constituting a subtree belonging to the own entity. I do.
  • the upper entity that adds the new entity to the terminal node corresponds to the upper entity terminal node that is a node for setting a new entity sub-network.
  • Set the key as the vertex node (subroot) key for the new entity.
  • the newly added entity is a sub-validation based only on a key set corresponding to a node or leaf in a sub-tree in the new entity.
  • a key block (sub EKB) is generated, and the registration process of the sub EKB to the key issuing center (KDC) is executed.
  • the entity that executes the device revocation processing may include a device on a path from a vertex node (subroutine) in the entity to a leaf corresponding to the revocation device.
  • Updates the node key set in the node generates an update sub-EKB composed of the updated node key as an encryption key that can be decrypted only by leaf devices other than the revoked device, and sends it to the upper entity.
  • Execute the processing sequentially, Updates the node key on the path from the backup device to the root, and registers the updated sub-EKB generated by the key update to the key issuing center (KDC) to execute the device revocation process. I do.
  • the entity that executes the revoking process of the lower-level entity moves from the vertex node (sub-root) in the entity to the end node corresponding to the revoking entity.
  • An update sub-EKB that updates the node key set to the node on the path to the path is generated and transmitted to the upper entity, and the upper entity transmits the update sub-EKB on the path from the terminal node that provided the update sub-EKB to its own subroutine.
  • the repoke process is executed for each entity. Further, in the information processing method using the encryption key block according to the present invention, the entity that executes the revocation processing of the lower entity moves from the vertex node (sub root) in the entity to the terminal node corresponding to the revoked entity. Generates an updated sub-EKB that updates the node keys set on nodes other than the terminal node on the path to the upper-level entity and sends it to the upper entity. The higher-level entity passes the path from the terminal node that provided the updated sub-EKB to its own subroot.
  • the program providing medium comprises a key tree in which a key is associated with each of a root, a node, and a leaf on a path from a root of the tree configured with a plurality of devices to a leaf to the leaf, and Select the paths that make up the tree And updates the key on the selected path and encrypts the upper key using the lower key to generate an enabling key block (EKB) that can be decrypted only by the specific device, and provides it to the device.
  • EKB enabling key block
  • the computer program executes a sub-validation key procedure (based on only the keys set corresponding to the nodes or leaves belonging to the subtree) in a plurality of entities that manage the subtree as a subtree that constitutes the key tree.
  • a sub-validation key procedure based on only the keys set corresponding to the nodes or leaves belonging to the subtree
  • KDC key issuing center
  • an encryption key distribution configuration having a hierarchical structure of a tree (tree) structure
  • a distribution message amount necessary for key update is reduced. I keep it small.
  • the configuration is such that the authentication key to be used, the program code, and the like are distributed together with the validation keep-open. By doing so, it is possible to safely deliver data that can be decrypted only by a valid device.
  • the hierarchical key distribution tree is managed by an entity as a subtree divided based on the capacity as the data processing capability of the device under management.
  • a key distribution and management configuration based on key properties is realized.
  • the information processing system and method using the encryption key block according to the present invention realizes an efficient key distribution and management configuration as a configuration in which a hierarchical key distribution tree is managed by an entity as a subset having a common element. ing.
  • 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 program codes.
  • Medium is CDFD, MO
  • the form is not particularly limited, such as a recording medium such as, 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 provided medium, a cooperative operation is exerted on the computer system, and the same operation and effect as the other aspects of the present invention are obtained. You can get it.
  • FIG. 1 is a diagram illustrating a configuration example of an information processing system according to the present invention.
  • FIG. 2 is a block diagram showing a configuration example of a recording / reproducing device applicable to the information processing system of the present invention.
  • FIG. 3 is a tree diagram illustrating encryption processing of various keys and data in the information processing system of the present invention.
  • FIGS. 4A and 4B are diagrams showing an example of an activation key block (EKB) used for distribution of various keys and data in the information processing system of the present invention.
  • EKB activation key block
  • FIG. 5 is a diagram showing an example of distribution and an example of decryption processing using a content key validation keep-up (EKB) in the information processing system of the present invention.
  • EKB content key validation keep-up
  • FIG. 6 is a diagram showing an example of a format 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 illustrating the configuration of the tag of the activation 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-key (EKB), 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 an activation key block (EKB), a content key, and content are distributed together in the information processing system of the present invention.
  • FIG. 1Q 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 (part 2) showing a data configuration for distributing an enabling 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 enabling 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) illustrating a data configuration for distributing an activation 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.
  • FIG. 20 is a diagram (part 2) illustrating a data configuration for distributing an activation 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.
  • FIGS. 21A and 2IB are diagrams illustrating 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 illustrating a configuration for managing the content integrity check value (ICV) applicable to the information processing system of the present invention separately from the content storage medium.
  • IOV content integrity check value
  • FIG. 23 is a diagram illustrating an example of category classification of a hierarchical tree structure in the information processing system of the present invention.
  • FIGS. 24A and 24B are diagrams illustrating the process of generating a simplified enabling key block (EKB) in the information processing system of the present invention.
  • FIG. 25A and FIG. 25B are diagrams for explaining a generation process of the activation keep-gate (EKB) in the information processing system of the present invention.
  • FIG. 26A and FIG. 26B are diagrams illustrating a simplified enabling key block (EKB) (Example 1) in the information processing system of the present invention.
  • FIGS. 27A to 27C are diagrams illustrating an entity management configuration having a hierarchical structure in the information processing system of the present invention.
  • FIGS. 28A to 28C are diagrams illustrating details of the entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 29A and FIG. 29B are diagrams illustrating an entity management configuration of a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 30 is a diagram illustrating a reserved node in an entity management configuration having a hierarchical structure in the information processing system of the present invention.
  • FIG. 31 is a diagram illustrating a new entity registration processing sequence in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 32 is a diagram for explaining 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. is there.
  • FIGS. 33A and 33B 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.
  • FIG. 34A to FIG. 34D are diagrams for explaining the device revocation processing in the entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 35 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. 36A and 36B are diagrams for explaining an update sub EKB at the time of device revocation in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 37A to FIG. 37D are diagrams for explaining entity repoke processing in an entity management configuration having a hierarchical tree structure in the information processing system of the present invention.
  • FIG. 38 is a diagram illustrating an entity revocation processing sequence in an entity management configuration having a hierarchical structure in the information processing system of the present invention.
  • FIG. 39 is a diagram for explaining the relationship between a revoked 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. 40 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.
  • FIG. 41 is a diagram illustrating the setting of the capacity in the entity management configuration having the hierarchical tree structure in the information processing system of the present invention.
  • FIGS. 42A and 42B are diagrams 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. 43 is a flowchart of an EKB generation process based on a key management table managed by a key issuing center (KDC) in the information processing system of the present invention.
  • FIG. 44 is a diagram for explaining the capability notification processing at the time of registering a new entity 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 distributor 10 encrypts the content or the content key to various content-reproducible devices of the content receiver 20 and transmits the encrypted content or content key.
  • the device on the receiving side 20 decrypts the received encrypted content or encrypted content key to obtain the content or content key, and performs image data playback, audio data playback, or execution of various programs. .
  • Data exchange between the content distribution side 10 and the content reception side 20 is executed via a network such as the Internet Network, or via a circulating storage medium such as a DVD or CD.
  • the content distribution side 10 can be used to distribute data overnight, such as in-net 11, satellite broadcasting 12, telephone line 13, media 14 such as DVDs and CDs, etc.
  • the 20 devices include a personal computer (PC) 21, a portable device (PD) 22, a portable device such as a mobile phone and a PDA (Personal Digital Assistants) 23, a recording / reproducing device 24 such as a DVD and a CD player, and a game device.
  • There are 25 dedicated playback devices such as computer terminals.
  • Each of the devices 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 a 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 apparatus 100 includes an input / output I / F (Interface) 120, an MPEG (Moving Picture Experts Group) codec 130, an A / D, and a D / A converter 141. ) 140, encryption processing means 150, ROM (Read Only Memory) 160, CPU (Central Processing Unit) 170, memory 180, recording medium 195 drive 190, and these are interconnected by bus 110. It is connected to the.
  • the input / output I / F 120 receives digital signals constituting various contents such as images, sounds, and programs supplied from the outside, and outputs them on the bus 110. Then, the digital signal on bus 110 is received and output to the outside.
  • the MPEG codec 130 decodes the MPEG-encoded data supplied via the bus 110 into MPEG, outputs the decoded data to the input / output I / F 140, and outputs the input / output I / F 140
  • the digital signal supplied from the controller is output to the bus 110 by MPEG encoding.
  • the I / F I / F 140 has an A / D and D / A comparator 141 built-in.
  • the input / output I / F 140 receives analog signals as externally supplied content and converts them into A / D and DZA converters 14; In addition to outputting to the EG codec 130, the digital signal from the MP EG codec 130 is converted to an analog signal by a DZA (Digital Analog) conversion by an A / D, D / A converter 141, and externally converted to an analog signal. Output.
  • DZA Digital Analog
  • the encryption processing means 150 is composed of, for example, a one-chip LSI (Large Scale Integrated Circuit), and encrypts, decrypts, or authenticates a digital signal as content supplied via the bus 110. It is configured to execute processing and output encrypted data, decrypted data, and the like on the bus 110. Note that the encryption processing means 150 is not limited to one chip LSI, and 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.
  • LSI Large Scale Integrated Circuit
  • 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, and stores a program executed by the CPU 170, data necessary for the operation of the CPU 170, and a key set used for encryption processing executed 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 to the bus 110.
  • the digital data supplied via is supplied to the recording medium 195 and recorded.
  • the recording medium 195 is, for example, an optical disk such as a DVD or a CD, a magneto-optical disk, It is a digital data storage medium such as a magnetic disk, a magnetic tape, or a semiconductor memory such as a RAM. In this embodiment, it is assumed that the storage medium is detachable from the drive 190. However, the recording medium 195 may be configured to be built in the recording / reproducing device 100.
  • the encryption 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.
  • Fig. 3 shows the configuration of possession of cryptographic processing keys and the distribution of data over time in each device when distributing encrypted data from the content distribution side 10 to each device of the content reception side 20 shown in Fig. 1. Will be explained.
  • Namers 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. Stores a key set consisting of leaf relief keys in memory.
  • K 0000 to K 1 11 1 1 shown at the bottom of Fig. 3 are leaf keys assigned to each of the devices 0 to 15 respectively. From the top KR (root key), the second section from the bottom ( Key described in (node): KR- ⁇ 1 1 1 is the node key.
  • device 0 owns a leaf key ⁇ 0000 and node keys: K 000, K 00, K0, and KR.
  • Device 5 owns K 0101, K 010, K 01, K 0, and KR.
  • Device 15 owns K 1 11 1, K i l ls K l l, K l, and KR. Note that only 16 devices (0 to 15) are listed in the tree in Fig. 3 and the tree structure is also shown as a balanced symmetrical configuration with a 4-stage 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 has various recording media, for example, There are various types of devices that use DVDs, CDs, MDs, flash memories, etc. that are embedded in the device or configured to be detachable from the device. In addition, various application services can coexist. On such a coexistence configuration of different devices and different aggregations, a hierarchical structure, which is a content or key distribution configuration shown in FIG. 3, is applied.
  • the portion enclosed by the dotted line in FIG. 3 that is, devices 0, 1, 2, and 3 are set as one group using the same recording medium.
  • devices included in the group surrounded by the dotted line common contents are collectively encrypted and sent from the provider, a content key used commonly for each device is sent, or The process is executed when the payment data of the content fee is encrypted and output from each device to the provider or the settlement institution.
  • Institutions that transmit and receive data to and from each device such as content providers or payment processing institutions, collectively collect data in the area enclosed by the dotted line in Figure 3, that is, devices 0, 1, 2, and 3 as one group. Is executed.
  • An organization that transmits and receives data to and from each device such as a content provider or a payment processing organization, functions as a message delivery system.
  • the node key and leaf key may be managed collectively by a single key management center, or may be distributed for each group by a message data distribution means such as a provider or a settlement institution that transmits and receives various data to and from each group. It may be configured to be managed.
  • a message data distribution means such as a provider or a settlement institution that transmits and receives various data to and from each group. It may be configured to be managed.
  • 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 K 00, K 0, and KR as node keys.
  • this node key sharing configuration for example, it becomes possible to provide a common content key only to devices 0, 1, 2, and 3.
  • the common node key ⁇ 0 0 itself is set as the content key, Only the devices 0, 1, 2, and 3 can set the common content without sending a new key.
  • a value Enc (K00, Kcon) obtained by encrypting the new content key Kc0n with the node key K00 is stored via a network or in a recording medium, and the devices 0, 1, 2, 3 are stored.
  • Enc (K00, Kcon) obtained by encrypting the new content key Kc0n with the node key K00 is stored via a network or in a recording medium, and the devices 0, 1, 2, 3 are stored.
  • K con by decrypting the encryption Enc (K00, K con) using the shared node key K 00 held in each device.
  • Enc (Ka, Kb) indicates that Kb is data encrypted with Ka.
  • K001 1, K 00 1, ⁇ 00, ⁇ 0, KR the key possessed by device 3
  • device 3 In order to protect the data transmitted and received by the system (group of devices 0, 1, 2, and 3), device 3 must be disconnected from the system. To do so, the node keys: K 00 1, ⁇ 00, ⁇ 0, and KR are updated to new keys ⁇ (t) 00 1, K (seven) 00, K (t) ⁇ , ⁇ (t) R, respectively. It is necessary to inform the devices 0, 1, and 2 of the update key.
  • K (t) aaa is the generation of the key Ka a a
  • the update key distribution process will be described.
  • the key is updated, for example, by storing a table constituted by a block called an enabling key block (EKB) shown in FIG. , 2 are implemented.
  • the activation key block (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).
  • the activation key block (EKB) shown in Fig. 4A is configured as a block configuration that has a configuration in which only devices that require node key updates can be updated.
  • the example of FIGS. 4A and 4B is a block diagram formed for the purpose of distributing an updated node key of the seventh generation in devices 0, 1, and 2 in the tree structure shown in FIG.
  • device 0 and device 1 are the update nodes.
  • K (7) 00, K (7) 0, and ⁇ (t) R are required as keys
  • device 2 requires K (7) 001, K (t) 00, K (t) 0, K (t) R is required.
  • contains multiple encryption keys.
  • the encryption key at the bottom is Enc (K 00 10, K (t) 00 1). This is the updated node key K encrypted with the leaf key K 00 10 of device 2.
  • the second encryption key Enc (K (t) 001, K (t) 00) from the bottom in FIG. 4A can be decrypted, and the updated node. t) 00 can be obtained.
  • the encryption key Enc (K (t) 0 0, K (7) 0) in the second stage from the top in FIG. 4A is sequentially decrypted, and the updated node key K (t) 0, 1 from the top in FIG.
  • the encryption key Enc (K (t) 0, K (t) R) at the second stage is decrypted to obtain K (t) R.
  • K 0000 the second encryption key Enc (K (t) 001, K (t) 00) from the bottom in FIG. 4A
  • node key K 000 is not included in the update target, and ⁇ (t) 00, K (t) 0, and K (t) R are required as update node keys. .
  • the device K 0000. ⁇ 000 1 decrypts the encryption key Enc (K 000, K (t) 00) in the third row from the top in FIG. 4A to obtain K (t) 00. Decrypts the encryption key Enc (K (t) 00, K (t) 0) in the second stage from the top, and updates the node key K (t) 0 in FIG. 4A. Enc (K (7) 0, K (t) R) is decoded to obtain K (t) R. In this way, devices 0, 1, and 2 have updated keys K (t) 00 1, K (t) 00, K (t) 0, K
  • R can be obtained.
  • the index in FIG. 4A indicates the absolute addresses of the node key and leaf key used as the decryption key.
  • the node keys at the upper level of the tree structure shown in FIG. 3 K (t) 0, K (t) If the update of R is unnecessary and the update process of only node key K 00 is required, the validity of FIG. By using the encrypted key block (EKB), the updated node key K (7) 00 can be distributed to devices 0, 1, and 2.
  • EKB Encrypted key block
  • the EKB shown in Fig. 4B can be used, for example, when distributing new contenties shared by a specific group.
  • the dotted line in Fig. 3 Assume that devices 0, 1, 2, and 3 in the loop use a recording medium, and a new common content key K (t) c0n is required. At this time, devices 0, 1 :
  • FIG. 5 as an example of a process for obtaining the content K (t) con at time t, a new common content key K (t) con is encrypted using K (t) 00.
  • the processing of device 0 which received K (t) 00, K (t) con) and the EKB shown in Fig. 4B via the recording medium is shown.
  • this is an example in which the content message K (t) con is set as the encrypted message by EKB.
  • the device 0 uses the EKB stored at the recording medium: the EKB at the time t and the node key K 000 stored in advance by the same EKB processing as described above to perform the node key. Generate one K (t) 00. Further, the updated content key K (t) con is decrypted by using the decrypted updated node key K (t) 00, and is encrypted and stored by the leaf key K0000 which only the user has in order to use it later. .
  • FIG. 6 shows an example of the format of the activation keep key (E KB).
  • Version 6001 is an identifier indicating the version of the activation key block (EKB).
  • the version has the function of identifying the latest EKB and the function of indicating the correspondence between the contents and the contents.
  • Depth indicates the number of layers in the hierarchical tree for the device to which the enable key block (EKB) is distributed.
  • the data pointer 603 is a pointer indicating the position of the data section in the activation key block (E KB), and the data pointer 604 is the tag section.
  • the signature pointer 605 is a pointer indicating the position of the signature.
  • the data section 606 stores, for example, data obtained by encrypting a node key to be updated, for example, stores each encryption key related to the updated node key as shown in FIG.
  • the evening part 607 is a tag indicating the positional relationship between the encrypted node key and the life stored in the evening part.
  • This tag assignment rule will be described with reference to FIGS. 7A and 7B.
  • FIGS. 7A and 7B show an example in which the validation key block (EKB) described above with reference to FIG.
  • the data at this time is as shown in Figure 7B.
  • the top node address included in the encryption key at this time is defined as a top node address.
  • the top node address is KR.
  • data En c (K (t) 0, K (t) R) at the top is located at the position shown in the hierarchical tree shown in FIG. 7A.
  • tags are set for all data, and the data column and tag column shown in Fig. 7C are configured.
  • a signature is a digital signature issued by, for example, a key management center, content provider, or clearing house that issued an activation key block (EKB).
  • the device that receives the EKB verifies the signature by verifying that it is a valid activation key block (EKB) issued by the valid activation key block (EKB) issuer.
  • FIG. 8A shows the data structure.
  • Enc (K con, cont ent) 801 is data obtained by encrypting the content (Content) with the content key (K con), and En c (KEK, K con).
  • con) 802 is a data key obtained by encrypting a content key (K con) with a content key encryption key (KE K).
  • En c (EKB, KE K) 803 is a content key encryption key. Indicates that the data has been encrypted by the activation key block ( ⁇ ).
  • the content key encryption key may be the node key ( ⁇ 00 0, ⁇ 00%) Shown in FIG. 3 or the root key (KR) itself, or the node key ( ⁇ 000, ⁇ 00). ⁇ ) or a key encrypted with a root key (KR).
  • Figure 8 8 shows an example of a configuration in which a plurality of contents are recorded on a medium and each uses the same Enc (EKB, KEK) 805.
  • each data Without adding the same Enc (EKB, KEK) to E Data indicating a link destination linked to nc (E KB, KEK) can be added to each data.
  • FIG. 9 shows an example in which the content key encryption key KEK is configured as an updated node key K (seven) 00 obtained by updating the node key K 00. shown in FIG.
  • the device 3 in the group surrounded by the dotted frame in FIG. 3 has been re-poked (excluded) due to, for example, leakage of the key, and the members of the other groups, that is, the devices 0, 1, and 2
  • the decoding procedure in device 0 is shown on the right side of FIG.
  • the device 0 first obtains a content encryption key (KEK-K (t) 00) from the received activation keep-alive by performing decryption processing using the leaf key K 000 owned by itself.
  • the content key K con is obtained by decryption using K (t) 00, and the content is decrypted using the content key K con.
  • the device 0 can use the content.
  • the activation key block (EKB), content key, encryption content, etc. can be safely distributed via the network, but the activation key block (EKB), content key, encryption It is also possible to provide the user with the encrypted content stored on a recording medium such as a DVD or CD. In this case, if the encrypted content stored on the recording medium is decrypted by using the content key obtained by decrypting the activation key block (EKB) stored on the same recording medium, This makes it possible to distribute encrypted content that can be used only with leaf keys and node keys that are held only by the rightful owner in advance, 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 an encryption key and an activation key block (EKB) are stored in a recording medium.
  • contents C.1 to C4 are stored on a recording medium, and data in which an activation keep-up packet (EKB) corresponding to each stored content is stored.
  • the version M activation key block (EKB—M) is stored.
  • EKB-1 is used to generate a content key Kc0n1 that encrypts content C1.
  • EKB-2 is used to generate a content key Kc0n2 that encrypts content C2.
  • the activation key block (EKB-M) of version M is stored in the recording medium, and the contents C3 and C4 are associated with the activation key block (EKB-M).
  • the content keys of contents C3 and C4 can be obtained. Since EKB-1 and EKB-2 are not stored on the disk, EKB-1 and EKB required for decrypting the respective content keys by new provision means, for example, network distribution or distribution by recording medium You need to get KB__2.
  • Figures 11A and 11B show examples of content key distribution using the EKB when content keys are distributed between multiple devices, and a comparative example of conventional content key distribution processing.
  • the upper part of FIG. 11A shows a conventional configuration, and the lower part of FIG.
  • FIG. 11B shows an example in which the enable key block (EKB) of the present invention is used.
  • Ka (Kb) indicates that Kb is encrypted with Ka.
  • the authentication and key exchange (AKE: Authentication and Key Exchange) are executed, and the content key K con is encrypted and transmitted by the session key K ses on condition that the authentication is established. .
  • Fig. 11A even if the content provider wants to distribute the data in a form that can be used only to the recording device 1101 in Fig. 11A, if the PC and the playback device exist in between, When the authentication process is executed as shown in 1A and the content key is encrypted and distributed in each session key, a process is required. In addition, the PC and 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.
  • the content provider performs the activation key block (EKB) and the activation key block (EKB) processing.
  • 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 the node key or root key obtained by the EKB processing are generated.
  • the intervening PC, playback device, etc. may execute EKB processing depending on the leaf key and node key that it has. I can't do that. Therefore, processing such as authentication processing between data transmitting / receiving devices, generation of a session key, and encryption processing of the content key Kc0n using a security key are performed. This makes it possible to safely deliver content that can be used only to legitimate devices without performing any processing.
  • EKB enabling key block
  • Figure 12 shows a mutual authentication method using common key cryptography (IS0 / IEC 9798-2).
  • 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 A and ID (b), which is its own ID, to A.
  • A Upon receiving this, A generates a new 64-bit random number Ra and encrypts the data using the key Kab in the DES CCB C mode in the order of Ra, Rb, and ID (b).
  • the key Kab is a key that is stored in each recording element as a secret key common to A and B.
  • the exclusive OR of the initial value and Ra is obtained, and the key Kab is used in the DES encryption unit.
  • To generate the ciphertext E 1 then calculate the exclusive OR of the ciphertext E 1 and R b, and encrypt the ciphertext E using the key Kab in the DES encryption unit. 2 and ciphertext E 2 and ID
  • the exclusive OR with (b) is obtained, and the transmission data (Token-AB) is generated by the DES encryption unit using the ciphertext E3 generated by encryption using the key Kab.
  • B decrypts the received data with the key K ab (authentication key), which is also stored in each storage element as a common secret key.
  • the ciphertext E1 is decrypted with the authentication key Kab to obtain a random number Ra.
  • the ciphertext E2 is decrypted with the authentication key Kab, and the result is XORed with E1 to obtain Rb.
  • the cipher text E 3 is decrypted with the authentication key K ab, and the result is XORed with E 2 to obtain ID (b). It verifies that Rb and ID (b) of Ra, Rb and ID (b) thus obtained match those transmitted by B. If it passes, B authenticates A as valid.
  • B generates a session key (K ses) to be used after authentication (the generation method uses random numbers). Then, in the order of Rb, Ra, and Kse s, the data is encrypted using the authentication key Kab in the CBC mode of the DES, and is returned to A.
  • K ses session key
  • A decrypts the received data with the authentication key Kab. Since the decoding method of the received data is the same as the decoding process of B, the details are omitted here. Of the Rb, Ra, and Ks e s obtained in this way! ⁇ And! Verify that ⁇ matches what A sent. 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.
  • a and B share a common authentication key K ab.
  • the common key Kab is distributed to the device using the above-mentioned activation key block (EKB).
  • either A or: B generates an activation key block (EKB) that can be decrypted by the other, and is authenticated by the activation key block (EKB) generated.
  • the configuration may be such that the key Kab is encrypted and transmitted to the other, or a third party generates an activation key block (EK B) that can be used by both devices A and B, and the devices A and B are used.
  • Activation key block (EKB) generated for The authentication key K ab may be encrypted for distribution.
  • Fig. 13 and Fig. 14 show the configuration examples of distributing the common authentication key Kake to multiple devices by the activation key block (EKB).
  • Fig. 13 shows an example of distributing a decryptable authentication key K ak to devices 0, 1, and 2: 3.
  • Fig. 14 shows a device 3 out of devices 0, 1: 2 and 3 that is repoked. An example is shown in which a decryptable authentication key is distributed only to devices 0, 1, and 2.
  • the device 0, 1, 2, and 3 are updated using the node key and leaf key of the device 0, 1, 2, and 3 together with the data obtained by encrypting the authentication key K ak by using the update node key K (t) 00.
  • Each device first obtains an updated node key K (t) 00 by processing (decrypting) the EKB as shown on the right side of FIG. 13, and then obtains the obtained node key K (t ) It is possible to obtain the authentication key K ake by decrypting the authentication key Enc (K (t) 00, K ake) encrypted using 00.
  • the other devices 4, 5, 6, 7 ... receive the same activation key block (EKB), but their own node keys and leaf keys process the EKB to update the updated node key K (t) 00. Since it cannot be obtained, the authentication key can be sent only to devices that are safe and legitimate.
  • EKB activation key block
  • the decoding procedure is shown on the right side of FIG. First, the devices 0, 1, and 2 acquire the updated node key (K (t) 00) from the received activation keep-packet by performing decryption processing using the leaf key or the node key owned by the device. Next, an authentication key Kak ⁇ is obtained by decryption using K (t) 00.
  • the updated node key (K (t) 00) cannot be obtained using the leaf key and node key owned by itself.
  • the revoked device 3 cannot obtain the updated node key (K (t) 00) with its own leaf key and node key, and only the device with the right has decrypted the authentication key. Can be used.
  • EKB-based authentication key delivery makes it possible to reduce the amount of data required and to safely deliver an authentication key that can be decrypted only by the authorized user. Become.
  • EKB activation key block
  • Sig is generated for Ra, Rb, and Av (X coordinate and Y coordinate), and the public key certificate of A is obtained.
  • each of Ra and Rb is 64 bits, and the X coordinate and the black coordinate of Av are each 160 bits, so that a digital signature for a total of 448 bits is generated.
  • B generates a random number B k smaller than the prime number ⁇ .
  • a point Bv BkXG obtained by multiplying the base point G by Bk is obtained, and Rb, Ra, Bv (X coordinate and Y coordinate) Generates a digital signature B. Sig for and sends it back to A with B's public key certificate ⁇
  • 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 Ak
  • 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
  • Ak
  • the XBV 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.
  • the transmission data may not only be encrypted by the session key but also may be digitally signed.
  • Figure 16 shows an example of a content key distribution process using public key authentication and an activation key block (EKB).
  • the authentication process 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 by the playback device that is the content distribution destination, the node key of the recording medium, and the leaf key, and encrypts the content with the updated node key E (K c 0 n) and the activation key block (EKB) are encrypted by 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), which were encrypted with the session key, and then transmitted it to the playback device and the recording medium. I do.
  • the playback device and the recording medium decrypt the content key E (Kcon) that has been encrypted with the updated node key and the activation key block (EKB) using its own node key or leaf key to decrypt the content key K. c 0 n To get.
  • [the content key E (Kcon) and the activation key block (EKB) that have been encrypted by the renewal node key] are transmitted on condition that the content provider and the PC authenticate. For example, even if a node key is leaked, it is possible to reliably send data to the other party overnight.
  • Figure 17 shows an example of encrypting a program code with an enabling key block (EKB) using, for example, an updated node key and transmitting it between devices.
  • the device 1701 stores the node key of the device 1 702, an activation key block (EKB) that can be decrypted by a leaf key, and a program code encrypted by an update node key included in the activation key block (EKB).
  • the device 1702 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 acquired program code, returns the result to the device 1701, and the device 1701 further continues the process based on the result. Is shown.
  • C l and C 2 are content information, and a message authentication code (MAC) of important information of the content is used.
  • MAC message authentication code
  • FIG 18 shows an example of MAC value generation using the DES encryption processing configuration.
  • the target message is divided into 8-byte units (hereinafter, the divided messages are referred to as Ml, M2, ..., MN).
  • e hereinafter, referred to as IV)
  • the exclusive OR of M1 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 exclusive OR of E1 and .M2
  • the output I2 is input to the DES encryption unit, and is encrypted using the key K1 (output E2).
  • E2 the last EN that appears is the message authentication code (MAC).
  • 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, comparing the ICV generated at the time of content generation with the ICV generated at the time of content generation and the ICV generated based on the new content, if the same I CV is obtained, it is guaranteed that the content has not been tampered with If the ICVs are different, it is determined that tampering has occurred.
  • KicV which is a content integrity check value (ICV) generation key
  • ICV content integrity check value
  • 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 among devices 0, 1, 2, and 3. Then, an example of distributing a check value generation key KicV that can be decrypted only to devices 0, 1, and 2 will be described.
  • the updated node key K (t) 00 is used to encrypt the check value generation key KicV together with the node key and the leaf key of the device 0, 1, 2, and 3, respectively.
  • a key key (EKB) that can decrypt the updated node key K (t) 00 is generated and distributed.
  • Each device first obtains an updated node key K (seven) 00 by processing (decrypting) the EKB as shown on the right side of Fig. 19, and then obtains the obtained node key.
  • the check value generation key Enc (K. (t) 00, Kiev) encrypted using K (t) 00 can be decrypted to obtain the peak value generation key Kicv.
  • the other devices 4, 5, 6, 7 ... receive the same activation key block (EKB), but their own node keys and leaf keys process the EKB and update the node key K (t) 00 Therefore, the check value generation key can be safely transmitted only to the valid device.
  • the decoding procedure is shown on the right side of FIG. First, the devices 0, 1, and 2 acquire the updated node key (K (7) 00) from the received activation keep-up packet by decryption processing using the leaf key or the node key owned by the device. Next, a check value generation key K i c V is obtained by decryption using K (7) 00.
  • the other groups of devices 4, 5, 6... shown in Figure 3 have similar data (EK Even if B) is received, the updated node key (K () 00) cannot be obtained using the leaf key and node key owned by itself. Similarly, the revoked device 3 cannot acquire the update node key (K (t) 00) with its own leaf key and node key, and only a device having a valid right has a check value generation key. Can be decrypted and used.
  • a content integrity 'check value (ICV)
  • ICV content integrity 'check value
  • media 1 that stores content C1 and content C2 together with an activation key block (EKB) that can acquire the content key of each.
  • 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 an integrity check value of the content calculated using the hash number for the content C 1 and the content C 2. 2).
  • the content 1 and the content 2 are properly stored in the media 1 and the integrity check value (ICV (C 1, C 2)) generated based on the content C 1 and the content C 2 ) 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.
  • a configuration in which the content integrity check value (ICV) cannot be stored on the same medium as the content a configuration in which the content integrity check value (ICV) is stored on a different medium from the content is used. It may be.
  • the ICV integrity check value
  • the ICV is stored on a secure medium on the host machine, and the ICV is used for copy control (for example, check-in / check-out, move) of the content. Security management and content tampering check.
  • FIG. 22 shows an example of this configuration.
  • the content is stored in a read-only medium or a medium 2201 that does not take copy protection measures such as a normal MO, and the user can freely access the integrity 'check value (ICV) related to these contents.
  • ICV integrity 'check value
  • This is an example of storing the information on a secure medium 2202 on the host machine, which is not allowed to be accessed, and preventing the user from rewriting an illegal integrity check value (ICV).
  • the PC or server serving as the host machine executes an ICV check to determine whether playback is possible. If configured, Reproduction of a legitimate copy content or a falsified content can be prevented.
  • the encryption key is configured as a root tree, node key, leaf key, etc. in a hierarchical tree structure as shown in Fig. 3, and the content key, authentication key, ICV generation key, or program key, data key, etc. are activated (EKB).
  • EKB the content key, authentication key, ICV generation key, or program key, data key, etc.
  • the configuration for encrypting and distributing has been described, but the hierarchical tree structure that defines the node key etc. is classified for each device category, efficient key update processing, encrypted key distribution, The configuration for executing the overnight delivery will be described below.
  • Fig. 23 shows an example of category classification in a hierarchical tree structure.
  • a root key K ro 0 t 2 301 is set at the top of the hierarchical tree structure
  • a node key 2302 is set at the following middle
  • a leaf key is set at the bottom.
  • One 2303 is set.
  • Each device has an individual leaf key and a series of node keys and 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 in the Mth stage is defined as a vertex, and the nodes and leaves in the M + 1 stage and below are the nodes and leaves related to the 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 used to store various devices using the memory stick. It is set as a node or leaf dedicated to the included category. That is, node 2305 and below are defined as a set of related nodes and leaves of the device defined in the category of memory stick.
  • a stage several stages lower than the M stage can be set as the subcategory node 2306.
  • the node two levels below the category [Memory Stick] node 2305 is a sub-category node included in the category of the device using the memory stick.
  • a node 2303 of a telephone with a music playback function included in the category of the playback-only device is set below the node 2303 of the playback-only device, which is a subcategory node,
  • [PHS] node 2308 and [mobile phone] node 2309 included in the category of phones with music playback function 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).
  • entities eg, nodes managed by a certain manufacturer, content provider, payment institution, etc., ie, processing units, jurisdiction units, or provided service units, etc.
  • entities below e.g., nodes managed by a certain manufacturer, content provider, payment institution, etc., ie, processing units, jurisdiction units, or provided service units, etc.
  • EKB activation keep key consisting of a node key below the top node key and a leaf key.
  • one vertex of the category stage or the subcategory stage is set.
  • a configuration is possible in which a manufacturer or content provider that manages a node independently generates an activation key block (EKB) having the node as a vertex and distributes 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 to.
  • EKB activation key block
  • a key for example, a content key is sent to a predetermined device (leaf)
  • activation can be performed using the leaf key and node key owned by the key distribution destination device.
  • EKB 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 that can be decrypted at each node of a : g, j Generate and distribute blocks (EKB).
  • update root key K (t) r 00 t implies content key K (t) con
  • each of the devices a, g. J executes EKB processing using the leaf and node keys shown in FIG. 24B to obtain a K (t) root, and obtains the obtained updated root key K (t )
  • the content key K (seven) c 0 ⁇ is decrypted by r 0 0 t to obtain the content key.
  • the structure of the activation key block ( ⁇ ) provided in this case is as shown in Fig. 25 ⁇ and Fig. 25 ⁇ .
  • the activation key block (EKB) shown in FIG. 25 and FIG. 25B is configured according to the format of the activation key block (EKB) described in FIG. And the corresponding tag.
  • the tag indicates left (L) and right (R), indicating 0 if there is data in each direction and 1 if there is no data in each direction.
  • the device that has received the activation key block (EKB) sequentially executes the decryption processing of the encryption key based on the encryption key and the tag of the activation key block (EKB), and obtains the update key of the upper node. Go.
  • the activation key block (EKB) As shown in Fig. 25A and Fig. 25B, as for the activation key block (EKB), the more the number of steps (debs) from the root to the leaf increases, the more the amount of data increases. The number of steps (debs) increases with the number of devices (leaves). If the number of devices to which keys are to be distributed is large, the amount of EKB data further increases.
  • FIGS. 26A and 26B show an example in which the activation key procedure (EKB) is simplified according to the key distribution device.
  • a key for example, a content key is transmitted to devices a, g, and j constituting a leaf.
  • the tree structure shown in FIG. 26B is constructed as a new tree structure based on the structure shown in FIG. 24B.
  • K ro to Ka and K g only a branch point is formed at K 0, and a two-branch configuration
  • the tree in Figure 26A is constructed.
  • a simplified file with only K 0 as a node is generated. Is done.
  • the activation key procedure (EKB) for update key distribution is generated based on these simplified lists.
  • the tree shown in Fig. 26A is re-established by selecting a path forming a two-branch-type tree with the terminal node or leaf at the bottom that can decode the enabling key block (EKB) and omitting unnecessary nodes.
  • the activation key procedure (EKB) for update key distribution is based solely on the keys corresponding to the nodes or leaves of this rebuild hierarchy.
  • the tag has a 3-bit configuration.
  • the first and second bits have the same meaning as in the example of FIGS. 25A and 25B, and indicate 0 if there is data in the left (L) and right (R) directions, and 1 if there is no data in each direction. Show.
  • the third bit is a bit for indicating whether or not the encryption key is stored in the EKB, and is 1 when data is stored and 0 when there is no data. Is set as
  • the activation key block (EKB) stored in the data communication network or storage medium and provided to the device (leaf) is, as shown in Figure 26B, compared to the configuration shown in Figure 25A and Figure 25B. As a result, the amount of nightfall has been greatly reduced.
  • Each device receiving the activation key block (EKB) shown in Fig. 26B and Fig. 26B sequentially decrypts only the data of the part where 1 is stored in the third bit of the tag, thereby obtaining the predetermined encryption. Decryption of the encryption key can be realized. For example, device a decrypts encrypted data Enc (Ka, K (t) 0) with leaf key Ka, obtains node key K (t) 0, and encrypts data with node key K (t) 0. Decrypt E nc (K (7) 0, K (7) root) to obtain K (t) root. The device j decrypts the encrypted data Enc (Kj, K (t) root) with the leaf key Kj to obtain K (t) root.
  • An entity is an aggregate block of a plurality of nodes or leaves selected from the nodes or leaves constituting the 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 provision 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 service units.
  • One entity is a collection of devices that fall into a common category. For example, a verbose node (subroot) of multiple entities reconstructs a simplified version of the same scheme as described above.
  • EKB simplified enabling keep-open key
  • 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 the above-described encryption key data and a tag portion as position identification data in a hierarchical tree structure of the encryption key data is included in an activation key block (EKB).
  • each device is provided with an information recording medium that stores a message such as content encrypted with an updated node key.
  • the device sequentially extracts and decrypts the encrypted key data included in the activation key process (EKB) according to the identification data of the tag section, obtains the key necessary for decrypting the content, and uses the content. It is possible to do.
  • the configuration may be such that the activation key block (EKB) is distributed via a network such as the Internet.
  • An entity is a set that is set according to the type of device, or a processing unit, a jurisdiction unit, or a provided service unit that has a certain common point, such as a management unit of a device provider, content provider, or payment institution. It is set as a set of various aspects such as position.
  • an entity is defined as a device that belongs to a common category such as a device type, a service type, and a management means type, or an entity that manages the entity.
  • FIG. 27A is a diagram for describing a management configuration of a tree per entity.
  • One entity is shown as a triangle in the figure.
  • one entity 2701 includes a plurality of nodes.
  • Figure 27B shows the node configuration within one entity.
  • One entity is composed of a multi-stage bifurcated tree with one node as the vertex.
  • the end of the c- tree in which the apex of the entity Noby2 702. is called the sub-root, is composed of leaves, that is, devices, as shown in FIG. 27C .
  • a device belongs to any entity constituted by a tree having a plurality of devices as leaves and having a vertex node 2 702 as a subroot.
  • entities have a hierarchical structure. This hierarchical structure will be described with reference to FIGS. 28A to 28C.
  • FIG. 28A is a diagram for simplifying and explaining the hierarchical structure, in which entities A 0 l to Ann are configured several stages below K r 0 ot, and entities A l to An are below the entities A l to An Further, entities BO 1 to: Bnk are set, and entities C 1 to Cnq are set below them.
  • Each entity has a tree shape composed of multiple levels of nodes and leaves, as shown in Fig. 28B and Fig. 28C.
  • the configuration of the entity B nk is as shown in FIG. 28B, with the subroot 281 1 serving as a vertex node, and having a plurality of nodes up to the terminal node 282 1 c.
  • the lower (child) entity set with the terminal node 28 12 as the vertex is executed.
  • the entity Bnk is under the management of the higher (parent) entity Ann having the sub route 2811 as a terminal node.
  • the configuration of the entity Cn3 is as shown in Fig. 28C, with the subroot 2851 as the top node, the terminal node 2852 which is each device, in this case, multiple nodes and leaves up to the leaf. Have.
  • This entity has the identifier C n 3, and performs node key and leaf key management corresponding to the nodes and leaves in the entity C n 3, and performs leaf key management on the entity C n 3.
  • Device) management On the other hand, the entity C n 3 is under the management of a higher-order (parent) entity B n 2 having a subroute 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 reef key of the entity to which the device belongs to the subroutine node which is the top node of the entity to which the device belongs.
  • the device of the terminal node 285 2 stores each key from the terminal node (leaf) 285 2 to the sub root node 285 1.
  • Entities can have a tree structure composed of various levels.
  • the number of stages, ie, depth can be set according to the number of lower (child) entities corresponding to the terminal nodes managed by the entity, or the number of devices as leaves.
  • the root entity is the topmost entity with a root key.
  • entities A, B, and C are set as multiple lower entities, and entity D is set as a lower entity of entity C.
  • Entity C is an entity C that holds one or more of its end nodes as a reserved node 295 and increases the entities that it manages.
  • 2902 as a reserved node 2950 as a vertex node it is possible to increase the number of managed terminal nodes 2970 and add the increased lower entity to the managed terminal node.
  • the reserved node will be further described with reference to FIG.
  • Entity A, 3011 has subordinate entities to manage: B, C, D ... and has one reserved node 3021. If the entity wishes to further increase the number of lower-level entities to be managed, the self-managed lower-level entities A,, 3012 are set in the reserved node 3021, and the lower-level entities of the lower-level entities A,, 3012 are further managed. Sub-entities: F and G can be set. The self-managed sub-entities A,, and 30 12 also set sub-entities A,, and 30 13 by setting at least one of their end nodes as a reserved node 3022, and further manage the management entity. Can be increased. One or more reserved nodes are also reserved at the terminal node of the lower entity A ' 5 30 13.
  • an activation key block (EK B) is configured for each entity, and key update and revoke processing are performed for each entity.
  • EKB activation key block
  • FIG. 31 shows the registration process sequence. Explanation will be given according to the sequence of FIG.
  • the new (child) entity (N-En) added during the new tree configuration performs a new registration request to the higher-level (parent) entity (P-En).
  • Each entity has 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 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. Publishing the new (child) entity (N—En) Receive the key. These procedures are performed as a procedure for mutual authentication between the upper-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). ) To the new (child) entity (N-En).
  • This node key is one of the end nodes 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 stores the received subroot key of the vertex node at the top of the constructed tree. Configure and set the key for each node and leaf to generate an activation key block (EKB) within the entity.
  • the enabling key block (EKB) within one entity is called a sub-EKB.
  • the upper-level entity (P—En) 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). .
  • Send to Sendai KDC: Key Distribute Center
  • the key issuance center can generate various types of EKBs, that is, EKBs that can be decrypted only by a specific entity or device.
  • An EKB with such a decryptable entity or device is provided to, for example, a content provider, and the content provider encrypts the content key based on the EKB and stores it on a network or in a recording medium.
  • the registration process of the sub-EKB of the new entity to the key issuance key (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 with the key issuing center (KDC) directly from the newly registered entity.
  • KDC key issuing center
  • the lower-level entity is added as a managed entity of the higher-level 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 higher-level entity
  • 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.
  • FIGS. 33A and 33B show examples of the update EKB generated by the upper-level entity when a newly added entity is set.
  • FIGS. 33A and 33B show the configuration shown in FIG. 33A, that is, the terminal node (no de OOO) 3301 and the terminal node (n 0 de ⁇ 0 1) 3302 that already exist effectively.
  • This is an example of a sub-EKB generated by a higher-level entity when a new entity additional terminal node (no de 100) 3303 is added to a newly added entity.
  • the sub-EKB has a configuration as shown in FIG. 33B.
  • the upper node key encrypted by the effective end node key, the further upper node key encrypted by the upper node key, etc.... progress further to the subordinate.
  • a sub-EKB is generated.
  • Each entity is a diagram
  • the upper node key and the upper node key are further encrypted with the upper node key, and the EKB that is composed of encrypted data that sequentially goes deeper and reaches the sub root is managed.
  • FIGS. 3 and 4 the process of distributing an enabling key block (EKB) that allows only a specific device to be decrypted from the entire tree structure and that the revoked device cannot decrypt is described.
  • the revocation processing described in FIGS. 3, 4A, and 4B is processing for revoking a device that is a specific leaf from the entire tree. Revoke processing can be executed for each entity.
  • FIGS. 34A to 34D are diagrams for explaining device revocation processing by the lowest entity among the entities constituting the tree, that is, the entity managing each device.
  • Figure 34A shows the structure of a key distribution tree 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, and the B 01 to B nk entities at the lower level, and C l to C at the lower level.
  • n 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.
  • FIG. 34B shows a tree structure of an entity C n, 340, which is one of the lowermost entities.
  • the entity C n, 334 0 has a vertex node 3 431 and has multiple devices at the leaf that is the terminal node. Assuming that a device to be revoked, such as device 3432, is in the leaf that is the terminal node, the entities C n, 3430 are the node keys and leaf keys in the entity C n that have been independently updated.
  • Activation key composed by Generate a work (sub EKB). This activation key block is a keep-up key composed of an encryption key that cannot be decrypted by the revoke device 3432 but can be decrypted only by the devices constituting the other leaves.
  • the administrator of entity C n generates this as an updated sub-EKB. Specifically, each node 343 1 that constitutes a path from the sub route to the revoke device 3432:
  • the node keys of 3434 and 3435 are updated, and a process in which the updated node key is configured as an encryption key that can be decrypted only by a leaf device other than the revoke device 3432 is set as an update sub-EKB. This processing is based on Figs.
  • this corresponds to processing in which the root key is replaced with a subroot key that is the vertex key of the entity.
  • the activation key block (sub-EKB) updated by the entity Cn, 3430 by the revocation process is transmitted to the upper entity.
  • the upper-level entity is entity B nk, 3420, and is an entity having vertex node 3431 of entity C n, 3430 as a terminal node.
  • the entity Bnk, 3420 When the entity Bnk, 3420 receives the activation key block (sub-EKB) from the lower-level entity Cn, 3430, the end of the entity Bnk, 3420 corresponding to the vertex node 3431 of the entity Cnk, 3430 included in the key block
  • the node 3431 is set to the key updated in the lower-level entities Cn and 3430, and the sub-EKB of the own entity Bnk and 3420 is updated.
  • Figure 34C shows the tree structure of entity Bnk, 3420.
  • the node key to be updated is the node key on the path from the sub route 3421 in FIG. 34C to the terminal node 3431 constituting the entity including the revoke device.
  • the node keys of the nodes 342 1, 3424, and 3425 constituting the path connected to the node 3431 of the entity that transmitted the update sub-EKB are to be updated.
  • a new updated sub-EKB for entity Bnk, 3420 is generated.
  • the activation key block (sub EKB) is sent to the upper entity.
  • the upper-level 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 subordinate entity Bnk, 3420, the entity Ann, 3410 corresponding to the vertex node 3421 of the entity Bnk, 3420 included in the key block, The terminal node 3411 of 3410 is set to the key updated in the lower-level entity Bnk, 3420, and the sub-EKB of the own entity Ann, 3410 is updated.
  • Figure 34D shows the configuration of the entity Ann, 3410.
  • the node keys to be updated are the nodes 341 1, 3414, and 341 1, 3414, which constitute a path connected to the node 342 1 of the entity that transmitted the update sub-EKB from the sub route 341 1 in FIG. 341 5 Node key.
  • the node key of each of these nodes is updated to generate a new updated sub EKB of the entity Ann, 3410.
  • FIG. 35 shows a sequence diagram of the device revocation processing.
  • the device management entity (D-En) at the bottom of the tree configuration performs the key update necessary to eliminate the revoked leaves in the device management entity (D-En), and executes the device management entity.
  • the update sub-EKB (D) is sent to the upper entity.
  • the superior (parent) entity (P 1 ⁇ En) that receives the update sub-EKB (D) updates the terminal node key corresponding to the update vertex node of the update sub-EKB (D), and its terminal node.
  • From to the sub route Generate an update sub EKB (PI) that updates the node key on the path.
  • KDC key issuing center
  • Figures 36A and 36B show examples of the activation key block (EKB) generated by the upper entity performing the update process by the device revocation process.
  • EKB activation key block
  • 36A and 36B 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. 36A.
  • the top node of the lower entity including the revoke device corresponds to the end node (node 1 360) 3601 of the upper entity.
  • the upper entity updates a node key existing on the path from the subroot of the upper entity to the terminal node (node 100) 3601 to generate a new updated sub-EKB.
  • the update sub-EKB looks like Figure 36B. Updated keys are underlined and marked with [,].
  • the node key on the path from the terminal node thus updated to the subroot is updated to be an updated sub-EKB in the entity.
  • Figure 37A 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 An n are several levels below it, and the entities B 01 and B nk are below it, and the entities B nk and C 1 to C n are further below that The entity is configured.
  • the terminal node (leaf) is an individual device, for example, a recording / reproducing device, a reproducing-only device, or the like.
  • the lowermost entity Cn, 3730 has a vertex node 3431 as shown in FIG. 37B, and has a configuration having a plurality of devices at a leaf as a terminal node.
  • the revocation processing of the entity Cn, 3730 is executed in the entity Bnk, 3720, which is the upper entity of the entity Cn, 3730.
  • the entity Bnk, 3720 is an entity having the vertex node 3731 of the entity Cn, 3730 as a terminal node.
  • the entity Bnk, 3720 executes the revoking of the lower-level entity Cn, 3730, updates the terminal node 3731 of the entity Bnk, 3720 corresponding to the vertex node 3731 of the entity Cnk, 3730, and further updates the repo entity.
  • Updates the node key on the path from 3730 to the entity: Bnk, 3720 generates an activation keep-up key, and generates an update sub-EKB.
  • the node key to be updated is the node key on the path from the sub route 37 21 in FIG. 37C to the terminal node 3731 constituting the vertex node of the reporting entity. That is, the node keys of the nodes 372 1, 3724, 3725, and 3731 are to be updated. By updating the node key of each of these nodes, a new updated sub EKB of entity Bnk, 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 31 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 subroutine of the entity Bnk, 3720, and generating the activation key routine.
  • the activation key block (sub-EKB) updated by entity Bnk, 3720 is sent to the upper entity.
  • the upper entity is the entity Ann, 3710, and is the entity having the vertex node 3721 of the entity: Bnk, 3720 as a terminal node.
  • FIG. 37D shows the tree structure of the entities Ann and 3710.
  • the node keys to be updated are the nodes 37 1 1 constituting the path connected to the node 372 1 of the entity that has transmitted the update sub-EKB from the sub route 37 11 1 in FIG. 37D. , 37 1, 37 15. The node key of each of these nodes is updated to generate a new updated sub-EKB for the entity Ann, 3710.
  • Figure 38 shows the sequence diagram of the entity revocation process.
  • the processing procedure will be described with reference to the sequence diagram of FIG.
  • the entity management entity (E-En) that is trying to revoke an entity performs the key update necessary to eliminate the revoked end node in the entity management entity (E-En), and performs entity management.
  • 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 updates the sub-root from the terminal node.
  • the key issuing center (KDC) generates various EKBs based on the update sub-EKBs of all entities.
  • the updated EKB is an encrypted keep-up key that cannot be decrypted by devices belonging to the revoked entity.
  • Figure 39 shows the correspondence between the revoked lower-level entity and the revoked upper-level entity.
  • the terminal node 3 9 0 1 of the upper entity is A new sub-EKB is generated by updating the node key existing in the path from the terminal node 3901 to the sub-root in the tree of the higher-level entity by being revoked by the entity.
  • the node key of the term node 3902 of the revoked lower entity does not match the node key of the terminal node 3901 of the upper entity.
  • the EKB generated by the key issuing center (KDC) after the entity is re-poked will be generated based on the key of the terminal node 3901 updated in the higher-level entity.
  • the device corresponding to the leaf of the lower entity that does not have the key is not able to decrypt the EKB generated by the key issuing center (KDC).
  • 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. It is a device that can process programs, etc., that is, information that defines the data processing capability of the device.
  • Fig. 40 shows an example of an entity configuration in which the capities are defined.
  • a root node is located at the highest point of the key distribution tree, a plurality of entities are connected to the lower layer, and each node has a tree structure with two branches.
  • entity 4 0 0 1 is defined as an entity having a capacity that allows any of the audio reproduction methods A, B, and C.
  • devices belonging to entities configured to be less than entity 4001 are compressed data. Can be extended.
  • entity 4002 is audio playback system B or C
  • entity 4003 is audio playback system A or B
  • entity 4004 is audio playback system B
  • entity 4005 is audio playback. It is defined as an entity that has the capability to process method C.
  • the entity 4002 1 is defined as an entity that allows the image playback methods p, q, and r.
  • the entity 4002 2 is the image playback method of the methods p and q, and the entity 4002 3 is the method. It is defined as an entity that has the capability to reproduce p images.
  • the key information of each such entity is managed at the key issuing center (KDC). For example, if a content provider wants to distribute music data compressed with a specific compression program to various devices, the key issuance center (KDC) can decrypt only the device that can reproduce the specific compression program. A new enabling 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 with the activation key procedure (EKB) generated based on the capacity information, and provides each device with compressed audio data encrypted with the content key. . With this configuration, it is possible to reliably provide a specific processing program only to a device capable of processing data. In FIG. 40, the configuration is such that the capability information is defined for all entities.
  • Capability is defined only for the lowest entity to which the device belongs as shown in Fig. 4 and the capability of the device belonging to the lowest entity is managed by the key issuing center (KDC), and the content provider can perform the desired processing.
  • Device The configuration may be such that an enabling key block (EKB) that can be decrypted only is generated based on the capacity information defined in the lowermost entity.
  • EKB enabling key block
  • 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, and the like.
  • Figures 42A and 42B show examples of the structure of the key management table managed by the key issuing center (KDC).
  • the cable management table has a data structure as shown in Figure 42A. That is, an entity ID as an identifier for identifying each entity, a capability list indicating the capabilities defined for the entity, and the capability list.
  • an entity ID as an identifier for identifying each entity
  • a capability list indicating the capabilities defined for the entity
  • the capability list For example, as shown in FIG. 42B, for example, audio data reproduction processing (method A) [1] if can be processed, if not
  • 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. Stores the node identification data.
  • the key issuer (KDC) generates an activation key block (EKB) that can be decrypted only by a device that can play specific content, based on the key property management table.
  • EKB activation key block
  • the generation process of the activation key block based on the key property information will be described with reference to FIG.
  • the key issuing center selects an entity having the specified capacity from the capacity management table. I do. Specifically, for example, when a content provider wants to distribute reproducible data based on the audio data reproduction processing method A, the content list of the audio data reproduction processing (method A) can be obtained from the capacity list shown in FIG. 42A. Select the entity whose item is set to [1].
  • 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 array composed of 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 the process of sequentially selecting each path when multiple entities are selected.
  • 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 constituted only by the selected path and the selected entity.
  • step S4306 an update process is performed on the node key of the rig structure generated in step S4305 to generate an updated node key.
  • the sub-EKB of the selected entity constituting the tree is extracted from the capacity management table, and is enabled to 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 can be used only by a device with a specific capacity, that is, the activation key block (EKB) that can be decrypted.
  • a content key is encrypted with this activation key program (EKB), and the content key is used to encrypt the content compressed based on a specific program and provide it to the device. The content will only be used on the specific devices that can be processed.
  • the key issuing center KDC
  • KDC key issuing center
  • EKB activation key block
  • 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 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) transfers the new (child) entity's (N-En) public key to the Certificate Authority (CA), and signs the CA.
  • CA Certificate Authority
  • 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 top node of the new (child) entity (N-En), that is, the sub-root key.
  • the new (child) entity (N_En) constructs a new configuration of the new (child) entity (N—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 (sub EKB) in the entity.
  • the upper-level entity (P-En) also generates a sub-EKB in the upper-level entity (P-En) with the added end node added by adding a new (child) entity (N-En).
  • the new (child) entity (N—En) generates a sub-EKB composed of the node keys and leaf keys in the new (child) entity (N—E n). This is transmitted to the upper-level entity (P-En), and further, the upper-level entity is notified of the capability information on the device managed by the own entity.
  • the sub-EKB and the capacity information are transmitted from the new (child) entity (N-En).
  • the upper-level entity (P—En) that has received the E-mail sends the received sub-EKB, the gay-parity information, and the updated sub-EKB of the upper-level entity (P—En) to the Key Distribute Center (KDC). I do.
  • the key issuance center registers the received sub-EKB and capacity information of the entity in the key management table described in Fig. 42A and Fig. 42B, and updates the key management table.
  • the key issuance center (KDC) can generate various types of EKB, that is, an entity with a specific capacity, or an EKB that can be decrypted only by the device, based on the updated capacity management table. It becomes possible.
  • Sub-keys are set by classifying the key with key corresponding to each of the above root, node, and leaf based on the capacity as the data processing capability of the device, and the entity that manages each sub-key
  • a sub-validation key block (sub-EKB) valid within the entity is generated, and the key issuing center (KDC) manages the entity's capacity information so that it can be decrypted only for entities with a common capacity.
  • Key block (EKB) is generated. Data that can be processed only on the device can be provided as data that can be decoded only on the device.
  • the key issuance center includes the identifier, the capacity information, the sub-validation key block (sub-EKB) of each of the plurality of entities. Based on the capacity management table that associates information with the information, it is possible to select an entity that can process distribution data for the device and generate various EKBs according to various capacities.
  • each of the route, the node, and the leaf on the path from the root to the leaf in which a plurality of devices are configured as leaves is provided.
  • a configuration in which multiple entities are set up, and an activation key block (EKB) that can be decrypted only for the selected entity is generated and distributed using a sub-activation key block (sub-EKB) generated by multiple entities. Therefore, it is possible to decompose and manage the hierarchical key structure, and Processing can be performed.
  • the information processing system and method using the encryption key block according to the present invention it is possible to execute a device or entity revocation process in an entity, and perform a process associated with an increase in devices in the case of collective device management. An increase in volume is prevented.
  • the configuration is such that the reserve node is set at the terminal node of each entity. Therefore, it is possible to cope with an increase in the number of management devices or management entities. Can be.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (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 (データ暗号標準: Da ta encryption standard) がある。
上述の暗号化処理、 復号化に用いられる暗号化鍵、 復号化鍵は、 例えばあるパ スワード等に基づいてハッシュ関数等の一方向性関数を適用して得ることができ る。 一方向性関数とは、 その出力から逆に入力を求めるのは非常に困難となる関 数である。 例えばユーザが決めたパスヮードを入力として一方向性関数を適用し て、 その出力に基づいて暗号化鍵、 復号化鍵を生成するものである。 このように して得られた暗号化鍵、 復号化鍵から、 逆にそのオリジナルのデ一夕であるパス ヮードを求めることは実質上不可能となる。
また、 暗号化するときに使用する暗号化鍵による処理と、 復号するときに使用 する復号化鍵の処理とを異なるアルゴリズムとした方式がいわゆる公開鍵暗号化 方式と呼ばれる方式である。 公開鍵暗号化方式は、 不特定のユーザが使用可能な 公開鍵を使用する方法であり、 特定個人に対する暗号化文書を、 その特定個人が 発行した公鬨鍵を用いて暗号化処理を行う。 公開鍵によって暗号化された文書は、 その暗号化処理に使用された公開鍵に対応する秘密鍵によってのみ復号処理が可 能となる。 秘密鍵は、 公開鍵を発行した個人のみが所有するので、 その公鬨鍵に よって暗号化された文書は秘密鍵を持つ個人のみが復号することができる。 公鬨 鍵暗号化方式の代表的なものには R S A (Rivest- Shamir- Adleman) 暗号がある。 このような暗号化方式を利用することにより、 暗号化コンテンツを正規ユーザに 対してのみ復号可能とするシステムが可能となる。
上記のようなコンテンツ配信システムでは、 コンテンヅを暗号化してユーザに ネヅ トワーク、 あるいは D V D、 C D等の記録媒体に格納して提供し、 暗号化コ ンテンヅを復号するコンテンツキーを正当なユーザにのみ提供する構成が多く採 用されている。 コンテンヅキー自体の不正なコピー等を防ぐためのコンテンツキ 一を暗号化して正当なユーザに提供し、 正当なユーザのみが有する復号キ一を用 いて暗号化コンテンツキーを復号してコンテンツキーを使用可能とする構成が提 案されている。
正当なユーザであるか否かの判定は、 一般には、 例えばコンテンツの送信者で あるコンテンツプロバイダとユーザデバイス間において、 コンテンツ、 あるいは コンテンツキーの配信前に認証処理を実行することによって行う。 一般的な認証 処理においては、 相手の確認を行うとともに、 その通信でのみ有効なセッション キーを生成して、 認証が成立した場合に、 生成したセヅシヨンキーを用いてデー 夕、 例えばコンテンヅあるいはコンテンツキーを暗号化して通信を行う。 認証方 式には、 共通鍵暗号方式を用いた相互認証と、 公開鍵方式を使用した認証方式が あるが、 共通鍵を使った認証においては、 システムワイ ドで共通な鍵が必要にな り、 更新処理等の際に不便である。 また、 公開鍵方式においては、 計算負荷が大 きくまた必要なメモリ量も大きくなり、 各デバイスにこのような処理手段を設け ることは望ましい構成とはいえない。 発明の鬨示 本発明の目的は、 上述のようなデータの送信者、 受信者間の相互認証処理に頼 ることなく、 正当なユーザに対してのみ、 安全にデータを送信することを可能と するとともに、 階層的鍵配信ヅリーを管理下のデバイスのデータ処理能力として のケィパピリティに基づいて区分したサブヅリーとしてのエンティティで管理す る構成としてケィパピリティに基づく鍵配信及び管理構成を実現した暗号鍵プロ ヅクを用いた情報処理システム及び情報処理方法、 並びにプログラム提供媒体を 提供することである。
また、 本発明の目的は、 上述のようなデータの送信者、 受信者間の相互認証処 理に頼ることなく、 正当なユーザに対してのみ、 安全にデ一夕を送信することを 可能とするとともに、 階層的鍵配信ヅリーを共通要素を持つ部分集合としてのェ ンティティで管理する構成として効率的な鍵配信及び管理構成を実現した暗号鍵 ブロックを用いた情報処理システム及び情報処理方法、 並びにプログラム提供媒 体を提供することである。
本発明に係る暗号鍵プロックを用いた情報処理システムは、 複数のデバイスを リーフとして構成したッリ一のルートからリーフまでのパス上のル一ト、 ノード、 及ぴリーフに各々キーを対応付けたキーツリ一を構成し、 キーツリーを構成する パスを選択して選択パス上のキー更新、 及び下位キーによる上位キーの暗号化処 理を実行して特定デバイスにおいてのみ復号可能な有効化キープ口ヅク (E K B) を生成してデバイスに提供する暗号鍵プロックを用いた情報処理システムに おいて、 キーツリーの一部を構成し、 デバイスのデータ処理能力としてのケィパ ビリティに基づいて区分されたサブヅリーを管理し、 サブヅリーに属するノード 又はリーフに対応して設定されるキーのみに基づくサブ有効化キープ口ック (サ ブ EKB) を生成する複数のエンティティと、 複数のエンティティのケィパピリ ティ情報を管理し、 共通のケィパピリティを持つエンティティの生成するサブ有 効化キ一ブロック (サブ EKB) を用いて、 共通のケィパピリティを持つェンテ ィティにおいてのみ復号可能な有効化キーブロック (EKB) を生成するキ一発 行セン夕 (KD C) とを有する。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システムにおいて、 キ —発行センタ (KD C) は、 複数のエンティティ各々の識別子と、 エンティティ 各々のケィパピリティ情報と、 エンティティ各々のサブ有効化キープロヅク (サ ブ EKB) 情報とを対応付けたケィパピリティ管理テーブルを有し、 ケィパピリ ティ管理テーブルに基づいて、 デバイスに対する配信デ一夕の処理可能なエンデ ィティを選択して、 選択エンティティ配下のデバイスでのみ復号可能な有効化キ 一ブロック (EKB) を生成する構成を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 キ ーヅリーに対する新規追加エンティティは、 新規エンティティ内のサブヅリ一内 のノード又はリーフに対応して設定されるキーのみに基づくサブ有効化キーブロ ヅク (サブ EKB) を生成し、 キー発行セン夕 (KD C) に対するサブ EKBの 登録処理を実行するとともに、 自己のエンティティのケィパピリティ情報の通知 処理を実行する構成である。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 複 数のエンティティは、 1つのエンティティの最下段の末端ノードを他のェンティ ティの頂点ノード (サブルート) として構成した上位エンティティ及び下位ェン ティティの階層化構造を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 複 数のエンティティの各々は、 自己のエンティティに属するサブヅリーを構成する ノード又はリーフに対応するキーの設定、 更新処理権限を有する構成である。 さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 複 数のエンティティ中、 エンティティ内の最下段リーフを個々のデバイスに対応す るリーフとした最下層のエンティティに属するデバイスの各々は、 自己の属する エンティティの頂点ノード (サブルート) から自己のデバイスに対応するリーフ に至るパス上のノード、 リーフに設定されたノードキー及びリーフキーを格納し た構成を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 複 数のエンティティの各々は、 自己のエンティティの下位に、 さらに自己管理ェン ティティを追加するため、 自己のエンティティ内の最下段のノード又はリーフ中 の 1以上のノ一ド又はリーフをリザーブノードとして保留して設定した構成を有 する。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システムにおいて、 新 規エンティティを末端ノ一ドに追加する上位エンティティは、 新規エンティティ のサブヅリ一を設定するノードである上位エンティティ末端ノードに対応するキ —を、 新規エンティティの頂点ノード (サブルート) キーとして設定する構成で ある。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 デ バイスのリボーク処理を実行するエンティティは、 エンティティ内の頂点ノード (サブルート) からリボーク .デバイスに対応するリーフに至るパス上のノード に設定されたノードキーを更新し、 更新ノードキ一を.リポークデバイス以外のリ ーフデバイスにおいてのみ復号可能な暗号化キーとして構成した更新サブ E K B を生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提 供した末端ノードから自己のサブルートに至るパス上のノードキーを更新した更 新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティ まで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リボークデバイスからルートに至るパス上のノ一ドキー更新を行い、 キー更新に より生成された更新サブ E K Bのキ一発行センタ (K D C ) への登録処理を行う ことにより、 デバイスのリポーク処理を実行する構成を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 下 位エンティティのリポーク処理を実行するエンティティは、 エンティティ内の頂 点ノード (サブルート) からリボーク 'エンティティに対応する末端ノードに至 るパス上のノードに設定されたノードキーを更新した更新サブ E K Bを生成して 上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端 ノードから自己のサブル一トに至るパス上のノードキーを更新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 ェン ティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リボーク · エンティティからルートに至るパス上のノードキー更新を行い、 キー更新により 生成された更新サブ E K Bのキー発行セン夕 (K D C ) への登録処理を行うこと により、 エンティティ単位のリボーク処理を実行する構成を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 下 位エンティティのリボーク処理を実行するエンティティは、 エンティティ内の頂 点ノード (サブルート) からリボーク ·エンティティに対応する末端ノードに至 るパス上の、 末端ノードを除くノードに設定されたノードキーを更新した更新サ ブ E K Bを生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端ノードから自己のサブルートに至るパス上のノードキーを更 新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位ェン ティティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実 行して、 リポーク ·エンティティからルートに至るパス上のリボーク ·ェンティ ティに対応する末端ノードを除くノードキー更新を行い、 キー更新により生成さ れた更新サブ E K Bのキー発行セン夕 (K D C ) への登録処理を行うことにより、 エンティティ単位のリボーク処理を実行する構成を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法は、 複数のデバイ' スをリーフとして構成したヅリ一のル一トからリーフまでのパス上のルート、 ノ ード、 及びリーフに各々キーを対応付けたキ一ツリーを構成し、 キーツリーを構 成するパスを選択して選択パス上のキー更新、 及び下位キーによる上位キーの暗 号化処理を実行して特定デバイスにおいてのみ復号可能な有効化キープ口ック (EKB) を生成してデバイスに提供する情報処理システムにおける暗号鍵プロ ヅクを用いた情報処理方法において、 キーツリーの一部を構成し、 デバイスのデ 一夕処理能力としてのケィパピリティに基づいて区分されたサブツリーを管理す るエンティティにおいて、 各エンティティのサブッリーに属するノード又はリー フに対応して設定されるキーのみに基づくサブ有効化キ一ブロック (サブ E K B) を生成するステヅプと、 複数のエンティティのケィパピリティ情報を保有す るキー発行セン夕 (KD C) において、 複数のエンティティのケィパピリティ情 報に基づいて、 共通のケィパピリティを持つエンティティの生成するサブ有効化 キープロヅク (サブ EKB) を抽出し共通のケィパピリティを持つエンティティ においてのみ復号可能な有効化キーブロック (EKB) を生成するステップとを 有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 キー発 行セン夕 (KD C) における有効化キ一ブロック (EKB) 生成ステヅプは、 共 通のケィパピリティを持つエンティティを選択するエンティティ選択ステヅプと、 エンティティ選択ステヅプにおいて選択されたエンティティによって構成される エンティティ · ツリーを生成するステヅプと、 エンティティ · ツリーを構成する ノードキーを更新するノードキー更新ステップと、 ノードキー更新ステップにお いて更新したノードキー、 及び選択エンティティのサブ EKBに基づいて選択ェ ンティティにおいてのみ復号可能な有効化キ一ブロック (EKB) を生成するス テツプとを含む。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 キー発 行センタ (KD C) は、 複数のエンティティ各々の識別子と、 エンティティ各々 のケィパピリティ情報と、 エンティティ各々のサブ有効化キーブロック (サブ E KB) 情報とを対応付けたケィパピリティ管理テーブルを有し、 ケィパピリティ 管理テーブルに基づいて、 デバイスに対する配信デ一夕の処理可能なェンティテ ィを選択して、 選択エンティティ配下のデバイスでのみ復号可能な有効化キープ ロック (E KB) を生成する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 キ一ヅ リ一に対する新規追加エンティティは、 新規エンティティ内のサブヅリー内のノ ―ド又はリーフに対応して設定されるキーのみに基づくサブ有効化キープ口ヅク (サブ E K B ) を生成し、 キー発行セン夕 (K D C ) に対するサブ E K Bの登録 処理を実行するとともに、 自己のエンティティのケィパピリティ情報の通知処理 を実行する。 ,
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 複数の エンティティの各々は、 自己のエンティティに属するサブッリ一を構成するノー ド又はリーフに対応するキーの設定、 更新処理を実行する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 新規ェ ンティティを末端ノードに追加する上位エンティティは、 新規エンティティのサ グヅリーを設定するノードである上位エンティティ末端ノードに対応するキーを、 新規エンティティの頂点ノード (サブルート) キーとして設定する。
. さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 デバイ スのリボーク処理を実行するエンティティは、 エンティティ内の頂点ノード (サ ブルート) からリボーク ·デバイスに対応するリーフに至るパス上のノードに設 定されたノードキーを更新し、 更新ノードキーをリボークデバイス以外のリーフ デバイスにおいてのみ復号可能な暗号化キーとして構成した更新サブ E K Bを生 成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供し た末端ノードから自己のサブルートに至るパス上のノードキーを更新した更新サ ブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リボー クデバイスからルートに至るパス上のノ一ドキー更新を行い、 キー更新により生 成された更新サブ E K Bのキー発行センタ (K D C ) への登録処理を行うことに より、 デバイスのリボーク処理を実行する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 下位ェ ンティティのリボーク処理を実行するエンティティは、 エンティティ内の頂点ノ —ド (サブルート) からリボーク .エンティティに対応する末端ノードに至るパ ス上のノ一ドに設定されたノードキーを更新した更新サブ E K Bを生成して上位 エンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端ノー ドから自己のサブルートに至るパス上のノードキーを更新した更新サブ E K Bを 生成してさらに上位エンティティに送信し、 最上位エンティティまで、 ェンティ ティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リボーク .ェン ティティからルートに至るパス上のノードキー更新を行い、 キー更新により生成 された更新サブ E K Bのキ一発行セン夕 (K D C ) への登録処理を行うことによ り、 エンティティ単位のリボーク処理を実行する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 下位ェ ンティティのリボーク処理を実行するエンティティは、 エンティティ内の頂点ノ ード (サブルート) からリポーク ·エンティティに対応する末端ノードに至るパ ス上の、 末端ノードを除くノードに設定されたノ一ドキーを更新した更新サブ E K Bを生成して上位エンティティに送信し、 上位エンティティは更新サブ E K B を提供した末端ノードから自己のサブルートに至るパス上のノードキーを更新し た更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位ェンティ ティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行し て、 リポーク ·エンティティからルートに至るパス上のリポーク 'エンティティ に対応する末端ノードを除くノ一ドキー更新を行い、 キー更新により生成された 更新サブ E K Bのキー発行セン夕 (K D C ) への登録処理を行うことにより、 ェ ンティティ単位のリボーク処理を実行する。
さらに、 本発明に係るプログラム提供媒体は、 複数のデバイスをリーフとして 構成したツリーのルートからリーフまでのパス上のルート、 ノード、 及びリーフ に各々キーを対^付けたキーツリーを構成し、 キ一ヅリーを構成するパスを選択 して選択パス上のキー更新、 及び下位キーによる上位キーの暗号化処理を実行し て特定デバイスにおいてのみ復号可能な有効化キープロヅク (E K B ) を生成し てデバイスに提供する情報処理システムにおける有効化キープロック ( E K B ) 生成処理をコンピュータ · システム上で実行せしめるコンピュータ · プログラム を提供する。 コンピュータ 'プログラムは、 キーヅリーの一部を構成し、 デバイ スのデ一夕処理能力としてのゲイパビリティに基づいて区分されたサブヅリーを 管理するエンティティにおいて、 各エンティティのサブヅリーに属するノード又 はリーフに対応して設定されるキ一のみに基づくサブ有効化キープ口ヅク (サブ E K B ) を生成するステップと、 複数のエンティティのケィパピリティ情報を保 有するキー発行セン夕 (K D C ) において、 複数のエンティティのケィパビリテ ィ情報に基づいて、 共通のケィパピリティを持つエンティティの生成するサブ有 効化キ一ブロック (サブ E K B ) を抽出し共通のゲイパビリティを持つェンティ ティにおいてのみ復号可能な有効化キ一ブロック (E K B ) を生成するステップ とを含む。
本発明に係る暗号鍵ブロックを用いた情報処理システムは、 複数のデバイスを リーフとして構成したヅリーのルー卜からリーフまでのパス上のルート、 ノード、 及びリーフに各々キーを対応付けたキーツリーを構成し、 キーツリーを構成する パスを選択して選択パス上のキー更新、 及び下位キーによる上位キーの暗号化処 理を実行して特定デバイスにおいてのみ復号可能な有効化キ一プロヅク (E K B ) を生成してデバイスに提供する暗号鍵プロヅクを用いた情報処理システムに おいて、 キーツリーを構成する部分ツリーとしてのサブヅリーを管理し、 サブッ リーに属するノード又はリーフに対応して設定されるキーのみに基づくサブ有効 化キープロヅク (サブ E K B ) を生成する複数のエンティティと、 複数のェンテ ィティの生成するサブ有効化キーブロック (サブ E K B ) を用いて、 選択された エンティティにおいてのみ復号可能な有効化キーブロック (E K B ) を生成する キー発行セン夕 (K D C ) とを有する。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システムにおいて、 複 数のエンティティは、 1つのエンティティの最下段の末端ノードを他のェンティ ティの頂点ノード (サブルート) として構成した上位エンティティ及び下位ェン ティティの階層化構造を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 複 数のエンティティの各々は、 自己のエンティティに属するサブヅリーを構成する ノード又はリーフに対応するキーの設定、 更新処理権限を有する構成である。 さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 複 数のエンティティ中、 エンティティ内の最下段リーフを個々のデバイスに対応す るリーフとした最下層のエンティティに属するデバイスの各々は、 自己の属する エンティティの頂点ノード (サブルート) から自己のデバイスに対応するリーフ に至るパス上のノード、 リーフに設定されたノードキー及びリーフキーを格納し た構成を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 複 数のエンティティの各々は、 自己のエンティティの下位に、 さらに自己管理ェン ティティを追加するため、 自己のエンティティ内の最下段のノード又はリ一フ中 の 1以上のノード又はリーフをリザーブノードとして保留して設定した構成を有 する。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システムにおいて、 新 規エンティティを末端ノードに追加する上位エンティティは、 新規エンティティ のサブヅリーを設定するノードである上位エンティティ末端ノードに対応するキ —を、 新規エンティティの頂点ノード (サブルート) キーとして設定する構成で ある。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システムにおいて、 新 規追加ェンティティは、 新規ェンティティ内のサブツリー内のノード又はリーフ に対応して設定されるキーのみに基づくサブ有効化キープロヅク (サブ E K B ) を生成し、 キー発行センタ (K D C ) に対するサブ E K Bの登録処理を実行する 構成である。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 デ バイスのリポーク処理を実行するエンティティは、 エンティティ内の頂点ノード (サブルート) からリポーク .デバイスに対応するリーフに至るパス上のノード に設定されたノードキーを更新し、 更新ノードキーをリボークデバイス以外のリ ーフデバイスにおいてのみ復号可能な暗号化キーとして構成した更新サブ E K B を生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提 供した末端ノードから自己のサブルートに至るパス上のノードキーを更新した更 新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティ まで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リポークデバイスからルートに至るパス上のノードキー更新を行い、 キー更新に より生成された更新サブ E K Bのキー発行セン夕 (K D C ) への登録処理を行う ことにより、 デバイスのリボーク処理を実行する構成を有する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システムにおいて、 下 位エンティティのリボーク処理を実行するエンティティは、 エンティティ内の頂 点ノード (サブルート) からリポーク ·エンティティに対応する末端ノードに至 るパス上のノードに設定されたノードキーを更新した更新サブ E K Bを生成して 上位エンティティに.送信し、 上位エンティティは更新サブ E K Bを提供した末端 ノードから自己のサブルートに至るパス上のノードキーを更新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 ェン ティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リボーク - エンティティからルートに至るパス上のノードキ一更新を行い、 キー更新により 生成された更新サブ E K Bのキー発行セン夕 (K D C ) への登録処理を行うこと により、 エンティティ単位のリボーク処理を実行する構成を有する。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システムにおいて、 下 位エンティティのリボーク処理を実行するエンティティは、 エンティティ内の頂 点ノード (サブルート) からリボーク 'エンティティに対応する末端ノードに至 るパス上の、 末端ノードを除くノードに設定されたノードキーを更新した更新サ ブ E K Bを生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端ノードから自己のサブルードに至るパス上のノードキーを更 新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位ェン ティティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実 行して、 リボーク 'エンティティからルートに至るパス上のリボーク ·ェンティ ティに対応する末端ノードを除くノードキー更新を行い、 キ一更新により生成さ れた更新サブ E K Bのキー発行セン夕 (K D C ) への登録処理を行うことにより、 エンティティ単位のリボーク処理を実行する構成を有する。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システムにおいて、 ェ ンティティは、 デバイス種類、 サービス種類、 管理手段種類等の共通のカテゴリ に属するデバイスあるいはエンティティの管理主体として構成される。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法は、 複数のデバイ スをリーフとして構成したヅリ一のルートからリーフまでのパス上のルート、 ノ ード、 及びリーフに各々キーを対応付けたキ一ツリーを構成し、 キーツリーを構 成するパスを選択して選択パス上のキー更新、 及び下位キーによる上位キーの暗 号化処理を実行して特定デバイスにおいてのみ復号可能な有効化キープ口ック ( E K B ) を生成してデバイスに提供する情報処理システムにおける暗号鍵プロ ヅクを用いた情報処理方法において、 キ一ヅリーを構成する部分ヅリーとしての サブヅリ一を管理する複数のエンティティにおいて、 サブヅリ一に属するノード 又はリーフに対応して設定されるキーのみに基づくサブ有効化キープ口ヅク (サ ブ E K B ) を生成するステップと、 キ一発行センタ (K D C ) において、 複数の エンティティの生成するサブ有効化キーブロック (サブ E K B ) を用いて、 選択 されたエンティティにおいてのみ復号可能な有効化キープロヅク (E K B ) を生 成するステップとを有する。
さらに、 本発明に係る.暗号鍵ブロックを用いた情報処理方法において、 複数の エンティティの各々は、 自己のエンティティに属するサブヅリーを構成するノ一 ド又はリーフに対応するキーの設定、 更新処理を実行する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 新規ェ ンティティを末端ノ一ドに追加する上位エンティティは、 新規エンティティのサ ブヅリーを設定するノードである上位エンティティ末端ノードに対応するキーを、 新規エンティティの頂点ノ一ド (サブルート) キーとして設定する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 新規追 加エンティティは、 新規エンティティ内のサブヅリ一内のノード又はリーフに対 応して設定されるキ一のみに基づくサブ有効化キーブロック (サブ E K B ) を生 成し、 キー発行センタ (K D C ) に対するサブ E K Bの登録処理を実行する。 さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 デバイ スのリボーク処理を実行するエンティティは、 エンティティ内の頂点ノード (サ ブルート) からリボーク ·デバイスに対応するリーフに至るパス上のノードに設 定されたノードキーを更新し、 更新ノードキーをリボークデバイス以外のリーフ デバイスにおいてのみ復号可能な暗号化キーとして構成した更新サブ E K Bを生 成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供し た末端ノードから自己のサブルートに至るパス上のノードキーを更新した更新サ ブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リボー クデバイスからルー卜に至るパス上のノードキー更新を行い、 キ一更新により生 成された更新サブ E K Bのキ一発行センタ (K D C ) への登録処理を行うことに より、 デバイスのリボーク処理を実行する。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 下位ェ ンティティのリボーク処理を実行するエンティティは、 エンティティ内の頂点ノ ード (サブルート) からリボーク 'エンティティに対応する未端ノードに至るパ ス上のノードに設定されたノードキーを更新した更新サブ E K Bを生成して上位 ェンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端ノー ドから自己のサブル一トに至るパス上のノードキーを更新した更新サブ E K Bを 生成してさらに上位エンティティに送信し、 最上位エンティティまで、 ェンティ ティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リボ一ク ·ェン ティティからルートに至るパス上のノ一ドキ一更新を行い、 キー更新により生成 された更新サブ E K Bのキー発行セン夕 (K D C ) への登録処理を行うことによ り、 エンティティ単位のリポーク処理を実行する。 , さらに、 本発明に係る暗号鍵ブロックを用いた情報処理方法において、 下位ェ ンティティのリボーク処理を実行するエンティティは、 エンティティ内の頂点ノ ード (サブルート) からリボーク .エンティティに対応する末端ノードに至るパ ス上の、 末端ノードを除くノードに設定されたノードキーを更新した更新サブ E K Bを生成して上位エンティティに送信し、 上位エンティティは更新サブ E K B を提供した末端ノードから自己のサブルートに至るパス上のノードキーを更新し た更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位ェンティ ティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行し て、 リボーク ·エンティティからルー卜に至るパス上のリボーク 'エンティティ に対応する末端ノードを除くノードキー更新を行い、 キー更新により生成された 更新サブ E K Bのキ一発行セン夕 (K D C ) への登録処理を行うことにより、 ェ ンティティ単位のリボーク処理を実行する。
さらに、 本発明に係るプログラム提供媒体は、 複数のデバイスをリーフとして 構成したヅリ—のルートからリーフまでのパス上のルート、 ノード、 及びリーフ に各々キーを対応付けたキーヅリーを構成し、 キーツリーを構成するパスを選択 して選択パス上のキー更新、 及び下位キーによる上位キーの暗号化処理を実行し て特定デバイスにおいてのみ復号可能な有効化キーブロック (E K B ) を生成し てデバイスに提供する情報処理システムにおける有効化キープロヅク ( E K B ) 生成処理をコンピュータ · システム上で実行せしめるコンピュータ · プログラム を提供する。 コンピュータ 'プログラムは、 キーツリ一を構成する部分ツリーと してのサブヅリーを管理する複数のエンティティにおいて、 サブツリーに属する ノード又はリーフに対応して設定されるキーのみに基づくサブ有効化キ一プロヅ ク (サブ E K B ) を生成するステップと、 キー発行セン夕 (K D C ) において、 複数のエンティティの生成するサブ有効化キーブロック (サブ E K B ) を用いて、 選択されたエンティティにおいてのみ復号可能な有効化キ一プロック (E K B ) を生成するステップとを含む。
本発明に係る暗号鍵ブロックを用いた情報処理システム及び情報処理方法では、 ツリー (木) 構造の階層的構造の暗号化鍵配信構成を用いることにより、 キ一更 新に必要な配信メッセージ量を小さく抑えている。 すなわち、 各機器を n分木の 各葉 (リーフ) に配置した構成の鍵配信方法を用い、 記録媒体若しくは通信回線 を介して、 例えばコンテンツデ一夕の暗号鍵であるコンテンツキー若しくは認証 処理に用いる認証キー、 あるいはプログラムコード等を有効化キープ口ヅクとと もに配信する構成としている。 このようにすることにより、 正当なデパイスのみ が復号可能なデ一夕を安全に配信することが可能となる。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システム及び方法では、 階層的鍵配信ヅリーを、 管理下のデバイスのデータ処理能力としてのケィパピリ ティに基づいて区分したサブヅリーとしてのエンティティで管理する構成として ケィパピリティに基づく鍵配信及び管理構成を実現している。
さらに、 本発明に係る暗号鍵プロックを用いた情報処理システム及び方法では、 階層的鍵配信ヅリーを共通要素を持つ部分集合としてのエンティティで管理する 構成として効率的な鍵配信及び管理構成を実現している。
なお、 本発明に係るプログラム提供媒体は、 例えば、 様々なプログラム · コー ドを実行可能な汎用コンピュータ 'システムに対して、 コンピュータ · プログラ ムをコンピュータ可読な形式で提供する媒体である。 媒体は、 C D F D、 M O などの記録媒体、 あるいは、 ネットワークなどの伝送媒体など、 その形態は特に 限定されない。
このようなプログラム提供媒体は、 コンピュータ · システム上で所定のコンビ ユー夕 · プログラムの機能を実現するための、 コンピュータ · プログラムと提供 媒体との構造上又は機能上の協働的関係を定義したものである。 換言すれば、 提 供媒体を介してコンピュータ · プログラムをコンピュータ 'システムにインスト —ルすることによって、 コンピュータ · システム上では協働的作用が発揮され、 本発明の他の側面と同様の作用効果を得ることができるのである。
本発明のさらに他の目的、 特徴や利点は、 後述する本発明の実施例や添付する 図面に基づくより詳細な説明によって明らかになるであろう。 図面の簡単な説明 図 1は、 本発明の情報処理システムの構成例を説明する図である。
図 2は、 本発明の情報処理システムにおいて適用可能な記録再生装置の構成例 を示すブロック図である。
図 3は、 本発明の情報処理システムにおける各種キー、 データの暗号化処理に ついて説明するヅリー構成図である。
図 4 A及び図 4 Bは、 本発明の情報処理システムにおける各種キー、 データの 配布に使用される有効化キープロヅク (E K B ) の例を示す図である。
図 5は、 本発明の情報処理システムにおけるコンテンツキーの有効化キープ口 ツク (E K B ) を使用した配布例と復号処理例を示す図である。
図 6は、 本発明の情報処理システムにおける有効化キ一プロヅク (E K B ) の フォーマヅト例を示す図である。
図 7 A乃至図 7 Cは、 本発明の情報処理システムにおける有効化キーブロック ( E K B ) のタグの構成を説明する図である。
図 8 A及び図 8 Bは、 本発明の情報処理システムにおける有効化キープ口ヅク ( E K B ) と、 コンテンツキ一、 コンテンヅを併せて配信するデ一夕構成例を示 す図である。 図 9は、 本発明の情報処理システムにおける有効化キーブロック (EKB) と、 コンテンツキー、 コンテンツを併せて配信した場合のデバイスでの処理例を示す 図である。
図 1 Qは、 本発明の情報処理システムにおける有効化キ一ブロック (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) の生成に使用する MAC値生成例を示す図であ る。
図 1 9は、 本発明の情報処理システムにおける有効化キ一ブロック (EKB) と、 I CV生成キーを併せて配信するデータ構成と、 デバイスでの処理例を示す 図 (その 1 ) である。 図 20は、 本発明の情報処理システムにおける有効化キープロヅク (EKB) と、 I CV生成キーを併せて配信するデ一夕構成と、 デバイスでの処理例を示す 図 (その 2 ) である。
図 2 1 A及び図 2 I Bは、 本発明の情報処理システムにおいて適用可能なコン テンッ ·ィンテグリティ 'チェヅク値 (I CV) をメディアに格納した場合のコ ピ一防止機能を説明する図である。
図 22は、 本発明の情報処理システムにおいて適用可能なコンテンツ ·ィンテ グリティ ·チヱツク値 (I CV) をコンテンツ格納媒体と別に管理する構成を説 明する図である。
図 23は、 本発明の情報処理システムにおける階層ツリー構造のカテゴリ分類 の例を説明する図であ.る。
図 24 A及び図 24Bは、 本発明の情報処理システムにおける簡略化有効化キ 一ブロック (EKB) の生成過程を説明する図である。
図 2 5 A及び図 25Bは、 本発明の情報処理システムにおける有効化キープ口 ヅク (EKB) の生成過程を説明する図である。
図 2 6 A及び図 26 Bは、 本発明の情報処理システムにおける簡略化有効化キ 一ブロック (EKB) (例 1 ) を説明する図である。
図 27 A乃至図 27 Cは、 本発明の情報処理システムにおける階層ヅリ一構造 のエンティティ管理構成について説明する図である。
図 28 A乃至図 28 Cは、 本発明の情報処理システムにおける階層ヅリー構造 のエンティティ管理構成の詳細について説明する図である。
図 29 A及び図 29 Bは、 本発明の情報処理システムにおける階層.ツリー構造 のエンティティ管理構成について説明する図である。
図 30は、 本発明の情報処理システムにおける階層ヅリ一構造のエンティティ 管理構成でのリザーブノードについて説明する図である。
図 3 1は、 本発明の情報処理システムにおける階層ツリー構造のエンティティ 管理構成での新規エンティティ登録処理シーケンスについて説明する図である。 図 32は、 本発明の情報処理システムにおける階層ヅリー構造のエンティティ 管理構成での新規エンティティと上位エンティティの関係について説明する図で ある。
図 3 3 A及び図 3 3 Bは、 本発明の情報処理システムにおける階層ヅリー構造 のエンティティ管理構成で用いるサブ E K Bについて説明する図である。
図 3 4 A乃至図 3 4 Dは、 本発明の情報処理システムにおける階層ッリー構造 のエンティティ管理構成でのデバイスリボーク処理について説明する図である。 図 3 5は、 本発明の情報処理システムにおける階層ツリー構造のエンティティ 管理構成でのデバイスリボーク処理シーケンスについて説明する図である。 図 3 6 A及び図 3 6 Bは、 本発明の情報処理システムにおける階層ツリー構造 のエンティティ管理構成でのデバイスリボーク時の更新サブ E K Bについて説明 する図である。
図 3 7 A乃至図 3 7 Dは、 本発明の情報処理システムにおける階層ッリー構造 のエンティティ管理構成でのエンティティ リポーク処理について説明する図であ る.。
図 3 8は、 本発明の情報処理システムにおける階層ヅリ一構造のエンティティ 管理構成でのエンティティ リボーク処理シーケンスについて説明する図である。 図 3 9は、 本発明の情報処理システムにおける階層ッリー構造のエンティティ 管理構成でのリボークェンティティと上位エンティティの関係について説明する 図である。
図 4 0は、 本発明の情報処理システムにおける階層ヅリー構造のエンティティ 管理構成でのケィパピリティ設定について説明する図である。
図 4 1は、 本発明の情報処理システムにおける階層ヅリー構造のエンティティ 管理構成でのケィパピリティ設定について説明する図である。
図 4 2 A及び図 4 2 Bは、 本発明の情報処理システムにおけるキー発行セン夕 ( K D C ) の管理するケィパピリティ管理テーブル構成を説明する図である。 図 4 3は、 本発明の情報処理システムにおけるキー発行セン夕 (K D C ) の管 理するケィパピリティ管理テーブルに基づく E K B生成処理フロー図である。 図 4 4は、 本発明の情報処理システムにおける新規エンティティ登録時のケィ パピリティ通知処理を説明する図である。 発明を実施するための最良の形態
[システム概要]
図 1に本発明のデータ処理システムが適用可能なコンテンツ配信システム例を 示す。 コンテンツの配信側 10は、 コンテンツ受信側 20の有する様々なコンテ ンヅ再生可能な機器に対してコンテンヅ、 あるいはコンテンツキーを暗号化して 送信する。 受信側 20における機器では、 受信した暗号化コンテンヅ、 あるいは 暗号化コンテンツキー等を復号してコンテンツあるいはコンテンツキーを取得し て、 画像デ一夕、 音声データの再生、 あるいは各種プログラムの実行等を行う。 コンテンツの配信側 1 0とコンテンツ受信側 20との間のデータ交換は、 ィン夕 一ネット等のネットワークを介して、 あるいは DVD、 CD等の流通可能な記憶 媒体を介して実行される。
コンテンツの配信側 1 0のデ一夕配信手段としては、 イン夕一ネヅト 1 1、 衛 星放送 1 2、 電話回線 1 3、 DVD、 CD等のメディア 14等があり、 一方、 コ ンテンヅ受信側 20のデバイスとしては、 パーソナルコンピュータ (PC) 2 1、 ポータブルデバイス (PD) 22、 携帯電話、 PDA (Personal Digital Assis tants) 等の携帯機器 23、 DVD, C Dプレーヤ等の記録再生器 24、 ゲ一ム端 末等の再生専用器 25等がある。 これらコンテンツ受信側 20の各デバイスは、 コンテンツ配信側 1 0から提供されたコンテンツをネットワーク等の通信手段あ るいは、 あるいはメディア 30から取得する。
[デバイス構成]
図 2に、 図 1に示すコンテンツ受信側 20のデバイスの一例として、 記録再生 装置 100の構成プロヅク図を示す。 記録再生装置 1 00は、 入出力 I /F (In terface) 1 20、 MPEG (Moving Picture Experts Group) コーデヅク 130、 A/D, D/Aコンパ一夕 141を備えた入出力 I /F (Interface) 140、 暗 号処理手段 1 50、 ROM (Read Only Memory) 1 60、 CPU (Central Proc essing Unit) 1 70、 メモリ 180、 記録媒体 1 95のドライブ 190を有し、 これらはバス 1 10によって相互に接続されている。
入出力 I/F 1 20は、 外部から供給される画像、 音声、 プログラム等の各種 コンテンッを構成するディジ夕ル信号を受信し、 バス 1 1 0上に出力するととも に、 バス 1 10上のディジタル信号を受信し、 外部に出力する。 MP EGコーデ ヅク 130は、 バス 1 1 0を介して供給される MP E G符号化されたデ一夕を、 MPEGデコードし、 入出力 I /F 140に出力するとともに、 入出力 I/F l 40から供給されるディジタル信号を MP E Gェンコ一ドしてバス 1 10上に出 力する。 入出力 I/F 140は、 A/D, D/ Aコンパ一夕 141を内蔵してい る。 入出力 I/F 140は、 外部から供給されるコンテンツとしてのアナログ信 号を受信し、 A/D, DZAコンバータ 14; [で A/D (Analog Digital) 変換 することで、 ディジタル信号として、 MP E Gコーデヅク 130に出力するとと もに、 MP E Gコーデヅク 1 30からのディジ夕ル信号を、 A/D, D/Aコン バータ 141で DZA (Digital Analog) 変換することで、 アナログ信号として、 外部に出力する。
暗号処理手段 1 50は、 例えば、 1チップの L S I (Large Scale Integrated Circuit) で構成され、 バス 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 1 70が実行するプログラ ムゃ、 CPU 170の動作上必要なデータ、 さらにデバイスによって実行される 暗号処理に使用されるキーセットを記憶する。 キーセッ 卜については後段で説明 する。 ドライブ 1 90は、 ディジタルデ一夕を記録再生可能な記録媒体 195を 駆動することにより、 記録媒体 195からディジタルデータを読み出し (再生 し) 、 バス 1 1 0上に出力するとともに、 バス 1 1 0を介して供給されるディジ タルデータを、 記録媒体 195に供給して記録させる。
記録媒体 19 5は、 例えば、 DVD、 CD等の光ディスク、 光磁気ディスク、 磁気ディスク、 磁気テープ、 あるいは RAM等の半導体メモリ等のディジタルデ —夕の記憶可能な媒体であり、 本実施の形態では、 ドライブ 1 90に対して着脱 可能な構成であるとする。 但し、 記録媒体 195は、 記録再生装置 1 00に内蔵 する構成としてもよい。
なお、 図 2に示す暗号処理手段 1 50は、 1つのワンチヅプ LS Iとして構成 してもよく、 また、 ソフトウェア、 ハードウェアを組み合わせた構成によって実 現する構成としてもよい。
[キ一配信構成としてのツリー (木) 構造について]
次に、 図 1に示すコンテンッ配信側 10からコンテンヅ受信側 20の各デバイ スに暗号データを配信する場合における各デバイスにおける暗号処理鍵の保有構 成及ぴデ一夕配信構成を図 3を用いて説明する。
図 3の最下段に示すナンパ 0〜 1 5がコンテンツ受信側 20の個々のデバイス である。 すなわち図 3に示す階層ツリー (木) 構造の各葉 (リーフ : leaf) がそ れそれのデバイスに相当する。
各デバイス 0〜 1 5は、 製造時あるいは出荷時、 あるいはその後において、 図 3に示す階層ヅリー (木) 構造における、 自分のリーフからルートに至るまでの ノードに割り当てられた鍵 (ノードキー) 及び各リーフのリ一フキ一からなるキ ーセヅトをメモリに格納する。 図 3の最下段に示す K 0000〜K 1 1 1 1が各 デバイス 0〜 1 5にそれそれ割り当てられたリーフキーであり、 最上段の KR (ルートキ一) から、 最下段から 2番目の節 (ノード) に記載されたキー: KR 〜Κ 1 1 1をノードキーとする。
図 3に示すツリー構成において、 例えばデバイス 0はリーフキー Κ 0000と、 ノードキー: K 000、 K 00、 K0、 KRを所有する。 デバイス 5は K 0 1 0 1、 K 0 1 0、 K 01、 K 0、 KRを所有する。 デバイス 1 5は、 K 1 1 1 1、 K i l ls K l l、 K l、 KRを所有する。 なお、 図 3のヅリ"にはデバイスが 0〜 1 5の 1 6個のみ記載され、 ツリー構造も 4段構成の均衡のとれた左右対称 構成として示しているが、 さらに多くのデバイスがツリー中に構成され、 また、 ヅリーの各部において異なる段数構成を持つことが可能である。
また、 図 3のツリー構造に含まれる各デバイスには、 様々な記録媒体、 例えば、 デバイス埋め込み型あるいはデバイスに着脱自在に構成された D V D、 C D、 M D、 フラッシュメモリ等を使用する様々なタイプのデバイスが含まれている。 さ らに、 様々なアプリケーションサービスが共存可能である。 このような異なるデ バイス、 異なるアブリケーシヨンの共存構成の上に図 3に示すコンテンツあるい は鍵配布構成である階層ッリ一構造が適用される。
これらの様々なデバイス、 アプリケーションが共存するシステムにおいて、 例 えば図 3の点線で囲んだ部分、 すなわちデバイス 0, 1, 2, 3を同一の記録媒 体を用いる 1つのグループとして設定する。 例えば、 この点線で囲んだグループ 内に含まれるデバイスに対しては、 まとめて、 共通のコンテンツを暗号化してプ 口バイダから送付したり、 各デバイス共通に使用するコンテンツキーを送付した り、 あるいは各デバイスからプロバイダあるいは決済機関等にコンテンツ料金の 支払デ一夕をやはり暗号化して出力するといつた処理が実行される。 コン.テンヅ プロバイダ、 あるいは決済処理機関等、 各デバイスとのデータ送受信を行う機関 は、 図 3の点線で囲んだ部分、 すなわちデバイス 0 , 1, 2 , 3を 1つのグルー プとして一括してデータを送付する処理を実行する。 このようなグループは、 図 3のツリー中に複数存在する。 コンテンツプロバイダ、 あるいは決済処理機関等、 各デバイスとのデータ送受信を行う機関は、 メツセ一ジデ一夕配信手段として機 能する。
なお、 ノードキー、 リーフキーは、 ある 1つの鍵管理セン夕によって統括して 管理してもよいし、 各グループに対する様々なデータ送受信を行うプロバイダ、 決済機関等のメッセージデ一夕配信手段によってグループ毎に管理する構成とし てもよい。 これらのノードキ一、 リーフキーは例えばキーの漏洩等の場合に更新 処理が実行され、 この更新処理は鍵管理セン夕、 プロバイダ、 決済機関等が実行 する。
このヅリー構造において、 図 3から明らかなように、 1つのグループに含まれ る 3つのデバイス 0, 1 , 2, 3はノードキーとして共通のキー K 0 0、 K 0、 K Rを保有する。 このノードキー共有構成を利用することにより、 例えば共通の コンテンツキ一をデバイス 0, 1 , 2 , 3のみに提供することが可能となる。 例 えば、 共通に保有するノードキー Κ 0 0自体をコンテンツキーとして設定すれば、 新たな鍵送付を実行することなくデバイス 0 , 1 , 2 , 3のみが共通のコンテン ツキ一の設定が可能である。 また、 新たなコンテンヅキー K c 0 nをノードキー K 00で暗号化した値 E n c (K 00 , Kc o n) を、 ネットワークを介してあ るいは記録媒体に格納してデバイス 0 , 1, 2 , 3に配布すれば、 デバイス 0,
1 , 2 , 3のみが、 それそれのデバイスにおいて保有する共有ノードキー K 00 を用いて暗号 Enc (K00, Kc o n) を解いてコンテンツキー: K c o nを 得ることが可能となる。 なお、 Enc (Ka, Kb) は Kbを K aによって暗号 化したデータであることを示す。
また、 ある時点 tにおいて、 デバイス 3の所有する鍵: K001 1 ,K 00 1, Κ 00,Κ 0,KR.が攻撃者 (ハヅカー) により解析されて露呈したことが発覚し た場合、 それ以降、 システム (デバイス 0, 1, 2, 3のグループ) で送受信さ れるデ一夕を守るために、 デバイス 3をシステムから切り離す必要がある。 その ためには、 ノードキー: K 00 1 ,Κ 00 ,Κ 0 ,KRをそれぞれ新たな鍵 Κ ( t ) 00 1 , K (七) 00,K (t ) Ο,Κ ( t ) Rに更新し、 デバイス 0, 1, 2にそ の更新キーを伝える必要がある。 ここで、 K ( t ) aaaは、 鍵 Ka a aの世代
(Generation) : tの更新キーであることを示す。
更新キーの配布処理について説明する。 キ一の更新は、 例えば、 図 4 Aに示す 有効化キーブロック (E KB : Enabling Key Block) と呼ばれるプロヅクデ一夕 によって構成されるテーブルを例えばネットワーク、 あるいは記録媒体に格納し てデバイス 0, 1, 2に供給することによって実行される。 なお、 有効化キープ ロック (EKB) は、 図 3に示すようなツリー構造を構成する各リーフに対応す るデバイスに新たに更新されたキーを配布するための暗号化キーによって構成さ れる。 有効化キーブロック (EKB) は、 キー更新プロヅク (KRB : Key Rene wal Block) と呼ばれることもある。
図 4 Aに示す有効化キープロヅク (EKB) には、 ノードキーの更新の必要な デバイスのみが更新可能なデ一夕構成を持つプロックデ一夕として構成される。 図 4 A及び図 4 Bの例は、 図 3に示すツリー構造中のデバ ス 0, 1 , 2におい て、 世代七の更新ノードキーを配布することを目的として形成されたプロヅクデ 一夕である。 図 3から明らかなように、 デバイス 0, デバイス 1は、 更新ノード キーとして K (七) 00、 K (七) 0、 Κ (t ) Rが必要であり、 デバイス 2は、 更新ノードキーとして K (七) 00 1、 K (t ) 00、 K ( t ) 0、 K ( t ) R が必要である。
, 図 4 Αの ΕΚΒに示されるように ΕΚΒには複数の暗号化キーが含まれる。 最 下段の暗号化キ一は、 Enc (K 00 1 0 , K ( t ) 00 1) である。 これはデ バイス 2の持つリーフキー K 00 10によって暗号化された更新ノードキー K
( t ) 001であり、 デバイス 2は、 自身の持つリーフキーによってこの暗号化 キーを復号し、 K (t) 001を得ることができる。 また、 復号により得た K
(七) 001を用いて、 図 4 Aの下から 2段目の暗号化キ一E n c (K ( t ) 0 01 , K ( t ) 00) を復号可能となり、 更新ノード.キ一 K (t) 00を得るこ とができる。 以下順次、 図 4 Aの上から 2段目の暗号化キー E n c (K ( t ) 0 0 , K (七) 0) を復号し、 更新ノードキー K (t) 0、 図 4Aの上から 1段目 の暗号化キー Enc (K (t) 0, K ( t ) R) を復号し K (t) Rを得る。 一 方、 デバイス K 0000. Κ000 1は、 ノードキー K 000は更新する対象に 含まれておらず、 更新ノードキーとして必要なのは、 Κ ( t ) 00、 K (t ) 0、 K ( t ) Rである。 デバイス K 0000. Κ000 1は、 図 4 Aの上から 3段目 の暗号化キー Enc (K 000 , K (t) 00) を復号し、 K (t) 00を取得 し、 以下、 図 4 Aの上から 2段目の暗号化キー E n c (K ( t ) 00, K ( t ) 0) を復号し、 更新ノードキー K (t) 0、 図 4 Aの上から 1段目の暗号化キー Enc (K (七) 0, K (t) R) を復号し K ( t ) Rを得る。 このようにして、 デバイス 0 , 1 , 2は更新した鍵 K ( t ) 00 1 , K ( t ) 00, K (t ) 0,K
(七) Rを得ることができる。 なお、 図 4Aのインデヅクスは、 復号キ一として 使用するノードキー、 リーフキーの絶対番地を示す。
図 3に示すツリー構造の上位段のノードキー: K (t ) 0,K (t ) Rの更新が 不要であり、 ノードキ一 K 00のみの更新処理が必要である場合には、 図 4Bの 有効化キーブロック (EKB) を用いることで、 更新ノードキ一K (七) 00を デバイス 0, 1 , 2に配布することができる。
図 4 Bに示す E K Bは、 例えば特定のグループにおいて共有する新たなコンテ ンッキーを配布する場合に利用可能である。 具体例として、 図 3に点線で示すグ ループ内のデバイス 0, 1, 2, 3がある記録媒体を用いており、 新たな共通の コンテンツキ一 K ( t ) c 0 nが必要であるとする。 このとき、 デバイス 0, 1 :
2, 3の共通のノードキ一 K 00を更新した K ( t ) 00を用いて新たな共通の 更新コンテンツキ一: K (七) c 0 ηを暗号化したデータ: E n c .(K (t) , Κ
( t ) c o n) を図 4 Bに示す E KBとともに配布する。 この配布により、 デバ ィス 4など、 その他のグループの機器においては復号されないデータとしての配 布が可能となる。
すなわち、 デバイス 0, 1 , 2は EKBを処理して得た K ( t ) 00を用いて 上記暗号文を復号すれば、 七時点でのコンテンツキー K ( t ) c onを得ること が可能になる。
[ E K Bを使用したコンテンヅキーの配布]
図 5に、 t時点でのコンテンヅキ一K ( t ) c o nを得る処理例として、 K (t ) 00を用いて新たな共通のコンテンツキー K ( t ) c onを暗号化したデ —夕 Enc (K (t) 00, K (t) c on) と図 4 Bに示す E K Bとを記録媒 体を介して受領したデバイス 0の処理を示す。 すなわち E KBによる暗号化メヅ セ一ジデ一夕をコンテンツキー K ( t ) c onとした例である。
図 5に示すように、 デバイス 0は、 記録媒体に格納されている世代: t時点の E KBと自分が予め格納しているノードキー K 000を用いて上述したと同様の E KB処理により、 ノードキ一 K ( t ) 00を生成する。 さらに、 復号した更新 ノードキー K ( t ) 00を用いて更新コンテンツキー K ( t ) c onを復号して、 後にそれを使用するために自分だけが持つリーフキ一 K 0000で暗号化して格 納する。
[E KBのフォーマツト]
図 6に有効化キープ口ヅク (E KB) のフォーマヅト例を示す。 バ一ジョン 6 0 1は、 有効化キーブロック (EKB) のバージョンを示す識別子である。 なお、 バージョンは最新の E K Bを識別する機能とコンテンツとの対応関係を示す機能 を持つ。 デプスは、 有効化キ一ブロック (EKB) の配布先のデバイスに対する 階層ツリーの階層数を示す。 デ一夕ポインタ 603は、 有効化キープロヅク (E KB) 中のデータ部の位置を示すポインタであり、 夕グポイン夕 604はタグ部 の位置、 署名ポインタ 605は署名の位置を示すポイン夕である。
データ部 606は、 例えば更新するノードキーを暗号化したデ一夕を格納する, 例えば図 5に示すような更新されたノードキ一に関する各暗号化キー等を格納す る。
夕グ部 607は、 デ一夕部に格納された暗号化されたノードキー、 リ一フキ一 の位置関係を示すタグである。 このタグの付与ルールを図 7 A乃至図 7 Bを用い て説明する。 図 7A乃至図 7Bでは、 デ一夕として先に図 4 Aで説明した有効化 キープロヅク (EKB) を送付する例を示している。 この時のデータは、 図 7 B に示すようになる。 このときの暗号化キーに含まれるトヅプノードのアドレスを トヅプノードアドレスとする。 この場合は、 ルートキ一の更新キー K (t ) Rが 含まれているので、 トップノードアドレスは KRとなる。 このとき、 例えば最上 段のデータ En c (K ( t ) 0 , K (t ) R) は、 図 7 Aに示す階層ツリーに示 す位置にある。 ここで、 次のデータは、 Enc (K ( t ) 00, K (七) 0) で あり、 ツリー上では前のデータの左下の位置にある。 データがある場合は、 タグ が 0、 ない場合は 1が設定される。 タグは {左 (L) 夕グ, 右 (R) タグ } とし て設定される。 最上段のデ一夕 Enc (K ( t ) 0 , K ( t ) R) の左にはデ一 夕があるので、 Lタグ =0、 右にはデータがないので、 Rタグ = 1となる。 以下、 全てのデ一夕にタグが設定され、 図 7 Cに示すデ一夕列、 及びタグ列が構成され る。
夕グは、 データ En c (Kxxx , Ky yy) がツリー構造のどこに位置して いるのかを示すために設定されるものである。 データ部に格納されるキ一デ一夕 Enc (Kxxx, Ky y y) . . . は、 単純に暗号化されたキ一の羅列データ に過ぎないので、 上述したタグによってデータとして格納された暗号化キーのヅ リ一上の位置を判別可能としたものである。 上述した夕グを用いずに、 先の図 4 A及び図 4 Bで説明した構成のように暗号化データに対応させたノード ·ィンデ ックスを用いて、 例えば、
0 : Enc (K ( ) 0, K ( t ) r o o t)
00 : Enc (K ( t ) 00, K ( t ) 0)
000 : En c (K ( (七) 000, K ( t ) 00) ) . . . のようなデータ構成とすることも可能であるが、 このようなインデック スを用いた構成とすると冗長なデ一夕となりデ一夕量が増大し、 ネットワークを 介する配信等においては好ましくない。 これに対し、 上述したタグをキ一位置を 示す索引データとして用いることにより、 少ないデ一夕量でキー位置の判別が可 能となる。
図 6に戻って、 EKBフォーマットについてさらに説明する。 署名 (Signatur e) は、 有効化キーブロック (EKB) を発行した例えば鍵管理センタ、 コンテン ヅプロバイダ、 決済機関等が実行する電子署名である。 E KBを受領したデバイ スは署名検証によって正当な有効化キーブロック (EKB) 発行者が発行した有 効化キープロヅク (EKB) であることを確認する。
[ E K Bを使用したコンテンツキー及びコンテンッの配信]
上述の例では、 コンテンヅキ一のみを E KBとともに送付する例について説明 したが、 コンテンヅキーで暗号化したコンテンヅと、 コンテンツキー暗号キーで 暗号化したコンテンツキーと、 E KBによって暗号化したコンテンツキ一暗号鍵 を併せて送付する構成について以下説明する。
図 8 A及び図 8 Bにこのデータ構成を示す。 図 8 Aに示す構成において、 E n c (K c on, c o nt e nt) 80 1は、 コンテンツ (Content) をコンテンツ キ一 (K c o n) で暗号化したデータであり、 En c (KEK, K c o n) 80 2は、 コンテンヅキー (K c o n) をコンテンヅキー暗号キー (KE K : Key En crypt ion Key) で暗号化したデ一夕であり、 En c (EKB, KE K) 803は、 コンテンツキー暗号キー ΚΕΚを有効化キープロヅク (ΕΚΒ) によって暗号化 したデ一夕であることを示す。
ここで、 コンテンツキー暗号キ一 ΚΕΚは、 図 3で示すノードキー (Κ 00 0, Κ 00···) 、 あるいはルートキ一 (KR) 自体であってもよく、 またノードキー (Κ 000, Κ 0 0 ···) 、 あるいはルートキー (KR) によって暗号化されたキ 一であってもよい。
図 8 Βは、 複数のコンテンツがメディアに記録され、 それそれが同じ Enc (EKB, KEK) 8 0 5を利用している場合の構成例を示す、 このような構成 においては、 各デ一夕に同じ Enc (EKB, KEK) を付加することなく、 E n c (E KB , KE K) にリンクするリンク先を示すデータを各データに付加す る構成とすることができる。
図 9にコンテンツキー暗号キー KE Kを、 図 3に示すノードキー K 00.を更新 した更新ノードキー K (七) 00として構成した場合の例を示す。 この場合、 図 3の点線枠で囲んだグループにおいてデバイス 3が、 例えば鍵の漏洩によりリポ —ク (排除) されているとして、 他のグループのメンバ、 すなわち、 デバイス 0, 1 , 2に対して図 9に示す有効化キープロヅク (EKB) と、 コンテンツキ一 (Kc o n) をコンテンツキー暗号キ一 (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 onを取得し、 さらにコンテンツキー K c o 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) を取得することがで きず、 正当な権利を有するデバイスのみがコンテンツを復号して利用することが 可能となる。
このように、 EKBを利用したコンテンヅキ一の配送を用いれば、 データ量を 少なく して、 かつ安全に正当権利者のみが復号可能とした暗号化コンテンツを配 信することが可能となる。
なお、 有効化キーブロック (EKB) 、 コンテンツキー、 暗号化コンテンヅ等 は、 ネットワークを介して安全に配信することが可能な構成であるが、 有効化キ 一ブロック (EKB) 、 コンテンツキ一、 暗号化コンテンツを D VD、 CD等の 記録媒体に格納してユーザに提供することも可能である。 この場合、 記録媒体に 格納された暗号化コンテンヅの復号には、 同一の記録媒体に格納された有効化キ 一ブロック (EKB) の復号により得られるコンテンツキーを使用するように構 成すれば、 予め正当権利者のみが保有するリーフキー、 ノードキーによってのみ 利用可能な暗号化コンテンツの配布処理、 すなわち利用可能なユーザデバイスを 限定したコンテンツ配布が簡易な構成で実現可能となる.。
図 1 0に記録媒体に暗号化コンテンヅとともに有効化キーブロック (EKB) を格納した構成例を示す。 図 1 0に示す例においては、 記録媒体にコンテンツ C .1〜C 4が格納され、 さらに各格納コンテンツに対応するの有効化キープ口ック (EKB) を対応付けたデータが格納され、 さらにバージョン Mの有効化キープ ロヅク (E KB— M) が格納されている。 例えば E KB— 1はコンテンツ C 1を 暗号化したコンテンツキー Kc 0 n 1を生成するのに使用され、 例えば EKB— 2はコンテンヅ C 2を暗号化したコンテンツキー K c 0 n 2を生成するのに使用 される。 この例では、 バ一ジョン Mの有効化キープロヅク (EKB— M) が記録 媒体に格納されており、 コンテンツ C 3, C4は有効化キーブロック (EKB— M) に対応付けられているので、 有効化キーブロック (EKB— M) の復号によ りコンテンツ C 3, C 4のコンテンツキ一を取得することができる。 EKB— 1、 E KB— 2はディスクに格納されていないので、 新たな提供手段、 例えばネッ ト ワーク配信、 あるいは記録媒体による配信によってそれぞれのコンテンヅキーを 復号するために必要な E KB— 1, E KB__2を取得することが必要となる。 図 1 1 A及び図 1 1 Bに、 複数のデバイス間でコンテンヅキーが流通する場合 の E KBを利用したコンテンツキーの配信と、 従来のコンテンツキー配信処理の 比較例を示す。 上段図 1 1 A従来構成であり、 下段図 1 1 Bが本発明の有効化キ 一プロヅク (EKB) を利用した例である。 なお、 図 1 1 A及び図 1 1 Bにおい て Ka (Kb) は、 Kbを Kaで暗号化したデ一夕であることを示す。 図 1 1 Aに示すように、 従来は、 デ一夕送受信者の正当性を確認し、 またデー 夕送信の暗号化処理に使用するセッションキー K s θ 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) を利用した例にお いては、 コンテンツプロバイダから有効化キ一プロヅク (EKB) と、 有効化キ —プロヅク (EKB) の処理によって得られるノードキー、 又はルートキーによ つてコンテンヅキー K c 0 nを暗号化したデ一夕 (図の例では Kr o o t (Kc o n) ) を配信することにより、 配信した E KBの処理が可能な機器においての みコンテンツキー K c 0 nを復号して取得することが可能になる。
したがって、 例えば図 1 1 Bの右端にのみ利用可能な有効化キーブロック (E KB) を生成して、 その有効化キーブロック (EKB) と、 その EKB処理によ つて得られるノードキー、 又はルートキ一によつてコンテンツキー K c onを暗 号化したデータを併せて送ることにより、 間に存在する P C、 再生機器等は、 自 身の有するリーフキ一、 ノードキーによっては、 E KBの処理を実行することが できない。 したがって、 データ送受信デバイス間での認証処理、 セッションキー の生成、 セヅシヨンキーによるコンテンツキ一K c 0 nの暗号化処理といった処 理を実行することなく、 安全に正当なデバイスに対してのみ利用可能なコンテン ツキ一を配信することが可能となる。
P C、 記録再生器にも利用可能なコンテンヅキーを配信したい場合は、 それそ れにおいて処理可能な有効化キーブロック (EKB) を生成して、 配信すること により、 共通のコンテンヅキーを取得することが可能となる。
[有効化キーブロック (EKB) を使用した認証キーの配信 (共通鍵方式) ] 上述の有効化キープロヅク (EKB) を使用したデ一夕あるいはキーの配信に おいて、 デバイス間で転送される有効化キーブロック (EKB) 及びコンテンツ あるいはコンテンヅキーは常に同じ暗号化形態を維持しているため、 デ一夕伝走 路を盗み出して記録し、 再度、 後で転送する、 いわゆるリ.プレイァ夕ヅクにより、 不正コピ一が生成される可能性がある。 これを防ぐ構成としては、 デ一夕転送デ バイス間において、 従来と同様の認証処理及び鍵交換処理を実行することが有効 な手段である。 ここでは、 この認証処理及び鍵交換処理を実行する際に使用する 認証キー K ak eを上述の有効化キープロヅク (EKB) を使用してデバイスに 配信することにより、 安全な秘密鍵として共有する認証キーを持ち、 共通鍵方式 に従った認証処理を実行する構成について説明する。 すなわち E KBによる暗号 化メ、ソセージデ一夕を認証キーとした例である。
図 12に、 共通鍵暗号方式を用いた相互認証方法 (IS0/IEC 9798-2) を示す。 図 1 2においては、 共通鍵暗号方式として DE Sを用いているが、 共通鍵暗号方 式であれば他の方式も可能である。 図 1 2において、 まず、 Bが 64ビッ トの乱 数 Rbを生成し、 R b及び自己の I Dである I D (b) を Aに送信する。 これを 受信した Aは、 新たに 64.ビヅ トの乱数 R aを生成し、 R a、 Rb、 I D (b) の順に、 DE Sの CB Cモードで鍵 Kabを用いてデータを暗号化し、 Bに返送 する。 なお、 鍵 Kabは、 A及ぴ Bに共通の秘密鍵としてそれそれの記録素子内 に格納する鍵である。 D E Sの C B 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は、 受信データを、 やはり共通の秘密鍵としてそれそれの記 録素子内に格納する鍵 K a b (認証キー) で復号化する。 受信データの復号化方 法は、 まず、 暗号文 E 1を認証キー Kabで復号化し、 乱数 R aを得る。 次に、 暗号文 E 2を認証キー K a bで複号化し、 その結果と E 1との排他的論理和を求 めて Rbを得る。 最後に、 暗号文 E 3を認証キー K a bで復号化し、 その結果と E 2との排他的論理和を求めて I D(b )を得る。 こうして得られた Ra、 Rb、 I D(b)の内、 Rb及び I D(b)が、 Bが送信したものと一致するか検証する。 この検証に通った場合、 Bは Aを正当なものとして認証する。
次に Bは、 認証後に使用するセヅシヨンキー (K s e s) を生成する (生成方 法は、 乱数を用いる) 。 そして、 Rb、 Ra、 Ks e sの順に、 DE Sの CB C モードで認証キー K a bを用いて暗号化し、 Aに返送する。
これを受信した Aは、 受信データを認証キー Kabで復号化する。 受信データ の復号化方法は、 Bの復号化処理と同様であるので、 ここでは詳細を省略する。 こうして得られた Rb、 Ra、 Ks e sの内、 !^ 及び!^ が、 Aが送信したも のと一致するか検証する。 この検証に通った場合、 Aは Bを正当なものとして認 証する。 互いに相手を認証した後には、 セヅシヨンキー K s e sは、 認証後の秘 密通信のための共通鍵として利用される。
なお、 受信データの検証の際に、 不正、 不一致が見つかった場合には、 相互認 証が失敗したものとして処理を中断する。
上述の認証処理においては、 A, Bは共通の認証キー K a bを共有する。 この 共通鍵 Kabを上述の有効化キ一ブロック (EKB) を使用してデバイスに配信 する。
例えば、 図 1 2の例では、 A, 又は: Bのいずれかが他方が復号可能な有効化キ —ブロック (EKB) を生成して生成した有効化キ一プロヅク (EKB) によつ て認証キー Kabを暗号化して、 他方に送信する構成としてもよいし、 あるいは 第 3者がデバイス A, Bに対して双方が利用可能な有効化キーブロック (EK B) を生成してデバイス A, Bに対して生成した有効化キーブロック (EKB) によって認証キー K a bを暗号化して配信する構成としてもよい。
図 1 3及び図 14に複数のデバイスに共通の認証キー Kak eを有効化キープ ロヅク (EKB) によって配信する構成例を示す。 図 1 3はデバイス 0, 1 , 2 : 3に対して復号可能な認証キー K ak eを配信する例、 図 14はデバイス 0, 1 : 2 , 3中のデバイス 3をリポーク (排除) してデバイス 0 , 1, 2に対してのみ 復号可能な認証キーを配信する例を示す。
図 13の例では、 更新ノードキー K ( t ) 00によって、 認証キ一 K ak eを 暗号化したデ一夕とともに、 デバイス 0, 1 , 2, 3においてそれそれの有する ノードキー、 リーフキーを用いて更新されたノードキー K ( t ) 00を復号可能 な有効化キーブロック (EKB) を生成して配信する。 それぞれのデバイスは、 図 1 3の右側に示すようにまず、 E KBを処理 (復号) することにより、 更新さ れたノードキー K (t) 00を取得し、 次に、 取得したノードキー K (t ) 00 を用いて暗号化された認証キー: Enc (K (t ) 00, K a k e) を復号して 認証キー K a k eを得ることが可能となる。
その他のデバイス 4, 5 , 6, 7…は同一の有効化キープロヅク (EKB) を 受信しても自身の保有するノードキ一、 リーフキーでは、 EKBを処理して更新 されたノードキー K ( t ) 00を取得することができないので、 安全に正当なデ バイスに対してのみ認証キーを送付することができる。
一方、 図 14の例は、 図 3の点線枠で囲んだグループにおいてデバイス 3が、 例えば鍵の漏洩によりリボーク (排除) されているとして、 他のグループのメン ノ すなわち、 デバイス 0, 1, 2に対してのみ復号可能な有効化キーブロック (E KB) を生成して配信した例である。 図 14に示す有効化キ一プロヅク (E KB) と、 認証キ一 (Kake) をノードキー (K ( t ) 00) で暗号化したデ 一夕を配信する。
図 14の右側には、 復号手順を示してある。 デバイス 0, 1 , 2は、 まず、 受 領した有効化キープ口ヅクから自身の保有するリーフキー又はノードキーを用い た復号処理により、 更新ノードキー (K ( t ) 00) を取得する。 次に、 K ( t ) 00による復号により認証キー K a k Θを取得する。
図 3に示す他のグループのデバイス 4, 5, 6···は、 この同様のデータ (ΕΚ B) を受信したとしても、 自身の保有するリーフキー、 ノードキーを用いて更新 ノードキー (K ( t ) 00) を取得することができない。 同様にリボークされた デバイス 3においても、 自身の保有するリーフキー、 ノードキーでは、 更新ノー ドキー (K ( t ) 00) を取得することができず、 正当な権利を有するデバイス. のみが認証キーを復号して利用することが可能となる。
このように、 EKBを利用した認証キーの配送を用いれば、 デ一夕量を少なく 'して、 かつ安全に正当権利者の.みが復号可能とした認証キーを配信することが可 能となる。
[公開鍵認証と有効化キーブロック (EKB) を使用したコンテンツキーの配 信]
次に、 公開鍵認証と有効化キープロヅク (EKB) を使用したコンテンツキー の配信処理について説明する。 まず、 公開鍵暗号方式である 1 60ビット長の楕 円曲線暗号を用いた相互認証方法を、 図 1 5を用いて説明する。 図 1 5において、 公開鍵暗号方式として E C Cを用いているが、 同様な公開鍵暗号方式であればい ずれでもよい。 また、 鍵サイズも 1 60ビットでなくてもよい。 図 1 5において、 まず Bが、 64ビヅ トの乱数 Rbを生成し、 Aに送信する。 これを受信した Aは、 新たに 64ビヅトの乱数 R a及び素数 より小さい乱数 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、 Rb、 Av、 電子署名 Α. 31 を受信した:8は、 Aが送信してきた Rbが、 Bが生成したものと一致するか検証する。 その結果、 一致していた場合には、 Aの公開鍵証明書内の電子署名を認証局の公鬨鍵で検証 し、 Aの公開鍵を取り出す。 そして、 取り出した Aの公開鍵を用い電子署名 A. S i gを検証する。
次に、 Bは、 素数 ρより小さい乱数 B kを生成する。 そして、 ベースポイント Gを B k倍した点 B v = B k X Gを求め、 Rb、 R a、 B v (X座標と Y座標) に対する電子署名 B. S i gを生成し、 Bの公鬨鍵証明書とともに Aに返送する <
Bの公開鍵証明書、 Rb、 Ra、 Av、 電子署名 B. S i gを受信した Αは、 Bが送信してきた R aが、 Aが生成したものと一致するか検証する。 その結果、 —致していた場合には、 Bの公開鍵証明書内の電子署名を認証局の公開鍵で検証 し、 Bの公鬨鍵を取り出す。 そして、 取り出した Bの公鬨鍵を用い電子署名 B . S i gを検証する。 電子署名の検証に成功した後、 Aは Bを正当なものとして認 証する。
両者が認証に成功した場合には、 Bは BkxAv (Bkは乱数だが、 Avは楕 円曲線上の点であるため、 楕円曲線上の点のスカラー倍計算が必要) を計算し、 Αは Ak X B Vを計算し、 これら点の X座標の下位 64ビヅ トをセヅシヨンキー として以降の通信に使用する (共通鍵暗号を 64ビット鍵長の共通鍵暗号とした 場合) 。 もちろん、 Y座標からセヅシヨン鍵を生成してもよいし、 下位 64ビヅ トでなくてもよい。 なお、 相互認証後の秘密通信においては、 送信デ一タはセヅ ションキ一で暗号化されるだけでなく、 電子署名も付されることがある。
電子署名の検証や受信デ一夕の検証の際に、 不正、 不一致が見つかった場合に は、 相互認証が失敗したものとして処理を中断する。
図 1 6に公開鍵認証と有効化キープロヅク (EKB) を使用したコンテンツキ 一の配信処理例を示す。 まずコンテンヅプロバイダと P C間において図 1 5で説 明した公鬨鍵方式による認証処理が実行される。 コンテンツプロバイダは、 コン テンツキ一配信先である再生装置、 記録媒体の有するノードキー、 リーフキ一に よって復号可能な E KBを生成して、 更新ノードキ一による暗号化を実行したコ ンテンヅキ一 E (K c 0 n) と、 有効化キーブロック (EKB) とを P C間の認 証処理において生成したセッションキ一 K s e sで暗号化して P Cに送信する。
P Cはセヅシヨンキーで暗号化された [更新ノードキーによる暗号化を実行し たコンテンヅキー E (K c on) と、 有効化キーブロック (EKB) ] をセヅシ ヨンキーで復号した後、 再生装置、 記録媒体に送信する。
再生装置、 記録媒体は、 自身の保有するノードキー又はリーフキーによって [更新ノードキーによる暗号化を実行したコンテンツキー E (Kc o n) と、 有 効化キーブロック (EKB) ] を復号することによってコンテンツキー K c 0 n を取得する。
この構成によれば、 コンテンツプロバイダと P C間での認証を条件として [更 新ノードキ一による暗号化を実行したコンテンツキー E (Kc on) と、 有効化 キーブロック (EKB) ] が送信されるので、 例えば、 ノードキーの漏洩があつ た場合でも、 確実な相手に対するデ一夕送信が可能となる。
[プログラムコードの有効化キ一ブロック (EKB) を使用した配信] 上述した例では、 コンテンツキー、 認証キー等を有効化キ一プロック (EK B) を用いて暗号化して配信する方法を説明したが、 様々なプログラムコードを 有効化キーブロック (EKB) を用いて配信する構成も可能である。 すなわち E KBによる暗号化メヅセージデータをプログラムコードとした例である。 以下、 この構成について説明する。
図 1 7にプログラムコード.を有効化キーブロック (EKB) の例えば更新ノー ドキーによって暗号化してデバイス間で送信する例を示す。 デバイス 1 70 1は、 デバイス 1 702の有するノードキ一、 リーフキーによって復号可能な有効化キ 一ブロック (EKB) と、 有効化キープロヅク (EKB) に含まれる更新ノード キーで暗号処理したプログラムコ一ドをデバイス 1 702に送信する。 デバイス 1702は受信した E KBを処理して更新ノードキーを取得して、 さらに取得し た更新ノードキーによってプログラムコードの復号を実行して、 プログラムコー ドを得る。
図 1 7に示す例では、 さらに、 デバイス 1702において取得したプログラム コードによる処理を実行して、 その結果をデバイス 170 1に返して、 デバイス 170 1がその結果に基づいて、 さらに処理を続行する例を示している。
このように有効化キ一プロヅク (EKB) と、 有効化キーブロック (EKB) に含まれる更新ノードキーで暗号処理したプログラムコードを配信することによ り、 特定のデバイスにおいて解読可能なプログラムコードを前述の図 3で示した 特定のデバイス、 あるいはグループに対して配信することが可能となる。
[送信コンテンツに対するチヱック値 (I CV: Integrity Check Value) を対 応させる構成]
次に、 コンテンツの改竄を防止するためにコンテンツのインテグリティ 'チェ ヅク値 (I CV) を生成して、 コンテンヅに対応付けて、 I CVの計算により、 コンテンヅ改竄の有無を判定する処理構成について説明する。
コンテンヅのィンテグリティ ·チェック値 (I CV) は、 例えばコンテンツに 対するハッシュ関数を用いて計算され、 I CV = ha s h (K i e v; C I , C 2, ···) によって計算される。 K i c Vは I C V生成キーである。 C l, C 2は コンテンツの情報であり、 コンテンツの重要情報のメヅセージ認証符号 (MAC : Message authentication Code) が使用される。
DE S暗号処理構成を用いた MAC値生成例を図 18に示す。 図 18の構成に 示すように対象となるメッセージを 8バイ ト単位に分割し、 (以下、 分割された メッセージを M l、 M2、 . . ·、 MNとする) 、 まず、 初期値 (Initial Valu e (以下、 I Vとする) ) と M 1との排他的論理和を求める (その結果を I 1とす る) 。 次に、 I 1を D E S暗号化部に入れ、 鍵 (以下、 K 1とする) を用いて暗 号化する (出力を E 1とする) 。 続けて、 E 1と. M2との排他的論理和を求め、 その出力 I 2を D E S暗号化部へ入れ、 鍵 K 1を用いて暗号化する (出力 E 2 ) 。 以下、 これを繰り返し、 全てのメッセージに対して暗号化処理を施す。 最後に出 てきた E Nがメッセージ認証符号 (MAC (Message Authentication Code) ) と なる。
このようなコンテンツの MAC値と I CV生成キーにハッシュ関数を適用して 用いてコンテンヅのインテグリティ 'チェヅク値 (I CV) が生成される。 改竄 のないことが保証された例えばコンテンッ生成時に生成した I C Vと、 新たにコ ンテンヅに基づいて生成した I CVとを比較して同一の I CVが得られればコン テンヅに改竄のないことが保証され、 I CVが異なれば、 改竄があつたと判定さ れる。
[チヱック値 (I CV) の生成キー K i c Vを E KBによって配布する構成] 次に、 コンテンツのィンテグリティ 'チェヅク値 (I CV) 生成キーである K i c Vを上述の有効化キープ口ヅクによって送付する構成について説明する。 す なわち E KBによる暗号化メッセージデ一夕をコンテンツのインテグリティ ·チ ェヅク値 ( I CV) 生成キーとした例である。
図 19及び図 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 ) 00によって、 チェック値生成キー K i c Vを暗号化したデ一夕とともに、 デバイス 0, 1, 2, 3においてそれそ れの有するノードキー、 リーフキ一を用いて更新されたノードキー K ( t ) 00 を復号可能な有効化キープロヅク (EKB) を生成して配信する。 それそれのデ バイスは、 図 1 9の右側に示すようにまず、 EKBを処理 (復号) することによ り、 更新されたノードキー K (七) 0 0を取得し、 次に、 取得したノードキー K ( t ) 0 0を用いて暗号化されたチェック値生成キー: E n c (K. ( t ) 00, K i e v) を復号してチヱヅク値生成キー K i c vを得ることが可能となる。 その他のデバイス 4, 5 , 6 , 7…は同一の有効化キ一ブロック (EKB) を 受信しても自身の保有するノードキー、 リーフキーでは、 EKBを処理して更新 されたノードキー K ( t ) 00を取得することができないので、 安全に正当なデ バイスに対してのみチェヅク値生成キーを送付することができる。
一方、 図 20の例は、 図 3の点線枠で囲んだグループにおいてデバイス 3が、 例えば鍵の漏洩によりリボーク (排除) されているとして、 他のグループのメン ノ すなわち、 デバイス 0, 1, 2に対してのみ復号可能な有効化キ一ブロック (EKB) を生成して配信した例である。 図 2 0に示す有効化キープロヅク (E KB) と、 チヱヅク値生成キー (K i e v) をノードキー (K ( t ) 00) で暗 号化したデータを配信する。
図 2 0の右側には、 復号手順を示してある。 デバイス 0 , 1, 2は、 まず、 受 領した有効化キープ口ックから自身の保有するリーフキ一又はノードキーを用い た復号処理により、 更新ノードキー (K (七) 00) を取得する。 次に、 K (七) 0 0による復号によりチェヅク値生成キー K i c Vを取得する。
図 3に示す他のグループのデバイス 4 , 5, 6…は、 この同様のデータ (EK B) を受信したとしても、 自身の保有するリーフキ一、 ノードキーを用いて更新 ノードキー (K ( ) 00) を取得することができない。 同様にリボークされた デバイス 3においても、 自身の保有するリーフキー、 ノードキーでは、 更新ノー ドキー (K (t ) 00) を取得することができず、 正当な権利を有するデバイス のみがチヱック値生成キ一を復号して利用することが可能となる。
このように、 E KBを利用したチヱヅク値生成キーの配送を用いれば、 データ 量を少なく して、 かつ安全に正当権利者のみが復号可能としたチェック値生成キ 一を配信することが可能となる。
このようなコンテンヅのインテグリティ 'チェック値 (I CV) を用いること により、 EKBと暗号化コンテンツの不正コピーを排除することができる。 例え ば図 2 1 A及び図 2 1 Bに示すように、 コンテンツ C 1とコンテンツ C 2とをそ れそれのコンテンツキーを取得可能な有効化キーブロック (EKB) とともに格 納したメディア 1があり、 これをそのままメディア 2にコピーした場合を想定す る。 E KBと暗号化コンテンツのコピーは可能であり、 これを EKBを復号可能 なデバイスでは利用できることになる。
図 2 1 Bに示すように各メディアに正当に格納されたコンテンツに対応付けて インテグリティ 'チェック値 (I CV (C 1 , C 2 ) ) を格納する構成とする。 なお、 (I C V (C 1 , C 2) ) は、 コンテンツ C 1とコンテンヅ C 2にハヅシ ュ闋数を用いて計算されるコンテンツのィンテグリティ ·チェヅク値である I C V = h a s h (K i e v, C I , C 2 ) を示している。 図 2 1 Bの構成において、 メディア 1には正当にコンテンツ 1 とコンテンツ 2が格納され、 コンテンツ C 1 とコンテンヅ C 2に基づいて生成されたィンテグリティ ·チェヅク値 (I CV (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 C Vの一致を判別し、 一致しない 場合は、 再生を実行しない構成とすることにより、 不正コピーのコンテンツの再 生を防止することが可能となる。
また、 さらに、 安全性を高めるため、 コンテンヅのインテグリティ ·チェック 値 (I CV) を書換カウン夕を含めたデータに基づいて生成する構成としてもよ レ、。 すなわち I C V = h a s h (Ki e v, c ount e r+ 1 , C l, C 2 , ···) によって計算する構成とする。 ここで、 カウン夕 (c ount 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の安全な管理及びコンテンヅの改竄チェックが可能となる。
この構成例を図 22に示す。 図 22では読出専用メディアや通常の MO等のコ ピー防止策のとられていないメディア 2201にコンテンヅが格納され、 これら のコンテンツに関するインテグリティ 'チェック値 (I CV) を、 ユーザが自由 にアクセスすることの許可されないホストマシン上の安全なメディア 2202に 格納し、 ユーザによる不正なィンテグリティ 'チェヅク値 (I CV) の書換を防 止した例である。 このような構成として、 例えばメディア 22 0 1を装着したデ バイスがメディア 2201の再生を実行する際にホストマシンである P C、 サ一 バにおいて I CVのチェックを実行して再生の可否を判定する構成とすれば、 不 正なコピーコンテンツあるいは改竄コンテンツの再生を防止できる。
[階層ヅリー構造のカテゴリ分類]
暗号鍵をルートキー、 ノードキ一、 リーフキー等、 図 3の階層ツリー構造とし て構成し、 コンテンツキー、 認証キー、 I C V生成キー、 あるいはプログラムコ ード、 デ一夕等を有効化キープロヅク (E K B ) とともに暗号化して配信する構 成について説明してきたが、 ノードキ一等を定義している階層ヅリ一構造を各デ バイスのカテゴリ毎に分類して効率的なキー更新処理、 暗号化キー配信、 デ一夕 配信を実行する構成について、 以下説明する。
図 2 3に階層ツリー構造のカテゴリの分類の一例を示す。 図 2 3において、 階 層ツリー構造の最上段には、 ルートキー K r o 0 t 2 3 0 1が設定され、 以下の 中間段にはノードキー 2 3 0 2が設定され、 最下段には、 リーフキ一 2 3 0 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に示すようにカテゴリ [メモリスティック] ノー ド 2 3 0 5の 2段下のノードに、 メモリスティヅクを使用したデバイスのカテゴ リに含まれるサブカテゴリノードとして、 [再生専用器] のノードを設定する。 さらに、 サブカテゴリノードである再生専用器のノ一ド 2 3 0 6以下に、 再生専 用器のカテゴリに含まれる音楽再生機能付き電話のノ一ド 2 3 0 7が設定され、 さらにその下位に、 音楽再生機能付き電話のカテゴリに含まれる [PHS] ノー ド 2308と [携帯電話] ノード 2309を設定することができる。
さらに、 カテゴリ、 サブカテゴリは、 デバイスの種類のみならず、 例えばある メーカー、 コンテンツプロバイダ、 決済機関等が独自に管理するノード、 すなわ ち処理単位、 管轄単位、 あるいは提供サービス単位等、 任意の単位 (これらを総 称して以下、 エンティティと呼ぶ) で設定することが可能である。 例えば 1つの カテゴリノードをゲーム機器メーカ一の販売するゲーム機器 XYZ専用の頂点ノ ードとして設定すれば、 メ一力一の販売するゲーム機器 X Y Zにその頂点ノ一ド 以下の下段のノードキー、 リーフキ一を格納して販売することが可能となり、 そ の後、 暗号化コンテンツの配信、 あるいは各種キーの配信、 更新処理を、 その頂 点ノードキー以下のノードキー、 リーフキーによって構成される有効化キープ口 ヅク (EKB) を生成して配信し、 頂点ノード以下のデバイスに対してのみ利用 可能なデータが配信可能となる。
このように、 1つのノードを頂点としして、 以下のノードをその頂点ノードに 定義されたカテゴリ、 あるいはサブカテゴリの関連ノードとして設定する構成と することにより、 カテゴリ段、 あるいはサブカテゴリ段の 1つの頂点ノードを管 理するメ一カー、 コンテンップロバイダ等がそのノードを頂点とする有効化キー ブロック (EKB) を独自に生成して、 頂点ノード以下に属するデバイスに配信 する構成が可能となり、 頂点ノードに属さない他のカテゴリのノードに属するデ バイスには全く影響を及ぼさずにキー更新を実行することができる。
[簡略 E KBによるキー配信構成]
先に説明した例えば図 3のツリー構成において、 キー、 例えばコンテンツキー を所定デバイス (リーフ) 宛に送付する場合、 キー配布先デバイスの所有してい るリーフキ一、 ノードキーを用いて復号可能な有効化キ一ブロック (EKB) を 生成して提供する。 例えば図 24 Aに示すヅリー構成において、 リーフを構成す るデバイス a, g, jに対してキー、 例えばコンテンツキ一を送信する場合、 a: g, jの各ノードにおいて復号可能な有効化キーブロック (EKB) を生成して 配信する。
例えば更新ルートキー K ( t ) r 00 tでコンテンツキー K ( t ) c onを暗 号化処理し、 E KBとともに配信する場合を考える。 この場合、 デバイス a, g. jは、 それぞれが図 24 Bに示すリーフ及びノードキーを用いて、 E KBの処理 を実行して K ( t ) r o o tを取得し、 取得した更新ルートキー K ( t ) r 0 0 tによってコンテンヅキー K (七) c 0 ηの復号処理を実行してコンテンツキー を得る。
この場合に提供される有効化キープロヅク (ΕΚΒ) の構成は、 図 25Α及び 図 25 Βに示すようになる。 図 25 Α及び図 25 Bに示す有効化キ一ブロック (EKB) は、 先の図 6で説明した有効化キーブロック (EKB) のフォーマヅ トに従って構成されたものであり、 データ (暗号化キー) と対応するタグとを持 つ。 タグは、 先に図 7 A乃至図 7 Cを用いて説明したように左 (L) 、 右 (R) 、 それぞれの方向にデータがあれば 0、 無ければ 1を示している。
有効化キーブロック (EKB) を受領したデバイスは、 有効化キーブロック (EKB) の暗号化キーとタグに基づいて、 順次暗号化キーの復号処理を実行し て上位ノードの更新キーを取得していく。 図 25 A及び図 25 Bに示すように、 有効化キープロヅク (EKB) は、 ルートからリーフまでの段数 (デブス) が多 レ、ほど、 そのデ一夕量は増加していく。 段数 (デブス) は、 デバイス (リーフ) 数に応じて増大するものであり、 キーの配信先となるデバイス数が多い場合は、 E KBのデ一夕量がさらに増大することになる。
このような有効化キーブロック (EKB) のデ一夕量の削減を可能とした構成 について説明する。 図 26 A及び図 26 Bは、 有効化キ一プロヅク (EKB) を キー配信デバイスに応じて簡略化して構成した例を示すものである。
図 25 A及び図 26 Bと同様、 リーフを構成するデバイス a, g , jに対して キ一、 例えばコンテンツキーを送信する場合を想定する。 図 26Aに示すように、 キー配信デバイスによってのみ構成されるツリーを構築する。 この場合、 図 24 Bに示す構成に基づいて新たなッリー構成として図 26 Bのッリー構成が構築さ れる。 K r o o七から K jまでは全く分岐がなく 1つの枝のみが存在すればよく、 Kr o o tから K a及び K gに至るためには、 K 0に分岐点を構成するのみで、 2分岐構成の図 2 6 Aのツリーが構築される。
図 26 Aに示すように、 ノードとして K 0のみを持つ簡略化したッリ一が生成 される。 更新キー配信のための有効化キープロヅク (EKB) は、 これらの簡略 ヅリーに基づいて生成する。 図 26Aに示すヅリ一は、 有効化キーブロック (E KB) を復号可能な末端ノード又はリーフを最下段とした 2分岐型ヅリーを構成 するパスを選択して不要ノードを省略することにより再構築される再構築階層ッ リーである。 更新キー配信のための有効化キープロヅク (EKB) は、 この再構 築階層ヅリーのノ一ド又はリーフに対応するキーのみに基づいて構成される。 先の図 25 A及び図 25 Bで説明した有効化キーブロック (EKB) は、 各リ 一 7 a, , jから K r o o tに至るまでの全てのキーを暗号化したデータを格 納していたが、 簡略化 EKBは、 簡略化したヅリーを構成するノードについての みの暗号化データを格納する。 図 26 Bに示すようにタグは 3ビット構成を有す る。 第 1及び第 2ビヅ トは、 図 25A及び図 25 Bの例と、 同様の意味を持ち、 左 (L) 、 右 (R) 、 それぞれの方向にデータがあれば 0、 無ければ 1を示す。 第 3番目のビットは、 E KB内に暗号化キーが格納されているか否かを示すため のビヅ トであり、 デ一夕が格納されている場合は 1、 データが無い場合は、 0と して設定される。
データ通信網、 あるいは記憶媒体に格納されてデバイス (リーフ) に提供され る有効化キ一ブロック (EKB) は、 図 26 Bに示すように、 図 25 A及び図 2 5 Bに示す構成に比較すると、 デ一夕量が大幅に削減されたものとなる。 図 26 B及び図 2 6 Bに示す有効化キ一ブロック (EKB) を受領した各デバイスは、 タグの第 3ビットに 1が格納された部分のデータのみを順次復号することにより、 所定の暗号化キーの復号を実現することができる。 例えばデバイス aは、 暗号化 データ Enc (Ka, K (t) 0) をリーフキー K aで復号して、 ノードキー K (t ) 0を取得して、 ノードキー K (t ) 0によって暗号化デ一夕 E n c (K (七) 0 , K (七) r o o t) を復号して K ( t ) r o o tを取得する。 デバイ ス jは、 暗号化データ Enc (Kj, K ( t ) r o o t) をリーフキー K jで復 号して、 K (t) r o o tを取得する。
このように、 配信先のデバイスによってのみ構成される簡略化した新たなッリ —構成を構築して、 構築されたッリーを構成するリーフ及びノードのキーのみを 用いて有効化キープロヅク (EKB) を生成することにより、 少ないデ一夕量の 有効化キーブロック (EKB) を生成することが可能となり、 有効化キーブロヅ ク (EKB) のデータ配信が効率的に実行可能となる。
なお、 簡略化した階層ツリー構成は、 後段で説明するエンティティ単位の EK B管理構成において特に有効に活用可能である。 エンティティは、 キー配信構成 としてのヅリー構成を構成するノードあるいはリーフから選択した複数のノード あるいはリーフの集合体ブロックである。 エンティティは、 デバイスの種類に応 じ t設定される集合であったり、 あるいはデバイス提供メーカ一、 コンテンツプ ロバイダ、 決済機関等の管理単位等、 ある共通点を持った処理単位、 管轄単位、 あるいは提供サービス単位等、 様々な態様の集合として設定される。 1つのェン ティティには、 ある共通のカテゴリに分類されるデバイスが集まっており、 例え ば複数のエンティティの頂点ノード (サブルート) によって上述したと同様の簡 略化したッリ一を再構築して EKBを生成することにより、 選択されたェンティ ティに属するデバイスにおいて復号可能な簡略化された有効化キープ口ヅク (E KB) の生成、 配信が可能となる。 エンティティ単位の管理構成については後段 で詳細に説明する。
なお、 このような有効化キーブロック (EKB) は、 光ディスク、 DVD等の 情報記録媒体に格納した構成とすることが可能である。 例えば、 上述の暗号化キ ーデ一夕によって構成されるデ一夕部と、 暗号化キーデ一夕の階層ヅリー構造に おける位置識別データとしてのタグ部とを含む有効化キーブロック (EKB) に さらに、 更新ノードキーによって暗号化したコンテンツ等めメヅセージデ一夕と を格納した情報記録媒体を各デバイスに提供する構成が可能である。 デバイスは 有効化キ一プロヅク (EKB) に含まれる暗号化キ一データをタグ部の識別デー 夕に従って順次抽出して復号し、 コンテンツの復号に必要なキ一を取得してコン テンヅの利用を行うことが可能となる。 もちろん、 有効化キーブロック (EK B) をインターネヅト等のネヅ トワークを介して配信する構成としてもよい。
[エンティティ単位の E KB管理構成]
次に、 キー配信構成としてのヅリー構成を構成するノードあるいはリーフを、 複数のノードあるいはリーフの集合としてのプロヅクで管理する構成について説 明する。 なお、 複数のノードあるいはリーフの集合としてのブロックを以下ェン ティティと呼ぶ。 エンティティは、 デバイスの種類に応じて設定される集合であ つたり、 あるいはデバイス提供メーカー、 コンテンツプロバイダ、 決済機関等の 管理単位等、 ある共通点を持った処理単位、 管轄単位、 あるいは提供サービス単 位等、 様々な態様の集合として設定される。 すなわち、 エンティティは、 デバイ ス種類、 サービス種類、 管理手段種類等の共通のカテゴリに属するデバイスある いはエンティティの管理主体として定義される。
エンティティについて、 図 2 7 A乃至図 27 Cを用いて説明する。 図 27 Aは ヅリーのエンティティ単位での管理構成を説明する図である。 1つのェンティテ ィは図では、 三角形として示し、 例えば 1エンティティ 2 70 1内には、 複数の ノードが含まれる。 1エンティティ内のノード構成を示すのが図 2 7 Bである。 1つのエンティティは、 1つのノードを頂点とした複数段の 2分岐形ツリーによ つて構成される。 以下、 エンティティの頂点ノー卞 2 702.をサブ.ルートと呼ぶ c ツリーの末端は、 図 2 7 Cに示すようにリーフ、 すなわちデバイスによって構 成される。 デバイスは、 複数デバイスをリーフとし、 サブルートである頂点ノー ド 2 702を持つヅリーによって構成されるいずれかのエンティティに属する。 図 2 7 Aから理解されるように、 エンティティは、 階層構造を持つ。 この階層 構造について、 図 28 A乃至図 28 Cを用いて説明する。
図 2 8 Aは、 階層構造を簡略化して説明するための図であり、 K r 0 o tから 数段下の段にエンティティ A 0 l〜Annが構成され、 エンティティ A l〜An の下位には、 さらに、 エンティティ B O 1〜: Bnk、 さらに、 その下位にェンテ ィティ C 1〜Cnqが設定されている。 各エンティティは、 図 2 8 B, 図 2 8 C に示す如く、 複数段のノード、 リーフによって構成されるツリー形状を持つ。 例えばエンティティ B nkの構成は、 図 28 Bに示すように、 サブルート 2 8 1 1を頂点ノードとして、 末端ノード 2 8 1 2に至るまでの複数ノードを有する c このエンティティは識別子 Bnkを持ち、 エンティティ Bnk内のノードに対応 するノードキー管理をエンティティ B nk独自に実行することにより、 末端ノー ド 28 1 2を頂点として設定される下位 (子) エンティティの管理を実行する。 また、 一方、 エンティティ Bnkは、 サブルート 2 8 1 1を末端ノードとして持 つ上位 (親) エンティティ Annの管理下にある。 エンティティ C n 3の構成は、 図 2 8 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までの各キーを格納する。
図 2 9 A及ぴ図 2 9 Bを用いて、 さらにエンティティの構成について説明する。 エンティティは様々な段数によって構成されるッリー構造を持つことが可能であ る。 段数、 すなわちデブス (depth) は、 エンティティで管理する末端ノードに対 応する下位 (子) エンティティの数、 あるいはリーフとしてのデバイス数に応じ て設定可能である。
図 2 9 Aに示すような上下エンティティ構成を具体化すると、 図 2 9 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を増加させて、 管理末端ノードに増加した下位ェンティ ティを追加することができる。 リザーブノードについて、 さらに図 30を用いて説明する。 エンティティ A, 30 1 1は、 管理する下位エンティティ: B, C, D…を持ち、 1つのリザーブノ ード 302 1を持つ。 エンティティは管理対象の下位エンティティをさらに増加 させたい場合、 リザーブノード 302 1に、 自己管理の下位エンティティ A, , 301 2を設定し、 下位エンティティ A, , 30 1 2の末端ノードにさらに管理 対象の下位エンティティ: F , Gを設定することができる。 自己管理の下位ェンテ ィティ A, , 30 1 2も、 その末端ノードの少なくとも 1つをリザーブノード 3 022として設定することにより、 さらに下位エンティティ A, , 30 13を設 定して、 さらに管理エンティティを増加させることができる。 下位エンティティ A' 5 30 13の末端ノードにも 1以上のリザーブノードを確保する。 このよう なリザーブノード保有構成をとることにより、 あるエンティティの管理する下位' エンティティは、 際限なく増加させることが可能となる。 なお、 リザープエンテ ィティは、 末端ノードの 1つのみではなく、 複数個設定する構成としてもよい。 それそれのエンティティでは、 エンティティ単位で有効化キーブロック (EK B) が構成され、 エンティティ単位でのキ一更新、 リボーク処理を実行すること になる。 図 30のように複数のエンティティ A, A, , A, , には各ェンティテ ィ個々の有効化キーブロック (EKB) が設定されることになるが、 これらは、 . エンティティ A, A, , A, , を共通に管理する例えばあるデバイスメーカーが 一括して管理することが可能である。
[新規エンティティの登録処理]
次に、 新規エンティティの登録処理について説明する。 登録処理シーケンスを 図 31に示す。 図 3 1のシーケンスに従って説明する。 新たにヅリー構成中に追 加される新規 (子) エンティティ (N— En) は、 上位 (親) エンティティ (P — En) に対して新規登録要求を実行する。 なお、 各エンティティは、 公開鍵暗 号方式に従った公開鍵を保有し、 新規エンティティは自己の公開鍵を登録要求に 際して上位エンティティ (P— En) に送付する。
登録要求を受領した上位エンティティ (P— En) は、 受領した新規 (子) ェ ンティティ (N— En) の公開鍵を証明書発行局 (C A: Certificate Authorit y) に転送し、 CAの署名を付加した新規 (子) エンティティ (N— En) の公開 鍵を受領する。 これらの手続きは、 上位エンティティ (P— En) と新規 (子) エンティティ (N_En) との相互認証の手続きとして行われる。
これらの処理により、 新規登録要求エンティティの認証が終了すると、 上位ェ ンティティ (P— En) は、 新規 (子) エンティティ (N— En) の登録を許可 し、 新規 (子) エンティティ (N— En) のノードキーを新規 (子) ェンティテ ィ (N— En) に送信する。 このノードキーは、 上位エンティティ (P— En) の未端ノードの 1つのノードキーであり、 かつ、 新規 (子) エンティティ (N— En) の頂点ノード、 すなわちサブル一トキ一に対応する。
このノードキー送信が終了すると、 新規 (子) エンティティ (N— En) は、 新規 (子) エンティティ (N— En) のヅリー構成を構築し、 構築したツリーの 頂点に受信した頂点ノードのサブルートキーを設定し、 各ノード、 リーフのキー を設定して、 エンティティ内の有効化キープロヅク (E KB) を生成する。 1つ のエンティティ内の有効化キープロヅク (EKB) をサブ EKBと呼ぶ。
一方、 上位エンティティ (P— En) は、 新規 (子) エンティティ (N— E n) の追加により、 有効化する末端ノードを追加した上位エンティティ (P— E n) 内のサブ E KBを生成する。
新規 (子) エンティティ (N— En) は、 新規 (子) エンティティ (N— E n) 内のノードキー、 リーフキーによって構成されるサブ EKBを生成すると、 これを上位エンティティ (P— En) に送信する。
新規 (子) エンティティ (N— En) からサブ E KBを受信した上位ェンティ ティ (P— En) は、 受信したサブ EKBと、 上位エンティティ (P— En) の 更新したサブ E KBとをキー発行セン夕 (KD C : Key Distribute Center) に送 信する。
キー発行セン夕 (KD C) は、 全てのエンティティのサブ E KBに基づいて、 様々な態様の E KB、 すなわち特定のエンティティあるいはデバイスのみが復号 可能な E KBを生成することが可能となる。 このように復号可能なエンティティ あるいはデバィスを設定した E K Bを例えばコンテンツプロバイダに提供し、 コ ンテンップロバイダが E KBに基づいてコンテンツキーを暗号化して、 ネットヮ ークを介して、 あるいは記録媒体に格納して提供することにより、 特定のデバイ スでのみ利用可能なコンテンツを提供することが可能となる。
なお、 新規エンティティのサブ E KBのキー発行セン夕 (KDC) に対する登 録処理は、 サブ E KBを上位エンティティを介して順次転送して実行する方法に 限るものではなく、 上位エンティティを介さずに、 新規登録エンティティから直 接、 キー発行セン夕 (KDC) に登録する処理を実行する構成としてもよい。 上位エンティティと、 上位エンティティに新規追加する下位エンティティとの 対応について図 32を用いて説明する。 上位エンティティの末端ノードの 1つ 3
20 1を新規追加エンティティの頂点ノードとして、 下位エンティティに提供す ることによって下位エンティティは、 上位エンティティの管理下のエンティティ として追加される。 上位エンティティの管理下のエンティティとは、 後段で詳細 に説明するが、 下位エンティティのリボーク (排除) 処理を上位エンティティが 実行できる構成であるという意味を含むものである。
図 32に示すように、 上位エンティティに新規エンティティが設定されると、 上位エンティティのリーフである末端ノードの 1つのノード 320 1と新規追加 エンティティの頂点ノード 3202とが等しいノードとして設定される。 すなわ ち上位ノードの 1つのリーフである 1つの末端ノードが、 新規追加エンティティ のサブルートとして設定される。 このように設定されることにより、 新規追加工 ンティティが全体ヅリー構成の下で有効化される。
図 33 A及び図 33 Bに新規追加エンティティを設定した際に上位ェンティテ ィが生成する更新 E KBの例を示す。 図 33 A及ぴ図 33Bは、 図 33 Aに示す 構成、 すなわち既に有効に存在する末端ノード (no d e O O O) 330 1と末 端ノ一ド (n 0 d e◦ 0 1 ) 3302があり、 ここに新規追加エンティティに新 規エンティティ追加末端ノード (no d e 100 ) 3303を付与した際に上位 エンティティが生成するサブ E KBの例を示したものである。
サブ E KBは、 図 33 Bに示すようにな構成を持つ。 それそれ有効に存在する 末端ノードキーにより暗号化された上位ノードキー、 上位ノードキーで暗号化さ れたさらなる上位ノードキー、 …さらに上位に進行してサブル一トキ一に至る構 成となっている。 この構成によりサブ E KBが生成される。 各エンティティは図
33 Bに示すと同様、 有効な末端ノード、 あるいはリーフキ一により暗号化され た上位ノードキー、 上位ノードキーでさらに上位のノードキーを暗号化し、 順次 上位に深厚してサブルートに至る暗号化データによって構成される E K Bを有し、 これを管理する。
[エンティティ管理下におけるリボーク処理]
次に、 キ一配信ッリー構成をエンティティ単位として管理する構成におけるデ バイスあるいはエンティティのリポーク (排除) 処理について説明する。 先の図 3 , 4では、 ツリー構成全体の中から特定のデバイスのみ復号可能で、 リボ一ク されたデバイスは復号不可能な有効化キーブロック (E K B ) を配信する処理に ついて説明した。 図 3, 図 4 A及び図 4 Bで説明したリボ一ク処理は、 ツリー全 体の中から特定のリーフであるデバイスをリボークする処理であつたが、 ッリ一 のエンティティ管理による構成では、 エンティティ毎にリボーク処理が実行可能 となる。
. 図 3 4 A乃至図 3 4 D以下の図を用いてエンティティ管理下のヅリー構成にお けるリポーク処理について説明する。 図 3 4 A乃至図 3 4 Dは、 ツリーを構成す るエンティティの内、 最下段のエンティティ、 すなわち個々のデバイスを管理し ているエンティティによるデバイスのリボーク処理を説明する図である。
図 3 4 Aは、 エンティティ管理によるキー配信ヅリ一構造を示している。 ヅリ 一最上位にはルートノードが設定され、 その数段下にエンティティ A 0 l〜A n n、 さらにその下位段に B 0 1〜: B n kのエンティティ、 さらにその下位段に C l〜C nのエンティティが構成されている。 最も下のエンティティは、 末端ノー ド (リーフ) が個々のデバイス、 例えば記録再生器、 再生専用器等であるとする。 ここで、 リボーク処理は、 各エンティティにおいて独自に実行される。 例えば、 最下段のエンティティ C l ~ C nでは、 リーフのデバイスのリボーク処理が実行 される。 図 3 4 Bには、 最下段のエンティティの 1つであるエンティティ C n , 3 4 3 0のヅリー構成を示している。 エンティティ C n, 3 4 3 0は、 頂点ノー ド 3 4 3 1を持ち、 末端ノードであるリーフに複数のデバイスを持つ構成である。 この末端ノードであるリーフ中に、 リボーク対象となるデバイス、 例えばデバ イス 3 4 3 2があったとすると、 エンティティ C n , 3 4 3 0は、 独自に更新し たエンティティ C n内のノードキー、 リーフキーによって構成される有効化キー プロヅク (サブ EKB) を生成する。 この有効化キーブロックは、 リボークデバ イス 3432においては復号できず、 他のリーフを構成するデバイスにおいての み復号可能な暗号化キーにより構成されるキープ口ックである。 エンティティ C nの管理者は、 これを更新されたサブ E KBとして生成する。 具体的には、 サブ ルートからリボークデバイス 3432に連なるパスを構成する各ノード 343 1:
3434, 3435のノードキーを更新して、 この更新ノードキーをリボークデ バイス 3432以外のリーフデバイスにおいてのみ復号可能な暗号化キーとして 構成したプロヅクを更新サブ E KBとする。 この処理は、 先の図 3, 4 A及び図
4 Bにおいて説明したリボ一ク処理構成において、 ルートキーを、 エンティティ の頂点キーであるサブルートキーに置き換えた処理に対応する。
このようにエンティティ Cn, 3430がリボーク処理によって更新した 有効化キ一ブロック (サブ EKB) は、 上位エンティティに送信される。 この場 合、 上位エンティティはエンティティ B nk, 3420であり、 エンティティ C n, 3430の頂点ノード 343 1を末端ノードとして有するエンティティであ る。
エンティティ Bnk, 3420は、 下位エンティティ Cn, 3430から有効 化キーブロック (サブ EKB) を受領すると、 そのキーブロックに含まれるェン ティティ Cnk, 3430の頂点ノード 3431に対応するエンティティ B nk , 3420の末端ノード 3431を、 下位エンティティ Cn, 3430において更 新されたキーに設定して、 自身のエンティティ B nk, 3420のサブ EKBの 更新処理を実行する。 図 34 Cにエンティティ Bnk, 3420のヅリー構成を 示す。 エンティティ Bnk, 3420において、 更新対象となるノードキーは、 図 34 Cのサブルート 342 1からリボークデバイスを含むェンティティを構成 する末端ノード 343 1に至るパス上のノードキーである。 すなわち、 更新サブ E KBを送信してきたエンティティのノード 343 1に連なるパスを構成する各 ノード 342 1 , 3424, 3425のノードキーが更新対象となる。 これら各 ノードのノードキーを更新してエンティティ Bnk, 3420の新たな更新サブ EKBを生成する。
さらに、 エンティティ Bnk, 3420が更新した有効化キーブロック (サブ E KB) は、 上位エンティティに送信される。 この場合、 上位エンティティはェ ンティティ Ann, 341 0であり、 エンティティ Bnk, 3420の頂点ノー ド 342 1を末端ノードとして有するエンティティである。
エンティティ Ann, 341 0は、 下位エンティティ B n k , 3420から有 効化キープロヅク (サブ EKB) を受領すると、 そのキ一ブロックに含まれるェ ンティティ Bnk, 3420の頂点ノード 342 1に対応するエンティティ An n, 341 0の末端ノード 342 1を、 下位エンティティ Bnk, 3420にお いて更新されたキーに設定して、 自身のエンティティ Ann, 34 10のサブ E KBの更新処理を実行する。 図 34Dにエンティティ Ann, 341 0のヅリ一 構成を示す。 エンティティ Ann, 341 0において、 更新対象となるノードキ 一は、 図 34 Dのサブルート 341 1から更新サブ E KBを送信してきたェンテ ィティのノード 342 1に連なるパスを構成する各ノード 341 1, 3414, 341 5のノードキーである。 これら各ノードのノ一ドキーを更新してェンティ ティ Ann, 341 0の新たな更新サブ EKBを生成する。
これらの処理を順次、 上位のエンティティにおいて実行し、 図 29 Bで説明し たルートエンティティまで実行する。 この一連の処理により、 デバイスのリボー ク処理が完結する。 なお、 それぞれのエンティティにおいて更新されたサブ; E K Bは、 最終的にキー発行セン夕 (KD C) に送信され、 保管される。 キー発行セ ン夕 (KD C) は、 全てのエンティティの更新サブ E KBに基づいて、 様々な E KBを生成する。 更新 EKBは、 リボークされたデバイスでの復号が不可能な暗 号化キープ口ックとなる。
デバイスのリボーク処理のシーケンス図を図 35に示す。 処理手順を図 35の シーケンス図に従って説明する。 まず、 ツリー構成の最下段にあるデバイス管理 エンティティ (D— En) は、 デバイス管理エンティティ (D— En) 内のリボ ーク対象のリーフを排除するために必要なキー更新を行い、 デバイス管理ェンテ ィティ (D— En) の新たなサブ EKB (D) を生成する。 更新サブ EKB (D) は、 上位エンティティに送付される。 更新サブ EKB (D) を受領した上 位 (親) エンティティ (P 1— E n) は、 更新サブ E KB (D) の更新頂点ノー ドに対応した末端ノ一ドキーの更新及び、 その末端ノードからサブルートに至る パス上のノードキーを更新した更新サブ EKB (P I) を生成する。 これらの処 理を順次、 上位エンティティにおいて実行して、 最終的に更新された全てのサブ E KBがキー発行セン夕 (KD C) に格納され管理される。
図 36 A及び図 36 Bにデバイスのリボーク処理によって上位エンティティが 更新処理を行って生成する有効化キーブロック (EKB) の例を示す。
図 36 A及び図 36 Bは、 図 36 Aに示す構成において、 リボークデバイスを 含む下位エンティティから更新サブ E KBを受信した上位エンティティにおいて 生成する EKBの例を説明する図である。 リボークデバイスを含む下位ェンティ ティの頂点ノ一ドは、 上位エンティティの未端ノード (no d e l O O) 360 1に対応する。
上位エンティティは、 上位エンティティのサブルートから末端ノード (no d e 100 ) 360 1までのパスに存在するノードキ一を更新して新たな更新サブ E KBを生成する。 更新サブ E KBは、 図 36Bのようになる。 更新されたキ一 は、 下線及び [, ] を付して示してある。 このように更新された末端ノードから サブルートまでのパス上のノードキーを更新してそのエンティティにおける更新 サブ E KBとする。
次に、 リボークする対象をエンティティとした場合の処理、 すなわちェンティ ティのリボーク処理について説明する。
図 37 Aは、 エンティティ管理によるキー配信ヅリ一構造を示している。 ッリ 一最上位にはルートノードが設定され、 その数段下にエンティティ A 0 l〜An n、 さらにその下位段に B 01〜; B nkのエンティティ、 さらにその下位段に C 1〜Cnのエンティティが構成されている。 最も下のエンティティは、 末端ノー ド (リーフ) が個々のデバイス、 例えば記録再生器、 再生専用器等であるとする。 ここで、 リボ一ク処理を、 エンティティ Cn, 3730に対して実行する場合 について説明する。 最下段のエンティティ Cn, 3730は、' 図 37 Bに示すよ うに頂点ノード 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のサブル一 トまでのパス上のノードキ一の更新を行い有効化キープ口ヅクを生成して更新サ ブ EKBを生成する。 更新対象となるノードキ一は、 図 37 Cのサブルート 37 2 1からリポークエンティティの頂点ノードを構成する末端ノード 373 1に至 るパス上のノードキーである。 すなわち、 ノード 372 1 , 3724, 3725, 3731のノードキーが更新対象となる。 これら各ノードのノードキーを更新し てエンティティ Bnk, 3720の新たな更新サブ E K Bを生成する。
あるいは、 エンティティ Bnk, 3720は、 下位エンティティ Cn, 373 0のリボークを実行する場合、 エンティティ Cnk, 3730の頂点ノード 37 3 1に対応するエンティティ B nk, 3720の末端ノード 373 1は更新せず、 そのリボークエンティティ 3730からエンティティ Bnk, 3720のサブル 一トまでのパス上の末端ノード 3731を除くノードキ一の更新を行い有効化キ 一プロヅクを生成して更新サブ E KBを生成してもよい。
さらに、 エンティティ Bnk, 3720が更新した有効化キープロヅク (サブ E KB) は、 上位エンティティに送信される。 この場合、 上位エンティティはェ ンティティ Ann, 37 1 0であり、 エンティティ: Bnk, 3720の頂点ノー ド 372 1を末端ノードとして有するエンティティである。
エンティティ Ann, 37 10は、 下位エンティティ Bnk, 3720から有 効化キープ口ヅク (サブ EKB) を受領すると、 そのキ一プロヅクに含まれるェ ンティティ: Bnk, 3720の頂点ノード 372 1に対応するエンティティ A n n, 37 1 0の末端ノード 372 1を、 下位ェンティティ: B n k , 3720にお いて更新されたキーに設定して、 自身のエンティティ Ann, 371 0のサブ E KBの更新処理を実行する。 図 37 Dにエンティティ Ann, 37 1 0のツリー 構成を示す。 エンティティ Ann, 37 1 0において、 更新対象となるノードキ 一は、 図 37 Dのサブルート 37 1 1から更新サブ E KBを送信してきたェンテ ィティのノード 372 1に連なるパスを構成する各ノード 37 1 1, 37 1 , 37 1 5のノードキーである。 これら各ノードのノードキーを更新してェンティ ティ Ann, 3 7 1 0の新たな更新サブ E KBを生成する。
これらの処理を順次、 上位のエンティティにおいて実行し、 図 2 9 Dで説明し たルートエンティティまで実行する。 この一連の処理により、 エンティティのリ ボーク処理が完結する。 なお、 それぞれのエンティティにおいて更新されたサブ EKBは、 最終的にキ一発行セン夕 (KD C) に送信され、 保管される。 キー発 行センタ (KD C) は、 全てのエンティティの更新サブ EKBに基づいて、 様々 な EKBを生成する。 更新 EKBは、 リボークされたエンティティに属するデバ イスでの復号が不可能な暗号化キープ口ックとなる。
エンティティのリボ一ク処理のシーケンス図を図 38に示す。 処理手順を図 3 8のシーケンス図に従って説明する。 まず、 エンティティをリボークしようとす るエンティティ管理エンティティ (E— E n) は、 エンティティ管理ェンティテ ィ (E— En) 内のリボーク対象の末端ノードを排除するために必要なキー更新 を行い、 エンティティ管理エンティティ (E— En) の新たなサブ EKB (E) を生成する。 更新サブ EKB (E) は、 上位エンティティに送付される。 更新サ ブ E KB (E) を受領した上位 (親) エンティティ (P 1 _E n) は、 更新サブ E KB (E) の更新頂点ノードに対応した末端ノードキーの更新及び、 その末端 ノードからサブルートに至るパス上のノードキーを更新した更新サブ E KB (P 1 ) を生成する。 これらの処理を順次、 上位エンティティにおいて実行して、 最 終的に更新された全てのサブ E KBがキー発行センタ (KD C) に格納され管理 される。 キー発行センタ (KD C) は、 全てのエンティティの更新サブ E KBに 基づいて、 様々な EKBを生成する。 更新 EKBは、 リボークされたェンティテ ィに属するデバイスでの復号が不可能な暗号化キープ口ヅクとなる。
図 3 9にリボークされた下位エンティティと、 リボークを行なった上位ェンテ ィティの対応を説明する図を示す。 上位エンティティの末端ノード 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 0にケィパピリティを定義したエンティティ構成例を示す。 キー配信ヅリ 一構成の最頂点にル一トノードが位置し、 下層に複数のエンティティが接続され て各ノードが 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 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 0では全てのエンティティについてケィパピリティ情報を定義して いる構成であるが、 図 4 0の構成のように全てのエンティティにケィパピリティ 情報を定義することは必ずしも必要ではなく、 例えば図 4 1に示すようにデバイ スが属する最下段のエンティティについてのみケィパピリティを定義して、 最下 段のエンティティに属するデバイスのケィパピリティをキー発行セン夕 (K D C ) において管理して、 コンテンツプロバイダが望む処理の可能なデバイスにの み復号可能な有効化キーブロック (EKB) を最下段のエンティティに定義され たケィパピリティ情報に基づいて生成する構成としてもよい。 図 4 1では、 末端 ノードにデバイスが定義されたエンティティ 410 1 = 4 105におけるケィパ ピリティが定義され、 これらのエンティティについてのケィパピリティをキー発 行セン夕 (KD C) において管理する構成である。 例えばエンティティ 41 0 1 には音声再生については方式 B、 画像再生については方式 rの処理が可能なデバ イスが属している。 エンティティ 4102には音声再生については方式 A、 画像 再生については方式 qの処理が可能なデバイスが属している等である。
図 42 A及び図 42 Bにキ一発行センタ (KD C) において管理するケィパピ リティ管理テーブルの構成例を示す。 ケィパピリティ管理テ一ブルは、 図 42 A のようなデータ構成を持つ。 すなわち、 各エンティティを識別する識別子として のエンティティ I D、 そのエンティティに定義されたケィパピリティを示すケィ パビリティ リスト、 このケィパピリティリストは.図 42 Bに示すように、 例えば 音声データ再生処理 (方式 A) が処理可能であれば [1] 、 処理不可能であれは
[0] 、 音声データ再生処理 (方式 B) が処理可能であれば [ 1] 、 処理不可能 であれは [0] …等、 様々な態様のデータ処理についての可否を 1ビヅ トずつ
[ 1] 又は [0] を設定して構成されている。 なお、 このケィパピリティ情報の 設定方法はこのような形式に限らず、 エンティティの管理デバイスについてのケ ィパピリティを識別可能であれば他の構成でもよい。
ケィパピリティ管理テーブルには、 さらに、 各エンティティのサブ E KB、 あ るいはサブ E KBが別のデータベースに格納されている場合は、 サブ E KBの識 別情報が格納され、 さらに、 各エンティティのサブルートノード識別デ一夕が格 納される。
キー発行セン夕 (KD C) は、 ケィパピリティ管理テーブルに基づいて、 例え ば特定のコンテンツの再生可能なデバイスのみが復号可能な有効化キーブロック (E KB) を生成する。 図 43を用いて、 ケィパピリティ情報に基づく有効化キ ーブロヅクの生成処理について説明する。
まず、 ステップ S 430 1において、 キー発行セン夕 (KD C) は、 ケィパピ リティ管理テーブルから、 指定されたケィパピリティを持つエンティティを選択 する。 具体的には、 例えばコンテンヅプロバイダが音声データ再生処理方式 Aに 基づく再生可能なデータを配信したい場合は、 図 42 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 K Bをケィパピリティ管理テーブルから取 り出し、 サブ E KBと、 ステヅプ S 4306で生成した更新ノードキ一とに基づ いて選択エンティティのデバイスにおいてのみ復号可能な有効化キープ口ヅク (EKB) を生成する。 このようにして生成した有効化キーブロック (EKB) は、 特定のケィパピリティを持つデバイスにおいてのみ利用、 すなわち復号可能 な有効化キーブロック (EKB) となる。 この有効化キープロヅク (EKB) で 例えばコンテンツキ一を暗号化して、 そのコンテンツキーで特定プログラムに基 づいて圧縮したコンテンツを暗号化してデバイスに提供することで、 キー発行セ ン夕 (KDC) によって選択された特定の処理可能なデバイスにおいてのみコン テンヅが利用される。
このようにキー発行セン夕 (KD C) は、 ケィパピリティ管理テーブルに基づ いて、 例えば特定のコンテンツの再生可能なデバイスのみが復号可能な有効化キ 一ブロック (EKB) を生成する。 したがって、 新たなエンティティが登録され る場合には、 その新規登録エンティティのケィパピリティを予め取得することが 必要となる。 このエンティティ新規登録に伴うケィパピリティ通知処理について 図 44を用いて説明する。 - 図 44は、 新規エンティティがキー配信ツリー構成に参加する場合のケィパピ リティ通知処理シーケンスを示した図である。
新たにツリー構成中に追加される新規 (子) エンティティ (N— En) は、 上 位 (親) エンティティ (P— En) に対して新規登録要求を実行する。 なお、 各 エンティティは、 公鬨鍵暗号方式に従った公開鍵を保有し、 新規エンティティは . 自己の公闢鍵を登録要求に際して上位エンティティ (P— En) に送付する。 登録要求を受領した上位エンティティ (P— En) は、 受領した新規 (子) ェ ンティティ (N— En) の公開鍵を証明書発行局 (C A: Certificate Authorit 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) 内のノードキー、 リーフキーによって構成されるサブ EKBを生成すると、 これを上位エンティティ (P— En) に送信し、 さらに、 自己のエンティティで 管理するデバイスについてのケィパピリティ情報を上位エンティティに通知する, 新規 (子) エンティティ (N— En) からサブ E KB及びケィパピリティ情報 を受信した上位エンティティ (P— En) は、 受信したサブ EKBとゲイパビリ ティ情報と、 上位エンティティ (P— En) の更新したサブ E KBとをキー発行 センタ (KD C : Key Distribute Center) に送信する。
キー発行セン夕 (KD C) は、 受領したエンティティのサブ EKB及びケィパ ピリティ情報とを図 42 A及び図 42 Bで説明し.たケィパピリティ管理テーブル に登録し、 ケィパピリティ管理テ一ブルを更新する。 キー発行セン夕 (KD C) は、 更新したケィパピリティ管理テーブルに基づいて、 様々な態様の EKB、 す なわち特定のケィパピリティを持つエンティティ.あるいはデバイスのみが復号可 能な E KBを生成することが可能となる。
以上、 特定の実施例を参照しながら、 本発明について詳解してきた。 しかしな がら、 本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得る ことは自明である。 すなわち、 例示という形態で本発明を開示してきたのであり、 限定的に解釈されるべきではない。 本発明の要旨を判断するためには、 冒頭に記 載した特許請求の範囲の欄を参酌すべきである。 産業上の利用可能性 以上、 説明したように、 本発明に係る暗号鍵ブロックを用いた情報処理システ ム及び方法によれば、 複数のデバイスをリーフとして構成したッリーのルートか らリーフまでのパス上のルート、 ノード、 及びリーフに各々キーを対応付けたキ ーヅリーをデバイスのデータ処理能力としてのケィパピリティに基づいて区分し たサブヅリーを設定し、 それそれのサブヅリーの管理主体であるエンティティに おいて、 エンティティ内で有効なサブ有効化キープロヅク (サブ EKB) を生成 するとともに、 キー発行センタ (KDC) において、 エンティティのケィパピリ ティ情報を管理して、 共通のケィパピリティを持つエンティティにおいてのみ復 号可能な有効化キーブロック (EKB) を生成する構成としたので、 特定のデバ イスにおいてのみ処理可能なデ一夕を、 そのデバイスにおいてのみ復号可能なデ —夕として提供することができる。
さらに、 本発明に係る暗号鍵プロックを用いた情報処理システム及び方法によ れば、 キー発行セン夕 (K D C ) は、 複数のエンティティ各々の識別子、 ケィパ ピリティ情報、 サブ有効化キープロヅク (サブ E K B ) 情報とを対応付けたケィ パピリティ管理テーブルに基づいて、 デバイスに対する配信データの処理可能な エンティティを選択して、 様々なケィパピリティに応じた様々な E K Bを生成す ることができる。
また、 本発明に係る暗号鍵ブロックを用いた情報処理システム及び方法によれ ば、 複数のデバイスをリーフとして構成したッリ一のルートからリーフまでのパ ス上のルート、 ノード、 及びリーフに各々キーを対応付けたキーヅリーを構成す る部分ッリーとしてのサブツリーを管理し、 サブヅリーに属するノード又はリー フに対応して設定されるキーのみの基づくサブ有効化キ一プロック (サブ E K B ) を生成する複数のエンティティを設定し、 複数のエンティティの生成するサ ブ有効化キープロヅク (サブ E K B ) を用いて、 選択されたエンティティにおい てのみ復号可能な有効化キーブロック (E K B ) を生成して配信する構成とした ので、 階層構造のキーヅリー構成を分解して管理することが可能となり、 デバイ スに応じた細かな処理を行うことができる。
さらに、 本発明に係る暗号鍵ブロックを用いた情報処理システム及び方法によ れば、 エンティティでのデバイスあるいはエンティティのリボーク処理が実行可 能であり、 一括したデバイス管理の場合のデバイス増大に伴う処理量の増加が防 止される。
さらに、 本発明に係る暗号鍵プロヅクを用いた情報処理システム及び方法によ れば、 各エンティティの末端ノードにリザーブノードを設定する構成としたので、 管理デバィス又は管理エンティティの増加にも対応することができる。

Claims

請求の範囲
1. 複数のデパイスをリーフとして構成したヅリーのルートからリーフまでのパ ス上のルート、 ノード、 及びリーフに各々キーを対応付けたキーヅリーを構成し、 該キーツリーを構成するパスを選択して選択パス上のキー更新、 及び下位キーに よる上位キーの暗号化処理を実行して特定デバイスにおいてのみ復号可能な有効 化キーブロック (EKB) を生成してデバイスに提供する暗号鍵プロヅクを用い た情報処理システムにおいて、
前記キーヅリーの一部を構成し、 デバイスのデータ処理能力としてのゲイパビ リティに基づいて区分されたサブヅリーを管理し、 該サブヅリーに属するノード 又はリーフに対応して設定されるキ一のみに基づくサブ有効化キ一プロック (サ ブ EKB) を生成する複数のエンティティと、
前記複数のェンティティのケィパピリティ情報を管理し、 共通のケィパビリテ ィを持つエンティティの生成するサブ有効化キープロヅク (サブ EKB) を用い て、 共通のケィパピリティを持つエンティティにおいてのみ復号可能な有効化キ 一ブロック (EKB) を生成するキー発行センタ (KD C) とを有する暗号鍵ブ 口ヅクを用いた情報処理システム。
2. 前記キー発行セン夕 (KD C) は、 複数のエンティティ各々の識別子と、 ェ ンティティ各々のケィパピリティ情報と、 エンティティ各々のサブ有効化キープ ロック (サブ EKB) 情報とを対応付けたケィパピリティ管理テーブルを有し、 該ケィパビリティ管理テーブルに基づいて、 デバイスに対する配信データの処理 可能なエンティティを選択して、 該選択エンティティ配下のデバイスでのみ復号 可能な有効化キ一ブロック (EKB) を生成する構成を有することを特徴とする 請求の範囲第 1項に記載の暗号鍵プロックを用いた情報処理システム。
3. 前記キーヅリーに対する新規追加エンティティは、 該新規エンティティ内の サブッリー内のノード又はリーフに対応して設定されるキ一のみに基づくサブ有 効化キープ口ヅク (サブ EKB) を生成し、 前記キー発行セン夕 (KD C) に対 するサブ E KBの登録処理を実行するとともに、 自己のエンティティのケィパピ リティ情報の通知処理を実行する構成であることを特徴とする請求の範囲第 1項 に記載の暗号鍵プロヅクを用いた情報処理システム。
4 . 前記複数のエンティティは、 1つのエンティティの最下段の末端ノードを他 のエンティティの頂点ノード (サブルート) として構成した上位エンティティ及 び下位エンティティの階層化構造を有することを特徴,とする請求の範囲第 1項に 記載の暗号鍵ブロックを用いた情報処理システム。
5 . 前記複数のエンティティの各々は、 自己のエンティティに属するサブツリー を構成するノ一ド又はリーフに対応するキーの設定、 更新処理権限を有する構成 であることを特徴とする請求の範囲第 1項に記載の暗号鍵プロックを用いた情報 処理システム。
6 . 前記複数のエンティティ中、 エンティティ内の最下段リーフを個々のデバイ スに対応するリーフとした最下層のエンティティに属するデバイスの各々は、 自 己の属するエンティティの頂点ノード (サブルート) から自己のデバイスに対応 するリーフに至るパス上のノード、 リーフに設定されたノードキー及びリーフキ 一を格納した構成を有することを特徴とする請求の範囲第 1項に記載の暗号鍵ブ 口ヅクを用いた情報処理システム。
7 . 前記複数のエンティティの各々は、 自己のエンティティの下位に、 さらに自 己管理エンティティを追加するため、 自己のエンティティ内の最下段のノード又 はリーフ中の 1以上のノード又はリーフをリザーブノードとして保留して設定し た構成を有することを特徴とする請求の範囲第 1項に記載の暗号鍵プロックを用 いた情報処理システム。
8 . 新規エンティティを末端ノードに追加する上位エンティティは、 新規ェンテ ィティのサブッリーを設定するノードである上位エンティティ末端ノードに対応 するキーを、 前記新規エンティティの頂点ノード (サブルート) キ一として設定 する構成であることを特徴とする請求の範囲第 1項に記載の暗号鍵プロックを用 いた情報処理システム。
9 . デバイスのリボーク処理を実行するエンティティは、 エンティティ内の頂点 ノード (サブルート) からリボーク 'デバイスに対応するリーフに至るパス上の ノードに設定されたノードキーを更新し、 更新ノードキーをリボークデバイス以 外のリーフデバイスにおいてのみ復号可能な暗号化キーとして構成した更新サブ E K Bを生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端ノードから自己のサブルートに至るパス上のノードキーを更新 した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位ェンテ ィティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行 して、 リボークデバイスからルートに至るパス上のノ一ドキー更新を行い、 キー 更新により生成された更新サブ E K Bの前記キー発行センタ (K D C ) への登録 処理を行うことにより、 デバイスのリボーク処理を実行する構成を有することを 特徴とする請求の範囲第 1項に記載の暗号鍵プロックを用いた情報処理システム c
1 0 . 下位エンティティのリボーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリポーク 'エンティティに対応する末端ノ 一ドに至るパス上のノードに設定されたノードキーを更新した更新サブ E K Bを 生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供 した末端ノードから自己のサブルートに至るパス上のノードキーを更新した更新 サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティま で、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リ ボーク 'エンティティからルートに至るパス上のノードキー更新を行い、 キ一更 新により生成された更新サブ E K Bの前記キー発行セン夕 (K D C ) への登録処 理を行うことにより、 エンティティ単位のリボーク処理を実行する構成を有する ことを特徴とする請求の範囲第 1項に記載の暗号鍵プロックを用いた情報処理シ ステム。
1 1 . 下位エンティティのリボーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリボーク 'エンティティに対応する末端ノ 一ドに至るパス上の、 該末端ノードを除くノードに設定されたノードキーを更新 した更新サブ E K Bを生成して上位エンティティに送信し、 上位エンティティは 更新サブ E K Bを提供した末端ノードから自己のサブルートに至るパス上のノー ドキ一を更新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 エンティティ単位での更新サブ: E K B生成及び送信処 理を順次実行して、 リボーク ·エンティティからルートに至るパス上のリボーク •エンティティに対応する末端ノードを除くノードキ一更新を行い、 キ一更新に より生成された更新サブ EKBの前記キー発行セン夕 (KD C) への登録処理を 行うことにより、 エンティティ単位のリボーク処理を実行する構成を有すること を特徴とする請求の範囲第 1項に記載の暗号鍵プロックを用いた情報処理システ ム。
12. 複数のデバイスをリーフとして構成したツリーのルートからリーフまでの パス上のルート、 ノード、 及びリーフに各々キ一を対応付けたキーヅリーを構成 し、 該キ一ツリーを構成するパスを選択して選択パス上のキー更新、 及び下位キ 一による上位キーの暗号化処理を実行して特定デバイスにおいてのみ復号可能な 有効化キーブロック (EKB) を生成してデバイスに提供する情報処理システム における暗号鍵ブロックを用いた情報処理方法において、
前記キーツリーの一部を構成し、 デバイスのデ一夕処理能力としてのケィパピ リティに基づいて区分されたサブッリーを管理するエンティティにおいて、 各ェ ンティティのサブッリ一に属するノード又はリーフに対応して設定されるキーの みに基づくサブ有効化キーブロック (サブ EKB) を生成するステップと、 前記複数のエンティティのケィパピリティ情報を保有するキー発行センタ (K DC) において、 前記複数のエンティティのケィパピリティ情報に基づいて、 共 通のケィパピリティを持つエンティティの生成するサブ有効化キープ口ヅク (サ プ E KB) を抽出し共通のケィパピリティを持つエンティティにおいてのみ復号 可能な有効化キープロヅク (EKB) を生成するステップとを有する暗号鍵プロ ックを用いた情報処理方法。
13. 前記キー発行セン夕 (KDC) における有効化キ一プロヅク (EKB) 生 成ステツプは、
共通のケィパピリティを持つエンティティを選択するエンティティ選択ステヅ プと、
前記エンティティ選択ステヅプにおいて選択されたエンティティによって構成 されるエンティティ · ヅリーを生成するステヅプと、
前記エンティティ · ツリーを構成するノ一ドキーを更新するノードキー更新ス テヅプと、
前記ノードキ一更新ステップにおいて更新したノードキー、 及び選択ェンティ ティのサブ E KBに基づいて選択エンティティにおいてのみ復号可能な有効化キ —ブロック (EKB) を生成するステップとを含むことを特徴とする請求の範囲 第 1 2項に記載の暗号鍵ブロックを用いた情報処理方法。
14. 前記キー発行セン夕 (KD C) は、 複数のエンティティ各々の識別子と、 エンティティ各々のケィパピリティ情報と、 エンティティ各々のサブ有効化キー ブロック (サブ EKB) 情報とを対応付けたケィパピリティ管理テーブルを有し、 該ケィパビリティ管理テーブルに基づいて、 デバイスに対する配信デ一夕の処理 可能なエンティティを選択して、 該選択エンティティ配下のデバイスでのみ復号 可能な有効化キーブロック (EKB) を生成することを特徴とする請求の範囲第 1 2項に記載の暗号鍵ブロックを用いた情報処理方法。
1 5. 前記キーツリーに対する新規追加エンティティは、 該新規エンティティ内 のサブッリー内のノード又はリーフに対応して設定されるキーのみに基づくサブ 有効化キーブロック (サブ EKB) を生成し、 前記キー発行センタ (KDC) に 対するサブ; E KBの登録処理を実行するとともに、 自己のエンティティのケィパ ピリティ情報の通知処理を実行することを特徴とする請求の範囲第 1 2項に記載 の暗号鍵ブロックを用いた情報処理方法。
1 6. 前記複数のエンティティの各々は、 自己のエンティティに属するサブッリ 一を構成するノード又はリーフに対応するキーの設定、 更新処理を実行すること を特徴とする請求の範囲第 12項に記載の暗号鍵プロックを用いた情報処理方法
17. 新規エンティティを末端ノードに追加する上位エンティティは、 新規ェン ティティのサブヅリーを設定するノードである上位エンティティ末端ノードに対 応するキーを、 前記新規エンティティの頂点ノード (サブルート) キーとして設 定することを特徴とする請求の範囲第 1 2項に記載の暗号鍵プロックを用いた情 報処理方法。
1 8. デバイスのリボーク処理を実行するエンティティは、 エンティティ内の頂 点ノ一ド (サブルート) からリボーク 'デバイスに対応するリーフに至るパス上 のノードに設定されたノードキーを更新し、 更新ノードキーをリボークデバイス 以外のリーフデバイスにおいてのみ復号可能な暗号化キーとして構成した更新サ ブ E KBを生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端ノードから自己のサブルートに至るパス上のノードキーを更 新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位ェン ティティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実 行して、 リポークデバイスからルートに至るパス上のノードキー更新を行い、 キ 一更新により生成された更新サブ E K Bの前記キー発行センタ (K D C ) への登 録処理を行うことにより、 デバイスのリボーク処理を実行することを特徴とする 請求の範囲第 1 2項に記載の暗号鍵ブロックを用いた情報処理方法。
1 9 . 下位エンティティのリポーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリボーク 'エンティティに対応する末端ノ 一ドに至るパス上のノードに設定されたノードキーを更新した更新サブ E K Bを 生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供 した末端ノードから自己のサブル一トに至るパス.上のノードキーを更新した更新 サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティま で、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リ ボーク ·エンティティからルートに至るパス上のノードキー更新を行い、 キ一更 新により生成された更新サブ E K Bの前記キー発行セン夕 (K D C ) への登録処 理を行うことにより、 エンティティ単位のリボーク処理を実行することを特徴と する請求の範囲第 1 2項に記載の暗号鍵ブロックを用いた情報処理方法。
2 0 . 下位エンティティのリボーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリボーク ·エンティティに対応する末端ノ 一ドに至るパス上の、 該末端ノ一ドを除くノードに設定されたノードキーを更新 した更新サブ E K Bを生成して上位エンティティに送信し、 上位エンティティは 更新サブ E K Bを提供した末端ノードから自己のサブルートに至るパス上のノー ドキーを更新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 エンティティ単位での更新サブ E K B生成及び送信処 理を順次実行して、 リボーク ·エンティティからルートに至るパス上のリボーク •エンティティに対応する末端ノードを除くノードキー更新を行い、 キー更新に より生成された更新サブ E K Bの前記キー発行センタ (K D C ) への登録処理を 行うことにより、 エンティティ単位のリポーク処理を実行することを特徴とする 請求の範囲第 1 2項に記載の暗号鍵プロックを用いた情報処理方法。
2 1. 複数のデバイスをリーフとして構成したヅリーのルートからリーフまでの パス上のルート、 ノード、 及びリーフに各々キーを対応付けたキーヅリーを構成 し、 該キーツリーを構成するパスを選択して選択パス上のキー更新、 及び下位キ 一による上位キーの暗号化処理を実行して特定デバイスにおいてのみ復号可能な 有効化キ一プロヅク (EKB) を生成してデバイスに提供する情報処理システム における有効化キーブロック (EKB) 生成処理をコンピュータ 'システム上で 実行せしめるコンピュータ · プログラムを提供するプログラム提供媒体であって、 前記コンピュータ . プログラムは、
前記キーヅリーの一部を構成し、 デバイスのデータ処理能力としてのケィパピ リティに基づいて区分されたサブッリーを管理するエンティティにおいて、 各ェ ンティティのサブッリーに属するノード又はリーフに対応して設定されるキーの みに基づくサブ有効化キーブロック (サブ EKB) を生成するステップと、 前記複数のエンティティのケィパピリティ情報を保有するキー発行セン夕 (K D C) において、 前記複数のエンティティのケィパピリティ情報に基づいて、 共 通のケィパビリティを持つエンティティの生成するサブ有効化キープ口ヅク (サ ブ EKB) を抽出し共通のケィパピリティを持つエンティティにおいてのみ復号 可能な有効化キーブロック (EKB) を生成するステップとを含むことを特徴と するプログラム提供媒体。
2 2. 複数のデバイスをリーフとして構成したヅリ一のルートからリーフまでの パス上のルート、 ノード、 及びリーフに各々キーを対応付けたキーツリーを構成 し、 該キーツリーを構成するパスを選択して選択パス上のキー更新、 及び下位キ 一による上位キーの暗号化処理を実行して特定デバイスにおいてのみ復号可能な 有効化キーブロック (EKB) を生成してデバイスに提供する暗号鍵ブロックを 用いた情報処理システムにおいて、
前記キーツリーを構成する部分ッリーとしてのサブッリーを管理し、 該サブヅ リーに属するノード又はリーフに対応して設定されるキーのみに基づくサブ有効 化キ一ブロック (サブ EKB) を生成する複数のエンティティと、
前記複数のエンティティの生成するサブ有効化キープロヅク (サブ EKB) を 用いて、 選択されたエンティティにおいてのみ復号可能な有効化キープロヅク ( E K B ) を生成するキー発行セン夕 (K D C ) とを有する暗号鍵ブロックを用 いた情報処理システム。
2 3 . 前記複数のエンティティは、 1つのエンティティの最下段の末端ノードを 他のエンティティの頂点ノード (サブルート) として構成した上位エンティティ 及び下位エンティティの階層化構造を有することを特徴とする請求の範囲第 2 2 項に記載の暗号鍵ブロックを用いた情報処理システム。
2 4 . 前記複数のエンティティの各々は、 自己のエンティティに属するサブヅリ 一を構成するノード又はリーフに対応するキーの設定、 更新処理権限を有する構 成であることを特徴とする請求の範囲第 2 2項に記載の暗号鍵ブロックを用いた 情報処理システム。
2 5 . 前記複数のエンティティ中、 エンティティ内の最下段リーフを個々のデバ イスに対応するリーフとした最下層のエンティティに属するデバイスの各々は、 自己の属するエンティティの頂点ノード (サブル一ト) から自己のデバイスに対 応するリーフに至るパス上のノード、 リーフに設定されたノードキー及びリーフ キーを格納した構成を有することを特徴とする請求の範囲第 2 2項に記載の暗号 鍵ブロックを用いた情報処理システム。
2 6 . 前記複数のエンティティの各々は、 自己のエンティティの下位に、 さらに 自己管理エンティティを追加するため、 自己のエンティティ内の最下段のノード 又はリーフ中の 1以上のノ一ド又はリーフをリザーブノードとして保留して設定 した構成を有することを特徴とする請求の範囲第 2 2項に記載の暗号鍵プロック を用いた情報処理システム。
2 7 . 新規エンティティを末端ノードに追加する上位エンティティは、 新規ェン ティティのサブッリ一を設定するノードである上位ェンティティ末端ノードに対 応するキーを、 前記新規エンティティの頂点ノード (サブルート) キーとして設 定する構成であることを特徴とする請求の範囲第 2 2項に記載の暗号鍵プロック を用いた情報処理システム。
2 8 . 新規追加エンティティは、 該新規エンティティ内のサブツリー内のノード 又はリーフに対応して設定されるキーのみに基づくサブ有効化キーブロック (サ ブ EKB) を生成し、 前記キー発行センタ (KD C) に対するサブ EKBの登録 処理を実行する構成であることを特徴とする請求の範囲第 22項に記載の暗号鍵 プロヅクを用いた情報処理システム。
29. デバイスのリボーク処理を実行するエンティティは、 エンティティ内の頂 点ノード (サブルート) からリボーク 'デバイスに対応するリーフに至るパス上 のノードに設定されたノードキーを更新し、 更新ノードキーをリポ一クデバイス 以外のリーフデバイスにおいてのみ復号可能な暗号化キーとして構成した更新サ ブ E KBを生成して上位エンティティに送信し、 上位エンティティは更新サブ E KBを提供した末端ノードから自己のサブルートに至るパス上のノードキーを更 新した更新サブ EKBを生成してさらに上位エンティティに送信し、 最上位ェン ティティまで、 エンティティ単位での更新サブ E KB生成及び送信処理を順次実 行して、 リボークデバイスからルートに至るパス上のノードキ一更新を行い、 キ 一更新により生成された更新サブ E KBの前記キー発行センタ (KD C) への登 録処理を行うことにより、 デバイスのリポーク処理を実行する構成を有すること を特徴とする請求の範囲第 22項に記載の暗号鍵プロックを用いた情報処理シス テム。
30. 下位エンティティのリボーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリボ一ク ·エンティティに対応する末端ノ 一ドに至るパス上のノードに設定されたノ一ドキーを更新した更新サブ E KBを 生成して上位エンティティに送信し、 上位エンティティは更新サブ E KBを提供 した末端ノードから自己のサブル一トに至るパス上のノードキ一を更新した更新 サブ E KBを生成してさらに上位エンティティに送信し、 最上位エンティティま で、 エンティティ単位での更新サブ E KB生成及ぴ送信処理を順次実行して、 リ ボーク 'エンティティからルートに至るパス上のノードキー更新を行い、 キ一更 新により生成された更新サブ E KBの前記キ一発行セン夕 (KD C) への登録処 理を行うことにより、 エンティティ単位のリポーク処理を実行する構成を有する ことを特徴とする請求の範囲第 22項に記載の暗号鍵プロックを用いた情報処理 システム。
3 1. 下位エンティティのリボーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリボーク .エンティティに対応する末端ノ 一ドに至るパス上の、 該末端ノードを除くノードに設定されたノードキーを更新 した更新サブ E KBを生成して上位エンティティに送信し、 上位エンティティは 更新サブ E KBを提供した末端ノードから自己のサブルートに至るパス上のノ一 ドキ一を更新した更新サブ E KBを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 エンティティ単位での更新サブ E KB生成及び送信処 理を順次実行して、 リボーク ·エンティティからルートに至るパス上のリボーク
• エンティティに対応する末端ノードを除くノードキ一更新を行い、 キー更新に より生成された更新サブ E KBの前記キー発行セン夕 (KDC) への登録処理を 行うことにより、 エンティティ単位のリポーク処理を実行する構成を有すること を特徴とする請求の範囲第 22項に記載の暗号鍵ブロックを用いた情報処理シス テム。
32. 前記エンティティは、 デバイス種類、 サービス種類、 管理手段種類等の共 通のカテゴリに属するデバイスあるいはエンティティの管理主体として構成され ることを特徴とする請求の範囲第 22項に記載の暗号鍵プロックを用いた情報処 理システム。
33. 複数のデバイスをリーフとして構成したヅリーのルートからリーフまでの パス上のルート、 ノード、 及びリーフに各々キーを対応付けたキーヅリーを構成 し、 該キーヅリーを構成するパスを選択して選択パス上のキー更新、 及び下位キ 一による上位キーの暗号化処理を実行して特定デバイスにおいてのみ復号可能な 有効化キープロヅク (EKB) を生成してデバイスに提供する情報処理システム における暗号鍵ブロックを用いた情報処理方法において、 .
前記キーツリ一を構成する部分ヅリ一としてのサブヅリーを管理する複数のェ ンティティにおいて、 該サブヅリーに属するノード又はリーフに対応して設定さ れるキーのみに基づくサブ有効化キーブロック (サブ EKB) を生成するステヅ プと、
キー発行セン夕 (KD C) において、 前記複数のエンティティの生成するサブ 有効化キープロヅク (サブ EKB) を用いて、 選択されたエンティティにおいて のみ復号可能な有効化キープロヅク (EKB) を生成するステップとを有する暗 号鍵プロックを用いた情報処理方法。
3 4 . 前記複数のエンティティの各々は、 自己のエンティティに属するサブヅリ 一を構成するノード又はリーフに対応するキーの設定、 更新処理を実行すること を特徴とする請求の範囲第 3 3項に記載の暗号鍵ブロックを用いた情報処理方法,
3 5 . 新規エンティティを末端ノードに追加する上位エンティティは、 新規ェン ティティのサブッリ一を設定するノードである上位ェンティティ末端ノードに対 応するキーを、 前記新規エンティティの頂点ノード (サブルート) キーとして設 定することを特徴とする請求の範囲第 3 3項に記載の暗号鍵プロックを用いた情 報処理方法。
3 6 . 新規追加エンティティは、 該新規エンティティ内のサブツリー内のノード 又はリーフに対応して設定されるキーのみに基づくサブ有効化キープ口ック (サ ブ E K B ) を生成し、 前記キ一発行センタ (K D C ) に対するサブ E K Bの登録 処理を実行することを特徴とする請求の範囲第 3 3項に記載の暗号鍵ブロックを 用いた情報処理方法。
3 7 . デバイスのリボーク処理を実行するエンティティは、 エンティティ内の頂 点ノード (サブルート) からリボーク 'デバイスに対応するリーフに至るパス上 のノードに設定されたノードキーを更新し、 更新ノードキーをリボークデバイス 以外のリーフデバイスにおいてのみ復号可能な暗号化キ一として構成した更新サ ブ E K Bを生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供した末端ノードから自己のサブルートに至るパス上のノードキーを更 新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位ェン ティティまで、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実 行して、 リボ一クデバイスからルートに至るパス上のノードキー更新を行い、 キ 一更新により生成された更新サブ E K Bの前記キー発行セン夕 (K D C ) への登 録処理を行うことにより、 デバイスのリボーク処理を実行することを特徴とする 請求の範囲第 3 3項に記載の暗号鍵プロックを用いた情報処理方法。
3 8 . 下位エンティティのリボーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリボーク ·エンティティに対応する末端ノ ードに至るパス上のノードに設定されたソ一ドキーを更新した更新サブ E K Bを 生成して上位エンティティに送信し、 上位エンティティは更新サブ E K Bを提供 した末端ノードから自己のサブルートに至るパス上のノードキーを更新した更新 サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティま で、 エンティティ単位での更新サブ E K B生成及び送信処理を順次実行して、 リ ボーク ·エンティティからルートに至るパス上のノードキー更新を行い、 キ一更 新により生成された更新サブ E K Bの前記キー発行セン夕 (K D C ) への登録処 理を行うことにより、 エンティティ単位のリボーク処理を実行することを特徴と する請求の範囲第 3 3項に記載の暗号鍵ブロックを用いた情報処理方法。
3 9 . 下位エンティティのリボーク処理を実行するエンティティは、 ェンティテ ィ内の頂点ノード (サブルート) からリボーク 'エンティティに対応する末端ノ 一ドに至るパス上の、 該末端ノードを除くノードに設定されたノードキーを更新 した更新サブ E K Bを生成して上位エンティティに送信し、 上位エンティティは 更新サブ E K Bを提供した末端ノードから自己のサブルートに至るパス上のノー ドキーを更新した更新サブ E K Bを生成してさらに上位エンティティに送信し、 最上位エンティティまで、 エンティティ単位での更新サブ E K B生成及び送信処 理を順次実行して、 リボーク ·エンティティからルートに至るパス上のリボーク
•エンティティに対応する末端ノードを除くノ一ドキー更新を行い、 キー更新に より生成された更新サブ E K Bの前記キー発行センタ (K D C ) への登録処理を 行うことにより、 エンティティ単位のリボーク処理を実行することを特徴とする 請求の範囲第 3 3項に記載の暗号鍵プロックを用いた情報処理方法。
4 0 . 複数のデバイスをリーフとして構成したッリーのル一トからリ一フまでの パス上のルート、 ノード、 及びリーフに各々キーを対応付けたキーヅリーを構成 し、 該キーツリーを構成するパスを選択して選択パス上のキー更新、 及び下位キ 一による上位キーの暗号化処理を実行して特定デバイスにおいてのみ復号可能な 有効化キープロヅク (E K B ) を生成してデバイスに提供する情報処理システム における有効化キープロヅク (E K B ) 生成処理をコンピュータ 'システム上で 実行せしめるコンビュ一夕 · プログラムを提供するプログラム提供媒体であって、 前記コンピュータ · プログラムは、
前記キーツリ一を構成する部分ヅリーとしてのサブヅリ一を管理する複数のェ ンティティにおいて、 該サブヅリーに属するノード又はリーフに対応して設定さ れるキーのみに基づくサブ有効化キーブロック (サブ EKB) を生成するステヅ プと、
キー発行セン夕 (KD C) において、 前記複数のエンティティの生成するサブ 有効化キーブロック (サブ EKB) を用いて、 選択されたエンティティにおいて のみ復号可能な有効化キーブロック (EKB) を生成するステップとを含むこと を特徴とするプログラム提供媒体。
PCT/JP2001/005146 2000-06-15 2001-06-15 System and method for processing information using encryption key block WO2001099331A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA002379476A CA2379476C (en) 2000-06-15 2001-06-15 System and method for processing information using encryption key block
MXPA02001533A MXPA02001533A (es) 2000-06-15 2001-06-15 Sistema de procesamiento de informacion y metodo que utiliza bloque de claves de criptografiado.
EP01938704A EP1204236A4 (en) 2000-06-15 2001-06-15 SYSTEM AND METHOD FOR PROCESSING INFORMATION USING ENCRYPTION KEY BLOCK
US10/048,658 US7269257B2 (en) 2000-06-15 2001-06-15 System and method for processing information using encryption key block
HK03104427.2A HK1053556B (zh) 2000-06-15 2003-06-19 使用了加密密鑰組的信息處理系統及方法
US11/879,639 US7957537B2 (en) 2000-06-15 2007-07-18 Information processing system and method using encryption key block

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2000179693A JP2001358707A (ja) 2000-06-15 2000-06-15 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2000179694A JP4120135B2 (ja) 2000-06-15 2000-06-15 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
JP2000-179693 2000-06-15
JP2000-179694 2000-06-15

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10048658 A-371-Of-International 2001-06-15
US11/879,639 Continuation US7957537B2 (en) 2000-06-15 2007-07-18 Information processing system and method using encryption key block

Publications (1)

Publication Number Publication Date
WO2001099331A1 true WO2001099331A1 (en) 2001-12-27

Family

ID=26593985

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/005146 WO2001099331A1 (en) 2000-06-15 2001-06-15 System and method for processing information using encryption key block

Country Status (8)

Country Link
US (1) US7957537B2 (ja)
EP (1) EP1204236A4 (ja)
KR (1) KR100840823B1 (ja)
CN (1) CN100490369C (ja)
CA (1) CA2379476C (ja)
HK (1) HK1053556B (ja)
MX (1) MXPA02001533A (ja)
WO (1) WO2001099331A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004025533A1 (ja) * 2002-09-11 2004-03-25 Sony Corporation ライセンス管理装置、ライセンス管理方法、並びにコンピュータ・プログラム
EP1496440A1 (en) * 2002-04-15 2005-01-12 Sony Corporation Information management device, method, recording medium, and program
WO2005074186A1 (en) * 2004-02-02 2005-08-11 Samsung Electronics Co., Ltd. Method of assigning user keys for broadcast encryption
US7606557B2 (en) 2003-04-01 2009-10-20 Mi Kyoung Park Mobile communication terminal having a function of reading out information from contactless type communication tag and method for providing information of whether an article is genuine or not

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003229843A (ja) 2002-01-31 2003-08-15 Sony Corp ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体
KR100940202B1 (ko) * 2002-08-29 2010-02-10 삼성전자주식회사 일방향 함수를 사용하여 계층적으로 암호화하는 장치 및방법
JP3821768B2 (ja) * 2002-09-11 2006-09-13 ソニー株式会社 情報記録媒体、情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP4432350B2 (ja) * 2003-04-18 2010-03-17 ソニー株式会社 データ処理方法、そのプログラム、その装置と受信装置
KR100717005B1 (ko) * 2005-04-06 2007-05-10 삼성전자주식회사 폐기 키를 결정하는 방법 및 장치와 이것을 이용하여복호화하는 방법 및 장치
CN100438614C (zh) * 2006-02-16 2008-11-26 清华大学深圳研究生院 分布式非对称视频会议安全系统的实现方法
JP4823717B2 (ja) 2006-02-28 2011-11-24 株式会社日立製作所 暗号通信システム、端末状態管理サーバ、暗号通信方法、および端末状態管理方法
US8761402B2 (en) * 2007-09-28 2014-06-24 Sandisk Technologies Inc. System and methods for digital content distribution
FR2923668B1 (fr) * 2007-11-13 2010-04-23 Eads Defence And Security Syst Procede et systeme de distribution de cles cryptographiques dans un reseau hierarchise.
US9729316B2 (en) * 2008-02-27 2017-08-08 International Business Machines Corporation Unified broadcast encryption system
TWI389536B (zh) * 2008-11-07 2013-03-11 Ind Tech Res Inst 階層式金鑰為基礎之存取控制系統與方法,以及其認證金鑰交換方法
KR101252549B1 (ko) * 2008-11-21 2013-04-08 한국전자통신연구원 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치
US9083685B2 (en) * 2009-06-04 2015-07-14 Sandisk Technologies Inc. Method and system for content replication control
EP2507708B1 (en) * 2009-12-04 2019-03-27 Cryptography Research, Inc. Verifiable, leak-resistant encryption and decryption
CN102004889B (zh) * 2010-11-30 2012-10-03 石家庄开发区冀科双实科技有限公司 一种树状分层系统中分层数据加密方法
US8638935B2 (en) * 2012-01-12 2014-01-28 Apple Inc. System and method for key space division and sub-key derivation for mixed media digital rights management content
JP6029936B2 (ja) 2012-11-02 2016-11-24 株式会社東芝 通信制御装置、通信装置およびプログラム
JP5992295B2 (ja) 2012-11-02 2016-09-14 株式会社東芝 通信制御装置、通信装置およびプログラム
JP2015056861A (ja) * 2013-09-13 2015-03-23 株式会社東芝 復号装置、暗号化装置、方法、プログラム、記録媒体および製造方法
WO2015097834A1 (ja) * 2013-12-26 2015-07-02 株式会社東芝 通信制御装置、通信制御方法およびプログラム
EP3661118B1 (en) * 2014-01-31 2023-08-23 Cryptometry Canada Inc. System and method for performing secure communications
CN103997405B (zh) * 2014-05-28 2017-10-17 大唐移动通信设备有限公司 一种密钥生成方法及装置
JP2016032247A (ja) * 2014-07-30 2016-03-07 富士通株式会社 認証局装置、認証局プログラム、及び認証局運用方法
CN108156112B (zh) * 2016-12-02 2021-06-22 成都鼎桥通信技术有限公司 数据加密方法、电子设备及网络侧设备
JP2018157246A (ja) 2017-03-15 2018-10-04 株式会社東芝 管理装置、および管理方法
US11128452B2 (en) * 2017-03-25 2021-09-21 AVAST Software s.r.o. Encrypted data sharing with a hierarchical key structure
CN108063756B (zh) * 2017-11-21 2020-07-03 阿里巴巴集团控股有限公司 一种密钥管理方法、装置及设备
US10715317B2 (en) * 2017-12-12 2020-07-14 International Business Machines Corporation Protection of confidentiality, privacy and financial fairness in a blockchain based decentralized identity management system
CN109474430B (zh) * 2019-01-10 2022-03-22 四川虹微技术有限公司 一种集群密钥生成方法、装置及其存储介质
CN110784318B (zh) * 2019-10-31 2020-12-04 广州华多网络科技有限公司 群密钥更新方法、装置、电子设备、存储介质及通信系统
CN111131144B (zh) * 2019-11-05 2021-11-16 远景智能国际私人投资有限公司 IoT设备管理方法、装置、服务器及存储介质
US11747902B2 (en) 2020-03-11 2023-09-05 Apple Inc. Machine learning configurations modeled using contextual categorical labels for biosignals
CN116074078B (zh) * 2023-01-10 2023-07-14 广东浩传管理服务有限公司 一种基于数据加密的网络通信安全监测系统及方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187013A (ja) 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0788080B1 (en) * 1996-01-31 2003-05-28 Canon Kabushiki Kaisha An accounting apparatus and an information distribution system using the accounting apparatus
US6223286B1 (en) * 1996-03-18 2001-04-24 Kabushiki Kaisha Toshiba Multicast message transmission device and message receiving protocol device for realizing fair message delivery time for multicast message
US5748736A (en) * 1996-06-14 1998-05-05 Mittra; Suvo System and method for secure group communications via multicast or broadcast
US6049878A (en) * 1998-01-20 2000-04-11 Sun Microsystems, Inc. Efficient, secure multicasting with global knowledge
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6449643B1 (en) * 1998-05-14 2002-09-10 Nortel Networks Limited Access control with just-in-time resource discovery
US6813611B1 (en) * 1999-06-08 2004-11-02 International Business Machines Corporation Controlling, configuring, storing, monitoring and maintaining accounting of bookkeeping information employing trees with nodes having embedded information
US6240188B1 (en) * 1999-07-06 2001-05-29 Matsushita Electric Industrial Co., Ltd. Distributed group key management scheme for secure many-to-many communication
IL130963A (en) * 1999-07-15 2006-04-10 Nds Ltd Key management for content protection
US6727927B1 (en) * 2000-03-08 2004-04-27 Accenture Llp System, method and article of manufacture for a user interface for a knowledge management tool
US6760721B1 (en) * 2000-04-14 2004-07-06 Realnetworks, Inc. System and method of managing metadata data

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11187013A (ja) 1997-12-24 1999-07-09 Ibm Japan Ltd 暗号鍵配信システム

Non-Patent Citations (9)

* Cited by examiner, † Cited by third party
Title
CHUNG KEI WONG; MOHAMED GOUDA; SIMON S LAM: "Secure Group Communications Using Key Graphs", TRANSACTIONS ON NETWORKING, vol. 8, 2000, pages 16 - 30
DONDETI L.R. ET AL.: "A dual encryption protocol for scalable secure mulitcasting", PROCEEDINGS OF IEEE INTERNATIONAL SYMPOSIUM ON COMPUTERS AND COMMUNICATIONS, 1999, pages 2 - 8, XP002945843 *
LAKSHMINATH R. DONDETI; ASHOK SAMAL; SARIT MUKHERJEE: "A Dual Encryption Protocol for Scalable Secure Multicasting", IEEE SYMPOSIUM ON COMPUTERS AND COMMUNICATION, 1998, pages 2 - 8
M MOYER; J RAO; P ROHATGI: "A survey of security issues in multicast communications", IEEE NETWORK, 1999, pages 12 - 23
MARCEL WALDVOGEL; GERMANO CARONNI; DAN SUN; NATHALIE WEILER; BERNHARD PLATTNER: "The VersaKey Framework: Versatile Group Key Management", IEEE JOURNAL ON SELECTED AREAS IN COMMUNICATIONS, vol. 17, 1999, pages 1 - 16
MOYER M.J. ET AL.: "A survey of security issues in multicast communications", IEEE NETWORK, vol. 13, no. 6, November 1999 (1999-11-01) - December 1999 (1999-12-01), pages 12 - 23, XP002945844 *
See also references of EP1204236A4
WALDVOGEL M. ET AL.: "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, XP002945845 *
WONG C.K. ET AL.: "Secure group communications using key graphs", PROCEEDINGS OF ACM SIGCOMM'98, 1998, pages 68 - 79, XP002945846 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1496440A1 (en) * 2002-04-15 2005-01-12 Sony Corporation Information management device, method, recording medium, and program
EP1496440A4 (en) * 2002-04-15 2007-11-07 Sony Corp INFORMATION MANAGEMENT DEVICE, PROCEDURE, RECORDING MEDIUM AND PROGRAM
US7503073B2 (en) 2002-04-15 2009-03-10 Sony Corporation Information managing apparatus and method, recording medium, and program
US7861313B2 (en) 2002-04-15 2010-12-28 Sony Corporation Information managing apparatus and method, recording medium, and program
WO2004025533A1 (ja) * 2002-09-11 2004-03-25 Sony Corporation ライセンス管理装置、ライセンス管理方法、並びにコンピュータ・プログラム
US7606557B2 (en) 2003-04-01 2009-10-20 Mi Kyoung Park Mobile communication terminal having a function of reading out information from contactless type communication tag and method for providing information of whether an article is genuine or not
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
CN100490369C (zh) 2009-05-20
HK1053556A1 (en) 2003-10-24
US20070263875A1 (en) 2007-11-15
CN1389042A (zh) 2003-01-01
US7957537B2 (en) 2011-06-07
CA2379476A1 (en) 2001-12-27
MXPA02001533A (es) 2002-07-02
KR100840823B1 (ko) 2008-06-23
EP1204236A1 (en) 2002-05-08
EP1204236A4 (en) 2008-03-05
HK1053556B (zh) 2009-10-02
CA2379476C (en) 2009-11-10
KR20020041804A (ko) 2002-06-03

Similar Documents

Publication Publication Date Title
JP4581246B2 (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体
JP4710132B2 (ja) 情報処理システム、および情報処理方法、並びにプログラム記録媒体
WO2001099331A1 (en) System and method for processing information using encryption key block
JP4078802B2 (ja) 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体
JP4023083B2 (ja) 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
JP4622087B2 (ja) 情報処理装置、および情報処理方法、並びにプログラム記憶媒体
KR100746880B1 (ko) 정보 처리 시스템, 정보 처리 방법 및 정보 기록 매체와프로그램 제공 매체
JP2001358707A (ja) 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体
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 ID IN KR MX 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/2002/00136/MU

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2379476

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: PA/a/2002/001533

Country of ref document: MX

WWE Wipo information: entry into national phase

Ref document number: 1020027001922

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2001938704

Country of ref document: EP

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

Country of ref document: CN

WWP Wipo information: published in national office

Ref document number: 2001938704

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10048658

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1020027001922

Country of ref document: KR