WO2012011254A1 - 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法 - Google Patents

情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法 Download PDF

Info

Publication number
WO2012011254A1
WO2012011254A1 PCT/JP2011/004025 JP2011004025W WO2012011254A1 WO 2012011254 A1 WO2012011254 A1 WO 2012011254A1 JP 2011004025 W JP2011004025 W JP 2011004025W WO 2012011254 A1 WO2012011254 A1 WO 2012011254A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
information
unit
version
list
Prior art date
Application number
PCT/JP2011/004025
Other languages
English (en)
French (fr)
Inventor
山本 雅哉
山口 高弘
Original Assignee
パナソニック株式会社
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 パナソニック株式会社 filed Critical パナソニック株式会社
Priority to JP2012525312A priority Critical patent/JP5815525B2/ja
Priority to EP11809430.9A priority patent/EP2597588B1/en
Priority to CN201180003943.4A priority patent/CN102549595B/zh
Publication of WO2012011254A1 publication Critical patent/WO2012011254A1/ja

Links

Images

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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • H04L9/0841Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols
    • H04L9/0844Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these involving Diffie-Hellman or related key agreement protocols with user authentication or key authentication, e.g. ElGamal, MTI, MQV-Menezes-Qu-Vanstone protocol or Diffie-Hellman protocols using implicitly-certified keys
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • H04L9/3252Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using DSA or related signature schemes, e.g. elliptic based signatures, ElGamal or Schnorr schemes
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3273Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response for mutual authentication
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3297Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information

Definitions

  • the present invention relates to an information processing apparatus that performs processing using an invalidation list.
  • both the memory card and the host hold a private key and a public key certificate.
  • the public key certificate includes a certificate ID and a public key, and is given a digital signature by a valid key issuing authority.
  • the memory card and the host are a Diffie-Helman method that is a key exchange method based on the complexity of prime factorization, or an EC-DH (Electric Curve Diffiee) that is a key exchange method based on the discrete logarithm problem on an elliptic curve.
  • -Helman Diffie-Helman method that is a key exchange method based on the complexity of prime factorization
  • EC-DH Electrical Curve Diffiee
  • the revocation list is a list in which the certificate ID of the device whose private key has been leaked is described.
  • the invalidation list is updated to a new version when a device with a secret key leaked is newly added, but the process of storing the invalidation list in the memory card is left to the card manufacturer.
  • the card maker erroneously stores the invalidation list of the old version, or intentionally stores the invalidation list of the old version in order to increase the user's willingness to purchase.
  • An object of the present invention is to provide a revocation list validity determination method and a key issue method.
  • the present invention provides an information processing apparatus that performs authentication and key exchange processing using key information, wherein the key information issued by a key issuing authority and the key information are generated.
  • a version of the latest revocation list issued at the time a storage unit that stores version information that is information associated with the key information, and a revocation list to which a version is added
  • the comparison unit that compares the version of the invalidation list received by the invalidation list reception unit and the version information, and the version of the invalidation list are older than the version information, And a control unit that suppresses predetermined processing.
  • the manufacturer embeds an invalidation list of an old version in the information processing apparatus
  • the information processing apparatus has its control unit restrained from predetermined processing. Therefore, an information processing apparatus that does not operate normally is manufactured. Therefore, by having the above configuration, the manufacturer is expected to embed a new invalidation list in the information processing apparatus in order to prevent the information processing apparatus from operating normally from being manufactured.
  • FIG. 1 is a diagram illustrating a configuration of a memory card manufacturing system 1.
  • FIG. 2 is a block diagram showing a configuration of a key issuing authority 10.
  • FIG. FIG. 4 is a diagram showing a data configuration of an invalidation list 120. It is a figure which shows the data structure of the key information.
  • 2 is a block diagram showing configurations of a memory card manufacturing apparatus 20 and a memory card 30.
  • FIG. 4 is a flowchart showing an operation of a writing process by the memory card 30. It is a block diagram which shows the structure of the memory card 30a.
  • 1 is a diagram illustrating a configuration of a content reproduction system 2.
  • FIG. 3 is a block diagram showing a configuration of a memory card 40.
  • FIG. 3 is a block diagram showing a configuration of a playback device 50.
  • FIG. 4 is a flowchart showing operations of an authentication key exchange process and a content transmission / reception process performed by the memory card 40 and the playback device 50.
  • 4 is a flowchart showing operations of an authentication key exchange process and a content transmission / reception process performed by the memory card 40 and the playback device 50.
  • 4 is a flowchart showing operations of an authentication key exchange process and a content transmission / reception process performed by the memory card 40 and the playback device 50.
  • 10 is a flowchart showing the operation of version verification processing by the memory card 40 and the playback device 50. It is a block diagram which shows the structure of the memory card 40a.
  • Embodiment 1 A memory card manufacturing system 1 according to the first embodiment of the present invention will be described.
  • the memory card manufacturing system 1 is a system for manufacturing a memory card including a controller and a flash memory. As shown in FIG. 1, the memory card manufacturing system 1 includes a key issuing authority 10, a memory card manufacturing apparatus 20, and a memory card 30 as an information processing apparatus according to the present invention.
  • the key issuing authority 10 is a device that generates, manages, and distributes key information and an invalidation list for embedding in a memory card.
  • the memory card manufacturing device 20 is a device of a memory card manufacturer.
  • the memory card manufacturer assembles and ships the memory card 30, purchases a controller from the controller manufacturer, purchases flash memory from the flash memory manufacturer, and assembles the memory card 30. Then, the memory card manufacturer uses the memory card manufacturing apparatus 20 to transmit the key information acquired from the key issuing authority 10 and the revocation list to the controller of the assembled memory card 30.
  • (1) Key issuing authority 10 As shown in FIG. 2, the key issuing authority 10 includes a root secret key holding unit 101, a new registration receiving unit 102, a version management unit 103, a revocation list management unit 104, a revocation list generation unit 105, and a key pair generation unit 106. , A certificate ID management unit 107, a certificate generation unit 108, a signature addition unit 109, a key information generation unit 110, a key information transmission unit 111, and an invalidation list transmission unit 112.
  • the key issuing authority 10 is specifically a computer system provided with hardware such as a processor, a hard disk, a ROM, and a RAM. A computer program is recorded in the ROM, and the key issuing authority 10 achieves its function when the processor executes the computer program using the RAM.
  • the root secret key holding unit 101 holds a root secret key that is the basis of the security of this system. Since the leakage of the root secret key means that the entire system is damaged, the root secret key needs to be managed very strictly.
  • the root secret key forms a key pair with a root public key described later.
  • the new registration receiving unit 102 receives an input of a certificate ID (hereinafter referred to as “invalid certificate ID”) of a public key certificate to be newly added to the revocation list when the private key is disclosed.
  • the new registration receiving unit 102 includes an input device such as a mouse and a keyboard and an application program, and the operator inputs an invalid certificate ID by operating the keyboard and the like.
  • the version management unit 103 manages the version number of the latest invalidation list that has already been issued. That is, the version management unit 103 stores therein “minimum version information” that is the version number of the latest invalidation list that has already been issued, and the invalidation list generation unit 105 generates a new invalidation list. Each time it is performed, the stored “minimum version information” is incremented by “1”.
  • the invalidation list management unit 104 stores the invalid certificate ID accepted by the new registration acceptance unit 102.
  • the revocation list generation unit 105 generates a revocation list from the revocation certificate ID stored in the revocation list management unit 104.
  • the invalidation list 120 includes a version 121, a registration number 122, a list 123, and a digital signature 124.
  • Version 121 indicates the version of the invalidation list 120.
  • the invalidation list generation unit 105 adds “1” to “minimum version information” managed by the version management unit 103 to obtain a version 121.
  • the registration number 122 indicates the number of invalid certificate IDs listed in the list 123.
  • the invalidation list generation unit 105 sets the number of invalid certificate IDs stored in the invalidation list management unit 104 as the registration number 122.
  • the list 123 includes n invalidation certificate IDs.
  • the invalidation list generation unit 105 generates a list 123 including all invalidation certificate IDs accumulated in the invalidation list management unit 104.
  • the digital signature 124 is a digital signature generated for the version 121, the registration number 122, and the list 123.
  • the revocation list generation unit 105 uses a root secret key held in the root secret key holding unit 101 as a signature generation key, and applies a predetermined signature generation algorithm to data obtained by combining the version 121, the registration number 122, and the list 123.
  • the digital signature 124 is generated.
  • the invalidation list generation unit 105 generates the invalidation list 120 from the version 121, the number of registrations 122, the list 123, and the digital signature 124, and outputs the generated invalidation list 120 to the invalidation list transmission unit 112. Further, when the invalidation list generation unit 105 generates the invalidation list 120, the invalidation list generation unit 105 notifies the version management unit 103 to that effect.
  • the key pair generation unit 106 generates a key pair composed of a public key and a secret key to be given to the memory card 30.
  • the key pair generation unit 106 outputs the generated public key to the certificate generation unit 108, and outputs the generated secret key to the key information generation unit 110.
  • the certificate ID management unit 107 manages the certificate ID of the public key certificate issued by the key issuing authority 10. Care must be taken not to reuse the already used certificate ID by mistake. As an example, each time the key issuing authority 10 issues a public key certificate, the certificate ID management unit 107 may increment the counter by “1” and always generate a certificate ID with a new number.
  • the certificate generation unit 108 generates certificate data that is a part of the public key certificate.
  • the certificate generation unit 108 generates certificate data including the certificate ID instructed from the certificate ID management unit 107 and the public key generated by the key pair generation unit 106.
  • the certificate generation unit 108 outputs the generated certificate data to the signature adding unit 109.
  • the signature assigning unit 109 uses the root private key held in the root private key holding unit 101 as a signature generation key, applies a predetermined signature generation algorithm to the certificate data received from the certificate generation unit 108, and creates a digital signature Is generated.
  • the signature adding unit 109 generates a public key certificate by adding a digital signature to the certificate data, and outputs the generated public key certificate to the key information generating unit 110.
  • the key information generation unit 110 generates key information to be sent to the memory card manufacturing apparatus 20.
  • the key information 130 includes a private key 131, a public key certificate 132, minimum version information 133, and a digital signature 134.
  • the public key certificate 132 includes a certificate ID 135, a public key 136, and a digital signature 137.
  • the secret key 131 is a secret key received from the key pair generation unit 106 by the key information generation unit 110.
  • the public key certificate 132 is a public key certificate received by the key information generation unit 110 from the signature adding unit 109.
  • the key information generation unit 110 reads “minimum version information” managed by the version management unit 103 and sets it as the minimum version information 133. Further, the key information generation unit 110 uses the root secret key held in the root secret key holding unit 101 as a signature generation key, and the data that combines the secret key 131, the public key certificate 132, and the minimum version information 133 is obtained.
  • the digital signature 134 is generated by applying a predetermined signature generation algorithm.
  • the key information generation unit 110 generates key information 130 from the private key 131, public key certificate 132, minimum version information 133, and digital signature 134, and outputs the generated key information 130 to the key information transmission unit 111.
  • the key information transmission unit 111 When receiving a request from the memory card manufacturing apparatus 20, the key information transmission unit 111 transmits the key information 130 to the memory card manufacturing apparatus 20.
  • the invalidation list transmission unit 112 transmits the invalidation list 120 to the memory card manufacturing apparatus 20.
  • the memory card manufacturing apparatus 20 includes an invalidation list transmission unit 201 and a key information transmission unit 202.
  • the invalidation list transmission unit 201 acquires the invalidation list 120 from the key issuing authority 10 and transmits the acquired invalidation list 120 to the controller 301 of the memory card 30.
  • the key information transmission unit 202 acquires the key information 130 from the key issuing authority 10 and transmits the acquired key information 130 to the controller 301 of the memory card 30.
  • (3) Memory card 30 As shown in FIG. 5, the memory card 30 includes a controller 301 and a storage unit 302.
  • the controller 301 is an LSI device acquired by the memory card manufacturer from the controller manufacturer.
  • the internal processing is securely protected and information cannot be read from the outside.
  • the storage unit 302 is a flash memory acquired by a memory card manufacturer from a flash manufacturer. Writing data to the storage unit 302 and reading data from the storage unit 302 are performed via the controller 301.
  • the controller 301 includes a root public key holding unit 303, an invalidation list reception unit 304, a key information reception unit 305, a signature verification unit 306, a key information writing unit 307, a version verification unit 308, and an invalidation list writing unit 309. Is done.
  • the root public key holding unit 303 holds a root public key that forms a key pair with the root secret key held by the key issuing authority 10.
  • the root public key is used for verification of the digital signature generated by the key issuing authority 10.
  • the root public key holding unit 303 may be configured with hard logic inside the controller 301.
  • the invalidation list reception unit 304 receives the invalidation list 120 from the invalidation list transmission unit 201 of the memory card manufacturing apparatus 20.
  • the invalidation list reception unit 304 outputs the received invalidation list 120 to the signature verification unit 306.
  • the key information receiving unit 305 receives the key information 130 from the key information transmitting unit 202 of the memory card manufacturing apparatus 20.
  • the key information reception unit 305 outputs the received key information 130 to the signature verification unit 306.
  • the signature verification unit 306 uses the root public key held by the root public key holding unit 303 to use the digital signature 124 included in the revocation list 120, the digital signature 134 included in the key information 130, and the public key certificate 132. Each of the digital signatures 137 included in is subjected to a predetermined signature verification algorithm to perform signature verification.
  • the key information writing unit 307 writes the key information 130 in the storage unit 302 when the digital signature 134 included in the key information 130 and the digital signature 137 included in the public key certificate 132 are successfully verified.
  • the version verification unit 308 receives the invalidation list 120 from the signature verification unit 306 and reads the version 121 from the received invalidation list 120. Also, the version verification unit 308 reads the minimum version information 133 from the key information 130 stored in the storage unit 302.
  • the version verification unit 308 determines whether the version 121 is older than the minimum version information 133. If the version 121 of the invalidation list 120 is older than the minimum version information 133, the version verification unit 308 determines that the old invalidation list is about to be written illegally, and makes the invalidation list 120 the invalidation list. Discard without outputting to the writing unit 309. When the version 121 of the invalidation list 120 is the same as or newer than the minimum version information 133, the version verification unit 308 outputs the invalidation list 120 to the invalidation list writing unit 309.
  • the invalidation list writing unit 309 Upon receiving the invalidation list 120 from the version verification unit 308, the invalidation list writing unit 309 writes the received invalidation list 120 into the storage unit 302. ⁇ Operation> Here, the operation of writing the key information and the revocation list by the controller 301 will be described with reference to FIG.
  • the invalidation list reception unit 304 receives the invalidation list (step S1).
  • the key information receiving unit 305 receives key information (step S2).
  • the signature verification unit 306 verifies the digital signature of the key information using the root public key held in the root public key holding unit 303 (step S3). If the signature verification fails (NO in step S4), the controller 301 ends the process.
  • step S4 If the signature verification is successful (YES in step S4), the signature verification unit 306 extracts the public key certificate from the key information (step S5), and verifies the digital signature of the public key certificate using the root public key. (Step S6). If the signature verification fails (NO in step S7), the controller 301 ends the process.
  • step S7 If the signature verification is successful (YES in step S7), the key information writing unit 307 writes the key information in the storage unit 302 (step S8).
  • the signature verification unit 306 verifies the digital signature of the revocation list received in step S1 using the root public key (step S9). If the signature verification fails (NO in step S10), the controller 301 ends the process. *
  • the version verification unit 308 extracts “minimum version information” from the key information stored in the storage unit 302 (step S11). Further, the version verification unit 308 reads “version” from the invalidation list. The version verification unit 308 performs a version verification process for determining whether the version of the invalidation list is older than the minimum version information (step S12).
  • the controller 301 ends the process.
  • the field of the invalidation list is the same as or newer than the minimum version information (NO in step S13)
  • the invalidation list writing unit 309 writes the invalidation list in the storage unit 302 (step S14).
  • a memory card 30a will be described as a modification of the memory card 30 described in the first embodiment.
  • FIG. 7 is a block diagram showing the configuration of the memory card 30a.
  • components having the same functions as those of the memory card 30 described in FIG. 5 are denoted by the same reference numerals as those in FIG.
  • the controller 301 a of the memory card 30 a includes a controller unique key holding unit 311 and an encryption unit 312 in addition to the components of the controller 301.
  • the controller unique key holding unit 311 holds a controller unique key that is information unique to the controller 301a. For example, after the controller 301a is manufactured, the controller unique key is written using a technique such as eFUSE in which a part of an electronic circuit is electrically burned out and a different number is engraved for each individual.
  • a technique such as eFUSE in which a part of an electronic circuit is electrically burned out and a different number is engraved for each individual.
  • the signature verification unit 306 of the controller 301a When the signature verification unit 306 of the controller 301a succeeds in verifying the digital signature included in the key information, it outputs the key information to the encryption unit 312.
  • the encryption unit 312 encrypts the secret key included in the key information with the controller unique key held in the controller unique key holding unit 311 to generate an encrypted secret key.
  • the key information writing unit 307 writes key information including an encrypted private key, a public key certificate, minimum version information, and a digital signature in the storage unit 302.
  • the controller 301 a writes the encrypted secret key in the storage unit 302.
  • the key used for encryption is a key unique to the controller 301a
  • the encrypted secret key stored in the storage unit 302 cannot be decrypted by any other controller than the controller 301a. Therefore, the security of the secret key can be further enhanced by using the controller 301a.
  • Embodiment 2 The content reproduction system 2 which is 2nd embodiment which concerns on this invention is demonstrated. ⁇ Configuration> As shown in FIG. 8, the content reproduction system 2 includes a memory card 40 as an information processing apparatus according to the present invention and a reproduction apparatus 50 as an information processing apparatus according to the present invention.
  • the playback device 50 is a device that reads and plays digital content from the memory card 40.
  • Both the memory card 40 and the playback device 50 hold a PKI key pair issued by the key issuing authority 10 described in the first embodiment and an invalidation list.
  • the memory card 40 and the playback device 50 transmit and receive content by encrypted communication after performing mutual authentication using the key pair and the revocation list.
  • (1) Memory card 40 As shown in FIG. 9, the memory card 40 includes a controller 401 and a storage unit 402.
  • the controller 401 is an LSI device, the internal processing is securely protected, and information cannot be read from the outside.
  • the storage unit 402 is a flash memory. Writing data to the storage unit 402 and reading data from the storage unit 402 are performed via the controller 401.
  • the storage unit 402 includes key information 410 including a private key 411, a public key certificate 412, minimum version information 413, and a digital signature 414, an invalidation list 415, a content key 416, and encrypted content 417.
  • key information 410 including a private key 411, a public key certificate 412, minimum version information 413, and a digital signature 414, an invalidation list 415, a content key 416, and encrypted content 417.
  • the data configuration of the public key certificate 412 is the same as that of the public key certificate 132 of FIG. 4, and the data configuration of the revocation list 415 is the same as that of the revocation list 120 of FIG.
  • the private key 411 and the public key included in the public key certificate 412 constitute a PKI key pair.
  • the encrypted content 417 is encrypted data generated by applying a predetermined encryption algorithm to plaintext content using the content key 416 as an encryption key.
  • the controller 401 includes a root public key holding unit 421, a version verification unit 422, an authentication key exchange unit 423, an invalidation list update unit 426, an invalidation determination unit 427, a content key transmission unit 428, and an encrypted content transmission unit 429.
  • the authentication key exchange unit 423 includes an authentication unit 424 and a session key generation unit 425.
  • the root public key holding unit 421 holds a root public key that forms a key pair with the root secret key held by the key issuing authority 10.
  • the root public key is used for verification of the digital signature generated by the key issuing authority 10.
  • the root public key holding unit 421 may be configured with hard logic inside the controller 401.
  • the version verification unit 422 compares the minimum version information included in the public key certificate 412 with the version included in the invalidation list 415, and confirms the validity of the invalidation list 415. Specifically, if the version of the invalidation list is older than the minimum version information, the version verification unit 422 determines that some kind of attack or fraud has been performed and establishes encrypted communication with the playback device 50. Cancel. Note that the version verification processing by the version verification unit 422 may be performed each time communication with the playback device 50 is performed, or may be performed not at each communication but at the initial time or the invalidation list update time.
  • the authentication unit 424 verifies the digital signature included in the public key certificate received from the playback device 50, using the root public key held by the root public key holding unit 421.
  • the signature generation and signature verification algorithms are DSA (Digital Signature Algorithm) based on the difficulty of prime factorization, and EC-DSA (Elliptic Curve Digital Signature Algorithm) based on the discrete logarithm problem on an elliptic curve. and so on. These algorithms may be used, and other algorithms may be used.
  • EC-DSA having a key length of 160 bits is used as an example.
  • the playback device 50 when it is determined that the digital signature included in the public key certificate of the playback device 50 is not correct, the playback device 50 is regarded as an unauthorized device, and encrypted communication with the playback device 50 is performed. Cancel the establishment of.
  • the authentication unit 424 performs challenge-response authentication with the playback device 50. Details of the challenge-response authentication will be described later. If the challenge-response authentication fails, the playback device 50 is assumed to be an unauthorized device or some sort of attack has occurred in the communication path, and the establishment of encrypted communication with the playback device 50 is stopped.
  • the session key generation unit 425 generates a session key shared with the playback device 50 using information generated in the challenge-response authentication by the authentication unit 424, information received from the playback device 50, and the like. A specific method for generating the session key will be described later.
  • the invalidation list update unit 426 transmits and receives invalidation lists held by itself to and from the playback device 50.
  • the invalidation list update unit 426 transmits the invalidation list 415 after encrypting it with the session key generated by the session key generation unit 425. Also, since the invalidation list received from the playback device 50 is encrypted with the session key, the invalidation list update unit 426 decrypts with the session key.
  • AES Advanced Encryption Standard
  • the encryption algorithm used here is not limited to AES, and any other algorithm may be used as long as it is a common key cryptosystem having a sufficient key length.
  • other methods may be used as long as the method can prevent an attack that replaces the invalidation list with an old version (referred to as a “rollback attack”) such as MAC (Message Authentication Code) instead of encryption. .
  • MAC Message Authentication Code
  • the invalidation list update unit 426 may transmit / receive the entire invalidation list, or initially transmit / receive only the “version” included in the invalidation list, and then, if necessary, the entire invalidation list. May be transmitted or received.
  • the invalidation list update unit 426 encrypts and transmits using a session key when transmitting a version, and transmits plaintext without encryption when transmitting the remaining invalidation list data. It may be transmitted as it is. Thereby, the process of encrypting the entire invalidation list having a large data size can be omitted.
  • the invalidation list update unit 426 compares the version of the invalidation list 415 held by the own device with the version of the invalidation list held by the playback device 50. When it is determined that the invalidation list held by the playback device 50 is newer, the invalidation list update unit 426 receives the invalidation list 415 stored in the storage unit 402 from the playback device 50. Update with invalidation list.
  • the revocation list update unit 426 may verify the digital signature included in the revocation list received from the playback device 50 using the root public key before updating the revocation list in the storage unit 402. . Only when the signature verification is successful, the invalidation list 415 of the storage unit 402 is updated. When the signature verification fails, the invalidation list 415 is not updated, and the received invalidation list is invalid. It may be considered to be discarded.
  • the invalidation determination unit 427 determines whether the certificate ID included in the public key certificate received from the playback device 50 is included in the invalidation list stored in the storage unit 402. When the certificate ID of the playback device 50 is included in the revocation list, the playback device 50 is an unauthorized device, and therefore the controller 401 rejects establishment of encrypted communication and transmission of content.
  • the content key transmission unit 428 reads the content key 416 from the storage unit 402 when the mutual authentication process by the authentication unit 424 and the invalidation determination process by the invalidation determination unit 427 are normally completed. Then, the content key transmission unit 428 generates an encrypted content key by encrypting the content key 416 with the session key, and transmits the encrypted content key to the playback device 50.
  • AES is used as an example of the encryption algorithm.
  • the encrypted content transmission unit 429 reads the encrypted content 417 from the storage unit 402 and transmits the encrypted content 417 to the playback device 50.
  • the playback device 50 includes a storage unit 502, a root public key holding unit 521, a version verification unit 522, an authentication key exchange unit 523, an invalidation list update unit 526, an invalidation determination unit 527, and a content key reception.
  • the authentication key exchange unit 523 includes an authentication unit 524 and a session key generation unit 525.
  • the playback device 50 is a computer system including a processor, a hard disk, a ROM, a RAM, and the like.
  • a computer program is recorded in the ROM, and the playback device 50 achieves its functions when the processor executes the computer program using the RAM.
  • the storage unit 502 stores key information 510 including a private key 511, a public key certificate 512, minimum version information 513, and a digital signature 514, and an invalidation list 515.
  • the data structure of the public key certificate 512 is the same as that of the public key certificate 132 of FIG. 4, and the data structure of the revocation list 515 is the same as that of the revocation list 120 of FIG.
  • the private key 511 and the public key included in the public key certificate 512 constitute a PKI key pair.
  • the root public key holding unit 521 holds a root public key that forms a key pair with the root secret key held by the key issuing authority 10.
  • the root public key is used for verification of the digital signature generated by the key issuing authority 10.
  • the version verification unit 522 compares the minimum version information included in the public key certificate 512 with the version included in the revocation list 515, and confirms the validity of the revocation list 515. Specifically, if the version of the invalidation list is older than the minimum version information, the version verification unit 522 determines that some sort of attack or fraud has occurred, and establishes encrypted communication with the memory card 40. Cancel. Note that the version verification processing by the version verification unit 522 may be performed each time communication with the memory card 40 is performed, or may be performed not at each communication but at an initial time or invalidation list update time.
  • the authentication unit 524 verifies the digital signature included in the public key certificate received from the memory card 40 using the root public key held by the root public key holding unit 521.
  • EC-DSA is used as an algorithm for signature generation and signature verification.
  • the memory card 40 is regarded as an unauthorized device, and encryption with the memory card 40 is performed. Cancel communication establishment.
  • the authentication unit 524 performs challenge-response authentication with the memory card 40. Details of the challenge-response authentication will be described later. If the challenge-response authentication fails, it is assumed that the memory card 40 is an unauthorized device or that there has been some sort of attack on the communication path, and the establishment of encrypted communication with the memory card 40 is stopped.
  • the session key generation unit 525 generates a session key shared with the memory card 40 using information generated in the challenge-response authentication by the authentication unit 524, information received from the memory card 40, and the like. A specific method for generating the session key will be described later.
  • the invalidation list update unit 526 sends and receives invalidation lists held by itself to and from the memory card 40.
  • the invalidation list update unit 526 transmits the invalidation list 515 after encrypting it with the session key generated by the session key generation unit 525. Since the invalidation list received from the memory card 40 is encrypted with the session key, the invalidation list update unit 526 decrypts the invalidation list with the session key.
  • AES is used as the encryption algorithm.
  • the invalidation list update unit 526 may transmit / receive the entire invalidation list, or may initially transmit / receive only the “version” included in the invalidation list, and then the entire invalidation list as necessary. May be transmitted or received.
  • the invalidation list update unit 526 encrypts and transmits the version using the session key, and transmits the remaining invalidation list. When data is transmitted, it may be transmitted as plain text without being encrypted.
  • the invalidation list update unit 526 compares the version of the invalidation list 515 held by itself with the version of the invalidation list held by the memory card 40. If it is determined that the invalidation list held by the memory card 40 is newer, the invalidation list update unit 526 receives the invalidation list 515 stored in the storage unit 502 from the memory card 40. Update with invalidation list.
  • the invalidation list update unit 526 may verify the digital signature included in the invalidation list received from the memory card 40 using the root public key before updating the invalidation list in the storage unit 502. . Then, only when the signature verification is successful, the invalidation list 515 of the storage unit 502 is updated. When the signature verification fails, the invalidation list 515 is not updated, and the received invalidation list is invalid. It may be considered to be discarded.
  • the invalidation determination unit 527 determines whether the certificate ID included in the public key certificate received from the memory card 40 is included in the invalidation list stored in the storage unit 502. If the certificate ID of the memory card 40 is included in the invalidation list, the playback device 50 stops the establishment of encrypted communication and the decryption process of the encrypted content because the memory card 40 is an unauthorized device.
  • the content key receiving unit 528 receives the encrypted content key from the memory card 40.
  • the encrypted content key is data obtained by encrypting the content key 416 with the session key.
  • the encrypted content receiving unit 529 receives the encrypted content from the memory card 40.
  • the encrypted content is data obtained by encrypting the content with a content key.
  • the decryption unit 530 decrypts the encrypted content key received by the content key reception unit 528 using the session key when the mutual authentication process by the authentication unit 524 and the invalidation determination process by the invalidation determination unit 527 are normally completed. And generate a content key.
  • AES is used as the encryption algorithm.
  • the decryption unit 531 receives the content key from the decryption unit 530 and receives the encrypted content from the encrypted content reception unit 529.
  • the decryption unit 531 decrypts the encrypted content using the content key, and generates content.
  • the playback unit 532 decodes the content decrypted by the decryption unit 531 and outputs it to an external display (not shown). ⁇ Operation> Here, the operation of the content reproduction system 2 will be described with reference to the flowcharts of FIGS.
  • the authentication unit 524 of the playback device 50 generates a 160-bit random value Hn (Host nonce) (Step S101).
  • Hn HyperText nonce
  • the authentication unit 524 adds the public key certificate 512 held by the storage unit 502 to the 160-bit random value generated in step S101. This is transmitted to the memory card 40 as challenge data (step S102).
  • the public key certificate 512 is described as “Hcert (Host Certificate)”.
  • is a symbol meaning connection.
  • the memory card 40 When the memory card 40 receives the challenge data from the playback device 50, the memory card 40 performs a version verification process by the version verification unit 422 (step S103). Details of the version verification process will be described later.
  • step S104 If it is determined that the invalidation list is invalid in the version verification process (NO in step S104), the memory card 40 stops the process. If it is determined in the version verification process that the invalidation list is valid (YES in step S104), the process proceeds to step S105.
  • the authentication unit 424 verifies the public key certificate Hcert included in the challenge data received in step S102, using the root public key (step S105). If the public key certificate Hcert verification process fails (NO in step S106), the memory card 40 stops the process. If the public key certificate Hcert is successfully verified (YES in step S106), the authentication unit 424 generates a 160-bit random value Mn (Media nonce) (step S107).
  • the authentication unit 424 adds the public key certificate 412 held by the storage unit 402 to the 160-bit random value Hn generated in step S107. This is transmitted to the playback device 50 as challenge data (step S108).
  • the public key certificate 412 is described as “Mcert (Media Certificate)”.
  • the playback device 50 When receiving the challenge data from the memory card 40, the playback device 50 performs version verification processing by the version verification unit 522 (step S109). Details of the version verification process will be described later.
  • step S110 If it is determined in the version verification process that the invalidation list is invalid (NO in step S110), the playback device 50 stops the process. If it is determined in the version verification process that the invalidation list is valid (YES in step S110), the process proceeds to step S117.
  • the authentication unit 424 of the memory card 40 generates a 160-bit random value Mk (Media Key) after transmitting the challenge data in Step S108 (Step S113). If an algorithm other than EC-DH is used, the random value generated in step S113 is not necessarily 160 bits.
  • the authentication unit 424 stores the secret stored in the storage unit 402 for Hn
  • a digital signature (Sign (Mpriv, Hn
  • the authentication unit 424 transmits the data obtained by concatenating the Mv calculated in step S114 and the digital signature Sign (Mpriv, Hn
  • the playback device 50 receives response data from the memory card 40.
  • the authentication unit 524 verifies the digital signature Sign (Mpriv, Hn
  • step S118 If the verification of the digital signature fails (NO in step S118), the playback device 50 stops the processing. If the digital signature is successfully verified (YES in step S118), the authentication unit 524 generates a 160-bit random value Hk (Host Key) (step S119).
  • Hk HyperText Key
  • the authentication unit 524 stores Mn contained in the challenge data received in step S108 and Mn
  • a digital signature (Sign (Hpriv, Mn
  • the authentication unit 524 transmits the data obtained by concatenating the Hv calculated in Step S120 and the digital signature Sign (Hpriv, Mn
  • the memory card 40 receives response data from the playback device 50.
  • the authentication unit 424 verifies the digital signature Sign (Hpriv, Mn
  • the invalidation list update unit 426 of the memory card 40 encrypts the invalidation list 415 (Mcr1) stored in the storage unit 402 with the session key Bk generated in step S125, and encrypts the invalidation list Enc. (Bk, Mcrl) is generated (step S127). Then, the invalidation list update unit 426 transmits the encryption invalidation list Enc (Bk, Mcrl) to the playback device 50 (step S128).
  • the invalidation list update unit 526 of the playback device 50 similarly encrypts the invalidation list 515 (Hcr1) stored in the storage unit 502 with the session key Bk generated in step S126, and encrypts the invalidation list. Enc (Bk, Hcrl) is generated (step S129). Then, the invalidation list update unit 526 transmits the encryption invalidation list Enc (Bk, Hcr1) to the memory card 40 (step S130).
  • the invalidation list update unit 526 decrypts Enc (Bk, Mcrl) received in step S128 using the session key Bk (step S131).
  • the invalidation list update unit 426 decrypts Enc (Bk, Hcrl) received in step S130 using the session key Bk (step S132).
  • the invalidation list update unit 426 compares the Mcrl version with the Hcrrl version (step S133).
  • step S134 If the version of Mcrl is newer than the version of Hcr1, there is no need to update (NO in step S134), the process proceeds to step S143.
  • the revocation list update unit 426 uses the root public key to include the digital signature included in Hcrl. Is verified (step S135). If the signature verification fails (NO in step S136), the update process is not performed and the process proceeds to step S143. If the signature verification is successful (YES in step S136), the invalidation list update unit 426 updates the invalidation list Mcrl stored in the storage unit 402 with the invalidation list Hcr1 received from the playback device 50 (step S137). ).
  • the invalidation list updating unit 526 of the playback device 50 similarly compares the version of Mcrl with the version of Hcr1 (step S138).
  • step S139 If the version of Hcrl is newer than the version of Mcrl, there is no need to update (NO in step S139), so the process proceeds to step S148.
  • the revocation list update unit 526 uses the root public key to include the digital signature included in Mcrl Is verified (step S140). If the signature verification fails (NO in step S141), the update process is not performed and the process proceeds to step S148. If the signature verification is successful (YES in step S141), the invalidation list update unit 526 updates the invalidation list Hcr1 stored in the storage unit 502 with the invalidation list Mcrl received from the memory card 40 (step S142). ).
  • the invalidation determination unit 427 of the memory card 40 uses the invalidation list stored in the storage unit 402 to confirm the validity of the public key certificate Hcert of the playback device 50 (step S143). Specifically, the invalidation determination unit 427 determines whether the certificate ID of Hcert is recorded in the invalidation list.
  • step S144 If the certificate ID of Hcert is recorded in the revocation list (NO in step S144), the playback device 50 is regarded as an unauthorized device, and the memory card 40 stops processing.
  • the content key transmission unit 428 reads the content key from the storage unit 402 (step S145).
  • the content transmission unit 428 encrypts the read content key using the session key Bk generated in step S125, and generates an encrypted content key Enc (Bk, Kc) (step S146).
  • the encrypted content transmission unit 429 reads the encrypted content from the storage unit 402 (step S147).
  • the content key transmission unit 428 transmits the encrypted content key Enc (Bk, Kc) to the playback device 50, and the encrypted content transmission unit 429 transmits the encrypted content Enc (Kc, Cont) to the playback device 50. (Step S148).
  • the content key receiving unit 528 of the playback device 50 receives the encrypted content key Enc (Bk, Kc), and the encrypted content receiving unit 529 receives the encrypted content Enc (Kc, Cont).
  • the invalidation determination unit 527 of the playback device 50 checks the validity of the public key certificate Mcert of the memory card 40 using the invalidation list stored in the storage unit 502 (step S149). Specifically, the invalidation determination unit 527 determines whether or not the certificate ID of Mcert is recorded in the invalidation list.
  • step S150 If the certificate ID of Mcert is recorded in the revocation list (NO in step S150), the memory card 40 is regarded as an unauthorized device, and the playback device 50 stops processing.
  • the decryption unit 530 decrypts the encrypted content key using the session key Bk generated in step S126, and the content key is Generate (step S151). Subsequently, the decrypting unit 531 decrypts the encrypted content using the content key generated in Step S151, and generates the content (Step S152). Then, the playback unit 532 plays back the content (step S153).
  • the processing shown in FIG. 14 is executed by the version verification unit 422 of the memory card 40 and the version verification unit 522 of the playback device 50. Since the version verification units 422 and 522 perform the same processing, the description is omitted here for the sake of convenience.
  • the version verification unit reads the key information stored in the storage unit, and verifies the digital signature included in the key information (step S201). If the signature verification fails (NO in step S202), the process proceeds to step S206. If the signature verification is successful (YES in step S202), the version verification unit reads “version” from the invalidation list stored in the storage unit (step S203). Further, the version verification unit reads “minimum version information” from the key information (step S202).
  • step S205 it is determined whether the version of the invalidation list is older than the minimum version information. If the version of the invalidation list is older than the minimum version information (YES in step S205), the version verification unit determines that the invalidation list is invalid (step S206). If the version of the invalidation list is the same as or newer than the minimum version information (NO in step S205), the version verification unit determines that the invalidation list is valid (step S207).
  • the version verification unit verifies the validity of the invalidation list by comparing the version of the invalidation list with the minimum version information. However, if the minimum version information itself has been tampered with, the version verification process is effective. Sex is lost. Therefore, the version verification unit verifies the digital signature of the key information before comparing the version of the revocation list with the minimum version information, so that the minimum version information is associated with the key information by the key issuing authority. We will verify that it is generated. ⁇ Modification>
  • a memory card 40a will be described as a modification of the memory card 40 described in the second embodiment.
  • FIG. 15 is a block diagram showing the configuration of the memory card 40a.
  • components having the same functions as those of the memory card 40 described in FIG. 9 are denoted by the same reference numerals as those in FIG.
  • the controller 401 a of the memory card 40 a includes a controller unique key holding unit 431 and a decrypting unit 432 in addition to the components of the controller 401.
  • the controller unique key holding unit 431 holds a controller unique key that is information unique to the controller 401a. For example, after the controller 401a is manufactured, the controller unique key is written using a technique such as eFUSE in which a part of the electronic circuit is electrically burned and a different number is engraved for each individual.
  • the key information 410a according to the modified example includes an encrypted secret key 411a in which the secret key is encrypted with the controller unique key.
  • the decryption unit 432 decrypts the encrypted secret key using the controller key, and outputs the decrypted secret key to the authentication unit 424.
  • the memory card 40 a holds the encrypted secret key in the storage unit 402, and when the authentication unit 424 uses the secret key, the decryption unit 432 performs the decryption process. Since the plaintext secret key is not output to the outside of the controller 401a, the use of the controller 401a can further increase the security of the secret key.
  • “version” of the invalidation list is used as the minimum version information, but the present invention is not limited to this. As the minimum version information, the date of issue of the latest revocation list that has already been issued, the number of certificate IDs registered in the latest revocation list, the size of the latest revocation list, and the like may be used.
  • the root public key is held in the controller, but this configuration is not essential.
  • the root public key may be written in the storage unit (flash memory) by the memory card manufacturer and held in the storage unit.
  • the version verification process of the invalidation list 120 is performed in step S12.
  • the controller 301 may perform version verification processing of the revocation list 120 before writing the key information 130 to the storage unit 302.
  • the host device that communicates with the memory card is a playback device that plays back content data.
  • the host device that communicates with the memory card is not limited to the playback device.
  • a recording device that records content data in the storage unit of the memory card may be used.
  • the session key generation unit generates a session key and invalidates it.
  • the invalidation list update process may be executed by the list update unit. This is not recommended from a security point of view because of the risk of being attacked for the purpose of version reversal, but it is effective as a recovery measure when the invalidation list stored in the storage unit is damaged for some reason. is there.
  • each device encrypts the invalidation list held by itself by using the session key. I was sending.
  • this configuration is not essential in the present invention.
  • a digital signature by a key issuing authority is given to the revocation list. Therefore, it is possible to detect alteration of the invalidation list by verifying the digital signature. From the viewpoint of preventing alteration, the invalidation list may be transmitted and received without encryption.
  • the memory card 40 and the playback device 50 each verify the digital signature of the invalidation list held by itself. You may perform the process to do.
  • the revocation list verification unit that verifies the digital signature of the revocation list verifies the digital signature included in the revocation list stored in the storage unit, using the root public key. If signature verification fails, it may be considered that there has been some kind of fraud or attack on the own device, and establishment of encrypted communication with the counterpart device may be stopped.
  • a process of verifying the digital signature of the invalidation list held by the own device is performed. Also good. Only when the signature verification is successful, the processing of step S143 and step S149 is executed. When the signature verification fails, control is performed such as stopping the content transmission / reception processing until a valid invalidation list is obtained.
  • the challenge-response authentication described with reference to FIGS. 11 to 14 is an example.
  • One message transmitted and received by the memory card and the playback device may be divided into a plurality of times to increase the number of communications between the memory card and the playback device.
  • the processing order is not limited to the specific examples shown in FIGS. 11 to 14, and the processing order may be changed.
  • the version verification unit 422 of the memory card 40 includes the version of the invalidation list stored in the storage unit 402 of the own device and the minimum version information included in the key information of the own device. Version verification processing was performed by comparing with.
  • the present invention is not limited to this, and the version verification unit 422 compares the version of the revocation list received from the playback device 50 with the minimum version information 413 included in the key information 410 of the own device, thereby Verification processing may be performed.
  • the version verification unit 522 of the playback device 50 performs version verification processing by comparing the version of the invalidation list received from the memory card 40 with the minimum version information 513 included in the key information 510 of the own device. May be. (11) You may combine said embodiment and said modification suitably. ⁇ Supplement>
  • the configuration of the information processing apparatus as one embodiment of the present invention, and its modifications and effects will be described.
  • An information processing apparatus is an information processing apparatus that performs authentication and key exchange processing using key information, the key information issued by a key issuing authority, and the key information Indicates the version of the latest revocation list issued at the time of generation, and stores the version information, which is information associated with the key information, and the version is added from the outside.
  • An invalidation list receiving unit that receives the invalidation list
  • a comparison unit that compares the version information of the version of the invalidation list received by the invalidation list reception unit, and the version of the invalidation list is the version
  • a control unit that suppresses a predetermined process when the information is older than the information.
  • key information described in ⁇ Supplement> is described as a “key pair” composed of a secret key and a public key in the first and second embodiments.
  • the storage unit stores verification information for verifying an association between the key information and the version information, and the information processing apparatus uses the verification information.
  • a verification unit that determines whether or not the version information is related to the key information, and the comparison unit determines that the version information is related to the key information after the verification unit determines that the version information is related to the key information.
  • the version of the invalidation list received by the invalidation list reception unit is compared with the version information.
  • the information processing apparatus verifies whether the version information is associated with the key information issued by the key issuing authority using the verification information.
  • the effectiveness of processing by the control unit can be ensured.
  • a digital signature generated with a secret key of the key issuing authority can be used for data obtained by concatenating key information and version information.
  • the information processing apparatus uses an invalidation list writing unit that writes the invalidation list received by the invalidation list reception unit into the storage unit, and the invalidation list stored in the storage unit.
  • An invalidation determination unit that determines whether or not another device has been invalidated, and the control unit includes the invalidation list document when the version of the invalidation list is older than the version information. The invalidation list is prevented from being written by the embedding unit.
  • the information processing apparatus includes a unique key holding unit that holds a unique key and the unique key held in the unique key holding unit at least part of the key information issued from the key issuing authority.
  • An encryption unit for encrypting with a key, and a key information writing unit for writing the encrypted key information into the storage unit are provided.
  • the information processing apparatus includes an authentication key exchange unit that performs authentication and key exchange with another apparatus using the key information, and the storage unit stores the invalidation list, The invalidation list receiving unit reads the invalidation list from the storage unit, and the control unit is when the version of the invalidation list read from the storage unit by the invalidation list reception unit is older than the version information Further, the authentication and key exchange by the authentication key exchange unit is suppressed.
  • the authentication key exchange unit shares a session key with the other apparatus as a result of authentication and key exchange, and the information processing apparatus further generates the session Cryptographic communication is performed with the other device using a key, the invalidation list held by the other device is obtained from the other device, and the invalidation list stored in the storage unit is acquired. If the version is older than the version of the invalidation list acquired from the other device, an invalidation list update unit that updates the invalidation list stored in the storage unit with the invalidation list acquired. It is characterized by providing.
  • the information processing apparatus when the version of the invalidation list is the same as or newer than the version information, the information processing apparatus performs an invalidation list update process with another apparatus.
  • the information processing apparatus can hold a newer invalidation list by performing the invalidation list update process with another apparatus.
  • a digital signature is given to the revocation list acquired from the other apparatus, and the revocation list update unit has issued the digital signature by the key issuing authority. If the verification is successful and the verification is successful, the invalidation list stored in the storage unit is updated with the acquired invalidation list. The invalidation list stored in the section is not updated.
  • At least a part of the key information stored in the storage unit is encrypted with a unique key unique to the information processing apparatus.
  • a unique key holding unit that holds the unique key, and a decryption that decrypts a part of the encrypted key information using the unique key and outputs the decrypted key information to the authentication key exchange unit And a section.
  • the present invention can be used as a mechanism for suppressing an illegal act of writing an old invalidation list on a memory card in an industry that manufactures and sells a memory card such as an SD memory card.

Abstract

 メモリカード30は、鍵発行局により発行された鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを記憶している記憶部302と、バージョンが付加されている無効化リストを受け付ける無効化リスト受付部304と、無効化リスト受付部304が受け付けた無効化リストのバージョンと前記バージョン情報とを比較するバージョン検証部308とを備え、無効化リストのバージョンがバージョン情報より古い場合に、無効化リスト書込部309の処理を抑制する。

Description

情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
 本発明は、無効化リストを用いて処理を行う情報処理装置に関する。
 メモリカードに格納されているコンテンツをホスト(再生装置)が再生するシステムでは、メモリカードとホストとの間で暗号通信が行われる。近年、メモリカードとホストとの間の暗号通信にPKI(Public Key Infrastructure)と呼ばれる方式を用いることが検討されている。
 PKIでは、メモリカードとホストとが共に秘密鍵および公開鍵証明書を保持している。公開鍵証明書は、証明書IDおよび公開鍵を含み、正当な鍵発行局によるデジタル署名が付与されている。
 メモリカードとホストとは、素因数分解の複雑性を基盤とした鍵交換方式であるDifiee-Helman方式や、楕円曲線上の離散対数問題を基盤とした鍵交換方式であるEC-DH(Eliptic Curve Difiee-Helman)方式などを用いて相互認証を行い、セッション鍵を共有し合う。そして共有したセッション鍵を用いて暗号通信を行う。
 ところで、製造メーカの不注意や悪意の攻撃者による情報の漏洩などにより、秘密にすべき秘密鍵が漏洩してしまう場合が考えられる。このような場合に暗号通信を停止するために、PKIでは無効化リストを用いる。
 無効化リストは、秘密鍵が漏洩した装置の証明書IDが記載されたリストである。無効化リストを用いることで、通信相手の証明書IDが無効化リストに記載されていると判断する場合には、暗号通信を停止することができる。
日本国特開2005-352522号公報
 無効化リストは、秘密鍵が漏洩した装置が新たに追加されると新たなバージョンに更新されていくが、メモリカードに無効化リスト格納する処理は、カードメーカに委ねられている。
 カードメーカが誤って古いバージョンの無効化リストを格納したり、さらには、ユーザの購買意欲を高めるため、故意に古いバージョンの無効化リストを格納したりする場合も予想される。
 メモリカードに古いバージョンの無効化リストが格納されると不正な装置がコンテンツを利用できる可能性が高くなり、不正アクセスを遮断することができない。
 そこで、本発明は上記の問題点に鑑みなされたものであって、カードメーカがメモリカードに古いバージョンの無効化リストを格納するのを抑制することができる情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法を提供することを目的とする。
 上記の目的を達成するために、本発明は、鍵情報を用いて認証および鍵交換処理を行う情報処理装置であって、鍵発行局により発行された前記鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを記憶している記憶部と、バージョンが付加されている無効化リストを受け付ける無効化リスト受付部と、前記無効化リスト受付部が受け付けた前記無効化リストのバージョンと前記バージョン情報とを比較する比較部と、前記無効化リストのバージョンが、前記バージョン情報より古い場合に、所定の処理を抑制する制御部とを備えることを特徴とする。
 上記の構成によると、前記情報処理装置において、古いバージョンの無効化リストを用いた処理が行われることを防止することができる。
 また、仮にメーカが古いバージョンの無効化リストを情報処理装置に埋め込んだとすると、この情報処理装置は制御部により所定の処理が抑制される。したがって正常に動作しない情報処理装置が製造されることになる。そこで、上記の構成を有することにより、メーカは正常に動作しない情報処理装置が製造されるのを防止するために、新しい無効化リストを情報処理装置に埋め込むことが期待される。
メモリカード製造システム1の構成を示す図である。 鍵発行局10の構成を示すブロック図である。 無効化リスト120のデータ構成を示す図である。 鍵情報130のデータ構成を示す図である。 メモリカード製造装置20およびメモリカード30の構成を示すブロック図である。 メモリカード30による書込処理の動作を示すフローチャートである。 メモリカード30aの構成を示すブロック図である。 コンテンツ再生システム2の構成を示す図である。 メモリカード40の構成を示すブロック図である。 再生装置50の構成を示すブロック図である。 メモリカード40および再生装置50による認証鍵交換処理およびコンテンツ送受信処理の動作を示すフローチャートである。 メモリカード40および再生装置50による認証鍵交換処理およびコンテンツ送受信処理の動作を示すフローチャートである。 メモリカード40および再生装置50による認証鍵交換処理およびコンテンツ送受信処理の動作を示すフローチャートである。 メモリカード40および再生装置50によるバージョン検証処理の動作を示すフローチャートである。 メモリカード40aの構成を示すブロック図である。
 ここでは、本発明に係る実施の形態について、図面を参照しながら説明する。
1.実施の形態1
 本発明に係る第一の実施の形態であるメモリカード製造システム1について説明する。
<構成>
 メモリカード製造システム1は、コントローラおよびフラッシュメモリから構成されるメモリカードを製造するシステムである。メモリカード製造システム1は、図1に示すように、鍵発行局10、メモリカード製造装置20および本発明に係る情報処理装置としてのメモリカード30から構成される。
 鍵発行局10は、メモリカードに埋め込むための鍵情報および無効化リストの生成、管理、配布を行う装置である。
 メモリカード製造装置20は、メモリカード製造業者の装置である。メモリカード製造業者は、メモリカード30を組み立てて出荷する業者であり、コントローラ製造業者からコントローラを購入し、フラッシュメモリ製造業者からフラッシュメモリを購入して、メモリカード30を組み立てる。そして、メモリカード製造業者は、メモリカード製造装置20を用いて、組み立てたメモリカード30のコントローラに鍵発行局10から取得した鍵情報および無効化リストを送信する。
(1)鍵発行局10
 鍵発行局10は、図2に示すように、ルート秘密鍵保持部101、新規登録受付部102、バージョン管理部103、無効化リスト管理部104、無効化リスト生成部105、鍵ペア生成部106、証明書ID管理部107、証明書生成部108、署名付与部109、鍵情報生成部110、鍵情報送信部111、および無効化リスト送信部112から構成される。
 鍵発行局10は、具体的には、プロセッサ、ハードディスク、ROM、RAMなどのハードウェアを備えたコンピュータシステムである。ROMにはコンピュータプログラムが記録されており、プロセッサがRAMを用いてコンピュータプログラムを実行することにより、鍵発行局10はその機能を達成する。
 ルート秘密鍵保持部101は、本システムの安全性の根拠となるルート秘密鍵を保持している。ルート秘密鍵の漏洩は本システム全体が毀損されることを意味するため、ルート秘密鍵は極めて厳重に管理する必要がある。ルート秘密鍵は後述するルート公開鍵と鍵ペアを構成する。
 新規登録受付部102は、秘密鍵が暴露されたことにより、新たに無効化リストに加えるべき公開鍵証明書の証明書ID(以下、「無効証明書ID」と記載する。)の入力を受け付ける。具体的に、新規登録受付部102は、マウス、キーボード等の入力装置とアプリケーションプログラムとから構成され、オペレータがキーボード等を操作することにより、無効証明書IDを入力する。
 バージョン管理部103は、既に発行済みである最新の無効化リストのバージョン番号を管理する。すなわち、バージョン管理部103は、既に発行済みである最新の無効化リストのバージョン番号である「最低バージョン情報」を内部に記憶しておき、無効化リスト生成部105で新たに無効化リストが生成される都度、記憶している「最低バージョン情報」を「1」ずつインクリメントする。
 無効化リスト管理部104は、新規登録受付部102が受け付けた無効証明書IDを蓄積する。
 無効化リスト生成部105は、無効化リスト管理部104に蓄積されている無効証明書IDから、無効化リストを生成する。
 ここで、無効化リスト生成部105が生成する無効化リストのデータ構成を図3に示す。同図に示すように、無効化リスト120は、バージョン121、登録数122、リスト123およびデジタル署名124から構成される。
 バージョン121は、当該無効化リスト120のバージョンを示す。無効化リスト生成部105は、バージョン管理部103が管理している「最低バージョン情報」に「1」を加算して、バージョン121とする。
 登録数122は、リスト123に記載されている無効証明書IDの数を示す。無効化リスト生成部105は、無効化リスト管理部104に蓄積されている無効証明書IDの数を、登録数122とする。
 リスト123は、n個の無効化証明書IDを含む。無効化リスト生成部105は、無効化リスト管理部104に蓄積されているすべての無効化証明書IDを含むリスト123を生成する。
 デジタル署名124は、バージョン121、登録数122およびリスト123に対して生成されたデジタル署名である。無効化リスト生成部105は、ルート秘密鍵保持部101に保持されているルート秘密鍵を署名生成鍵として用い、バージョン121、登録数122およびリスト123を結合したデータに対し所定の署名生成アルゴリズムを施して、デジタル署名124を生成する。
 無効化リスト生成部105は、バージョン121、登録数122、リスト123およびデジタル署名124から無効化リスト120を生成し、生成した無効化リスト120を、無効化リスト送信部112へ出力する。また、無効化リスト生成部105は、無効化リスト120を生成すると、その旨をバージョン管理部103へ通知する。
 鍵ペア生成部106は、メモリカード30に付与する公開鍵および秘密鍵からなる鍵ペアを生成する。鍵ペア生成部106は、生成した公開鍵を、証明書生成部108へ出力し、生成した秘密鍵を、鍵情報生成部110へ出力する。
 証明書ID管理部107は、鍵発行局10が発行する公開鍵証明書の証明書IDを管理する。既に使用済みの証明書IDについては誤って再利用しないように注意する必要がある。一例として、証明書ID管理部107は、鍵発行局10が公開鍵証明書を発行する毎に「1」ずつカウンタを増加させ、常に新しい番号の証明書IDを生成するとしてもよい。
 証明書生成部108は、公開鍵証明書の一部である証明書データを生成する。証明書生成部108は、証明書ID管理部107から指示される証明書IDと、鍵ペア生成部106により生成された公開鍵とからなる証明書データを生成する。証明書生成部108は、生成した証明書データを、署名付与部109へ出力する。
 署名付与部109は、ルート秘密鍵保持部101に保持されているルート秘密鍵を署名生成鍵として用い、証明書生成部108から受け取った証明書データに対し所定の署名生成アルゴリズムを施し、デジタル署名を生成する。署名付与部109は、証明書データにデジタル署名を付与して公開鍵証明書を生成し、生成した公開鍵証明書を、鍵情報生成部110へ出力する。
 鍵情報生成部110は、メモリカード製造装置20に送付する鍵情報を生成する。
 ここで、鍵情報生成部110が生成する鍵情報のデータ構成を図4に示す。同図に示すように、鍵情報130は、秘密鍵131、公開鍵証明書132、最低バージョン情報133およびデジタル署名134から構成される。公開鍵証明書132は、証明書ID135、公開鍵136およびデジタル署名137から構成される。
 秘密鍵131は、鍵情報生成部110が鍵ペア生成部106から受け取った秘密鍵である。公開鍵証明書132は、鍵情報生成部110が署名付与部109から受け取った公開鍵証明書である。鍵情報生成部110は、バージョン管理部103で管理している「最低バージョン情報」を読み出して、最低バージョン情報133とする。さらに、鍵情報生成部110は、ルート秘密鍵保持部101に保持されているルート秘密鍵を署名生成鍵として用い、秘密鍵131、公開鍵証明書132および最低バージョン情報133を結合したデータに対して所定の署名生成アルゴリズムを施し、デジタル署名134を生成する。
 鍵情報生成部110は、秘密鍵131、公開鍵証明書132、最低バージョン情報133およびデジタル署名134から鍵情報130を生成し、生成した鍵情報130を、鍵情報送信部111へ出力する。
 鍵情報送信部111は、メモリカード製造装置20から要求を受けると、鍵情報130をメモリカード製造装置20へ送信する。
 無効化リスト送信部112は、メモリカード製造装置20から要求を受けると、無効化リスト120を、メモリカード製造装置20へ送信する。
(2)メモリカード製造装置20
 図5に示すように、メモリカード製造装置20は、無効化リスト送信部201と鍵情報送信部202とから構成される。
 無効化リスト送信部201は、鍵発行局10から無効化リスト120を取得し、取得した無効化リスト120を、メモリカード30のコントローラ301に送信する。
 鍵情報送信部202は、鍵発行局10から鍵情報130を取得し、取得した鍵情報130を、メモリカード30のコントローラ301に送信する。
(3)メモリカード30
 図5に示すように、メモリカード30は、コントローラ301と記憶部302とから構成される。
 コントローラ301は、メモリカード製造業者がコントローラ製造業者から取得したLSIデバイスであり、内部処理はセキュアに守られて、外部から情報を読み出すことができない。
 記憶部302は、メモリカード製造業者がフラッシュ製造業者から取得したフラッシュメモリである。記憶部302へのデータの書き込み、および、記憶部302からのデータの読み出しは、コントローラ301を介して行われる。
 コントローラ301は、ルート公開鍵保持部303、無効化リスト受付部304、鍵情報受付部305、署名検証部306、鍵情報書込部307、バージョン検証部308および無効化リスト書込部309から構成される。
 ルート公開鍵保持部303は、鍵発行局10が保持しているルート秘密鍵と鍵ペアを成すルート公開鍵を保持している。ルート公開鍵は、鍵発行局10によって生成されたデジタル署名の検証に用いられる。なお、一例として、ルート公開鍵保持部303は、コントローラ301内部にハードロジックで構成してもよい。
 無効化リスト受付部304は、メモリカード製造装置20の無効化リスト送信部201から無効化リスト120を受け取る。無効化リスト受付部304は、受け取った無効化リスト120を、署名検証部306に出力する。
 鍵情報受付部305は、メモリカード製造装置20の鍵情報送信部202から鍵情報130を受け取る。鍵情報受付部305は、受け取った鍵情報130を、署名検証部306に出力する。
 署名検証部306は、ルート公開鍵保持部303が保持しているルート公開鍵を用いて、無効化リスト120に含まれるデジタル署名124、鍵情報130に含まれるデジタル署名134、公開鍵証明書132に含まれるデジタル署名137のそれぞれに対して、所定の署名検証アルゴリズムを施して、署名検証を行う。
 鍵情報書込部307は、鍵情報130に含まれるデジタル署名134および公開鍵証明書132に含まれるデジタル署名137の署名検証に成功した場合に、鍵情報130を、記憶部302に書き込む。
 バージョン検証部308は、署名検証部306から無効化リスト120を受け取り、受け取った無効化リスト120からバージョン121を読み出す。また、バージョン検証部308は、記憶部302に記憶されている鍵情報130から最低バージョン情報133を読み出す。
 バージョン検証部308は、バージョン121が、最低バージョン情報133よりも古いか否か判断する。無効化リスト120のバージョン121が、最低バージョン情報133よりも古い場合には、バージョン検証部308は、古い無効化リストが不正に書き込まれようとしていると判断し、無効化リスト120を無効化リスト書込部309へ出力せずに破棄する。無効化リスト120のバージョン121が、最低バージョン情報133と同一かまたは新しい場合、バージョン検証部308は、無効化リスト120を無効化リスト書込部309へ出力する。
 無効化リスト書込部309は、バージョン検証部308から無効化リスト120を受け取ると、受け取った無効化リスト120を記憶部302へ書き込む。
<動作>
 ここでは、図6を用いて、コントローラ301による鍵情報および無効化リストの書き込み処理の動作について説明する。
 無効化リスト受付部304は、無効化リストを受け付ける(ステップS1)。鍵情報受付部305は、鍵情報を受け付ける(ステップS2)。
 署名検証部306は、ルート公開鍵保持部303に保持されているルート公開鍵を用いて、鍵情報のデジタル署名を検証する(ステップS3)。署名検証に失敗した場合(ステップS4でNO)、コントローラ301は処理を終了する。
 署名検証に成功した場合(ステップS4でYES)、署名検証部306は、鍵情報から公開鍵証明書を抽出し(ステップS5)、ルート公開鍵を用いて、公開鍵証明書のデジタル署名を検証する(ステップS6)。署名検証に失敗した場合(ステップS7でNO)、コントローラ301は処理を終了する。
 署名検証に成功した場合(ステップS7でYES)、鍵情報書込部307は、記憶部302に鍵情報を書き込む(ステップS8)。
 続いて、署名検証部306は、ルート公開鍵を用いて、ステップS1で受け取った無効化リストのデジタル署名を検証する(ステップS9)。署名検証に失敗した場合(ステップS10でNO)、コントローラ301は処理を終了する。 
 署名検証に成功した場合(ステップS10でYES)、バージョン検証部308は、記憶部302に記憶されている鍵情報から「最低バージョン情報」を抽出する(ステップS11)。さらに、バージョン検証部308は、無効化リストから「バージョン」を読み出す。バージョン検証部308は、無効化リストのバージョンが、最低バージョン情報より古いか否かを判断するバージョン検証処理を行う(ステップS12)。
 無効化リストのバージョンが最低バージョン情報より古い場合(ステップS13でYES)、コントローラ301は、処理を終了する。無効化リストの場ジョンが最低バージョン情報と同一若しくは新しい場合(ステップS13でNO)、無効化リスト書込部309は、記憶部302に無効化リストを書き込む(ステップS14)。
<変形例>
 ここでは、実施の形態1で説明したメモリカード30の変形例として、メモリカード30aについて説明する。
 図7は、メモリカード30aの構成を示すブロック図である。ここでは、図5に記載したメモリカード30と同一の機能を有する構成要素については、図5と同一の符号を付して、説明を省略する。
 変形例に係るメモリカード30aのコントローラ301aは、コントローラ301の構成要素に加え、コントローラ固有鍵保持部311および暗号化部312を備えている。
 コントローラ固有鍵保持部311は、コントローラ301aに固有の情報であるコントローラ固有鍵を保持している。コントローラ固有鍵は、例えば、コントローラ301aの製造後に、電子回路の一部を電気的に焼き切って、個体別に異なる番号を刻むeFUSEといった技術を用いて書き込まれている。
 コントローラ301aの署名検証部306は、鍵情報に含まれるデジタル署名の検証に成功すると、鍵情報を暗号化部312へ出力する。暗号化部312は、鍵情報に含まれる秘密鍵を、コントローラ固有鍵保持部311に保持されているコントローラ固有鍵で暗号化し、暗号化秘密鍵を生成する。そして、鍵情報書込部307は、記憶部302に、暗号化秘密鍵、公開鍵証明書、最低バージョン情報およびデジタル署名からなる鍵情報を書き込む。
 すなわち、変形例に係るコントローラ301aは、暗号化秘密鍵を記憶部302に書き込む。ここで、暗号化に用いる鍵は、コントローラ301aに固有の鍵であるから、記憶部302に格納されている暗号化秘密鍵をコントローラ301a以外の他のコントローラで復号することはできない。よって、コントローラ301aを用いると、秘密鍵の安全性をより高めることができる。
2.実施の形態2
 本発明に係る第二の実施の形態であるコンテンツ再生システム2について説明する。
<構成>
 コンテンツ再生システム2は、図8に示すように、本発明に係る情報処理装置としてのメモリカード40と本発明に係る情報処理装置としての再生装置50とから構成される。
 メモリカード40には、デジタルコンテンツが記録されている。再生装置50は、メモリカード40からデジタルコンテンツを読み出して再生する装置である。
 メモリカード40および再生装置50は、共に、実施の形態1で説明した鍵発行局10が発行したPKIの鍵ペアおよび無効化リストを保持している。メモリカード40および再生装置50は、鍵ペアおよび無効化リストを用いて相互認証を行った後に、暗号通信によりコンテンツを送受信する。
(1)メモリカード40
 図9に示すように、メモリカード40は、コントローラ401と記憶部402とから構成される。
 コントローラ401は、LSIデバイスであり、内部処理はセキュアに守られて、外部から情報を読み出すことができない。記憶部402は、フラッシュメモリである。記憶部402へのデータの書き込み、および、記憶部402からのデータの読み出しは、コントローラ401を介して行われる。
 記憶部402には、秘密鍵411、公開鍵証明書412、最低バージョン情報413およびデジタル署名414から構成される鍵情報410と、無効化リスト415と、コンテンツ鍵416と、暗号化コンテンツ417とが格納されている。公開鍵証明書412のデータ構成は、図4の公開鍵証明書132と同様であり、無効化リスト415のデータ構成は、図3の無効化リスト120と同様である。秘密鍵411と、公開鍵証明書412に含まれる公開鍵とが、PKIの鍵ペアを構成する。暗号化コンテンツ417は、コンテンツ鍵416を暗号鍵として用い、平文コンテンツに所定の暗号化アルゴリズムを施して生成された暗号化データである。
 コントローラ401は、ルート公開鍵保持部421、バージョン検証部422、認証鍵交換部423、無効化リスト更新部426、無効化判定部427、コンテンツ鍵送信部428および暗号化コンテンツ送信部429から構成される。認証鍵交換部423は、認証部424およびセッション鍵生成部425を含む。
 ルート公開鍵保持部421は、鍵発行局10が保持しているルート秘密鍵と鍵ペアを成すルート公開鍵を保持している。ルート公開鍵は、鍵発行局10によって生成されたデジタル署名の検証に用いられる。なお、一例として、ルート公開鍵保持部421は、コントローラ401内部にハードロジックで構成してもよい。
 バージョン検証部422は、公開鍵証明書412に含まれる最低バージョン情報と無効化リスト415に含まれるバージョンとを比較し、無効化リスト415の正当性を確認する。具体的に、バージョン検証部422は、無効化リストのバージョンが、最低バージョン情報よりも古い場合には、何らかの攻撃や不正が行われたと判断し、再生装置50との間での暗号通信の確立を中止する。なお、バージョン検証部422によるバージョン検証処理は、再生装置50との通信の都度行ってもよいし、通信の都度行うのではなく、初期時点や無効化リスト更新時点に行うことも可能である。
 認証部424は、ルート公開鍵保持部421が保持するルート公開鍵を用いて、再生装置50から受信した公開鍵証明書に含まれるデジタル署名を検証する。
 なお、署名生成および署名検証のアルゴリズムは、素因数分解の困難性を根拠とするDSA(Digital Signature Algorithm)や、楕円曲線上での離散対数問題を根拠とするEC-DSA(Eliptic Curve Digital Signature Algorithm)などがある。これらのアルゴリズムを用いてもよいし、他のアルゴリズムを用いてもよい。実施の形態2では、一例として、160ビットの鍵長を持つEC-DSAを用いる。
 検証の結果、再生装置50の公開鍵証明書に含まれるデジタル署名が正しくないと判定された場合には、再生装置50は不正な装置であると見なし、再生装置50との間での暗号通信の確立を中止する。
 また、認証部424は、再生装置50との間でチャレンジ-レスポンス認証を行う。チャレンジ‐レスポンス認証についての詳細は後述する。チャレンジ-レスポンス認証が失敗した場合には、再生装置50は不正な装置であるか、通信経路において何らかの攻撃があったものと見なし、再生装置50との間での暗号通信の確立を中止する。
 セッション鍵生成部425は、認証部424によるチャレンジ-レスポンス認証において生成した情報および再生装置50から受信した情報などを用いて、再生装置50と共有するセッション鍵を生成する。セッション鍵の具体的な生成方法については後述する。
 無効化リスト更新部426は、再生装置50との間で自機が保持している無効化リストを相互に送受信する。無効化リスト更新部426は、無効化リスト415を送信するときは、セッション鍵生成部425により生成されたセッション鍵で暗号化した後に送信する。また、再生装置50から受信する無効化リストはセッション鍵で暗号化されているので、無効化リスト更新部426は、セッション鍵で復号する。
 ここでは、暗号化アルゴリズムとしてAES(Advanced Encryption Standard)を用いることとする。しかし、ここで用いる暗号化アルゴリズムはAESに限るものではなく、十分な鍵長がある共通鍵暗号方式であれば、他のアルゴリズムでもよい。また、暗号化ではなくMAC(Message Authentication Code)など、無効化リストを古いバージョンに置換する攻撃(「ロールバック攻撃」と言う。)を防止できる方法でれば、他の方法を用いてもよい。
 さらに、無効化リスト更新部426は、無効化リストの全体を送受信してもよいし、最初に無効化リストに含まれる「バージョン」のみを送受信し、その後、必要に応じて無効化リストの全体を送信または受信するとしてもよい。この場合、無効化リスト更新部426は、バージョンを送信する際には、セッション鍵を用いて暗号化して送信し、残りの無効化リストのデータを送信する際には、暗号化せずに平文のまま送信するとしてもよい。これにより、データサイズの大きな無効化リストの全体を暗号化する処理を省略することができる。
 無効化リスト更新部426は、自機が保持する無効化リスト415のバージョンと、再生装置50が保持する無効化リストのバージョンとを比較する。そして、再生装置50が保持する無効化リストの方が新しいと判定した場合には、無効化リスト更新部426は、記憶部402に記憶されている無効化リスト415を、再生装置50から受信した無効化リストで更新する。
 なお、無効化リスト更新部426は、記憶部402の無効化リストを更新する前に、再生装置50から受信した無効化リストに含まれるデジタル署名を、ルート公開鍵を用いて検証してもよい。そして、署名検証に成功した場合にのみ、記憶部402の無効化リスト415を更新し、署名検証に失敗した場合には、無効化リスト415を更新せず、受信した無効化リストは不正であると見なして破棄するとしてもよい。
 無効化判定部427は、再生装置50から受信した公開鍵証明書に含まれる証明書IDが、記憶部402に記憶されている無効化リストに含まれるか否かを判定する。再生装置50の証明書IDが無効化リストに含まれる場合、再生装置50は不正な装置であるため、コントローラ401は、暗号通信の確立やコンテンツの送信を拒絶する。
 コンテンツ鍵送信部428は、認証部424による相互認証処理および無効化判定部427による無効化判定処理が正常に終了した場合に、記憶部402からコンテンツ鍵416を読み出す。そして、コンテンツ鍵送信部428は、コンテンツ鍵416をセッション鍵で暗号化して暗号化コンテンツ鍵を生成し、暗号化コンテンツ鍵を再生装置50へ送信する。なお、ここでは、暗号化アルゴリズムの一例としてAESを用いることとする。
 暗号化コンテンツ送信部429は、記憶部402から暗号化コンテンツ417を読み出し、暗号化コンテンツ417を再生装置50へ送信する。
(2)再生装置50
 図10に示すように、再生装置50は、記憶部502、ルート公開鍵保持部521、バージョン検証部522、認証鍵交換部523、無効化リスト更新部526、無効化判定部527、コンテンツ鍵受信部528、暗号化コンテンツ受信部529、復号部530、復号部531、および再生部532から構成される。
 認証鍵交換部523は、認証部524およびセッション鍵生成部525を含む。
 再生装置50は、具体的には、プロセッサ、ハードディスク、ROM、RAMなどを備えるコンピュータシステムである。ROMにはコンピュータプログラムが記録されており、プロセッサがRAMを用いてコンピュータプログラムを実行することにより、再生装置50はその機能を達成する。
 記憶部502は、秘密鍵511、公開鍵証明書512、最低バージョン情報513およびデジタル署名514から構成される鍵情報510と、無効化リスト515とを格納している。公開鍵証明書512のデータ構成は、図4の公開鍵証明書132と同様であり、無効化リスト515のデータ構成は、図3の無効化リスト120と同様である。秘密鍵511と、公開鍵証明書512に含まれる公開鍵とが、PKIの鍵ペアを構成する。
 ルート公開鍵保持部521は、鍵発行局10が保持しているルート秘密鍵と鍵ペアを成すルート公開鍵を保持している。ルート公開鍵は、鍵発行局10によって生成されたデジタル署名の検証に用いられる。
 バージョン検証部522は、公開鍵証明書512に含まれる最低バージョン情報と無効化リスト515に含まれるバージョンとを比較し、無効化リスト515の正当性を確認する。具体的に、バージョン検証部522は、無効化リストのバージョンが、最低バージョン情報よりも古い場合には、何らかの攻撃や不正が行われたと判断し、メモリカード40との間での暗号通信の確立を中止する。なお、バージョン検証部522によるバージョン検証処理は、メモリカード40との通信の都度行ってもよいし、通信の都度行うのではなく、初期時点や無効化リスト更新時点に行うことも可能である。
 認証部524は、ルート公開鍵保持部521が保持するルート公開鍵を用いて、メモリカード40から受信した公開鍵証明書に含まれるデジタル署名を検証する。ここでは、署名生成および署名検証のアルゴリズムとして、EC-DSAを用いる。
 署名検証の結果、メモリカード40の公開鍵証明書に含まれるデジタル署名が正しくないと判定された場合には、メモリカード40は不正な装置であると見なし、メモリカード40との間での暗号通信の確立を中止する。
 また、認証部524は、メモリカード40との間でチャレンジ‐レスポンス認証を行う。チャレンジ‐レスポンス認証についての詳細は後述する。チャレンジ‐レスポンス認証が失敗した場合には、メモリカード40は不正な装置であるか、通信経路において何らかの攻撃があったものと見なし、メモリカード40との間での暗号通信の確立を中止する。
 セッション鍵生成部525は、認証部524によるチャレンジ‐レスポンス認証において生成した情報およびメモリカード40から受信した情報などを用いて、メモリカード40と共有するセッション鍵を生成する。セッション鍵の具体的な生成方法については後述する。
 無効化リスト更新部526は、メモリカード40との間で自機が保持している無効化リストを相互に送受信する。無効化リスト更新部526は、無効化リスト515を送信するときは、セッション鍵生成部525により生成されたセッション鍵で暗号化した後に送信する。また、メモリカード40から受信する無効化リストはセッション鍵で暗号化されているので、無効化リスト更新部526は、セッション鍵で復号する。ここでは、暗号化アルゴリズムとしてAESを用いることとする。
 さらに、無効化リスト更新部526は、無効化リストの全体を送受信してもよいし、最初に無効化リストに含まれる「バージョン」のみを送受信し、その後、必要に応じて無効化リストの全体を送信または受信するとしてもよい。この場合、無効化リスト更新部526は、メモリカード40の無効化リスト更新部426と同様に、バージョンを送信する際には、セッション鍵を用いて暗号化して送信し、残りの無効化リストのデータを送信する際には、暗号化せずに平文のまま送信するとしてもよい。
 無効化リスト更新部526は、自機が保持する無効化リスト515のバージョンと、メモリカード40が保持する無効化リストのバージョンとを比較する。そして、メモリカード40が保持する無効化リストの方が新しいと判定した場合には、無効化リスト更新部526は、記憶部502に記憶されている無効化リスト515を、メモリカード40から受信した無効化リストで更新する。
 なお、無効化リスト更新部526は、記憶部502の無効化リストを更新する前に、メモリカード40から受信した無効化リストに含まれるデジタル署名を、ルート公開鍵を用いて検証してもよい。そして、署名検証に成功した場合にのみ、記憶部502の無効化リスト515を更新し、署名検証に失敗した場合には、無効化リスト515を更新せず、受信した無効化リストは不正であると見なして破棄するとしてもよい。
 無効化判定部527は、メモリカード40から受信した公開鍵証明書に含まれる証明書IDが、記憶部502に記憶されている無効化リストに含まれるか否かを判定する。メモリカード40の証明書IDが無効化リストに含まれる場合、メモリカード40は不正な装置であるため、再生装置50は、暗号通信の確立や暗号化コンテンツの復号処理を中止する。
 コンテンツ鍵受信部528は、メモリカード40から暗号化コンテンツ鍵を受信する。暗号化コンテンツ鍵は、コンテンツ鍵416がセッション鍵により暗号化されたデータである。
 暗号化コンテンツ受信部529は、メモリカード40から暗号化コンテンツを受信する。暗号化コンテンツは、コンテンツがコンテンツ鍵により暗号化されたデータである。
 復号部530は、認証部524による相互認証処理および無効化判定部527による無効化判定処理が正常に終了した場合に、コンテンツ鍵受信部528が受信した暗号化コンテンツ鍵をセッション鍵を用いて復号し、コンテンツ鍵を生成する。ここでは、暗号化アルゴリズムとしてAESを用いることとする。
 復号部531は、復号部530からコンテンツ鍵を受け取り、暗号化コンテンツ受信部529から暗号化コンテンツを受け取る。復号部531は、暗号化コンテンツをコンテンツ鍵を用いて復号し、コンテンツを生成する。
 再生部532は、復号部531により復号されたコンテンツにデコード処理等して、図示していない外部のディスプレイに出力する。
<動作>
 ここでは、図11~図14のフローチャートを用いて、コンテンツ再生システム2の動作について説明する。
 再生装置50の認証部524は、160ビットのランダム値Hn(Host nonce)を生成する(ステップS101)。なお、実施の形態2では、鍵長160ビットのEC-DSAを前提としているため、160ビットのランダム値を生成するが、他のアルゴリズムを用いる場合、ここで生成されるランダム値は160ビットではないことは言うまでもない。
 認証部524は、ステップS101で生成した160ビットのランダム値に記憶部502が保持している公開鍵証明書512を付加する。これを、チャレンジデータとしてメモリカード40に送信する(ステップS102)。なお、図11では、公開鍵証明書512を「Hcert(Host Certificate)」と記載している。また、「||」は連結を意味する記号である。
 メモリカード40は、再生装置50からチャレンジデータを受信すると、バージョン検証部422によるバージョン検証処理を行う(ステップS103)。バージョン検証処理の詳細については後述する。
 バージョン検証処理で無効化リストが不正であると判定されると(ステップS104でNO)、メモリカード40は処理を停止する。バージョン検証処理で無効化リストが正当であると判定されると(ステップS104でYES)、ステップS105へ進む。
 認証部424は、ルート公開鍵を用いて、ステップS102で受信したチャレンジデータに含まれる公開鍵証明書Hcertの検証処理を行う(ステップS105)。公開鍵証明書Hcertの検証処理に失敗すると(ステップS106でNO)、メモリカード40は処理を停止する。公開鍵証明書Hcertの検証処理に成功すると(ステップS106でYES)、認証部424は、160ビットのランダム値Mn(Media nonce)を生成する(ステップS107)。
 認証部424は、ステップS107で生成した160ビットのランダム値Hnに対し、記憶部402が保持している公開鍵証明書412を付加する。これを、チャレンジデータとして、再生装置50へ送信する(ステップS108)。なお、図11では、公開鍵証明書412を「Mcert(Media Certificate)」と記載している。
 再生装置50は、メモリカード40からチャレンジデータを受信すると、バージョン検証部522によるバージョン検証処理を行う(ステップS109)。バージョン検証処理の詳細については後述する。
 バージョン検証処理で無効化リストが不正であると判定されると(ステップS110でNO)、再生装置50は処理を停止する。バージョン検証処理で無効化リストが正当であると判定されると(ステップS110でYES)、ステップS117へ進む。
 メモリカード40の認証部424は、ステップS108でチャレンジデータを送信した後、160ビットのランダム値Mk(Media Key)を生成する(ステップS113)。なお、EC-DH以外の他のアルゴリズムを用いる場合には、ステップS113で生成するランダム値は、160ビットとは限らない。
 認証部424は、ステップS113で生成したランダム値Mkに対して、本システムにおいて予め定められている楕円暗号のパラメータであるベースポイントGを用いて、Mv=Mk・Gを計算する(ステップS114)。
 さらに、認証部424は、ステップS102で受信したチャレンジデータに含まれるHnと、ステップS114で算出したMvとを連結したデータであるHn||Mvに対して、記憶部402に記憶されている秘密鍵(Mpriv)411を用いてデジタル署名(Sign(Mpriv,Hn||Mv))を生成する(ステップS115)。
 認証部424は、ステップS114で算出したMvと、ステップS115で生成したデジタル署名Sign(Mpriv,Hn||Mv)とを連結したデータをレスポンスデータとして、再生装置50へ送信する(ステップS116)。
 再生装置50は、メモリカード40からレスポンスデータを受信する。認証部524は、受信したレスポンスデータに含まれるデジタル署名Sign(Mpriv,Hn||Mv)の検証を行う(ステップS117)。具体的に、認証部524は、受信したレスポンスデータからMvを抽出し、ステップS101で生成したHnとMvとを連結したデータに、メモリカード40の公開鍵証明書Mcertに含まれる公開鍵を用いて、デジタル署名を検証する。
 デジタル署名の検証に失敗すると(ステップS118でNO)、再生装置50は、処理を停止する。デジタル署名の検証に成功すると(ステップS118でYES)、認証部524は、160ビットのランダム値Hk(Host Key)を生成する(ステップS119)。
 認証部524は、ステップS119で生成したランダム値Hkに対して、本システムにおいて予め定められている楕円暗号のパラメータであるベースポイントGを用いて、Hv=Hk・Gを計算する(ステップS120)。
 さらに、認証部524は、ステップS108で受信したチャレンジデータにう含まれるMnと、ステップS120で算出したHvとを連結したデータであるMn||Hvに対して、記憶部502に記憶されている秘密鍵(Hpriv)511を用いてデジタル署名(Sign(Hpriv,Mn||Hv))を生成する(ステップS121)。
 認証部524は、ステップS120で算出したHvと、ステップS121で生成したデジタル署名Sign(Hpriv,Mn||Hv)とを連結したデータをレスポンスデータとして、メモリカード40へ送信する(ステップS122)。
 メモリカード40は、再生装置50からレスポンスデータを受信する。認証部424は、受信したレスポンスデータに含まれるデジタル署名Sign(Hpriv,Mn||Hv)の検証を行う(ステップS123)。具体的に、認証部424は、受信したレスポンスデータからHvを抽出し、ステップS108で生成したMnとHvとを連結したデータに、再生装置50の公開鍵証明書Hcertに含まれる公開鍵を用いて、デジタル署名を検証する。
 デジタル署名の検証に失敗すると(ステップS124でNO)、メモリカード40は、処理を停止する。デジタル署名の検証に成功すると(ステップS124でYES)、セッション鍵生成部425は、ステップS113で生成したランダム値Mkと、ステップS112で受信したレスポンスデータに含まれるHvとから、Bk=Mk・Hvを計算して、セッション鍵Bk(Bus Key)を生成する(ステップS125)。
 再生装置50のセッション鍵生成部525も同様に、ステップS119で生成したランダム値Hkと、ステップS116で受信したレスポンスデータに含まれるMvとから、Bk=Hk・Mvを計算して、セッション鍵Bkを生成する(ステップS126)。
 続いて、メモリカード40の無効化リスト更新部426は、記憶部402に記憶されている無効化リスト415(Mcrl)を、ステップS125で生成したセッション鍵Bkで暗号化し、暗号化無効化リストEnc(Bk,Mcrl)を生成する(ステップS127)。そして、無効化リスト更新部426は、暗号化無効化リストEnc(Bk,Mcrl)を再生装置50へ送信する(ステップS128)。
 一方、再生装置50の無効化リスト更新部526も同様に、記憶部502に記憶されている無効化リスト515(Hcrl)を、ステップS126で生成したセッション鍵Bkで暗号化し、暗号化無効化リストEnc(Bk,Hcrl)を生成する(ステップS129)。そして、無効化リスト更新部526は、暗号化無効化リストEnc(Bk,Hcrl)をメモリカード40へ送信する(ステップS130)。
 無効化リスト更新部526は、ステップS128で受信したEnc(Bk,Mcrl)を、セッション鍵Bkを用いて復号する(ステップS131)。
 無効化リスト更新部426は、ステップS130で受信したEnc(Bk,Hcrl)を、セッション鍵Bkを用いて復号する(ステップS132)。
 続いて、無効化リスト更新部426は、McrlのバージョンとHcrlのバージョンとを比較する(ステップS133)。
 Mcrlのバージョンが、Hcrlのバージョンより新しい場合、更新する必要がないので(ステップS134でNO)、ステップS143へ進む。
 Hcrlのバージョンが、Mcrlのバージョンより新しい場合、更新する必要があるが(ステップS134でYES)、更新処理に先立ち、無効化リスト更新部426は、ルート公開鍵を用いてHcrlに含まれるデジタル署名を検証する(ステップS135)。署名検証に失敗すると(ステップS136でNO)、更新処理は行わず、ステップS143へ進む。署名検証に成功すると(ステップS136でYES)、無効化リスト更新部426は、記憶部402に記憶されている無効化リストMcrlを、再生装置50から受信した無効化リストHcrlで更新する(ステップS137)。
 一方で、再生装置50の無効化リスト更新部526も同様に、McrlのバージョンとHcrlのバージョンとを比較する(ステップS138)。
 Hcrlのバージョンが、Mcrlのバージョンより新しい場合、更新する必要がないので(ステップS139でNO)、ステップS148へ進む。
 Mcrlのバージョンが、Hcrlのバージョンより新しい場合、更新する必要があるが(ステップS139でYES)、更新処理に先立ち、無効化リスト更新部526は、ルート公開鍵を用いてMcrlに含まれるデジタル署名を検証する(ステップS140)。署名検証に失敗すると(ステップS141でNO)、更新処理は行わず、ステップS148へ進む。署名検証に成功すると(ステップS141でYES)、無効化リスト更新部526は、記憶部502に記憶されている無効化リストHcrlを、メモリカード40から受信した無効化リストMcrlで更新する(ステップS142)。
 次に、メモリカード40の無効化判定部427は、記憶部402に記憶されている無効化リストを用いて、再生装置50の公開鍵証明書Hcertの有効性を確認する(ステップS143)。具体的に、無効化判定部427は、無効化リストにHcertの証明書IDが記録されているか否か判断する。
 無効化リストにHcertの証明書IDが記録されている場合(ステップS144でNO)、再生装置50は不正な装置であると見なし、メモリカード40は処理を停止する。
 無効化リストにHcertの証明書IDが記録されていない場合(ステップS144でYES)、コンテンツ鍵送信部428は、記憶部402からコンテンツ鍵を読み出す(ステップS145)。コンテンツ送信部428は、読み出したコンテンツ鍵を、ステップS125で生成したセッション鍵Bkを用いて暗号化し、暗号化コンテンツ鍵Enc(Bk,Kc)を生成する(ステップS146)。続いて、暗号化コンテンツ送信部429は、記憶部402から暗号化コンテンツを読み出す(ステップS147)。
 コンテンツ鍵送信部428は、暗号化コンテンツ鍵Enc(Bk,Kc)を、再生装置50へ送信し、暗号化コンテンツ送信部429は、暗号化コンテンツEnc(Kc,Cont)を、再生装置50へ送信する(ステップS148)。
再生装置50のコンテンツ鍵受信部528は、暗号化コンテンツ鍵Enc(Bk,Kc)を受信し、暗号化コンテンツ受信部529は、暗号化コンテンツEnc(Kc,Cont)を受信する。
 次に、再生装置50の無効化判定部527は、記憶部502に記憶されている無効化リストを用いて、メモリカード40の公開鍵証明書Mcertの有効性を確認する(ステップS149)。具体的に、無効化判定部527は、無効化リストにMcertの証明書IDが記録されているか否か判断する。
 無効化リストにMcertの証明書IDが記録されている場合(ステップS150でNO)、メモリカード40は不正な装置であると見なし、再生装置50は処理を停止する。
 無効化リストにMcertの証明書IDが記録されていない場合(ステップS150でYES)、復号部530は、暗号化コンテンツ鍵を、ステップS126で生成したセッション鍵Bkを用いて復号し、コンテンツ鍵を生成する(ステップS151)。続いて、復号部531は、暗号化コンテンツを、ステップS151で生成したコンテンツ鍵を用いて復号し、コンテンツを生成する(ステップS152)。そして、再生部532は、コンテンツを再生する(ステップS153)。
 最後に、図14を用いて、図11のステップS103およびステップS109のバージョン検証処理の詳細について説明する。
 図14に示す処理は、メモリカード40のバージョン検証部422および再生装置50のバージョン検証部522により実行される。バージョン検証部422および522共に同様の処理を行うので、ここでは、便宜上符号を省略して説明する。
 バージョン検証部は、記憶部に記憶されている鍵情報を読み出し、鍵情報に含まれるデジタル署名を検証する(ステップS201)。署名検証に失敗すると(ステップS202でNO)、ステップS206へ進む。署名検証に成功すると(ステップS202でYES)、バージョン検証部は、記憶部に記憶されている無効化リストから「バージョン」を読み出す(ステップS203)。さらに、バージョン検証部は、鍵情報から「最低バージョン情報」を読み出す(ステップS202)。
 そして、無効化リストのバージョンが最低バージョン情報よりも古いか否か判断する。無効化リストのバージョンが最低バージョン情報よりも古い場合(ステップS205でYES)、バージョン検証部は、無効化リストが不正であると判断する(ステップS206)。無効化リストのバージョンが最低バージョン情報と同じか若しくは新しい場合(ステップS205でNO)、バージョン検証部は、無効化リストが正当であると判断する(ステップS207)。
 バージョン検証部は、無効化リストのバージョンと最低バージョン情報とを比較することにより、無効化リストの正当性を検証するが、最低バージョン情報自体が不正に改ざんされていると、バージョン検証処理の実効性が失われる。そこで、バージョン検証部は、無効化リストのバージョンと最低バージョン情報とを比較する前に、鍵情報のデジタル署名を検証することにより、最低バージョン情報が、鍵発行局により、鍵情報に関連付けられて生成されていることを検証することとする。
<変形例>
 ここでは、実施の形態2で説明したメモリカード40の変形例として、メモリカード40aについて説明する。
 図15は、メモリカード40aの構成を示すブロック図である。ここでは、図9に記載したメモリカード40と同一の機能を有する構成要素については、図9と同一の符号を付して、説明を省略する。
 変形例に係るメモリカード40aのコントローラ401aは、コントローラ401の構成要素に加え、コントローラ固有鍵保持部431および復号部432を備えている。コントローラ固有鍵保持部431は、コントローラ401aに固有の情報であるコントローラ固有鍵を保持している。コントローラ固有鍵は、例えば、コントローラ401aの製造後に、電子回路の一部を電気的に焼ききって、個体別に異なる番号を刻むeFUSEといった技術を用いて書き込まれている。
 変形例に係る鍵情報410aは、秘密鍵がコントローラ固有鍵で暗号された暗号化秘密鍵411aを含む。
 復号部432はコントローラ鍵を用いて暗号化秘密鍵を復号し、復号した秘密鍵を認証部424に出力する。
 すなわち、変形例に係るメモリカード40aは、記憶部402に暗号化秘密鍵を保持しており、認証部424にて秘密鍵を用いる場合には、復号部432にて復号処理を行う。平文の秘密鍵がコントローラ401aの外部に出力されることが無いので、コントローラ401aを用いると、秘密鍵の安全性をより高めることができる。
<その他の変形例>
(1)実施の形態1および実施の形態2では、最低バージョン情報として、無効化リストの「バージョン」を用いているが、本発明はこれに限定されない。最低バージョン情報として、既に発行されている最新の無効化リストの発行日、最新の無効化リストに登録されている証明書IDの数、最新の無効化リストのサイズなどを用いてもよい。
(2)実施の形態1および実施の形態2では、ルート公開鍵は、コントローラ内に保持されているが、この構成は必須ではない。ルート公開鍵は、メモリカード製造業者によって記憶部(フラッシュメモリ)に書き込まれ、記憶部内で保持する構成でもよい。
(3)上記の実施の形態1では、図6で説明したように、ステップS8で記憶部302に鍵情報130を書き込んだ後に、ステップS12で無効化リスト120のバージョン検証処理を行っていた。しかし、本発明はこれに限定されない。コントローラ301は、記憶部302に鍵情報130を書き込む前に、無効化リスト120のバージョン検証処理を行うとしてもよい。そして、バージョン検証処理の結果、無効化リスト120のバージョンが最低バージョン情報よりも古いと判定された場合には、無効化リスト120を無効化リスト書込部309へ出力せずに破棄すると共に、鍵情報130についても鍵情報書込部307へ出力せずに破棄するように構成してもよい。
(4)実施の形態2では、メモリカードと通信するホスト装置は、コンテンツデータを再生する再生装置であった。しかし、メモリカードと通信するホスト装置は再生装置に限定されない。メモリカードの記憶部にコンテンツデータを記録する記録装置でもよい。
(5)実施の形態2におけるバージョン検証処理では、バージョン検証部により、無効化リストのバージョンが最低バージョン情報よりも古いと判断された場合でも、セッション鍵生成部によりセッション鍵を生成し、無効化リスト更新部により無効化リスト更新処理を実行してもよい。これは、バージョン逆行を目的とした攻撃を受ける危険性があるためセキュリティの観点からは推奨できないが、記憶部に記憶されている無効化リストが何らかの原因で破損した場合の回復策としては有効である。
(6)実施の形態2では、メモリカード40と再生装置50とが相互に無効化リストを送受信する処理において、各装置は自機が保持する無効化リストをセッション鍵を用いて暗号化した後に送信していた。しかし、この構成は、本発明において必須ではない。図3に示すように、無効化リストには鍵発行局によるデジタル署名が付与されている。そのため、デジタル署名を検証することにより無効化リストの改ざんを検出することができるので、改ざん防止という観点からは、無効化リストを暗号化せずに送受信してもよい。
(7)実施の形態2では、図11~図14のフローチャートに記載したチャレンジ-レスポンス認証に先立ち、メモリカード40および再生装置50が、それぞれ、自機が保持する無効化リストのデジタル署名を検証する処理を行ってもよい。
 無効化リストのデジタル署名を検証する無効化リスト検証部は、記憶部に記憶されている無効化リストに含まれるデジタル署名を、ルート公開鍵を用いて検証する。署名検証に失敗した場合には、自機に何らかの不正や攻撃があったものと見なして相手方装置との暗号通信の確立を中止するとしてもよい。
(8)実施の形態2では、図11~図14のフローチャートに記載した無効判定処理(ステップS143およびステップS149)に先立ち、自機が保持する無効化リストのデジタル署名を検証する処理を行ってもよい。署名検証に成功した場合のみ、ステップS143およびステップS149の処理を実行し、署名検証に失敗した場合には、正当な無効化リストを入手するまで、コンテンツの送受信処理を停止するなどの制御を行ってもよい。
(9)図11~図14を用いて説明したチャレンジ-レスポンス認証は一例である。メモリカードおよび再生装置で送受信する一つのメッセージを複数に分割して、メモリカードおよび再生装置の通信回数を増やしてもよい。また、処理の順序についても、図11~図14で示した具体例に限るものではなく、処理の順序を変更してもよい。
(10)上記の実施の形態2では、メモリカード40のバージョン検証部422は、自機の記憶部402に記憶されている無効化リストのバージョンと、自機の鍵情報に含まれる最低バージョン情報とを比較することにより、バージョン検証処理を行った。本発明は、これに限定されず、バージョン検証部422は、再生装置50から受信した無効化リストのバージョンと、自機の鍵情報410に含まれる最低バージョン情報413とを比較することにより、バージョン検証処理を行ってもよい。
 再生装置50のバージョン検証部522も同様に、メモリカード40から受信した無効化リストのバージョンと、自機の鍵情報510に含まれる最低バージョン情報513とを比較することにより、バージョン検証処理を行ってもよい。
(11)上記の実施の形態および上記の変形例を適宜組み合わせてもよい。
<補足>
 以下、更に本発明の一実施形態としての情報処理装置の構成およびその変形例と効果について説明する。
(a)本発明の一実施形態に係る情報処理装置は、鍵情報を用いて認証および鍵交換処理を行う情報処理装置であって、鍵発行局により発行された前記鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを記憶している記憶部と、外部から、バージョンが付加されている無効化リストを受け付ける無効化リスト受付部と、前記無効化リスト受付部が受け付けた前記無効化リストのバージョンと前記バージョン情報とを比較する比較部と、前記無効化リストのバージョンが、前記バージョン情報より古い場合に、所定の処理を抑制する制御部とを備えることを特徴とする。
 なお、<補足>に記載されている「鍵情報」は、上記の実施形態1および実施形態2においては、秘密鍵と公開鍵とから成る「鍵ペア」として記載されている。
 上記の構成によると、前記情報処理装置において、古いバージョンの無効化リストを用いた処理が行われることを防止することができる。
 また、仮にメーカが古いバージョンの無効化リストを情報処理装置に埋め込んだとすると、この情報処理装置は制御部により所定の処理が抑制される。したがって正常に動作しない情報処理装置が製造されることになる。そこで、上記の構成を有することにより、メーカは正常に動作しない情報処理装置が製造されるのを防止するために、新しい無効化リストを情報処理装置に埋め込むことが期待される。
(b)前記情報処理装置において、前記記憶部は、前記鍵情報と前記バージョン情報との関連付けを検証するための検証用情報を記憶しており、前記情報処理装置は、前記検証用情報を用いて、前記バージョン情報が前記鍵情報と関連するか否かを判定する検証部を備え、前記比較部は、前記検証部により前記バージョン情報が前記鍵情報に関連することが判定された後に、前記無効化リスト受付部が受け付けた前記無効化リストのバージョンと前記バージョン情報とを比較することを特徴とする。
 ここで、前記バージョン情報自体が不正に改ざんされていると、比較部および制御部による処理の実効性が失われる。
 そこで、前記情報処理装置は、比較部の処理に先立ち、前記検証用情報を用いて、バージョン情報が鍵発行局により発行された鍵情報と関連付けられているか否かを検証するので、比較部および制御部による処理の実効性を担保することができる。なお、検証用情報の具体例としては、鍵情報とバージョン情報とを連結したデータに対して、鍵発行局の秘密鍵により生成されたデジタル署名を用いることができる。
(c)前記情報処理装置は、前記無効化リスト受付部が受け付けた前記無効化リストを前記記憶部に書き込む無効化リスト書込部と、前記記憶部に記憶されている前記無効化リストを用いて、他の装置が無効化されているか否かを判定する無効化判定部とを備え、前記制御部は、前記無効化リストのバージョンが、前記バージョン情報より古い場合に、前記無効化リスト書込部による前記無効化リストの書き込みを抑制することを特徴とする。
 この構成によると、情報処理装置のメーカが、誤ってまたは故意に情報処理装置に古いバージョンの無効化リストを格納するのを抑制することができる。さらに、古いバージョンの無効化リストを用いて無効化判定処理が行われることを抑制することができる。
(d)前記情報処理装置は、固有鍵を保持する固有鍵保持部と、前記鍵発行局から発行された前記鍵情報のうちの少なくとも一部を、前記固有鍵保持部に保持された前記固有鍵で暗号化する暗号化部と、暗号化された前記鍵情報を前記記憶部に書き込む鍵情報書込部とを備えることを特徴とする。
 この構成によると、暗号化されている前記鍵情報の一部を他の情報処理装置を用いては復号することができないので、鍵情報の安全性を高めることができる。
(e)前記情報処理装置は、前記鍵情報を用いて他の装置との間で認証および鍵交換を行う認証鍵交換部を備え、前記記憶部は、前記無効化リストを記憶しており、前記無効化リスト受付部は、前記記憶部から前記無効化リストを読み出し、前記制御部は、前記無効化リスト受付部が前記記憶部から読み出した前記無効化リストのバージョンが前記バージョン情報より古い場合に、前記認証鍵交換部による認証および鍵交換を抑制することを特徴とする。
 すなわち、前記情報処理装置が古いバージョンの無効化リストを記憶している場合には、認証および鍵交換を抑制する。
 前記情報処理装置が他の装置と通信を行う前に認証および鍵交換を行う場合、認証および鍵交換が抑制されれば、前記情報処理装置の通信機能は失われることになる。そこで、上記の構成を備えることにより、情報処理装置のメーカは、新しい無効化リストを情報処理装置に埋め込むことが期待される。
(f)前記情報処理装置において、前記認証鍵交換部は、認証および鍵交換の結果、前記他の装置との間でセッション鍵を共有し、前記情報処理装置は、さらに、生成された前記セッション鍵を用いて前記他の装置との間で暗号通信を行い、前記他の装置から前記他の装置が保持している無効化リストを取得し、前記記憶部に記憶されている無効化リストのバージョンが、前記他の装置から取得した無効化リストのバージョンよりも古い場合には、取得した前記無効化リストで、前記記憶部に記憶されている無効化リストを更新する無効化リスト更新部を備えることを特徴とする。
 この構成によると、無効化リストのバージョンが前記バージョン情報と同一か若しくは前記バージョン情報より新しい場合、前記情報処理装置は、他の装置との間で無効化リスト更新処理を行う。このように、情報処理装置は、他の装置との間で無効化リスト更新処理を行うことで、より新しい無効化リストを保持することができる。
(g)前記情報処理装置において、前記他の装置から取得した前記無効化リストにはデジタル署名が付与されており、前記無効化リスト更新部は、前記デジタル署名が前記鍵発行局により発行されたものであるか否かを検証し、検証に成功した場合に、取得した前記無効化リストで、前記記憶部に記憶されている前記無効化リストを更新し、検証に失敗した場合は、前記記憶部に記憶されている前記無効化リストの更新を行わないことを特徴とする。
 この構成により、不正な無効化リストにより記憶部の無効化リストが更新されることを抑制することができる。
(h)前記情報処理装置において、前記記憶部に記憶されている前記鍵情報のうちの少なくとも一部は、当該情報処理装置に固有の固有鍵で暗号化されており、前記情報処理装置は、前記固有鍵を保持する固有鍵保持部と、暗号化されている前記鍵情報の一部を、前記固有鍵を用いて復号し、復号された鍵情報を、前記認証鍵交換部へ出力する復号部とを備えることを特徴とする。
 この構成によると、暗号化されていない鍵情報が情報処理装置の外部へ出力されることがないので、鍵情報の安全性を高めることができる。
 本発明は、SDメモリカードなどのメモリカードを製造および販売する産業において、メモリカードに古い無効化リストを書き込む不正行為を抑制する仕組みとして利用することができる。
1  メモリカード製造システム
2  コンテンツ再生システム
10  鍵発行局
20  メモリカード製造装置
30、30a、40、40a  メモリカード
50   再生装置
101  ルート秘密鍵保持部
102  新規登録受付部
103  バージョン管理部
104  無効化リスト管理部
105  無効化リスト生成部
106  鍵ペア生成部
107  証明書ID管理部
108  証明書生成部
109  署名付与部
110  鍵情報生成部
111  鍵情報送信部
112  無効化リスト送信部
201  無効化リスト送信部
202  鍵情報送信部
301、301a  コントローラ
302  記憶部
303  ルート公開鍵保持部
304  無効化リスト受付部
305  鍵情報受付部
306  署名検証部
307  鍵情報書込部
308  バージョン検証部
309  無効化リスト書込部
311  コントローラ固有鍵保持部
312  暗号化部
401、401a  コントローラ
402  記憶部
421  ルート公開鍵保持部
422  バージョン検証部
423  認証鍵交換部
424  認証部
425  セッション鍵生成部
426  無効化リスト更新部
427  無効化判定部
428  コンテンツ鍵送信部
429  暗号化コンテンツ送信部
431  コントローラ固有鍵保持部
432  復号部
502  記憶部
521  ルート公開鍵保持部
522  バージョン検証部
523  認証鍵交換部
524  認証部
525  セッション鍵生成部
526  無効化リスト更新部
527  無効化判定部
528  コンテンツ鍵受信部
529  暗号化コンテンツ受信部
530  復号部
531  復号部
532  再生部

Claims (13)

  1.  鍵情報を用いて認証および鍵交換処理を行う情報処理装置であって、
     鍵発行局により発行された前記鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを記憶している記憶部と、
     バージョンが付加されている無効化リストを受け付ける無効化リスト受付部と、
     前記無効化リスト受付部が受け付けた前記無効化リストのバージョンと前記バージョン情報とを比較する比較部と、
     前記無効化リストのバージョンが、前記バージョン情報より古い場合に、所定の処理を抑制する制御部と
     を備えることを特徴とする情報処理装置。
  2.  前記記憶部は、前記鍵情報と前記バージョン情報との関連付けを検証するための検証用情報を記憶しており、
     前記情報処理装置は、
     前記検証用情報を用いて、前記バージョン情報が前記鍵情報と関連するか否かを判定する検証部を備え、
     前記比較部は、前記検証部により前記バージョン情報が前記鍵情報に関連することが判定された後に、前記無効化リスト受付部が受け付けた前記無効化リストのバージョンと前記バージョン情報とを比較する
     ことを特徴とする請求項1に記載の情報処理装置。
  3.  前記情報処理装置は、
     前記無効化リスト受付部が受け付けた前記無効化リストを前記記憶部に書き込む無効化リスト書込部と、
     前記記憶部に記憶されている前記無効化リストを用いて、他の装置が無効化されているか否かを判定する無効化判定部とを備え、
     前記制御部は、前記無効化リストのバージョンが、前記バージョン情報より古い場合に、前記無効化リスト書込部による前記無効化リストの書き込みを抑制する
     ことを特徴とする請求項2に記載の情報処理装置。
  4.  前記情報処理装置は、
     固有鍵を保持する固有鍵保持部と、
     前記鍵発行局から発行された前記鍵情報のうちの少なくとも一部を、前記固有鍵保持部に保持された前記固有鍵で暗号化する暗号化部と、
     暗号化された前記鍵情報を前記記憶部に書き込む鍵情報書込部とを備える
     ことを特徴とする請求項3に記載の情報処理装置。
  5.  前記情報処理装置は、
     前記鍵情報を用いて他の装置との間で認証および鍵交換を行う認証鍵交換部を備え、
     前記記憶部は、前記無効化リストを記憶しており、
     前記無効化リスト受付部は、前記記憶部から前記無効化リストを読み出し、
     前記制御部は、前記無効化リスト受付部が前記記憶部から読み出した前記無効化リストのバージョンが前記バージョン情報より古い場合に、前記認証鍵交換部による認証および鍵交換を抑制する
     ことを特徴とする請求項1に記載の情報処理装置。
  6.  前記認証鍵交換部は、認証および鍵交換の結果、前記他の装置との間でセッション鍵を共有し、
     前記情報処理装置は、さらに、
     生成された前記セッション鍵を用いて前記他の装置との間で暗号通信を行い、前記他の装置から前記他の装置が保持している無効化リストを取得し、前記記憶部に記憶されている無効化リストのバージョンが、前記他の装置から取得した無効化リストのバージョンよりも古い場合には、取得した前記無効化リストで、前記記憶部に記憶されている無効化リストを更新する無効化リスト更新部を備える
     ことを特徴とする請求項5に記載の情報処理装置。
  7.  前記他の装置から取得した前記無効化リストにはデジタル署名が付与されており、
     前記無効化リスト更新部は、前記デジタル署名が前記鍵発行局により発行されたものであるか否かを検証し、検証に成功した場合に、取得した前記無効化リストで、前記記憶部に記憶されている前記無効化リストを更新し、検証に失敗した場合は、前記記憶部に記憶されている前記無効化リストの更新を行わない
     ことを特徴とする請求項6に記載の情報処理装置。
  8.  前記記憶部に記憶されている前記鍵情報のうちの少なくとも一部は、当該情報処理装置に固有の固有鍵で暗号化されており、
     前記情報処理装置は、
     前記固有鍵を保持する固有鍵保持部と、
     暗号化されている前記鍵情報の一部を、前記固有鍵を用いて復号し、復号された鍵情報を、前記認証鍵交換部へ出力する復号部とを備える
     ことを特徴とする請求項5に記載の情報処理装置。
  9.  請求項1に記載の情報処理装置は、フラッシュメモリおよびコントローラから構成されるメモリカードであって、
     前記記憶部は、フラッシュメモリで構成され、
     前記無効化リスト受付部、前記比較部および前記制御部は、前記コントローラ上に集積されている
     ことを特徴とする情報処理装置。
  10.  メモリカードに組み込まれるコントローラであって、
     鍵発行局により発行された鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを受け付ける鍵情報受付部と、
     バージョンが付加されている無効化リストを受け付ける無効化リスト受付部と、
     前記無効化リスト受付部が受け付けた前記無効化リストのバージョンと前記バージョン情報とを比較する比較部と、
     前記無効化リストのバージョンが、前記バージョン情報より古い場合に、所定の処理を抑制する制御部と
     を備えることを特徴とするコントローラ。
  11.  情報処理装置に埋め込まれる鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを生成する生成部と、
     生成された前記鍵情報と前記バージョン情報とを外部へ出力する出力部と
     を備えることを特徴とする鍵発行局。
  12.  鍵情報を用いて認証および鍵交換処理を行う情報処理装置で用いられる無効化リスト有効性判定方法であって、
     前記情報処理装置は、
     鍵発行局により発行された前記鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを記憶している記憶部を備え、
     前記無効化リスト有効性判定方法は、
     バージョンが付加されている無効化リストを受け付ける無効化リスト受付ステップと、
     前記無効化リスト受付ステップが受け付けた前記無効化リストのバージョンと前記バージョン情報とを比較する比較ステップと、
     前記無効化リストのバージョンが、前記バージョン情報より古い場合に、所定の処理を抑制する抑制ステップと
     を含むことを特徴とする無効化リスト有効性判定方法。
  13.  鍵発行局で用いられる鍵発行方法であって、
     情報処理装置に埋め込まれる鍵情報と、前記鍵情報が生成された時点において発行されている最新の無効化リストのバージョンを示し、前記鍵情報と関連付けられた情報であるバージョン情報とを生成する生成ステップと、
     生成された前記鍵情報と前記バージョン情報とを外部へ出力する出力ステップと
     を含むことを特徴とする鍵発行方法。
PCT/JP2011/004025 2010-07-23 2011-07-14 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法 WO2012011254A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012525312A JP5815525B2 (ja) 2010-07-23 2011-07-14 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
EP11809430.9A EP2597588B1 (en) 2010-07-23 2011-07-14 Information processing device, controller, certificate issuing authority, method of determining validity of revocation list, and method of issuing certificates
CN201180003943.4A CN102549595B (zh) 2010-07-23 2011-07-14 信息处理装置、控制器、密钥发行站、无效化列表有效性判定方法以及密钥发行方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US36706310P 2010-07-23 2010-07-23
US61/367,063 2010-07-23

Publications (1)

Publication Number Publication Date
WO2012011254A1 true WO2012011254A1 (ja) 2012-01-26

Family

ID=45494518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/004025 WO2012011254A1 (ja) 2010-07-23 2011-07-14 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法

Country Status (6)

Country Link
US (1) US9054880B2 (ja)
EP (1) EP2597588B1 (ja)
JP (1) JP5815525B2 (ja)
CN (1) CN102549595B (ja)
TW (1) TWI491236B (ja)
WO (1) WO2012011254A1 (ja)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012235513A (ja) * 2012-07-20 2012-11-29 Toshiba Corp メディア
JP2012235312A (ja) * 2011-04-28 2012-11-29 Toshiba Corp 認証システム及びホスト
JP2012235313A (ja) * 2011-04-28 2012-11-29 Toshiba Corp 情報記録装置
JP2013062867A (ja) * 2012-11-30 2013-04-04 Toshiba Corp 認証システム、及びメディア
WO2013105354A1 (ja) * 2012-01-12 2013-07-18 ソニー株式会社 情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JP2018110355A (ja) * 2017-01-05 2018-07-12 株式会社日立製作所 システム及び情報の書込方法
US20200076620A1 (en) * 2018-08-30 2020-03-05 Kabushiki Kaisha Toshiba Information processing apparatus, communication device, and information processing system

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5369916B2 (ja) * 2009-06-11 2013-12-18 ソニー株式会社 カード管理装置およびカード管理システム
US8561207B2 (en) * 2010-08-20 2013-10-15 Apple Inc. Authenticating a multiple interface device on an enumerated bus
CA2877839C (en) * 2012-06-28 2021-07-27 Ologn Technologies Ag Secure key storage systems, methods and apparatuses
US9143331B2 (en) * 2013-02-07 2015-09-22 Qualcomm Incorporated Methods and devices for authentication and key exchange
WO2014177904A1 (en) * 2013-04-29 2014-11-06 Freescale Semiconductor, Inc. Memory controller
US9807083B2 (en) * 2015-06-05 2017-10-31 Sony Corporation Distributed white list for security renewability
US10263778B1 (en) 2016-12-14 2019-04-16 Amazon Technologies, Inc. Synchronizable hardware security module
US10425225B1 (en) 2016-12-14 2019-09-24 Amazon Technologies, Inc. Synchronizable hardware security module
US10313123B1 (en) * 2016-12-14 2019-06-04 Amazon Technologies, Inc. Synchronizable hardware security module
US11146397B2 (en) * 2017-10-31 2021-10-12 Micro Focus Llc Encoding abelian variety-based ciphertext with metadata
EP3584759B1 (en) * 2018-06-18 2024-05-01 Panasonic Intellectual Property Corporation of America Management method, management apparatus, and program
US11443028B2 (en) * 2018-09-27 2022-09-13 Apple Inc. Digital credential revocation
US11528130B1 (en) * 2022-06-04 2022-12-13 Uab 360 It Stateless system to protect data

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002135243A (ja) * 2000-10-20 2002-05-10 Sony Corp データ再生装置、データ記録装置、およびデータ再生方法、データ記録方法、リスト更新方法、並びにプログラム提供媒体
JP2005352522A (ja) 2004-05-10 2005-12-22 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2005352523A (ja) * 2004-05-10 2005-12-22 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007025913A (ja) * 2005-07-13 2007-02-01 Sony Corp 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP2009194757A (ja) * 2008-02-15 2009-08-27 Toshiba Solutions Corp 認証方法、ホスト計算機及び記録媒体

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002132141A (ja) * 2000-10-20 2002-05-09 Sony Corp データ記憶装置、およびデータ記録方法、データ再生方法、並びにプログラム提供媒体
JP4524480B2 (ja) * 2000-11-24 2010-08-18 三洋電機株式会社 データ端末装置
US8132024B2 (en) * 2003-03-11 2012-03-06 Panasonic Corporation Digital work protection system, recording apparatus, reproduction apparatus, and recording medium
EP1642188A2 (en) * 2003-07-08 2006-04-05 Matsushita Electric Industrial Co., Ltd. Information input/output system
US9202210B2 (en) * 2005-11-23 2015-12-01 Sandisk Il Ltd. Digital rights management device and method
KR101346734B1 (ko) * 2006-05-12 2014-01-03 삼성전자주식회사 디지털 저작권 관리를 위한 다중 인증서 철회 목록 지원방법 및 장치
JP5018494B2 (ja) 2008-01-16 2012-09-05 ソニー株式会社 情報処理装置、ディスク、および情報処理方法、並びにプログラム
US8635442B2 (en) * 2009-04-28 2014-01-21 Adobe Systems Incorporated System and method for long-term digital signature verification utilizing light weight digital signatures

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002135243A (ja) * 2000-10-20 2002-05-10 Sony Corp データ再生装置、データ記録装置、およびデータ再生方法、データ記録方法、リスト更新方法、並びにプログラム提供媒体
JP2005352522A (ja) 2004-05-10 2005-12-22 Sony Corp 情報処理装置、情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
JP2005352523A (ja) * 2004-05-10 2005-12-22 Sony Corp 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007025913A (ja) * 2005-07-13 2007-02-01 Sony Corp 情報処理装置、情報記録媒体製造装置、情報記録媒体、および方法、並びにコンピュータ・プログラム
JP2009194757A (ja) * 2008-02-15 2009-08-27 Toshiba Solutions Corp 認証方法、ホスト計算機及び記録媒体

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2597588A4

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012235312A (ja) * 2011-04-28 2012-11-29 Toshiba Corp 認証システム及びホスト
JP2012235313A (ja) * 2011-04-28 2012-11-29 Toshiba Corp 情報記録装置
WO2013105354A1 (ja) * 2012-01-12 2013-07-18 ソニー株式会社 情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
JPWO2013105354A1 (ja) * 2012-01-12 2015-05-11 ソニー株式会社 情報記憶装置、情報処理システム、および情報処理方法、並びにプログラム
US9767298B2 (en) 2012-01-12 2017-09-19 Sony Corporation Information storage device, information processing system, information processing method, and program
JP2012235513A (ja) * 2012-07-20 2012-11-29 Toshiba Corp メディア
JP2013062867A (ja) * 2012-11-30 2013-04-04 Toshiba Corp 認証システム、及びメディア
JP2018110355A (ja) * 2017-01-05 2018-07-12 株式会社日立製作所 システム及び情報の書込方法
US20200076620A1 (en) * 2018-08-30 2020-03-05 Kabushiki Kaisha Toshiba Information processing apparatus, communication device, and information processing system
US11516021B2 (en) * 2018-08-30 2022-11-29 Kabushiki Kaisha Toshiba Information processing apparatus, communication device, and information processing system

Also Published As

Publication number Publication date
JPWO2012011254A1 (ja) 2013-09-09
EP2597588A1 (en) 2013-05-29
JP5815525B2 (ja) 2015-11-17
US20120023329A1 (en) 2012-01-26
US9054880B2 (en) 2015-06-09
TW201212611A (en) 2012-03-16
EP2597588B1 (en) 2021-04-14
EP2597588A4 (en) 2017-07-26
TWI491236B (zh) 2015-07-01
CN102549595B (zh) 2016-04-20
CN102549595A (zh) 2012-07-04

Similar Documents

Publication Publication Date Title
JP5815525B2 (ja) 情報処理装置、コントローラ、鍵発行局、無効化リスト有効性判定方法および鍵発行方法
US9912485B2 (en) Method and apparatus for embedding secret information in digital certificates
CN1961523B (zh) 令牌提供
CN101145906B (zh) 对单向网络中的接收终端进行合法性认证的方法及系统
JP4638912B2 (ja) ディストリビューションcdを使用した、署名されたグループにおけるダイレクトプルーフの秘密鍵を装置に伝達する方法
JP6573880B2 (ja) 更新プログラム及び方法、及び、管理プログラム及び方法
CN108604983A (zh) 通过域名服务对私钥的安全的委托分发
WO2010116618A1 (ja) 鍵実装システム
JP2004013600A (ja) データ処理システム、データ処理装置、および方法、並びにコンピュータ・プログラム
US20150074406A1 (en) Memory device and memory system
CN111971929A (zh) 安全分布式密钥管理系统
Schleiffer et al. Secure key management-a key feature for modern vehicle electronics
JP6779416B2 (ja) 電子錠システム、電子錠管理方法、および電子錠管理プログラム
JP6888122B2 (ja) 半導体装置、更新データ提供方法、更新データ受取方法およびプログラム
CN111740995B (zh) 一种授权认证方法及相关装置
KR20140071775A (ko) 암호키 관리 시스템 및 방법
JP4918133B2 (ja) データ保管方法、クライアント装置、データ保管システム、及びプログラム
JP2004140636A (ja) 電子文書の署名委任システム、署名委任サーバ及び署名委任プログラム
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
JP2005278065A (ja) 認証用鍵の更新システム、認証用鍵の更新方法および認証用鍵の更新プログラム
JP2004015527A (ja) データ処理権限管理システム、情報処理装置、および方法、並びにコンピュータ・プログラム
JP5142361B2 (ja) 正当性検証装置
JP2010245712A (ja) Id有効性管理装置及び通信装置及びid有効性管理方法及びデータ処理方法及びプログラム
JP2008294861A (ja) 鍵管理方法及びシステム及びサービス提供センタ装置及びicカード及びプログラム
CN114547633A (zh) 人工智能模型的加密及签章方法与装置、解密及验证方法与装置

Legal Events

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

Ref document number: 201180003943.4

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 2012525312

Country of ref document: JP

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11809430

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 609/KOLNP/2012

Country of ref document: IN

WWE Wipo information: entry into national phase

Ref document number: 2011809430

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE