Patent Publication Number: US-9413532-B2

Title: Information recording device

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation application of U.S. patent application Ser. No. 14/250,741, filed Apr. 11, 2014, which is a continuation application of application Ser. No. 13/513,469, filed Sep. 17, 2012 (now U.S. Pat. No. 8,745,391), the entire contents of which are incorporated herein by reference. U.S. application Ser. No. 13/513,469 is a National Stage application of PCT/JP2012/058282, filed Mar. 22, 2012, and claims benefit of priority from prior Japanese Patent Application No. 2011-102437, filed on Apr. 28, 2011. The entire contents of the above-identified applications are incorporated herein by reference. 
    
    
     FIELD 
     Embodiments described herein relates to a data recording device, a host device and a method of processing a data recording device. 
     BACKGROUND 
     In recent years, with the development of information-oriented society, content data distribution systems are widely used. The content data distribution systems deliver digitalized content data such as books, newspapers, music or moving pictures, and enable content data stored in a user terminal or in a storage medium through a user terminal to be viewed/listened in a user terminal or in a PC (personal computer) environment. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a block diagram illustrating a structure of a memory card  1000  used in an information recording system according to the first embodiment. 
         FIG. 2  is an equivalent circuit diagram illustrating a structure of the memory  100  (NAND type flash memory) of  FIG. 1 . 
         FIG. 3  is a schematic diagram describing a method of writing of encrypted medium device key and the medium device key certificate to the memory card  1000  in the first embodiment. 
         FIG. 4  is a block diagram illustrating a structure and operation of the memory card  1000  and a host device  2000  included in the information recording system according to the first embodiment. 
         FIG. 5  is a block diagram illustrating a structure and operation of the memory card  1000  and a host device  2000  included in the information recording system according to the first embodiment. 
         FIG. 6  is a block diagram illustrating a structure and operation of the memory card  1000  and a host device  2000  included in the information recording system according to the second embodiment. 
         FIG. 7  is a flow chart illustrating an operation of the information recording system according to the second embodiment. 
     
    
    
     DETAILED DESCRIPTION 
     A data recording device according to an embodiment includes: a memory unit configured to store various types of data; a controller configured to control the memory unit; and an interface unit configured to perform data communication with a host device through a secure channel. The controller holds a controller key and a first controller identification information unique to the controller. 
     The controller further includes: a controller unique key generating unit configured to generate a controller unique key unique to a respective controller based on the controller key and the first controller identification information; controller identification information generating unit configured to generate second controller identification information based on the first controller identification information; a decryptor; and an authentication/key exchange process unit configured to perform an authentication/key exchange process with the host device. 
     The memory unit further includes at least a normal recording area accessible freely from outside, a system information recording area, and a secret recording area. The secret recording area is accessible on the condition that a certain authentication process is completed. The system information recording area stores an encrypted medium device key and a medium device key certificate. The encrypted medium device key is a medium device key encrypted by the controller unique key. The medium device key functions as a private key of a public key cryptosystem. The medium device key certificate functions as a public key of the public key cryptosystem. 
     A decryptor is configured to decrypt to decrypt the encrypted medium device key using the controller unique key to obtain a medium device key. In addition, the authentication/key exchange process unit is configured to perform authentication/key exchange process with the host device through the interface unit using the medium device key and the medium device key certificate to establish the secure channel. 
     A host device according to an embodiment described below is enabled to be connected to a data recording device. The data recording device includes a memory unit configured to store various types of data, and a controller provided with a controller key and a first controller identification information to control the memory unit, and configured to perform a certain authentication/key exchange process with the data recording device to supply data thereto. 
     The host device includes a holding unit for holding a host device key functioning as private key of public key cryptosystem and a host device certificate functioning as a public key of public key cryptosystem. The host device also includes an authentication/key exchange process unit configured to perform an authentication/key exchange process with the data recording device using the host device key and the host device certificate to receive medium device key certificate ID held in the data recording device and contained in the medium device key certificate functioning as a public key of the public key cryptosystem. The host device also includes an interface unit configured to perform data communication with the data recording device through a secure channel, and an identification information generating unit configured to receive the second controller identification information generated in the data recording device based on the first controller identification information by data communication through the secure channel and the interface unit, to generate data recording device identification information based on the second controller identification information and the medium device key certificate ID. 
     Embodiments of the present invention will be described with reference to drawings. 
     Electronic content data (hereinafter referred to simply as “content”) is easily duplicable so that unauthorized activities disregarding the copyright regarding the content may easily occur. From a point of view of protecting the content from such unauthorized activities, the content is usually encrypted and decrypted before being played back in a genuine device. 
     An encryption with double keys scheme has been proposed in which the content key for encrypting the content is doubly encrypted with two keys. Among the two encryption keys, a key unique to the storage medium (for example, a medium unique key) is securely recorded in a hidden area in a storage medium which cannot be accessed from outside of the storage medium. Accordingly, even if only encrypted content key data were copied falsely, for example, the content cannot be used (decrypted) without necessary medium unique key for decoding the encrypted content key data. 
     However, when such a medium unique key is read out falsely by a certain way, and is handed down to a manufacturer of fake storage medium (memory cards), it results in a diffusion of clone cards which are copies of authorized storage medium (memory cards). This means that content data is utilized falsely. 
     First Embodiment 
       FIG. 1  shows a structure of a memory card  1000  (a nonvolatile memory system) used for the information recording system according to the first embodiment. This memory card  1000  is enabled to encrypt content data and store it. Note that the nonvolatile memory system does not necessarily have the shape of the memory card. The memory card  1000  may be implemented such that it is impossible to be attached or detached from a host device  2000 . 
     Also, this memory card  1000  is configured to be connected to a host device  2000  (not illustrated in  FIG. 1 ) and is enabled to perform a certain authentication/key exchange process with the host device  2000 . When authentication/key exchange processing is completed, data write or read from the host device  2000  to a system information recording area and a secret recording area of the memory card  1000  becomes possible. Also, reading of data that is necessary for decryption of the encrypted content data stored in the memory card  1000  is made possible by the host device  2000  or a playback device connected to the host device  2000 . This enables the playback of the content data. 
     In addition, the memory card  1000  according to the embodiment is configured to store a medium device key Kmd_i as a private key of a public key cryptosystem, and a medium device key certificate Cert media  including a public key of the public key cryptosystem, for performing a authentication/key exchange process with the host device  2000 . This will be described in detail later. 
     This memory card  1000  is composed of a NAND type flash memory  100  (hereinafter referred to as a memory  100 ), and a controller  200  for controlling a reading operation/write operation in the memory  100 . Although a case is explained where the NAND type flash memory is adopted as an example of the memory  100  hereinbelow, other memory units (a magnetic disk drive apparatus, resistance change memory, ferroelectric memory, magnetic resistance memory, phase change memory) that may store data in a non-volatile manner may be adopted as a memory  100 . 
     The controller  200  comprises a NAND flash interface  201  for performing data transfer with the memory  100 , a host interface  202  for performing data transfer with an external device such as the host device  2000 , a buffer RAM  203  for temporarily storing read data and write data, an MPU  204  for controlling data transfer, a hardware sequencer  205  used for sequential control of reading/writing of firmware (FW) in the NAND type flash memory  21  or the like, a decryptor  206 , a encoder  207 , and a fuse circuit  208 . 
     The NAND flash interface  201  includes an error correction circuit (ECC). When data is written in the NAND flash memory, the NAND flash interface  201  calculates an error correcting code using the error correction circuit, and writes the data and the error correcting code in the NAND flash memory  21 . 
     Also, when data is read from the NAND flash memory, the NAND flash interface  201  calculates a syndrome from the data and the error correcting code, thereby correcting the error of the data within a certain error-correcting capacity. 
     The firmware (FW) necessary for the controller  200  is automatically read from the memory  100  in an initialization operation (a power-on initial setup operation) performed automatically after power-on, and is transferred to the data register (buffer RAM)  203 . This reading control is carried out by the hardware sequencer  205 . Note that the firmware may be stored in a ROM in the controller  200 . The firmware in this embodiment includes a one-way converter  211 , an ID generator  212 , an authentication/key exchange process unit  213 , and the like, as described below. 
     The fuse circuit  208  stores a controller key Kc and a controller unique ID (IDcu) for identifying the controller  20 . The controller key Kc and the controller unique ID (IDcu) are used to generate a controller unique key Kcu, as described below. When the above-mentioned medium device key Kmd_i is stored in a system information recording area  103  of the memory card  1000 , the medium device key Kmd_i is encrypted using the controller unique key Kcu. The controller unique key Kcu is generated using the controller key Kc and the controller unique ID (IDcu) as input values into the one-way converter  211 . That is, the one-way converter  211  is one example of the controller unique key generating unit for generating a controller unique key. 
     Also, the ID generator  212  (a controller identification information generating unit) generates a public control unique ID (IDcntr) to be transmitted to external, using the controller key Kc and the controller unique ID (IDcu) as input values thereto. 
     The authentication/key exchange process unit  213  performs an authentication/key exchange process with the host device  2000  based on the medium device key Kmd_i and the medium device key certificate Cert media . 
     As shown in  FIG. 2 , the memory  100  is configured by arranging NAND cell units NU (an NAND string) NU in each of which a plurality of electrically-rewritable nonvolatile memory cells (in the example of the figure, 32 memory cells) M 0 -M 31  are serially connected. 
     One end of the NAND cell unit NU is connected to a bit line BLo or BLe through a selection gate transistor S 1 , while the other end thereof is connected to a common source line CELSRC through a selection gate transistor S 2 . The control gates of the memory cells M 0 -M 31  are connected to word lines WL 0 -WL 31 , respectively, and gates of the selection gate transistor S 1  and S 2  are connected to selection gate lines SGD and SGS. 
     A group of the NAND cell units arranged in a word-line direction comprises a block as the smallest unit for data erasure. As shown, a plurality of blocks BLK 0 -BLKn−1 are arranged in a bit-line direction. A part of blocks among the plural blocks is set as a normal recording area  101  that is freely accessible without a special authentication process, while another part thereof is set as a secret recording area  102  that becomes accessible after a predetermined authentication/key exchange process. Further, another part thereof is set as a system information recording area  103  for recording information determined in advance at the time of memory-card production. 
     The normal recording area  101 , the secret recording area  102 , and the system information recording area  103  are assigned with logic addresses, respectively. 
     Designation of the logic address of the secret recording area  102  is permitted only when an authentication/key exchange process described below is completed. 
     Note that the normal recording area  101  may store 2 bits or more of data in one memory cell. On the other hand, the secret recording area  102  and the system information recording area  103  may store only 1-bit data in one memory cell in view of securing data-reliability. 
     Also, in the normal recording area  101 , correspondency between a logic address and a physical address is dynamically changed depending on data update, while in the secret recording area  102  and system information recording area  103 , it is possible to control the correspondency between the logic address and the physical address such that it is statically fixed, in view of security of data reliability. 
     A sense amplifier circuit  3  used for reading and writing of cell data is located at one end of the bit line BLe or BLo. Also, a row decoder  2  for selectively driving the word lines and the selection gate lines is located at one end of the word line.  FIG. 2  shows a case where even-number bit lines BLe and odd-number bit lines BLo adjacent to each other are selectively connected to respective sense amplifiers SA of the sense amplifier circuit  3  by a bit line selection circuit. 
     Referring now to  FIG. 3 , a method of manufacturing the memory card  1000 , and a method of writing the medium device key Kmd_i and the medium device key certificate Cert media  will be described. The medium device key Kmd_i and the medium device key certificate Cert media  to be written in the memory card  1000  are provided from a key issue/management center  3000  to a memory card manufacturer C, and are written into the system information recording area  103  of the memory  100  included in the memory card  1000  through the controller  200 . Although omitted in  FIG. 1 , the memory card  1000  is connected to an apparatus (a PC, a mobile-phone terminal, or a publicly-used terminal) having a certain communication function. Through an apparatus having such a communication function, data issued from the key issue/management center  3000  are written to the memory card  1000 . 
     As described earlier, the medium device key Kmd_i is a private key of the public key cryptosystem, while the medium device key certificate Cert media  is data including a public key corresponding to the medium device key Kmd_i as a private key. In the medium device key certificate Cert media , a medium device key certificate ID (IDm_cert) is contained as identification information unique to the certificate. 
     In the production of memory card  1000 , the controller  200  is provided from a controller manufacturer A, and the memory  100  is provided from a memory manufacturer B to a memory card manufacturer C. Note that two or all of the manufacturers A, B, and C may be the same company. The memory card manufacturer C writes information that is necessary for the memory  100 , in order that the memory card  1000  is in an operable state. 
     The controller manufacturer A writes the controller key Kc and the controller unique ID (IDcu) in the controller  200  as secret information when the controller  200  is produced. The controller key Kc may be set as a common key among a plurality of the controllers  200  for the reason relating to the manufacturing process. On the other hand, different controllers  200  have different controller unique ID. That is, a controller unique key generated in one controller  200  is always different from a controller unique key generated in another controller  200 . 
     The controller manufacturer A discloses data of the control key Kc given to the controller  200 , to the key issue/management center  3000 . Note that the controller key Kc may be transmitted from the controller manufacturer A to the key issue/management center  3000  using PGP encryption scheme or the like. The controller key Kc is secret information prepared for steadily writing the medium device key Kmd_i issued by the key issuance/management center  3000  to a controller manufactured by the controller manufacturer A. In some cases, it is possible to take a procedure in which the controller key Kc is generated in the key issuance/management center  3000 , and then disclosed to the controller manufacturer A. 
     The key issue/management center  3000  comprises a managing key unit  3002  for generating a medium device key Kmd_i and medium device key certificate Cert media , a device key database  3001  for managing the generated medium device key Kmd_i and the medium device key certificate Cert media , and encryption unit  3003  encrypting the medium device key Kmd_i using the controller key Kc received from the controller manufacturer A. 
     The control key Kc is used for encrypting the medium device key Kmd_i in the key issue/management center  3000 . The medium device key Kmd_i is generated in the key generator  3002 , and then stored in the device key database  3001 . The encryption unit  3003  is supplied with the corresponding medium device key Kmd_i from the device key database  3001 , and encrypts it using the controller key Kc to generate encrypted medium device key Enc (Kc, Kmd_i). 
     The controller key Kc is information that only the controller manufacturer A and the key issue/management center  3000  may acquire. However, to reduce a damage when information on the controller key Kc is leaked to external by accident or by a certain reason, it is desirable that different controller keys Kc(s) are used among different groups including a certain number of the controllers, for example in a unit of production lot. 
     Note that, in the key generator  3002  and the device key database  3001 , not only the medium device key Kmd_i and the medium device key certificate Cert media  for the memory card  1000  are generated and maintained, but also a host device key Khd_i or a host device certificate Cert host  for the host device  2000  described later are generated and maintained in a similar way. 
     The memory card manufacturer C is supplied with the controller  200  from the controller manufacturer A, and receives from the key issue/management center  3000  a medium device key encrypted for the controller  200  (encrypted medium device key Enc (Kc, Kmd_i)), and a medium device key certificate Cert media  corresponding to the medium device key. In order to receive a desired encrypted medium device key Enc (Kc, Kmd_i), a model number of the controller  200  or a production lot number thereof may be provided. This allows the medium device key encrypted by a precise controller key Kc to be received. 
     The encrypted medium device key Enc (Kc, Kmd_i) is temporarily written in the buffer RAM  203  of the controller  200 . Then, the controller  200  decodes the encrypted medium device key Enc (Kc, Kmd_i) using the controller key Kc which it owns in the decryptor  206 . The medium device key Kmd_i is thereby provided in the controller  200 . 
     On the other hand, the one-way converter  211  operates a one-way function using the controller key Kc and the controller unique ID (IDcu) held in the controller  200  as input values thereto to generate a controller unique key Kcu. The medium device key Kmd_i is encrypted in the encryptor  207  again using this newly generated controller unique key Kcu, thereby generating an encrypted medium device key Enc (Kcu, Kmd_i). 
     This encrypted medium device key Enc (Kcu, Kmd_i) is stored in the system information recording area  103  of the memory  100  supplied by the memory manufacturer B. In this case, the medium device key certificate Cert media  corresponding to the encrypted medium device key Enc (Kcu, Kmd_i) written in the system information recording area  103  is stored in the system information recording area  103  similarly. 
     The controller unique key (Kcu) is generated using the controller key Kc secretly stored in the controller  200  and the controller unique ID (IDcu). Accordingly, a risk of information necessary for decrypting the encrypted medium device key Enc (Kcu, Kmd_i) being leaked to external is small. It is extremely difficult to falsely perform re-encryption of the medium device key Kmd_i (after decryption by the original controller unique key Kcu 1 , encrypting it with another controller unique key Kcu 2 ) in order that the encrypted medium device key Enc (Kcu, Kmd_i) once written in the memory  100  is made available in a separate controller  200 . 
     In the first embodiment, a one-way function is used for generating the controller unique key Kcu from the controller key Kc and the controller unique ID (IDcu). However, it is possible to employ a function that can generate one piece of output data from two or more pieces of input data. The function is not limited to a one-way function. 
     Next, referring now to  FIG. 4 , the entire structure and the operation of the information recording system according to the first embodiment will be described. 
     As noted above, the memory card  1000  is provided with the encrypted medium device key Enc (Kcu, Kmd_i) and the medium device key certificate Cert media . Such the memory card  1000  is connected to the host device  2000 . This allows the memory card  1000  to be written with the content data C provided from the host device  2000 , or to output the fetched content data C to the host device  2000  as shown in  FIG. 4 . The memory card  1000  and the host device  2000  together form an information recording system. 
     Here, a structure of the host device  2000  will be described. The host device  2000  comprises a holding unit  401 , an authentication/key exchange process unit  402 , an ID combining unit  403 , a one-way converter  404 , a random number generator  405 , an encryptor/decryptor  406 , and an encryptor/decryptor  407 . 
     The holding unit  401  stores above-described host device key Khd_j and a host device certificate Cert host . The host device key Khd_j is a private key of the public key cryptosystem, and the host device certificate Cert host  is data including a public key that forms a pair with the host device key Khd_j. The authentication/key exchange process unit  402  has a function of performing an authentication/key exchange process with the authentication/key exchange process unit  213  of the memory card  1000 , through an interface unit  500 ,  202  and a secure channel to output a medium device key certificate ID (IDm_cert). In addition, the ID combining unit  403  is configured to generate a memory card unique ID (IDmc) based on the public controller unique ID (IDcntr) and the medium device key certificate ID (IDm_cert). This ID combining unit  403  functions as an identification information generating unit for generating a memory card unique ID (IDmc) based on the controller unique ID (IDcntr) and the medium device key certificate ID (IDm_cert). This ID combining unit  403  merely couples two IDs to generate another new ID. In place of such a simple combination, it is possible to generate a new ID using a one-way function or a cryptographic algorithm, for example. 
     The one-way converter  404  generates medium unique key Kmu using a one-way function, to which the memory card unique ID (IDmc) and a medium key Km generated at the random number generator  405  are input. The random number generator  405  generates a random number, and generates the medium key Km and a title key Kt based on the acquired random number. The encryptor/decryptor  406  encrypts the title key Kt by the above-mentioned medium unique key Kmu. In addition, the encryptor/decryptor  407  encrypts the content data C by the title key Kt (to obtain encrypted content data Enc (Kt, C)). 
     Note that, in the present embodiment, the medium unique key Kmu is generated by the host device  2000 , and the medium unique key Kmu is used as an encryption key for encrypting the title key Kt. Similarly to the conventional content data protection technology, it is also possible to employ a scheme in which a medium unique key Kmu stored in the secret recording area  102  is directly used for encrypting the content data C. 
     Also, a double encryption key scheme is also available in which a user key Ku unique to a user is encrypted by a medium unique key Kmu, a content key Kct is encrypted by the user key Ku, and further content data is encrypted by the content key Kct. In addition, not only the medium key Km and the title key Kt may be generated in a host device, they may be written in the memory card in advance, or may be provided from an external device (not shown). 
     Next, an operation when content data C is written to the memory card  1000  from the host device  2000  will be described with reference to  FIG. 4 . First, the memory card  1000  generates the controller unique key Kcu from the controller key Kc and the controller unique ID (IDcu) using the one-way converter  211 . Then, the encrypted medium device key Enc (Kcu, Kmd_i) is decoded using this controller unique key Kcu, thereby the medium device key Kmd_i being obtained. The medium device key Kmd_i and the medium device key certificate Cert media  are transferred to the authentication/key exchange process unit  213 . 
     On the other hand, the host device  2000  transfers the host device key Khd_j and the host device certificate Cert host  to the authentication/key exchange process unit  402 . The authentication/key exchange process is thereby performed in the authentication/key exchange process unit  213  and  402 . When the process is completed, a secure channel is established between the memory card  1000  and the host device  2000 . When secure channel is established, the ID generator  212  may output a public controller unique ID (IDcntr) which was generated by itself through an interface unit and through a secure channel. 
     When a secure channel is established, the ID generator  403  couples the public controller unique ID (IDcntr) and the medium device key certificate ID (IDm_cert) to generate the memory card unique ID (IDmc). 
     The host device  2000  generates the medium key (Km) using the random number generator  405 , and stores the generated medium key Km in the secret recording area  102  of the memory card  1000  via the secure channel and the interface units  500  and  202 . 
     The host device  2000  generates the medium unique key Kmu from the medium key Km and the memory card unique ID (IDmc) using the one-way converter  404 . 
     The host device  2000  generates the title key Kt using the random number generator  405 , and the title key Kt is further encrypted by the medium unique key Kmu using the encryptor/decryptor  406 . The encrypted title key Kte=Enc (Kmu, Kt) is stored in the normal recording area  101  of the memory card  100 . 
     The host device  2000  encrypts the content data C using the title key Kt, and the encrypted content data Ce=Enc (Kt, C) is stored in the normal recording area  101  of the memory card  1000 . With the above-described processes, a record operation of the content data C is completed. 
     Next, an operation when the content data C is read from the memory card  1000  to the host device  2000  will be described with reference to  FIG. 5 . The authentication/key exchange process in the authentication/key exchange process units  213  and  402 , and the operation in the ID combining unit  403  are generally the same as in the write operation ( FIG. 4 ). 
     When the authentication/key exchange process is completed, and thereby a secure channel is established, an access to the secret recording area  102  and the system information recording area  103  is enabled (that is, designation of a logic address of the secret recording area  102  and the system information recording area  103  becomes possible). In addition, the medium key Km stored in the secret recording area  102  of the memory card  1000  is provided to the one-way converter  404  of the host device  2000  through the secure channel. The one-way converter  404  generates the medium unique key Kmu using this medium key Km and the above-mentioned memory card unique ID (IDmc). The encryptor/decryptor  407  decodes the encrypted title key Enc (Kmu, Kt) stored in the memory card  100  using this medium unique key Kmu, thereby the title key Kt being obtained. Then, the encrypted content data Enc (Kt, C) stored in the memory card  100  is decoded using the provided title key Kt, thereby the content data C being obtained. 
     As explained above, in this embodiment, the medium device key Kmd_i and the medium device key certificate Cert media  in accordance with the public key cryptosystem are used for the authentication/key exchange process. However, the controller unique ID (IDcntr) is generated based on the controller key Kc of the controller  200  and the controller unique key Kcu, and is supplied to the host device  2000  through a secure channel. Because it is transmitted through the secure channel, the controller unique ID (IDcntr) does not leak out outside, and the falsification is prevented. Also, based on this controller unique ID (IDcntr) and the medium device key certificate ID (IDm_cert), the memory card unique ID (IDmc) is generated by the ID combining unit  403 . Based on this memory card unique ID (IDmc), the medium unique key Kmu of the memory  100  in the memory card  1000  is generated. 
     Thus, according to the present embodiment, even when an authentication/key exchange using the public key cryptosystem is processed, the controller unique ID (IDcntr) unique to the controller  200  can be interrelated with a pair of a public key and a private key, thereby spread of clone cards can be prevented. 
     Second Embodiment 
       FIG. 6  is a block diagram showing the structure of the information record system according to the second embodiment. Since the hardware structure thereof may be similar to those shown in  FIG. 1  and  FIG. 2 , the explanation thereof is omitted hereinbelow. In this embodiment, as shown in  FIG. 6 , the operation of the authentication/key exchange process unit  213  is different. That is, the ID generator unit  212  in this embodiment does not directly transmit the controller unique ID (IDcntr) generated in the ID generator  212  to the host device  2000 , but transmits it to the authentication/key exchange process unit  213  in the controller  200 . Then, the controller unique ID (IDcntr) is used as one of the parameters of the authentication/key exchange process. 
     When the authentication/key exchange process is completed, the controller unique ID (IDcntr) is transmitted to the ID combining unit  403  with the medium device key certificate ID (IDm_cert). The operation thereafter is generally the same as the first embodiment. 
       FIG. 7  describes procedures of an operation when a standard authentication/key exchange based on elliptic curve cryptography is used. 
     The host device generates a random number RNh (step S 1 ), and transfers it to the memory card  1000  with the host device certificate Cert host  (step S 2 ). The memory card  1000  verifies a digital signature contained in the received host device certificate Cert host , and generates a random number RNm (step S 3 ). 
     Subsequently, the memory card  1000  sends the random number RNm and the medium device key certificate (Cert media ) to the host device (step S 4 ). In response to this, the host device  2000  verifies a digital signature contained in the received medium device key certificate Cert media . In time with step S 4 , the memory card  1000  generates a random number Mk necessary for Diffie-Hellman key exchange process in the elliptic curve cryptography. It also calculates a value for challenge Mv (=Mk*G) using a base point G of the elliptic curve. IDcntr is generated in the ID generator  212 . In addition, using the medium device key Kmd_i, a digital signature for the value for challenge Mv, the random number RNh received in step S 2  and the controller unique ID (IDcntr) is generated (step S 6 ). The memory card  1000  sends the value for challenge Mv generated in step S 6 , the controller unique ID (IDcntr) and the digital signature generated in step S 6  to the host device  2000  (step S 7 ). 
     The host device  2000  verifies the signature received in step S 7 , generates a random number Hk necessary for Diffie-Hellman key exchange process in the elliptic curve cryptography, and calculates a value for challenge Hv (=Hk*G) using abase point G of the elliptic curve. Then, it generates a digital signature for the value for challenge Hv and the random number RNm received in step S 4 , using the host device key Khd_j, and calculates a shared key Ks (=Hk*Mv) shared by the authentication/key exchange process (step S 8 ). 
     The host device  2000  sends the value for challenge Hv generated in step S 8  and the digital signature to the memory card  1000  (step S 9 ). In response to this, the memory card  1000  verifies the digital signature received in step S 9 , and calculates the shared Key Ks (=Mk*Hv). 
     When the signature cannot be inspected properly in the digital signature verification process in the above-described processes, the processes thereafter are aborted in any of the steps. 
     By performing the above-mentioned authentication/key exchange process, the memory card can share a shared key with the host device secretly. In the authentication/key exchange process, the shared Key is calculated using challenges generated by the host device and the memory card. Accordingly, the values of the shared key are different among different authentication/key exchange processes. 
     While certain embodiments of the inventions have been described, these embodiments have been presented by way of example only, and are not intended to limit the scope of the inventions. Indeed, the novel methods and systems described herein may be embodied in a variety of other forms; furthermore, various omissions, substitutions and changes in the form of the methods and systems described herein may be made without departing from the spirit of the inventions. The accompanying claims and their equivalents are intended to cover such forms or modifications as would fail within the scope and spirit of the inventions. 
     For example, in the above-described embodiments, the controller unique ID (IDcntr) is generated based on a pair of the controller key Kc and the controller unique ID (IDcu) in the ID generator  212 . However, in place of this, the controller unique ID (IDcntr) may be generated only based on the controller unique ID (IDcu). If another unique information that can be disclosed outside may be generated while the controller unique ID (IDcu) secretly stored in the controller  200  is kept in a secret state, a parameter used herein has no requirement. However, the function used for generation is an irreversible one such as a one-way function. That is it is necessary to select a function that prevent a reverse calculation based on the provided control unique ID (IDcntr) to obtain the original control unique ID (IDcu).