WO2007029285A1 - データ配信システム及び発行装置及び端末装置及び中間ノード - Google Patents

データ配信システム及び発行装置及び端末装置及び中間ノード Download PDF

Info

Publication number
WO2007029285A1
WO2007029285A1 PCT/JP2005/016008 JP2005016008W WO2007029285A1 WO 2007029285 A1 WO2007029285 A1 WO 2007029285A1 JP 2005016008 W JP2005016008 W JP 2005016008W WO 2007029285 A1 WO2007029285 A1 WO 2007029285A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
license
data
original
editing
Prior art date
Application number
PCT/JP2005/016008
Other languages
English (en)
French (fr)
Inventor
Tatsuya Tsurukawa
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to US11/991,139 priority Critical patent/US20090055935A1/en
Priority to PCT/JP2005/016008 priority patent/WO2007029285A1/ja
Priority to EP05781556A priority patent/EP1921554A1/en
Priority to JP2007534189A priority patent/JPWO2007029285A1/ja
Publication of WO2007029285A1 publication Critical patent/WO2007029285A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing
    • G06F21/1075Editing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Definitions

  • the present invention relates to a digital content usage right management system.
  • the present invention relates to a multi-stage and multi-tier license distribution technique that allows an intermediate node to edit a license within a range permitted by a license issuer.
  • a content usage right management system that restricts the use of digital content such as video, music, documents, and images by a license has been proposed. For example, for a license for which the content usage period is 1 January 2005 and the power is specified until 31 December 2005, the user who acquired the license will only be able to use the content within the specified period. Can be used.
  • the license is provided to the user by the content holder who is the copyright holder of the content corresponding to the license.
  • Content holders often outsource content delivery to content pronoiders. This is due to the following reason, for example.
  • a content holder provides licenses to a large number of users in exchange for billing or the like, it is complicated because all the individual users must be managed and billing processing and the like must be performed. For this reason, it is more efficient in terms of business if the content holder outsources it to the content provider rather than distributing it by himself.
  • the content itself of the license itself is often managed not by the content holder but by the content provider.
  • the following form force S is assumed.
  • the content holder does not manage editing / issuing of licenses according to billing for individual users. Instead, the content holder provides a template license to the content provider.
  • the content provider receives the template license Perform fine-grained license editing and issue management within the scope of the sense.
  • Patent Document 1 JP 2004-355100 A
  • Patent Document 2 Japanese Patent Laid-Open No. 2003-87235
  • An object of the present invention is to provide a license distribution system that entrusts individual user management to a content pronoider, prevents unauthorized license editing by a content provider, and permits appropriate license editing. .
  • the data distribution system of the present invention includes: A data distribution system comprising: an issuing device that issues data; a plurality of intermediate nodes that relay the data issued by the issuing device; and a terminal device that receives the data via the plurality of intermediate nodes.
  • the issuing device is
  • Issuing relay data including original data to be distributed to the terminal device, and original editing permission information indicating the content of the change that allows the change of the original data and allows the change;
  • At least one of the plurality of intermediate nodes is
  • the terminal device includes
  • the relay data to which the edited data is added is received by at least one of the plurality of intermediate nodes.
  • the original data included in the relay data issued by the issuing device is:
  • An original license that grants a predetermined right to the terminal device is included.
  • the issuing device of the present invention includes:
  • an issuing device that issues predetermined data and distributes the issued predetermined data to a terminal device via a plurality of intermediate nodes
  • Relay data including original data to be distributed to the terminal device, and original editing permission information indicating the content of the change that allows the change of the original data to at least one of the plurality of intermediate nodes.
  • An issuing unit that issues the relay data issued by the issuing unit;
  • a node-side receiving unit that receives relay data including original data to be distributed to the terminal device, and original editing permission information indicating contents to be permitted to be changed and allowed to be changed, as a relay target;
  • the editing data at least partly changed with respect to the original data is generated, and the generated editing data is An adding unit to be added to the relay data received by the node side receiving unit;
  • a node-side transmitting unit that transmits the relay data, to which the edited data has been added by the adding unit, as new relay data for relaying;
  • the additional unit includes:
  • a difference indicating a change to the original data is acquired as self-difference information.
  • the edit data is generated.
  • the additional unit includes:
  • a difference verification unit is provided for verifying whether the self-difference information is within a range of contents permitted by the original editing permission information.
  • the node-side receiving unit includes:
  • Original data to be distributed to the terminal device Original editing permission information indicating the contents of the original data that are allowed to be changed and changed, and other node changes that are added by changing the original data by other intermediate nodes
  • Relay data including data as a relay target
  • the additional part is:
  • the terminal device of the present invention includes:
  • the relay data is relayed through the plurality of intermediate nodes
  • Original data to be distributed Original data to be distributed, original editing permission information indicating the content of the original data that is permitted to be changed and at least one of the plurality of intermediate nodes, and at least one of the plurality of intermediate nodes
  • a terminal-side receiving unit that receives relay data including any other node change data added by changing the original data
  • the terminal-side relay data verification unit Based on the original data, the original editing permission information, and the other node change data included in the relay data received by the terminal-side receiving unit, whether or not the relay data received by the terminal-side receiving unit is valid. With the terminal-side relay data verification unit to be verified
  • the data distribution system of the present invention includes:
  • a data distribution system comprising: an issuing device that issues data; a plurality of intermediate nodes that relay the data issued by the issuing device; and a terminal device that receives the data via the plurality of intermediate nodes.
  • the issuing device is
  • Issuing relay data including original data to be distributed to the terminal device, at least one of the plurality of intermediate nodes,
  • the terminal device includes
  • the relay data in which the self-difference information is added by at least one of the plurality of intermediate nodes is received.
  • the intermediate node of the present invention includes:
  • a node-side receiving unit that receives relay data including original data to be distributed to the terminal device as a relay target;
  • the difference with respect to the original data is acquired as self-difference information, and the self-difference information is added by the adding unit that adds the acquired self-difference information to the relay data received by the node-side receiving unit.
  • a node-side transmitter that transmits the relay data as new relay data for relaying;
  • the node-side receiving unit includes:
  • Relay data including original data to be distributed to the terminal device and original edit permission information indicating the content of the change that allows the change of the original data is accepted as a relay target
  • the additional part is:
  • a difference verification unit is provided for verifying whether the self-difference information is within a range of contents permitted by the original editing permission information included in the relay data received by the node-side reception unit.
  • the node-side receiving unit includes:
  • Original data to be distributed to the terminal device Original edit permission information indicating the contents of the original data that are allowed to be changed and allowed to be changed, and other nodes to which other intermediate nodes have added changes to the original data as differences
  • Receive relay data including difference information as a relay target
  • the additional part is:
  • the relay data received by the node side receiving unit Based on the original editing permission information and the other node difference information included in the relay data received by the node side receiving unit, it is determined whether the relay data received by the node side receiving unit is valid. It features a node-side relay data verification unit for verification.
  • the node side receiving unit includes:
  • Relay data including original data to be distributed to the terminal device and other node difference information in which another intermediate node has added a change to the original data as a difference. Received as a relay target,
  • the additional part is:
  • a node-side reflection data generation unit for generating reflection data is provided.
  • the terminal device of the present invention includes:
  • the terminal-side receiving unit Based on the original editing permission information and the other node difference information included in the relay data received by the terminal-side receiving unit, it is verified whether the relay data received by the terminal-side receiving unit is valid. It is characterized by having a terminal-side relay data verification unit.
  • the terminal device further includes:
  • a terminal-side reflected data generation unit for generating reflected data is provided.
  • the intermediate node of the present invention is
  • a node-side receiving unit that receives relay data including original data to be distributed to the terminal device as a relay target;
  • the original data included in the relay data received by the node-side receiving unit An adder that obtains information indicating content to be changed as self-editing permission information, and adds the acquired self-editing permission information to the relay data received by the node-side receiving unit;
  • a node-side transmission unit that transmits the relay data, to which the self-edit permission information has been added by the addition unit, as new relay data for relaying;
  • the node-side receiving unit includes:
  • Receive relay data including original data to be distributed to the terminal device and other node editing permission information indicating information added by other intermediate nodes and allowing the change of the original data and indicating the content of the change.
  • the additional part is:
  • a self-permission information verifying unit that verifies whether the self-edit permission information is valid based on the other-node edit permission information included in the relay data received by the node-side receiving unit; To do.
  • the node-side receiving unit includes:
  • Receiving relay data including information added by another intermediate node and allowing other nodes to edit the original data and other node editing permission information indicating the contents to be changed.
  • a node-side relay data verification unit is provided.
  • individual user management can be outsourced to a content provider, and unauthorized license editing by the content provider can be prevented, and appropriate license editing can be performed. It is possible to provide a license distribution system that permits collection.
  • FIG. 1 is a diagram showing a system configuration of the license distribution system 1000 according to the first embodiment.
  • License distribution system 1000 issues license 1 (an example of relay data), license issuer device 2 (an example of issuing device), and license 1 is relayed, and an editing license (an example of editing data), which will be described later, is licensed.
  • Intermediate node 3 (N of 1 to N) to be added to 1 and a plurality of terminal devices 4 that finally receive license 1 are provided.
  • the license issuer device 2, the intermediate node 3, and the terminal device 4 are connected to the network 5.
  • Network 5 can be wired or wireless.
  • the terminal device 4 may be simply referred to as a terminal below.
  • License 1 is a content usage right generated by the license issuer. License 1 includes usage right information related to usage rights such as the viewing period of video content and the number of times of viewing. In the following, regarding the license 1, when the intermediate node 3 transmits, the license 1 may be referred to as the latest license. In addition, when the intermediate node 3 or the terminal 4 receives the license 1, the license 1 may be referred to as a reception license.
  • the license issuer device 2 is a device that generates the license 1. Normally, the license issuer device 2 is owned by the license issuer.
  • the terminal 4 is a device that obtains the content in advance and listens to the content based on the received license 1. Normally, the terminal 4 is owned by the user.
  • the intermediate node 3 receives the license 1 from the license issuer device 2 or the upper intermediate node 3, and makes an appropriate edit to the received license 1 or a lower level that does not edit anything. Distribute (relay) license 1 to intermediate node 3 or terminal 4. Through Usually, the intermediate node 3 is owned by an intermediary such as a content pronoida.
  • License 1 passes through a plurality of intermediate nodes 3 before reaching terminal 4 that uses the content.
  • each intermediate node 3 may edit the contents of license 1.
  • FIG. 2 is a diagram showing an outline of the operation of the license distribution system 1000.
  • Figure 2 shows the case where the license is distributed to the terminal 4 via the intermediate node (1) and the intermediate node (2).
  • Intermediate node (1) and intermediate node (2) edit the contents of license 1.
  • the license issuer apparatus 2 issues a license la including an original license (an example of original data) and original editing permission information, and transmits it to the intermediate node (1).
  • the intermediate node (1) generates the license lb by adding the editing license 1 to the received license la, and transmits the license lb to the intermediate node (2).
  • the intermediate node (2) adds the editing license 2 to the received license lb to generate the license lc, and transmits the license lc to the terminal 4.
  • the terminal 4 receives the license lc transmitted from the intermediate node (2). More detailed operation will be described later.
  • FIG. 3 is a diagram showing an appearance of the license issuer apparatus 2 according to the first embodiment.
  • the license issuer device 2 in FIG. 3 is a computer system. Further, the intermediate node 3 and the terminal 4 (not shown) are also computer systems, and have the same appearance as the license issuer apparatus 2 in FIG.
  • the license issuer device 2 includes a system unit 830, a liquid crystal display device 81 3, a keyboard 814, a mouse 815, a compact disk device (CDD) 818, and a printer 819, which are connected by a cable. Speak.
  • the license issuer device 2 is connected to the network 5.
  • the license issuer apparatus 2 can communicate with the intermediate node 3, the terminal 4, and the like via the network 5.
  • FIG. 4 is a hardware configuration diagram of the license issuer apparatus 2.
  • the hardware configurations of the intermediate node 3 and the terminal 4 are the same as the hardware configuration of the license issuer apparatus 2 in FIG.
  • the license issuer apparatus 2 includes a CPU (Central Processing Unit) 810 that executes a program.
  • CPU810 via bus 825, ROM811, RAM812, liquid crystal display 813, keyboard 814, mouse 815, communication board 816, FDD (Flexible Disk Drive) 817, CDD818, printer 819, magnetic disk device 820, etc.
  • the communication board 816 is connected to the network 5.
  • the magnetic disk device 820 stores an operating system (OS) 821, a window system 822, a program group 823, and a file group 824.
  • Program group 823 is C
  • the program group 823 stores a program for executing a function described as "-unit" in the description of the first to fourth embodiments described below.
  • the program is read and executed by the CPU 810.
  • Embodiments 1 to 4 may be implemented by firmware stored in ROM 811! /. Alternatively, it may be implemented by software alone, hardware alone, a combination of software and hardware, or a combination of firmware.
  • programs for carrying out the embodiments described below include magnetic disk device 820, FD (Flexible Disk), optical disk, CD (compact disk), MD (mini disk), DV D (Digital Versatile Disk), etc. It may be stored using a recording apparatus using the recording medium.
  • FIG. 5 is a diagram illustrating another example of the hardware configuration of the terminal device 4.
  • the terminal device 4 is assumed to be an AV (Audio and Visual) device for home use such as STB (Set Top Box) in addition to the computer system shown in FIGS.
  • FIG. 5 is a hardware configuration diagram when an AV device is assumed as the terminal device 4.
  • the terminal device 4 shown in FIG. 5 includes a CPU (Central Processing Unit) 810 that executes a program.
  • the CPU 810 is connected to a ROM 811, a RAM 812, a liquid crystal display device 813, a remote control receiver 851, a communication board 816, a magnetic disk device 820, etc. via a node 825.
  • Remote control receiving unit 851 accepts an operation from remote control device 852.
  • the communication board 816 is connected to the network 5. Others are the same as in FIG.
  • FIG. 6 is a configuration diagram of the license issuer apparatus 2.
  • the license issuer apparatus 2 includes an issuer-side license generator 31 (an example of an issuer) and an issuer-destination public key.
  • a payment unit 34, an issuer encryption processing unit 35, an issuer private key storage unit 36, an issuer signature generation unit 37, and an issuer transmission unit 38 are provided.
  • the issuer-side license generation unit 31 includes an original license generation unit 32 and an original editing permission information generation unit 33.
  • the issuer-side license generation unit 31 generates a license 1.
  • the original license generation unit 32 of the issuing side license generation unit 31 generates an original license.
  • the original editing permission information generating unit 33 generates original editing permission information. The original license and original editing permission information will be described later.
  • the issuer destination public key storage unit 34 stores a destination public key 39 that is a public key of a destination intermediate node that transmits the generated license (the latest license 403 in FIG. 6).
  • the issuing side encryption key processing unit 35 encrypts the license generated by the issuing side license generating unit 31 with the destination public key 39 stored in the issuing side destination public key storage unit 34.
  • the issuer private key storage unit 36 stores the private key 30.
  • the issuer-side signature generation unit 37 generates an electronic signature using the secret key 30 stored in the issuer-side secret key storage unit 36.
  • the issuing side transmission unit 38 transmits the license added with the signature by the issuing side signature generation unit 37 to the predetermined intermediate node 3 that is the transmission destination as the latest license 403.
  • FIG. 7 is a block diagram showing the detailed structure of the license.
  • FIG. 7 shows the license 1 in the initial state generated by the issuer license generation unit 31 of the license issuer apparatus 2.
  • License 1 in the initial state includes original license 101, original editing permission information 102, and issuer signature 301. “Original” indicates that the information is generated by the license issuer apparatus 2.
  • the original license 101 is an initial license designated by the license issuer for specific content.
  • the original editing permission information 102 is information that defines a permission range in which the license issuer permits the intermediate node 3 to edit the license. As described later, the original editing permission information 102 indicates the contents that allow and change who (which node), what (what is targeted), and how it can be edited. Holds information.
  • Original license 101 is issued by issuer signature 201 Is added.
  • the original editing permission information 102 has an issuer signature 202 added thereto.
  • FIG. 8 shows an example of the original license 101 generated by the original license generation unit 32.
  • the original license 101 will be described with reference to FIG. In the original license 101 in FIG. 8, the following items are specified as usage rights.
  • the original license 101 is shown in XML (extensible Markup Language) format.
  • XML extensible Markup Language
  • the description format is not limited to XML. It can be written in any language.
  • the original editing permission information 102 will be described with reference to FIG. FIG. 9 shows an example of the original editing permission information 102 generated by the original editing permission information generating unit 33.
  • the original edit permission information 102 is information that defines the permission range that the license issuer allows the intermediate node 3 to edit licenses. , Information such as how to edit can be held.
  • FIG. 9 shows that the intermediate node 3 shown in Security Centerl can edit the start date / time of the viewable period (Start tag) in the future direction, and the end date / time of the viewable period (End tag). Indicates that it can be edited in the past direction. Further, it is indicated that the intermediate node 3 indicated by Security Center 2 can edit the viewable number of times (Count tag) within a range equal to or less than the number of times specified by the original license 101.
  • the original editing permission information 102 is shown in XML format. Any format is not limited.
  • the issuer signature 201 is an issuer's signature for the original license 101.
  • the issuer signature 201 is generated by the issuer license generation unit 31.
  • the issuer license generation unit 31 generates a hash value of the original license 101 by a hash generation unit (not shown) that generates a hash value by using a hash algorithm such as SHA-1 or MD5.
  • the issuing side license generating unit 31 encrypts the hash value generated by the hash generating unit with the private key 30 stored in the issuing side private key storage unit 36 to generate the issuer signature 201.
  • the license issuer apparatus 2 can prevent the original license from being falsified by the intermediate node by the issuer signature 201.
  • issuer signature 202 of FIG. 7 will be described.
  • the issuer signature 202 is generated in the same manner as the issuer signature 201.
  • the issuer signature 202 is an issuer signature for the original editing permission information 102.
  • the issuer signature 202 is generated by the issuer license generation unit 31.
  • the issuer license generator 31 generates a hash value of the original edit permission information 102 by a hash generator (not shown) that generates a hash value by using a hash algorithm such as SHA-1 or MD5. .
  • the issuer-side license generation unit 31 encrypts the hash value of the original edit permission information 102 generated by the hash generation unit with the secret key 30 stored in the issuer-side secret key storage unit 36 and issues it.
  • Person signature 202 is generated.
  • the license issuer apparatus 2 can prevent the original editing permission information from being falsified by the intermediate node by the issuer signature 202.
  • the issuer license generation unit 31 of the license issuer apparatus 2 concatenates the original license 101 with the issuer signature 201 and the original edit permission information 102 with the issuer signature 202, and issues an encryption process on the issuer side. Output to part 35. This connected whole is called a connected license.
  • the issuing encryption processing unit 35 encrypts the concatenated license with the destination public key 39, which is the public key of the next intermediate node 3. Issue.
  • the license data (concatenated license) is not directly encrypted with the public key, but the license data is first encrypted with a common key (usually called a “session key”).
  • the common key (session key) may be encrypted with the public key and appended to the encrypted license data.
  • the issuer encryption processor 35 outputs the encrypted concatenated license to the issuer signature generator 37.
  • the issuer signature generation unit 37 generates an encrypted linked license hash value in the same manner as the issuer signature 201 generation method.
  • the issuer-side signature generation unit 37 encrypts this hash value with the secret key 30 to generate an issuer signature 301, and assigns it to the concatenated license to constitute the license 1.
  • FIG. 13 is a configuration diagram of the intermediate node 3 according to the first embodiment.
  • the intermediate node 3 of the first embodiment includes an additional unit including a node side license verification unit 11 (node side relay data verification unit), an edit information verification unit 12 (difference verification unit), and a node side license generation unit 13. 10, node side encryption processing unit 14, node side signature generation unit 15, node side secret key storage unit 16, node side transmission unit 17, node side reception unit 18, and node side destination public key storage Unit 19 and edit information storage unit 23 (self-difference information storage unit).
  • a node side license verification unit 11 node side relay data verification unit
  • an edit information verification unit 12 difference verification unit
  • node side license generation unit 13 10
  • node side encryption processing unit 14 node side signature generation unit
  • node side secret key storage unit node side transmission unit 17, node side reception unit 18, and node side destination public key storage Unit 19
  • edit information storage unit 23 self-difference information storage unit
  • the node side secret key storage unit 16 stores the secret key 22.
  • the node-side destination public key storage unit 19 stores a destination public key 112 that is a public key of the intermediate node 3 or terminal 4 that is a license destination.
  • the node side receiving unit 18 receives a license. If the intermediate node in Figure 13 is an intermediate node (N), the license received is the latest license 403 sent by the intermediate node (N—1). is there.
  • the adding unit 10 adds a later-described editing license to the license received by the node-side receiving unit 18 (hereinafter sometimes referred to as a received license) to generate a new license.
  • the node side license verification unit 11 verifies the reception license received by the node side reception unit 18. This verification will be described later.
  • the editing information verification unit 12 acquires the editing information stored in the editing information storage unit 23, and verifies whether the acquired editing information is valid. This verification will be described later.
  • the node side license generation unit 13 edits the received license whose validity is verified by the node side license verification unit 11 and the editing information generated based on the editing information whose validity is verified by the editing information verification unit 12. Add a license and generate a new license.
  • the node side encryption key processing unit 14 encrypts the license created by the node side license generation unit 13 with the destination public key 112 stored in the node side destination public key storage unit 19.
  • the node-side signature generation unit 15 adds a signature to the encryption license encrypted by the node-side encryption key processing unit 14 using the secret key 22 stored in the node-side secret key storage unit 16.
  • the node side transmission unit 17 transmits the latest license 403 with the signature added by the node side signature generation unit 15 to another intermediate node or the terminal 4.
  • the edit information storage unit 23 stores edit information.
  • FIG. 14 shows that in the intermediate node that received the license, the node side license verification unit 11 of the addition unit 10 uses the secret key 22 stored in the node side secret key storage unit 16 to perform the encrypted connection shown in FIG. It is a figure which shows a mode that a license is decoded.
  • the additional caloring unit 10 of the intermediate node 3 edits the license within the range of the original editing permission information 102. That is, the adding unit 10 generates an editing license that is a license obtained by changing the original license within the range of the original editing permission information 102.
  • FIG. 15 is a diagram showing an example of the editing license 103 generated by the adding unit 10.
  • the node side license generation unit 13 of the additional unit 10 is verified by the node side license verification unit 11.
  • the received license and edit information (to be described later) verified by the edit information verification unit 12 are input.
  • the editing information is difference information indicating a partial or total change to the original license.
  • the node-side license generation unit 13 reflects the content (difference information) indicated by the editing information in the original license included in the received license, changes the original license to the content indicated by the editing information, and generates an editing license.
  • the usage right item shown in the editing license 103 in FIG. 15 is the same as the original license item.
  • the original license 101 in FIG. 8 has five items from ⁇ Start> to ⁇ Age>, and the edit license 103 is the same.
  • the start date / time power of the viewable period indicated by "Start>” has been changed from 0:00 on April 1, 2004, the original license to 0:00 on May 1, 2005, the future.
  • the end of the viewable period indicated by End> has been changed to 23:59 on May 31, 2005 in the past from 30:30 to 23:59 on September 30, 2004.
  • FIG. 16 is a block diagram showing a detailed structure of the license after being edited by the adding unit 10 of the intermediate node 3.
  • the editor signature 302 is generated and appended by the node-side signature generation unit 15 and will be described in detail later.
  • the edited license 1 includes an original license 101, original editing permission information 102, an editing license 103, an editor signature 3002, and the like.
  • the editor signature 203 will be described with reference to FIG.
  • the node side license generation unit 13 of the intermediate node 3 generates the edit license 103.
  • the editor signature 203 is generated in the same manner as the issuer signature 201 and the issuer signature 202 described with reference to FIGS.
  • the node side license generation unit 13 generates a hash value of the editing license 103 by a hash generation unit (not shown) that generates a hash value by using a hash algorithm such as SHA-1 or MD5.
  • the node-side license generation unit 13 encrypts the hash value of the edit license 103 generated by the hash generation unit using the secret key 22 stored in the node-side secret key storage unit 16 and edits it.
  • Person signature 203 is generated.
  • the node side license generation unit 13 assigns the editor signature 203 to the editing license 103. As shown in FIG. 18, the node-side license generation unit 13 obtains the edit license 103 with the editor signature 203. Append after 102
  • FIG. 18 is a diagram for explaining the appending of the editing license 103 and the generation of the editor signature 302.
  • the node-side license generation unit 13 appends the editing license 103 with the editor signature 203 after the original editing permission information 102 to link the original license 101 and the original editing permission information 102. Furthermore, a consolidated license is created by concatenating the editing license 103. Then, the node side license generation unit 13 outputs the concatenated license to which the editing license 103 is appended to the node side encryption key processing unit 14.
  • the node side encryption key processing unit 14 inputs the concatenated license and encrypts the whole concatenated license with the destination public key 39 as shown in FIG.
  • the destination public key 39 is a public key stored in the node side destination public key storage unit 19 and is the public key of the intermediate node 3 as the destination, or the public key of the terminal 4 as the destination. It is.
  • the node side encryption processing unit 14 outputs the concatenated license encrypted with the destination public key 112 to the node side signature generation unit 15.
  • the node-side signature generation unit 15 generates a hash value of the encrypted concatenated license, encrypts this nosh value with the secret key 22, and generates an editor signature 302.
  • the node side signature generation unit 15 assigns the generated editor signature 302 to the encrypted concatenated license.
  • the node-side transmission unit 17 transmits the concatenated license, to which the editor signature 302 has been given by the node-side signature generation unit 15, as the latest license 403 to the next intermediate node or terminal.
  • FIG. 19 is a block diagram showing a detailed structure of the license 1 after the append power of the editing license 103 is repeated by the N intermediate nodes 3 as shown in FIG.
  • N + l receives license 1 (an example of relay data) in Figure 19
  • each of edit license (1) 103 to edit license (N) 106 is an intermediate node (N + 1)
  • An editing license (an example of other node change data) generated by another intermediate node.
  • Each intermediate node 3 sequentially generates an edit license (1) 103 to an edit license (N) 106, and assigns an editor 1 signature 203 to an editor N signature 206.
  • Each intermediate node then appends the edit licenses 103 to 106 generated by itself to the reception license.
  • Each intermediate node repeats this append.
  • the intermediate node (N) 3 gives the editor N signature 303 for the entire license encrypted with the public key of the next recipient, and constitutes license 1 in FIG.
  • the license generated by the license issuer apparatus 2 the license editing by the intermediate node, and the structure thereof have been described.
  • the validity verification of the received license the validity verification of the license editing, and the license generation by the intermediate node 3 or the terminal 4 will be described.
  • the terminal device 4 includes a terminal side receiving unit 41, a terminal side license restoring unit 42 (terminal side reflected data generating unit), a terminal side license verifying unit 43 (terminal side relay data verifying unit), and a terminal side content using unit. 44 and a terminal side secret key storage unit 45.
  • the terminal side receiving unit 41 receives the license transmitted by the intermediate node 3.
  • the terminal side secret key storage unit 45 stores the secret key 46.
  • the terminal side license verification unit 43 verifies the license decrypted with the private key 46.
  • the terminal side license restoration unit 42 restores the received license decrypted with the secret key 46.
  • the terminal-side license restoration unit 42 will be described in Embodiment 2.
  • the terminal-side content use unit 44 reproduces content based on the received license.
  • FIG. 21 is a diagram illustrating the node side license verification unit 11 of the intermediate node 3. Further, the operation of the terminal side license verification unit 43 of the terminal 4 is the same as the operation of the node side license verification unit 11, and thus the description thereof is omitted.
  • FIG. 21 is a block diagram of the node-side license verification unit 11 provided in the intermediate node 3.
  • the node-side license verification unit 11 receives an original license 101, original edit permission information 102, edit license (1) 103 to edit license (N) 106 extracted from the received license card. Then, the node side license verification unit 11 determines whether or not the power is within the range of the license editing power original editing permission information 102 in the upper intermediate node 3, and verifies the validity of the editing in the upper intermediate node. The result 401 is output.
  • FIG. 22 is a flowchart of received license verification processing by the node-side license verification unit 11.
  • step ST1001 the node side license verification section 11 reads two licenses including the original license 101 and continuing in the order of old license power. For example, as shown in FIG. 19, when the received license 1 includes the original license 1 and the edit license (1) to the edit license (N), the node side license verification unit 11 determines that “the original license 1 and the edit license ( 1) ”,“ Editing license (1) and editing license (2) ”,“ Editing license (2) and editing license (3) ”, and so on.
  • step ST1003 the node side license verification unit 11 extracts the difference between the two licenses and obtains a list of changed tags. For example, assume that the Start> tag has been changed as shown in FIG. FIG. 23 shows the relationship of the Start> tag as in FIG. 8 and FIG. Editing license 1 in Fig. 23 corresponds to 103 editing licenses in Fig. 15. In the case of Fig. 23, the node side license verification unit 11 extracts ⁇ Start> tag.
  • step ST1004 the node side license verification unit 11 acquires one tag from the list of change tags.
  • step ST1006 the node-side license verification unit 11 searches the original edit permission information 102 for the change tag acquired immediately before from the tags that can be edited by the license edit node.
  • step ST1007 the node side license verification unit 11 determines the presence / absence of a tag. If there is a tag, the process proceeds to step ST1008.
  • FIG. 24 is a diagram in which portions related to Start> tag are extracted from the original editing permission information 102 of FIG. Since the description of ⁇ W hat> Start ⁇ What> t exists, the node side license verification unit 11 proceeds to the processing of Yes (ST1008) of S1007. Further, in the example of FIG. 24, the change is “Forward”, and therefore it is within the range. Therefore, the node side license verification unit 11 also proceeds to a Yes process in ST1008.
  • step ST1010 it is determined that the license editing is invalid, and the license verification process is terminated.
  • step ST1008 the node side license verification unit 11 determines whether or not the editing content of the corresponding tag is within the range of the original editing permission information, and if it is within the range, step ST1004 The same determination is repeated for the next change tag.
  • step ST1008 If there is no effort within the range in step ST1008, the node side license verification unit 11 determines that the license editing is invalid in step ST1010, and ends the license verification processing.
  • step ST1004 If there is no next tag in step ST1004, the node side license verification unit 11 returns to step ST1001 from step ST1005, reads the next two consecutive licenses, and makes the same determination. Do.
  • the node side license verification unit 11 determines the validity of all license editing, and if it is determined in step ST1002 that there are no more licenses to be determined, the process proceeds to step ST1009, where Judge that the editing is correct and end the license verification process.
  • the above is the license verification flow by the intermediate node 3 or the terminal 4. In this way, by verifying the validity of license editing by the device or program, it is possible to eliminate human error and realize proper license distribution.
  • FIG. 25 is a block diagram of the editing information verification unit 12 included in the intermediate node 3.
  • the edit information verification unit 12 inputs the original edit permission information 102 and the edit information 111 included in the received license, and determines whether the edit information is within the range of the original edit permission information 102. The result is output as the validity verification result 402 of the editing information.
  • the editing information is information indicating a part or all of the differences (changes) with respect to the original license 101, and information from which the editing license is generated. That is, the edit license reflects the difference indicated by the edit information with respect to the original license 101.
  • This editing information is stored in the editing information storage unit 23.
  • the edit information verification unit 12 acquires edit information stored in the edit information storage unit 23 from the edit information storage unit 23.
  • the editing information is created in advance by the operator of the intermediate node based on the contract contents between the license issuer and the operator (provider) of the intermediate node, and is stored in the editing information storage unit 23. Also good.
  • the operator of the intermediate node confirms in advance the contents of the original license and the original editing permission information based on the contract. Then, when the intermediate node receives the reception license, it may be set in advance so that predetermined editing information is generated based on the original license 101 and the original editing permission information 102 included in the reception license.
  • the editing information storage unit 23 stores the generated editing information.
  • the original license 101 and the original editing permission information 102 included in the intermediate node power reception license are output to a display device, a printer, etc., and the operator of the intermediate node views and edits the output. Information may be generated.
  • the editing information storage unit 23 stores the generated editing information.
  • FIG. 26 is a diagram illustrating a description example of editing information.
  • Figure 26 shows that the value of the start date and time of the viewable period (Start tag) is changed to April 2005 1:00:00, May 2005 1:00:00, It indicates that the value of the end date and time (End tag) of the viewable period is to be changed to 23:59 on May 30, 2005 and 23:59 on May 31, 2005. That is, in contrast to FIG. 15 showing an example of the description of the edit license 103, the edit information 111 in FIG. 26 shows only the difference with respect to the original license.
  • FIG. 27 is a flowchart of editing information verification processing by the editing information verification unit 12.
  • the editing information verification unit 12 reads the original editing permission information 102 included in the received license.
  • step ST1102 the edit information verification unit 12 obtains the next edit tag from the edit information. If there is a tag, the editing information verification unit 12 searches the original editing permission information 102 for a tag corresponding to the tag from among tags that can be edited by the editing information verification unit 12.
  • step ST1105 if the editing information verification unit 12 determines that there is no corresponding tag, the editing information verification unit 12 is trying to edit a tag that it must not edit. The information is determined to be invalid, and the editing information verification process is terminated.
  • step ST1107 If there is a corresponding tag, the edit information verification unit 12 determines whether or not the edit content is within the range of edit permission in step ST1106. Similarly, in step ST1107, it is determined that the editing information is invalid, and the editing information verification processing ends.
  • step ST1102 If it is within the range, the editing information verification unit 12 returns again to step ST1102, and performs the same processing on the next tag. These processes are repeated for the tags included in the editing information.
  • step ST1103 the editing information verification unit 12 determines that the editing information is correct in step ST1108, and ends the editing information verification processing.
  • the editing history in the original format has been described. However, it may be in the XSL (eXtensible Stylesheet Language) format shown in FIG. Although the notation format is different, the content is the same as in Figure 26. Regardless of the XML format, the edit history should be written in any format.
  • XSL eXtensible Stylesheet Language
  • FIG. 29 is a block diagram of the node side license generation unit 13 provided in the intermediate node.
  • the node side license generation unit 13 receives the edit license (N) and the edit information 111 as input, generates an edit license (N + 1), appends the edit license (N + 1) to the received license, and updates the latest license.
  • the license 403 is output.
  • FIG. 30 is a flowchart showing a license generation process by the node-side license generation unit 13.
  • step ST1201 the node side license generation unit 13 reads the edit license (N) from the received license, and generates a copy using it as the edit license (N + 1).
  • step ST1202 the node side license generation unit 13 acquires the next tag from the editing information. If there is a tag, the node side license generation unit 13 replaces the value of the corresponding tag of the editing license (N + 1) with the value of the tag of the editing information in step ST1204. This operation is repeated until the next tag disappears in step ST1203. This completes the editing license (N + 1) that reflects the editing information.
  • step ST1205 the hash value of the editing license (N + 1) is obtained using a hash algorithm such as SHA-1 or MD5, and encrypted with its own private key. To the editing license (N + 1) as a signature.
  • a hash algorithm such as SHA-1 or MD5
  • step ST1206 the editing license (N + 1) with signature is appended to the receiving license.
  • step ST1207 the entire license is encrypted with the public key of the next license recipient.
  • step 1208 the signature of the entire encrypted license is calculated by the same method as above, and given at the end of the entire license, the license generation process is completed.
  • the above is the processing flow of license generation by the intermediate node 3.
  • the node-side license generator 13 uses a general-purpose XSLT (extensible Stylesheet Language Transfor mation) can be replaced by a processor.
  • the intermediate node adds and relays the editing license generated by itself to the receiving license including the original license and the original editing permission information. Therefore, the lower intermediate node or terminal can verify the validity of the license editing by the upper intermediate node.
  • the license issuer apparatus transmits a license including original editing permission information in addition to the original license. For this reason, the intermediate node can edit the original license based on the original editing permission information, so that various licenses can be distributed to the terminal.
  • the adding unit adds the editing license to the receiving license including the original license and the original editing permission information, and the node-side transmitting unit receives the editing license. Relay licenses. Therefore, the lower intermediate node or terminal can verify the validity of the license editing by the upper intermediate node.
  • the editing information verification unit verifies the editing information in the intermediate node according to the first embodiment, it is possible to prevent human errors in license editing.
  • terminal-side license verification unit verifies the validity of the received license, unauthorized editing of the intermediate node can be easily found.
  • Embodiment 2 will be described with reference to FIGS.
  • the intermediate node 3 appends the edit license 103 to the reception license.
  • the license itself is relatively large, and as the license editing is repeated on the intermediate node 3, the entire license There is a problem that the license size increases.
  • Embodiment 2 describes a configuration in which an intermediate node appends editing information (self-difference information) as an editing history instead of an editing license.
  • FIG. 31 is a configuration diagram of the intermediate node 3 according to the second embodiment.
  • the system configuration of the second embodiment is the same as that shown in FIG.
  • the license issuer device 2 and the terminal 4 are the same as in the first embodiment.
  • the intermediate node 3 in FIG. 31 has a configuration further including a node side license restoration unit 20 (node side reflected data generation unit) with respect to the intermediate node 3 in FIG.
  • the node side license restoration unit 20 restores the received license. This restoration will be described later.
  • FIG. 32 is a block diagram showing a detailed structure of a license after license editing is repeated N times by N intermediate nodes 3.
  • FIG. 32 corresponds to FIG. 19 of the first embodiment.
  • the editing license (1) 103 to editing license 106 (N) in FIG. 19 are editing history (1) 501 to editing history (N) 504.
  • the editing history is the editing information described in the first embodiment.
  • License 1 in FIG. 32 undergoes the same processing as License 1 in FIG. That is, each intermediate node 3 sequentially generates editing history (1) 501 to editing history (N) 504, and assigns it to the received license after adding editor 1 signature 203 to editor N signature 206. .
  • each intermediate node 3 encrypts the entire license with the public key of the next recipient.
  • the editor N signature 303 is assigned to the entire encrypted license, and the license is configured.
  • FIG. 33 is a block diagram of the node side license restoration unit 20 provided in the intermediate node 3.
  • the restoration of the received license by the intermediate node 3 will be described with reference to FIG.
  • FIG. 33 is a diagram for explaining the intermediate node 3.
  • the operation of the terminal side license restoration unit 42 of the terminal 4 shown in FIG. 20 is the same as the operation of the node side license restoration unit 20.
  • the node side license restoration unit 20 receives the original license 101 (original data) and edit history (1) (other node difference information) to edit history (N) (other node difference information) as inputs. Then, the editing history is sequentially reflected in the original license, and finally the latest license 403 is obtained.
  • FIG. 34 is a flowchart showing license restoration by the node side license restoration unit 20.
  • step ST1301 the original license 101 is read, and step ST1
  • step ST1202 force in FIG. 30 repeats the process of step ST1204.
  • step ST1303 This process is repeated at step ST1303 until there is no next editing history.
  • the license finally generated in step ST1305 is regarded as the latest license 403.
  • the node-side license verification unit 11 of the intermediate node 3 has a slightly different license verification method compared to the case where the editing license 103 is appended.
  • FIG. 35 is a block diagram of the node side license verification unit 11 provided in the intermediate node.
  • the node-side license verification unit 11 reads the original editing permission information 10 extracted from the received license card. 2.
  • Edit history (1) (Other node difference information) to Edit history (N) (Other node difference information) are input, and whether the license is within the range of the license editing power original editing permission information in the upper intermediate node And the result is output as the validity verification result 40 1 for editing at the upper intermediate node 3.
  • FIG. 36 shows a flowchart of a license verification process by the node side license verification unit 11.
  • step ST1401 ! / And the editing history are read one by one in order.
  • step ST1403 sequentially acquire tags from the editing history.
  • step ST1405 If there is a tag, in step ST1405, the corresponding tag is extracted from the tags included in the original editing permission information that can be edited by the license editing node.
  • step ST1406 If there is no tag in step ST1406, it is determined that the tag that should not be edited has been edited. In step ST1409, the license editing is determined to be invalid, and the license verification process is performed. Exit.
  • step ST1407 If there is a tag in step ST1406, it is determined in step ST1407 whether or not editing is within the permitted range. If it is out of the range, step ST1409 Thus, it is determined that the license editing is invalid, and the license verification process is terminated.
  • step ST1407 If it is determined in step ST1407 that the editing is within the range, the process returns again to step ST1403, and the same processing is performed for the next tag included in the editing history.
  • step ST1402 When this process is repeated until all edit history processes are completed in step ST1402, it is determined in step ST1408 that the license has been edited correctly, and the license verification process ends.
  • the intermediate node verifies whether the editing information that it appends as the editing history is valid. This is the same as in the first embodiment. That is, even when editing history is appended to the license, the editing information held by the intermediate node is verified. Part 12 is the same as appending an edit license to the license. Even when the editing history is appended to the license, the block diagram of FIG. 25 and the editing information verification processing flow of FIG. 27 can be used as they are.
  • the license generation unit of the intermediate node has a slightly different method of generating a license than when an edit license is appended.
  • FIG. 37 is a block diagram of the node side license generating unit 13 provided in the intermediate node 3 of the second embodiment.
  • the node side license generation unit 13 receives the received license 1 and the editing information 111 and outputs the latest license 403.
  • FIG. 38 is a flowchart of the license generation process performed by the node side license generation unit 13.
  • step ST1501 receive license 1 is decrypted with its own private key and read
  • step ST1502 prepare a hash value of the edited history that has been prepared in advance using a hash algorithm such as SHA-1, MD5, etc., and then sign the encrypted secret with its own private key. To the editing history.
  • a hash algorithm such as SHA-1, MD5, etc.
  • step ST1504 the entire license is encrypted with the public key of the next recipient.
  • step ST1505 the same operation as step ST1502 is performed to add a signature to the entire encryption license, and the license generation process is terminated.
  • the license license can be edited by the intermediate node within the range permitted by the license issuer, and a valid license license can be increased each time the intermediate node passes. It can be realized while suppressing the size.
  • the intermediate node relays the editing information added to the received license as the editing history instead of the editing license. For this reason, The size of licenses to be managed can be suppressed.
  • the adding unit adds editing information to the received license as an editing history instead of the editing license. For this reason, the size of the license to be distributed can be suppressed.
  • the editing information verification unit verifies the validity of the editing information added to the received license. This prevents human error in license editing.
  • the node side license restoration unit restores the license to which the editing history is added, so that the license reflecting the editing can be easily obtained.
  • the terminal-side license verification unit verifies the validity of the received license based on the original edit permission information and the edit history included in the received license. Can be easily discovered.
  • the terminal-side license restoration unit restores the license to which the editing history is added, so that the license reflecting the editing can be easily obtained.
  • the edit permission information (original edit permission information) is generated as the original edit permission information 102 only by the license issuer apparatus 2.
  • the edit permission information generated by the intermediate node is referred to as node edit permission information.
  • the authority that allows an intermediate node to add node editing permission information is also included in the original editing permission information 102 or node editing permission information described later.
  • FIG. 39 is a configuration diagram of the intermediate node 3 according to the third embodiment.
  • the system configuration of the third embodiment is the same as that shown in FIG.
  • the license issuer device 2 and the terminal 4 are the same as in the first embodiment.
  • the intermediate node 3 in FIG. 39 differs from the intermediate node 3 in FIG. 13 in that a node edit permission information storage unit 24 and a self-permission information verification unit 21 are provided.
  • the node editing permission information storage unit 24 stores node editing permission information (self-editing permission information).
  • the self-permission information verification unit 21 has a function of verifying the node edit permission information stored in the node edit permission information storage unit 24.
  • FIG. 40 is a block diagram showing a detailed data configuration of the license of the third embodiment in the configuration in which each intermediate node appends an edit license as described in the first embodiment. .
  • FIG. 40 corresponds to FIG. License 1 in FIG. 40 has an additional portion 240 added to license 1 in FIG.
  • node editing permission information (K) 601 is node editing permission information (other node editing permission information) generated by the intermediate node K.
  • the node editing permission information (K) 601 has an editor K signature 211 attached thereto.
  • node editing permission information (M) 602 is node editing permission information (other node editing permission information) generated by the intermediate node M.
  • the node edit permission information (M) 602 is assigned an editor M signature 212. As shown in FIG. 40, the node editing permission information is appended immediately after the original editing permission information 102.
  • FIG. 41 is a block diagram showing a detailed data configuration of the license according to the third embodiment in the configuration in which each intermediate node appends the editing history described in the second embodiment.
  • FIG. 41 corresponds to FIG. License 1 in FIG. 41 has an additional portion 250 added to license 1 in FIG.
  • Node edit permission information (K) 601, editor K signature 211, node edit permission information (M) 602, and editor M signature 212 are the same as those in FIG.
  • the appending of node edit permission information will be described with reference to FIGS. 39 and 40.
  • the intermediate node is assumed to be an intermediate node (M).
  • the node side receiving unit 18 of the intermediate node (M) receives license 1 (not shown) including the original license 101 and the original editing permission information 102 as a relay target.
  • the node editing permission information storage unit 24 stores node editing permission information (M).
  • the self-permission information verification unit 21 of the addition unit 10 acquires node editing permission information (M) (self-editing permission information) from the node editing permission information storage unit 24.
  • the self-permission information verification unit 21 inputs and verifies the acquired node edit permission information (M). This verification will be described later with reference to FIG.
  • the self-permission information verification unit 21 outputs the verified node edit permission information (M) to the node-side license generation unit 13.
  • the node-side license generation unit 13 generates the editor M signature 212 using the secret key 22, and adds the editor M signature 212 to the node editing permission information (M).
  • the node side license generation unit 13 inputs the received license after verification from the node side license verification unit 11, and adds node editing permission information (M) (self-editing permission information) having the editor M signature 212 to the received license. Append.
  • the node side license generation unit 13 outputs the license to which the node edit permission information (M) is appended to the node side encryption key processing unit 14.
  • the following processing is the same as in Embodiment 1 and Embodiment 2.
  • the node-side transmission unit 17 transmits the license shown in FIG. 40 as the latest license 403 to the lower intermediate node 3 or terminal 4.
  • the node editing permission information (M) is stored in the node editing permission information storage unit 24 as described above.
  • the node editing permission information storage unit 24 is prepared in advance by the operator of the intermediate node based on the contract between the license issuer and the operator (provider) of the intermediate node, for example, and the node editing permission information storage unit 24 Remember me in 24.
  • the operator of the intermediate node confirms in advance the contents of the original license and the original editing permission information based on the contract. Then, when the intermediate node receives the reception license, it may be set in advance to generate predetermined node editing permission information (M) based on the original license 101 and the original editing permission information 102 included in the received license. I do not care.
  • the node editing permission information storage unit 24 stores the generated node editing permission information (M).
  • the original license 101 and the original edit permission information 102 included in the intermediate node power reception license are configured to be output to a display device, a printer, etc., and the operator of the intermediate node sees the output and outputs the node. Editing permission information may be generated.
  • the node edit permission information storage unit 24 stores the generated node edit permission information (M).
  • FIG. 42 is an example of the original editing permission information 102 having the authority to add node editing permission information.
  • the authority for the intermediate node to add node edit permission information itself is also the original edit permission information 102 or the node edit permission information. Include in acceptable information.
  • “Security Center 3” indicates that the node edit permission information can be newly added within the range of the previous node edit permission information or the original edit permission information.
  • each intermediate node edits the license in accordance with the latest node edit permission information included in the received license.
  • FIG. 43 shows an example of the original editing permission information 102 for all the intermediate nodes 3.
  • the viewable age is limited to 18 years or older.
  • FIG. 44 shows node edit permission information for permitting “Security Center 4” to edit a license when the viewable age is 20 years or older.
  • the node editing permission information in FIG. 44 is an example in which “Security Center 3” permits “Security Center 4” to add node editing permission information having such contents. That is, the adding unit 10 of the intermediate node 3 that is “Security Center 3” generates the node editing permission information 107 shown in FIG.
  • the procedure in which the intermediate node 3 or the terminal 4 verifies the validity of the license edited by the upper intermediate node has been described.
  • this Embodiment 3 it is necessary to verify the validity of the node edit permission information included in the license.
  • the node edit permission information is verified by the intermediate node 3 and the terminal 4. Since the verification operation of the intermediate node 3 and the terminal 4 is the same, the case of the intermediate node will be described, and the description of the terminal will be omitted.
  • FIG. 45 is a flowchart of the license verification process performed by the node side license verification unit 11 of the intermediate node 3 shown in FIG. 39 in the third embodiment.
  • step ST1601 it is first determined whether or not the editing license or editing history is valid. Specifically, the force or the validity shown in the flowchart of FIG. 22 or 36 is determined.
  • step ST1602 If it is determined in step ST1602 that the license is invalid, it is determined in step ST1608 that the license editing is invalid, and the license verification process ends.
  • Step In ST1603 read two pieces of edit permission information (original edit permission, node edit permission information) in order of oldness. If there are two pieces of edit permission information, in step ST1605, the old and one edit permission information is new, and the node editing permission information is generated by the intermediate node that has generated the other node edit permission information. It is determined whether or not the power is If it is determined that the license is permitted, it is determined in step ST1608 that the license editing is invalid, and the license verification process is terminated.
  • step ST1606 it is determined whether or not the newer node editing permission information has been generated within the range permitted by the older editing permission information. . If the node editing permission information is generated outside the permitted range, it is determined in step ST1608 that the license editing is invalid, and the license verification process is terminated.
  • step ST1604 If it is determined that it is permitted, the process returns to step ST1603 again, and the same processing is repeated for the next two node editing permission information. If this process is repeated until it is determined in step ST1604 that there is no next node editing permission information, it is determined in step ST1607 that the license editing including the node editing permission information is correct, and the license is Finish the verification process.
  • the self-permission information verification unit 21 verifies the validity of its own node edit permission information.
  • FIG. 46 is a flowchart showing the operation of the self-permission information verification unit 21 of the intermediate node 3.
  • the self-permission information verification unit 21 verifies the validity of the node edit permission information stored in the node edit permission information storage unit 24. That is, the intermediate node 3 verifies the node edit information generated by itself.
  • step ST1701 the latest editing permission information (which is the difference between the original editing permission information and the node editing permission information) included in the received license is read.
  • step ST1702 own node edit permission information is read.
  • the node edit permission information is licensed by itself based on the latest edit permission information. Whether it is allowed to be added to the service. If allowed, no, if
  • step ST1704 the power of the node edit permission information that it is trying to follow is the range permitted by the latest edit permission information. Determine whether or not. If it is out of range, it is determined in ST1706 that its own node editing permission information is invalid, and the verification processing of its own node editing permission information is terminated.
  • step ST1705 If it is within the permitted range, it is determined in step ST1705 that the node edit permission information is correct, and the node edit permission information verification process is terminated.
  • the edit information verification unit possessed by the intermediate node performs the above processing in addition to the verification of the edit information, so that the validity of adding the node edit permission information can be verified. .
  • the adding unit adds the node editing permission information to the received license including the original license and the original editing permission information, and the node side transmitting unit has the node permission editing permission information. Relay the added reception license. This allows flexible and diverse license distribution.
  • the self-permission information verification unit verifies the validity of the node editing permission information acquired by the addition unit. Therefore, it is possible to distribute a valid license.
  • the node side license verification unit verifies the validity of the received license. Therefore, it is possible to distribute a valid license.
  • Embodiments 1 to 3 described so far even if an intermediate node performs unauthorized license editing, other intermediate nodes or terminals may not be permitted to edit unauthorized licenses. Fraud can be detected. Therefore, fraud can be prevented as a whole of the license distribution system. However, there still remains room for the intermediate nodes to cheat.
  • FIG. 47 is a block diagram of the license editing function in the intermediate node.
  • FIG. 47 shows a configuration in which the reception license 1, the editing information 111, and the destination public key 112 are input, and the latest license 403 is output through each processing unit stored in the tamper resistant apparatus 50.
  • the tamper resistant device 50 is a physically shielded device, and when it is opened, internal data and programs are volatilized and cannot be used.
  • Fig. 48 shows a configuration in which not only the license but also the content key normally distributed with the license is processed in the tamper resistant device 50 at the same time to solve this problem. It is.
  • the content key 113 taken up here is attached to the reception license 1 and is encrypted with the public key of the recipient.
  • the license power of the content key 113 is also separated by the node side license verification unit 11.
  • the content key 113 is decrypted by the decryption processing unit 115 using the secret key 16, and becomes the plaintext content key 114.
  • the plaintext content key 114 is again transmitted to the node side encryption key processing unit 14 by the destination public key 112. It is encrypted and attached to the editing license.
  • the license distribution system described in Embodiments 1 to 4 allows multi-tier, multi-tier license distribution that permits license editing in an intermediate node within the scope permitted by the license issuer. Useful for applications.
  • editing permission information describing which intermediate node, which usage right, and what range of editing capability is added to the license describing the usage right of the content.
  • the intermediate node has an edit history verification unit that verifies that the edit history of the license prepared in advance by the node and terminal is within the range of the edit permission information permitted by the content publisher.
  • a license generation unit that generates a new editing license from a received license and an editing history, and is provided with an intermediate node. Explained the format and license distribution system.
  • the editing history in the intermediate node is handled as a license characterized by sequentially abending the original license to the original license, and the editing history prepared by itself in advance as the received license.
  • the license generation unit that generates a new license by appending is provided in the intermediate node, and the latest license is restored by repeatedly reflecting the editing history included in the license in the original license of the license issuer.
  • the above embodiment is characterized in that the addition of edit permission information in the intermediate node is permitted and the edit permission information created by the intermediate node is appended immediately after the previous edit permission information.
  • a license verification unit that verifies whether edit permission information has also been added to the intermediate node and terminal.
  • a license format characterized by having an editing history verification unit in the intermediate node that verifies that it is within the range of the latest editing permission information. And explained the license distribution system.
  • the license verification unit, the edit history verification unit, the license generation unit, the encryption processing unit, and the signature generation unit are stored in the tamper-proof device, and the received license, the edit history, the destination public key
  • a license distribution system has been described in which the intermediate node has a tamper-proof device that outputs a cryptographically signed license.
  • the content holder adds the edit permission information (original edit permission information) to the license (original license).
  • the content provider sends it to the content provider (intermediate node), and the content provider (intermediate node) edits the license within the range of the edit permission information (original edit permission information), and then embeds the edit license or edit history to the received license. It has a license structure that is sent to the next content provider (intermediate node).
  • the content provider (intermediate node) and the terminal include a node-side license verification unit and a terminal-side license verification unit that verify whether the received license has been legitimately edited by the upper node. .
  • the content provider (intermediate node) has a license editing history (edit information) prepared in advance within the range of edit permission information (original edit permission information) permitted by the content holder (intermediate node).
  • Edit history verification unit self-authorization information verification unit
  • the content provider (intermediate node) includes a node-side license generation unit that generates a new editing license from the received license and the editing history.
  • the content provider (intermediate node) or terminal can detect and prevent unauthorized license editing by the content provider (intermediate node). Furthermore, it is not limited to special data such as licenses, and it also has the effect of enabling safe data transmission while allowing data editing within the range permitted by the data issuer for general data. . Brief Description of Drawings
  • FIG. 1 shows a configuration of a license distribution system 1000 according to the first embodiment.
  • FIG. 2 shows an outline of the operation of the license distribution system 1000 according to the first embodiment.
  • FIG. 3 shows an appearance of license issuer apparatus 2 in the first embodiment.
  • FIG. 4 shows a hardware configuration of license issuer apparatus 2 in the first embodiment.
  • FIG. 5 shows a hardware configuration of terminal apparatus 4 in the first embodiment.
  • FIG. 6 shows a block configuration diagram of license issuer apparatus 2 in the first embodiment.
  • FIG. 7 is a block diagram showing a detailed configuration of the license in the initial state generated by the license issuer apparatus 2 in the first embodiment.
  • FIG. 8 shows a specific example of the original license in the first embodiment.
  • FIG. 9 shows a specific example of original editing permission information in the first embodiment.
  • FIG. 10 shows a process of generating issuer signature 201 in the first embodiment.
  • FIG. 11 shows a process of generating issuer signature 202 in the first embodiment.
  • FIG. 12 shows an outline of generation of license 1 by license issuer apparatus 2 in the first embodiment.
  • FIG. 13 shows a configuration of intermediate node 3 in the first embodiment.
  • FIG. 14 Decryption of original license and original editing permission information in embodiment 1. Indicates.
  • FIG. 16 is a block diagram showing a detailed configuration of a license edited by the intermediate node 3 in the first embodiment.
  • FIG. 17 shows a process for generating an editor signature 203 in the first embodiment.
  • FIG. 18 shows an outline of generation of license 1 by an intermediate node in the first embodiment.
  • FIG. 19 is a block diagram showing a detailed configuration of the license after the editing at the intermediate node in the first embodiment is repeated N times.
  • FIG. 21 is a block diagram of a node-side license verification unit of intermediate node 3 according to the first embodiment.
  • FIG. 22 is a flowchart of a license verification process performed by the node side license verification unit in the first embodiment.
  • FIG. 23 is a diagram illustrating a license verification process performed by the node side license verification unit in the first embodiment.
  • FIG. 24 is a diagram illustrating a license verification process performed by the node side license verification unit in the first embodiment.
  • FIG. 25 is a block diagram of an editing information verification unit of an intermediate node in the first embodiment.
  • FIG. 26 is a diagram showing an example of an editing history (original format) in the first embodiment.
  • FIG. 28 is a diagram showing an example of XSL format editing information in the first embodiment.
  • FIG. 29 is a block diagram of a node side license generation unit of an intermediate node in the first embodiment.
  • FIG. 30 is a flowchart of a license generation process of the node side license generation unit in the first embodiment.
  • FIG. 31 is a block diagram of intermediate node 3 in the second embodiment.
  • FIG. 32 The license after editing N times in each intermediate node in Embodiment 2. It is a block diagram which shows a detailed structure.
  • FIG. 33 is a block diagram of a node side license restoration unit of an intermediate node in the second embodiment.
  • FIG. 34 is a flowchart of the license restoration process of the node side license restoration unit in the second embodiment.
  • FIG. 35 is a block diagram of a node-side license verification unit of an intermediate node in the second embodiment.
  • FIG. 36 is a flowchart of a license verification process of the node side license verification unit in the second embodiment.
  • FIG. 37 is a block diagram of a node side license generation unit of an intermediate node in the second embodiment.
  • FIG. 38 is a flowchart of a license generation process of the node side license generation unit in the second embodiment.
  • FIG. 39 is a block diagram of intermediate node 3 in the third embodiment.
  • FIG. 40 is a block diagram showing a detailed configuration of a license when an edit license is appended to the license in the third embodiment.
  • FIG. 41 is a block diagram showing a detailed configuration of a license when appending an edit history to the license in the third embodiment.
  • FIG. 43 is a diagram showing an example of original editing permission information in the third embodiment.
  • FIG. 44 A diagram showing an example of node edit permission information in the third embodiment.
  • FIG. 45 is a flowchart of a license verification process of a node side license verification unit in the third embodiment.
  • FIG. 46 is a flowchart of node editing permission information verification processing by the editing information verification unit in the third embodiment.
  • FIG. 47 is a block diagram showing a configuration of a license editing function of intermediate node 3 in the fourth embodiment.
  • FIG. 48 is a block diagram showing a configuration of an intermediate node license editing function in the fourth embodiment.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

 ライセンス配信システム1000は、ライセンス発行者の許可した範囲内で、ライセンス編集を中間ノードに許す。ライセンス配信システム1000は、中間ノードによるライセンス編集が正当に行われたか否かを、ライセンス配信に関わる各中間ノードが検証可能である。ライセンス配信システム1000では、ライセンス発行者装置2が、オリジナルライセンスに、オリジナルライセンスの変更可能範囲を記述したオリジナル編集許可情報を付加する。それぞれの中間ノードは、オリジナル編集許可情報の変更可能範囲内で編集した編集ライセンスを、ライセンス発行者装置が発行したライセンス1に順次アペンドしていく。

Description

明 細 書
データ配信システム及び発行装置及び端末装置及び中間ノード 技術分野
[0001] この発明は、デジタルコンテンツの利用権管理システムに係るものである。例えば、 本発明は、ライセンス発行者が許可する範囲内において、中間ノードにライセンスの 編集を許す、多段、多階層のライセンス配信技術に関する。
背景技術
[0002] 映像、音楽、文書、画像などのデジタルコンテンツの利用をライセンスにより制限す るコンテンツ利用権管理システムが提案されている。例えば、コンテンツの利用期間 力 2005年 1月 1日力も 2005年 12月 31日までと指定されているライセンスに関して は、そのライセンスを取得したユーザは、その指定されている期間内でのみコンテン ッを利用することができる。
[0003] 同じぐライセンスにコンテンツの視聴回数が 10回までと指定されていた場合、その ライセンスを取得したユーザは、その指定されて 、る回数の範囲内でコンテンツを利 用することができる。
[0004] ライセンスは、そのライセンスに対応するコンテンツの著作権者であるコンテンツホ ルダが、ユーザに提供するものである。コンテンツホルダは、コンテンツの配信をコン テンップロノイダに委託することが多い。これは、例えば、次の理由による。コンテン ッホルダは、多数のユーザに対して課金等と引き換えにライセンスを提供する場合は 、個々のユーザを全て管理し、課金処理等も行わなければならず煩雑である。このた め、コンテンツホルダが自身で配信を行うよりも、コンテンツプロバイダに委託してしま つた方が、ビジネス上効率的だ力もである。
[0005] ここで、ライセンスの内容自体についても、コンテンツホルダが管理するのではなぐ コンテンツプロバイダが管理する形態がとられる場合が多い。例えば、次の様な形態 力 Sとられる。コンテンツホルダは、個々のユーザに対して課金等に応じたライセンスの 編集'発行を管理しない。その代わりに、コンテンツホルダは、雛形となるライセンスを コンテンツプロバイダに提供する。コンテンツプロバイダは、提供を受けた雛形のライ センスの範囲内で、きめ細かなライセンスの編集'発行管理を行う。
[0006] しかし、このコンテンツホルダとコンテンツプロバイダの関係は、主に契約書等によ つて規定されている。また、特にシステム化されておらず、コンテンツプロバイダの人 為的ミスや意図的な不正により、コンテンツプロバイダ力 コンテンツホルダ力 許可 されたライセンスの範囲を逸脱したライセンスを編集 '発行する問題がある。また、そ のような許可範囲を逸脱したライセンスが発行されたとしても、検出し難いという問題 かあつた。
[0007] このような課題に対し、特開 2004— 355100号公報では、ディストリビュータ(コン テンッホルダ)と利用者 (ユーザ)がライセンスサーバを共有し、リテイラ(コンテンツプ ロバイダ)を経由してディストリビュータから利用者に送られたライセンス力 正当であ ることを検証する技術が開示されて ヽる。
[0008] また、特開 2003— 87235号公報では、システムホルダ(コンテンツホルダ)とユー ザデバイス(ユーザ)が予めグローバル共通鍵を共有しておき、サービスプロバイダ( コンテンツプロバイダ)がコンテンツ鍵を編集できな 、ようにする技術が開示されて!ヽ る。
[0009] し力しながら、これらは、コンテンツホルダが、全てのユーザを管理することが前提と なっている。よって、コンテンツプロバイダが不正なライセンス編集を行うことを防止す るという点では効果がある力 コンテンツホルダがユーザ管理を行う必要が発生する という別の課題が顕在化する。
特許文献 1 :特開 2004— 355100号公報
特許文献 2:特開 2003— 87235号公報
発明の開示
発明が解決しょうとする課題
[0010] 本発明は、個々のユーザ管理をコンテンツプロノイダに委託するとともに、コンテン ップロバイダによる不正なライセンス編集を防止し、適切なライセンス編集を許可する 、ライセンス配信システムを提供することを目的とする。
課題を解決するための手段
[0011] 本発明のデータ配信システムは、 データを発行する発行装置と、前記発行装置が発行した前記データを中継する複 数の中間ノードと、前記複数の中間ノードを介して前記データを受信する端末装置と を備えたデータ配信システムにお 、て、
前記発行装置は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報とを含む中継デ ータを発行し、
前記複数の中間ノードのうちの少なくとも 、ずれかは、
前記発行装置が発行した前記中継データを中継する場合に、前記中継データに 含まれる前記オリジナル編集許可情報に基づ 、て、前記オリジナルデータに対して 少なくとも一部が変更された編集データを生成し、生成した前記編集データを前記 中継データに追カ卩して前記中継データを中継し、
前記端末装置は、
前記複数の中間ノードのうちの少なくともいずれかにより前記編集データが追加さ れた前記中継データを受信することを特徴とする。
[0012] 前記発行装置が発行する中継データに含まれる前記オリジナルデータは、
前記端末装置に対して所定の権利を認めるオリジナルライセンスを含むことを特徴 とする。
[0013] 本発明の発行装置は、
所定のデータを発行し、発行した前記所定のデータを複数の中間ノードを介して、 端末装置に配信する発行装置において、
前記端末装置に配信するためのオリジナルデータと、前記複数の中間ノードの少 なくともいずれかに対して前記オリジナルデータの変更を認めるとともに変更を認め る内容を示すオリジナル編集許可情報とを含む中継データを発行する発行部と、 前記発行部が発行した前記中継データを送信する発行側送信部と
を備えたことを特徴とする。
[0014] 本発明の中間ノードは、
端末装置にデータを中継する中間ノードにおいて、 前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報とを含む中継デ ータを中継の対象として受信するノード側受信部と、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報に基づいて、前記オリジナルデータに対して少なくとも一部が変更された編集 データを生成し、生成した前記編集データを前記ノード側受信部が受信した前記中 継データに追加する追加部と、
前記追加部により前記編集データが追加された前記中継データをあらたな中継デ ータとして中継のために送信するノード側送信部と
を備えたことを特徴とする。
[0015] 前記追加部は、
前記オリジナルデータに対する変更を示す差分を自己差分情報として取得し、取 得した前記自己差分情報と前記ノード側受信部が受信した前記中継データに含ま れる前記オリジナル編集許可情報とに基づ ヽて、前記編集データを生成することを 特徴とする。
[0016] 前記追加部は、
前記自己差分情報が、前記オリジナル編集許可情報の認める内容の範囲内かどう かを検証する差分検証部を備えたことを特徴とする。
[0017] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報と、他の中間ノー ドが前記オリジナルデータを変更して追加した他ノード変更データとを含む中継デー タを中継の対象として受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記オリジナル編集許可情報と前記他ノード変更データとに基づいて、前記ノード側 受信部が受信した前記中継データが正当力どうかを検証するノード側中継データ検 証部を備えたことを特徴とする。 [0018] 本発明の端末装置は、
複数の中間ノードを介して中継されるデータの配信を受ける端末装置において、 前記複数の中間ノードを介して中継される中継データであって、
配信の対象であるオリジナルデータと、前記複数の中間ノードの少なくともいずれ かに対して前記オリジナルデータの変更を認めるとともに変更を認める内容を示すォ リジナル編集許可情報と、前記複数の中間ノードのうち少なくともいずれかが前記ォ リジナルデータを変更して追加した他ノード変更データとを含む中継データを受信す る端末側受信部と、
前記端末側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記オリジナル編集許可情報と前記他ノード変更データとに基づいて、前記端末側 受信部が受信した前記中継データが正当力どうかを検証する端末側中継データ検 証部と
を備えたことを特徴とする。
[0019] 本発明のデータ配信システムは、
データを発行する発行装置と、前記発行装置が発行した前記データを中継する複 数の中間ノードと、前記複数の中間ノードを介して前記データを受信する端末装置と を備えたデータ配信システムにお 、て、
前記発行装置は、
前記端末装置に配信するためのオリジナルデータを含む中継データを発行し、 前記複数の中間ノードのうちの少なくとも 、ずれかは、
前記発行装置が発行した前記中継データを中継する場合に、前記オリジナルデー タに対する変更を示す差分を自己差分情報として取得し、取得した前記自己差分情 報を前記中継データに追加して前記中継データを中継し、
前記端末装置は、
前記複数の中間ノードのうちの少なくともいずれかにより前記自己差分情報が追カロ された前記中継データを受信することを特徴とする。
[0020] 本発明の中間ノードは、
端末装置にデータを中継する中間ノードにおいて、 前記端末装置に配信するためのオリジナルデータを含む中継データを中継の対象 として受信するノード側受信部と、
前記オリジナルデータに対する差分を自己差分情報として取得し、取得した前記自 己差分情報を前記ノード側受信部が受信した前記中継データに追加する追加部と、 前記追加部により前記自己差分情報が追加された前記中継データをあらたな中継 データとして中継のために送信するノード側送信部と
を備えたことを特徴とする。
[0021] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報とを含む中継デ ータを中継の対象として受信し、
前記追加部は、
前記自己差分情報が、前記ノード側受信部の受信した前記中継データに含まれる 前記オリジナル編集許可情報の認める内容の範囲内かどうかを検証する差分検証 部を備えたことを特徴とする。
[0022] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報と、他の中間ノー ドが前記オリジナルデータに対する変更を差分として追加した他ノード差分情報とを 含む中継データを中継の対象として受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報と前記他ノード差分情報とに基づ!、て、前記ノード側受信部が受信した前記 中継データが正当かどうかを検証するノード側中継データ検証部を備えたことを特徴 とする。
[0023] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、他の中間ノードが前記オリジ ナルデータに対する変更を差分として追加した他ノード差分情報とを含む中継デー タを中継の対象として受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記他ノード差分情報とに基づ!、て、前記他ノード差分情報が示す前記オリジナル データに対する差分を前記オリジナルデータに反映した反映データを生成するノー ド側反映データ生成部を備えたことを特徴とする。
[0024] 本発明の端末装置は、
複数の中間ノードを介して中継されるデータの配信を受ける端末装置において、 前記複数の中間ノードを介して中継される中継データであって、配信の対象である オリジナルデータと、前記複数の中間ノードの少なくともいずれかに対して前記オリジ ナルデータの変更を認めるとともに変更を認める内容を示すオリジナル編集許可情 報と、前記複数の中間ノードのうちの少なくともいずれかが前記オリジナルデータに 対する変更を差分として追加した他ノード差分情報と含む中継データを受信する端 末側受信部と、
前記端末側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報と前記他ノード差分情報とに基づいて、前記端末側受信部が受信した前記中 継データが正当かどうかを検証する端末側中継データ検証部とを備えたことを特徴と する。
[0025] 前記端末装置は、さらに、
前記端末側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記他ノード差分情報とに基づ!、て、前記他ノード差分情報が示す前記オリジナル データに対する差分を前記オリジナルデータに反映した反映データを生成する端末 側反映データ生成部を備えたことを特徴とする。
[0026] 本発明の中間ノードは、
端末装置にデータを中継する中間ノードにおいて、
前記端末装置に配信するためのオリジナルデータを含む中継データを中継の対象 として受信するノード側受信部と、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナルデータ の変更を認めるとともに変更を認める内容を示す情報を自己編集許可情報として取 得し、取得した前記自己編集許可情報を前記ノード側受信部が受信した前記中継 データに追加する追加部と、
前記追加部により前記自己編集許可情報が追加された前記中継データをあらたな 中継データとして中継のために送信するノード側送信部と
を備えたことを特徴とする。
[0027] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、他の中間ノードが追加した情 報であって前記オリジナルデータの変更を認めるとともに変更を認める内容を示す他 ノード編集許可情報とを含む中継データを受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記他ノード編集許可 情報に基づ 、て、前記自己編集許可情報が正当かどうかを検証する自己許可情報 検証部を備えたことを特徴とする。
[0028] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報とを発行する発行 装置が発行した前記オリジナルデータと前記オリジナル許可情報とを含むとともに、 他の中間ノードが追加した情報であって前記オリジナルデータの変更を認めるととも に変更を認める内容を示す他ノード編集許可情報とを含む中継データを受信し、 前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報と前記他ノード編集許可情報とに基づ!、て、前記ノード側受信部が受信した 前記中継データが正当かどうかを検証するノード側中継データ検証部を備えたことを 特徴とする。
発明の効果
[0029] 本発明により、個々のユーザ管理をコンテンツプロバイダに委託することができ、か つ、コンテンツプロバイダによる不正なライセンス編集を防止し、適切なライセンス編 集を許可する、ライセンス配信システムを提供することができる。
発明を実施するための最良の形態
[0030] 実施の形態 1.
(1.編集ライセンスのアペンドと、各ノードが保有する処理系)
図 1〜図 30を用いて実施の形態 1を説明する。
[0031] まず、図 1を用いて、実施の形態 1のライセンス配信システム 1000を説明する。図 1 は、実施の形態 1におけるライセンス配信システム 1000のシステム構成を示す図で ある。ライセンス配信システム 1000は、ライセンス 1 (中継データの一例)を発行する ライセンス発行者装置 2 (発行装置の一例)と、ライセンス 1を中継し、また、後述する 編集ライセンス (編集データの一例)をライセンス 1に追加する中間ノード 3 (1〜Nの N個)と、最終的にライセンス 1を受信する複数の端末装置 4とを備えている。また、ラ ィセンス発行者装置 2や中間ノード 3や端末装置 4は、ネットワーク 5に接続している。 ネットワーク 5は、有線 ·無線の別を問わない。なお、中間ノード 3については、 1〜N の区別が必要な場合は、中間ノード(1)、中間ノード (N)のように表す。また、端末装 置 4は、以下では、単に端末と呼ぶ場合がある。
[0032] (1)ライセンス 1は、ライセンス発行者によって生成されるコンテンツ利用権である。ラ ィセンス 1は、映像コンテンツ等の視聴可能期間や、視聴可能回数などの利用権に 関する利用権情報を含む。なお、以下ではライセンス 1に関して、中間ノード 3が送信 する場合に、ライセンス 1のことを最新ライセンスと呼ぶ場合がある。また、中間ノード 3または端末 4がライセンス 1を受信する場合に、ライセンス 1のことを受信ライセンスと 呼ぶ場合がある。
(2)ライセンス発行者装置 2は、上記ライセンス 1を生成する装置である。通常、ライセ ンス発行者装置 2は、ライセンス発行者が所有する。
(3)端末 4は、予めコンテンツを入手し、受信したライセンス 1に基づきコンテンツを視 聴する装置である。通常、端末 4は、ユーザが所有する。
(4)中間ノード 3は、ライセンス発行者装置 2、あるいは上位の中間ノード 3からライセ ンス 1を受信し、受信したライセンス 1に対して適切な編集を加え、あるいは何も編集 することなぐ下位の中間ノード 3あるいは端末 4にライセンス 1を配信(中継)する。通 常、中間ノード 3は、コンテンツプロノイダなどの中間業者が所有する。
(5)ライセンス 1は、コンテンツを利用する端末 4に到達するまでに、複数の中間ノー ド 3を経由される。この場合、各中間ノード 3は、ライセンス 1の内容を編集する場合が ある。
[0033] 図 2は、ライセンス配信システム 1000の動作の概要を示す図である。図 2は、ライセ ンスが、中間ノード(1)、中間ノード (2)を経由され、端末 4に配信される場合を示して いる。中間ノード(1)と中間ノード(2)とは、ライセンス 1の内容を編集する。まず、ライ センス発行者装置 2は、オリジナルライセンス (オリジナルデータの一例)とオリジナル 編集許可情報とを含むライセンス laを発行し、中間ノード(1)に送信する。中間ノー ド(1)は、受信したライセンス laに編集ライセンス 1を追加してライセンス lbを生成し、 中間ノード(2)にライセンス lbを送信する。中間ノード(2)は、受信したライセンス lb に編集ライセンス 2を追加してライセンス lcを生成し、端末 4にライセンス lcを送信す る。端末 4は、中間ノード (2)の送信したライセンス lcを受信する。さらに詳しい動作 は後述する。
[0034] 図 3は、実施の形態 1におけるライセンス発行者装置 2の外観を示す図である。図 3 のライセンス発行者装置 2は、コンピュータシステムである。また、図示はしていない 力 中間ノード 3、及び端末 4もコンピュータシステムであり、図 3のライセンス発行者 装置 2の外観と同様の外観である。
[0035] 図 3において、ライセンス発行者装置 2は、システムユニット 830、液晶表示装置 81 3、キーボード 814、マウス 815、コンパクトディスク装置(CDD) 818、プリンタ 819、 を備え、これらはケーブルで接続されて ヽる。 また、ライセンス発行者装置 2は、ネッ トワーク 5に接続されている。そして、ライセンス発行者装置 2は、ネットワーク 5を介し て中間ノード 3、端末 4等と通信可能である。
[0036] 図 4は、ライセンス発行者装置 2のハードウェア構成図である。なお、中間ノード 3、 及び端末 4のハードウェア構成も、図 4のライセンス発行者装置 2のハードウェア構成 と同様である。図 4において、ライセンス発行者装置 2は、プログラムを実行する CPU (Central Processing Unit) 810を備えている。 CPU810はバス 825を介して、 R OM811、 RAM812、液晶表示装置 813、キーボード 814、マウス 815、通信ボード 816、 FDD (Flexible Disk Drive) 817、 CDD818、プリンタ 819、磁気ディスク 装置 820等と接続されている。通信ボード 816は、ネットワーク 5に接続されている。
[0037] 磁気ディスク装置 820には、オペレーティングシステム(OS) 821、ウィンドウシステ ム 822、プログラム群 823、ファイル群 824が記憶されている。プログラム群 823は、 C
PU810、 OS821、ウィンドウシステム 822により実行される。
[0038] 上記プログラム群 823には、以下に述べる実施の形態 1〜実施の形態 4の説明に お 、て「〜部」として説明する機能を実行するプログラムが記憶されて 、る。プロダラ ムは、 CPU810により読み出され実行される。
[0039] また、以下に述べる実施の形態 1〜実施の形態 4の説明において「〜部」として説 明するものは、 ROM811に記憶されたファームウェアで実現されて 、ても構わな!/、。 或いは、ソフトウェアのみ、或いは、ハードウェアのみ、或いは、ソフトウェアとハードウ エアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わな い。
[0040] また、以下に述べる実施の形態を実施するプログラムは、磁気ディスク装置 820、 F D (Flexible Disk)、光ディスク、 CD (コンパクトディスク)、 MD (ミニディスク)、 DV D (Digital Versatile Disk)等の記録媒体による記録装置を用いて記憶されても 構わない。
[0041] 図 5は、端末装置 4のハードウ ア構成の別の例を示す図である。端末装置 4は、図 3、図 4に示したコンピュータシステムの他、 STB (Set Top Box)など、家庭用の A V (Audio and Visual)機器なども想定している。図 5は、端末装置 4として AV機 器を想定した場合のハードウェア構成図である。図 5に示す端末装置 4は、プロダラ ムを実行する CPU (Central Processing Unit) 810を備えている。 CPU810は ノ ス 825を介して、 ROM811、 RAM812,液晶表示装置 813、リモコン受信部 851 、通信ボード 816、磁気ディスク装置 820等と接続されている。リモコン受信部 851は リモコン装置 852からの操作を受け付ける。また、通信ボード 816は、ネットワーク 5に 接続されている。その他は、図 4の場合と同様である。
[0042] 図 6は、ライセンス発行者装置 2の構成図である。図に示す様に、ライセンス発行者 装置 2は、発行側ライセンス生成部 31 (発行部の一例)と、発行側送付先公開鍵格 納部 34と、発行側暗号化処理部 35と、発行側秘密鍵格納部 36と、発行側署名生成 部 37と、発行側送信部 38とを備える。また、発行側ライセンス生成部 31は、オリジナ ルライセンス生成部 32と、オリジナル編集許可情報生成部 33とを備える。
[0043] 発行側ライセンス生成部 31は、ライセンス 1を生成する。発行側ライセンス生成部 3 1のオリジナルライセンス生成部 32は、オリジナルライセンスを生成する。また、オリジ ナル編集許可情報生成部 33は、オリジナル編集許可情報を生成する。なお、オリジ ナルライセンス、オリジナル編集許可情報等は、さらに後述する。
[0044] 発行側送付先公開鍵格納部 34は、生成したライセンス(図 6の最新ライセンス 403 )を送信する送信先の中間ノードの公開鍵である送付先公開鍵 39を格納して ヽる。
[0045] 発行側暗号ィ匕処理部 35は、発行側ライセンス生成部 31の生成したライセンスを、 発行側送付先公開鍵格納部 34が格納する送付先公開鍵 39により、暗号化する。
[0046] 発行側秘密鍵格納部 36は、秘密鍵 30を格納する。
[0047] 発行側署名生成部 37は、発行側秘密鍵格納部 36が格納する秘密鍵 30により、電 子署名を生成する。
[0048] 発行側送信部 38は、発行側署名生成部 37により署名の付加されたライセンスを、 最新ライセンス 403として、送信先である所定の中間ノード 3に送信する。
[0049] (2.ライセンス発行者装置 2によるライセンスの生成)
図 7は、ライセンスの詳細な構造を示すブロック図である。図 7は、ライセンス発行者 装置 2の発行側ライセンス生成部 31によって生成された初期状態のライセンス 1を示 す。初期状態のライセンス 1は、オリジナルライセンス 101と、オリジナル編集許可情 報 102と、発行者署名 301とを含んでいる。「オリジナル」とは、ライセンス発行者装置 2が生成した情報であることを示す。
[0050] ここで、オリジナルライセンス 101とは、ライセンス発行者が特定のコンテンツに対し て指定した初期ライセンスである。また、オリジナル編集許可情報 102とは、ライセン ス発行者が中間ノード 3に対して、ライセンスの編集を許す許可範囲を規定した情報 である。オリジナル編集許可情報 102は、後述のように、誰が(どのノードが)、何を( 何を対象として)、どのように編集してよいか、といった変更を認めるとともに変更を認 める内容を示す情報を保持している。オリジナルライセンス 101は、発行者署名 201 が付加されている。また、オリジナル編集許可情報 102は、発行者署名 202が付加さ れている。
[0051] 図 8は、オリジナルライセンス生成部 32が生成したオリジナルライセンス 101の一例 を示している。図 8を参照してオリジナルライセンス 101について説明する。図 8のオリ ジナルライセンス 101には、利用権として次の項目が指定されている。
(1) < Start >の示す視聴可能期間開始日時と、
(2)く End >の示す視聴可能期間終了日時と、
(3) < Count >の示す視聴可能回数と、
(4)く Gender >の示す視聴可能者性別と、
(5)く Age flag = "upper" >の示す視聴可能年齢と
である。
[0052] 図 8の才リジナノレライセンス 101 ίま、具体的に ίま、 2005年 4月 1曰 0時 00分力、ら 20 05年 9月 30日 23時 59分まで、 18歳以上の男性が、 10回、所定のコンテンツを視聴 できることを表している。
[0053] なお、図 8の例では、オリジナルライセンス 101を XML (extensible Markup La nguage)形式で示した。しかし、記載形式は XMLに限らない。どのような形式の言 語で記載しても構わない。
[0054] 次に、図 9を参照してオリジナル編集許可情報 102を説明する。図 9は、オリジナル 編集許可情報生成部 33が生成したオリジナル編集許可情報 102の一例を示してい る。図 7の説明で述べたように、オリジナル編集許可情報 102は、ライセンス発行者が 中間ノード 3に対してライセンスの編集を許す許可範囲を規定した情報であり、誰が( どのノードが)、何を、どのように編集してよいか、といった情報を保持する。
[0055] 図 9は、 Security Centerlで示された中間ノード 3が、視聴可能期間開始日時( Startタグ)を未来の方向に編集課可能であり、さらに、視聴可能期間終了日時 (En dタグ)を過去の方向に編集可能であることを示している。また、 Security Center2 で示された中間ノード 3が、視聴可能回数 (Countタグ)を、オリジナルライセンス 101 で指定された回数以下の範囲で編集可能であることを示している。
[0056] なお、図 9の例では、オリジナル編集許可情報 102を XML形式で示した力 それ に限るものではなぐどのような形式でもよい。
[0057] 次に、図 10を参照して、図 7の発行者署名 201を説明する。発行者署名 201は、ォ リジナルライセンス 101に対する発行者の署名である。発行者署名 201は、発行側ラ ィセンス生成部 31が生成する。発行側ライセンス生成部 31は、 SHA— 1や MD5な どのハッシュアルゴリズムを使用することによりハッシュ値を生成するハッシュ生成部( 図示していない)によって、オリジナルライセンス 101のハッシュ値を生成する。そして 、発行側ライセンス生成部 31は、前記ハッシュ生成部によって生成されたハッシュ値 を発行側秘密鍵格納部 36が格納する秘密鍵 30により暗号ィ匕して、発行者署名 201 を生成する。
[0058] ライセンス発行者装置 2は、この発行者署名 201により、中間ノードによるオリジナ ルライセンスの改竄を防ぐことができる。
[0059] 次に、図 11を参照して、図 7の発行者署名 202を説明する。発行者署名 202の生 成は、発行者署名 201の場合と同様である。発行者署名 202は、オリジナル編集許 可情報 102に対する発行者の署名である。発行者署名 202は、発行側ライセンス生 成部 31が生成する。発行側ライセンス生成部 31は、 SHA—1や MD5などのハツシ ユアルゴリズムを使用することによりハッシュ値を生成するハッシュ生成部(図示して いない)によって、オリジナル編集許可情報 102のハッシュ値を生成する。そして、発 行側ライセンス生成部 31は、前記ハッシュ生成部によって生成されたオリジナル編 集許可情報 102のハッシュ値を発行側秘密鍵格納部 36が格納する秘密鍵 30により 暗号ィ匕して、発行者署名 202を生成する。
[0060] ライセンス発行者装置 2は、この発行者署名 202により、中間ノードによるオリジナ ル編集許可情報の改竄を防ぐことができる。
[0061] 次に、図 12を参照して、中間ノード 3に送信するライセンスの生成と図 7の発行者署 名 301とについて説明する。ライセンス発行者装置 2の発行側ライセンス生成部 31は 、発行者署名 201を付与したオリジナルライセンス 101と、発行者署名 202を付与し たオリジナル編集許可情報 102とを連結して、発行側暗号化処理部 35に出力する。 この連結された全体を連結ライセンスと呼ぶこととする。そして、発行側暗号化処理部 35は、連結ライセンスを次の中間ノード 3の公開鍵である送付先公開鍵 39により暗 号化する。あるいは、具体的な実装では、ライセンスデータ (連結ライセンス)を直接 公開鍵で暗号化せず、まず、ライセンスデータを共通鍵 (通常、「セッション鍵」と呼ば れる。)で暗号ィ匕する。そしてその共通鍵 (セッション鍵)を公開鍵で暗号ィ匕し、暗号 化済みのライセンスデータにアペンドしてもよい。このように、公開鍵によるライセンス データの暗号ィ匕の際にセッション鍵を介在させ、セッション鍵を公開鍵で暗号ィ匕した ものをライセンスにアペンドするという公知の技術を用いることができる。発行側暗号 化処理部 35は、暗号ィ匕された連結ライセンスを発行側署名生成部 37に出力する。 発行側署名生成部 37は、発行者署名 201の生成方法と同様に、暗号化された連結 ライセンスのハッシュ値を生成する。そして、発行側署名生成部 37は、このハッシュ 値を秘密鍵 30で暗号ィ匕して発行者署名 301を生成し、連結ライセンスに付与してラ ィセンス 1を構成する。
[0062] このように構成することで、ネットワーク上でのライセンスの盗聴と、ライセンスの改竄 を防止することができる。また、このライセンスは、次の中間ノードでのみ復号すること ができる。
[0063] 以上では、ライセンス発行者装置 2に関して説明した。次に、中間ノード 3を説明す る。
[0064] 次に、図 13を参照して、実施の形態 1の中間ノード 3を説明する。図 13は、実施の 形態 1の中間ノード 3の構成図である。
[0065] 実施の形態 1の中間ノード 3は、ノード側ライセンス検証部 11 (ノード側中継データ 検証部)と編集情報検証部 12 (差分検証部)とノード側ライセンス生成部 13を備えた 追加部 10と、ノード側暗号化処理部 14と、ノード側署名生成部 15と、ノード側秘密 鍵格納部 16と、ノード側送信部 17と、ノード側受信部 18と、ノード側送付先公開鍵 格納部 19と、編集情報記憶部 23 (自己差分情報記憶部)とを備える。
[0066] ノード側秘密鍵格納部 16は、秘密鍵 22を格納する。
[0067] ノード側送付先公開鍵格納部 19は、ライセンスの送付先となる中間ノード 3、あるい は端末 4の公開鍵である送付先公開鍵 112を格納する。
[0068] ノード側受信部 18は、ライセンスを受信する。図 13の中間ノードが中間ノード (N)と すれば、受信するライセンスは、中間ノード (N—1)が送信した最新ライセンス 403で ある。
[0069] 追加部 10は、ノード側受信部 18が受信したライセンス(以下、受信ライセンスという 場合がある。 )に、後述の編集ライセンスを追加して、新たなライセンスを生成する。
[0070] ノード側ライセンス検証部 11は、ノード側受信部 18が受信した受信ライセンスを検 証する。この検証については後述する。
[0071] 編集情報検証部 12は、編集情報記憶部 23が記憶している編集情報を取得して、 取得した編集情報が正当かどうかを検証する。この検証については後述する。
[0072] ノード側ライセンス生成部 13は、ノード側ライセンス検証部 11によって正当性が検 証された受信ライセンスに、編集情報検証部 12によって正当性が検証された編集情 報に基づき生成された編集ライセンスを追加し、あらたなライセンスを生成する。
[0073] ノード側暗号ィ匕処理部 14は、ノード側ライセンス生成部 13が作成したライセンスを ノード側送付先公開鍵格納部 19が格納する送付先公開鍵 112によって暗号ィ匕する
[0074] ノード側署名生成部 15は、ノード側秘密鍵格納部 16が格納する秘密鍵 22により、 ノード側暗号ィ匕処理部 14が暗号ィ匕した暗号ライセンスに署名を付加する。
[0075] ノード側送信部 17は、ノード側署名生成部 15により署名が付加された最新ライセン ス 403を他の中間ノード、あるいは端末 4に送信する。
[0076] 編集情報記憶部 23は、編集情報を記憶する。
[0077] (3.中間ノードにおけるライセンスの編集と編集ライセンスのアペンド)
図 14は、ライセンスを受信した中間ノードにおいて、追加部 10のノード側ライセンス 検証部 11が、ノード側秘密鍵格納部 16の格納する秘密鍵 22によって、図 12に示し た暗号ィ匕された連結ライセンスを復号する様子を示す図である。中間ノード 3の追カロ 部 10は、ノード側ライセンス検証部 11による連結ライセンスを復号後、オリジナル編 集許可情報 102の範囲内でライセンスの編集を行う。すなわち、追加部 10は、オリジ ナル編集許可情報 102の範囲内で、オリジナルライセンスを変更したライセンスであ る編集ライセンスを生成する。
[0078] 図 15は、追加部 10により生成される編集ライセンス 103の例を示す図である。追カロ 部 10のノード側ライセンス生成部 13は、ノード側ライセンス検証部 11により検証され た受信ライセンスと、編集情報検証部 12により検証された後述の編集情報とを入力 する。図 23の説明で後述するが、編集情報とは、オリジナルライセンスに対する一部 または全部の変更を示す差分情報である。そして、ノード側ライセンス生成部 13は、 編集情報の示す内容 (差分情報)を受信ライセンスに含まれるオリジナルライセンス に反映し、オリジナルライセンスを編集情報の示す内容に変更して編集ライセンスを 生成する。
[0079] 図 15の編集ライセンス 103の示す利用権の項目は、オリジナルライセンスの項目と 同じである。図 8のオリジナルライセンス 101は、く Start >〜< Age >までの 5項目 を有し、編集ライセンス 103も同様である。図 15の例では、く Start>の示す視聴可 能期間開始日時力 オリジナルライセンスの 2004年 4月 1日 0時 00分から、未来の 2 005年 5月 1日 0 : 00分に変更されている。また、く End >の示す視聴可能期間終了 曰時力 才リジナノレライセンスの 2004年 9月 30曰 23時 59分力ら、過去の 2005年 5 月 31日 23時 59分に変更されている。
[0080] 図 16は、中間ノード 3の追加部 10によって編集された後のライセンスの詳細な構造 を示すブロック図である。編集者署名 302は、ノード側署名生成部 15が生成し付カロ しており、詳細は後述する。図に示す様に、編集された後のライセンス 1は、オリジナ ルライセンス 101、オリジナル編集許可情報 102、編集ライセンス 103、編集者署名 3 02等を含む。
[0081] 図 17を参照して、編集者署名 203を説明する。中間ノード 3のノード側ライセンス生 成部 13が、編集ライセンス 103を生成する。編集者署名 203の生成は、図 10、図 11 で述べた発行者署名 201、発行者署名 202と同様である。ノード側ライセンス生成部 13は、 SHA- 1や MD5などのハッシュアルゴリズムを使用することによりハッシュ値 を生成するハッシュ生成部(図示していない)によって、編集ライセンス 103のハツシ ュ値を生成する。そして、ノード側ライセンス生成部 13は、前記ハッシュ生成部によつ て生成された編集ライセンス 103のハッシュ値をノード側秘密鍵格納部 16が格納す る秘密鍵 22により暗号ィ匕して、編集者署名 203を生成する。ノード側ライセンス生成 部 13は、編集者署名 203を編集ライセンス 103に付与する。ノード側ライセンス生成 部 13は、図 18に示すように、編集者署名 203が付与された編集ライセンス 103をオリ ジナル編集許可情報 102の後にアペンドする。
[0082] 図 18は、編集ライセンス 103のアペンド、及び編集者署名 302の生成を説明する 図である。
(1)ノード側ライセンス生成部 13は、編集者署名 203が付与された編集ライセンス 10 3をオリジナル編集許可情報 102の後にアペンドすることにより、オリジナルライセンス 101とオリジナル編集許可情報 102との連結に、さらに、編集ライセンス 103が連結 した連結ライセンスをつくる。そして、ノード側ライセンス生成部 13は、この編集ライセ ンス 103がアペンドされた連結ライセンスをノード側暗号ィ匕処理部 14に出力する。
(2)ノード側暗号ィ匕処理部 14は、前記連結ライセンスを入力し、図 18に示す様に、 連結ライセンスの全体を、送付先公開鍵 39で暗号化する。送付先公開鍵 39とは、ノ ード側送付先公開鍵格納部 19が格納する公開鍵であって、送付先となる中間ノード 3の公開鍵ある 、は送付先となる端末 4の公開鍵である。ノード側暗号化処理部 14 は、送付先公開鍵 112で暗号ィ匕された連結ライセンスをノード側署名生成部 15に出 力する。
(3)ノード側署名生成部 15は、暗号ィ匕された連結ライセンスのハッシュ値を生成し、 このノ、ッシュ値を秘密鍵 22で暗号ィ匕して編集者署名 302を生成する。ノード側署名 生成部 15は、生成した編集者署名 302を暗号ィ匕された前記連結ライセンスに付与 する。
(4)ノード側送信部 17は、ノード側署名生成部 15によって編集者署名 302が付与さ れた連結ライセンスを最新ライセンス 403として次の中間ノード、あるいは端末に送信 する。
[0083] このように、ライセンス編集時に、編集後の編集ライセンス 103のみならず、編集ライ センスにオリジナルライセンス 101とオリジナル編集許可情報 102とを連結した構成と することにより、これらが連結したライセンスを受け取った下位の中間ノード 3、或いは 端末 4は、上位の中間ノードおけるライセンスの編集が、正当なもの力否力判断する ことができる。
[0084] 図 19は、図 1に示すような N個の中間ノード 3により、編集ライセンス 103のアペンド 力 回繰り返えされた後のライセンス 1の詳細な構造を示すブロック図である。中間ノ ード (N+ l)が図 19のライセンス 1 (中継データの一例)を受信したとすれば、編集ラ ィセンス(1) 103〜編集ライセンス(N) 106のそれぞれは、中間ノード (N+ 1)以外 の他の中間ノードが生成した編集ライセンス (他ノード変更データの一例)である。各 中間ノード 3は、編集ライセンス(1) 103〜編集ライセンス (N) 106を順次生成し、編 集者 1署名 203〜編集者 N署名 206を付与する。そして、各中間ノードは、自身の生 成した編集ライセンス 103〜106を受信ライセンスにアペンドする。各中間ノードが、 このアペンドを繰り返えす。例えば、中間ノード (N) 3は、次の受信者の公開鍵で暗 号ィ匕したライセンス全体に対する編集者 N署名 303を付与し、図 19のライセンス 1を 構成する。
[0085] 以上では、ライセンス発行者装置 2により生成されたライセンス、中間ノードによるラ ィセンス編集とその構造について説明した。以下では、中間ノード 3、あるいは端末 4 による受信ライセンスの正当性検証、ライセンス編集の正当性検証、及びライセンス の生成について説明する。
[0086] まず、図 20を参照して端末装置 4の構成を説明する。
[0087] 端末装置 4は、端末側受信部 41、端末側ライセンス復元部 42 (端末側反映データ 生成部)、端末側ライセンス検証部 43 (端末側中継データ検証部)、端末側コンテン ッ利用部 44、端末側秘密鍵格納部 45とを備える。
[0088] 端末側受信部 41は、中間ノード 3の送信したライセンスを受信する。端末側秘密鍵 格納部 45は、秘密鍵 46を格納する。端末側ライセンス検証部 43は、秘密鍵 46で復 号されたライセンスを検証する。端末側ライセンス復元部 42は、秘密鍵 46で復号さ れた受信ライセンスを復元する。端末側ライセンス復元部 42については、実施の形 態 2で述べる。端末側コンテンツ利用部 44は、受信ライセンスに基づいてコンテンツ の再生等を行なう。
[0089] (4.中間ノードまたは端末による受信ライセンスの検証)
図 21を参照して、中間ノード 3、及び端末 4による受信ライセンスの検証を説明する 。図 21は、中間ノード 3のノード側ライセンス検証部 11を説明する図である。また、端 末 4の端末側ライセンス検証部 43の動作は、ノード側ライセンス検証部 11の動作と 同様であるので、説明は省略する。 [0090] 図 21は、中間ノード 3が備えるノード側ライセンス検証部 11のブロック図である。図 において、ノード側ライセンス検証部 11は、受信ライセンスカゝら抽出したオリジナルラ ィセンス 101、オリジナル編集許可情報 102、編集ライセンス(1) 103〜編集ライセン ス (N) 106を入力とする。そして、ノード側ライセンス検証部 11は、上位の中間ノード 3におけるライセンス編集力 オリジナル編集許可情報 102の範囲内にある力否かを 判定し、判定結果を上位の中間ノードでの編集の正当性検証結果 401として出力す る。
[0091] 図 22を参照して、ノード側ライセンス検証部 11の動作を説明する。図 22は、ノード 側ライセンス検証部 11による受信ライセンスの検証処理のフローチャートある。
(1)ステップ ST1001において、ノード側ライセンス検証部 11は、オリジナルライセン ス 101を含み、古いライセンス力 順に連続する 2つのライセンスを読み込む。例えば 、図 19のように、受信ライセンス 1が、オリジナルライセンス 1、編集ライセンス(1)〜編 集ライセンス (N)を含む場合、ノード側ライセンス検証部 11は、「オリジナルライセン ス 1と編集ライセンス(1)」、「編集ライセンス(1)と編集ライセンス(2)」、「編集ライセン ス(2)と編集ライセンス(3)」、 · · ·のように読み込む。
(2)読み込めた場合、ステップ ST1003において、ノード側ライセンス検証部 11は、 2 つのライセンスの差分を抽出し、変更されたタグの一覧を取得する。例えば、図 23の ように、く Start >タグが変更されていたとする。図 23は、図 8と図 15とのく Start> タグの関係を示している。図 23の編集ライセンス 1は、図 15の編集ライセンス 103〖こ 相当する。図 23の場合、ノード側ライセンス検証部 11は、く Start >タグを抽出する
(3)ステップ ST1004にて、ノード側ライセンス検証部 11は、変更タグの一覧からタグ を一つ取得する。
(4)ステップ ST1006にて、ノード側ライセンス検証部 11は、オリジナル編集許可情 報 102の中から、ライセンスの編集ノードが編集可能なタグから、直前に取得した変 更タグを探す。
(5)ステップ ST1007にて、ノード側ライセンス検証部 11は、タグの有無を判定し、タ グがある場合は、ステップ ST1008に進む。例えば、図 9のオリジナル編集許可情報 102とする。図 24は、説明のため、図 9のオリジナル編集許可情報 102からく Start >タグに関係する部分を抜き出した図である。ノード側ライセンス検証部 11は、 <W hat > Start < What > t 、う記述が存在するため、 S 1007の Yes (ST1008)の処理 に進む。さらに、図 24の例では、変更が「Forward」であるため範囲内である。よって 、ノード側ライセンス検証部 11は、 ST1008においても Yesの処理に進む。
(6)タグが無い場合は、該当中間ノード 3が変更してはいけないタグを変更したと判 断し、ステップ ST1010にてライセンスの編集が不正と判断し、ライセンスの検証処理 を終了する。
[0092] (7)ステップ ST1008では、ノード側ライセンス検証部 11は、該当タグの編集内容が オリジナル編集許可情報の範囲内である力否かを判定し、範囲内である場合には、 ステップ ST1004〖こ戻り、次の変更タグについて、同様の判定を繰り返す。
(8)ステップ ST1008で範囲内でな力つた場合は、ノード側ライセンス検証部 11は、 ステップ ST1010にてライセンスの編集が不正と判断し、ライセンスの検証処理を終 了する。
[0093] (9)ステップ ST1004にて次のタグが無い場合は、ノード側ライセンス検証部 11は、 ステップ ST1005力らステップ ST1001に戻り、次の連続する 2つのライセンスを読み 込み、同様の判定を行う。
(10)ノード側ライセンス検証部 11は、全てのライセンス編集の正当性を判定し、ステ ップ ST1002にてもう判定するライセンスが無いと判断した場合は、ステップ ST1009 に進み、これまでのライセンスの編集が正しいと判断し、ライセンスの検証処理を終了 する。
[0094] 以上が、中間ノード 3或いは端末 4によるライセンスの検証フローである。このように 、ライセンス編集の正当性を装置あるいはプログラムが検証することで、人為的ミスを 無くし、正当なライセンス配信を実現することができる。
[0095] (5.編集履歴と、中間ノードによる編集履歴の正当性検証)
図 25は、中間ノード 3が備える編集情報検証部 12のブロック図である。編集情報検 証部 12は、受信ライセンスに含まれるオリジナル編集許可情報 102と、編集情報 11 1とを入力とし、編集情報がオリジナル編集許可情報 102の範囲内にあるか否かを判 定し、その結果を、編集情報の正当性検証結果 402として出力する。
[0096] ここで、編集情報(自己差分情報の一例)とは、オリジナルライセンス 101に対する 一部または全部の差分 (変更)を示す情報であるとともに、編集ライセンスを生成する 元になる情報である。すなわち、オリジナルライセンス 101に対して編集情報の示す 差分を反映したものが、編集ライセンスである。
[0097] この編集情報は、編集情報記憶部 23が記憶している。編集情報検証部 12は、編 集情報記憶部 23が記憶して 、る編集情報を編集情報記憶部 23から取得する。例え ば、編集情報は、ライセンスの発行者と中間ノードの運営者 (プロバイダ)との契約内 容に基づき、中間ノードの運営者が予め作成しておき、編集情報記憶部 23に記憶さ せてもよい。
[0098] あるいは、中間ノードの運営者は、契約に基づきオリジナルライセンスとオリジナル 編集許可情報との内容を予め確認しておく。そして、中間ノードが受信ライセンスを 受信した場合、受信ライセンスに含まれるオリジナルライセンス 101とオリジナル編集 許可情報 102とに基づき、所定の編集情報を生成するように予め設定しても構わな い。生成された編集情報は、編集情報記憶部 23が記憶する。
[0099] また、中間ノード力 受信ライセンスに含まれるオリジナルライセンス 101とオリジナ ル編集許可情報 102とを表示装置やプリンタなどに出力するように構成し、中間ノー ドの運営者がその出力をみて編集情報を生成しても構わない。生成された編集情報 は、編集情報記憶部 23が記憶する。
[0100] 図 26は、編集情報の記述例を示す図である。図 26では、視聴可能期間開始日時( Startタグ)の値を、 2005年 4月 1曰 0時 00分力、ら、 2005年 5月 1曰 0時 00分に変更 することを示し、また、視聴可能期間終了日時 (Endタグ)の値を、 2005年 9月 30日 2 3時 59分力 、 2005年 5月 31日 23時 59分に、変更することを示している。すなわち 、編集ライセンス 103の記述例を示す図 15に対して、図 26の編集情報 111は、オリ ジナルライセンスに対する差分のみを示して 、る。
[0101] 次に図 27を参照して、編集情報検証部 12による、編集情報の検証処理を説明す る。図 27は、編集情報検証部 12による、編集情報の検証処理のフローチャートであ る。 (1)ステップ ST1101において、編集情報検証部 12は、受信ライセンスに含まれるォ リジナル編集許可情報 102を読み込む。
(2)ステップ ST1102にて、編集情報検証部 12は、編集情報より次の編集タグを取 得する。タグがある場合、編集情報検証部 12は、オリジナル編集許可情報 102の中 で、自身が編集可能なタグの中から、該タグに相当するタグを探す。
(3)ステップ ST1105にて、編集情報検証部 12は、相当するタグが無いと判断した 場合は、自身が編集してはいけないタグの編集を行おうとしていることから、ステップ ST1107にて、編集情報が不正と判断し、編集情報の検証処理を終了する。
[0102] (4)相当するタグがあった場合、編集情報検証部 12は、今度はステップ ST1106に て編集内容が編集許可の範囲内であるか否かを判定し、範囲内でない場合は、同じ くステップ ST1107にて、編集情報が不正と判断し、編集情報の検証処理を終了す る。
[0103] (5)範囲内であった場合は、編集情報検証部 12は、再びステップ ST1102に戻り、 次のタグに同様の処理を行う。これらの処理を編集情報に含まれるタグ分だけ繰り返 す。
(6)ステップ ST1103にて全てのタグの処理を終えた場合は、編集情報検証部 12は 、ステップ ST1108にて編集情報が正しいと判断し、編集情報の検証処理を終了す る。
[0104] 以上が、中間ノードによる編集情報の検証フローで、編集情報の正当性を装置、プ ログラムが検証することで、人為的ミスを無くし、正当なライセンス編集を実現すること ができる。
[0105] なお、図 26では、独自形式の編集履歴の説明を行ったが、図 28に示す XSL (eXt ensible Stylesheet Language)形式とすることもできる。表記形式は異なるが、 内容は図 26と同等である。また、 XML形式に拘らず、編集履歴もどのような形式で 表記してちょい。
[0106] (6.中間ノードによるライセンスの生成)
図 29、図 30を参照して、中間ノードがライセンスを生成する場合を説明する。
[0107] 図 29は、中間ノードが備えるノード側ライセンス生成部 13のブロック図である。図に おいて、ノード側ライセンス生成部 13は、編集ライセンス (N)と編集情報 111とを入 力とし、編集ライセンス (N+ 1)を生成し、編集ライセンス (N+ 1)を受信ライセンスに アペンドし、最新ライセンス 403を出力する。
[0108] 図 30は、ノード側ライセンス生成部 13によるライセンスの生成処理を示すフローチ ヤートである。
(1)ステップ ST1201において、ノード側ライセンス生成部 13は、受信ライセンスから 編集ライセンス (N)を読み込み、それを編集ライセンス (N+ 1)としてコピーを生成す る。
(2)ステップ ST1202にて、ノード側ライセンス生成部 13は、編集情報より、次のタグ を取得する。タグがある場合、ノード側ライセンス生成部 13は、ステップ ST1204にて 編集ライセンス (N+ 1)の該当タグの値を、編集情報のタグの値で置き換える。この 操作を、ステップ ST1203にて次のタグが無くなるまで繰り返す。これにより、編集情 報を反映した編集ライセンス (N+ 1)が完成する。
[0109] (3)次に、ステップ ST1205にて、 SHA— 1、 MD5などのハッシュアルゴリズムにより 、編集ライセンス (N+ 1)のノヽッシュ値を取得し、それを自身の秘密鍵で暗号化した ものを、署名として編集ライセンス (N+ 1)に付与する。
(4)ステップ ST1206にて、署名を付与した編集ライセンス (N+ 1)を、受信ライセン スにアペンドする。
(5)ステップ ST1207にて、ライセンス全体を次のライセンス受信者の公開鍵で暗号 化する。
(6)最後にステップ 1208にて、暗号ィ匕したライセンス全体の署名を上と同じ方法で 算出し、ライセンス全体の最後に付与することで、ライセンスの生成処理が完了する。
[0110] 以上が中間ノード 3によるライセンス生成の処理フローである。装置、プログラムがラ ィセンスの生成を行うことにより、人為的ミスを無くし、正当なライセンス生成を実現す ることがでさる。
[0111] なお、上記は、編集情報として、図 26に示す独自形式の編集履歴を用いた場合に ついて述べた。図 28に示す XSL形式の編集情報を用いた場合は、ノード側ライセン ス生成部 13は、汎用的な XSLT (extensible Stylesheet Language Transfor mation)プロセッサよって代替することができる。
[0112] 以上のように構成することで、ライセンス発行者が許可した範囲内での、中間ノード によるライセンスの編集を許しつつ、正当なライセンス配信を実現することができる。
[0113] 実施の形態 1のライセンス配信システムは、
中間ノードが、オリジナルライセンスとオリジナル編集許可情報とを含む受信ライセン スに自身の生成した編集ライセンスを追カ卩して中継する。このため、下位の中間ノー ドあるいは端末は、上位の中間ノードによるライセンス編集の正当性を検証すること が可能となる。
[0114] 実施の形態 1のライセンス発行者装置は、オリジナルライセンスに加えて、オリジナ ル編集許可情報を含むライセンスを送信する。このため、中間ノードは、オリジナル 編集許可情報に基づきオリジナルライセンスを編集できるので、端末に向けて多様な ライセンスを配信することができるようになる。
[0115] 実施の形態 1の中間ノードは、追加部が、オリジナルライセンスとオリジナル編集許 可情報とを含む受信ライセンスに編集ライセンスを追加し、ノード側送信部が、編集ラ ィセンスが追加された受信ライセンスを中継する。このため、下位の中間ノードあるい は端末は、上位の中間ノードによるライセンス編集の正当性を検証することが可能と なる。
[0116] 実施の形態 1の中間ノードは、編集情報検証部が編集情報を検証するので、ライセ ンス編集における人為的なミスを防止することができる。
[0117] 実施の形態 1の中間ノードは、ノード側ライセンス検証部が受信ライセンスの正当性 を検証するので、人為的なミスを防止することができる。
[0118] 実施の形態 1の端末装置は、端末側ライセンス検証部が受信ライセンスの正当性を 検証するので、中間ノードの不正な編集を容易に発見することができる。
[0119] 実施の形態 2.
(7.編集履歴のアペンドと、各ノードが保有する処理系)
次に、図 31〜図 38を用いて実施の形態 2を説明する。実施の形態 1では、中間ノ ード 3が受信ライセンスに編集ライセンス 103をアペンドした。しかし、ライセンス自体 は比較的サイズが大きぐ中間ノード 3でのライセンス編集を重ねていくにつれ、全体 のライセンスサイズが増大していく問題がある。この問題を解決するために、本実施 の形態 2では、中間ノードが、編集ライセンスの代わりに編集情報(自己差分情報)を 編集履歴としてアペンドする構成を説明する。
[0120] 図 31は、実施の形態 2の中間ノード 3の構成図である。また、実施の形態 2のシステ ム構成は図 1と同様である。また、ライセンス発行者装置 2、及び端末 4も、実施の形 態 1と同様である。
[0121] 図 31の中間ノード 3は、図 13の中間ノード 3に対して、さらに、ノード側ライセンス復 元部 20 (ノード側反映データ生成部)を備えた構成である。ノード側ライセンス復元部 20は、受信ライセンスを復元する。この復元は、後述する。
[0122] 図 32は、 N個の中間ノード 3によりライセンス編集を N回繰り返えされた後のライセ ンスの詳細な構造を示すブロック図である。図 32は、実施の形態 1の図 19に対応す る。図 32では、図 19の編集ライセンス(1) 103〜編集ライセンス 106 (N)が、編集履 歴(1) 501〜編集履歴 (N) 504となっている。編集履歴とは、実施の形態 1で説明し た編集情報である。各中間ノードが、受信ライセンスに編集情報をアペンドした場合 、編集履歴という。図 32のライセンス 1は、図 19のライセンス 1と同様の処理を受ける 。すなわち、各中間ノード 3は、編集履歴(1) 501〜編集履歴 (N) 504を順次生成し 、編集者 1署名 203〜編集者 N署名 206を付与した上で、受信ライセンスにアペンド していく。次に、各中間ノード 3は、ライセンス全体を次の受信者の公開鍵で暗号ィ匕 する。最後に、暗号ィ匕したライセンス全体に対する編集者 N署名 303を付与し、ライ センスを構成する。
[0123] 次に、図 33、図 34を参照して、ライセンスの復元について説明する。ライセンスを 図 32のような構成にすると、各中間ノード 3、または端末 4は、ライセンスに含まれるォ リジナルライセンス及び複数の編集履歴から、最新ライセンスを復元する必要が生じ る。中間ノード 3または端末 4は、受信ライセンスに編集を加えるため、編集を加える 元となるライセンスを得る必要がある。実施の形態 2では、中間ノードは、「オリジナル ライセンス +複数の編集履歴」という形式で表現された受信ライセンスを受信する。こ のため、中間ノードは、そのままでは受信ライセンスを参照することができない。そこ で、復元という操作が必要になる。 [0124] 図 33は、中間ノード 3が備えるノード側ライセンス復元部 20のブロック図である。図 33を参照して、中間ノード 3による受信ライセンスの復元を説明する。なお、図 33は 中間ノード 3を説明する図であるが、図 20の示す端末 4の端末側ライセンス復元部 4 2の動作は、ノード側ライセンス復元部 20の動作と同様であるので、説明を省略する
[0125] 図 33において、ノード側ライセンス復元部 20は、オリジナルライセンス 101 (オリジ ナルデータ)及び編集履歴 (1) (他ノード差分情報)〜編集履歴 (N) (他ノード差分 情報)を入力として、順次、編集履歴をオリジナルライセンスに反映し、最終的に最新 ライセンス 403を得る。
[0126] 図 34は、ノード側ライセンス復元部 20によるライセンスの復元を示すフローチャート である。
(1)ステップ ST1301において、オリジナルライセンス 101を読み込み、ステップ ST1
302にて、次の編集履歴を取得する。編集履歴がある場合、ステップ ST1304にて、 編集履歴の内容をオリジナルライセンス 101に反映する。具体的には、図 30のステツ プ ST1202力もステップ ST1204の処理を繰り返す。
[0127] (2)この処理をステップ ST1303にて、次の編集履歴が無くなるまで繰り返す。編集 履歴が無くなると、ステップ ST1305にて最終的に生成されたライセンスを最新ライセ ンス 403とみなす。以上の処理にて、中間ノード 3、または端末 4は、最新ライセンス 4
03を復元することができる。
[0128] (8. 中間ノードまたは端末によるライセンスの検証)
図 35、図 36を参照して、中間ノード 3のノード側ライセンス検証部 11による受信ライ センスの検証を説明する。図 20の端末側ライセンス検証部 43の動作も同様であるの で、端末側ライセンス検証部 43の説明は、省略する。
[0129] ライセンスに編集履歴をアペンドする構成の場合、中間ノード 3のノード側ライセン ス検証部 11は、編集ライセンス 103をアペンドする場合に比べ、ライセンスの検証方 法が若干異なる。
[0130] 図 35は、中間ノードが備えるノード側ライセンス検証部 11のブロック図である。ノー ド側ライセンス検証部 11は、受信ライセンスカゝら抽出したオリジナル編集許可情報 10 2、編集履歴 (1) (他ノード差分情報)〜編集履歴 (N) (他ノード差分情報)を入力とし 、上位の中間ノードにおけるライセンス編集力 オリジナル編集許可情報の範囲内に あるカゝ否かを判定し、その結果を上位の中間ノード 3での編集の正当性検証結果 40 1として出力する。
[0131] 図 36は、ノード側ライセンス検証部 11による、ライセンス検証処理のフローチャート を示す。
(1)ステップ ST1401にお!/、て、編集履歴を古!、順に一つずつ読み込む。
(2)編集履歴がある場合、ステップ ST1403にて、編集履歴から順次タグを取得する
(3)タグがある場合、ステップ ST1405にて、ライセンス編集ノードが編集可能な、ォ リジナル編集許可情報に含まれるタグから、該当するタグを抽出する。
[0132] (4)ステップ ST1406〖こて、タグが無い場合は、編集してはいけないタグの編集を行 つたと判定し、ステップ ST1409にてライセンスの編集が不正と判断し、ライセンス検 証処理を終了する。
[0133] (5)ステップ ST1406にて、タグがある場合は、ステップ ST1407にて、編集が許可さ れた範囲内であるか否かを判定し、範囲を逸脱している場合は、ステップ ST1409に てライセンスの編集が不正と判断し、ライセンス検証処理を終了する。
[0134] (6)ステップ ST1407にて編集が範囲内と判定した場合は、再びステップ ST1403 に戻り、編集履歴に含まれる次のタグに対して、同様の処理を行う。
(7)編集履歴に含まれる全てのタグにっ 、て処理を終えたら、ステップ ST1404から 再びステップ ST1401〖こ戻り、次の編集履歴につ!、て同様の処理を行う。
(8)この処理をステップ ST1402にて全ての編集履歴の処理を終えるまで繰り返した ら、ステップ ST1408にて、ライセンスの編集が正しいと判断し、ライセンス検証処理 を終了する。
[0135] (9.中間ノードによる編集履歴の正当性検証)
次に、中間ノードが、自身が編集履歴としてアペンドする編集情報が正当力どうか を検証する場合を説明する。これは、実施の形態 1の場合と同様である。すなわち、 ライセンスに編集履歴をアペンドする場合でも、中間ノードの保有する編集情報検証 部 12については、ライセンスに編集ライセンスをアペンドする場合と同じである。ライ センスに編集履歴をアペンドする場合でも、図 25のブロック図、及び図 27の編集情 報の検証処理フローをそのまま用いることができる。
[0136] (10. 中間ノードによるライセンスの生成)
次に図 37、図 38を参照して、ライセンスに編集履歴をアペンドする場合の、ライセ ンスの生成について説明する。ライセンスに編集履歴をアペンドする場合、中間ノー ドのライセンス生成部では、編集ライセンスをアペンドする場合に比べ、ライセンスの 生成方法が若干異なる。
[0137] 図 37は、実施の形態 2の中間ノード 3が備えるノード側ライセンス生成部 13のブロッ ク図である。図において、ノード側ライセンス生成部 13は、受信ライセンス 1、編集情 報 111を入力とし、最新ライセンス 403を出力する。
[0138] 図 38は、ノード側ライセンス生成部 13による、ライセンス生成処理のフローチャート である。
(1)ステップ ST1501において、受信ライセンス 1を自身の秘密鍵で復号し読み込む
(2)ステップ ST1502にて、 SHA— 1、 MD5などのハッシュアルゴリズムにより、予め 準備してお!、た編集履歴のノヽッシュ値を生成し、それを自身の秘密鍵で暗号化した ものを署名として編集履歴に付与する。
[0139] (3)ステップ ST1503にて、受信ライセンス 1に、署名を付与した編集履歴をアペンド する。
(4)ステップ ST1504にて、ライセンス全体を次の受信者の公開鍵で暗号ィ匕する。
(5)最後にステップ ST1505にて、ステップ ST1502と同じ操作にて、暗号化ライセ ンス全体に署名を付与し、ライセンスの生成処理を終了する。
[0140] 以上のように構成することで、ライセンス発行者が許可した範囲内での、中間ノード によるライセンスの編集を許しつつ、正当なライセンス酉 S信を、中間ノードを経るごと に増えるライセンスのサイズを抑制しながら、実現することができるよう〖こなる。
[0141] 実施の形態 2のライセンス配信システムは、中間ノードが、編集ライセンスの代わり に編集情報を編集履歴として受信ライセンスに追加して中継する。このため、配信す るライセンスのサイズを抑制することができる。
[0142] 実施の形態 2の中間ノードは、追加部が、編集ライセンスの代わりに編集情報を編 集履歴として受信ライセンスに追加する。このため、配信するライセンスのサイズを抑 ff¾することができる。
[0143] 実施の形態 2の中間ノードは、編集情報検証部が、受信ライセンスに追加される編 集情報の正当性を検証する。このため、ライセンス編集における人為的なミスを防止 することができる。
[0144] 実施の形態 2の中間ノードは、ノード側ライセンス復元部が、編集履歴の追加され たライセンスを復元するので、編集の反映されたライセンスを容易に得ることができる
[0145] 実施の形態 2の端末装置は、端末側ライセンス検証部が、受信ライセンスに含まれ るオリジナル編集許可情報と編集履歴とに基づき受信ライセンスの正当性を検証す るので、中間ノードの不正を容易に発見することができる。
[0146] 実施の形態 2の端末装置は、端末側ライセンス復元部が、編集履歴の追加されたラ ィセンスを復元するので、編集の反映されたライセンスを容易に得ることができる。
[0147] 実施の形態 3.
(11.中間ノードによる、ノード編集許可情報の追加)
これまでの実施の形態 1、及び実施の形態 2においては、編集許可情報 (オリジナ ル編集許可情報)は、ライセンス発行者装置 2のみがオリジナル編集許可情報 102と して生成した。本実施の形態 3では、編集許可情報を、ライセンス発行者装置 2のみ ならず、中間ノードにおいても生成し、ライセンスに含めることができる構成について 説明する。本実施の形態 3では、中間ノードが生成する編集許可情報を、ノード編集 許可情報という。実施の形態 3では、中間ノードがノード編集許可情報を追加すること のできる権限自体もまた、オリジナル編集許可情報 102、あるいは後述のノード編集 許可情報に含める。
[0148] 図 39は、実施の形態 3の中間ノード 3の構成図である。また、実施の形態 3のシステ ム構成は、図 1と同様である。また、ライセンス発行者装置 2、及び端末 4も、実施の形 態 1と同様である。 [0149] 図 39の中間ノード 3は、図 13の中間ノード 3に対して、ノード編集許可情報記憶部 24と、自己許可情報検証部 21とを備えた点が異なる。
ノード編集許可情報記憶部 24は、ノード編集許可情報(自己編集許可情報)を記憶 する。自己許可情報検証部 21は、ノード編集許可情報記憶部 24が記憶している前 記ノード編集許可情報を検証する機能を有する。
[0150] 図 40は、実施の形態 1で述べた、それぞれの中間ノードが編集ライセンスをァペン ドして ヽく構成における、実施の形態 3のライセンスの詳細なデータ構成を示すブロッ ク図である。図 40は、図 19に対応する。図 40のライセンス 1は、図 19のライセンス 1 に対して、追加部分 240が追加されている。図 40において、ノード編集許可情報 (K ) 601は、中間ノード Kによって生成されたノード編集許可情報 (他ノード編集許可情 報)である。図 40のように、ノード編集許可情報 (K) 601は、編集者 K署名 211が付 与されている。同様に、ノード編集許可情報 (M) 602は、中間ノード Mによって生成 されたノード編集許可情報 (他ノード編集許可情報)である。ノード編集許可情報 (M ) 602は、編集者 M署名 212が付与されている。図 40のように、ノード編集許可情報 は、オリジナル編集許可情報 102の直後にアペンドされる。
[0151] 図 41は、実施の形態 2で述べた、それぞれの中間ノードが編集履歴をアペンドして いく構成における、実施の形態 3のライセンスの詳細なデータ構成を示すブロック図 である。図 41は、図 32に対応する。図 41のライセンス 1は、図 32のライセンス 1に対 して、追加部分 250が追加されている。ノード編集許可情報 (K) 601、編集者 K署名 211、ノード編集許可情報 (M) 602、編集者 M署名 212は、図 40の場合と同様であ るので、説明を省略する。
[0152] 図 39、図 40を参照してノード編集許可情報のアペンドについて説明する。中間ノ ードは、中間ノード(M)であるとする。
(1)中間ノード(M)のノード側受信部 18は、オリジナルライセンス 101、オリジナル編 集許可情報 102を含むライセンス 1 (図示していない)を中継の対象として受信する。
(2)ノード編集許可情報記憶部 24は、ノード編集許可情報 (M)を記憶している。追 加部 10の自己許可情報検証部 21は、ノード編集許可情報記憶部 24からノード編集 許可情報 (M) (自己編集許可情報)を取得する。 (3)自己許可情報検証部 21は、取得したノード編集許可情報 (M)を入力して検証 する。この検証は図 46の説明で後述する。自己許可情報検証部 21は、検証したノ ード編集許可情報 (M)をノード側ライセンス生成部 13に出力する。ノード側ライセン ス生成部 13は、秘密鍵 22により編集者 M署名 212を生成し、編集者 M署名 212をノ ード編集許可情報 (M)に付加する。また、ノード側ライセンス生成部 13は、ノード側 ライセンス検証部 11から検証後の受信ライセンスを入力し、受信ライセンスに編集者 M署名 212を有するノード編集許可情報 (M) (自己編集許可情報)をアペンドする。 ノード側ライセンス生成部 13は、ノード編集許可情報 (M)がアペンドされたライセン スをノード側暗号ィ匕処理部 14に出力する。以下の処理は、実施の形態 1、実施の形 態 2と同様である。最終的に、ノード側送信部 17は、図 40に示すライセンスを最新ラ ィセンス 403として、下位の中間ノード 3または端末 4に送信する。
[0153] このノード編集許可情報 (M)は、上記のようにノード編集許可情報記憶部 24が記 憶している。ノード編集許可情報記憶部 24は、例えば、ライセンスの発行者と中間ノ ードの運営者 (プロバイダ)との契約内容に基づき中間ノードの運営者が予め作成し ておき、ノード編集許可情報記憶部 24に記憶させてもょ ヽ。
[0154] あるいは、中間ノードの運営者は、契約に基づきオリジナルライセンスとオリジナル 編集許可情報との内容を予め確認しておく。そして、中間ノードが受信ライセンスを 受信した場合、受信ライセンスに含まれるオリジナルライセンス 101とオリジナル編集 許可情報 102とに基づき、所定のノード編集許可情報 (M)を生成するように予め設 定しても構わない。生成されたノード編集許可情報 (M)は、ノード編集許可情報記 憶部 24が記憶する。
[0155] また、中間ノード力 受信ライセンスに含まれるオリジナルライセンス 101とオリジナ ル編集許可情報 102とを表示装置やプリンタなどに出力するように構成し、中間ノー ドの運営者がその出力をみてノード編集許可情報を生成しても構わない。生成され たノード編集許可情報 (M)は、ノード編集許可情報記憶部 24が記憶する。
[0156] 図 42は、ノード編集許可情報を追加する権限を備えたオリジナル編集許可情報 10 2の例である。図 42に示すように、実施の形態 3では、中間ノードがノード編集許可情 報を追加する権限自体もまた、オリジナル編集許可情報 102、あるいはノード編集許 可情報に含める。図 42の例では、 Security Center3」は、前のノード編集許可情 報、あるいはオリジナル編集許可情報の範囲内で、新たにノード編集許可情報を追 カロすることがでさることを示して ヽる。
[0157] また、中間ノードがライセンスを編集する場合、各中間のノードは、受信ライセンス に含まれる最新のノード編集許可情報に従 ヽ、ライセンスを編集するものとする。
[0158] 図 43は、全ての中間ノード 3を対象としたオリジナル編集許可情報 102の例である 。この例では、視聴可能年齢は、 18歳以上に限定されている。
[0159] 次に、図 44は、「Security Center4」に対し、視聴可能年齢を 20歳以上にライセ ンスを編集することを許可するノード編集許可情報である。図 44のノード編集許可情 報は、例えば、「Security Center3」が、「Security Center4」に対し、このような 内容のノード編集許可情報を追加することを認める例である。すなわち、「Security Center3」である中間ノード 3の追加部 10は、図 44に示すノード編集許可情報 10 7を生成する。
[0160] (12.中間ノードまたは端末によるライセンスの検証)
実施の形態 1及び実施の形態 2では、中間ノード 3または端末 4が、上位の中間ノ ードによって編集されたライセンスの正当性を検証する手順について述べた。本実 施の形態 3では、カロえて、ライセンスに含まれるノード編集許可情報についても、その 正当性を検証する必要が生ずる。ノード編集許可情報の検証は、中間ノード 3及び 端末 4で行なわれる。中間ノード 3及び端末 4の検証の動作は同様であるため、中間 ノードの場合を説明し、端末の説明は省略する。
[0161] 図 45は、本実施の形態 3における、図 39に示す中間ノード 3のノード側ライセンス 検証部 11の行うライセンス検証処理のフローチャートである。
(1)ステップ ST1601において、まず編集ライセンスまたは編集履歴が正当であるか 否か判定する。具体的には、図 22または、図 36のフローチャートにした力^、、正当性 の判定を行う。
(2)ステップ ST1602にて不正と判定した場合は、ステップ ST1608にてライセンス の編集が不正と判断し、ライセンス検証処理を終える。
[0162] (3)正当と判定した場合は、次にノード編集許可情報の正当性検証に移る。ステップ ST1603にて、古い方力 順に編集許可情報 (オリジナル編集許可、ノード編集許 可情報)を 2つ読み込む。編集許可情報が 2つあった場合、ステップ ST1605にて、 古 、方の編集許可情報が、新し 、方のノード編集許可情報を生成した中間ノードに よるノード編集許可情報の生成を許して 、る力否かを判定する。許して 、な 、と判定 した場合は、ステップ ST1608にてライセンスの編集が不正と判断し、ライセンス検証 処理を終える。
[0163] (4)許していると判定した場合は、ステップ ST1606にて、古い方の編集許可情報が 許す範囲内で、新しい方のノード編集許可情報が生成されている力否かを判定する 。ノード編集許可情報が、許される範囲を逸脱して生成されている場合は、ステップ S T1608にてライセンスの編集が不正と判断し、ライセンス検証処理を終える。
[0164] (5)許していると判定した場合は、再びステップ ST1603に戻り、次の 2つのノード編 集許可情報に対して、同じ処理を繰り返す。この処理をステップ ST1604にて次のノ ード編集許可情報が無いと判断されるまで繰り返したら、ステップ ST1607にて、ノー ド編集許可情報までを含めてライセンスの編集が正 、と判断し、ライセンス検証処 理を終える。
[0165] (13. 中間ノードによる、ノード編集許可情報追加の正当性検証)
本実施の形態においては、中間ノードにおける自身のノード編集許可情報追加の 正当性検証も行う必要が生ずる。 自己許可情報検証部 21は、自身のノード編集許 可情報の正当性を検証する。
[0166] 図 46は、中間ノード 3の自己許可情報検証部 21の動作を示すフローチャートであ る。
自己許可情報検証部 21は、ノード編集許可情報記憶部 24の記憶するノード編集許 可情報の正当性を検証する。すなわち、中間ノード 3は、 自身の生成したノード編集 情報を自身で検証する。
(1)ステップ ST1701において、受信ライセンスに含まれる最新の編集許可情報 (ォ リジナル編集許可情報とノード編集許可情報のうちの 、ずれかである)を読み込む。
(2)次に、ステップ ST1702にて、 自身のノード編集許可情報を読み込む。ステップ ST1703にて、最新の編集許可情報によって、自身がノード編集許可情報をライセ ンスに追加することが許可されて 、るか否かを判定する。許可されて 、な 、場合は、
ST1706にて自身のノード編集許可情報が不正と判断し、ノード編集許可情報の検 証処理を終了する。
[0167] (3)許可されている場合は、次にステップ ST1704にて、自身が追カロしょうとしている ノード編集許可情報の内容が、最新の編集許可情報によって許されている範囲であ る力否かを判定する。範囲を逸脱している場合は、 ST1706にて自身のノード編集 許可情報が不正と判断し、自身のノード編集許可情報の検証処理を終了する。
[0168] (4)許可範囲内である場合は、ステップ ST1705にてノード編集許可情報が正しいと 判断し、ノード編集許可情報の検証処理を終了する。
[0169] 以上の処理を、中間ノードが保有する編集情報検証部が、編集情報の検証に追加 して実施すること〖こより、自身のノード編集許可情報の追加の正当性を検証すること ができる。
[0170] 以上のように構成することにより、編集許可情報をライセンス発行者のみならず、中 間ノードでも生成し、ライセンスに含めることができるようになり、中間ノードでのライセ ンス編集を許したライセンス配信を、より柔軟に実現することができるようになる。
[0171] 実施の形態 3の中間ノードは、追加部が、オリジナルライセンスとオリジナル編集許 可情報とを含む受信ライセンスにノード編集許可情報を追加し、ノード側送信部が、 ノード許編集可情報が追加された受信ライセンスを中継する。このため、柔軟かつ多 様なライセンスの配信を行なうことができる。
[0172] 実施の形態 3の中間ノードは、自己許可情報検証部が、追加部が取得したノード編 集許可情報の正当性を検証する。このため、正当なライセンスの配信を行なうことが できる。
[0173] 実施の形態 3の中間ノードは、ノード側ライセンス検証部が、受信ライセンスの正当 性を検証する。このため、正当なライセンスの配信を行なうことができる。
[0174] 実施の形態 4.
(14.耐タンパ一装置を用いた、正当なライセンス編集処理の強制)
これまで説明した実施の形態 1〜実施の形態 3により、中間ノードが不正にライセン ス編集を行った場合でも、他の中間ノード、または端末は、不正に編集されたライセ ンスを受信した場合、不正を検知することができる。このため、ライセンス配信システ ム全体として不正を防止することができる。しかし、依然として中間ノードが不正を行う 余地が残る。
[0175] 本実施の形態 4では、システムの安全性をさらに高めることを目的に、これまで説明 してきた構造を持つライセンスの正当な編集を、中間ノードに強制させる方法につい て述べる。
[0176] 図 47、中間ノードにおけるライセンス編集機能のブロック図である。図 47は、受信ラ ィセンス 1、編集情報 111、送付先公開鍵 112を入力とし、耐タンパ一装置 50に格納 された各処理部を経て、最新ライセンス 403を出力する構成を示す。耐タンパ一装置 50は、物理的にシールドされた装置であり、それを開けると、内部のデータ及びプロ グラムが揮発し、使えなくなる性質を持つ。
[0177] 図 47のノード側ライセンス検証部 11、編集情報検証部 12、ノード側ライセンス生成 部 13、ノード側暗号化処理部 14、署名処理部 15等は、既に、図 13、図 31、図 39〖こ おいて説明済みである。
[0178] 以上のように構成することで、中間ノードを運用する者は、受信ライセンスに対し不 正な編集操作を行えなくなるので、正当なライセンス編集の強制力が生じる。
[0179] (15.ライセンスとコンテンツ鍵同時処理による、正当なライセンス編集処理の強制) 上記では、図 47を用いて、耐タンパ一装置 50により正当なライセンス編集処理を 強制する方法について説明した。しかし、そもそも図 47に示すような装置自体を使わ ずに、不正なライセンスデータを生成してしまうことは依然可能である。
[0180] 図 48は、さらにこの問題を解決するために、ライセンスのみならず、通常、ライセン スとともに配信されるコンテンツ鍵までをも、同時に耐タンパ一装置 50内で処理する 構成を示したものである。
[0181] ここで取り上げるコンテンツ鍵 113は、受信ライセンス 1に添付されており、受信者の 公開鍵で暗号ィ匕されているものとする。コンテンツ鍵 113は、ノード側ライセンス検証 部 11によりライセンス力も分離される。そして、コンテンツ鍵 113は、復号処理部 115 により秘密鍵 16を用いて復号され、平文コンテンツ鍵 114となる。さらに、平文コンテ ンッ鍵 114は、ノード側暗号ィ匕処理部 14において、送付先公開鍵 112により、再度、 暗号化され、編集ライセンスに添付される。
[0182] このように構成することで、中間ノードは、受信ライセンスを耐タンパ一装置 50に依 存することなく偽造したとしても、平文コンテンツ鍵自体が入手できない。このため、ラ ィセンスの偽造そのものに意味が無くなる。よって、図 48に示す構成は、中間ノード に対し、耐タンパ一装置 50の使用をより強制する。
[0183] 以上のように構成することで、中間ノードが不正にライセンスを生成する余地をなく すことが可能となり、システムの安全性をより高めることができる。
産業上の利用の可能性
[0184] 以上のように、実施の形態 1〜実施の形態 4で説明したライセンス配信システムは、 ライセンス発行者が許可する範囲内において、中間ノードにおけるライセンス編集を 許す、多段、多階層のライセンス配信用途に有用である。
[0185] 以上の実施の形態では、コンテンツの利用権を記述したライセンスに、どの中間ノ ードが、どの利用権を、どのような範囲で編集可能力を記述した編集許可情報を付 加し、中間ノードにおける編集ライセンスを元のライセンスに順次アペンドしていく形 式を特徴とするライセンスを取り扱い、受信したライセンスが上位ノードにて正当な編 集を経てきたかを検証するライセンス検証部を中間ノードと端末に備え、予め自身が 準備してお!、たライセンスの編集履歴が、コンテンツ発行者によって許可された編集 許可情報の範囲内であることを検証する編集履歴検証部を、中間ノードに備え、受 信ライセンスと編集履歴から、新たな編集ライセンスを生成する、ライセンス生成部を 、中間ノードに備えたことを特徴とする、ライセンス形式及びライセンス配信システムを 説明した。
[0186] 以上の実施の形態では、中間ノードにおける編集履歴を、元のライセンスに順次ァ ベンドしていく形式を特徴とするライセンスを取り扱い、受信ライセンスに、予め自身 が準備しておいた編集履歴をアペンドすることにより新たなライセンスを生成するライ センス生成部を、中間ノードに備え、ライセンス発行者のオリジナルライセンスに、ライ センスに含まれる編集履歴を繰り返し反映することで、最新のライセンスを復元するラ ィセンス復元部を、中間ノードに備えたことを特徴とする、ライセンス形式及びライセ ンス酉 S信システムを説明した。 [0187] 以上の実施の形態では、中間ノードにおける編集許可情報の追加を許可し、中間 ノードが作成した編集許可情報を、前の編集許可情報の直後にアペンドしていく形 式を特徴とするライセンスを取り扱い、受信したライセンスが上位ノードにて正当な編 集を経てきたかを検証することに加え、編集許可情報も正当に追加されてきたかを検 証するライセンス検証部を、中間ノードと端末に備え、予め自身が準備しておいたラ ィセンスの編集履歴力 最新の編集許可情報の範囲内であることを検証する編集履 歴検証部を、中間ノードに備えたことを特徴とする、ライセンス形式及びライセンス配 信システムを説明した。
[0188] 以上の実施の形態では、ライセンス検証部、編集履歴検証部、ライセンス生成部、 暗号化処理部、署名生成部を耐タンパ一装置に格納し、受信ライセンス、編集履歴 、送付先公開鍵を入力とし、暗号ィ匕署名済ライセンスを出力する耐タンパ一装置を中 間ノードに有することを特徴とする、ライセンス配信システムを説明した。
[0189] 以上の実施の形態では、請求の範囲第 4項に記載のライセンス配信システムにお いて、耐タンパ一装置内でライセンスの編集のみならず、自身の秘密鍵によるコンテ ンッ鍵の復号及び、送付先公開鍵による再暗号をも実施することを特徴とする、ライ センス酉 S信システムを説明した。
[0190] 以上のように、上記の実施の形態に係わるライセンス配信システムは、コンテンツホ ルダ (ライセンス発行者装置)が、ライセンス (オリジナルライセンス)に編集許可情報( オリジナル編集許可情報)を付加してコンテンツプロバイダ(中間ノード)に送り、コン テンップロバイダ(中間ノード)は、編集許可情報 (オリジナル編集許可情報)の範囲 内でライセンスを編集し、編集ライセンスまたは編集履歴を、受信したライセンスにァ ベンドして次のコンテンツプロバイダ(中間ノード)に送るライセンス構造を持つことを 特徴とする。また、コンテンツプロバイダ(中間ノード)及び端末は、受信したライセン スが上位ノードにて正当な編集を経てきたかを検証する、ノード側ライセンス検証部、 端末側ライセンス検証部を備えることを特徴とする。また、コンテンツプロバイダ(中間 ノード)は、予め自身が準備しておいたライセンスの編集履歴 (編集情報)が、コンテ ンッホルダ (中間ノード)によって許可された編集許可情報 (オリジナル編集許可情報 )の範囲内であるかどうかを検証する編集履歴検証部 (自己許可情報検証部)を備え ることを特徴とする。また、コンテンツプロバイダ(中間ノード)は、受信ライセンスと編 集履歴から、新たな編集ライセンスを生成するノード側ライセンス生成部を備えること を特徴とする。このように、この実施の形態に係るライセンス配信システムによれば、ラ ィセンスに編集許可情報 (オリジナル編集許可情報)及び、コンテンツプロバイダ (中 間ノード)による編集ライセンスまたは編集履歴を付加することにより、ライセンス配信 において下位に位置するコンテンツプロバイダ(中間ノード)または端末は、ライセン スが正当な編集を経てきたカゝ否かを検証することができる。このため、コンテンツプロ バイダ(中間ノード)または端末は、コンテンツプロバイダ (中間ノード)による不正なラ ィセンス編集を検知し防止することができる。さらには、ライセンスという特別なデータ に限定せず、一般的なデータについて、データ発行者が許可した範囲内でのデータ 編集を許しつつ、安全なデータの送信を実現するという効果も奏するものである。 図面の簡単な説明
[図 1]実施の形態 1におけるライセンス配信システム 1000の構成を示す。
[図 2]実施の形態 1におけるライセンス配信システム 1000の動作の概要を示す。
[図 3]実施の形態 1におけるライセンス発行者装置 2の外観を示す。
[図 4]実施の形態 1におけるライセンス発行者装置 2のハードウェア構成を示す。
[図 5]実施の形態 1における端末装置 4のハードウェア構成を示す。
[図 6]実施の形態 1におけるライセンス発行者装置 2のブロック構成図を示す。
[図 7]実施の形態 1におけるライセンス発行者装置 2で生成された初期状態のライセ ンスの詳細な構成を示すブロックである。
[図 8]実施の形態 1におけるオリジナルライセンスの具体例を示す。
[図 9]実施の形態 1におけるオリジナル編集許可情報の具体例を示す。
[図 10]実施の形態 1における発行者署名 201の生成過程を示す。
[図 11]実施の形態 1における発行者署名 202の生成過程を示す。
[図 12]実施の形態 1におけるライセンス発行者装置 2によるライセンス 1の生成の概要 を示す。
[図 13]実施の形態 1における中間ノード 3の構成を示す。
[図 14]実施の形態 1におけるオリジナルライセンスとオリジナル編集許可情報の復号 を示す。
圆 15]実施の形態 1における中間ノード 3が生成する編集ライセンスの具体例示す。
[図 16]実施の形態 1における中間ノード 3が編集したライセンスの詳細構成を示すブ ロック図である。
[図 17]実施の形態 1における編集者署名 203の生成過程を示す。
[図 18]実施の形態 1における中間ノードによるライセンス 1の生成の概要を示す。
[図 19]実施の形態 1における中間ノードでの編集を N回繰り返した後のライセンスの 詳細な構成を示すブロック図である。
圆 20]実施の形態 1における端末装置 4の構成を示す。
[図 21]実施の形態 1における中間ノード 3のノード側ライセンス検証部のブロック図で ある。
[図 22]実施の形態 1におけるノード側ライセンス検証部が行うライセンス検証処理の フローチャートである。
[図 23]実施の形態 1におけるノード側ライセンス検証部が行うライセンス検証処理を 説明する図である。
[図 24]実施の形態 1におけるノード側ライセンス検証部が行うライセンス検証処理を 説明する図である。
[図 25]実施の形態 1における中間ノードの編集情報検証部のブロック図である。
[図 26]実施の形態 1における編集履歴 (独自形式)の実例を示す図である。
圆 27]実施の形態 1における編集情報検証部が行う編集情報検証処理のフローチヤ ートである。
[図 28]実施の形態 1における XSL形式の編集情報の実例を示す図である。
[図 29]実施の形態 1における中間ノードのノード側ライセンス生成部のブロック図であ る。
[図 30]実施の形態 1におけるノード側ライセンス生成部のライセンス生成処理のフロ 一チャートである。
[図 31]実施の形態 2における中間ノード 3の構成図である。
[図 32]実施の形態 2における各中間ノードで編集を N回繰り返した後のライセンスの 詳細な構成を示すブロック図である。
[図 33]実施の形態 2における中間ノードのノード側ライセンス復元部のブロック図であ る。
[図 34]実施の形態 2におけるノード側ライセンス復元部のライセンス復元処理のフロ 一チャートである。
[図 35]実施の形態 2における中間ノードのノード側ライセンス検証部のブロック図であ る。
[図 36]実施の形態 2におけるノード側ライセンス検証部のライセンス検証処理のフロ 一チャートである。
[図 37]実施の形態 2における中間ノードのノード側ライセンス生成部のブロック図であ る。
[図 38]実施の形態 2におけるノード側ライセンス生成部のライセンス生成処理のフロ 一チャートである。
[図 39]実施の形態 3における中間ノード 3の構成図である。
[図 40]実施の形態 3におけるライセンスに編集ライセンスをアペンドする場合の、ライ センスの詳細な構成を示すブロック図である。
[図 41]実施の形態 3におけるライセンスに編集履歴をアペンドする場合の、ライセンス の詳細な構成を示すブロック図である。
圆 42]実施の形態 3におけるオリジナル編集許可情報の実例を示す図である。 圆 43]実施の形態 3におけるオリジナル編集許可情報の実例を示す図である。 圆 44]実施の形態 3におけるノード編集許可情報の実例を示す図である。
[図 45]実施の形態 3におけるノード側ライセンス検証部のライセンス検証処理のフロ 一チャートである。
[図 46]実施の形態 3における編集情報検証部のノード編集許可情報の検証処理の フローチャートである。
[図 47]実施の形態 4における中間ノード 3のライセンス編集機能の構成を示すブロッ ク図である。
[図 48]実施の形態 4における中間ノードのライセンス編集機能の構成を示すブロック 図である。
符号の説明
1, la, lb, lc ライセンス、 2 ライセンス発行者装置、 3 中間ノード、 4 端末、 5 ネットワーク、 10 追加部、 11 ノード側ライセンス検証部、 12 編集情報検証部、 1 3 ノード側ライセンス生成部、 14 ノード側暗号化処理部、 15 ノード側署名生成部 、 16 ノード側秘密鍵格納部、 17 ノード側送信部、 18 ノード側受信部、 19 ノード 側送付先公開鍵格納部、 20 ノード側ライセンス復元部、 21 自己許可情報検証部 、 22 秘密鍵、 23 編集情報記憶部、 24 ノード編集許可情報記憶部、 30 秘密鍵 、 31 発行側ライセンス生成部、 32 オリジナルライセンス生成部、 33 オリジナル編 集許可情報生成部、 34 発行側送付先公開鍵格納部、 35 発行側暗号化処理部、 36 発行側秘密鍵格納部、 37 発行側署名生成部、 38 発行側送信部、 39 送付 先公開鍵、 41 端末側受信部、 42 端末側ライセンス復元部、 43 端末側ライセン ス検証部、 44 端末側コンテンツ利用部、 45 端末側秘密鍵格納部、 46 秘密鍵、 50 耐タンパ一装置、 101 オリジナルライセンス、 102 オリジナル編集許可情報、 103 編集ライセンス、 104 編集ライセンス(2)、 105 編集ライセンス (N— 1)、 10 6 編集ライセンス (N)、 107 ノード編集許可情報、 111 編集情報、 112 送付先 公開鍵、 113, 114 コンテンツ鍵、 115 復号処理部、 201, 202 発行者署名、 20 3 編集者署名、 204 編集者 2署名、 205 編集者 N— 1署名、 206 編集者 N署名 、 211 編集者 K署名、 212 編集者 M署名、 240 追加部分、 301 発行者署名、 3 02 編集者署名、 303 編集 N署名、 401, 402 正当性検証結果、 403 最新ライ センス、 501 編集履歴(1)、 502 編集履歴(2)、 503 編集履歴 (N)、 504 編集 履歴 (N—l)、 601 ノード編集許可情報 K、 602 ノード編集許可情報 (Μ)、 800 コンピュータシステム、 810 CPU, 811 ROM, 812 RAM, 813 液晶表示装置 、 814 キーボード、 815 マウス、 816 通信ボード、 817 FDD, 818 CDD、 819 プリンタ、 820 磁気ディスク装置、 821 OS, 822 ウィンドウシステム、 823 プロ グラム群、 824 ファイル群、 825 ノ ス、 830 システムユニット、 851 リモコン受信 部、 852 リモコン装置、 900 ネットワーク、 1000 ライセンス配信システム。

Claims

請求の範囲
[1] データを発行する発行装置と、前記発行装置が発行した前記データを中継する複 数の中間ノードと、前記複数の中間ノードを介して前記データを受信する端末装置と を備えたデータ配信システムにお 、て、
前記発行装置は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報とを含む中継デ ータを発行し、
前記複数の中間ノードのうちの少なくとも 、ずれかは、
前記発行装置が発行した前記中継データを中継する場合に、前記中継データに 含まれる前記オリジナル編集許可情報に基づ 、て、前記オリジナルデータに対して 少なくとも一部が変更された編集データを生成し、生成した前記編集データを前記 中継データに追カ卩して前記中継データを中継し、
前記端末装置は、
前記複数の中間ノードのうちの少なくともいずれかにより前記編集データが追加さ れた前記中継データを受信することを特徴とするデータ配信システム。
[2] 前記発行装置が発行する中継データに含まれる前記オリジナルデータは、
前記端末装置に対して所定の権利を認めるオリジナルライセンスを含むことを特徴 とする請求項 1記載のデータ配信システム。
[3] 所定のデータを発行し、発行した前記所定のデータを複数の中間ノードを介して、 端末装置に配信する発行装置において、
前記端末装置に配信するためのオリジナルデータと、前記複数の中間ノードの少 なくともいずれかに対して前記オリジナルデータの変更を認めるとともに変更を認め る内容を示すオリジナル編集許可情報とを含む中継データを発行する発行部と、 前記発行部が発行した前記中継データを送信する発行側送信部と
を備えたことを特徴とする発行装置。
[4] 端末装置にデータを中継する中間ノードにおいて、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報とを含む中継デ ータを中継の対象として受信するノード側受信部と、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報に基づいて、前記オリジナルデータに対して少なくとも一部が変更された編集 データを生成し、生成した前記編集データを前記ノード側受信部が受信した前記中 継データに追加する追加部と、
前記追加部により前記編集データが追加された前記中継データをあらたな中継デ ータとして中継のために送信するノード側送信部と
を備えたことを特徴とする中間ノード。
[5] 前記追加部は、
前記オリジナルデータに対する変更を示す差分を自己差分情報として取得し、取 得した前記自己差分情報と前記ノード側受信部が受信した前記中継データに含ま れる前記オリジナル編集許可情報とに基づ ヽて、前記編集データを生成することを 特徴とする請求項 4記載の中間ノード。
[6] 前記追加部は、
前記自己差分情報が、前記オリジナル編集許可情報の認める内容の範囲内かどう かを検証する差分検証部を備えたことを特徴とする請求項 5記載の中間ノード。
[7] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報と、他の中間ノー ドが前記オリジナルデータを変更して追加した他ノード変更データとを含む中継デー タを中継の対象として受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記オリジナル編集許可情報と前記他ノード変更データとに基づいて、前記ノード側 受信部が受信した前記中継データが正当力どうかを検証するノード側中継データ検 証部を備えたことを特徴とする請求項 4記載の中間ノード。
[8] 複数の中間ノードを介して中継されるデータの配信を受ける端末装置において、 前記複数の中間ノードを介して中継される中継データであって、
配信の対象であるオリジナルデータと、前記複数の中間ノードの少なくともいずれ かに対して前記オリジナルデータの変更を認めるとともに変更を認める内容を示すォ リジナル編集許可情報と、前記複数の中間ノードのうち少なくともいずれかが前記ォ リジナルデータを変更して追加した他ノード変更データとを含む中継データを受信す る端末側受信部と、
前記端末側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記オリジナル編集許可情報と前記他ノード変更データとに基づいて、前記端末側 受信部が受信した前記中継データが正当力どうかを検証する端末側中継データ検 証部と
を備えたことを特徴とする端末装置。
[9] データを発行する発行装置と、前記発行装置が発行した前記データを中継する複 数の中間ノードと、前記複数の中間ノードを介して前記データを受信する端末装置と を備えたデータ配信システムにお 、て、
前記発行装置は、
前記端末装置に配信するためのオリジナルデータを含む中継データを発行し、 前記複数の中間ノードのうちの少なくとも 、ずれかは、
前記発行装置が発行した前記中継データを中継する場合に、前記オリジナルデー タに対する変更を示す差分を自己差分情報として取得し、取得した前記自己差分情 報を前記中継データに追加して前記中継データを中継し、
前記端末装置は、
前記複数の中間ノードのうちの少なくともいずれかにより前記自己差分情報が追カロ された前記中継データを受信することを特徴とするデータ配信システム。
[10] 端末装置にデータを中継する中間ノードにおいて、
前記端末装置に配信するためのオリジナルデータを含む中継データを中継の対象 として受信するノード側受信部と、
前記オリジナルデータに対する差分を自己差分情報として取得し、取得した前記自 己差分情報を前記ノード側受信部が受信した前記中継データに追加する追加部と、 前記追加部により前記自己差分情報が追加された前記中継データをあらたな中継 データとして中継のために送信するノード側送信部と
を備えたことを特徴とする中間ノード。
前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報とを含む中継デ ータを中継の対象として受信し、
前記追加部は、
前記自己差分情報が、前記ノード側受信部の受信した前記中継データに含まれる 前記オリジナル編集許可情報の認める内容の範囲内かどうかを検証する差分検証 部を備えたことを特徴とする請求項 10記載の中間ノード。
前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、前記オリジナルデータの変更 を認めるとともに変更を認める内容を示すオリジナル編集許可情報と、他の中間ノー ドが前記オリジナルデータに対する変更を差分として追加した他ノード差分情報とを 含む中継データを中継の対象として受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報と前記他ノード差分情報とに基づ!/、て、前記ノード側受信部が受信した前記 中継データが正当かどうかを検証するノード側中継データ検証部を備えたことを特徴 とする請求項 10記載の中間ノード。
前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、他の中間ノードが前記オリジ ナルデータに対する変更を差分として追加した他ノード差分情報とを含む中継デー タを中継の対象として受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記他ノード差分情報とに基づ!/、て、前記他ノード差分情報が示す前記オリジナル データに対する差分を前記オリジナルデータに反映した反映データを生成するノー ド側反映データ生成部を備えたことを特徴とする請求項 10記載の中間ノード。
[14] 複数の中間ノードを介して中継されるデータの配信を受ける端末装置において、 前記複数の中間ノードを介して中継される中継データであって、配信の対象である オリジナルデータと、前記複数の中間ノードの少なくともいずれかに対して前記オリジ ナルデータの変更を認めるとともに変更を認める内容を示すオリジナル編集許可情 報と、前記複数の中間ノードのうちの少なくともいずれかが前記オリジナルデータに 対する変更を差分として追加した他ノード差分情報と含む中継データを受信する端 末側受信部と、
前記端末側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報と前記他ノード差分情報とに基づいて、前記端末側受信部が受信した前記中 継データが正当かどうかを検証する端末側中継データ検証部とを備えたことを特徴と する端末装置。
[15] 前記端末装置は、さらに、
前記端末側受信部が受信した前記中継データに含まれる前記オリジナルデータと 前記他ノード差分情報とに基づ!、て、前記他ノード差分情報が示す前記オリジナル データに対する差分を前記オリジナルデータに反映した反映データを生成する端末 側反映データ生成部を備えたことを特徴とする請求項 14記載の端末装置。
[16] 端末装置にデータを中継する中間ノードにおいて、
前記端末装置に配信するためのオリジナルデータを含む中継データを中継の対象 として受信するノード側受信部と、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナルデータ の変更を認めるとともに変更を認める内容を示す情報を自己編集許可情報として取 得し、取得した前記自己編集許可情報を前記ノード側受信部が受信した前記中継 データに追加する追加部と、
前記追加部により前記自己編集許可情報が追加された前記中継データをあらたな 中継データとして中継のために送信するノード側送信部と
を備えたことを特徴とする中間ノード。 [17] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと、他の中間ノードが追加した情 報であって前記オリジナルデータの変更を認めるとともに変更を認める内容を示す他 ノード編集許可情報とを含む中継データを受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記他ノード編集許可 情報に基づ 、て、前記自己編集許可情報が正当かどうかを検証する自己許可情報 検証部を備えたことを特徴とする請求項 16記載の中間ノード。
[18] 前記ノード側受信部は、
前記端末装置に配信するためのオリジナルデータと前記オリジナルデータの変更 を認めると
ともに変更を認める内容を示すオリジナル編集許可情報とを発行する発行装置が発 行した前記
オリジナルデータと前記オリジナル許可情報とを含むとともに、他の中間ノードが追加 した情報であって前記オリジナルデータの変更を認めるとともに変更を認める内容を 示す他ノード編集
許可情報とを含む中継データを受信し、
前記追加部は、
前記ノード側受信部が受信した前記中継データに含まれる前記オリジナル編集許 可情報と前記他ノード編集許可情報とに基づ!、て、前記ノード側受信部が受信した 前記中継データが正当かどうかを検証するノード側中継データ検証部を備えたことを 特徴とする請求項 16記載の中間ノード。
PCT/JP2005/016008 2005-09-01 2005-09-01 データ配信システム及び発行装置及び端末装置及び中間ノード WO2007029285A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US11/991,139 US20090055935A1 (en) 2005-09-01 2005-09-01 Data delivery system, issuance apparatus, terminal apparatus, and intermediate node
PCT/JP2005/016008 WO2007029285A1 (ja) 2005-09-01 2005-09-01 データ配信システム及び発行装置及び端末装置及び中間ノード
EP05781556A EP1921554A1 (en) 2005-09-01 2005-09-01 Data delivery system, issuance apparatus, terminal apparatus and intermediate node
JP2007534189A JPWO2007029285A1 (ja) 2005-09-01 2005-09-01 データ配信システム及び発行装置及び端末装置及び中間ノード

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/016008 WO2007029285A1 (ja) 2005-09-01 2005-09-01 データ配信システム及び発行装置及び端末装置及び中間ノード

Publications (1)

Publication Number Publication Date
WO2007029285A1 true WO2007029285A1 (ja) 2007-03-15

Family

ID=37835423

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2005/016008 WO2007029285A1 (ja) 2005-09-01 2005-09-01 データ配信システム及び発行装置及び端末装置及び中間ノード

Country Status (4)

Country Link
US (1) US20090055935A1 (ja)
EP (1) EP1921554A1 (ja)
JP (1) JPWO2007029285A1 (ja)
WO (1) WO2007029285A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068622A (ja) * 2015-09-30 2017-04-06 株式会社Screenホールディングス ライセンス管理システムおよびライセンス管理方法
WO2024013920A1 (ja) * 2022-07-14 2024-01-18 日本電気株式会社 生成装置、検証装置、システム、生成方法、検証方法及び非一時的なコンピュータ可読媒体

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4537882B2 (ja) * 2005-04-18 2010-09-08 株式会社東芝 情報端末装置
JP2007150846A (ja) * 2005-11-29 2007-06-14 Toshiba Corp コンテンツ再生システム
JP5448776B2 (ja) * 2009-12-16 2014-03-19 キヤノン株式会社 画像形成装置、方法、プログラム
US9118670B2 (en) * 2013-08-30 2015-08-25 U-Me Holdings LLC Making a user's data, settings, and licensed content available in the cloud

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228636A (ja) * 2001-11-30 2003-08-15 Matsushita Electric Ind Co Ltd 情報変換装置
JP2005175652A (ja) * 2003-12-09 2005-06-30 Hitachi Ltd コンテンツ流通システム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005064484A1 (ja) * 2003-12-25 2005-07-14 Mitsubishi Denki Kabushiki Kaisha デジタルコンテンツ利用権管理システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003228636A (ja) * 2001-11-30 2003-08-15 Matsushita Electric Ind Co Ltd 情報変換装置
JP2005175652A (ja) * 2003-12-09 2005-06-30 Hitachi Ltd コンテンツ流通システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2017068622A (ja) * 2015-09-30 2017-04-06 株式会社Screenホールディングス ライセンス管理システムおよびライセンス管理方法
WO2024013920A1 (ja) * 2022-07-14 2024-01-18 日本電気株式会社 生成装置、検証装置、システム、生成方法、検証方法及び非一時的なコンピュータ可読媒体

Also Published As

Publication number Publication date
EP1921554A1 (en) 2008-05-14
JPWO2007029285A1 (ja) 2009-03-12
US20090055935A1 (en) 2009-02-26

Similar Documents

Publication Publication Date Title
US6807534B1 (en) System and method for managing copyrighted electronic media
US5765152A (en) System and method for managing copyrighted electronic media
JP3130267B2 (ja) 暗号エンベロープの作成方法
US6189097B1 (en) Digital Certificate
JP4619665B2 (ja) ディジタル権利管理(drm)システムでのパブリッシャ使用ライセンスのオフラインでの発行
JP4524124B2 (ja) ディジタル権利管理(drm)サーバのdrmアーキテクチャへのエンロール/サブエンロール
US20080209231A1 (en) Contents Encryption Method, System and Method for Providing Contents Through Network Using the Encryption Method
EP1220078B1 (en) Content distribution system, copyright protection system and content receiving terminal
JP2007531127A (ja) デジタルライセンス共有システム及び共有方法
US20020095579A1 (en) Digital data authentication method
CN102073826A (zh) 利用轻量级数字水印添加组件的数字版权管理的系统和方法
KR20010052796A (ko) 정보 처리 장치 및 방법, 및 제공 매체
JP3956106B2 (ja) コンピュータ装置及びプログラム
WO2007029285A1 (ja) データ配信システム及び発行装置及び端末装置及び中間ノード
CN103036860A (zh) 电子读物的验证方法和系统、服务器端、客户端及终端
GB2404828A (en) Copyright management where encrypted content and corresponding key are in same file
KR20010052765A (ko) 정보 처리 장치 및 방법, 및 제공 매체
JP2008035019A (ja) 電子署名装置
WO2011043171A1 (ja) 著作物再配布促進システム
WO2011034094A1 (ja) 著作物販売方法及びシステム
JPH11327437A (ja) 情報提供システム
JP2004045607A (ja) 電子化証明書、電子化証明書を記録した記録媒体、および、電子化証明書を発行する方法、装置、プログラム、および、電子化証明書を表示する方法、装置、プログラム
EP0984598A2 (en) Information authentication system
KR20070022257A (ko) 디지털 라이센스 공유 시스템 및 방법

Legal Events

Date Code Title Description
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: 2007534189

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 2005781556

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 11991139

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

WWP Wipo information: published in national office

Ref document number: 2005781556

Country of ref document: EP