WO2000058827A1 - Systeme de traitement d'informations - Google Patents

Systeme de traitement d'informations Download PDF

Info

Publication number
WO2000058827A1
WO2000058827A1 PCT/JP2000/002041 JP0002041W WO0058827A1 WO 2000058827 A1 WO2000058827 A1 WO 2000058827A1 JP 0002041 W JP0002041 W JP 0002041W WO 0058827 A1 WO0058827 A1 WO 0058827A1
Authority
WO
WIPO (PCT)
Prior art keywords
program
information processing
key
semiconductor
data
Prior art date
Application number
PCT/JP2000/002041
Other languages
English (en)
French (fr)
Inventor
Ryuji Ishiguro
Itaru Kawakami
Mitsuru Tanabe
Yuichi Ezura
Hirokazu Kawahara
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 CA002333642A priority Critical patent/CA2333642A1/en
Priority to US09/701,084 priority patent/US7237112B1/en
Priority to AU34566/00A priority patent/AU773975B2/en
Priority to EP00912991A priority patent/EP1087291A4/en
Publication of WO2000058827A1 publication Critical patent/WO2000058827A1/ja
Priority to US11/736,605 priority patent/US7958366B2/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/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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]
    • 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/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6209Protecting access to data via a platform, e.g. using keys or access control rules to a single file or object, e.g. in a secure envelope, encrypted and accessed using a key, or with access control rules appended to the object itself
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • G06F21/645Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
    • 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/86Secure or tamper-resistant housings
    • G06F21/87Secure or tamper-resistant housings by means of encapsulation, e.g. for integrated circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2129Authenticate client device independently of the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2135Metering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2143Clearing memory, e.g. to prevent the data from being stolen
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2153Using hardware token as a secondary aspect

Definitions

  • the present invention relates to an information providing apparatus, an information processing method and an authentication method, a semiconductor Ic, an information processing system, and a program providing medium, and in particular, information for storing predetermined data and performing predetermined processing.
  • the present invention relates to a processing device, an information processing method and an authentication method, a semiconductor IC, an information processing system, and a program providing medium.
  • CDs Compact Disks
  • MDs Mini Disks
  • various methods have been proposed to prevent unauthorized duplication of music data as a copyrighted work.
  • the software that controls the copy source is made to perform mutual authentication with the copy destination device, and when an appropriate authentication result is obtained, the music data is encrypted and transferred to the copy destination device, and the copy destination device is encrypted. It has been proposed that a device decrypts and uses the encrypted data.
  • the copy source software use the identification information ID stored in predetermined hardware to perform mutual authentication with the copy destination device.
  • the music data may be illegally copied by analyzing and falsifying the software.
  • the read-out ID is transferred to the software during the transfer. They could be read, analyzed, and tampered with.
  • authentication processing, encryption processing and decryption processing are executed by hardware of wire logic, analysis and tampering can be prevented, but new authentication processing, encryption processing and decryption processing are performed. To do so, it is necessary to replace existing hardware with new hardware or add new hardware.
  • Disclosure of the invention The present invention has been made in view of such a situation, and is intended to prevent stored data from being illegally read and analyzed.
  • the information receiving device receives a predetermined program from the information processing device and transmits the encrypted program to the information processing device.
  • a communication unit that transmits the information to the information processing apparatus; and an encryption unit that encrypts the program received by the communication unit.
  • the program providing medium is configured such that an information providing apparatus connected to a predetermined information processing apparatus receives a predetermined program from the information processing apparatus via a network and encrypts the program.
  • the present invention provides an information processing apparatus that performs predetermined processing by performing mutual authentication with another information processing apparatus, and performs mutual authentication performed from one or more mutual authentication procedures corresponding to the predetermined processing. Selection to select the processing of Means, and the mutual authentication means for executing the procedure of the mutual authentication selected by the selection means.
  • the present invention is directed to an information processing method of an information processing apparatus that performs predetermined processing by performing mutual authentication with another information processing apparatus, wherein the information processing method corresponds to the predetermined processing and is executed from one or more mutual authentication procedures. And a mutual authentication step of executing the mutual authentication procedure selected in the selection step.
  • the program providing medium provides an information processing apparatus that performs predetermined processing by performing mutual authentication with another information processing apparatus, and performs one or more mutual authentication procedures corresponding to the predetermined processing.
  • a program readable by a convenience store program for executing a process including a selection step of selecting a mutual authentication process to be executed and a mutual authentication step of executing a mutual authentication procedure selected in the selection step is provided. It is characterized by the following.
  • the first device generates a first random number, and transmits the identification information of the first device, the attribute information of the key, and the first random number from the first device to the second device.
  • a second random number is generated in the second device, and the second device receives the identification information of the first device, the attribute information of the key, and the first random number transmitted from the first device, and the second device receives the key in the second device.
  • the second device generates a third random number from the key and the first and second random numbers, and calculates the second and third random numbers and information about the key from the second device to the first device.
  • the first device receives the second and third random numbers transmitted from the second device and the information on the key in the first device, generates the key from the information on the key in the first device, and generates the key in the first device. Generate a fourth random number from the key and the first and second random numbers, and The number is transmitted from the first device to the second device, and a temporary key is obtained from the third and fourth random numbers and the key in each of the first and second devices.
  • the first device generates a first random number, and identifies the first device identification information, the key attribute information of the first device, the key tropism information of the second device, and the second device.
  • the first random number is transmitted from the first device to the second device, the second device generates a second random number, and the second device transmits the identification information of the first device and the attribute of the key transmitted from the first device.
  • Receiving the information, the attribute information of the key of the second device, and the first random number calculating the first key from the attribute information of the key of the second device in the second device, and calculating the first key in the second device.
  • a second key is calculated from the attribute information of the key
  • a second random number is generated from the second key and the first and second random numbers in the second device, and the second and third random numbers and the information about the key are converted into the second key.
  • the present invention also provides an information providing apparatus for providing predetermined information that is encrypted and a key that encrypts the predetermined data to the information processing apparatus, wherein the information processing apparatus downloads the information processing apparatus from the information processing apparatus.
  • the present invention also provides an information providing method for providing an information processing device with a predetermined data encrypted and a key encrypting the predetermined data, wherein the information processing device comprises: Receiving the data related to the use of the data and the data required for settlement, the communication step for transmitting the key to the information processing device, and the data step received from the information processing device. A settlement step based on data required for settlement and data necessary for settlement.
  • the program providing medium includes an information providing apparatus for providing an encrypted data and a key for encrypting the predetermined data to an information processing apparatus, A communication step of receiving data related to the use of the data downloaded by the information processing apparatus and data required for the determination, and transmitting the key to the information processing apparatus; A computer-readable program for executing a process including a settlement step of performing settlement based on the received data relating to the overnight use and data necessary for settlement is provided.
  • the information processing apparatus includes a first execution unit that decrypts and executes an encrypted program, and supplies the program to the first execution unit and encrypts the program.
  • a second execution unit that decodes the program and executes the program based on a result of execution of the first execution unit.
  • the information processing method includes a first execution step of decrypting and executing an encrypted program; Supplying to the first execution step, decrypting the encrypted program, and executing a second execution step of executing the program based on a result of the execution of the first execution step. It is characterized by
  • the program providing medium includes a first execution step of decrypting and executing an encrypted program, and supplying the program and the program to the first execution step.
  • the present invention provides an information processing apparatus having a semiconductor IC mounted thereon and supplying a program to be executed by the semiconductor IC, wherein the program to be executed by the semiconductor IC is transmitted to a certificate authority and encrypted by the certificate authority.
  • the present invention provides an information processing method of an information processing apparatus having a semiconductor IC mounted thereon and supplying a program to be executed by the semiconductor IC, wherein the program to be executed by the semiconductor IC is transmitted to a certificate authority, and A communication step of receiving the program encrypted from a computer, a recording step of recording the encrypted program received from the certificate authority, and the program recorded in the recording step.
  • the sending step to send to I c It is characterized by including.
  • the program providing medium transmits the program to be executed by the semiconductor IC to a certificate authority, to an information processing apparatus having a semiconductor IC mounted thereon and supplying the program to be executed by the semiconductor IC.
  • a computer-readable program for executing a process including a transmitting step of transmitting to the semiconductor IC is provided.
  • the present invention relates to an information processing system including a certificate authority and an information processing device which is mounted with a semiconductor IC and supplies a program to be executed by the semiconductor IC, wherein the information processing device is configured to execute the program to be executed by the semiconductor IC.
  • a certificate authority and communication means for receiving the encrypted program from the certificate authority; recording means for recording the encrypted program received from the certificate authority; and Transmitting means for transmitting the recorded program to the semiconductor IC, wherein the certificate authority receives the program to be executed by the semiconductor IC, and transmits the encrypted program to the information processing device.
  • the present invention provides an information processing apparatus having a semiconductor IC mounted thereon and supplying a program to be executed by the semiconductor IC, wherein an instruction sequence included in the program to be executed by the semiconductor IC is rearranged. Switching means; recording means for recording the program in which the instruction sequence is rearranged; and transmitting means for transmitting the program recorded in the recording means to the semiconductor IC. .
  • the present invention also relates to an information processing method of an information processing apparatus having a semiconductor IC mounted thereon and supplying a program to be executed by the semiconductor IC, wherein an instruction sequence included in the program to be executed by the semiconductor IC is rearranged. A recording step of recording the program in which the instruction sequence is rearranged; and a transmitting step of transmitting the program recorded in the recording step to the semiconductor IC. .
  • a semiconductor IC is mounted, and an information processing device that supplies a program to be executed by the semiconductor IC rearranges an instruction sequence included in the program to be executed by the semiconductor IC. Performing a process including a rearranging step, a recording step of recording the program in which the instruction sequence is rearranged, and a transmission step of transmitting the program recorded in the recording step to the semiconductor IC. And providing a computer-readable program.
  • the present invention provides an information processing apparatus having a semiconductor IC mounted thereon and supplying a program to be executed by the semiconductor IC, a rearranging means for rearranging an instruction sequence included in the program to be executed by the semiconductor IC, and the program Encrypting means, encrypting the instruction sequence, recording means for recording the encrypted program, and transmitting the program recorded in the recording means to the semiconductor IC. And transmitting means for performing the transmission.
  • the present invention also relates to an information processing method of an information processing apparatus having a semiconductor IC mounted thereon and supplying a program to be executed by the semiconductor IC, wherein a rearrangement for rearranging an instruction sequence included in the program to be executed by the semiconductor IC is performed.
  • the program providing medium is arranged such that a sequence of instructions included in the program to be executed by the semiconductor IC is arranged in an information processing device having a semiconductor IC mounted thereon and supplying the program to be executed by the semiconductor IC.
  • the present invention provides a program that can be read by a computer for executing a process including a transmission step of transmitting to the semiconductor IC.
  • the present invention provides a semiconductor IC mounted on an information processing device and performing various processes based on a command from the information processing device, wherein the encrypted semiconductor IC transferred from the information processing device is Receiving means for receiving the first program, decoding means for decoding the first program received by the receiving means, and second program for processing the first program decoded by the decoding means. Holding means for holding, and executing means for executing the first program processed based on the second program held by the holding means Transfer means for transferring a result of the execution by the execution means to the information processing apparatus; and time measuring means for performing a timing operation and correcting a current time based on time information from the information processing apparatus. It is characterized by including.
  • the present invention provides an information processing method for a semiconductor IC mounted on an information processing device and executing various processes based on a command from the information processing device, wherein the encryption transferred from the information processing device is performed.
  • the program providing medium is mounted on an information processing device, and encrypts the data transferred from the information processing device to a semiconductor IC that executes various processes based on a command from the information processing device.
  • a receiving step of receiving the first program, a decoding step of decoding the first program received in the receiving step, and processing the first program decoded in the decoding step A holding step of holding a second program; an execution step of executing the first program processed based on the second program held in the processing of the holding step; and a processing of the execution step Performing a time measurement operation and correcting the current time based on time information from the information processing device. It is characterized by providing a program that can be read by a convenience store.
  • the present invention also provides an information processing apparatus that outputs various instructions to a mounted semiconductor IC and executes the instructions, wherein a transmission unit that transmits an encrypted program to the semiconductor IC; A first receiving means for receiving the data generated and output as a result of processing the program, a second receiving means for receiving data and time information from another device; and It is characterized by including a storage unit for storing the data received by the reception unit, and a correction unit for correcting the time information of the semiconductor IC based on the time information received by the second reception unit.
  • the present invention provides an information processing method of an information processing apparatus for outputting and executing various instructions to a mounted semiconductor IC, wherein a transmitting step of transmitting an encrypted program to the semiconductor IC; A first receiving step of receiving a data generated and output as a result of processing the program by the IC, a second receiving step of receiving data and time information from another device, and the second A storing step of storing the data received in the receiving step; and a correcting step of correcting the time information of the semiconductor IC based on the time information received in the second receiving step.
  • the program providing medium includes: a transmitting step of transmitting an encrypted program to the semiconductor IC to an information processing apparatus which outputs and executes various instructions to the mounted semiconductor IC; A first receiving step of receiving data generated and output by the semiconductor Ic as a result of processing the program; a second receiving step of receiving data and time information from another device; Executing a process including an accumulation step of accumulating the data received in the receiving step, and a correcting step of correcting the time information of the semiconductor IC based on the time information received in the second receiving step.
  • a computer readable program is provided.
  • the present invention provides an information processing apparatus which is provided with a predetermined semiconductor IC and supplies a program to be executed by the semiconductor IC, wherein the storage means for storing the program and data necessary for executing the program, Control means for controlling the accumulation or reading of the program and the data in the accumulation means, and first encryption means for encrypting the program with a first key supplied from the semiconductor IC; Second encryption means for encrypting the data with a second key supplied from the semiconductor IC.
  • the present invention also relates to an information processing method of an information processing apparatus, which is provided with a predetermined semiconductor IC and supplies a program to be executed by the semiconductor IC, wherein the program and data necessary for executing the program are stored.
  • the program providing medium includes a predetermined semiconductor IC.
  • An information processing device which is mounted and supplies a program to be executed by the semiconductor device; an accumulating step of accumulating the program and data necessary for executing the program; and A control step of controlling storage or reading of data; a first lli'f encoding step of encrypting the program with a first key supplied from the semiconductor IC; and And a second encryption step of encrypting with the supplied second key.
  • a computer readable program is provided to execute the process.
  • the present invention also relates to a semiconductor IC mounted on a predetermined information processing apparatus, receiving a program supplied from the information processing apparatus and a data required for executing the program, and executing the program.
  • a storage unit that previously stores a first key unique to the semiconductor IC; and a second key based on the first key stored in the storage unit and an attribute of a program supplied from the information processing apparatus.
  • Key generating means for generating a key, first decrypting means for decrypting the program with a third key, and second decrypting means for decrypting the data with a second key.
  • the present invention relates to information processing of a semiconductor IC which is mounted on a predetermined information processing apparatus, receives a program supplied from the information processing apparatus and data required for executing the program, and executes the program.
  • a storage step in which a first key unique to the semiconductor IC is stored in advance, and a first key stored in the storage step and an attribute of a program supplied from the information processing apparatus.
  • the program providing medium is mounted on a predetermined information processing apparatus, receives the program supplied from the information processing apparatus and data necessary for executing the program, and executes the program.
  • a computer-readable program to be executed is provided.
  • the present invention provides an information processing apparatus for supplying a program to be executed by a semiconductor IC, a semiconductor IC mounted on the information processing apparatus, receiving a program supplied from the information processing apparatus, and executing the program.
  • the information processing apparatus includes: a storage unit that stores the program and data necessary for executing the program; a control unit that controls storage or reading of the program and the data with respect to the storage unit.
  • a first encryption unit that encrypts the program with a first key supplied from the semiconductor IC; and a second encryption unit that encrypts the data with a second key supplied from the semiconductor IC.
  • a first communication means for receiving the first key and the second key from the semiconductor IC, wherein the semiconductor IC stores the encrypted program and data necessary for executing the program.
  • Said information A second communication unit that receives the first key and the second key from the information processing device and transmits the first key and the second key to the information processing device; and a storage that stores in advance a third key unique to the semiconductor IC.
  • Means, a key generation means for generating a second key from the third key stored in the storage means and an attribute of a program supplied from the information processing apparatus, and the second communication means A first decryption unit that decrypts the program with a first key, and a second decryption unit that decrypts the data received by the second communication unit with a second key. It is characterized by.
  • FIG. 1 is a diagram showing an embodiment of a content data overnight management system to which the present invention is applied.
  • FIG. 2 is a diagram illustrating the configuration of a personal computer in the above-described content data overnight management system.
  • FIG. 3 is a diagram illustrating the configuration of a portable device in the content data management system.
  • FIG. 4 is a block diagram illustrating the functional configuration of the personal computer.
  • FIG. 5 is a diagram showing an example of the display operation instruction window.
  • FIG. 6 is a diagram illustrating an example of a window displayed on the display by the recording program.
  • FIG. 7 is a flowchart illustrating a process when copying content from a compact disk to an HDD.
  • FIG. 8 shows the deadline data of step S12 in the flowchart of FIG.
  • FIG. 9 is a diagram showing an example based on a deadline.
  • FIG. 10 is a diagram for explaining a war mark.
  • FIG. 11 is a diagram showing an example of a music database.
  • FIG. 12 is a flowchart illustrating an operation of moving content from the HDD to the portable device.
  • FIG. 13 is a flowchart for explaining the operation of moving content from the HDD to the portable device.
  • FIG. 14 is a flowchart illustrating an operation of moving content from the HDD to the portable device.
  • FIG. 15 is a flowchart for explaining the check processing such as the reproduction condition of the selected content in step S55 in the flowchart of FIG.
  • FIG. 16 is a diagram for explaining playback conditions managed by the portable device.
  • FIG. 17 is a flowchart illustrating details of the format conversion process in step S58 in the flowchart of FIG.
  • FIG. 18 is a flowchart for explaining the operation when copying content from an HDD to a portable device.
  • FIG. 19 is a flowchart for explaining the operation when copying content from the HDD to the portable device.
  • FIG. 20 is a flowchart for explaining the operation in the case of copying content from an HDD to a portable device.
  • Figure 21 shows the transfer of content from a portable device to the HDD 9 is a flowchart for explaining the operation in the case where the operation is performed.
  • FIG. 22 is a flowchart illustrating the operation when copying content from a portable device to an HDD.
  • FIG. 23 is a flowchart illustrating a process when copying content from the EMD server to the HDD.
  • FIG. 24 is a flowchart illustrating details of the process related to charging in step S204 in the flowchart of FIG.
  • FIG. 25 is a diagram for explaining a charging log.
  • FIG. 26 is a flowchart for explaining a process in which content is copied from the personal computer's IEC 60958 terminal to the HDD.
  • FIG. 27 is a flowchart for explaining the process of copying content from the PC 60958 terminal of the personal computer to the HDD.
  • FIG. 28 is a flowchart illustrating an operation when outputting content from the HDD to the IEC 60958 terminal.
  • FIG. 29 is a flowchart illustrating an operation when content is output from the HDD to the IEC 60958 terminal.
  • FIG. 30 is a flowchart for explaining the checking process such as the reproduction condition in step S275 in the flowchart of FIG.
  • FIG. 31 is a flowchart for explaining the operation when content is output from the HDD via a portable device.
  • FIG. 32 is a flowchart for explaining the operation when content is output from a HDD via a portable device.
  • FIG. 33 is a diagram for explaining the function of the nonvolatile memory.
  • FIG. 34 is a flowchart illustrating the operation of the adapter.
  • FIG. 35 is a diagram showing the internal configuration of the adapter.
  • FIG. 36A and FIG. 36B are cross-sectional views each showing an example of the internal configuration of the nonvolatile memory.
  • FIG. 37 is a perspective view showing an example of the internal configuration of the nonvolatile memory.
  • FIG. 38 is a flowchart illustrating the process of mutual authentication between the adapter and the personal computer.
  • FIG. 39 is a flowchart illustrating a process of mutual authentication between the adapter and the personal computer.
  • FIG. 40 is a flowchart illustrating a process of mutual authentication between the adapter and the personal computer.
  • FIG. 41 is a flowchart illustrating the process of mutual authentication between the adapter and the personal computer.
  • FIG. 42 is a flowchart illustrating a process of encrypting a source program.
  • FIG. 43 is a flowchart illustrating a process in which the adapter executes the encrypted source program.
  • FIG. 44 is a flowchart illustrating the process of encrypting an object program.
  • FIG. 45 is a flowchart illustrating a process in which an adapter executes an encrypted object program.
  • FIG. 46 is a flowchart illustrating another process of encrypting an object program.
  • FIG. 47 is a flowchart for explaining another process in which the adapter 7 executes the encrypted object program.
  • FIG. 48 is a flowchart illustrating a process when causing the CPU of the personal computer to execute a part of the process when the adapter executes the object program.
  • Fig. 49 is a flowchart explaining the process of a personal computer downloading an encryption key from an EMD server and making a payment.
  • FIG. 1 is a diagram showing an embodiment of a content management system to which the present invention is applied.
  • the personal convenience 1 is connected to a network 2 composed of a local area network or an internet.
  • the personal computer 1 compresses a musical tone data (hereinafter referred to as content) received from an EMD (Elecrical Music Distribution) server 41 to 413 or read from a CD (Compact Disc) described later in a predetermined manner. (For example, ATRAC 3 (trademark)) and encrypted by an encryption method such as DES (Data Encryption Standard) and recorded.
  • EMD Electronic Music Distribution
  • CD Compact Disc
  • ATRAC 3 trademark
  • DES Data Encryption Standard
  • the personal computer 1 requests the use condition data indicating the use condition of the content corresponding to the content which is encrypted and recorded.
  • the usage condition data corresponds to, for example, Shows the number of portable devices (Por table Devices (also called PDs)) that can simultaneously use the content (the number of PDs that can be checked as described later). Even if you check out the number of contents shown in the overnight of the usage conditions, you can play the contents on the personal computer.
  • Por table Devices also called PDs
  • the usage condition data can be copied.
  • the personal content can play the recorded content.
  • the number of times that content can be stored in the portable devices 6-1 to 6-3 may be limited. In this case, the number of copies that can be made does not increase.
  • the usage conditions are not sufficient, it indicates that the user can move to another personal computer.
  • the content is moved to the portable devices 6-1 to 6-3, the content recorded on the personal computer 1 becomes unusable (the content is deleted or the usage conditions are changed and cannot be used).
  • the personal computer 1 is connected via a USB (Universal Sirial Bus) cable 7-1 to the encrypted and recorded content together with data related to the content (for example, a song title or playback conditions).
  • data related to the content for example, a song title or playback conditions.
  • the content recorded by personal computer 1 is The number of times that the check conditions of the use conditions corresponding to the above can be checked out is reduced by one. If the number of checkouts is 0, the corresponding content cannot be checked out.
  • the personal computer 1 stores the encrypted and recorded content in the connected portable device 6-2 via the USB cable 7-2 along with the data related to the content, and stores the content in the portable device. Updates the usage condition data corresponding to the stored content in response to the storage in device 6-2.
  • the personal computer 1 stores the encrypted and recorded content in the connected portable device 6-3 via the USB cable 7-3 together with the content related to the content, and stores the encrypted content in the portable device. Update the usage conditions corresponding to the stored content in response to the storage in the device 6-3.
  • the personal computer 1 is connected to the portable device 6-1 via a USB cable 7-1, and the content checked out by the personal computer 1 is connected to the portable device 6.
  • the personal computer 1 deletes the content checked out by the personal computer 1 to the connected portable device 6-2 via the USB cable 7-2 to the connected pull device 6-2 (or Make it unusable), erased container Update the conditions of use conditions corresponding to the information.
  • the personal computer 1 will delete the content that the personal computer 1 has signed into the portable device 6-3 via the USB cable 7-3, and then erase it in the portable device 6-3 (or Update the usage condition data corresponding to the deleted content.
  • the personal computer overnight 1 cannot check in content that another personal computer (not shown) checked out to the portable device 6-1.
  • Personal Computer 1 cannot check in content that another personal computer has checked-out to portable device 6-2.
  • the personal computer 1 cannot check in the content checked by another personal computer to the portable device 6-3.
  • the EMD registration server 3 When the personal combination 1 starts acquiring contents from the EMD servers 4-1 to 4-3, the EMD registration server 3 responds to the request from the personal computer 1 and sends the personal information via the network 2 to the personal computer 1.
  • An authentication key required for mutual authentication between the computer 1 and the EMD servers 4-1 to 4-1-3 is transmitted to the personal computer 1, and a program for connecting to the EMD servers 4-1 to 4-2 is personalized. Send to computer 1.
  • the EMD server 411 responds to the request of the personal computer 1 via the network 2 together with the data related to the content (for example, a song title or a playback restriction), and sends it to the personal convenience server 1.
  • Supply content for example, a song title or a playback restriction
  • the EMD server 4-2 responds to the request of the personal computer 1 and, via the network 2, The content is supplied to the personal computer 1 together with the data related to the content.
  • the EMD server 4-3 supplies the content to the personal convenience 1 via the network 2 together with the data related to the content in response to the request of the personal convenience 1.
  • the content supplied by each of the EMD servers 4-1 to 4-3 is compressed by the same or different compression method.
  • the content supplied by each of the EMD servers 41 to 4-3 is encrypted by the same or different encryption method.
  • the WWW (World Wide Web) server 5-1 responds to the request of the personal convenience server 1 by reading the content (for example, CD album name or CD sales) via the network 2 And the data corresponding to the content read from the CD (eg, a song title or a composer name) is supplied to the personal computer 1.
  • the WWW server 5-2 supplies the personal computer 1 with the CD corresponding to the content read and the data corresponding to the content read from the CD via the network 2. I do.
  • the portable device 6-1 stores the content supplied from the personal computer 1 (that is, the checked-out content) along with the data related to the content (for example, a song title or playback restriction). I do.
  • the portable device 6-1 reproduces the stored content based on the data related to the content and outputs the content to a headphone or the like (not shown).
  • the portable device 6-1 stops playback of the corresponding content.
  • a playback limit that is remembered as content related data, when you try to play after the playback time limit,
  • the user removes the portable device 6-1 that stores the content from the personal computer 1, carries it around, plays back the stored content, and plays music that corresponds to the content using a headphone or the like. You can listen.
  • the portable device 6-2 stores the content supplied from the personal computer 1 together with the data related to the content.
  • the portable device 6-2 reproduces the stored content based on the data related to the content and outputs the content to a headphone (not shown) or the like.
  • the user removes the portable device 6-2 storing the content from the personal computer 1, carries the content, plays the stored content, and plays music corresponding to the content using a headphone or the like. You can listen.
  • the portable device 6-3 stores the content supplied from the personal convenience store 1 together with the data related to the content.
  • the portable device 6-3 reproduces the stored content based on the data related to the content, and outputs the content to a headphone (not shown).
  • the user can remove the portable device 6-3 storing the content from the personal computer 1, carry it around, play back the stored content, and listen to music corresponding to the content on a headphone or the like. it can.
  • portable devices 6-1 to 6-3 they are simply referred to as portable devices 6.
  • FIG. 2 is a diagram illustrating the configuration of the personal convenience store 1.
  • the CPU Central Processing Unit
  • a ROM Read-only Memory
  • a RAM Random—Access Memory 13 stores a program used in the execution of the CPU 11 and parameters that change as appropriate in the execution. These are interconnected by a host bus 14 composed of a CPU bus and the like.
  • the host bus 14 is connected to an external node 16 such as a PCI (Peripheral Component Interconnect / Interface) node via a bridge 15.
  • an external node 16 such as a PCI (Peripheral Component Interconnect / Interface) node via a bridge 15.
  • the key board 18 is operated by a user when inputting various commands to the CPU 11.
  • the mouse 19 is operated by the user when indicating or selecting a point on the screen of the display 20.
  • the display 20 is composed of a liquid crystal display device or a CRT (Cathode Ray Tube), and displays various information in text or images.
  • An HDD (Hard Disk Drive) 21 drives a hard disk and records or reproduces a program or information executed by the CPU 11 on the hard disk.
  • the drive 22 reads data or programs recorded on the mounted magnetic disk 41, optical disk 42 (including CD), magneto-optical disk 43, or semiconductor memory 44 and reads the data.
  • the program is supplied to the RAM 13 connected via the interface 17, the external bus 16, the bridge 15, and the host bus 14.
  • a USB device 6-1 is connected to the USB port 23-1 via a USB cable 7-1.
  • the USB port 23-1 is connected to the interface 17, the external bus 16, the bridge 15, and the host computer 14 via the host bus 14 from the HDD 21, CPU 11, or RAM 13 (for example, content). Or the command of portable device 6-1) to portable device 6-1.
  • a portable device 6-2 is connected via a USB cable 7-2.
  • the USB port 23-2 is connected to the data supplied from the HDD 21, CPU 1 or RAM 13 via the interface 17, the external bus 16, the bridge 15, or the host bus 14 (for example, the content or the port). Output to the portable device 6-2.
  • a Posable device 6-3 is connected to the U S port 23-3 via a U S cable 7-3.
  • the US ⁇ port 23-3 is connected to the data supplied from the HDD 21, CPU 11 or RAM 13 via the interface 17, external bus 16, bridge 15 or host bus 14 (for example, Content or the command of portable device 6-3) to portable device 6-3.
  • the audio input / output interface 24 having the terminal 24a executes digital audio input / output or analog audio input / output interface processing.
  • the speaker 45 outputs a predetermined sound corresponding to the content based on the sound signal supplied from the sound input / output interface 24.
  • the keyboard 18 and the voice input / output interface 24 are connected to the interface 17, and the interface 17 is connected to the external bus 16, the bridge 15, and the host bus 14 via the CPU 1.
  • the communication unit 25 is connected to the network 2 and stores data supplied from the CPU 11 or the HDD 21 (for example, a registration request or a content transmission request) in a packet of a predetermined format. Then, while transmitting via the network 2, the data (for example, the authentication key or the content) stored in the packet received via the network 2 is transmitted to the CPU 11 and the RAMI 3. Or to HDD 21.
  • data supplied from the CPU 11 or the HDD 21 for example, a registration request or a content transmission request
  • the data for example, the authentication key or the content
  • the RAM 33 stores data and programs necessary for the CPU 32 to execute various processes.
  • the nonvolatile memory 34 stores data that needs to be retained even after the power of the personal computer 1 is turned off.
  • ROM36 stores a program that decrypts the encrypted program when it is transferred from the personal computer 1.
  • the RTC (Real Time Clock) 35 performs a timekeeping operation and provides time information.
  • the communication unit 25 and the adapter 26 are connected to the CPU 11 via the external bus 16, the bridge 15, and the host bus 14.
  • USB ports 23 when it is not necessary to distinguish the USB ports 23-1 to 23-3 individually, they are simply referred to as USB ports 23.
  • USB cable 7-1 to 7-3 will be simply referred to as the USB cable 7 when there is no need to individually distinguish them.
  • the power supply circuit 52 drives the entire portable device 6 by converting the power supply voltage supplied from the dry cell 51 into internal power of a predetermined voltage and supplying the internal power to the CPU 53 to the display unit 67.
  • USB controller 57 When the USB controller 57 is connected to the personal computer 1 via the USB connector 56 via the USB cable 7, the USB controller 57 transfers the data including the content transferred from the personal computer 1 via the internal bus 58. To the CPU 53.
  • the data transferred from the personal computer 1 is composed of 64 bytes of data per packet, and is transferred from the personal computer 1 at a transfer rate of 12 Mbit / sec.
  • the data transferred to the portable device 6 is composed of a header and a content.
  • the header stores the content ID, file name, header size, content key, file size, codec ID, file information, etc., as well as the playback limit required for the playback limit processing, start date and time, and end. It stores the date and time, the limit of the number of times, and the number of times of reproduction.
  • Content is available on ATRAC 3 Encoded by the encoding method and encrypted.
  • the header size indicates the length of the header (for example, 33 bytes, etc.), and the file size indicates the length of the content (for example, 33, 6, 36, 1338 bytes, etc.). Represent.
  • the content key is a key for decrypting the encrypted content, and is encrypted based on the session key (temporary key) generated in the process of mutual authentication between the personal computer 1 and the portable device 6. In this state, the data is transmitted from the personal computer 1 to the portable device 6.
  • the portable device 6 When the portable device 6 is connected to the USB port 23 of the personal computer 1 via the USB cable 7, the portable device 6 and the personal computer 1 perform a mutual authentication process.
  • This mutual authentication process is, for example, a challenge-response authentication process.
  • the DSP 59 of the portable device 6 executes a decryption (decryption) process when performing the challenge-response-type authentication process.
  • the challenge-response method is, for example, for a value (challenge) generated by the personal convenience 1, a value (response) generated by the portable device 6 using a secret key shared with the personal computer 1. ).
  • the value generated by the personal convenience server 1 changes every time the authentication process is performed.For example, the value generated by using the secret key output by the device 6 Even if the read value is read and subjected to the so-called spoofing attack, the value used for mutual authentication differs in the next mutual authentication process, Combination 1 can detect fraud.
  • the content ID is an ID corresponding to the content and for specifying the content.
  • the codec ID is an ID corresponding to the content encoding method.
  • the codec ID “1” corresponds to ATRAC 3
  • the codec ID “0” is MP3 (MPEG (Moving Picture Experts Gro up) Supports Audio Layer-3).
  • the file name is data obtained by converting a content file (described later) recorded by the personal computer 1 corresponding to the content into an American National Standard Code for Information Interchange (AS CII) code. This is a conversion of the song title, artist name, lyricist name, or composer name corresponding to the content into AS CII code.
  • AS CII American National Standard Code for Information Interchange
  • the reproduction restriction data is data indicating whether a period during which the content can be reproduced (that is, a start date and time or an end date and time) or a frequency limit (a restriction on the number of times of reproduction) is set.
  • a period during which the content can be reproduced that is, a start date and time or an end date and time
  • a frequency limit a restriction on the number of times of reproduction
  • the start date and time and the end date and time are data indicating the range of the reproducible period when the reproduction restriction data is "2". For example, if the start date and time is "0 0040 F" and the end date and time is "000070 F", the corresponding content can be played from April 15, 2000 to July 15, 2000. It is.
  • the number of times limit and the number of times of reproduction are, when the number of times of reproduction restriction is "1" or "2", the number of times of reproduction is a preset number of times of reproduction corresponding to the content.
  • the number of times of reproduction count indicates the number of times the content has been reproduced, which is updated by the CPU 53 when the process of reproducing the content is executed. For example, when the number of times limit is "02", the number of times that the content can be played is two, and when the number of times of playback counter is "01", the number of times that the content is played is one. .
  • the portable device 6 Content can be repeatedly played twice a day between April 15, 2000 and July 15, 2000.
  • the playback limit is "1"
  • the start date and time is “0000 00”
  • the end date and time is "000000”
  • the number of times is "0a”
  • the playback count is " ⁇ ”. If the value is 5 ", the corresponding content has no limit on the period during which it can be played.
  • the portable device 6 When the portable device 6 receives a content write command along with the content from the personal computer 1, the main program read from the ROM 55 to the RAM 54 is executed.
  • the flash memory 61 has a storage capacity of about 64 MB Store the content. Further, the flash memory 61 stores in advance a reproduction code for decompressing a content compressed by a predetermined compression method.
  • the flash memory 61 can be detachably attached to the portable device 6 as a memory card.
  • the CPU 53 When a playback command corresponding to the operation of pressing down the Fi live / stop button (not shown) by the user is supplied to the CPU 53 via the operation controller 62, the CPU 53 sends the flash memory controller 60 The reproduction code and the content are read from the flash memory 61 and transferred to the DSP 59.
  • the DSP 59 detects errors in the content based on the reproduction code transferred from the flash memory 61 by using the CRC (Cyclic Redundancy Check) method, reproduces the content, and reproduces the reproduced data (indicated by D1 in FIG. 3). ) Is supplied to the digital / analog conversion circuit 63.
  • CRC Cyclic Redundancy Check
  • the DSP 59 is integrally formed with a transmitting circuit (not shown) provided inside, and reproduces contents based on a clock MCLK from a transmitter 59 A made of an external crystal and outputs a — Digitally generates the bit clock BCLK of a predetermined frequency generated by the internal oscillation circuit based on the clock MCLK and the master clock MCLK, and the operation clock LRCLK composed of the L channel clock LCLK and the R channel clock RCLK in frame units. It is supplied to the analog conversion circuit 63.
  • the DSP 59 supplies the above operation clock to the digital-to-analog conversion circuit 63 according to the reproduction code when reproducing the content, and operates the operation clock according to the reproduction code when the content is not reproduced. By stopping the supply of power, the digital-to-analog conversion circuit 63 is stopped to reduce the power consumption of the portable device 6 as a whole.
  • the CPU 53 and the USB controller 57 also have a crystal oscillator 53 A or 57 A externally attached, respectively, and a mask port supplied from the oscillator 53 A or 57 A, respectively. Performs predetermined processing based on MCLK.
  • the portable device 6 does not require a clock generation module for supplying a clock to each circuit block such as the CPU 53, the DSP 59, the USB controller 57, and the like.
  • the structure can be simplified and the size can be reduced.
  • the digital-to-analog conversion circuit 63 converts the reproduced content into an analog audio signal, which is supplied to the amplification circuit 64.
  • the amplification circuit 64 amplifies the audio signal and supplies the audio signal to a headphone (not shown) via the headphone jack 65.
  • the portable device 6 reproduces the content stored in the flash memory 61 under the control of the CPU 53, and When the play / stop button is pressed during playback, playback of the content is stopped.
  • the portable device 6 When the play / stop button is pressed again after the stop, the portable device 6 restarts the playback of the content from the stopped position based on the control of the CPU 53.
  • the portable device 6 automatically turns off the power and reduces power consumption. By the way, the portable device 6 plays after the power is turned off.
  • the / Stop button is pressed, the content is not played back from the previous stop position, but from the first song.
  • the CPU 53 of the portable device 6 controls the LCD controller 68 to display the playback mode state (for example, repeat playback, intro playback, etc.), the equalizer adjustment (ie, the frequency of the audio signal) on the display unit 67.
  • the playback mode state for example, repeat playback, intro playback, etc.
  • the equalizer adjustment ie, the frequency of the audio signal
  • Information such as the track number, playing time, playback, stop, fast forward, fast reverse, etc., sound volume, remaining battery 51, etc. is displayed.
  • the portable device 6 stores, in the EEPROM 68, the number of contents written in the flash memory 80, the block position of the flash memory 61 in which each content is written, and various other so-called memory storage information. Stores FAT (File Al loc at i on Table).
  • 64 KB of content is treated as one block, and a block position corresponding to the content of one music is stored in the FAT.
  • the FAT is stored in the flash memory 61
  • the block position corresponding to the content of the first song is written to the flash memory 61 as a FAT.
  • the block position corresponding to the content of the second music is written to the flash memory 61 (the same area as the first music) as the FAT.
  • the FAT is rewritten each time content is written to the flash memory 61, and furthermore, the same One night is written twice for reserve.
  • the portable device 6 stores the FAT in the EEPROM 68 to reduce the frequency of rewriting the flash memory 61 corresponding to one content write.
  • the portable device 6 can increase the number of times that the content can be written by several tens of times, compared to storing the FAT in the flash memory 61. Can be increased. Further, since the CPU 53 writes the FAT to the EEPROM 68 so that the FAT is added, the frequency of rewriting the same area of the EEPR ⁇ M 68 is reduced so that the EEPROM 68 cannot be rewritten in a short time. To prevent.
  • the portable device 6 When the portable device 6 is connected to the personal computer 1 via the USB cable 7 (hereinafter, referred to as a USB connection), the portable device 6 responds to an interrupt signal supplied from the USB controller 57 to the CPU 53. Recognizes that the USB connection has been established.
  • the portable device 6 When the portable device 6 recognizes that the USB connection has been established, it receives external power of a specified current value from the personal computer 1 via the USB cable 7 and controls the power supply circuit 52 to receive power from the dry cell 51. Stop supplying power.
  • the CPU 53 When the CPU 53 is connected by USB, the contents of DSP59 Stops the playback process. Thus, the CPU 53 prevents the external power supplied from the personal computer 1 from exceeding the specified current value, and performs control so that the external power having the specified current value can be always received.
  • the CPU 53 switches from the power supplied from the dry battery 51 to the power supplied from the personal computer 1, so that the external power from the personal computer 1 with a low unit price is used, The power consumption of the dry battery 51 having a high unit price is reduced, and thus the life of the dry battery 51 can be extended.
  • the CPU 53 When the CPU 53 receives external power from the personal computer 1 via the USB cable 7, the CPU 53 stops the reproduction process of the DSP 59, thereby reducing the radiation from the DSP 59, and as a result, Radiation of the entire system including the personal computer 1 is further reduced.
  • FIG. 4 is a block diagram illustrating a configuration of functions of the personal computer 1 realized by executing a predetermined program of the CPU 11 and the like.
  • the content management program 111 is an EMD selection program 131, a check-in / check-out management program 132, an encryption method conversion program 135, a compression method conversion program 136, an encryption program 137, a usage condition conversion program 139, and a usage condition management program. 140, authentication program 141, decryption program 142, dryino for PD, 143, purchase program 144, and purchase program 145.
  • the content management program 111 may, for example, be a shuffled instruction or an encrypted instruction.
  • the contents of the processing are concealed from the outside, making it difficult to read the contents of the processing (for example, even if the user directly reads the content management program 111, it is necessary to specify the instruction) Is not possible).
  • the EMD selection program 131 When the content management program 111 is installed in the personal computer 1, the EMD selection program 131 is not included in the content management program 111, and is used in the EMD registration process described later. 2 and received from the EMD registration server 3.
  • the EMD selection program 1 3 1 selects the connection with any of the EMD servers 4-1 to 4-3 and sends it to the purchase application 1 15 or the purchase program 1 4 4 or 14 2, Communication with any one of the EMD servers 4-1 to 4-1-3 (for example, downloading content when purchasing content) is executed.
  • the check-in / check-out management program 1332 is based on the check-in or check-out settings and the usage condition files 162-1- through 162-N recorded on the content base 1 14 Check the content stored in the content file 1 6 1-1 to 1 6 1-N to one of the portable devices 6-1 to 6-3 or a portable device 6-1 to 6 — Check in the content stored in 3.
  • the check-in / check-out management program 1 32 in response to check-in or check-out processing, uses the condition file 16 2—1 to 16 2—N recorded in the content server 114. Update the usage condition data stored in.
  • the copy management program 1 3 3 is a content database 1 1 4
  • the contents stored in the content files 161-1 through 161-N are stored in the portable devices 6-1 through 6-1 based on the use condition files 162-1- through 162-N recorded in the Copy the contents to any one of 6-3, or copy the contents from the content pull device 6-1 to 6-3 to the content device 1 14.
  • the transfer management program 13 based on the use condition files 16 2-1 to 16 2-N recorded in the content database 1 14, is based on the content files 16 1-1 to 1 6 Move the content stored in 1-N to any of the portable devices 6-1 to 6-3, or transfer the content from the portable device 6-1 to 6-3 to the content device. Go to 4.
  • the encryption method conversion program 135 is a method for encrypting the content received from the EMD server 4-1 by the purchase application program 115 through the network 2, and the purchase program 144 is an EMD server 4 for the purchase program.
  • the content data base 114 records the method of encrypting the content received from 1 2 or the method of encrypting the content received by the purchasing program 1 4 5 from the EMD server 4-3.
  • the content file is converted to the same encryption method as the content stored in the content file 161-1-1 to 1611-N.
  • the encryption method conversion program 135 uses the portable device 6-1 or 6-3 to check out the content when checking out the content to the portable device 6-1 or 6-3. Convert to a possible encryption method.
  • the compression method conversion program 13 6 is sent from the EMD server 4 _ 1 via the network 2 to the purchase application program 115
  • the method of compressing the received content, the method of compressing the content received by the purchasing program 144 from the EMD server 4-2, or the method of compressing the content received by the purchasing program 145 from the EMD server 4-3 are described as content.
  • Overnight 1114 Convert to the same compression format as the content stored in content files 161-1 through 161-1N recorded by N.
  • the compression format conversion program 136 converts the content to be checked out into a compression format that can be used by the pull device 6-1 or 6-3. Convert to
  • the encryption program 137 reads the content (unencrypted) read from the CD and supplied from the recording program 113, and stores the content file 161-1 in which the content data base 114 records the content (unencrypted).
  • To 161 -N Encrypt with the same encryption method as the content stored in N.
  • the compression / decompression program 138 is, for example, a content file 161-1 to 161 in which the content database 114 records the content (uncompressed) read from a CD and supplied from the recording program 113. — Encode using the same encoding method as the content stored in N. The compression / decompression program 138 decompresses (decodes) the encoded content.
  • the usage condition conversion program 139 is used for purchasing the purchase application program 115 via the network 2 and indicating the usage conditions of the content received from the EMD server 4-1 (so-called “usage rule”). Is program 144 an EMD server 4-2?
  • the content data base 114 records the data indicating the usage conditions of the content received from the EMD server 4-3 or the data indicating the usage conditions of the content received from the EMD server 4-3 by the purchasing program 14-5.
  • Yes Use condition files 16 2—1 to 16 2—N Convert to the same format as the use condition data stored in N.
  • the usage condition conversion program 1339 converts the usage conditions corresponding to the content to be checked out into the portable device 6. — 1 or 6— 3 is converted to usable condition data.
  • the use condition management program 140 Before using the copy, move, check-in, or check-out processing of the content, the use condition management program 140 uses the use condition file 1 6 2 1 1 recorded in the content data base 114. Based on the hash value (to be described later) corresponding to the use condition data stored in 162-N, falsification of the use condition data is detected. The usage condition management program 140 uses the usage condition files 16 2—1 through 16 recorded in the content 1 1 4 1 4 associated with the process of copying, moving, checking in, or checking out content. Update the hash value corresponding to the usage condition data in response to updating the usage condition data stored in 2-N.
  • the authentication program 1411 handles the process of mutual authentication between the content management program 111 and the purchase application program 115, and the process of mutual authentication between the content management program 111 and the purchase program 144.
  • the certification program 141 is a mutual certification between the EMD server 411 and the purchasing application program 115. It stores the authentication key used in the authentication process, the mutual authentication process between the EMD server 4-2 and the purchase program 144, and the mutual authentication process between the EMD server 413 and the purchase program 144. ing.
  • the authentication key used by the authentication program 141 in the mutual authentication process is not stored in the authentication program 1411 when the content management program 111 is installed on the personal computer 1
  • the registration processing is normally executed by the display operation instruction program 1 12, it is supplied from the EMD registration server 3 and stored in the authentication program 14 1.
  • the decryption program 1442 When the personal computer 1 plays back the content stored in the content files 161-1-1 to 161-1N recorded on the content data base 114, the decryption program 1442 generates the content. Is decrypted.
  • the PD driver 14 3 is connected to the portable device 6-2 when checking out predetermined contents to the portable device 6-2 or checking in predetermined contents from the portable device 6-2. Supply a command to the content or portable device 6-2 to execute the specified processing.
  • the PD driver 14 3 is used when checking out predetermined contents to the portable device 6-1 or when checking in predetermined contents from the portable device 6-1. Supply a command that causes the content or device driver to perform the specified process.
  • the PD driver 144 can be used when checking out a predetermined content to the portable device 6-3 or when the portable device 6 When checking in the predetermined content from step 3, supply the content to the device driver 116-2 or the command to execute the predetermined process to the device driver 116-2.
  • the purchasing program 144 is a so-called plug-in program, which is installed together with the content management program 111, supplied from the EMD registration server 3 via the network 2, or recorded on a predetermined CD and supplied. You. When the purchase program 144 is installed in the personal computer 1, the purchase program 144 transmits the data to the content management program 1 1 1 through the interface of a predetermined format of the content management program 1 1 1. Send and receive.
  • the purchasing program 144 is described in, for example, a shuffled instruction or an encrypted instruction, and conceals the processing content from outside, making it difficult to read the processing content. (For example, even if the user directly reads the purchase program 144, the instruction cannot be specified.)
  • the purchase program 144 requests the EMD server 4-2 to transmit predetermined content via the network 2, and receives the content from the EMD server 412. Further, the purchase program 144 executes a charge process when receiving the content from the EMD server 42.
  • the purchase program 145 is a program that is installed together with the content management program 111.
  • the purchase program 145 requests the EMD server 413 to transmit predetermined content via the network 2 and transmits the predetermined content to the EMD server 4-1. Receive content from 3. Also purchase The input program 144 executes a billing process when receiving content from the EMD server 4-3.
  • the display operation instruction program 1 1 2 is a file file 1 18 1, a display data file 1 8 2, an image file 1 8 3— 1 to 1 8 3 — K, or a history data file 1 8 4 Display the image of the window on the display 20 on the basis of the operation of the keyboard 18 or the mouse 19, and execute a check-in or check-out operation on the content management program 111 based on the operation on the keyboard 18 or the mouse 19.
  • the filtering data file 18 1 is used for weighting each of the content files 16 1-1 to 16 1 recorded in the content database 114.
  • the stored data is stored in HDD 21.
  • the display data file 18 2 stores the data corresponding to the content stored in the content database 1 14 1 to 16 1 — N stored in the content database 1 14. And stored in HDD 21.
  • the image files 183-1-1 to 183-K are the images corresponding to the content files 161-1-1 to 161-1N recorded in the content database 114, or packages described later.
  • the image corresponding to is stored in the HDD 21.
  • image files 183-1—1 to 183-K are simply referred to as image files 1833.
  • the history data file 18 4 contains the content files 16 1-1 to 16 1-N recorded in the content database 1 14 and the number of times the content stored in the content data has been checked out. I The history data, such as the number of times the data was accessed and the date, is stored in the HDD 21.
  • the display operation instruction program 112 transmits the ID of the content management program 111 stored in advance to the EMD registration server 3 via the network 2 during the registration process,
  • the authentication key and the EMD selection program 131 are received from the registration server 3 and the authentication key and the EMD selection program 131 are supplied to the content management program 111.
  • the recording program 113 displays an image in a predetermined window and, based on an operation on the keyboard 18 or the mouse 19, reads data such as a recording time of content from a CD as the optical disc 42 mounted on the drive 22. Is read.
  • the recording program 113 transmits the data (eg, album name, album name, etc.) corresponding to the CD to the WWW server 5-1 or 5-2 via the network 2 based on the recording time of the content recorded on the CD. Or a request for transmission of data (for example, song titles) corresponding to the content recorded on the CD, and the data corresponding to the CD from the WWW server 5-1 or 5-2. Evening or receive data corresponding to the content recorded on the CD.
  • data eg, album name, album name, etc.
  • the recording program 113 supplies the display operation instruction program 112 with the data corresponding to the received CD or the data corresponding to the content recorded on the CD.
  • the recording program 113 When a recording instruction is input, the recording program 113 reads the content from the CD, which is the optical disk 42 mounted on the drive 22, and outputs the content to the content management program 111.
  • the content database 1114 is used to convert the content compressed by a predetermined method and encrypted by a predetermined method supplied from the content management program 111 into content files 161-1-1 to 161- Store in any of N (Record on HDD 21).
  • the content data base 114 is used to store the usage conditions corresponding to the content stored in the content files 161-1 through 161 -N, respectively. 6 1-1 to 16 1 -N are stored in any of the use condition files 16 2-1 to 16 2 -N corresponding to N (recorded on HDD 21).
  • the content data base 114 may record a content file 161-1-1 to 161-N or a usage condition file 162-1-1 to 162-N as a record.
  • the usage rule data corresponding to the content stored in the content file 161-1 is stored in the usage rule file 162-1.
  • the usage condition data corresponding to the content stored in the content file 161-N is stored in the usage condition file 162-N.
  • the data recorded in the use condition files 162-1-1 to 162-N are recorded in the data recorded in the expiration date database described later or in the song data base.
  • the content data overnight base 114 is configured to include a deadline data overnight base and a music data night base which will be described later.
  • use condition file 1 6 2— 1 to 1 6 2 — N When there is no need to do so, it is simply referred to as the terms of use file 16 2.
  • the purchase application program 115 is supplied from the EMD registration server 3 via the network 2 or recorded on a predetermined CD-ROM and supplied.
  • the purchase application program 1 15 requests the EMD server 4-1 to send predetermined content via the network 2, receives the content from the EMD server 4-1, and sends the content management program 1 1 supply to 1. Further, the purchase application program 115 executes a billing process when receiving the content from the EMD server 411.
  • Content stored in any of the content files 161-1-1 to 161-1N belongs to a predetermined package. More specifically, the package is either an original package, a my select package, or a package.
  • the original package belongs to one or more contents, and corresponds to the classification of the contents in the EMD server 411 to 413 (for example, corresponding to an album) or one CD.
  • Content belongs to one of the original packages and cannot belong to more than one original package.
  • the original package to which the content belongs cannot be changed.
  • the user can edit a part of the information corresponding to the original package (addition of information or change of added information).
  • the My Select package contains one or more packages arbitrarily selected by the user. Content belongs. The user can arbitrarily edit which content belongs to the MySelect package. A content can belong to one or more MySelect packages simultaneously. Also, the content does not have to belong to any of the MySelect packages.
  • Filing ring package contains filtering files
  • the content selected based on the file stored in 18 1 belongs.
  • the video file is supplied from the EMD server 4-1 to 4-3 or the WWW server 5-1 or 5-2 via the network 2, or is recorded on a predetermined CD and supplied.
  • the user can edit the filtering data stored in the file 181.
  • Filing data serves as a basis for selecting predetermined content or calculating a weight corresponding to content. For example, if you use Filing data corresponding to the J-POP (Japanese Pops) Best Ten of the Week, Personal Computer 1 will be ranked first in Japan's Pops this week to Top 10 in Japan's Pubs this week. Content can be specified.
  • J-POP Japanese Pops
  • Filling ring data file 181 is a file ringing day that selects content in descending order of the period that has been checked out in the past month, and a content that has been checked out many times in the past six months To select content, or to select content that includes the word "love" in the song title.
  • the content of the Phil Ring Package is content ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ 2 ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • the driver 117 drives the audio input / output interface 24 based on the control of the content management program 111, etc., and inputs contents, which are digital data supplied from outside, to manage the contents.
  • An analog signal corresponding to the content supplied from the content server through the content server is output.
  • FIG. 5 is a diagram showing an example of a display operation instruction window that the operation instruction program 112 displays on the display 20 when the display operation instruction program 112 is activated.
  • buttons 203 for displaying a field buttons 204 for displaying a field for editing a MySelect package, and the like are arranged.
  • field 211 displays the data corresponding to the original package.
  • button 206 When button 206 is selected, field 211 displays the data corresponding to the MySelect package.
  • button 207 When button 207 is selected, field 2 1 1 contains the The corresponding data is displayed.
  • the data displayed in the field 211 is a data related to the package, such as a package name or an artist name.
  • the package name "first” and the artist name "Ataro”, the package name "second” and the artist name “Ataro” are displayed in the fields 211. .
  • a field corresponding to the content belonging to the package selected in the field 211 is displayed in the field 211.
  • the data displayed in the fields 211 is, for example, the title of the song, the playing time, or the number of checkouts.
  • the rest displayed as the number of possible checkouts displayed in field 2 12 indicates that the corresponding content cannot be checked out (the number of possible checkouts is 0. Can play that content. )). Also, the treble clef as the number of times that the check-out is possible displayed in the field 2 12 indicates that the number of check-outs of the corresponding content is unlimited (they can be checked out any number of times).
  • the number of checkouts allowed may be indicated not only by the number of predetermined figures (for example, l'j, stars, moon, etc.) as shown in FIG. 5, but also by numbers.
  • an image (corresponding to one of the image files 183-1-1 to 183-K in FIG. 4) associated with the selected package or content is displayed.
  • a field 208 is arranged.
  • the button 209 is clicked to play the selected content (output the sound corresponding to the content to the speaker 45).
  • buttons 205 and 212 select the song title of the predetermined content displayed in field 212 and select
  • the display operation instruction program 1 1 1 2 the content management program 1 1 1, a predetermined content stored in the content data 1 1 4 corresponding to the selected song title Let it be erased.
  • the button (button 25, described later) of the window displayed by the recording program 113 is selected (activated), the content read from the CD is recorded on the content database 114.
  • the display operation instruction program 112 causes the display operation instruction window to display, in the display operation instruction window, a song name of the content stored in any of the portable devices 6-1 to 6-13 specified in advance. Display field 2 1 3
  • the display operation instruction program 1 1 2 is executed by the content management program In step 111, the content read from the CD, recorded in the content overnight base 114, is checked out to any of the pre-designated portable devices 6-1 to 6-3.
  • a symbol indicating whether or not the content can be checked in to the personal convenience store 1 is displayed at the leftmost of the field 213, corresponding to the title of the content.
  • the leftmost “ ⁇ ⁇ ” in field 2 13 indicates that the content corresponding to the song title of the content can be checked in to personal computer 1 (that is, checked out of personal computer 1).
  • the "X" located at the leftmost of the field 2 13 indicates that the content corresponding to the song title of the content cannot be checked in to the personal computer 1 (that is, it has not been checked out from the personal computer 1 , Was checked out from another personal convenience store).
  • the display operation instruction program 1 1 2 displays the field 2 1 3 in the display operation instruction window
  • the display operation instruction program 1 1 2 displays the portable device 6 specified in advance in the display operation instruction window.
  • Portable package to which the content stored in any of 1 to 6-3 belongs (package to which the content stored in any of the portable devices 6-1 to 6-3 belongs) Name Are displayed, a button 215 for closing the field 213 and a button 215 for executing the check-in or check-out are displayed.
  • the display operation instruction program 1 1 2 displays the field 2 1 3 in the display operation instruction window
  • the display operation instruction program 1 1 2 displays the field 2 1 2 in the display operation instruction window.
  • Button 2 1 6 for setting the check mark of the corresponding content
  • Button 2 17 for setting the check-in of the content corresponding to the song name selected in the field 2 13 and the content name displayed in the field 2 13
  • a button 218 for setting the check-in of all the corresponding contents and a button 219 for canceling the check-in or check-out setting are arranged.
  • the personal computer 1 does not execute the check-in or check-out process only by setting the check-in or check-out by operating the buttons 21 to 21.
  • the display Operation instruction program 1 1 2 After setting the check-in or check mark by operating buttons 2 16 to 2 19, when button 2 15 is clicked, the display Operation instruction program 1 1 2 checks the content management program 1 1 1 In or checkout processing is executed. In other words, when the button 215 is clicked, the display operation instruction program 112 sends the content management program 111 to the portable device 6-1 to 6 based on the check-in or check-out setting.
  • a command to send the content to one of 3 or a predetermined command corresponding to the check-in for example, a command to delete the predetermined content stored in one of the portable devices 6-1 to 6-3) , Etc.
  • the display / operation instruction program 112 reads the history data stored in the history data file 184 in accordance with the transmitted content or the transmitted command. Update.
  • the history data includes information identifying the content that was checked in or checked out, or the date the content was checked in or checked out, and the portable device 6-1 through 6-3 that the content was checked out. Consist of names
  • the check-in or check-out setting process can be executed in a short time, so that the user can quickly know the status after the check-in or check-out process is executed, and the time-consuming check-in or check-out process is performed.
  • the overall time required for check-in or check-out can be shortened.
  • FIG. 6 is a diagram illustrating an example of a window displayed by the recording program 113 on the display 20.
  • the recording program 113 displays a CD title such as "asynchronized" in the field 251.
  • the recording program 113 displays an artist name such as, for example,,, in a field 252.
  • the ram 1 13 displays the song name in the field 25 3 showing the song name, for example,,, heat, "Brannet",,, black,,,, soul.
  • the recording program 113 displays an artist name such as "Kwai” in the field displaying the artist in the field 253.
  • the recording program 113 After the recording program 113 receives the predetermined CD information, the recording program 113 stores the CD information in a predetermined directory of the HDD 21.
  • the recording program 113 When the button 254 or the like is clicked to receive an instruction to acquire the information of the CD, the recording program 113 first searches a predetermined directory of the HDD 211. When the CD information is stored in the directory, the recording program 113 displays a dialog box (not shown) so that the user can use the CD information stored in the directory. Is selected.
  • the recording program 1 1 3 When the button 2 5 6 is clicked to start recording the content placed in the window displayed by the recording program 1 1 3, the recording program 1 1 3 will load the content from the CD stored in the drive 2 2 And supplies the content read from the CD to the content management program 111 along with the information of the CD.
  • the compression / expansion program 13 8 of the content management program 11 1 compresses the content supplied from the recording program 11 3 by a predetermined compression method, and the encryption program 13 7 compresses the compressed content. Is encrypted.
  • the use condition conversion program 139 generates use condition data corresponding to the compressed and encrypted content.
  • the content management program 111 supplies the compressed and encrypted content together with usage condition data to the content overnight base 114.
  • the content server 1 1 4 generates a content file 16 1 and a use condition file 16 2 corresponding to the content received from the content management program 11 1, and stores the content in the content file 16 1. At the same time, use condition data is stored in the use condition file 16 2.
  • the display operation instructing program 1 1 2 uses the data of the usage conditions corresponding to the content stored in the content 1 1 4 in the recording process and the CD information based on the CD information. Generate display data to be stored in 2.
  • the window displayed by the recording program 113 also displays the content read from the CD on the content database 114 automatically when the content read from the CD is recorded on the portable device 6-1 to 6 Buttons 2 5 5 for setting whether or not to check in any of 3 are arranged.
  • recording program 113 displays a pull-down menu showing a list of available devices 6-1 through 6_3.
  • the personal convenience 1 automatically checks out the content recorded from the CD to one of the selected portable devices 6-1 to 6-3. If the user selects "Do not checkout" from the pull-down menu, Personal Combination 1 will not check out when recording content from a CD.
  • the personal computer 1 By simply activating button 255 on the window displayed by the recording program 113, when the content read from the CD is recorded on the content server 114, the personal computer 1 Can check out the content read from the CD to any of the pre-designated portable devices 6-1 to 6-3.
  • the CPU 11 executes the content management program 111, the display operation instruction program 112, the recording program 113, and the content database 114.
  • a process for transferring content reproduced from a CD mounted on the drive 22 to the HDD 21 and copying the content will be described.
  • the recording program 113 selects a content to be copied to the display 20 via the interface 17 in step S11. Display the GUI (Graphical User Interface) shown in
  • recording program 113 The TOC (Table Of Contents) of the mounted CD is read, and information on the content included in the CD is obtained and displayed on the display 20.
  • the recording program 113 reads out an ISRC (International Standard Recording Code) for each content included in the CD, obtains information on the content, and causes the display 20 to display the information.
  • the recording program 113 accesses the WWW server 5-1 or 5-2 via the network 2 and uses the T ⁇ C to download the contents of the CD. The information is obtained, and the title of the song corresponding to the content is displayed in the field 253.
  • ISRC International Standard Recording Code
  • the user operates the keyboard 18 or the mouse 19 using the GUI of the display 20, and selects the content to be copied by, for example, clicking the check box corresponding to the song title displayed in the field 253.
  • step S12 the recording program 113 sends the use condition management program 140 to the use condition management program 140 for the expiration date stored in the HDD 21 (the use condition of the content database 114 shown in FIG. 4). To 162-N). The details of the deadline check process are shown in the flowchart of FIG.
  • step S31 the use condition management program 140 calculates the hash value of the entire expiration date database in cooperation with the CPU 32 of the adapter 26, and in step S32, stores the calculated value and the previous value. Compare with the hash value you have set.
  • the usage condition management program 140 does not calculate the hash value.
  • a time limit database is formed in the HDD 21.
  • past information is stored as management information for managing the content (content) recorded in the HDD 21.
  • the ISRC and the date and time of copy of the content that has been recorded are stored in a corresponding manner.
  • the ISRC and the copy date and time are stored for three items, item 1 to item 3, respectively.
  • the hash value of the entire expiration date base based on the ISR C and the copy date and time of all contents recorded on this expiration date base is used by the CPU 32 of the adapter 26 in step S38, as described later.
  • the calculated value is stored in the nonvolatile memory 34.
  • a hash value is a value obtained by applying a hash function to data.
  • a hash function is a one-way function that generally maps a variable-length long data into a fixed-length short value, and has a property that collisions between hash values hardly occur.
  • hash functions include SHA (Secure Hash Algorithm) and MD (Message Digest) 5.
  • the use condition management program 140 calculates a hash value in the same manner as executed by the CPU 32 in step S31. Then, in step S32, the usage condition management program 140 requests the CPU 32 to read out the hash value stored in the non-volatile memory 34, and in step S31, Now compare it to the hash value you have calculated yourself.
  • step S33 the usage condition management program 140 matches the hash value calculated in step S31 with the hash value of the previous expiration date stored in the non-volatile memory 34. It is determined whether or not they match, and if they do not match, it is determined that the expiration date base has been tampered with.
  • the message "Cannot copy because base has been tampered with"" is generated, output to display 20 via interface 17 and displayed, and thereafter the processing is terminated. That is, in this case, the process of reproducing the content recorded on the CD and copying the content to the HDD 21 is prohibited.
  • step S35 the use condition management program 140 writes the copy designated in step S11 to the recording program 113.
  • step S36 the usage condition management program 140 determines whether or not the I SRC (that is, the selected content) acquired in step S35 is registered in the deadline overnight (FIG. 9). You.
  • step S37 the usage condition management program 140 Register the I SRC and the current date and time on a deadline basis.
  • the usage condition management program 140 uses this current date and time as Use the value output by the RTC 35 of the adapter 26 received from the CPU 32.
  • step S38 the use condition management program 140 reads out the data of the time limit database at that time and transfers it to the CPU 32 of the adapter 26.
  • the CPU 32 calculates the hash value of the transferred data and stores it in the nonvolatile memory 34. As described above, the hash value stored in this way is used as the previously stored hash value in step S32.
  • step S39 the use condition management program 140 sets an unregistered flag indicating that the selected content is not registered in the term database. This flag is used to determine whether or not the selected content has been registered on a time limit basis in step S13 of FIG. 7 described below. If it is determined in step S36 that the ISRC of the selected content is registered on an expiration date basis, the selected content has been registered at least once on the HDD 21. It is content. Therefore, in this case, the process proceeds to step S40, and the use condition management program 140 uses the current date and time (adapter 26 It is determined whether or not the current date and time output by the RTC 35 has passed 48 hours or more.
  • step S41 the usage condition management program 140 changes the date and time of the time limit database from the past registration date and time to the current date and time (date and time output by the RTC 35).
  • step S38 the usage condition management program 140 again causes the CPU 32 to calculate the hash value of the entire expiration date database, store the hash value in the non-volatile memory 34, and execute step S3.
  • step 9 an unregistered flag is set for the content.
  • step S40 determines whether the current time is not more than 48 hours after the registration date and time, the copying of the selected content to the HDD 21 is prohibited. Therefore, in this case, the process proceeds to step S42, and the usage condition management program 140 sets a registered flag corresponding to the selected content. According to the processing in step S40, a new copy of the content cannot be generated until a predetermined time has elapsed, so that the generation of a copy of the content for non-authoritative normal use is not unduly hindered. For example, it is practically impossible to create a large amount of content required for illegal sale or distribution.
  • the criterion for the determination was 48 hours or more. However, the determination is not limited to 48 hours, and may be any time from 12 hours to 16 hours. No.
  • the flag indicating whether the selected content is registered in the HDD 21 is set by the time limit database check process.
  • step S13 the copy management program 1 3 Step 3 determines whether or not the selected content has been registered in the term database from the flag described above. If the selected content has already been registered, the process proceeds to step S 14, and the copy management program 13 3 instructs the recording program 1 13, for example, “This song has been copied once and is The copy cannot be made because eight or more hours have not passed. ”Is displayed on the display 20. This allows the user to know the reason why the content cannot be copied to the HDD 21.
  • step S13 If it is determined in step S13 that the selected content is not registered in the expiration date database, the process proceeds to step S15, where the recording program 113 controls the drive 22 and attaches it. Read the content from the inserted CD. In this content, as shown in FIG. 10, a war mark code is inserted at a predetermined position.
  • step S16 the recording program 113 extracts the war mark code included in the content and determines whether or not the mark code indicates copy prohibition in step S17. Is determined. If the warning code indicates that copying is prohibited, the process proceeds to step S18, where the recording program 113 is added to the recording program 113, for example, "copying is prohibited". Is displayed on the display 20 via the interface 17 and the copying process is terminated.
  • step S17 if it is determined in step S17 that the war mark does not indicate copy-prohibition, the process proceeds to step S19, where the recording program 1 13 converts the contents into the compression / decompression program 1 38, for example, ATRAC (Adaptive Transform Acoustic Codin g) Compress by software processing using a method such as 3 (trademark).
  • step S20 the recording program 113 uses the encryption key stored in the memory 13 in advance in the encryption program 137, for example, using the DES (Data Encryption Standard) method, FE AL (Fast Encripherment Algorithm). ) Method to encrypt the content.
  • DES Data Encryption Standard
  • FE AL Fest Encripherment Algorithm
  • the encryption key for example, a random number generated by software or a random number generated based on a random number generated by the CPU 32 of the adapter 26 can be used. In this way, not only the personal computer 1 but also the CPU 32 of the adapter 26 as hardware attached to the personal computer 1 cooperates with the personal computer 1 to execute the encryption processing, so that the decryption becomes more difficult. Can be performed.
  • step S21 the recording program 113 transfers the encrypted data to the content database 114, assigns a file name as one file (as the content file 161), and stores the file on the HDD 21. .
  • the position information of the file name (for example, the number of bytes from the head) may be given and saved as a part of one file.
  • This storage processing and the above-described compression encoding processing and encryption processing may be performed separately, or may be performed simultaneously and in parallel.
  • step S22 the recording program 113 uses the storage key stored in the predetermined non-volatile memory 34 as the encryption And encrypting the encryption key that encrypted the content,
  • the data is stored in the music database of the HDD 21 (corresponding to the use condition files 162-1 to 162-N of the content database 114 shown in FIG. 4).
  • step S23 the recording program 113 combines the stored file information, the encrypted encryption key, the content information, and the song name information input by the user through the GUI to form an HD Register it in the song database of D21 (record as usage condition files 162-1 to 162-N). Then, in step S24, the recording program 113 causes the CPU 32 to calculate the hash value of the entire music database and store it in the nonvolatile memory 34.
  • a song data base as shown in FIG. 11 is registered on the HDD 21.
  • the file name of item 1 to item 3 the encrypted encryption key, song title, length, playback conditions (start date and time, end date and time, number of times limit), playback count, playback billing conditions , Copy conditions (number of times), copy number count and copy conditions (SCMS) are recorded.
  • the number of times that the content can be checked out corresponding to the content copied from a CD is set to three times.
  • the content can be copied again, so it can be copied several times, which is considered to be the scope of personal use of the user Becomes On the other hand, going beyond personal use, for example, trying to duplicate in large quantities, requires an enormous amount of time, making it practically impossible. Also, for example, if the personal computer 1 fails and is recorded on the HDD 21 Even if the deleted content is deleted, the deleted content can be copied again and recorded on the HDD 21 after a certain period of time.
  • the contents of the time limit database recorded in the HDD 21 via the network 2 can be shared.
  • step S51 the movement management program 134 causes the use condition management program 140 to calculate the hash value of the entire song data base, and in step S52, the movement management program 134 Calculate and compare with the hash value stored in nonvolatile memory 34. If the two do not match, the movement management program 13 4 proceeds to step S 53, and displays a message such as “the song database may have been tampered” on the display operation instruction program 112. After displaying in 20, the process is terminated.
  • the processing in this case is the same as the processing in steps S31 to S34 in FIG. In this case In other words, the transfer of the content from the HDD 21 to the pool device 6 will not be executed.
  • step S54 the movement management program 134 reads information on the content registered therein from the song database (included in the content database 114) formed on the HDD 21, and The display operation instruction program 1 12 is displayed on the display 20 as a GUI for selection. Based on the GUI for this selection, the user selects the content to be moved from the HDD 21 to the portable device 6 by clicking the song name, button 216, etc. displayed in the field 212 in FIG. .
  • step S55 the movement management program 134 checks the reproduction conditions, copy conditions, charging conditions for reproduction, and the like of the selected content selected in step S54. Details of this processing will be described later with reference to the flowchart of FIG.
  • step S56 mutual authentication processing is performed between the authentication program 141 of the personal computer 1 and the CPU 53 of the portable device 6, and a communication key is shared.
  • the flash memory 61 (or EE PROM 68) of the portable device 6 previously stores the mass key KM, and the RAM 13 of the personal computer 1 (or a predetermined memory of the HDD 21).
  • File the individual key KP and ID are stored in advance.
  • the CPU 53 receives the ID stored in the RAM 13 in advance from the authentication program 141, applies a hash function to the ID and the key KM possessed by itself, and stores the ID in the RAM 13.
  • the same key as the individual key of the personal computer 1 is generated. By doing so, a common individual key is shared by both the personal computer 1 and the portable device 6. Using this individual key, a temporary communication key can be generated.
  • the ID and mass key KMP are stored in the RAM 13 of the personal computer 1 in advance, and the ID and mass key of the portable device 6 are also stored in the flash memory 61 of the portable device 6. Store the K MM. Then, by transmitting each ID and the key to the other to each other, the other applies a hash function to the ID and the key to the key transmitted from one to generate the other individual key. I do. Then, a temporary communication key is generated from the individual key.
  • IOS International Organization for Standardization
  • 9798-4-2 can be used as an authentication method.
  • step S57 the mobility management program 13 4 Then, the file name of the selected content is read from the song data base, and the content of the file name (for example, encrypted in the process of step S20 in FIG. 7) is read from the HDD 21. read out.
  • step S58 the mobility management program 134 executes the compression encoding method (the processing in step S19) for the content that is the digital data read out in step S57 (the processing in step S19), and the encryption method (step S19). 20), and a process of converting a format (for example, a header format) into that of the portable device 6.
  • a format for example, a header format
  • step S59 the mobility management program 134 causes the PD dryino 143 to transfer the content converted in step S58 to the portable device 6 via the USB port 23.
  • step S60 when receiving the transmitted content via the USB connector 56, the CPU 53 of the portable device 6 stores the content as it is in the flash memory 61.
  • the movement management program 134 further includes, in the use condition conversion program 139, reproduction conditions (start date and time, end date and time, number of times, etc.) of the selected content registered in the song database. To the format managed by the portable device 6.
  • step S62 the movement management program 134 further sends the S CMS information in the copy conditions registered in the song database of the selected content to the use condition conversion program 139, Convert to a managed format.
  • step S63 the movement management program 134 transfers the playback conditions converted in step S61 and the SCMS information converted in step S62 to the PD device 143 to the portable device 6. Let it.
  • the CPU 53 of the portable device 6 stores the transferred playback conditions and the SCMS information in the flash memory 61.
  • step S64 the movement management program 134 also transmits to the PD driver 143 the playback condition, playback charging condition, copy condition, etc. registered in the song database of the selected content, and the CPU 11
  • the data is transferred to the portable device 6 and stored in the flash memory 61 as it is in the format handled in the database.
  • step S65 the mobility management program 134 causes the content overnight base 114 to read the encrypted encryption key of the selected content from the song database, and in step S66.
  • the decryption program 14 2 decrypts the encryption key with the storage key stored in the RAM 13, and makes the encryption program 13 7 equalize with the communication key.
  • the mobile management program 13 4 causes the PD dryino 14 3 to transfer the encryption key encrypted with the communication river key to the portable device 6.
  • step S67 the CPU 53 of the portable device 6 decrypts the encryption key transferred from the personal computer 1 by using the communication key shared by the mutual authentication processing, and stores its own storage key. And store it in the flash memory 61 in association with the data already stored.
  • the CPU 53 notifies the personal computer 1 in step S68 that the encryption key has been stored.
  • the mobility management program 13 4 of the personal computer 1 causes the content database 114 to delete the content file 16 1 corresponding to the content in step S69, Delete the set of elements of the content (that is, the use condition file 16 2) from the song title. In other words, this means that a move (moving) is performed instead of copying.
  • the mobility management program 13 4 transfers the music-based data to the CPU 32 of the adapter 26, calculates the entire hash value, and stores the data in the nonvolatile memory 34. To save.
  • This hash value is In step S52 described above, the hash value is used as the previously stored hash value.
  • the process of checking content from the personal computer 1 to the portable device 6 is the same as the process of moving content from the personal computer 1 to the portable device 6 in FIG. It is.
  • the check-out process is executed by the check-in / check-out management program 132 on the personal computer 1, and instead of the process for deleting the content in step S69 in FIG.
  • the process is basically the same as the process for moving. Therefore, detailed description of the processing is omitted.
  • step S81 the mobility management program 134 causes the content overnight base 114 to read out various conditions from the music data overnight pace.
  • the movement management program 134 determines whether one copy has already exceeded the copy limit number among the various conditions read in step S81. If the copy count has already exceeded the copy limit count, it is not possible to permit more copies, so go to step S83 and move to step S83.
  • the operation management program 134 causes the display operation instruction program 1 12 to display a message such as, for example, “the number of copies has already reached the copy limit number” on the display 20, and terminates the processing. If it is determined in step S82 that the number of times of copying has not exceeded the number of times of copying, the process proceeds to step S84, and it is determined whether or not the current date and time is after the reproduction end date and time. As the current date and time, the one output from the RTC 35 of the adapter 26 is used. This prevents the user from intentionally correcting the current time of the personal computer 1 to a past value.
  • the movement management program 134 receives the present date and time from the CPU 32, and makes the judgment of step S84 by itself, or, in step S81, the reproduction condition read from the music data base by the adapter 26. And causes the CPU 32 to execute the determination processing of step S84.
  • step S85 the movement management program 134 causes the content server 1114 to delete the selected content from the HDD 21 and play the song. Delete the information of the selected content from the database.
  • step S86 the movement management program 134 causes the CPU 32 to calculate the hash value of the music database and store it in the nonvolatile memory 34. Thereafter, the process ends. Therefore, in this case, the content is not moved.
  • step S84 If it is determined in step S84 that the current date and time is not after the reproduction end date and time, the process proceeds to step S87, and the movement management program 134 sets the reproduction charging fee for the selected content (for example, It is determined whether or not (the fee per playback) is registered during the music song. If the charging conditions for playback have been registered, the mobile management program 134 causes the PD dryino '143 to communicate with the portable device 6 in step S88, and charges the portable device 6 for charging. It is determined whether or not exists.
  • the reproduction charging fee for the selected content for example, It is determined whether or not (the fee per playback) is registered during the music song. If the charging conditions for playback have been registered, the mobile management program 134 causes the PD dryino '143 to communicate with the portable device 6 in step S88, and charges the portable device 6 for charging. It is determined whether or not exists.
  • the mobility management program 13 4 displays For example, a message such as “The transfer destination does not have a billing function” is displayed on the display 20 in the operation instruction program 1 12, and the content transfer process is terminated.
  • step S87 If it is determined in step S87 that the charging conditions for playback have not been registered, or if it is determined in step S88 that the portable device 6 has a charging function, the process proceeds to step S90.
  • the progress and movement management program 134 determines whether or not other playback conditions, such as, for example, the number of playback limits, are registered for the selected content. If other playback conditions have been registered, the process proceeds to step S91, and the mobility management program 1 34 determines whether or not the portable device 6 has a function to observe the playback conditions. .
  • step S92 If the pop-up device 6 does not have the function of observing the playback conditions, the process proceeds to step S92, and the movement management program 1 34 sends the display operation instruction program 1 12 to The transfer destination device does not have the function to observe the playback conditions. "On the display 20 and terminate the process.
  • step S90 it is determined that the playback condition has not been registered. If it is determined that the portable device 6 has the function of observing the playback conditions in step S91, the process of checking the playback conditions is terminated, and the process proceeds to step S56 of FIG. Return.
  • FIG. 16 shows an example of playback conditions managed (can be protected) by the portable device 6.
  • the reproduction information shown in FIG. 16 is stored in, for example, the EEPROM 68.
  • the playback start date and time and the playback end date and time are registered for each item 1 to item 3, but the number of playbacks is registered only for item 2 and for item 1 and item 3. Is not registered. Therefore, if the content of item 2 is the selected content, the playback condition of the number of times of reproduction can be kept, but if the content of item 1 or item 3 is the selected content, The condition of the number of times cannot be observed.
  • the mobility management program 13 4 includes the format of the selected content recorded on the content—evening base 114 (for example, including playback conditions, use conditions, copy conditions, etc.). Investigate using a method such as a header.
  • the mobility management program 134 checks the conditions that can be set for the destination device (in this case, the portable device 6). That is, the mobility management program 13 4 inquires the CPU 53 of the portable device 6 about conditions that can be set, and obtains the answer.
  • the movement management program 134 is registered in the song database. Among the conditions of the format, the conditions that can be set for the destination device are determined based on the conditions checked in step S102.
  • step S104 the mobility management program 134 determines whether there is a condition that can be set, and if there is no condition that can be set, the process proceeds to step S105. Prohibit the process of moving content to portable device 6. That is, in this case, since the portable device 6 cannot observe the conditions registered in the music database, it is prohibited to move the content to such a portable device 6.
  • step S104 If it is determined in step S104 that there is a condition that can be set, the flow advances to step S106, and the mobility management program 134 sends the condition to the use condition It is converted into the format condition (for example, the condition stored in the header when transferring to the portable device 6). Then, in step S107, the mobility management program 134 sets the converted conditions in the partner device. As a result, the portable device 6 can reproduce the content according to the set conditions (observing the conditions).
  • the CPU 11 executing the content management program 11 1 and the CPU 53 executing the main program execute the process from the HDD 21 to the point.
  • a process for copying content to the bull device 6 will be described.
  • the processing of steps S111 to S127 in FIGS. 18 to 20 is executed by the copy management program 1333, and is performed from the HDD 21 in FIGS. 12 to 14 to the portable device 6.
  • Move the content In this case, the processing is the same as the processing of steps S51 to S67. That is, also in this case, after the alteration based on the music data is checked, a check process with the reproduction condition of the selected content is performed.
  • step S1208 the copy management program 133 increments the copy once count of the song database by one.
  • the copy management program 13 3 causes the CPU 32 to calculate the hash value of the entire music data base and store the value in the non-volatile memory 34.
  • step S 161 the mobility management program 134 requests the CPU 53 of the portable device 6 to read the information of the content stored in the flash memory 61.
  • the CPU 53 transmits the information of the content stored in the flash memory 61 to the personal computer 1 in response to the request.
  • step S162 the mobility management program 134 causes the authentication program 141 to execute mutual authentication processing with the CPU 53 and share a communication key. This process is the same as the process in step S56 in FIG.
  • step S163 the CPU 53 reads out the selected content stored in the flash memory 61 and transfers it to the personal convenience server 1.
  • the mobility management program 134 adds the file name transferred to the content transferred from the portable device 6 as one file, and the content management base 114 (HDD). 2 Save in 1).
  • This storage can be performed, for example, by giving the position information of the file name (for example, the number of bytes from the head) as a part of one file.
  • step S165 the CPU 53 reads the encrypted key of the selected content stored in the flash memory 61, decrypts it with its own storage key, and further communicates. After being encrypted with the private key, it is transferred to the personal computer 1.
  • This encryption key has been stored in the flash memory 61 in the process of step S67 in FIG. 14, for example.
  • step S166 the mobility management program 134 receives the transfer of the encryption key from the portable device 6, and causes the decryption program 142 to decrypt it with the communication key. To encrypt with their own storage key.
  • step S166 move tube The management program 13 4 stores the file name of the content saved in step S 16 4, the information of the content, the song name input by the user through the GUI, and the content Register the encrypted encryption key in the music database of HDD 21.
  • step S 168 the movement management program 134 causes the usage condition management program 140 to calculate the hash value of the entire song data on the CPU 32, and the non-volatile memory 3 4 To save.
  • step S169 the mobility management program 1334 notifies the portable device 6 that the encryption key has been saved, and requests deletion of the content.
  • the CPU 53 deletes the content stored in the flash memory 61 in step S170.
  • the process of checking in content from the portable device 6 to the personal computer 1 is the same as the process of moving content from the portable device 6 to the personal computer 1 in FIG. That is, the check-in process is executed by the check-in / check-out management program 1332 in the personal computer 1, and the processes of steps S162 to S166 of FIG. 21 are omitted. Also, the personal computer 1 executes the process of updating the number of times that the checked-in content can be checked out, which is recorded on the song data base, in step S166 of FIG. , Except for confirming the deletion of the content file after the process of step S170, the process is basically the same as the process in the case of moving, so that the detailed description of the process is omitted.
  • the personal computer 1 executes the mutual authentication process of step S162 in FIG. 21 in the check-in process.
  • steps S181 to S188 shown in FIG. 22 is performed in steps S166 to S1 in the processing of moving contents from the portable device 6 to the HDD 21 in FIG.
  • the copy process is basically executed by the copy management program 133, and is basically the same as the move process except that the processes of steps S169 and S170 in FIG. 21 are omitted. Since the same processing is performed, the description is omitted.
  • step S201 when the button 202 shown in FIG. 5 is clicked and the user instructs access to the EMD server 4 in step S201, the purchase program 144 controls the communication unit 25 to disconnect the network 2. To the EMD server 4 via You. In response to this access, the EMD server 4 transfers information such as the song number, song title, and information of the content held by the EMD server 4 to the personal computer 1 via the network 2. When acquiring this information via the communication unit 25, the purchase program 144 causes the display / operation instruction program 112 to display it on the display 20 via the interface 17.
  • step S202 The user uses the GUI displayed on the display 20 to specify the content desired to be copied in step S202. This specified information is transferred to the EMD server 4 via the network 2.
  • step S203 the purchase program 144 executes a mutual authentication process with the EMD server 4 via the network 2 and shares a communication key.
  • the mutual authentication process performed between the personal computer 1 and the EMD server 4 can be performed using, for example, a public key and a secret key defined in ISO 9798-3.
  • the personal computer 1 has its own private key and the public key of the EMD server 4 in advance, and the EMD server 4 has its own private key, and the mutual authentication process is performed.
  • the public key of the personal computer 1 is transferred from the EMD server 4, or a certificate distributed in advance to the personal computer 1 is transferred from the personal computer 1 to the EMD server 4, and the certificate is transferred to the EMD server 4.
  • the server 4 may confirm and obtain the public key.
  • the purchase program 144 executes a process related to charging with the EMD server 4.
  • step S205 the EMD server 4 sends the personalized content designated in step S202 to the personal computer 1 via the network 2 via the network 2. Transfer to computer evening 1. At this time, the time information is also transferred appropriately.
  • step S206 the purchase program 144 causes the content database 114 to store the transferred content as a single content file 161 with a file name given to the transferred content.
  • step S207 the EMD server 4 further encrypts the content encryption key using the communication key shared with the personal computer 1 in step S203, and transfers the encrypted content key to the personal computer 1.
  • step S208 the purchasing program 144 decrypts the encryption key transferred from the EMD server 4 by itself or in cooperation with the CPU 32 of the adapter 26 using the communication key in the decryption program 142. Then, the encryption program 137 causes the encryption key obtained by decryption to be encrypted with its own storage key.
  • step S209 the purchase program 144 combines the content database 114 with the content file name, content information, the song name input by the user, and the encrypted encryption key, Register the song on HDD 21 for the evening. Further, in step S210, the purchasing program 144 causes the CPU 32 to calculate the hash value of the entire music data base and stores the hash value in the nonvolatile memory.
  • step S205 the EMD server 4 transmits the time data to the personal computer 1 together with the content.
  • the personal computer 1 is switched to the adapter 26. Sent.
  • the CPU 32 of the adapter 26 receives the time data transmitted from the personal computer 1, the CPU 32 corrects the time of the RTC 35 in step S 211. In this way, the time information of the RTC 35 of the adapter 26 is corrected based on the time information obtained from the external device recognized as the correct device as a result of the mutual authentication. It is possible to always hold the correct time information.
  • step S221 the purchasing program 144 reads the price information of the selected content specified in step S202 from the price information transmitted from the EMD server 4 in step S201, and In the accounting log on HDD 21.
  • Figure 25 shows an example of such a billing log.
  • the user has copied items 1 to 3 from the EMD server 4, the area for item 1 and item 2 is 50 yen, and the fee for item 3 is 60 yen. I have.
  • the hash value of the charging port at that time is also calculated by the CPU 32 and registered in the nonvolatile memory 34.
  • step S222 the purchase program 144 reads the accounting log written in step S221 from the HDD 21, and transfers this to the EMD server 4 via the network 2.
  • step S223 the EMD server 4 performs a charging calculation process based on the charging log transferred from the personal computer 1. You That is, the EMD server 4 additionally updates the built-in database with the billing log transmitted from the user of the personal convenience server 1.
  • step S224 the EMD server 4 determines whether or not to make an immediate decision on the billing log. If the decision is made immediately, the process proceeds to step S225, where the EMD server 4 determines the product necessary for the decision. The name, amount, etc. are transferred to the approval server (not shown).
  • step S226 the decision making server executes a decision making process for the user of the personal convenience. If it is determined in step S224 that the decision is not made immediately, the processing in steps S225 and S226 is skipped. That is, this process is performed periodically thereafter, for example, once a month.
  • step S241 the user connects the IE C60958 output terminal of the CD player to the IEC 60958 terminal 24a of the audio input / output interface 24 of the personal computer 1.
  • step S242 the user operates the keyboard 18 or the mouse 19 to input the title (or number corresponding to the content) of the content to be copied from the CD player.
  • step S243 the user operates a button of the CD player to start reproduction of the CD player. If a line for sending and receiving control signals is connected between the CD player and the personal computer 1, the key of the personal computer 1 — It is also possible to have a CD player start playing a CD by inputting a playback start command via the board 18 or the mouse 19.
  • step S244 When the CD player starts playing the CD, in step S244, the content output from the CD player is transferred to the personal computer 1 via the IEC60958 terminal 24a.
  • the copy management program 133 reads SCMS (Serial Copy Management System) data from the data input via the IEC60958 terminal 24a.
  • SCMS Serial Copy Management System
  • This S CMS data contains copy information such as copy prohibited, copy only once, copy free. Therefore, in step S246, the CPU 11 determines whether or not the SCM S data indicates copy prohibition. If the CPU 11 indicates copy prohibition, the CPU 11 proceeds to step S247 and performs copy management.
  • the program 133 causes the display operation instruction program 112 to display a message such as "copy is prohibited" on the display 20, and terminates the copy processing. That is, in this case, copying to the HDD 21 is prohibited.
  • step S246 determines in step S246 that the S CMS information read in step S245 does not indicate that copying is prohibited
  • the process advances to step S248, and reads the Warm-up code.
  • step S249 it is determined in step S249 whether or not the war mark indicates copy prohibition. If the warning mark code indicates that copying is prohibited, the process proceeds to step S247, where a predetermined message is displayed as in the case described above, and the copying process ends. If it is determined in step S249 that the war mark does not indicate that copying is prohibited, the process proceeds to step S250, where a deadline database check process is performed. If the selected content has already been registered as a result of the time limit base check, the process ends in steps S251 and S252. This processing is similar to the processing in steps S13 and S14 in FIG.
  • steps S253 to S258 are executed in steps S253 to S258.
  • the processing of steps S253 to S258 is the same as that of FIG. 7 except that in step S257, the S CMS information supplied from the IEC 60958 terminal 24a is also registered on the song data base. Since the processing is the same as the processing from step S19 to step S24, the description is omitted.
  • steps S271 to S273 the hash values of the entire song data base are calculated and stored in the same manner as in steps S111 to S113 in FIG. It is determined whether or not the hash value matches the hash value, and a check process for altering the music database is performed. If it is determined that the music data overnight base has not been tampered with, the process proceeds to step S 274, and the display operation instruction program 112 transmits the content operation data to the content data base 114 via the content management program 111.
  • step S275 the display operation instruction program 112 executes a check process such as a reproduction condition of the selected content. Details of the check processing such as the reproduction condition will be described later with reference to the flowchart of FIG.
  • step S276 the display / operation instruction program 112 transmits the content selected in step S274 to the content database 114 via the content management program 111.
  • the encryption key is read from the music database, and the decryption program 142 decrypts it with the storage key.
  • step S277 the display operation instruction program 112 transmits the SCMS information of the selected content from the song data base to the content server 114 via the content management program 111.
  • the SCMS information to be read and output from the IEC60958 terminal 24a is determined according to the rules of the SCMS system. For example, if the number of times of reproduction is limited, the number of times of reproduction is incremented by 1 and becomes new S CMS information.
  • step S 278 the display operation instruction program 1 1 1 2 further passes the ISRC of the selected content to the content data base 1 1 4 via the content management program 1 Read from.
  • step S279 the display / operation instruction program 112 sends the content file selected from the song data base to the content base 114 via the content management program 111.
  • File name and based on the file name, Read from DD21.
  • the display operation instruction program 111 causes the content database 111 to read the encryption key corresponding to the content from the music database via the content management program 111,
  • the decryption program 142 decrypts the content using the storage key, and decrypts the encrypted content using the decrypted key.
  • the compression / decompression program 1338 further decodes (decompresses) the compression code of the content.
  • step S280 the display / operation instruction program 1 12 determines the content of the decoded digital file in step S279 to the dryino 117 in step S277.
  • the SCMS information thus read out and the ISRC information read out in step S278 are output from the IEC69058 terminal 24a in accordance with the provisions of IEC69058.
  • the display operation instruction program 112 operates, for example, a program such as a real player (trademark) (not shown) to convert digital contents into analog, and to perform audio input / output. Evening output from the analog output terminal of face 24.
  • step S 2 81 the display operation instruction program 1 1 1 2, via the content management program 1 1 1, stores the value of the number of times of reproduction during the music data Increment by one. Then, in step S282, it is determined whether or not a playback charging condition is added to the selected content. If the playback billing condition has been added, the process proceeds to step S283, where the display operation instruction program 1 1 2 corresponds to the content database 1 1 4 via the content management program 1 1 1. Write the charge into the billing log, and in step S284, display The operation instruction program 112 causes the use condition management program 140 to calculate the hash value of the entire music database on the CPU 32 and store it in the nonvolatile memory 34.
  • step S282 If it is determined in step S282 that the playback charging condition has not been added to the selected content, the processing in step S283 and step S284 is skipped.
  • the CPU 11 executing the content management program 111 executes the check processing of the reproduction condition and the like in step S275 of FIG. 28. Details will be described.
  • step S301 the display / operation instruction program 112 causes the content / data base 111 to read various conditions of the music / data base via the content management program 111.
  • step S302 the use condition management program 140 determines whether the number of times of reproduction has exceeded the limit number of the read conditions, and if it has, the process proceeds to step S303.
  • the content database 114 deletes the selected content from the HDD 21 via the content management program 111, and deletes the information of the selected content from the song database.
  • the display / operation instruction program 112 further causes the use condition management program 140 to calculate a new hash value of the song database to the CPU 32, and stores the hash value in the non-volatile memory 34. To save. In this case, playback output is prohibited.
  • step S302 If it is determined in step S302 that the number of playbacks has not exceeded the limit number, the process proceeds to step S305, and the usage condition management program 1442 determines that the playback end date and time has passed the current date and time. Judge whether or not there is. If the playback end date and time is past the current date and time, As in the case above, in step S303, the selected content is deleted from the HDD 21 and also deleted from the song data base. Then, in step S304, the hash value of the new song data is calculated and stored. Also in this case, reproduction output is prohibited.
  • step S305 If it is determined in step S305 that the playback end FJ II has not passed the current date and time, the process proceeds to step S306, and the CPU 32 sets the playback charging condition for the selected content. It is determined whether or not is added. If the playback charging condition has been added, the process proceeds to step S307, and the display operation instruction program 1 12 sends a message indicating that the playback charging condition has been added and the fee to the display 20. To be displayed. If it is determined in step S306 that the charging condition for reproduction is not added, the process of step S307 is skipped.
  • the contents are transferred from the HDD 21 to the portable device 6 by the CPU 11 executing the content management program 11 1 and the CPU 53 executing the main program.
  • the processing when outputting (playing back) is described.
  • steps S321 to S325 a tampering check of the music database, a designation of the selected content, and a check process such as a reproduction condition of the selected content are performed.
  • This processing is the same as the processing from step S271 to step S2755 in FIG. 28, and a description thereof will be omitted.
  • step S326 mutual authentication processing is performed between the portable device 6 and the personal computer 1, and communication between the devices is performed. Key is shared.
  • step S327 the display operation instruction program 112 instructs the portable device 6 to reproduce the encrypted content to be transmitted.
  • step S328 the display / operation instruction program 112 enters the content database 114 via the content management program 111 in step S3224.
  • the file name is read from the song database, and the content of the file name is read from the HDD 21.
  • the display operation instruction program 1 1 2, in step S 3 2 9, sets the content compression program, encryption method, format, etc. to the content management program 1 11 Execute the conversion process.
  • step S330 the display operation instruction program 112 causes the encryption program 133 to encrypt the content converted in step S329 with the communication key, and Transfer to.
  • step S331 the CPU 53 of the portable device 6 converts the received data into a communication key in step S327, in response to the instruction transferred from the personal computer 1.
  • step S 3 32 the display operation instruction program 1 1 1 increments the playback count of the song data overnight by 1 to the content 1 1 4 via the content management program 1 1 1. Let it.
  • step S333 the display operation instruction program 112 determines whether or not the playback content charging condition has been added to the selected content. 3 3 4 In the content management program In step S335, the CPU 32 causes the CPU 32 to newly calculate and store the hash value of the entire song database in step S335. If the playback charging condition is not added to the selected content, the processing of steps S334 and S335 is skipped.
  • various measures have been taken to prevent the contents from being illegally copied.
  • a program for operating the CPU 11 is so-called tamper-resistant software in which the execution order changes every time.
  • a part of the function of the CPU 11 is shared by the adapter 26 as hardware, and the two cooperate to execute various processes. This has made it possible to further enhance safety.
  • the hash value of the song data base is not stored in the song data base itself, but is stored in the nonvolatile memory 34 of the adapter 26. That is, in the comparison processing with the previously stored hash values such as steps S32 and S33 in FIG. 8, the past hash values to be compared are stored in the nonvolatile memory 34. It is assumed. Thus, for example, before copying or moving to another recording medium, all of the recorded contents including the content stored in the HDD 21 are backed up, and the data stored in the HDD 21 is stored there. After copying or moving the stored content to another recording medium, the content included in the recorded content backed up to HDD 21 is restored again, ignoring the terms of use and substantially That can be copied or moved without limit Is prevented.
  • the hash values corresponding to the information of the contents A and the contents B are stored in the nonvolatile memory 34.
  • the recording data including the contents A and B of the HDD 21 is backed up to another recording medium 271.
  • the content recorded on the HDD 21 at that time is as follows. Since there is only content B, the hash value of the non-volatile memory 34 is also changed to a hash value corresponding to content B.
  • the non-volatile memory 34 stores the hash value calculated from the information on the content B, and the hash value calculated from the information on the content A and the content B is stored. It has not been.
  • the hash value based on the content A and the content B stored in the HDD 21 does not match the past hash value stored in the nonvolatile memory 34, It is detected that the music data base has been falsified. As a result, the use of the content A and the content B stored in the HDD 21 will be restricted thereafter.
  • the adapter 26 has a built-in RTC 35, and the value of the RTC 35 is different from that of other devices that have obtained a correct authentication result.
  • the time information is corrected based on the time data transferred from the device (for example, EMD server 4).
  • the current date and time is not managed by the personal computer 1, but is output by the RTC 35. Therefore, the user cannot deliberately correct the current time of the personal computer 1 to a past time and cannot escape determination of the reproduction end date and time as the reproduction condition.
  • step S351 a program to be executed by the adapter 26 is stored in the RAM 13 in advance.
  • the data is encrypted using the key and transferred to the adapter 26.
  • step S352 a program for decrypting and executing the encrypted program transferred from the personal computer 1 is stored in advance.
  • CPU 32 decrypts the encrypted program transferred from personal computer 1 in step S352.
  • step S313 the CPU 32 expands the decrypted program in the RAM 33, and executes the program in step S354.
  • the CPU 11 of the personal computer 1 when the CPU 11 of the personal computer 1 causes the adapter 26 to calculate the hash value based on the song data of the HDD 21, the CPU 11 of the personal computer 1 encrypts the song database data with the encryption key and encrypts the hash value. Transfer to CPU 32 of dub evening 26.
  • the CPU 32 calculates a hash value by applying a hash function to the transferred music-based data. Then, the calculated hash value is stored in the nonvolatile memory 34. Alternatively, the CPU 32 compares the hash value with a past hash value stored in advance, and transfers the comparison result to the CPU 11 of the personal computer 1.
  • FIG. 35 shows a more specific configuration inside the adapter 26.
  • Adapter 26 is formed as a semiconductor IC.
  • CPU 32 s RAM 33, nonvolatile memory 34, RTC 35, and ROM 36 shown in Fig. 2
  • the adapter 26 is a RAM controller that controls writing and reading to and from the RAM 33.
  • the logic circuit 302 is used for, for example, a process of decrypting the encrypted content and then directly outputting the decrypted data from the adapter 26.
  • the interface 31 to ROM 36, the RAM controller 301, and the logic circuit 302 are integrally incorporated in the semiconductor IC, and are configured so as not to be disassembled from the outside.
  • the crystal oscillator 311 is used when the adapter 26 generates a reference clock when executing various processes.
  • the oscillation circuit 312 is an oscillation circuit for operating the RTC 35.
  • the battery 313 supplies backup power to the oscillating circuit 312, the nonvolatile memory 34, and the RTC 35.
  • the other circuits of the adapter 26 are supplied with power from the power supply circuit 321 of the personal computer 1.
  • the non-volatile memory 34 is composed of a writable and erasable ROM.
  • a RAM that is backed up by a backup power supply from the note 311
  • a protective aluminum layer 351 is formed thereon, and a power supply pattern for supplying power from the battery 313 to the non-volatile memory 34 so as to be on the same plane as the protective aluminum layer 351 3 52 can be formed.
  • the non-volatile memory 34 is falsified, and if the protection aluminum layer 35 1 is to be deleted, the power supply pattern 35 2 on the same plane is also deleted, the non-volatile memory 34 The power supply to is cut off, and the data stored inside is erased. With this configuration, the tamper resistance can be further improved.
  • the wirings 401-1-1 to 401-1-3 for writing or reading data to or from the nonvolatile memory 34 are arranged at the corresponding positions in the vertical direction (depth). It is formed so as to overlap in the direction.
  • the upper wirings 410-1 and 41-2 it is necessary to remove the upper wirings 410-1 and 41-2, and to remove multiple wirings. Data cannot be read from 4 0 1— 1, 4 0 1— 2, 4 0 1— 3 at the same time.
  • the wirings 410-1 to 401-3 can be formed redundantly.
  • the path is, for example, Even if the connection can be made linearly, it is not formed linearly but formed to have a predetermined length. Do this Therefore, the length of the wirings 4 4 1 1 to 4 1-3 is longer than the originally required length, and has a larger parasitic capacitance than the shortest length required for the wiring. Will have.
  • a dedicated circuit built-in the adapter 26 as a semiconductor IC designed to read data from the non-volatile memory 34 is designed by setting an impedance that matches the parasitic capacitance.
  • the data stored in the nonvolatile memory 34 can be read normally. However, if a probe is connected to the wirings 41-1-1 to 41-1-3 in order to read the data stored in the nonvolatile memory 34, the parasitic capacitance and the combined capacitance of the probe will affect the wiring. It becomes difficult to read the data normally.
  • step S401 the CPU 11 of the personal computer 1 generates a random number Na.
  • step S402 the CPU 11 of the personal computer 1 causes the interface 17 to transmit the ID of the personal computer 1, the category number G of the key, and the random number Na to the portable device 6.
  • step S421 the CPU 53 of the portable device 6 generates a random number Nb.
  • step S422 the portable device 6 receives the ID of the personal computer 1, the key category number G, and the random number Na transmitted from the personal computer 1 via the interface 17 .
  • step S 423 the CPU 53 of the portable device 6 calculates the key category number G from Find the key number j of the key.
  • step S424 the CPU 53 of the portable device 6 obtains the j-th cell key KM a [j].
  • step S425 the CPU 53 of the portable device 6 applies a hash function such as SHA based on the mass key Y Kma [j] to the ID of the personal computer E1 to obtain the key K ab Ask for.
  • step S426 the CPU 53 of the portable device 6 applies a hash function such as SHA based on the key K ab to the random number Na, the random number Nb, and the ID of the personal computer 1 to obtain a random number R 1.
  • step S427 the CPU 53 of the portable device 6 generates a random number Sb.
  • step S403 the personal computer 1 receives the random number Na, the random number Nb, the key number j, and the random number Sb via the interface 17.
  • step S404 the CPU 11 of the personal convenience 1 obtains the key Kab included in the individual key KIa based on the key number j.
  • step S405 the CPU 11 of the personal computer 1 applies a hash function such as SHA based on the key Kab to the random number Na, the random number Nb, and the ID of the personal computer 1, to generate the random number R2. Ask for.
  • step S406 the CPU 11 of the personal computer 1 determines whether the received random number R1 is equal to the random number R2 generated in step S405, and the random number R1 is equal to the random number R2. Absent If it is determined that the portable device 6 is not a valid portable device, the portable device 6 is not authenticated, and the process ends. If it is determined in step S406 that the random numbers R1 and R2 are equal, since the portable device 6 is a valid portable device, the process proceeds to step S407, and the CPU 11 of the personal computer 1 Generate S a.
  • step S408 the CPU 11 of the personal computer 1 applies a hash function such as SHA based on the key K ab to the random number Nb and the random number Na to obtain a random number R3.
  • step S409 the CPU 11 of the personal computer 1 causes the interface 17 to transmit the random number R3 and the random number Sb to the portable device 6.
  • step S410 the CPU 11 of the personal computer 1 applies a hash function such as SHA based on the key Kab to the random numbers Sa and Sb to obtain a temporary key Ks.
  • step S429 the CPU 53 of the portable device 6 receives the random number R3 and the random number Sb.
  • step S430 the CPU 53 of the portable device 6 applies a hash function such as SHA based on the key Kab to the random number Nb and the random number Na to obtain a random number R4.
  • step S431 the CPU 53 of the portable device 6 determines whether the received random number R3 is equal to the random number R4 generated in step S430, and determines whether the random number R3 and the random number R4 are equal. If it is determined that are not equal to each other, the personal computer 1 is not authenticated, and the process is terminated without authentication.
  • step S431 If it is determined in step S431 that the random number R3 is equal to the random number R4, the personal computer 1 determines that the personal computer 1 is a valid personal computer. Since it is evening, the process proceeds to step S432, and the CPU 53 of the portable device 6 applies a hash function such as a SHA based on the key Kab to the random number Sa and the random number Sb to obtain a temporary key Ks.
  • a hash function such as a SHA based on the key Kab to the random number Sa and the random number Sb to obtain a temporary key Ks.
  • step S451 the CPU 11 of the personal computer 1 generates a random number Na.
  • step S 452 the personal convenience 1 transmits the ID of the personal computer 1, the key category number Gp of the personal computer 1, and the key category of the portable device 6 via the interface 17. The number G s and the random number Na are transmitted to the portable device 6.
  • step S481 the CPU 53 of the portable device 6 generates a random number Nb.
  • step S482 the portable device 6 transmits the ID of the personal computer 1 transmitted from the personal computer 1 via the interface 17 and the category number Gp of the key of the personal computer 1 to the portable device 6.
  • the device receives the category number G s and random number Na of the key of the device 6.
  • step S483 the CPU 53 of the portable device 6 From the category number G s of the vice 6 key, obtain the key number j of the mass key 1 KM a.
  • step S484 the CPU 53 of the portable device 6 obtains the j-th master key KMa [j].
  • step S485 the CPU 53 of the portable device 6 applies a hash function such as SHA based on the master key KM a [j] to the ID of the personal computer 1 to apply the key.
  • step S486 the CPU 53 of the portable device 6 obtains the key number k of the master key Ia based on the key category number Gp of the personal computer 1.
  • step S487 the CPU 53 of the portable device 6 applies a hash function such as SHA to the key Kab based on the key KI a [k], and applies a hash function to the key Kab.
  • a hash function such as SHA to the key Kab based on the key KI a [k]
  • step S488 the CPU 53 of the portable device 6 applies a hash function such as SHA based on the key 'ab to the random number Na and the random number Nb to obtain a random number R1.
  • step S489 the CPU 53 of the portable device 6 generates a random number Sb.
  • step S490 the CPU 53 of the portable device 6 sends the ID of the device 6 and the random number Nb, the random number Rl, the key number j, and the random number Sb to the personal computer 1 to the USB controller 57. Let it.
  • step S453 the personal computer 1 receives the ID of the portable device 6, the random number Nb, the random number Rl, the key number j, and the random number Sb via the interface 17.
  • step S 45 In 4 the CPU 11 of the personal computer 1 applies a hash function such as SHA based on the key KMP of the personal computer 1 to the ID of the portable device 6, and applies a hash function to the master device. Find the key Km.
  • step S455 the CPU 11 of the personal computer overnight 1 obtains the j-th individual key KIa.
  • step S456 the CPU 11 of the personal computer 1 applies a hash function such as SHA based on the key Ia to the random number Na and the random number Nb to obtain the keys ab.
  • step S457 the CPU 11 of the personal computer 1 applies a hash function such as SHA to the random numbers Na and Nb based on the keys K and ab to obtain a random number R2. You.
  • step S458 the CPU 11 of the personal computer 1 determines whether the received random number R1 is equal to the random number R2 generated in step S457, and determines whether the random number R1 and the random number R2 are equal. If it is determined that are not equal, the portable device 6 is not authenticated, and the portable device 6 is not authenticated, and the process ends. If it is determined in step S458 that the random numbers R1 and R2 are equal, since the portable device 6 is a valid portable device, the process proceeds to step S459, and the CPU 11 of the personal computer 1 Generate a random number S a.
  • step S460 the CPU 11 of the personal computer 1 applies a hash function such as SHA to the random number Nb and the random number Na based on the key Ia to obtain a random number R3.
  • step S461 the CPU 1 of the personal computer 1 1 transmits the random number R 3 and the random number S b to the portable device 6 via the interface 17.
  • step S462 the CPU 11 of the personal computer 1 applies a hash function such as SHA based on the keys K and ab to the random numbers S a and S b, and obtains a temporary key K Ask for s.
  • step S491 the CPU 53 of the portable device 6 receives the random number R3 and the random number Sb.
  • step S492 the CPU 53 of the pop-up device 6 applies a hash function such as SHA based on the key K ab to the random number Nb and the random number Na to obtain a random number R4.
  • step S493 the CPU 53 of the portable device 6 determines whether the received random number R3 is equal to the random number R4 generated in step S492, and determines whether the random number R3 and the random number R4 are equal. If it is determined that they are not the same, the personal computer 1 is not authenticated, and the process is terminated without authentication.
  • step S493 If it is determined in step S493 that the random number R3 is equal to the random number R4, the personal computer 1 is a legitimate personal computer, so the process proceeds to step S494, where the CPU 53 of the portable device 6 sets the random number S Apply a hash function such as SHA based on the key Ka b to a and the random number Sb and apply a hash function to obtain a temporary key K s.
  • a hash function such as SHA based on the key Ka b to a and the random number Sb and apply a hash function to obtain a temporary key K s.
  • a hash function such as SHA is applied. DES or the like may be applied.
  • the personal computer 1 and the portable device 6 respond to the processing performed after mutual authentication, and use efficient mutual authentication procedures with different powers to achieve efficient and powerful processing. It can respond to attacks by impersonation.
  • step S501 the personal computer 1 transmits the signed source program to a certificate authority (not shown) via the communication unit 25.
  • the certificate authority determines, based on the signature, whether or not tampering has been found in the received source program. If tampering has been found in the received source program, the processing cannot be continued. Ends.
  • step S502 If no falsification is found in the received source program in step S502, the process proceeds to step S503, where the certificate authority encrypts the received source program with the private key of the certificate authority. In step S504, the certificate authority transmits the encrypted source program to the personal computer 1. In step S505, the personal computer 1 records the received source program on the HDD 21, and the process ends.
  • the source program is encrypted.
  • the EMD server 4-1 to 4.3 or a predetermined secure server may encrypt the source program.
  • the CPU 32 of the adapter 26 converts the encrypted source program received from the personal computer 1 with the public key of the certificate authority stored in the nonvolatile memory 34 in advance. Decrypt.
  • the CPU 32 of the adapter 26 activates the internal program and executes the decrypted source program.
  • step S523 the CPU 32 of the adapter 26 determines whether or not to transmit the result obtained by executing the source program to the personal computer 1, and transmits the result to the personal computer. If it is determined that transmission is not performed in the evening 1, the processing ends. If it is determined in step S 523 that the result is to be transmitted to the personal computer 1, the process proceeds to step S 524, and the CPU 32 of the adapter 26 executes the result obtained by executing the source program in a predetermined manner. Encrypt with a key. In step S525, the CPU 32 of the adapter 26 transmits the encrypted result to the personal computer 1 via the interface 31 and the process ends.
  • the adapter 26 executes the decrypted source program, encrypts the obtained result in a predetermined case, and transmits it to the personal computer 1.
  • FIG. 44 is a flowchart for explaining the process of encrypting the object program.
  • the personal combination user 1 compiles the source program and sets a predetermined object. Generate a default program.
  • Steps S542 to S546 are the same as steps S501 to S505 in FIG. 42, and a description thereof will be omitted.
  • FIG. 45 is a flowchart illustrating a process in which the adapter 26 executes the encrypted object program.
  • the CPU 32 of the adapter 26 transmits the encrypted object program received from the personal computer 1 to the certificate authority stored in the nonvolatile memory 34 in advance. Decrypt with public key.
  • the CPU 32 of the adapter 26 expands the decrypted object program into the RAM 33 and executes it.
  • Steps S 563 to S 565 are the same processes as steps 523 to S 525 of FIG. 43, respectively, and therefore description thereof will be omitted.
  • step S581 the CPU 11 of the personal computer 1 compiles the source program to generate an object program.
  • step S582 the CPU 11 of the personal computer 1 requests the adapter 26 to issue the application key Kap and the individual key KidV via the interface 17.
  • step S583 the personal computer 1 sends the application key & and the individual key id V from the adapter 26 via the interface 17 (the adapter key stored in the nonvolatile memory 34 of the adapter 26). 2 6) is received based on the unique key K s.
  • step S584 the personal computer The first CPU 11 encrypts the object program with the application key Kap.
  • step S585 the CPU 11 of the personal computer 1 encrypts the master key K Mb and the like included in the context with the individual key K idv.
  • step S586 the CPU 11 of the personal computer 1 sends the object program encrypted with the application key K ap and the key KMb included in the context encrypted with the individual key K idv to the HDD 2. 1 is recorded, and the process ends.
  • the personal computer 1 can encrypt the object program and the context with the application key K ap and the individual key K i d V supplied from the adapter 26.
  • the process in which the adapter 26 executes the object program encrypted by the procedure shown in the flowchart of FIG. 46 will be described with reference to the flowchart of FIG.
  • step S601 the CPU 11 of the personal computer 1 sends the object program encrypted with the application key K ap and the individual key K i dv to the adapter 26 via the interface 17. Transmits the key KMb and other keys contained in the encrypted context.
  • step S602 the CPU 32 of the adapter 26 applies a hash function to the key Ks and the application key Kap stored in the nonvolatile memory 34 in advance to generate an individual key KidV.
  • step S603 the CPU 32 of the adapter 26 decrypts the received object program using the application key Kap.
  • step S604 the CPU 32 of the adapter 26 decrypts the key KMb and the like included in the context with the individual key KidV.
  • step S605 the CPU 32 of the adapter 26 executes the object program using the context including the decrypted mask key KMb and the like.
  • the processing in steps S6 • 6 to S608 is the same as that in steps S523 to S525 in FIG. 43, and a description thereof will not be repeated.
  • the adapter 26 that has transmitted the individual key K i D in the flowchart of FIG. 46 can execute the encrypted object program. Therefore, adapters other than the adapter 26 that transmitted the individual key K i dv in the flowchart of FIG. 46 can decrypt the object program, but cannot decrypt the context and execute the encrypted object program. Can not.
  • step S651 the CPU 32 of the adapter 26 converts a predetermined instruction sequence of the object program according to a predetermined rule. This conversion is performed, for example, in the case of a program for encryption or decryption of a DES, in the process of repeating a basic structure such as a Feistel structure, when a 48-bit expanded key used in a so-called F function and an appropriate random number are used. Performs a transformation such as applying the exclusive logical sum a predetermined number of times, making it difficult to decrypt the expanded key.
  • DES CCB C Cipher Block Chaining
  • the code corresponding to the instruction of the source program (for example, the code representing addition corresponds to "1" and the code representing multiplication corresponds to "2") is changed every time.
  • step S652 the CPU 32 of the adapter 26 transmits the converted instruction sequence to the personal computer 1 via the interface 31.
  • step S653 the CPU 11 of the personal computer 1 executes the deshuffled instruction sequence.
  • step S654 the CPU 11 of the personal computer 1 transmits the processing result obtained by executing the instruction sequence to the adapter 26.
  • step S655 the CPU 32 of the adapter 26 continues the processing based on the processing result received from the personal computer 1 and the calculation result calculated and held by the CPU 32 of the adapter 26. I do.
  • step S656 the CPU 32 of the adapter 26 determines whether to cause the personal computer 1 to execute the processing, and when it is determined that the personal computer 1 does not execute the processing. The process ends. If it is determined in step S656 that the personal computer 1 is to execute the process, the procedure returns to step S651, and the process of causing the personal computer 1 to execute the process is repeated.
  • the adapter 26 can execute the object program processing quickly and safely by causing the personal computer 1 to execute a part of the object program processing. Cut.
  • the adapter 26 converts the instruction sequence included in the object program and transmits the converted instruction sequence to the personal computer 1, thereby making it difficult to decode the object program. If the adapter 26 encrypts the sequence of instructions contained in the object program and sends it to the personal computer in the evening, decrypting the object program becomes more difficult.
  • step S651 In the process of encrypting the object program supplied to the adapter 26 by the personal computer 1 described in FIG. 46, if the conversion shown in step S651 is performed on the source program, the object program Decryption becomes more difficult.
  • the personal computer 1 downloads from the EMD servers 411 to 413 an encryption key that encrypts the music data that was downloaded in advance free of charge, and performs the payment process as shown in Fig. 4.
  • step S671 the personal computer 1 mutually authenticates with the EMD servers 4-1 to 4-3 via the network 2.
  • step S672 the CPU 11 of the personal computer 1 transmits data indicating the playback conditions of the music data to the EMD servers 4-1 to 4-3 via the communication unit 25.
  • the EMD servers 41 to 4-3 transmit the amount of the payment to the personal combination 1 based on the received data indicating the reproduction condition.
  • step S674 the CPU 11 of the personal computer 1 causes the display 20 to display the data of the payment amount received from the EMD servers 411 to 413.
  • the EMD servers 4-1 to 413 request the personal computer 1 to transmit the user's credit card number and the like.
  • step S676 the user operates the keyboard 18 or the mouse 19 to input data such as the credit card number into the personal computer 1, and the personal computer 1 outputs the credit card number and the like. The data is transmitted to the EMD server 411 to 4-3.
  • step S677 the EMD servers 411 to 413 execute the settlement process based on the data such as the credit card number received from the personal convenience store 1.
  • step S678 the EMD servers 4-1 to 4-1 transmit a predetermined encryption key to the personal computer 1 via the network 2.
  • step S679 the personal computer 1 receives the predetermined encryption key transmitted from the EMD servers 41 to 41 via the network 2, and the process ends.
  • the personal computer 1 downloads the encryption key from the EMD servers 411 to 413
  • the EMD servers 4-1 to 4-2 process the settlement, and the personal combination 1
  • processing such as authentication, encryption, or payment is not required, so the music data, which is a relatively large data stream, can be sent quickly. You can talk down.
  • the present invention can also be applied to the case where data is transferred or copied to another recording medium. is there. Assume that payment processing is executed based on data such as credit card numbers. However, the settlement may be performed by a procedure such as smash (trademark).
  • the personal computer 1 and the EMD servers 411 to 413 are connected, for example, to the ht tp (Hypertext) defined in IS09798-3.
  • Mutual authentication may be performed using the protocol on Transport Protocol).
  • the portable device 6 has been described as storing the individual key in advance, it is assumed that the user purchases the portable device 6 and then downloads it from the EMD server 41 1 to 43. It may be. In addition, music data, image data, and other data can also be used as data.
  • the portable device 6 is used as the recording medium has been described as an example.
  • the present invention can be applied to a case where data is transferred or copied to another recording medium.
  • the content can be image data or other data.
  • the data is encrypted and stored in the HDD 21 and the encryption key is also encrypted with the storage key and recorded on the HDD 21, the data is recorded on the HDD 21. Even if the content is copied, it cannot be decrypted, so that it is possible to prevent a large number of copies from being distributed.
  • the hash value of the data is calculated and stored, which makes it easier to prevent database tampering.
  • I SRC is used to determine the identity of songs, and I SRC When it is not possible, T ⁇ C is used, so even if the ISRC cannot be obtained, it is possible to determine the identity of the music.
  • the program is encrypted with the key corresponding to the program, and the data necessary for executing the program is encrypted with the unique key generated by the adapter 26.
  • the program can be prevented from being executed by other adapters 26 while being able to be distributed on a medium.
  • system refers to an entire device including a plurality of devices.
  • a providing medium for providing a user with a computer program for performing the above-mentioned processing a recording medium such as a magnetic disk, a CD-ROM, and a solid memory, as well as a communication medium such as a network and a satellite. Can be used.
  • the predetermined program is received from the information processing apparatus, and the encrypted program is transmitted to the information processing apparatus.
  • the received program is encrypted, it is possible to prevent the stored data from being illegally read and analyzed.
  • a mutual authentication process to be executed is selected from one or more mutual authentication procedures corresponding to a predetermined process, and the selected mutual authentication is performed. Since this procedure is executed, it is possible to prevent the stored data from being illegally read and analyzed.
  • data necessary for settlement and settlement regarding use of data downloaded by the information processing apparatus are received from the information processing apparatus.
  • the key is transmitted to the information processing device, and the payment is performed based on the data received from the information processing device regarding the use of the data and the data required for the payment. This prevents illegal reading and analysis.
  • the encrypted program is decrypted and executed, the program is supplied, and the encrypted program is decrypted. Then, since the program is executed based on the execution result, it is possible to prevent the stored data from being illegally read and analyzed.
  • the program to be executed by the semiconductor IC is transmitted to the certificate authority, the encrypted program is received from the certificate authority, and the program is received from the certificate authority. In addition, since the encrypted program is recorded and the recorded program is transmitted to the semiconductor IC, it is possible to prevent the stored data from being illegally extracted and analyzed. Become like
  • the program to be executed by the semiconductor IC is transmitted to the certificate authority, the encrypted program is received from the certificate authority, and the encrypted program received from the certificate authority is received. Is recorded, the recorded program is transmitted to the semiconductor IC, the program to be executed by the semiconductor IC is received, the encrypted program is transmitted to the information processing device, and the received program is Since the data is encrypted by a predetermined method, it is possible to prevent the stored data from being illegally read and analyzed.
  • the instruction sequence included in the program to be executed by the semiconductor IC is rearranged, and the program in which the instruction sequence is rearranged is recorded and recorded. Since the stored program is transmitted to the semiconductor IC, it is possible to prevent the stored data from being illegally read and analyzed.
  • the instruction sequence included in the program to be executed by the semiconductor IC is rearranged, the program is encrypted, and the instruction sequence is rearranged.
  • the encrypted program is recorded, and the recorded program is transmitted to the semiconductor IC.
  • the program and data required for executing the program are stored, and the storage or reading of the program and data is controlled, and the program is transferred from the semiconductor IC. Since the data is encrypted with the supplied first key and the data is encrypted with the second key supplied from the semiconductor IC, the stored data is illegally read and analyzed. Can be prevented.
  • the encrypted first program transferred from the information processing device is received, and the received first program is received.
  • a second program that processes the decrypted and decrypted first program is stored, the first program that is processed based on the stored second program is executed, and the execution result is processed.
  • the data is transferred to the device and performs a timekeeping operation, and the current time is adjusted based on the time information from the information processing device, so that the stored data can be illegally read and analyzed. Can be prevented.
  • the encrypted program is transmitted to the semiconductor IC, and the semiconductor IC generates and outputs the result of processing the program. Is received, data and time information are received from another device, the received data is accumulated, and the semiconductor IC is Since the time information is corrected, it is possible to prevent the stored data from being illegally read and analyzed.
  • the first key unique to the semiconductor IC is stored in advance, and the stored first key and the program supplied from the information processing concealment are provided. Key is generated from the attribute of, the program is decrypted with the third key, and the data is decrypted with the second key, so the stored data is read incorrectly. Issued and analyzed.
  • the program and data necessary for executing the program are stored, and the program and the data are stored.
  • the program is encrypted with the first key supplied from the semiconductor IC, and the data is encrypted with the second key supplied from the semiconductor IC.
  • data necessary for executing the program are transmitted to the semiconductor IC, and the first key and the second key are received from the semiconductor IC, and the data necessary for executing the encrypted program and the program are transmitted.
  • the first key and the second key are transmitted to the information processing device, and the third key unique to the semiconductor IC is stored in advance, and the stored third key and the information processing device are transmitted from the stored third key and the information processing device. From the attributes of the supplied program, a second key was generated, the received program was decrypted with the first key, and the received data was decrypted with the second key. Data read incorrectly This will prevent it from being analyzed.

Description

明細 情報処理システム
技術分野 本発明は、 情報提供装置、 情報処理方法及び認証方法、 半導体 I c、 情報処理システム、 並びにプログラム提供媒体に関し、 特に、 所定のデ一夕を記憶し、 所定の処理を行うための情報処理装置、 情 報処理方法及び認証方法、 半導体 I C、 情報処理システム、 並びに プログラム提供媒体に関する。
景技術 最近、 C D (Compact Disk)、 M D (Mini Disk) といった音楽デ一 夕をデジタル的に記録又は再生することができる装置が普及してき た。 その結果、 このようなデジタル的に音楽データを記録再生でき る装置をパーソナルコンピュータなどと組み合わせることで、 デジ 夕ル音楽デ一夕を不正に複製することも比較的容易に行うことがで きるようになつてきた。 そこで、 著作物としての音楽データを不正 に複製することができないようにするために、 各種の方法が提案さ れている。 例えば、 コピー元を制御するソフ トウェアに、 コピー先の装置と 相互認証させ、 適正な認証結果が得られたとき、 音楽デ一夕を暗号 化して、 コピー先の装置に転送させ、 コピー先の装置において、 そ の暗号化されたデータを復号して利用するようにすることが提案さ れている。
また、 コピー元のソフ トウェアに所定のハードウエアに記憶され ている識別情報 I Dを利用して、 コピー先の装置と相互認証させる ことも提案されている。
さらにまた、 認証、 暗-号及び復号処理を、 ワイア一ドロジックの ハ一ドウエアで実行させることも提案されている。
しかしながら、 ソフ トウェアだけで認証処理、 暗号化処理及び復 号処理を行うようにする場合、 ソフ トウェアを解析し、 改竄するこ とで、 音楽デ一夕が不正に複製されてしまう恐れがある。
また、 所定の I Dをハードウェアに記憶させ、 パーソナルコンビ ュ一夕上のソフ トウェアにより、 これを読み出し、 利用させるよう にする場合、 読み出された I Dがソフ トウエアに転送される途中に おいて読み取られ、 解析、 改竄されてしまう恐れがあった。
さらに、 認証処理、 暗号化処理及び復号処理をワイア一ドロジッ クのハードウエアにより実行するようにすると、 解析や改竄は防止 することが可能であるが、 新たな認証処理、 暗号化処理及び復号処 理を行うようにするには、 既存のハ一ドウエアを新たなハ一ドゥエ ァと交換するか、 新たなハードウエアを追加する必要が生じる。
発明の開示 本発明は、 このような状況に鑑みてなされたものであり、 記憶さ れているデータが不正に読み出され、 解析されることを防止できる ようにするものである。
すなわち、 本発明は、 ネッ トワークを介して、 所定の情報処理装 ^に接続されている情報提供装置において、 前記情報処理装置から 所定のプログラムを受信するとともに、 暗号化された前記プログラ ムを前記情報処理装置に送信する通信手段と、 通信手段が受信した 前記プログラムを暗号化する暗号化手段とを含むことを特徴とする また、 本発明は、 ネッ トワークを介して、 所定の情報処理装置に 接続されている情報提供装置の情報提供方法において、 前記情報処 理装置から所定のプログラムを受信するとともに、 暗号化された前 記プログラムを前記情報処理装置に送信する通信ステップと、 通信 ステップで受信した前記プログラムを暗号化する暗号化ステップと を含むことを特徴とする。
また、 本発明に係るプログラム提供媒体は、 ネッ トワークを介し て、 所定の情報処理装置に接続されている情報提供装置に、 前記情 報処理装置から所定のプログラムを受信するとともに、 暗号化され た前記プログラムを前記情報処理装置に送信する通信ステップと、 通信ステツプで受信した前記プログラムを暗号化する暗号化ステツ プとを含む処理を実行させるコンビュ一夕が読み取り可能なプログ ラムを提供することを特徴とする。
また、 本発明は、 他の情報処理装置と相互認証して、 所定の処理 を実行する情報処理装置において、 前記所定の処理に対応し、 1以 上の相互認証の手続から、 実行する相互認証の処理を選択する選択 手段と、 前記選択手段が選択された相互認証の手続を実行する相互 認証手段とを含むことを特徴とする。
また、 本究明は、 他の情報処理装置と相互認証して、 所定の処理 を実行する情報処理装置の情報処理方法において、 前記所定の処理 に対応し、 1以上の相互認証の手続から、 実行する相互認証の処理 を選択する選択ステツプと、 前記選択ステップで選択された相互認 証の手続を実行する相互認証ステップとを含むことを特徴とする。 また、 本発明に係るプログラム提供媒体は、 他の情報処理装置と 相互認証して、 所定の処理を実行する情報処理装置に、 前記所定の 処理に対応し、 1以上の相互認証の手続から、 実行する相互認証の 処理を選択する選択ステップと、 前記選択ステツプで選択された相 互認証の手続を実行する相互認証ステップとを含む処理を実行させ るコンビュ一夕が読み取り可能なプログラムを提供することを特徴 とする。
また、 本発明に係る認証方法は、 第 1装置において第 1乱数を発 生し、 第 1装置の識別情報と鍵の属性情報と上記第 1乱数とを第 1 装置から第 2装置に送信し、 第 2装置において第 2乱数を発生し、 第 2装置において上記第 1装置から送信された第 1装置の識別情報 と鍵の属性情報と第 1乱数とを受信し、 第 2装置において上記鍵の 属性情報から鍵を計算し、 第 2装置において上記鍵と上記第 1 ·第 2乱数から第 3乱数を発生し、 第 2 ·第 3乱数と鍵に関する情報と を第 2装置から第 1装置に送信し、 第 1装置において上記第 2装置 から送信された第 2 ·第 3乱数と鍵に関する情報とを受信し、 第 1 装置において上記鍵に関する情報から鍵を生成し、 第 1装置におい て上記鍵と上記第 1 ·第 2乱数から第 4乱数を発生し、 上記第 4乱 数を第 1装置から第 2装置に送信し、 第 1 ·第 2装置の各々におい て第 3 ·第 4乱数と鍵とから一時鍵を求めることを特徴とする。 また、 本発明に係る認証方法は、 第 1装置において第 1乱数を発 生し、 第 1装置の識別情報と第 1装置の鍵の属性情報と第 2装置の 鍵の屈性情報と上記第 1乱数とを第 1装置から第 2装置に送信し、 第 2装 ίί¾において第 2乱数を発生し、 第 2装置において上記第 1装 置から送信された第 1装置の識別情報と鍵の属性情報と第 2装置の 鍵の属性情報と上記第 1乱数とを受信し、 第 2装置において上記第 2装置の鍵の属性情報から第 1鍵を計算し、 第 2装置において上記 第 1装置の鍵の属性情報から第 2鍵を計算し、 第 2装置において上 記第 2鍵と上記第 1 ·第 2乱数から第 3乱数を発生し、 第 2 ,第 3 乱数と鍵に関する情報とを第 2装置から第 1装置に送信し、 第 1装 置において上記第 2装置から送信された第 2 ·第 3乱数と鍵に関す る情報とを受信し、 第 1装置において上記鍵に関する情報から第 2 鍵を生成し、 第 1装置において上記第 2鍵と上記第 1 ·第 2乱数か ら第 4乱数を発生し、 上記第 4乱数を第 1装置から第 2装置に送信 し、 第 1 ·第 2装置の各々において第 3 ·第 4乱数と第 2鍵とから 一時鍵を求めることを特徴とする。
また、 本発明は、 暗号化されている所定のデータ及び前記所定の データを暗号化している鍵を情報処理装置に提供する情報提供装置 において、 前記情報処理装置から、 前記情報処理装置がダウンロー ドした前記デ一夕の利用に関するデータ及び決済に必要なデ一夕を 受信するとともに、 前記情報処理装置に、 前記鍵を送信する通信手 段と、 前記情報処理装置から受信した前記データの利用に関するデ 一夕及び決済に必要なデータを基に、 決済をする決済手段とを含む ことを特徴とする。
また、 本発明は、 暗号化されている所定のデ一夕及び前記所定の データを暗号化している鍵を情報処理装置に提供する情報提供方法 において、 前記情報処理装置から、 前記情報処理装置がダウン口一 ドした前記デ一夕の利用に関するデータ及び決済に必要なデータを 受 するとともに、 前記情報処现装置に、 前記鍵を送信する通信ス テツプと、 前記情報処理装置から受信した前記デ一夕の利用に関す るデ一夕及び決済に必要なデータを基に、 決済をする決済ステップ とを含むことを特徴とする。
また、 本発明に係るプログラム提供媒体は、 暗号化されている所 定のデ一夕及び前記所定のデータを暗号化している鍵を情報処理装 置に提供する情報提供装置に、 前記情報処理装置から、 前記情報処 理装置がダウンロードした前記データの利用に関するデータ及び決 済に必要なデ一夕を受信するとともに、 前記情報処理装置に、 前記 鍵を送信する通信ステップと、 前記情報処理装置から受信した前記 デ一夕の利用に関するデータ及び決済に必要なデータを基に、 決済 をする決済ステップとを含む処理を実行させるコンピュータが読み 取り可能なプログラムを提供することを特徴とする。
また、 本発明に係る情報処理装置は、 暗号化されているプログラ ムを復号して実行する第 1の実行手段と、 前記プログラムを前記第 1の実行手段に供給するとともに、 暗号化されている前記プログラ ムを復号し、 前記第 1の実行手段の実行の結果を基に、 前記プログ ラムを実行する第 2の実行手段とを含むことを特徴とする。
また、 本発明に係る情報処理方法は、 暗号化されているプログラ ムを復号して実行する第 1の実行ステップと、 前記プログラムを前 記第 1の実行ステップに供給するとともに、 暗号化されている前記 プログラムを復号し、 前記第 1の実行ステツプの実行の結果を基に、 前記プログラムを実行する第 2の実行ステツプとを含むことを特徴 とする。
また、 本発明に係るプログラム提供媒体は、 暗号化されているプ ログラムを復号して実行する第 1の実行ステップと、 前 ,ϊΰプ口グラ ムを前記第 1の実行ステツプに供給するとともに、 暗号化されてい る前記プログラムを復号し、 前記第 1の実行ステップの実行の結果 を基に、 前記プログラムを実行する第 2の実行ステツプとを含む処 理を実行させるコンピュータが読み取り可能なプログラムを提供す ることを特徴とする。
また、 本発明は、 半導体 I Cが装着され、 前記半導体 I Cに実行 させるプログラムを供給する情報処理装置において、 前記半導体 I Cに実行させる前記プログラムを認証局に送信するとともに、 前記 認証局から暗号化された前記プログラムを受信する通信手段と、 前 記認証局から受信した、 暗号化された前記プログラムを記録する記 録手段と、 前記記録手段に記録されている前記プログラムを、 前記 半導体 I Cに送信する送信手段とを含むことを特徴とする。
また、 本発明は、 半導体 I Cが装着され、 前記半導体 I Cに実行 させるプログラムを供給する情報処理装置の情報処理方法において、 前記半導体 I Cに実行させる前記プログラムを認証局に送信すると ともに、 前記認証局から暗号化された前記プログラムを受信する通 信ステップと、 前記認証局から受信した、 暗号化された前記プログ ラムを記録する記録ステップと、 前記記録ステップで記録されてい る前記プログラムを、 前記半導体 I cに送信する送信ステップとを 含むことを特徴とする。
また、 本発明に係るプログラム提供媒体は、 半導体 I Cが装着さ れ、 前記半導体 I cに実行させるプログラムを供給する情報処理装 置に、 前記半導体 I Cに実行させる前記プログラムを認証局に送信 するとともに、 前記認証局から暗号化された前記プログラムを受信 する通信ステップと、 前記認証局から受信した、 暗号化された前記 プログラムを記録する記録ステップと、 前記記録ステップで記録さ れている前記プログラムを、 前記半導体 I Cに送信する送信ステツ プとを含む処理を実行させるコンピュータが読み取り可能なプ口グ ラムを提供することを特徴とする。
また、 本発明は、 半導体 I Cが装着され、 前記半導体 I Cに実行 させるプログラムを供給する情報処理装置及び認証局からなる情報 処理システムにおいて、 前記情報処理装置は、 前記半導体 I Cに実 行させる前記プログラムを認証局に送信するとともに、 記認証局か ら暗号化された前記プログラムを受信する通信手段と、 前記認証局 から受信した、 暗号化された前記プログラムを記録する記録手段と、 前記記録手段に記録されている前記プログラムを、 前記半導体 I C に送信する送信手段とを含み、 前記認証局は、 前記半導体 I Cに 実行させる前記プログラムを受信するとともに、 前記情報処理装置 に暗号化された前記プログラムを送信する通信手段と、 前記通信手 段が受信した前記プログラムを所定の方式で暗号化する暗号化手段 と含むことを特徴とする。
また、 本発明は、 半導体 I Cが装着され、 前記半導体 I Cに実行 させるプログラムを供給する情報処理装置において、 前記半導体 I Cに実行させる前記プログラムに含まれる命令列を並び替える並び 替え手段と、 前記命令列が並び替えられた前記プログラムを記録す る記録手段と、 前記記録手段に記録されている前記プログラムを、 前記半導体 I Cに送信する送信手段とを含むことを特徴とする。 また、 本発明は、 半導体 I Cが装着され、 前記半導体 I Cに実行 させるプログラムを供給する情報処理装置の情報処理方法において、 前記半導体 I cに実行させる前記プログラムに含まれる命令列を並 び替える並び替えステップと、 前記命令列が並び替えられた前記プ ログラムを記録する記録ステツプと、 前記記録ステツプで記録され ている前記プログラムを、 前記半導体 I Cに送信する送信ステップ とを含むことを特徴とする。
また、 本発明に係るプログラム提供媒体は、 半導体 I Cが装着さ れ、 前記半導体 I Cに実行させるプログラムを供給する情報処理装 置に、 前記半導体 I Cに実行させる前記プログラムに含まれる命令 列を並び替える並び替えステップと、 前記命令列が並び替えられた 前記プログラムを記録する記録ステップと、 前記記録ステップで記 録されている前記プログラムを、 前記半導体 I Cに送信する送信ス テツプとを含む処理を実行させるコンピュータが読み取り可能なプ ログラムを提供することを特徴とする。
また、 本発明は、 半導体 I Cが装着され、 前記半導体 I Cに実行 させるプログラムを供給する情報処理装置において、 前記半導体 I Cに実行させる前記プログラムに含まれる命令列を並び替える並び 替え手段と、 前記プログラムを暗号化する暗号化手段と、 前記命令 列が並び替えられ、 暗号化された前記プログラムを記録する記録手 段と、 前記記録手段に記録されている前記プログラムを、 前記半導 体 I Cに送信する送信手段とを含むことを特徴とする。 また、 本発明は、 半導体 I Cが装着され、 前記半導体 I Cに実行 させるプログラムを供給する情報処理装置の情報処理方法において、 前記半導体 I Cに実行させる前記プログラムに含まれる命令列を並 び替える並び替えステップと、 前記プログラムを暗号化する暗号化 ステップと、 前記命令列が並び替えられ、 暗号化された前記プログ ラムを記録する記録ステツプと、 ι 記記録ステップで記録されてい る前記プログラムを、 前記半導体 I Cに送信する送信ステップとを 含むことを特徴とする。
また、 本発明に係るプログラム提供媒体は、 半導体 I Cが装着さ れ、 前記半導体 I cに実行させるプログラムを供給する情報処理装 置に、 前記半導体 I Cに実行させる前記プログラムに含まれる命令 列を並び替える並び替えステツプと、 前記プログラムを暗号化する 暗号化ステップと、 前記命令列が並び替えられ、 暗号化された前記 プログラムを記録する記録ステップと、 前記記録ステップで記録さ れている前記プログラムを、 前記半導体 I Cに送信する送信ステツ プとを含む処理を実行させるコンビュ一夕が読み取り可能なプ口グ ラムを提供することを特徴とする。
また、 本発明は、 情報処理装置に装着され、 前記情報処理装置か らの指令に基づいて、 各種の処理を実行する半導体 I Cにおいて、 前記情報処理装置から転送されてくる暗号化されている第 1のプロ グラムを受信する受信手段と、 前記受信手段により受信された前記 第 1のプログラムを復号する復号手段と、 前記復号手段により復号 された前記第 1のプログラムを処理する第 2のプログラムを保持す る保持手段と、 前記保持手段に保持されている前記第 2のプログラ ムに基づいて処理された前記第 1のプログラムを実行する実行手段 と、 前記実行手段が実行した結果を前記情報処理装置に転送する転 送手段と、 計時動作を行うとともに、 前記情報処理装置からの時刻 惜報に基づいて、 現在時刻を修正する計時手段とを含むことを特徴 とする。
また、 本発明は、 情報処理装置に装着され、 前記情報処理装置か らの指令に基づいて、 各種の処理を実行する半導体 I Cの情報処理 方法において、 前記情報処理装置から転送されてくる暗号化されて いる第 1のプログラムを受信する受信ステップと、 前記受信ステツ プで受信された前記第 1のプログラムを復号する復号ステップと、 前記復号ステップで復号された前記第 1のプログラムを処理する第 2のプログラムを保持する保持ステップと、 前記保持ステップの処 理で保持された前記第 2のプログラムに基づいて処理された前記第 1のプログラムを実行する実行ステップと、 前記実行ステツプの処 理で実行した結果を前記情報処理装置に転送する転送ステップと、 計時動作を行うとともに、 前記情報処理装置からの時刻情報に基づ いて、 現在時刻を修正する計時ステップとを含むことを特徴とする。 また、 本発明に係るプログラム提供媒体は、 情報処理装置に装着 され、 前記情報処理装置からの指令に基づいて、 各種の処理を実行 する半導体 ICに、 前記情報処理装置から転送されてくる暗号化され ている第 1のプログラムを受信する受信ステツプと、 前記受信ステ ップで受信された前記第 1のプログラムを復号する復号ステップと、 前記復号ステップで復号された前記第 1のプログラムを処理する第 2のプログラムを保持する保持ステップと、 前記保持ステヅプの処 理で保持された前記第 2のプログラムに基づいて処理された前記第 1のプログラムを実行する実行ステップと、 前記実行ステップの処 理で実行した結果を前記情報処理装置に転送する転送ステップと、 計時動作を行うとともに、 前記情報処理装置からの時刻情報に基づ いて、 現在時刻を修正する計時ステップとを含む処理を実行させる コンビユー夕が読み取り可能なプログラムを提供することを特徴と する。
また、 本発明は、 装着された半導体 ICに各種の指令を出力し、 実 行させる情報処理装置において、 前記半導体 I Cに暗号化されてい るプログラムを送信する送信手段と、 前記半導体 I Cが、 前記プロ グラムを処理した結果生成し、 出力したデ一夕を受信する第 1の受 信手段と、 他の装置からデ一夕と時刻情報を受信する第 2の受信手 段と、 前記第 2の受信手段が受信したデ一夕を蓄積する蓄積手段と、 前記第 2の受信手段が受信した時刻情報に基づいて、 前記半導体 I Cの時刻情報を修正させる修正手段とを含むことを特徴とする。 また、 本発明は、 装着された半導体 I Cに各種の指令を出力し、 実行させる情報処理装置の情報処理方法において、 前記半導体 I C に暗号化されているプログラムを送信する送信ステップと、 前記半 導体 I Cが、 前記プログラムを処理した結果生成し、 出力したデ一 夕を受信する第 1の受信ステップと、 他の装置からデータと時刻情 報を受信する第 2の受信ステップと、 前記第 2の受信ステツプで受 信したデ一夕を蓄積する蓄積ステップと、 前記第 2の受信ステップ で受信した時刻情報に基づいて、 前記半導体 I Cの時刻情報を修正 させる修正ステップとを含むことを特徴とする。
また、 本発明に係るプログラム提供媒体は、 装着された半導体 I Cに各種の指令を出力し、 実行させる情報処理装置に、 前記半導体 I Cに暗号化されているプログラムを送信する送信ステップと、 前 記半導体 I cが、 前記プログラムを処理した結果生成し、 出力した データを受信する第 1の受信ステップと、 他の装置からデータと時 刻情報を受信する第 2の受信ステップと、 前記第 2の受信ステップ で受信したデ一夕を蓄積する蓄積ステップと、 前記第 2の受信ステ ップで受信した時刻情報に基づいて、 前記半導体 I Cの時刻情報を 修正させる修正ステップとを含む処理を実行させるコンピュータが 読み取り可能なプログラムを提供することを特徴とする。
また、 本発明は、 所定の半導体 I Cが装着され、 前記半導体 I C に実行させるプログラムを供給する情報処理装置において、 前記プ 口グラム及び前記プログラムの実行に必要なデータを蓄積する蓄積 手段と、 前記蓄積手段に対する前記プログラム及び前記デ一夕の蓄 積又は読み出しを制御する制御手段と、 前記プログラムを前記半導 体 I Cから供給された第 1の鍵で暗号化する第 1の暗号化手段と、 前記デ一夕を前記半導体 I Cから供給された第 2の鍵で暗号化する 第 2の暗号化手段とを含むことを特徴とする。
また、 本発明は、 所定の半導体 I Cが装着され、 前記半導体 I C に実行させるプログラムを供給する情報処理装置の情報処理方法に おいて、 前記プログラム及び前記プログラムの実行に必要なデータ を蓄積する蓄積ステップと、 前記蓄積ステップで前記プログラム及 び前記データの蓄積又は読み出しを制御する制御ステップと、 前記 プログラムを前記半導体 I Cから供給された第 1の鍵で暗号化する 第 1の暗号化ステップと、 前記デ一夕を前記半導体 I Cから供給さ れた第 2の鍵で暗号化する第 2の暗号化ステツプとを含むことを特 徴とする。
また、 本発明に係るプログラム提供媒体は、 所定の半導体 I Cが 装着され、 前記半導体 Γ Cに実行させるプログラムを供給する情報 処理装置に、 前記プログラム及び前記プログラムの実行に必要なデ —夕を蓄積する蓄積ステップと、 前記蓄積ステツプで前記プ口グラ ム及び前記データの蓄積又は読み出しを制御する制御ステップと、 前記プログラムを前記半導体 I Cから供給された第 1の鍵で暗号化 する第 1の lli'f号化ステップと、 前記デ一夕を前記半導体 I Cから供 給された第 2の鍵で暗号化する第 2の暗号化ステップとを含む処理 を実行させるコンピュー夕が読み取り可能なプログラムを提供する ことを特徴とする。
また、 本発明は、 所定の情報処理装置に装着し、 前記情報処理装 置から供給されたプログラム及び前記プログラムの実行に必要なデ 一夕を受信し、 前記プログラムを実行する半導体 I Cにおいて、 前 記半導体 I C固有の第 1の鍵を予め記憶している記憶手段と、 前記 記憶手段が記憶している前記第 1の鍵及び前記情報処理装置から供 給されたプログラムの属性から、 第 2の鍵を生成する鍵生成手段と、 前記プログラムを第 3の鍵で復号する第 1の復号手段と、 前記デー 夕を第 2の鍵で復号する第 2の復号手段とを含むことを特徴とする。 また、 本発明は、 所定の情報処理装置に装着し、 前記情報処理装 置から供給されたプログラム及び前記プログラムの実行に必要なデ —夕を受信し、 前記プログラムを実行する半導体 I Cの情報処理方 法において、 前記半導体 I C固有の第 1の鍵を予め記憶している記 憶ステップと、 前記記憶ステップで記憶している前記第 1の鍵及び 前記情報処理装置から供給されたプログラムの属性から、 第 2の鍵 を生成する鍵生成ステップと、 前記プログラムを第 3の鍵で復号す る第 1の復号ステツプと、 前記デ一夕を第 2の鍵で復号する第 2の 復号ステップとを含むことを特徴とする。
また、 本発明に係るプログラム提供媒体は、 所定の情報処理装置 に装着し、 前記情報処理装置から供給されたプログラム及び前記プ 口グラムの実行に必要なデータを受信し、 前記プログラムを実行す る半導体 I Cに、 前記半導体 I C固有の第 1の鍵を予め記憶してい る記憶ステップと、 前記記憶ステップで記憶している前記第 1の鍵 及び前記情報処理装置から供給されたプログラムの属性から、 第 2 の鍵を生成する鍵生成ステツプと、 前記プログラムを第 3の鍵で復 号する第 1の復号ステップと、 前記データを第 2の鍵で復号する第 2の復号ステップとを含む処理を実行させるコンピュータが読み取 り可能なプログラムを提供することを特徴とする。
さらに、 本発明は、 半導体 I Cに実行させるプログラムを供給す る情報処理装置及び前記情報処理装置に装着され、 前記情報処理装 置から供給されたプログラムを受信し、 前記プログラムを実行する 半導体 I Cからなる情報処理システムにおいて、 前記情報処理装置 は、 前記プログラム及び前記プログラムの実行に必要なデータを蓄 積する蓄積手段と、 前記蓄積手段に対する前記プログラム及び前記 データの蓄積又は読み出しを制御する制御手段と、 前記プログラム を前記半導体 I Cから供給された第 1の鍵で暗号化する第 1の暗号 化手段と、 前記データを前記半導体 I Cから供給された第 2の鍵で 暗号化する第 2の暗号化手段と、 暗号化された前記プログラム及び 前記プログラムの実行に必要なデータを前記半導体 I Cに送信する とともに、 前記第 1の鍵及び前記第 2の鍵を前記半導体 I Cから受 信する第 1の通信手段とを含み、 前記半導体 I Cは、 暗号化された 前記プログラム及び前記プログラムの実行に必要なデータを前記情 報処理装置から受信するとともに、 前記第 1の鍵及び前記第 2の鍵 を前記情報処理装置に送信する第 2の通信手段と、 前記半導体 I C 固有の第 3の鍵を予め記憶している記憶手段と、 前記記憶手段が記 憶している前記第 3の鍵及び前記情報処理装置から供給されたプロ グラムの属性から、 第 2の鍵を生成する鍵生成手段と、 前記第 2の 通信手段が受信した、 前記プログラムを第 1の鍵で復号する第 1の 復号手段と、 前記第 2の通信手段が受信した、 前記データを第 2の 鍵で復号する第 2の復号手段とを含むことを特徴とする。
図面の簡単な説明 図 1は、 本発明を適用したコンテンツデ一夕管理システムの一実 施の形態を示す図である。
図 2は、 上記コンテンツデ一夕管理システムにおけるパーソナル コンピュータの構成を説明する図である。
図 3は、 コンテンツデータ管理システムにおけるポー夕ブルデバ ィスの構成を説明する図である。
図 4は、 上記パーソナルコンピュータの機能の構成を説明するブ 口ック図である。
図 5は、 表示操作指示ウインドウの例を示す図である。
図 6は、 録音プログラムがディスプレイに表示させるウインドウ の例を説明する図である。
図 7は、 コンパク トディスクから H D Dにコンテンヅをコピーす る場合の処理を説明するフローチャートである。 図 8は、 図 7のフローチャートにおけるステップ S 1 2の期限デ
—夕ベースチヱック処理を説明するフ口一チヤ一トである。
図 9は、 期限デ一夕ベースの例を示す図である。
図 1 0は、 ウォー夕マ一クを説明する図である。
図 1 1は、 曲データベースの例を示す図である。
図 1 2は、 H D Dからポータブルデバイスへコンテンツを移動す る動作を説明するフローチャートである。
図 1 3は、 H D Dからポー夕ブルデバィスへコンテンツを移動す る動作を説明するフローチヤ一トである。
図 1 4は、 H D Dからポータブルデバイスへコンテンツを移動す る動作を説明するフローチャートである。
図 1 5は、 図 1 2のフローチャートにおけるステップ S 5 5の選 択されたコンテンツの再生条件などのチェック処理を説明するフロ 一チヤ一トである。
図 1 6は、 ポータブルデバイス管理している再生条件を説明する 図である。
図 1 7は、 図 1 2のフローチャートにおけるステップ S 5 8のフ ォ一マツ ト変換処理の詳細を説明するフローチャートである。 図 1 8は、 H D Dからポ一夕ブルデバィスへコンテンツをコピー する場合の動作を説明するフローチャートである。
図 1 9は、 H D Dからポータブルデバイスへコンテンツをコピー する場合の動作を説明するフローチャートである。
図 2 0は、 H D Dからポー夕ブルデバィスへコンテンツをコピー する場合の動作を説明するフローチャートである。
図 2 1は、 ポータブルデバイスから H D Dへコンテンツを移動す る場合の動作を説明するフローチャートである。
図 22は、 ポータブルデバイスから HD Dへコンテンツをコピ一 する場合の動作を説明フローチャートである。
図 23は、 EMDサーバから HDDへコンテンッをコピーする場 合の処理を説明するフローチャートである。
図 24は、 図 23のフローチャートにおけるステップ S 204の 課金に関する処理の詳細を説明するフローチャートである。
図 25は、 課金ログを説明する図である。
図 26は、 パ一ソナルコンピュータの I E C 60958端子から HDDへコンテンツをコピーする場合の処理を説明するフローチヤ ―トである。
図 27は、 パーソナルコンピュータの I E C 60958端子から HDDへコンテンヅをコピーする場合の処理を説明するフ口一チヤ 一トである。
図 28は、 HDDから I EC 60958端子にコンテンッを出力 する場合の動作を説明するフローチャートである。
図 29は、 HDDから I EC 60958端子にコンテンヅを出力 する場合の動作を説明するフローチャートである。
図 30は、 図 28のフローチャートにおけるステップ S 275の 再生条件などのチヱック処理を説明するフローチャートである。 図 31は、 HD Dからポータブルデバイス経由でコンテンツを出 力する場合の動作を説明するフローチャートである。
図 32は、 HDDからポー夕プルデバイス経由でコンテンツを出 力する場合の動作を説明するフローチヤ一トである。
図 33は、 不揮発性メモリの機能を説明する図である。 図 3 4は、 アダプタの動作を説明するフローチャートである。 図 3 5は、 アダプタの内部の構成を示す図である。
図 3 6 A及び図 3 6 Bは、 不揮発性メモリの内部の構成例を示す 断面図である。
図 3 7は、 不揮発性メモリの内部の構成例を示す斜視図である。 図 3 8は、 アダプタとパーソナルコンピュータとの相互認証の処 理を説明するフローチャートである。
図 3 9は、 アダプタとパーソナルコンビュ一夕との相互認証の処 理を説明するフローチャートである。
図 4 0は、 アダプタとパーソナルコンピュータとの相互認証の処 理を説明するフローチャートである。
図 4 1は、 アダプタとパーソナルコンビュ一夕との相互認証の処 理を説明するフローチャートである。
図 4 2は、 ソースプログラムを暗号化する処理を説明するフロー チヤ一トである。
図 4 3は、 暗号化されたソースプログラムをアダプタが実行する 処理を説明するフローチャートである。
図 4 4は、 オブジェクトプログラムを暗号化する処理を説明する フ口一チヤ一トである。
図 4 5は、 暗号化されたオブジェク トプログラムをアダプタが実 行する処理を説明するフローチャートである。
図 4 6は、 オブジェク トプログラムを暗号化する他の処理を説明 するフローチヤ一トである。
図 4 7は、 暗号化されたオブジェク トプログラムをアダプタ 7が 実行する他の処理を説明するフローチヤ一トである。 図 4 8は、 アダプタがオブジェク トプログラムを実行する場合、 処理の一部をパーソナルコンピュータの C P Uに実行させるときの 処理を説明するフローチャートである。
図 4 9は、 パーソナルコンピュータが E M Dサーバから暗号鍵を ダウンロードするとともに、 決済をする処理を説明するフローチヤ —トである。
発明を実施するための最良の形態 以下、 本発明を実施するための最良の形態について図面を参照し ながら詳細に説明する。
図 1は、 本発明を適用したコンテンヅデ一夕管理システムの一実 施の形態を示す図である。 パーソナルコンビユー夕 1は、 ローカル ェリアネヅ トワーク又はィン夕ーネッ 卜などから構成されるネッ ト ワーク 2に接続されている。 パーソナルコンピュータ 1は、 E M D ( Elecrical Music Distribution)サーバ 4一 1乃至 4一 3から受信 した、 又は後述する C D (Compact Disc )から読み取った楽音のデー 夕 (以下、 コンテンツと称する) を、 所定の圧縮の方式 (例えば、 A T R A C 3 (商標) ) に変換するとともに D E S (Data Encrypti on Standard)などの暗号化方式で暗号化して記録する。
パーソナルコンピュータ 1は、 暗号化して記録しているコンテン ッに対応して、 コンテンッの利用条件を示す利用条件のデータを記 $求 Tる。
利用条件のデータは、 例えば、 その利用条件のデ一夕に対応する コンテンヅを同時に利用することができるポータブルデバイス(Por table Device( P Dとも称する)) の台数 (後述する、 いわゆるチェ ヅクァゥトできる P Dの台数) を示す。 利用条件のデ一夕に示され る数だけコンテンツをチェックアウトしたときでも、 パーソナルコ ンビュー夕 1は、 そのコンテンツを再生できる。
又は、 利用条件のデータは、 コピーすることができることを示す。 コンテンッをポ一夕ブルデバィス 6— 1乃至 6— 3にコピーしたと き、 パーソナルコンビュ一夕 1は記録しているコンテンツを再生で きる。 コンテンツの、 ポータブルデバイス 6— 1乃至 6— 3に記憶 させることができる回数は、 制限される場合がある。 この場合、 コ ピ一できる回数は、 増えることがない。
又は、 利用条件のデ一夕は、 他のパーソナルコンピュータに移動 することができるなどを示す。 ポータブルデバイス 6— 1乃至 6— 3にコンテンヅを移動させた後、 パーソナルコンピュータ 1が記録 しているコンテンツは使用できなくなる (コンテンツが削除される か、 又は利用条件が変更されて使用できなくなる) 。
利用条件のデ一夕の詳細は、 後述する。
パーソナルコンピュータ 1は、 暗号化して記録しているコンテン ヅを、 コンテンツに関連するデータ (例えば、 曲名、 又は再生条件 など) とともに、 U S B (Universal Sirial Bus)ケーブル 7— 1を 介して、 接続されているポー夕プルデバィス 6— 1に記憶させると ともに、 ポータブルデバイス 6— 1に記憶させたことに対応して、 記憶させたコンテンツに対応する利用条件のデ一夕を更新する (以 下、 チェックァゥ 卜と称する) 。 より詳細には、 チェックアウ トし たとき、 パーソナルコンピュータ 1が記録している、 そのコンテン ッに対応する利用条件のデ一夕のチェックァゥ トできる回数は、 1 減らされる。 チェックアウ トできる回数が 0のとき、 対応するコン テンヅは、 チェックアウトすることができない。
パーソナルコンピュータ 1は、 暗号化して記録しているコンテン ヅを、 コンテンツに関連するデ一夕とともに、 U S Bケーブル 7— 2を介して、 接続されているポータブルデバイス 6— 2に記憶させ るとともに、 ポータブルデバイス 6— 2に記憶させたことに対応し て、 記憶させたコンテンツに対応する利用条件のデータを更新する。 パーソナルコンピュータ 1は、 暗号化して記録しているコンテンツ を、 コンテンヅに関連するデ一夕とともに、 U S Bケーブル 7— 3 を介して、 接続されているポー夕ブルデバィス 6— 3に記憶させる とともに、 ポー夕ブルデバイス 6— 3に記憶させたことに対応して、 記憶させたコンテンツに対応する利用条件のデ一夕を更新する。 また、 パーソナルコンビュ一夕 1は、 U S Bケーブル 7— 1を介 して、 接続されているポ一夕ブルデバィス 6 — 1にパーソナルコン ビュ一夕 1がチェックアウ トしたコンテンヅを、 ポータブルデバィ ス 6— 1に消去させて (又は、 使用できなくさせて) 、 消去させた コンテンツに対応する利用条件のデ一夕を更新する (以下、 チエツ クインと称する) 。 より詳細には、 チェックインしたとき、 パーソ ナルコンピュータ 1が記録している、 対応するコンテンツの利用条 件のデ一夕のチェックァゥトできる回数は、 1増やされる。
パーソナルコンピュータ 1は、 U S Bケーブル 7— 2を介して、 接続されているポー夕ブルデバィス 6— 2にパーソナルコンビュ一 夕 1がチエックアウトしたコンテンツを、 ポー夕プルデバィス 6— 2に消去させて (又は、 使用できなくさせて) 、 消去させたコンテ ンッに対応する利用条件のデ一夕を更新する。 パーソナルコンビュ
—夕 1は、 U S Bケーブル 7— 3を介して、 接続されているポー夕 ブルデバイス 6— 3にパーソナルコンビュ一夕 1がチヱヅクァゥト したコンテンヅを、 ポー夕プルデバイス 6— 3に消去させて (又は、 使用できなくさせて) 、 消去させたコンテンツに対応する利用条件 のデータを更新する。
パーソナルコンピュ一夕 1は、 図示せぬ他のパーソナルコンピュ —夕がポータブルデバイス 6— 1にチェックアウトしたコンテンツ をチェックインできない。 パーソナルコンピュ一夕 1は、 他のパー ソナルコンピュー夕がポ一夕ブルデバイス 6— 2にチェックァゥト したコンテンツをチェックインできない。 パーソナルコンピュータ 1は、 他のパーソナルコンピュー夕がポータブルデバィス 6— 3に チェックァゥ卜したコンテンツをチェックインできない。
E M D登録サーバ 3は、 パーソナルコンビユー夕 1が E M Dサー ノ 4— 1乃至 4— 3からコンテンツの取得を開始するとき、 パーソ ナルコンピュータ 1の要求に対応して、 ネッ トワーク 2を介して、 パーソナルコンピュータ 1 と E M Dサーバ 4一 1乃至 4一 3との相 互認証に必要な認証鍵をパーソナルコンピュータ 1に送信するとと もに、 E M Dサーバ 4— 1乃至 4— 3に接続するためのプログラム をパーソナルコンピュータ 1に送信する。
E M Dサーバ 4 一 1は、 パーソナルコンピュータ 1の要求に対応 して、 ネッ トワーク 2を介して、 コンテンツに関連するデ一夕 (例 えば、 曲名、 又は再生制限など) とともに、 パーソナルコンビユー 夕 1にコンテンツを供給する。 E M Dサーバ 4— 2は、 パーソナル コンピュータ 1の要求に対応して、 ネッ トワーク 2を介して、 コン テンッに関連するデータとともに、 パーソナルコンピュータ 1にコ ンテンッを供給する。 E M Dサーバ 4— 3は、 パーソナルコンビュ 一夕 1の要求に対応して、 ネヅ トワーク 2を介して、 コンテンヅに 関連するデータとともに、 パーソナルコンビユー夕 1にコンテンヅ を供給する。
E M Dサーバ 4— 1乃至 4— 3のそれぞれが供給するコンテンツ は、 同一又は異なる圧縮の方式で圧縮されている。 E M Dサーバ 4 一 1乃至 4— 3のそれぞれが供給するコンテンツは、 同一又は異な る暗号化の方式で暗号化されている。
WWW (World Wide Web)サーバ 5— 1は、 パーソナルコンビユー 夕 1の要求に対応して、 ネッ トワーク 2を介して、 コンテンツを読 み取った C D (例えば、 C Dのアルバム名、 又は C Dの販売会社な ど) 及び C Dから読み取ったコンテンツに対応するデータ (例えば、 曲名、 又は作曲者名など) をパーソナルコンピュータ 1に供給する。 WWWサーバ 5— 2は、 パーソナルコンピュータ 1の要求に対応し て、 ネッ トワーク 2を介して、 コンテンツを読み取った C D及び C Dから読み取つたコンテンツに対応するデ一夕をパーソナルコンビ ュ一夕 1に供給する。
ポー夕ブルデバイス 6— 1は、 パーソナルコンピュータ 1から供 給されたコンテンツ (すなわち、 チェックアウトされたコンテン ヅ) を、 コンテンツに関連するデ一夕 (例えば、 曲名、 又は再生制 限など) とともに記憶する。 ポータブルデバイス 6— 1は、 コンテ ンッに関連するデータに基づいて、 記憶しているコンテンツを再生 し、 図示せぬヘッ ドフォンなどに出力する。
例えば、 コンテンツに関連するデ一夕として記憶されている、 再 生制限としての再生回数を超えて再生しようとしたとき、 ポータブ ルデバイス 6— 1は、 対応するコンテンツの再生を停止する。 コン テンッに関連するデ一夕として記憶されている再生制限としての、 再生期限を過ぎた後に再生しょうとしたとき、 ポータブルデバイス
6— 1は、 対応するコンテンツの再生を停止する。
使用者は、 コンテンツを記憶したポー夕プルデバイス 6 — 1をパ —ソナルコンピュータ 1から取り外して、 持ち歩き、 記憶している コンテンツを再生させて、 コンテンツに対応する音楽などをへヅ ド フォンなどで聴くことができる。
ポ一夕プルデバイス 6— 2は、 パーソナルコンピュータ 1から供 給されたコンテンツを、 コンテンヅに関連するデ一夕とともに記憶 する。 ポ一夕ブルデバイス 6— 2は、 コンテンツに関連するデ一夕 に基づいて、 記憶しているコンテンツを再生し、 図示せぬへヅ ドフ オンなどに出力する。 使用者は、 コンテンツを記憶したポ一夕ブル デバイス 6— 2をパーソナルコンピュータ 1から取り外して、 持ち 歩き、 記憶しているコンテンツを再生させて、 コンテンツに対応す る音楽などをへッ ドフォンなどで聴くことができる。
ポー夕ブルデバイス 6— 3は、 パーソナルコンビュ一夕 1から供 給されたコンテンツを、 コンテンッに関連するデ一夕とともに記憶 する。 ポータブルデバイス 6— 3は、 コンテンツに関連するデータ に基づいて、 記憶しているコンテンツを再生し、 図示せぬヘッ ドフ オンなどに出力する。 使用者は、 コンテンツを記憶したポータブル デバイス 6— 3をパーソナルコンピュータ 1から取り外して、 持ち 歩き、 記憶しているコンテンツを再生させて、 コンテンツに対応す る音楽などをへッ ドフォンなどで聴くことができる。 以下、 ポ一夕ブルデバィス 6— 1乃至 6— 3を個々に区別する必 要がないとき、 単にポ一夕ブルデバイス 6と称する。
図 2は、 パーソナルコンビュ一夕 1の構成を説明する図である。 C P U (Central Processing Unit) 1 1は、 各種アプリケーション プログラム (詳細については後述する) や、 O S(0perating Syste m)を実際に実行する。 ROM(Read- only Memory) 1 2は、 一般的に は、 CPU 1 1が使用するプログラムや演算用のパラメ一夕のうち の基本的に固定のデ一夕を格納する。 RAM (Rand om— Ac c e s s Memo r y) 13は、 C P U 1 1の実行において使用 するプログラムや、 その実行において適宜変化するパラメ一夕を格 納する。 これらは CPUバスなどから構成されるホストバス 14に より相互に接続されている。
ホス トバス 14は、 ブリッジ 1 5を介して、 P C I (Peripheral Component Interconnect/ Interface) ノ スなどの外部ノ ス 1 6【こ接 続されている。
キ一ボード 18は、 CPU 1 1に各種の指令を入力するとき、 使 用者により操作される。 マウス 1 9は、 ディスプレイ 20の画面上 のポイントの指示や選択を行うとき、 使用者により操作される。 デ イスプレイ 20は、 液晶表示装置又は CR T(Cathode Ray Tube)な どから成り、 各種情報をテキス トやイメージで表示する。 HDD(H ard Disk Drive) 2 1は、 ハードディスクを駆動し、 それらに CP U 1 1によって実行するプログラムや情報を記録又は再生させる。
ドライブ 22は、 装着されている磁気ディスク 4 1、 光ディスク 42 ( CDを含む) 、 光磁気ディスク 43、 又は半導体メモリ 44 に記録されているデータ又はプログラムを読み出して、 そのデ一夕 又はプログラムを、 イン夕一フェース 17、 外部バス 16、 ブリツ ジ 15及びホストバス 14を介して接続されている RAM 13に供 給する。
U S Bポート 23— 1には、 U SBケ一プル 7— 1を介して、 ポ ―夕ブルデバィス 6— 1が接続される。 U S Bポート 23— 1は、 ィン夕一フェース 17、 外部バス 16、 ブリッジ 15、 乂はホスト バス 14を介して、 HDD 21、 CPU 1 1、 又は RAM13から 供給されたデ一夕 (例えば、 コンテンツ又はポ一夕ブルデバイス 6 一 1のコマンドなどを含む) をポータブルデバイス 6— 1に出力す る。
U S Bポート 23— 2には、 US Bケーブル 7— 2を介して、 ポ —夕ブルデバイス 6— 2が接続される。 U S Bポート 23— 2は、 イン夕一フェース 17、 外部バス 16、 ブリッジ 15、 又はホスト バス 14を介して、 HDD 21、 CPU 1 又は RAM13から 供給されたデ一夕 (例えば、 コンテンツ又はポ一夕ブルデバイス 6 — 2のコマンドなどを含む) をポ一夕ブルデバイス 6— 2に出力す る。
U S Βポート 23— 3には、 U S Βケーブル 7— 3を介して、 ポ —夕ブルデバイス 6— 3が接続される。 U S Βポート 23— 3は、 ィン夕ーフェース 17、 外部バス 16、 ブリッジ 1 5、 又はホスト バス 14を介して、 HDD 21、 CPU 1 1、 又は RAM 13から 供給されたデ一夕 (例えば、 コンテンツ又はポータブルデバイス 6 ― 3のコマンドなどを含む) をポー夕ブルデバイス 6— 3に出力す る。
I E C ( Internationl Electrotechnical Commission; 60958 端子 24 aを有する音声入出力ィン夕一フヱ一ス 24は、 デジタル 音声入出力、 あるいはアナログ音声入出力のィン夕一フェース処理 を実行する。 スピーカ 45は、 音声入出力インターフェース 24か ら供給された音声信号を基に、 コンテンツに対応する所定の音声を 出力する。
これらのキーボード 18乃 音声入出力イン夕一フェース 24は、 イ ン夕一フェース 17に接続されており、 イン夕一フェース 17は、 外部バス 16、 プリッジ 15及びホス トバス 14を介して C P U 1
1に接続されている。
通信部 25は、 ネッ トワーク 2が接続され、 CPU 1 1、 又は H DD 21から供給されたデータ (例えば、 登録の要求、 又はコンテ ンッの送信要求など) を、 所定の方式のパケッ トに格納して、 ネッ トワーク 2を介して、 送信するとともに、 ネッ トワーク 2を介して、 受信したパケッ トに格納されているデ一夕 (例えば、 認証鍵、 又は コンテンツなど) を CPU 1 1、 RAMI 3、 又は HDD 21に出 力する。
半導体 I Cとして、 一体的に形成され、 パーソナルコンピュータ 1に装着されるアダプタ 26の CPU 32は、 外部バス 16、 プリ ヅジ 15及びホス卜バス 14を介してパーソナルコンビュー夕 1の CPU 1 1と共働し、 各種の処理を実行する。 RAM 33は、 CP U 32が各種の処理を実行する上において必要なデータやプログラ ムを記憶する。 不揮発性メモリ 34は、 パーソナルコンピュータ 1 の電源がオフされた後も保持する必要があるデータを記憶する。 R OM36には、 パーソナルコンピュータ 1から、 暗号化されている プログラムが転送されてきたとき、 それを復号するプログラムが記 憶されている。 RTC(Real Time Clock) 35は、 計時動作を実行 し、 時刻情報を提供する。
通信部 25及びアダプタ 26は、 外部バス 16、 ブリッジ 15及 びホス トバス 14を介して CP U 1 1に接続されている。
以下、 USBポート 23— 1乃至 23— 3を個々に区別する必要 がないとき、 単に、 USBポ一ト 23と称する。 以下、 USBケ一 プル 7— 1乃至 7— 3を個々に区別する必要がないとき、 単に US Bケーブル 7と称する。
次に、 ポータブルデバィス 6の構成を図 3を参照して説明する。 電源回路 52は、 乾電池 5 1から供給される電源電圧を所定の電圧 の内部電力に変換して、 CPU 53乃至表示部 67に供給すること により、 ポータブルデバィス 6全体を駆動させる。
U S Bコントローラ 57は、 U S Bコネクタ 56を介して、 パー ソナルコンピュータ 1と US Bケーブル 7を介して接続された場合、 パーソナルコンピュータ 1から転送されたコンテンヅを含むデ一夕 を、 内部バス 58を介して、 CPU 53に供給する。
パーソナルコンピュータ 1から転送されるデ一夕は、 1パケヅ ト 当たり 64バイ トのデ一夕から構成され、 12Mb i t/s e cの 転送レートでパーソナルコンピュータ 1から転送される。
ポータブルデバイス 6に転送されるデータは、 ヘッダ及びコンテ ンヅから構成される。 ヘッダには、 コンテンツ ID、 ファイル名、 ヘッダサイズ、 コンテンツ鍵、 ファイルサイズ、 コ一デック ID、 フアイル情報などが格納されているとともに、 再生制限処理に必要 な再生制限デ一夕、 開始日時、 終了日時、 回数制限及び再生回数力 ゥン夕などが格納されている。 コンテンツは、 ATRAC 3などの 符号化方式で符号化され、 暗号化されている。
ヘッダサイズは、 ヘッダのデ一夕長 (例えば、 3 3バイ トなど) を表し、 ファイルサイズは、 コンテンツのデ一夕長 (例えば、 3 3 , 6 3 6 , 1 3 8バイ トなど) を表す。
コンテンツ鍵は、 暗号化されているコンテンツを復号するための 鍵であり、 パーソナルコンピュー夕 1 とポー夕ブルデバィス 6との 相互認証の処理で生成されたセッション鍵 (一時鍵) を基に暗号化 された状態で、 パーソナルコンピュータ 1からポータブルデバイス 6に送信される。
ポ一夕ブルデバィス 6が U S Bケーブル 7を介してパーソナルコ ンピュー夕 1の U S Bポート 2 3に接続されたとき、 ポー夕プルデ バイス 6とパーソナルコンピュータ 1 とは、 相互認証の処理を実行 する。 この相互認証の処理は、 例えば、 チャレンジレスポンス方式 の認証の処理である。 ちなみに、 ポータブルデバイス 6の D S P 5 9は、 チャレンジレスポンス方式の認証の処理を行うとき、 暗号解 読 (復号) の処理を実行する。
チャレンジレスポンス方式とは、 例えば、 パーソナルコンビユー 夕 1が生成するある値 (チャレンジ) に対して、 ポータブルデバィ ス 6がパーソナルコンピュータ 1 と共有している秘密鍵を使用して 生成した値 (レスポンス) で応答する方式である。 チャレンジレス ポンス方式の相互認証の処理においては、 パーソナルコンビュ一夕 1が生成する値は認証の処理毎に毎回変化するので、 例えば、 ポ一 夕ブルデバィス 6が出力した、 秘密鍵を使用して生成された値が読 み出されて、 いわゆる、 なりすましの攻撃を受けても、 次の相互認 証の処理では、 相互認証に使用される値が異なるので、 パーソナル コンビュ一夕 1は不正を検出できる。
コンテンヅ I Dは、 コンテンツに対応した、 コンテンツを特定す るための I Dである。
コ一デック I Dは、 コンテンツの符号化方式に対応した I Dであ り、 例えば、 コーデック I D " 1 " は、 A T R A C 3に対応し、 コ —デック I D" 0" は、 MP 3 (MPEG(Moving Picture Experts Gro up) Audio Layer- 3)に対応する。
ファイル名は、 コンテンツに対応するパーソナルコンビュ一夕 1 が記録しているコンテンツファイル (後述する) を AS C I I (Ame rican National Standard Code for Information Interchange) コ ードに変換したデータであり、 ファイル情報は、 コンテンツに対応 する曲名、 アーティスト名、 作詞者名、 又は作曲者名などを AS C I Iコードに変換したデ一夕である。
再生制限データは、 コンテンツの再生が可能な期間 (すなわち、 開始日時又は終了日時) 又は回数制限 (再生の回数の制限) が設定 されているか否かを示すデータである。 再生制限デ一夕には、 回数 制限が設定されているとき、 " 1" が割り当てられ、 再生が可能な 期間が設定されているとき、 " 2" が割り当てられ、 回数制限及び 再生が可能な期間がいずれも設定されていないとき (いわゆる、 買 取りで購入されたとき) 、 " 0" が割り当てられる。
開始日時及び終了日時は、 再生制限データが" 2" であるとき、 再生可能期間の範囲を示すデータである。 例えば、 開始日時が" 0 0040 F" であり、 終了日時が" 00070 F" であるとき、 対 応するコンテンツは、 2000年 4月 1 5日から 2000年 7月 1 5日まで、 再生が可能である。 同様に、 回数制限及び再生回数カウン夕は、 再生制限デ一夕が" 1" 又は" 2" であるとき、 回数制限は、 そのコンテンツに対応し て予め設定された再生可能な回数であり、 再生回数カウン夕は、 そ のコンテンツの再生の処理を実行したとき CPU 53により更新さ れる、 コンテンツが再生された回数を示す。 例えば、 回数制限が" 02" であるとき、 そのコンテンツの再生可能な回数は 2回であり、 再生回数カウンタが" 0 1" であるとき、 そのコンテンツが再生さ れた回数は 1回である。
例えば、 再生制限データが" 2" であり、 開始日時が" 0004 0 F" であり、 終了日時が" 00070 F" であり、 回数制限が" 02" であるとき、 ポータブルデバイス 6は、 対応するコンテンツ を、 2000年 4月 1 5日から 2000年 7月 1 5日までの期間に おいて、 1日 2回ずつ繰り返し再生できる。
例えば、 再生制限デ一夕が" 1" であり、 開始日時が" 0000 00" であり、 終了日時が" 000000" であり、 回数制限が" 0 a" であり、 再生回数カウン夕が" ◦ 5" であるとき、 対応する コンテンツは、 再生可能な期間の制限がなく、 再生可能な回数が 1 0回であり、 再生された回数が 5回である。
ポータブルデバイス 6が、 パーソナルコンピュータ 1からコンテ ンッとともにコンテンツの書き込み命令を受信した場合、 R OM 5 5から RAM 54に読み出したメインプログラムを実行する C P U
53は、 書き込み命令を受け取り、 フラッシュメモリコントローラ
60を制御して、 パーソナルコンピュータ 1から受信したコンテン ッをフラッシュメモリ 6 1に書き込ませる。
フラッシュメモリ 6 1は、 約 64MBy t eの記憶容量を有し、 コンテンツを記憶する。 また、 フラッシュメモリ 6 1には、 所定の 圧縮方式で圧縮されているコンテンツを伸張するための再生用コ一 ドが予め格納されている。
なお、 フラッシュメモリ 61は、 ポー夕プルデバイス 6にメモリ カードとして着脱可能とすることができる。
使用者による、 図示せぬ Fi生/停止ボタンの押し下げ操作に対応 した再生命令が操作キ一コントロ一ラ 62を介して CP U53に供 給されると、 CPU 53は、 フラッシュメモリコントローラ 60に、 フラッシュメモリ 61から、 再生用コードとコンテンツとを読み出 させ、 D S P 59に転送させる。
D S P 59は、 フラッシュメモリ 61から転送された再生用コー ドに基づいてコンテンヅを CRC(Cyclic Redundancy Check) 方式 で誤り検出をした後、 再生して、 再生したデータ (図 3中において D 1で示す) をディジタル/アナログ変換回路 63に供給する。
DSP 59は、 内部に設けられた図示せぬ発信回路とともに一体 に構成され、 外付けされた水晶で成る発信子 59 Aからのマス夕一 クロック MCLKを基に、 コンテンツを再生するとともに、 マス夕 —クロック MCLK、 マス夕一クロヅク MCLKを基に内部の発振 回路で生成した所定の周波数のビッ トクロック BCLK、 並びに、 フレーム単位の Lチャンネルクロック L C L K及び Rチャンネルク ロック RCLKからなる動作クロック LRCLKをディジタルアナ ログ変換回路 63に供給する。
DSP 59は、 コンテンヅを再生するとき、 再生用コードに従つ て上述の動作クロックをディジ夕ルアナログ変換回路 63に供給し て、 コンテンツを再生しないとき、 再生用コードに従って動作クロ ックの供給を停止して、 ディジタルアナログ変換回路 6 3を停止さ せて、 ポータブルデバイス 6全体の消費電力量を低減する。
同様に、 C P U 5 3及び U S Bコントローラ 5 7も、 水晶でなる 発振子 5 3 A又は 5 7 Aがそれぞれ外付けされ、 発振子 5 3 A又は 5 7 Aからそれぞれ供給されるマス夕一ク口ック M C L Kに基づき、 所定の処理を実行する。
このように構成することで、 ポータブルデバイス 6は、 C P U 5 3 , D S P 5 9, U S Bコントローラ 5 7等の各回路ブロックに対 してクロック供給を行うためのクロック発生モジュールが不要とな り、 回路構成を簡素化するとともに小型化することができる。
ディジ夕ルアナログ変換回路 6 3は、 再生したコンテンツをアナ ログの音声信号に変換して、 これを増幅回路 6 4に供給する。 増幅 回路 6 4は、 音声信号を増幅して、 ヘッ ドフォンジャック 6 5を介 して、 図示せぬヘッ ドフォンに音声信号を供給する。
このように、 ポ一夕ブルデバイス 6は、 図示せぬ再生/停止ボ夕 ンが押圧操作されたとき、 C P U 5 3の制御に基づいてフラッシュ メモリ 6 1に記憶されているコンテンツを再生するとともに、 再生 中に再生/停止ボタンが押圧操作されたとき、 コンテンツの再生を 停止する。
ポータブルデバイス 6は、 停止後に再度再生/停止ボタンが押圧 操作されたとき、 C P U 5 3の制御に基づいて停止した位置からコ ンテンッの再生を再開する。 再生/停止ボタンが押圧操作により再 生を停止して操作が加わることなく数秒間経過したとき、 ポ一タブ ルデバイス 6は、 自動的に電源をオフして消費電力を低減する。 因みに、 ポ一夕ブルデバイス 6は、 電源がオフになった後に再生 /停止ボタンが押圧操作されたとき、 前回の停止した位置からコン テンヅを再生せず、 1曲目から再生する。
また、 ポータブルデバイス 6の CPU 53は、 LCDコントロー ラ 68を制御して、 表示部 67に、 再生モードの状態 (例えば、 リ ピート再生、 イントロ再生など) 、 イコライザ調整 (すなわち、 音 声信号の周波数帯域に対応した利得の調整) 、 曲番号、 演奏時間、 再生、 停止、 早送り、 早戻しなどの状態、 音量及び乾電池 5 1の残 量等の情報を表示させる。
さらに、 ポ一夕ブルデバイス 6は、 EEPROM68に、 フラッ シュメモリ 80に書き込まれているコンテンツの数、 それぞれのコ ンテンッが書き込まれているフラッシュメモリ 61のブロヅク位置 及びその他種々のメモリ蓄積情報等のいわゆる FAT (F i l e Al l o c at i on Tab l e) を格納する。
因みに、 本実施の形態においては、 コンテンツは、 64KByt eを 1ブロックとして扱われ、 1曲のコンテンツに対応したプロッ ク位置が FATに格納される。
フラッシュメモリ 61に F A Tが格納される場合、 例えば、 1曲 目のコンテンツが CPU 53の制御によりフラッシュメモリ 61に 書き込まれると、 1曲目のコンテンツに対応するプロック位置が F A Tとしてフラッシュメモリ 61に書き込まれ、 次に、 2曲目のコ ンテンヅがフラッシュメモリ 61に書き込まれると、 2曲目のコン テンッに対応するプロック位置が FATとしてフラッシュメモリ 6 1 (1曲目と同一の領域) に書き込まれる。
このように、 FATは、 フラッシュメモリ 6 1へのコンテンツの 書き込みのたびに書き換えられ、 更に、 デ一夕の保護の為、 同一の デ一夕がリザーブ用に 2重に書き込まれる。
FATがフラッシュメモリ 6 1に書き込まれると、 1回のコンテ ンッの書き込みに対応して、 フラッシュメモリ 61の同一の領域が 2回書き換えられるので、 少ないコンテンツの書き込みの回数で、 フラッシュメモリ 61に規定されている書換えの回数に達してしま い、 フラッシュメモリ 61の書換えができなくなってしまう。 そこで、 ポ一夕ブルデバイス 6は、 FATを EEPROM68に 記憶させて、 1回のコンテンツの書き込みに対応するフラヅシュメ モリ 61の書換えの頻度を少なく している。
書換えの回数の多い FATを E E PROM 68に記憶させること により、 FATをフラッシュメモリ 6 1に記憶させる場合に比較し て、 ポー夕プルデバイス 6は、 コンテンツの書き込みができる回数 を数十倍以上に増やすことができる。 更に、 CPU53は、 EEP ROM 68に FATを追記するように書き込ませるので、 EE PR 〇M 68の同一の領域の書換えの頻度を少なく して、 E E P R OM 68が短期間で書換え不能になることを防止する。
ポ一夕ブルデバイス 6は、 U S Bケ一ブル 7を介してパーソナル コンピュータ 1に接続されたとき (以下、 これを USB接続と称す る) 、 USBコントローラ 57から CPU53に供給される割り込 み信号に基づき、 U S B接続されたことを認識する。
ポー夕ブルデバィス 6は、 US B接続されたことを認識すると、 パーソナルコンピュータ 1から U S Bケーブル 7を介して規定電流 値の外部電力の供給を受けるとともに、 電源回路 52を制御して、 乾電池 51からの電力の供給を停止させる。
CPU 53は、 U SB接続されたとき、 DSP59のコンテンツ の再生の処理を停止させる。 これにより、 CPU 53は、 パ一ソナ ルコンピュータ 1から供給される外部電力が規定電流値を超えてし まうことを防止して、 規定電流値の外部電力を常時受けられるよう に制御する。
このように C P U 53は、 US B接続されると、 乾電池 51から 供給される電力からパーソナルコンピュータ 1から供給される電力 に切り換えるので、 電力単価の安いパーソナルコンピュータ 1から の外部電力が使用され、 電力単価の高い乾電池 51の消費電力が低 減され、 かく して乾電池 51の寿命を延ばすことができる。
なお、 CPU53は、 パーソナルコンピュータ 1から U S Bケ一 ブル 7を介して外部電力の供給を受けたとき、 DSP59の再生処 理を停止させることにより、 D S P 59からの輻射を低減させ、 そ の結果としてパーソナルコンピュータ 1を含むシステム全体の輻射 を一段と低減させる。
図 4は、 CPU 11の所定のプログラムの実行等により実現され る、 パーソナルコンピュータ 1の機能の構成を説明するブロック図 である。 コンテンツ管理プログラム 1 1 1は、 EMD選択プログラ ム 131、 チェックィン /チェックァゥト管理プログラム 132、 暗号方式変換プログラム 135、 圧縮方式変換プログラム 136、 暗号化プログラム 137、 利用条件変換プログラム 139、 利用条 件管理プログラム 140、 認証プログラム 141、 復号プログラム 142、 PD用ドライノ、 143、 購入用プログラム 144及び購入 用プログラム 145などの複数のプログラムで構成されている。 コンテンツ管理プログラム 1 1 1は、 例えば、 シャッフルされて いるインストラクション、 又は暗号化されているィンストラクショ ンなどで記述されて、 その処理内容を外部から隠蔽し、 その処理内 容の読解が困難になる (例えば、 使用者が、 直接、 コンテンツ管理 プログラム 1 1 1を読み出しても、 ィンス トラクシヨンを特定でき ないなど) ように構成されている。
E M D選択プログラム 1 3 1は、 コンテンツ管理プログラム 1 1 1がパーソナルコンピュ一夕 1にィンストールされるとき、 コンテ ンヅ管理プログラム 1 1 1には含まれず、 後述する E M Dの登録の 処理において、 ネッ トワーク 2を介して、 E M D登録サーバ 3から 受信される。 E M D選択プログラム 1 3 1は、 E M Dサーバ 4— 1 乃至 4一 3のいずれかとの接続を選択して、 購入用アプリケ一ショ ン 1 1 5、 又は購入用プログラム 1 4 4若しくは 1 4 2に、 E M D サーバ 4— 1乃至 4一 3のいずれかとの通信 (例えば、 コンテンツ を購入するときの、 コンテンツのダウンロードなど) を実行させる。 チェックィン /チエックアウト管理プログラム 1 3 2は、 チェヅ クイン又はチェヅクァゥ卜の設定、 及びコンテンヅデ一夕ベース 1 1 4に記録されている利用条件ファイル 1 6 2— 1乃至 1 6 2— N に基づいて、 コンテンツファイル 1 6 1— 1乃至 1 6 1 — Nに格納 されているコンテンツをポ一夕ブルデバィス 6 — 1乃至 6— 3のい ずれかにチェックァゥ卜するか、 又はポータブルデバイス 6 — 1乃 至 6— 3に記憶されているコンテンツをチェックィンする。
チェックィン /チェックァゥト管理プログラム 1 3 2は、 チエツ クイン又はチヱックァゥ卜の処理に対応して、 コンテンヅデ一夕べ —ス 1 1 4に記録されている利用条件ファイル 1 6 2— 1乃至 1 6 2—Nに格納されている利用条件のデータを更新する。
コピ一管理プログラム 1 3 3は、 コンテンツデータベース 1 1 4 に記録されている利用条件ファイル 1 6 2— 1乃至 1 6 2— Nに基 づいて、 コンテンツファイル 1 6 1— 1乃至 1 6 1—Nに格納され ているコンテンツをポータブルデバイス 6— 1乃至 6 - 3のいずれ かにコピーするか、 又はポー夕プルデバィス 6— 1乃至 6— 3から コンテンヅをコンテンツデ一夕べ一ス 1 1 4にコピーする。
移動管理プログラム 1 3 4は、 コンテンツデ一夕べ一ス 1 1 4に 記録されている利用条件ファイル 1 6 2— 1乃至 1 6 2— Nに基づ いて、 コンテンツファイル 1 6 1— 1乃至 1 6 1—Nに格納されて いるコンテンッをポータブルデバイス 6— 1乃至 6— 3のいずれか に移動するか、 又はポー夕ブルデバィス 6— 1乃至 6— 3からコン テンッをコンテンツデ一夕ベース 1 1 4に移動する。
暗号方式変換プログラム 1 3 5は、 ネッ トワーク 2を介して、 購 入用アプリケーションプログラム 1 1 5が E M Dサーバ 4— 1から 受信したコンテンツの暗号化の方式、 購入用プログラム 1 4 4が E M Dサーバ 4一 2から受信したコンテンツの暗号化の方式、 又は購 入用プログラム 1 4 5が E M Dサーバ 4— 3から受信したコンテン ヅの暗号化の方式を、 コンテンツデ一夕ベース 1 1 4が記録してい るコンテンツファイル 1 6 1— 1乃至 1 6 1一 Nに格納されている コンテンヅと同一の暗号化の方式に変換する。
また、 暗号方式変換プログラム 1 3 5は、 ポ一夕ブルデバイス 6 ― 1又は 6— 3にコンテンツをチェックァゥトするとき、 チェック アウトするコンテンツを、 ポータブルデバィス 6— 1又は 6— 3が 利用可能な暗号化方式に変換する。
圧縮方式変換プログラム 1 3 6は、 ネッ トワーク 2を介して、 購 入用アプリケーションプログラム 1 1 5が E M Dサーバ 4 _ 1から 受信したコンテンツの圧縮の方式、 購入用プログラム 144が EM Dサーバ 4— 2から受信したコンテンツの圧縮の方式、 又は購入用 プログラム 145が EMDサーバ 4— 3から受信したコンテンツの 圧縮の方式を、 コンテンヅデ一夕べ一ス 1 14が記録しているコン テンッファイル 161— 1乃至 161一 Nに格納されているコンテ ンッと同一の圧縮の方式に変換する。
また、 圧縮方式変換プログラム 136は、 ポータブルデバイス 6 一 1又は 6— 3にコンテンツをチェックアウトするとき、 チェック アウトするコンテンツを、 ポ一夕プルデバィス 6— 1又は 6— 3が 利用可能な圧縮の方式に変換する。
暗号化プログラム 137は、 例えば CDから読み取られ、 録音プ ログラム 1 13から供給されたコンテンツ (暗号化されていない) を、 コンテンツデ一夕ベース 1 14が記録しているコンテンツファ ィル 161— 1乃至 161— Nに格納されているコンテンツと同一 の暗号化の方式で暗号化する。
圧縮/伸張プログラム 138は、 例えば CDから読み取られ、 録 音プログラム 113から供給されたコンテンツ (圧縮されていな い) を、 コンテンツデ一夕べ一ス 114が記録しているコンテンツ ファイル 161— 1乃至 161—Nに格納されているコンテンツと 同一の符号化の方式で符号化する。 圧縮/伸張プログラム 138は、 符号化されているコンテンツを伸張 (復号) する。
利用条件変換プログラム 139は、 ネッ トワーク 2を介して、 購 入用アプリケーションプログラム 115が EMDサーバ 4— 1から 受信したコンテンツの利用条件を示すデ一夕 (いわゆる、 Us ag e Ru l e) , 購入用プログラム 144が EMDサーバ 4一 2か ら受信したコンテンツの利用条件を示すデータ、 又は購入用プログ ラム 1 4 5が E M Dサーバ 4— 3から受信したコンテンツの利用条 件を示すデータを、 コンテンツデ一夕ベース 1 1 4が記録している 利用条件ファイル 1 6 2— 1乃至 1 6 2—Nに格納されている利用 条件データと同一のフォーマツ トに変換する。
また、 利用条件変換プログラム 1 3 9は、 ポー夕プルデバイス 6 一 1又は 6— 3にコンテンツをチェックァゥ卜するとき、 チェック ァゥ卜するコンテンツに対応する利用条件のデ一夕を、 ポータブル デバイス 6— 1又は 6— 3が利用可能な利用条件のデータに変換す る。
利用条件管理プログラム 1 4 0は、 コンテンツのコピー、 移動、 チェックイン、 又はチェックアウトの処理を実行する前に、 コンテ ンヅデ一夕ベース 1 1 4に記録されている利用条件ファイル 1 6 2 一 1乃至 1 6 2—Nに格納されている利用条件のデ一夕に対応する ハッシュ値 (後述する) を基に、 利用条件のデ一夕の改竄を検出す る。 利用条件管理プログラム 1 4 0は、 コンテンツのコピー、 移動、 チェックイン、 又はチェックアウトの処理に伴う、 コンテンヅデ一 夕べ一ス 1 1 4に記録されている利用条件ファイル 1 6 2— 1乃至 1 6 2—Nに格納されている利用条件のデータを更新に対応して、 利用条件のデータに対応するハッシュ値を更新する。
認証プログラム 1 4 1は、 コンテンヅ管理プログラム 1 1 1と購 入用アプリケーションプログラム 1 1 5との相互認証の処理及びコ ンテンッ管理プログラム 1 1 1 と購入用プログラム 1 4 4との相互 認証の処理を実行する。 また、 認証プログラム 1 4 1は、 E M Dサ ーバ 4一 1と購入用アプリケーシヨンプログラム 1 1 5との相互認 証の処理、 E M Dサーバ 4— 2と購入用プログラム 1 4 4との相互 認証の処理及び E M Dサーバ 4一 3と購入用プログラム 1 4 5との 相互認証の処理で利用される認証鍵を記憶している。
認証プログラム 1 4 1が相互認証の処理で利用する認証鍵は、 コ ンテンッ管理プログラム 1 1 1がパーソナルコンピュー夕 1にィン ス トールされたとき、 認証プログラム 1 4 1に記憶されておらず、 表示操作指示プログラム 1 1 2により登録の処理が正常に実行され たとき、 E M D登録サーバ 3から供給され、 認証プログラム 1 4 1 に記憶される。
復号プログラム 1 4 2は、 コンテンツデ一夕ベース 1 1 4が記録 しているコンテンツファイル 1 6 1— 1乃至 1 6 1 一 Nに格納され ているコンテンツをパーソナルコンピュータ 1が再生するとき、 コ ンテンッを復号する。
P D用ドライバ 1 4 3は、 ポ一夕プルデバイス 6— 2に所定のコ ンテンッをチェックアウトするとき、 又はポータブルデバイス 6— 2から所定のコンテンツをチェックィンするとき、 ポー夕ブルデバ イス 6— 2にコンテンツ又はポ一夕ブルデバィス 6— 2に所定の処 理を実行させるコマンドを供給する。
P D用ドラ 1 4 3は、 ポ一夕ブルデバイス 6 - 1に所定のコ ンテンッをチェックアウトするとき、 又はポータブルデバイス 6— 1から所定のコンテンツをチェックィンするとき、 デバイス ドライ 1 1 6— 1にコンテンツ、 又はデバイス ドラ 1 1 6— 1に所 定の処理を実行させるコマンドを供給する。
P D用ドライバ 1 4 3は、 ポータブルデバィス 6— 3に所定のコ ンテンッをチェックアウトするとき、 又はポータブルデバイス 6— 3から所定のコンテンツをチェックィンするとき、 デバイス ドライ ノ 1 16— 2にコンテンツ、 又はデバイス ドライノ 1 16-2に所 定の処理を実行させるコマンドを供給する。
購入用プログラム 144は、 いわゆる、 プラグインプログラムで あり、 コンテンヅ管理プログラム 1 1 1とともにインス トールされ、 EMD登録サーバ 3からネッ トワーク 2を介して供給され、 又は所 定の CDに記録されて供給される。 購入用プログラム 144は、 ノ 一ソナルコンビュ一夕 1にインストールされたとき、 コンテンツ管 理プログラム 1 1 1の有する所定の形式のィン夕ーフヱ一スを介し て、 コンテンツ管理プログラム 1 1 1とデータを送受信する。
購入用プログラム 144は、 例えば、 シャッフルされているイン ストラクシヨン、 又は暗号化されているィンストラクシヨンなどで 記述されて、 その処理内容を外部から隠蔽し、 その処理内容の読解 が困難になる (例えば、 使用者が、 直接、 購入用プログラム 144 を読み出しても、 インストラクションを特定できないなど) ように 構成されている。
購入用プログラム 144は、 ネッ トワーク 2を介して、 EMDサ ーバ 4― 2に所定のコンテンッの送信を要求するとともに、 EMD サーバ 4一 2からコンテンツを受信する。 また、 購入用プログラム 144は、 EMDサーバ 4一 2からコンテンツを受信するとき、 課 金の処理を実行する。
購入用プログラム 145は、 コンテンツ管理プログラム 1 1 1と ともにインス トールされるプログラムであり、 ネッ トワーク 2を介 して、 EMDサーバ 4一 3に所定のコンテンヅの送信を要求すると ともに、 EMDサーバ 4— 3からコンテンツを受信する。 また、 購 入用プログラム 1 4 5は、 E M Dサーバ 4— 3からコンテンツを受 信するとき、 課金の処理を実行する。
表示操作指示プログラム 1 1 2は、 フィル夕リングデ一夕フアイ ル 1 8 1、 表示データファイル 1 8 2、 画像ファイル 1 8 3— 1乃 至 1 8 3— K、 又は履歴データフアイノレ 1 8 4を基に、 ディスプレ ィ 2 0に所 のウインドウの画像を表示させ、 キーボード 1 8又は マウス 1 9への操作を基に、 コンテンッ管理プログラム 1 1 1にチ エツクイン又はチェックァゥトなどの処理の実行を指示する。 フィルタリングデ一夕ファイル 1 8 1は、 コンテンヅデータべ一 ス 1 1 4に記録されているコンテンツファイル 1 6 1— 1乃至 1 6 1 一 Νに格納されているコンテンヅそれぞれに重み付けをするため のデ一夕を格納して、 H D D 2 1に記録されている。
表示データファイル 1 8 2は、 コンテンツデ一夕べ一ス 1 1 4に 記録されているコンテンツファイル 1 6 1— 1乃至 1 6 1 — Nに格 納されているコンテンツに対応するデ一夕を格納して、 H D D 2 1 に記録されている。
画像ファイル 1 8 3— 1乃至 1 8 3—Kは、 コンテンツデータべ —ス 1 1 4に記録されているコンテンツファイル 1 6 1— 1乃至 1 6 1 一 Nに対応する画像、 又は後述するパッケージに対応する画像 を格納して、 H D D 2 1に記録されている。
以下、 画像ファイル 1 8 3— 1乃至 1 8 3—Kを個々に区別する 必要がないとき、 単に、 画像ファイル 1 8 3と称する。
履歴データファイル 1 8 4は、 コンテンツデ一夕べ一ス 1 1 4に 記録されているコンテンツファイル 1 6 1— 1乃至 1 6 1—Nに格 納されているコンテンツがチェックァゥトされた回数、 チェックィ ンされた回数、 その日付などの履歴データを格納して、 HDD 21 に記録されている。
表示操作指示プログラム 1 12は、 登録の処理のとき、 ネッ トヮ —ク 2を介して、 EMD登録サーバ 3に、 予め記憶しているコンテ ンヅ管理プログラム 1 11の I Dを送信するとともに、 EMD登録 サーバ 3から認証用鍵及び EMD選択プログラム 131を受信して、 コンテンツ管理プログラム 1 1 1に認証用鍵及び EMD選択プログ ラム 13 1を供給する。
録音プログラム 1 13は、 所定のウインドウの画像を表示させて、 キーボード 18又はマウス 19への操作を基に、 ドライブ 22に装 着された光ディスク 42である CDからコンテンヅの録音時間など のデ一夕を読み出す。
録音プログラム 1 13は、 CDに記録されているコンテンヅの録 音時間などを基に、 ネッ トワーク 2を介して、 WWWサーバ 5— 1 又は 5— 2に CDに対応するデータ (例えば、 アルバム名、 又はァ —テイス ト名など) 又は CDに記録されているコンテンツに対応す るデータ (例えば、 曲名など) の送信を要求するとともに、 WWW サーバ 5— 1又は 5— 2から CDに対応するデ一夕又は C Dに記録 されているコンテンツに対応するデータを受信する。
録音プログラム 113は、 受信した CDに対応するデ一夕又は C Dに記録されているコンテンツに対応するデ一夕を、 表示操作指示 プログラム 1 12に供給する。
また、 録音の指示が入力されたとき、 録音プログラム 1 13は、 ドライブ 22に装着された光ディスク 42である CDからコンテン ッを読み出して、 コンテンツ管理プログラム 1 1 1に出力する。 コンテンツデータベース 1 1 4は、 コンテンヅ管理プログラム 1 1 1から供給された所定の方式で圧縮され、 所定の方式で暗号化さ れているコンテンヅを、 コンテンヅファイル 1 6 1— 1乃至 1 6 1 —Nのいずれかに格納する (H D D 2 1に記録する) 。 コンテンツ デ—夕ベース 1 1 4は、 コンテンツファイル 1 6 1— 1乃至 1 6 1 — Nにそれぞれ格納されているコンテンツに対応する利用条件のデ 一夕を、 コンテンツが格納されているコンテンツファイル 1 6 1— 1乃至 1 6 1—Nにそれぞれ対応する利用条件ファイル 1 6 2— 1 乃至 1 6 2—Nのいずれかに格納する (H D D 2 1に記録する) 。 コンテンツデ一夕ベース 1 1 4は、 コンテンヅファイル 1 6 1— 1乃至 1 6 1—N又は利用条件ファイル 1 6 2— 1乃至 1 6 2— N をレコードとして記録してもよい。
例えば、 コンテンツファイル 1 6 1 - 1に格納されているコンテ ンッに対応する利用条件のデータは、 利用条件ファイル 1 6 2— 1 に格納されている。 コンテンツファイル 1 6 1—Nに格納されてい るコンテンツに対応する利用条件のデータは、 利用条件ファイル 1 6 2—Nに格納されている。
なお、 利用条件ファイル 1 6 2— 1乃至 1 6 2—Nに記録されて いるデ一夕は、 後述する期限データベースに記録されているデ一夕、 又は曲データべ一スに記録されているデータに対応する。 すなわち、 コンテンツデ一夕ベース 1 1 4は、 後述する期限デ一夕ベース及び 曲デ—夕ベースを包含して、 構成されている。
以下、 コンテンツファイル 1 6 1— 1乃至 1 6 1—Nを個々に区 別する必要がないとき、 単に、 コンテンツファイル 1 6 1と称する。 以下、 利用条件ファイル 1 6 2— 1乃至 1 6 2 — Nを個々に区別す る必要がないとき、 単に、 利用条件ファイル 1 6 2と称する。 購入用アプリケーションプログラム 1 1 5は、 E M D登録サーバ 3からネッ トワーク 2を介して供給され、 又は所定の C D— R O M に記録されて供給される。 購入用アプリケーションプログラム 1 1 5は、 ネッ トワーク 2を介して、 E M Dサーバ 4— 1に所定のコン テンッの送信を要求するとともに、 E M Dサーバ 4一 1からコンテ ンッを受信して、 コンテンツ管理プログラム 1 1 1に供給する。 ま た、 購入用アプリケーションプログラム 1 1 5は、 E M Dサーバ 4 一 1からコンテンツを受信するとき、 課金の処理を実行する。
次に、 表示デ一夕ファイル 8 2に格納されているデータとコンテ ンッデ一夕べ—スに格納されているコンテンツファイル 1 6 1— 1 乃至 1 6 1 — Nとの対応付けについて説明する。
コンテンツファイル 1 6 1— 1乃至 1 6 1 一 Nのいずれかに格納 されているコンテンツは、 所定のパッケージに属する。 パッケージ は、 より詳細には、 オリジナルパヅケージ、 マイセレク トパッケ一 ジ、 又はフィル夕リングパッケージのいずれかである。
オリジナルパッケージは、 1以上のコンテンツが属し、 E M Dサ —バ 4一 1乃至 4一 3におけるコンテンツの分類 (例えば、 いわゆ るアルバムに対応する) 、 又は一枚の C Dに対応する。 コンテンツ は、 いずれかのオリジナルパッケージに属し、 複数のオリジナルパ ッケージに属することができない。 また、 コンテンツが属するオリ ジナルパッケージは、 変更することができない。 使用者は、 オリジ ナルパッケージに対応する情報の一部を編集 (情報の追加、 又は追 加した情報の変更) することができる。
マイセレク トパッケージは、 使用者が任意に選択した 1以上のコ ンテンヅが属する。 マイセレク トパッケージにいずれのコンテンツ が属するかは、 使用者が任意に編集することができる。 コンテンヅ は、 1以上のマイセレク トパッケージに同時に属することができる。 また、 コンテンツは、 いずれのマイセレク トパッケージに属しなく ともよい。
フィル夕リングパヅケ一ジには、 フィルタリングデ一夕ファイル
1 8 1に格納されているフィル夕リングデ一夕を基に選択されたコ ンテンヅが属する。 フィル夕リングデ一夕は、 E M Dサーバ 4— 1 乃至 4 — 3又は WWWサーバ 5— 1若しくは 5— 2などからネッ ト ワーク 2を介して供給され、 又は所定の C Dに記録されて供給され る。 使用者は、 フィル夕リングデ一夕フアイノレ 1 8 1に格納されて いるフィルタリングデ一夕を編集することができる。
フィル夕リングデータは、 所定のコンテンツを選択する、 又はコ ンテンッに対応する重みを算出する基準となる。 例えば、 今週の J - P O P (日本のポップス) ベストテンに対応するフィル夕リング データを利用すれば、 パーソナルコンピュータ 1は、 今週の日本の ポヅプス 1位のコンテンヅ乃至今週の日本のポッブス 1 0位のコン テンッを特定することができる。
フィル夕リングデータファイル 1 8 1は、 例えば、 過去 1月間に チェックァゥトされていた期間が長い順にコンテンツを選択するフ ィル夕リングデ一夕、 過去半年間にチェックァゥ卜された回数が多 いコンテンツを選択するフィル夕リングデ一夕、 又は曲名に" 愛" の文字が含まれているコンテンツを選択するフィル夕リングデ一夕 などを含んでいる。
このようにフィル夕リングパッケージのコンテンツは、 コンテン ヅに対応するコンテンツ用表示デ一夕 2 2 1 (コンテンツ用表示デ —夕 2 2 1に使用者が設定したデータを含む) 、 又は履歴デ一夕 1 8 4などと、 フィル夕リングデ一夕とを対応させて選択される。 ドライバ 1 1 7は、 コンテンッ管理プログラム 1 1 1などの制御 の基に、 音声入出力インターフェース 2 4を駆動して、 外部から供 給されたデジタルデ一夕であるコンテンツを入力してコンテンツ管 理プログラム 1 1 1に供給するか、 若しくはコンテンヅ管理プログ ラム 1 1 1を介してコンテンツデータべ一ス 1 1 4から供給された コンテンヅをデジタルデータとして出力するか、 又は、 コンテンツ 管理プログラム 1 1 1を介してコンテンツデ一夕べ一ス 1 1 4から 供給されたコンテンツに対応するアナ口グ信号を出力する。
図 5は、 表示操作指示プログラム 1 1 2を起動させたとき、 操作 指示プログラム 1 1 2がディスプレイ 2 0に表示させる表示操作指 示ウインドウの例を示す図である。
表示操作指示ウインドウには、 録音プログラム 1 1 3を起動させ るためのボタン 2 0 1、 E M D選択プログラム 1 3 1を起動させる ためのボタン 2 0 2、 チェックィン又はチェックァゥトの処理の設 定を行うフィールドを表示させるためのボタン 2 0 3、 マイセレク トパッケージを編集するためフィールドを表示させるためのボタン 2 0 4等が配置されている。
ボタン 2 0 5が選択されているとき、 フィールド 2 1 1には、 ォ リジナルパッケージに対応するデータが表示される。 ボタン 2 0 6 が選択されているとき、 フィールド 2 1 1には、 マイセレクトパッ ケージに対応するデータが表示される。 ボタン 2 0 7が選択されて いるとき、 フィールド 2 1 1には、 フィル夕リングパッケージに対 応するデータが表示される。
フィールド 2 1 1に表示されるデ一夕は、 パヅケージに関するデ 一夕であり、 例えば、 パッケージ名称、 又はアーティスト名などで ある。
例えば、 図 5においては、 パッケージ名称" ファース ト" 及びァ 一テイス ト名" A太郎" 、 パッケージ名称" セカンド" 及びァーテ イス ト名" A太郎" などがフィ一ルド 2 1 1に表示される。
フィ一ルド 2 1 2には、 フィ一ルド 2 1 1で選択されているパヅ ケージに属するコンテンツに対応するデ一夕が表示される。 フィー ルド 2 1 2に表示されるデータは、 例えば、 曲名、 演奏時間、 又は チェックアウト可能回数などである。
例えば、 図 5においては、 パッケージ名称" セカンド" に対応す るパッケージが選択されているので、 パッケージ名称" セカンド" に対応するパッケージに属するコンテンツに対応する曲名" 南の酒 場" 及びチェックアウ ト可能回数 (例えば、 8分音符の 1つがチェ ックァゥ ト 1回に相当し、 8分音符が 2つでチェックァゥト 2回を 示す) 、 並びに曲名" 北の墓場" 及びチヱックァゥ ト可能回数 (8 分音符が 1つでチェックァゥト 1回を示す) などがフィールド 2 1 2に表示される。
このように、 フィールド 2 1 2に表示されるチヱックァゥト可能 回数としての 1つの 8分音符は、 対応するコンテンヅが 1回チエツ クァゥ トできることを示す。
フィールド 2 1 2に表示されるチェックァゥ ト可能回数としての 休符は、 対応するコンテンツがチェックアウトできない (チェヅク アウト可能回数が 0である。 (ただし、 パーソナルコンピュータ 1 はそのコンテンツを再生することができる。 ) ) ことを示す。 また、 フィールド 2 1 2に表示されるチヱックァゥト可能回数としてのト 音記号は、 対応するコンテンツのチェックァゥ 卜の回数に制限がな い (何度でも、 チェックアウトできる) ことを示している。
なお、 チェックアウト可能回数は、 図 5に示すように所定の図形 (例えば、 l'j、 星、 月などでもよい) の数で表示するだけでなく、 数字等で表示してもよい。
また、 表示操作指示ウィンドウには、 選択されているパッケージ 又はコンテンヅに対応付けられている画像等 (図 4の画像ファイル 1 8 3— 1乃至 1 8 3—Kのいずれかに対応する) を表示させるフ ィールド 2 0 8が配置されている。 ボタン 2 0 9は、 選択されてい るコンテンツを再生する (コンテンツに対応する音声をスピーカ 4 5に出力させる) とき、 クリックされる。
ボタン 2 0 5が選択され、 フィールド 2 1 1に、 ォリジナルパッ ケージに対応するデ一夕が表示されている場合、 フィールド 2 1 2 に表示されている所定のコンテンツの曲名を選択して、 消去の操作 をしたとき、 表示操作指示プログラム 1 1 2は、 コンテンヅ管理プ ログラム 1 1 1に、 選択されている曲名に対応する、 コンテンツデ —夕べ一ス 1 1 4に格納されている所定のコンテンツを消去させる。 録音プログラム 1 1 3が表示させるウインドウのボタン (後述す るボタン 2 5 5 ) が選択されて (アクティブにされて) いる場合、 C Dから読み出したコンテンツがコンテンツデ一夕ベース 1 1 4に 記録されたとき、 表示操作指示プログラム 1 1 2は、 表示操作指示 ウィンドウに、 予め指定されているポータブルデバイス 6— 1乃至 6一 3のいずれかに記憶されているコンテンツの曲名を表示するフ ィールド 2 1 3を表示する。
録音プログラム 1 1 3が表示させるウインドウのボタンが選択さ れている場合、 C Dから読み出したコンテンヅがコンテンッデ一夕 ベース 1 1 4に記録されたとき、 表示操作指示プログラム 1 1 2は、 コンテンヅ管理プログラム 1 1 1に、 コンテンヅデ一夕ベース 1 1 4に記録した、 C Dから読み出したコンテンツを予め指定されてい るポ一夕ブルデバイス 6— 1乃至 6— 3のいずれかにチェックァゥ トさせる。
フィールド 2 1 3にはコンテンヅの曲名に対応させて、 フィ一ル ド 2 1 3の最も左に、 そのコンテンツがパーソナルコンビュ一夕 1 にチェックインできるか否かを示す記号が表示される。 例えば、 フ ィールド 2 1 3の最も左に位置する "〇" は、 コンテンツの曲名に 対応するコンテンツがパーソナルコンピュータ 1にチェックインで きる (すなわち、 パーソナルコンピュータ 1からチェックアウトさ れた) ことを示している。 フィールド 2 1 3の最も左に位置する " X " は、 コンテンツの曲名に対応するコンテンツがパーソナルコン ピュー夕 1にチェックインできない (すなわち、 パーソナルコンビ ュ一夕 1からチェックアウ トされていない、 例えば、 他のパーソナ ルコンビユー夕からチェックアウトされた) ことを示している。 表示操作指示プログラム 1 1 2が表示操作指示ウィンドウにフィ 一ルド 2 1 3を表示させたとき、 表示操作指示プログラム 1 1 2は、 表示操作指示ウインドウに、 予め指定されているポータブルデバィ ス 6— 1乃至 6— 3のいずれかに記憶されているコンテンツが属す るポ一夕ブルパッケージ (ポー夕プルデバイス 6— 1乃至 6— 3の いずれかに記憶されているコンテンツが属するパ一ケージ) の名称 を表示するフィールド 2 1 4、 フィールド 2 1 3を閉じるためのボ タン 2 1 0及びチェックィン又はチェックァゥトを実行させるボタ ン 2 1 5を表示する。
更に、 表示操作指示プログラム 1 1 2が表示操作指示ウィンドウ にフィールド 2 1 3を表示させたとき、 表示操作指示プログラム 1 1 2は、 表示操作指示ウィンドウに、 フィールド 2 1 2で選択され た曲名に対応するコンテンツのチェックァゥトを設定するボタン 2 1 6、 フィールド 2 1 3で選択された曲名に対応するコンテンツの チェックインを設定するボタン 2 1 7、 フィールド 2 1 3に表示さ れたコンテンツ名に対応する全てのコンテンッのチエツクインを設 定するボタン 2 1 8及びチェックィン又はチェックァゥ卜の設定を 取り消すボタン 2 1 9を配置させる。
ボタン 2 1 6乃至 2 1 9の操作によるチェックィン又はチェック アウトの設定だけでは、 パーソナルコンピュータ 1は、 チェックィ ン又はチヱックァゥ卜の処理を実行しない。
ボタン 2 1 6乃至 2 1 9の操作によるチヱックイン又はチェック ァゥ 卜の設定をした後、 ボタン 2 1 5がクリックされたとき、 表示 操作指示プログラム 1 1 2は、 コンテンヅ管理プログラム 1 1 1に チェックイン又はチェックァゥ卜の処理を実行させる。 すなわち、 ボタン 2 1 5がクリックされたとき、 表示操作指示プログラム 1 1 2は、 チェックイン又はチェックアウトの設定に基づき、 コンテン ッ管理プログラム 1 1 1に、 ポ一夕ブルデバイス 6— 1乃至 6— 3 のいずれかにコンテンツを送信させるか、 又はチェックィンに対応 する所定のコマンド (例えば、 ポ一夕ブルデバイス 6— 1乃至 6— 3のいずれかが記憶している所定のコンテンッを消去させるコマン ドなど) を送信させるとともに、 送信したコンテンヅ又はコマンド に対応する利用条件ファイル 1 6 2に格納されている利用条件のデ 一夕を更新させる。
チェックィン又はチェックァゥトが実行されたとき、 表示操作指 示プログラム 1 1 2は、 送信したコンテンヅ又は送信されたコマン ドに対応して、 履歴データファイル 1 8 4に格納されている履歴デ 一夕を更新する。 履歴データは、 チェックイン又はチェックアウト されたコンテンヅを特定する情報、 又はそのコンテンツがチェック ィン又はチェックァゥトされた日付、 そのコンテンツがチェックァ ゥ 卜されたポータブルデバイス 6— 1乃至 6— 3の名称などから成 る
チェックィン又はチェックァゥトの設定の処理は短時間で実行で きるので、 使用者は、 チェックイン又はチェックアウトの処理の実 行後の状態を迅速に知ることができ、 時間のかかるチェックィン又 はチェックァゥ卜の処理の回数を減らして、 チェックイン又はチェ ックアウトに必要な時間全体 (設定及び実行を含む) を短くするこ とができる。
図 6は、 録音プログラム 1 1 3がディスプレイ 2 0に表示させる ウィンドウの例を説明する図である。 例えば、 WWWサーバ 5— 2 から受信した C Dの情報を基に、 録音プログラム 1 1 3は、 フィー ルド 2 5 1に、 " ァシンクロナイズド" などの C Dのタイ トルを表 示する。 WWWサーバ 5— 2から受信した C Dの情報を基に、 録音 プログラム 1 1 3は、 フィールド 2 5 2に、 例えば、 ,, クワイ" な どのアーティスト名を表示する。
WWWサーバ 5 _ 2から受信した C Dの情報を基に、 録音プログ ラム 1 1 3は、 フィールド 2 5 3の曲名を表示する部分に、 例えば、 ,, ヒート" , " ブラネッ ト" , ,, ブラック" , ,, ソウル" などの曲 名を表示する。 同様に、 録音プログラム 1 1 3は、 フィールド 2 5 3のアーティストを表示する部分に、 例えば、 " クワイ" などのァ ーテイス ト名を表示する。
録音プログラム 1 1 3が所定の C Dの情報を受信した後、 録音プ ログラム 1 1 3は、 H D D 2 1の所定のディレク トリに C Dの情報 を格納する。
ボタン 2 5 4などがクリックされて、 C Dの情報の取得の指示を 受けたとき、 録音プログラム 1 1 3は、 始めに、 H D D 2 1の所定 のディ レク トリを検索する。 録音プログラム 1 1 3は、 そのディレ ク トリに C Dの情報が格納されているとき、 図示せぬダイアログボ ヅクスを表示して、 使用者にディ レク トリに格納されている C Dの 情報を利用するか否かを選択させる。
録音プログラム 1 1 3が表示させるウインドウに配置されている コンテンツの録音の開始を指示するボタン 2 5 6がクリックされた とき、 録音プログラム 1 1 3は、 ドライブ 2 2に格納されている C Dからコンテンツを読み出して、 C Dから読み出したコンテンヅを C Dの情報とともにコンテンツ管理プログラム 1 1 1に供給する。 コンテンツ管理プログラム 1 1 1の圧縮/伸張プログラム 1 3 8は、 録音プログラム 1 1 3から供給されたコンテンツを所定の圧縮の方 式で圧縮して、 暗号化プログラム 1 3 7は、 圧縮されたコンテンツ を、 暗号化する。 また、 利用条件変換プログラム 1 3 9は、 圧縮さ れ、 暗号化されたコンテンツに対応する利用条件のデータを生成す る。 コンテンツ管理プログラム 1 1 1は、 圧縮され、 暗号化されたコ ンテンヅを利用条件のデータとともに、 コンテンヅデ一夕ベース 1 1 4に供給する。
コンテンヅデ一夕べ一ス 1 1 4は、 コンテンツ管理プログラム 1 1 1から受信したコンテンツに対応するコンテンツファイル 1 6 1 及び利用条件ファイル 1 6 2を生成して、 コンテンツファイル 1 6 1にコンテンツを格納するとともに、 利用条件ファイル 1 6 2に利 用条件のデータを格納する。
コンテンツ管理プログラム 1 1 1は、 コンテンヅデ一夕べ一ス 1 1 4にコンテンツ及びコンテンツに対応する利用条件のデ一夕が格 納されたとき、 録音プログラム 1 1 3から受信した C Dの情報及び 利用条件のデ一夕を表示操作指示プログラム 1 1 2に供給する。 表示操作指示プログラム 1 1 2は、 録音の処理でコンテンヅデ一 夕べ一ス 1 1 4に格納されたコンテンツに対応する利用条件のデ一 夕及び C Dの情報を基に、 表示デ一夕ファイル 1 8 2に格納する表 示用のデータを生成する。
録音プログラム 1 1 3が表示させるウィンドウには、 更に、 C D から読み出したコンテンツをコンテンツデ一夕ベース 1 1 4に記録 したとき、 自動的に、 C Dから読み出したコンテンツをポータブル デバイス 6— 1乃至 6— 3のいずれかにチェックァゥ卜させるか否 かの設定を行うボタン 2 5 5が配置されている。
例えば、 ボタン 2 5 5がクリックされたとき、 録音プログラム 1 1 3は、 ポ一夕ブルデバィス 6— 1乃至 6 _ 3のリストを示すプル ダウンメニューを表示する。 使用者が、 そのプルダウンメニューか らポータブルデバイス 6 - 1乃至 6— 3のいずれかを選択したとき、 パーソナルコンビユー夕 1は、 選択されたポ一夕ブルデバイス 6 - 1乃至 6— 3のいずれかに、 自動的に、 CDから記録したコンテン ヅをチェックアウ トする。 使用者が、 そのプルダウンメニューから " チェックァゥトしない" を選択した場合、 パーソナルコンビユー 夕 1は、 CDからコンテンツを記録したとき、 チェックアウトしな い。
このように、 録音プログラム 1 13が表示させるウインドウのボ タン 255をアクティブにしておくだけで、 C Dから読み出したコ ンテンヅがコンテンツデ一夕べ一ス 1 14に記録されたとき、 パ一 ソナルコンピュータ 1は、 予め指定されているポ一夕ブルデバィス 6一 1乃至 6— 3のいずれかに、 CDから読み出したコンテンツを チェックアウトさせることができる。
次に、 図 7のフローチャートを参照して、 コンテンツ管理プログ ラム 1 1 1、 表示操作指示プログラム 1 12、 録音プログラム 1 1 3、 及びコンテンツデータべ一ス 1 14を実行する CPU 1 1によ る、 ドライブ 22に装着された CDから再生したコンテンツを HD D 21に転送し、 コピーする場合の処理について説明する。 使用者 がキーボード 18又はマウス 19を操作して、 ィンタ一フヱ一ス 1 7を介して CPU 1 1に対してドライブ 22に装着された CD (図 示せず) から再生されたコンテンツを HD D 21に転送、 コピーす る指令を入力すると、 録音プログラム 1 13は、 ステップ S 1 1に おいて、 インターフエ一ス 17を介してディスプレイ 20にコピー するコンテンヅを選択するための、 例えば、 図 6に示す GUI(Gra phical User Interface)を表示させる。
具体的には、 例えば、 録音プログラム 1 13は、 ドライブ 22に 装着された CDの TO C(Table Of Contents) を読み込み、 その C Dに含まれるコンテンツの情報を得て、 ディスプレイ 20に表示さ せる。 又は、 録音プログラム 1 13は、 CDに含まれている各コン テンヅ毎の I S R C ( International Standard Recording Code) を 読み出し、 そのコンテンツの情報を得て、 ディスプレイ 20に表示 させる。 あるいはまた、 ボタン 254がクリックされたとき、 録音 プログラム 1 13は、 ネッ トワーク 2を介して WWWサ一バ 5 - 1 又は 5— 2にアクセスし、 T〇Cを用いて、 その CDのコンテンツ の情報を得て、 コンテンヅに対応する曲名などをフィ一ルド 253 に表示させる。
使用者は、 ディスプレイ 20の GU Iを利用してキーボード 18 又はマウス 19を操作し、 フィールド 253に表示されている曲名 に対応するチェックボックスをクリックするなどして、 コピーする コンテンッを選択する。
次に、 ステップ S 12において、 録音プログラム 1 13は、 利用 条件管理プログラム 140に、 HDD 21に格納されている期限デ 一夕べ一ス (図 4に示すコンテンツデータベース 1 14の利用条件 フアイノレ 162— 1乃至 162— Nに対応する) をチェックさせる。 この期限デ一夕べ一スチェック処理の詳細は、 図 8のフローチヤ一 トに示されている。
ステップ S 31において利用条件管理プログラム 140は、 ァダ プ夕 26の CPU32と共働して、 期限データベース全体のハヅシ ュ値を計算し、 ステップ S 32において、 その計算された値と、 前 回保存しておいたハッシュ値と比較する。
なお、 期限デ一夕べ一スにデ一夕が何ら記録されていないとき、 利用条件管理プログラム 140は、 ハッシュ値を計算しない。
すなわち、 HDD 21には、 期限データベースが形成されており、 この期限デ一夕ベースには、 図 9に示すように、 HDD 21に記録 されているコンテンツ (コンテンツ) を管理する管理情報として、 過去に記録されたことのあるコンテンツの I S R Cとコピー日時が 対応して記憶されている。 この例においては、 アイテム 1乃至アイ テム 3の 3つのアイテムについて、 それぞれの I S R Cとコピー日 時が記憶されている。 この期限デ一夕ベースに記録されている全て のコンテンツの I SR Cとコピー日時に基づいた期限デ一夕ベース 全体のハッシュ値が、 後述するように、 ステップ S 38において、 アダプタ 26の CPU32により計算され、 不揮発性メモリ 34に 記憶されている。 ハッシュ値は、 データに対してハッシュ関数を適 用して得られた値である。 ハッシュ関数は、 一般的に可変長の長い デ一夕を、 固定長の短い値にマップする一方向性の関数であり、 ハ ッシュ値同士の衝突が起こりにくい性質を有している。 ハツシュ関 数の例としては、 S HA(Secure Hash Algorithm) , MD (Message Digest)5などがある。 利用条件管理プログラム 140は、 ステヅ プ S 3 1において、 CPU 32が実行したのと同様にハッシュ値を 計算する。 そして、 ステップ S 32において、 利用条件管理プログ ラム 140は、 CPU 32に、 不揮発性メモリ 34に記憶されてい るハッシュ値の読み出しを要求し、 転送を受けたハッシュ値と、 ス テツプ S 31で、 いま自分自身が計算したハッシュ値とを比較する。 ステップ S 33において、 利用条件管理プログラム 140は、 ス テツプ S 31でいま計算したハッシュ値と、 不揮発性メモリ 34に 記憶されている前回の期限デ一夕べ一スのハッシュ値とがー致する か否かを判定し、 一致しない場合には、 期限デ一夕ベースが改竄さ れたものと判定し、 利用条件管理プログラム 140は、 ステップ S 34において、 例えば、 録音プログラム 1 13に 「期限データべ一 スが改竄されたので、 コピ一ができません」 といったメッセージを 発生させ、 インターフェース 17を介してディスプレイ 20に出力 させ、 表示させ、 以後、 処理を終了させる。 すなわち、 この場合に は、 CDに記録されているコンテンツを再生し、 HDD 21にコピ 一する処理が禁止される。
ステツプ S 31で計算したハツシュ値と、 前回のハツシュ値とが 一致する場合には、 ステップ S 35に進み、 利用条件管理プログラ ム 140は、 録音プログラム 1 13に、 ステップ S 11で指定され たコピーするコンテンヅとして選択されたコンテンツ (選択された コンテンヅ) の I S R Cを CDから取得させる。 CDに I SRCが 記録されていない場合、 利用条件管理プログラム 140は、 録音プ ログラム 1 13に、 その CDの T 0 Cのデ一夕を読み出させ、 その データにハッシュ関数を適用するなどして、 例えば、 58ビッ トな どの適当な長さのデータを得て、 これを I SR Cに代えて用いる。 ステップ S 36において、 利用条件管理プログラム 140は、 ス テヅプ S 35で取得した I SRC (すなわち、 選択されたコンテン ヅ) が期限デ一夕べ一ス (図 9) に登録されているか否かを判定す る。 I SRCが期限デ一夕ベースに登録されていない場合には、 そ のコンテンツはまだ HDD 21に記録されていないことになるので、 ステップ S 37に進み、 利用条件管理プログラム 140は、 そのコ ンテンヅの I SRCと現在の日時とを期限デ一夕ベースに登録する。 なお、 利用条件管理プログラム 140は、 この現在の日時として、 C P U 3 2から転送を受けた、 アダプタ 2 6の R T C 3 5が出力す る値を利用する。 そして、 ステップ S 3 8において、 利用条件管理 プログラム 1 4 0は、 その時点における期限データベースのデ一夕 を読み出し、 アダプタ 2 6の C P U 3 2に転送する。 C P U 3 2は、 転送されてきたデ一夕のハッシュ値を計算し、 不揮発性メモリ 3 4 に保存してする。 上述したように、 このようにして保存されたハツ シュ値が、 ステップ S 3 2において、 前回保存しておいたハッシュ 値として利用される。
次に、 ステップ S 3 9において、 利用条件管理プログラム 1 4 0 は、 選択されたコンテンツが期限データベースに登録されていない ことを表す未登録のフラグを設定する。 このフラグは、 後述する図 7のステップ S 1 3において、 選択されたコンテンツが期限デ一夕 ベースに登録されているか否かの判定を行うときに用いられる。 ステップ S 3 6において、 選択されたコンテンツの I S R Cが期 限デ一夕ベースに登録されていると判定された場合、 その選択され たコンテンツは、 少なくとも一度、 H D D 2 1に登録されたことが あるコンテンツであるということになる。 そこで、 この場合、 ステ ップ S 4 0に進み、 利用条件管理プログラム 1 4 0は、 期限デ一夕 ベースに登録されているその選択されたコンテンヅの登録日時より、 現在の日時 (アダプタ 2 6の R T C 3 5が出力した現在の日時) が 4 8時間以上経過しているか否かを判定する。 現在時刻が、 登録日 時より、 既に 4 8時間以上経過している場合には、 H D D 2 1に、 少なく とも一度は記録したことがあるが、 既に、 その時から 4 8時 間以上経過しているので、 そのコンテンツを再度コピーさせたとし ても、 コンテンツの大量のコピ一は実質的に不可能なので、 この場 合には、 H D D 2 1へのコピーが許容される。 そこで、 ステップ S 4 1に進み、 利用条件管理プログラム 1 4 0は、 期限データベース の日時を、 過去の登録日時から現在の日時 (R T C 3 5の出力する 日時) に変更させる。 そして、 ステップ S 3 8に戻り、 利用条件管 理プログラム 1 4 0は、 再び、 期限データベース全体のハッシュ値 を C P U 3 2に計算させ、 不揮発性メモリ 3 4に保存させるととも に、 ステップ S 3 9において、 そのコンテンツに対して未登録のフ ラグを設定する。
一方、 ステップ S 4 0において、 現在時刻が登録日時より、 まだ 4 8時間以上経過していないと判定された場合、 その選択されたコ ンテンッの H D D 2 1へのコピーが禁止される。 そこで、 この場合 には、 ステップ S 4 2に進み、 利用条件管理プログラム 1 4 0は、 その選択されたコンテンツに対応して登録済みのフラグを設定する。 ステップ S 4 0の処理により、 所定の時間が経過しなければ、 コ ンテンッの新たなコピーを生成できないので、 不正でない通常の使 用を目的としたコンテンツのコピーの生成を不当に妨げることなく、 例えば、 不正な販売又は配布などに必要な大量のコンテンツのコピ 一の生成は、 実質的に不可能となる。 なお、 ステップ S 4 0におい ては、 判定の基準は 4 8時間以上の経過としたが、 4 8時間に限ら ず、 例えば、 1 2時間乃至 1 6 8時間のいずれかの時間であればよ い。
以上のようにして、 期限データベースチヱック処理により、 選択 されたコンテンツが H D D 2 1に登録されているか否かを表すフラ グが設定される。
図 7に戻り、 ステップ S 1 3においてコピー管理プログラム 1 3 3は、 選択されたコンテンツが期限データベースに登録済みである か否かを、 上述したフラグから判定する。 選択されたコンテンツが 登録済みである場合には、 ステップ S 1 4に進み、 コピー管理プロ グラム 1 3 3は、 録音プログラム 1 1 3に、 例えば、 「この曲は一 度コピーされてからまだ 4 8時問以上経過していないので、 コピ一 することができません」 のようなメッセ一ジをディスプレイ 2 0に 表示させる。 これにより、 使用者は、 そのコンテンツを H D D 2 1 にコピーすることができない理由を知ることができる。
ステツプ S 1 3において、 選択したコンテンツが期限データべ一 スに登録されていないと判定された場合、 ステップ S 1 5に進み、 録音プログラム 1 1 3は、 ドライブ 2 2を制御し、 そこに装着され ている C Dからコンテンツを読み出させる。 このコンテンツには、 図 1 0に示すように、 所定の位置にウォー夕マークコ一ドが挿入さ れている。 録音プログラム 1 1 3は、 ステップ S 1 6において、 コ ンテンヅに含まれているウォー夕マークコードを抽出し、 そのゥォ 一夕マークコードがコピー禁止を表しているいるか否かをステツプ S 1 7において判定する。 ウォー夕マ一クコ一ドがコピー禁止を表 している場合には、 ステップ S 1 8に進み、 録音プログラム 1 1 3 は、 録音プログラム 1 1 3に例えば、 「コピーは禁止されていま す」 のようなメッセージをイン夕一フェース 1 7を介してディスプ レイ 2 0に表示させ、 コピー処理を終了させる。
これに対して、 ステップ S 1 7において、 ウォー夕マークがコピ —禁止を表していないと判定された場合、 ステップ S 1 9に進み、 録音プログラム 1 1 3は、 コンテンツを、 圧縮/伸張プログラム 1 3 8に、 例えば、 A T R A C (Adaptive Transform Acoustic Codin g)3 (商標) などの方式で、 ソフ トウェア処理により圧縮させる。 ステップ S 20において、 録音プログラム 113は、 暗号化プログ ラム 137に、 予め設定され、 メモリ 13に記憶されている暗号鍵 を用いて、 例えば、 D E S (Data Encryption Standard)方式、 FE A L (Fast Encripherment Algotithm)方式などの暗号化方法により、 コンテンツを暗号化させる。 暗号鍵は、 この他、 例えば、 ソフ トゥ エアにより発生した乱数、 あるいはアダプタ 26の CPU32によ り発生させた乱数に基づいて生成したものを用いることもできる。 このように、 パーソナルコンピュータ 1だけではなく、 それに付随 して装着されたハ一ドウエアとしてのアダプタ 26の CPU32と、 共働して暗号化処理を実行するようにすることで、 解読がより困難 となる暗号化を行うことが可能となる。
次に、 ステップ S 21において、 録音プログラム 1 13は、 暗号 化されたデータを、 コンテンツデータベース 1 14に転送し、 1つ のファイル (コンテンツファイル 161として) としてファイル名 を付けて HDD2 1に保存させる。 あるいはまた、 1つのファイル の一部として、 そのファイル名の位置情報 (例えば、 先頭からのバ ィ ト数) を与えて保存するようにしてもよい。
この保存処理と、 上記した圧縮符号化処理及び暗号化処理とは別 々に行うようにしてもよいし、 同時に平行的に行うようにしてもよ い。
さらに、 ステップ S 22において、 録音プログラム 1 13は、 暗 号化プログラム 137に、 予め定められている不揮発性メモリ 34 に記憶されている保存用鍵を使って、 上述した DE S方式、 FEA L方式などの方式で、 コンテンツを暗号化した暗号鍵を暗号化させ、 HDD 21の曲データべ一ス (図 4に示すコンテンツデ一夕べ一ス 1 14の利用条件ファイル 162— 1乃至 162—Nに対応する) に保存する。
ステップ S 23において、 録音プログラム 1 13は、 保存したフ アイルに関する情報、 暗号化された暗号鍵、 そのコンテンツの情報、 使用者が GU Iを介して入力した曲名の情報の要素を組にして HD D 21の曲データベースに登録する (利用条件ファイル 162— 1 乃至 162—Nとして記録する) 。 そして、 ステップ S 24におい て、 録音プログラム 1 13は、 CPU 32に、 曲データベース全体 のハツシュ値を計算させ、 不揮発性メモリ 34に保存させる。
このようにして、 例えば、 図 1 1に示すような曲デ一夕ベースが、 HDD 2 1上に登録される。 この例においては、 アイテム 1乃至ァ ィテム 3のファイル名、 暗号化された暗号鍵、 曲名、 長さ、 再生条 件 (開始日時、 終了日時、 回数制限) 、 再生回数カウン夕、 再生時 課金条件、 コピー条件 (回数) 、 コピー回数カウン夕及びコピー条 件 (SCMS) が記録されている。
例えば、 SDMI (Secure Digital Music Initiative) が規定す る方式では、 CDからコピーしたコンテンツに対応して、 そのコン テンッがチェックァゥ トできる回数は、 3回に設定される。
CDから HDD 21にコンテンツが複製されて一定期間が経過す ると、 再びコンテンツを複製することができるようにしたので、 ュ —ザの個人の使用の範囲とされる、 数回の複製が可能となる。 一方、 個人の使用の範囲を超えて、 例えば、 大量に複製しょうとすると、 莫大な時間が必要とされ、 現実的に不可能になる。 また、 例えば、 パーソナルコンピュータ 1が故障して、 HDD 21に記録されてい たコンテンツが消去された場合においても、 一定期間の経過後、 消 去されたコンテンツを再び複製し、 H D D 2 1に記録することがで きる。
また、 例えば、 ネッ トワーク 2を介して H D D 2 1に記録されて いる期限データベースの内容を共有することもできる。
以上においては、 I S R Cに対応して複製された日時が記憶され ている場合を例として説明したが、 コンテンツや C Dを識別する情 報であれば、 他のもの (例えば、 曲名、 アルバム名、 それらの組合 せなど) を利用することもできる。
次に、 図 1 2乃至図 1 4のフローチャートを参照して、 表示操作 指示プログラム 1 1 2及びコンテンツ管理プログラム 1 1 1を実行 する C P U 1 1及びメインプログラムを実行する C P U 5 2による、 H D D 2 1からポ一夕ブルデバィス 6のフラッシュメモリ 6 1 (例 えば、 メモリースティ ック (商標) ) に、 コンテンツを移動する処 理及びチェックァゥ卜の処理について説明する。
始めに、 コンテンツの移動の処理について説明する。 ステップ S 5 1において、 移動管理プログラム 1 3 4は、 利用条件管理プログ ラム 1 4 0に、 曲デ一夕ベース全体のハッシュ値を計算させ、 ステ ップ S 5 2で、 前回 C P U 3 2に計算させ、 不揮発性メモリ 3 4に 保存しておいたハッシュ値と比較する。 両者が一致しない場合、 移 動管理プログラム 1 3 4は、 ステップ S 5 3に進み、 表示操作指示 プログラム 1 1 2に、 例えば、 「曲データベースが改竄された恐れ があります」 のようなメッセージをディスプレイ 2 0に表示させた 後、 処理を終了させる。 この場合の処理は、 図 8のステップ S 3 1 乃至ステップ S 3 4の処理と同様の処理である。 この場合において は、 HD D 21からポー夕プルデバィス 6へのコンテンツの移動が 実行されないことになる。
次に、 ステップ S 54において、 移動管理プログラム 134は、 HDD 2 1に形成されている曲データベース (コンテンツデータべ —ス 1 14に含まれる) から、 そこに登録されているコンテンツの 情報を読み出し、 表示操作指示プログラム 1 12に、 選択のための GU Iとしてディスプレイ 20に表示させる。 使用者は、 この選択 のための GU Iに基づいて、 HD D 21からポ一夕ブルデバィス 6 へ移動させるコンテンツを、 図 5のフィールド 212に表示される 曲名、 ボタン 216などをクリックして選択する。 次に、 ステップ S 55において、 移動管理プログラム 134は、 ステップ S 54で 選択された選択されたコンテンツの再生条件、 コピー条件、 再生時 課金条件などを調べる。 この処理の詳細は、 図 15のフローチヤ一 トを参照して後述する。
次に、 ステップ S 56において、 パーソナルコンピュータ 1の認 証プログラム 141とポー夕プルデバイス 6の CPU 53との間に おいて、 相互認証処理が行われ、 通信用鍵が共有される。
例えば、 ポ一夕ブルデバィス 6のフラッシュメモリ 6 1 (又は、 EE PROM 68) には、 マス夕一鍵 KMが予め記憶されており、 パーソナルコンビュ一夕 1の RAM 13 (又は、 HDD 21の所定 のファイル) には、 個別鍵 KPと I Dが予め記憶されているものと する。 C P U 53は、 認証プログラム 141から、 R A M 13に予 め記憶されている I Dの供給を受け、 その I Dと自分自身が有する マス夕一鍵 KMにハツシュ関数を適用して、 RAM 13に記憶され ているパーソナルコンピュータ 1の個別鍵と同一の鍵を生成する。 このようにすることで、 パーソナルコンピュータ 1とポー夕プルデ バイス 6の両方に、 共通の個別鍵が共有されることになる。 この個 別鍵を用いてさらに、 一時的な通信用鍵を生成することができる。 あるいはまた、 パーソナルコンピュータ 1の R A M 1 3に I Dと マス夕一鍵 K M Pを予め記憶させておくとともに、 ポ一夕ブルデバ イス 6のフラッシュメモリ 6 1にもポー夕ブルデバィス 6の I Dと マス夕一鍵 K MMを記憶させておく。 そして、 それぞれの I Dとマ ス夕一鍵をお互いに他方に送信することで、 他方は一方から送信さ れてきた I Dとマス夕一鍵にハッシュ関数を適用して、 他方の個別 鍵を生成する。.そして、 その個別鍵から、 一時的な通信用鍵をさら に生成するようにする。
なお、 認証の方法としては、 例えば、 I 0 S ( International Org anization for Standardization) 9 7 9 8— 2を利用することがで さる。
相互認証が正しく行われなかったとき、 処理は終了されるが、 正 しく行われたとき、 さらに、 ステップ S 5 7において、 移動管理プ 口グラム 1 3 4は、 コンテンッデ一夕ベース 1 1 4に、 選択された コンテンヅのファイル名を曲デ一夕ベースから読み出させ、 そのフ アイル名のコンテンツ (例えば、 図 7のステップ S 2 0の処理で暗 号化されている) を H D D 2 1から読み出す。 ステップ S 5 8にお いて、 移動管理プログラム 1 3 4は、 ステップ S 5 7で読み出した デジタルデ一夕であるコンテンツの圧縮符号化方式 (ステップ S 1 9の処理) 、 暗号化方式 (ステップ S 2 0の処理) 、 フォーマツ ト (例えば、 ヘッダの方式など) などをポータブルデバイス 6のもの に変換する処理を実行する。 この変換処理の詳細は、 図 1 7のフロ 一チャートを参照して後述する。
ステップ S 59において、 移動管理プログラム 1 34は、 PD用 ドライノ 143に、 ステップ S 58で変換したコンテンツを、 US Bポート 23を介してポ一夕ブルデバイス 6に転送させる。 ステヅ プ S 60において、 ポー夕ブルデバイス 6の CPU 53は、 USB コネクタ 56を介してこの伝送されてきたコンテンツを受信すると、 そのコンテンヅを、 そのままフラッシュメモリ 6 1に記憶させる。 ステツプ S 6 1において、 移動管理プログラム 1 34は、 さらに、 利用条件変換プログラム 1 39に、 曲データベースに登録されてい るその選択されたコンテンツの再生条件 (開始日時、 終了日時、 回 数制限など) を、 ポ一夕プルデバイス 6が管理している形式に変換 する。 ステップ S 62において、 移動管理プログラム 1 34は、 さ らに、 利用条件変換プログラム 1 39に、 選択されたコンテンツの 曲データベース中に登録されているコピー条件中の S CMS情報を、 ポータブルデバイス 6の管理する形式に変換させる。 そして、 ステ ップ S 63において、 移動管理プログラム 134は、 P D用ドライ ノ 143に、 ステップ S 6 1で変換した再生条件と、 ステップ S 6 2で変換した S CMS情報を、 ポータブルデバイス 6に転送させる。 ポータブルデバイス 6の CPU 53は、 転送を受けた再生条件と S CMS情報を、 フラッシュメモリ 6 1に保存する。
ステップ S 64において、 移動管理プログラム 1 34はまた、 P D用ドライバ 143に、 選択されたコンテンツの曲データベース中 に登録されている再生条件、 再生時課金条件、 コピー条件などを、 CPU 1 1が曲データベース中で扱っている形式のまま、 ポータブ ルデバイス 6に転送させ、 フラッシュメモリ 6 1に保存させる。 ステップ S 6 5において、 移動管理プログラム 1 3 4は、 コンテ ンヅデ一夕ベース 1 1 4に、 選択されたコンテンツの暗号化されて いる暗号鍵を曲データベースから読み出させ、 ステップ S 6 6にお いて、 復号プログラム 1 4 2に、 その暗号鍵を R A M 1 3に保存さ れている保存用鍵で復号させ、 暗号化プログラム 1 3 7に通信用鍵 で陪 化させる。 そして、 通信川鍵で暗号化した暗号鍵を、 移動管 理プログラム 1 3 4は、 P D用ドライノ 1 4 3に、 ポータブルデバ イス 6へ転送させる。
ポ一夕ブルデバィス 6の C P U 5 3は、 ステップ S 6 7で、 パー ソナルコンピュータ 1から転送されてきた暗号鍵を相互認証処理で 共有した通信用鍵を用いて復号し、 自分自身の保存用鍵を用いて暗 号化し、 既に保存したデ一夕と関連付けて、 フラッシュメモリ 6 1 に保存する。
C P U 5 3は、 暗号鍵の保存が完了すると、 ステップ S 6 8にお いて、 パーソナルコンピュータ 1に対して暗号鍵を保存したことを 通知する。 パーソナルコンピュータ 1の移動管理プログラム 1 3 4 は、 ポータブルデバイス 6からこの通知を受けると、 ステップ S 6 9において、 コンテンツデータベース 1 1 4に、 そのコンテンツに 対応するコンテンツファイル 1 6 1を削除させるとともに、 曲デ一 夕べ一スからそのコンテンツの要素の組 (すなわち、 利用条件ファ ィル 1 6 2 ) を削除させる。 すなわち、 これにより、 コピーではな く、 移動 (ム一ブ) が行われることになる。 そして、 ステップ S 7 0において、 移動管理プログラム 1 3 4は、 アダプタ 2 6の C P U 3 2に、 曲デ一夕ベースのデータを転送し、 全体のハッシュ値を計 算させ、 不揮発性メモリ 3 4に保存させる。 このハッシュ値が、 上 述したステップ S 5 2において、 前回保存しておいたハッシュ値と して用いられることになる。
次に、 パーソナルコンピュータ 1からポー夕ブルデバィス 6にコ ンテンヅをチェックァゥ卜する処理について説明する。 パーソナル コンピュー夕 1からポ一夕ブルデバィス 6にコンテンヅをチェック ァゥ卜する処理は、 図 1 2乃^図 1 4のパーソナルコンピュータ 1 からポ一夕ブルデバイス 6へコンテンツを移動させる場合と同様の 処理である。 すなわち、 チェックアウトの処理は、 パーソナルコン ピュー夕 1においてチェックィン /チェックァゥト管理プログラム 1 3 2により実行され、 図 1 4のステツプ S 6 9において、 コンテ ンッを削除する処理に代えて、 曲デ一夕ベースに記録されている、 チェックアウトされたコンテンツのチェックアウトした回数 (又は チェックァゥトできる回数) を更新する処理を実行することを除い て、 移動の場合の処理と基本的に同様の処理となるので、 その処理 の詳細の説明は省略する。
次に、 コンテンツ管理プログラム 1 1 1を実行する C P U 1 1に よる、 図 1 2のステツプ S 5 5における選択されたコンテンツの再 生条件などのチェック処理について図 1 5のフローチャートを参照 して説明する。 ステップ S 8 1において、 移動管理プログラム 1 3 4は、 コンテンヅデ一夕ベース 1 1 4に、 曲デ一夕ペースから、 各 種の条件を読み出させる。 移動管理プログラム 1 3 4は、 ステップ S 8 2において、 ステップ S 8 1で読み出した各種条件のうち、 コ ピ一回数がコピー制限回数を既に過ぎているか否かを判定する。 コ ピー回数が、 コピー制限回数を既にすぎている場合には、 それ以上 コピーを許容する訳にはいかないので、 ステップ S 8 3に進み、 移 動管理プログラム 134は、 表示操作指示プログラム 1 1 2に、 例 えば、 「既にコピー回数がコピー制限回数に達しています」 のよう なメッセージをディスプレイ 20に表示させ、 処理を終了させる。 ステップ S 82において、 コピー回数がコピー制限回数を過ぎてい ないと判定された場合、 ステップ S 84に進み、 現在日時が再生終 丫日時を過ぎているか否かの判定が行われる。 現在日時としては、 アダプタ 26の RT C 35より出力されたものが用いられる。 これ により、 使用者が、 パーソナルコンピュータ 1の現在時刻を意図的 に過去の値に修正したものが用いられるようなことが防止される。 移動管理プログラム 1 34は、 この現在日時を CPU 32から提供 を受けて、 ステップ S 84の判断を自ら行うか、 又は、 ステップ S 8 1で、 曲データべ一スから読み出した再生条件をアダプタ 26の CPU 32に供給し、 CPU 32に、 ステップ S 84の判定処理を 実行させる。
現在日時が再生終了日時を過ぎている場合、 ステップ S 8 5に進 み、 移動管理プログラム 1 34は、 コンテンッデ一夕べ一ス 1 14 に、 選択されたコンテンツを HDD 2 1から消去させるとともに、 曲データベースから、 その選択されたコンテンツの情報を消去させ る。 ステップ S 86において、 移動管理プログラム 134は、 CP U 32に、 曲データベースのハッシュ値を計算させ、 それを不揮発 性メモリ 34に保存させる。 以後、 処理は終了される。 したがって、 この場合、 コンテンヅの移動が実行されない。
ステップ S 84において、 現在日時が、 再生終了日時を過ぎてい ないと判定された場合、 ステップ S 87に進み、 移動管理プログラ ム 134は、 その選択されたコンテンヅの再生時課金条件 (例えば、 再生 1回当たりの料金) が曲デ一夕べ一ス中に登録されているか否 かを判定する。 再生時課金条件が登録されている場合には、 移動管 理プログラム 1 3 4は、 ステップ S 8 8において、 P D用ドライノ ' 1 4 3に、 ポータブルデバイス 6と通信させ、 ポータブルデバイス 6に課金機能が存在するか否かを判定する。 ポー夕プルデバィス 6 に課金機能が存在しない場合には、 選択されたコンテンツをポー夕 ブルデバイス 6に転送する訳にはいかないので、 ステップ S 8 9に おいて、 移動管理プログラム 1 3 4は、 表示操作指示プログラム 1 1 2に、 例えば、 「転送先が課金機能を有しておりません」 のよう なメッセージをディスプレイ 2 0に表示させ、 コンテンツの移動処 理を終了させる。
ステップ S 8 7において再生時課金条件が登録されていないと判 定された場合、 又は、 ステップ S 8 8において、 ポータブルデバィ ス 6に課金機能が存在すると判定された場合、 ステップ S 9 0に進 み、 移動管理プログラム 1 3 4は、 選択されたコンテンツに関し、 例えば、 再生制限回数などのその他の再生条件が登録されているか 否かを判定する。 その他の再生条件が登録されている場合には、 ス テツプ S 9 1に進み、 移動管理プログラム 1 3 4は、 ポータブルデ バイス 6に、 その再生条件を守る機能が存在するか否かを判定する。 ポ一夕プルデバイス 6が、 その再生条件を守る機能を有していない 場合には、 ステップ S 9 2に進み、 移動管理プログラム 1 3 4は、 表示操作指示プログラム 1 1 2に、 例えば、 「転送先の装置が再生 条件を守る機能を有しておりません」 のようなメッセ一ジをデイス プレイ 2 0に表示させ、 処理を終了させる。
ステップ S 9 0において、 再生条件が登録されていないと判定さ れた場合、 又はステップ S 9 1において、 ポータブルデバイス 6が 再生条件を守る機能を有していると判定された場合、 再生条件等の チェック処理が終了され、 図 1 2のステツプ S 5 6に戻る。
図 1 6は、 ポータブルデバイス 6が管理している (守ることが可 能な) 再生条件の例を表している。 図 1 6に示す再生情報は、 例え ば、 E E P R O M 6 8に記憶されている。 この例においては、 アイ テム 1乃至アイテム 3の各コンテンツについて、 再生開始日時と再 生終了日時が登録されているが、 再生回数は、 アイテム 2について のみ登録されており、 アイテム 1 とアイテム 3については登録され ていない。 したがって、 アイテム 2のコンテンツが選択されたコン テンヅとされた場合、 再生回数の再生条件は守ることが可能である が、 アイテム 1又はアイテム 3のコンテンツが選択されたコンテン ヅとされた場合、 再生回数の条件は守ることができないことになる。 次に、 図 1 7のフローチャートを参照して、 コンテンヅ管理プロ グラム 1 1 1を実行する C P U 1 1による、 図 1 2のステップ S 5 8におけるフォーマツ ト変換処理の詳細について説明する。 ステヅ プ S 1 0 1において、 移動管理プログラム 1 3 4は、 コンテンヅデ —夕ベース 1 1 4に記録されている選択されたコンテンツのフォー マッ ト (例えば、 再生条件、 使用条件、 コピー条件などを含むへッ ダなどの方式) を調べる。 ステップ S 1 0 2において、 移動管理プ ログラム 1 3 4は、 相手先の機器 (今の場合、 ポータブルデバイス 6 ) に設定することが可能な条件を調べる。 すなわち、 移動管理プ ログラム 1 3 4は、 ポー夕ブルデバィス 6の C P U 5 3に設定可能 な条件を問い合わせ、 その回答を得る。 ステップ S 1 0 3において 移動管理プログラム 1 3 4は、 曲データベース中に登録されている フォーマツ 卜の条件のうち、 相手先の機器に設定可能な条件をステ ップ S 1 0 2で調べた条件に基づいて決定する。
ステップ S 1 0 4において、 移動管理プログラム 1 3 4は、 設定 可能な条件が存在するか否かを判定し、 設定可能な条件が存在しな い場合には、 ステップ S 1 0 5に進み、 コンテンツをポータブルデ バイス 6に移動する処理を禁止する。 すなわち、 この場合には、 曲 データベース中に登録されている条件をポータブルデバイス 6が守 ることができないので、 そのようなポータブルデバイス 6には、 コ ンテンッを移動することが禁止されるのである。
ステップ S 1 0 4において設定可能な条件が存在すると判定され た場合、 ステップ S 1 0 6に進み、 移動管理プログラム 1 3 4は、 利用条件変換プログラム 1 3 9に、 その条件を相手先の機能フォー マッ トの条件 (例えば、 ポ一夕ブルデバイス 6に転送する際、 へッ ダに格納される条件) に変換させる。 そして、 ステップ S 1 0 7に おいて、 移動管理プログラム 1 3 4は、 変換した条件を相手先の機 器に設定する。 その結果、 ポ一夕ブルデバイス 6は、 設定された条 件に従って (その条件を守って) 、 コンテンツを再生することが可 能となる。
次に、 図 1 8乃至図 2 0のフローチヤ一卜を参照して、 コンテン ッ管理プログラム 1 1 1を実行する C P U 1 1及びメインプログラ ムを実行する C P U 5 3による、 H D D 2 1からポ一夕ブルデバィ ス 6にコンテンツをコピーする場合の処理について説明する。 この 図 1 8乃至図 2 0のステップ S 1 1 1乃至ステップ S 1 2 7の処理 は、 コピー管理プログラム 1 3 3により実行され、 図 1 2乃至図 1 4の H D D 2 1からポータブルデバイス 6へコンテンヅを移動させ る場合のステップ S 5 1乃至ステップ S 6 7の処理と同様の処理で ある。 すなわち、 この場合においても、 曲デ一夕ベースの改竄がチ ェックされた後、 選択されたコンテンツの再生条件とのチヱック処 理が行われる。 さらに、 ポ一夕ブルデバイス 6と、 パーソナルコン ビュー夕 1との問の相互認証処理の後、 コンテンツが、 パーソナル コンピュータ 1の H D D 2 1からポータブルデバィス 6のフラッシ ュメモリ 6 1に転送され、 保存される。 その後、 ステツプ S 1 2 8 において、 コピー管理プログラム 1 3 3は、 曲データベースのコピ 一回数カウン夕を 1だけインクリメントする。 そして、 ステップ S
1 2 9において、 コピー管理プログラム 1 3 3は、 C P U 3 2に、 曲デ—夕ベース全体のハツシュ値を計算させ、 その値を不揮発性メ モリ 3 4に保存させる。
次に、 図 2 1のフロ一チャートを参照して、 コンテンツ管理プロ グラム 1 1 1を実行する C P U 1 1及びメィンプログラムを実行す る C P U 5 3による、 ポータブルデバイス 6から H D D 2 1にコン テンッを移動する処理及びチヱックインの処理について説明する。 始めに、 コンテンツの移動の処理について説明する。 ステップ S 1 6 1において、 移動管理プログラム 1 3 4は、 ポータブルデバィ ス 6の C P U 5 3に対してフラッシュメモリ 6 1に記憶されている コンテンツの情報の読み出しを要求する。 C P U 5 3は、 この要求 に対応して、 フラッシュメモリ 6 1に記憶されているコンテンツの 情報をパーソナルコンピュータ 1に送信する。 移動管理プログラム
1 3 4は、 この情報に基づいて、 ディスプレイ 2 0に、 フラッシュ メモリ 6 1に記憶されているコンテンツを選択するための G U Iを 表示させる。 使用者は、 キ一ボ一ド 1 8又はマウス 1 9を操作して、 その G U Iに基づいて、 ポータブルデバイス 6から H D D 2 1 (コ ンテンッデ一夕べ一ス 1 1 4 ) に移動させるコンテンツを指定する。 ステップ S 1 6 2において、 移動管理プログラム 1 3 4は、 認証 プログラム 1 4 1に、 C P U 5 3との間において、 相互認証処理を 実行させ、 通信用鍵を共有させる。 この処理は、 図 1 2のステップ S 5 6における場合と同様の処理である。
次に、 ステップ S 1 6 3において、 C P U 5 3は、 フラッシュメ モリ 6 1に記憶されている暗号化されている選択されたコンテンツ を読み出し、 パーソナルコンビユー夕 1に転送する。 移動管理プロ グラム 1 3 4は、 ステップ S 1 6 4において、 ポ一夕ブルデバイス 6から転送されてきたコンテンツを、 1つのファイルとしてフアイ ル名を付けて、 コンテンヅデ一夕ベース 1 1 4 ( H D D 2 1 ) に保 存する。 この保存は、 例えば、 1つのファイルの一部として、 ファ ィル名の位置情報 (例えば、 先頭からのバイ ト数) を与えて行うよ うにすることもできる。
ステップ S 1 6 5において、 C P U 5 3は、 フラッシュメモリ 6 1に記憶されている選択されたコンテンツの暗号化されている暗号 鍵を読み出し、 それを自分自身の保存用鍵で復号し、 さらに通信用 鍵で暗号化した後、 パーソナルコンピュータ 1に転送する。 この暗 号鍵は、 例えば、 図 1 4のステップ S 6 7の処理でフラッシュメモ リ 6 1に保存されていたものである。
ステップ S 1 6 6において、 移動管理プログラム 1 3 4は、 ポー 夕ブルデバィス 6から暗号鍵の転送を受けると、 復号プログラム 1 4 2に、 それを通信用鍵で復号させ、 暗号化プログラム 1 3 7に、 自分自身の保存用鍵で暗号化させる。 ステップ S 1 6 7で、 移動管 理プログラム 1 3 4は、 コンテンツデータベース 1 1 4に、 ステツ プ S 1 6 4で保存したコンテンツのファイル名、 そのコンテンツの 報、 使用者が G U Iを介して入力した曲名、 ステップ S 1 6 6で 暗号化した暗号鍵などを、 H D D 2 1の曲データベースに登録させ る。 そして、 ステップ S 1 6 8において、 移動管理プログラム 1 3 4は、 利用条件管理プログラム 1 4 0に、 その曲デ一夕べ一ス全体 のハッシュ値を C P U 3 2に計算させ、 不揮発性メモリ 3 4に保存 させる。
ステップ S 1 6 9において、 移動管理プログラム 1 3 4は、 ポー 夕ブルデバィス 6に対して暗号鍵が保存されたことを通知し、 その コンテンツの削除を要求する。 C P U 5 3は、 パーソナルコンビュ —夕 1から、 そのコンテンツの削除が要求されてきたとき、 ステヅ プ S 1 7 0において、 フラッシュメモリ 6 1に記憶されているその コンテンヅを削除する。
次に、 ポー夕ブルデバィス 6からパーソナルコンピュータ 1にコ ンテンッをチヱヅクインする処理について説明する。 ポ一夕ブルデ バイス 6からパーソナルコンピュータ 1にコンテンツをチェックィ ンする処理は、 図 2 1のポー夕ブルデバィス 6からパーソナルコン ビュー夕 1へコンテンヅを移動させる場合と同様の処理である。 す なわち、 チェックインの処理は、 パーソナルコンピュータ 1におい てチェヅクイン /チエックアウト管理プログラム 1 3 2により実行 され、 図 2 1のステップ S 1 6 2乃至 S 1 6 6の処理が省略される。 また、 パーソナルコンピュータ 1は、 図 2 1のステップ S 1 6 7に おいて、 曲デ一夕ベースに記録されている、 チェックインされたコ ンテンヅのチェックアウトできる回数を更新する処理を実行して、 ステップ S 1 70の処理の後、 コンテンツファイルの削除を確認す ることを除いて、 移動の場合の処理と基本的に同様の処理となるの で、 その処理の詳細の説明は省略する。
なお、 ポータブルデバイス 6のフラッシュメモリ 6 1がメモリ力 —ドとして着脱可能であるとき、 パーソナルコンピュータ 1は、 チ エツクインの処理において、 図 2 1のステップ S 1 62の相互認証 の処理を実行する。
次に、 コンテンツ管理プログラム 1 1 1を実行する C PU 1 1及 びメインプログラムを実行する CPU 53による、 ポ一夕ブルデバ イス 6から HDD 2 1へコンテンツをコピーする場合の処理につい て、 図 22のフローチヤ一トを参照して説明する。 この図 22に示 すステップ S 18 1乃至ステップ S 1 88の処理は、 図 2 1のポー 夕プルデバイス 6から HDD 2 1へコンテンツを移動させる場合の 処理におけるステップ S 1 6 1乃至ステップ S 1 68の処理と同様 の処理である。 すなわち、 コピー処理の場合は、 コピー管理プログ ラム 1 33により実行され、 図 2 1のステップ S 1 69, S 1 70 の処理が省略される点を除いて、 移動の場合の処理と基本的に同様 の処理となるので、 その説明は省略する。
次に、 図 23のフローチャートを参照して、 EMDサーバ 4及び コンテンツ管理プログラム 1 1 1を実行する CPU 1 1による、 E MDサーバ 4から転送を受けたコンテンツを HDD 2 1にコピーす る処理について説明する。 ステップ S 20 1において、 購入用プロ グラム 144は、 図 5に示すボタン 202がクリックされて、 使用 者から EMDサーバ 4へのアクセスが指令されたとき、 通信部 25 を制御し、 ネッ トワーク 2を介して EMDサーバ 4にアクセスさせ る。 EMDサーバ 4は、 このアクセスに対応して、 自分自身が保持 しているコンテンツの曲番号、 曲名、 各情報などの情報を、 ネッ ト ヮ一ク 2を介してパーソナルコンピュータ 1に転送する。 購入用プ ログラム 144は、 通信部 25を介して、 この情報を取得したとき、 表示操作指示プログラム 1 12に、 それをィン夕一フェース 17を 介してディスプレイ 20に表示させる。 使用者は、 ディスプレイ 2 0に表示された GU Iを利用して、 ステップ S 202において、 コ ピ一を希望するコンテンツを指定する。 この指定情報は、 ネッ トヮ —ク 2を介して EMDサーバ 4に転送される。 ステップ S 203に おいて、 購入用プログラム 144は、 EMDサーバ 4との間におい て、 ネッ トワーク 2を介して相互認証処理を実行し、 通信用鍵を共 有する。
パーソナルコンピュータ 1と EMDサーバ 4との間で行われる相 互認証処理は、 例えば、 I SO 9798— 3で規定される公開鍵 と秘密鍵を用いて行うようにすることができる。 この場合、 パーソ ナルコンピュータ 1は、 自分自身の秘密鍵と EMDサ一バ 4の公開 鍵を予め有しており、 EMDサーバ 4は、 自分自身の秘密鍵を有し、 相互認証処理が行われる。 パーソナルコンピュータ 1の公開鍵は、 EMDサーバ 4から転送したり、 あるいはパーソナルコンピュータ 1に予め配布されている証明書(certificate) をパーソナルコンビ ユー夕 1から EMDサーバ 4に転送し、 その証明書を EMDサーバ 4が確認し、 公開鍵を得るようにしてもよい。 さらに、 ステップ S 204において、 購入用プログラム 144は、 EMDサーバ 4との 間において課金に関する処理を実行する。 この課金の処理の詳細は、 図 24のフローチャートを参照して後述する。 次に、 ステップ S 205において、 EMDサ一バ 4は、 パ一ソナ ルコンビュ一夕 1に対して、 ステップ S 202で指定された、 喑号 ィ匕されているコンテンツをネッ トワーク 2を介してパーソナルコン ピュー夕 1に転送する。 このとき、 時刻情報も適宜転送される。 ス テツプ S 20 6において、 購入用プログラム 144は、 コンテンツ データベース 1 14に、 転送を受けたコンテンツにファイル名を付 けて HDD 2 1に 1つのコンテンツファイル 1 6 1として保存させ る。 ステップ S 207において、 EMDサーバ 4は、 さらに、 その コンテンッの暗号鍵をステップ S 203でパーソナルコンピュータ 1と共有した通信用鍵を用いて暗号化し、 パーソナルコンピュー夕 1へ転送する。
購入用プログラム 1 44は、 ステップ S 208において、 復号プ ログラム 142に、 EMDサーバ 4より転送を受けた暗号鍵を単独 で、 又はアダプタ 26の CPU 32と共同して通信用鍵を用いて復 号させ、 暗号化プログラム 1 37に、 復号して得られた暗号鍵を自 分自身の保存用鍵で暗号化させる。 ステップ S 209において、 購 入用プログラム 144は、 コンテンツデータべ一ス 1 14に、 その コンテンツのファイル名、 コンテンツの情報、 使用者が入力した曲 名、 暗号化された暗号鍵を組にして、 HDD 2 1の曲デ一夕べ一ス に登録させる。 さらに、 ステップ S 2 1 0において、 購入用プログ ラム 1 44は、 その曲デ一夕ベース全体のハッシュ値を CPU 32 に計算させ、 不揮発性メモリ 34に保存させる。
なお、 ステップ S 205において EMDサーバ 4は、 コンテンツ とともに、 時刻データをパーソナルコンピュータ 1に送信する。 こ の時刻デ一夕は、 パーソナルコンピュータ 1からアダプタ 26に転 送される。 アダプタ 26の CPU 32は、 パーソナルコンビュ一夕 1より転送されてきた時刻デ一夕を受信すると、 ステップ S 2 1 1 において、 R T C 35の時刻を修正させる。 このようにして、 相互 認証の結果、 正しい装置と認識された外部の装置から得られた時刻 情報に基づいて、 アダプタ 26の RT C 3 5の時刻情報を修正する ようにしたので、 アダプタ 26を常に正しい I 刻情報を保持するこ とが可能となる。
次に、 図 24のフローチヤ一トを参照して、 EMDサーバ 4及び コンテンツ管理プログラム 1 1 1を実行する CPU 1 1による、 図 23のステップ S 204における課金に関する処理の詳細について 説明する。 ステップ S 22 1において、 購入用プログラム 144は、 ステップ S 20 1で EMDサーバ 4から伝送されてきた価格情報の 中から、 ステップ S 202で指定された選択されたコンテンツの価 格情報を読み取り、 これを HDD 2 1上の課金ログに書き込む。 図 2 5は、 このような課金ログの例を表している。 この例においては、 使用者は、 アイテム 1乃至アイテム 3を、 EMDサーバ 4からコピ 一しており、 アイテム 1とアイテム 2の領域は 50円とされ、 アイ テム 3の料金は 60円とされている。 その時点における課金口グの ハッシュ値も、 C PU 32により計算され、 不揮発性メモリ 34に 登録されている。
次に、 ステップ S 222において、 購入用プログラム 144は、 ステップ S 22 1で書き込んだ課金ログを HDD 2 1から読み出し、 これをネヅ トワーク 2を介して EMDサーバ 4に転送する。 EMD サーバ 4は、 ステップ S 223において、 パーソナルコンピュータ 1から転送を受けた課金ログに基づく課金計算処理を実行する。 す なわち、 EMDサーバ 4は、 内蔵するデータべ一スに、 パーソナル コンビユー夕 1の使用者から伝送されてきた課金ログを追加更新す る。 そして、 ステップ S 224において、 EMDサーバ 4は、 その 課金ログについて直ちに決裁するか否かを判定し、 直ちに決裁する 場合には、 ステップ S 225に進み、 EMDサーバ 4は、 決裁に必 要な商品名、 金額などを決裁サーバ (図示せず) に転送する。 そし て、 ステップ S 226において、 決裁サーバは、 パーソナルコンビ ユー夕 1の使用者に対する決裁処理を実行する。 ステップ S 224 において、 決裁は直ちには行われないと判定された場合、 ステップ S 225と S 226の処理はスキップされる。 すなわち、 この処理 は、 例えば、 月に 1回など、 定期的にその後実行される。
次に、 図 26と図 27のフローチャートを参照して、 コンテンツ 管理プログラム 1 1 1を実行する CPU 1 1による、 音声入出力ィ ン夕一フエ一ス 24の I EC60958端子 24 aから入力された、 図示せぬ CDプレーヤなどからの再生されたコンテンツを、 HDD 21にコピーする場合の処理について説明する。 ステツプ S 241 において、 使用者は、 CDプレーヤの I E C60958出力端子を、 パーソナルコンピュータ 1の音声入出力ィン夕一フェース 24の I E C 60958端子 24 aに接続する。 ステツプ S 242において、 使用者は、 キーボード 18又はマウス 19を操作し、 CDプレーヤ からコピーするコンテンツの曲名 (又は、 コンテンツに対応する番 号) を入力する。 そして、 ステップ S 243において使用者は、 C Dプレーヤのボタンを操作し、 CDプレーヤの再生を開始させる。 CDプレーヤとパーソナルコンピュータ 1との間に制御信号を送受 する線が接続されている場合には、 パーソナルコンビュ一夕 1のキ —ボード 1 8又はマウス 1 9を介して再生開始指令を入力すること で、 CDプレーヤに CDの再生を開始させることも可能である。
CDプレーヤにおいて、 CDの再生が開始されると、 ステップ S 244において、 CDプレーヤから出力されたコンテンヅが、 I E C 609 58端子 24 aを介してパーソナルコンピュータ 1に転送 されてくる。 ステップ S 245において、 コピー管理プログラム 1 33は、 I E C 609 58端子 24 aを介して入力されてくるデ一 夕から、 S CMS(Serial Copy Management System) データを読み 取る。 この S CMSデータには、 コピ一禁止、 コピ一 1回限り可能、 コピーフリーなどのコピー情報が含まれている。 そこで、 ステップ S 246において、 CPU 1 1は、 S CM Sデ一夕がコピー禁止を 表しているか否かを判定し、 コピー禁止を表している場合には、 ス テツプ S 247に進み、 コピー管理プログラム 1 33は、 表示操作 指示プログラム 1 12に、 例えば、 「コピーが禁止されています」 といったメヅセ一ジをディスプレイ 20に表示させ、 コピ一処理を 終了する。 すなわち、 この場合には、 HDD 2 1へのコピーが禁止 される。
コピ一管理プログラム 1 33は、 ステップ S 246において、 ス テツプ S 245で読み取った S CMS情報がコピー禁止を表してい ないと判定した場合、 ステップ S 248に進み、 ウォー夕マ一クコ 一ドを読み出し、 そのウォー夕マークがコピー禁止を表しているか 否かをステップ S 249において判定する。 ウォー夕マ一クコード がコピー禁止を表している場合には、 ステップ S 247に進み、 上 述した場合と同様に、 所定のメッセージが表示され、 コピー処理が 終了される。 ステヅプ S 249において、 ウォー夕マークがコピ一禁止を表し ていないと判定された場合、 ステップ S 2 50に進み、 期限データ ベースチヱック処理が行われる。 期限デ一夕ベースチェックの結果、 選択されたコンテンツが既に登録されていれば、 ステップ S 25 1 , S 252の処理で、 処理が終了される。 この処理は、 図 7のステツ プ S 1 3 , S 14の処理と同様の処理である。
選択されたコンテンツがまだ HDD 2 1に登録されていないコン テンッであれば、 ステップ S 253乃至 S 258で、 その登録処理 が実行される。 このステップ S 253乃至ステップ S 2 58の処理 は、 ステップ S 257において、 I E C 609 58端子 24 aから 供給されてくる S CMS情報も曲デ一夕ベースに登録される点を除 き、 図 7のステップ S 19乃至ステップ S 24の処理と同様の処理 であるので、 その説明は省略する。
次に、 図 28と図 29のフローチャートを参照して、 コンテンツ 管理プログラム 1 1 1を実行する CPU 1 1による、 コンテンツを HDD 2 1から I E C 60958端子 24 aに出力 (再生) する場 合の処理について説明する。 ステップ S 27 1乃至ステップ S 27 3において、 図 1 8のステップ S 1 1 1乃至 S 1 1 3における場合 と同様に、 曲デ一夕ベース全体のハッシュ値が計算され、 前回保存 しておいたハッシュ値と一致するか否かが判定され、 曲データべ一 スの改竄のチエツク処理が行われる。 曲デ一夕ベースの改竄が行わ れていないと判定された場合、 ステップ S 274に進み、 表示操作 指示プログラム 1 1 2は、 コンテンヅ管理プログラム 1 1 1を介し て、 コンテンヅデ一夕ベース 1 14に、 HDD 2 1の曲データべ一 スにアクセスさせ、 そこに登録されている曲の情報を読み出させ、 ディスプレイ 2 0に表示させる。 使用者は、 その表示を見て、 キー ボード 1 8又はマウス 1 9を適宜操作して、 再生出力するコンテン ヅを選択する。 ステップ S 2 7 5において、 表示操作指示プログラ ム 1 1 2は、 選択されたコンテンツの再生条件等のチェック処理を 実行する。 この再生条件等のチヱック処理の詳細は、 図 3 0のフロ 一チヤ一トを参照して後述する。
次に、 ステップ S 2 7 6において、 表示操作指示プログラム 1 1 2は、 コンテンツ管理プログラム 1 1 1を介して、 コンテンツデー 夕ベース 1 1 4に、 ステツプ S 2 7 4において選択されたコンテン ッの暗号鍵を曲データベースから読み出させ、 復号プログラム 1 4 2に保存用鍵で復号させる。 ステップ S 2 7 7において、 表示操作 指示プログラム 1 1 2は、 コンテンツ管理プログラム 1 1 1を介し て、 コンテンヅデ一夕べ一ス 1 1 4に、 選択されたコンテンツの S C M S情報を曲デ一夕ベースから読み出させ、 I E C 6 0 9 5 8端 子 2 4 aから出力する S C M S情報を、 S C M Sシステムの規則に 従って決定する。 例えば、 再生回数に制限があるような場合、 再生 回数は 1だけインクリメン卜され、 新たな S C M S情報とされる。 ステップ S 2 7 8において、 表示操作指示プログラム 1 1 2はさら に、 コンテンツ管理プログラム 1 1 1を介して、 コンテンヅデ一夕 ベース 1 1 4に、 選択されたコンテンツの I S R Cを曲デ一夕べ一 スから読み出させる。
次に、 ステップ S 2 7 9において、 表示操作指示プログラム 1 1 2は、 コンテンツ管理プログラム 1 1 1を介して、 コンテンヅデ一 夕ベース 1 1 4に、 曲デ一夕ベースから選択されたコンテンツファ ィル名を読み出させ、 そのファイル名を基に、 そのコンテンツを H D D 2 1から読み出させる。 表示操作指示プログラム 1 1 2はさら に、 コンテンツ管理プログラム 1 1 1を介して、 コンテンツデ一夕 ベース 1 1 4に、 そのコンテンツに対応する暗号鍵を曲デ一夕べ一 スから読み出させ、 復号プログラム 1 4 2に、 保存用鍵で復号させ、 復号した喑号鍵を用いて、 暗号化されているコンテンツを復号する。 圧縮/伸張プログラム 1 3 8は、 さらに、 そのコンテンツの圧縮符 号を復号 (伸張) する。 ステップ S 2 8 0において、 表示操作指示 プログラム 1 1 2は、 ドライノ 1 1 7に、 ステップ S 2 7 9で、 復 号したデジ夕ルデ一夕であるコンテンツを、 ステップ S 2 7 7で決 定した S C M S情報、 並びにステップ S 2 7 8で読み出した I S R C情報とともに、 I E C 6 0 9 5 8の規定に従って、 I E C 6 0 9 5 8端子 2 4 aから出力させる。 さらにまた、 表示操作指示プログ ラム 1 1 2は、 例えば、 図示せぬリアルプレ一ャ (商標) などのプ 口グラムを動作させ、 デジタルデ一夕であるコンテンツをアナログ 化させ、 音声入出力ィン夕一フェース 2 4のアナログ出力端子から 出力させる。
ステップ S 2 8 1において、 表示操作指示プログラム 1 1 2は、 コンテンヅ管理プログラム 1 1 1を介して、 コンテンツデータべ一 ス 1 1 4に、 曲デ一夕ベース中の再生回数カウン夕の値を 1だけィ ンクリメントさせる。 そして、 ステップ S 2 8 2において、 選択さ れたコンテンツに再生時課金条件が付加されているか否かを判定す る。 再生時課金条件が付加されている場合には、 ステップ S 2 8 3 に進み、 表示操作指示プログラム 1 1 2は、 コンテンツ管理プログ ラム 1 1 1を介して、 コンテンツデータベース 1 1 4に、 対応する 料金を課金ログに書き込ませ、 ステップ S 2 8 4において、 表示操 作指示プログラム 1 1 2は、 利用条件管理プログラム 1 4 0に、 曲 デ一夕べ一ス全体のハッシュ値を C P U 3 2に計算させ、 不揮発性 メモリ 3 4に記憶させる。 ステップ S 2 8 2において、 選択された コンテンヅに再生時課金条件が付加されていないと判定された場合、 ステップ S 2 8 3とステップ S 2 8 4の処理はスキップされる。 次に、 図 3 0のフ口一チヤ一トを参照して、 コンテンツ管理プロ グラム 1 1 1を実行する C P U 1 1による、 図 2 8のステップ S 2 7 5の再生条件等のチェック処理の詳細について説明する。 ステヅ プ S 3 0 1において、 表示操作指示プログラム 1 1 2は、 コンテン ッ管理プログラム 1 1 1を介して、 コンテンヅデ一夕ベース 1 1 4 に、 曲デ一夕ベースの各種条件を読み出させる。 ステップ S 3 0 2 において利用条件管理プログラム 1 4 0は、 読み出した条件のうち、 再生回数が制限回数を過ぎているか否かを判定し、 過ぎている場合 には、 ステップ S 3 0 3に進み、 コンテンヅ管理プログラム 1 1 1 を介して、 コンテンヅデータベース 1 1 4に、 選択されたコンテン ヅを H D D 2 1から削除させるとともに、 曲データベースから選択 されたコンテンヅの情報を削除させる。 ステヅプ S 3 0 4において、 表示操作指示プログラム 1 1 2はさらに、 利用条件管理プログラム 1 4 0に、 曲データベースの新たなハッシュ値を C P U 3 2に計算 させ、 そのハッシュ値を不揮発性メモリ 3 4に保存させる。 この場 合、 再生出力は禁止される。
ステップ S 3 0 2において、 再生回数が制限回数を過ぎていない と判定された場合、 ステップ S 3 0 5に進み、 利用条件管理プログ ラム 1 4 0 2は、 再生終了日時が現在日時を過ぎているか否かを判 定する。 再生終了日時が現在日時を過ぎている場合には、 上述した 場合と同様にステップ S 3 0 3において、 選択されたコンテンツを H D D 2 1から削除させるとともに、 曲デ一夕ベースからも削除さ せる。 そして、 ステップ S 3 0 4において、 新たな曲デ一夕べ一ス のハッシュ値が計算され、 保存される。 この場合にも、 再生出力は 禁止される。
ステップ S 3 0 5において、 再生終了 FJ II が現在日時を過ぎてい ないと判定された場合は、 ステップ S 3 0 6に進み、 C P U 3 2は、 その選択されたコンテンツに対して再生時課金条件が付加されてい るか否かを判定する。 再生時課金条件が付加されている場合には、 ステップ S 3 0 7に進み、 表示操作指示プログラム 1 1 2は、 再生 時課金条件が付加されている旨のメッセージと料金を、 ディスプレ ィ 2 0に表示させる。 ステツプ S 3 0 6において、 再生時課金条件 が付加されていないと判定された場合、 ステップ S 3 0 7の処理は スキップされる。
次に、 図 3 1と図 3 2のフローチャートを参照して、 コンテンツ 管理プログラム 1 1 1を実行する C P U 1 1及びメインプログラム を実行する C P U 5 3による、 H D D 2 1からポータブルデバイス 6経由でコンテンツを出力 (再生) する場合の処理について説明す る。 ステップ S 3 2 1乃至ステップ S 3 2 5において、 曲データべ —スの改竄チエックと選択されたコンテンヅの指定、 並びに選択さ れたコンテンヅの再生条件等のチヱック処理が行われる。 その処理 は、 図 2 8のステップ S 2 7 1乃至ステップ S 2 7 5の処理と同様 の処理であるので、 その説明は省略する。
ステツプ S 3 2 6において、 ポー夕プルデバィス 6とパーソナル コンピュータ 1の間で相互認証処理が実行され、 相互の間で、 通信 用鍵が共有される。 ステップ S 3 2 7において、 表示操作指示プロ グラム 1 1 2は、 ポータブルデバイス 6に対して、 これから送る暗 号化されているコンテンツを再生するように命令する。 ステップ S 3 2 8において、 表示操作指示プログラム 1 1 2は、 ステップ S 3 2 4で、 コンテンツ管理プログラム 1 1 1を介してコンテンツデー 夕ベース 1 1 4に、 指定された選択されたコンテンツのファイル名 を曲データベースから読み出させ、 そのファイル名のコンテンヅを H D D 2 1から読み出させる。 表示操作指示プログラム 1 1 2は、 ステップ S 3 2 9において、 コンテンヅ管理プログラム 1 1 1に、 コンテンツの圧縮符号化方式、 暗号化方式、 フォーマッ トなどをポ —夕プルデバイス 6の方式のものに変換する処理を実行させる。 そ して、 ステップ S 3 3 0において、 表示操作指示プログラム 1 1 2 は、 暗号化プログラム 1 3 7に、 ステップ S 3 2 9において変換し たコンテンツを通信用鍵で暗号化させ、 ポータブルデバイス 6に転 送する。
ステップ S 3 3 1において、 ポータブルデバイス 6の C P U 5 3 は、 ステップ S 3 2 7において、 パーソナルコンピュータ 1から転 送されてきた命令に対応して、 転送を受けた各デ一夕を通信用鍵で 復号し、 再生出力する。 ステップ S 3 3 2において、 表示操作指示 プログラム 1 1 2は、 コンテンッ管理プログラム 1 1 1を介してコ ンテンッデ一夕べ一ス 1 1 4に、 曲デ一夕ベースの再生回数カウン トを 1だけインクリメントさせる。 さらに、 ステップ S 3 3 3にお いて、 表示操作指示プログラム 1 1 2は、 選択されたコンテンツに 再生時課金条件が付加されているか否かを判定し、 付加されている 場合には、 ステップ S 3 3 4において、 コンテンツ管理プログラム 1 1 1を介してコンテンツデータベース 1 14に、 その料金を課金 ログに書き込ませ、 ステップ S 335において、 CPU 32に、 曲 データベース全体のハッシュ値を新たに計算させ、 保存させる。 選 択されたコンテンツに再生時課金条件が付加されていない場合には、 ステップ S 334 , ステップ S 335の処理はスキップされる。 本発明においては、 コンテンツが不正に複製されるのを防止する ために、 各種の工夫が凝らされている。 例えば、 CPU 1 1を動作 させるプログラムは、 その実行順序が毎回変化するような、 いわゆ るタンパ一レジスタントソフ トウェアとされている。
さらに、 上述したように、 CPU 1 1の機能の一部は、 ハ一ドウ エアとしてのアダプタ 26に分担され、 両者が共働して各種の処理 を実行するようになされている。 これにより、 より安全性を高める ことが可能となっている。
例えば、 上述したように、 曲デ一夕ベースのハッシュ値は、 曲デ 一夕ベース自体に保存されるのではなく、 アダプタ 26の不揮発性 メモリ 34に保存される。 すなわち、 図 8のステップ S 32 , S 3 3などの前回保存しておいたハッシュ値との比較処理において、 比 較対象とされる過去のハッシュ値は、 不揮発性メモリ 34に記憶さ れているものとされる。 これにより、 例えば、 他の記録媒体にコピ 一又は移動させる前に、 HDD 2 1に保存されているコンテンツを 含む記録内容の全てをバックアップしておき、 HDD 2 1から、 そ こに保存されているコンテンツを他の記録媒体にコピー又は移動し た後、 HDD 2 1にバックアップしておいた記録内容に含まれるコ ンテンッを再びリストァするようにすることで、 利用条件を無視し て、 実質的に際限なく、 コピー又は移動ができてしまうようなこと が防止され,る。
例えば、 図 33に示すように、 HDD 2 1にコンテンツ A, Bが 保存されている場合、 不揮発性メモリ 34には、 コンテンツ Aとコ ンテンッ Bの情報に対応するハツシュ値が保存されている。 この状 態において、 HD D 2 1のコンテンツ A, Bを含む記録データの一 部又は全部を他の記録媒体 27 1にバックアップしたとする。 その 後、 HDD 2 1に保存されているコンテンツ Aとコンテンツ Bのう ち、 コンテンツ Aを他の記録媒体 272に移動させた場合、 その時 点において、 HD D 2 1に記録されているコンテンツは、 コンテン ヅ Bだけとなるので、 不揮発性メモリ 34のハッシュ値も、 コンテ ンヅ Bに対応するハッシュ値に変更される。
したがって、 その後、 記録媒体 27 1にバックアップしておいた HDD 2 1のコンテンツ A, Bを含む記録データの一部又は全部を HDD 2 1にリス トァして、 HDD 2 1に、 再びコンテンヅ Aとコ ンテンッ Bを保存させたとしても、 不揮発性メモリ 34には、 コン テンッ Bの情報から演算されたハッシュ値が記憶されており、 コン テンヅ Aとコンテンツ Bの情報から演算されたハッシュ値は記憶さ れていない。 これにより、 その時点において、 HDD 2 1に記憶さ れているコンテンツ Aとコンテンツ Bに基づくハッシュ値が、 不揮 発性メモリ 34に記憶されている過去のハッシュ値と一致しないこ とになり、 曲デ一夕ベースが改竄されたことが検出される。 その結 果、 以後、 HDD 2 1に保存されているコンテンツ Aとコンテンツ Bの利用が制限されてしまうことになる。
さらに、 上述したように、 アダプタ 26は、 RT C 35を内蔵し ており、 この RT C 3 5の値は、 正しい認証結果が得られた他の装 置 (例えば、 EMDサーバ 4) から転送されてきた時刻データに基 づいて、 その時刻情報を修正する。 そして、 現在日時としては、 ノ 一ソナルコンピュータ 1が管理するものではなく、 RT C 35が出 力するものが利用される。 したがって、 使用者が、 パーソナルコン ピュー夕 1の現在時刻を故意に過去の時刻に修正し、 再生条件とし ての再生終了日時の判定を免れるようなことができなくなる。
また、 アダプタ 26は、 暗号化されて転送されてきたプログラム を ROM 36に予め記憶されているプログラムに従って復号し、 実 行するように構成することで、 より安全性が高められている。 次に、 この点について、 図 34のフローチャートを参照して説明する。 すなわち、 パーソナルコンピュータ 1は、 アダプタ 2 6に対して、 所定の処理を実行させたいとき、 ステップ S 3 5 1において、 ァダ プ夕 26に実行させるべきプログラムを RAM 13に予め記憶され ている暗号鍵を用いて暗号化してアダプタ 26に転送する。 ァダプ 夕 26の ROM 3 6には、 パーソナルコンピュータ 1から転送され てきた、 暗号化されているプログラムを復号し、 実行するためのプ ログラムが予め記憶されている。 CPU 32は、 この ROM36に 記憶されているプログラムに従って、 パーソナルコンピュータ 1か ら転送されてきた暗号化されているプログラムをステップ S 352 において復号する。 そして、 ステップ S 3 1 3において、 CPU 3 2は、 復号したプログラムを RAM33に展開し、 ステップ S 35 4において、 そのプログラムを実行する。
例えば、 上述したように、 パーソナルコンピュータ 1の CPU 1 1は、 HDD 2 1の曲デ一夕ベースのハッシュ値をアダプタ 26に 計算させるとき、 曲データベースのデ一夕を暗号鍵で暗号化してァ ダブ夕 2 6の CPU 32に転送する。 CPU 32は、 転送されてき た曲デ一夕ベースのデータに対してハヅシュ関数を適応し、 ハッシ ュ値を計算する。 そして、 計算されたハッシュ値を不揮発性メモリ 34に記憶させる。 あるいは、 そのハッシュ値を、 CPU 32は、 予め記憶されている過去のハッシュ値と比較し、 比較結果をパ一ソ ナルコンビュ一夕 1の CPU 1 1に転送する。
図 3 5は、 アダプタ 26の内部のより具体的な構成を表している。 アダプタ 26は、 半導体 I Cとして形成される。 アダプタ 26は、 図 2に示したインターフエ一ス 3 1、 C P U 32s RAM 33, 不 揮発性メモリ 34、 RT C 35、 ROM 36以外に、 RAM33に 対する書き込みと読み出しを制御する RAMコントローラ 3◦ 1、 並びに論理回路 302を有している。 論理回路 302は、 例えば、 暗号化されているコンテンヅを解読した後、 解読したデ一夕をァダ プ夕 2 6から直接出力するような場合の処理のために用いられる。 これらのイン夕一フェース 3 1乃至 ROM36、 RAMコント口 ーラ 30 1並びに論理回路 302は、 半導体 I C内に一体的に組み 込まれ、 外部からは分解できないように構成されている。
水晶振動子 3 1 1は、 アダプタ 26が各種の処理を実行する上に おいて、 基準となるクロックを生成するとき用いられる。 発振回路 3 1 2は、 R T C 35を動作させるための発振回路である。 バッテ リ 3 1 3は、 発振回路 3 1 2、 不揮発性メモリ 34及び R T C 35 に対してバックアップ用の電力を供給している。 アダプタ 26のそ の他の回路には、 パーソナルコンピュータ 1の電源供給回路 32 1 からの電力が供給されている。
不揮発性メモリ 34は、 書き込み消去可能な ROMで構成するこ とも可能であるが、 ノ ッテリ 3 1 3からのバヅクアツプ電源でバッ クアップされる R A Mで構成する場合には、 例えば、 図 3 6 A及び 図 3 6 Bに示すように、 不揮発性メモリ 3 4の上に保護アルミニゥ ム層 3 5 1を形成し、 さらに、 その保護アルミニウム層 3 5 1 と同 一平面上となるように、 不揮発性メモリ 3 4にバッテリ 3 1 3から の電力を供給する電源パターン 3 5 2を形成するようにすることが できる。 このようにすると、 例えば、 不揮発性メモリ 3 4を改竄す ベく、 保護アルミニウム層 3 5 1を削除しょうとすると、 同一平面 上の電源パターン 3 5 2も削除されてしまい、 不揮発性メモリ 3 4 に対する電力の供給が断たれ、 内部に記憶されているデ一夕が消去 されてしまうことになる。 このように構成することで、 タンパ一レ ジス ト性をより高めることができる。
さらに、 図 3 7に示すように、 不揮発性メモリ 3 4に対するデ一 夕の書き込み又は読み出しのための配線 4 0 1— 1乃至 4 0 1— 3 は、 対応する位置で、 上下 (深さ) 方向に重なりあうように形成さ れている。 これにより、 より下層の配線 4 0 1 - 3からデ一夕を読 み出すためには、 上方の配線 4 0 1— 1 , 4 0 1 - 2を除去しなけ ればならず、 複数の配線 4 0 1— 1 , 4 0 1— 2 , 4 0 1— 3から 同時にデ一夕を読み取ることができなくなる。
さらにまた、 不揮発性メモリ 3 4は、 配線 4 0 1— 1乃至 4 0 1 — 3を冗長に形成するようにすることができる。 例えば、 不揮発性 メモリ 3 4内部に形成される配線 4 0 1— 1乃至 4 0 1— 3が不揮 発性メモリ 3 4を構成する トランジスタなどの素子を結合するとき、 その経路は、 例え、 直線的に結合が可能であっても、 直線的には形 成されず、 所定の長さとなるように形成される。 このようにするこ とで、 配線 4 0 1一 1乃至 4 0 1—3の長さは、 本来必要な長さ以 上の長さとなり、 配線に必要な最短の長さの場合に比較して大きな 寄生容量を有することとなる。
不揮発性メモリ 3 4からデ一夕を読み出すために設計されている 専用の回路 (半導体 I Cとしてのアダプタ 2 6に内蔵されている) は、 その寄生容量にマッチングしたィンピーダンスを設定すること で、 不揮発性メモリ 3 4が記憶しているデ一夕を正常に読み出すこ とができる。 しかしながら、 不揮発性メモリ 3 4に記憶されている データを読み出すべく、 プローブを配線 4 0 1— 1乃至 4 0 1— 3 に接続させると、 その寄生容量とプローブによる合成の容量が影響 して、 デ一夕を正常に読み出すことが困難になる。
次に、 ポー夕プルデバィス 6がパーソナルコンピュー夕 1から所 定のデ一夕を受け取る場合の、 相互認証の処理を図 3 8及び図 3 9 のフ口一チヤ一トを参照して説明する。 ステップ S 4 0 1において、 パーソナルコンピュータ 1の C P U 1 1は、 乱数 N aを生成する。 ステップ S 4 0 2において、 パーソナルコンピュータ 1の C P U 1 1は、 インターフェース 1 7に、 パーソナルコンピュータ 1の I D、 鍵のカテゴリ番号 G及び乱数 N aをポー夕ブルデバイス 6へ送信さ せる。
ステップ S 4 2 1において、 ポータブルデバイス 6の C P U 5 3 は、 乱数 N bを生成する。 ステップ S 4 2 2において、 ポータブル デバイス 6は、 パーソナルコンピュータ 1からイン夕一フヱ一ス 1 7を介して送信されたパーソナルコンピュータ 1の I D、 鍵のカテ ゴリ番号 G及び乱数 N aを受信する。 ステップ S 4 2 3において、 ポ一夕ブルデバイス 6の C P U 5 3は、 鍵のカテゴリ番号 Gから、 マス夕一鍵 KMaの鍵番号 jを求める。
ステップ S 424において、 ポータブルデバイス 6の CPU 53 は、 j番目のマス夕一鍵 KM a [ j ] を求める。 ステップ S 425 において、 ポ一夕ブルデバイス 6の CPU 53は、 パーソナルコン ピュー夕 1の IDに、 マス夕一鍵 KMa [ j ] を基にした S HAな どのハッシュ関数を適用し、 鍵 K a bを求める。
ステップ S 426において、 ポータブルデバイス 6の CPU 53 は、 乱数 Na、 乱数 Nb及びパーソナルコンピュータ 1の I Dに、 鍵 K a bを基にした SH Aなどのハッシュ関数を適用し、 乱数 R 1 を求める。 ステップ S 427において、 ポ一夕ブルデバイス 6の C PU53は、 乱数 Sbを生成する。
ステップ S 428において、 ポータブルデバイス 6の CPU 53 は、 U S Bコントロ一ラ 57に、 乱数 Na、 乱数 Nb、 鍵番号 j及 び乱数 S bをパーソナルコンピュータ 1へ送信させる。
ステップ S 403において、 パーソナルコンピュータ 1は、 イン 夕一フェース 17を介して、 乱数 Na、 乱数 Nb、 鍵番号 j及び乱 数 Sbを受信する。 ステップ S 404において、 パーソナルコンビ ユー夕 1の C PU 1 1は、 鍵番号 jを基に、 個別鍵 K I aに含まれ る鍵 Kabを求める。 ステヅプ S 405において、 パーソナルコン ピュ一夕 1の CPU 1 1は、 乱数 Na、 乱数 Nb及びパーソナルコ ンピュー夕 1の IDに、 鍵 Kabを基にした SH Aなどのハッシュ 関数を適用し、 乱数 R2を求める。
ステップ S 406において、 パーソナルコンピュータ 1の CPU 1 1は、 受信した乱数 R 1と、 ステップ S 405で生成した乱数 R 2とが等しいか否かを判定し、 乱数 R 1と乱数 R 2とが等しくない と判定された場合、 正当なポ一夕プルデバイスではないので、 ポー 夕ブルデバイス 6を認証せず、 処理は終了する。 ステップ S 406 において、 乱数 R 1と乱数 R 2とが等しいと判定された場合、 ポー 夕ブルデバィス 6は正当なポー夕プルデバイスなので、 ステツプ S 407に進み、 パーソナルコンピュータ 1の CPU 1 1は、 乱数 S aを生成する。
ステップ S 408において、 パーソナルコンビュ一夕 1の CPU 1 1は、 乱数 Nb及び乱数 Naに、 鍵 K a bを基にした S H Aなど のハッシュ関数を適用し、 乱数 R 3を求める。 ステップ S 409に おいて、 パーソナルコンピュータ 1の CPU 1 1は、 イン夕一フエ ース 1 7に、 乱数 R 3及び乱数 S bをポ一夕プルデバイス 6へ送信 させる。 ステップ S 4 1 0において、 パーソナルコンピュータ 1の CPU 1 1は、 乱数 S a及び乱数 Sbに、 鍵 Kabを基にした SH Aなどのハッシュ関数を適用し、 一時鍵 K sを求める。
ステップ S 429において、 ポータブルデバイス 6の CPU 53 は、 乱数 R 3及び乱数 S bを受信する。 ステップ S 430において、 ポータブルデバイス 6の CPU 53は、 乱数 Nb及び乱数 Naに、 鍵 K a bを基にした S H Aなどのハッシュ関数を適用し、 乱数 R 4 を求める。 ステヅプ S 43 1において、 ポータブルデバイス 6の C PU 53は、 受信した乱数 R 3と、 ステップ S 430で生成した乱 数 R 4とが等しいか否かを判定し、 乱数 R 3と乱数 R 4とが等しく ないと判定された場合、 正当なパーソナルコンピュー夕ではないの で、 パーソナルコンピュータ 1を認証せず、 処理は終了する。 ステ ップ S 43 1において、 乱数 R 3と乱数 R 4とが等しいと判定され た場合、 パーソナルコンピュータ 1は正当なパーソナルコンビュ一 夕なので、 ステップ S 432に進み、 ポ一夕プルデバイス 6の C P U53は、 乱数 Sa及び乱数 Sbに、 鍵 K a bを基にした S H Aな どのハッシュ関数を適用し、 一時鍵 Ksを求める。
以上のように、 パーソナルコンピュータ 1及びポ一夕ブルデバィ ス 6は、 相互認証し、 共通の一時鍵 Ksを得る。 なお、 ステップ S 425、 ステップ S426、 ステップ S405、 ステップ S408、 ステップ S410、 ステップ S 430及びステップ S 432におい て、 S H Aなどのハッシュ関数を適用するとして説明したが、 DE Sなどを適用しても良い。
次に、 パーソナルコンピュータ 1がポ一夕プルデバイス 6に所定 のデータを送信する場合の、 相互認証の処理を図 40及び図 41の フローチャートを参照して説明する。 ステップ S 451において、 パーソナルコンピュータ 1の C PU 1 1は、 乱数 N aを生成する。 ステップ S 452において、 パーソナルコンビユー夕 1は、 イン夕 一フエ一ス 17を介して、 パーソナルコンピュータ 1の I D、 パ一 ソナルコンピュータ 1の鍵のカテゴリ番号 Gp、 ポー夕プルデバィ ス 6の鍵のカテゴリ番号 G s及び乱数 N aをポー夕ブルデバィス 6 に送信する。
ステップ S 48 1において、 ポ一夕ブルデバイス 6の CPU 53 は、 乱数 Nbを生成する。 ステップ S 482において、 ポ一夕ブル デバイス 6は、 パーソナルコンピュータ 1からイン夕一フェース 1 7を介して送信されたパーソナルコンピュータ 1の I D、 パーソナ ルコンビュ一夕 1の鍵のカテゴリ番号 Gp、 ポ一夕ブルデバイス 6 の鍵のカテゴリ番号 G s及び乱数 N aを受信する。 ステップ S 48 3において、 ポータブルデバイス 6の CPU 53は、 ポー夕プルデ バイス 6の鍵のカテゴリ番号 G sから、 マス夕一鍵 KM aの鍵番号 jを求める。
ステップ S 484において、 ポ一夕ブルデバイス 6の CPU 53 は、 j番目のマスター鍵 KMa [ j ] を求める。 ステップ S485 において、 ポ一夕ブルデバイス 6の CPU 53は、 パーソナルコン ピュー夕 1の IDに、 マスター鍵 KM a [ j ] を基にした S HAな どのハッシュ関数を適用ハッシュ関数を適用し、 鍵 a bを求める。 ステップ S 486において、 ポータブルデバイス 6の CPU 53は、 パーソナルコンピュータ 1の鍵のカテゴリ番号 G pを基に、 マス夕 —鍵 I aの鍵番号 kを求める。 ステップ S 487において、 ポー 夕ブルデバイス 6の CPU 53は、 鍵 Kabに、 マス夕一鍵 K I a [k] を基にした SH Aなどのハッシュ関数を適用ハツシュ関数を 適用し、 鍵 K' abを求める。
ステップ S 488において、 ポータブルデバイス 6の CPU 53 は、 乱数 Na及び乱数 Nbに、 鍵 ' a bを基にした S H Aなどの ハッシュ関数を適用ハッシュ関数を適用し、 乱数 R 1を求める。 ス テツプ S 489において、 ポータブルデバイス 6の CPU 53は、 乱数 Sbを生成する。
ステップ S 490において、 ポータブルデバイス 6の CPU 53 は、 U S Bコントロ一ラ 57に、 ポ一夕プルデバィス 6の I D、 乱 数 Nb、 乱数 R l、 鍵番号 j及び乱数 Sbをパーソナルコンビュ一 夕 1へ送信させる。
ステップ S 453において、 パーソナルコンピュータ 1は、 イン 夕一フェース 17を介して、 ポータブルデバイス 6の I D、 乱数 N b、 乱数 R l、 鍵番号 j及び乱数 Sbを受信する。 ステップ S 45 4において、 パーソナルコンピュータ 1の C P U 1 1は、 ポ一タブ ルデバイス 6の I Dに、 パーソナルコンピュータ 1のマス夕一鍵 K M Pを基にした S H Aなどのハッシュ関数を適用ハッシュ関数を適 用し、 マスター鍵 Kmを求める。 ステップ S 455において、 パー ソナルコンビュ一夕 1の CPU 1 1は、 j番目の個別鍵 K I aを求 める。 ステップ S 456において、 パーソナルコンピュータ 1の C PU 1 1は、 乱数 Na及び乱数 Nbに、 鍵 I aを基にした SHA などのハッシュ関数を適用ハッシュ関数を適用し、 鍵 , abを求 める。 ステップ S 457において、 パーソナルコンピュータ 1の C PU 1 1は、 乱数 Na及び乱数 Nbに、 鍵 K, abを基にした SH Aなどのハッシュ関数を適用ハッシュ関数を適用し、 乱数 R 2を求 める。
ステツプ S 458において、 パーソナルコンピュー夕 1の C P U 1 1は、 受信した乱数 R 1と、 ステップ S 457で生成した乱数 R 2とが等しいか否かを判定し、 乱数 R 1と乱数 R 2とが等しくない と判定された場合、 正当なポータブルデバイスではないので、 ポー 夕ブルデバイス 6を認証せず、 処理は終了する。 ステップ S 458 において、 乱数 R 1と乱数 R 2とが等しいと判定された場合、 ポー 夕ブルデバィス 6は正当なポー夕ブルデバイスなので、 ステツプ S 459に進み、 パーソナルコンピュータ 1の C PU 1 1は、 乱数 S aを生成する。
ステツプ S 460において、 パーソナルコンピュー夕 1の C P U 1 1は、 乱数 Nb及び乱数 Naに、 鍵 I aを基にした SH Aなど のハツシュ関数を適用ハツシュ関数を適用し、 乱数 R 3を求める。 ステップ S 461において、 パーソナルコンピュータ 1の CPU 1 1は、 イン夕一フェース 1 7を介して、 ポータブルデバイス 6に、 乱数 R 3及び乱数 S bを送信する。 ステップ S 462において、 ノ 一ソナルコンピュータ 1の CPU 1 1は、 乱数 S a及び乱数 S bに、 鍵 K, a bを基にした S H Aなどのハヅシュ関数を適用ハヅシュ関 数を適用し、 一時鍵 K sを求める。
ステップ S 49 1において、 ポータブルデバイス 6の CPU 53 は、 乱数 R 3及び乱数 S bを受信する。 ステップ S 492において、 ポ一夕プルデバイス 6の CPU 53は、 乱数 Nb及び乱数 Naに、 鍵 K a bを基にした S H Aなどのハッシュ関数を適用ハッシュ関数 を適用し、 乱数 R 4を求める。 ステツプ S 49 3において、 ポー夕 プルデバイス 6の CPU 53は、 受信した乱数 R 3と、 ステップ S 492で生成した乱数 R4とが等しいか否かを判定し、 乱数 R 3と 乱数 R 4とが等しくないと判定された場合、 正当なパーソナルコン ピュ一夕ではないので、 パーソナルコンピュータ 1を認証せず、 処 理は終了する。 ステップ S 493において、 乱数 R 3と乱数 R 4と が等しいと判定された場合、 パーソナルコンピュータ 1は、 正当な パーソナルコンピュータなので、 ステップ S 494に進み、 ポー夕 ブルデバイス 6の CPU 53は、 乱数 S a及び乱数 Sbに、 鍵 Ka bを基にした S H Aなどのハッシュ関数を適用ハッシュ関数を適用 し、 一時鍵 K sを求める。
このように、 パーソナルコンピュータ 1及びポータブルデバイス 6は、 相互認証し、 共通の一時鍵 K sを得る。 図 40及び図 4 1の フローチヤ—卜に示した手続は、 図 38及び図 39のフローチヤ一 卜に示す手続よりも、 いわゆる" なりすまし" に対する防御 (検 出) が強力である。 なお、 ステップ S 48 5、 ステップ S 48 7、 ステップ S 488、 ステップ S 454、 ステップ S 456、 ステツ プ S 457、 ステップ S 460、 ステップ S 462、 ステップ S 4 9 2及びステップ S 494において、 S HAなどのハッシュ関数を 適用するとして説明したが、 D E Sなどを適用しても良い。
以上のように、 パーソナルコンピュー夕 1及びポ一夕ブルデバィ ス 6は、 相互認証の後に行われる処现に対応し、 検出力が異なる相 互認証の手続を使い分けることにより、 効率的かつ強力に、 なりす ましによる攻撃に対応することができる。
次に、 ソースプログラムを暗号化する処理を、 図 42のフローチ ャ一トを参照して説明する。 ステップ S 50 1において、 パ一ソナ ルコンピュータ 1は、 通信部 25を介して、 図示せぬ認証局に署名 を付したソースプログラムを送信する。 ステップ S 502において、 認証局は、 署名を基に、 受信したソースプログラムに改竄が発見さ れたか否かを判定し、 受信したソースプログラムに改竄が発見され た場合、 処理は継続できないので、 処理は終了する。
ステツプ S 502において、 受信したソースプログラムに改竄が 発見さなかった場合、 ステップ S 503に進み、 認証局は、 受信し たソースプログラムを認証局の秘密鍵で暗号化する。 ステップ S 5 04において、 認証局は、 暗号化したソースプログラムをパ一ソナ ルコンピュータ 1に送信する。 ステップ S 505において、 パーソ ナルコンピュータ 1は、 受信したソースプログラムを、 HDD 2 1 に記録し、 処理は終了する。
以上のように、 ソースプログラムは、 暗号化される。 なお、 認証 局に代わり、 EMDサーバ 4— 1乃至 4— 3又は所定の安全なサー バが、 ソースプログラムを暗号化するようにしてもよい。 次に、 暗号化されたソースプログラムをアダプタ 2 6が実行する 処理を、 図 4 3のフ口一チヤ一トを参照して説明する。 ステップ S 5 2 1において、 アダプタ 2 6の C P U 3 2は、 パーソナルコンビ ユー夕 1から受信した、 暗号化されたソースプログラムを、 不揮発 性メモリ 3 4に予め記憶されている認証局の公開鍵で復号する。 ス テツプ S 5 2 2において、 アダプタ 2 6の C P U 3 2は、 イン夕一 プリ夕を起動し、 復号されたソースプログラムを実行する。
ステップ S 5 2 3において、 アダプタ 2 6の C P U 3 2は、 ソ一 スプログラムを実行して得られた結果を、 パーソナルコンビュー夕 1に送信するか否かを判定し、 結果をパーソナルコンビユー夕 1に 送信しないと判定された場合、 処理は終了する。 ステップ S 5 2 3 において、 結果をパーソナルコンピュータ 1に送信すると判定され た場合、 ステップ S 5 2 4に進み、 アダプタ 2 6の C P U 3 2は、 ソースプログラムを実行して得られた結果を所定の鍵で暗号化する。 ステップ S 5 2 5において、 アダプタ 2 6の C P U 3 2は、 イン夕 一フェース 3 1を介して、 暗号化された結果をパーソナルコンビュ 一夕 1に送信し、 処理は終了する。
以上のように、 アダプタ 2 6は、 喑号化されたソースプログラム を実行し、 所定の場合、 得られた結果を暗号化し、 パーソナルコン ピュー夕 1に送信する。
なお、 オブジェク トプログラムを暗号化し、 暗号化されたォブジ ェク トプログラムをアダプタ 2 6が実行するようにしてもよい。 図 4 4は、 オブジェク トプログラムを暗号化する処理を説明するフロ —チヤ一トである。 ステップ S 5 4 1において、 パーソナルコンビ ユー夕 1は、 ソースプログラムをコンパイルし、 所定のオブジェク トプログラムを生成する。 ステップ S 5 4 2乃至ステップ S 5 4 6 の処理は、 図 4 2のステップ S 5 0 1乃至ステップ S 5 0 5とそれ それ同様の処理なので、 その説明は省略する。
図 4 5は、 暗号化されたオブジェク トプログラムをアダプタ 2 6 が実行する処理を説明するフ口一チヤ一トである。 ステップ S 5 6 1において、 アダプタ 2 6の C P U 3 2は、 パーソナルコンビュ一 夕 1から受信した、 暗号化されたオブジェク トプログラムを、 不揮 発性メモリ 3 4に予め記憶されている認証局の公開鍵で復号する。 ステップ S 5 6 2において、 アダプタ 2 6の C P U 3 2は、 復号さ れたオブジェク トプログラムを R A M 3 3に展開し、 実行する。 ス テツプ S 5 6 3乃至ステップ S 5 6 5は、 図 4 3のステップ 5 2 3 乃至ステップ S 5 2 5とそれぞれ同様の処理なので、 その説明は省 略する。
次に、 オブジェク トプログラムを暗号化する他の処理を、 図 4 6 のフローチャートを参照して説明する。 ステップ S 5 8 1において、 パーソナルコンピュータ 1の C P U 1 1は、 ソースプログラムをコ ンパイルし、 オブジェク トプログラムを生成する。 ステップ S 5 8 2において、 パーソナルコンピュータ 1の C P U 1 1は、 ィン夕一 フェース 1 7を介して、 アダプタ 2 6にアプリケーション鍵 K a p 及び個別鍵 K i d Vの発行を要求する。
ステップ S 5 8 3において、 パーソナルコンピュータ 1は、 イン ターフェース 1 7を介して、 アダプタ 2 6からアプリケーション鍵 & 及び個別鍵 i d V (アダプタ 2 6の不揮発性メモリ 3 4に 記憶されている、 アダプタ 2 6固有の鍵 K sを基に、 生成される) を受信する。 ステップ S 5 8 4において、 パ一ソナルコンビュ一夕 1の CPU 1 1は、 オブジェク トプログラムをアプリケーション鍵 K a pで暗号化する。 ステヅプ S 585において、 パーソナルコン ピュ一夕 1の CPU 1 1は、 コンテキス トに含まれるマスター鍵 K Mbなどを個別鍵 K i dvで暗号化する。 ステップ S 586におい て、 パーソナルコンピュータ 1の CPU 1 1は、 アプリケーション 鍵 K a pで暗号化されたオブジェク トプログラム及び個別鍵 K i d vで暗号化されたコンテキストに含まれるマス夕一鍵 KMbなどを HDD 2 1に記録させ、 処理は終了する。
このように、 パーソナルコンピュータ 1は、 アダプタ 26から供 給されたアプリケーション鍵 K a p及び個別鍵 K i d Vで、 ォブジ ェク トプログラム及びコンテキストを暗号化することができる。 図 46のフローチャートに示される手順で暗号化されたオブジェ ク トプログラムをアダプタ 26が実行する処理を、 図 47のフロー チヤ一トを参照して説明する。 ステップ S 601において、 パ一ソ ナルコンピュー夕 1の CPU 1 1は、 イン夕一フェース 17を介し て、 アダプタ 26に、 アプリケーション鍵 K a pで暗号化されたォ ブジェク トプログラム及び個別鍵 K i dvで暗号化されたコンテキ ス 卜に含まれるマス夕一鍵 KMbなどを送信する。
ステップ S 602において、 アダプタ 26の CPU 32は、 不揮 発性メモリ 34に予め記憶されている鍵 K s及びアプリケーション 鍵 Kapに、 ハッシュ関数を適用し、 個別鍵 K i d Vを生成する。 ステップ S 603において、 アダプタ 26の CPU 32は、 受信し たオブジェク トプログラムをアプリケーション鍵 K a pで復号する。 ステップ S 604において、 アダプタ 26の CPU 32は、 コンテ キス卜に含まれるマス夕一鍵 KMbなどを個別鍵 K i d Vで復号す る o
ステップ S 605において、 アダプタ 26の CPU32は、 復号 されたマス夕一鍵 KMbなどを含むコンテキス トを利用して、 ォブ ジェク トプログラムを実行する。 ステップ S 6◦ 6乃至ステップ S 608の処理は、 図 43のステップ S 523乃至ステップ S 525 とそれぞれ同様なので、 その説明は省略する。
以上のように、 図 47のフローチヤ一卜で示される処理において、 図 46のフローチヤ一卜で個別鍵 K i d Vを送信したアダプタ 26 は、 暗号化されたォブジェク トプログラムを実行することができる。 従って、 図 46のフローチヤ一卜で個別鍵 K i dvを送信したァダ プ夕 26以外のアダプタは、 ォブジェク トプログラムを復号できる が、 コンテキストを復号できず、 暗号化されたオブジェク トプログ ラムは実行できない。
次に、 アダプタ 26がォブジェク トプログラムを実行する場合、 処理の一部をパーソナルコンピュータ 1の CPU 1 1に実行させる ときの処理を図 48のフローチャートを参照して説明する。 ステツ プ S 65 1において、 アダプタ 26の CPU32は、 オブジェク ト プログラムの所定の命令列を、 所定の規則に従って、 変換する。 この変換は、 例えば、 DE Sの暗号化又は復号のプログラムの場 合、 Feistel 構造などの基本構造を繰り返す処理のとき、 いわゆる F関数で利用される 48ビッ トの拡大鍵と適切な乱数とに排他的論 理和を所定の回数、 適用するなどの変換を実行し、 拡大鍵を解読し にく くする。 また、 例えば、 DES CB C (Cipher Block Chaini ng) Mo deで、 多量のデータを復号するプログラムの場合、 繰り 返し構造の処理を順 (シーケンシャル) に実行せず、 多量のデ一夕 に対し、 複数の繰り返し構造の処理を同時に実行し、 拡大鍵を解読 しにく くする。
また、 例えば、 ソ一スプログラムのインストラクションに対応す るコード (例えば、 加算を表すコードが" 1 " に対応し、 乗算を表 すコードが" 2 " に対応する) を毎回変更する。
ステップ S 6 5 2において、 アダプタ 2 6の C P U 3 2は、 変換 された命令列を、 イン夕一フェース 3 1を介して、 パーソナルコン ピュー夕 1に送信する。
ステツプ S 6 5 3において、 パーソナルコンピュータ 1の C P U 1 1は、 デシャッフルされた命令列を実行する。 ステップ S 6 5 4 において、 パーソナルコンピュータ 1の C P U 1 1は、 命令列を実 行して得られた処理結果をアダプタ 2 6に送信する。
ステップ S 6 5 5において、 アダプタ 2 6の C P U 3 2は、 パ一 ソナルコンピュータ 1から受信した処理結果及びアダプタ 2 6の C P U 3 2が算出し保持している計算結果を基に、 処理を継続する。 ステップ S 6 5 6において、 アダプタ 2 6の C P U 3 2は、 パ一ソ ナルコンピュータ 1に処理を実行させるか否かを判定し、 パ一ソナ ルコンピュータ 1に処理を実行させないと判定された場合、 処理は 終了する。 ステップ S 6 5 6において、 パーソナルコンピュータ 1 に処理を実行させると判定された場合、 手続は、 ステップ S 6 5 1 に戻り、 パーソナルコンピュータ 1に処理を実行させる処理を繰り 返す。
以上のように、 アダプタ 2 6は、 ォブジェク トプログラムの処理 の一部をパーソナルコンピュータ 1に実行させることにより、 高速 にかつ安全に、 オブジェク トプログラムの処理を実行することがで ぎる。
アダプタ 2 6は、 オブジェク トプログラムに含まれる命令列を変 換してパーソナルコンピュータ 1に送信することにより、 オブジェ ク トプログラムの解読が困難になる。 アダプタ 2 6が、 ォブジェク トプログラムに含まれる命令列を暗号化して、 パーソナルコンビュ —夕 1に送信すれば、 オブジェク トプログラムの解読は更に困難に なる。
なお、 図 4 6で説明したパーソナルコンピュータ 1がアダプタ 2 6に供給するオブジェク トプログラムを暗号化する処理において、 ソースプログラムに対しステップ S 6 5 1に示した変換を実行すれ ば、 オブジェク トプログラムの解読は更に困難になる。
最後に、 パーソナルコンピュー夕 1が E M Dサーバ 4一 1乃至 4 一 3から、 事前に無料でダウンロードした音楽デ一夕を暗号化して いる暗号鍵をダウンロードするとともに、 決済をする処理を、 図 4 9のフローチャートを参照して説明する。 ステップ S 6 7 1におい て、 パーソナルコンピュータ 1は、 ネッ トワーク 2を介して E M D サーバ 4 — 1乃至 4— 3と相互認証する。 ステップ S 6 7 2におい て、 パーソナルコンピュータ 1の C P U 1 1は、 通信部 2 5を介し て、 E M Dサーバ 4— 1乃至 4— 3に、 音楽データの再生条件を示 すデータを送信する。 ステップ S 6 7 3において、 E M Dサーバ 4 一 1乃至 4— 3は、 受信した再生条件を示すデータを基に、 支払金 額のデ一夕をパーソナルコンビユー夕 1に送信する。
ステップ S 6 7 4において、 パーソナルコンピュー夕 1の C P U 1 1は、 E M Dサーバ 4一 1乃至 4一 3から受信した支払金額のデ 一夕をディスプレイ 2 0に表示させる。 ステップ S 6 7 5において、 E M Dサーバ 4 - 1乃至 4一 3は、 パーソナルコンピュータ 1に、 ユーザのクレジッ トカードの番号等の送信を要求する。 ステップ S 6 7 6において、 ユーザは、 キーボード 1 8又はマウス 1 9を操作 し、 パーソナルコンピュータ 1にクレジヅ トカードの番号等のデ一 夕を入力し、 パーソナルコンピュータ 1は、 クレジッ トカードの番 号等のデータを E M Dサ一バ 4一 1乃至 4— 3に送信する。
ステツプ S 6 7 7において、 E M Dサーバ 4一 1乃至 4一 3は、 パーソナルコンビユー夕 1から受信したクレジッ トカ一ドの番号等 のデ一夕を基に、 決済の処理を実行する。 ステップ S 6 7 8におい て、 E M Dサーバ 4— 1乃至 4一 3は、 ネッ トワーク 2を介して、 パーソナルコンピュータ 1に所定の暗号鍵を送信する。 ステツプ S 6 7 9において、 パーソナルコンピュータ 1は、 ネッ トワーク 2を 介して、 E M Dサーバ 4一 1乃至 4一 3から送信された所定の暗号 鍵を受信し、 処理は終了する。
以上のように、 パーソナルコンピュータ 1が E M Dサーバ 4一 1 乃至 4一 3から暗号鍵をダウンロードするとともに、 E M Dサーバ 4— 1乃至 4— 3は、 決済の処理をすれば、 パーソナルコンビユー 夕 1が E M Dサーバ 4— 1乃至 4— 3から音楽データをダウン口一 ドするとき、 認証、 暗号化、 又は決済などの処理が必要なくなるの で、 比較的大きなデ一夕である音楽デ一夕を迅速にダウン口一ドす ることができる。
以上においては、 記録媒体として、 ポ一夕プルデバイス 6を用い る場合を例として説明したが、 本発明は、 その他の記録媒体にデー 夕を移転又はコピーする場合にも応用することが可能である。 クレ ジッ トカードの番号等のデ一夕を基に、 決済の処理を実行するとし て説明したが、 sma s h (商標) などの手続により、 決済をする ようにしてもよい。
また、 図 4 9のフローチャートに示す処理の前に、 パーソナルコ ンピュー夕 1 と EMDサーバ 4一 1乃至 4一 3とが、 例えば、 I S 09 7 9 8 - 3で規定されている ht t p (Hypertext Transport P rotocol)上のプロ トコルを使用して、 相互認証するようにしてもよ い。
なお、 ポ一夕ブルデバイス 6は、 予め個別鍵を記憶しているして 説明したが、 ユーザがポー夕プルデバイス 6を購入後、 EMDサー バ 4一 1乃至 4一 3などからダウンロードするようにしてもよい。 また、 デ一夕は、 音楽データ以外に、 画像データ、 その他のデー 夕とすることもできる。
以上においては、 記録媒体として、 ポータブルデバイス 6を用い る場合を例として説明したが、 本発明は、 その他の記録媒体にデ一 夕を移転又はコピーする場合にも応用することが可能である。 また、 コンテンッは、 曲のデ一夕又は音声データなどの楽音デ一夕以外に、 画像デ一夕、 その他のデ一夕とすることもできる。
このように、 本発明によれば、 次のような効果を奏することがで きる。
( 1 ) HDD 2 1に暗号化してデ一夕を記録するとともに、 暗 号鍵も保存用鍵で暗号化した上で HDD 2 1に記録するようにした ので、 HDD 2 1に記録されているコンテンツをコピーしても、 こ れを復号することができないので、 複製が大量に配布されることを 防止することができる。
( 2 ) 所定の曲を 1回コピーしたとき、 一定時間 (上記例の場 合、 48時間) の間、 その曲をコピーすることができないようする ために、 その曲と録音日時を曲デ一夕ベース上に登録するようにし たので、 そのコピー回数を制限することができ、 複製を大量に配布 することを防止することができる。
さらにデ一夕ベースを更新するたびに、 データのハッシュ値を計 算し保存するようにしたので、 データベースの改竄を防止すること が容易となる。
(3) 外部の装置にコンテンツを渡したら、 HDD 21上のコ ンテンッを消去するようにしたので、 HD D 2 1内に元のデジタル データであるコンテンツが残らず、 その複製を大量に配布すること が防止される。
(4) HDD 21内に曲デ一夕べ一スを設け、 全体のハッシュ 値を毎回チェックするようにしたので、 HDD 21の内容をム一ブ の直前にバックアップし、 ム一ブ直後にバックアップしたデータを HDD 21にリストァするようにしたとしても、 送り元のデ一夕を 確実に消去することが可能となる。
( 5 ) パーソナルコンビユー夕 1が外部の機器にデ一夕を渡す とき、 その前に相互認証処理を行うようにしたので、 不正な機器に データを渡してしまうようなことが防止される。
(6) 外部機器から、 パーソナルコンピュータ 1に対してデー 夕を渡す前に、 パーソナルコンピュータ 1のソフ トウェアが正当な ものであるか否かを相互認証により確認するようにしたので、 不正 なソフ トウェアに対してコンテンツを渡してしまうようなことが防 止される。
(7) 曲の同一性の判定に I SRCを用い、 I SRCが取得で きないときは、 T〇 Cを用いるようにしたので、 I S R Cが取得で きなく とも、 曲の同一性を判定することが可能になる。
( 8 ) パーソナルコンピュータ 1におけるソフ トウヱァ機能の うち、 所定の部分をパーソナルコンピュータ 1に外付けされるァダ プ夕 2 6に負担させるようにしたので、 パーソナルコンピュータ 1 のソフ トウエアを解析しただけでは、 全体としてどのような処理と なっているのかが判らないので、 ソフ トウェアを改竄をして、 意図 する機能を持たせるようなことが困難となる。
更に、 そのソフ トゥヱァが、 安全な認証局又は E M Dサーバ 4一 1乃至 4— 3で暗号化又はシャッフルされるので、 ソフ トウエアの 改竄は、 より困難となる。
( 9 ) プログラムをプログラムに対応する鍵で暗号化し、 プロ グラムの実行に必要なデータを、 アダプタ 2 6が生成する固有の鍵 で暗号化するようにしたので、 プログラムのみを C D— R O Mなど の媒体で配布可能にしつつ、 プログラムを他のアダプタ 2 6で実行 することが防止される。
( 1 0 ) 音楽デ一夕などのコンテンツを暗号化する鍵をダウン ロードするとき、 決済されるようにしたので、 比較的大きなデータ である音楽データなどのコンテンッを迅速にダウンロードすること ができるようになる。
なお、 本明細書において、 システムとは、 複数の装置により構成 される装置全体を表すものとする。
なお、 上記したような処理を行うコンピュータプログラムをユー ザに提供する提供媒体としては、 磁気ディスク、 C D— R O M、 固 体メモリなどの記録媒体の他、 ネッ トワーク、 衛星などの通信媒体 を利用することができる。
以上のように、 本発明に係る情報提供装置、 情報提供方法及びプ 口グラム提供媒体では、 情報処理装置から所定のプログラムが受信 されるとともに、 暗号化されたプログラムが情報処理装置に送信さ れ、 受信したプログラムが暗号化されるようにしたので、 記憶され ているデ一夕が不正に読み出され、 解析されることを防止できるよ うになる。
また、 本発明に係る情報処理装置、 情報処理方法及びプログラム 提供媒体では、 所定の処理に対応し、 1以上の相互認証の手続から、 実行する相互認証の処理が選択され、 選択された相互認証の手続が 実行されるようにしたので、 記憶されているデータが不正に読み出 され、 解析されることを防止できるようになる。
また、 本発明に係る情報提供装置、 情報提供方法及びプログラム 提供媒体では、 情報処理装置から、 情報処理装置がダウンロードし たデータの利用に関するデ一夕及び決済に必要なデータが受信され るとともに、 情報処理装置に、 鍵が送信され、 情報処理装置から受 信したデ一夕の利用に関するデ一夕及び決済に必要なデータを基に、 決済されるようにしたので、 記憶されているデータが不正に読み出 され、 解析されることを防止できるようになる。
また、 本発明に係る情報処理装置、 情報処理方法及びプログラム 提供媒体によれば、 暗号化されているプログラムが復号され実行さ れ、 プログラムが供給されるとともに、 暗号化されているプログラ ムが復号され、 実行の結果を基に、 プログラムが実行されるように したので、 記憶されているデータが不正に読み出され、 解析される ことを防止できるようになる。 また、 本発明に係る情報処理装置、 情報処理方法及びプログラム 提供媒体では、 半導体 I Cに実行させるプログラムが認証局に送信 されるとともに、 認証局から暗号化されたプログラムが受信され、 認証局から受信した、 暗号化されたプログラムが記録され、 記録さ れているプログラムが、 半導体 I Cに送信されるようにしたので、 記憶されているデータが不正に^み出され、 解析されることを防止 できるようになる。
また、 本発明に係る情報処理システムでは、 半導体 I Cに実行さ せるプログラムが認証局に送信されるとともに、 認証局から暗号化 されたプログラムが受信され、 認証局から受信した、 暗号化された プログラムが記録され、 記録されているプログラムが、 半導体 I C に送信され、 半導体 I Cに実行させるプログラムが受信されるとと もに、 情報処理装置に暗号化されたプログラムが送信され、 受信し たプログラムが所定の方式で暗号化されるようにしたので、 記憶さ れているデ一夕が不正に読み出され、 解析されることを防止できる ようになる。
また、 本発明に係る情報処理装置、 情報処理方法及びプログラム 提供媒体では、 半導体 I Cに実行させるプログラムに含まれる命令 列が並び替えられ、 命令列が並び替えられたプログラムが記録され、 記録されているプログラムが、 半導体 I Cに送信されるようにした ので、 記憶されているデ一夕が不正に読み出され、 解析されること を防止できるようになる。
また、 本発明に係る情報処理装置、 情報処理方法及びプログラム 提供媒体では、 半導体 I Cに実行させるプログラムに含まれる命令 列が並び替えられ、 プログラムが暗号化され、 命令列が並び替えら れ、 暗号化されたプログラムが記録され、 記録されているプログラ ムが、 半導体 I Cに送信されるようにしたので、 記憶されているデ
—夕が不正に読み出され、 解析されることを防止できるようになる。 また、 本発明に係る情報処理装置、 情報処理方法及びプログラム 提供媒体では、 プログラム及びプログラムの実行に必要なデ一夕が 蓄積され、 プログラム及びデータの蓄積又は読み出しが制御され、 プログラムが半導体 I Cから供給された第 1の鍵で暗号化され、 デ —夕が半導体 I Cから供給された第 2の鍵で暗号化されるようにし たので、 記憶されているデータが不正に読み出され、 解析されるこ とを防止できるようになる。
また、 本発明に係る半導体 I C、 情報処理方法及びプログラム提 供媒体によれば、 情報処理装置から転送されてくる暗号化されてい る第 1のプログラムが受信され、 受信された第 1のプログラムが復 号され、 復号された第 1のプログラムを処理する第 2のプログラム が保持され、 保持されている第 2のプログラムに基づいて処理され た第 1のプログラムが実行され、 実行した結果が情報処理装置に転 送され、 計時動作を行うとともに、 情報処理装置からの時刻情報に 基づいて、 現在時刻が修正されるようにしたので、 記憶されている データが不正に読み出され、 解析されることを防止できるようにな る。
また、 本発明に係る情報処理装置、 情報処理方法及びプログラム 提供媒体では、 半導体 I Cに暗号化されているプログラムが送信さ れ、 半導体 I Cが、 プログラムを処理した結果生成し、 出力したデ 一夕が受信され、 他の装置からデータと時刻情報が受信され、 受信 したデ一夕が蓄積され、 受信した時刻情報に基づいて、 半導体 I C の時刻情報が修正されるようにしたので、 記憶されているデ一夕が 不正に読み出され、 解析されることを防止できるようになる。
また、 本発明に係る半導体 I C;、 情報処理方法、 プログラム提供 媒体では、 半導体 I C固有の第 1の鍵が予め記憶され、 記憶してい る第 1の鍵及び情報処理装匿から供給されたプログラムの属性から、 2の鍵が生成され、 プログラムが第 3の鍵で復号され、 デ一夕が 第 2の鍵で復号されるようにしたので、 記憶されているデ一夕が不 正に読み出され、 解析されることを防止できるようになる。
さらに、 本発明に係る情報処理システムによれば、 プログラム及 びプログラムの実行に必要なデータが蓄積され、 プログラム及びデ
—夕の蓄積又は読み出しが制御され、 プログラムが半導体 I Cから 供給された第 1の鍵で暗号化され、 データが半導体 I Cから供給さ れた第 2の鍵で暗号化され、 暗号化されたプログラム及びプログラ ムの実行に必要なデータが半導体 I Cに送信されるとともに、 第 1 の鍵及び第 2の鍵が半導体 I Cから受信され、 暗号化されたプログ ラム及びプログラムの実行に必要なデ一夕が受信されるとともに、 第 1の鍵及び第 2の鍵が情報処理装置に送信され、 半導体 I C固有 の第 3の鍵が予め記憶され、 記憶している第 3の鍵及び情報処理装 置から供給されたプログラムの属性から、 第 2の鍵が生成され、 受 信したプログラムが第 1の鍵で復号され、 受信したデ一夕が第 2の 鍵で復号されるようにしたので、 記憶されているデータが不正に読 み出され、 解析されることを防止できるようになる。

Claims

請求の範囲
1 . ネッ トワークを介して、 所定の情報処理装置に接続されてい る情報提供装置において、
前記情報処理装置から所定のプログラムを受信するとともに、 暗 号化された前記プログラムを前記情報処理装置に送信する通信手段 と、
通信手段が受信した前記プログラムを暗号化する暗号化手段と を含むことを特徴とする情報提供装置。
2 . 前記プログラムは、 インタープリ夕に実行させるソースプロ グラムであることを特徴とする請求の範囲第 1項に記載の情報提供
3 . 前記プログラムは、 オブジェク トプログラムであることを特 徴とする請求の範囲第 1項に記載の情報提供装置。
4 . ネッ トワークを介して、 所定の情報処理装置に接続されてい る情報提供装置の情報提供方法において、
前記情報処理装置から所定のプログラムを受信するとともに、 暗 号化された前記プログラムを前記情報処理装置に送信する通信ステ ップと、
通信ステツプで受信した前記プログラムを暗号化する暗号化ステ ップと
を含むことを特徴とする情報提供方法。
5 . ネッ トワークを介して、 所定の情報処理装置に接続されてい る情報提供装置に、 前記情報処理装置から所定のプログラムを受信するとともに、 暗 号化された前記プログラムを前記情報処理装置に送信する通信ステ ップと、
通信ステツプで受信した前記プログラムを暗号化する暗号化ステ ップと
を含む処理を突行させるコンピュータが読み取り可能なプログラ ムを提供することを特徴とするプログラム提供媒体。
6 . 他の情報処理装置と相互認証して、 所定の処理を実行する情 報処理装置において、
前記所定の処理に対応し、 1以上の相互認証の手続から、 実行す る相互認証の処理を選択する選択手段と、
前記選択手段が選択された相互認証の手続を実行する相互認証手 段と
を含むことを特徴とする情報処理装置。
7 . 他の情報処理装置と相互認証して、 所定の処理を実行する情 報処理装置の情報処理方法において、
前記所定の処理に対応し、 1以上の相互認証の手続から、 実行す る相互認証の処理を選択する選択ステップと、
前記選択ステツプで選択された相互認証の手続を実行する相互認 証ステツプと
を含むことを特徴とする情報処理方法。
8 . 他の情報処理装置と相互認証して、 所定の処理を実行する情 報処理装置に、
前記所定の処理に対応し、 1以上の相互認証の手続から、 実行す る相互認証の処理を選択する選択ステップと、 前記選択ステツプで選択された相互認証の手続を実行する相互認 証ステツプと
を含む処理を実行させるコンピュータが読み取り可能なプ口グラ ムを提供することを特徴とするプログラム提供媒体。
9 . 第 1装置において第 1乱数を発生し、
第 1装^の識別情報と鍵の属性情報と上記第 1乱数とを第 1装置 から第 2装置に送信し、
第 2装置において第 2乱数を発生し、
第 2装置において上記第 1装置から送信された第 1装置の識別情 報と鍵の属性情報と第 1乱数とを受信し、
第 2装置において上記鍵の属性情報から鍵を計算し、
第 2装置において上記鍵と上記第 1 ·第 2乱数から第 3乱数を発 生し、
第 2 ·第 3乱数と鍵に関する情報とを第 2装置から第 1装置に送 信し、
第 1装置において上記第 2装置から送信された第 2 '第 3乱数と 鍵に関する情報とを受信し、
第 1装置において上記鍵に関する情報から鍵を生成し、 第 1装置において上記鍵と上記第 1 ·第 2乱数から第 4乱数を発 生し、
上記第 4乱数を第 1装置から第 2装置に送信し、
第 1 ·第 2装置の各々において第 3 ·第 4乱数と鍵とから一時鍵 を求めることを特徴とする認証方法。
1 0 . 第 1装置において第 1乱数を発生し、
第 1装置の識別情報と第 1装置の鍵の属性情報と第 2装置の鍵の 属性情報と上記第 1乱数とを第 1装置から第 2装置に送信し、 第 2装置において第 2乱数を発生し、
第 2装置において上記第 1装置から送信された第 1装置の識別情 報と鍵の属性情報と第 2装置の鍵の属性情報と上記第 1乱数とを受 信し、
第 2装置において上記第 2装歡の鍵の属性情報から第 1鍵を計算 し、
第 2装置において上記第 1装置の鍵の属性情報から第 2鍵を計算 し、
第 2装置において上記第 2鍵と上記第 1 ■第 2乱数から第 3乱数 を発生し、
第 2 ·第 3乱数と鍵に関する情報とを第 2装置から第 1装置に送 信し、
第 1装置において上記第 2装置から送信された第 2 ·第 3乱数と 鍵に関する情報とを受信し、
第 1装置において上記鍵に関する情報から第 2鍵を生成し、 第 1装置において上記第 2鍵と上記第 1 ·第 2乱数から第 4乱数 を発生し、
上記第 4乱数を第 1装置から第 2装置に送信し、
第 1 ·第 2装置の各々において第 3 ·第 4乱数と第 2鍵とから一 時鍵を求めることを特徴とする認証方法。
1 1 . 暗号化されている所定のデータ及び前記所定のデータを暗 号化している鍵を情報処理装置に提供する情報提供装置において、 前記情報処理装置から、 前記情報処理装置がダウンロードした前 記デ一夕の利用に関するデータ及び決済に必要なデータを受信する とともに、 前記情報処理装置に、 前記鍵を送信する通信手段と、 前記情報処理装置から受信した前記データの利用に関するデータ 及び決済に必要なデ一夕を基に、 決済をする決済手段と
を含むことを特徴とする情報提供装置。
1 2 . h t t p上のプロ トコルを利用して、 前記情報処理装置と 相互認証する相互認証手段を更に含むことを特徴とする請求の範囲 第 1 1項に記載の情報提供装置。
1 3 . 暗号化されている所定のデ一夕及び前記所定のデ一夕を喑 号化している鍵を情報処理装置に提供する情報提供装置の情報提供 方法において、
前記情報処理装置から、 前記情報処理装置がダウンロードした前 記デ一夕の利用に関するデ一夕及び決済に必要なデータを受信する とともに、 前記情報処理装置に、 前記鍵を送信する通信ステップと、 前記情報処理装置から受信した前記データの利用に関するデ一夕 及び決済に必要なデ一夕を基に、 決済をする決済ステツプと
を含むことを特徴とする情報提供方法。
1 4 . 暗号化されている所定のデ一夕及び前記所定のデータを暗 号化している鍵を情報処理装置に提供する情報提供装置に、
前記情報処理装置から、 前記情報処理装置がダウンロードした前 記データの利用に関するデ一夕及び決済に必要なデ一夕を受信する とともに、 前記情報処理装置に、 前記鍵を送信する通信ステップと、 前記情報処理装置から受信した前記デ一夕の利用に関するデ一夕 及び決済に必要なデ一夕を基に、 決済をする決済ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラ ムを提供することを特徴とするプログラム提供媒体。
1 5 . 暗号化されているプログラムを復号して実行する第 1の実 行手段と、
前記プログラムを前記第 1の実行手段に供給するとともに、 暗号 化されている前記プログラムを復号し、 前記第 1の実行手段の実行 の結果を基に、 前記プログラムを実行する第 2の実行手段と を含むことを特徴とする惜報処理装置。
1 6 . 前記第 1の実行手段及び前記第 2の実行手段は、 それぞれ 独立したハードウエアに設けられていることを特徴とする請求項 1 5に記載の情報処理装置。
1 7 . 前記プログラムは、 インタープリ夕に実行させるソースプ ログラムであることを特徴とする請求の範囲第 1 5項に記載の情報 処理装置。
1 8 . 前記プログラムは、 オブジェク トプログラムであることを 特徴とする請求の範囲第 1 5項に記載の情報処理装置。
1 9 . 暗号化されているプログラムを復号して実行する第 1の実 行ステップと、
前記プログラムを前記第 1の実行ステツプに供給するとともに、 暗号化されている前記プログラムを復号し、 前記第 1の実行ステツ プの実行の結果を基に、 前記プログラムを実行する第 2の実行ステ ップと
を含むことを特徴とする情報処理装置の情報処理方法。
2 0 . 暗号化されているプログラムを復号して実行する第 1の実 亍ステップと、
前記プログラムを前記第 1の実行ステップに供給するとともに、 暗号化されている前記プログラムを復号し、 前記第 1の実行ステツ プの実行の結果を基に、 前記プログラムを実行する第 2の実行ステ ップと
を含む処理を実行させるコンピュータが読み取り可能なプログラ ムを提供することを特徴とするプログラム提供媒体。
2 1 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置において、
前記半導体 I cに実行させる前記プログラムを認証局に送信する とともに、 前記認証局から暗号化された前記プログラムを受信する 通信手段と、
前記認証局から受信した、 暗号化された前記プログラムを記録す る記録手段と、
前記記録手段に記録されている前記プログラムを、 前記半導体 I Cに送信する送信手段と
を含むことを特徴とする情報処理装置。
2 2 . 前記プログラムは、 イン夕一プリ夕に実行させるソースプ ログラムであることを特徴とする請求の範囲第 2 1項に記載の情報 処理装置。
2 3 . 前記プログラムは、 オブジェク トプログラムであることを 特徴とする請求の範囲第 2 1項に記載の情報処理装置。
2 4 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置の情報処理方法において、
前記半導体 I Cに実行させる前記プログラムを認証局に送信する とともに、 前記認証局から暗号化された前記プログラムを受信する 通信ステップと、
前記認証局から受信した、 暗号化された前記プログラムを記録す る記録ステップと、
前記記録ステツプで記録されている前記プログラムを、 前記半導 体 I Cに送信する送信ステップと
を含むことを特徴とする情報処理方法。
2 5 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置に、
前記半導体 I Cに実行させる前記プログラムを認証局に送信する とともに、 前記認証局から暗号化された前記プログラムを受信する 通信ステツプと、
前記認証局から受信した、 暗号化された前記プログラムを記録す る記録ステヅプと、
前記記録ステップで記録されている前記プログラムを、 前記半導 体 I Cに送信する送信ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラ ムを提供することを特徴とするプログラム提供媒体。
2 6 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置及び認証局からなる情報処理システ ムにおいて、
前記情報処理装置は、 前記半導体 I Cに実行させる前記プログラ ムを認証局に送信するとともに、 記認証局から暗号化された前記プ ログラムを受信する通信手段と、 前記認証局から受信した、 暗号化 された前記プログラムを記録する記録手段と、 前記記録手段に記録 されている前記プログラムを、 前記半導体 I Cに送信する送信手段 とを含み、
前記認証局は、 前記半導体 I Cに実行させる前記プログラムを受 信するとともに、 前記情報処理装置に暗号化された前記プログラム を送信する通信手段と、 前記通信手段が受信した前記プログラムを 所定の方式で暗号化する暗号化手段とを含む
ことを特徴とする情報処理システム。
2 7 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置において、
前記半導体 I cに実行させる前記プログラムに含まれる命令列を 並び替える並び替え手段と、
前記命令列が並び替えられた前記プログラムを記録する記録手段 と、
前記記録手段に記録されている前記プログラムを、 前記半導体 I cに送信する送信手段と
を含むことを特徴とする情報処理装置。
2 8 . 前記プログラムは、 イン夕一プリ夕に実行させるソースプ ログラムであることを特徴とする請求の範囲第 2 7項に記載の情報 処理装置。
2 9 . 前記プログラムは、 オブジェク トプログラムであることを 特徴とする請求の範囲第 2 7項に記載の情報処理装置。
3 0 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置の情報処理方法において、
前記半導体 I Cに実行させる前記プログラムに含まれる命令列を 並び替える並び替えステップと、
前記命令列が並び替えられた前記プログラムを記録する記録ステ ップと、
前記記録ステツプで記録されている前記プログラムを、 前記半導 体 I Cに送信する送信ステップと
を含むことを特徴とする情報処理方法。
3 1 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置に、
前記半導体 I Cに実行させる前記プログラムに含まれる命令列を 並び替える並び替えステップと、
前記命令列が並び替えられた前記プログラムを記録する記録ステ ヅプと、
前記記録ステツプで記録されている前記プログラムを、 前記半導 体 I Cに送信する送信ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラ ムを提供することを特徴とするプログラム提供媒体。
3 2 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置において、
前記半導体 I Cに実行させる前記プログラムに含まれる命令列を 並び替える並び替え手段と、
前記プログラムを暗号化する暗号化手段と、
前記命令列が並び替えられ、 暗号化された前記プログラムを記録 する記録手段と、
前記記録手段に記録されている前記プログラムを、 前記半導体 I Cに送信する送信手段と
を含むことを特徴とする情報処理装置。
3 3 . 前記プログラムは、 イン夕一プリ夕に実行させるソ一スプ 口グラムであることを特徴とする請求の範囲第 3 2項に記載の情報 処理装置。
3 4 . 前記プログラムは、 オブジェク トプログラムであることを 特徴とする請求の範囲第 3 2項に記載の情報処理装置。
3 5 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置の情報処理方法において、
前記半導体 I Cに実行させる前記プログラムに含まれる命令列を 並び替える並び替えステップと、
前記プログラムを暗号化する暗号化ステップと、
前記命令列が並び替えられ、 暗号化された前記プログラムを記録 する記録ステツプと、
前記記録ステップで記録されている前記プログラムを、 前記半導 体 I Cに送信する送信ステップと
を含むことを特徴とする情報処理方法。
3 6 . 半導体 I Cが装着され、 前記半導体 I Cに実行させるプロ グラムを供給する情報処理装置に、
前記半導体 I Cに実行させる前記プログラムに含まれる命令列を 並び替える並び替えステツプと、
前記プログラムを暗号化する暗号化ステップと、
前記命令列が並び替えられ、 暗号化された前記プログラムを記録 する記録ステップと、
前記記録ステップで記録されている前記プログラムを、 前記半導 体 I Cに送信する送信ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラ ムを提供することを特徴とするプログラム提供媒体。
3 7 . 情報処理装置に装着され、 前記情報処理装置からの指令に 基づいて、 各種の処理を実行する半導体 I Cにおいて、 前記情報処理装置から転送されてくる暗号化されている第 1のプ ログラムを受信する受信手段と、
前記受信手段により受信された前記第 1のプログラムを復号する 復号手段と、
前記復号手段により復^された前記第 1のプログラムを処理する 第 2のプログラムを保持する保持手段と、
前記保持手段に保持されている前記第 2のプログラムに基づいて 処理された前記第 1のプログラムを実行する実行手段と、
前記実行手段が実行した結果を前記情報処理装置に転送する転送 手段と、
計時動作を行うとともに、 前記情報処理装置からの時刻情報に基 づいて、 現在時刻を修正する計時手段と
を含むことを特徴とする半導体 I C。
3 8 . 前記情報処理装置が利用するデータを記憶する不揮発性の 記憶手段をさらに含むことを特徴とする請求の範囲第 3 7項に記載 の半導体 I ( 。
3 9 . 情報処理装置に装着され、 前記情報処理装置からの指令に 基づいて、 各種の処理を実行する半導体 ICの情報処理方法において、 前記情報処理装置から転送されてくる暗号化されている第 1のプ ログラムを受信する受信ステヅプと、
前記受信ステップで受信された前記第 1のプログラムを復号する 復号ステヅプと、
前記復号ステップで復号された前記第 1のプログラムを処理する 第 2のプログラムを保持する保持ステップと、
前記保持ステツプの処理で保持された前記第 2のプログラムに基 づいて処理された前記第 1のプログラムを実行する実行ステツプと、 前記実行ステップの処理で実行した結果を前記情報処理装置に転 送する転送ステップと、
計時動作を行うとともに、 前記情報処理装置からの時刻情報に基 づいて、 現在時刻を修正する計時ステップと
を含むことを特徴とする情報処理方法。
4 0 . 情報処理装置に装着され、 前記情報処理装置からの指令に 基づいて、 各種の処理を実行する半導体 I Cに、
前記情報処理装置から転送されてくる暗号化されている第 1のプ ログラムを受信する受信ステップと、
前記受信ステップで受信された前記第 1のプログラムを復号する 復号ステップと、
前記復号ステップで復号された前記第 1のプログラムを処理する 第 2のプログラムを保持する保持ステップと、
前記保持ステツプの処理で保持された前記第 2のプログラムに基 づいて処理された前記第 1のプログラムを実行する実行ステップと、 前記実行ステップの処理で実行した結果を前記情報処理装置に転 送する転送ステップと、
計時動作を行うとともに、 前記情報処理装置からの時刻情報に基 づいて、 現在時刻を修正する計時ステップと
を含む処理を実行させるコンビュ一夕が読み取り可能なプ口グラ ムを提供することを特徴とするプログラム提供媒体。
4 1 . 装着された半導体 I Cに各種の指令を出力し、 実行させる 情報処理装置において、
前記半導体 I Cに暗号化されているプログラムを送信する送信手 段と、
前記半導体 I cが、 前記プログラムを処理した結果生成し、 出力 したデ一夕を受信する第 1の受信手段と、
他の装置からデ一夕と時刻情報を受信する第 2の受信手段と、 前記第 2の受信手段が受信したデ一夕を蓄積する蓄積手段と、 前記第 2の受信手段が受信した時刻情報に基づいて、 前記半導体
I Cの時刻情報を修正させる修正手段と
を含むことを特徴とする情報処理装置。
4 2 . 装着された半導体 I Cに各種の指令を出力し、 実行させる 情報処理装置の情報処理方法において、
前記半導体 I Cに暗号化されているプログラムを送信する送信ス テツプと、
前記半導体 I Cが、 前記プログラムを処理した結果生成し、 出力 したデータを受信する第 1の受信ステップと、
他の装置からデータと時刻情報を受信する第 2の受信ステツプと、 前記第 2の受信ステップで受信したデータを蓄積する蓄積ステツ プと、
前記第 2の受信ステツプで受信した時刻情報に基づいて、 前記半 導体 ICの時刻情報を修正させる修正ステップと
を含むことを特徴とする情報処理方法。
4 3 . 装着された半導体 I Cに各種の指令を出力し、 実行させる 情報処理装置に、
前記半導体 I Cに暗号化されているプログラムを送信する送信ス テツプと、
前記半導体 I Cが、 前記プログラムを処理した結果生成し、 出力 したデータを受信する第 1の受信ステップと、
他の装置からデータと時刻情報を受信する第 2の受信ステツプと、 前記第 2の受信ステップで受信したデ一夕を蓄積する蓄積ステツ プと、
前記第 2の受信ステツプで受信した時刻情報に基づいて、 前記半 導休 I Cの時刻情報を修正させる修正ステップと
を含む処理を実行させるコンピュータが読み取り可能なプログラ ムを提供することを特徴とするプログラム提供媒体。
4 4 . 所定の半導体 I Cが装着され、 前記半導体 I Cに実行させ るプログラムを供給する情報処理装置において、
前記プ口グラム及び前記プログラムの実行に必要なデ一夕を蓄積 する蓄積手段と、
前記蓄積手段に対する前記プログラム及び前記デ一夕の蓄積又は 読み出しを制御する制御手段と、
前記プログラムを前記半導体 I Cから供給された第 1の鍵で暗号 化する第 1の暗号化手段と、
前記データを前記半導体 I Cから供給された第 2の鍵で暗号化す る第 2の暗号化手段と
を含むことを特徴とする情報処理装置。
4 5 . 前記第 1の鍵は、 前記プログラムの属性で決定されること を特徴とする請求の範囲第 4 4項に記載の情報処理装置。
4 6 . 前記第 2の鍵は、 前記プログラムの属性及び前記半導体 I Cが予め記憶している第 3の鍵で決定される
ことを特徴とする請求の範囲第 4 4項に記載の情報処理装置。
4 7 . 所定の半導体 I Cが装着され、 前記半導体 I Cに実行させ るプログラムを供給する情報処理装置の情報処理方法において、 前記プログラム及び前記プログラムの実行に必要なデ一夕を蓄積 する蓄積ステップと、
前記蓄積ステップで前記プログラム及び前記データの蓄積又は読 み出しを制御する制御ステツプと、
前記プログラムを前記半 体 I Cから供給された第 1の鍵で暗号 化する第 1の暗号化ステップと、
前記データを前記半導体 I Cから供給された第 2の鍵で暗号化す る第 2の暗号化ステップと
を含むことを特徴とする情報処理方法。
4 8 . 所定の半導体 I Cが装着され、 前記半導体 I Cに実行させ るプログラムを供給する情報処理装置に、
前記プ口グラム及び前記プログラムの実行に必要なデ一夕を蓄積 する蓄積ステツプと、
前記蓄積ステツプで前記プログラム及び前記データの蓄積又は読 み出しを制御する制御ステップと、
前記プログラムを前記半導体 I Cから供給された第 1の鍵で暗号 化する第 1の暗号化ステツプと、
前記データを前記半導体 I Cから供給された第 2の鍵で暗号化す る第 2の暗号化ステップと
を含む処理を実行させるコンピュータが読み取り可能なプ口グラ ムを提供することを特徴とするプログラム提供媒体。
4 9 . 所定の情報処理装置に装着し、 前記情報処理装置から供給 されたプログラム及び前記プログラムの実行に必要なデータを受信 し、 前記プログラムを実行する半導体 I Cにおいて、 前記半導体 I C固有の第 1の鍵を予め記憶している記憶手段と、 前記記憶手段が記憶している前記第 1の鍵及び前記情報処理装置 から供給されたプログラムの属性から、 第 2の鍵を生成する鍵生成 手段と、
前記プログラムを第 3の鍵で復号する第 1の復号手段と、 前記デ一夕を第 2の鍵で復号する第 2の復号手段と
を含むことを特徴とする半導体 I C。
5 0 . 所定の情報処理装置に装着し、 前記情報処理装置から供給 されたプログラム及び前記プログラムの実行に必要なデータを受信 し、 前記プログラムを実行する半導体 I Cの情報処理方法において、 前記半導体 I C固有の第 1の鍵を予め記憶している記憶ステップ と、
前記記憶ステップで記憶している前記第 1の鍵及び前記情報処理 装置から供給されたプログラムの属性から、 第 2の鍵を生成する鍵 生成ステップと、
前記プログラムを第 3の鍵で復号する第 1の復号ステツプと、 前記デ一夕を第 2の鍵で復号する第 2の復号ステップと
を含むことを特徴とする情報処理方法。
5 1 . 所定の情報処理装置に装着し、 前記情報処理装置から供給 されたプログラム及び前記プログラムの実行に必要なデータを受信 し、 前記プログラムを実行する半導体 I Cに、
前記半導体 I C固有の第 1の鍵を予め記憶している記憶ステップ と、
前記記憶ステップで記憶している前記第 1の鍵及び前記情報処理 装置から供給されたプログラムの属性から、 第 2の鍵を生成する鍵 生成ステツプと、
前記プログラムを第 3の鍵で復号する第 1の復号ステツプと、 前記データを第 2の鍵で復号する第 2の復号ステップと を含む処理を実行させるコンピュータが読み取り可能なプ口グラ ムを提供することを特徴とするプログラム提供媒体。
5 2 . 半導体 I Cに実行させるプログラムを供給する情報処理装 置及び前記情報処理装置に装着され、 前記情報処理装置から供給さ れたプログラムを受信し、 前記プログラムを実行する半導体 I Cか らなる情報処理システムにおいて、
前記情報処理装置は、 前記プログラム及び前記プログラムの実行 に必要なデータを蓄積する蓄積手段と、 前記蓄積手段に対する前記 プログラム及び前記デ一夕の蓄積又は読み出しを制御する制御手段 と、 前記プログラムを前記半導体 I Cから供給された第 1の鍵で暗 号化する第 1の暗号化手段と、 前記デ一夕を前記半導体 I Cから供 給された第 2の鍵で暗号化する第 2の暗号化手段と、 暗号化された 前記プログラム及び前記プログラムの実行に必要なデ一夕を前記半 導体 I Cに送信するとともに、 前記第 1の鍵及び前記第 2の鍵を前 記半導体 I Cから受信する第 1の通信手段とを含み、
前記半導体 I Cは、 暗号化された前記プログラム及び前記プログ ラムの実行に必要なデータを前記情報処理装置から受信するととも に、 前記第 1の鍵及び前記第 2の鍵を前記情報処理装置に送信する 第 2の通信手段と、 前記半導体 I C固有の第 3の鍵を予め記憶して いる記憶手段と、 前記記憶手段が記憶している前記第 3の鍵及び前 記情報処理装置から供給されたプログラムの属性から、 第 2の鍵を 生成する鍵生成手段と、 前記第 2の通信手段が受信した、 前記プロ グラムを第 1の鍵で復号する第 1の復号手段と、 前記第 2の通信手 段が受信した、 前記データを第 2の鍵で復号する第 2の復号手段と を含む
ことを特徴とする情報処理システム。
PCT/JP2000/002041 1999-03-30 2000-03-30 Systeme de traitement d'informations WO2000058827A1 (fr)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CA002333642A CA2333642A1 (en) 1999-03-30 2000-03-30 Information processing system
US09/701,084 US7237112B1 (en) 1999-03-30 2000-03-30 Information processing system
AU34566/00A AU773975B2 (en) 1999-03-30 2000-03-30 Information processing system
EP00912991A EP1087291A4 (en) 1999-03-30 2000-03-30 INFORMATION PROCESSING SYSTEM
US11/736,605 US7958366B2 (en) 1999-03-30 2007-04-18 Information processing system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP11/88346 1999-03-30
JP8834699 1999-03-30

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US09/701,084 A-371-Of-International US7237112B1 (en) 1999-03-30 2000-03-30 Information processing system
US11/736,605 Continuation US7958366B2 (en) 1999-03-30 2007-04-18 Information processing system

Publications (1)

Publication Number Publication Date
WO2000058827A1 true WO2000058827A1 (fr) 2000-10-05

Family

ID=13940290

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2000/002041 WO2000058827A1 (fr) 1999-03-30 2000-03-30 Systeme de traitement d'informations

Country Status (9)

Country Link
US (2) US7237112B1 (ja)
EP (1) EP1087291A4 (ja)
KR (2) KR100756076B1 (ja)
CN (1) CN1249571C (ja)
AU (1) AU773975B2 (ja)
CA (1) CA2333642A1 (ja)
SG (1) SG116447A1 (ja)
TW (1) TW518497B (ja)
WO (1) WO2000058827A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100360996B1 (ko) * 1999-12-08 2002-11-21 캐리어 코포레이션 소프트웨어 보안 메커니즘

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10043499A1 (de) * 2000-09-01 2002-03-14 Bosch Gmbh Robert Verfahren zur Datenübertragung
JP2003233590A (ja) * 2002-02-08 2003-08-22 Hitachi Ltd 移動追従型サービス提供方法、システム及びプログラム
JP3818503B2 (ja) * 2002-04-15 2006-09-06 ソニー株式会社 情報処理装置および方法、並びにプログラム
JP2004112461A (ja) * 2002-09-19 2004-04-08 Sony Corp データ処理方法、そのプログラムおよびその装置
EP1555824A1 (en) * 2002-10-21 2005-07-20 Omron Corporation Medium data reproduction device, medium data distribution device, medium data reproduction method, medium data reproduction program, medium data distribution program, and computer-readable recording medium
JP3894324B2 (ja) * 2003-10-08 2007-03-22 船井電機株式会社 記録再生装置および記録再生装置における記録再生方法
KR20060128869A (ko) * 2004-01-08 2006-12-14 마쯔시다덴기산교 가부시키가이샤 컨텐츠 관리 장치
JP4335707B2 (ja) * 2004-02-06 2009-09-30 Necエレクトロニクス株式会社 プログラム改竄検出装置、及びプログラム改竄検出プログラムおよびプログラム改竄検出方法
JP2005293109A (ja) * 2004-03-31 2005-10-20 Canon Inc ソフトウェア実行管理装置、ソフトウェア実行管理方法、及び制御プログラム
US8266429B2 (en) 2004-07-20 2012-09-11 Time Warner Cable, Inc. Technique for securely communicating and storing programming material in a trusted domain
US8312267B2 (en) * 2004-07-20 2012-11-13 Time Warner Cable Inc. Technique for securely communicating programming content
TWI249677B (en) * 2004-07-20 2006-02-21 Advantech Co Ltd Two-layer key protection method and architecture for computer peripheral interface
US7685166B2 (en) * 2005-01-19 2010-03-23 Panasonic Corporation Information recording apparatus
US8195789B2 (en) * 2005-04-20 2012-06-05 Oracle International Corporation System, apparatus and method for characterizing messages to discover dependencies of services in service-oriented architectures
US8520850B2 (en) 2006-10-20 2013-08-27 Time Warner Cable Enterprises Llc Downloadable security and protection methods and apparatus
US8732854B2 (en) 2006-11-01 2014-05-20 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US8621540B2 (en) 2007-01-24 2013-12-31 Time Warner Cable Enterprises Llc Apparatus and methods for provisioning in a download-enabled system
US8806220B2 (en) * 2009-01-07 2014-08-12 Microsoft Corporation Device side host integrity validation
US9866609B2 (en) 2009-06-08 2018-01-09 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US9602864B2 (en) 2009-06-08 2017-03-21 Time Warner Cable Enterprises Llc Media bridge apparatus and methods
KR101704531B1 (ko) * 2010-04-22 2017-02-08 삼성전자주식회사 휴대 단말기의 텍스트 정보 표시 방법 및 장치
US9906838B2 (en) 2010-07-12 2018-02-27 Time Warner Cable Enterprises Llc Apparatus and methods for content delivery and message exchange across multiple content delivery networks
WO2012161505A1 (en) * 2011-05-23 2012-11-29 Samsung Electronics Co., Ltd. Method and apparatus for authenticating a non-volatile memory device
US9565472B2 (en) 2012-12-10 2017-02-07 Time Warner Cable Enterprises Llc Apparatus and methods for content transfer protection
US20140282786A1 (en) 2013-03-12 2014-09-18 Time Warner Cable Enterprises Llc Methods and apparatus for providing and uploading content to personalized network storage
US10368255B2 (en) 2017-07-25 2019-07-30 Time Warner Cable Enterprises Llc Methods and apparatus for client-based dynamic control of connections to co-existing radio access networks
US9066153B2 (en) 2013-03-15 2015-06-23 Time Warner Cable Enterprises Llc Apparatus and methods for multicast delivery of content in a content delivery network
US9313568B2 (en) 2013-07-23 2016-04-12 Chicago Custom Acoustics, Inc. Custom earphone with dome in the canal
US9251355B2 (en) 2013-07-30 2016-02-02 International Business Machines Corporation Field level database encryption using a transient key
CN104243480A (zh) * 2013-09-22 2014-12-24 摩尔动力(北京)技术股份有限公司 信息传播系统
US9621940B2 (en) 2014-05-29 2017-04-11 Time Warner Cable Enterprises Llc Apparatus and methods for recording, accessing, and delivering packetized content
US11540148B2 (en) 2014-06-11 2022-12-27 Time Warner Cable Enterprises Llc Methods and apparatus for access point location
US9935833B2 (en) 2014-11-05 2018-04-03 Time Warner Cable Enterprises Llc Methods and apparatus for determining an optimized wireless interface installation configuration
US9986578B2 (en) 2015-12-04 2018-05-29 Time Warner Cable Enterprises Llc Apparatus and methods for selective data network access
US9918345B2 (en) 2016-01-20 2018-03-13 Time Warner Cable Enterprises Llc Apparatus and method for wireless network services in moving vehicles
US10492034B2 (en) 2016-03-07 2019-11-26 Time Warner Cable Enterprises Llc Apparatus and methods for dynamic open-access networks
US10164858B2 (en) 2016-06-15 2018-12-25 Time Warner Cable Enterprises Llc Apparatus and methods for monitoring and diagnosing a wireless network
US10645547B2 (en) 2017-06-02 2020-05-05 Charter Communications Operating, Llc Apparatus and methods for providing wireless service in a venue
US10638361B2 (en) 2017-06-06 2020-04-28 Charter Communications Operating, Llc Methods and apparatus for dynamic control of connections to co-existing radio access networks
TWI653864B (zh) 2017-11-21 2019-03-11 國立交通大學 高安全性之區塊鏈資料傳送方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996027155A2 (en) * 1995-02-13 1996-09-06 Electronic Publishing Resources, Inc. Systems and methods for secure transaction management and electronic rights protection
EP0862293A2 (en) * 1997-02-28 1998-09-02 Matsushita Electric Industrial Co., Ltd. Information devices whitch select and use one out of a plurality of encryption utilization protocols for protecting copyrights of digital productions
EP0874300A2 (en) * 1997-04-23 1998-10-28 Sony Corporation Information transmission, reception and recording
EP0874299A2 (en) * 1997-04-23 1998-10-28 Sony Corporation Data transmission, reception, encryption, decryption and recording
EP0875814A2 (en) * 1997-04-30 1998-11-04 Sony Corporation Information processing apparatus and method and recording medium
EP0875815A2 (en) * 1997-04-30 1998-11-04 Sony Corporation Information processing apparatus and method and recording medium

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2549989B1 (fr) * 1983-07-29 1985-09-13 Philips Ind Commerciale Systeme d'authentification entre un lecteur de carte et une carte de paiement echangeant des informations
GB2163577B (en) * 1984-08-23 1988-01-13 Nat Res Dev Software protection device
DE3736882C2 (de) * 1987-10-30 1997-04-30 Gao Ges Automation Org Verfahren zur Echtheitsprüfung eines Datenträgers mit integriertem Schaltkreis
US5058157A (en) * 1989-09-06 1991-10-15 Macrovision Corporation Method and apparatus for encrypting and decrypting time domain signals
EP0440158B1 (en) * 1990-01-30 1997-09-10 Kabushiki Kaisha Toshiba Mutual authentication system
JP3425177B2 (ja) * 1993-03-24 2003-07-07 株式会社東芝 データ伝送システム
FR2718312B1 (fr) * 1994-03-29 1996-06-07 Rola Nevoux Procédé d'authentification combinée d'un terminal de télécommunication et d'un module d'utilisateur.
DE4413451A1 (de) * 1994-04-18 1995-12-14 Rolf Brugger Vorrichtung zum Vertrieb von Musikinformationen in digitaler Form
US5778071A (en) * 1994-07-12 1998-07-07 Information Resource Engineering, Inc. Pocket encrypting and authenticating communications device
EP0695056B1 (en) * 1994-07-29 2005-05-11 Canon Kabushiki Kaisha A method for sharing secret information, generating a digital signature, and performing certification in a communication system that has a plurality of information processing apparatuses and a communication system that employs such a method
JP3395863B2 (ja) 1994-08-10 2003-04-14 富士通株式会社 ソフトウエア管理モジュール、ソフトウエア再生管理装置およびソフトウエア再生管理システム
US5754657A (en) * 1995-08-31 1998-05-19 Trimble Navigation Limited Authentication of a message source
JP3541522B2 (ja) * 1995-10-09 2004-07-14 松下電器産業株式会社 機器間通信保護システムおよび機器
US5991407A (en) * 1995-10-17 1999-11-23 Nokia Telecommunications Oy Subscriber authentication in a mobile communications system
US5764887A (en) * 1995-12-11 1998-06-09 International Business Machines Corporation System and method for supporting distributed computing mechanisms in a local area network server environment
US6073236A (en) * 1996-06-28 2000-06-06 Sony Corporation Authentication method, communication method, and information processing apparatus
US6034618A (en) * 1996-10-31 2000-03-07 Matsushita Electric Industrial Co., Ltd. Device authentication system which allows the authentication function to be changed
US6292896B1 (en) * 1997-01-22 2001-09-18 International Business Machines Corporation Method and apparatus for entity authentication and session key generation
JP3050843B2 (ja) 1997-02-28 2000-06-12 松下電器産業株式会社 デジタル著作物の著作権保護のための暗号技術利用プロトコルを複数から選択して使用する情報機器
US6105133A (en) * 1997-03-10 2000-08-15 The Pacid Group Bilateral authentication and encryption system
JP4268690B2 (ja) * 1997-03-26 2009-05-27 ソニー株式会社 認証システムおよび方法、並びに認証方法
US6104716A (en) * 1997-03-28 2000-08-15 International Business Machines Corporation Method and apparatus for lightweight secure communication tunneling over the internet
JP3474075B2 (ja) 1997-04-07 2003-12-08 富士通株式会社 複数の記録媒体上へのデータ記録方法および装置
US6003135A (en) * 1997-06-04 1999-12-14 Spyrus, Inc. Modular security device
JPH1139158A (ja) 1997-07-18 1999-02-12 Nippon Telegr & Teleph Corp <Ntt> 実行プログラムの保護方法およびその装置
JP3688099B2 (ja) * 1997-07-22 2005-08-24 富士通株式会社 電子情報配布方法及び記録媒体
JPH1145507A (ja) * 1997-07-24 1999-02-16 Toshiba Corp 情報再生装置、認識装置、情報処理システム
JP3272283B2 (ja) * 1997-11-14 2002-04-08 富士通株式会社 電子データ保管装置
EP0932112A1 (fr) * 1998-01-20 1999-07-28 Koninklijke Philips Electronics N.V. Lecteur de carte à puce muni d'un commutateur d'horloge
JPH11249964A (ja) * 1998-03-03 1999-09-17 Fujitsu Ltd 時計装置及びコンピュータ装置
KR100293174B1 (ko) * 1998-05-27 2001-07-12 이종인 전화기의다주파부호(mfc)톤다이얼신호보안방법및장치
US6918035B1 (en) * 1998-07-31 2005-07-12 Lucent Technologies Inc. Method for two-party authentication and key agreement
US6591364B1 (en) * 1998-08-28 2003-07-08 Lucent Technologies Inc. Method for establishing session key agreement
JP2000076787A (ja) * 1998-09-02 2000-03-14 Sony Corp 情報記録再生装置および方法、並びに提供媒体
FI981902A (fi) * 1998-09-04 2000-03-05 Sonera Oyj Turvamoduuli, turvajärjestelmä ja matkaviestin
US6119108A (en) * 1998-10-01 2000-09-12 Aires Systems Corporation Secure electronic publishing system
CN1224909C (zh) * 1998-10-16 2005-10-26 松下电器产业株式会社 数字作品保护系统
US6728880B1 (en) * 1999-09-17 2004-04-27 Adobe Systems Incorporated Secure time on computers with insecure clocks

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1996027155A2 (en) * 1995-02-13 1996-09-06 Electronic Publishing Resources, Inc. Systems and methods for secure transaction management and electronic rights protection
EP0862293A2 (en) * 1997-02-28 1998-09-02 Matsushita Electric Industrial Co., Ltd. Information devices whitch select and use one out of a plurality of encryption utilization protocols for protecting copyrights of digital productions
EP0874300A2 (en) * 1997-04-23 1998-10-28 Sony Corporation Information transmission, reception and recording
EP0874299A2 (en) * 1997-04-23 1998-10-28 Sony Corporation Data transmission, reception, encryption, decryption and recording
EP0875814A2 (en) * 1997-04-30 1998-11-04 Sony Corporation Information processing apparatus and method and recording medium
EP0875815A2 (en) * 1997-04-30 1998-11-04 Sony Corporation Information processing apparatus and method and recording medium

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"DVD, Personal computer ni noru software fukugou no kagi wo nigiru fusei copy boushi gijutsu no medo", NIKKEI ELECTRONICS,, no. 696, 18 August 1997 (1997-08-18), (TOKYO), pages 110 - 119 *
DAVID AUCSMITH.: "Gyaku kaiseki ya kainhen kara soft wo mamoru tamper resistant software gijutsu no shousai", NIKKEI ELECTRONICS,, no. 706, 5 January 1998 (1998-01-05), (TOKYO), pages 209 - 220 *
TARO YOSHIO.: "Digital chosakuken: Kogata memory card de chosakuken wo mamoru", NIKKEI ELECTRONICS,, no. 739, 22 March 1999 (1999-03-22), (TOKYO), pages 49 - 53 *
TARO YOSHIO.: "Ongaku haishin matta nashi: Seibi isogu chosakuken hogo gijutsu", NIKKEI ELECTRONICS,, no. 738, 8 March 1999 (1999-03-08), (TOKYO), pages 94 - 98 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100360996B1 (ko) * 1999-12-08 2002-11-21 캐리어 코포레이션 소프트웨어 보안 메커니즘

Also Published As

Publication number Publication date
CA2333642A1 (en) 2000-10-05
EP1087291A4 (en) 2008-10-08
US7237112B1 (en) 2007-06-26
CN1310817A (zh) 2001-08-29
EP1087291A1 (en) 2001-03-28
KR100756076B1 (ko) 2007-09-07
US20070192603A1 (en) 2007-08-16
AU3456600A (en) 2000-10-16
CN1249571C (zh) 2006-04-05
KR100862371B1 (ko) 2008-10-13
SG116447A1 (en) 2005-11-28
AU773975B2 (en) 2004-06-10
KR20010043903A (ko) 2001-05-25
TW518497B (en) 2003-01-21
US7958366B2 (en) 2011-06-07
KR20070053792A (ko) 2007-05-25

Similar Documents

Publication Publication Date Title
KR100862371B1 (ko) 정보처리 시스템
KR100632495B1 (ko) 정보처리장치 및 방법과 프로그램 격납매체
KR100654879B1 (ko) 정보 처리 장치 및 방법, 및 프로그램 저장 매체
KR100633588B1 (ko) 반도체 ic, 정보처리방법, 정보처리장치 및 프로그램 기록매체
WO2001031461A1 (fr) Systeme fournisseur de contenu
JP4568933B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP4329258B2 (ja) コンテンツデータの制御装置及び方法、並びに、記憶媒体
JP4360026B2 (ja) データ処理装置、コンテンツ管理方法及び記憶媒体
WO2001035236A1 (fr) Procede de gestion de donnees de contenu
JP4556277B2 (ja) 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体
JP2000305846A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000347852A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP4379653B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP4304819B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP4300442B2 (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000348105A (ja) 情報提供装置および方法、並びにプログラム格納媒体
JP4581219B2 (ja) コンテンツ提供システム、コンテンツ配信方法、記憶媒体及びデータ処理装置
JP2000306006A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000349751A (ja) 情報処理装置および方法、認証方法、並びにプログラム格納媒体
JP2000347851A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000347847A (ja) 情報処理装置および方法、半導体ic、情報処理システム、並びにプログラム格納媒体
JP2000305855A (ja) 情報処理装置および方法、並びにプログラム格納媒体
JP2000347848A (ja) 半導体ic、情報処理方法、情報処理装置、並びにプログラム格納媒体
JP2000347850A (ja) 情報処理装置および方法、並びにプログラム格納媒体
WO2001031462A1 (fr) Systeme de controle d&#39;information sur les conditions d&#39;utilisation de contenu

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 00800997.X

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY CA CH CN CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

WWE Wipo information: entry into national phase

Ref document number: 34566/00

Country of ref document: AU

ENP Entry into the national phase

Ref document number: 2333642

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2000912991

Country of ref document: EP

Ref document number: 1020007013414

Country of ref document: KR

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

Ref document number: PA/a/2000/011785

Country of ref document: MX

WWP Wipo information: published in national office

Ref document number: 2000912991

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 1020007013414

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 09701084

Country of ref document: US

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWG Wipo information: grant in national office

Ref document number: 34566/00

Country of ref document: AU