WO2006109738A1 - 回路構築装置 - Google Patents

回路構築装置 Download PDF

Info

Publication number
WO2006109738A1
WO2006109738A1 PCT/JP2006/307481 JP2006307481W WO2006109738A1 WO 2006109738 A1 WO2006109738 A1 WO 2006109738A1 JP 2006307481 W JP2006307481 W JP 2006307481W WO 2006109738 A1 WO2006109738 A1 WO 2006109738A1
Authority
WO
WIPO (PCT)
Prior art keywords
circuit
encryption
key
information
formation information
Prior art date
Application number
PCT/JP2006/307481
Other languages
English (en)
French (fr)
Inventor
Natsume Matsuzaki
Toshihisa Nakano
Shinichi Marui
Original Assignee
Matsushita Electric Industrial Co., Ltd.
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 Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to JP2007512979A priority Critical patent/JPWO2006109738A1/ja
Priority to EP06731428A priority patent/EP1873961A1/en
Priority to US11/886,712 priority patent/US8452985B2/en
Priority to CN200680020397.4A priority patent/CN101194460B/zh
Publication of WO2006109738A1 publication Critical patent/WO2006109738A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/60Digital content management, e.g. content distribution

Definitions

  • the present invention relates to a technique for introducing a new encryption method.
  • the present invention relates to a technology for safely introducing a new encryption method using a limited number of rewritable circuits.
  • the encryption method was changed when the encryption method used for encryption was decrypted or when a new encryption method was developed! There is a request.
  • Patent Document 1 discloses an encryption processing system as a technique for changing an encryption method implemented by hardware.
  • the cryptographic processing system includes a programmable processor, downloads a program according to the type of application and data, installs it in the programmable processor, and changes the cryptographic method.
  • Patent Document 2 discloses a technique for safely inputting configuration data for constructing a circuit in an FPGA (Field Programmable Gate Array). According to this technology, a decryption circuit is provided between the rewritable part and the input terminal in the FPGA, and the decryption circuit acquires and decrypts the encrypted configuration data, and then outputs it to the rewritable part.
  • Patent Document 1 JP-A-10-320191
  • Patent Document 2 JP 2002-50956 A Disclosure of the invention
  • the rewritable circuit is expensive and occupies a large area on the substrate. Therefore, it is desirable to install a large number of rewritable circuits.
  • the present invention provides a circuit construction device and a circuit construction method capable of acquiring circuit formation information relating to a new encryption method safely without increasing the number of rewritable circuits to be mounted.
  • the purpose is to provide.
  • the present invention provides a circuit construction device that rewrites a rewritable logic circuit and constructs an execution circuit according to a plurality of stored circuit formation information.
  • 1 or more constructing means for acquiring circuit formation information for determining the possible logic circuit and an execution circuit for executing a predetermined process, and rewriting the logic circuit according to the acquired circuit formation information to construct the execution circuit
  • One or more existing circuit formation information that defines the encryption circuit that executes encryption processing by the corresponding encryption method is stored.
  • Acquire introductory information that contains at least the new circuit formation information generated by encrypting the new circuit formation information that defines the encryption circuit that performs encryption processing using a new encryption method different from the method.
  • Reading means for reading existing circuit formation information corresponding to the encryption method used for the encryption from the storage means, and outputting the read existing circuit formation information to the construction means as the circuit formation information; Control means for controlling the constructed cryptographic circuit to decrypt the encrypted new circuit formation information included in the acquired introduction information and generate the new circuit formation information; and And writing means for writing new circuit formation information into the storage means.
  • the present invention includes a circuit construction device that constructs an execution circuit by rewriting a rewritable logical circuit according to a plurality of stored circuit formation information, and a server device.
  • New circuit introduction system that obtains circuit formation information that defines the rewritable logic circuit and an execution circuit that executes a predetermined process, and rewrites the logic circuit according to the acquired circuit formation information and executes the circuit
  • Control means for controlling to generate new circuit formation information; and writing means for writing the effectively generated new circuit formation information to the storage means, wherein the server device stores the new circuit formation information.
  • the FPGA 122 corresponds to the “logic circuit”.
  • the construction mechanism 123 corresponds to the “construction means”.
  • the encryption circuit storage unit 117 corresponds to the “storage unit”.
  • the program acquisition unit 106 corresponds to “acquisition means”.
  • the selection unit 113 corresponds to “reading means”.
  • the control unit 116 corresponds to “control means”.
  • the “writing device” has the function of the validity checking unit 112.
  • the storage unit stores one or more existing circuit formation information corresponding to one or more encryption methods, and the construction unit performs the logic according to arbitrary circuit formation information. Rewrite the circuit to build the execution circuit. Therefore, the circuit construction device according to the present invention is an encryption circuit based on an undecrypted encryption scheme even if any one of the one or more encryption schemes is decrypted by a single rewritable logic circuit. Forming and shape It is possible to obtain new circuit formation information safely by using the encryption circuit.
  • the acquisition means selects one encryption method from the reception unit that receives instruction information for instructing the introduction of the new encryption method, and the one or more encryption methods, and externally A notification unit for notifying a device of the selected encryption method; and a reception unit for receiving the encrypted new circuit formation information generated by the notified encryption method from the external device; and It is characterized in that the existing circuit formation information corresponding to the encryption method selected by the notification unit is read.
  • the notifying unit selects an encryption method corresponding to the existing circuit formation information last written in the storage unit from the one or more encryption methods.
  • the circuit construction device determines an encryption method to be used for exchange of new circuit formation information.
  • the encryption method corresponding to the existing circuit formation information written last in the storage means is selected.
  • the encryption method corresponding to the existing circuit formation information written in the storage means is the last one of the one or more encryption methods, and is estimated to be the most secure. Therefore, by doing so, the new circuit formation information can be acquired more safely.
  • the notifying unit constituting the circuit formation information selects the one having the highest encryption strength from the one or more encryption methods.
  • the new circuit formation information can be acquired more safely by selecting the encryption method having the highest encryption strength.
  • the notifying unit constituting the circuit formation information selects the one encryption method in accordance with a selection instruction input from the outside.
  • the selection instruction from the outside can be, for example, input by a user of the circuit construction device.
  • the user can select the first encryption method in consideration of safety, time, etc. related to the acquisition of the new circuit formation information.
  • the selection instruction from the outside is considered to be written on a recording medium attached to the circuit construction device.
  • the recording medium includes an encryption method necessary for handling the information recorded on the recording medium, and new circuit formation information corresponding to the encryption method.
  • the instruction indicating the encryption method suitable for obtaining is recorded.
  • the notification unit selects one encryption method according to the instruction written in the recording medium. In this way, it is possible to make a selection that reflects the intention of the recording medium distributor.
  • the reception unit is characterized in that the instruction information including a reading notification indicating that any one of the one or more encryption methods has been decoded is acquired.
  • the accepting unit acquires the instruction information including a decryption notification indicating that any one of the one or more encryption methods has been decrypted. That is, when any of the encryption methods is decrypted, the new circuit formation information corresponding to the new encryption method is acquired. Therefore, the circuit construction device of the present invention can use the new encryption method instead of the decrypted encryption method even if any of the encryption methods is decoded.
  • the notification unit selects an encryption method other than the decrypted encryption method indicated by the decryption notification.
  • the notification unit since the notification unit selects an encryption method other than the decrypted encryption method, the new circuit formation information can be safely acquired by an undecrypted encryption method.
  • the circuit construction device further includes a deletion unit that deletes the existing circuit formation information corresponding to the decrypted encryption method indicated by the decryption notification from the storage unit.
  • control unit 116 has the function of the “deleting means”.
  • the deletion unit deletes the existing circuit configuration information corresponding to the decrypted encryption method, so that the circuit construction apparatus can perform encryption processing using the decrypted encryption method in the future. This can be avoided reliably.
  • Each of the existing circuit formation information stored in the storage means includes encryption circuit information indicating a configuration of an encryption circuit that executes encryption processing by a corresponding encryption method, and decryption processing by a corresponding encryption method.
  • the circuit construction device further includes encryption circuit information included in the existing circuit formation information corresponding to the decrypted encryption method indicated by the decryption notification.
  • Deletion means for deleting from the storage means It is characterized by providing.
  • the above-mentioned “deleting means” has the function of the control unit 116.
  • the deleting unit deletes the encrypted circuit formation information corresponding to the decrypted encryption method. Therefore, in the circuit construction device, various information will not be encrypted by the decrypted encryption method in the future.
  • the decryption circuit information corresponding to the decrypted encryption method is left as it is. Therefore, the ciphertext generated in the past can be decrypted and used by the decrypted encryption method.
  • the introduction information includes the encrypted new circuit formation information and an identifier indicating an encryption method used for generating the encrypted new circuit formation information, and the reading unit indicates the identifier It is characterized by reading the existing circuit formation information corresponding to the encryption method.
  • the reading unit since the introduction information includes the encrypted new circuit formation information and an identifier indicating the encryption method used for generating the encrypted new circuit formation information, the reading unit includes the introduction information.
  • the existing circuit formation information can be quickly read out based on the identifier included in.
  • the new circuit formation information includes configuration information indicating a configuration of an encryption circuit that performs encryption processing using the new encryption method, and key information used in the new encryption method.
  • the acquisition means includes the encrypted new circuit formation information including the encrypted configuration information generated by encrypting the configuration information and the encryption key information generated by encrypting the key information.
  • the control means controls the constructed cryptographic circuit to decrypt the encrypted configuration information and the encryption key information to generate the configuration information and the key information.
  • the writing means writes the new circuit formation information composed of the generated configuration information and the key information.
  • the acquisition unit acquires the encrypted new circuit formation information including the encryption configuration information and the encryption key information, and the constructed encryption circuit includes the encryption configuration information and the encryption.
  • the configuration information and the key information are generated by decrypting the key information. Therefore, the Since the circuit configuration apparatus acquires the configuration information and key information related to the new encryption method at a time, the new encryption method can be used immediately after the acquisition of the configuration information.
  • the acquisition unit further acquires signature information generated by applying a digital signature to the new circuit formation information
  • the circuit construction device further includes the signature information and the generated new circuit.
  • verification means for verifying the validity of the new circuit formation information using the formation information
  • the writing means determines that the new circuit formation information has been generated effectively when the verification is successful.
  • the new circuit formation information is written into the storage means.
  • the above-described “verification unit” has the function of the validity check k unit 112 and the FPGA 122.
  • the writing unit writes the generated new circuit formation information into the storage unit only when the verification by the verification unit is successful. In this way, new circuit formation information distributed by a malicious third party can be eliminated.
  • the storage unit further stores verification circuit formation information indicating a configuration of the verification unit, and the reading unit further performs the decoding after the decoding is completed.
  • the verification circuit formation information is read, and the read verification circuit formation information is output to the construction unit as the circuit formation information.
  • the control means outputs the verification circuit formation information to the construction means.
  • the construction means constructs the verification means by rewriting the logic circuit according to the verification circuit formation information. That is, since the logic circuit is also used for the verification, the circuit scale in the circuit construction apparatus can be further reduced by / J.
  • FIG. 1 is a configuration diagram showing a configuration of an information security system according to a first embodiment.
  • FIG. 2 shows information recorded on DVDs 400a and 400b.
  • FIG. 3 is a block diagram showing a functional configuration of the encryption method management server 600.
  • FIG. 4 List of invalid encryption methods 621 and transmission key table stored in information storage unit 610 The details of Bull 626 are shown.
  • FIG. 5 shows the configuration of the encryption circuit file 631, the key circuit file 651, and the verification key file 671 stored in the information storage unit 610.
  • FIG. 6 shows details of the signature key table 691 held by the signature generation unit 603.
  • FIG. 7 shows an example of a group of information that is transmitted from the encryption method management server 600 to the content reproduction device 100 when a new encryption method is introduced.
  • FIG. 8 is a block diagram showing a configuration of the content reproduction apparatus 100.
  • FIG. 9 shows information stored in the master individual key storage unit 102 and the device key storage unit 103.
  • FIG. 10 shows an example of information stored in the main storage unit 107.
  • FIG. 11 The configuration of the usable method table 166 and the usable method table 1 66b after introducing the new encryption method are shown.
  • FIG. 12 shows a specific example of information stored in the encryption circuit storage unit 117 before and after the introduction of a new encryption method.
  • FIG. 13 shows a specific example of information stored in the key circuit storage unit 119 before and after the introduction of a new encryption method.
  • FIG. 15 is a flowchart showing an example of the operation of the key generation circuit constructed according to the key generation program “KgenA”.
  • FIG. 16 is a block diagram functionally showing the cryptographic processing circuit built in the variable circuit 108 in accordance with the cryptographic key program.
  • FIG. 18 shows details of the check information table 201 held by the validity check unit 112.
  • FIG. 19 is a block diagram showing a functional configuration of a memory card 500.
  • FIG. 20 is a flowchart showing an operation of the content reproduction apparatus.
  • FIG.21 Content playback device that is powerful in introducing the AES encryption method accompanying the decryption of the DES encryption method 4 is a flowchart showing operations of the device 100 and the encryption method management server 600.
  • FIG. 22 is a flowchart showing the operations of the content playback device 100 and the encryption method management server 600, which are effective in introducing the AES encryption method accompanying the decryption of the DES encryption method. Continued from Figure 21.
  • FIG. 23 is a flowchart showing the operations of the content playback device 100 and the encryption method management server 600 that are conducive to introducing the AES encryption method accompanying the decryption of the DES encryption method. Continued from Figure 21.
  • FIG. 24 is a flowchart showing the operations of the content playback device 100 and the encryption method management server 600, which are powerful in introducing the AES encryption method accompanying the decryption of the DES encryption method. Continued from Figure 21.
  • FIG. 25 is a flowchart showing an operation of verifying whether or not the acquired content can be played back by the content playback apparatus 100.
  • FIG. 26 is a flowchart showing an operation related to verification of signature data.
  • FIG. 27 is a flowchart showing a content reproduction operation.
  • FIG. 28 is a flowchart showing an operation of outputting content to a memory card.
  • FIG. 29 is a flowchart showing an operation of outputting content to a memory card. Figure 28 Force continues.
  • FIG. 30 is a flowchart showing an operation of outputting content to a memory card. Figure 28 Force continues.
  • FIG. 31 shows an example of information stored in the signature storage unit 220.
  • the information security system 1 includes a content playback device 100, an encryption method management server 600, a content server 700, and a portable player 800.
  • the content server 700, the encryption method management server 600, and the content reproduction device 100 are connected to the Internet 20.
  • the content server 700 is a device that provides content such as movies, and has been generated by an encrypted content generated by encrypting the content and the above-mentioned encrypted content power. Is provided to the content reproduction apparatus 100 via the Internet 20 or a recording medium such as a DVD.
  • the content playback device 100 acquires the encrypted content and signature from the content server 700 via the Internet 20 or DVD, verifies the acquired signature, and is distributed by a valid distributor. It authenticates that it is content, and decrypts and plays back the encrypted content.
  • the content playback apparatus 100 can be loaded with a memory card, and encrypts the content key used to generate the encrypted content in accordance with the user's operation, and the encrypted content key and the encrypted content key. Write content to the memory card.
  • a system identifier indicating an encryption system used for content encryption is a system identifier "IDA”
  • an encryption used for signature verification is used.
  • a method identifier indicating a method is a method identifier “IDB”.
  • the encryption method indicated by the method identifier “IDA” is the DES (Data Encryption Standard) encryption method
  • the encryption method indicated by the method identifier “IDB” is the RSA (Rivest Shamir Adleman) encryption method.
  • the content playback apparatus 100 includes a rewritable circuit, and is used for signature verification.
  • a decryption processing circuit that performs decryption processing according to the RSA encryption method is constructed on the circuit, and a decryption processing circuit that performs decryption according to the DES encryption method is constructed at the time of decryption of the content.
  • an encryption processing circuit that performs encryption processing using the DES encryption method is constructed.
  • the encryption method management server 600 manages the security of the encryption method used by the content reproduction apparatus 100 for signature verification, content decryption, and the like.
  • the encryption method management server 600 stores information on the encryption method used by the content playback apparatus 100 instead of the decrypted encryption method when the DES encryption method or the RSA encryption method is decrypted. .
  • the information related to the new encryption method that replaces the decrypted encryption method is encrypted according to the other unencrypted encryption method and transmitted to the content playback apparatus 100.
  • the content server 700 and the encryption method management server 600 are managed by the same or related organization, and share information related to the change of the encryption method and information about the key of the new encryption method. .
  • the content server 700 encrypts the content or generates a signature using the new encryption method described above, instead of the decrypted encryption method.
  • the content playback apparatus 100 uses the other unencrypted encryption method to securely acquire information related to the new encryption method, and introduces a new encryption method.
  • DVDs 400a and 400b are portable optical disk media.
  • DVD400a and 400b were manufactured to distribute the same content “ConA”, but DVD400a was released when the content playback device 100 was manufactured and was encrypted using the DES encryption method. The content is memorized. DVD400b was subsequently released after the DES encryption method was decrypted, and stores content encrypted by an encryption method that replaces the DES encryption method.
  • AES Advanced Encryption Standard
  • DES Advanced Encryption Standard
  • FIG. 2 shows information recorded on the DVDs 400a and 400b. Shown in Figure 2 As described above, the content file 401, the content key information 404, and the signature file 411 are recorded on the DVD 400a.
  • the content file 401 includes a method identifier 402 “IDA” and encrypted content 403 “EncA (ConA, KconA)”.
  • the plaintext “ ⁇ ” is encrypted and generated using the encryption key “
  • 8” by the encryption method indicated by the method identifier “ID ⁇ ;” ( ⁇ A, ⁇ , C "').
  • the encrypted ciphertext is written as Enc ⁇ ( ⁇ , ⁇ ).
  • the scheme identifier 402 indicates the encryption scheme used to generate the encrypted content 403. Here, the DES encryption method is shown.
  • the encrypted content 403 is a ciphertext generated by applying the encryption key algorithm according to the DES encryption method indicated by the method identifier “IDA” to the content “ConA” using the content key “KconA”.
  • the content key “KconA” is a 56-bit encryption key.
  • the content key information 404 “CKinf A” includes a media key block and a media ID!
  • the media key block is information for giving a content decryption key for decrypting encrypted content only to a legitimate playback device that can access the DVD 400a.
  • the content decryption key is the same as the content key, but when using public key cryptography such as RSA cryptography for content encryption, the content decryption key It is different from the content key.
  • the media ID is an identifier unique to the DVD 400a.
  • a legitimate playback device can generate the content key “KconA” from the media key block using the device key and media ID unique to the playback device.
  • the signature file 411 includes a Sano 10412 “001 8”, a method identifier 413 “108”, and signature data 414.
  • the server ID 412 is an identifier for identifying the device that created the signature data 414 “SignA”. Specifically, “001A” indicates the content server 700 from which the content “ConA” is distributed.
  • a system identifier 413 indicates the encryption system used to generate the signature data 414, and here indicates the RSA encryption system.
  • the signature data 414 is a hash function obtained by combining the content file 401 and the content key information 404.
  • 160-bit digest data is generated by substituting into, and the digest data is generated by applying the encryption key algorithm based on the RSA encryption scheme indicated by the scheme identifier 413 to the digest data using the signature key “Ksig-Ba”. is there.
  • the signature key “Ksig-Ba” is a 128-bit key corresponding to the RSA encryption method indicated by the method identifier 413, and is a key unique to the content Sano 700 corresponding to the Sano ID 412.
  • SHA-1 is used for the Noh and Shush functions.
  • This signature generation method is an example, and other methods may be used.
  • the DVD 400b stores a content file 421, content key information 424, and a signature file 431.
  • the content file 421 includes a method identifier 422 “IDC” and encrypted content 423 “EncC (ConA, KconC)”.
  • a system identifier 422 indicates the AES encryption system used to generate the encrypted content 423.
  • the encrypted content 423 is generated by applying the encryption algorithm according to the AES encryption method to the content “ConA” using the content key “Kcon C”.
  • the content key “KconC” is a 128-bit encryption key.
  • the content key information 424 includes a media key block and a media ID, and is data that gives a content key “KconC” to a valid playback device.
  • the signature file 431 includes a server ID 432, a method identifier 433, and signature data 434.
  • the Sano ID 432 is an identifier indicating the content server 700 from which the content “ConA” is distributed.
  • the system identifier 433 indicates the RS A encryption system used for generating the signature data 434.
  • the signature data 434 “SignA,” generates a digest data by substituting a combination of the content file 421 and the content key information 424 into a hash function, and generates a signature data “Ksig-Ba” of the content server 700 indicated by the Sano ID 432. This is generated by applying the encryption algorithm according to the RSA encryption method to the generated digest data.
  • the encryption method management server 600 instructs the content playback apparatus 100 to introduce the AES encryption method instead of the DES encryption method, and installs it using the RSA encryption method that has not been decrypted. Such information is encrypted and transmitted. At the same time, Signature data indicating that the transmitted information is transmitted by the valid encryption method management server 600 is generated using the RS A encryption method and transmitted.
  • the encryption method management server 600 instructs the content reproduction apparatus 100 to introduce an elliptic curve encryption method instead of the RSA encryption method.
  • No DES encryption method is used to encrypt and transmit information related to the installation.
  • signature data indicating that the transmitted information is transmitted by the valid encryption method management server 600 is generated and transmitted using the DES encryption method.
  • the encryption method management server 600 includes a transmission / reception unit 601, a signature generation unit 603, a control unit 607, an information storage unit 610, an input unit 613, and a display unit 612 as shown in FIG.
  • the encryption system management server 600 is a computer system including a microprocessor, RAM, and ROM, and a computer program is stored in the RAM and ROM.
  • the cryptographic method management server 600 achieves part of its functions by the microprocessor operating according to the computer program.
  • the information storage unit 610 includes a hard disk, and as an example, as shown in FIG. 3, the invalid encryption method list 621, the transmission key table 626, the encryption circuit files 631, 641
  • the invalid encryption method list 621 includes a plurality of pieces of encryption method information 622, 623 as shown in FIG.
  • Each encryption method information corresponds to the decrypted encryption method, and includes a method identifier, an encryption circuit file name, a key circuit file name, and a verification key file name.
  • the method identifier is an identifier indicating the decrypted encryption method.
  • the cipher circuit file name is the name of a file containing a program for introducing a new encryption method to replace the decrypted encryption method.
  • the key circuit file name is a name of a file including a program for generating a device key suitable for a new encryption method replacing the decrypted encryption circuit.
  • the verification key file name verifies the signature data generated using the new encryption method. This is the name of the file that contains the verification key to do. The encryption circuit file, key circuit file, and verification key file will be described later.
  • the encryption method information 622 includes a method identifier “IDA”, an encryption circuit file name “C”, a key circuit file name “KC”, and a verification key file name “VeriC”.
  • the system identifier “ID A” indicates the DES encryption system.
  • the cryptographic circuit file name “C” is the name of the cryptographic circuit file 631
  • the key circuit file name “KC” is the name of the key circuit file 651
  • the verification key file name rVeriCj is the verification key file 671. It is a name.
  • the transmission key table 626 is composed of a plurality of transmission key information 627, 628, and 629.
  • Each transmission key information includes a scheme identifier, an encryption key, a decryption key, and a decryption key. Contains information.
  • Each transmission key information corresponds to one of the encryption methods.
  • the scheme identifier indicates a corresponding encryption scheme
  • the encryption key is a key having a bit length suitable for cryptographic operation according to the encryption scheme indicated by the scheme identifier.
  • the decryption key is a key for decrypting the generated ciphertext using the encryption key according to the encryption method indicated by the method identifier. If the encryption method indicated by the method identifier belongs to the common key encryption method, the encryption key and the decryption key are the same.
  • the decryption key information is configured to include a media key block, and is information for giving a decryption key only to a proper content reproduction apparatus.
  • the cipher circuit files 631, 641 ... correspond to the key circuit files 651, 661 ..., respectively. Also, the verification key files 671... Correspond respectively.
  • FIG. 5 (a) shows details of the cryptographic circuit file 631.
  • the encryption circuit file 631 “C” includes a method identifier 632 “IDC”, an encryption circuit program 633 “EncC”, and a decryption circuit program 634, and corresponds to the key circuit file 651 and the verification key file 671.
  • the system identifier 632 “IDC” is an identifier indicating another encryption system different from the DES encryption system and the RSA encryption system, and here indicates the AES encryption system.
  • the encryption circuit program 6 33 and the decryption circuit program 634 are generated by compiling a hardware description language. It consists of multiple machine language instructions. These machine language formats are executed by the construction mechanism 123 (described later) in the variable circuit 108 constituting the content reproduction apparatus 100.
  • VHDL VHSIC Hardware Description Language
  • the encryption circuit program 633 “EncC” includes a configuration of an encryption processing circuit that performs encryption processing according to the AES encryption method indicated by the method identifier 632 in the variable circuit 108 provided in the content reproduction device 100. .
  • the decryption circuit program 634 includes a configuration of a decryption processing circuit that performs decryption processing according to the AES encryption scheme indicated by the scheme identifier 632 in the variable circuit 108 included in the content reproduction apparatus 100.
  • the key circuit file 651 “KC” includes a method identifier 652 “IDC” and a key generation circuit program 653 “KgenC” as shown in FIG.
  • the scheme identifier 652 is the same as the scheme identifier 632 included in the encryption circuit file 631 corresponding to the key circuit file 651.
  • the key generation circuit program 635 is composed of a plurality of machine language instructions generated by compiling a hardware description language. These machine language formats are executed by the construction mechanism 123 (described later) in the variable circuit 108 of the content reproduction apparatus.
  • the key generation circuit program 635 “KgenC” includes a configuration of a key generation circuit that generates a device key having a key length suitable for the encryption scheme indicated by the scheme identifier 632 in the variable circuit 108 included in the content reproduction apparatus 100.
  • the verification key file 671 “VeriC” includes a method identifier 672 “IDC” and verification key information 673 and 674 as shown in FIG. 5 (c).
  • the system identifier 672 “IDC” indicates the AES encryption system, similar to the system identifier included in the encryption circuit file 631 and the key circuit file 651.
  • the verification key information 673 includes a Sano ID “001A” and a verification key “Kve-Ca”.
  • the server ID “001A” is identification information indicating the content server 700.
  • Verification key "Kve CaJ is A It is a 128-bit key suitable for ES encryption, and corresponds to the signature key “Ksig-Ca” unique to the content server 700. Since the AES encryption method is a common key encryption method, the signature key “Ksig-Ca” and the verification key “Kve-Ca” are the same.
  • the verification key information 674 includes a Sano ID “001B” and a verification key “Kve—Cb”.
  • the server ID “001B” is identification information indicating the encryption method management server 600.
  • the verification key “Kve—Cb” is a 128-bit key suitable for the AES encryption method, and corresponds to the signature key “Ksig_Cb” unique to the content server 700.
  • the transmission / reception unit 601 transmits and receives various types of information between an external device connected via the Internet 20 and the control unit 607.
  • the signature generation unit 603 stores a signature key table 691 shown in FIG.
  • the signature key table 691 includes a plurality of signature key information 692, 693, 694.
  • Each signature key information corresponds to one of the encryption methods, and includes a method identifier, a signature key, and a verification key.
  • the method identifier indicates the corresponding encryption method.
  • the signature key is a key having a key length suitable for the encryption method indicated by the method identifier.
  • the verification key is a key having a key length suitable for the encryption method indicated by the method identifier, and corresponds to the signature key.
  • the signing key and the verification key are both key data unique to the encryption method management server 600. If the encryption method indicated by the method identifier is a common key encryption method, the signature key and the verification key are the same.
  • the signature key information 693 includes a scheme identifier “IDB”, a signature key “Ksig—Bb”, and a verification key “Kve—Bb”.
  • the scheme identifier “IDB” indicates the RSA encryption scheme
  • the signature key “Ksig-Bb” is a 128-bit key.
  • the verification key “Kve-Bb” is a 128-bit key and is a key for decrypting the ciphertext generated using the signature key.
  • the signature generation unit 603 receives the encryption circuit file, the key circuit file, the verification key file, the decryption key information, and the method identifier from the control unit 607, and is instructed to generate a signature.
  • the signature generation unit 603 When instructed to generate a signature, the signature generation unit 603 generates a digest data by substituting a combined product obtained by combining the received encryption circuit file, key circuit file, verification key file, and decryption key information into a hash function. . [0061] Next, signature generation section 603 selects signature key information including the received method identifier in stored signature key table 691, and reads the signature key included in the selected signature key information. put out. Using the read signature key, the generated digest data is subjected to an encryption algorithm based on the encryption method indicated by the received method identifier to generate encrypted data digest data. The generated cipher key digest data is output to the control unit 607 as signature data.
  • the control unit 607 When the encryption method included in the content playback apparatus 100 is decrypted, the control unit 607 relates to a method identifier indicating the decrypted encryption method and a new encryption method replacing the decrypted encryption method via the input unit 613. Receives input of information distribution instructions. When a method identifier indicating the decrypted encryption method and an instruction to distribute information related to the new encryption method are received, the received method identifier is temporarily stored. Next, a warning notification for warning that the encryption method indicated by the received method identifier has been decoded is transmitted to the content reproduction apparatus 100 via the transmission / reception unit 601.
  • control unit 607 receives an introduction request indicating a request for introduction of an encryption method from content reproduction device 100. Also, the operator accepts input of a system identifier indicating an encryption system used for encryption such as an encryption circuit file and a system identifier indicating an encryption system used for signature generation.
  • the control unit 607 Upon receiving the input of the system identifier for encryption and the system identifier for signature generation, the control unit 607 reads out the encryption system information including the temporarily stored system identifier from the invalid encryption system list 621 and reads the read encryption code.
  • the encryption circuit file, key circuit file, and verification key file corresponding to the file name included in the method information are read.
  • the read encryption circuit file, key circuit file, verification key file, decryption key information, and control unit 607 output the inputted signature generation method identifier to the signature generation unit 603, and generates a signature. Instruct.
  • a signature file including the received signature data, the server identifier “0001B” indicating the encryption method management server 600 itself, and the input signature generation method identifier is generated.
  • the control unit 607 decrypts the input encryption method identifier and the corresponding encryption key and decryption
  • the key information is read from the transmission key table 626.
  • the encryption algorithm by the encryption method indicated by the input method identifier for the encryption key is applied to the read encryption circuit file, key circuit file, and verification key file to The encrypted encryption circuit file, the encryption key circuit file, and the encryption key verification key file are generated.
  • control unit 607 sends the encryption / decryption circuit file, encryption / decryption key circuit file, encryption verification key file, decryption key information, and signature to the content reproduction apparatus 100 via the transmission / reception unit 601. Sends a method identifier that indicates the encryption method used to generate the file, encrypted cryptographic circuit file, etc.
  • FIG. 7 shows an example of an information group transmitted by the control unit 607 here. This is a group of information to be transmitted when the DES encryption method is decrypted.
  • the operator of the encryption method management server 600 first inputs the method identifier “IDA” and the instruction for introducing the encryption method, then the method identifier “IDB” indicating the encryption method for encryption, and the signature generation Enter the method identifier “IDB” that indicates the encryption method.
  • the control unit 607 performs encryption and encryption circuit file 681 “EncB (C, KencB)”, encryption key circuit file 682 “EncB (KC, KencB)”, and encryption.
  • the verification key file 683 “EncB (VeriC, KencB)”, method identifier 684 “IDB”, decryption key information 685 “KinfBj and signature file 686 are transmitted.
  • the scheme identifier 684 is a scheme identifier “IDB” for the encryption key input by the operator, and indicates the RSA encryption scheme used to generate the encryption key circuit file 681 and the like.
  • the decryption key information 685 “13 ⁇ 41 ⁇ 8” is read from the transmission key information 626 corresponding to the RSA encryption method used for the encrypted cryptographic circuit file 681 and the like.
  • the signature file 686 includes a method identifier 687 “IDB”, a Sano ID 688 “001B”, and signature data 689.
  • Method identifier 687 “IDB” is the method entered by the operator.
  • the signature data 689 is obtained by substituting a combined product of the cryptographic circuit file 631 “C”, the key circuit file 651 “KC”, the verification key file 671 “VeriC”, and the decryption key information “KinfB” into the hash function.
  • the generated digest data is generated by applying an encryption algorithm according to the RS A encryption method using a signature key “Ksig-Bb” unique to the encryption method management server 600.
  • the content playback apparatus 100 has two encryption methods, and one of them is decrypted, so the same encryption is used for both the encryption and signature generation of each file. Although the method is used, if the content reproduction apparatus 100 includes a large number of encryption methods, different encryption methods may be used for encryption and signature generation.
  • the input unit 613 includes various keys, receives various instructions and information input by the operator, and outputs the received information and instructions to the control unit 607.
  • Display unit 612 includes an indicator lamp and a display, and displays various screens, lights a lamp, and the like under the control of control unit 607.
  • the content reproduction apparatus 100 is a circuit construction apparatus that rewrites a rewritable logic circuit and constructs an execution circuit according to a plurality of stored circuit formation information.
  • the content playback apparatus 100 is provided with a DES encryption method and an RSA encryption method at the time of manufacture.
  • the content encrypted by the DES encryption method and a signature generated using the RSA encryption method are provided. Acquire data and verify the acquired signature data. If the verification is successful, the obtained encrypted content is decrypted and reproduced. Also, the content encrypted by the DES encryption method is written in the memory card 500.
  • the content playback apparatus 100 introduces an AES encryption method instead of the DES encryption method.
  • the encrypted content can be decrypted and played back. It cannot be output to memory card 500.
  • the content playback apparatus 100 introduces an elliptic curve encryption method that replaces the RSA encryption method. After installing the elliptic curve cryptosystem, if the encrypted content is obtained together with the signature data generated using the RSA cryptosystem, the encrypted content can be played. Output to the memory card 500. I can't.
  • FIG. 8 is a block diagram showing a functional configuration of content reproduction apparatus 100.
  • the content reproduction apparatus 100 includes a content acquisition unit 101, a master individual key storage unit 102, a device key storage unit 103, an input / output unit 104, a program acquisition unit 106, a main storage unit 107, and a variable circuit 108.
  • the content playback apparatus 100 is specifically a computer system including a microprocessor, RAM, and ROM, and a computer program is stored in the RAM and ROM.
  • the content reproduction apparatus 100 achieves part of its functions by the microprocessor operating according to the computer program. Each component will be described below.
  • the master individual key storage unit 102 is also configured with ROM power.
  • the master individual key storage unit 102 is tamper resistant and does not accept access by external devices!
  • the master individual key storage unit 102 stores a master individual key 126 and a common secret key 127 as shown in FIG. 9 (a).
  • the master individual key 126 and the common secret key 127 are recorded when the content playback apparatus 100 is manufactured.
  • the master individual key 126 is data having a length of 1024 bits and is unique to the content reproduction apparatus 100.
  • the common secret key 127 is data having a length of 1024 bits, and is common to valid playback devices that can play back the content distributed by the content server 700.
  • the device key storage unit 103 a writable and erasable recording element such as a flash memory?
  • the device key 128 “DevA” is stored as shown in FIG.
  • the device key 128 “DevA” is key data unique to the content reproduction device 100.
  • Device key 128 “DevA” is 56-bit key data corresponding to the DES encryption method, and is generated by a key generation circuit built in variable circuit 108 according to key generation circuit program 143. It is.
  • the main storage unit 107 is accessed by the control unit 116, the validity check unit 112, and the variable circuit 108.
  • FIG. 10 shows an example of information stored in the main storage unit 107.
  • the main storage unit 107 stores variable circuit information 161 and an available encryption method table 166.
  • the variable circuit information 161 is information indicating the current state of the variable circuit 108, and includes an operable method identifier 162, an operation flag 163, and a key identifier 164.
  • the operable system identifier 162 is a system identifier indicating an encryption system corresponding to a circuit currently built in the variable circuit 108.
  • the operation flag 163 is a flag indicating whether the circuit constructed in the variable circuit 108 is an encryption processing circuit, a decryption processing circuit, or a key generation circuit. “0” indicates the encryption processing circuit, “ “1” indicates a decryption processing circuit, and “2” indicates a key generation circuit.
  • the key identifier 164 indicates an encryption method corresponding to the device key currently stored in the device key storage unit 103.
  • variable circuit information 161 includes an operable method identifier 162 “IDA”, an operation flag 163 “1”, and a key identifier 164 “IDA”.
  • the device key storage unit 103 is configured by the DES encryption method. Indicates that the 56-bit device key “DevA” suitable for the method is stored.
  • the force control unit 116 and the validity check unit 112 which will not be described in detail, each time the variable circuit 108 is instructed to output the program to the selection unit 113 and 114, the operable method identifier 162 and The operation flag 163 indicates the current state of the variable circuit 108 so that the operation is possible.
  • the expression identifier 162 and the operation flag 163 are rewritten.
  • the control unit 116 causes the key identifier 164 to correspond to the device key generated by the key generation circuit each time the key generation circuit constructed in the variable circuit 108 is instructed to generate a device key.
  • the key identifier 164 is rewritten.
  • Available encryption method table 166 is a table showing encryption methods provided in content reproduction apparatus 100, and FIG. 11 (a) shows details thereof. As shown in FIG. 11 (a), the usable encryption method table 166 includes a plurality of pieces of usable information 171 and 172. Each usable information includes a method identifier and a usage flag.
  • the system identifier indicates an encryption system provided in the content reproduction apparatus 100.
  • the use flag indicates whether encryption and decryption processing according to the encryption method indicated by the method identifier is possible.
  • the usage flag “1” indicates that the encryption key and the decryption key can be processed.
  • the usage flag “0” indicates that the decryption process can be performed but the encryption process cannot be performed.
  • FIG. 11 (a) is an available encryption method table 166 at the time of manufacturing the content reproduction apparatus 100.
  • the available information 171 includes a method identifier “IDA” and a use flag “1”, which perform encryption processing and decryption processing by the DES encryption method indicated by the content playback device 100 method identifier “IDA”. It shows that you can.
  • the usable information 172 includes a scheme identifier “IDB” and a utilization flag “1”. This indicates that the content playback apparatus 100 performs encryption processing by the RS A encryption scheme indicated by the scheme identifier “IDB”. It also shows that the decryption process can be performed.
  • Figure 11 (b) shows the available encryption method table 166b after the DES encryption method was decrypted and the AES encryption method replaced with the DES encryption method was introduced.
  • the usable encryption method table 166b includes usable information 171b instead of the usable information 171 of the usable encryption method table 166, and further includes usable information 173 corresponding to the newly introduced AES encryption method.
  • the available information 171b includes a method identifier "IDA” and a use flag "0", which are read by the content playback device 100 using the DES encryption method indicated by the method identifier "IDA".
  • the power that can perform the code processing It shows that the cryptographic key processing is not possible.
  • the available information 173 includes a method identifier “IDC” and a use flag “1”, which perform encryption processing and decryption processing by the AES encryption method indicated by the content playback device 100 method identifier “IDC”. It shows that you can.
  • main storage unit 107 temporarily stores various types of information during various types of processing by the control unit 116, the validity check unit 112, and the variable circuit 108.
  • the cryptographic circuit storage unit 117 is configured by a writable and erasable nonvolatile memory such as a flash memory.
  • FIG. 12 shows an example of information stored in the cryptographic circuit storage unit 117.
  • Fig. 12 (a) shows the encryption circuit storage unit 11 7 at the beginning of the production of the content playback device 100.
  • the encryption circuit storage unit 117 after the introduction is shown.
  • FIG. 12 (a) and (b) the same information is denoted by the same reference numerals.
  • the cryptographic circuit storage unit 117 stores a cryptographic circuit file 131 “A” and a cryptographic circuit file 136 “B”. Each encrypted file corresponds to the DES encryption method and the RSA encryption method. Each encryption circuit file is stored in the key circuit storage unit 119 and corresponds to the key circuit file.
  • Each cryptographic circuit file has a scheme identifier indicating a corresponding cryptographic scheme and a cryptographic processing circuit configuration that performs encryption processing using the corresponding cryptographic scheme, similar to the cryptographic circuit file 631 “C” described with reference to FIG. And a decryption circuit program showing a configuration of a decryption processing circuit that performs decryption processing by a corresponding encryption method.
  • the encryption circuit file 131 “A” includes a method identifier 132 “IDA” indicating the DES encryption method, an encryption circuit program 133 indicating the configuration of the encryption processing circuit according to the DES encryption method, “EncAj, DES encryption method”
  • the decryption circuit program 134 “DecA” indicating the configuration of the decryption processing circuit according to the above is included.
  • Cryptographic circuit file 136 “B” contains a scheme identifier 137 “IDB” indicating the RSA cryptographic scheme, a cryptographic circuit program 138 “EncB” indicating the configuration of the cryptographic processing circuitry according to the RS A cryptographic scheme, and a decryption processing circuit compliant with the RS A cryptographic scheme.
  • Decoding circuit program 139 ⁇ DecB '' showing the configuration is included Mu
  • the encryption circuit storage unit 117 after the introduction of the AES encryption method stores encryption circuit files 131b, 136, and 181.
  • the encryption circuit file 131b “A” is obtained by deleting the encryption circuit program 133 “EncA” from the encryption circuit file 131 “A”.
  • the encryption circuit file 181 “C” corresponds to the AES encryption method and is the same as the encryption circuit file 631 “C” stored in the encryption method management server 600.
  • the key circuit storage unit 119 is configured by a writable and erasable nonvolatile memory such as a flash memory.
  • FIG. 13 shows an example of information stored in the key circuit storage unit 119.
  • Fig. 13 (a) shows the key circuit storage unit 119 at the beginning of manufacture of the content playback device 100
  • Fig. 13 (b) shows the AES encryption method that replaces the DES encryption method when the DES encryption method is decrypted.
  • the key circuit storage unit 119 after installation is shown.
  • the same information is denoted by the same reference numerals.
  • the key circuit storage unit 119 stores a key circuit file 141 “KA” and a key circuit file 146 “KB”. Each key circuit file corresponds to the DES encryption method and RSA encryption method. Each key circuit file includes a method identifier indicating a corresponding encryption method and a key generation circuit program indicating a configuration of a key generation circuit that generates a device key suitable for the corresponding encryption method.
  • the key circuit file 141 “KA” is a method identifier 142 indicating the DES encryption method.
  • Key circuit file 146 “KB” contains RSA encryption method identifier 147 “IDB” and RS
  • a Key generation circuit program 148 “KgenB” indicating the configuration of a key generation circuit that generates a 128-bit device key suitable for the A encryption method is included.
  • the key circuit storage unit 119 stores key circuit files 141, 146, and 186.
  • Key circuit file 186 “KC” corresponds to the AES encryption method, and the key circuit file stored in the encryption method management server 600 is 6 Same as 51.
  • the selection unit 113 reads the method identifier and the encryption circuit program or the method identifier and the decryption circuit program from the encryption circuit file stored in the encryption circuit storage unit 117 according to the instruction of the control unit 116 or the validity check unit 112. Memorize temporarily.
  • control unit 116 or the validity check unit 112 instructs to output the read program.
  • the read encryption circuit program or decryption circuit program is output to the construction mechanism 123 and the configurator ROM 124 (detailed later) in the variable circuit 108.
  • the selection unit 114 reads the method identifier and the key generation circuit program from the encryption circuit file stored in the key circuit storage unit 119 in accordance with an instruction from the control unit 116, and temporarily executes fe. .
  • the selection unit 114 is instructed by the control unit 116 to output the read program.
  • the read key generation circuit program is output to the construction mechanism 123 and the configurator ROM 124 in the variable circuit 108.
  • the combination check unit 118 confirms from the control unit 116 that the encryption circuit program or decryption circuit program read by the selection unit 113 and the key generation circuit program read by the selection unit 114 correspond to! / Receive the instruction to confirm the response.
  • the combination check unit 118 compares the method identifier held by the selection unit 113 with the method identifier held by the selection unit 114. When the two match, an OK signal indicating that the program read by the selection unit 113 corresponds to the program read by the selection unit 114 is output to the control unit 116.
  • the program read by the selection unit 113 and the program read by the selection unit 114 correspond to each other, and an NG signal indicating that is output to the control unit 116.
  • variable circuit 108 is tamper-resistant hardware, and when the data in the variable circuit 108 is read from the outside, the data is lost. Tamper resistant
  • the method of realizing unity is arbitrary and is not limited to this method.
  • the variable circuit 108 includes an FPGA 122, a configuration ROM 124, and a construction mechanism 123.
  • the config ROM 124 includes an EEPROM, and stores any one of the programs stored in the encryption circuit storage unit 117 and the key circuit storage unit 119.
  • the FPGA 122 includes a plurality of CLBs (Configuration Logic Blocks) and a connection resource force that connects them.
  • CLBs Configuration Logic Blocks
  • the construction mechanism 123 configures the FPGA 122 according to a program stored in the confider ROM 124 when the content playback device 100 is powered on.
  • a key generation circuit, an encryption processing circuit, and a decryption processing circuit are constructed on the FPGA 122 in accordance with the key circuit generation program, the encryption circuit program, and the decryption circuit program output from the selection units 113 and 114.
  • an arbitrary logic function circuit is generated on a plurality of CLBs (Configuration Logic Blocks) constituting the FPGA 122, and the logic circuit is connected by a connection resource existing between the CLBs.
  • CLBs Configuration Logic Blocks
  • the constructed key generation circuit, encryption processing circuit, or decryption processing circuit performs encryption, decryption, and key generation in accordance with instructions from the control unit 116 and the validity check unit 112. In the following, encryption, decryption, and key generation using a variable circuit will be described.
  • FIG. 14 functionally shows the key generation circuit 151 built in the variable circuit 108.
  • the key generation circuit 151 is instructed by the control unit 116 to generate a device key.
  • the master individual key 126 and the common secret key 127 are read from the master individual key storage unit 102, and the device key 1 28 based on the read master individual key 126 and the common secret key 127. Is generated.
  • the key generation circuit 151 When the key generation circuit 151 is constructed according to the key generation circuit program “KgenA”, the key generation circuit 151 generates a 56-bit device key “DevA” suitable for the DES encryption method.
  • the key generation circuit 151 when the key generation circuit 151 is constructed according to the key generation circuit program “KgenB”, In this case, the key generation circuit 151 generates a 128-bit device key “DevB” suitable for the RSA encryption method.
  • the key generation circuit 151 when the key generation circuit 151 is constructed according to the key generation circuit program “KgenC”, the key generation circuit 151 generates a 128-bit device key “DevC” suitable for the AES encryption method.
  • FIG. 15 is a flowchart showing an example of device key generation processing by the key generation circuit 151 constructed according to the key generation circuit program “KgenA”.
  • KgenA the key generation processing by the key generation circuit 151 will be described with reference to FIG.
  • the key generation circuit 151 reads the master individual key 126 from the master individual key storage unit 102 (step S101). The 151st to 156th bits from the beginning of the read master individual key are extracted (step S102). The extracted bit string is called the first extraction part.
  • the key generation circuit 151 reads the common secret key 127 from the master individual key storage unit 102 (step S103).
  • the last 56 bits of the common secret key 127 (hereinafter referred to as the second extraction part) are extracted (step S106), the second extraction part is used as the encryption key, and the first extraction part uses the DES encryption method encryption algorithm.
  • To generate a ciphertext (step S107).
  • the generated ciphertext is written in the device key storage unit 103 as the device key “DevA” (step S108).
  • the above-described key generation method is an example, and any method can generate a 56-bit device key suitable for the DES encryption method.
  • a method for generating a device key by a key generation circuit constructed by another key generation circuit program is arbitrary, and any method can be used as long as a device key having a key length suitable for the corresponding encryption method can be generated.
  • a method that makes it difficult for a third party to guess the key generation procedure by key generation is preferable.
  • FIG. 16 shows a functional configuration of the cryptographic processing circuit 152 constructed on the variable circuit 108.
  • the cryptographic processing circuit 152 includes a key processing unit 153 and a cryptographic key unit 154.
  • the key processing unit 153 receives card key information from the control unit 116.
  • Card key information This is a memory card (to be described later) that is attached to the content playback apparatus 100 and holds it! /, And includes a media key block and a card ID.
  • the key processing unit 153 Upon receiving the card key information, the key processing unit 153 reads the device key 128 from the device key storage unit 103, and based on the read device key 128, from the media key block included in the card information. A unique card key unique to the memory card is generated. The generated card unique key is output to the encryption key unit 154. If the encryption method of the memory card is a common key encryption method such as the DES encryption method, the card unique key generated here is the same as the card unique key stored in the memory card itself, In the case of the public key cryptosystem, it is a key corresponding to the card unique key stored in the memory card itself.
  • the encryption key unit 154 receives the card encryption key from the key processing unit 153. Also, the content key is received from the control unit 116, and encryption is instructed.
  • the encryption key unit 154 When instructed to encrypt the content key, the encryption key unit 154 generates an encrypted content by encrypting the content key using the received card unique key, and inputs the generated encrypted content key. Output to the output unit 104.
  • the key processing unit 153 When the encryption circuit 152 is constructed according to the encryption circuit program "EncA", the key processing unit 153 generates a 56-bit card unique key, and the encryption unit 154 uses the DES encryption method.
  • a cryptographic key content key is generated by applying a cryptographic key algorithm according to the above.
  • the key processing unit 153 When the cryptographic processing circuit 152 is constructed in accordance with the cryptographic circuit program “EncB”, the key processing unit 153 generates a 128-bit card unique key, and the cryptographic key unit 154 is a cryptographic key algorithm according to the RSA encryption method. To generate an encrypted content key.
  • the cryptographic processing circuit 152 When the cryptographic processing circuit 152 is constructed according to the cryptographic circuit program "EncC", the key processing unit 153 generates a 128-bit card unique key, and the cryptographic unit 154 performs encryption using the AES encryption method. A key algorithm is applied to generate an encrypted key key.
  • FIG. 17 functionally shows a decoding processing circuit 156 built in the variable circuit 108.
  • Decryption processing circuit 156 includes a key processing unit 157 and a decryption unit 158.
  • the key processing unit 157 receives content key information and a content key extraction instruction from the control unit 116. It also receives decryption key information and a decryption key extraction instruction. Upon receiving the instruction to extract the content key or the decryption key, the key processing unit 157 reads the device key from the device key storage unit 103, and based on the read device key, the content key or the decryption key information Extract the decryption key. The extracted content key or decryption key is output to the decryption unit 158 and the main storage unit 107.
  • the decryption unit 158 receives the ciphertext and the decryption instruction of the ciphertext from the control unit 116 or the validity check unit, applies a decryption algorithm to the received ciphertext, generates a decrypted text, and generates the decrypted text. Output.
  • the ciphertext received by the decryption unit 158 from the control unit 116 is an encrypted content, an encrypted encryption circuit file, an encryption key circuit file, and an encryption verification key file.
  • the decrypting unit 158 obtains the content key from the key processing unit 157, decrypts the B sound key content using the acquired content key, and generates the content. . In response to an instruction from the control unit 116, the generated content is output to the reproduction processing unit 109.
  • the decryption unit 158 obtains the decryption key from the key processing unit 157, decrypts the encrypted key circuit file, the encrypted key circuit file, and the encrypted key verification key file by using the acquired decryption key.
  • a circuit file, a key circuit file, and a verification key file are generated, and the generated encryption circuit file, key circuit file, and verification key file (in FIG. 17, these three are collectively referred to as a file) are stored in the main memory. Write to part 107.
  • the ciphertext received by the decryption unit 158 from the validity check unit 112 is received from the encryption method management server 600 together with the signature data read from the DV D400a or 400b or the encryption key program. Signature data.
  • the decryption unit 158 obtains a verification key from the validity check unit 112 together with the signature data.
  • the decryption algorithm is applied to the signature data using the acquired verification key to generate decryption digest data.
  • the generated decryption digest data is output to the main storage unit 107.
  • the decoding unit 158 When the decoding unit 158 is constructed according to the decoding circuit program “DecA”, the decoding unit 158 Generates decryption digest data by applying a decryption algorithm based on the DES encryption method to the signature data.
  • the decryption unit 158 when the decryption unit 158 is constructed according to the decryption circuit program “DecB”, the decryption unit 158 generates decryption digest data by applying a decryption algorithm by the RSA encryption method to the signature data.
  • the decryption unit 158 when the decryption unit 158 is constructed according to the decryption circuit program "DecC", the decryption unit 158 generates decryption digest data by applying a decryption algorithm by the AES encryption method to the signature data.
  • the content acquisition unit 101 can be loaded with a DVD, reads information stored in the DVD under the control of the control unit 116, and outputs the read information to the variable circuit 108 or the main storage unit 107.
  • the content acquisition unit 101 can also receive information similar to the information recorded on the DVD from the content server 700 connected to the Internet 20.
  • the program acquisition unit 106 transmits and receives information and instructions to and from the encryption method management server 600 connected via the Internet 20 under the control of the control unit 116.
  • the validity check unit 112 holds a check information table 201 shown in FIG.
  • the check information table 201 includes a plurality of check information modules, and each check information corresponds to the encryption method provided in the content reproduction apparatus 100 and includes a method identifier, a server, and a verification key.
  • the verification key is a key having a bit length suitable for the encryption method indicated by the method identifier, and corresponds to a signature key unique to the device indicated by the server ID.
  • the check information 203 includes a method identifier “IDB”, a Sano ID “001B”, and a verification key “Kve-Bb”.
  • the verification key “Kve—BbJ” is a 128-bit key corresponding to the RSA encryption method indicated by the method identifier “IDB”, and is a signature key “Ksig— unique to the encryption method management Sano 600 indicated by the Sano ID“ 001B ”.
  • Bb The validity checking unit 112 receives the content file, content key information, and signature file from which the DVD 400a or 400b force has been read from the control unit 116, and is instructed to verify the signature.
  • the validity checking unit 112 receives an encryption circuit file “C”, a key circuit file “KC”, a verification key file “VeriC”, a decryption key from the control unit 116 during the introduction of the encryption method (details will be described later).
  • the key information “KinfB” and a signature file having the configuration shown in FIG. 7 as an example are received, and signature verification is instructed.
  • the validity check unit 112 extracts the method identifier included in the received signature file.
  • the validity check unit 112 searches the check information table 201 for check information including the same method identifier as the extracted method identifier. When the corresponding check information cannot be detected, a verification failure notification indicating signature verification failure is output to the control unit 116.
  • the validity check unit 112 When the corresponding check information is detected, the validity check unit 112 next outputs the extracted method identifier to the selection unit 113, and constructs a decoding processing circuit 156 that instructs reading and output of the decoding circuit program. Then, the validity check unit 112 reads the verification key included in the detected check information, and the signature data included in the signature file and the read verification key are stored in the decryption processing circuit 156 built in the variable circuit 108. The data is output to the decryption unit 158 to instruct decoding.
  • the validity check unit 112 converts the combined product obtained by combining the content file received from the control unit 116 and the content key information into a no-shake function. Assign to generate digest data. The generated digest data and the decrypted digest data are compared, and if they match, a verification success notification indicating that the signature verification is successful is output to the control unit 116.
  • the validity checking unit 112 indicates that the signature verification has failed.
  • the verification failure notification is output to the control unit 116.
  • the validity check unit 112 performs the same procedure as in (10-a) on the received book name file. Verify the included signature data.
  • the digest data is generated by substituting the combined product obtained by combining the encryption circuit file, the key circuit file, the verification key file, and the decryption key information into the hash function.
  • the validity check unit 112 is further instructed by the control unit 116 to write the encryption circuit file and the key circuit file.
  • the validity checking unit 112 writes the encryption circuit file and the key circuit file to the encryption circuit storage unit 117 and the key circuit storage unit 119, respectively.
  • the validity check unit 112 is instructed by the control unit 116 to update the check information table 201.
  • the validity check unit 112 When instructed to update the check information table 201, the validity check unit 112 generates new check information based on the verification key file, and adds the generated check information to the check information table 201.
  • the specific wiring is omitted, and the force control unit 116 is connected to each component constituting the content reproduction device 100 and controls each operation.
  • the control unit 116 Upon receiving a warning notification from the encryption method management server 600 that the encryption method has been decrypted via the program acquisition unit 106, the control unit 116 receives a new encryption that replaces the decrypted encryption method. Introduce the method.
  • control unit 116 detects the installation of the DVD 400a or 400b via the content acquisition unit 101. When the installation of the DVD 400a or 400b is detected, it is verified whether the encrypted content recorded on the attached DVD can be played.
  • control unit 116 receives operation instruction information indicating various operations by the user from the input unit 121, and reproduces content and copies the content to the memory card according to the received operation instruction information. Do.
  • the warning notification received from the encryption method management server 600 includes a method identifier indicating the decrypted encryption method.
  • a method identifier indicating the decrypted encryption method.
  • the case where the method identifier “IDA” indicating the DES encryption method is included will be described as an example, but the same processing is performed when other method identifiers are included.
  • Control unit 116 detects usable information 171 including method identifier “IDA” in available encryption method table 166. If the usage flag included in the available information is read and the read usage flag is “0”, the installation of the encryption method that replaces the DES encryption method has already been completed, and the subsequent processing is stopped.
  • control unit 116 transmits an introduction request for requesting introduction of the encryption method to the encryption method management server 600 via the program acquisition unit 106.
  • control unit 116 sends the encryption key circuit file 681, encryption key circuit file 682 encryption key verification key file 683, method identifier 6 84 shown in FIG. 7 via the program acquisition unit 106.
  • the decryption key information 685 and the signature file 686 are received.
  • the selection unit 113 is instructed to read the decryption circuit program corresponding to the RSA encryption method indicated by the method identifier 684, and is instructed to read the key generation circuit program corresponding to the RSA encryption method indicated by the method identifier 684.
  • the combination check unit 118 outputs a corresponding confirmation instruction for the read programs.
  • the control unit 116 instructs the selection unit 114 to output the read key generation circuit program.
  • the key generation circuit 151 constructed in the variable circuit 108 is instructed to generate a device key.
  • the control unit 116 When the device key “DevB” is generated by the key generation circuit 151, the control unit 116 next instructs the selection unit 113 to output the read decryption circuit program.
  • variable circuit information 161 stored in the main storage unit 107 corresponds to the device key strength SA encryption method currently stored in the device key storage unit 103, and is currently variable. If the circuit 108 indicates that a decryption processing circuit conforming to the RSA encryption method is constructed, the above-mentioned program reading instruction, device key generation, and construction of the decryption processing circuit are omitted.
  • control unit 116 outputs decryption key information 685 to key processing unit 157 in decryption processing circuit 156. Also, the encrypted encryption circuit file 681 “EncB (C, KencB)”, the encryption key circuit file 682 “EncB (KC, KencB)”, and the encryption verification key file 683 “En cB (VeriC, KencB)” are sent to the decryption unit 158. "Is output to instruct decoding.
  • the control unit 116 transmits the encryption circuit file “C”, the key The circuit file “KC”, the verification key file rVeriCj, the received decryption key information 685 and the signature file are output to the validity check unit 112 to instruct signature verification.
  • control unit 116 instructs the validity checking unit 112 to write the cryptographic circuit file “C” and the key circuit file “KC”. If the signature verification is unsuccessful, the installation request is transmitted again to the encryption method management server 600 via the program acquisition unit 106.
  • control unit 116 instructs the validity checking unit 112 to update 201 of the check information table.
  • usable information including the method identifier “IDC” and the usage flag “1” included in the cryptographic circuit file “C” is generated, and the generated usable information is added to the available cryptographic method table 166. To do.
  • the control unit 116 detects the cryptographic circuit file 131 including the method identifier “IDA”, and deletes the cryptographic circuit program 133 from the detected cryptographic circuit file 131. Subsequently, the control unit 116 selects the available information 171 including the method identifier “IDA” in the available encryption method table 166 stored in the main storage unit 107, and uses included in the selected available information 171. Rewrite the flag to “0”.
  • the control unit 116 reads the content file 401, the content key information 404, and the signature file 411 from the DVD 400a mounted via the content acquisition unit 101. .
  • the content file The method identifier 402 “IDA” included in the file 401 is extracted and stored in the main storage unit 107.
  • the available information search including the method identifier that matches the extracted method identifier is performed. To do. At this time, if the corresponding usable information cannot be detected, it is determined that the information cannot be reproduced.
  • the control unit 116 When the corresponding usable information 171 is detected, the control unit 116 next outputs the read content file 401, content key information 404 and signature file 411 to the validity check unit 112, and the signature file 411 The verification of the included signature data 414 is instructed. If the verification of the signature data 414 by the validity check unit 112 is successful, the control unit 116 determines that the content can be reproduced. If the verification of the signature data fails, the control unit 116 determines that the content cannot be reproduced.
  • the content playback apparatus 100 cannot play back the content recorded on the DVD 400b until the AES encryption method that replaces the decrypted DES encryption method is introduced. Even after introducing the AES encryption method, DV D400a content can be played.
  • the control unit 116 After determining that playback is possible by the above verification, when receiving operation instruction information indicating playback from the input unit 121, the control unit 116 extracts the method identifier 402 “IDA” included in the content file 401. To do. Next, the control unit 116 controls the selection units 113 and 114, the combination check unit 118, and the variable circuit 108 to generate the device key “DevA” corresponding to the method identifier 402 “IDA”, and the decryption processing circuit Build 156. The generation of the device key and the control of the construction of the decryption processing circuit 156 are the same as the procedure described in the above (introduction of the encryption method), and thus the description thereof is omitted here.
  • control unit 116 outputs the read content key information 404 to the key processing unit 157 in the constructed decryption processing circuit 156, and outputs the encrypted content 403 to the decryption unit 158.
  • the decryption of the encryption key content 403 is instructed.
  • the control unit 116 instructs the reproduction processing unit 109 to reproduce the content. (Output content to memory card)
  • the control unit 116 receives the method identifier 402 riDAj and the signature file 411 included in the content file 401.
  • the system identifier 413 “ID B” included in is extracted.
  • the usable encryption method table 166 is read from the main storage unit 107, and the read available encryption method table 166 is searched for usable information including the method identifier “IDA” and the method identifier “IDB”, respectively. To do.
  • control unit 116 If neither of them can be detected, the control unit 116 generates an error screen indicating that copying cannot be performed, and displays the error screen on the monitor 15 via the reproduction processing unit 109.
  • the control unit 116 reads the usage flags included in the detected usable information 171 and 172, respectively. If any one of the read usage flags is “0”, an error screen is generated to notify that the content recorded on the attached DVD cannot be copied, and is displayed on the monitor 15. indicate.
  • control unit 116 extracts the method identifier 402 “IDA” from the content file 401, and inputs / outputs the extracted method identifier “IDA”.
  • the data is output to the memory card 500 via the section 104, and an inquiry is made as to whether or not the encryption method indicated by the output method identifier “IDA” is provided.
  • control unit 116 receives a response signal from the memory card 500 via the input / output unit 104. If the received response signal is provided with the encryption method indicated by the method identifier “IDA!”! / ⁇ ! And “0” indicating this, an error screen is displayed to notify that the requested copy cannot be made. And display on monitor 15.
  • the control unit 116 selects the selection units 113 and 114,
  • the combination check unit 118 controls the variable circuit 108 to generate a device key 3 ⁇ 4 ⁇ 8 corresponding to the method identifier “ID A” read from the content file 401.
  • the method identifier “ID Aj” is generated.
  • the decryption processing circuit for performing the decryption processing is constructed according to the above (introduction of the encryption method) for the device key generation and the control of the construction of the decryption processing circuit 156. Since the procedure is the same as that described, the description thereof is omitted here.
  • control unit 116 outputs the read content key information 404 to the key processing unit 157 in the constructed decryption processing circuit 156, and instructs generation of a content key.
  • the control unit 116 When the content key “KconA” is generated by the key processing unit 157, the control unit 116 next instructs the selection unit 113 to read out and output the cryptographic circuit program corresponding to the scheme identifier 402 “IDA”.
  • the control unit 116 instructs the memory card 500 to output card key information via the input / output unit 104, and the memory card 500 Get key information.
  • control unit 116 outputs the acquired card key information to the key processing unit 153 in the encryption processing circuit 152, and outputs the content key “KconA” to the encryption unit 154 to output the content key “KconA”. Specify cipher key.
  • the control unit 116 extracts the encrypted content 403 "EncA (ConA, KconA)" from the content file 401.
  • the extracted encrypted content 403 “EncA (ConA, KconA)” and the encrypted content key “EncA (KconA, MkeyA)” are output to the memory card 500 via the input / output unit 104.
  • the input / output unit 104 can be loaded with a memory card 500 and inputs / outputs various information under the control of the control unit 116.
  • the input unit 121 includes various buttons such as a play button, a selection button, and an enter button.
  • the input unit 121 receives an operation of the button by the user, and outputs operation instruction information indicating the received operation to the control unit 116.
  • the playback processing unit 109 is connected to the monitor 15, and generates a screen and audio from the content received from the variable circuit 109 in accordance with an instruction from the control unit 116, and outputs the screen and sound to the monitor 15.
  • various screens including the error screen can be displayed on the monitor 15 according to instructions from the control unit 116. Display.
  • the memory card 500 includes an input / output unit 502, a control unit 507, an encryption unit 508, a decryption unit 509, and an information storage unit 510.
  • the information storage unit 510 includes a flash memory, and the inside thereof is divided into a secure area 520 and a general area 512.
  • Secure area 520 is an area that cannot be accessed by devices other than legitimate devices.For example, method identifier 521 ⁇ IDA '', card key information 522, and card unique key 5 23 ⁇ MkeyA '' are stored! /
  • the system identifier 521 “IDA” indicates the encryption system provided in the memory card 500, and here indicates the DES encryption system.
  • the card key information 522 includes a media key block and a media ID.
  • the media ID is an identifier unique to the memory card 500.
  • the media key block is data that gives the card unique key “MkeyA” only to a legitimate device that is permitted to access the memory card 500. If the memory card supports the public key cryptosystem, the card unique key generated from the card key information by a legitimate device is not the same as the card unique key stored in the memory card itself! / ,.
  • the card unique key 523 “MkeyA” is a key unique to the memory card 500, and here is a 56-bit key corresponding to the encryption method indicated by the method identifier 521.
  • the general area 512 is an area that can be freely accessed by an external device, and stores a content file 513 as an example.
  • the content file 513 includes the encrypted content 514 “EncA (ConA, KconA)” and the encrypted content key 515 “EncA (KconA, MkeyA)”.
  • the encrypted content 514 is the same as the encrypted content 403 recorded on the DVD 400a.
  • the encrypted content key 515 is generated by applying the encryption algorithm according to the DES encryption method to the content key “KconA” using the card unique key “MkeyA”. It is.
  • the input / output unit 502 includes an interface connectable to an external device, and exchanges various types of information between the external device and the control unit 507.
  • the external devices are the content playback device 100 and the portable player 800.
  • the encryption unit 508 receives the encryption key and plaintext from the control unit 507 and is instructed to perform encryption. When encryption is instructed, an encryption key based on the DES encryption method is applied to the plaintext using the encryption key to generate a ciphertext, and the generated ciphertext is output to the control unit 507.
  • Decryption unit 509 receives a decryption key and ciphertext from control unit 507 and is instructed to decrypt. When decryption is instructed, decryption algorithm based on the DES encryption method is applied to the ciphertext using the decryption key to generate a decrypted text, and the generated decrypted text is output to the control unit 507.
  • the control unit 507 controls each component constituting the memory card 500.
  • the control unit 507 receives the system identifier from the content playback apparatus 100 via the input / output unit 502, and includes the encryption system indicated by the received system identifier. Get inquiries about the power or not. When the inquiry is received, the received method identifier is compared with the method identifier 521 stored in the secure area 520, and if they match, the ciphertext encrypted by the encryption method indicated by the received method identifier is obtained. A response signal “1” indicating that decoding is possible is generated.
  • control section 507 If they do not match, control section 507 generates response signal “0” indicating that the ciphertext encrypted by the encryption scheme indicated by the received scheme identifier cannot be decrypted.
  • control unit 507 outputs the generated response signal to the content reproduction device 100 via the input / output unit 502.
  • control unit 507 outputs the card key information 522 to the content reproduction apparatus 100 in accordance with a request from the content reproduction apparatus 100. Subsequently, the encrypted content and the encrypted content key are received from the content reproduction apparatus 100, and the received encrypted content is received. And the content key containing the B sound key and the content key are generated, and the generated content file is written in the general area.
  • Memory card 500 power When portable player 800 power is requested to play content while it is attached to portable player 800, control unit 507 decrypts card-specific key 523 and encrypted content key 515. 509 to instruct the decryption of the encrypted content key 515.
  • control unit 507 Upon receiving the content key from the decryption unit 509, the control unit 507 outputs the received content key and the encrypted content 514 to the decryption unit 509, and instructs decryption. Subsequently, the content generated by the decryption unit 509 is output to the portable player.
  • a portable player is a device dedicated to playback of content consisting of video and audio, and is a device that reads and plays back the content recorded on the memory card 500.
  • FIG. 20 is a flowchart showing a part of the operation of the content playback apparatus 100 after the power is turned on.
  • the operation of the content reproduction apparatus 100 will be described with reference to FIG.
  • the encryption method management server 600 After the power is turned on, the encryption method management server 600 has decrypted! / Of the encryption methods included in the content playback device 100 via the program acquisition unit 106.
  • the content reproduction apparatus 100 When receiving the warning notification indicating that this is the case (YES in step S121), the content reproduction apparatus 100 introduces an encryption method that replaces the decrypted encryption method (step S122).
  • the content playback device 100 displays the content recorded on the loaded DVD. Verify whether the content playback device 100 is capable of playback (Step SI 24).
  • step S121 If neither warning notification nor DVD installation is detected (NO in step S121, NO in step S123), the process waits as it is.
  • step S124 As a result of the verification in step S124, it is determined that playback is possible (step S
  • step S126 if it is determined that playback is not possible (NO in step S126), the monitor 15 is informed that it is attached and recorded on a DVD that cannot be played back! Display the error screen (step S127).
  • FIG. 21 to FIG. 24 are flowcharts showing the operations of the content playback apparatus 100 and the encryption method management server 600 regarding the introduction of an encryption method that replaces the decrypted encryption method. This is a detail of step S122 in FIG.
  • the control unit 607 of the encryption method management server 600 receives the input of the method identifier “IDA” and a new encryption method distribution instruction by the operator via the input unit 613 (step S1 41). Upon receiving the input of the distribution instruction, the control unit 607 generates a warning notification including the input method identifier “IDA”, and transmits the generated warning notification to the content playback apparatus 100 via the transmission / reception unit 601. (Step S142). Also, via the input unit 613, there are a method identifier “IDB” indicating an encryption method for encryption of various files related to the introduction of the encryption method, and a method identifier “IDB” indicating an encryption method for generating signature data. Accept input (Step S143).
  • the control unit 116 of the content reproduction apparatus 100 receives a warning notification from the encryption method management server 600 via the program acquisition unit 106.
  • the warning notification is received, based on the method identifier “IDA” included in the received warning notification, the usable information 171 is detected from the usable encryption method table 166 stored in the main storage unit 107, and the detected use is detected. Possible information 171
  • the use flag included in is read (step S146). If the read usage flag is “0” (NO in step S147), the introduction of the encryption method that replaces the DES encryption method has already been completed. Therefore, the encryption method introduction process is terminated and the processing returns to FIG. .
  • step S147 If the read usage flag is "1" (YES in step S147), the control unit 116 sends an introduction request for introducing an encryption method instead of the DES encryption method via the program acquisition unit 106. Is transmitted to the encryption method management server 600 (step S148).
  • the control unit 607 of the encryption method management server 600 receives the introduction request from the content reproduction apparatus 100 via the transmission / reception unit 601.
  • the encryption method information 622 including the method identifier “IDA” is read from the invalid encryption method list 621 (step S 151).
  • the encryption circuit file 631 “ “C”, key circuit file 651 “KC”, and verification key file 671 “VeriC” are read (step S 152).
  • control unit 607 selects transmission key information 628 including the scheme identifier “IDB” from the transmission key table 626 based on the scheme identifier “IDB” indicating the encryption scheme for the encryption key. Then, the encryption key “KencB” and the decryption key information “Kinf B” included in the selected transmission key information 628 are read (step S153).
  • the control unit 607 includes a scheme identifier “IDB” indicating an encryption scheme for signature generation, a read encryption circuit file 631 “C”, a key circuit file 651 “KC”, a verification key file 671 “VeriC”, and decryption key information. “KinfB” is output to the signature generation unit 603 to instruct generation of signature data.
  • the signature generation unit 603 combines the received encryption circuit file 631 “C”, the key circuit file 651 “KCJ, the verification key file 671“ VeriC ”, and the decryption key information“ KinfB ”and substitutes them into the hash function. Then, digest data is generated (step S156).
  • the signature key information 693 including the received scheme identifier “IDB” is selected from the signature key table 691, and the signature key “Ksig—Bb” included in the selected signature key information 693 is read (step S157).
  • the generated digest data is subjected to an encryption algorithm using the RSA encryption method indicated by the method identification riDBj to generate signature data (step S158).
  • the generated signature data is output to the control unit 607.
  • Control unit 607 generates a signature file including server ID “001B” indicating encryption method management server 600, method identifier “IDB” indicating the encryption method for signature generation, and signature data (step S). 161).
  • the control unit 607 uses the read encryption key “KencB” to encode the read encryption circuit file 631 “C”, key circuit file 651 “KC”, and verification key file 671 “VeriC”. Encrypted by applying an encryption algorithm according to the RSA encryption method indicated by the system identifier “IDB”, encrypted encryption circuit file “EncB (C, KencB)”, encryption key circuit file “En cB (KC, KencB) ) ”And an encrypted verification key file“ EncB (VeriC, KencB) ”are generated (step SI 62).
  • the generated encryption key circuit file “EncB (C, KencB)”, encryption key circuit file “EncB (KC, KencB)” and encryption verification key file “EncB (VeriC, KencB) ”, the scheme identifier“ IDB ”indicating the encryption scheme used for the encryption of these files, the decryption key information“ KinfB ”, and the signature file are transmitted to the content playback apparatus 100 via the transmission / reception unit 601. (Step S163).
  • the control unit 116 of the content playback apparatus 100 performs the encryption key circuit file 681 “EncB (C, KencB)” and the encryption key circuit file 682 “EncB (KC, KencB) via the program acquisition unit 106. ", The encryption verification key file 683" EncB (VeriC, KencB) ", the scheme identifier 684 riDBj, the decryption key information 685" KinfB ", and the signature file 686 are received (step S163).
  • the control unit 116 Upon receiving these, the control unit 116 outputs the received method identifier 684 "ID B" to the selection unit 114, and instructs reading of the key generation circuit program.
  • the selection unit 114 selects the key circuit file 146 “KB” including the received method identifier “IDB”, and reads the selected key circuit file 146 “KB” force method identifier 147 riDBj and key generation circuit program 148 “KgenB”. (Step S166).
  • control unit 116 outputs the received method identifier 684 “IDB” to the selection unit 113 and instructs to read out the decoding circuit program.
  • the selection unit 113 selects the received scheme identifier “Cryptographic circuit file 136“ B ”including I DBJ”, and selects the scheme identifier 137 “IDB” and the decryption circuit file 139 “DecB” from the selected cryptographic circuit file 136 “B”. (Steps S167).
  • the combination check unit 118 compares the method identifiers read by the selection units 113 and 114, and if they do not match (NO in step S169), outputs an NG signal to the control unit 116 to the control unit 116. Return to step S166. If they match (YES in step S169), an OK signal is output to the control unit 116.
  • the control unit 116 Upon receiving the OK signal, the control unit 116 instructs the selection unit 114 to output the read program. Upon receiving the output instruction, the selection unit 114 outputs the read key generation circuit program 148 “KgenB” to the variable circuit 108, and the construction mechanism 123 in the variable circuit 108 receives the key generation circuit program 148 “KgenB”. Accordingly, the key generation circuit 151 is constructed on the FPGA 122 (step S171).
  • the control unit 116 instructs the key generation circuit 151 to generate a device key.
  • the key generation circuit 151 generates a 128-bit device key “DevB” corresponding to the RSA encryption method according to an instruction from the control unit 116, and writes the generated device key “DevB” to the device key storage unit 103 (step S 172).
  • control unit 116 instructs the selection unit 113 to output the read program.
  • the selection unit 113 Upon receiving the output instruction, the selection unit 113 outputs the read decoding circuit program 139 “DecB” to the variable circuit 108.
  • the construction mechanism 123 in the variable circuit 108 constructs the decryption processing circuit 156 on the FPGA 122 according to the decryption circuit program 139 “DecB” output from the selection unit 113 (step S173). If the device “DevB” has already been stored in the device key storage unit 103, the processes of steps S166 and 169 to 172 are omitted. Further, if a decoding processing circuit corresponding to the encryption scheme indicated by the scheme identifier “IDB” has already been constructed in the variable circuit 108, steps S166 to S173 are omitted.
  • control unit 116 outputs the received key information 6 85 “KinfB” to the key processing unit 157 in the decryption processing circuit 156, and the received encrypted encryption circuit file 681 “ EncB (C, KencB) ”, encryption key circuit file 682“ EncB (KC, KencB) ”and encryption verification key file 683“ EncB (VeriC, KencB) ”are output, and decryption is instructed.
  • the key processing unit 157 reads the device key "DevB” from the device key storage unit 103, generates the decryption key "KdecB” based on the device key "DevB” and the key information "KinfB", and decrypts it Part 1 58 is output (step S174).
  • the decryption unit 158 obtains the decryption key (16 8) from the key processing unit 157, and uses the obtained decryption key “Kd ecB” to receive the encrypted encryption circuit file “EncB (C, Ke ncB) '', the encryption key circuit file ⁇ EncB (KC, KencB) '' and the encryption verification key file ⁇ EncB (VeriC, KencB) '' are subjected to a decryption algorithm according to the RSA encryption method, and the encryption circuit file ⁇ C '', The key circuit file “KC” and the verification key file rVeriCj are generated (step S 176), and the generated files are written to the main memory 107 (step S 177).
  • the control unit 116 sends the received signature file to the validity check unit 112. The verification of the signature data included in is instructed.
  • the validity checking unit 112 verifies the signature data in accordance with the instruction from the control unit 116 (step S 178).
  • step S181 If the signature verification by the validity check unit 112 fails (NO in step S181), the control unit 116 returns to step S148, and again manages the installation request via the program acquisition unit 106 using the encryption method management. Send to server 600.
  • control unit 116 instructs the validity checking unit 112 to write the encryption circuit file “C” and the key circuit file “KC”.
  • the validity checking unit 112 writes the cryptographic circuit file “C” into the cryptographic circuit storage unit 117, and writes the key circuit file “KC” into the key circuit storage unit 119 (step S182).
  • control unit 116 instructs the validity checking unit 112 to update the check information table 201.
  • the validity checking unit 112 based on the verification key file “VeriC”, the method identifier “IDC”, Sano 10 “001 8” and the verification key “1 ⁇ — Check information including “&” and method information “IDC”, server ID “001B” and verification key “Kve—C b” are newly generated (step S183). Information is added to the check information table 201 (step S184).
  • control unit 116 generates usable information including the method identifier “IDC” and the usage flag “1” included in the cryptographic circuit file “C”, and can use the generated usable information. This is added to the encryption scheme table 166 (step S 186).
  • the cryptographic circuit storage unit 117 the cryptographic circuit file including the method identifier “IDA”
  • control unit 116 selects the available information 171 including the method identifier “IDA” in the available encryption method table 166 stored in the main storage unit 107, and selects the selected available information.
  • the usage flag included in the report 171 is rewritten to “0” (step S189).
  • control unit 116 When the installation of the DVD 400a or 400b is detected via the content acquisition unit 101, the control unit 116 records the content recorded on the attached DVD and the content playback device 1
  • FIG. 25 is a flowchart showing the verification operation performed by the content reproduction apparatus 100. In FIG. 25, it is more generalized to indicate whether the mounted DVD is the DVD 400a or 400b without distinguishing.
  • step S124 in FIG. 1 The verification of whether or not the content recorded on the attached DVD can be reproduced will be described below with reference to FIG. This is a detail of step S124 in FIG.
  • the control unit 116 reads the content file, content key information, and signature file from the loaded DVD via the content acquisition unit 101 (step S201). next
  • step S202 the method identifier included in the content file is extracted (step S202), and the usable information including the method identifier that matches the extracted method identifier is stored in the available encryption method table 166 stored in the main storage unit 107. Search (step S204). At this time, if the corresponding usable information cannot be detected (NO in step S206), it is determined that reproduction is impossible.
  • the control unit 116 When the corresponding usable information 171 is detected (YES in step S206), the control unit 116 next sends the read content file, content key information, and content to the validity check unit 112. Output a signature file and instruct verification of signature data included in the signature file.
  • the validity check unit 112 verifies the signature data using the encryption method indicated by the method identifier included in the signature file (step S207). The signature data verification operation will be described later.
  • step S208 If the verification of the signature data is successful (step S208), the control unit 116 determines that the content can be reproduced (step S209). If the verification of the signature data fails, the control unit 116 determines that the content cannot be reproduced (step S211).
  • the validity check unit 112 receives various types of information and a signature file including signature data generated based on the information from the control unit 116, and is instructed to verify the signature data. Upon receiving an instruction from the control unit 116, the validity check unit 112 controls the selection unit 113 and the variable circuit 108 to verify the signature data.
  • FIG. 26 is a flowchart showing a signature data verification operation.
  • the signature data verification operation will be described below with reference to FIG. This is a detail of step S178 in FIG. 23 and step S207 in FIG.
  • the various types of information received together with the signature file is described as data to be checked.
  • the combination is a combination of a content file and content key information and a signature file read from a DVD card, a cryptographic circuit file, a key circuit file, a verification key file, There is a combination of decryption key information and a key file.
  • the validity checking unit 112 reads the server ID and the method identifier included in the signature file (step S221). Next, check information including the read method identifier and server ID is searched in the check information table 201 stored in itself (step S222). If the corresponding check information is not detected (NO in step S224), a verification failure notification indicating that the signature data verification has failed is output to the control unit 116 (step S236).
  • the validity check unit 112 When the corresponding check information is detected (YES in step S224), the validity check unit 112 outputs the read method identifier to the selection unit 113, and reads the decoding circuit program. And direct output.
  • the selection unit 113 reads the decryption circuit program corresponding to the received method identifier in accordance with the instruction from the validity check unit 112 (step S226), and outputs the read decryption circuit program to the variable circuit 108.
  • the construction mechanism 123 of the variable circuit 108 rewrites the FPG A122 in accordance with the received decryption circuit program to construct the decryption processing circuit 156 (step S227).
  • the validity checking unit 112 reads the verification key included in the detected check information (step S228), and reads the signature data included in the signature file and the read verification key. The data is output to the decryption unit 158 in the constructed decryption processing circuit 156 to instruct decryption.
  • the decryption unit 158 decrypts the signature data using the verification key to generate decrypted digest data (step S229).
  • the decryption unit 158 outputs the generated decryption digest data to the validity check unit 112.
  • the validity checking unit 112 generates digest data by substituting the combined data obtained by combining the data to be checked into the Noh and Ysch functions (step S231).
  • the generated digest data is compared with the decrypted digest data output from the decryption unit 158 (step S232), and if they match (YES in step S234), a verification success notification indicating that the signature verification is successful is sent.
  • the data is output to the control unit 116 (step S237).
  • step S236 If the two do not match (NO in step S234), a verification failure notification indicating failure of signature verification is output to the control unit 116 (step S236).
  • FIG. 27 is a flowchart showing a content reproduction operation by the content generation device.
  • the same operation is performed in the case of 1S DVD 400b, which shows the case where DVD 400a is loaded in content reproduction apparatus 100.
  • the control unit 116 Upon receiving operation instruction information indicating content playback from the input unit 121, the control unit 116 extracts the method identifier 402 “IDA” included in the read content file 401. (Step S241). Next, the control unit 116 controls the selection units 113 and 114, the combination check unit 118, and the variable circuit 108 to generate a device key “DevA” corresponding to the scheme identifier “IDA”, and sets the decryption processing circuit 156 to Build (step S242).
  • the procedure for generating the device key and constructing the decryption processing circuit is the same as steps S166 to S173 in FIG. 22, and therefore detailed description thereof is omitted here.
  • the read content key information 404 is output to the key processing unit 157 in the constructed decryption processing circuit 156, and the encrypted content 403 is output to the decryption unit 158. Is instructed to decrypt.
  • the key processing unit 157 When the key processing unit 157 receives the content key information 404, the key processing unit 157 reads the device key 128 “DevA” from the device key storage unit 103. Based on the read device key 128 “DevA” and the content key information 404, the content key information 404 is read. A key “KconA” is generated (step S243).
  • the decryption unit 158 obtains the content key "0111" from the key processing unit 157, decrypts the encrypted content 403 using the obtained content key "KconA”, and generates the content "ConA” (Step S244).
  • Decoding section 158 outputs the generated content to reproduction processing section 109 in accordance with an instruction from control section 116.
  • the reproduction processing unit 109 Upon receiving the content “ConA”, the reproduction processing unit 109 reproduces the received content on the motor 15 (step S246).
  • FIG. 28 to 30 are flowcharts showing an operation of outputting content to the memory card 500 by the content reproduction device 100.
  • FIG. The content output operation will be described below with reference to FIGS. This is a detail of step S132 in FIG.
  • a description will be given by taking as an example the case where the content playback apparatus 100 is equipped with a DVD 400a and a memory card 500 that holds the scheme identifier “IDA”. The same operation is performed when a memory card is held.
  • the control unit 116 displays the method identifier 402 “IDA” included in the content file 401 and the method identifier 413 “IDB” included in the signature file 411. Extract (step S261). Next, the available memory from the main memory 107 The code method table 166 is read (step S262), and the available information including the method identifier “IDA” and the method identifier “IDB” is searched in the read encryption method table 166 (step S263).
  • step S264 If either one cannot be detected (NO in step S264), An error screen indicating the effect is generated, and the error screen is displayed on the monitor 15 via the reproduction processing unit 109 (step S 265).
  • step S264 When the corresponding usable information 171 and 172 are detected (YES in step S264), the usage flags included in the detected usable information 171 and 172 are read (step S266). If either one of the read usage flags is “0” (NO in step S268), an error notifying that the content recorded on the attached DVD cannot be copied. Display the screen (step S265).
  • step S268 If both of the read usage flags are "1" (YES in step S268), method identifier 402 "IDA” is extracted from content file 401 (step S269), and the extracted method The identifier 402 “IDA” is output to the memory card 500 via the input / output unit 104, and the encryption method indicated by the output method identifier “IDA” is provided! Step S271).
  • the control unit 507 of the memory card 500 receives the scheme identifier “IDA” from the content playback apparatus 100 via the input / output unit 502, and includes an encryption scheme indicated by the received scheme identifier “IDA”. Ask whether or not.
  • the control unit 507 When receiving the inquiry, the control unit 507 reads the method identifier 521 stored in the secure area 520 (step S272).
  • the read method identifier 521 is compared with the received method identifier “IDA” (step S273), and if they match (YES in step S274), the ciphertext encrypted by the encryption method indicated by the received method identifier.
  • a response signal “1” indicating that can be decoded is generated (step S276).
  • control unit 507 outputs the generated response signal to content reproduction device 100 via input / output unit 502 (step S279).
  • the control unit 116 of the content reproduction apparatus 100 receives a response signal from the memory card 500 via the input / output unit 104. If the received response signal is “0” (“0” in step S281), an error screen notifying that the requested copy cannot be made is generated and displayed on the monitor 15 (step S282).
  • step S281 If the received response signal is "1" ("1" in step S281), then the control unit 116 controls the selection units 113 and 114, the combination check unit 118, and the variable circuit 108, A device key “DevA” corresponding to the method identifier 402 “IDA” read from the content file 401 is generated, and a decryption processing circuit for performing decryption processing according to the method identifier “IDA” is constructed on the variable circuit 108 (step S286).
  • step S287 The details of step S287 are the same as steps S166 to S173 in FIG. 22, and the method identifier “IDB” in FIG. 22 is replaced with “IDA” and the key circuit file “13 ⁇ 4” is replaced with “”.
  • the key generation circuit program may be read as “Kgen BJ” as “KgenA” and the decryption circuit program “DecB” as “DecA”.
  • control unit 116 outputs the read content key information 404 to the key processing unit 157 in the constructed decryption processing circuit 156, and instructs generation of a content key.
  • the key processing unit 157 generates the content key “KconA” based on the content key information 404 and the device key “DevA” (step S 287).
  • control unit 116 instructs the selection unit 113 to read and output the cryptographic circuit program corresponding to the scheme identifier 402 “IDA”.
  • the selection unit 113 reads out the encryption circuit program 133 “EncA” corresponding to the method identifier “IDA” from the encryption circuit storage unit 117 in accordance with an instruction from the control unit 116 (step S289). 133 “EncA” is output to variable circuit 108.
  • the construction mechanism 123 in the variable circuit 108 constructs the cryptographic processing circuit 152 in accordance with the cryptographic circuit program 133 “EncA” (step S 291).
  • control unit 116 instructs the memory card 500 to output card key information via the input / output unit 104 (step S293).
  • control unit 507 of the memory card 500 When the control unit 507 of the memory card 500 is instructed to output the card key information from the content playback device 100 via the input / output unit 502, the control unit 507 receives the card key information 52 from the secure area 520. Read 2 (step S294). The read card key information 522 is output to the content reproduction apparatus 100 via the input / output unit 502 (step S296).
  • the control unit 116 of the content reproduction apparatus 100 acquires card key information from the memory card 500 via the input / output unit 104, and uses the acquired card key information as the key processing unit 153 in the encryption processing circuit 152. And the content key “KconA” is output to the encryption unit 154 to instruct encryption.
  • the key processing unit 153 reads the device key “DevA” from the device key storage unit 103, and generates the card unique key “MkeyA” based on the read device key “DevA” and the card key information (step S297). .
  • the encryption unit 154 obtains the card unique key “MkeyA” from the key processing unit 153, encrypts the content key “KconA” using the obtained card unique key “MkeyA”, and encrypts the encrypted content key.
  • EncA KconA, MkeyA
  • the control unit 116 extracts the encrypted content 403 "EncA (ConA, KconA)" from the content file 401. (Step S301), the extracted encrypted content 403 “EncA (Con A, KconA)” and the encrypted content key “EncA (KconA, MkeyA)” are output to the memory card 500 via the input / output unit 104. (Step S302).
  • the control unit 507 of the memory card 500 receives the encrypted content “EncA (ConA, KconA)” and the encrypted content key “EncA (KconA, MkeyA)” from the content playback device 100, and receives the received encryption.
  • a content file including the content “EncA (ConA, KconA)” and the encrypted content key “EncA (KconA, MkeyA)” is generated, and the generated content file is written in the general area 512 (step S303).
  • the force described above based on the first embodiment of the present invention is not limited to this, and the following cases are also included in the present invention.
  • the content playback apparatus 100 has been described as having a DES encryption method and an RSA encryption method at the beginning of production. It is possible to have the encryption method.
  • the encryption method management server 600 selects one of the undeciphered encryption methods, and converts the decrypted encryption method to the selected encryption method.
  • the encryption circuit file, key circuit file, and verification key file corresponding to the alternative encryption method are encrypted and transmitted to the content playback apparatus 100.
  • the signature data may be generated using an encryption method different from the encryption method used for the encryption key.
  • the use of the encryption method provided in the content reproduction apparatus 100 is not limited to the force described above as encryption / decryption of content and verification of signature data. You may use for various uses, such as sharing and apparatus authentication.
  • the content reproduction apparatus 100 may select an encryption method used for encryption and signature data generation, and notify the encryption method management server 600 of a method identifier indicating the selected encryption method.
  • a method of selecting an encryption method by the content reproduction apparatus 100 for example, a method of storing the date and time when the encryption method is introduced and selecting an encryption method with a new introduction date is conceivable.
  • the user of content playback apparatus 100 may accept selection of an encryption method.
  • a signature file including signature data is generated by using an undecipherable encryption method. Power This method of generating a signature is an example, and the present invention is not limited to this.
  • the encryption method management server 600 supports the new encryption method.
  • the verification key file including a verification key is sent, but a new encryption method that does not require transmission of the verification key file is not used for signature verification, the verification key file No file transmission is required.
  • the verification key is the public key of each server, and thus may be transmitted without encryption.
  • a decryption processing circuit is constructed in the variable circuit 108, and the decryption processing circuit bears a part of the verification processing of the signature data.
  • a configuration may be adopted in which a verification circuit for performing a series of processing for signature verification is built in the variable circuit 108 and verification of signature data is executed. In this case, it is not necessary to exchange the verification key file for the process of introducing the encryption method.
  • Embodiment 1 is an example that focuses on an encryption method that performs encryption and decryption. Even when an encryption method that is used for signature generation and verification is decrypted, a new encryption method is used. Introduce. In that case, the verification key file is acquired from the encryption method management server 600 in consideration that a new encryption method is used for signature generation and verification.
  • the signature method may be changed separately from the change of the encryption method used for encryption and decryption.
  • the signing method refers to a series of procedures for generating signature data and a series of procedures for verifying signature data.
  • the content reproduction apparatus 100 includes a signature storage unit 220 instead of the validity check unit 112, and the signature storage unit 220 includes a check information table 221 as shown in FIG. And a plurality of signature scheme files 223, 224,...
  • the check information table 221 has the same configuration as the check information table 201 described in the first embodiment, but each check information corresponds to one of the signature schemes and corresponds to a scheme identifier instead. Contains a signature scheme identifier that indicates the signature scheme!
  • Each signature file corresponds to one of the signature schemes, and includes a signature scheme identifier indicating the corresponding signature scheme and a verification circuit program.
  • the verification circuit program shows a configuration of a verification circuit having a function of verifying signature data generated by the signature scheme indicated by the signature scheme identifier.
  • the encryption method management server 600 also manages the security related to the signature method. If any signature method is decrypted and the signature can be easily tampered with, the encryption method management server 600 can replace the signature method.
  • Signature file rsicj and verification key file related to various signature methods I have it.
  • the signature file “SiC” consists of the signature scheme identifier “SIDC” and the verification circuit program “
  • the verification key file is similar to the verification key file 671 shown in FIG. 5 (c), but includes the signature scheme identifier “SIDC” instead of the scheme identifier 672.
  • SIDC signature scheme identifier
  • the content playback device 100 uses the signature scheme file “SiC” corresponding to the new signature scheme, the verification key file, and the signature scheme identifier “SIDB”.
  • the signature data generated by applying the signature to the verification key file and the signature file “SiC” and the signature scheme identifier “SIDB” indicating the signature method used to generate the signature data are received.
  • the control unit 116 reads the verification circuit program 237 corresponding to the same signature scheme identifier as the received signature scheme identifier “SIDB”, and outputs it to the variable circuit 108.
  • the verification circuit corresponding to the signature scheme “SIDB” is built in the variable circuit 108, the received signature scheme file “SiC”, the verification key file, and the signature data are output to the verification circuit to verify the signature. Instruct.
  • the received signature file is written to the signature storage unit 220, the received verification key file power also generates new check information, and the generated check information is added to the check information table 221. To do.
  • the information to be transmitted / received includes information to be concealed, the information may be encrypted and transmitted / received.
  • a configuration may be adopted in which a MAC (Message Authentication Code) generation 'verification method is introduced instead of the signature method.
  • a MAC (Message Authentication Code) generation 'verification method is introduced instead of the signature method.
  • a plurality of MAC verification circuit programs indicating the configuration of the MAC verification circuit are stored, and each MAC verification program has a different MAC generation and verification method. It corresponds.
  • the content reproduction apparatus 100 stores key sharing circuit programs corresponding to different key sharing methods.
  • Each key sharing circuit program is a program in a format that can be decrypted by the construction mechanism in the variable circuit 108, and is a key sharing circuit that executes key sharing with an external device in a procedure according to the corresponding key sharing method. The configuration is shown.
  • the server device that manages the key sharing method holds a key sharing circuit program corresponding to the new key sharing method!
  • a key sharing circuit is constructed according to any of the previously stored key sharing circuit programs, and the server is used by the constructed key sharing circuit. Generate a shared key with the device.
  • the server device encrypts the key sharing circuit program corresponding to the new key sharing method using the generated shared key to generate an encrypted key sharing circuit program, and the content playback apparatus 100 Send to.
  • the content reproduction apparatus 100 receives the encryption key sharing program, decrypts it using the generated shared key, and acquires a key sharing circuit program corresponding to the new key sharing method.
  • the device authentication circuit For the device authentication method, a plurality of device authentication circuit programs corresponding to different device authentication methods are held in advance, and the device authentication circuit is constructed according to any one of them.
  • the built-in device authentication circuit performs device authentication with an external server device.
  • the device authentication circuit program corresponding to the new device authentication method is received from the server device.
  • the variable circuit 108 includes, as an example, a rewritable FPGA 122, a construction mechanism 123, and a configurator ROM 124.
  • a rewritable FPGA 122 When outputting to Confidor ROM 124
  • the configuration is not limited to this.
  • variable circuit 108 is configured only by the FPGA and the construction mechanism, and the configuration ROM attached to the FPGA may constitute the encryption circuit storage unit 117 and the key circuit storage unit 119.
  • the control unit 116 reads the variable circuit information 161 stored in the main storage unit 107, and based on the read variable circuit information 161, the selection units 113, 114 and The construction mechanism 123 causes the circuit constructed in the variable circuit 108 to be reconstructed immediately before the power is turned off.
  • the content playback device 100 and the encryption method management server 600 are connected to the Internet 20 and are capable of transmitting and receiving encrypted encryption circuit files and the like via the Internet 20.
  • the method is not limited to this method.
  • the encryption system management server 600 sends the same encryption circuit file, key circuit file, and signature circuit file to all valid content playback devices, these files are transmitted by one-way communication such as broadcast waves. May be sent.
  • the power of starting a series of operations for content introduction triggered by an instruction from the operator of the encryption method management server 600 is not limited to this.
  • the content playback apparatus 100 periodically transmits a method identifier indicating its own encryption method, and the encryption method management server 600 decrypts its own encryption method. You can ask and match.
  • the encryption method management server 600 Upon receiving the inquiry, if the encryption method information including the method identifier that matches the received method identifier exists in the invalid encryption method list 621, the encryption method management server 600 sends a warning notification including the encryption method to the content playback device. To device 100.
  • content playback apparatus 100 simply does not perform playback unless it has an encryption system corresponding to the system identifier included in the content file of the attached DVD. At this time, the above inquiry may be made to the encryption method management server 600.
  • what the content reproduction device 100 includes when any one of the encryption methods is decrypted, even if a new encryption method is introduced, even if the encryption method is not decrypted, for example, when a new superior encryption method is developed. You may introduce the new encryption system.
  • the encrypted circuit file and the key circuit file corresponding to the decrypted encryption method are all deleted, the content encrypted by the decrypted encryption method and the signature data generated by the decrypted encryption method A configuration may be adopted in which playback of content marked with is not permitted at all.
  • the check information table 201 also deletes the check information corresponding to the decrypted encryption method.
  • variable circuit 108 is the force that has been described as being configured by the FPGA, but is not limited to this, and may be a rewritable circuit.
  • rewritable circuits are PLD (Programmable Logic Device), PLA (Programmable) depending on the circuit scale, internal logic circuit structure, etc.
  • Array Logic Array Logic
  • CPLD Complex Programmable Logic Device
  • Reconfigurable LSI Dynamic Reconfigurable LSI.
  • the force that employs an example using a media key block is not limited to this method.
  • a device key including a plurality of key data is assigned to each device using a tree structure, and a legitimate device may acquire content using any key included in the device key. Possible technologies are considered.
  • the content playback apparatus 100 performs a cryptographic process such as decryption of a content that previously stores an encryption circuit file and a key circuit file corresponding to each encryption method.
  • the configuration may be such that a necessary key circuit file is received.
  • the control The unit 116 reads the method identifier 402 from the content file 401, transmits the read method identifier 402 to the encryption method management server 600 via the program acquisition unit 106, and requests transmission of the key circuit file.
  • the encryption method management server 600 stores a key circuit file corresponding to each encryption method.
  • the control unit 607 receives the method identifier from the content reproduction apparatus 100 and is requested to transmit the key circuit file, the control unit 607 reads the key circuit file corresponding to the encryption method indicated by the received method identification identifier, and reads the read key Send the circuit file.
  • the control unit 116 of the content reproduction device 100 receives the key circuit file from the encryption method management server 600, and outputs the key circuit generation program included in the received key circuit file to the variable circuit 108.
  • the device key is generated, the decryption processing circuit is constructed, and the encrypted content 403 is decrypted in the same manner as in the first embodiment.
  • the encryption method management server 600 transmits the key circuit file including the key generation circuit program to each of the content playback devices 100. Distributed to playback devices, each device builds a key generation circuit according to the acquired key generation circuit program, and generates individual device keys using the key generation circuit. However, device keys may be distributed to each device individually instead of the key file.
  • the encryption method management server 600 stores the device ID of the device and the device key corresponding to each encryption method for each device.
  • the content playback apparatus 100 transmits information unique to the content playback apparatus 100 such as a device key used in its own device ID or the decrypted encryption method.
  • the encryption method management server 600 receives the unique information from the content reproduction device 100, and based on this information, selects a device key that is unique to the content reproduction device 100 and corresponds to the new encryption method. To do. Instead of the key circuit file, the selected device key is encrypted and transmitted.
  • System L SI is an ultra-multifunctional LSI that is manufactured by integrating multiple components on a single chip. Specifically, it is a computer system that includes a microprocessor, ROM, RAM, and so on. is there. A computer program is stored in the RAM. The microphone processor power By operating according to the computer program, the system LSI achieves its functions.
  • the method of circuit integration is not limited to LSI's, and implementation using dedicated circuitry or general purpose processors is also possible. It is also possible to use an FPGA that can be programmed after LSI manufacturing or a reconfigurable processor that can reconfigure the connection and settings of circuit cells inside the LSI.
  • each of the above devices may be configured as an IC card or a single module force that can be attached to and detached from each device.
  • the IC card or the module is a computer system including a microprocessor, ROM, RAM, and the like.
  • the IC card or the module may include the super multifunctional LSI described above.
  • the IC card or the module achieves its function by the microprocessor operating according to the computer program. This IC card or module may be tamper resistant! /.
  • the present invention may be the method described above. Further, the present invention may be a computer program that realizes these methods by a computer, or may be a digital signal that also has the computer program power.
  • the present invention also relates to a computer-readable recording medium such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD ( Blu-ray Disc), semiconductor memory, etc. may be recorded. Further, the present invention may be the computer program or the digital signal recorded on these recording media.
  • a computer-readable recording medium such as a flexible disk, hard disk, CD-ROM, MO, DVD, DVD-ROM, DVD-RAM, BD ( Blu-ray Disc), semiconductor memory, etc.
  • the present invention may be the computer program or the digital signal recorded on these recording media.
  • the present invention provides the computer program or the digital signal to an electric communication It may be transmitted via a line, a wireless or wired communication line, a network represented by the Internet, a data broadcast, or the like.
  • the present invention may also be a computer system including a microprocessor and a memory.
  • the memory may store the computer program, and the microprocessor may operate according to the computer program.
  • the present invention relates to an industry that manufactures and sells electrical equipment that performs processing to encrypt or decrypt various types of information, an industry that produces and sells information handled by these electrical equipment, and these equipment.
  • an industry that provides various services using the information handled by it can be used in a management, iterative and continuous manner.

Abstract

 書き換え可能な回路を増加させることなく、新たな暗号方式に対応する回路形成情報を、安全に取得することができる装置の要望がある。  コンテンツ再生装置100は、書き換え可能なFPGA122を備えている。また、所定の暗号方式に従う復号処理を行う復号処理回路の構成を示す復号回路プログラムを記憶しており、このプログラムに従ってFPGA122を書き換え、前記復号処理回路を構築する。新たな暗号方式と対応する復号回路プログラムを含むファイルを前記所定の暗号方式によって暗号化した暗号化ファイルを外部から取得し、構築された復号処理回路によって暗号化ファイル復号する。

Description

回路構築装置
技術分野
[0001] 本発明は、新たな暗号方式を導入する技術に関する。特に、限られた数の書換え 可能回路を利用して、安全に、新たな暗号方式を導入する技術に関する。
背景技術
[0002] 映像及び音声力 なるデジタルコンテンツを記録媒体に記録して販売したり、ネット ワークを介して配信する際に、改竄や盗聴と!/ヽつた不正なコンテンツの利用を防止す るために、暗号ィ匕技術が用いられることが一般的になっている。例えば、コンテンツの 提供側は、コンテンツを暗号ィ匕して配布し、再生機器側で、復号して再生する。この ような、再生機器において、リアルタイム再生ゃ耐タンパ一性の確保のために、暗号 処理機能をノヽードウエアによって実装する場合も多い。
[0003] 一方で、暗号化に用いられる暗号方式が解読された場合や、新たな暗号方式が開 発された場合に、暗号方式を変更した!/ヽと ヽぅ要望がある。
ハードウェアにより実装された暗号方式を変更する技術としては、特許文献 1に、暗 号処理システムが開示されている。この技術では、暗号処理システムは、プログラム 可能プロセッサを備え、アプリケーション及びデータの種類に応じたプログラムをダウ ンロードして、プログラム可能プロセッサに導入し、暗号方式を変更する。
[0004] このような、プログラムには、暗号処理に用いられる鍵データ、プログラム製作者のノ ゥハウなど秘匿すべき情報が含まれている場合があり、安全に取得する必要がある。 特許文献 2には、 FPGA (Field Programable Gate Array)内に回路を構築 するための構成データを、安全に入力する技術が開示されている。この技術によると 、 FPGA内の、書換え可能な部分と入力端子との間に、復号回路を備え、復号回路 は、暗号化された構成データを取得して復号した後、書換え可能な部分に出力する 特許文献 1 :特開平 10— 320191号公報
特許文献 2:特開 2002— 50956号公報 発明の開示
発明が解決しょうとする課題
[0005] し力しながら、特許文献 2の技術では、復号部が備える暗号方式が解読された場合 には、この暗号方式を変更することができず、構成データを安全に取得することがで きなくなるという問題がある。
また、書換可能回路は、高コストであり、基板上で占める面積も大きい。そのため、 多数の書換可能回路を搭載することは望ましくな 、。
[0006] 本発明は、上記の課題を解決するために、搭載する書換可能回路を増加させるこ となぐ安全に新たな暗号方式に関する回路形成情報を取得することができる回路 構築装置、回路構築方法を提供することを目的とする。
課題を解決するための手段
[0007] 上記の課題を解決するために、本発明は、記憶している複数の回路形成情報に従 つて、書き換え可能な論理回路を書き換えて実行回路を構築する回路構築装置であ つて、書換え可能な前記論理回路と、所定の処理を実行する実行回路を定める回路 形成情報を取得し、取得した回路形成情報に従って、前記論理回路を書き換えて前 記実行回路を構築する構築手段と、 1以上の暗号方式それぞれと対応しており、対 応する暗号方式による暗号処理を実行する暗号回路を定める 1以上の既存回路形 成情報を記憶して!/、る記憶手段と、前記 1以上の暗号方式とは異なる新たな暗号方 式による暗号処理を実行する暗号回路を定める新規回路形成情報を暗号化して生 成された暗号ィ匕新規回路形成情報を、少なくとも含んでいる導入情報を取得する取 得手段と、前記暗号化に用いられた暗号方式と対応する既存回路形成情報を前記 記憶手段から読み出し、読み出した既存回路形成情報を前記回路形成情報として 前記構築手段に出力する読出手段と、構築された暗号回路に対して、取得した導入 情報に含まれる前記暗号化新規回路形成情報を復号して前記新規回路形成情報を 生成するように制御する制御手段と、有効に生成された前記新規回路形成情報を前 記記憶手段に書き込む書込手段とを備えることを特徴とする。
[0008] また、本発明は、 記憶している複数の回路形成情報に従って、書き換え可能な論 理回路を書き換えて実行回路を構築する回路構築装置と、サーバ装置から構成され る新規回路導入システムであって、書換え可能な前記論理回路と、所定の処理を実 行する実行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、 前記論理回路を書き換えて前記実行回路を構築する構築手段と、 1以上の暗号方 式それぞれと対応しており、対応する暗号方式による暗号処理を実行する暗号回路 を定める 1以上の既存回路形成情報を記憶している記憶手段と、前記 1以上の暗号 方式とは異なる新たな暗号方式による暗号処理を実行する暗号回路を定める新規回 路形成情報を暗号化して生成された暗号化新規回路形成情報を、少なくとも含んで いる導入情報を、前記サーバ装置から取得する取得手段と、前記暗号化に用いられ た暗号方式と対応する既存回路形成情報を前記記憶手段から読み出し、読み出し た既存回路形成情報を前記回路形成情報として前記構築手段に出力する読出手段 と、構築された暗号回路に対して、取得した導入情報に含まれる前記暗号ィ匕新規回 路形成情報を復号して前記新規回路形成情報を生成するように制御する制御手段 と、有効に生成された前記新規回路形成情報を前記記憶手段に書き込む書込手段 とを備え、前記サーバ装置は、前記新規回路形成情報を記憶している記憶手段と、 前記新規回路形成情報を暗号化して、前記暗号化新規回路形成情報を生成する生 成手段と、生成した前記暗号化新規回路形成情報を含む前記導入情報を、前記回 路構築装置へ出力する出力手段とを備えることを特徴とする。
[0009] ここで、後述の実施の形態において、上記の「論理回路」には、 FPGA122が対応 する。「構築手段」には、構築機構 123が対応する。「記憶手段」には、暗号回路記憶 部 117が対応する。「取得手段」には、プログラム取得部 106が対応する。「読出手段 」には、選択部 113が対応する。「制御手段」には、制御部 116が対応する。「書込手 段」は、正当性チェック部 112がその機能を担う。
発明の効果
[0010] 上記の構成によると、前記記憶手段は、 1以上の暗号方式に対応する 1以上の既 存回路形成情報を記憶しており、前記構築手段は、任意の回路形成情報に従って、 前記論理回路を書き換えて、実行回路を構築する。そのため、本発明の回路構築装 置は、ただ 1個の書き換え可能な論理回路により、前記 1以上の暗号方式のうち、何 れかが解読されたとしても、解読されていない暗号方式による暗号回路を形成し、形 成した暗号回路によって、新規回路形成情報を安全に取得することができるという優 れた効果を奏する。
[0011] 前記回路構築装置において、前記取得手段は、前記新たな暗号方式の導入を指 示する指示情報を受け付ける受付部と、前記 1以上の暗号方式から、 1の暗号方式 を選択し、外部機器へ、選択した暗号方式を通知する通知部と、前記外部機器から 、通知した暗号方式により生成された前記暗号化新規回路形成情報を受信する受 信部とを備え、前記読出手段は、前記通知部により選択された暗号方式と対応する 既存回路形成情報を読み出すことを特徴とする。
[0012] また、前記通知部は、前記 1以上の暗号方式のうち、最後に前記記憶手段に書き 込まれた既存回路形成情報と対応する暗号方式を選択することを特徴とする。 この構成によると、新たな暗号方式の導入にあたり、当該回路構築装置が、新規回 路形成情報の授受に用いる暗号方式を決定する。特に、最後に前記記憶手段に書 き込まれた既存回路形成情報と対応する暗号方式を選択する。最後に記憶手段に 書き込まれた既存回路形成情報と対応する暗号方式は、前記 1以上の暗号方式の 中で、最後に開発されたものであり、最も安全性が高いと推測される。従って、このよ うにすることで、より安全に前記新規回路形成情報を取得することができる。
[0013] また、前記回路形成情報を構成する前記通知部は、前記 1以上の暗号方式のうち 、暗号強度の最も高いものを選択することを特徴とする。
このように、暗号強度が最も高い暗号方式を選択することで、より安全に、前記新規 回路形成情報を取得することができる。
また、前記回路形成情報を構成する前記通知部は、外部から入力される選択指示 に従って、前記 1の暗号方式を選択することを特徴とする。
[0014] 外部からの選択指示とは、例えば、当該回路構築装置の利用者による入力が考え られる。この場合、利用者は、前記新規回路形成情報の取得に係る安全性、時間な どを考慮し、前記 1の暗号方式を選択することができる。
また、外部からの選択指示とは、当該回路構築装置に装着される記録媒体に書き 込まれていると考えられる。記録媒体には、当該記録媒体に記録されている情報を 取り扱うために必要な暗号方式と、その暗号方式と対応する新規回路形成情報の取 得に適した暗号方式を示す前記指示が記録されている。前記通知部は、記録媒体 に書き込まれている指示に従って、 1の暗号方式を選択する。このようにすることで、 記録媒体の発売元の意思を反映した選択をすることができる。
[0015] また、前記受付部は、前記 1以上の暗号方式の何れかが解読されたことを示す解 読通知を含む前記指示情報を取得することを特徴とする。
この構成では、前記受付部は、前記 1以上の暗号方式の何れかが解読されたことを 示す解読通知を含む前記指示情報を取得する。つまり、何れかの暗号方式が解読さ れた場合に、前記新たな暗号方式と対応する前記新規回路形成情報を取得する。 そのため、本発明の回路構築装置は、何れかの暗号方式が解読されても、解読され た暗号方式に代えて、前記新たな暗号方式を利用することができる。
[0016] また、前記通知部は、前記解読通知の示す解読された暗号方式以外の暗号方式 を選択することを特徴とする。
この構成によると、前記通知部は、解読された暗号方式以外の暗号方式を選択す るので、解読されていない暗号方式によって、安全に前記新規回路形成情報を取得 することができる。
[0017] 前記回路構築装置は、さらに、前記解読通知の示す解読された暗号方式と対応す る既存回路形成情報を前記記憶手段から削除する削除手段を備えることを特徴とす る。
ここで、後述の実施の形態において、上記の「削除手段」は、制御部 116がその機 能を担う。
この構成のように、前記削除手段が、解読された暗号方式と対応する既存回路形 成情報を削除することで、当該回路構築装置において、今後、解読された暗号方式 を用いて、暗号処理を行うことを確実に回避することができる。
[0018] 前記記憶手段の記憶している各既存回路形成情報は、対応する暗号方式による 暗号化処理を実行する暗号化回路の構成を示す暗号化回路情報と、対応する暗号 方式による復号処理を実行する復号回路の構成を示す復号回路情報とを含み、前 記回路構築装置は、さらに、前記解読通知の示す解読された暗号方式と対応する既 存回路形成情報に含まれる暗号化回路情報を前記記憶手段から削除する削除手段 を備えることを特徴とする。
[0019] ここで、後述の実施の形態において、上記の「削除手段」は、制御部 116がその機 能を担う。
この構成では、前記削除手段は、解読された暗号方式と対応する暗号化回路形成 情報を削除する。そのため、当該回路構築装置において、今後、解読された暗号方 式により、各種の情報を暗号ィ匕することはない。また、解読された暗号方式と対応す る復号回路情報は、そのまま残す。そのため、解読された暗号方式により、過去に生 成された暗号文を復号して利用することができる。
[0020] また、前記導入情報は、前記暗号化新規回路形成情報と、前記暗号化新規回路 形成情報の生成に用いられた暗号方式を示す識別子とを含み、前記読出手段は、 前記識別子の示す暗号方式と対応する既存回路形成情報を読み出すことを特徴と する。
この構成によると、前記導入情報は、前記暗号化新規回路形成情報と、前記暗号 化新規回路形成情報の生成に用いられた暗号方式を示す識別子とを含むので、 前記読出手段は、前記導入情報に含まれる前記識別子を基に、迅速に既存回路形 成情報を読み出すことができる。
[0021] 本発明の回路構築装置において、前記新規回路形成情報は、前記新たな暗号方 式による暗号処理を実行する暗号回路の構成を示す構成情報と、前記新たな暗号 方式において用いられる鍵情報とから構成され、前記取得手段は、前記構成情報を 暗号化して生成された暗号化構成情報と、前記鍵情報を暗号化して生成された暗号 化鍵情報とからなる前記暗号化新規回路形成情報を取得し、前記制御手段は、構 築された暗号回路に対して、前記暗号化構成情報と暗号化鍵情報とを復号して、前 記構成情報と前記鍵情報とを生成するように制御し、前記書込手段は、生成された 前記構成情報と前記鍵情報とから構成される前記新規回路形成情報を書き込むこと を特徴とする。
[0022] 前記取得手段は、前記暗号化構成情報と、前記暗号化鍵情報とからなる前記暗号 化新規回路形成情報を取得し、構築された暗号回路は、前記暗号化構成情報と暗 号化鍵情報とを復号して、前記構成情報と前記鍵情報とを生成する。従って、当該 回路構成装置は、前記新たな暗号方式にかかる構成情報と鍵情報とを一度に取得 するので、前記構成情報の取得直後から、前記新たな暗号方式を用いることができ る。
[0023] 前記取得手段は、さらに、前記新規回路形成情報にデジタル署名を施して生成さ れた署名情報を取得し、前記回路構築装置は、さらに、前記署名情報と、生成された 前記新規回路形成情報とを用いて、前記新規回路形成情報の正当性を検証する検 証手段を備え、前記書込手段は、前記検証が成功した場合に、有効に新規回路形 成情報が生成されたと決定し、前記新規回路形成情報を前記記憶手段に書き込む ことを特徴とする。
[0024] ここで、上記の「検証手段」は、以下の実施の形態において、正当性チェック k部 11 2及び FPGA122がその機能を担う。
この構成によると、前記検証手段による検証が成功した場合のみ、前記書込手段 は、生成された新規回路形成情報を前記記憶手段に書き込む。このようにすることで 、悪意のある第三者によって配布された新規回路形成情報を排除することができる。
[0025] 前記回路構築装置において、前記記憶手段は、さらに、前記検証手段の構成を示 す検証回路形成情報を記憶しており、前記読出手段は、さらに、前記復号が終了し た後、前記検証回路形成情報を読み出し、読み出した検証回路形成情報を前記回 路形成情報として、前記構築手段へ出力することを特徴とする。
この構成によると、前記制御手段は、前記新規回路形成情報が生成された後、前 記検証回路形成情報を前記構築手段に出力する。前記構築手段は、前記検証回路 形成情報に従って、前記論理回路を書き換えて前記検証手段を構築する。つまり、 前記検証にも前記論理回路を用いるので、当該回路構築装置内の回路規模をより /J、さくすることができる。
図面の簡単な説明
[0026] [図 1]実施の形態 1の情報セキュリティシステムの構成を示す構成図である。
[図 2]DVD400a及び 400bに記録されて!、る情報を示す。
[図 3]暗号方式管理サーバ 600の機能的構成を示すブロック図である。
[図 4]情報記憶部 610に記憶されている無効暗号方式一覧 621及び送信用鍵テー ブル 626の詳細を示す。
[図 5]情報記憶部 610に記憶されて 、る暗号回路ファイル 631、鍵回路ファイル 651 及び検証鍵ファイル 671の構成を示す。
[図 6]署名生成部 603の保持する署名鍵テーブル 691の詳細を示す。
[図 7]新たな暗号方式の導入において、暗号方式管理サーバ 600が、コンテンツ再 生装置 100に送信する情報群の一例を示す。
[図 8]コンテンツ再生装置 100の構成を示すブロック図である。
[図 9]マスタ個別鍵格納部 102及びデバイス鍵格納部 103に記憶されている情報を 示す。
[図 10]主記憶部 107に記憶されている情報の一例を示す。
[図 11]利用可能方式表 166の構成及び新たな暗号方式導入後の利用可能方式表 1 66bを示す。
[図 12]新たな暗号方式の導入の前後における、暗号回路記憶部 117の記憶して 、る 情報の具体例を示す。
[図 13]新たな暗号方式の導入の前後における、鍵回路記憶部 119の記憶している情 報の具体例を示す。
圆 14]鍵回路形成プログラムに従って、可変回路 108内に構築された鍵生成回路を 機能的に示したブロック図である。
[図 15]鍵生成プログラム「KgenA」に従って構築された鍵生成回路の動作の一例を 示すフローチャートである。
圆 16]暗号ィ匕プログラムに従って、可変回路 108内に構築された暗号処理回路を機 能的に示したブロック図である。
圆 17]復号プログラムに従って、可変回路 108内に構築された復号処理回路を機能 的に示したブロック図である。
[図 18]正当性チェック部 112の保持するチェック情報表 201の詳細を示す。
[図 19]メモリカード 500の機能的構成を示すブロック図である。
[図 20]コンテンツ再生装置の動作を示すフローチャートである。
[図 21]DES暗号方式の解読に伴う AES暗号方式の導入に力かるコンテンツ再生装 置 100及び暗号方式管理サーバ 600の動作を示すフローチャートである。
[図 22]DES暗号方式の解読に伴う AES暗号方式の導入に力かるコンテンツ再生装 置 100及び暗号方式管理サーバ 600の動作を示すフローチャートである。図 21から 続く。
[図 23]DES暗号方式の解読に伴う AES暗号方式の導入に力かるコンテンツ再生装 置 100及び暗号方式管理サーバ 600の動作を示すフローチャートである。図 21から 続く。
[図 24]DES暗号方式の解読に伴う AES暗号方式の導入に力かるコンテンツ再生装 置 100及び暗号方式管理サーバ 600の動作を示すフローチャートである。図 21から 続く。
[図 25]コンテンツ再生装置 100による、取得したコンテンツが再生可能である力否か の検証動作を示すフローチャートである。
[図 26]署名データの検証に係る動作を示すフローチャートである。
[図 27]コンテンツの再生動作を示すフローチャートである。
[図 28]メモリカードへのコンテンツの出力動作を示すフローチャートである。
[図 29]メモリカードへのコンテンツの出力動作を示すフローチャートである。図 28力 続く。
[図 30]メモリカードへのコンテンツの出力動作を示すフローチャートである。図 28力 続く。
[図 31]署名記憶部 220の記憶している情報の一例を示す。
符号の説明
1 情報セキュリティシステム
100 コンテンツ再生装置
400a DVD
400b DVD
500 メモリカード
600 暗号方式管理サーバ
700 コンテンツサーバ 800 ポータブノレプレーヤー
発明を実施するための最良の形態
[0028] 1.実施の形態 1
以下に、本発明の実施の形態 1に係る情報セキュリティシステム 1について、図面を 用いて説明する。
1.1 情報セキュリティシステム 1の概要
情報セキュリティシステム 1は、図 1に示すように、コンテンツ再生装置 100、暗号方 式管理サーバ 600、コンテンツサーバ 700及びポータブルプレーヤー 800から構成 される。
[0029] コンテンツサーバ 700、暗号方式管理サーバ 600及びコンテンツ再生装置 100は、 インターネット 20に接続されて 、る。
コンテンツサーバ 700は、映画を初めとしたコンテンツを提供する装置であって、コ ンテンッを暗号ィ匕して生成した暗号ィ匕コンテンツと、前記暗号ィ匕コンテンツ力 正当 な配布元により生成されたことを示す署名とを、インターネット 20又は DVDなどの記 録メディアを介して、コンテンツ再生装置 100に提供する。
[0030] コンテンツ再生装置 100は、インターネット 20又は DVDを介して、コンテンツサー ノ 700から、暗号ィ匕コンテンツと署名とを取得し、取得した署名を検証し、正当な配 布者により配布されたコンテンツであることを認証し、暗号ィ匕コンテンツを復号、再生 する。また、コンテンツ再生装置 100は、メモリカードを装着可能であって、利用者の 操作に従って、暗号ィ匕コンテンツの生成に用いられたコンテンツ鍵を暗号ィ匕して生成 した暗号ィ匕コンテンツ鍵と暗号ィ匕コンテンツとをメモリカードに書き込む。
[0031] ここで、前記コンテンツ再生装置 100が、製造された時点で、コンテンツの暗号化に 用いられている暗号方式を示す方式識別子を、方式識別子「IDA」、署名検証に利 用される暗号方式を示す方式識別子を、方式識別子「IDB」とする。一例として、本 明細書では、方式識別子「IDA」の示す暗号方式は、 DES (Data Encryption St andard)暗号方式あり、方式識別子「IDB」の示す暗号方式は、 RSA (Rivest Sha mir Adleman)暗号方式であるとする。
[0032] コンテンツ再生装置 100は、書き換え可能な回路を備えており、署名検証の際には 、 RSA暗号方式に従った復号処理を行う復号処理回路を、前記回路上に構築し、コ ンテンッの復号の際には、 DES暗号方式従う復号を行う復号処理回路を構築し、暗 号ィ匕コンテンツ鍵の生成の際には、 DES暗号方式による暗号ィ匕処理を行う暗号処 理回路を構築する。
[0033] 暗号方式管理サーバ 600は、コンテンツ再生装置 100が、上記の署名検証、コン テンッの復号などに用いる暗号方式の安全性を管理する。暗号方式管理サーバ 60 0は、 DES暗号方式、又は、 RSA暗号方式が解読された場合に、解読された暗号方 式に代えて、コンテンツ再生装置 100が使用する暗号方式に関する情報を記憶して いる。何れか一方の暗号方式が解読されると、解読された暗号方式に代替する新た な暗号方式に係る情報を、解読されていない他方の暗号方式に従って暗号化して、 コンテンッ再生装置 100へ送信する。
[0034] コンテンツサーバ 700と、暗号方式管理サーバ 600は、同一又は関連のある機関 によって管理されており、暗号方式の変更に係る情報及び新たな暗号方式の鍵に関 する情報を共有している。何れかの暗号方式が解読されると、コンテンツサーバ 700 は、解読された暗号方式に代わって、上記の新たな暗号方式を用いて、コンテンツの 暗号化又は署名生成を行う。
[0035] コンテンツ再生装置 100は、解読されていない他方の暗号方式により、上記の新た な暗号方式に係る情報を安全に取得し、新たな暗号方式を導入する。
1. 2 DVD400a及び 400b
DVD400a及び 400bは、可搬型の光ディスク媒体である。
DVD400a及び 400bは、同一のコンテンツ「ConA」を配布するために製造された ものであるが、 DVD400aは、コンテンツ再生装置 100の製造時に発売されていたも のであり、 DES暗号方式により暗号化されたコンテンツを記憶している。 DVD400b は、その後、 DES暗号方式が解読された後に、発売されたものであり、 DES暗号方 式に代替する暗号方式により暗号ィ匕されたコンテンツを記憶している。 DES暗号方 式に代替する暗号方式としては、一例として AES (Advanced Encryption Stan dard)暗号方式を用いる。
[0036] 図 2は、 DVD400aおよび 400bに記録されている情報を示している。図 2に示すよ うに、 DVD400aには、コンテンツファイル 401とコンテンツ鍵情報 404と署名フアイ ル 411とが記録されている。
コンテンツファイル 401は、方式識別子 402「IDA」と暗号化コンテンツ 403「EncA (ConA, KconA)」とを含む。以下、本明細書において、方式識別子「ID ο;」の示す 暗号方式により( α = A, Β, C" ')、暗号鍵「|8」を用いて、平文「γ」を暗号化して 生成された暗号文を、 Enc α ( γ , β )と記載する。
[0037] 方式識別子 402は、暗号ィ匕コンテンツ 403の生成に用いられた暗号方式を示して いる。ここでは、 DES暗号方式を示している。
暗号化コンテンツ 403は、コンテンツ鍵「KconA」を用いて、コンテンツ「ConA」に 、方式識別子「IDA」の示す DES暗号方式に従う暗号ィ匕アルゴリズムを施して生成さ れた暗号文である。コンテンツ鍵「KconA」は、 56ビット長の暗号鍵である。
[0038] コンテンツ鍵情報 404「CKinf A」は、メディアキーブロック、メディア IDを含んで!/ヽ る。メディアキーブロックは、 DVD400aにアクセスすることができる正当な再生機器 のみに、暗号ィ匕コンテンツを復号するコンテンツ復号鍵を付与するための情報である 。 DES暗号方式を初めとする共通鍵暗号方式の場合、コンテンツ復号鍵は、コンテ ンッ鍵と同一であるが、 RS A暗号などの公開鍵暗号をコンテンッの暗号化に用いる 場合は、コンテンツ復号鍵とコンテンツ鍵とは異なる。
[0039] メディア IDは、 DVD400aに固有の識別子である。正当な再生機器は、その再生 機器に固有のデバイス鍵とメディア IDを用いて、メディアキーブロックから、コンテンツ 鍵「KconA」を生成することができる。
異なるデバイス鍵のいずれを用いても、メディアキーブロックから、同一の鍵を生成 可能にする技術については、公知であるのでここでは説明を省略する。
[0040] 署名ファイル 411は、サーノ 10412「001八」、方式識別子413「108」及び署名デ ータ 414を含む。サーバ ID412は、署名データ 414「SignA」を作成した機器を識別 する識別子である。具体的に、「001A」は、コンテンツ「ConA」の配布元であるコン テンッサーバ 700を示す。方式識別子 413は、署名データ 414の生成に用いられた 暗号方式を示しており、ここでは、 RSA暗号方式を示している。署名データ 414は、 コンテンツファイル 401及びコンテンツ鍵情報 404を結合した結合物をハッシュ関数 に代入して 160ビット長のダイジェストデータを生成し、署名鍵「Ksig— Ba」を用いて 、方式識別子 413の示す RSA暗号方式による暗号ィ匕アルゴリズムを前記ダイジエス トデータに施して生成されたものである。署名鍵「Ksig— Ba」は、方式識別子 413の 示す RSA暗号方式に対応する 128ビット長の鍵であって、サーノ ID412と対応する コンテンツサーノ 700に固有の鍵である。
[0041] ノ、ッシュ関数には、一例として、 SHA- 1を用いる。この署名生成方法は、一例で あって、他の方法を用いても良い。
図 2 (b)に示すよう〖こ、 DVD400bは、コンテンツファイル 421、コンテンツ鍵情報 42 4及び署名ファイル 431を記憶している。
コンテンツファイル 421は、方式識別子 422「IDC」、暗号化コンテンツ 423「EncC (ConA, KconC)」を含んでいる。方式識別子 422は、暗号化コンテンツ 423の生成 に用いられた AES暗号方式を示す。暗号化コンテンツ 423は、コンテンツ鍵「Kcon C」を用いて、 AES暗号方式に従う暗号化アルゴリズムを、コンテンツ「ConA」に施し て生成されたものである。コンテンツ鍵「KconC」は、 128ビット長の暗号鍵である。
[0042] コンテンツ鍵情報 424は、メディアキーブロックと、メディア IDとを含んでおり、正当 な再生機器に、コンテンツ鍵「KconC」を付与するデータである。
署名ファイル 431は、サーバ ID432と方式識別子 433と署名データ 434とを含んで いる。サーノ ID432は、コンテンツ「ConA」の配布元であるコンテンツサーバ 700を 示す識別子である。方式識別子 433は、署名データ 434の生成に用いられた RS A 暗号方式を示す。署名データ 434「SignA,」は、コンテンツファイル 421とコンテンツ 鍵情報 424を結合した結合物をハッシュ関数に代入してダイジェストデータを生成し 、サーノ ID432の示すコンテンツサーバ 700の署名鍵「Ksig— Ba」を用いて、 RSA 暗号方式に従う暗号ィ匕アルゴリズムを、生成したダイジェストデータに施して生成され たものである。
1. 3 暗号方式管理サーバ 600
暗号方式管理サーバ 600は、 DES暗号方式が解読された場合には、 DES暗号方 式に代わる AES暗号方式の導入を、コンテンツ再生装置 100に指示し、解読されて いない RSA暗号方式により、導入に係る情報を暗号化して送信する。また、同時に、 送信した情報が、正当な暗号方式管理サーバ 600により送信されたことを示す署名 データを、 RS A暗号方式を用いて生成し、送信する。
[0043] また、逆に、 RSA暗号方式が解読された場合には、暗号方式管理サーバ 600は、 RSA暗号方式に代わる楕円曲線暗号方式の導入を、コンテンツ再生装置 100に指 示し、解読されていない DES暗号方式により、導入に係る情報を暗号化して送信す る。また、同時に、送信した情報が、正当な暗号方式管理サーバ 600により送信され たことを示す署名データを、 DES暗号方式を用いて生成し、送信する。
[0044] 暗号方式管理サーバ 600は、図 3に示すように、送受信部 601、署名生成部 603、 制御部 607、情報記憶部 610、入力部 613及び表示部 612から構成される。
暗号方式管理サーバ 600は、具体的には、マイクロプロセッサ、 RAM、 ROMを含 んで構成されるコンピュータシステムであって、前記 RAM、 ROMにはコンピュータプ ログラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って 動作することによって、暗号方式管理サーバ 600は、その機能の一部を達成する。
[0045] 以下に、暗号方式管理サーバ 600の各構成要素について説明する。
(1)情報記憶部 610
情報記憶部 610は、ハードディスクを含んで構成され、一例として、図 3に示すよう に、無効暗号方式一覧 621、送信用鍵テーブル 626、暗号回路ファイル 631、 641 ·
• ·、鍵回路ファイル 651、 661 · · '及び検証鍵ファイル 671 · · ·を記憶している。
[0046] (1 a)無効暗号方式一覧 621
無効暗号方式一覧 621は、図 4 (a)に示すように、複数の暗号方式情報 622、 623
• · ·から構成される。各暗号方式情報は、解読されている暗号方式と対応しており、 方式識別子と暗号回路ファイル名と鍵回路ファイル名と検証鍵ファイル名とを含んで いる。
[0047] 方式識別子は、解読された暗号方式を示す識別子である。暗号回路ファイル名は 、解読された暗号方式に代わる新たな暗号方式を導入するためのプログラムを含む ファイルの名称である。鍵回路ファイル名は、解読された暗号回路に代わる新たな暗 号方式に適したデバイス鍵を生成するためのプログラムを含むファイルの名称である 。検証鍵ファイル名は、前記新たな暗号方式を用いて生成される署名データを検証 するための検証鍵を含むファイルの名称である。暗号回路ファイル、鍵回路ファイル 及び検証鍵ファイルについては、後述する。
[0048] 例えば、暗号方式情報 622は、方式識別子「IDA」、暗号回路ファイル名「C」、鍵 回路ファイル名「KC」及び検証鍵ファイル名「VeriC」を含んでいる。方式識別子「ID A」は、 DES暗号方式を示している。暗号回路ファイル名「C」は、暗号回路ファイル 6 31の名称であり、鍵回路ファイル名「KC」は、鍵回路ファイル 651の名称であり、検 証鍵ファイル名 rVeriCjは、検証鍵ファイル 671の名称である。
[0049] (1 b)送信用鍵テーブル 626
送信用鍵テーブル 626は、図 4 (b)に示すように、複数の送信用鍵情報 627、 628 、 629から構成され、各送信用鍵情報は、方式識別子、暗号鍵、復号鍵、復号鍵情 報を含む。各送信用鍵情報は、何れかの暗号方式と対応している。
方式識別子は、対応する暗号方式を示しており、暗号鍵は、方式識別子の示す暗 号方式に従う暗号ィ匕演算に適したビット長の鍵である。復号鍵は、方式識別子の示 す暗号方式に従って、暗号鍵を用いて、生成された暗号文を復号するための鍵であ る。なお、方式識別子の示す暗号方式が、共通鍵暗号方式に属する場合、暗号鍵と 復号鍵とは同一である。復号鍵情報は、メディアキーブロックを含んで構成され、正 当なコンテンツ再生装置のみに、復号鍵を付与するための情報である。
[0050] (1 c)暗号回路ファイル 631
暗号回路ファイル 631、 641 · · ·は、鍵回路フアイノレ 651、 661 · · ·とそれぞれ対応 している。また、検証鍵ファイル 671 · · ·と、それぞれ対応している。
図 5 (a)は、暗号回路ファイル 631の詳細を示す。他の暗号回路ファイルの構成も 同様であるので、説明を省略する。
[0051] 暗号回路ファイル 631「C」は、方式識別子 632「IDC」、暗号回路プログラム 633「 EncC」及び復号回路プログラム 634を含み、鍵回路ファイル 651及び検証鍵フアイ ル 671と対応する。
方式識別子 632「IDC」は、 DES暗号方式及び RSA暗号方式とは異なる他の暗号 方式を示す識別子であって、ここでは、 AES暗号方式を示す。暗号回路プログラム 6 33及び復号回路プログラム 634は、ハードウェア記述言語をコンパイルして生成され た複数の機械語形式の命令から構成される。これらの機械語形式は、コンテンツ再 生装置 100を構成する可変回路 108内の構築機構 123 (後述する)により、実行され る形式である。ここで、ハードウェア記述言語には、一例として VHDL (VHSIC Har dware Description Language) 用い 。
[0052] 暗号回路プログラム 633「EncC」は、コンテンツ再生装置 100の備える可変回路 1 08内に、方式識別子 632の示す AES暗号方式に従う暗号ィ匕処理を行う暗号処理回 路の構成を含んでいる。
復号回路プログラム 634は、コンテンツ再生装置 100の備える可変回路 108内に、 方式識別子 632の示す AES暗号方式に従う復号処理を行う復号処理回路の構成を 含む。
[0053] (1 d)鍵回路ファイル 651
鍵回路ファイル 651「KC」は、図 5 (b)に示すように、方式識別子 652「IDC」及び 鍵生成回路プログラム 653「KgenC」を含んで!/、る。
方式識別子 652は、鍵回路ファイル 651と対応する暗号回路ファイル 631に含まれ る方式識別子 632と同一である。
[0054] 鍵生成回路プログラム 635は、ハードウェア記述言語をコンパイルして生成された 複数の機械語形式の命令から構成される。これらの機械語形式は、コンテンツ再生 装置の可変回路 108内の構築機構 123 (後述する)により、実行される形式である。 鍵生成回路プログラム 635「KgenC」は、コンテンツ再生装置 100の備える可変回 路 108内に、方式識別子 632の示す暗号方式に適した鍵長のデバイス鍵を生成す る鍵生成回路の構成を含んで 、る。
[0055] (1— e)検証鍵ファイル 671
検証鍵ファイル 671「VeriC」は、図 5 (c)に示すように、方式識別子 672「IDC」、検 証鍵情報 673及び 674を含む。
方式識別子 672「IDC」は、暗号回路ファイル 631及び鍵回路ファイル 651に含ま れる方式識別子と同様に AES暗号方式を示す。
[0056] 検証鍵情報 673は、サーノ ID「001A」と検証鍵「Kve— Ca」とを含む。サーバ ID「 001A」は、コンテンツサーバ 700を示す識別情報である。検証鍵「Kve CaJは、 A ES暗号方式に適した 128ビット長の鍵であって、コンテンツサーバ 700に固有の署 名鍵「Ksig— Ca」と対応する。なお、 AES暗号方式は、共通鍵暗号方式であるので 、署名鍵「Ksig— Ca」と検証鍵「Kve— Ca」は同一である。
[0057] 検証鍵情報 674は、サーノ ID「001B」と検証鍵「Kve— Cb」とを含む。サーバ ID「 001B」は、暗号方式管理サーバ 600を示す識別情報である。検証鍵「Kve— Cb」は 、 AES暗号方式に適した 128ビット長の鍵であって、コンテンツサーバ 700に固有の 署名鍵「Ksig_Cb」と対応する。
(2)送受信部 601
送受信部 601は、インターネット 20を介して接続された外部の機器と、制御部 607 との間で、各種の情報の送受信を行う。
(3)署名生成部 603
署名生成部 603は、図 6に示す署名鍵テーブル 691を記憶している。署名鍵テー ブル 691は、複数の署名鍵情報 692、 693、 694· · 'から構成される。
[0058] 各署名鍵情報は、何れかの暗号方式と対応しており、方式識別子と署名鍵と検証 鍵とを含む。方式識別子は、対応する暗号方式を示す。署名鍵は、方式識別子の示 す暗号方式に適した鍵長の鍵である。検証鍵は、方式識別子の示す暗号方式に適 した鍵長の鍵であって、署名鍵と対応する。署名鍵と検証鍵は、いずれも、暗号方式 管理サーバ 600に固有の鍵データである。なお、方式識別子の示す暗号方式が、共 通鍵暗号方式である場合、署名鍵と検証鍵とは同一である。
[0059] 一例として、署名鍵情報 693は、方式識別子「IDB」と署名鍵「Ksig— Bb」と検証鍵 「Kve— Bb」とを含む。方式識別子「IDB」は、 RSA暗号方式を示しており、署名鍵「 Ksig— Bb」は、 128ビット長の鍵である。検証鍵「Kve— Bb」は、 128ビット長の鍵で あって、署名鍵を用いて生成された暗号文を復号する鍵である。
[0060] 署名生成部 603は、制御部 607から、暗号回路ファイルと鍵回路ファイルと検証鍵 ファイルと復号鍵情報と方式識別子とを受け取り、署名生成を指示される。
署名生成を指示されると、署名生成部 603は、受け取った暗号回路ファイルと鍵回 路ファイルと検証鍵ファイルと復号鍵情報とを結合した結合物をハッシュ関数に代入 してダイジェストデータを生成する。 [0061] 次に、署名生成部 603は、記憶している署名鍵テーブル 691内で、受け取った方 式識別子を含む署名鍵情報を選択し、選択した署名鍵情報に含まれる署名鍵を読 み出す。読み出した署名鍵を用いて、生成したダイジェストデータに、受け取った方 式識別子の示す暗号方式による暗号ィ匕アルゴリズムを施して暗号ィ匕ダイジェストデー タを生成する。生成した暗号ィ匕ダイジェストデータを署名データとして制御部 607へ 出力する。
(4)制御部 607
コンテンツ再生装置 100の備える暗号方式が解読された場合、制御部 607は、入 力部 613を介して、解読された暗号方式を示す方式識別子と、解読された暗号方式 に代わる新たな暗号方式に関する情報の配布指示の入力を受け取る。解読された 暗号方式を示す方式識別子と、新たな暗号方式に係る情報の配布指示を受けると、 受け取った方式識別子を、一時的に記憶する。次に、受け取った方式識別子の示す 暗号方式が解読されたこと警告する警告通知を、送受信部 601を介して、コンテンツ 再生装置 100に送信する。
[0062] 次に、制御部 607は、コンテンツ再生装置 100から、暗号方式の導入の要求を示 す導入要求を受信する。また、操作者による、暗号回路ファイルなどの暗号ィ匕に用い る暗号方式を示す方式識別子、署名生成に用いる暗号方式を示す方式識別子の入 力を受け付ける。
暗号化用の方式識別子及び署名生成用の方式識別子の入力を受け付けると、制 御部 607は、一時的に記憶した方式識別子を含む暗号方式情報を、無効暗号方式 一覧 621から読み出し、読み出した暗号方式情報に含まれるファイル名と対応する、 暗号回路ファイルと鍵回路ファイルと検証鍵ファイルとを読み出す。
[0063] 読み出した暗号回路ファイルと鍵回路ファイルと検証鍵ファイルと復号鍵情報と、制 御部 607は、入力された署名生成用の方式識別子を署名生成部 603に出力し、署 名生成を指示する。署名生成部 603から、署名データを受け取ると、受け取った署名 データ、暗号方式管理サーバ 600自身を示すサーバ識別子「0001B」、入力された 署名生成用の方式識別子を含む署名ファイルを生成する。
[0064] 次に、制御部 607は、入力された暗号化用の方式識別子と対応する暗号鍵と復号 鍵情報とを、送信用鍵テーブル 626から読み出す。読み出した暗号鍵を用いて、入 力された暗号ィ匕用の方式識別子の示す暗号方式による暗号ィ匕アルゴリズムを、読み 出した暗号回路ファイルと鍵回路ファイルと検証鍵ファイルとに施して、暗号化暗号 回路ファイルと暗号ィ匕鍵回路ファイルと暗号ィ匕検証鍵ファイルとを生成する。
[0065] 次に、制御部 607は、送受信部 601を介して、コンテンツ再生装置 100へ、暗号ィ匕 暗号回路ファイル、暗号ィ匕鍵回路ファイル、暗号化検証鍵ファイル、復号鍵情報と署 名ファイル、暗号化暗号回路ファイルなどの生成に用いた暗号方式を示す方式識別 子を送信する。
図 7は、ここで制御部 607が、送信する情報群の一例を示している。これは、 DES 暗号方式が解読された場合に、送信する情報群である。暗号方式管理サーバ 600 の操作者は、この場合、まず、方式識別子「IDA」と暗号方式導入の指示を入力し、 続いて、暗号化用の暗号方式を示す方式識別子「IDB」、署名生成用の暗号方式を 示す方式識別子「IDB」を入力する。
[0066] 図 7に示すように、この場合、制御部 607は、暗号化暗号回路ファイル 681「EncB ( C, KencB)」、暗号化鍵回路ファイル 682「EncB (KC, KencB)」、暗号化検証鍵 ファイル 683「EncB (VeriC, KencB)」、方式識別子 684「IDB」、復号鍵情報 685「 KinfBj及び署名ファイル 686を送信する。
[0067] 暗号化暗号回路ファイル 681「EncB (C, KencB)」、暗号化鍵回路ファイル 682「 EncB (KC, KencB)」、喑号化検証鍵ファィル683 ¾1^:6 (^^1: , KencB)」は、 それぞれ、暗号回路ファイル 631「C」、鍵回路ファイル 651「KC」、検証鍵ファイル 6 71「VeriC」に、暗号鍵「KencB」を用いて、 RSA暗号方式に従う暗号化ァルゴリズ ムを施して生成されたものである。
[0068] 方式識別子 684は、操作者によって入力された暗号ィ匕用の方式識別子「IDB」であ つて、暗号ィ匕暗号回路ファイル 681等の生成に用いられた RSA暗号方式を示す。復 号鍵情報685「1¾1^8」は、暗号化暗号回路ファイル 681などに用いられた RSA暗 号方式と対応する送信用鍵情報 626から読み出されたものである。
署名ファイル 686は、方式識別子 687「IDB」、サーノ ID688「001B」及び署名デ ータ 689を含んでいる。方式識別子 687「IDB」は、操作者によって入力された方式 識別子「IDB」であって、署名データ 689の生成に用いられた RSA暗号方式を示す
[0069] 署名データ 689は、暗号回路ファイル 631「C」、鍵回路ファイル 651「KC」、検証 鍵ファイル 671「VeriC」及び復号鍵情報「KinfB」を結合した結合物をハッシュ関数 に代入して生成されたダイジェストデータに、暗号方式管理サーバ 600に固有の署 名鍵「Ksig— Bb」を用いて、 RS A暗号方式に従う暗号アルゴリズムを施して生成され たものである。
[0070] なお、ここでは、コンテンツ再生装置 100が 2つの暗号方式を備えており、その一方 が解読された場合を前提としているので、各ファイルの暗号ィ匕にも署名生成にも同一 の暗号方式を用いているが、コンテンツ再生装置 100が、多数の暗号方式を備えて いる場合は、暗号化と署名生成に、異なる暗号方式を用いてもよい。
(5)入力部 613及び表示部 612
入力部 613は、各種のキーを備え、操作者による各種の指示及び情報の入力を受 け付け、受け付けた情報及び指示を制御部 607へ出力する。
[0071] 表示部 612は、インジケータランプ、ディスプレイを備え、制御部 607の制御に従つ て、各種の画面の表示、ランプの点灯などを行う。
1. 4 コンテンツ再生装置 100
コンテンツ再生装置 100は、記憶している複数の回路形成情報に従って、書き換え 可能な論理回路を書き換えて実行回路を構築する回路構築装置である。
[0072] コンテンツ再生装置 100は、製造時にお!、て、 DES暗号方式と RSA暗号方式とを 備えており、 DES暗号方式により暗号ィ匕されたコンテンツ及び RSA暗号方式を用い て生成された署名データを取得し、取得した署名データを検証する。検証が成功す れば、取得した暗号ィ匕コンテンツを復号して再生する。また、 DES暗号方式によって 暗号ィ匕されたコンテンツを、メモリカード 500に書き込む。
[0073] DES暗号方式が解読されると、コンテンツ再生装置 100は、 DES暗号方式に代わ る AES暗号方式を導入する。 AES暗号方式導入後に、 DES暗号方式によって暗号 化されたコンテンツを取得した場合、暗号ィ匕コンテンツを復号して再生することはでき る力 メモリカード 500に出力することはできない。 逆に、 RSA暗号方式が解読されると、コンテンツ再生装置 100は、 RSA暗号方式 に代わる楕円曲線暗号方式を導入する。楕円曲線暗号方式を導入した後に、 RSA 暗号方式を用いて生成された署名データと共に暗号ィ匕コンテンツを取得した場合、 この暗号ィ匕コンテンツの再生をすることはできる力 メモリカード 500に出力すること はできない。
[0074] 図 8は、コンテンツ再生装置 100の機能的構成を示すブロック図である。図 8に示す ように、コンテンツ再生装置 100は、コンテンツ取得部 101、マスタ個別鍵格納部 10 2、デバイス鍵格納部 103、入出力部 104、プログラム取得部 106、主記憶部 107、 可変回路 108、再生処理部 109、正当性チェック部 112、選択部 113、選択部 114、 制御部 116、暗号回路記憶部 117、組合せチェック部 118、鍵回路記憶部 119及び 入力部 121から構成される。
[0075] コンテンツ再生装置 100は、具体的には、マイクロプロセッサ、 RAM、 ROMを含ん で構成されるコンピュータシステムであって、前記 RAM、 ROMにはコンピュータプロ グラムが記憶されている。マイクロプロセッサが前記コンピュータプログラムに従って 動作することによって、コンテンツ再生装置 100は、その機能の一部を達成する。 以下に、各構成要素について説明する。
( 1 )マスタ個別鍵格納部 102
マスタ個別鍵格納部 102は、 ROM力も構成される。マスタ個別鍵格納部 102は、 耐タンパ一性を有し、外部機器によるアクセスを受け付けな!/ヽ。
[0076] マスタ個別鍵格納部 102は、図 9 (a)に示すように、マスタ個別鍵 126及び共通秘 密鍵 127を記憶している。マスタ個別鍵 126及び共通秘密鍵 127は、当該コンテン ッ再生装置 100の製造時に記録されたものである。
マスタ個別鍵 126は、 1024ビット長のデータであって、コンテンツ再生装置 100に 固有である。共通秘密鍵 127は、 1024ビット長のデータであって、コンテンツサーバ 700により配布されるコンテンツを再生することができる正当な再生機器に共通のデ ータである。
(2)デバイス鍵格納部 103
デバイス鍵格納部 103は、フラッシュメモリなどの書込及び消去可能な記録素子か ら構成され、一例として、図 9 (b)に示すようにデバイス鍵 128「DevA」を記憶してい る。
[0077] デバイス鍵 128「DevA」は、コンテンツ再生装置 100に固有の鍵データである。デ バイス鍵 128「DevA」は、 DES暗号方式と対応する 56ビット長の鍵データであって、 鍵生成回路プログラム 143に従って、可変回路 108内に構築された鍵生成回路によ つて生成されたものである。
(3)主記憶部 107
主記憶部 107は、制御部 116、正当性チェック部 112及び可変回路 108により、ァ クセスされる。
[0078] 図 10は、主記憶部 107の記憶している情報の一例を示している。図 10に示すよう に、主記憶部 107は、可変回路情報 161及び利用可能暗号方式表 166を記憶して いる。
可変回路情報 161は、可変回路 108の現在の状態を示す情報であって、動作可 能方式識別子 162と動作フラグ 163と鍵識別子 164とを含んでいる。
[0079] 動作可能方式識別子 162は、現在、可変回路 108内に構築されている回路と対応 する暗号方式を示す方式識別子である。動作フラグ 163は、可変回路 108内に構築 されている回路が、暗号処理回路、復号処理回路及び鍵生成回路の何れであるか を示すフラグであって、「0」は、暗号処理回路、「1」は、復号処理回路、「2」は、鍵生 成回路を示す。鍵識別子 164は、デバイス鍵格納部 103が現在記憶しているデバィ ス鍵と対応する暗号方式を示す。
[0080] 一例として、図 10では、可変回路情報 161は、動作可能方式識別子 162「IDA」、 動作フラグ 163「1」及び鍵識別子 164「IDA」を含んでいる。これは、可変回路 108 上に、方式識別子「IDA」の示す DES暗号方式による暗号ィ匕処理を行う暗号処理回 路が構築されていることを示しており、デバイス鍵格納部 103は、 DES暗号方式に適 した 56ビット長のデバイス鍵「DevA」を格納していることを示す。以下、具体的な説 明は省略する力 制御部 116及び正当性チェック部 112は、選択部 113及び 114に 対して、可変回路 108にプログラムの出力を指示するたびに、動作可能方式識別子 162及び動作フラグ 163が、現在の可変回路 108の状態を示すように、動作可能方 式識別子 162及び動作フラグ 163を書き換える。また、制御部 116は、可変回路 10 8内に構築された鍵生成回路に、デバイス鍵の生成を指示するたびに、鍵識別子 16 4が鍵生成回路によって生成されるデバイス鍵と対応するように、鍵識別子 164を書 き換える。
[0081] 利用可能暗号方式表 166は、コンテンツ再生装置 100の備える暗号方式を示す表 であって、図 11 (a)にその詳細を示す。図 11 (a)に示すように、利用可能暗号方式 表 166は、複数の利用可能情報 171、 172から構成される。各利用可能情報は、方 式識別子と利用フラグとを含む。
方式識別子は、コンテンツ再生装置 100が備える暗号方式を示す。利用フラグは、 方式識別子の示す暗号方式に従う暗号化及び復号の処理が可能力否かを示してい る。利用フラグ「1」は、暗号ィ匕及び復号ィ匕の処理を行うことができることを示している。 利用フラグ「0」は、復号の処理を行うことはできるが暗号ィ匕の処理を行うことはできな いことを示す。
[0082] 図 11 (a)は、コンテンツ再生装置 100の製造時における、利用可能暗号方式表 16 6である。
利用可能情報 171は、方式識別子「IDA」及び利用フラグ「1」を含んでおり、これ は、コンテンツ再生装置 100力 方式識別子「IDA」の示す DES暗号方式による暗 号化処理及び復号処理を行うことができることを示している。
[0083] 利用可能情報 172は、方式識別子「IDB」、利用フラグ「1」を含んでおり、これは、 コンテンッ再生装置 100が、方式識別子「IDB」の示す RS A暗号方式による暗号ィ匕 処理及び復号処理を行うことができることを示して ヽる。
図 11 (b)は、 DES暗号方式が解読され、 DES暗号方式に代わる AES暗号方式が 導入された後の利用可能暗号方式表 166bを示す。利用可能暗号方式表 166bは、 利用可能暗号方式表 166の利用可能情報 171に代えて利用可能情報 171bを含み 、さらに、新たに導入された AES暗号方式と対応する利用可能情報 173を含んでい る。
[0084] 利用可能情報 171bは、方式識別子「IDA」及び利用フラグ「0」を含んでおり、これ は、コンテンツ再生装置 100が、方式識別子「IDA」の示す DES暗号方式による復 号処理を行うことができる力 暗号ィ匕処理はできな 、ことを示して 、る。
利用可能情報 173は、方式識別子「IDC」及び利用フラグ「1」を含んでおり、これは 、コンテンツ再生装置 100力 方式識別子「IDC」の示す AES暗号方式による暗号 化処理及び復号処理を行うことができることを示している。
[0085] また、主記憶部 107は、制御部 116、正当性チェック部 112及び可変回路 108によ る各種の処理中に、各種の情報を一時的に記憶する。
(4)暗号回路記憶部 117
暗号回路記憶部 117は、フラッシュメモリなど、書き込み及び消去可能な不揮発性 メモリから構成される。図 12は、暗号回路記憶部 117の記憶している情報の一例を 示している。図 12 (a)は、コンテンツ再生装置 100の製造当初の暗号回路記憶部 11 7を示しており、図 12 (b)は、 DES暗号方式が解読され、 DES暗号方式に代わる AE S暗号方式を導入した後の暗号回路記憶部 117を示して 、る。図 12 (a)と (b)とで、 同一の情報には同一の参照符号を付している。
[0086] 図 12 (a)に示すように、暗号回路記憶部 117は、暗号回路ファイル 131「A」及び暗 号回路ファイル 136「B」を記憶している。各暗号ファイルは、それぞれ、 DES暗号方 式及び RSA暗号方式と対応している。また、各暗号回路ファイルは、鍵回路記憶部 119に記憶されて 、る鍵回路ファイルと対応する。
各暗号回路ファイルは、図 5を用いて説明した暗号回路ファイル 631「C」と同様に、 対応する暗号方式を示す方式識別子、対応する暗号方式による暗号化の処理を行 う暗号処理回路構成を示す暗号回路プログラム、及び、対応する暗号方式による復 号処理を行う復号処理回路の構成を示す復号回路プログラムを含んでいる。
[0087] 具体的には、暗号回路ファイル 131「A」は、 DES暗号方式を示す方式識別子 132 「IDA」、 DES暗号方式に従う暗号処理回路の構成を示す暗号回路プログラム 133「 EncAj、 DES暗号方式に従う復号処理回路の構成を示す復号回路プログラム 134 「DecA」を含む。
暗号回路ファイル 136「B」は、 RSA暗号方式を示す方式識別子 137「IDB」と RS A暗号方式に従う暗号処理回路の構成を示す暗号回路プログラム 138「EncB」、 RS A暗号方式に従う復号処理回路の構成を示す復号回路プログラム 139「DecB」を含 む。
[0088] 図 12 (b)に示すように、 AES暗号方式を導入した後の暗号回路記憶部 117は、暗 号回路ファイル 131b、 136、 181を記憶している。
暗号回路ファイル 131b「A」は、暗号回路ファイル 131「A」から、暗号回路プログラ ム 133「EncA」を削除したものである。
暗号回路ファイル 181「C」は、 AES暗号方式と対応しており、暗号方式管理サー ノ 600の記憶している暗号回路ファイル 631「C」と同一である。
(5)鍵回路記憶部 119
鍵回路記憶部 119は、フラッシュメモリなど、書き込み及び消去可能な不揮発性メ モリから構成される。図 13は、鍵回路記憶部 119の記憶している情報の一例を示し ている。図 13 (a)は、コンテンツ再生装置 100の製造当初の鍵回路記憶部 119を示 しており、図 13 (b)は、 DES暗号方式が解読され、 DES暗号方式に代わる AES喑 号方式を導入した後の鍵回路記憶部 119を示している。図 13 (a)と (b)とで、同一の 情報には同一の参照符号を付している。
[0089] 図 13 (a)に示すように、鍵回路記憶部 119は、鍵回路ファイル 141「KA」及び鍵回 路ファイル 146「KB」を記憶している。各鍵回路ファイルは、それぞれ、 DES暗号方 式及び RSA暗号方式と対応している。各鍵回路ファイルは、対応する暗号方式を示 す方式識別子と、対応する暗号方式に適したデバイス鍵を生成する鍵生成回路の構 成を示す鍵生成回路プログラムを含む。
[0090] 具体的には、鍵回路ファイル 141「KA」は、 DES暗号方式を示す方式識別子 142
「IDA」と、 DES暗号方式に適する 56ビット長のデバイス鍵を生成する鍵生成回路の 構成を示す鍵生成回路プログラム 143「KgenA」とを含む。
鍵回路ファイル 146「KB」は、 RSA暗号方式を示す方式識別子 147「IDB」と、 RS
A暗号方式に適する 128ビット長のデバイス鍵を生成する鍵生成回路の構成を示す 鍵生成回路プログラム 148「KgenB」とを含む。
[0091] 図 13 (b)に示すように、 AES暗号方式を導入した後、鍵回路記憶部 119は、鍵回 路ファイル 141、 146及び 186を記憶している。鍵回路ファイル 186「KC」は、 AES 暗号方式と対応しており、暗号方式管理サーバ 600の記憶している鍵回路ファイル 6 51と同一である。
(6)選択部 113及び 114
選択部 113は、制御部 116又は正当性チェック部 112の指示に従って、暗号回路 記憶部 117に記憶されている暗号回路ファイルから、方式識別子と暗号回路プログ ラム又は方式識別子と復号回路プログラムとを読み出し一時的に記憶する。
[0092] 次に、制御部 116又は正当性チェック部 112から、読み出したプログラムの出力を 指示される。指示を受けると、読み出した暗号回路プログラム又は復号回路プロダラ ムを可変回路 108内の構築機構 123及びコンフイダ ROM124 (詳細後述)に出力す る。
選択部 114は、制御部 116の指示に従って、鍵回路記憶部 119に記憶されている 暗号回路ファイルから、方式識別子と鍵生成回路プログラムとを読み出し、一時的に feす。。
[0093] 次に、選択部 114は、制御部 116から、読み出したプログラムの出力を指示される。
出力を指示されると、読み出した鍵生成回路プログラムを、可変回路 108内の構築 機構 123及びコンフイダ ROM124を出力する。
(7)組合せチヱック部 118
組合せチェック部 118は、制御部 116から、選択部 113の読み出した暗号回路プロ グラム又は復号回路プログラムと、選択部 114の読み出した鍵生成回路プログラムと が対応して!/、ることの確認を指示する対応確認指示を受ける。対応確認指示を受け ると、組合せチェック部 118は、選択部 113の保持している方式識別子と、選択部 11 4の保持している方式識別子とを比較する。両者が一致する場合は、選択部 113の 読み出したプログラムと選択部 114の読み出したプログラムとが対応していることを示 す OK信号を、制御部 116へ出力する。
[0094] 両者が一致しない場合、選択部 113の読み出したプログラムと選択部 114の読み 出したプログラムとが対応して 、な 、ことを示す NG信号を制御部 116へ出力する。
(8)可変回路 108
可変回路 108は、耐タンパ一性を有するハードウェアであって、外部から可変回路 内 108内のデータ等を読み取ろうとすると、前記データが消失する。なお、耐タンパ 一性を実現する方法は任意であって、この方法に限定されるものではな 、。
[0095] 可変回路 108は、 FPGA122とコンフィグ ROM124と構築機構 123とから構成され る。コンフィグ ROM124は、 EEPROMから構成されており、暗号回路記憶部 117及 び鍵回路記憶部 119に記憶されているプログラムのうちの何れかひとつを記憶して いる。
FPGA122は、複数の CLB (Configuration Logic Block)とこれらの間を結線 する結線リソース力 構成される。
[0096] 構築機構 123は、コンテンツ再生装置 100に電源が ONになると、コンフイダ ROM 124に記憶されているプログラムに従って、 FPGA122をコンフィギュレーションする 。また、選択部 113及び 114から出力される鍵回路生成プログラム、暗号回路プログ ラム及び復号回路プログラムに従って、 FPGA122上に、鍵生成回路、暗号処理回 路及び復号処理回路を構築する。具体的には、 FPGA122を構成する複数の CLB (Configuration Logic Block)上に任意の論理関数回路を生成し、各 CLB間に 存在する結線リソースによって、論理回路間を結線することにより、上述した鍵生成回 路、暗号処理回路又は復号処理回路を構築する。
[0097] 構築された鍵生成回路、暗号処理回路又は復号処理回路は、制御部 116及び正 当性チェック部 112の指示に従って、暗号化、復号、鍵生成を行う。以下に、可変回 路による暗号化、復号、鍵生成について説明する。
(8— a)鍵生成
図 14は、可変回路 108内に構築された鍵生成回路 151を機能的に示している。鍵 生成回路 151は、制御部 116からデバイス鍵の生成を指示される。デバイス鍵の生 成を指示されると、マスタ個別鍵格納部 102からマスタ個別鍵 126と共通秘密鍵 127 とを読み出し、読み出したマスタ個別鍵 126と共通秘密鍵 127とを基にデバイス鍵 1 28を生成する。
[0098] 鍵生成回路 151が、鍵生成回路プログラム「KgenA」に従って構築された場合、鍵 生成回路 151は、 DES暗号方式に適した 56ビット長のデバイス鍵「DevA」を生成す る。
また、鍵生成回路 151が、鍵生成回路プログラム「KgenB」に従って構築された場 合、鍵生成回路 151は、 RSA暗号方式に適した 128ビット長のデバイス鍵「DevB」 を生成する。
[0099] また、鍵生成回路 151が、鍵生成回路プログラム「KgenC」に従って構築された場 合、鍵生成回路 151は、 AES暗号方式に適した 128ビット長のデバイス鍵「DevC」 を生成する。
図 15は、鍵生成回路プログラム「KgenA」に従って構築された鍵生成回路 151に よるデバイス鍵の生成処理の一例を示すフローチャートである。以下に、鍵生成回路 151による鍵生成処理につ!、て、図 15を用いて説明する。
[0100] 制御部 116から、デバイス鍵の生成を指示されると、鍵生成回路 151は、マスタ個 別鍵格納部 102から、マスタ個別鍵 126を読み出す (ステップ S101)。読み出したマ スタ個別鍵の先頭から 151ビット目〜156ビット目までを抽出する(ステップ S102)。 抽出したビット列を第 1抽出部分と呼ぶ。
次に、鍵生成回路 151は、マスタ個別鍵格納部 102から、共通秘密鍵 127を読み 出す (ステップ S103)。共通秘密鍵 127の末尾の 56ビット(以下第 2抽出部分と呼ぶ )を抽出し (ステップ S 106)、第 2抽出部分を暗号鍵として、第 1抽出部分に DES暗 号方式による暗号ィ匕アルゴリズムを施して暗号文を生成する (ステップ S107)。生成 した暗号文をデバイス鍵「DevA」として、デバイス鍵格納部 103に書き込む (ステップ S108)。
[0101] 以上、説明した鍵生成方法は、一例であって、 DES暗号方式に適した 56ビット長 のデバイス鍵が生成できる方法であればょ 、。
また、他の鍵生成回路プログラムによって構築された鍵生成回路が、デバイス鍵を 生成する方法も任意であって、対応する暗号方式に適した鍵長のデバイス鍵が生成 できる方法であればよい。ただし、第三者に鍵生成により、鍵生成の手順を推測され にくい方法の方が望ましい。
[0102] (8— b)喑号ィ匕
図 16は、可変回路 108上に構築される暗号処理回路 152の機能的構成を示して いる。暗号処理回路 152は、鍵処理部 153と暗号ィ匕部 154とを含む。
鍵処理部 153は、制御部 116からカード鍵情報を受け取る。カード鍵情報は、当該 コンテンツ再生装置 100に装着されて 、るメモリカード (後述する)の保持して!/、るも のであって、メディアキーブロック、カード IDを含む。
[0103] 鍵処理部 153は、カード鍵情報を受け取ると、デバイス鍵格納部 103から、デバイ ス鍵 128を読み出し、読み出したデバイス鍵 128を基に、カード情報に含まれるメデ ィァキーブロックからメモリカードに固有のカード固有鍵を生成する。生成したカード 固有鍵を、暗号ィ匕部 154へ出力する。メモリカードが備えている暗号方式が、 DES 暗号方式などの共通鍵暗号方式であれば、ここで生成されるカード固有鍵は、メモリ カード自身の記憶しているカード固有鍵と同一であるし、公開鍵暗号方式の場合は、 メモリカード自身の記憶して 、るカード固有鍵と対応する鍵である。
[0104] 暗号ィ匕部 154は、鍵処理部 153からカード暗号鍵を受け取る。また、制御部 116か らコンテンツ鍵を受け取り、暗号化を指示される。
コンテンツ鍵の暗号ィ匕を指示されると、暗号ィ匕部 154は、受け取ったカード固有鍵 を用いて、コンテンツ鍵を暗号化して暗号化コンテンツを生成し、生成した暗号化コ ンテンッ鍵を入出力部 104へ出力する。
[0105] 暗号ィ匕回路 152が、暗号回路プログラム「EncA」に従って構築された場合、鍵処 理部 153は、 56ビット長のカード固有鍵を生成し、暗号ィ匕部 154は、 DES暗号方式 に従う暗号ィ匕アルゴリズムを施して暗号ィ匕コンテンツ鍵を生成する。
暗号処理回路 152が、暗号回路プログラム「EncB」に従って構築された場合、鍵 処理部 153は、 128ビット長のカード固有鍵を生成し、暗号ィ匕部 154は、 RSA暗号 方式に従う暗号ィ匕アルゴリズムを施して暗号ィ匕コンテンツ鍵を生成する。
[0106] 暗号処理回路 152が、暗号回路プログラム「EncC」に従って構築された場合、鍵 処理部 153は、 128ビット長のカード固有鍵を生成し、暗号ィ匕部 154は、 AES暗号 方式による暗号ィ匕アルゴリズムを施して、暗号ィ匕コンテンツ鍵を生成する。
(8— c)復号
図 17は、可変回路 108内に構築された復号処理回路 156を機能的に示している。 復号処理回路 156は、鍵処理部 157と復号部 158とを含む。
[0107] 鍵処理部 157は、制御部 116からコンテンツ鍵情報とコンテンツ鍵の抽出の指示を 受け取る。また、復号鍵情報と復号鍵の抽出の指示とを受け取る。 コンテンツ鍵若しくは復号鍵の抽出の指示を受けると、鍵処理部 157は、デバイス 鍵格納部 103からデバイス鍵を読み出し、読み出したデバイス鍵を基に、コンテンツ 鍵情報又は復号鍵情報から、コンテンツ鍵又は復号鍵を抽出する。抽出したコンテ ンッ鍵又は復号鍵を復号部 158及び主記憶部 107へ出力する。
[0108] 復号部 158は、制御部 116又は正当性チェック部から暗号文と暗号文の復号指示 とを受け取り、受け取った暗号文に復号アルゴリズムを施して復号文を生成し、生成 した復号文を出力する。
具体的に復号部 158が制御部 116から受け取る暗号文は、暗号化コンテンツ、暗 号化暗号回路ファイル、暗号ィ匕鍵回路ファイル及び暗号ィ匕検証鍵ファイルである。
[0109] 暗号ィ匕コンテンツを受け取った場合、復号部 158は、鍵処理部 157からコンテンツ 鍵を取得し、取得したコンテンツ鍵を用いて、 B音号ィ匕コンテンツを復号し、コンテンツ を生成する。制御部 116の指示により、生成したコンテンツを再生処理部 109へ出力 する。
暗号ィ匕暗号回路ファイル、暗号ィ匕鍵回路ファイル及び暗号ィ匕検証鍵ファイルを受 け取った場合(図 17中では、これら 3つのファイルを総称して暗号ィ匕ファイルと記載し ている)、復号部 158は、鍵処理部 157から復号鍵を取得し、取得した復号鍵を用い て、暗号ィ匕暗号回路ファイル、暗号ィ匕鍵回路ファイル及び暗号ィ匕検証鍵ファイルを 復号して暗号回路ファイル、鍵回路ファイル及び検証鍵ファイルを生成し、生成した 暗号回路ファイル、鍵回路ファイル及び検証鍵ファイル(図 17中では、これら 3つを 総称してファイルと記載している)を主記憶部 107に書き込む。
[0110] また、具体的に、復号部 158が正当性チェック部 112から受け取る暗号文は、 DV D400a又は 400bから読み出された署名データ、若しくは、暗号ィ匕プログラムと共に 暗号方式管理サーバ 600から受信した署名データである。この場合、復号部 158は 、正当性チェック部 112から、署名データと共に検証鍵を取得する。署名データと検 証鍵とを受け取ると、取得した検証鍵を用いて、署名データに復号アルゴリズムを施 して、復号ダイジェストデータを生成する。生成した復号ダイジェストデータを主記憶 部 107へ出力する。
[0111] 復号部 158が復号回路プログラム「DecA」に従って構築された場合、復号部 158 は、署名データに、 DES暗号方式による復号アルゴリズムを施して復号ダイジェスト データを生成する。
また、復号部 158が復号回路プログラム「DecB」に従って構築された場合、復号部 158は、署名データに、 RSA暗号方式による復号アルゴリズムを施して復号ダイジェ ストデータを生成する。
[0112] また、復号部 158が復号回路プログラム「DecC」に従って構築された場合、復号部 158は、署名データに、 AES暗号方式による復号アルゴリズムを施して復号ダイジェ ストデータを生成する。
(8)コンテンツ取得部 101
コンテンツ取得部 101は、 DVDを装着可能であって、制御部 116の制御に従って 、 DVDに記憶されている情報を読み出し、読み出した情報を可変回路 108又は主 記憶部 107に出力する。
[0113] また、コンテンツ取得部 101は、 DVDに記録されている情報と同様の情報を、イン ターネット 20に接続されたコンテンツサーバ 700から、受信することもできる。
(9)プログラム取得部 106
プログラム取得部 106は、制御部 116の制御に従って、インターネット 20を介して 接続された暗号方式管理サーバ 600との間で、情報及び指示の送受信を行う。
(10)正当性チェック部 112
正当性チェック部 112は、図 18に示すチェック情報表 201を保持している。チェック 情報表 201は、複数のチェック情報カゝら構成され、各チェック情報は、コンテンツ再生 装置 100の備える暗号方式と対応しており、方式識別子、サーバ 、検証鍵を含む
[0114] 検証鍵は、方式識別子の示す暗号方式に適したビット長の鍵であって、サーバ ID の示す機器に固有の署名鍵と対応している。例えば、チェック情報 203は、方式識別 子「IDB」、サーノ ID「001B」及び検証鍵「Kve— Bb」を含んでいる。検証鍵「Kve— BbJは、方式識別子「IDB」の示す RSA暗号方式に対応する 128ビット長の鍵であつ て、サーノ ID「001B」の示す暗号方式管理サーノ 600に固有の署名鍵「Ksig— Bb 」と対応している。 [0115] 正当性チェック部 112は、制御部 116から、 DVD400a又は 400b力も読み出され たコンテンツファイルとコンテンツ鍵情報と署名ファイルとを受け取り署名検証を指示 される。
また、正当性チェック部 112は、暗号方式の導入 (詳細は後述する)の途中におい て、制御部 116から暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「 VeriC」、復号鍵情報「KinfB」及び一例として図 7に示す構成の署名ファイルを受け 取り、署名検証を指示される。
[0116] ( 10— a)コンテンッフアイノレの正当 '性チェック
コンテンツファイルとコンテンツ鍵情報と署名ファイルとを受け取り署名検証を指示 されると、正当性チェック部 112は、受け取った署名ファイルに含まれる方式識別子 を抽出する。
次に、正当性チェック部 112は、チェック情報表 201において、抽出した方式識別 子と同一の方式識別子を含むチェック情報を検索する。該当するチェック情報が検 出できなかった場合、署名検証失敗を示す検証失敗通知を制御部 116へ出力する
[0117] 該当するチェック情報を検出すると、正当性チェック部 112は、次に、選択部 113に 抽出した方式識別子を出力して復号回路プログラムの読み出し及び出力を指示する 復号処理回路 156が構築されると、正当性チェック部 112は、検出したチェック情 報に含まれる検証鍵を読み出し、署名ファイルに含まれる署名データと読み出した検 証鍵を可変回路 108に構築された復号処理回路 156内の復号部 158へ出力し、復 号を指示する。
[0118] 続いて、復号部 158により復号ダイジェストデータが生成されると、正当性チェック 部 112は、制御部 116から受け取ったコンテンツファイルとコンテンツ鍵情報を結合 した結合物を、ノ、ッシュ関数に代入してダイジェストデータを生成する。生成したダイ ジェストデータと、復号ダイジェストデータとを比較し、両者が一致すれば、署名検証 が成功であることを示す検証成功通知を制御部 116へ出力する。
[0119] 両者が一致しない場合、正当性チェック部 112は、署名検証が失敗であることを示 す検証失敗通知を、制御部 116へ出力する。
(10— b)暗号方式導入用のファイルの正当性チェック
暗号回路ファイル、鍵回路ファイル、検証鍵ファイル、復号鍵情報及び署名フアイ ルを受け取った場合も、正当性チェック部 112は、(10— a)の場合と同様の手順で、 受け取った書名ファイルに含まれる署名データの検証を行う。この場合は、暗号回路 ファイル、鍵回路ファイル、検証鍵ファイル、復号鍵情報を結合した結合物をハッシュ 関数に代入して、ダイジェストデータを生成する。
[0120] 署名検証が成功であった場合、正当性チェック部 112は、さらに、制御部 116から 暗号回路ファイル、鍵回路ファイルの書き込みを指示される。書き込みの指示を受け ると、正当性チェック部 112は、暗号回路ファイル、鍵回路ファイルをそれぞれ、暗号 回路記憶部 117及び鍵回路記憶部 119へ書き込む。
続いて、正当性チェック部 112は、制御部 116からチェック情報表 201の更新を指 示される。チェック情報表 201の更新を指示されると、正当性チェック部 112は、検証 鍵ファイルを基に、新たなチェック情報を生成し、生成したチェック情報を、チェック情 報表 201に追加する。
(11)制御部 116
図 8において、具体的な配線は、省略している力 制御部 116は、コンテンツ再生 装置 100を構成する各構成要素と接続されており、それぞれの動作を制御する。
[0121] 制御部 116は、プログラム取得部 106を介して、暗号方式管理サーバ 600から、暗 号方式が解読されたことを通知する警告通知を受信すると、解読された暗号方式に 代わる新たな暗号方式の導入を行う。
また、制御部 116は、コンテンツ取得部 101を介して、 DVD400a又は 400bの装 着を検出する。 DVD400a又は 400bの装着を検出すると、装着された DVDに記録 されている暗号ィ匕コンテンツを再生可能力否かの検証を行う。
[0122] また、制御部 116は、入力部 121から、利用者による各種の操作を示す操作指示 情報を受け取り、受け取った操作指示情報に応じて、コンテンツの再生、コンテンツ のメモリカードへのコピーを行う。
以下に、上記の暗号方式の導入、再生可能か否かの検証、コンテンツの再生及び コンテンツのメモリカードへのコピーについて説明する。
[0123] 以下の説明では、 DVD400aが装着された場合について記載する力 DVD400b が装着された場合も同様の処理を行う。
(暗号方式の導入)
暗号方式管理サーバ 600から受信する警告通知には、解読された暗号方式を示 す方式識別子が含まれている。ここで、 DES暗号方式を示す方式識別子「IDA」が 含まれている場合を例に説明するが、他の方式識別子が含まれている場合も、同様 の処理を行う。
[0124] 制御部 116は、利用可能暗号方式表 166において、方式識別子「IDA」を含む利 用可能情報 171を検出する。利用可能情報に含まれる利用フラグを読み出し、読み 出した利用フラグが「0」であれば、既に、 DES暗号方式に代替する暗号方式の導入 が終了しているので、以降の処理を中止する。
読み出した利用フラグが「1」の場合、制御部 116は、プログラム取得部 106を介し て、暗号方式の導入を要求する導入要求を、暗号方式管理サーバ 600へ送信する。
[0125] 次に、制御部 116は、プログラム取得部 106を介して、図 7に示す暗号ィ匕暗号回路 ファイル 681、暗号ィ匕鍵回路ファイル 682暗号ィ匕検証鍵ファイル 683、方式識別子 6 84、復号鍵情報 685及び署名ファイル 686を受信する。これらを受信すると、選択部 113に方式識別子 684の示す RSA暗号方式に対応する復号回路プログラムの読み 出しを指示し、方式識別子 684の示す RSA暗号方式に対応する鍵生成回路プログ ラムの読み出しを指示し、組合せチェック部 118に双方の読み出したプログラムの対 応確認指示を出力する。
[0126] 組合せチェック部 118から OK信号を受け取ると、制御部 116は、選択部 114に読 み出した鍵生成回路プログラムの出力を指示する。次に、可変回路 108内に構築さ れた鍵生成回路 151にデバイス鍵の生成を指示する。
鍵生成回路 151によりデバイス鍵「DevB」が生成されると、制御部 116は、次に、 選択部 113に読み出した復号回路プログラムの出力を指示する。
[0127] なお、主記憶部 107に記憶されている可変回路情報 161が、現在、デバイス鍵格 納部 103に記憶されているデバイス鍵力 SA暗号方式と対応しており、現在、可変 回路 108内に、 RSA暗号方式に従う復号処理回路が構築されていることを示してい れば、上記のプログラムの読み出しの指示、デバイス鍵の生成及び、復号処理回路 の構築は省略する。
[0128] 次に、制御部 116は、復号処理回路 156内の鍵処理部 157へ、復号鍵情報 685を 出力する。また、復号部 158へ暗号化暗号回路ファイル 681「EncB (C, KencB)」、 暗号化鍵回路ファイル 682「EncB (KC, KencB)」、暗号化検証鍵ファイル 683「En cB (VeriC, KencB)」を出力し復号を指示する。
復号が終了し、主記憶部 107へ、暗号回路ファイル「C」、鍵回路ファイル「KC」、検 証鍵ファイル「VeriC」が書き込まれると、制御部 116は、暗号回路ファイル「C」、鍵 回路ファイル「KC」、検証鍵ファイル rVeriCj受信した復号鍵情報 685及び署名ファ ィルを正当性チェック部 112へ出力し署名検証を指示する。
[0129] 署名検証が成功であれば、制御部 116は、正当性チェック部 112へ、暗号回路ファ ィル「C」、鍵回路ファイル「KC」の書き込みを指示する。署名検証が失敗であれば、 プログラム取得部 106を介して、再度、導入要求を暗号方式管理サーバ 600へ送信 する。
次に、制御部 116は、正当性チェック部 112へ、チェック情報表の 201の更新を指 示する。次に、暗号回路ファイル「C」に含まれる方式識別子「IDC」と利用フラグ「1」 とを含む利用可能情報を生成し、生成した利用可能情報を利用可能暗号方式表 16 6に追カ卩する。
[0130] 次に、制御部 116は、暗号回路記憶部 117において、方式識別子「IDA」を含む暗 号回路ファイル 131を検出し、検出した暗号回路ファイル 131から暗号回路プロダラ ム 133を削除する。続いて、制御部 116は、主記憶部 107の記憶している利用可能 暗号方式表 166において、方式識別子「IDA」を含む利用可能情報 171を選択し、 選択した利用可能情報 171に含まれる利用フラグを「0」に書き換える。
[0131] (再生可能か否かの検証)
コンテンツ取得部 101を介して、 DVD400aの装着を検出すると、制御部 116は、 コンテンツ取得部 101を介して、装着されている DVD400aから、コンテンツファイル 401、コンテンツ鍵情報 404、署名ファイル 411とを読み出す。次に、コンテンツファ ィル 401に含まれる方式識別子 402「IDA」を抽出し、主記憶部 107の記憶して ヽる 利用可能暗号方式表 166内で、抽出した方式識別子と一致する方式識別子を含む 利用可能情報検索する。このとき、該当する利用可能情報が検出できなければ、再 生できないと判断する。
[0132] 該当する利用可能情報 171を検出すると、制御部 116は、次に、正当性チェック部 112に、読み出したコンテンツファイル 401、コンテンツ鍵情報 404及び署名ファイル 411を出力し、署名ファイル 411に含まれる署名データ 414の検証を指示する。 正当性チェック部 112による署名データ 414の検証が成功であれば、制御部 116 は、コンテンツを再生可能であると判断する。署名データの検証が失敗であれば、制 御部 116は、コンテンツの再生ができないと判断する。
[0133] ここでは、 DVD400aが装着された場合について、説明したが、 DVD400b力装着 された場合も同様の手順で検証を行う。従って、解読された DES暗号方式に代わる AES暗号方式を導入するまでは、当該コンテンツ再生装置 100は、 DVD400bに記 録されているコンテンツを再生できない。また、 AES暗号方式を導入した後でも、 DV D400aのコンテンツを再生することができる。
(コンテンツの再生)
上記の検証により、再生可能であると判断した後、再生を示す操作指示情報を入 力部 121から受け取ると、制御部 116は、コンテンツファイル 401に含まれる方式識 別子 402「IDA」を抽出する。次に、制御部 116は、選択部 113及び 114、組合せチ エック部 118及び可変回路 108を制御して、方式識別子 402「IDA」と対応するデバ イス鍵「DevA」を生成させ、復号処理回路 156を構築させる。デバイス鍵の生成、及 び、復号処理回路 156の構築の制御については、上記の(暗号方式の導入)におい て、説明した手順と同一であるので、ここでは、説明を省略する。
[0134] 次に、制御部 116は、構築された復号処理回路 156内の鍵処理部 157に、読み出 したコンテンツ鍵情報 404を出力し、復号部 158に暗号ィ匕コンテンツ 403を出力して 、暗号ィ匕コンテンツ 403の復号を指示する。
復号部 158により、コンテンツが生成されると、制御部 116は、再生処理部 109へコ ンテンッの再生を指示する。 (メモリカードへのコンテンツの出力)
上記の検証により、再生可能であると判断した後、コンテンツのコピーを示す操作 指示情報を入力部 121から受け取ると、制御部 116は、コンテンツファイル 401に含 まれる方式識別子 402 riDAj及び署名ファイル 411に含まれる方式識別子 413「ID B」を抽出する。次に、主記憶部 107から利用可能暗号方式表 166を読み出し、読み 出した利用可能暗号方式表 166内で、方式識別子「IDA」、方式識別子「IDB」を含 む利用可能情報を、それぞれ検索する。
[0135] 何れか一方でも検出できなければ、制御部 116は、コピーできない旨を示すエラー 画面を生成し、再生処理部 109を介して、モニタ 15にエラー画面を表示する。
該当する利用可能情報 171、 172が検出された場合、制御部 116は、検出した利 用可能情報 171及び 172れぞれに含まれる利用フラグを読み出す。読み出した利用 フラグのうち、何れか一方でも「0」であれば、装着されている DVDに記録されている コンテンツをコピーすることができない旨を通知するエラー画面を生成して、モニタ 1 5に表示する。
[0136] 読み出した利用フラグのうち、両方ともが「1」であれば、制御部 116は、コンテンツ ファイル 401から方式識別子 402「IDA」を抽出し、抽出した方式識別子「IDA」を、 入出力部 104を介して、メモリカード 500へ出力し、出力した方式識別子「IDA」の示 す暗号方式を備えて ヽるか否かを問 ヽ合わせる。
次に、制御部 116は、入出力部 104を介してメモリカード 500から、応答信号を受 け取る。受け取った応答信号が方式識別子「IDA」の示す暗号方式を備えて!/ヽな!、 ことを示す「0」であれば、要求されたコピーはできな ヽ旨を通知するエラー画面を生 成して、モニタ 15に表示する。
[0137] 受け取った応答信号が、方式識別子「IDA」の示す暗号方式を備えて!/ヽることを示 す「1」であれば、次に、制御部 116は、選択部 113及び 114、組合せチェック部 118 、可変回路 108を制御して、コンテンツファイル 401から読み出した方式識別子「ID A」と対応するデバイス鍵 ¾^八」を生成させ、可変回路 108上に、方式識別子「ID Ajに従った復号処理を行う復号処理回路を構築させる。デバイス鍵の生成、及び、 復号処理回路 156の構築の制御については、上記の(暗号方式の導入)において、 説明した手順と同一であるので、ここでは、説明を省略する。
[0138] 次に、制御部 116は、構築された復号処理回路 156内の鍵処理部 157に、読み出 したコンテンツ鍵情報 404を出力し、コンテンツ鍵の生成を指示する。
鍵処理部 157によりコンテンツ鍵「KconA」が生成されると、次に、制御部 116は、 選択部 113に、方式識別子 402「IDA」と対応する暗号回路プログラムの読み出しと 出力を指示する。
[0139] 可変回路 108内に暗号処理回路 152が構築されると、制御部 116は、入出力部 10 4を介して、メモリカード 500にカード鍵情報の出力を指示し、メモリカード 500から力 ード鍵情報を取得する。
次に、制御部 116は、取得したカード鍵情報を、暗号処理回路 152内の鍵処理部 153へ出力し、コンテンッ鍵「KconA」を暗号化部 154へ出力してコンテンッ鍵「Kc onA」の暗号ィ匕を指示する。
[0140] 暗号化部 154により暗号化コンテンツ鍵「EncA(KconA, MkeyA)」が生成される と、制御部 116は、コンテンツファイル 401から暗号化コンテンツ 403「EncA(ConA , KconA)」を抽出し、抽出した暗号化コンテンツ 403「EncA(ConA, KconA)」と 暗号化コンテンツ鍵「EncA(KconA, MkeyA)」とを、入出力部 104を介して、メモリ カード 500に出力する。
(12)入出力部 104
入出力部 104は、メモリカード 500を装着可能であって、制御部 116の制御の下で 、各種の情報の入出力を行う。
(13)入力部 121及び再生処理部 109
入力部 121は、再生ボタン、選択ボタン、決定ボタンなど各種のボタンを備え、利用 者による上記ボタンの操作を受け付け、受け付けた操作を示す操作指示情報を、制 御部 116へ出力する。
[0141] 再生処理部 109は、モニタ 15と接続されており、制御部 116の指示に従って、可変 回路 109から受け取ったコンテンツから、画面及び音声を生成して、モニタ 15に出力 する。
また、制御部 116の指示により、エラー画面を初めとして各種の画面をモニタ 15に 表示させる。
1. 5 メモリカード 500
メモリカード 500は、図 19に示すように、入出力部 502、制御部 507、暗号部 508、 復号部 509及び情報記憶部 510から構成される。
[0142] 以下に、各構成要素について説明する
(1)情報記憶部 510
情報記憶部 510は、フラッシュメモリを含んで構成され、その内部は、セキュア領域 520と一般領域 512とに分かれて ヽる。
セキュア領域 520は、正当な機器以外の機器がアクセスすることができない領域で あって、一例として、方式識別子 521「IDA」、カード鍵情報 522及びカード固有鍵 5 23「MkeyA」を記憶して!/、る。
[0143] 方式識別子 521「IDA」は、当該メモリカード 500の備える暗号方式を示しており、 ここでは、 DES暗号方式を示す。
カード鍵情報 522は、既に述べたとおり、メディアキーブロック、メディア IDを含む。 メディア IDは、メモリカード 500に固有の識別子である。メディアキーブロックは、メモ リカード 500にアクセスを許可される正当な機器にのみ、カード固有鍵「MkeyA」を 付与するデータである。なお、メモリカードが公開鍵暗号方式に対応している場合、 正当な機器がカード鍵情報から生成するカード固有鍵と、メモリカード自身が記憶し て 、るカード固有鍵とは同一ではな!/、。
[0144] カード固有鍵 523「MkeyA」は、メモリカード 500に固有の鍵であって、ここでは、 方式識別子 521の示す暗号方式と対応する 56ビット長の鍵である。
一般領域 512は、外部機器が自由にアクセスできる領域であって、一例として、コン テンッファイル 513を記憶している。コンテンツファイル 513は、暗号化コンテンツ 51 4「EncA(ConA, KconA)」と、暗号化コンテンツ鍵 515「EncA (KconA, MkeyA )」とを含む。
[0145] 暗号化コンテンツ 514は、 DVD400aに記録されている暗号化コンテンツ 403と同 一である。暗号化コンテンツ鍵 515は、カード固有鍵「MkeyA」を用いて、コンテンツ 鍵「KconA」に、 DES暗号方式に従う暗号化アルゴリズムを施して、生成されたもの である。
(2)入出力部 502
入出力部 502は、外部機器と接続可能なインタフェースを備え、外部機器と制御部 507との間で各種の情報の授受を行う。
[0146] 外部機器とは、コンテンツ再生装置 100及びポータブルプレーヤー 800である。
(3)暗号部 508及び復号部 509
暗号部 508は、制御部 507から暗号鍵と平文とを受け取り暗号ィ匕を指示される。暗 号化を指示されると、暗号鍵を用いて、平文に DES暗号方式に基づく暗号ィ匕ァルゴ リズムを施して、暗号文を生成し、生成した暗号文を制御部 507へ出力する。
[0147] 復号部 509は、制御部 507から復号鍵と暗号文とを受け取り復号を指示される。復 号を指示されると、復号鍵を用いて、暗号文に DES暗号方式に基づく復号アルゴリ ズムを施して、復号文を生成し、生成した復号文を制御部 507へ出力する。
(4)制御部 507
制御部 507は、メモリカード 500を構成する各構成要素を制御する。
(コンテンツファイルの書き込み)
メモリカード 500がコンテンツ再生装置 100に装着されている状態で、制御部 507 は、入出力部 502を介して、コンテンツ再生装置 100から、方式識別子を受け取り、 受け取った方式識別子の示す暗号方式を備えている力否かの問い合わせを受ける 。問合せを受けると、受信した方式識別子と、セキュア領域 520に記憶されている方 式識別子 521とを比較し、一致すれば、受け取った方式識別子の示す暗号方式によ り暗号化された暗号文を復号可能であることを示す応答信号「1」を生成する。
[0148] 両者が一致しなければ、制御部 507は、受け取った方式識別子の示す暗号方式に より暗号化された暗号文を復号できな!ヽこと示す応答信号「0」を生成する。
次に、制御部 507は、生成した応答信号を、入出力部 502を介して、コンテンツ再 生装置 100へ出力する。
次に、制御部 507は、コンテンツ再生装置 100からの要求に従って、カード鍵情報 522を、コンテンツ再生装置 100へ出力する。続いて、コンテンツ再生装置 100から 、暗号化コンテンツと暗号化コンテンツ鍵とを受け取り、受け取った暗号化コンテンツ と B音号ィ匕コンテンツ鍵とを含むコンテンツフアイノレを生成し、生成したコンテンツフアイ ルを一般領域に書き込む。
(コンテンツの再生)
メモリカード 500力 ポータブルプレーヤー 800に装着されている状態で、ポータブ ルプレーヤー 800力ら、コンテンツの再生を要求されると、制御部 507は、カード固 有鍵 523と暗号化コンテンツ鍵 515を復号部 509へ出力し、暗号化コンテンツ鍵 51 5の復号を指示する。
[0149] 復号部 509からコンテンツ鍵を受け取ると、制御部 507は、受け取ったコンテンツ鍵 と暗号ィ匕コンテンツ 514とを復号部 509に出力し、復号を指示する。続いて、復号部 509により生成されたコンテンツをポータブルプレーヤーに出力する。
1. 6 ポータブノレプレーヤー
ポータブルプレーヤ一は、映像および音声からなるコンテンツの再生専用機器であ つて、メモリカード 500に記録されているコンテンツを読み出し、再生する機器である
1. 7 情報セキュリティシステム 1の動作
以下に、情報セキュリティシステム 1を構成する各機器の動作について説明する。 (1)コンテンツ再生装置 100の動作
図 20は、コンテンツ再生装置 100の電源投入後の動作の一部を示すフローチヤ一 トである。以下に、図 20を用いて、コンテンツ再生装置 100の動作について説明する
[0150] 電源が ONになった後、プログラム取得部 106を介して、暗号方式管理サーバ 600 から、コンテンツ再生装置 100の備える暗号方式のうちの!/、ずれかの暗号方式が解 読されたことを示す警告通知を受信すると (ステップ S 121の YES)、コンテンツ再生 装置 100は、解読された暗号方式に代替する暗号方式の導入を行う(ステップ S122
) o
[0151] また、コンテンツ取得部 101を介して、新たに DVDが装着されたことを検出すると( ステップ S123の YES)、コンテンツ再生装置 100は、装着された DVDに記録されて いるコンテンツを、当該コンテンツ再生装置 100が再生可能である力否かを検証する (ステップ SI 24)。
警告通知の受信も、 DVDの装着も検出されない場合 (ステップ S121の NO、ステツ プ S 123の NO)、そのまま待機する。
[0152] ステップ S124における検証の結果、再生可能であると判断された場合 (ステップ S
126の YES)、利用者の操作に従って (ステップ S 128)、コンテンツの再生 (ステップ
S131)、メモリカード 500へのコンテンツの出力を行う(ステップ S132)。
検証の結果、再生可能でないと判断される場合 (ステップ S126の NO)、モニタ 15 に、装着されて 、る DVDに記録されて!、るコンテンツの再生ができな!/、ことを通知す るエラー画面を表示する (ステップ S 127)。
[0153] ステップ S122、 127、 131及び 132の処理力 S終了すると、ステップ S121へ戻る。
(2)暗号方式の導入
以下に、図 21〜図 24は、解読された暗号方式に代替する暗号方式の導入に関す る、コンテンツ再生装置 100及び暗号方式管理サーバ 600の動作を示すフローチヤ ートである。これは、図 20ステップ S122の詳細である。
[0154] ここでは、一例として、コンテンツ再生装置 100の備える暗号方式のうち、 DES暗号 方式が解読され、 AES暗号方式を導入する場合について説明する。
暗号方式管理サーバ 600の制御部 607は、入力部 613を介して、操作者による方 式識別子「IDA」及び新たな暗号方式の配布指示の入力を受け付ける (ステップ S1 41)。配布指示の入力を受け付けると、制御部 607は、入力された方式識別子「IDA 」を含む警告通知を生成し、送受信部 601を介して、生成した警告通知を、コンテン ッ再生装置 100へ送信する (ステップ S142)。また、入力部 613を介して、暗号方式 の導入に関する各種のファイルの暗号ィ匕用の暗号方式を示す方式識別子「IDB」と 、署名データの生成用の暗号方式を示す方式識別子「IDB」の入力を受け付ける (ス テツプ S 143)。
[0155] コンテンツ再生装置 100の制御部 116は、プログラム取得部 106を介して、暗号方 式管理サーバ 600から、警告通知を受信する。警告通知を受信すると、受信した警 告通知に含まれる方式識別子「IDA」を基に、主記憶部 107に記憶されている利用 可能暗号方式表 166から利用可能情報 171を検出し、検出した利用可能情報 171 に含まれる利用フラグを読み出す (ステップ S 146)。読み出した利用フラグが「0」で あれば (ステップ S147の NO)、 DES暗号方式に代替する暗号方式の導入は、既に 終了しているので、暗号方式の導入処理を終了し、図 20に戻る。
[0156] 読み出した利用フラグが「1」であれば (ステップ S147の YES)、制御部 116は、 D ES暗号方式に代わる暗号方式の導入を要求する導入要求を、プログラム取得部 10 6を介して、暗号方式管理サーバ 600に送信する (ステップ S 148)。
暗号方式管理サーバ 600の制御部 607は、送受信部 601を介して、コンテンツ再 生装置 100から、導入要求を受信する。導入要求を受信すると、無効暗号方式一覧 621から、方式識別子「IDA」を含む暗号方式情報 622を読み出す (ステップ S 151) 。読み出した暗号方式情報 622に含まれる暗号回路ファイル名「C」と鍵回路ファイル 名「KC」と検証鍵ファイル名「VeriC」とを基に、情報記憶部 610から、暗号回路ファ ィル 631「C」と鍵回路ファイル 651「KC」と検証鍵ファイル 671「VeriC」とを読み出 す (ステップ S 152)。
[0157] 続いて、制御部 607は、暗号ィ匕用の暗号方式を示す方式識別子「IDB」を基に、送 信用鍵テーブル 626から、方式識別子「IDB」を含む送信用鍵情報 628を選択し、 選択した送信用鍵情報 628に含まれる暗号鍵「KencB」及び復号鍵情報「Kinf B」 を読み出す (ステップ S 153)。
制御部 607は、署名生成用の暗号方式を示す方式識別子「IDB」と、読み出した暗 号回路ファイル 631「C」と鍵回路ファイル 651「KC」と検証鍵ファイル 671「VeriC」と 復号鍵情報「KinfB」とを署名生成部 603へ出力し、署名データの生成を指示する。
[0158] 署名生成部 603は、受け取った暗号回路ファイル 631「C」と鍵回路ファイル 651「 KCJと検証鍵ファイル 671「VeriC」と復号鍵情報「KinfB」とを結合してハッシュ関数 に代入し、ダイジェストデータを生成する(ステップ S 156)。
署名鍵テーブル 691から、受け取った方式識別子「IDB」を含む署名鍵情報 693を 選択し、選択した署名鍵情報 693に含まれる署名鍵「Ksig— Bb」を読み出す (ステツ プ S157)。読み出した署名鍵「Ksig_Bb」を用いて、生成したダイジェストデータに 方式識別 riDBjの示す RSA暗号方式による暗号ィ匕アルゴリズムを施して、署名デー タを生成する (ステップ S158)。生成した署名データを制御部 607へ出力する。 [0159] 制御部 607は、当該暗号方式管理サーバ 600を示すサーバ ID「001B」と署名生 成用の暗号方式を示す方式識別子「IDB」と署名データとを含む署名ファイルを生成 する(ステップ S 161)。
次に、制御部 607は、読み出した暗号鍵「KencB」を用いて、読み出した暗号回路 ファイル 631「C」と鍵回路ファイル 651「KC」と検証鍵ファイル 671「VeriC」とに、喑 号化方式識別子「IDB」の示す RSA暗号方式に従う暗号ィ匕アルゴリズムを施して暗 号ィ匕し、暗号化暗号回路ファイル「EncB (C, KencB)」、暗号化鍵回路ファイル「En cB (KC, KencB)」及び暗号化検証鍵ファイル「EncB (VeriC, KencB)」を生成す る(ステップ SI 62)。
[0160] 次に、生成した暗号ィ匕暗号回路ファイル「EncB (C, KencB)」、暗号ィ匕鍵回路ファ ィル「EncB (KC, KencB)」及び暗号化検証鍵ファイル「EncB (VeriC, KencB)」 、これらのファイルの暗号ィ匕に用いた暗号方式を示す方式識別子「IDB」、復号鍵情 報「KinfB」及び署名ファイルを、送受信部 601を介して、コンテンツ再生装置 100へ 送信する (ステップ S 163)。
[0161] コンテンツ再生装置 100の制御部 116は、プログラム取得部 106を介して、暗号ィ匕 暗号回路ファイル 681「EncB (C, KencB)」、暗号化鍵回路ファイル 682「EncB (K C, KencB)」及び暗号化検証鍵ファイル 683「EncB (VeriC, KencB)」、方式識別 子 684 riDBj、復号鍵情報 685「KinfB」及び署名ファイル 686を受信する(ステップ S163)。
[0162] これらを受信すると、制御部 116は、選択部 114に、受信した方式識別子 684「ID B」を出力し、鍵生成回路プログラムの読み出しを指示する。選択部 114は、受け取 つた方式識別子「IDB」を含む鍵回路ファイル 146「KB」を選択し、選択した鍵回路 ファイル 146「KB」力 方式識別子 147 riDBjと鍵生成回路プログラム 148「KgenB 」を読み出す (ステップ S 166)。
[0163] また、制御部 116は、受信した方式識別子 684「IDB」を、選択部 113に出力し、復 号回路プログラムの読み出しを指示する。選択部 113は、受け取った方式識別子「I DBJを含む暗号回路ファイル 136「B」を選択し、選択した暗号回路ファイル 136「B」 から、方式識別子 137「IDB」及び復号回路ファイル 139「DecB」を読み出す (ステツ プ S167)。
[0164] 組合せチェック部 118は、選択部 113及び 114の読み出した方式識別子を比較し 、両者が一致しない場合 (ステップ S169の NO)、制御部 116へ NG信号を制御部 1 16へ出力し、ステップ S166に戻る。両者が一致する場合 (ステップ S169の YES)、 制御部 116へ OK信号を出力する。
OK信号を受け取ると制御部 116は、選択部 114へ、読み出したプログラムの出力 を指示する。出力の指示を受けると、選択部 114は、読み出した鍵生成回路プロダラ ム 148「KgenB」を、可変回路 108に出力し、可変回路 108内の構築機構 123は、 鍵生成回路プログラム 148「KgenB」に従って、 FPGA122上に、鍵生成回路 151を 構築する (ステップ S171)。
[0165] 鍵生成回路 151が構築されると、制御部 116は、鍵生成回路 151へ、デバイス鍵の 生成を指示する。
鍵生成回路 151は、制御部 116の指示により、 RSA暗号方式に対応する 128ビッ ト長のデバイス鍵「DevB」を生成し、生成したデバイス鍵「DevB」をデバイス鍵格納 部 103に書き込む (ステップ S 172)。
[0166] デバイス鍵「DevB」の生成が終了すると、制御部 116は、選択部 113に、読み出し たプログラムの出力を指示する。
出力の指示を受けると、選択部 113は、読み出した復号回路プログラム 139「DecB 」を可変回路 108へ出力する。可変回路 108内の構築機構 123は、選択部 113から 出力された復号回路プログラム 139「DecB」に従って、 FPGA122上に、復号処理 回路 156を構築する(ステップ S173)。なお、既に、デバイス「DevB」がデバイス鍵 格納部 103に記憶されている場合は、ステップ S166、 169〜172の処理を省略する 。さらに、可変回路 108内に、既に方式識別子「IDB」の示す暗号方式に対応する復 号処理回路が構築されて 、る場合は、ステップ S 166〜ステップ S 173を省略する。
[0167] 次に、制御部 116は、復号処理回路 156内の鍵処理部 157へ、受信した鍵情報 6 85「KinfB」を出力し、復号部 158へ、受信した暗号化暗号回路ファイル 681「EncB (C, KencB)」、暗号化鍵回路ファイル 682「EncB (KC, KencB)」及び暗号化検 証鍵ファイル 683「EncB (VeriC, KencB)」を出力し、これらの復号を指示する。 [0168] 鍵処理部 157は、デバイス鍵格納部 103からデバイス鍵「DevB」を読み出し、デバ イス鍵「DevB」及び鍵情報「KinfB」を基に、復号鍵「KdecB」を生成して、復号部 1 58へ出力する (ステップ S174)。
復号部 158は、鍵処理部 157から復号鍵 (16じ8」を取得し、取得した復号鍵「Kd ecB」を用いて、制御部 116から受け取った暗号化暗号回路ファイル「EncB (C, Ke ncB)」、暗号化鍵回路ファイル「EncB (KC, KencB)」及び暗号化検証鍵ファイル「 EncB (VeriC, KencB)」に、 RSA暗号方式に従う復号アルゴリズムを施して、暗号 回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル rVeriCjを生成する (ステ ップ S 176)。生成したこれらのファイルを主記憶部 107へ書き込む (ステップ S 177)
[0169] 暗号回路ファイル「C」、鍵回路ファイル「KC」、検証鍵ファイル「VeriC」が主記憶 部 107に書き込まれると、制御部 116は、正当性チェック部 112に、受信した署名フ アイルに含まれる署名データの検証を指示する。
正当性チェック部 112は、制御部 116の指示に従って署名データの検証を行う(ス テツプ S 178)。
[0170] 正当性チヱック部 112による署名検証が失敗であれば (ステップ S181の NO)、制 御部 116は、ステップ S148に戻り、プログラム取得部 106を介して、再度、導入要求 を暗号方式管理サーバ 600へ送信する。
署名検証が成功であれば (ステップ S181の YES)、制御部 116は、正当性チェック 部 112へ、暗号回路ファイル「C」、鍵回路ファイル「KC」の書き込みを指示する。
[0171] 正当性チェック部 112は、暗号回路ファイル「C」を暗号回路記憶部 117に書き込 み、鍵回路ファイル「KC」を鍵回路記憶部 119に書き込む (ステップ S 182)。
次に、制御部 116は、正当性チェック部 112へ、チェック情報表 201の更新を指示 する。
チェック情報表 201の更新を指示されると、正当性チェック部 112は、検証鍵フアイ ル「VeriC」を基に、方式識別子「IDC」、サーノ 10「001八」及び検証鍵「1^^—じ&」 を含むチェック情報と、方式識別子「IDC」、サーバ ID「001B」及び検証鍵「Kve— C b」を含むチェック情報とを新たに生成し (ステップ S183)、生成した 2つのチェック情 報を、チヱック情報表 201に追加する (ステップ S 184)。
[0172] 次に、制御部 116は、暗号回路ファイル「C」に含まれる方式識別子「IDC」と利用フ ラグ「1」とを含む利用可能情報を生成し、生成した利用可能情報を利用可能暗号方 式表 166に追加する(ステップ S 186)。
次に、暗号回路記憶部 117において、方式識別子「IDA」を含む暗号回路ファイル
131「A」を検出し、検出した暗号回路ファイル 131「A」から暗号回路プログラム 133
「Enc A」を削除する(ステップ S 188)。
[0173] 次に、制御部 116は、主記憶部 107の記憶している利用可能暗号方式表 166にお いて、方式識別子「IDA」を含む利用可能情報 171を選択し、選択した利用可能情 報 171に含まれる利用フラグを「0」に書き換える (ステップ S 189)。
(3)再生可能か否力の検証
コンテンツ取得部 101を介して、 DVD400a又は 400bの装着を検出すると、制御 部 116は、装着された DVDに記録されて 、るコンテンツを当該コンテンッ再生装置 1
00が、再生できるカゝ否かを検証する。
[0174] 図 25は、コンテンツ再生装置 100による、この検証の動作を示すフローチャートで ある。図 25では、より一般化して、装着されている DVDが DVD400a又は 400bの何 れであるかは区別せずに記載している。
以下に図 25を用いて、装着された DVDに記録されているコンテンツを再生可能か 否かの検証について説明する。なお、これは、図 20ステップ S 124の詳細である。
[0175] 制御部 116は、コンテンツ取得部 101を介して、装着されている DVDから、コンテ ンッファイル、コンテンツ鍵情報及び署名ファイルを読み出す (ステップ S201)。次に
、コンテンツファイルに含まれる方式識別子を抽出し (ステップ S202)、主記憶部 107 の記憶している利用可能暗号方式表 166内で、抽出した方式識別子と一致する方 式識別子を含む利用可能情報を検索する (ステップ S204)。このとき、該当する利用 可能情報が検出できなければ (ステップ S206の NO)、再生不可能であると判断する
(ステップ S211)。
[0176] 該当する利用可能情報 171を検出すると (ステップ S206の YES)、制御部 116は、 次に、正当性チェック部 112に、読み出したコンテンツファイル、コンテンツ鍵情報及 び署名ファイルを出力し、署名ファイルに含まれる署名データの検証を指示する。 正当性チェック部 112は、署名ファイルに含まれる方式識別子の示す暗号方式を 用いて署名データの検証を行う(ステップ S207)。署名データの検証動作について は、後述する。
[0177] 署名データの検証が成功であれば (ステップ S 208)、制御部 116は、コンテンツを 再生可能であると判断する (ステップ S 209)。署名データの検証が失敗であれば、制 御部 116は、コンテンツの再生ができな 、と判断する(ステップ S211)。
(4)署名データの検証
正当性チェック部 112は、制御部 116から、各種の情報と、その情報を基に生成さ れた署名データを含む署名ファイルとを受け取り、署名データの検証を指示される。 正当性チェック部 112は、制御部 116からの指示を受けると、選択部 113及び可変 回路 108を制御して、署名データの検証を行う。
[0178] 図 26は、署名データの検証動作を示すフローチャートである。以下に、図 26を用 いて、署名データの検証動作について説明する。これは、図 23ステップ S178及び 図 25のステップ S207の詳細である。
なお、ここでは、より一般ィ匕して、署名ファイルと共に受け取る各種の情報をチェック 対象データと記載している力 正当性チェック部 112が、制御部 116から受け取る各 種の情報と、署名ファイルの組合せとしては、具体的には、 DVDカゝら読み出された、 コンテンツファイル及びコンテンツ鍵情報と署名ファイルとの組合せ、新たに導入する 暗号方式に関する暗号回路ファイル、鍵回路ファイル、検証鍵ファイル及び復号鍵 情報と鍵ファイルとの組み合わせがある。
[0179] 正当性チェック部 112は、署名ファイルに含まれるサーバ IDと方式識別子とを読み 出す (ステップ S221)。次に、自身の記憶しているチェック情報表 201の中で、読み 出した方式識別子とサーバ IDとを含むチェック情報を検索する (ステップ S222)。該 当するチェック情報が検出されなければ (ステップ S224の NO)、署名データの検証 が失敗であることを示す検証失敗通知を制御部 116へ出力する (ステップ S236)。
[0180] 該当するチェック情報を検出すると (ステップ S224の YES)、正当性チェック部 112 は、読み出した方式識別子を選択部 113へ出力し、復号回路プログラムの読み出し 及び出力を指示する。
選択部 113は、正当性チェック部 112の指示に従って、受け取った方式識別子と 対応する復号回路プログラムを読み出し (ステップ S226)、読み出した復号回路プロ グラムを可変回路 108へ出力する。
[0181] 可変回路 108の構築機構 123は、受け取った復号回路プログラムに従って、 FPG A122を書き換えて復号処理回路 156を構築する (ステップ S227)。
復号処理回路 156が構築されると、正当性チェック部 112は、検出したチェック情 報に含まれる検証鍵を読み出し (ステップ S228)、署名ファイルに含まれる署名デー タと読み出した検証鍵とを、構築された復号処理回路 156内の復号部 158へ出力し 、復号を指示する。
[0182] 復号部 158は、正当性チェック部 112からの指示に従って、検証鍵を用いて、署名 データを復号して復号ダイジェストデータを生成する (ステップ S 229)。復号部 158 は、生成した復号ダイジェストデータを、正当性チェック部 112へ出力する。
正当性チェック部 112は、チェック対象データを結合した結合物を、ノ、ッシュ関数に 代入してダイジェストデータを生成する (ステップ S231)。生成したダイジェストデータ と、復号部 158から出力された復号ダイジェストデータとを比較し (ステップ S232)、 両者が一致すれば (ステップ S234の YES)、署名検証が成功であることを示す検証 成功通知を制御部 116へ出力する (ステップ S237)。
[0183] 両者が一致しない場合 (ステップ S234の NO)、署名検証が失敗であることを示す 検証失敗通知を、制御部 116へ出力する (ステップ S236)。
(5)コンテンツの再生
図 27は、コンテンツ生成装置によるコンテンツの再生動作を示すフローチャートで ある。ここでは、コンテンツ再生装置 100に DVD400aが装着されている場合を示す 1S DVD400bの場合も同様の動作を行う。
[0184] 以下に、コンテンツの再生動作について、図 27を用いて説明する。なお、これは、 図 20のステップ S 131の詳細である。
入力部 121から、コンテンツの再生を示す操作指示情報を受け取ると、制御部 116 は、読み出したコンテンツファイル 401に含まれる方式識別子 402「IDA」を抽出する (ステップ S241)。次に、制御部 116は、選択部 113及び 114、組合せチェック部 11 8及び可変回路 108を制御して、方式識別子「IDA」と対応するデバイス鍵「DevA」 を生成させ、復号処理回路 156を構築させる (ステップ S242)。デバイス鍵の生成及 び復号処理回路の構築の手順は、図 22のステップ S166〜ステップ S173と同様で あるので、ここでは、詳細な説明は省略する。
[0185] 次に、構築された復号処理回路 156内の鍵処理部 157に、読み出したコンテンツ 鍵情報 404を出力し、復号部 158に暗号ィ匕コンテンツ 403を出力して、暗号化コンテ ンッ 403の復号を指示する。
鍵処理部 157は、コンテンツ鍵情報 404を受け取ると、デバイス鍵格納部 103から 、デバイス鍵 128「DevA」を読み出し、読み出したデバイス鍵 128「DevA」とコンテ ンッ鍵情報 404とを基に、コンテンツ鍵「KconA」を生成する(ステップ S243)。
[0186] 復号部 158は、鍵処理部 157からコンテンッ鍵 じ011八」を取得し、取得したコンテ ンッ鍵「KconA」を用いて、暗号化コンテンツ 403を復号し、コンテンツ「ConA」を生 成する (ステップ S244)。復号部 158は、制御部 116の指示により、生成したコンテン ッを再生処理部 109へ出力する。
再生処理部 109は、コンテンツ「ConA」を受け取ると、受け取ったコンテンツを、モ -タ 15に再生する(ステップ S246)。
(6)メモリカードへのコンテンツの出力
図 28〜図 30は、コンテンツ再生装置 100による、メモリカード 500へのコンテンツの 出力の動作を示すフローチャートである。以下に、図 28〜30を用いて、コンテンツ出 力の動作について説明する。これは、図 20のステップ S132の詳細である。ここでは 、コンテンツ再生装置 100に DVD400aと、方式識別子「IDA」を保持するメモリカー ド 500とが装着されている場合を例に説明する力 DVD400bが装着されている場 合、他の方式識別子を保持しているメモリカードが装着される場合も同様の動作を行
[0187] 利用者により、コンテンツのコピーを指示されると、制御部 116は、コンテンツフアイ ル 401に含まれる方式識別子 402「IDA」及び署名ファイル 411に含まれる方式識 別子 413「IDB」を抽出する (ステップ S261)。次に、主記憶部 107から利用可能暗 号方式表 166を読み出し (ステップ S262)、読み出した暗号方式表 166内で、方式 識別子「IDA」、方式識別子「IDB」を含む利用可能情報を、それぞれ検索する (ステ ップ S 263)。
[0188] 何れか一方でも検出できなければ (ステップ S264の NO)、
Figure imgf000053_0001
ヽ旨を示 すエラー画面を生成し、再生処理部 109を介して、モニタ 15にエラー画面を表示す る(ステップ S 265)。
該当する利用可能情報 171、 172が検出された場合 (ステップ S264の YES)、検 出した利用可能情報 171及び 172をれぞれに含まれる利用フラグを読み出す (ステ ップ S266)。読み出した利用フラグのうち、何れか一方でも「0」であれば (ステップ S 268の NO)、装着されている DVDに記録されているコンテンツをコピーすることがで きな 、旨を通知するエラー画面を表示する (ステップ S265)。
[0189] 読み出した利用フラグのうち、両方ともが「1」であれば (ステップ S268の YES)、コ ンテンッファイル 401から方式識別子 402「IDA」を抽出し (ステップ S269)、抽出し た方式識別子 402「IDA」を、入出力部 104を介して、メモリカード 500へ出力し、出 力した方式識別子「IDA」の示す暗号方式を備えて!/ヽるカゝ否かを問 、合わせる (ステ ップ S271)。
[0190] メモリカード 500の制御部 507は、入出力部 502を介してコンテンツ再生装置 100 から、方式識別子「IDA」を受け取り、受け取った方式識別子「IDA」の示す暗号方 式を備えて 、るか否かの問 、合わせを受ける。
問合せを受けると、制御部 507は、セキュア領域 520に記憶されている方式識別子 521を読み出す (ステップ S272)。読み出した方式識別子 521と受信した方式識別 子「IDA」とを比較し (ステップ S273)、両者が一致すれば (ステップ S274の YES)、 受け取った方式識別子の示す暗号方式により暗号化された暗号文を復号可能であ ることを示す応答信号「1」を生成する (ステップ S276)。
[0191] 両者が一致しな 、場合 (ステップ S274の NO)、受け取った方式識別子の示す暗 号方式により暗号化された暗号文を復号できない示す応答信号「0」を生成する (ステ ップ S277)。続いて、制御部 507は、生成した応答信号を、入出力部 502を介して、 コンテンツ再生装置 100へ出力する(ステップ S279)。 コンテンツ再生装置 100の制御部 116は、入出力部 104を介してメモリカード 500 から、応答信号を受け取る。受け取った応答信号が「0」であれば (ステップ S281の「 0」)、要求されたコピーはできない旨を通知するエラー画面を生成して、モニタ 15に 表示する(ステップ S 282)。
[0192] 受け取った応答信号が「1」であれば (ステップ S281の「1」)、次に、制御部 116は 、選択部 113及び 114、組合せチェック部 118、可変回路 108を制御して、コンテン ッファイル 401から読み出した方式識別子 402「IDA」と対応するデバイス鍵「DevA 」を生成させ、可変回路 108上に、方式識別子「IDA」に従った復号処理を行う復号 処理回路を構築させる(ステップ S286)。ステップ S287の詳細は、図 22のステップ S 166〜ステップ S173と同様であって、図 22中の、方式識別子「IDB」を「IDA」と読 み替え、鍵回路ファイル「1¾」を 」と読み替え、鍵生成回路プログラムを「Kgen BJを「KgenA」と読み替え、復号回路プログラム「DecB」を「DecA」と読み替えれば よい。
[0193] 次に、制御部 116は、構築された復号処理回路 156内の鍵処理部 157に、読み出 したコンテンツ鍵情報 404を出力し、コンテンツ鍵の生成を指示する。
鍵処理部 157は、コンテンツ鍵情報 404とデバイス鍵「DevA」とを基に、コンテンツ 鍵「KconA」を生成する(ステップ S 287)。
次に、制御部 116は、選択部 113に、方式識別子 402「IDA」と対応する暗号回路 プログラムの読み出しと出力とを指示する。
[0194] 選択部 113は、制御部 116からの指示により、方式識別子「IDA」と対応する暗号 回路プログラム 133「EncA」を、暗号回路記憶部 117から読み出し (ステップ S289) 、読み出した暗号回路プログラム 133「EncA」を可変回路 108に出力する。
可変回路 108内の構築機構 123は、暗号回路プログラム 133「EncA」に従って、 暗号処理回路 152を構築する (ステップ S 291 )。
[0195] 暗号処理回路 152が構築されると、制御部 116は、入出力部 104を介して、メモリ カード 500にカード鍵情報の出力を指示する (ステップ S293)。
メモリカード 500の制御部 507は、入出力部 502を介して、コンテンツ再生装置 10 0から、カード鍵情報の出力を指示されると、セキュア領域 520から、カード鍵情報 52 2を読み出す (ステップ S294)。読み出したカード鍵情報 522を、入出力部 502を介 して、コンテンツ再生装置 100へ出力する(ステップ S296)。
[0196] コンテンツ再生装置 100の制御部 116は、入出力部 104を介してメモリカード 500 から、カード鍵情報を取得し、取得したカード鍵情報を、暗号処理回路 152内の鍵処 理部 153へ出力し、コンテンッ鍵「KconA」を暗号化部 154へ出力して暗号化を指 示する。
鍵処理部 153は、デバイス鍵格納部 103からデバイス鍵「DevA」を読み出し、読み 出したデバイス鍵「DevA」とカード鍵情報とを基に、カード固有鍵「MkeyA」を生成 する(ステップ S297)。暗号化部 154は、鍵処理部 153から、カード固有鍵「MkeyA 」を取得し、取得したカード固有鍵「MkeyA」を用いて、コンテンツ鍵「KconA」を暗 号ィ匕し、暗号化コンテンツ鍵「EncA(KconA, MkeyA)」を生成する(ステップ S298
) o
[0197] 暗号化部 154により暗号化コンテンツ鍵「EncA(KconA, MkeyA)」が生成される と、制御部 116は、コンテンツファイル 401から暗号化コンテンツ 403「EncA(ConA , KconA)」を抽出し (ステップ S301)、抽出した暗号化コンテンツ 403「EncA (Con A, KconA)」と暗号化コンテンツ鍵「EncA(KconA, MkeyA)」とを、入出力部 10 4を介して、メモリカード 500に出力する (ステップ S302)。
[0198] メモリカード 500の制御部 507は、コンテンツ再生装置 100から、暗号化コンテンツ 「EncA(ConA, KconA)」と暗号化コンテンツ鍵「EncA(KconA, MkeyA)」とを 受け取り、受け取った暗号化コンテンツ「EncA(ConA, KconA)」と暗号化コンテン ッ鍵「EncA (KconA, MkeyA)」とを含むコンテンツファイルを生成し、生成したコン テンッファイルを一般領域 512に書き込む (ステップ S303)。
2. その他の変形例
以上、本発明について、上記の実施の形態 1に基づいて説明してきた力 これに限 定されるものではなぐ以下のような場合も本発明に含まれる。
[0199] (1)実施の形態 1では、説明を容易にするために、コンテンツ再生装置 100は、製 造当初、 DES暗号方式と、 RSA暗号方式とを備えるとして説明してきた力 3以上の 多数の暗号方式を備えて 、るとしても良 、。 この場合、暗号方式管理サーバ 600は、何れかの暗号方式が解読されると、解読さ れてない暗号方式の中の何れかを選択し、選択した暗号方式により、解読された暗 号方式に代替する暗号方式に対応する暗号回路ファイル、鍵回路ファイル、検証鍵 フアイルを暗号ィ匕して、コンテンッ再生装置 100へ送信する。
[0200] また、暗号ィ匕に用いる暗号方式とは異なる暗号方式を用いて署名データを生成し ても良い。
さらに、実施の形態 1では、コンテンツ再生装置 100の備える暗号方式の用途は、 コンテンツなどの暗号化'復号と、署名データの検証であるとして説明してきた力 こ れに限定されるものではなぐ鍵共有、機器認証など、様々な用途に用いても良い。
[0201] (2)変形例(1)の場合、暗号方式管理サーバ 600が、暗号化及び署名データの生 成に用いる暗号方式を選択する方法としては、一例として、各暗号方式の暗号強度 を記憶しており、解読されていない暗号方式の中で、暗号強度の最も強いものを選 択する方法が考えられる。また、より新しい暗号方式を選択しても良い。
また、コンテンツ再生装置 100が、暗号化及び署名データの生成に用いる暗号方 式を選択し、選択した暗号方式を示す方式識別子を、暗号方式管理サーバ 600〖こ 通知しても良い。
[0202] この場合、コンテンツ再生装置 100が、暗号方式を選択する方法は、一例として、 暗号方式を導入した日時を記憶しており、導入日が新しい暗号方式を選択する方法 が考えられる。また、コンテンツ再生装置 100の利用者による暗号方式の選択を受け 付けるとしても良い。
(3)実施の形態 1では、暗号方式管理サーバ 600から暗号ィ匕鍵回路ファイルなどを 送信する際に、解読されて ヽな ヽ暗号方式を用いて署名データを含む署名ファイル を生成している力 この署名生成の方法は一例であって、これに限定されるものでは ない。
[0203] また、実施の形態 1では、新たな暗号方式の導入に当たって、この新たな暗号方式 が署名検証に用いられる可能性を考慮し、暗号方式管理サーバ 600は、新たな暗号 方式に対応する検証鍵を含む検証鍵ファイルを送信して 、るが、検証鍵ファイルの 送信は必須ではなぐ新たな暗号方式を署名検証に利用しない場合は、検証鍵ファ ィルの送信は不要である。
[0204] また、新たに導入する暗号方式が公開鍵暗号方式である場合、検証鍵は、各サー バの公開鍵であるので、暗号ィ匕せずに、送信しても良い。
(4)実施の形態 1では、署名データの検証において、可変回路 108内に復号処理回 路を構築して、署名データの検証処理の一部分を、復号処理回路が担う構成になつ ていたが、署名検証の一連の処理を行う検証回路を可変回路 108内に構築し、署名 データの検証を実行する構成であっても良い。この場合、暗号方式の導入の処理に ぉ 、て、検証鍵ファイルの授受を行う必要はな 、。
(5) 実施の形態 1は、暗号化及び復号を行う暗号方式に着目した例であって、署名 生成及び検証に利用されて 、る暗号方式が解読された場合にも、新たな暗号方式を 導入する。その際には、新たな暗号方式が署名生成及び検証に用いられることを考 慮して、検証鍵ファイルを暗号方式管理サーバ 600から取得する。
[0205] しかし、上記の変形例 (4)の場合、暗号化及び復号に用いられる暗号方式の変更 とは別に、署名方式の変更を行ってもよい。以下、署名方法とは、署名データを生成 する一連の手順及び署名データを検証する一連の手順を指す。
具体的には、この場合、コンテンツ再生装置 100は、正当性チェック部 112に変わ つて、署名記憶部 220を備えており、署名記憶部 220は、図 31に示すように、チエツ ク情報表 221と複数の署名方式ファイル 223、 224· · ·を記憶している。チェック情報 表 221は、実施の形態 1において説明したチェック情報表 201と同様の構成であるが 、各チェック情報は、何れかの署名方式と対応しており、方式識別子に代わって、対 応する署名方式を示す署名方式識別子を含んで!/ヽる。
[0206] 各署名ファイルは、何れかの署名方式と対応しており、対応する署名方式を示す署 名方式識別子と、検証回路プログラムとを含む。検証回路プログラムは、署名方式識 別子の示す署名方式により生成された署名データを検証する機能を有する検証回 路の構成を示している。
暗号方式管理サーバ 600は、署名方式に係る安全性についても管理しており、何 れかの署名方法が解読され、容易に署名の改ざんが可能な状態になった場合、その 署名方式に代わる新たな署名方式に係る署名ファイル rsicj、検証鍵ファイルを保 持している。署名ファイル「SiC」は、署名方式識別子「SIDC」と検証回路プログラム「
SveC」とを含み、検証鍵ファイルは、図 5 (c)に示す検証鍵ファイル 671と同様である が方式識別子 672に代えて、署名方式識別子「SIDC」を含む。ここでは、署名方式 識別子「SIDA」の示す署名方式が解読されたとする。
[0207] 新たな署名方式を導入する際には、コンテンツ再生装置 100は、新たな署名方式 と対応する署名方式ファイル「SiC」と、検証鍵ファイルと、署名方式識別子「SIDB」と 対応する署名方式により、検証鍵ファイル及び署名ファイル「SiC」に署名を施して生 成された署名データと、署名データの生成に用 ヽた署名方法を示す署名方式識別 子「SIDB」とを受信する。
[0208] 制御部 116は、受信した署名方式識別子「SIDB」と同一の署名方式識別子と対応 する検証回路プログラム 237を読み出し、可変回路 108に出力する。
可変回路 108内に、署名方式「SIDB」と対応する検証回路が構築されると、受信し た署名方式ファイル「SiC」と、検証鍵ファイルと、署名データとを検証回路に出力し て署名検証を指示する。
[0209] 検証が成功であれば、受信した署名ファイルを署名記憶部 220に書き込み、受信 した検証鍵ファイル力も新たなチェック情報を生成し、生成したチェック情報を、チェ ック情報表 221に追加する。
なお、送受信する情報に秘匿すべき情報が含まれている場合、これらの情報を暗 号ィ匕して送受信してもよい。
(6)また、署名方式に代わって MAC (Message Authentication Code)生成 '検 証方式を導入する構成であっても良い。この場合も、変形例(5)の場合と同様に、 M AC検証を行う回路の構成を示す MAC検証回路プログラムを複数記憶しており、各 MAC検証プログラムは、それぞれ異なる MAC生成'検証方式と対応している。
[0210] MAC生成に用いられる一方向関数が、解析されて逆演算の方法が発見されるな どの理由により、何れかの MAC生成 ·検証方式力 利用できなくなると、新たな MA C生成'検証方式と対応する MAC検証プログラムを取得する。取得の際には、新た な MAC検証プログラムと共に、有効な MAC ·生成検証方式によって生成された MA C情報を受信し、受信した MAC情報により、受信した新たな MAC検証プログラムに 改ざんがな!ヽことを確認する。
[0211] (7)署名方式、 MAC生成'検証方式のみならず、鍵共有の方式、機器認証の方式 についても同様に、新たな鍵共有方式と対応する共有鍵生成回路の構成を定める 鍵共有プログラム、新たな機器認証方式と対応する認証回路プログラムを取得しても 良い。
鍵共有方式の場合、コンテンツ再生装置 100は、それぞれ異なる鍵共有方式と対 応する鍵共有回路プログラムを記憶している。各鍵共有回路プログラムは、可変回路 108内の構築機構によって、解読される形式のプログラムであり、対応する鍵共有方 式に従う手順で、外部機器との間で鍵共有を実行する鍵共有回路の構成を示す。
[0212] 暗号方式管理サーバ 600と同様に、鍵共有方式を管理するサーバ機器は、新たな 鍵共有方式と対応する鍵共有回路プログラムを保持して!/ヽる。
新たな鍵共有方式と対応する鍵共有回路プログラムを取得する際には、まず、予め 記憶している鍵共有回路プログラムの何れかに従って、鍵共有回路を構築し、構築 した鍵共有回路により、サーバ機器との間で共有鍵を生成する。
[0213] サーバ機器は、前記新たな鍵共有方式と対応する鍵共有回路プログラムを、生成 した共有鍵を用いて暗号ィ匕して暗号ィ匕鍵共有回路プログラムを生成して、コンテンツ 再生装置 100に送信する。
コンテンツ再生装置 100は、暗号ィ匕鍵共有プログラムを受信し、これを生成した共 有鍵を用いて復号し、新たな鍵共有方式と対応する鍵共有回路プログラムを取得す る。
[0214] 機器認証方式についても、同様に、予め、それぞれ異なる機器認証方式と対応す る複数の機器認証回路プログラムを保持しており、そのうちの何れかに従って、機器 認証回路を構築する。構築した機器認証回路により、外部のサーバ機器と機器認証 を行い、認証が成功すると、サーバ機器から、新たな機器認証方式と対応する機器 認証回路プログラムを受信する。
(8)実施の形態 1の可変回路 108は、一例として書換え可能な FPGA122と構築機 構 123とコンフイダ ROM124から構成され、選択部 113及び 114は、読み出した暗 号回路プログラムなど構築機構 123に及びコンフイダ ROM 124に出力するとしてき たが、この構成に限るものではない。
[0215] 可変回路 108は、 FPGAと構築機構のみ力 構成され、 FPGAに付属するコンフィ グ ROMが、暗号回路記憶部 117及び鍵回路記憶部 119を構成しても良 ヽ。
この構成の場合、コンテンツ再生装置 100の電源が OFFになると、可変回路上に 構築された回路は消失する。次に電源の供給が開始されると、先ず、制御部 116は 、主記憶部 107の記憶している可変回路情報 161を読み出し、読み出した可変回路 情報 161を基に、選択部 113、 114及び構築機構 123に、電源が OFFになる直前に 、可変回路 108内に構築されていた回路を再構築させる。
(9)実施の形態 1では、コンテンツ再生装置 100及び暗号方式管理サーバ 600は、 インターネット 20に接続されており、インターネット 20を介して、暗号化暗号回路ファ ィルなどの授受を行っている力 この方法に限定するものではない。
[0216] 暗号方式管理サーバ 600は、正当なコンテンツ再生機器全てに同一の暗号回路フ アイル、鍵回路ファイル及び署名回路ファイルを送付するので、放送波のような、一 方向通信によって、これらのファイルを送付しても良い。
(10)実施の形態 1では、暗号方式管理サーバ 600の操作者による指示をトリガとし て、コンテンツ導入の一連の動作を開始している力 これに限定されるものではない
[0217] 例えば、コンテンツ再生装置 100が、定期的に、自身の備える暗号方式を示す方 式識別子を送信し、暗号方式管理サーバ 600に、自身の備える暗号方式が解読さ れて 、る力否かを問 、合わせるとしてもよ 、。問合せを受けた暗号方式管理サーバ 6 00は、受信した方式識別子と一致する方式識別子を含む、暗号方式情報が無効暗 号方式一覧 621内に存在すると、その暗号方式を含む警告通知をコンテンツ再生装 置 100に送信する。
[0218] また、実施の形態 1では、装着された DVDのコンテンツファイルに含まれる方式識 別子と対応する暗号方式を備えていなければ、コンテンツ再生装置 100は、単に、再 生を行わないとしている力 このときに、暗号方式管理サーバ 600に上記の問合せを 行っても良い。
また、実施の形態 1及び上記の各変形例では、コンテンツ再生装置 100の備える何 れかの暗号方式が解読された場合に、新たな暗号方式を導入している力 暗号方式 が解読されていない場合であっても、例えば、新たに優れた暗号方式が開発された 場合などにその新たな暗号方式を導入しても良い。
(11)上記の実施の形態 1では、解読された暗号方式と対応する暗号回路プログラム のみ削除し、復号回路プログラム及び鍵回路ファイルを残している。このようにするこ とで、過去に配布されたコンテンツの再生を可能にし、コンテンツを購入した利用者 の不利益とならな 、ようにして 、る。
[0219] しかし、解読された暗号方式と対応する暗号回路ファイル及び鍵回路ファイルを全 て削除し、解読された暗号方式によって暗号化されたコンテンツ及び解読された暗 号方式によって生成された署名データの付されたコンテンツの再生を一切認めない 構成であっても良い。この場合、チェック情報表 201において、解読された暗号方式 と対応するチ ック情報も削除する。
(12)実施の形態 1及び上記の変形例では、可変回路 108は、 FPGAにより構成され るとして説明してきた力 これに限定されるものではなぐその他の、書換え可能な回 路であっても良い。これらの書換え可能な回路は、回路規模、内部の論理回路の構 造などによって、 PLD (Programmable Logic Device)、 PLA (Programmable
Array Logic)、 CPLD (Complex Programmable Logic Device)、リコンフ ィギユアラブル LSI、ダイナミック ·リコンフィギュアラブル LSIなどと呼ばれる。
(13)実施の形態 1では、それぞれ異なるデバイス鍵を有する正当な再生機器全てが 正常にコンテンッを取得させ、不正な機器にはコンテンッを取得させな!/ヽ方法として
、メディアキーブロックを用いる例を採用した力 この方法に限るものではない。
[0220] 一例として、ツリー構造を利用して各機器に複数の鍵データを含むデバイス鍵を割 り当て、正当な機器は、デバイス鍵に含まれる何れかの鍵によりコンテンツを取得す ることができる技術が考えられる。
(14)上記の実施の形態で、コンテンツ再生装置 100は、予め各暗号方式と対応す る暗号回路ファイルと鍵回路ファイルを記憶している力 コンテンツの復号などの暗 号処理を行う際に、必要な鍵回路ファイルを受信する構成であっても良い。
[0221] 例えば、 DVD400aに記憶されている暗号ィ匕コンテンツ 403を復号する場合、制御 部 116は、コンテンツファイル 401から方式識別子 402を読み出し、読み出した方式 識別子 402を、プログラム取得部 106を介して、暗号方式管理サーバ 600へ送信し、 鍵回路ファイルの送信を要求する。
暗号方式管理サーバ 600は、各暗号方式と対応する鍵回路ファイルを記憶して!/、 る。制御部 607は、コンテンツ再生装置 100から方式識別子を受信し、鍵回路フアイ ルの送信を要求されると、受信した方式識別識別子の示す暗号方式と対応する鍵回 路ファイルを読み出し、読み出した鍵回路ファイルを送信する。
[0222] コンテンツ再生装置 100の制御部 116は、暗号方式管理サーバ 600から鍵回路フ アイルを受信し、受信した鍵回路ファイルに含まれる鍵回路生成プログラムを可変回 路 108へ出力する。
以後、実施の形態 1の場合と同様にしてデバイス鍵の生成、復号処理回路の構築 及び暗号化コンテンツ 403の復号を行う。
(15)上記の実施の形態では、各再生機器に簡単にデバイス鍵を配布するため、暗 号方式管理サーバ 600は、鍵生成回路プログラムを含む鍵回路ファイルを、コンテン ッ再生装置 100を含む各再生機器に配布し、各機器において、取得した鍵生成回 路プログラムに従って鍵生成回路を構築し、鍵生成回路により、個々のデバイス鍵を 生成している。しかし、鍵回ファイルに代わって、各機器に個別にデバイス鍵を配布 しても良い。
[0223] この場合、暗号方式管理サーバ 600は、機器毎に、その機器の機器 ID、各暗号方 式と対応するデバイス鍵を記憶して ヽる。
コンテンツ再生装置 100は、自の機器 ID又は解読された暗号方式において、用い ていたデバイス鍵など、コンテンツ再生装置 100に固有の情報を送信する。
暗号方式管理サーバ 600は、コンテンツ再生装置 100から前記の固有の情報を受 信し、これを基に、コンテンツ再生装置 100に固有であって、新たな暗号方式に対応 しているデバイス鍵を選択する。鍵回路ファイルに代わって、選択したデバイス鍵を 暗号化して送信する。
(16)上記の各装置を構成する構成要素の一部又は全部は、 1個のシステム LSI (La rge Scale Integration:大規模集積回路)から構成されているとしてもよい。システム L SIは、複数の構成部を 1個のチップ上に集積して製造された超多機能 LSIであり、具 体的には、マイクロプロセッサ、 ROM, RAMなどを含んで構成されるコンピュータシ ステムである。前記 RAMには、コンピュータプログラムが記憶されている。前記マイク 口プロセッサ力 前記コンピュータプログラムに従って動作することにより、システム LS Iは、その機能を達成する。
[0224] また、集積回路化の手法は LSIに限るものではなぐ専用回路又は汎用プロセッサ で実現してもよい。 LSI製造後に、プログラムすることが可能な FPGAや LSI内部の 回路セルの接続や設定を再構成可能なリコンフィギユラブル'プロセッサを利用しても 良い。
更には、半導体技術の進歩又は派生する別技術により LSIに置き換わる集積回路 化の技術が登場すれば、当然その技術を用いて機能ブロックの集積ィ匕を行ってもよ い。バイオ技術の適応などが可能性として有り得る。
(17)上記の各装置を構成する構成要素の一部又は全部は、各装置に脱着可能な I Cカード又は単体のモジュール力 構成されて 、るとしてもよ 、。前記 ICカード又は 前記モジュールは、マイクロプロセッサ、 ROM, RAM,などから構成されるコンビュ ータシステムである。前記 ICカード又は前記モジュールは、上記の超多機能 LSIを 含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作するこ とにより、前記 ICカード又は前記モジュールは、その機能を達成する。この ICカード 又はこのモジュールは、耐タンパ一性を有するとしてもよ!/、。
(18)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンビュ ータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプ ログラム力もなるデジタル信号であるとしてもよい。
[0225] また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ 読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、 CD— RO M、 MO、 DVD, DVD-ROM, DVD -RAM, BD (Blu— ray Disc)、半導体メ モリなど、〖こ記録したものとしてもよい。また、これらの記録媒体に記録されている前 記コンピュータプログラム又は前記デジタル信号であるとしてもよい。
[0226] また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信 回線、無線又は有線通信回線、インターネットを代表とするネットワーク、データ放送 等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって 、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサ は、前記コンピュータプログラムに従って動作するとしてもよい。
[0227] また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送する ことにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由し て移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
(19)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよ!/、。 産業上の利用可能性
[0228] 本発明は、各種の情報を暗号化又は復号する処理を行う電気機器を製造、販売す る産業、これらの電気機器により取り扱われる情報を生産、販売する産業、また、これ らの機器の取り扱う情報を使用して、各種のサービスを提供する産業において、経営 的、反復'継続的に利用することができる。

Claims

請求の範囲
[1] 記憶している複数の回路形成情報に従って、書き換え可能な論理回路を書き換え て実行回路を構築する回路構築装置であって、
書換え可能な前記論理回路と、
所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形 成情報に従って、前記論理回路を書き換えて前記実行回路を構築する構築手段と、
1以上の暗号方式それぞれと対応しており、対応する暗号方式による暗号処理を実 行する暗号回路を定める 1以上の既存回路形成情報を記憶している記憶手段と、 前記 1以上の暗号方式とは異なる新たな暗号方式による暗号処理を実行する暗号 回路を定める新規回路形成情報を暗号化して生成された暗号化新規回路形成情報 を、少なくとも含んでいる導入情報を取得する取得手段と、
前記暗号化に用いられた暗号方式と対応する既存回路形成情報を前記記憶手段 から読み出し、読み出した既存回路形成情報を前記回路形成情報として前記構築 手段に出力する読出手段と、
構築された暗号回路に対して、取得した導入情報に含まれる前記暗号化新規回路 形成情報を復号して前記新規回路形成情報を生成するように制御する制御手段と、 有効に生成された前記新規回路形成情報を前記記憶手段に書き込む書込手段と を備える
ことを特徴とする回路構築装置。
[2] 前記取得手段は、
前記新たな暗号方式の導入を指示する指示情報を受け付ける受付部と、 前記 1以上の暗号方式から、 1の暗号方式を選択し、外部機器へ、選択した暗号方 式を通知する通知部と、
前記外部機器から、通知した暗号方式により生成された前記暗号化新規回路形成 情報を受信する受信部とを備え、
前記読出手段は、
前記通知部により選択された暗号方式と対応する既存回路形成情報を読み出す ことを特徴とする請求項 1に記載の回路構築装置。
[3] 前記通知部は、前記 1以上の暗号方式のうち、最後に前記記憶手段に書き込まれ た既存回路形成情報と対応する暗号方式を選択する
ことを特徴とする請求項 2に記載の回路構築装置。
[4] 前記通知部は、前記 1以上の暗号方式のうち、暗号強度の最も高いものを選択す る
ことを特徴とする請求項 2に記載の回路構築装置。
[5] 前記通知部は、
外部から入力される選択指示に従って、前記 1の暗号方式を選択する ことを特徴とする請求項 2に記載の回路構築装置。
[6] 前記受付部は、前記 1以上の暗号方式の何れかが解読されたことを示す解読通知 を含む前記指示情報を取得する
ことを特徴とする請求項 2に記載の回路構築装置。
[7] 前記通知部は、前記解読通知の示す解読された暗号方式以外の暗号方式を選択 する
ことを特徴とする請求項 6に記載の回路構築装置。
[8] 前記回路構築装置は、さらに、
前記解読通知の示す解読された暗号方式と対応する既存回路形成情報を前記記 憶手段から削除する削除手段を備える
ことを特徴とする請求項 6に記載の回路構築装置。
[9] 前記記憶手段の記憶している各既存回路形成情報は、対応する暗号方式による 暗号化処理を実行する暗号化回路の構成を示す暗号化回路情報と、対応する暗号 方式による復号処理を実行する復号回路の構成を示す復号回路情報とを含み、 前記回路構築装置は、さらに、
前記解読通知の示す解読された暗号方式と対応する既存回路形成情報に含まれ る暗号化回路情報を前記記憶手段から削除する削除手段を備える
ことを特徴とする請求項 6に記載の回路構築装置。
[10] 前記導入情報は、前記暗号化新規回路形成情報と、前記暗号化新規回路形成情 報の生成に用いられた暗号方式を示す識別子とを含み、 前記読出手段は、前記識別子の示す暗号方式と対応する既存回路形成情報を読 み出す
ことを特徴とする請求項 1に記載の回路構築装置。
[11] 前記新規回路形成情報は、前記新たな暗号方式による暗号処理を実行する暗号 回路の構成を示す構成情報と、前記新たな暗号方式において用いられる鍵情報とか ら構成され、
前記取得手段は、前記構成情報を暗号化して生成された暗号化構成情報と、前記 鍵情報を暗号化して生成された暗号化鍵情報とからなる前記暗号化新規回路形成 情報を取得し、
前記制御手段は、構築された暗号回路に対して、前記暗号化構成情報と暗号化鍵 情報とを復号して、前記構成情報と前記鍵情報とを生成するように制御し、
前記書込手段は、生成された前記構成情報と前記鍵情報とから構成される前記新 規回路形成情報を書き込む
ことを特徴とする請求項 1に記載の回路構築装置。
[12] 前記取得手段は、さらに、
前記新規回路形成情報にデジタル署名を施して生成された署名情報を取得し、 前記回路構築装置は、さらに、
前記署名情報と、生成された前記新規回路形成情報とを用いて、前記新規回路形 成情報の正当性を検証する検証手段を備え、
前記書込手段は、前記検証が成功した場合に、有効に新規回路形成情報が生成 されたと決定し、前記新規回路形成情報を前記記憶手段に書き込む
ことを特徴とする請求項 1に記載の回路構築装置。
[13] 前記記憶手段は、さらに、
前記検証手段の構成を示す検証回路形成情報を記憶しており、
前記読出手段は、さらに、
前記復号が終了した後、前記検証回路形成情報を読み出し、読み出した検証回路 形成情報を前記回路形成情報として、前記構築手段へ出力する
ことを特徴とする請求項 9に記載の回路構築装置。
[14] 前記論理回路は、 Field Programmable Gate Arrayにより構成される ことを特徴とする請求項 1に記載の回路構築装置。
[15] 前記論理回路は、ダイナミック 'リコンフィギュアラブル LSIにより構成される
ことを特徴とする請求項 1に記載の回路構築装置。
[16] 記憶している複数の回路形成情報に従って、書き換え可能な論理回路を書き換え て実行回路を構築する回路構築装置と、サーバ装置から構成される新規回路導入 システムであって、
書換え可能な前記論理回路と、
所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形 成情報に従って、前記論理回路を書き換えて前記実行回路を構築する構築手段と、
1以上の暗号方式それぞれと対応しており、対応する暗号方式による暗号処理を実 行する暗号回路を定める 1以上の既存回路形成情報を記憶している記憶手段と、 前記 1以上の暗号方式とは異なる新たな暗号方式による暗号処理を実行する暗号 回路を定める新規回路形成情報を暗号化して生成された暗号化新規回路形成情報 を、少なくとも含んでいる導入情報を、前記サーバ装置から取得する取得手段と、 前記暗号化に用いられた暗号方式と対応する既存回路形成情報を前記記憶手段 から読み出し、読み出した既存回路形成情報を前記回路形成情報として前記構築 手段に出力する読出手段と、
構築された暗号回路に対して、取得した導入情報に含まれる前記暗号化新規回路 形成情報を復号して前記新規回路形成情報を生成するように制御する制御手段と、 有効に生成された前記新規回路形成情報を前記記憶手段に書き込む書込手段と を備え、
前記サーバ装置は、
前記新規回路形成情報を記憶して!/、る記憶手段と、
前記新規回路形成情報を暗号化して、前記暗号化新規回路形成情報を生成する 生成手段と、
生成した前記暗号化新規回路形成情報を含む前記導入情報を、前記回路構築装 置へ出力する出力手段とを備える ことを特徴とする新規回路導入システム。
[17] 記憶している複数の回路形成情報に従って、書き換え可能な論理回路を書き換え て実行回路を構築する回路構築装置において用いられる新規回路導入方法であつ て、
前記回路構築装置は、書換え可能な前記論理回路と、所定の処理を実行する実 行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理 回路を書き換えて前記実行回路を構築する構築手段と、 1以上の暗号方式それぞれ と対応しており、対応する暗号方式による暗号処理を実行する暗号回路を定める 1以 上の既存回路形成情報を記憶している記憶手段とを備え、
前記新規回路導入方法は、
前記 1以上の暗号方式とは異なる新たな暗号方式による暗号処理を実行する暗号 回路を定める新規回路形成情報を暗号化して生成された暗号化新規回路形成情報 を、少なくとも含んで 、る導入情報を取得する取得ステップと、
前記暗号化に用いられた暗号方式と対応する既存回路形成情報を前記記憶手段 から読み出し、読み出した既存回路形成情報を前記回路形成情報として前記構築 手段に出力する読出ステップと、
構築された暗号回路に対して、取得した導入情報に含まれる前記暗号化新規回路 形成情報を復号して前記新規回路形成情報を生成するように制御する制御ステップ と、
有効に生成された前記新規回路形成情報を前記記憶手段に書き込む書込ステツ プとを含む
ことを特徴とする新規回路導入方法。
[18] 記憶している複数の回路形成情報に従って、書き換え可能な論理回路を書き換え て実行回路を構築する回路構築装置において用いられる新規回路導入プログラム であって、
前記回路構築装置は、書換え可能な前記論理回路と、所定の処理を実行する実 行回路を定める回路形成情報を取得し、取得した回路形成情報に従って、前記論理 回路を書き換えて前記実行回路を構築する構築手段と、 1以上の暗号方式それぞれ と対応しており、対応する暗号方式による暗号処理を実行する暗号回路を定める 1以 上の既存回路形成情報を記憶している記憶手段とを備え、
前記新規回路導入プログラムは、
前記 1以上の暗号方式とは異なる新たな暗号方式による暗号処理を実行する暗号 回路を定める新規回路形成情報を暗号化して生成された暗号化新規回路形成情報 を、少なくとも含んで 、る導入情報を取得する取得ステップと、
前記暗号化に用いられた暗号方式と対応する既存回路形成情報を前記記憶手段 から読み出し、読み出した既存回路形成情報を前記回路形成情報として前記構築 手段に出力する読出ステップと、
構築された暗号回路に対して、取得した導入情報に含まれる前記暗号化新規回路 形成情報を復号して前記新規回路形成情報を生成するように制御する制御ステップ と、
有効に生成された前記新規回路形成情報を前記記憶手段に書き込む書込ステツ プとを含む
ことを特徴とする新規回路導入プログラム。
[19] 前記新規回路導入プログラムは、
コンピュータ読み取り可能な記録媒体に記録されている
ことを特徴とする請求項 18に記載の新規回路導入プログラム。
[20] 記憶している複数の回路形成情報に従って、書き換え可能な論理回路を書き換え て実行回路を構築する回路構築装置に搭載される集積回路であって、
書換え可能な前記論理回路と、
所定の処理を実行する実行回路を定める回路形成情報を取得し、取得した回路形 成情報に従って、前記論理回路を書き換えて前記実行回路を構築する構築手段と、
1以上の暗号方式それぞれと対応しており、対応する暗号方式による暗号処理を実 行する暗号回路を定める 1以上の既存回路形成情報を記憶している記憶手段と、 前記 1以上の暗号方式とは異なる新たな暗号方式による暗号処理を実行する暗号 回路を定める新規回路形成情報を暗号化して生成された暗号化新規回路形成情報 を、少なくとも含んでいる導入情報を取得する取得手段と、 前記暗号化に用いられた暗号方式と対応する既存回路形成情報を前記記憶手段 から読み出し、読み出した既存回路形成情報を前記回路形成情報として前記構築 手段に出力する読出手段と、
構築された暗号回路に対して、取得した導入情報に含まれる前記暗号化新規回路 形成情報を復号して前記新規回路形成情報を生成するように制御する制御手段と、 有効に生成された前記新規回路形成情報を前記記憶手段に書き込む書込手段と を備える
ことを特徴とする集積回路。
PCT/JP2006/307481 2005-04-07 2006-04-07 回路構築装置 WO2006109738A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2007512979A JPWO2006109738A1 (ja) 2005-04-07 2006-04-07 回路構築装置
EP06731428A EP1873961A1 (en) 2005-04-07 2006-04-07 Circuit building device
US11/886,712 US8452985B2 (en) 2005-04-07 2006-04-07 Circuit building device
CN200680020397.4A CN101194460B (zh) 2005-04-07 2006-04-07 电路构筑装置

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005110608 2005-04-07
JP2005-110608 2005-04-07

Publications (1)

Publication Number Publication Date
WO2006109738A1 true WO2006109738A1 (ja) 2006-10-19

Family

ID=37087011

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2006/307481 WO2006109738A1 (ja) 2005-04-07 2006-04-07 回路構築装置

Country Status (5)

Country Link
US (1) US8452985B2 (ja)
EP (1) EP1873961A1 (ja)
JP (1) JPWO2006109738A1 (ja)
CN (1) CN101194460B (ja)
WO (1) WO2006109738A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009066419A1 (ja) * 2007-11-21 2009-05-28 Panasonic Corporation リコンフィギュラブル回路,リコンフィギュラブル回路の機能変更方法および通信装置
JP2010183278A (ja) * 2009-02-04 2010-08-19 Sony Optiarc Inc 情報処理装置、および情報処理方法、並びにプログラム

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9064364B2 (en) * 2003-10-22 2015-06-23 International Business Machines Corporation Confidential fraud detection system and method
GB2424557A (en) * 2005-03-24 2006-09-27 Sony Uk Ltd FPGA with hardware decryptor for configuration programme which adds second key to itself before re-encrypting and overwriting itself in memory when run
US9088578B2 (en) * 2008-01-11 2015-07-21 International Business Machines Corporation Eliminating redundant notifications to SIP/SIMPLE subscribers
US20100290627A1 (en) * 2008-02-29 2010-11-18 Mitsubishi Electric Corporation Key management server, terminal, key sharing system, key delivery program, key reception program, key delivery method, and key reception method
WO2010116618A1 (ja) 2009-04-06 2010-10-14 パナソニック株式会社 鍵実装システム
US9448964B2 (en) * 2009-05-04 2016-09-20 Cypress Semiconductor Corporation Autonomous control in a programmable system
CN101894233B (zh) * 2010-07-23 2012-10-31 北京工业大学 一种可信赖的可重构器件及其使用方法
US9277960B2 (en) * 2011-09-08 2016-03-08 Kardium Inc. Intra-cardiac mapping and ablating
CN103077331B (zh) * 2013-02-04 2016-03-02 快车科技有限公司 一种数字资源保护方法及相关装置
US10659437B1 (en) * 2018-09-27 2020-05-19 Xilinx, Inc. Cryptographic system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000261427A (ja) * 1999-03-05 2000-09-22 Toshiba Corp 暗号通信端末、暗号通信センター装置、暗号通信システム及び記憶媒体
JP2001325153A (ja) * 2000-05-15 2001-11-22 Toyo Commun Equip Co Ltd フィールドプログラマブルゲートアレイの回路情報保護方法
JP2003198530A (ja) * 2001-12-21 2003-07-11 Mitsubishi Electric Corp パケット通信装置及び暗号アルゴリズム設定方法

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08204702A (ja) 1995-01-30 1996-08-09 Nec Corp 暗号鍵管理装置
US6101255A (en) 1997-04-30 2000-08-08 Motorola, Inc. Programmable cryptographic processing system and method
JPH1185014A (ja) 1997-09-12 1999-03-30 Teruo Matsumoto 暗号情報交換方式
EP1143655A4 (en) 1999-10-18 2006-08-30 Sony Corp INFORMATION PROCESSOR AND INFORMATION PROCESSING METHOD, RECORDED MEDIUM
JP2001127747A (ja) 1999-10-25 2001-05-11 Toshiba Corp 情報暗号化復号化装置
JP2001308843A (ja) * 2000-04-19 2001-11-02 Nec Commun Syst Ltd 暗号復号化装置
JP2002050956A (ja) 2000-07-13 2002-02-15 Sun Microsyst Inc フィールド・プログラマブル・ゲート・アレイ
US6331784B1 (en) * 2000-07-28 2001-12-18 Atmel Corporation Secure programmable logic device
JP2002290396A (ja) 2001-03-23 2002-10-04 Toshiba Corp 暗号鍵更新システムおよび暗号鍵更新方法
JP3965126B2 (ja) 2002-03-20 2007-08-29 松下電器産業株式会社 コンテンツを再生する再生装置
JP2003304235A (ja) 2002-04-10 2003-10-24 Sony Corp 無線通信装置、およびプログラム・ダウンロード方法、並びにコンピュータ・プログラム
JP4375995B2 (ja) 2003-04-30 2009-12-02 ローム株式会社 デバイス鍵保護方法およびその方法を利用可能な暗号化装置と復号装置ならびに映像送信装置と映像受信装置
US7440574B2 (en) 2003-06-11 2008-10-21 Hewlett-Packard Development Company, L.P. Content encryption using programmable hardware
EP1623420B1 (en) 2003-06-18 2015-11-11 Panasonic Intellectual Property Management Co., Ltd. Playback apparatus, playback method, and program for reproducing an encrypted virtual package
US8103004B2 (en) * 2003-10-03 2012-01-24 Sony Corporation Method, apparatus and system for use in distributed and parallel decryption
EP1659810B1 (en) 2004-11-17 2013-04-10 TELEFONAKTIEBOLAGET LM ERICSSON (publ) Updating configuration parameters in a mobile terminal
US7788502B1 (en) * 2005-03-10 2010-08-31 Xilinx, Inc. Method and system for secure exchange of IP cores

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000261427A (ja) * 1999-03-05 2000-09-22 Toshiba Corp 暗号通信端末、暗号通信センター装置、暗号通信システム及び記憶媒体
JP2001325153A (ja) * 2000-05-15 2001-11-22 Toyo Commun Equip Co Ltd フィールドプログラマブルゲートアレイの回路情報保護方法
JP2003198530A (ja) * 2001-12-21 2003-07-11 Mitsubishi Electric Corp パケット通信装置及び暗号アルゴリズム設定方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
YAMADA T. ET AL.: "Open Network ni Okeru Anzen no Ango Hoshiki no Koshin ni Kansuru Kosatsu. (The Secure Renewal of Crypt Modules in the Open Network Architecture)", 1999 NEN SYMPOSIUM ON CRYPTOGRAPHY AND INFORMATION SECURITY, SCIS 2000-C46, 27 JANUARY 2000, 3. SYSTEM MODEL, 4. TEIAN PROTOCOL, 26 January 2000 (2000-01-26) - 28 January 2000 (2000-01-28), XP003004686 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009066419A1 (ja) * 2007-11-21 2009-05-28 Panasonic Corporation リコンフィギュラブル回路,リコンフィギュラブル回路の機能変更方法および通信装置
JP2010183278A (ja) * 2009-02-04 2010-08-19 Sony Optiarc Inc 情報処理装置、および情報処理方法、並びにプログラム
US8370647B2 (en) 2009-02-04 2013-02-05 Sony Opitarc Inc. Information processing apparatus, information processing method, and program

Also Published As

Publication number Publication date
EP1873961A1 (en) 2008-01-02
JPWO2006109738A1 (ja) 2008-11-20
CN101194460B (zh) 2011-02-09
US8452985B2 (en) 2013-05-28
CN101194460A (zh) 2008-06-04
US20090013193A1 (en) 2009-01-08

Similar Documents

Publication Publication Date Title
JP4801055B2 (ja) 情報セキュリティ装置
WO2006109738A1 (ja) 回路構築装置
US7373506B2 (en) Data authentication system
WO2011111370A1 (ja) 記録システム、再生システム、鍵配信サーバ、記録装置、記録媒体装置、再生装置、記録方法、及び、再生方法
KR100620920B1 (ko) 은닉해야 할 데이터를 암호화하여 입출력하는 방법 및 장치
US20030023847A1 (en) Data processing system, recording device, data processing method and program providing medium
US7647646B2 (en) Information input/output system, key management device, and user device
WO2002039655A1 (fr) Dispositif de traitement d'informations, procede de traitement d'informations et support de programme
WO2001099331A1 (en) System and method for processing information using encryption key block
CN103947151A (zh) 信息处理设备、信息存储设备、服务器、信息处理系统、信息处理方法以及程序
JP2008084445A (ja) 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US8363835B2 (en) Method for transmission/reception of contents usage right information in encrypted form, and device thereof
WO2005121980A1 (ja) 情報取得装置、情報取得方法、情報取得プログラム
CN103503365A (zh) 记录介质装置及控制器
CN103039034A (zh) 无效化列表生成装置、无效化列表生成方法及内容管理系统
US8275998B2 (en) Encryption device, key distribution device and key distribution system
JP4638160B2 (ja) 著作物保護システム、記録装置、再生装置及び記録媒体
JP4801054B2 (ja) 回路更新システム
AU2002301287B2 (en) Data Processing Apparatus and Data Processing Method
WO2013073115A1 (ja) コンテンツ配信装置及びコンテンツ配信システム

Legal Events

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

Ref document number: 200680020397.4

Country of ref document: CN

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

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 2007512979

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2006731428

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: RU

WWP Wipo information: published in national office

Ref document number: 2006731428

Country of ref document: EP