Method and system for generation and management of secret key of public key cryptosystem

Abstract: A method and a system for generating and managing a secret key of a public key cryptosystem, in which the secret key is generated inside a tamper resistant device, and stored into a storage region in a personal portable device from which the secret key cannot be read out of the personal portable device, while the personal portable device is inside the tamper resistant device. Here, the secret key can be reproduced by collecting the partial secret keys from those arbitrators who judge that the secret key reproduction is appropriate. Also, the secret key is generated inside a tamper resistant personal portable device, and stored into a storage region in the tamper resistant personal portable device from which the secret key cannot be read out of the tamper resistant personal portable device. Here, the secret key can be reproduced by using the partial secret keys for constituting the secret key from all entities sharing interests with a user of the tamper resistant personal portable device.

Description: BACKGROUND OF THE INVENTION Field of the Invention The present invention relates to a method and a system for generation and management of a secret key of a public key cryptosystem, such that a secret key can be kept in secret from everyone and usable only by a specific user. Description of the Background Art When digital data having copyrights such as speech/video data or execution programs are to be offered for sale through networks, the problems of user authentication, delivery confirmation, and illegal digital copy protection must be addressed. As a method for resolving the user authentication problem, there is a method which utilizes the public key cryptosystem as a digital cryptographic algorithm. In the following, the public key cryptosystem will be briefly described. The digital cryptographic algorithm includes a secret key cryptosystem (a shared key cryptosystem) and a public key cryptosystem. The secret key cryptosystem is suitable for high speed processing, but it uses the same shared key for an encryption key and a decryption key, so that this shared key must be kept in secret only among communicating parties. On the other hand, the public key cryptosystem requires a larger amount of computations compared with the secret key cryptosystem so that it is not suitable for high speed processing, but it uses different keys for an encryption key and a decryption key, so that the encryption key can be disclosed to public and a secret distribution of a key as required for the shared key of the secret key cryptosystem is unnecessary. However, in the public key cryptosystem, anyone can produce a ciphertext because the encryption key is disclosed to public. For this reason, when an enciphered message is received, it is necessary to certify who has sent this enciphered message. To this end, a sender authentication utilizing the signature has been developed. A representative example of the public key cryptosystem equipped with a sender authentication function is the RSA cryptosystem. In this RSA cryptosystem, an encryption key is used at a time of encipherment and a decryption key is used at a time of decipherment, while a decryption key is also used at a time of producing a signature and an encryption key is used at a time of verifying that signature. Regardless of which particular public key cryptosystem is used, there is a need for a function of a certification issuing center which discloses a signer and his encryption key to public truthfully in order for communicating parties to verify each other correctly. This certification issuing center is required to satisfy the following requirement: "The certification issuing center and workers at this center must issue and disclose to public a certification which certifies a relation between an encryption key and a registered person accurately and truthfully." (Such a certification issuing center (key management center) is called trust in the cryptography theory). Now, there are digital data such as programs for personal computers, video data, music data, etc. which are offered as commercial goods, but in a case of the digital data, in general, data are not degraded even after repeated copies, such as a copy from an original and a copy from a copy, so that it is difficult to exterminate the illegal copies and a serious damage can be caused by the illegal copies. Conventional known measures against such illegal copies include (1) a scheme for providing a protection on a data supply medium (such as a floppy disk) to prevent a copying itself, and (2) a scheme in which a copying itself is allowed but the digital data contents are enciphered so that a key is necessary in order to execute or reproduce most parts of programs, video data, music data, etc., and the key is distributed to only those persons who actually paid the price or whose intention to pay the price can be confirmed by utilizing the networks. In the latter scheme, the digital data contents should be usable by applying a high speed deciphering, so that the secret key cryptosystem is utilized. The former scheme is often utilized in a game software for a personal computer, but the protection can also restrict a legal copying by a legitimate user such as a copying required at a time of installing into a hard disk, or a copying required at a time of producing a back-up, so that it has as many demerits as merits, and for this reason this scheme is hardly used in a business software. On the other hand, the latter scheme is considered to be highly prospective and adaptive because the digital data contents can be freely copied and distributed to many while a trial use of a part of the digital data contents is possible, even though a full scale use of the digital data contents is not possible until a key is obtained through a legal process such as the payment of the price. The technical issues need to be addressed in order to realize the latter scheme utilizing a key are a method for confirming an intention to pay, a method for distributing a key, and a method for managing a key. For a confirmation of a user's intention to pay, a use of the signature function is effective. For a distribution of a shared key to be used for deciphering the enciphered digital data, a method utilizing the public key cryptosystem is effective. As for a method for managing a key, it is meaningless if a user can copy the digital data deciphered by the shared key, so that it is effective to use a method in which the deciphering is carried out inside a personal computer, and a cover is provided on the deciphered digital data so that even a user himself cannot contact the deciphered digital data. In addition, it is problematic if a user can freely distribute the shared key, so that it is effective to additionally use a method in which the shared key is enciphered by a secret key of the public key cryptosystem, and a secret key of the public key cryptosystem to be used for deciphering both the digital data and the shared key is kept out of reach of even a user himself. Yet, even when such a key management method is utilized, a person who generated the session key of the public key cryptosystem of a user can forge a signature for a user's intention to pay, so that strictly speaking, it is impossible to judge if a signature is a true signature reflecting a user's intention or a forged signature. For this reason, conventionally, it has been presupposed that persons (key managers) who are involved in the generation of the key never commit an illegal act. However, considering the fact that the most of the illegal acts actually committed up to the present are the illegal acts committed by these key managers, it must be assumed that it is highly plausible for the key managers to commit illegal acts in future. In other words, even when the key managers are actually innocent, it is impossible to completely clear the key manager's suspicion. In summary, with regard to a purchase and a use of digital data that can easily be copied, a user and a key manager must satisfy the following conditions. (1) A key for deciphering the digital data (a secret key of the public key cryptosystem and a shared key of a secret key cryptosystem) should not be known (or generated) by anyone including a user and a key manager. (2) It must be possible to prove that a key for use in a signature to certify a user's intention to pay (a secret key of the public key cryptosystem) cannot be used by anyone except for a user. However, up to the present, it has been impossible to prove that only a user can use a secret key of the public key cryptosystem which should not be known by anyone including a user. Moreover, up to the present, when the secret key disappeared or became unusable, it has been impossible to reproduce (revive) a secret key of the public key cryptosystem which should not be known by anyone including a user. In EPO 422 757A there is disclosed a time notarization apparatus and method which uses a secure, micro-processor based hardware platform which performs public key cryptographic operations to obtain trusted time stamping with a minimum of intervention by third parties. The hardware platform is encapsulated in a secure fashion so that the device's time stamping mechanism may not be readily tampered with or altered. The hardware platform includes a digital clock and a stable, secure storage device to record the private half of the public/private key pair. A data processing device performs public key signature operations in a secure and tamper-proof manner. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a method and a system for generation and management of a secret key of the public key cryptosystem, in which it is possible to prove that only a user can use the secret key which should not be known by anyone including a user, such that an illegal copy of digital data can be prevented and an infallible confirmation of a user's intention to pay can be made. According to one aspect of the present invention there is provided a method for generating and managing a secret key of a public key cryptosystem, comprising the steps of: (a) generating a public key and a secret key (d) inside a first tamper resistant device; (b) inserting a personal portable device into the first tamper resistant device; (c) storing the secret key (d) generated at the step (a) into a first storage region in a personal portable device from which the secret key cannot be read out of the personal portable device, while the personal portable device is inside the first tamper resistant device; (d) ejecting the personal portable device from the first tamper resistant device; (e) producing a certification inside a second tamper resistant device from a user's personal data and the public key generated at the step (a); and (f) storing the certification produced at the step into a second storage region in the personal portable device from which the certification can be read out of the personal portable device, while the personal portable device is inside the first tamper resistant device. According to another aspect of the present invention there is provided a system for generating and managing a secret key of a public key cryptosystem, comprising: a first tamper resistant device having: first means for generating a public key and the secret key inside the first tamper resistant device; second means for storing the secret key generated by the first means into a first storage region in a personal portable device from which the secret key cannot be read out of the personal portable device, while the personal portable device is inside the first tamper resistant device; and third means for storing a certification into a second storage region in the personal portable device from which the certification can be read out of the personal portable device, while the personal portable device is inside the first tamper resistant device; and a second tamper resistant device having: fourth means for producing the certification inside the second tamper resistant device from a user's personal data and the public key generated by the first means, such that the third means stores the certification produced by the fourth means. Other features and advantages of the present invention will become apparent from the following description taken in conjunction with the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a schematic diagram of a conceptual configuration of a basic certification issuing system not in accordance with the present invention but useful in the understanding thereof. Fig. 2 is a block diagram of an exemplary configuration of a key and certification generation mechanism in the certification issuing system of Fig. 1. Fig. 3 is a block diagram of an exemplary configuration of a cryptosystem device. Fig. 4 is a flow chart for an operation to issue an authorized cryptosystem device in the certification issuing system of Fig. 1. Fig. 5 is a block diagram of a configuration of a system in an embodiment of the present invention. Fig. 6 is a flow chart for an operation to issue an authorized cryptosystem device in the system of Fig. 5. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS In the following, various embodiments of a method and a system for generation and management of a secret key of the public key cryptosystem according to the present invention will be described for an exemplary case of using the RSA cryptosystem which is the most widely used public key cryptosystem having both a cipher function and an authentication function. Referring now to Fig. 1 to Fig. 4, a basic method and a system for generation and management of a secret key of the public key cryptosystem not according to the present invention will be described in detail. Fig. 1 shows a conceptual configuration of a certification issuing system 100, which contains a key and certification generation mechanism 100 and a writing mechanism 120. The key and certification generation mechanism 110 is formed by a container which is physically and electrically protected such that a reading of a generated secret key and a tampering of a generated certification cannot be made by anyone in any way whatsoever. This container is specially devised such that even if it is forced to open up, the internal structure becomes completely inoperable, and after it is forced to open up, it cannot be restored into an original state. This type of a device is called tamper resistant device, an example of which is the Certificate Issuing System manufactured by the VeriSign, Inc. (See, http://www.verisign.com/products/cis.html for details.) The writing mechanism 120 writes the secret key and the certification generated by the key and certification generation mechanism 110 into a secret key storable RSA cryptosystem processing device (which can be provided in a form of a PC card, an IC card, etc., and which will be abbreviated as a cryptosystem device hereafter) inserted into the certification issuing system 100. An unauthorized cryptosystem device 200 is to be inserted as a whole into the certification issuing system 100, while a user personal data (ID) is entered into the certification issuing system 100 by means of keys (not shown) provided on the certification issuing system 100. Then, the secret key and the certification generated by the key and certification generation mechanism 110 are written into this cryptosystem device 200 by the writing mechanism 120 within the certification issuing system 100, and the authorized cryptosystem device 200' is returned from the certification issuing system 100. Here, the cryptosystem device 200 has a structure for preventing anyone from reading the secret key written therein. In general, a user who is the owner of the secret key may be allowed to know the secret key, but the cryptosystem device 200 of this basic method is designed such that even an owner of this device cannot learn the value of the secret key stored therein, in consideration to the fact that once the secret key becomes known, there is a possibility for allowing the illegal digital copy of the digital data. Also, the certification written in the cryptosystem device 200 is a signed certification which is a public information so that this certification can be read by anyone freely but should not be tampered. For this reason, the cryptosystem device 200 provides a writing protection for preventing a writing of the certification outside the certification issuing system 100. An example of this type of tamper resistant device is disclosed in S. H. Weingart, "Physical Security for the µASBYSS System", Proceedings 1987 IEEE Symposium on Security and Privacy, pp. 52-58, April 1987. The key and certification generation mechanism 110 generates RSA public key (e, n) from the user's personal data (ID), and RSA secret key d from the public key. In addition, the key and certification generation mechanism 110 also produces a certification {n, e, ID} from the public key, and attaches a signature s(n, e, ID) to this certification. Here, the signed certification will be denoted as C. The writing mechanism 120 then writes the secret key d and and the signed certification C into the unauthorized cryptosystem device 200 inserted by a user, and ejects it as the authorized cryptosystem device 200'. Fig. 2 shows an exemplary configuration of the key and certification generation mechanism 110 along with a flow of writing into the cryptosystem device 200 in the certification issuing system 100. In Fig. 2, the key and certification generation mechanism 110 comprises: a random number generation unit 111 into which the personal data 210 is entered; a prime number pair generation unit 112 connected with the random number generation unit 111; a public key generation unit 113 connected with the prime number pair generation unit 112; a public key storage unit 114 connected with the public key generation unit 113; a certification production unit 115 into which the personal data 210 is also entered and which is also connected with the public key generation unit 113; a certification signing unit 116 connected with the certification production unit 115; and a secret key generation unit 117 which is also connected with the public key generation unit 113. Fig. 3 shows an exemplary configuration of the cryptosystem device 200, which comprises: a device interface 211, a CPU 212, an EEPROM (certification storage region 213, and an RSA cryptosystem processor chip 214, which are connected through a bus 217. The RSA cryptosystem processor chip 214 includes an RSA cryptosystem processor 215 and a secret key storage unit 216. Here, the secret key storage unit 216 is a write only register so that the secret key written therein cannot be read out. Only the decoding (signing) processing result from the RSA cryptosystem processor 215 can be read out from the RSA cryptosystem processor chip 214. Also, the (signed) certification written in the EEPROM 213 is readable, but the writing protection for preventing a writing of the certification outside the certification issuing system 100 is provided. Now, the operation to issue the authorized cryptosystem device to be used by a specific user in the certification issuing system 100 of this basic method is carried out according to the flow chart of Fig. 4 as follows. First, the user enters the personal data (ID) 210 which can uniquely identify this user and which can be disclosed to public (step 300). The key and certification generation mechanism 110 of the certification issuing system 100 then receives the entered personal data 210 (step 310), and generates a random number at the random number generation unit 111 (step 311). This random number will be used as a seed required in the prime number generation. This random number generation unit 111 is required to satisfy the following conditions: (1) it is very difficult to guess the result of the random number generation from the input data (i.e., it is one way random), and (2) the output results are evenly dispersed even for biased input data. Then, from the random number generated at the random number generation unit 111, a pair of two prime numbers (p, q) is generated at the prime number pair generation unit 112 (step 312). The properties generally required for this prime number pair generation unit 112 is described in the ITU-T recommendation X. 509 Annex C. Then, from this prime number pair (p, q), the public key (e, n(= p × q)) is generated at the public key generation unit 113 (step 313). At this point, whether the generated public key is doubly issued or not, i.e., the generated public key is overlapping with some previously generated public key or not, is checked by referring to the public key storage unit 114 (step 314). If the generated public key is doubly issued, the operation returns to the above step 311, whereas otherwise the generated public key (e, n(p, q)) is registered into the public key storage unit 114 (step 315). Next, from the entered personal data (ID) 210 and the public key (e, n(p, q)) generated at the public key generation unit 113, the certification {n, e, ID} is produced at the certification production unit 115 (step 316). The items required for this certification are described in the ITU-T recommendation X. 509. Then, to this certification produced at the certification production unit 115, the signature s(n, e, ID) of the certification issuer is attached by using public key and the secret key of this certification issuing system 100 at the certification signing unit 116 (step 317). Here, the certification issuer only guarantees a link between the public key and the personal data, and even this certification issuer does not know the secret key. Then, from the public key generated at the public key generation unit 113, the secret key d is generated at the secret key generation unit 117 (step 318). On the other hand, the cryptosystem device (such as a PC card, an IC card, etc.) 200 is inserted as a whole into the certification issuing system 100. Then, the writing mechanism 120 writes the signed certification C obtained at the certification signing unit 116 and the secret key d generated at the secret key generation unit 117 into the inserted cryptosystem device 200 (step 319), and the authorized cryptosystem device 220' is ejected from the certification issuing system 100 (step 320), such that the user receives this authorized cryptosystem device 200' (step 330). In this basic method, the key and certification generation mechanism 110 of the certification issuing system 100 is a covered tamper resistant device which cannot be touched by anyone, so that no one can read out the secret key or tamper the certification. In addition, the secret key written in the cryptosystem device 200 is not readable. Consequently, it is possible to prove that the user is the only one who expressed the intention to pay, while it is also possible to prove that the user cannot copy the digital data without a permission from the information provider. In other words, the secret key of the public key cryptosystem is produced in such a manner that the value of this secret key cannot be known by anyone, including those who are involved in the key generation. Then this secret key is stored in such a manner that the value of this secret key cannot be read out and known by anyone, including the user. In this manner, the secret key is usable only within the personal portable device owned by the user, so that only the user can use this secret key while even this user does not know the value of the secret key. Thus, according to this basic method, it becomes possible to provide a method and a system for generation and management of a secret key of the public key cryptosystem, in which it is possible to prove that only a user can use the secret key which should not be known by anyone including a user, such that an illegal copy of digital data can be prevented and an infallible confirmation of a user's intention to pay can be made. As a consequence, in a case of offering computer programs or digital speech/video data having copyrights for sales through networks in exchange to the payment of charges, even if there is a money trouble among the copyright owner, seller, and purchaser, it becomes possible to identify a person who committed the illegal act from a third person's viewpoint according to this first embodiment, so that it can provide an effective measure against the illegal act. Referring now to Fig. 5 to Fig. 6, an embodiment of a method and a system for generation and management of a secret key of the public key cryptosystem according to the present invention will be described in detail. This embodiment is directed to a case in which the key generation function and certification issuing function of the certification issuing system 100 in the basic method described above are separated. In the following, an embodiment of the invention will be described for an exemplary case in which a key is generated for use by a specific user. Fig. 5 shows a configuration of a system in this embodiment, which includes a certification issuing center device 140, a key generation device 130, and a cryptosystem device 200 similar to that used in the basic method described above. The certification issuing center device 140 comprises: a personal data verification unit 141 into which the personal data 210 is entered; a public key storage unit 142 connected with the personal data verification unit 141; a certification request verification unit 143 which is also connected with the personal data verification unit 141; a certification generation unit 144 connected with the certification request verification unit 143; and a certification signing unit 145 connected with the certification generation unit 144. The key generation device 130 comprises: a random number generation unit 131 into which the personal data 210 is entered; a prime number pair generation unit 132 connected with the random number generation unit 131; a public key generation unit 133 connected with the prime number pair generation unit 132; a public key storage unit 134 connected with the public key generation unit 133; a secret key generation unit 135 which is also connected with the public key generation unit 133; a certification request production unit 136 into which the personal data 210 is also entered and which is connected with the public key generation unit 133 and to be connected with the personal data verification unit 141 of the certification issuing center device 140; a certification request signing unit 137 which is connected with the secret key generation unit 135 and the certification request production unit 136 and to be connected with the certification request verification unit 143 of the certification issuing center device 140; a certification verification unit 138 to be connected with the certification signing unit 145 of the certification issuing center device 140; a secret key writing unit 139-1 connected with the secret key generation unit 135; and a certification writing unit 139-2 connected with the certification verification unit 138. The cryptosystem device 200 is provided in a form of an IC card, for example, and containing a secret key storage unit 201 and a certification storage unit 202. Each of the certification issuing center device 140, the key generation device 130, and the cryptosystem device 200 is formed by a covered tamper resistant device similar to that used in the basic method described above so that no one can touch its interior. Note that there are cases in which it is inconvenient if the certification issuing center device 140 and the key generation device 130 are provided at a geographical identical location. For instance, the key generation device 130 can be handled by each cryptosystem device issuing service provider, but as long as the identical certification issuing center device 140 is used, the users owning the cryptosystem devices issued by different cryptosystem device issuing service providers can authenticate each other, so that it is more convenient if there is no need to use the same number of the certification issuing center devices 140 and the key generation devices 130. For this reason, in this embodiment, the certification issuing center device 140 and the key generation device 130 are assumed to be located at geographically distanced locations, and connected through a communication path (such as a telephone line, ISDN, LAN, etc.). Here, it is more likely that an available communication path is a tamperable and therefore not necessarily reliable communication path, so that this embodiment accounts for a possibility of the tampering at the communication path. Now, the operation to issue the authorized cryptosystem device to be used by a specific user in the system of this embodiment is carried out according to the flow chart of Fig. 6 as follows. First, the user enters the personal data (ID) 210 which can uniquely identify this user (step 400). For this personal data, it is ideal to use a physical characteristic data that can uniquely identify the user such as that of a fingerprint, a voiceprint, a retina, etc., but a use of such a physical characteristic data also requires a device for acquiring such a physical characteristic data and a means for judging whether the acquired data is really that of the user, so that except for some special cases it is more realistic at a present to use an ID data such as a passport, a resident card, a driver's licence, etc., which is issued by a public organization. The personal data 210 obtained in this manner is then received at the certification issuing center device 140 and the key generation device 130 (steps 410 and 420). At the key generation device 130, a random number is generated at the random number generation unit 131 (step 411). This random number will be used as a seed required in the prime number generation. This random number generation unit 131 is required to satisfy the following conditions: (1) it is very difficult to guess the result of the random number generation from the input data (i.e., it is one way random), and (2) the output results are evenly dispersed even for biased input data. Then, from the random number generated at the random number generation unit 131, a pair of two prime numbers (p, q) is generated at the prime number pair generation unit 132 (step 412). The properties generally required for this prime number pair generation unit 132 is described in the ITU-T recommendation X. 509 Annex C. Then, from this prime number pair (p, q), the public key (e, n(p, q)) is generated at the public key generation unit 133 (step 413). At this point, whether the generated public key is doubly issued or not, i.e., the generated public key is overlapping with some previously generated public key or not, is checked by referring to the public key storage unit 134 (step 414). If the generated public key is doubly issued, the operation returns to the above step 411, whereas otherwise the generated public key (e, n(p, q)) is registered into the public key storage unit 134 (step 415). Then, from the public key generated at the public key generation unit 133, the secret key d is generated at the secret key generation unit 135 (step 416). On the other hand, from the entered personal data (ID) 210 and the public key (e, n(p, q)) generated at the public key generation unit 133, the certification request for requesting a production of the certification is produced at the certification request production unit 136 and this certification request is signed at the certification request signing unit 137 by using the secret key generated at the secret key generation unit 135 (step 417). The items required for this certification request are described in the ITU-T recommendation X. 509. Here, the certification request is signed because the certification request is subsequently going to be sent to the certification issuing center device 140, but there is a possibility for its content to be tampered in a middle of the communication path if the certification request alone is sent, so that it is necessary to make it possible to detect the tampering. The certification request obtained at the certification request production unit 136 and the signed certification request obtained at the certification request signing unit 137 are then sent to the certification issuing center device 140 via the communication path (step 418). When the certification request and the signed certification request are received from the key generation device 130 (step 421), the certification issuing center device 140 verifies whether the received certification request has been tampered on the communication path or not, by taking out the public key contained in the certification request and verifying the signed certification request using the taken out public key at the certification request verification unit 143 (step 422). When the certification request is verified, this fact can be a proof that the certification request has certainly not been tampered on the communication path. However, a case of tampering at a time of entering the personal data 210 at the key generation device 130 cannot be detected by this verification, so that the certification issuing center device 140 checks whether the personal data directly received from the user and the personal data contained in the certification request match with each other or not at the personal data verification unit 141 (step 423). When these personal data match, the certification issuing center device 140 checks whether the public key is doubly used or not by referring to the public key storage unit 142 (step 424). If any of the checking at the steps 422, 423, and 424 fails, it is regarded as a case of the verification failure (step 430), so that the operation returns to the step 411 described above. If the public key is not overlapping with any previously used public key at the step 424, the certification issuing center device 140 produces and issues the certification at the certification production unit 144 from this certification request (step S431). Here, the certification issuer only guarantees a link between the public key and the personal data, and even this certification issuer does not know the secret key. (At this point, the secret key exists only within the secret key generation unit 135 in this embodiment). The certification issuing center device 140 then returns the produced certification to the key generation device 130, but there is also a possibility for tampering on the communication path at this point, so that the produced certification is signed at the certification signing unit 145 by using the secret key of the certification issuing center device 140 (step 432), and the signed certification and the produced certification are sent to the key generation device 130. When the certification and the signed certification are received, the key generation device 130 verifies whether the certification has been tampered on the communication path or not at the certification verification unit 138 (step 433). If this verification fails, the operation returns to the step 411 described above. Then, the key generation device 130 takes the cryptosystem device 200 into itself, and the secret key generated at the secret key generation unit 135 is written into the secret key storage unit 201 of the cryptosystem device 200 at the secret key writing unit 139-1, while the certification verified at the certification verification unit 138 is written into the certification storage unit 202 of the cryptosystem device 200 at the certification writing unit 139-2 (step 434). Here, it should be noted that secret key disappears from the key generation device 130 when it is stored in the cryptosystem device 200, so that it is no longer remaining in the key generation device 130 at a time of processing the next cryptosystem device 200. In this manner, it becomes possible to prove that the secret key exists only within the cryptosystem device 200. Finally, the authorized cryptosystem device 200' is ejected from the key generation device 130 (step 435), such that the user receives the authorized cryptosystem device 200' (step 440). Note here that the secret key storage unit 201 of the cryptosystem device 200 stores the secret key such that no one can read out the secret key from there (although the processing result using the secret key is readable), and the secret key can be written into there only by means of the key generation unit 130 in order to prevent the tampering. In general, a user who is the owner of the secret key may be allowed to know the secret key, but the cryptosystem device 200 of this embodiment is designed such that even an owner of this device cannot learn the value of the secret key stored therein, in consideration to the fact that once the secret key becomes known, there is a possibility for allowing the illegal digital copy of the digital data. Also, the certification storage unit 202 of the cryptosystem device 200 is designed to store the certification such that the public key contained therein is readable, but the writing of the certification by anything other than the key generation device 130 is prohibited so as to prevent the tampering. It is to be noted that the key generation device 130 has such a structure that no change in the secret key and the certification is allowed for anyone including an operator of the key generation device 130, once the cryptosystem device 200 is taken into the key generation device 130 for the purpose of writing the secret key and the certification. It is also to be noted that the secret key and the certification are written into a single cryptosystem device 200 in the above, but it is also possible to write the secret key and the certification separately into two different cryptosystem devices. In this embodiment, it is possible to prove that the user is the only one who expressed the intention to pay, while it is also possible to prove that the user cannot copy the digital data without a permission from the information provider, just as in the basic method described above. In other words, the secret key and the public key of the public key cryptosystem are produced in such a manner that the values of these public key and secret key cannot be known by anyone, including those who are involved in the key generation. Then the certification is produced from the public key and the personal data, and this certification is stored in the cryptosystem device such that it cannot be written by anyone, while this secret key is stored in such a manner that the value of this secret key cannot be read out and known by anyone, including the user. Thus, according to this embodiment, it also becomes possible to provide a method and a system for generation and management of a secret key of the public key cryptosystem, in which it is possible to prove that only a user can use the secret key which should not be known by anyone including a µser, such that an illegal copy of digital data can be prevented and an infallible confirmation of a user's intention to pay can be made. As a consequence, in a case of offering computer programs or digital speech/video data having copyrights for sales through networks in exchange to the payment of charges, even if there is a money trouble among the copyright owner, seller, and purchaser, it becomes possible to identify a person who committed the illegal act from a third person's viewpoint according to this embodiment, so that it can also provide an effective measure against the illegal act. It is to be noted that, besides those already mentioned above, many modifications and variations of the above embodiment may be made without departing from the novel and advantageous features of the present invention as defined in the appended claims.

Claims: A method for generating and managing a secret key of a public key cryptosystem, comprising the steps of: (a) generating (413,416) a public key and a secret key (d) inside a first tamper resistant device (130); (b) inserting a personal portable device (200) into the first tamper resistant device (130); (c) storing (434) the secret key (d) generated at the step (a) into a first storage region (201;216) in said personal portable device (200) from which the secret key cannot be read out of the personal portable device, while the personal portable device is inside the first tamper resistant device; (d) ejecting (435) the personal portable device (200') from the first tamper resistant device (130); (e) producing (432) a certification inside a second tamper resistant device (140) from a user's personal data (210) and the public key generated at the step (a); and (f) storing the certification produced at the step (e) into a second storage region (202) in the personal portable device (200) from which the certification can be read out of the personal portable device, while the personal portable device is inside the first tamper resistant device (130). The method of claim 1, wherein the step (a) includes the steps of: (a1) generating (411) a random number from the user's personal data (210); (a2) generating (413) the public key from the random number generated at the step (a1); and (a3) generating (416) the secret key (d) from the public key generated at the step (a2). The method of claim 1, wherein at the step (f), the second storage region (202) has a writing protection to prevent any writing into the second storage region (202) while the personal portable device (200) is outside the first tamper resistant device (130). The method of claim 1, wherein the personal portable device (200) comprises a first device containing the first storage region (201) for storing the secret key and a second device containing the second storage region (202) for storing the certification. The method of claim 1, further comprising the steps of: (g) producing (136,417) a certification request inside the first tamper resistant device (130) from the user's personal data (210) and the public key generated at the step (a); (h) signing (137,417) the certification request produced at the step (g) by the secret key (d) generated at the step (a) to obtain a signed certification request inside the first tamper resistant device (130); and (i) sending (418) the certification request produced at the step (g) and the signed certification request obtained at the step (h) from the first tamper resistant device (130) to the second tamper resistant device (140), so that the step (e) produces the certification by using the certification request and the signed certification request. The method of claim 5, further comprising the step of: (j) verifying (143,422) the signed certification request inside the second tamper resistant device (140) to judge whether the certification request has been tampered between the first tamper resistant device (130) and the second tamper resistant device (140), such that the step (e) produces the certification only when the signed certification request is verified. The method of claim 5, further comprising the step of: (k) judging (423) inside the second tamper resistant device (140) whether the user's personal data (210) directly received from a user matches with the user's personal data contained in the certification request, such that the step (e) produces the certification only when the user's personal data directly received from a user matches with the user's personal data contained in the certification request. The method of claim 5, further comprising the step of: (l) storing (142) public keys used in the past inside the second tamper resistant device (140); and (m) checking (424) inside the second tamper resistant device (140) whether the public key contained in the certification request overlaps with any previously used public key stored at the step (1), such that the step (e) produces the certification only when the step (1) indicates that the public key contained in the certification request is not overlapping with any previously used public key. The method of claim 1, further comprising the steps of: (n) signing (432) the certification produced at the step (e) by using a secret key of the second tamper resistant device (140) to obtain a signed certification inside the second tamper resistant device; and (o) sending the certification produced at the step (e) and the signed certification obtained at the step (n) from the second tamper resistant device (140) to the first tamper resistant device (130), so that the step (d) stores the certification into the second storage region (202) in the personal portable device (200) by using the certification and the signed certification. The method of claim 9, further comprising the step of: (p) verifying (433) the signed certification inside the first tamper resistant device (130) to judge whether the certification has been tampered between the second tamper resistant device (140) and the first tamper resistant device (130), such that the step (c) stores the secret key and the step (f) stores the certification only when the signed certification is verified. The method of claim 1, further comprising the step of: (q) using the secret key (d) stored at the step (c) for deciphering processing and signing processing only within the personal portable device (200). A system for generating and managing a secret key (d) of a public key cryptosystem, comprising: a first tamper resistant device (130) having: first means (133,135) for generating a public key and the secret key (d) inside the first tamper resistant device (130); second means (139-1) for storing the secret key (d) generated by the first means (133) into a first storage region (201;216) in a personal portable device (200) from which the secret key cannot be read out of the personal portable device, while the personal portable device (200) is inside the first tamper resistant device (130); and third means (139-2) for storing a certification into a second storage region (202;213) in the personal portable device (200) from which the certification can be read out of the personal portable device, while the personal portable device (200) is inside the first taper resistant device (130); and a second tamper resistant device (140) having: fourth means (144) for producing the certification inside the second tamper resistant device (140) from a user's personal data (210) and the public key generated by the first means (133), such that the third means (139-2) stores the certification produced by the fourth means (144). The system of claim 12, wherein the first means includes: means (131) for generating a random number from the user's personal data (210); means (133) for generating the public key from the random number; and means (135) for generating the secret key from the public key. The system of claim 12, wherein the third means (139-2) stores the certification in the personal portable device (200) which has a writing protection to prevent any writing into the second storage region (202) while the personal portable device (200) is outside the first tamper resistant device (130). The system of claim 12, wherein the personal portable device (200) comprises a first device containing the first storage region (201) for storing the secret key and a second device containing the second storage region (202) for storing the certification, so that the second means stores the secret key into the first device while the third means stores the certification into the second device. The system of claim 12, wherein the first tamper resistant device (130) also has: fifth means (136) for producing a certification request inside the first tamper resistant device (130) from the user's personal data (210) and the public key generated by the first means: sixth means (137) for signing the certification request produced by the fifth means (136) by the secret key generated by the first means (135) to obtain a signed certification request inside the first tamper resistant device (130); and seventh means for sending the certification request produced by the fifth means (136) and the signed certification request obtained by the sixth means (137) from the first tamper resistant device (130) to the second tamper resistant device (140), so that the fourth means (144) produces the certification by using the certification request and the signed certification request. The system of claim 16, wherein the second tamper resistant device (140) also has: means (143) for verifying the signed certification request inside the second tamper resistant device (140) to judge whether the certification request has been tampered between the first tamper resistant device (130) and the second tamper resistant device (140), such that the fourth means (144) produces the certification only when the signed certification request is verified. The system of claim 16, wherein the second tamper resistant device (140) also has: means (141) for judging inside the second tamper resistant device (140) whether the user's personal data (210) directly received from a user matches with the user's personal data contained in the certification request, such that the fourth means (144) produces the certification only when the user's personal data directly received from a user matches with the user's personal data contained in the certification request. The system of claim 16, wherein the second tamper resistant device (140) also has: storing means (142) for storing public keys used in the past inside the second tamper resistant device (140); and checking means (424) for checking inside the second tamper resistant device (140) whether the public key contained in the certification request overlaps with any previously used public key stored by the storing means (142), such that the fourth means (144) produces the certification only when the checking means indicates that the public key contained in the certification request is not overlapping with any previously used public key. The system of claim 12, wherein the second tamper resistant device (140) also has: signing means (145) for signing the certification produced by the fourth means (144) by using a secret key of the second tamper resistant device (140) to obtain a signed certification inside the second tamper resistant device (140); and sending means for sending the certification produced by the fourth means (144) and the signed certification obtained by the signing means (145) from the second tamper resistant device (140) to the first tamper resistant device (130), so that the third means (139-2) stores the certification into the second storage region (202) in the personal portable device (200) by using the certification and the signed certification. The system of claim 20, wherein the first tamper resistant device (130) also has: means (138) for verifying the signed certification inside the first tamper resistant device (130) to judge whether the certification has been tampered between the second tamper resistant device (140) and the first tamper resistant device (130), such that the second means (139-1) stores the secret key and the third means (139-2) stores the certification only when the signed certification is verified. The system of claim 12, wherein the second means (139-1) stores the secret key in the personal portable device (200) which has a processor (215) for carrying out deciphering processing and signing processing by using the secret key stored in the first storage region (216) only within the personal portable device (200).

Inventors: ISHII SHINJI, ISHII, SHINJI, Ishii, Shinji c/o NTT Intellectual Property Center
Applicants: NIPPON TELEGRAPH & TELEPHONE, NIPPON TELEGRAPH AND TELEPHONE CORPORATION
Application year: 1996
Main classification: H04L9
IPC codes: H04L9