WO2003088059A1 - Dispositif de traitement d'informations, procede, support d'enregistrement et programme - Google Patents

Dispositif de traitement d'informations, procede, support d'enregistrement et programme Download PDF

Info

Publication number
WO2003088059A1
WO2003088059A1 PCT/JP2003/004549 JP0304549W WO03088059A1 WO 2003088059 A1 WO2003088059 A1 WO 2003088059A1 JP 0304549 W JP0304549 W JP 0304549W WO 03088059 A1 WO03088059 A1 WO 03088059A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
content data
data
format
storage medium
Prior art date
Application number
PCT/JP2003/004549
Other languages
English (en)
French (fr)
Inventor
Yoji Kawamoto
Ryuji Ishiguro
Yuichi Ezura
Motohiko Nagano
Original Assignee
Sony Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corporation filed Critical Sony Corporation
Priority to EP03719097A priority Critical patent/EP1496441A4/en
Priority to US10/480,626 priority patent/US7487549B2/en
Priority to KR10-2003-7016350A priority patent/KR20040103748A/ko
Publication of WO2003088059A1 publication Critical patent/WO2003088059A1/ja
Priority to US12/269,848 priority patent/US8042192B2/en

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/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/1077Recurrent authorisation
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00137Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to contents recorded on or reproduced from a record carrier to authorised users
    • G11B20/00152Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to contents recorded on or reproduced from a record carrier to authorised users involving a password
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00166Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software
    • G11B20/00181Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving measures which result in a restriction to authorised contents recorded on or reproduced from a record carrier, e.g. music or software using a content identifier, e.g. an international standard recording code [ISRC] or a digital object identifier [DOI]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00217Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source
    • G11B20/00224Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier the cryptographic key used for encryption and/or decryption of contents recorded on or reproduced from the record carrier being read from a specific source wherein the key is obtained from a remote server
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/0021Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
    • G11B20/00485Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier
    • G11B20/00492Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted
    • G11B20/00507Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier characterised by a specific kind of data which is encrypted and recorded on and/or reproduced from the record carrier wherein content or user data is encrypted wherein consecutive physical data units of the record carrier are encrypted with separate encryption keys, e.g. the key changes on a cluster or sector basis
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00731Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction
    • G11B20/0084Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a digital rights management system for enforcing a usage restriction wherein the usage restriction can be expressed as a specific time or date
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B20/00Signal processing not specific to the method of recording or reproducing; Circuits therefor
    • G11B20/00086Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
    • G11B20/00855Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving a step of exchanging information with a remote server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/083Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
    • H04L9/0833Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
    • H04L9/0836Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution
    • H04L2209/603Digital right managament [DRM]

Definitions

  • the present invention relates to an information processing apparatus and method, a recording medium, and a program, and in particular, is capable of preventing unauthorized copying and use of content without a license from a copyright holder.
  • the present invention relates to an information processing apparatus and method, a recording medium, and a program. Background art
  • the content can be imported from another device of a different format or a different format, or the content can be transferred to another device. It was difficult to export.
  • DRM Digital Rights Management
  • the present invention has been made in view of such circumstances, and it has been made possible to prevent loss of information and to enable content to be imported or exported, and to treat imported or exported content in the same manner as other content.
  • the purpose is to be able to do so.
  • a first information processing apparatus includes: an extracting unit that extracts content data included in a content; a converting unit that converts a format of the extracted content data into a predetermined format corresponding to a storage medium; Generating means for generating a predetermined file from the data excluding the content data; adding means for adding reference information of the converted content data to the file; and the content whose format has been converted. And first writing control means for controlling writing of data and files to the storage medium.
  • the information processing apparatus may further include a second writing control unit that controls writing of information to the storage medium based on the usage right necessary to use the content.
  • a first information processing method includes: an extracting step of extracting content data included in content; a converting step of converting a format of the extracted content data into a predetermined format corresponding to a storage medium; A generating step of generating a predetermined file from data excluding the content data included in the content, an adding step of adding reference information of the format-converted content data to the file, and a format-converted content A writing control step of controlling writing of data and files to the storage medium.
  • the program of the first recording medium of the present invention includes: an extracting step of extracting content data included in the content; and a converting step of converting the format of the extracted content data into a predetermined format corresponding to the storage medium.
  • a first program includes, in a computer, an extraction step of extracting content data included in a content, and a conversion step of converting a format of the extracted content data into a predetermined format corresponding to a storage medium.
  • a writing control step of controlling writing of the obtained content data and file to the storage medium.
  • a second information processing apparatus includes: an acquisition unit that acquires content data from a storage medium; a conversion unit that converts content data acquired by the acquisition unit into a predetermined format to generate content; Encrypting means for encrypting the format-converted content data included in the content generated by the converting means and adding key information for decrypting the content data encrypted to the content; and It is characterized by including additional means for adding information for associating with a use right necessary for use.
  • the information processing apparatus may further include a storage unit for storing a usage right necessary for using the input content.
  • an acquisition step of acquiring content data from a storage medium, and the content data acquired by the processing of the acquisition step are provided.
  • the program of the second recording medium of the present invention comprises: an acquisition step of acquiring content data from a storage medium; and a conversion step of converting the content data acquired by the processing of the acquisition step into a predetermined format to generate content.
  • the method is characterized by executing a step and an additional step of adding information for associating the content with a use right necessary for using the content.
  • the first recording medium, and the first program of the present invention content data included in the content is extracted, and the format of the extracted content data corresponds to the storage medium. Converted to the specified format. Then, a predetermined file is generated from the data excluding the content data included in the content, and the format converted to the file is copied. : Data reference information is added. Further, the writing of the converted format data and files onto the storage medium is controlled.
  • the information processing device may be a single device, or may be a block that performs information processing of a reproducing device or a recording / reproducing device.
  • the content may be any useful information regardless of the type of information such as audio, image, or text.
  • the storage medium only needs to store the content by a physical change or a chemical change.
  • content data is obtained from a storage medium, and the obtained content data is converted into a predetermined format.
  • Content is generated.
  • the format-converted content data included in the generated content is encrypted, and key information for decrypting the encrypted content data is added to the content.
  • information is added to the content for associating it with the right to use the content.
  • the information processing device may be a single device, or may be a block that performs information processing of the recording device or the recording / reproducing device.
  • the content may be any useful information regardless of the type of information such as audio, image, or text.
  • the storage medium only needs to store the content by a physical change or a chemical change.
  • FIG. 1 is a block diagram showing a configuration of a content providing system to which the present invention is applied.
  • FIG. 2 is a block diagram showing the configuration of the client shown in FIG.
  • FIG. 3 is a flowchart for explaining the content download processing of the client in FIG.
  • FIG. 4 is a flowchart illustrating a content providing process of the content server in FIG.
  • FIG. 5 is a diagram showing an example of the format in step S26 in FIG.
  • FIG. 6 is a flowchart illustrating the content reproduction processing of the client in FIG.
  • FIG. 7 is a flowchart illustrating details of the usage right acquisition process in step S43 of FIG.
  • FIG. 8 is a diagram showing the structure of the usage right.
  • FIG. 9 is a flowchart illustrating a process of providing a license right of the license server in FIG.
  • FIG. 10 is a diagram illustrating the configuration of a key.
  • FIG. 11 is a diagram illustrating a category node.
  • FIG. 12 is a diagram showing a specific example of correspondence between nodes and devices.
  • FIG. 13 is a diagram for explaining the configuration of the validation key block.
  • FIG. 14 is a diagram for explaining the configuration of the validation key block.
  • FIG. 15 is a diagram illustrating the use of an activation key block.
  • FIG. 16 is a diagram showing an example of the format of the activation keep-up.
  • FIG. 17 is a diagram illustrating the configuration of the tag of the activation key block.
  • FIG. 18 is a diagram for explaining a content decryption process using DNK.
  • FIG. 19 is a diagram showing an example of the activation key block. .
  • FIG. 20 is a diagram for explaining assignment of a plurality of contents to one device.
  • FIG. 21 is a block diagram showing the configuration of a Memory Stick.
  • FIG. 22 is a flowchart explaining the process of exporting content.
  • FIG. 23 is a flowchart illustrating a process of executing a client export.
  • FIG. 24 is a diagram illustrating an example of generating a MAC value using the DES encryption processing configuration.
  • FIG. 25 is a diagram for explaining the index and the content stored in the Memory Stick.
  • FIG. 26 is a flowchart illustrating the process of executing the import of the Memory Stick.
  • FIG. 27 is a diagram for explaining the import and export of contents.
  • FIG. 28 is a diagram for explaining conversion of content in import or export.
  • FIG. 29 is a diagram illustrating an example of content conversion in import or export.
  • FIG. 30 is a flowchart for explaining the content writing process of the client 1.
  • FIG. 31 is a flowchart illustrating the process of storing the content of the Memory Stick 651.
  • FIG. 32 is a flowchart illustrating a process in which the client 1 imports the content recorded on the CD.
  • FIG. 33 is a flowchart illustrating processing of importing the content stored in the memory stick 651 by the client 1.
  • FIG. 1 shows a configuration of a content providing system to which the present invention is applied.
  • Clients 1-1 and 1-2 (hereinafter, these clients are simply referred to as client 1 when there is no need to distinguish them individually) are connected to the Internet 2.
  • the Internet 2 includes a content server 3 that provides content to the client 1, a license server 4 that grants the client 1 the right to use the content provided by the content server 3, and a client When the client 1 receives the usage right, a charging server 5 that performs a charging process for the client 1 is connected.
  • Figure 2 shows the configuration of Client 1.
  • the timer 20 performs a timing operation and supplies time information to the CPU 21.
  • the RAM 23 also appropriately stores data necessary for the CPU 21 to execute various processes.
  • the encryption / decryption unit 24 performs a process of encrypting the content data and a process of decrypting the already encrypted content data.
  • the codec unit 25 encodes the content data by, for example, ATRAC (Adaptive Transform Acoustic Coding) 3 method and supplies the encoded data to the semiconductor memory 44 connected to the drive 30 via the input / output interface 32. , Record. Alternatively, the codec unit 25 decodes the encoded data read from the semiconductor memory 44 via the drive 30.
  • ATRAC Adaptive Transform Acoustic Coding
  • the semiconductor memory 44 is composed of, for example, a Memory Stick (trademark).
  • the CPU 21 N ROM 22, RAM 23, encryption / decryption unit 24, and codec unit 25 are interconnected via a bus 31.
  • the bus 31 is also connected to an input / output interface 32.
  • the input / output interface 32 includes an input unit 26 composed of a keyboard and a mouse, a display composed of a CRT, LCD, etc., an output unit 27 composed of a speaker, etc., a storage unit 28 composed of a hard disk, etc., a modem, and a terminal.
  • a communication unit 29 composed of an adapter and the like is connected.
  • the communication unit 29 performs communication processing via the Internet 2.
  • the communication unit 29 also performs communication processing of an analog signal or a digital signal with another client.
  • a drive 30 is connected to the input / output interface 32 as necessary, and a magnetic disk 41, an optical disk 42, a magneto-optical disk 43, or a semiconductor memory 44, etc. are appropriately mounted and read out from them.
  • the installed computer program is installed in the storage unit 28 as necessary.
  • the content server 3, the license server 4, and the billing server 5 are also constituted by computers having basically the same configuration as the client 1 shown in FIG. Therefore, in the following description, the configuration of FIG. 2 is also referred to as the configuration of the content server 3, the license server 4, the billing server 5, and the like.
  • a PD Portable Device
  • a computer having a configuration basically similar to that of the client 1 shown in FIG.
  • the CPU 21 controls the communication unit 29 in step S1 and sends the content server 3 to the content server 3 via the Internet 2. Have access.
  • step S2 when the user operates the input unit 26 to specify the content to be provided, the CPU 21 receives this specification information, and from the communication unit 29, via the Internet 2.
  • the content server 3 is notified of the content ID of the designated content to the content server 3.
  • the content server 3 having received the notification transmits the content including the encrypted content data. I will send you Then, in step S3, the CPU 21 receives the content data via the communication unit 29, and in step S4, stores the encrypted content data in the hard disk constituting the storage unit 28. Supply and memorize.
  • the configuration of the client 1 in FIG. 2 is also referred to as the configuration of the content server 3.
  • step S21 the CPU 21 of the content server 3 waits until the client 1 accesses the Internet 2 through the communication unit 29, and when it is determined that the access has been received, the CPU 21 proceeds to step S22. Proceed and capture the content ID sent from client 1. This content ID is the information notified in step S2 in FIG.
  • step S23 the CPU 21 of the content server 3 extracts the content data specified by the content ID captured in the processing of step S22 from the content stored in the storage unit 28. read out.
  • step S24 the CPU 21 supplies the content data read from the storage unit 28 to the encryption / decryption unit 24, and encrypts the content data using the content key Kc.
  • the encoded content data is encrypted.
  • the content data can be stored in the storage unit 28 in an encrypted state in advance.
  • the processing of step S24 can be omitted.
  • step S25 the CPU 21 of the content server 3 stores, in the header constituting the format for transmitting the encrypted content data, the key information necessary for decrypting the encrypted content ( EKB and K (Kc)), which will be described later with reference to Fig. 5, are added.
  • step S26 the content The CPU 21 of the server 3 converts the data obtained by formatting the content encrypted in the process of step S24 and the header to which the key information is added in the process of step S25 from the communication unit 29 into Sends to the client 1 that has accessed via the Internet 2.
  • FIG. 5 shows a format configuration when the content is supplied from the content server 3 to the client 1 in this manner.
  • this format is composed of a header and data.
  • the header contains Content information, URL (Uniform
  • the content information includes information such as a content ID (CID) as identification information for identifying content data formatted as data, and a codec method of the content.
  • CID content ID
  • the URL is address information that is accessed when acquiring the usage right required to use the content.
  • the license server 4 required to receive the usage right is used. Address.
  • the content attribute is information related to the content.
  • the content attribute includes a content ID, a record company ID as identification information for identifying a content provider, and an artist as identification information for identifying an artist. ID, etc. are included.
  • the attribute is used to specify the content subject to the usage right.
  • the signature is an electronic signature corresponding to the attribute of the content.
  • the data consists of an arbitrary number of encryption blocks (Encryption Blocks). Each encryption block consists of an initial vector (IV) and a serial vector.
  • IV initial vector
  • W 03 serial vector
  • the key K ′ c is composed of a content key Kc and a value calculated by applying a value Seed set by a random number to a hash function, as shown by the following equation.
  • K 'c Hash (Kc, Seed)
  • the initial vector IV and the seed Seed are set to different values for each encrypted block.
  • This encryption is performed every 8 bytes by dividing the content data in units of 8 bytes.
  • the latter 8-byte encryption is performed in CBC (Cipher Block Chaining) mode, which uses the result of the previous 8-byte encryption.
  • the encryption method is not limited to this.
  • the client 1 can freely acquire the content from the content server 3 for free. Therefore, the content itself can be distributed in large quantities.
  • each client 1 when using the acquired content, each client 1 needs to hold a usage right indicating that use of the content is permitted. Therefore, with reference to FIG. 6, a process when the client 1 plays the content will be described.
  • step S41 the CPU 21 of the client 1 acquires the identification information (CID) of the content specified by the user operating the input unit 26.
  • This identification The information is composed of, for example, the title of the content and a number assigned to each stored content.
  • the CPU 21 sets the attribute of the content.
  • step S42 the CPU 21 assigns a usage right such that the attributes read in step S41 satisfy the content condition included in each usage right. Then, it is determined whether or not it has already been acquired and stored in the storage unit 28. If the usage right has not been acquired yet, the process proceeds to step S43, and the CPU 21 executes a usage right acquisition process. Details of the usage right acquisition process will be described later with reference to the flowchart of FIG.
  • step S42 determines whether or not the usage right has already been obtained, or if the usage right has been obtained as a result of executing the usage right acquisition process in step S43.
  • step Proceeding to S44 the CPU 21 determines whether or not the acquired usage right is within the expiration date. Whether or not the usage right is within the validity period is determined by comparing the time limit specified as the content of the usage right (see Figure 8 below) with the current date and time measured by the timer 20. Is done. If it is determined that the expiration date of the usage right has already expired, the CPU 21 proceeds to step S45 to execute a usage right update process.
  • step S44 If it is determined in step S44 that the usage right is still within the validity period, or if the usage right has been updated in step S45, the process proceeds to step S46, where?
  • the reference numeral 1121 reads out the use condition and use state (described later) included in the use right stored in the storage unit 28, and judges whether or not the reproduction condition is satisfied.
  • step S46 If it is determined in step S46 that the reproduction is permitted based on the usage conditions and the usage status included in the usage right, the process proceeds to step S47, where the CPU 21 is encrypted. Reads content data from storage unit 28 and stores it in RAM 23 Let it. Then, in step S48, the CPU 21 supplies the encrypted content data stored in the RAM 23 to the encryption / decryption unit 24 in units of encryption blocks arranged in the data of FIG. And decrypt using the content key Kc.
  • K EKBC can be obtained, and the content key Kc can be obtained from the data K EKBC (Kc) (FIG. 5) using the key K EKBC .
  • step S49 the CPU 21 supplies the content data decrypted by the encryption / decryption unit 24 to the codec unit 25, where the content data is decoded. Then, the CPU 21 supplies the data decoded by the codec unit 25 from the input / output interface 32 to the output unit 27, performs D / A conversion, and outputs the data from the speaker. If it is determined in step S46 that reproduction is not permitted based on the usage conditions and usage status included in the usage right, the content is not output and the process ends.
  • Obtain service data including ID, DNK (Device Node Key), client 1 private key 'public key pair, license server public key, and certificate of each public key.
  • ID ID
  • DNK Device Node Key
  • the leaf ID indicates the identification information assigned to each client, and the DNK is the device node key required to decrypt the content key Kc encrypted by the EKB (validation keep lock) included in the content. (Described later with reference to FIG. 10).
  • step S61 the CPU 21 acquires the URL described in the header of the content. As mentioned above, this URL is the address to be accessed when obtaining the necessary usage rights to use the content. Therefore.
  • step S62 the CPU 21 accesses the URL obtained in step S61.
  • the communication unit 29 accesses the license server 4 via the Internet 2.
  • the license server 4 sends a list of usage rights to the client 1, usage right specification information for specifying the usage right to be purchased (the usage right required to use the content), and the user ID And a password is required (step S102 in FIG. 9 described later).
  • the CPU 21 displays this request on the display unit of the output unit 27.
  • the user operates the input unit 26 based on this display to input the usage right designation information, the user ID, and the password.
  • the user ID and password are obtained in advance by the user of the client 1 accessing the license server 4 via the Internet 2.
  • step S63 and S64 the CPU 21 fetches the IJ right designation information input from the input unit 26, and fetches the user ID and password.
  • step S65 the CPU 21 controls the communication unit 29 to transmit the input user ID and password to the usage right designation information and the usage right request including the leaf ID included in the service data (described later). To the license server 4 via the Internet 2.
  • the license server 4 transmits the use right based on the user ID, the password, and the use right designation information (step S109) as described later with reference to FIG. 9 (step S109). If the condition is not satisfied, the right to use is not transmitted (step S112).
  • step S66 the CPU 21 determines whether or not the usage right has been transmitted from the license server 4, and if the usage right has been transmitted, the process proceeds to step S67, where the usage right is determined.
  • the data is supplied to the storage unit 28 and stored.
  • step S66 If it is determined in step S66 that the usage right has not been transmitted, the CPU 2
  • step 1 the flow advances to step S68 to execute error processing. Specifically, CPU 21 Since the right to use the content cannot be obtained, the content playback process is prohibited.
  • each client 1 can use the content for the first time after acquiring the necessary usage right to use the content.
  • usage right acquisition process of FIG. 7 can be performed in advance before each user acquires content.
  • the usage right provided to the client 1 includes, for example, a use condition, a leaf ID, and an electronic signature as shown in FIG.
  • the version is information that describes the version of the usage right by separating the major version and my version by a dot.
  • a profile is described from a decimal integer value and is information that defines restrictions on how to describe usage rights.
  • the usage right ID is identification information for identifying the usage right, which is described by a hexadecimal constant.
  • the creation date and time indicates the date and time when the usage right was created.
  • the expiration date indicates the expiration date of the usage right.
  • An expiration date of 9 9 9 9 years 23: 59: 59: 59 indicates that there is no limit on the expiration date.
  • the terms of use include the expiration date when the content can be used based on the usage right, the playback expiration date when the content can be played based on the usage right, the maximum number of times the content can be played, and the usage
  • the number of times that content can be copied based on the right (number of permitted copies), the maximum number of checkouts, and whether the content can be recorded on a CD-R based on the usage right
  • PD Portable Device
  • the electronic signature of the use condition is an electronic signature corresponding to the use condition.
  • Constants are constants that are referenced in usage conditions or conditions.
  • the leaf ID is identification information for identifying a client.
  • An electronic signature is an electronic signature that corresponds to the entire usage right.
  • the certificate is a certificate that contains the license server's public key.
  • the storage unit 28 of the client 1 stores a use state, which is information indicating the state of the content use right, together with the use condition of the use right.
  • the usage status includes the number of times the content has been played, the number of times the content has been copied, the number of times the content has been checked out, the date and time the content has been played for the first time, the number of times the content has been recorded on CD-R, and other content based on the corresponding usage rights.
  • information indicating history information or the like regarding the usage right is included.
  • the determination of the reproduction condition in step S46 in FIG. 6 is performed based on the use condition included in the use right and the use state stored in the storage unit 28 together with the use right. For example, if the number of times the content stored in the use state has been reproduced is smaller than the maximum number of content reproduction times included in the use condition, it is determined that the reproduction condition is satisfied.
  • step S101 the CPU 21 of the license server 4 waits for access from the client 1, and when the access is received, the process proceeds to step S102, where the CPU 21 It sends a list of usage rights including information on usage rights, and requests transmission of user ID and password, and usage right designation information.
  • the CPU 21 of the license server 4 executes a process of receiving and taking in the data via the communication unit 29, and the CPU 21 of the license server 4 executes the communication unit 29 in step S103. Accesses the billing server 5 from the Request the credit process.
  • the billing server 5 When receiving a request for credit processing from the license server 4 via the Internet 2, the billing server 5 checks the past payment history of the user corresponding to the user ID and the password, and the user checks that the user It checks whether there is a record of non-payment, etc., and if there is no such record, sends a credit result permitting the grant of the usage right. Send the credit result of the refusal to grant the license.
  • step S104 the CPU 21 of the license server 4 determines whether or not the credit result from the charging server 5 is a credit result that allows the use right to be granted, and grants the use right. If is permitted, the process proceeds to step S105, and the use right corresponding to the use right designation information fetched in the processing of step S102 is stored in the storage unit 28. Take out of the right to use. As the usage right stored in the storage unit 28, information such as a usage right ID, a version, a creation date, an expiration date, and the like are described in advance.
  • step S106 the CPU 21 adds the received leaf ID to the usage right. Further, in step S107, the CPU 21 selects a use condition associated with the use right selected in step S105. Alternatively, in the process of step S102, when the use condition is specified by the user, the use condition is added to the prepared use condition as necessary. Adds the selected terms of use to the usage right. Terms of use may be added to the usage right.
  • step S108 the CPU 21 signs the usage right with the license server's private key, and attaches a certificate including the license server's public key to the usage right, thereby obtaining a license as shown in FIG. A right to use the configuration is generated.
  • step S109 the CPU 21 of the license server 4 transmits the use right (having the configuration shown in FIG. 8) from the communication unit 29 to the client 1 via the Internet 2. .
  • step S110 the CPU 21 of the license server 4 executes the processing of step S109 to convert the use right (including the usage conditions and the leaf ID) just transmitted to the license server 4. Corresponding to the user ID and password taken in the processing of S 102, it is stored in the storage unit 28. Further, in step S111, the CPU 21 executes a billing process. Specifically, the CPU 21 requests the charging server 5 from the communication unit 29 to perform a charging process for the user corresponding to the user ID and the password. The billing server 5 performs a billing process for the user based on the billing request. As described above, if the user does not pay for this billing process, the user will not be able to receive the usage right afterwards even if the user requests the grant of the usage right. Will be.
  • a credit result that denies the grant of the usage right is transmitted from the charging server 5, so that the process proceeds from step S104 to step S112, and the CPU 21 performs error processing.
  • the CPU 21 of the license server 4 transmits a message to the effect that the use right cannot be granted to the client 1 that has accessed the communication unit 29 by controlling the communication unit 29, and terminates the processing. .
  • the client 1 since the client 1 cannot receive the use right, the client 1 cannot use the content (decrypt and reproduce the encrypted content data).
  • devices and keys are managed based on the principle of a broadcast encryption system.
  • the keys are organized in a hierarchical tree structure, with the bottom leaf corresponding to a key unique to each device.
  • Hierarchical tree structure key management used in the system of the present invention is described in Japanese Patent Application Publication No. 2001-352321.
  • keys corresponding to 16 devices from No. 0 to No. 15 are generated.
  • Each key is defined corresponding to each node of the tree structure indicated by the circle in the figure. Is done.
  • the root key KR corresponds to the root node at the top level
  • the keys K 0 and K 1 correspond to the nodes at the second level.
  • the keys K 0 0 0 through K 1 1 1 correspond to the fourth-level nodes, respectively. Supported.
  • the leaf (device node) as the lowermost node corresponds to each of the -keys K 0 00 0 to K 1 1 1 1.
  • the key above the key KO 0 0 1 and the key 0 0 1 1 is K 0 0 1
  • the key above the key K 0 0 0 and the key K 0 0 1 is , K 00.
  • the key above the keys K 00 and K 01 is denoted by K O
  • the key above the keys K 0 and K 1 is denoted by KR.
  • the key to use the content is managed by the key corresponding to each node of one path from the device node (leaf) at the bottom to the root node at the top.
  • the key for using the content is managed by each key of the path including the keys KOOiI, K001, K00, KO, and KR.
  • a key system configured based on the principle of FIG. 10 manages device keys and content keys.
  • 8 + 24 + 32 nodes are in a tree structure, and a category is assigned to each node from the root node to the lower 8 nodes.
  • the category here means a category such as a category of a device using a semiconductor memory such as a memory stick and a category of a device receiving a digital broadcast, and a license is managed in one of the category nodes.
  • This system (referred to as the T system) corresponds to this system.
  • the service provider or the service provided by the service provider is corresponded by the key corresponding to the node of the 24th tier in the hierarchy further lower than the node of the T system.
  • this makes it possible to define a 2 24 (approximately 1 6 mega) mono bis provider or service.
  • the lowest 32 levels can define 2 32 (approximately 4 giga) users (or clients 1).
  • the key corresponding to each node on the path from the bottom 32 node to the node of the T system constitutes the MK (Device Node Key), and the ID corresponding to the bottom leaf is the leaf ID .
  • the content key obtained by encrypting the content is encrypted with the updated root key KR ', and the updated node key in the upper layer is encrypted using the updated node key in the immediately lower layer, and EKB (Fig. 13 (Described later with reference to FIG. 14).
  • the updated node key one level up from the end of the EKB is encrypted by the end node key or leaf key of the EKB and placed in the EKB.
  • Client 1 uses one of the DNK keys described in the service data to update the immediately higher hierarchy described in the EKB ( Figures 13 and 14) distributed with the content data.
  • the node key is decrypted, and the updated node key in the layer above it described in the EKB is decrypted using the decrypted key. By performing the above processing sequentially, the client 1 can obtain the updated root key KR '.
  • Fig. 12 shows a specific example of category classification in a hierarchical structure.
  • the root key KR2 301 is set at the top of the hierarchical tree structure
  • the node key 2302 is set at the following middle
  • the leaf key 2303 is set at the bottom. Is set.
  • Each device has an individual leaf key, a series of node keys from the leaf key to the root key, and a device node key (DNK) consisting of the root key.
  • DNK device node key
  • the category [Memory Stick (trademark)] is set to one node 2305 in the M-th stage in Fig. 12. Nodes following this node and leaves are used to store various devices using memory stick. It is set as a node or leaf dedicated to the containing category. In other words, Node 2 305 or less is the power of the Memory Stick. It is defined as a set of related nodes and leaves of devices defined in the category.
  • a stage several stages lower than the M stage can be set as a subcategory node 2306.
  • the node below the category [Memory Stick] node 2305 there is a subcategory node included in the category of the device using the Memory Stick, and a node 2306 of [Playback device] as a subcategory node. It is set.
  • the node 2303 of the telephone with the music playback function included in the category of the playback-only device is set under the node 2303 of the playback-only device, which is a subcategory node, and the music playback function is further subordinated.
  • the [PHS] node 230 and the [mobile phone] node 230 included in the telephone category are set.
  • categories and sub-categories are not only device types, but also arbitrary units (eg, nodes managed by a certain manufacturer, content provider, payment institution, etc., ie, processing units, jurisdiction units, or provided service units, etc.) These are collectively referred to as entities below).
  • one category node is set as a dedicated vertex node for a game device XYZ sold by a game device manufacturer, the lower node key and leaf key below the vertex node are stored in the game device XYZ sold by the manufacturer.
  • an activation key block consisting of node keys and leaf keys below the top node key. Data that can be distributed and used only for devices below the top node can be distributed.
  • one vertex of the category stage or the subcategory stage is set.
  • the maker, content provider, etc. that manages the node independently generates an activation key block (EKB) with the node as the vertex and distributes it to devices belonging to the vertex node and below. This makes it possible to execute key updating without affecting devices belonging to other categories of nodes that do not belong to the vertex node.
  • EKB activation key block
  • K (t) a a a indicates that it is an updated key of the generation t of the key K a a a.
  • the update key distribution process will be described.
  • the key is updated by, for example, storing a table composed of block data called an enabling key block (EKB) shown in FIG. 13 via a network or in a recording medium via a device. , 1 and 2 are implemented.
  • the activation key block (EKB) is used to distribute the newly updated key to devices corresponding to each leaf (bottom node) constituting the tree structure as shown in Fig. 10. It consists of an encryption key.
  • Activation Keep Lock (EKB) is sometimes called Key Renewal Block (KRB).
  • the activation key block (EKB) shown in Fig. 13 is configured as block data that has a data structure that can be updated only by devices that require node key updates.
  • the example in FIG. 13 is block data formed for the purpose of distributing an updated node key of generation t to devices 0, 1, and 2 in the tree structure shown in FIG. 10, which is evident from FIG.
  • device 0 and device 1 need K (t) 00, K (t) 0 and K (t) R as update node keys
  • device 2 has K (t) 001 as update node keys.
  • K (t) 00, (t) 0, and (t) R are required.
  • the EKB contains multiple encryption keys. The encryption key at the bottom of FIG.
  • En c (K00 10, K (t) 00 1) c which is the updated node key K (t) 00 encrypted by the leaf key K00 10 of device 2. 1, and the device 2 can decrypt this encryption key with its own leaf key K0010 to obtain the updated node key K (t) 00 1.
  • the encryption key En c (K (t) 00 1, K (t) 00) in the second stage from the bottom in Fig. 13 can be decrypted.
  • the updated node key K (t) 00 can be obtained.
  • the node key K000 is not included in the object to be updated.
  • Nodes 0 and 1 need K (t) 00, K (t) 0, and (t) R as the updated node keys.
  • the nodes 0 and 1 use the device keys K0000 and K0001 to decrypt the third encryption key Enc (K000, K (t) 00) from the top in Fig. 13 to update the node key K (t).
  • the updated node key K (t) 0 is obtained by sequentially decrypting the second encryption key En c (K (t) 00, K (t) 0) from the top in FIG.
  • the updated root key K (t) R is obtained by decrypting the encryption key Enc ((t) 0, (t) R) in the first stage from the top in FIG. In this way, devices 0, 1, and 2 can obtain the updated key K (t) R.
  • the index in Fig. 13 indicates the absolute addresses of the node key and leaf key used as the decryption key for decrypting the encryption key on the right side of the figure.
  • the activation keep block shown in Fig. 14 By using (EKB), the updated node key K (t) 00 can be distributed to devices 0, 1, and 2.
  • the EKB shown in Fig. 14 can be used, for example, when distributing new contenties shared by a specific group. As a specific example, it is assumed that devices 0, 1, 2, and 3 in the group indicated by a dotted line in FIG. 10 use a recording medium and a new common content key K (t) con is required.
  • devices 0, 1, and 2 can obtain the content key K (t) con at time t by decrypting the ciphertext using the key K (t) 00 obtained by processing the EKB. Become.
  • Figure 15 shows an example of a process for obtaining a content key K (t) con at time t.
  • Data E obtained by encrypting a new common content key K (t) con using K (t) 00.
  • the device 0 uses the EKB at the generation t stored in the recording medium and the node key K000 stored in advance by itself and performs the same EKB processing as described above to execute the node key K Generate (t) 0 0. Further, the device 0 decrypts the updated content key K (t) con using the decrypted updated node key K (t) 0 0 and encrypts it with its own leaf key K00 00 to use it later. And store it.
  • FIG 16 shows an example of the format of the activation key block (EKB).
  • Version 601 is an identifier indicating the version of the activation key block (EKB).
  • the version has the function of identifying the latest EKB and the function of indicating the correspondence with the content.
  • Depth is the device to which the activation key block (EKB) is distributed Shows the number of layers in the hierarchical tree for.
  • the data pointer 603 is a pointer indicating the position of the data section 606 in the activation keep-up (EKB)
  • the tag pointer 604 is the position of the tag section 607
  • the signature pointer 605 is This is a pointer indicating the position of the signature 608.
  • the data section 606 stores, for example, data obtained by encrypting a node key to be updated, for example, stores each encryption key related to the updated node key as shown in FIG.
  • the tag section 607 is a tag indicating the positional relationship between the encrypted node key and the reef key stored in the data section 606. The rules for assigning this tag will be described with reference to FIG.
  • Fig. 17 shows an example of sending the activation key block (EKB) described above with reference to Fig. 13 as data.
  • the data at this time is as shown in the table shown in Fig. 17B.
  • the address of the top node included in the encryption key at this time is set as the top node address.
  • the root node update key K (t) R is included, so the top node address is KR.
  • the data Enc (K (t) 0, K (t) R) at the top corresponds to the position PO shown in the hierarchical tree indicated by A in FIG.
  • the data in the next row is Enc (K (t) 00, K (t) 0), which corresponds to the lower left position P00 of the previous data on the tree.
  • Tags Seen from the specified position in the tree structure, if there is data below it, the tag is set to 0, otherwise it is set to 1.
  • Tags are set as ⁇ left (L) tag, right (R) tag ⁇ .
  • tags are set for all data, and data strings and tag strings shown in C in Fig. 17 are configured.
  • the tag is set to indicate where the corresponding data Enc (Kxxx, Kyyy) force tree structure is located.
  • the key data Enc (Kx xx, Ky yy) stored in the data section 606 is simply encrypted. Although the data is merely a list of keys, the position of the encryption key stored as data on the tree can be determined by the tag described above. Instead of using the tags described above, using the node index corresponding to the encrypted data as in the configuration described in FIG.
  • Signature 608 is an electronic signature issued by, for example, a management center (license server 4), a content provider (content server 3), a payment institution (charging server 5), etc., which issued the activation key block (EKB).
  • the device that has received the EKB verifies the signature by verifying that it is an activation keep block (EKB) issued by the valid activation key block (EKB) issuer.
  • FIG. 18 shows a summary of the process of using the content supplied from the content server 3 based on the usage right supplied from the license server 4 as described above.
  • the content is provided from the content server 3 to the client 1, and the license is provided to the client 1 from the license server 4.
  • the content is encrypted with the content key Kc (Enc (Kc, Content)), and the content key Kc is updated with the update root key KR '(EKB Key (corresponding to the key K EKBC in Fig. 5), encrypted (Enc (KR ', Kc)), added to the encrypted content with EKB, and provided to client 1. Is done.
  • the EKB in the example of FIG. 18 includes, for example, as shown in FIG. 19, an updated root key KR 'that can be decrypted by DNK (Enc (DNK, KR')). Therefore, Client 1 can obtain the updated root key KR 'from EKB by using the DNK included in the service data. Furthermore, the content key Kc can be decrypted from Enc (KR ': Kc) using the updated root key KR', and the content can be decrypted from Enc (Kc, Content) using the content key Kc. .
  • the client 1 associates the service data with the usage right, thereby preventing unauthorized copying of the usage right.
  • the T system that manages licenses for category nodes and the categories of devices that use various contents are associated with each other. Devices. As a result, different categories of content can be managed on a single device.
  • FIG. 20 shows an example of this relationship. That is, DNK 1 is assigned to device D 1 based on the T system, and content 1 including EKB can be reproduced. Similarly, the device D 1 is assigned, for example, DNK 2 and the content 2 ripped from a CD to a memory stick is Can be recorded. In this case, the device D1 can simultaneously handle contents distributed by different systems (T system and device management system) of contents 1 and contents 2. This is not possible if you assign a single DNK to a device, such as by deleting a previously assigned DNK when assigning a new D fox.
  • the DNK instead of embedding advance in equipment and media by the license server 4, when performing the registration process, each device
  • the content is used for all purposes, regardless of how it is used after it has been created.
  • the private key and the corresponding public key certificates are distributed to each user (client 1) from the license server 4 as a certificate authority.
  • Each user can create a signature using the secret key and add it to the content to ensure the integrity of the content and prevent the content from being tampered with.
  • FIG. 21 is a diagram showing a configuration of a Memory Stick.
  • the Memory Stick 651 has a flash memory (non-volatile memory) 661, a memory control block 662, and a security block 663 including a DES (Data Encryption Standard) encryption circuit on one chip. It is an IC.
  • the flash memory 661 stores the encoded and encrypted contents under the control of the memory control block 662.
  • the memory control block 662 performs serial Z-parallel conversion or parallel-serial conversion, separates the supplied command and data, and executes the separated command.
  • Memory control block 6 6 2, corresponding to the supplied command, or to store the contents in the flash memory 6 6 1, or c memory stick 6 5 1 reads the content stored in the flash memory 6 6 1
  • the security block 666 stores a plurality of authentication and authentication keys and a unique storage key for each memory card.
  • the security block 666 has a random number generation circuit, and under the control of the memory control block 662, performs mutual authentication with the client 1 and shares a session key.
  • the security block 666 stores the indices including the use conditions and the MAC value described later.
  • the security block 666 decrypts the encrypted content under the control of the memory control block 662.
  • FIG. 22 is a flowchart for explaining the content export process performed by the client 1.
  • step S201 the CPU 21 of the client 1 selects the content to be exported and creates a signature from the attributes included in the selected content.c For example, the CPU 21 of the client 1 is included in the content. A signature is created by encrypting the attribute with the license server public key included in the certificate.
  • step S202 the CPU 21 of the client 1 compares the signature of the created attribute with the signature of the attribute included in the content, and determines the signature of the created attribute and the signature of the attribute included in the content. If it is determined that the attributes match, the attribute has not been tampered with, and the process proceeds to step S203.
  • step S202 If it is determined in step S202 that the signature of the created attribute does not match the signature of the attribute included in the content, the attribute is falsified, and the process proceeds to step S209, and The CPU 21 of the client 1 executes an error process such as an error display, does not perform the export process, and ends the process.
  • an error process such as an error display
  • step S203 the CPU 21 of the client 1 searches the storage unit 28 for a usage right for which the attribute of the target content satisfies the content condition included in the usage right and the export is permitted. . If the right to use the target content is not found in the storage unit 28, the process proceeds to step S209, and the CPU 21 of the client 1 executes error processing such as displaying an error, and performs export. The processing ends without performing the processing of the execution of.
  • step S203 when the right to use the content is found, the process proceeds to S204, and the CPU 21 of the client 1 stores the right to use the content in the storage unit 28.
  • One stored force Judges whether two or more are stored.
  • step S205 the CPU 21 of the client 1 executes the display of the output unit 27. Display the information such as the usage conditions of each usage right, and ask the user to confirm which usage rights are used as the usage conditions of the exported content. Based on the input from the user to the input section 26, Decide which right to use for the export.
  • the selection of the usage right in step S205 is not limited to the selection by the user, and the priority may be determined based on a predetermined rule. If it is determined that one usage right for using the target content is stored in the storage unit 28, the usage right used for export is determined, and thus the usage right of step S205 is determined. Is not selected, and the process proceeds to step S206.
  • the CPU 21 of the client 1 creates a signature from the usage conditions of the usage right.
  • the CPU 21 of the client 1 creates a signature by encrypting the use conditions included in the usage right with the public key of the license server included in the certificate.
  • step S207 the CPU 21 of the client 1 compares the signature of the created use condition with the signature of the use condition included in the use right, and signs the created use condition signature and included in the use right. If it is determined that the signature of the usage condition matches the usage condition, the use condition is not falsified, and the process proceeds to step S208.
  • step S208 the CPU 21 of the client 1 performs the export execution process, and the process ends.
  • step S207 If it is determined in step S207 that the signature of the created attribute does not match the signature of the attribute included in the content, the attribute is falsified, and the process proceeds to step S209, and The CPU 21 of the client 1 executes an error process such as an error display, does not perform the export process, and ends the process.
  • an error process such as an error display
  • FIG. 23 is a flowchart for explaining the process of executing the export of the client 1 corresponding to the process of step S208.
  • step S221 the CPU 21 of the client 1 executes a process of mutual authentication with the attached memory stick.
  • the CPU 21 of the client 1 and the security block 663 of the memory stick 651 can execute a challenge and response mutual authentication process.
  • step S221 If the mutual authentication is not performed in the processing of step S221, the client 1 or the memory stick 651 is not valid. The processing of S228 is skipped, and the processing ends without writing the content to the Memory Stick 651.
  • step S221 if mutual authentication is performed, the client 1 and the memory stick 651 are valid, so that the client 1 and the memory stick 651 share a common temporary key (session key).
  • the processing of steps S222 to S228 is performed.
  • the information transmitted by the client 1 to the memory stick 651 is encrypted by the encryption / decryption unit 24 with the temporary key. Since the information received by the client 1 from the memory stick 65 1 is encrypted by the temporary key, the information is decrypted by the encryption / decryption unit 24.
  • step S222 the CPU 21 of the client 1 writes the content to the memory stick 651.
  • the CPU 21 of the client 1 obtains the content key of the memory stick 651, from the memory stick 651, and re-locks the content key to the content key of the memory stick 651 (the content is stored in the memory stick 651).
  • the content key of the Memory Stick 651 is encrypted (encrypted with the content key of the Memory Stick 651), and the re-locked content is supplied to the Memory Stick 651.
  • step S223 the CPU 21 of the client 1 converts the format of the usage condition of the usage right into a format corresponding to the Memory Stick.
  • step S224 the CPU 21 of the client 1 sends to the encryption / decryption unit 24 a message authentication code (MAC: Message) of the usage condition of the usage right.
  • MAC message authentication code
  • MAC value (hereinafter also referred to as the MAC value).
  • Figure 24 shows an example of MAC value generation using the DES ⁇ processing configuration.
  • the target message usage condition
  • the target message usage condition
  • the initial value (IV) and Ml are exclusive-ORed by the arithmetic unit 24-1A (the result is assumed to be II).
  • the divided messages are assumed to be Ml, M2, ..., MN.
  • I 1 is put into the DE encryption section 24-1 B, and is encrypted using a key (hereinafter, referred to as K 1) (the output is referred to as E 1).
  • DE S encryption unit 24 The last EN that came out of the NB is a message authentication code (MAC).
  • MAC message authentication code
  • step S225 the CPU 21 of the client 1 writes the use condition whose format has been converted in the process of step S223 into the index of the memory stick 651, together with the MAC value calculated in the process of step S224.
  • FIG. 25 is a diagram illustrating indexes and contents stored in the memory stick 651.
  • the index 70 1 of the memory stick 65 1 stores the usage condition of the content, the MAC value, and the pointer corresponding to the content.
  • the pointer at index 701 stores the address of the content.
  • the pointer indicating the content 702-1 stored in the memory stick 65 1 is stored in the index 701 together with the usage condition of the content 702-1 and its MAC value.
  • the pointer indicating the content 702-2 stored in the memory stick 651 is stored in the index 701 together with the usage condition of the content 702-2 and its MAC value.
  • the pointer indicating the content 702-3 stored in the memory stick 651 is stored in the index 701 together with the usage condition of the content 720-3 and its MAC value.
  • the CPU 21 of the client 1 acquires the index 701 in which the new use condition and the MAC value are newly written from the memory stake 651 by the process of step S225.
  • step S227 the CPU 21 of the client 1 calculates the integrity check value (ICV) of the entire Memory Stick 651, based on the index 701 in which the new use condition and the MAC value are written. .
  • L1 and L2 are usage condition information, and the MAC value of the usage condition is used.
  • the CPU 21 of the client 1 calculates the integrity check value based on the MAC values corresponding to the contents 702-1 to 702-3 contained in the index 701 obtained from the memory stick 651.
  • the CPU 21 of the client 1 writes the calculated integrity 1 check value 703 to the memory stick 65 1 as shown in FIG.
  • Client 1 encrypts the integrity 'check value with a temporary key and transmits the integrity' check value to the memory stick 6 1 through the memory stick 65 1 (send, relay, SAC (Secure Authentication Channel)). Send to
  • the integrity check value 703 corresponding to the index 701 is securely stored in the memory stick. For example, when the I CV generated based on the index 701 and the I CV 703 generated based on the usage conditions are compared during content playback, if the same I CV is obtained, It is guaranteed that the usage conditions have not been tampered with, and if the ICVs are different, it is determined that tampering has occurred.
  • step S224 the security block 636 of the memory stick 651 executes a process of mutual authentication with the client 1 in response to the process of step S221 of the client 1.
  • a common temporary key (session key) is shared between Client 1 and Memory Stick 651.
  • the information transmitted by the memory stick 651 to the client 1 is encrypted by the security key 663 using the temporary key. Also, since the information received by the Memory Stick 651 from the client 1 is encrypted with the temporary key, the security block 663 of the Memory Stick 651 uses the temporary key to write the encrypted information. Decrypt.
  • step S224 the memory controller block 626 of the memory stick 651 receives the content from the client 1 executing the process of step S222, and receives the content.
  • the content is stored in the flash memory 6 6 1.
  • step S243 the memory controller lock block 662 of the memory stick 651 sends the format-converted use condition from the client 1 executing the process of step S225, so that The use condition is received, and the received use condition is written to the index 701 of the security block 666.
  • the memory stick 651 writes the pointer indicating the content stored in the process of step S224 to the index 701 of the security block 663 in accordance with the use condition.
  • step S 2 4 4 the memory control block 626 of the memory stick 65 1 reads the index 70 1 from the security block 66 3 because there is a request from the client 1, and reads the read index 70 0. Send 1 to the client.
  • the client 1 can acquire the index 701 in the processing of step S226.
  • step S24.5 the memory stick 651 receives the ICV transmitted from the client 1 because a new ICV is transmitted from the client 1 executing the processing in step S228.
  • the ICV is updated based on the received ICV, and the process ends.
  • the integrity information and the integrity information of the use condition are managed as a single piece of information as an index 701.
  • Client 1 can export content signed with public key cryptography to a Memory Stick without reducing the level of content protection on the Memory Stick, even if the processing power of the Memory Stick is low. Become like
  • the same content can be used even on terminals with low processing capacity. This will allow, among other things, any device to exchange content.
  • FIG. 27 in the system according to the present invention, as a service corresponding to one of the categories described in FIG. 12, content can be imported from the memory stick 651 to the client 1 and the client can be imported. You can export content from 1 to Memory Stick 6 5 1.
  • the client 1 When importing content from the Memory Stick 651, the client 1 assigns the content to one service and converts the imported content into a predetermined format.
  • the content of Client 1 is a format that can store multiple types of data (such as audio data, image data, or text data), for example, QuickTime (trademark) format. Having. Audio data, image data, text data, and the like stored in one content of the client 1 have a correspondence relationship with each other. For example, if the audio data is music data, the image data is data showing the image of the performer of the music, and the text data is data showing the commentary or lyrics of the music ⁇
  • the client 1 may, for example, export audio track data of a format content that can store a plurality of types of data. Then, the data is converted into a format compatible with the memory stick 651, such as a Memory Stick Audio (MSA) format, and other data of the content is linked to the data of the converted audio track.
  • MSA Memory Stick Audio
  • the attribute data included in the content is regarded as fringe data. It is a different file.
  • the file containing the fringe data and metadata is stored on the Memory Stick 651, separately from the audio data file.
  • the audio data file shown in FIG. 28 and the file containing the fringe data and the metadata are associated with the content stored in the memory stick 651 in FIG.
  • Client 1 when importing (ripping) content from a CD, which is another example of a storage medium, to Client 1, Client 1 uses the service data for import and the default usage corresponding to the import service.
  • the model of the right is stored in advance.
  • the service data for import is the same as that shown in Fig. 8, but stores a unique ID instead of a leaf ID.
  • a predetermined value that indicates one node in the hierarchical tree structure described in Fig. 10 is set as the unique ID. Is done.
  • a predetermined ID is set as the usage right ID.
  • the client 1 may store a plurality of license templates and, when importing the content, select a predetermined usage right template from the stored multiple usage rights templates. .
  • the service data for import may be obtained from a predetermined license server 4.
  • Client 1 converts the content read from the CD into Client 1's content format and further defines the appropriate content attributes.
  • client 1 reads data (for example, record company ID or artist ID) related to the content of the content recorded on the CD from the TOC (Table Of Contents) of the CD, and sets it as a content attribute. .
  • the client 1 binds the generated content and the usage right stored in advance in accordance with the content read from the CD.
  • import true
  • the client 1 generates a random number with a predetermined number of bits, and sets the generated random number in the content as a content ID.
  • the content ID may be read from T0C of the CD, and the read content ID may be set in the content.
  • FIG. 29 is a diagram showing an example of more specific content conversion in import and export.
  • audio data is extracted from the content of the client 1 and the extracted audio data is converted into an audio data file.
  • the audio data file is stored on the Memory Stick 651.
  • the EKB, KEKBC (Kc), attribute data, signature, and the like included in the content are regarded as fringe data.
  • Image data or text data Metadata such as data is stored as a file on the Memory Stick 651, along with the fringe data, in the same format.
  • audio data is extracted from the audio data file, and the extracted audio data is added to the content of the client 1 as audio data (audio data). (Track).
  • fringe data including EKB, KEKBC (Kc), attribute data, and signatures, stored in a file on Memory Stick 651 , Is stored in the content of client 1 in a predetermined manner as a header of the client.
  • the metadata including the image data and the text data is stored as it is in the metadata of the content of the client 1, that is, in the image track and the text track.
  • FIG. 30 is a flowchart for explaining the process of writing the content of the client 1 corresponding to the process of step S222.
  • step S301 the CPU 21 of the client 1 extracts an audio track from the content to be exported.
  • step S302 the CPU 21 of the client 1 converts the format of the audio track (audio data) into a format usable by the memory stick 651, and generates an audio data file. .
  • the CPU 21 of the client 1 obtains the content key of the memory stick 651, from the memory stick 651, and re-keys the audio data of the content to the content key of the memory stick 651 (
  • the content data obtained by decrypting the EKB by DNK, decrypting the content key, and decrypting the content data is obtained by encrypting the audio data with the content of the Memory Stick 651) and re-keying the audio data.
  • the memory stick 651 may be re-locked with the audio data file.
  • step S303 the CPU 21 of the client 1 writes the audio data file into the memory stick 651.
  • step S304 the CPU 21 of the client 1 deletes the audio track from the content to be exported.
  • the CPU 21 of the client 1 sends a file for writing to the memory stick 651 from data required for decryption included in the content, for example, attributes or EKB, or metadata such as image data or text data.
  • the attribute data of the content is set as the fringe data of the file.
  • step S305 the CPU 21 of the client 1 receives the reference information indicating the position of the audio data file on the recording medium (storage medium) transmitted from the memory stick 651.
  • step S306 the CPU 21 of the client 1 replaces the deleted audio track with reference information indicating the position of the audio data file received in step S305 on the recording medium (storage medium). Insert
  • step S307 the CPU 21 of the client 1 writes the content including the reference information of the audio data file as a file on the memory stick 651, and the process ends.
  • FIG. 31 is a flowchart for explaining the process of storing the content of the memory stick 651, corresponding to the process of step S224.
  • step S321 the memory control block 662 of the memory stick 651 receives the audio data file transmitted from the client 1 executing the processing of step S303, and processes the received audio data file.
  • Flat The memory is stored in the memory 6 6 1.
  • the memory stick 651 stores an audio data file composed of audio tracks in the contents of the client 1. Since the audio data file has a file format corresponding to the Memory Stick 651, the Memory Stick 651 can use the audio data file (play the sound on the device to which it is attached).
  • step S3222 the memory control block 662 of the memory stick 651 transmits reference information indicating the position of the audio data file stored in the flash memory 661 on the recording medium (storage medium). .
  • step S332 the memory control block 662 of the memory stick 651 receives the file containing the reference information of the audio data file transmitted from the client 1 executing the processing of step S307. Then, the received file is stored in the flash memory 661, and the process ends.
  • the file to which the audio data file is linked does not have a file format corresponding to the Memory Stick 651, and the Memory Stick 651 cannot use the data stored in the file.
  • the memory stick 651 stores the audio data file corresponding to the audio track of the content, and stores other data such as the metadata or the attribute data of the content as a file. .
  • the process of inserting the reference information indicating the position of the audio data file on the recording medium (storage medium) may be performed by the Memory Stick 651.
  • Client 1 sends a content file with the audio track removed
  • the memory controller REPLOCK 662 of the Memory Stick 651 inserts reference information indicating the position of the audio data file on the recording medium (storage medium).
  • the process of importing the content of the client 1 will be described.
  • FIG. 32 is a flowchart illustrating a process in which the client 1 imports (so-called, riving) the content recorded on the CD.
  • step S3401 the CPU 21 of the client 1 reads (acquires) the content from the CD, which is the optical disc 42 mounted on the drive 30, and reads the content to the codec section 25.
  • Content for example, ATRAC (Adaptive Reflective
  • step S3342 the CPU 21 of the client 1 causes the encryption / decryption unit 24 to encrypt the compressed content.
  • compressed content is encrypted with a content key created based on a random number, and the content key is stored in the EKB corresponding to the category of the import assigned to a node below the T-system category node. Encrypted with root key. The content key is added to the decrypted content.
  • step S3343 the CPU 21 of the client 1 assigns a content ID to the encrypted content.
  • the CPU 21 of the client 1 generates a random number with a predetermined number of bits, and assigns the generated random number to the content as a content ID.
  • the CPU 21 of the client 1 may read the content ID included in the T0C of the CD, and assign the read content ID to the encrypted content.
  • the CPU 21 of the client 1 may read the content ID included in a predetermined track of the CD and assign the read content ID to the encrypted content c step S 3 4 4
  • a conditional expression such as
  • the content attribute read from the CD satisfies the content condition of the usage right template, and the content read from the CD is permitted to be used by the usage right created from the template.
  • step S345 the CPU 21 of the client 1 creates a content attribute.
  • CPU 21 of client 1 uses TOC (Table Of
  • step S 346 the CPU 21 of the client 1 generates an electronic signature based on the attribute of the created content, and attaches the generated electronic signature to the content.
  • the CPU 21 of the client 1 Generates an electronic signature using its own private key included in the certificate of the service data for the import service.
  • step S347 the CPU 21 of the client 1 prepares the format of the generated content, sets the format of the content to the format described in FIG. 5, and ends the processing.
  • step S3661 the CPU 21 of the client 1 causes the drive 30 to read the audio data file as the content from the memory stick 651, which is the semiconductor memory 44 mounted, and read the audio data. Get the file.
  • step S366 the CPU 21 of the client 1 causes the drive 30 to read the file including the fringe data and the metadata from the memory stick 651, and obtain the file including the fringe data and the metadata. I do.
  • step S3663 the CPU 21 of the client 1 assigns a content ID to the read content. More specifically, the CPU 21 of the client 1 extracts the content ID included in the fringe data of the file, and assigns the extracted content ID to the content.
  • step S364 the CPU 21 of the client 1 assigns a usage right to the content. More specifically, the CPU 21 of the client 1 assigns the attribute included in the fringe data of the file to the content.
  • step S365 the CPU 21 of the client 1 sets a content attribute. More specifically, the CPU 21 of the client 1 extracts the attribute included in the fringe data of the file and sets the extracted attribute to the content.
  • step S366 the CPU 2 of the client 1 1 attaches an electronic signature to the created content.
  • the CPU 21 of the client 1 extracts the electronic signature included in the fringe data of the file, and attaches the extracted electronic signature to the content.
  • step S366 the CPU 21 of the client 1
  • the format of the generated content is adjusted, and the process ends. More specifically, the CPU 21 of the client 1 uses the audio data file as the audio track format of the content of the client 1 and inserts the audio track into the file to format the content. The method described in 5 is used.
  • the extracts predetermined types of data included in the content converts the format of the extracted data into a predetermined format corresponding to the storage medium, and includes the data required for decoding the content included in the content.
  • a predetermined file is generated from other types of data, a link between the format-converted data and the file is added, and writing of the format-converted data and file to a storage medium is controlled. If this is done, it will be possible to export the content by preventing loss of information, and the exported content will be handled like any other content.
  • the memory stick 651 When the memory stick 651 is configured to store the format-converted content, the content can be used in a memory stick playback device without changing the configuration.
  • the content can be obtained.
  • the content can be exported to the storage medium.
  • the content data included in the content is extracted, the format of the extracted content data is converted into a predetermined format corresponding to the storage medium, and a predetermined format is extracted from the data excluding the content data included in the content.
  • Information is lost, information is added to the file, and reference is made to the format-converted content data, and the writing of the format-converted content data and the file to the storage medium is controlled. This prevents content from being exported and allows the exported content to be handled on the storage medium like any other content.
  • the content stored in the storage medium can be imported.
  • Acquires content data from a storage medium converts the acquired content data into a predetermined format, generates content, encrypts the format-converted content data included in the generated content, and encrypts the content. If key information for decrypting the content data is added and information is added to the content for associating it with the usage right necessary for using the content, loss of information can be prevented. As a result, the content can be imported, and the imported content can be handled like other content.
  • content may be imported or eta-ported from a client to a portable device (PD), which is another example of a content storage device.
  • PD portable device
  • the content may be exported to the storage medium provided, or the content may be imported from the storage medium provided in the content storage device.
  • the client may import or export the content to a memory stick attached to the PD. In this case, the process of mutual authentication is performed between the client and the PD, and between the PD and the Memory Stick.
  • the client to which the present invention is applied can be a PDA (Personal Digital Assistant), a mobile phone, a game terminal, etc. other than a so-called personal computer.
  • PDA Personal Digital Assistant
  • the programs that make up the software are installed in a computer that is built into dedicated hardware, or by installing various programs to perform various functions. It can be executed, for example, installed on a general-purpose personal computer from a network or a recording medium.
  • the recording medium is a magnetic disk 41 (including a flexible disk) on which a program is recorded, which is distributed separately from the main body of the apparatus to provide a program to a user, and an optical disk.
  • 4 2 including CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk)), magneto-optical disk 4 3 (including MD (Mini-Disk) (trademark)), or semiconductor
  • CD-ROM Compact Disk-Read Only Memory
  • DVD Digital Versatile Disk
  • magneto-optical disk 4 3 including MD (Mini-Disk) (trademark)
  • semiconductor not only is it composed of package media consisting of memory 44, etc., but it is also stored in the R0M 22 and the storage unit 28 where programs are recorded and provided to the user in a state of being pre-installed in the device body. It consists of a hard disk included.
  • steps for describing a program to be recorded on a recording medium are not only performed in chronological order according to the order described, but are not necessarily performed in chronological order. Alternatively, it also includes processes that are individually executed. In addition, it is desirable that the program that executes security-related processing be encrypted in order to prevent the processing from being analyzed. For example, for a process of performing an encryption process or the like, the program can be configured as a tamper resistant module.
  • the attribute of the content and the content condition of the usage right are used to specify the usage right required to use the content.
  • the present invention is not limited to this.
  • the content is used for the content May include the usage right ID of the usage right required in this case.
  • the usage right required to use it is uniquely determined, so the process of determining the matching between them is performed No need.
  • the first invention it is possible to prevent the loss of information and to export the content, and to handle the exported content on the storage medium in the same manner as other content. .
  • the second invention it is possible to prevent the loss of information and to import the content, and to handle the imported content in the same manner as other content.

Description

明細書
情報処理装置および方法、 記録媒体、 並びにプログラム '
技術分野
本発明は、 情報処理装置および方法、 記録媒体、 並びにプログラムに関し、 特 に、 著作権者からライセンスを受けていないコンテンツが不正にコピーされ、 利 用されるのを防止することができるようにした、 情報処理装置および方法、 記録 媒体、 並びにプログラムに関する。 背景技術
最近、 インターネットを介して、 ユーザが、 自分自身が保持している音楽デー タを他のユーザに提供し、 自分自身が保持していない音楽データを他のユーザか ら提供を受けるようにして、 複数のユーザが無料で音楽データを交換しあうシス テムが実現されている。
このようなシステムでは、 理論的には、 1つの音楽、 その他のコンテンツが存 在すれば、 他の全てのユーザが、 それを利用することが可能となり、 多くのユー ザがコンテンツを購入しなくなるため、 コンテンツに関する著作権者は、 著作物 としてのコンテンツが売れないため、 著作物の販売に伴い、 本来受け取ることが 可能な著作物の利用に関するロイャリティを受け取る機会を失うことになる。 そこで、 コンテンツの流通を妨げることなく、 不正に利用されることを防止す ることが、 社会的に要請されている。
このような、 著作物の著作権を保護するための従来の DRM (Digital Rights Management) システムにおいては、 異なるフォーマット、 または異なる方式の 他の機器から、 コンテンツをインポートすること、 または他の機器にコンテンツ をエクスポートすることは困難であった。
また、 コンテンツをインポートまたはエクスポートしたとき、 コンテンツの情 報の一部が欠落してしまうことがあった。 さらに、 他の機器において、 インポートまたはエクスポートされたコンテンツ を、 他のコンテンツと同様に取り扱うこと、 すなわち、 統一的にコンテンツを取 り扱うことはできなかった。 発明の開示
本発明はこのような状況に鑑みてなされたものであり、 情報の欠落を防止して、 コンテンツをインポートまたはエクスポートできるようにし、 インポートまたは ェクスポートされたコンテンツを、 他のコンテンツと同様に取り扱うことができ るようにすることを目的とする。
本発明の第 1の情報処理装置は、 コンテンツに含まれるコンテンツデータを抽 出する抽出手段と、 抽出されたコンテンツデータのフォーマットを、 記憶媒体に 対応する所定のフォーマツトに変換する変換手段と、 コンテンツに含まれている. コンテンツデータを除いたデータから所定のフアイルを生成する生成手段と、 フ アイルにフォーマットが変換されたコンテンッデータの参照情報を付加する付加 手段と、 フォーマットが変換されたコンテンツデータおよびファイルの記憶媒体 への書き込みを制御する第 1の書き込み制御手段とを含むことを特徴とする。
情報処理装置は、 コンテンツを利用するために必要な利用権に基づく情報の記 憶媒体への書き込みを制御する第 2の書き込み制御手段を更に設けることができ る。
本発明の第 1の情報処理方法は、 コンテンツに含まれるコンテンツデータを抽 出する抽出ステップと、 抽出されたコンテンツデータのフォーマットを、 記憶媒 体に対応する所定のフォーマツトに変換する変換ステップと、 コンテンツに含ま れている、 コンテンッデータを除いたデータから所定のフアイルを生成する生成 ステップと、 ファイルにフォーマツトが変換されたコンテンツデータの参照情報 を付加する付加ステップと、 フォーマットが変換されたコンテンツデータおよび フアイルの記憶媒体への書き込みを制御する書き込み制御ステップとを含むこと を特徴とする。 本発明の第 1の記録媒体のプログラムは、 コンテンツに含まれるコンテンツデ ータを抽出する抽出ステップと、 抽出されたコンテンツデータのフォーマツトを、 記憶媒体に対応する所定のフォーマツトに変換する変換ステップと、 コンテンツ に含まれている、 コンテンッデータを除いたデータから所定のフアイノレを生成す る生成ステップと、 ファイルにフォーマツ トが変換されたコンテンツデータの参 照情報を付加する付加ステップと、 フォーマツトが変換されたコンテンツデータ およびファイルの記憶媒体への書き込みを制御する書き込み制御ステップとを含 むことを特徴とする。
本発明の第 1のプログラムは、 コンピュータに、 コンテンツに含まれるコンテ ンッデータを抽出する抽出ステップと、 抽出されたコンテンツデータのフォーマ ットを、 記憶媒体に対応する所定のフォーマットに変換する変換ステップと、 コ ンテンッに含まれている、 コンテンツデータを除いたデータから所定のファイル を生成する生成ステップと、 ファイルにフォーマツトが変換されたコンテンツデ ータの参照情報を付加する付加ステップと、 フォーマツトが変換されたコンテン ッデータおよびファイルの記憶媒体への書き込みを制御する書き込み制御ステッ プとを実行させることを特徴とする。
本発明の第 2の情報処理装置は、 記憶媒体から、 コンテンツデータを取得する 取得手段と、 取得手段によって取得されたコンテンッデータを所定のフォーマツ トに変換し、 コンテンツを生成する変換手段と、 変換手段により生成されたコン テンッに含まれるフォーマット変換されたコンテンツデータを暗号化し、 コンテ ンッに暗号化されたコンテンツデータを復号するための鍵情報を付加する暗号化 手段と、 コンテンツに、 コンテンツを利用するために必要な利用権と対応付ける ための情報を付加する付加手段とを含むことを特徴とする。
本発明の情報処理装置は、 入力されたコンテンツを利用するために必要な利用 権を記憶する記憶手段を更に設けることができる。
本発明の第 2の情報処理方法は、 記憶媒体から、 コンテンツデータを取得する 取得ステツプと、 取得ステップの処理によつて取得されたコンテンツデータを所 定のフォーマットに変換し、 コンテンツを生成する変換ステップと、 変換ステツ プの処理により生成されたコンテンツに含まれるフォーマツト変換されたコンテ ンッデータを暗号化し、 コンテンツに暗号化されたコンテンツデータを復号する ための鍵情報を付加する暗号化ステップと、 コンテンツに、 コンテンツを利用す るために必要な利用権と対応付けるための情報を付加する付加ステップとを含む ことを特徴とする。
本発明の第 2の記録媒体のプログラムは、 記憶媒体から、 コンテンツデータを 取得する取得ステツプと、 取得ステップの処理によって取得されたコンテンツデ ータを所定のフォーマットに変換し、 コンテンツを生成する変換ステップと、 変 換ステップの処理により生成されたコンテンツに含まれるフォーマツト変換され たコンテンツデータを暗号化し、 コンテンツに暗号化されたコンテンツデータを 復号するための鍵情報を付加する暗号化ステップと、 コンテンツに、 コンテンツ を利用するために必要な利用権と対応付けるための情報を付加する付加ステップ とを含むことを特徴とする。
本発明の第 2のプログラムは、 コンピュータに、 記憶媒体から、 コンテンツデ 一タを取得する取得ステツプと、 取得ステップの処理によつて取得されたコンテ ンッデータを所定のフォーマツトに変換し、 コンテンツを生成する変換ステツプ と、 変換ステップの処理により生成されたコンテンツに含まれるフォーマツト変 换されたコンテンツデータを暗号化し、 コンテンツに暗号化されたコンテンツデ 一タを復号するための鍵情報を付加する暗号化ステップと、 コンテンツに、 コン テンッを利用するために必要な利用権と対応付けるための情報を付加する付加ス テツプとを実行させることを特徴とする。
本発明の第 1の情報処理装置および方法、 第 1の記録媒体並びに第 1のプログ ラムにおいては、 コンテンツに含まれるコンテンツデータが抽出され、 抽出され たコンテンツデータのフォーマットが、 記憶媒体に対応する所定のフォーマット に変換される。 そして、 コンテンツに含まれている、 コンテンツデータを除いた データから所定のファイルが生成され、 ファイルにフォーマツトが変換されたコ :'ータの参照情報が付加される。 さらに、 フォーマットが変換されたコ :'一タおよびフアイルの記憶媒体への書き込みが制御される。 情報処理装置は、 単独の装置であっても良いし、 再生装置または記録再生装置 の情報処理を行うプロックであってもよい。
コンテンツは、 音声、 画像、 またはテキストなどの情報の方式にかかわらず有 用な情報であれば良い。
記憶媒体は、 物理的変化または化学的変化によりコンテンツを記憶するもので あればよい。
本発明の第 2の情報処理装置および方法、 第 2の記録媒体並びに第 2のプログ ラムにおいては、 記憶媒体から、 コンテンツデータが取得され、 取得されたコン テンッデータが所定のフォーマツトに変換され、 コンテンツが生成される。 生成 されたコンテンツに含まれるフォーマット変換されたコンテンッデータが暗号化 され、 コンテンツに暗号化されたコンテンツデータを復号するための鍵情報が付 加される。 さらに、 コンテンツに、 コンテンツを利用するために必要な利用権と 対応付けるための情報が付加される。
情報処理装置は、 単独の装置であっても良いし、 記録装置または記録再生装置 の情報処理を行うブロックであってもよい。
コンテンツは、 音声、 画像、 またはテキストなどの情報の方式にかかわらず有 用な情報であれば良い。
記憶媒体は、 物理的変化または化学的変化によりコンテンツを記憶するもので あればよい。 図面の簡単な説明
図 1は、 本発明を適用したコンテンツ提供システムの構成を示すプロック図で ある。
図 2は、 図 1のクライアントの構成を示すプロック図である。 図 3は、 図 1のクライアントのコンテンツのダウンロード処理を説明するフロ 一チヤ一トである。
図 4は、 図 1のコンテンツサーバのコンテンツ提供処理を説明するフローチヤ ートである。
図 5は、 図 4のステップ S 2 6におけるフォ 'マッ トの例を示す図である。
図 6は、 図 1のクライアントのコンテンツ再生処理を説明するフローチヤ一ト である。
図 7は、 図 6のステップ S 4 3の利用権取得処理の詳細を説明するフローチヤ ートである。
図 8は、 利用権の構成を示す図である。
図 9は、 図 1のライセンスサーバの利用権提供の処理を説明するフローチヤ一 トである。
図 1 0は、 キーの構成を説明する図である。
図 1 1は、 カテゴリノードを説明する図である。
図 1 2は、 ノードとデバイスの対応の具体例を示す図である。
図 1 3は、 有効化キーブロックの構成を説明する図である。
図 1 4は、 有効化キーブロックの構成を説明する図である。
図 1 5は、 有効化キーブロックの利用を説明する図である。
図 1 6は、 有効化キープ口ックのフォーマツトの例を示す図である。
図 1 7は、 有効化キーブロックのタグの構成を説明する図である。
図 1 8は、 DNKを用いたコンテンツの復号処理を説明する図である。
図 1 9は、 有効化キーブロックの例を示す図である。 .
図 2 0は、 複数のコンテンツの 1つのデバイスに対する割り当てを説明する図 である。
図 2 1は、 メモリースティックの構成を示すプロック図である。
図 2 2は、 コンテンツのェクスポートの処理を説明するフローチヤ一トである, 図 2 3は、 クライアントのェクスポートの実行の処理を説明するフローチヤ一 トである。
図 2 4は、 D E S暗号処理構成を用いた MA C値生成例を示す図である。
図 2 5は、 メモリースティックに記憶されているインデックスおよびコンテン ッを説明する図である。
図 2 6は、 メモリースティックのインポートの実行の処理を説明するフローチ ヤートである。
図 2 7は、 コンテンツのィンポートおよびェクスポートを説明する図である。 図 2 8は、 インポートまたはエクスポートにおけるコンテンツの変換を説明す る図である。
図 2 9は、 インポートまたはエクスポートにおけるコンテンツの変換の例を説 明する図である。
図 3 0は、 クライアント 1のコンテンツの書き込みの処理を説明するフローチ ヤートである。
図 3 1は、 メモリースティック 6 5 1のコンテンツの記憶の処理を説明するフ ローチャートである。
図 3 2は、 クライアント 1が CDに記録されているコンテンツをインポ一トす る処理を説明するフローチャートである。
図 3 3は、 メモリースティック 6 5 1に記憶されているコンテンツの、 クライ アント 1によるインポ一トの処理を説明するフローチャートである。 発明を実施するための最良の形態
図 1は、 本発明を適用したコンテンツ提供システムの構成を示している。 イン ターネット 2には、 クライアント 1— 1 , 1— 2 (以下、 これらのクライアント を個々に区別する必要がない場合、 単にクライアント 1と称する) が接続されて いる。 この例においては、 クライアントが 2台のみ示されているが、 インターネ ット 2には、 任意の台数のクライアントが接続される。 また、 インターネット 2には、 クライアント 1に対してコンテンツを提供する コンテンツサーバ 3、 コンテンツサーバ 3が提供するコンテンツを利用するのに 必要な利用権をクライアント 1に対して付与するライセンスサーバ 4、 およびク ライアント 1が利用権を受け取った場合に、 そのクライアント 1に対して課金処 理を行う課金サーバ 5が接続されている。
これらのコンテンツサーバ 3、 ライセンスサーバ 4、 および課金サーバ 5も、 任意の台数、 インターネット 2に接続される。
図 2はクライアント 1の構成を表している。
図 2 こお ヽて、 CPU (Central Processing Unit) 2 1 fま、 ROM (Read Only Memory) 2 2に記憶されているプログラム、 または記憶部 2 8から RAM
(Random Access Memory) 2 3にロードされたプログラムに従って各種の処理 を実行する。 タイマ 2 0は、 計時動作を行い、 時刻情報を CPU 2 1に供給する。 RAM 2 3にはまた、 CPU 2 1が各種の処理を実行する上において必要なデータな ども適宜記憶される。
暗号化復号部 2 4は、 コンテンツデータを暗号化するとともに、 既に暗号化さ れているコンテンツデータを復号する処理を行う。 コーデック部 2 5は、 例えば、 ATRAC (Adaptive Transform Acoustic Coding) 3方式などでコンテンツデー タをエンコードし、 入出力ィンタフェース 3 2を介してドライブ 3 0に接続され ている半導体メモリ 4 4に供給し、 記録させる。 あるいはまた、 コーデック部 2 5は、 ドライブ 3 0を介して半導体メモリ 4 4より読み出した、 エンコードされ ているデータをデコードする。
半導体メモリ 4 4は、 例えば、 メモリースティック (商標) などにより構成さ れる。
CPU 2 1 N ROM 2 2 , RAM 2 3 , 暗号化復号部 2 4、 およぴコーデック部 2 5は、 バス 3 1を介して相互に接続されている。 このバス 3 1にはまた、 入出力インタ フェース 3 2も接続されている。 入出力インタフェース 3 2 は、 キーボード、 マウスなどよりなる入力部 2 6、 CRT, LCD などよりなるディスプレイ、 並びにスピーカなどよりなる出力部 2 7、 ハードデイスクなどより構成される記憶部 2 8、 モデム、 ターミナルァダプタな どより構成される通信部 2 9が接続されている。 通信部 2 9は、 インターネット 2を介しての通信処理を行う。 通信部 2 9はまた、 他のクライアントとの間で、 アナ口グ信号またはデジタル信号の通信処理を行う。
入出力インタフェース 3 2にはまた、 必要に応じてドライブ 3 0が接続され、 磁気ディスク 4 1、 光ディスク 4 2、 光磁気ディスク 4 3、 或いは半導体メモリ 4 4などが適宜装着され、 それらから読み出されたコンピュータプログラムが、 必要に応じて記憶部 2 8にインス トールされる。
なお、 図示は省略するが、 コンテンツサーバ 3、 ライセンスサーバ 4、 課金サ ーバ 5も、 図 2に示したクライアント 1と基本的に同様の構成を有するコンビュ ータにより構成される。 そこで、 以下の説明においては、 図 2の構成は、 コンテ ンッサーバ 3、 ライセンスサーバ 4、 課金サーバ 5などの構成としても引用され る。
なお、 図示は省略するが、 PD (Portable Device) も、 図 2に示したクライア ント 1と基本的に同様の構成を有するコンピュータにより構成される。
次に、 図 3のフローチャートを参照して、 クライアント 1がコンテンツサーバ 3からコンテンッの提供を受ける処理について説明する。
ユーザが、 入力部 2 6を操作することでコンテンツサーバ 3に対するアクセス を指令すると、 CPU 2 1は、 ステップ S 1において、 通信部 2 9を制御し、 イン ターネット 2を介してコンテンツサーバ 3にアクセスさせる。 ステップ S 2にお いて、 ユーザが、 入力部 2 6を操作して、 提供を受けるコンテンツを指定すると CPU 2 1は、 この指定情報を受け取り、 通信部 2 9から、 インターネッ ト 2を介 してコンテンツサーバ 3に、 指定されたコンテンツのコンテンツ ID を通知する, 図 4のフローチヤ一トを参照して後述するように、 この通知を受けたコンテンツ サーバ 3は、 暗号化されたコンテンツデータを含むコンテンツを送信してくるの で、 ステップ S 3において、 CPU 2 1は、 通信部 2 9を介して、 このコンテンツ データを受信すると、 ステップ S 4において、 その暗号化されているコンテンツ データを記憶部 2 8を構成するハードディスクに供給し、 記憶させる。
次に、 図 4のフローチャートを参照して、 クライアント 1の以上の処理に対応 するコンテンツサーバ 3のコンテンツ提供処理について説明する。 なお、 以下の 説明において、 図 2のクライアント 1の構成は、 コンテンツサーバ 3の構成とし ても引用される。
ステップ S 2 1において、 コンテンッサーバ 3の CPU 2 1は、 インターネット 2から通信部 2 9を介してクライアント 1よりアクセスを受けるまで待機し、 ァ クセスを受けたと判定したとき、 ステップ S 2 2に進み、 クライアント 1から送 信されてきたコンテンツ IDを取り込む。 このコンテンツ IDは、 クライアント 1力 図 3のステップ S 2において通知してきた情報である。
ステップ S 2 3において、 コンテンツサーバ 3の CPU 2 1は、 記憶部 2 8に記 憶されているコンテンツの中から、 ステップ S 2 2の処理で取り込まれたコンテ ンッ IDで指定されたコンテンツデータを読み出す。 CPU 2 1は、 ステップ S 2 4において、 記憶部 2 8から読み出されたコンテンツデータを、 暗号化復号部 2 4に供給し、 コンテンツキー Kcを用いて暗号化させる。
記憶部 2 8に記憶されているコンテンツデータは、 コーデック部 2 5により、 既に ATRAC 3方式によりェンコ一ドされているので、 このエンコードされている コンテンツデータが暗号化されることになる。
なお、 もちろん、 記憶部 2 8に予め暗号化した状態でコンテンツデータを記憶 させることができる。 この場合には、 ステップ S 2 4の処理は省略することが可 能である。
次に、 ステップ S 2 5において、 コンテンツサーバ 3の CPU 2 1は、 暗号化し たコンテンツデータを伝送するフォーマットを構成するヘッダに、 喑号化されて いるコンテンツを復号するのに必要なキー情報 (図 5を参照して後述する EKB と K (Kc) ) を付加する。 そして、 ステップ S 2 6において、 コンテンツサ ーバ 3の CPU 2 1は、 ステップ S 2 4の処理で暗号化したコンテンツと、 ステツ プ S 2 5の処理でキー情報を付加したヘッダとをフォーマツト化したデータを、 通信部 2 9から、 インターネット 2を介して、 アクセスしてきたクライアント 1 に送信する。
図 5は、 このようにして、 コンテンツサーバ 3からクライアント 1にコンテン ッが供給される場合のフォーマツトの構成を表している。 同図に示されるように、 このフォーマッ トは、 ヘッダ (Header) とデータ (Data) とにより構成される。 ヘッダには、 コンテンツ情報 (Content information) 、 URL (Uniform
Resource Locator)、 イネ一プリングキーブロック (有効化キーブロック)
(EKB (Enabl ing Key Block) ) 、 EKBから生成されたキー KEKBCを用いて暗号化 されたコンテンツキー Kcとしてのデータ KEKBC (Kc) 、 コンテンツの属性
(Attributes) 、 および署名 (Signatures) が配置されている。 なお、 EKBに ついては、 図 1 3および図 1 4を参照して後述する。
コンテンツ情報には、 データとしてフォーマツト化されているコンテンツデー タを識別するための識別情報としてのコンテンツ ID (CID) 、 そのコンテンツの コ一デックの方式などの情報が含まれている。
URLは、 そのコンテンツを利用するために必要な利用権を取得するときァクセ スするアドレス情報であり、 図 1のシステムの場合、 具体的には、 利用権を受け るために必要なライセンスサーバ 4のアドレスである。
コンテンツの属性は、 コンテンツの関する情報であり、 コンテンツの属性には、 コンテンツ ID、 コンテンツの提供者を識別するための識別情報としてのレコー ドカンパニー ID、 アーティストを識別するための識別情報としてのアーティス ト IDなどが含まれる。 本実施の形態では、 属性は利用権の対象となるコンテン ッを特定するために用いられる。
署名は、 コンテンツの属性に対応する電子署名である。
データは、 任意の数の暗号化プロック (Encryption Block) により構成され る。 各暗号化プロックは、 イニシャルべク トル (IV (Init ial Vector) ) 、 シ W 03
12 ード (Seed) 、 およびコンテンツデータをキー K' cで喑号化したデータ
EK. 0 (data)により構成されている。
キー K' cは、 次式により示されるように、 コンテンツキー Kcと、 乱数で設定 される値 Seedをハッシュ関数に適用して演算された値により構成される。
K' c = Hash (Kc, Seed)
イニシャルべク トル IVとシード Seedは、 各暗号化ブロック毎に異なる値に 設定される。
この暗号化は、 コンテンツのデータを 8バイト単位で区分して、 8バイト毎に 行われる。 後段の 8バイトの暗号化は、 前段の 8バイトの暗号化の結果を利用し て行われる CBC (Cipher Block Chaining) モードで行われる。
CBCモードの場合、 最初の 8バイトのコンテンツデータを暗号化するとき、 そ の前段の 8バイ トの暗号化結果が存在しないため、 最初の 8バイ トのコンテンツ データを暗号化するときは、 イニシャルべクトル IVを初期値として暗号化が行 われる。
この CBCモードによる暗号化を行うことで、 1つの暗号化ブロックが解読さ れたとしても、 その影響が、 他の暗号化ブロックにおよぶことが抑制される。 また、 暗号方式についてはこれに限らない。
以上のようにして、 クライアント 1は、 コンテンツサーバ 3からコンテンツを 無料で、 自由に取得することができる。 従って、 コンテンツそのものは、 大量に 配布することが可能となる。
しかしながら、 各クライアント 1は、 取得したコンテンツを利用するとき、 そ のコンテンツの利用が許可されていることを示す利用権を保持している必要があ る。 そこで、 図 6を参照して、 クライアント 1がコンテンツを再生する場合の処 理について説明する。
ステップ S 4 1において、 クライアント 1の CPU 2 1は、 ユーザが入力部 2 6 を操作することで指示したコンテンツの識別情報 (CID) を取得する。 この識別 情報は、 例えば、 コンテンツのタイ トルや、 記憶されている各コンテンツ毎に付 与されている番号などにより構成される。
そして、 CPU 2 1は、 コンテンツが指示されると、 そのコンテンツの属性
(Attributes) を読み取る。 この属' 14 (Attributes) は、 図 5に示されるよう に、 コンテンツのヘッダに記述されているものである。
次に、 ステップ S 4 2に進み、 CPU 2 1は、 ステップ S 4 1で読み取られた属 性 (Attributes) が各利用権に含まれているコンテンツ条件を満たすような利 用権が、 クライアント 1により既に取得され、 記憶部 2 8に記憶されているか否 かを判定する。 まだ、 利用権が取得されていない場合には、 ステップ S 4 3に進 み、 CPU 2 1は、 利用権取得処理を実行する。 この利用権取得処理の詳細は、 図 7のフローチヤ一トを参照して後述する。
ステップ S 4 2において、 利用権が既に取得されていると判定された場合、 ま たは、 ステップ S 4 3において、 利用権取得処理が実行された結果、 利用権が取 得された場合、 ステップ S 4 4に進み、 CPU 2 1は、 取得されている利用権は有 効期限内のものであるか否かを判定する。 利用権が有効期限内のものであるか否 かは、 利用権の内容として規定されている期限 (後述する図 8参照) と、 タイマ 2 0により計時されている現在日時と比較することで判断される。 利用権の有効 期限が既に満了していると判定された場合、 CPU 2 1は、 ステップ S 4 5に進み- 利用権更新処理を実行する。
ステップ S 4 4において、 利用権はまだ有効期限内であると判定された場合、 または、 ステップ S 4 5において、 利用権が更新された場合、 ステップ S 4 6に 進み、 じ?11 2 1は記憶部2 8に記憶されてぃる、 利用権に含まれる使用条件及び 使用状態 (後述する) を読み出し、 再生の条件を満たしているかどうかを判定す る。
ステップ S 4 6において、 利用権に含まれる使用条件、 及び使用状態に基づき、 再生が許可されると判断された場合には、 ステップ S 4 7に進み、 CPU 2 1は、 暗号化されているコンテンツデータを記憶部 2 8から読み出し、 RAM 2 3に格納 させる。 そして、 ステップ S 4 8において、 CPU 2 1は、 RAM 2 3に記憶された 暗号化コンテンツデータを、 図 5のデータに配置されている暗号化プロック単位 で、 暗号化復号部 2 4に供給し、 コンテンツキー Kcを用いて復号させる。
コンテンツキー Kcを得る方法の具体例は、 図 1 3および図 1 4を参照して後 述するが、 デバイスノードキー (MK) を用いて、 EKB (図 5 ) に含まれるキー
KEKBCを得ることができ、 そのキー KEKBCを用いて、 データ KEKBC (Kc) (図 5 ) から、 コンテンツキー Kcを得ることができる。
CPU 2 1は、 さらに、 ステップ S 4 9において、 暗号化復号部 2 4により復号 されたコンテンツデータをコーデック部 2 5に供給し、 デコードさせる。 そして、 コーデック部 2 5によりデコードされたデ一タを、 CPU 2 1は、 入出力インタフ エース 3 2から出力部 2 7に供給し、 D/A変換させ、 スピーカから出力させる。 ステップ S 4 6において、 利用権に含まれる使用条件、 及ぴ使用状態に基づき、 再生が許可されないと判断された場合、 コンテンツを出力しないで、 処理は終了 する。
次に、 図 7のフローチャートを参照して、 図 6のステップ S 4 3で行われる利 用権取得処理の詳細について説明する。
クライアント 1は、 事前にライセンスサーバに登録することにより、 リーフ
ID、 DNK (Device Node Key)、 クライアント 1の秘密鍵'公開鍵のペア、 ライセ ンスサーバの公開鍵、 及ぴ各公開鍵の証明書を含むサービスデータを取得してお <。
リーフ IDは、 クライアント毎に割り当てられた識別情報を表し、 DNKは、 コ ンテンッに含まれる EKB (有効化キープロック) によって暗号化されているコン テンツキ一 Kcを復号するのに必要なデバイスノードキーである (図 1 0を参照 して後述する) 。
最初にステップ S 6 1において、 CPU 2 1は、 コンテンツのヘッダに記述され ている URLを取得する。 上述したように、 この URLは、 そのコンテンツを利用 するために必要な利用権を取得するときアクセスすべきァドレスである。 そこで. ステップ S 6 2において、 CPU 2 1は、 ステップ S 6 1で取得した URLにァクセ スする。 具体的には、 通信部 2 9によりインターネット 2を介してライセ.ンスサ ーバ 4にアクセスが行われる。 このとき、 ライセンスサーバ 4は、 クライアント 1に対して、 利用権のリストを送信するとともに、 購入する利用権 (コンテンツ を使用するのに必要な利用権) を指定する利用権指定情報、 並びにユーザ IDと パスワードの入力を要求してくる (後述する図 9のステップ S 1 0 2 ) 。 CPU 2 1は、 この要求を出力部 2 7の表示部に表示させる。 ユーザは、 この表示に基づ いて、 入力部 2 6を操作して、 利用権指定情報、 ユーザ ID、 およびパスワード を入力する。 なお、 このユーザ ID とパスワードは、 クライアント 1のユーザが、 インターネット 2を介してライセンスサーバ 4にアクセスし、 事前に取得してお いたものである。
CPU 2 1は、 ステップ S 6 3, S 6 4において、 入力部 2 6から入力された禾 IJ 用権指定情報を取り込むとともに、 ユーザ IDとパスワードを取り込む。 CPU 2 1は、 ステップ S 6 5において、 通信部 2 9を制御し、 入力されたユーザ IDと パスワードを、 利用権指定情報及びサービスデータ (後述する) に含まれるリー フ IDを含む利用権要求をインターネット 2を介してライセンスサーバ 4に送信 させる。
ライセンスサーバ 4は、 図 9を参照して後述するように、 ユーザ IDとパスヮ ード、 並びに利用権指定情報に基づいて利用権を送信してくる (ステップ S 1 0 9 ) 力 \ または、 条件が満たされない場合には、 利用権を送信してこない (ステ ップ S 1 1 2 ) 。
ステップ S 6 6において、 CPU 2 1は、 ライセンスサーバ 4から利用権が送信 されてきたか否かを判定し、 利用権が送信されてきた場合には、 ステップ S 6 7 に進み、 その利用権を記憶部 2 8に供給し、 記憶させる。
ステップ S 6 6において、 利用権が送信されて来ないと判定した場合、 CPU 2
1は、 ステップ S 6 8に進み、 エラー処理を実行する。 具体的には、 CPU 2 1は、 コンテンツを利用するための利用権が得られないので、 コンテンツの再生処理を 禁止する。
以上のようにして、 各クライアント 1は、 コンテンツを利用するために必要な 利用権を取得して、 初めて、 そのコンテンツを使用することが可能となる。
なお、 図 7の利用権取得処理は、 各ユーザがコンテンツを取得する前に、 予め 行っておくよう することも可能である。
クライアント 1に提供される利用権は、 例えば、 図 8に示されるように、 使用 条件、 リーフ IDおよび電子署名などを含んでいる。
バージョンは、 メジャーバージョンおよびマイ^ "一バージョンをドットで区切 つて、 利用権のバージョンを記述する情報である。
プロファイルは、 1 0進の整数値から記述され、 利用権の記述方法に対する制 限を規定する情報である。
利用権 IDは、 1 6進定数で記述される、 利用権を識別するための識別情報で ある。
作成日時は、 利用権が作成された日時を示す。
有効期限は、 利用権の有効期限を示す。 9 9 9 9年 2 3時 5 9分 5 9秒である 有効期限は、 有効期限に制限がないことを示す。
使用条件には、 その利用権に基づいて、 コンテンツを使用することが可能な使 用期限、 その利用権に基づいて、 コンテンツを再生することが可能な再生期限、 コンテンツの最大再生回数、 その利用権に基づいて、 コンテンツをコピーするこ とが可能な回数 (許されるコピー回数) 、 最大チェックアウト回数、 その利用権 に基づいて、 コンテンツを CD-Rに記録することができるか否か、 PD (Portable Devi ce) にコピーすることが可能な回数、 利用権の移動の可否、 使用ログをと る義務の有無等を示す情報が含まれる。
使用条件の電子署名は、 使用条件に対応する、 電子署名である。
定数は、 使用条件または使用状態で参照される定数である。
リーフ IDは、 クライアントを識別するための識別情報である。 電子署名は、 利用権全体に対応する、 電子署名である。
証明書は、 ライセンスサーバの公開鍵を含む証明書である。
また、 クライアント 1の記憶部 2 8には、 利用権の使用条件とあわせて、 コン テンッゃ利用権の状態を表す情報である使用状態が記憶される。 使用状態には、 対応する利用権に基づいてコンテンツを再生した回数、 コンテンツをコピーした 回数、 コンテンツをチェックアウトした回数、 コンテンツを初めて再生した日時、 コンテンツを CD- Rに記録した回数、 その他コンテンツあるいは利用権に関する 履歴情報等を示す情報が含まれる。
図 6のステップ S 4 6の再生の条件の判定は、 利用権に含まれる使用条件と、 記憶部 2 8に利用権と共に記憶されている使用状態とを基に行われる。 例えば、 使用状態に記憶されているコンテンツを再生した回数が、 使用条件に含まれるコ ンテンッ最大再生回数より少ない場合には、 再生の条件が満たされていると判定 される。
次に、 図 9のフローチャートを参照して、 図 7のクライアント 1の利用権取得 処理に対応して実行されるライセンスサーバ 4の利用権提供処理について説明す る。 なお、 この場合においても、 図 2のクライアント 1の構成は、 ライセンスサ —バ 4の構成として引用される。
ステップ S 1 0 1において、 ライセンスサーバ 4の CPU 2 1は、 クライアント 1よりアクセスを受けるまで待機し、 アクセスを受けたとき、 ステップ S 1 0 2 に進み、 アクセスしてきたクライアント 1に対して、 各利用権に関する情報を含 む利用権のリストを送信するとともに、 ユーザ IDとパスワード、 並びに、 利用 権指定情報の送信を要求する。 上述したようにして、 クライアント 1から、 図 7 のステップ S 6 5の処理で、 ユーザ IDとパスワード、 リーフ ID並びに利用権 指定情報 (利用権 IDであってもよい) が送信されてきたとき、 ライセンスサー ノ 4の CPU 2 1は、 通信部 2 9を介してこれを受信し、 取り込む処理を実行する, そして、 ライセンスサーバ 4の CPU 2 1は、 ステップ S 1 0 3において、 通信 部 2 9から課金サーバ 5にアクセスし、 ユーザ IDとパスヮードに対応するユー ザの与信処理を要求する。 課金サーバ 5は、 インターネット 2を介してライセン スサーバ 4から与信処理の要求を受けると、 そのユーザ IDとパスヮードに対応 するユーザの過去の支払い履歴などを調査し、 そのユーザが、 過去に利用権の対 価の不払いの実績があるか否かなどを調べ、 そのような実績がない場合には、 利 用権の付与を許容する与信結果を送信し、 不払いの実績などがある場合には、 利 用権付与の不許可の与信結果を送信する。
ステップ S 1 0 4において、 ライセンスサーバ 4の CPU 2 1は、 課金サーバ 5 からの与信結果が、 利用権を付与することを許容する与信結果であるか否かを判 定し、 利用権の付与が許容されている場合には、 ステップ S 1 0 5に進み、 ステ ップ S 1 0 2の処理で取り込まれた利用権指定情報に対応する利用権を、 記憶部 2 8に記憶されている利用権の中から取り出す。 記憶部 2 8に記憶されている利 用権は、 あらかじめ利用権 ID、 バージョン、 作成日時、 有効期限等の情報が記 述されている。 ステップ S 1 0 6において、 CPU 2 1は、 その利用権に受信した リーフ IDを付加する。 さらに、 ステップ S 1 0 7において、 CPU 2 1は、 ステ ップ S 1 0 5で選択された利用権に対応づけられている使用条件を選択する。 あ るいはまた、 ステップ S 1 0 2の処理で、 ユーザから使用条件が指定された場合 には、 その使用条件が必要に応じて、 予め用意されている使用条件に付加される, CPU 2 1は、 選択された使用条件を利用権に付加する。 使用条件は利用権にあら 力 じめ付加されていてもよい。
ステップ S 1 0 8において、 C P U 2 1はライセンスサーバの秘密鍵により利 用権に署名し、 ライセンスサーバの公開鍵を含む証明書を利用権に添付し、 これ により、 図 8に示されるような構成の利用権が生成される。
次に、 ステップ S 1 0 9に進み、 ライセンスサーバ 4の CPU 2 1は、 その利用 権 (図 8に示される構成を有する) を、 通信部 2 9からインターネット 2を介し てクライアント 1に送信させる。
ステップ S 1 1 0においてライセンスサーバ 4の CPU 2 1は、 ステップ S 1 0 9の処理で、 いま送信した利用権 (使用条件、 リーフ IDを含む) を、 ステップ S 1 0 2の処理で取り込まれたユーザ IDとパスワードに対応して、 記憶部 2 8 に記憶させる。 さらに、 ステップ S 1 1 1において、 CPU 2 1は、 課金処理を実 行する。 具体的には、 CPU 2 1は、 通信部 2 9から課金サーバ 5に、 そのユーザ IDとパスワードに対応するユーザに対する課金処理を要求する。 課金サーバ 5 は、 この課金の要求に基づいて、 そのユーザに対する課金処理を実行する。 上述 したように、 この課金処理に対して、 そのユーザが支払いを行わなかったような 場合には、 以後、 そのユーザは、 利用権の付与を要求したとしても、 利用権を受 けることができないことになる。
すなわち、 この場合には、 課金サーバ 5から利用権の付与を不許可とする与信 結果が送信されてくるので、 ステップ S 1 0 4からステップ S 1 1 2に進み、 CPU 2 1は、 エラー処理を実行する。 具体的には、 ライセンスサーバ 4の CPU 2 1は、 通信部 2 9を制御してアクセスしてきたクライアント 1に対して、 利用権 を付与することができない旨のメッセージを送信し、 処理を終了させる。
この場合、 上述したように、 そのクライアント 1は利用権を受けることができ ないので、 そのコンテンツを利用すること (暗号化されたコンテンツデータを復 号し、 再生すること) ができないことになる。
本発明においては、 図 1 0に示されるように、 ブロードキャストインクリプシ ヨン (Broadcast Encryption) 方式の原理に基づいて、 デバイスとキーが管理 される。 キーは、 階層ツリー構造とされ、 最下段のリーフ (leaf) が個々のデ バイス固有のキーに対応する。 本発明のシステムに用いられる階層ツリー構造鍵 管理については特許公開 2001-352321号公報に記載されている。 図 1 0の例の 場合、 番号 0から番号 1 5までの 1 6個のデバイスに対応するキ が生成される, 各キーは、 図中丸印で示されるツリー構造の各ノードに対応して規定される。 この例では、 最上段のルートノードに対応してルートキー KRが、 2段目のノー ドに対応してキー K 0, K 1力 3段目のノードに対応してキー K 0 0乃至 K 1 1力 第 4段目のノードに対応してキー K 0 0 0乃至キー K 1 1 1が、 それぞれ 対応されている。 そして、 最下段のノードとしてのリーフ (デバイスノード) に- キー K 0 0 0 0乃至 K 1 1 1 1力 それぞれ対応されている。
階層構造とされているため、 例えば、 キー K O 0 1 0とキー 0 0 1 1の上位の キーは、 K 0 0 1とされ、 キー K 0 0 0とキー K 0 0 1の上位のキーは、 K 0 0 とされている。 以下同様に、 キー K 0 0とキー K 0 1の上位のキーは、 K Oとさ れ、 キー K 0とキー K 1の上位のキーは、 KRとされている。
コンテンツを利用するキーは、 最下段のデバイスノード (リーフ) から、 最上 段のルートノードまでの 1つのパスの各ノードに対応するキーで管理される。 例 えば、 番号 3のリーフに対応するデバイスにおいて、 コンテンツを利用するため のキーは、 キー K O O i l , K 0 0 1 , K 0 0 , K O , KRを含むパスの各キー で管理される。
本発明のシステムにおいては、 図 1 1に示されるように、 図 1 0の原理に基づ いて構成されるキーシステムで、 デバイスのキーとコンテンツのキーの管理が行 われる。 図 1 1の例では、 8 + 2 4 + 3 2段のノードがツリー構造とされ、 ルー トノードから下位の 8段までの各ノードにカテゴリが対応される。 ここにおける カテゴリとは、 例えばメモリースティックなどの半導体メモリを使用する機器の カテゴリ、 デジタル放送を受信する機器のカテゴリ といったカテゴリを意味する, そして、 このカテゴリノードのうちの 1つのノードに、 ライセンスを管理するシ ステムとして本システム ( Tシステムと称する) が対応する。
すなわち、 この Tシステムのノードよりさらに下の階層の 2 4段のノードに対 応するキーにより、 サービスプロバイダ、 あるいはサービスプロバイダが提供す るサービスが対応される。 この例の場合、 これにより、 2 24 (約 1 6メガ) のサ 一ビスプロバイダあるいはサービスを規定することができる。 さらに、 最も下側 の 3 2段の階層により、 2 32 (約 4ギガ) のユーザ (あるいはクライアント 1 ) を規定することができる。 最下段の 3 2段のノードから Tシステムのノードまで のパス上の各ノードに対応するキーが、 MK (Device Node Key) を構成し、 最 下段のリーフに対応する IDがリーフ IDとされる。 コンテンツを暗号化したコンテンツキーは更新されたルートキー KR'によって 暗号化され、 上位の階層の更新ノードキーは、 その直近の下位の階層の更新ノー ドキーを用いて暗号化され、 EKB (図 1 3およぴ図 1 4を参照して後述する) 内に配置される。 EKBにおける末端から 1つ上の段の更新ノードキーは EKB の末端のノードキーあるいはリーフキーによって暗号化され、 EKB内に配置さ れる。 クライアント 1は、 サービスデータに記述されている DNKのいずれかの キーを用いて、 コンテンツデータとともに配布される EKB (図 1 3および図 1 4) 内に記述されている直近の上位の階層の更新ノードキーを復号し、 復号して 得たキーを用いて、 E KB内に記述されているさらにその上の階層の更新ノード キーを復号する。 以上の処理を順次行うことで、 クライアント 1は、 更新ルート キー KR'を得ることができる。
図 1 2に階層ッリ一構造のカテゴリの分類の具体的な例を示す。 図 1 2におい て、 階層ツリー構造の最上段には、 ルートキー KR2 3 0 1が設定され、 以下の 中間段にはノードキー 2 3 0 2が設定され、 最下段には、 リーフキー 2 3 0 3が 設定される。 各デバイスは個々のリーフキーと、 リーフキーからルートキーに至 る一連のノードキー、 ルートキーからなるデバイスノードキー (DNK) を保有 する。
最上段から第 M段目 (図 1 1の例では、 M= 8) の所定のノードがカテゴリノ ード 2 3 04として設定される。 すなわち第 M段目のノードの各々が特定カテゴ リのデバイス設定ノードとされる。 第 M段の 1つのノードを頂点として M+ 1段 以下のノード、 リーフは、 そのカテゴリに含まれるデバイスに関するノードおよ ぴリーフとされる。
例えば図 1 2の第 M段目の 1つのノード 2 3 0 5にはカテゴリ [メモリーステ イツク (商標) ] が設定され、 このノード以下に連なるノード、 リーフはメモリ ステツイクを使用した様々なデバイスを含むカテゴリ専用のノードまたはリーフ として設定される。 すなわち、 ノード 2 3 0 5以下が、 メモリースティックの力 テゴリに定義されるデバイスの関連ノード、 およびリーフの集合として定義され る。
さらに、 M段から数段分下位の段をサブカテゴリノード 2 3 0 6として設定す ることができる。 図 1 2の例では、 カテゴリ [メモリースティック] ノード 2 3 0 5の 2段下のノードに、 メモリースティックを使用したデバイスのカテゴリに 含まれるサブカテゴリノードとして、 [再生専用器] のノード 2 3 0 6が設定さ れている。 さらに、 サブカテゴリノードである再生専用器のノード 2 3 0 6以下 に、 再生専用器のカテゴリに含まれる音楽再生機能付き電話のノード 2 3 0 7が 設定され、 さらにその下位に、 音楽再生機能付き電話のカテゴリに含まれる [ P H S ] ノード 2 3 0 8と、 [携帯電話] ノード 2 3 0 9が設定されている。 さらに、 カテゴリ、 サブカテゴリは、 デバイスの種類のみならず、 例えばある メーカー、 コンテンツプロバイダ、 決済機関等が独自に管理するノード、 すなわ ち処理単位、 管轄単位、 あるいは提供サービス単位等、 任意の単位 (これらを総 称して以下、 エンティティと呼ぶ) で設定することが可能である。 例えば 1つの カテゴリノードをゲーム機器メーカーの販売するゲーム機器 X Y Z専用の頂点ノ ードとして設定すれば、 メーカーの販売するゲーム機器 X Y Zに、 その頂点ノー ド以下の下段のノ一ドキー、 リーフキーを格納して販売することが可能となり、 その後、 暗号化コンテンツの配信、 あるいは各種キーの配信、 更新処理を、 その 頂点ノードキー以下のノードキー、 リーフキーによって構成される有効化キープ ロック (E K B ) を生成して配信し、 頂点ノード以下のデバイスに対してのみ利 用可能なデータが配信可能となる。
このように、 1つのノードを頂点として、 以下のノードをその頂点ノードに定 義されたカテゴリ、 あるいはサブカテゴリの関連ノードとして設定する構成とす ることにより、 カテゴリ段、 あるいはサブカテゴリ段の 1つの頂点ノードを管理 するメーカー、 コンテンツプロバイダ等がそのノードを頂点とする有効化キープ ロック (E K B ) を独自に生成して、 頂点ノード以下に属するデバイスに配信す る構成が可能となり、 頂点ノードに属さない他のカテゴリのノードに属するデバ イスには全く影響を及ぼさずにキー更新を実行することができる。
また、 ある時点 tにおいて、 デバイス 3の所有する鍵 KO 0 1 1, KO 0 1, K0 0, KO,KRが攻撃者 (ハッカー) により解析されて露呈したことが発覚し た場合、 それ以降、 システム (デバイス 0, 1, 2, 3のグループ) で送受信さ れるデータを守るために、 デバイス 3をシステムから切り離す必要がある。 その ためには、 ノードキー KO 0 1, K0 0, KO,KRを、 それぞれ新たな鍵 K ( t ) 0 0 1,K ( t) 00,K ( t ) 0,Κ ( t ) Rに更新し、 デバイス 0, 1, 2に その更新キーを伝える必要がある。 ここで、 K ( t) a a aは、 鍵 K a a aの世 代 (Generation) tの更新キーであることを示す。
更新キーの配布処理ついて説明する。 キーの更新は、 例えば、 図 1 3に示す有 効化キーブロック (EKB: Enabling Key Block) と呼ばれるブロックデータ によって構成されるテーブルを、 ネットワークを介して、 あるいは記録媒体に格 納してデバイス 0, 1, 2に供給することによって実行される。 なお、 有効化キ 一ブロック (EKB) は、 図 1 0に示されるようなツリー構造を構成する各リー フ (最下段のノード) に対応するデバイスに、 新たに更新されたキーを配布する ための暗号化キーによって構成される。 有効化キープロック (EKB) は、 キー 更新ブロック (KRB: Key Renewal Block) と呼ばれることもある。
図 1 3に示す有効化キーブロック (EKB) は、 ノードキーの更新の必要なデ バイスのみが更新可能なデータ構成を持つブロックデータとして構成される。 図 1 3の例は、 図 1 0に示すツリー構造中のデバイス 0, 1, 2において、 世代 t の更新ノードキーを配布することを目的として形成されたプロックデータである, 図 1 0から明らかなように、 デバイス 0, デバイス 1は、 更新ノードキーとして K ( t) 0 0、 K ( t) 0、 K ( t) Rが必要であり、 デバイス 2は、 更新ノー ドキーとして K ( t) 00 1、 K ( t ) 0 0、 ( t ) 0、 ( t) Rが必要で ある。 図 1 3の E KBに示されるように、 E KBには複数の暗号化キーが含まれる。 図 1 3の最下段の暗号化キーは、 En c (K00 10, K ( t ) 00 1) である c これはデバイス 2の持つリーフキー K00 10によって暗号化された更新ノード キー K (t) 00 1であり、 デバイス 2は、 自身の持つリーフキー K0010に よってこの暗号化キーを復号し、 更新ノードキー K (t) 00 1を得ることがで きる。 また、 復号により得た更新ノードキー K ( t) 001を用いて、 図 1 3の 下から 2段目の暗号化キー En c (K (t) 00 1, K (t) 00) が復号可能 となり、 更新ノードキー K ( t) 00を得ることができる。
以下順次、 図 1 3の上から 2段目の暗号化キー E n c ( ( t) 00, K ( t) 0) を復号することで、 更新ノードキー K ( t) 0が得られ、 これを用い て、 図 1 3の上から 1段目の暗号化キー E n c (K ( t ) 0, K ( t) R) を復 号することで、 更新ルートキー K ( t) Rが得られる。
一方、 ノードキー K000は更新する対象に含まれておらず、 ノード 0, 1が、 更新ノードキーとして必要なのは、 K ( t) 00、 K ( t) 0、 ( t ) Rであ る。 ノード 0, 1は、 デバイスキー K0000, K0001を用いて、 図 1 3の 上から 3段目の暗号化キー E n c (K000, K ( t) 00) を復号することで 更新ノードキー K (t) 00を取得し、 以下順次、 図 1 3の上から 2段目の暗号 化キー En c (K ( t) 00, K ( t) 0) を復号することで、 更新ノードキー K (t) 0を得、 図 1 3の上から 1段目の暗号化キー En c ( (t) 0, (t) R) を復号することで、 更新ルートキー K ( t) Rを得る。 このようにし て、 デバイス 0, 1 , 2は更新したキー K ( t) Rを得ることができる。
なお、 図 1 3のインデックスは、 図の右側の暗号化キーを復号するための復号 キーとして使用するノードキー、 リーフキーの絶対番地を示す。
図 10に示すツリー構造の上位段のノードキー K (t) 0, K (t) Rの更新 が不要であり、 ノードキー K00のみの更新処理が必要である場合には、 図 14 の有効化キープロック (EKB) を用いることで、 更新ノードキー K ( t) 00 をデバイス 0, 1, 2に配布することができる。 図 1 4に示す EKBは、 例えば特定のグループにおいて共有する新たなコンテ ンッキーを配布する場合に利用可能である。 具体例として、 図 1 0に点線で示す グループ内のデバイス 0, 1 , 2, 3がある記録媒体を用いており、 新たな共通 のコンテンツキー K ( t ) c o nが必要であるとする。 このとき、 デバイス 0, 1, 2, 3の共通のノードキー K00を更新した K ( t ) 0 0を用いて新たな共 通の更新コンテンツキー K ( t) c o nを暗号化したデータ E n c (K ( t) 0 0, K ( t) c o n) 図 1 4に示される EKBとともに配布される。 この配 布により、 デバイス 4など、 その他のグループの機器が復号することができない データとしての配布が可能となる。
すなわち、 デバイス 0, 1, 2は E KBを処理して得たキー K ( t) 00を用 いて暗号文を復号すれば、 t時点でのコンテンツキー K ( t) c o nを得ること が可能になる。
図 1 5に、 t時点でのコンテンツキー K ( t) c o nを得る処理例として、 K ( t) 0 0を用いて新たな共通のコンテンツキー K ( t) c o nを暗号化したデ —タ E n c (K ( t ) 0 0, K ( t) c o n) と、 図 1 4に示す E K Bとを記録 媒体を介して受領したデバイス 0の処理を示す。 すなわちこの例は、 EKBによ る暗号化メッセージデータをコンテンツキー K ( t ) c o nとした例である。 図 1 5に示すように、 デバイス 0は、 記録媒体に格納されている世代 t時点 の EKBと、 自分があらかじめ格納しているノードキー K000を用いて、 上述 したと同様の EKB処理により、 ノードキー K ( t ) 0 0を生成する。 さらに、 デバイス 0は、 復号した更新ノードキー K ( t) 0 0を用いて、 更新コンテンツ キー K ( t) c o nを復号して、 後にそれを使用するために自分だけが持つリー フキー K00 00で暗号化して格納する。
図 1 6に有効化キーブロック (EKB) のフォーマット例を示す。 バージョン 6 0 1は、 有効化キーブロック (EKB) のバージョンを示す識別子である。 な お、 バージョンは、 最新の E KBを識別する機能と、 コンテンツとの対応関係を 示す機能を持つ。 デプスは、 有効化キーブロック (EKB) の配布先のデバイス に対する階層ツリーの階層数を示す。 データポインタ 6 0 3は、 有効化キープ口 ック (EKB) 中のデータ部 6 0 6の位置を示すポインタであり、 タグポインタ 6 04はタグ部 6 0 7の位置、 署名ボインタ 6 0 5は署名 6 0 8の位置を示すポ ィンタである。
データ部 6 0 6は、 例えば更新するノードキーを暗号化したデータを格納する, 例えば図 1 5に示すような更新されたノードキーに関する各暗号化キー等を格納 する。
タグ部 6 0 7は、 データ部 6 0 6に格納された暗号化されたノ一ドキー、 リ一 フキーの位置関係を示すタグである。 このタグの付与ルールを図 1 8を用いて説 明する。
図 1 7では、 データとして先に図 1 3で説明した有効化キーブロック (EK B) を送付する例を示している。 この時のデータは、 図 1 7の Bで示す表に示す ようになる。 このときの暗号化キーに含まれるトップノードのァドレスをトップ ノードアドレスとする。 この例の場合は、 ルートキーの更新キー K ( t) Rが含 まれているので、 トップノードアドレスは KRとなる。 このとき、 例えば最上段 のデータ E n c (K ( t) 0, K ( t) R) は、 図 1 7の Aで示す階層ツリーに 示す位置 P Oに対応する。 次の段のデータは、 E n c (K ( t) 00, K ( t) 0) であり、 ツリー上では前のデータの左下の位置 P 0 0に対応する。 ツリー構 造の所定の位置から見て、 その下に、 データがある場合は、 タグが 0、 ない場合 はタグが 1に設定される。 タグは {左 (L) タグ, 右 (R) タグ } として設定さ れる。 表 Bの最上段のデータ E n c (K ( t) 0, K ( t) R) に対応する位置 P0の左下の位置 POOにはデータがあるので、 Lタグ = 0、 右にはデータがない ので、 Rタグ = 1となる。 以下、 すべてのデータにタグが設定され、 図 1 7の C で示すデータ列、 およびタグ列が構成される。
タグは、 対応するデータ E n c (Kx x x, Ky y y) 力 ツリー構造のどこ に位置しているのかを示すために設定されるものである。 データ部 6 0 6に格納 されるキーデータ E n c (Kx x x, Ky y y) · · 'は、 単純に暗号化された キーの羅列データに過ぎないが、 上述したタグによってデータとして格納された 暗号化キーのツリー上の位置が判別可能となる。 上述したタグを用いずに、 先の 図 1 5で説明した構成のように、 暗号化データに対応させたノード ·インデック スを用いて、 例えば、
0 : En c (K (t) 0, K (t) R)
00 : E n c (K ( t ) 00, K ( t ) 0)
000 : E n c (K ( ( t ) 000, K ( t) 00)
■ ■ 'のようなデータ構成とすることも可能であるが、 このようなインデック スを用いた構成とすると、 冗長なデータとなりデータ量が増大し、 ネットワーク を介する配信等においては好ましくない。 これに対し、 上述したタグをキー位置 を示す索引データとして用いることにより、 少ないデータ量でキー位置の判別が 可能となる。
図 1 6に戻って、 EKBフォーマットについてさらに説明する。 署名
(Signature) 608は、 有効化キーブロック (EKB) を発行した例えば键管 理センタ (ライセンスサーバ 4) 、 コンテンツロバイダ (コンテンツサーバ 3 ) 決済機関 (課金サーバ 5) 等が実行する電子署名である。 EKBを受領したデバ イスは、 署名検証によって正当な有効化キーブロック (EKB) 発行者が発行し た有効化キープロック (EKB) であることを確認する。
以上のようにして、 ライセンスサーバ 4から供給された利用権に基づいて、 コ ンテンッサーバ 3から供給されたコンテンツを利用する処理をまとめると、 図 1 8に示されるようになる。
すなわち、 コンテンツサーバ 3からクライアント 1に対してコンテンツが提供 されるとともに、 ライセンスサーバ 4からクライアント 1にライセンスが与えら れる。 クライアント 1をライセンスサーバ 4に登録した際に供給されるサービス データと、 特定のコンテンツの利用を許可する情報である利用権との組み合わせ をライセンスと呼ぶ。 コンテンッは、 コンテンツキー Kcにより、 暗号化されて おり (Enc (Kc, Content) ) 、 コンテンツキー Kcは、 更新ルートキー KR' (EKB から得られるキーであって、 図 5におけるキー KEKBCに対応する)で暗号化され (Enc (KR', Kc) ) 、 EKBとともに、 喑号化されたコンテンツに付加されてク ライアント 1に提供される。
図 1 8の例における EKBには、 例えば、 図 1 9に示されるように、 DNKで復号 可能な更新ルートキー KR'が含まれている (Enc (DNK, KR' ) ) 。 従って、 クラ イアント 1は、 サービスデータに含まれる DNKを利用して、 EKBから更新ルート キー KR'を得ることができる。 さらに、 更新ルートキー KR'を用いて、 Enc (KR': Kc) からコンテンツキー Kc を復号することができ、 コンテンツキー Kc を用いて. Enc (Kc , Content) からコンテンツを復号することができる。
このように、 クライアント 1に DNKを各デバイスに割り当てることにより、 図 1 0と図 1 5を参照して説明した原理に従って、 個々のクライアント 1のリポ ーク (revoke) が可能になる。
また、 ライセンスリーフ IDを付加して配布することにより、 クライアント 1 において、 サービスデータと利用権の対応付けが行われることになり、 利用権の 不正コピーを防止することが可能になる。
また、 クライアント用の証明書と秘密鍵をサービスデータとして配信するよう にすることで、 エンドユーザも、 これらを用いて不正コピーを防止可能なコンテ ンッを作成することが可能になる。
本発明においては、 図 1 1を参照して説明したように、 カテゴリノードにライ センスを管理する Tシステムと、 各種のコンテンツを利用するデバイスのカテゴ リが対応づけられるので、 複数の DNKを同一のデバイスに持たせることができ る。 その結果、 異なるカテゴリのコンテンツを 1つのデバイスで管理することが 可能となる。
図 2 0は、 この関係の一例を表している。 すなわち、 デバイス D 1には、 Tシ ステムに基づいて、 DNK 1が割り当てられており、 E K Bを含むコンテンツ 1を 再生することができる。 同様に、 このデバイス D 1には、 例えば、 DNK 2が割り 当てられており、 メモリースティックに CDからリッビングしたコンテンツ 2を 記録することができる。 この場合、 デバイス D 1は、 コンテンツ 1とコンテンツ 2という、 異なるシステム (Tシステムとデバイス管理システム) により配信さ れたコンテンツを同時に扱うことが可能となる。 新たな D狐 を割り当てるとき、 既に割り当てられている DNKを削除するなどして、 デバイスに 1個の DNKだけ を対応させるようにした場合、 このようなことはできない。
このように、 本発明においては、 カテゴリ毎に独立したキー管理が可能になる c また、 DNKを、 機器やメディアに予め埋め込むのではなく、 ライセンスサーバ 4により、 登録処理を行う際に、 各機器やメディアにダウンロードするようにす ることで、 ユーザによるキーの購入が可能なシステムを実現することができる。 コンテンツとその利用権を別々に配布するシステムにおいては、 コンテンツは、 それが作成された後、 どのような使われ方をされようとも、 その使われ方に関わ りなく、 全ての用途において、 使用可能であるのが望ましい。 例えば、 異なるコ ンテンッ配信サービス、 あるいは用途が異なる場合においても、 同一のコンテン ッが使えることが望ましい。 本発明においては、 このため、 上述したように、 各 ユーザ (クライアント 1 ) に、 認証局としてのライセンスサーバ 4から秘密鍵と、 それに対応する公開鍵の証明書 (cert ificates) が配布される。 各ユーザは、 その秘密鍵を用いて、 署名 (s ignature) を作成し、 コンテンツに付加して、 コ ンテンッの真正さ(integrity)を保証し、 かつコンテンツの改竄防止を図ること ができる。
次に、 クライアント 1から、 クライアント 1に装着された、 セキュアなメディ ァであり、 コンテンツ記憶装置の一例であるメモリースティック (商標) へのコ ンテンッのエクスポートの処理、 およびメモリースティックからクライアント 1 へのコンテンツのィンポートの処理を説明する。
エクスポートおよびインポートは、 コンテンツの移動、 コピー、 またはチエツ クアウトなどを含み、 図 1 2における T - systemノードの下位のノードに一つの カテゴリとして割り当てられる。 図 2 1は、 メモリースティックの構成を示す図である。 メモリースティック 6 5 1は、 フラッシュメモリ (不揮発性メモリ) 6 6 1、 メモリコントロールプロ ック 6 6 2、 および D E S (Data Encryption Standard)の暗号化回路を含むセ キュリティプロック 6 6 3が 1チップ上に I C化されたものである。
フラッシュメモリ 6 6 1は、 メモリコントローノレブロック 6 6 2の制御の基に、 符号化され、 暗号化されたコンテンツを記憶する。
メモリコント口ールブロック 6 6 2は、 シリアル Zパラレル変換、 またはパラ レル シリアル変換を実行すると共に、 供給されたコマンドおよびデータとを分 離して、 分離されたコマンドを実行する。 メモリコントロールブロック 6 6 2は、 供給されたコマンドに対応して、 コンテンツをフラッシュメモリ 6 6 1に記憶さ せるか、 またはフラッシュメモリ 6 6 1に記憶されているコンテンツを読み出す c メモリースティック 6 5 1のセキュリティブロック 6 6 3は、 複数の認、証キー とメモリカード毎にユニークなス トレージキーを記憶する。 セキュリティブロッ ク 6 6 3は、 乱数発生回路を有し、 メモリ コントロールプロック 6 6 2の制御の 基に、 クライアント 1と相互認証し、 セッションキーを共有する。
セキュリティブロック 6 6 3は、 後述する使用条件および MA C値を含むイン デッタスを記憶する。
セキュリティブロック 6 6 3は、 メモリコント口ールブロック 6 6 2の制御の 基に、 暗号化されているコンテンツを復号する。
図 2 2は、 クライアント 1によるコンテンツのエクスポートの処理を説明する フローチヤ一トである。
ステップ S 2 0 1において、 クライアント 1の CPU 2 1は、 エクスポートする コンテンツを選択して、 選択したコンテンツに含まれる属性から署名を作成する c 例えば、 クライアント 1の CPU 2 1は、 コンテンツに含まれる属性を、 証明書 に含まれるライセンスサーバの公開鍵で暗号化処理することにより、 署名を作成 する。 ステップ S 2 0 2において、 クライアント 1の CPU 2 1は、 作成した属性の署 名と、 コンテンツに含まれる属性の署名とを比較し、 作成した属性の署名と、 コ ンテンッに含まれる属性の署名とがー致したと判定された場合、 属性は改竄され ていないので、 ステップ S 2 0 3に進む。
ステップ S 2 0 2において、 作成した属性の署名と、 コンテンツに含まれる属 性の署名とがー致しないと判定された場合、 属性が改竄されているので、 ステツ プ S 2 0 9に進み、 クライアント 1の CPU 2 1は、 エラー表示などのエラー処理 を実行し、 エクスポートの実行の処理を行わないで、 処理は終了する。
ステップ S 2 0 3において、 クライアント 1の CPU 2 1は、 対象となるコンテ ンッの属性が利用権に含まれるコンテンツ条件を満たし、 エクスポートが許可さ れている利用権を記憶部 2 8から検索する。 対象のコンテンツを利用するための 利用権が記憶部 2 8に見つからない場合には、 ステップ S 2 0 9に進み、 クライ アント 1の CPU 2 1はエラー表示などの、 エラー処理を実行し、 エクスポートの 実行の処理を行わないで、 処 ¾は終了する。
ステップ S 2 0 3において、 コンテンツを利用するための利用権が見つかった 場合には、 S 2 0 4に進み、 クライアント 1の CPU 2 1はコンテンツを利用する ための利用権が記憶部 2 8に 1つ記憶されている力 複数記憶されているかを判 定する。
記憶部 2 8に対象のコンテンツを利用するための利用権が複数記憶されている と判定された場合、 ステップ S 2 0 5に進み、 クライアント 1の CPU 2 1は、 出 力部 2 7のディスプレイに各利用権の使用条件等の情報を表示させ、 どの利用権 の使用条件をェクスポートされたコンテンツの使用条件として用いるかをユーザ に確認させ、 ユーザからの入力部 2 6への入力を基に、 いずれの利用権をェクス ポートに用いるかを決定する。
ステップ S 2 0 5における利用権の選択は、 ユーザによる選択に限らず、 所定 の規則に基づき優先順位が決定されるようになっていても構わない。 記憶部 2 8に対象のコンテンツを利用するための利用権が 1つ記憶されている と判定された場合、 エクスポートに用いられる利用権は決まっているので、 ステ ップ S 2 0 5の利用権の選択は行われず、 ステップ S 2 0 6に進む。
コンテンツを利用するための利用権の選択が行われた後、 S 2 0 6において、 クライアント 1の CPU 2 1は、 利用権の使用条件から署名を作成する。
例えば、 クライアント 1の CPU 2 1は、 利用権に含まれる使用条件を、 証明書 に含まれるライセンスサーバの公開鍵で暗号化処理することにより、 署名を作成 する。
ステップ S 2 0 7において、 クライアント 1の CPU 2 1は、 作成した使用条件 の署名と、 利用権に含まれる使用条件の署名とを比較し、 作成した使用条件の署 名と、 利用権に含まれる使用条件の署名とが一致したと判定された場合、 使用条 件は改竄されていないので、 ステップ S 2 0 8に進む。 ステップ S 2 0 8におい て、 クライアント 1の CPU 2 1は、 エクスポートの実行の処理を行い、 処理は終 了する。
ステップ S 2 0 7において、 作成した属性の署名と、 コンテンツに含まれる属 性の署名とがー致しないと判定された場合、 属性が改竄されているので、 ステツ プ S 2 0 9に進み、 クライアント 1の CPU 2 1は、 エラー表示などのエラー処理 を実行し、 エクスポートの実行の処理を行わないで、 処理は終了する。
図 2 3は、 ステップ S 2 0 8の処理に対応する、 クライアント 1のェクスポー トの実行の処理を説明するフローチャートである。
ステップ S 2 2 1において、 クライアント 1の CPU 2 1は、 装着されているメ モリースティックと相互認証の処理を実行する。 例えば、 クライアント 1の CPU 2 1とメモリースティック 6 5 1のセキュリティブ口ック 6 6 3は、 チヤレンジ アンドレスポンス方式の相互認証の処理を実行することができる。
ステップ S 2 2 1の処理において、 相互認証されなかった場合、 クライアント 1またはメモリースティック 6 5 1力 正当ではないので、 ステップ S 2 2 2乃 至 S 2 2 8の処理はスキップされ、 コンテンツをメモリースティック 6 5 1に書 き込まないで、 処理は終了する。
ステップ S 2 2 1の処理において、 相互認証された場合、 クライアント 1およ ぴメモリースティック 6 5 1力 正当なので、 クライアント 1およびメモリース ティック 6 5 1は、 共通の一時鍵 (セッションキー) を共有し、 ステップ S 2 2 2乃至 S 2 2 8の処理が実行される。
共通の一時鍵 (セッションキー) が共有された以下の処理において、 クライア ント 1がメモリースティック 6 5 1に送信する情報は、 暗号化復号部 2 4におい て、 一時鍵で暗号化される。 また、 クライアント 1がメモリースティック 6 5 1 から受信した情報は、 一時鍵により暗号化されているので、 暗号化復号部 2 4に より、 復号される。
ステップ S 2 2 2において、 クライアント 1の CPU 2 1は、 コンテンツをメモ リースティック 6 5 1に書き込む。 例えば、 クライアント 1の CPU 2 1は、 メモ リースティック 6 5 1から、 メモリースティック 6 5 1のコンテンツキーを取得 し、 メモリースティック 6 5 1のコンテンツキーに、 コンテンツの鍵をかけ直し て (コンテンツをメモリースティ ック 6 5 1のコンテンツキーで暗号化して) 、 メモリースティック 6 5 1のコンテンツキーに、 鍵をかけ直したコンテンツをメ モリースティック 6 5 1に供給する。
なお、 メモリースティック 6 5 1に、 コンテンツの鍵をかけ直させるようにし てもよい。
ステップ S 2 2 3において、 クライアント 1の CPU 2 1は、 利用権の使用条件 のフォーマツトをメモリースティックに対応する方式に変換する。
ステップ S 2 2 4において、 クライアント 1の CPU 2 1は、 暗号化復号部 2 4 に、 利用権の使用条件のメッセージ認証符号 (MA C : Message
authentication Code) (以下、 MA C値とも称する) を算出させる。
D E S喑号処理構成を用いた MA C値生成例を図 2 4に示す。 図 2 4の構成に 示すように対象となるメッセージ (使用条件) を 8バイ ト単位に分割し、 (以下、 分割されたメッセージを Ml、 M2、 ■ · ·、 MNとする) 、 まず、 初期値 (IV) と Mlを、 演算部 24— 1 Aにより排他的論理和する (その結果を I I とする) 。 次に、 I 1を DE S暗号化部 24— 1 Bに入れ、 鍵 (以下、 K 1とす る) を用いて暗号化する (出力を E 1とする) 。 続けて、 E 1および M2を演算 部 24— 2 Aにより排他的論理和し、 その出力 I 2を DE S暗号化部 24— 2B へ入れ、 鍵 K1を用いて暗号化する (出力 E 2) 。 以下、 これを繰り返し、 全て のメッセージに対して暗号化処理を施す。 DE S暗号化部 24— NBから最後に 出てきた ENがメッセージ認証符号 (MAC (Message Authentication
Code) ) となる。
ステップ S 225において、 クライアント 1の CPU 2 1は、 ステップ S 223 の処理でフォーマツトが変換された使用条件を、 ステップ S 224の処理で算出 された MAC値と共にメモリースティック 6 5 1のインデックスに書き込む。
図 25は、 メモリースティック 6 5 1に記憶されているインデックスおよびコ ンテンッを説明する図である。
メモリースティック 6 5 1のィンデックス 70 1には、 コンテンツに対応して. コンテンツの使用条件、 MAC値、 およびポインタが格納される。 インデックス 70 1のポィンタは、 コンテンッのァドレスを格納している。
例えば、 メモリースティック 65 1に記憶されているコンテンツ 702— 1を 示すポィンタは、 コンテンツ 702— 1の使用条件およびその MAC値と共に、 インデックス 701に格納される。 メモリースティック 6 51に記憶されている コンテンツ 702— 2を示すポインタは、 コンテンツ 702— 2の使用条件およ びその MAC値と共に、 インデックス 701に格納される。 メモリースティック 6 5 1に記憶されているコンテンツ 70 2- 3を示すポィンタは、 コンテンツ 7 02- 3の使用条件およびその MAC値と共に、 インデックス 701に格納され る。 ステップ S 2 26において、 クライアント 1の CPU 2 1は、 メモリーステイツ ク 6 5 1から、 ステップ S 225の処理により、 新たに使用条件おょぴ MAC値 が書き込まれたインデックス 70 1を取得する。
ステップ S 2 27において、 クライアント 1の CPU 2 1は、 新たに使用条件お よび MAC値が書き込まれたインデックス 70 1を基に、 メモリースティック 6 5 1全体のインテグリティ ·チェック値 ( I CV) を算出する。
インデックス 701のインテグリティ 'チェック値は、 例えばインデックス 7 0 1に対するハッシュ関数を用いて計算され、 I CV=h a s h (K i e v, R 1, R 2 , · · ■ ) によって計算される。 K i c Vは I C V生成キーである。 L 1, L 2は使用条件の情報であり、 使用条件の MAC値が使用される。
ステップ S 2 28において、 クライアント 1の CPU 2 1は、 メモリーステイツ ク 6 5 1のインテグリティ ■チェック値を、 算出したインテグリティ ■チェック 値に書き換えて、 処理は終了する。
例えば、 クライアント 1の CPU21は、 メモリースティック 65 1から取得し たインデックス 70 1に含まれる、 コンテンツ 702— 1乃至 702— 3に対応 する MAC値を基に、 インテグリティ ·チェック値を算出する。
クライアント 1の CPU 2 1は、 図 25に示すように、 メモリースティック 65 1に、 算出したインテグリティ ■チェック値 703を書き込む。
クライアント 1は、 インテグリティ 'チェック値を一時鍵で暗号化して、 メモ リースティック 65 1 (こ送信する、 レヽゎゆる、 SAC (Secure Authentication Channel) を介して、 インテグリティ 'チェック値をメモリ一スティック 6 51 に送信する。
このようにすることで、 メモリ一スティックには、 インデックス 70 1に対応 した、 インテグリティ ·チェック値 703が安全に格納されることになる。 例えばコンテンツ再生時にインデックス 70 1を基に生成した I CVと、 使用 条件に基づいて生成した I CV703とを比較して同一の I CVが得られれば使 用条件に改竄のないことが保証され、 I C Vが異なれば、 改竄があつたと判定さ れる。
図 2 6のフローチヤ一トを参照して、 図 2 3に示すクライアント 1のエタスポ 一トの実行の処理に対応する、 メモリースティック 6 5 1のィンポートの実行の 処理を説明する。
ステップ S 2 4 1において、 メモリースティック 6 5 1のセキュリティブロッ ク 6 6 3は、 クライアント 1のステップ S 2 2 1の処理に対応して、 クライアン ト 1との相互認証の処理を実行する。
相互認証された場合、 クライアント 1およびメモリースティック 6 5 1におい て、 共通の一時鍵 (セッションキー) が共有される。
共通の一時鍵 (セッションキー) が共有された以下の処理において、 メモリー スティック 6 5 1がクライアント 1に送信する情報は、 セキュリティブ口ック 6 6 3において、 一時鍵により暗号化される。 また、 メモリースティック 6 5 1が クライアント 1から受信した情報は、 一時鍵により暗号化されているので、 メモ リースティック 6 5 1のセキュリティブロック 6 6 3は、 暗号化されている情報 を、 一時鍵で復号する。
ステップ S 2 4 2において、 メモリースティック 6 5 1のメモリコントローノレ ブロック 6 6 2は、 ステップ S 2 2 2の処理を実行するクライアント 1からコン テンッが送信されてくるので、 このコンテンツを受信して、 コンテンツをフラッ シュメモリ 6 6 1に記憶させる。
ステップ S 2 4 3において、 メモリースティック 6 5 1のメモリコントローノレ プロック 6 6 2は、 ステップ S 2 2 5の処理を実行するクライアント 1からフォ 一マットが変換された使用条件が送信されてくるので、 使用条件を受信し、 受信 した使用条件をセキュリティプロック 6 6 3のインデックス 7 0 1に書き込む。 また、 メモリースティック 6 5 1は、 使用条件に対応させて、 ステップ S 2 4 2 の処理で記憶したコンテンツを示すポインタをセキュリティブロック 6 6 3のィ ンデッタス 7 0 1に書き込む。 ステップ S 2 4 3の処理により、 図 2 5に示すように、 新たに記憶されたコン テンッに対応する使用条件、 MA C値、 およびコンテンツを示すポインタが、 セ キュリティブ口ック 6 6 3のィンデッタス 7 0 1に格納されることになる。
ステップ S 2 4 4において、 メモリースティ ック 6 5 1のメモリコントローノレ ブロック 6 6 2は、 クライアント 1から要求があるので、 インデックス 7 0 1を セキュリティブロック 6 6 3から読み出し、 読み出したインデックス 7 0 1をク ライアントに送信する。 ステップ S 2 4 4の処理で送信されたインデックス 7 0 1を受信することにより、 クライアント 1は、 ステップ S 2 2 6の処理において- インデックス 7 0 1を取得できる。
ステップ S 2 4 5において、 メモリースティック 6 5 1は、 ステップ S 2 2 8 の処理を実行するクライアント 1から、 新たな I C Vが送信されてくるので、 ク ライアント 1から送信された I C Vを受信して、 受信した I C Vを基に、 I C V を更新し、 処理は終了する。
このように、 integrity情報である公開鍵暗号による署名がコンテンツに付さ れ、 共通鍵暗号方式によるハッシュ値による integrity情報が、 クライアント により生成され、 データ記憶媒体の使用条件に付される。 コンテンツの
integri ty情報と使用条件の integri ty情報とが合わせて 1つの情報として、 インデックス 7 0 1として管理されることになる。
このように、 クライアント 1は、 メモリースティックの処理能力が低くとも、 メモリースティックにおいて、 コンテンツの保護のレベルを低下させることなく. 公開鍵暗号方式による署名が付いたコンテンツを、 メモリースティックにェクス ポートすることができるようになる。
処理能力が低い端末機においても、 同一のコンテンツを使用することができる ようになる。 これにより、 特に、 あらゆるデバイス同士が、 コンテンツをやり と りできるようになる。
次に、 図 2 7乃至図 2 9を参照して、 コンテンツのインポートまたはコンテン ッのエクスポートにおける、 コンテンツの変換について説明する。 図 2 7に示すように、 本発明に係るシステムにおいて、 図 1 2で説明した 1つ のカテゴリに対応するサービスとして、 メモリースティック 6 5 1からクライァ ント 1にコンテンツをインポートすることができると共に、 クライアント 1から メモリースティック 6 5 1にコンテンツをェクスポートすることができる。
クライアント 1は、 メモリースティック 6 5 1からコンテンツをインポートす るとき、 コンテンツを 1つのサービスに割り当てて、 インポートするコンテンツ を所定の形式に変換する。
クライアント 1のコンテンツは、 例えば、 Q u i c k T i m e (商標) フォー マットなどの、 複数の種類のデータ (音声のデータ、 画像のデータ、 またはテキ ス トのデータなど) を格納することができるフォーマッ トを有する。 クライアン ト 1の 1つのコンテンツに格納されている、 音声のデータ、 画像のデータ、 また はテキストのデータなどは、 互いに対応関係を有する。 例えば、 音声のデータが. 楽曲のデータであるとき、 画像のデータは、 その楽曲の実演者の画像を示すデー タとされ、 テキス トデータは、 その楽曲の解説または歌詞を示すデータとされる < —方、 クライアント 1は、 記憶媒体の一例であるメモリースティック 6 5 1に コンテンツをエクスポートするとき、 例えば、 複数の種類のデータを格納するこ とができるフォーマツトのコンテンツのうちの音声のトラックのデータを、 メモ リースティック 6 5 1に対応したフォーマツト、 例えば、 メモリースティックオ 一ディォ (M S A) フォーマッ トなどに変換し、 コンテンツのうちの他のデータ を、 変換された音声のトラックのデータにリンクさせる。
図 2 8に示すように、 クライアント 1におけるコンテンツが、 メモリースティ ック 6 5 1にエクスポートされるとき、 コンテンツに含まれる音声データが抽出 されて、 抽出された音声データが音声データファイルに変換される。 音声データ ファイルは、 メモリースティック 6 5 1に記憶される。
また、 クライアント 1におけるコンテンツが、 メモリースティック 6 5 1にェ タスポートされるとき、 コンテンツに含まれる属性のデータは、 フリンジデータ とされ、 画像またはテキストなどのメタデータと共に、 音声データファイルとは 異なるファイルとされる。 フリンジデータおょぴメタデータを含むファイルは、 音声データファイルとは別に、 メモリースティック 6 5 1に記憶される。
図 2 8に示す音声データファイル、 およびフリンジデータおょぴメタデータを 含むファイルは、 図 2 7における、 メモリースティック 6 5 1に格納されている コンテンツに対応づけられる。
一方、 メモリースティック 6 5 1からコンテンツが、 クライアント 1にインポ ートされるとき、 音声データファイルから音声データが抽出され、 抽出された音 声データが、 クライアント 1のコンテンツに音声データとして格納される。 メモリースティック 6 5 1からコンテンツが、 クライアント 1にィンポートさ れるとき、 メモリースティック 6 5 1のファイルに格納されているフリンジデー タは、 クライアント 1のコンテンツの属性データとされ、 ファイルに格納されて いるメタデータは、 クライアント 1のコンテンツのメタデータとされる。
また、 記憶媒体の他の例である CDからコンテンツを、 クライアント 1にイン ポートするとき (リツビングするとき) 、 クライアント 1は、 インポート用のサ 一ビスデータ、 およびインポートのサービスに対応するデフォルトの利用権の雛 形を予め記憶している。 インポート用のサービスデータは、 図 8に示す場合と同 様であるが、 リーフ IDに代わり、 ユニーク IDを格納している。
例えば、 ユニーク IDとして、 クライアント 1のインポートを実行するプログ ラムがクライアントにインストールされたとき、 図 1 0で説明した階層ツリー構 造上の 1つのノードを示す、 予め定められた所定の値が設定される。 また、 利用 権 IDとして、 予め定められた所定の IDが設定される。
なお、 クライアント 1は、 複数のライセンスの雛形を記憶し、 コンテンツをィ ンポートするとき、 記憶している複数の利用権の雛形のうち、 所定の利用権の雛 形を選択するようにしてもよい。
また、 インポート用のサービスデータは、 所定のライセンスサーバ 4から取得 するようにしてもよレ、。 CDからコンテンツが、 クライアント 1にインポートされるとき、 クライアン ト 1は、 CDから読み出したコンテンツを、 クライアント 1のコンテンツのフォ 一マットに変換し、 さらに適当なコンテンツの属性を定義する。 例えば、 クライ アント 1は、 CDの TOC (Table Of Contents) から CDに記録されているコンテ ンッの内容に関するデータ (例えば、 レコードカンパニー IDまたはアーティス ト IDなど) を読み出して、 コンテンツの属性として設定する。
クライアント 1は、 CDから読み出したコンテンツに対応して、 生成したコン テンッと予め記憶している利用権をバインドする。 例えば、 利用権の雛形に含ま れているコンテンツ条件には import = true のような条件式が記述されており、 クライアント 1は、 コンテンツの属性に import = trueのような情報を追加す る。 このようにすることで、 CDから読み出したコンテンツの属性は利用権の雛 型のコンテンツ条件を満たすので、 CDから読み出したコンテンツは雛型から作 成された利用権によって利用を許可される。
また、 例えば、 クライアント 1は、 所定のビット数の乱数を生成して、 生成し た乱数をコンテンツ IDとしてコンテンツに設定する。
なお、 コンテンツ IDは、 CDの T0Cから読み出し、 読み出したコンテンツ ID をコンテンツに設定するようにしてもよレ、。
図 2 9は、 インポートおよびエクスポートにおける、 より具体的なコンテンツ の変換の例を示す図である。
クライアント 1におけるコンテンツが、 メモリースティック 6 5 1にエタスポ ートされるとき、 クライアント 1のコンテンツから音声データが抽出されて、 抽 出された音声データが音声データファイルに変換される。 音声データファイルは、 メモリースティック 6 5 1に記憶される。
また、 クライアント 1におけるコンテンツが、 メモリースティック 6 5 1にェ タスポートされるとき、 コンテンツに含まれる、 EKB、 KEKBC (Kc) 、 属性のデー タ、 および署名などは、 フリンジデータとされる。 画像データまたはテキストデ ータなどのメタデータは、 そのままの方式で、 フリンジデータと共に、 メモリー スティック 6 5 1にファイルとして記憶される。
一方、 メモリ一スティック 6 5 1からコンテンツが、 クライアント 1にインポ ートされるとき、 音声データファイルから音声データが抽出され、 抽出された音 声データが、 クライアント 1のコンテンツに音声データ (音声のトラック) とし て格納される。
メモリースティック 6 5 1からコンテンツが、 クライアント 1にインポートさ れるとき、 メモリースティック 6 5 1のファイルに格納されている、 EKB、 KEKBC (Kc) 、 属性のデータ、 および署名などを含むフリンジデータは、 コンテンツ のヘッダとして、 所定の方式で、 クライアント 1のコンテンツに格納される。 ま た、 画像データおよびテキストデータを含むメタデータが、 クライアント 1のコ ンテンッのメタデータ、 すなわち、 画像のトラックおよびテキストのトラックに そのまま格納される。
図 3 0は、 ステップ S 2 2 2の処理に対応する、 クライアント 1のコンテンツ の書き込みの処理を説明するフローチャートである。
ステップ S 3 0 1において、 クライアント 1の CPU 2 1は、 ェクスポートする コンテンツから音声のトラックを抽出する。 ステップ S 3 0 2において、 クライ アント 1の CPU 2 1は、 音声のトラック (音声のデータ) のフォーマッ トをメモ リースティック 6 5 1が使用できるフォーマツトに変換して、 音声データフアイ ルを生成する。
例えば、 クライアント 1の CPU 2 1は、 メモリースティック 6 5 1から、 メモ リースティック 6 5 1のコンテンツキーを取得し、 メモリースティック 6 5 1の コンテンツキーに、 コンテンツの音声のデータの鍵をかけ直して (D N Kによる E K Bの復号処理、 コンテンツキーの復号及びコンテンツデータの復号により得 られたコンテンツデータを音声のデータをメモリースティック 6 5 1のコンテン ツキ一で暗号化して) 、 鍵をかけ直した音声のデータから音声データファイルを 生成する。 なお、 メモリースティック 6 5 1に、 音声データファイルの鍵をかけ直させる ようにしてもよい。
ステップ S 3 0 3において、 クライアント 1の CPU 2 1は、 音声データフアイ ノレをメモリースティ ック 6 5 1に書き込む。
ステップ S 3 0 4において、 クライアント 1の CPU 2 1は、 エクスポートしょ うとするコンテンツから、 音声のトラックを削除する。 すなわち、 クライアント 1の CPU 2 1は、 コンテンツに含まれる復号に必要なデータ、 例えば、 属性また は E K B、 または画像データまたはテキストデータなどのメタデータから、 メモ リースティック 6 5 1に書き込むためのファイルを生成する。 ステップ S 3 0 4 の処理により、 例えば、 コンテンツの属性データは、 ファイルのフリンジデータ とされる。
ステップ S 3 0 5において、 クライアント 1の CPU 2 1は、 メモリーステイツ ク 6 5 1から送信される、 音声データファイルの記録媒体 (記憶媒体) 上の位置 を示すリファレンス情報を受信する。
ステップ S 3 0 6において、 クライアント 1の CPU 2 1は、 削除された音声の トラックに代わり、 ステップ S 3 0 5において受信した音声データファイルの記 録媒体 (記憶媒体) 上の位置を示すリファレンス情報を挿入する。
ステップ S 3 0 7において、 クライアント 1の CPU 2 1は、 音声データフアイ ルのリファレンス情報を含むコンテンツをファイルとしてメモリースティック 6 5 1に書き込み、 処理は終了する。
音声のトラックが削除された、 フリンジデータおよびメタデータを含むフアイ ルは、 メモリースティック 6 5 1用の再生装置においては使用されない。
図 3 1は、 ステップ S 2 4 2の処理に対応する、 メモリースティック 6 5 1の コンテンッの記憶の処理を説明するフローチヤ一トである。
ステップ S 3 2 1において、 メモリースティック 6 5 1のメモリ コントロール ブロック 6 6 2は、 ステップ S 3 0 3の処理を実行するクライアント 1から送信 されてくる音声データファイルを受信し、 受信した音声データファイルをフラッ シュメモリ 6 6 1に記憶する。 その結果、 メモリースティック 6 5 1は、 クライ アント 1のコンテンツのうち、 音声のトラックからなる音声データファイルを記 憶することになる。 音声データファイルが、 メモリースティック 6 5 1に対応す るファイル形式を有するので、 メモリースティック 6 5 1は、 音声データフアイ ルを使用する (装着されている機器に音声を再生させる) ことができる。
ステップ S 3 2 2において、 メモリースティック 6 5 1のメモリコントローノレ ブロック 6 6 2は、 フラッシュメモリ 6 6 1に記憶した音声データファイルの記 録媒体 (記憶媒体) 上の位置を示すリファレンス情報を送信する。
ステップ S 3 2 3において、 メモリースティック 6 5 1のメモリコントロール プロック 6 6 2は、 ステップ S 3 0 7の処理を実行するクライアント 1から送信 されてくる、 音声データファイルのリファレンス情報を含むファイルを受信し、 受信したファイルをフラッシュメモリ 6 6 1に記憶し、 処理は終了する。
音声データファイルがリンクされたファイルは、 メモリースティック 6 5 1に 対応するフアイル形式を有さず、 メモリースティック 6 5 1は、 ファイルに格納 されているデータを利用することができない。
このように、 メモリースティック 6 5 1には、 コンテンツの音声のトラックに 対応する音声データファイルが記憶されると共に、 コンテンツのメタデータまた は属性データなどの他のデータがファイルとして記憶されることになる。
このようにすることで、 クライアント 1のコンテンツがメモリースティック 6 5 1にエクスポートされるときであっても、 コンテンツに含まれる情報のうち、 音声のデータ以外のデータがファイルとして記憶されるので、 コンテンツに含ま れる情報が欠落することなく、 メモリースティック 6 5 1に記憶されることにな る。
なお、 音声データファイルの記録媒体 (記憶媒体) 上の位置を示すリファレン ス情報を挿入する処理はメモリースティック 6 5 1が行っても良い。 この場合、 クライアント 1から音声トラックの削除されたコンテンツフアイルが送信され、 メモリースティック 6 5 1のメモリ コントローノレプロック 6 6 2が、 音声データ ファイルの記録媒体 (記憶媒体) 上の位置を示すリファレンス情報を挿入する。 次に、 クライアント 1のコンテンツのインポ一トの処理について説明する。
図 3 2は、 クライアント 1が CDに記録されているコンテンツをィンポート (いわゆる、 リツビング) する処理を説明するフローチャートである。
ステップ S 3 4 1において、 クライアント 1の CPU 2 1は、 ドライブ 3 0に装 着された光ディスク 4 2である CDからコンテンツを読み出させ (取得し) 、 コ 一デック部 2 5に、 読み出したコンテンツを、 例えば、 ATRAC (Adaptive
Transform Acoustic Coding) 3方式などでコンテンツを圧縮 (エンコード
(符号化) ) させる。
ステップ S 3 4 2において、 クライアント 1の CPU 2 1は、 暗号化復号部 2 4 に、 圧縮されたコンテンツを暗号化させる。 例えば、 圧縮されたコンテンツは乱 数に基づいて作成されたコンテンツキーで暗号化され、 そのコンテンツキーは T-systemカテゴリノードの下位のノードに割り当てられたィンポ一トのカテゴ リに対応する EKBのルートキーで暗号化される。 コンテンツキーは、 喑号化さ れたコンテンツに付加される。
ステップ S 3 4 3において、 クライアント 1の CPU 2 1は、 暗号化されたコン テンッに、 コンテンツ ID を割り当てる。 例えば、 クライアント 1の CPU 2 1は、 所定のビット数の乱数を生成し、 生成した乱数をコンテンツ IDとしてコンテン ッに割り当てる。 また、 例えば、 クライアント 1の CPU 2 1は、 CDの T0Cに含 まれるコンテンツ IDを読み出して、 読み出したコンテンツ IDを暗号化された コンテンツに割り当てるようにしてもよい。 さらに、 例えば、 クライアント 1の CPU 2 1は、 CDの所定のトラックに含まれるコンテンツ IDを読み出して、 読み 出したコンテンツ ID を暗号化されたコンテンッに割り当てるようにしてもよい c ステップ S 3 4 4において、 クライアント 1の CPU 2 1は、 コンテンツに利用 権を割り当てる。 より具体的には、 例えば、 インポートされたコンテンツ用の利 用権のコンテンツ条件には import = true
のような条件式が記述されており、 クライアント 1の CPU 2 1は、 コンテンツの 属性に
import = true
のような情報を追加する。 このようにすることで、 CDから読み出したコンテン ッの属性は利用権の雛型のコンテンッ条件を満たすので、 CDから読み出したコ ンテンッは雛型から作成された利用権によって利用を許可される。
ステップ S 3 4 5において、 クライアント 1の CPU 2 1は、 コンテンツの属性 を作成する。 例えば、 クライアント 1の CPU 2 1は、 CDの TOC (Table Of
Contents) から CDに記録されているコンテンツの内容に関するデータを読み出 して、 コンテンツの属性として設定する。 また、 例えば、 クライアント 1の CPU 2 1は、 ユーザの操作に対応して、 入力部 2 6から供給されたデータをコンテン ッの属性として設定するようにしてもよい。
ステップ S 3 4 6において、 クライアント 1の CPU 2 1は、 作成したコンテン ッの属性を基に、 電子署名を生成して、 生成した電子署名をコンテンツに付する, 例えば、 クライアント 1の CPU 2 1は、 インポートサービス用のサービスデータ の証明書に含まれている自分自身の秘密鍵を使用して、 電子署名を生成する。
ステップ S 3 4 7において、 クライアント 1の CPU 2 1は、 生成したコンテン ッのフォーマツトを整えて、 コンテンツのフォーマツトを図 5で説明した方式と し、 処理は終了する。
次に、 図 3 3のフローチャートを参照して、 圧縮符号化され、 暗号化されてい る、 メモリースティック 6 5 1に記憶されているコンテンツの、 クライアント 1 によるインポ一トの処理を説明する。
ステップ S 3 6 1において、 クライアント 1の CPU 2 1は、 ドライブ 3 0に、 装着されている半導体メモリ 4 4であるメモリースティック 6 5 1から、 コンテ ンッである音声データファイルを読み出させ、 音声データフアイルを取得する。 ステップ S 3 6 2において、 クライアント 1の CPU 2 1は、 ドライブ 3 0に、 メモリースティック 6 5 1から、 フリンジデータおよびメタデータを含むフアイ ルを読み出させ、 フリンジデータおよびメタデータを含むファイルを取得する。 ステップ S 3 6 3において、 クライアント 1の CPU 2 1は、 読み出されたコン テンッに、 コンテンツ IDを割り当てる。 より具体的には、 クライアント 1の CPU 2 1は、 ファイルのフリンジデータに含まれているコンテンツ IDを抽出し て、 抽出したコンテンツ IDをコンテンツに割り当てる。
ステップ S 3 6 4において、 クライアント 1の CPU 2 1は、 コンテンツに利用 権を割り当てる。 より具体的には、 クライアント 1の CPU 2 1は、 ファイルのフ リンジデータに含まれている属性をコンテンツに割り当てる。
ステップ S 3 6 5において、 クライアント 1の CPU 2 1は、 コンテンツの属性 を設定する。 より具体的には、 クライアント 1の CPU 2 1は、 ファイルのフリン ジデータに含まれている属性を抽出して、 抽出した属性をコンテンツに設定する, ステップ S 3 6 6において、 クライアント 1の CPU 2 1は、 作成したコンテン ッに電子署名を付する。 クライアント 1の CPU 2 1は、 ファイルのフリンジデー タに含まれている電子署名を抽出して、 抽出した電子署名をコンテンツに付する, ステップ S 3 6 7において、 クライアント 1の CPU 2 1は、 生成したコンテン ッのフォーマットを整えて、 処理は終了する。 より具体的には、 クライアント 1 の CPU 2 1は、 音声データファイルをクライアント 1のコンテンツの音声のトラ ックの方式とし、 音声のトラックをファイルに揷入して、 コンテンツのフォーマ ットを図 5で説明した方式とする。
このように、 方式、 フォーマットの異なる機器、 または記録媒体 (記憶媒体) 間のコンテンツのィンポートおよぴェタスポートが可能になる。
このようにすることで、 方式、 フォーマットの異なる機器、 または記録媒体 (記憶媒体) 間のコンテンツのインポートおよびエクスポートにおける情報の欠 落を防止することができ、 インポ一トされたコンテンツを統一的に取り扱うこと ができるようになる。 このように、 メモリースティック 6 5 1にコンテンツを書き込むようにした場 合には、 メモリースティック 6 5 1に、 メモリースティック用の再生装置で再生 可能なコンテンツを記憶させることができる。
また、 コンテンツに含まれる所定の種類のデータを抽出し、 抽出されたデータ のフォーマットを、 記憶媒体に対応する所定のフォーマットに変換し、 コンテン ッに含まれている、 コンテンツの復号に要するデータ、 または他の種類のデータ から所定のフアイルを生成し、 フォーマツ 1、が変換されたデ一タとファイルとの リンクを付加し、 フォーマツトが変換されたデータおよびファイルの記憶媒体へ の書き込みを制御するようにした場合には、 情報の欠落を防止して、 コンテンツ をェクスポートできるようになり、 ェクスポートされたコンテンツを、 他のコン テンッと同様に取り扱うことができるようになる。
また、 メモリースティック 6 5 1がフォーマツトを変換したコンテンツを記憶 するようにした場合には、 メモリースティック用の再生装置において、 その構成 を変えることなくコンテンツを使用することができる。
所定の種類のデータを含み、 自分自身に対応するフォーマットのコンテンツの 記憶を制御し、 情報処理装置において、 コンテンツの復号に要するデータ、 また はコンテンツに対応する、 他の種類のデータを含むファイルの記憶を制御するよ うにした場合には、 情報の欠落を防止して、 コンテンツをインポートできるよう になり、 インポートされたコンテンツを、 他のコンテンツと同様に取り扱うこと ができるようになる。
さらに、 コンテンツをインポートするようにした場合には、 コンテンツを取得 することができるようになる。
記憶媒体から、 所定の種類のデータからなるコンテンツを取得し、 記憶媒体か ら、 コンテンツとリンクされ、 コンテンツの復号に要するデータ、 およびコンテ ンッに対応する他の種類のデータの少なくとも一方を含むファイルを取得し、 取 得されたファイルを基に、 コンテンツのフォーマツトを情報処理装置に対応する 所定のフォーマットに変換するようにした場合には、 情報の欠落を防止して、 コ ンテンッをインポートできるようになり、 インポートされたコンテンツを、 他の コンテンツと同様に取り扱うことができるようになる。
コンテンツを記憶媒体に書き込むようにした場合には、 記憶媒体にコンテンツ をェクスポートすることができるようになる。
また、 コンテンツに含まれるコンテンツデータを抽出し、 抽出されたコンテン ッデータのフォーマツトを、 記憶媒体に対応する所定のフォーマツトに変換し、 コンテンツに含まれている、 コンテンツデータを除いたデータから所定のフアイ ルを生成し、 ファイルにフォーマツトが変換されたコンテンツデータの参照情報 を付加し、 フォーマツトが変換されたコンテンツデータおよびファイルの記憶媒 体への書き込みを制御するようにした場合には、 情報の欠落を防止して、 コンテ ンッをエクスポートできるようになり、 記憶媒体において、 エクスポートされた コンテンッを、 他のコンテンツと同様に取り扱うことができるようになる。 記憶媒体からコンテンツを取得するようにした場合には、 記憶媒体に記憶され ているコンテンツをィンポートすることができるようになる。
記憶媒体から、 コンテンツデータを取得し、 取得されたコンテンツデータを所 定のフォーマットに変換し、 コンテンツを生成し、 生成されたコンテンツに含ま れるフォーマツト変換されたコンテンツデータを暗号化し、 コンテンツに暗号化 されたコンテンツデータを復号するための鍵情報を付加し、 コンテンツに、 コン テンッを利用するために必要な利用権と対応付けるための情報を付加するように した場合には、 情報の欠落を防止して、 コンテンツをインポートできるようにな り、 インポートされたコンテンツを、 他のコンテンツと同様に取り扱うことがで きるようになる。
なお、 クライアントからメモリースティックにコンテンツをインポートまたは ェクスポートする例を説明したが、 クライアントからコンテンツ記憶装置の他の 例であるポータブルデバイス (PD) にコンテンツをィンポートまたはエタスポ ートするようにしてもよい。 すなわち、 クライアントは、 コンテンツ記憶装置に 49 設けられた記憶媒体にコンテンツをェクスポートするか、 またはコンテンツ記憶 装置に設けられた記憶媒体からコンテンツをィンポートするようにしてもよい。 また、 クライアントから PDに装着されているメモリースティックにコンテン ッをインポ一トまたはエクスポートするようにしてもよい。 この場合において、 相互認証の処理は、 クライアントおよび PDの間で実行され、 PDおよびメモリー スティックの間で実行される。
本発明が適用されるクライアントは、 いわゆるパーソナルコンピュータ以外に PDA (Personal Digital Ass i stants) 、 携帯電話機、 ゲーム端末機などとする ことができる。
一連の処理をソフトウェアにより実行させる場合には、 そのソフトウェアを構 成するプログラムが、 専用のハードウェアに組み込まれているコンピュータ、 ま たは、 各種のプログラムをインス トールすることで、 各種の機能を実行すること が可能な、 例えば汎用のパーソナルコンピュータなどに、 ネットワークや記録媒 体からインス トールされる。
この記録媒体は、 図 2に示されるように、 装置本体とは別に、 ユーザにプログ ラムを提供するために配布される、 プログラムが記録されている磁気ディスク 4 1 (フレキシブルディスクを含む) 、 光ディスク 4 2 (CD-ROM (Compact Di sk - Read Only Memory) , DVD (Digital Versat i le Disk)を含む) 、 光磁気ディスク 4 3 (MD (Mini-Di sk) (商標) を含む) 、 もしくは半導体メモリ 4 4などよ りなるパッケージメディアにより構成されるだけでなく、 装置本体に予め組み込 まれた状態でユーザに提供される、 プログラムが記録されている R0M 2 2や、 記 憶部 2 8に含まれるハードディスクなどで構成される。
なお、 本明細書において、 記録媒体に記録されるプログラムを記述するステツ プは、 記載された順序に沿って時系列的に行われる処理はもちろん、 必ずしも時 系列的に処理されなくとも、 並列的あるいは個別に実行される処理をも含むもの である。 また、 セキュリティに関連する処理を実行させるプログラムは、 その処理を解 析されるのを防ぐため、 そのプログラム自体が暗号化されているのが望ましい。 例えば、 暗号処理などを行う処理については、 そのプログラムをタンパ一レジス タントモジュールとして構成することができる。
また、 上記実施例では、 コンテンツを利用するために必要な利用権を特定する ためにコンテンツの属性と利用権のコンテンツ条件を用いたが、 これに限らない 例えば、 コンテンツに、 該コンテンツを利用するために必要な利用権の利用権 IDを含むようにしても良く、 この場合、 コンテンツを指定すればそれを利用す るために必要な利用権は一意に決まるため、 両者のマッチングを決定する処理を 行う必要はない。 産業上の利用可能性
以上のように、 第 1の発明によれば、 記憶媒体にコンテンツをエクスポートす ることができるようになる。
また、 第 1の発明によれば、 情報の欠落を防止して、 コンテンツをェクスポー トできるようになり、 記憶媒体において、 エクスポートされたコンテンツを、 他 のコンテンツと同様に取り扱うことができるようになる。
第 2の発明によれば、 記憶媒体に記憶されているコンテンツをインポートする ことができるようになる。
また、 第 2の発明によれば、 情報の欠落を防止して、 コンテンツをインポート できるようになり、 インポートされたコンテンツを、 他のコンテンツと同様に取 り扱うことができるようになる。

Claims

請求の範囲
1 . コンテンツを記憶媒体に出力する情報処理装置において、
前記コンテンツに含まれるコンテンツデータを抽出する抽出手段と、 抽出された前記コンテンツデータのフォーマツトを、 前記記憶媒体に対応する 所定のフォーマツトに変換する変換手段と、
前記コンテンツに含まれている、 前記コンテンツデータを除いたデータから所 定のフアイルを生成する生成手段と、
前記ファイルにフォーマットが変換された前記コンテンツデータの参照情報を 付加する付加手段と、
フォーマツトが変換された前記コンテンツデータおょぴ前記ファイルの前記記 憶媒体への書き込みを制御する第 1の書き込み制御手段と
を含むことを特徴とする情報処理装置。
2 . 前記コンテンッを利用するために必要な利用権に基づく情報の前記記憶媒 体への書き込みを制御する第 2の書き込み制御手段を更に備える
ことを特徴とする請求の範囲第 1項に記載の情報処理装置。
3 . コンテンッを記憶媒体に出力する情報処理方法において、
前記コンテンッに含まれるコンテンッデータを抽出する抽出ステップと、 抽出された前記コンテンツデータのフォーマツトを、 前記記憶媒体に対応する 所定のフォーマツトに変換する変換ステップと、
前記コンテンツに含まれている、 前記コンテンツデータを除いたデータから所 定のファイルを生成する生成ステップと、
前記ファイルにフォーマットが変換された前記コンテンツデータの参照情報を 付加する付加ステップと、
フォーマットが変換された前記コンテンツデータおよび前記ファイルの前記記 憶媒体への書き込みを制御する書き込み制御ステップと
を含むことを特徴とする情報処理方法。
4 . コンテンツを記憶媒体に出力する情報処理用のプログラムであって、 前記コンテンツに含まれるコンテンツデータを抽出する抽出ステップと、 抽出された前記コンテンツデータのフォーマツトを、 前記記憶媒体に対応する 所定のフォーマツトに変換する変換ステップと、
前記コンテンツに含まれている、 前記コンテンツデータを除いたデータから所 定のファイルを生成する生成ステップと、
前記ファィルにフォーマットが変換された前記コンテンッデータの参照情報を 付加する付加ステップと、
フォーマットが変換された前記コンテンッデータおよび前記フアイルの前記記 憶媒体への書き込みを制御する書き込み制御ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録され ている記録媒体。
5 . コンテンツを記憶媒体に出力する情報処理を制御するコンピュータに、 前記コンテンツに含まれるコンテンツデータを抽出する抽出ステップと、 抽出された前記コンテンツデータのフォーマツトを、 前記記憶媒体に対応する 所定のフォーマツトに変換する変換ステップと、
前記コンテンツに含まれている、 前記コンテンツデータを除いたデータから所 定のファイルを生成する生成ステップと、
前記ファィルにフォーマットが変換された前記コンテンッデータの参照情報を 付加する付加ステップと、
フォーマツ トが変換された前記コンテンツデータおよび前記ファイルの前記記 憶媒体への書き込みを制御する書き込み制御ステップと
を実行させることを特徴とするプログラム。
6 . コンテンツデータを記憶媒体から入力する情報処理装置において、 前記記憶媒体から、 前記コンテンツデータを取得する取得手段と、
前記取得手段によって取得された前記コンテンツデータを所定のフォーマツト に変換し、 コンテンツを生成する変換手段と、 前記変換手段により生成された前記コンテンツに含まれるフォーマツト変換さ れた前記コンテンツデータを暗号化し、 前記コンテンツに暗号化されたコンテン ッデータを復号するための鍵情報を付加する暗号化手段と、
前記コンテンツに、 前記コンテンツを利用するために必要な利用権と対応付け るための情報を付加する付加手段と
を含むことを特徴とする情報処理装置。
7 . 入力された前記コンテンツを利用するために必要な前記利用権を記憶する 記憶手段を更に備えることを特徴とする請求の範囲第 6項に記載の情報処理装置 c
8 . コンテンツデータを記憶媒体から入力する情報処理方法において、
前記記憶媒体から、 前記コンテンツデータを取得する取得ステップと、 前記取得ステツプの処理によって取得された前記コンテンツデータを所定のフ ォーマツトに変換し、 コンテンツを生成する変換ステップと、
前記変換ステップの処理により生成された前記コンテンツに含まれるフォーマ ット変換された前記コンテンツデータを暗号化し、 前記コンテンツに暗号化され たコンテンツデータを復号するための鍵情報を付加する暗号化ステップと、 前記コンテンツに、 前記コンテンツを利用するために必要な利用権と対応付け るための情報を付加する付加ステップと
を含むことを特徴とする情報処理方法。
9 . コンテンツデータを記憶媒体から入力する情報処理用のプログラムであつ て、
前記記憶媒体から、 前記コンテンツデータを取得する取得ステツプと、 前記取得ステツプの処理によって取得された前記コンテンツデータを所定のフ ォーマツトに変換し、 コンテンツを生成する変換ステップと、
前記変換ステップの処理により生成された前記コンテンツに含まれるフォーマ ット変換された前記コンテンツデータを暗号化し、 前記コンテンツに暗号化され たコンテンツデータを復号するための鍵情報を付加する暗号化ステップと、 前記コンテンツに、 前記コンテンツを利用するために必要な利用権と対応付け るための情報を付加する付加ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録され ている記録媒体。
1 0 . コンテンツデータを記憶媒体から入力する情報処理を制御するコンビュ ータに、
前記記憶媒体から、 前記コンテンツデータを取得する取得ステツプと、 前記取得ステップの処理によって取得された前記コンテンツデータを所定のフ ォーマットに変換し、 コンテンツを生成する変換ステップと、
前記変換ステップの処理により生成された前記コンテンツに含まれるフォーマ ット変換された前記コンテンツデータを暗号化し、 前記コンテンツに暗号化され たコンテンッデータを復号するための鍵情報を付加する暗号化ステップと、 前記コンテンツに、 前記コンテンツを利用するために必要な利用権と対応付け るための情報を付加する付加ステップと
を実行させることを特徴とするプログラム。
PCT/JP2003/004549 2002-04-15 2003-04-10 Dispositif de traitement d'informations, procede, support d'enregistrement et programme WO2003088059A1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP03719097A EP1496441A4 (en) 2002-04-15 2003-04-10 INFORMATION PROCESSING DEVICE, METHOD, RECORDING MEDIUM, AND PROGRAM
US10/480,626 US7487549B2 (en) 2002-04-15 2003-04-10 Information processing apparatus, information processing method, recording medium, and program
KR10-2003-7016350A KR20040103748A (ko) 2002-04-15 2003-04-10 정보 처리 장치 및 방법, 기록 매체, 및 프로그램
US12/269,848 US8042192B2 (en) 2002-04-15 2008-11-12 Information processing apparatus, information processing method, recording medium, and program

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2002-112110 2002-04-15
JP2002112110A JP3818505B2 (ja) 2002-04-15 2002-04-15 情報処理装置および方法、並びにプログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US10/480,626 A-371-Of-International US7487549B2 (en) 2002-04-15 2003-04-10 Information processing apparatus, information processing method, recording medium, and program
US12/269,848 Division US8042192B2 (en) 2002-04-15 2008-11-12 Information processing apparatus, information processing method, recording medium, and program

Publications (1)

Publication Number Publication Date
WO2003088059A1 true WO2003088059A1 (fr) 2003-10-23

Family

ID=29243304

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/004549 WO2003088059A1 (fr) 2002-04-15 2003-04-10 Dispositif de traitement d'informations, procede, support d'enregistrement et programme

Country Status (6)

Country Link
US (2) US7487549B2 (ja)
EP (1) EP1496441A4 (ja)
JP (1) JP3818505B2 (ja)
KR (1) KR20040103748A (ja)
CN (1) CN100501703C (ja)
WO (1) WO2003088059A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010082362A1 (en) * 2009-01-16 2010-07-22 Telefonaktiebolaget L M Ericsson (Publ) Proxy server, control method thereof, content server, and control method thereof
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7162035B1 (en) 2000-05-24 2007-01-09 Tracer Detection Technology Corp. Authentication method and system
JP3818505B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8171567B1 (en) 2002-09-04 2012-05-01 Tracer Detection Technology Corp. Authentication method and system
US9678967B2 (en) 2003-05-22 2017-06-13 Callahan Cellular L.L.C. Information source agent systems and methods for distributed data storage and management using content signatures
WO2005010762A1 (ja) * 2003-07-25 2005-02-03 Matsushita Electric Industrial Co., Ltd. データ処理装置
US7552334B2 (en) * 2003-09-24 2009-06-23 The Boeing Company System and method for presentation integrity
JP4622334B2 (ja) * 2004-06-23 2011-02-02 日本電気株式会社 コンテンツデータ利用システム及びその方法並びに移動通信端末及びプログラム
JP4162237B2 (ja) * 2004-06-24 2008-10-08 インターナショナル・ビジネス・マシーンズ・コーポレーション 複数の復号化装置に対し選択的にメッセージを配信する暗号化通信システム、暗号化装置、復号化装置、暗号化方法、復号化方法、暗号化プログラム、及び復号化プログラム
US20060051061A1 (en) * 2004-09-09 2006-03-09 Anandpura Atul M System and method for securely transmitting data to a multimedia device
KR100694064B1 (ko) * 2004-10-08 2007-03-12 삼성전자주식회사 Drm 변환 방법 및 장치
EP1817687B1 (en) * 2004-10-20 2016-08-31 Inka Entworks, Inc Apparatus and method for supporting content exchange between different drm domains
JP4387962B2 (ja) * 2005-02-18 2009-12-24 株式会社東芝 コンテンツ再生装置、コンテンツ再生方法及びプログラム
WO2006129983A1 (en) * 2005-06-03 2006-12-07 Ktfreetel Co., Ltd. Method and apparatus for providing and processing contents using d.r.m
US7624428B2 (en) * 2005-06-30 2009-11-24 Intel Corporation Apparatus and method for platform-independent identity manageability
US20070005966A1 (en) * 2005-06-30 2007-01-04 Selim Aissi Derivation of a shared keystream from a shared secret
KR100782847B1 (ko) * 2006-02-15 2007-12-06 삼성전자주식회사 복수의 컨텐트 부분들을 포함하는 컨텐트를 임포트하는방법 및 장치
US8978154B2 (en) * 2006-02-15 2015-03-10 Samsung Electronics Co., Ltd. Method and apparatus for importing content having plurality of parts
US20070198425A1 (en) * 2006-02-17 2007-08-23 International Business Machines Corporation Method and system for auditing digital rights in a content management system
KR100806107B1 (ko) 2006-04-11 2008-02-21 엘지전자 주식회사 Drm에서의 비보호 콘텐츠의 보호 방법
US8619982B2 (en) * 2006-10-11 2013-12-31 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance specific basis
US20080092239A1 (en) * 2006-10-11 2008-04-17 David H. Sitrick Method and system for secure distribution of selected content to be protected
US8719954B2 (en) * 2006-10-11 2014-05-06 Bassilic Technologies Llc Method and system for secure distribution of selected content to be protected on an appliance-specific basis with definable permitted associated usage rights for the selected content
US20080200224A1 (en) 2007-02-20 2008-08-21 Gametank Inc. Instrument Game System and Method
US8907193B2 (en) 2007-02-20 2014-12-09 Ubisoft Entertainment Instrument game system and method
KR20080084481A (ko) * 2007-03-16 2008-09-19 삼성전자주식회사 디바이스간의 콘텐츠 전송 방법 및 그 시스템
JP5304641B2 (ja) * 2007-03-29 2013-10-02 日本電気株式会社 再生ルール評価装置、再生ルール評価方法、記憶媒体、及びプログラム
JP4311475B2 (ja) 2007-05-10 2009-08-12 ソニー株式会社 デジタルシネマ処理装置、インジェスト方法及びプログラム
JP5175615B2 (ja) * 2007-06-04 2013-04-03 パナソニック株式会社 利用装置、サーバ装置、サービス利用システム、サービス利用方法、サービス利用プログラム及び集積回路
US7907735B2 (en) 2007-06-15 2011-03-15 Koolspan, Inc. System and method of creating and sending broadcast and multicast data
US8417942B2 (en) * 2007-08-31 2013-04-09 Cisco Technology, Inc. System and method for identifying encrypted conference media traffic
US8837598B2 (en) * 2007-12-28 2014-09-16 Cisco Technology, Inc. System and method for securely transmitting video over a network
US20090169001A1 (en) * 2007-12-28 2009-07-02 Cisco Technology, Inc. System and Method for Encryption and Secure Transmission of Compressed Media
DE102008011882B4 (de) * 2008-02-29 2010-04-01 Robert Niggl Vorrichtung und Verfahren zum kontrollierten Datenaustausch zwischen mindestens zwei Datenträgern
US8826037B2 (en) * 2008-03-13 2014-09-02 Cyberlink Corp. Method for decrypting an encrypted instruction and system thereof
US7995196B1 (en) 2008-04-23 2011-08-09 Tracer Detection Technology Corp. Authentication method and system
US9120016B2 (en) * 2008-11-21 2015-09-01 Ubisoft Entertainment Interactive guitar game designed for learning to play the guitar
JP2010192944A (ja) * 2009-02-13 2010-09-02 Sony Corp コンテンツ配信装置、コンテンツ利用装置、コンテンツ配信システム、コンテンツ配信方法、およびプログラム
JP4660658B1 (ja) * 2010-02-09 2011-03-30 ネットエージェント株式会社 通信情報解析システム
JP6448235B2 (ja) * 2014-07-08 2019-01-09 キヤノン株式会社 画像処理装置、画像処理装置の制御方法、およびプログラム
JP6424330B2 (ja) * 2015-10-13 2018-11-21 株式会社アクセル 情報処理装置、及び情報処理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051906A (ja) * 1999-05-31 2001-02-23 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP2001236080A (ja) * 1999-12-17 2001-08-31 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP2001243707A (ja) * 2000-02-29 2001-09-07 Sony Corp 情報送受信システム、及び電子機器

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02293930A (ja) * 1989-05-08 1990-12-05 Victor Co Of Japan Ltd 記録媒体の記録内容の盗用防止方式
US5826245A (en) * 1995-03-20 1998-10-20 Sandberg-Diment; Erik Providing verification information for a transaction
US5684951A (en) * 1996-03-20 1997-11-04 Synopsys, Inc. Method and system for user authorization over a multi-user computer system
US6012144A (en) * 1996-10-08 2000-01-04 Pickett; Thomas E. Transaction security method and apparatus
US6226618B1 (en) * 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
KR100484209B1 (ko) * 1998-09-24 2005-09-30 삼성전자주식회사 디지털컨텐트암호화/해독화장치및그방법
EP1001419B1 (en) 1998-11-09 2004-03-03 Matsushita Electric Industrial Co., Ltd. Data conversion apparatus and method in copyright protecting system
US6798885B1 (en) * 1999-04-29 2004-09-28 International Business Machines Corp. Method and apparatus for encoding security information in a MIDI datastream
US7143445B1 (en) 1999-05-31 2006-11-28 Sony Corporation Information processing apparatus, information processing method, and program storage medium
US6721802B1 (en) * 1999-08-12 2004-04-13 Point2 Technologies Inc. Method, apparatus and program for the central storage of standardized image data
US6463445B1 (en) * 1999-08-27 2002-10-08 Sony Electronics Inc. Multimedia information retrieval system and method including format conversion system and method
CN1249547C (zh) * 1999-09-01 2006-04-05 松下电器产业株式会社 版权所有的数据处理方法和设备
JP4360026B2 (ja) 1999-10-25 2009-11-11 ソニー株式会社 データ処理装置、コンテンツ管理方法及び記憶媒体
EP1158416A4 (en) 1999-10-25 2007-12-05 Sony Corp PROCESS FOR MANAGING CONTENT DATA
JP2001236081A (ja) 1999-11-12 2001-08-31 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
US20010031050A1 (en) * 2000-02-14 2001-10-18 Lateca Computer Inc. N.V. Key generator
CN1312266A (zh) 2000-03-07 2001-09-12 上海博德基因开发有限公司 一种新的多肽——人fd9和编码这种多肽的多核苷酸
JP2001352321A (ja) 2000-04-06 2001-12-21 Sony Corp 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体
US6961858B2 (en) * 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
EP1407360A4 (en) * 2000-06-16 2009-08-12 Entriq Inc METHODS AND SYSTEMS FOR DISTRIBUTING CONTENT VIA A NETWORK IMPLEMENTING DISTRIBUTED CONDITIONAL ACCESS AGENTS AND SECURE AGENTS TO PERFORM DIGITAL RIGHTS MANAGEMENT (DRM)
US7689510B2 (en) * 2000-09-07 2010-03-30 Sonic Solutions Methods and system for use in network management of content
US6856970B1 (en) * 2000-09-26 2005-02-15 Bottomline Technologies Electronic financial transaction system
US7260777B2 (en) * 2001-08-17 2007-08-21 Desknet Inc. Apparatus, method and system for transforming data
US20030009681A1 (en) * 2001-07-09 2003-01-09 Shunji Harada Digital work protection system, recording medium apparatus, transmission apparatus, and playback apparatus
US7010581B2 (en) * 2001-09-24 2006-03-07 International Business Machines Corporation Method and system for providing browser functions on a web page for client-specific accessibility
US7062547B2 (en) * 2001-09-24 2006-06-13 International Business Machines Corporation Method and system for providing a central repository for client-specific accessibility
JP3818505B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
US8656178B2 (en) * 2002-04-18 2014-02-18 International Business Machines Corporation Method, system and program product for modifying content usage conditions during content distribution
US20030204602A1 (en) * 2002-04-26 2003-10-30 Hudson Michael D. Mediated multi-source peer content delivery network architecture
JP4218256B2 (ja) * 2002-05-02 2009-02-04 富士ゼロックス株式会社 データ転送方法及びシステム
US7133925B2 (en) * 2002-07-15 2006-11-07 Hewlett-Packard Development Company, L.P. System, method, and format thereof for scalable encoded media delivery
US9160976B2 (en) * 2003-12-23 2015-10-13 The Directv Group, Inc. Method and apparatus for distributing media in a pay per play architecture with remote playback within an enterprise
KR20070015567A (ko) * 2004-04-14 2007-02-05 마츠시타 덴끼 산교 가부시키가이샤 단말장치 및 저작권 보호시스템
US20060015649A1 (en) * 2004-05-06 2006-01-19 Brad Zutaut Systems and methods for managing, creating, modifying, and distributing media content
US20060080740A1 (en) * 2004-10-13 2006-04-13 Nokia Corporation Adapting protected content for a receiving terminal
WO2006066052A2 (en) * 2004-12-16 2006-06-22 Sonic Solutions Methods and systems for use in network management of content
US8290156B2 (en) * 2008-05-16 2012-10-16 General Instrument Corporation Communicating media content from a DVR to a portable device
US8112809B2 (en) * 2008-07-15 2012-02-07 Condel International Technologies Inc. Method and system for locally activating a DRM engine

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001051906A (ja) * 1999-05-31 2001-02-23 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP2001236080A (ja) * 1999-12-17 2001-08-31 Sony Corp 情報処理装置および方法、並びにプログラム格納媒体
JP2001243707A (ja) * 2000-02-29 2001-09-07 Sony Corp 情報送受信システム、及び電子機器

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8295299B2 (en) 2004-10-01 2012-10-23 Qlogic, Corporation High speed fibre channel switch element
WO2010082362A1 (en) * 2009-01-16 2010-07-22 Telefonaktiebolaget L M Ericsson (Publ) Proxy server, control method thereof, content server, and control method thereof
JP2012515370A (ja) * 2009-01-16 2012-07-05 テレフオンアクチーボラゲット エル エム エリクソン(パブル) プロキシサーバ、その制御方法、コンテンツサーバ、及びその制御方法
US8826380B2 (en) 2009-01-16 2014-09-02 Telefonaktiebolaget L M Ericsson (Publ) Proxy server, control method thereof, content server, and control method thereof

Also Published As

Publication number Publication date
JP2003308252A (ja) 2003-10-31
CN100501703C (zh) 2009-06-17
KR20040103748A (ko) 2004-12-09
US20040210762A1 (en) 2004-10-21
CN1516837A (zh) 2004-07-28
JP3818505B2 (ja) 2006-09-06
US7487549B2 (en) 2009-02-03
EP1496441A1 (en) 2005-01-12
EP1496441A4 (en) 2007-11-28
US8042192B2 (en) 2011-10-18
US20090074182A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
WO2003088059A1 (fr) Dispositif de traitement d&#39;informations, procede, support d&#39;enregistrement et programme
JP3818504B2 (ja) 情報処理装置および方法、並びにプログラム
US7765604B2 (en) Information processing method, information processing apparatus and recording medium
KR100983982B1 (ko) 정보 처리 장치 및 정보 처리 방법과 컴퓨터 판독 가능 기록 매체
US7426639B2 (en) Information processing apparatus and method for managing grouped devices in an encrypted environment
WO2002080448A1 (fr) Appareil de traitement de l&#39;information
WO2002039655A1 (fr) Dispositif de traitement d&#39;informations, procede de traitement d&#39;informations et support de programme
JPWO2002080446A1 (ja) 情報処理装置
WO2002080442A1 (fr) Appareil de traitement d&#39;informations
WO2001016776A1 (fr) Systeme de transmission d&#39;informations, emetteur et recepteur, procede de transmission d&#39;informations, procede de reception d&#39;informations
WO2001078298A1 (fr) Systeme et procede de traitement d&#39;informations
WO2003049362A1 (fr) Appareil et procede de traitement d&#39;informations
WO2003088563A1 (fr) Dispositif et procede de traitement d&#39;information, dispositif et procede generant l&#39;information, dispositif et procede de gestion du droit d&#39;utilisation, support d&#39;enregistrement et programme correspondants
WO2003088058A1 (fr) Dispositif de gestion d&#39;information, procede, support d&#39;enregistrement et programme correspondants
JP2002359616A (ja) 情報処理装置および方法、ライセンスサーバ、並びにプログラム
JPWO2002080067A1 (ja) 情報処理装置
JP4306651B2 (ja) ライセンス提供装置および方法、コンテンツ提供装置、サブスクリプションサービス提供システム、並びに、再生装置および再生方法
KR20040103750A (ko) 정보 처리 장치 및 방법, 기록 매체, 및 프로그램
JP2001067795A (ja) 情報受信システム及び情報受信装置
JP2001069134A (ja) 情報送信システム及び情報受信装置
JP2006320018A (ja) 情報処理装置および方法、記録媒体、並びにプログラム
JP2001076425A (ja) 記録再生システム、記録再生装置、再生装置、データ格納装置
JP4697152B2 (ja) 情報管理装置、情報管理方法、記録媒体、およびプログラム
JP2001069096A (ja) 情報配信システム及び情報受信装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CN KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

WWE Wipo information: entry into national phase

Ref document number: 2003719097

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 038004186

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 10480626

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1020037016350

Country of ref document: KR

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 2003719097

Country of ref document: EP