Method for generation and management of a secret key in a 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 "Using Secure Coprocessors" by Bennet Yee, 31 May 1994, School of Computer Science, Carnegie Mellon University, Pittsburgh, PA (USA) XP-002120312 there is disclosed copy protection using secure coprocessors. SUMMARY OF THE INVENTION It is therefore an object of the present invention to provide a method 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 the present invention there is provided a method for handling digital data using public key cryptosystems, comprising the steps of: (a) generating at a user's side a public key and a first secret key of a first public key cryptosystem for signing; (b) registering the public key of the first public key cryptosystem at a certification issuing center; (c) sign the public key of the first public key cryptosystem by using the first secret key of the first public key cryptosystem at the certification issuing center, and disclosing the signed public key as a user's certification; (d) generating at a copyright owner's side a public key and a second secret key of a second public key cryptosystem for deciphering digital data, and storing the second secret key of the second public key cryptosystem into a storage region in a tamper resistant personal portable device from which the second secret key of the second public key cryptosystem cannot be read out of the tamper resistant personal portable device; and (e) providing the tamper resistant personal portable device and the public key of the second public key cryptosystem to the user's side, such that the user's side can utilize the digital data provided by the copyright owner's side by carrying out deciphering processing using the second secret key of the second public key cryptosystem and signing processing using the first secret key of the first public key cryptosystem within the tamper resistant personal portable device. 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 certification issuing system in a first arrangement which is not in accordance with the present invention but is 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 in the first arrangement. 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 the second arrangement which is not in accordance with the present invention. authorized cryptosystem device in the system of Fig. 5. Fig. 6 is a flow chart for an operation to issue an authorized cryptosystem device in the system of Fig. 5. Fig. 7 is a diagram of a conceptual configuration of a system in a third arrangement which is not in accordance with the present invention, but is useful in the understanding thereof. Fig. 8 is a block diagram of a personal portable device in the third arrangement. Fig. 9 is a flow chart for a key generation procedure in the third arrangement. Fig. 10 is a flow chart for a secret key deletion procedure in the third arrangement. Fig. 11 is a flow chart for a procedure to generate and manage the secret key for signing in an embodiment of the present invention. Fig. 12 is a flow chart for a procedure to generate and manage the secret key for deciphering in the embodiment of the present invention. 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 first arrangement for a method and a system for generation and management of a secret key of the public key cryptosystem which is not according to the present invention but is useful in the understanding thereof will be described in detail. Fig. 1 shows a conceptual configuration of a certification issuing system 100 used in this first arrangement, which contains a key and certification generation mechanism 110 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 first arrangement 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 first embodiment 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 x 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 first arrangement, 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 first arrangement, 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, a second arrangement for a method and a system for generation and management of a secret key of the public key cryptosystem which is not according to the present invention will be described in detail. This second arrangement is directed to a case in which the key generation function and the certification issuing function of the certification issuing system 100 in the first arrangement described above are separated. In the following, this second arrangement 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 second arrangement, which includes a certification issuing center device 140, a key generation device 130, and a cryptosystem device 200 similar to that used in the first arrangement 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 first arrangement 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 second arrangement, 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 second arrangement 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 second arrangement 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 second 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 second arrangement 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 second arrangement, 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 first arrangement 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 second arrangement, 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 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 second arrangement, so that it can also provide an effective measure against the illegal act. Referring now to Fig. 7 to Fig. 10, the third arrangement for a method and a system for generation and management of a secret key of the public key cryptosystem which is not according to the present invention will be described in detail. In the first and second arrangements described above, a use of a specialized tamper resistant device for writing the user's secret key into the personal portable device is required. In contrast, this third arrangement is directed to a method and a system for generation and management of a secret key of the public key cryptosystem, in which the secret key of the public key cryptosystem can be generated within the personal portable device, so that no specialized device for writing the secret key is required. Fig. 7 shows a conceptual configuration of a system in this third arrangement, which includes a personal portable device 34 used on a user terminal 33, and a contents server 31 connected with the user terminal 33 through a network 32. The contents server 31 provides a service. A user who wish to receive this service inserts the personal portable device 34 into the user terminal 33, and operates this user terminal 33 such that the desired contents are distributed from the contents server 31 through the network 32 to the user terminal 33. The personal portable device 34 has a detailed configuration as shown in Fig. 8, which comprises a key generation command unit 41, a plaintext/ciphertext/signature input unit 42, a random number generation unit 43 connected with the key generation command unit 41, a cipher key generation program unit 44 connected with the random number generation unit 43, a public key storage unit 45 connected with the cipher key generation program unit 44, a cipher processing unit 47 connected with the plaintext/ciphertext/signature input unit 42 and the public key storage unit 45, a secret key storage unit 46 connected with the cipher key generation program unit 44 and the cipher processing unit 47, a deletion command unit 49 connected with the secret key storage unit 46, and a opening detection unit 48 connected with the deletion command unit 49. In this configuration of Fig. 8, elements other than the key generation command unit 41 and the plaintext/ciphertext/signature input unit 42 are enclosed within a tamper resistant device 34A whose interior cannot be touched by anyone. Whenever an attempt to read out the secret key of the RSA cryptosystem stored inside this tamper resistant device 34A is made by forcefully opening a cover of this tamper resistant device 34A, the opening detection unit 48 detects the opening of the cover and the deletion command unit 49 is activated to electrically delete the secret key stored in the secret key storage unit 46, so that the secret key cannot be read out, even by an owner of this personal portable device 34. Also, in order to prevent the rewriting of the secret key to a different key, this tamper resistant device 34A is designed to destroy semiconductor chips and substrate wirings used inside this tamper resistant device 34A whenever the cover is opened. An example of this type of tamper resistant device is disclosed in S. H. Weingard, "Physical Security for the µASBYSS System", Proceedings 1987 IEEE Symposium on Security and Privacy, pp. 52-58, April 1987. This personal portable device 34 of Fig. 8 has two inputs and one output. One of the inputs is the key generation command unit 41 for commanding a generation of a public key and a secret key of the RSA cryptosystem to be used by the user, which is operated by the user before the user starts receiving the service by using this personal portable device 34. Here, for example, a command entered by this key generation command unit 41 can be a seed of a random number to be generated at the random number generation unit 43. In this case, it is preferable to generates this seed such that the same seed is almost never generated again. For instance, it is practical to utilize the input characters of the keyboard input and their input time intervals. From the entered seed, a random number is generated at the random number generation unit 43, and this random number is given to the cipher key generation program unit 44. The cipher key generation program unit 44 then generates the keys of the RSA cryptosystem. Among the keys of the RSA cryptosystem generated at the cipher key generation program unit 44, the public key must be disclosed to public, so that the public key is stored in the public key storage unit 45 which is readable from the external. On the other hand, the secret key is stored in the secret key storage unit 46 which is not readable from the external. This completes the preparation of the keys to be used inside the personal portable device 34. At a time of receiving the service, parameters required in enciphering a plaintext, deciphering a ciphertext, signing or verifying a signature are entered from another one of the inputs provided by the plaintext/ciphertext/signature input unit 42. For the enciphering of the entered plaintext and the verification of the signature, the public key disclosed by a communication target side is used. For the deciphering of the ciphertext, the secret key stored in the secret key storage unit 46 is used in the processing at the cipher processing unit 47, and the deciphered result is outputted from the cipher processing unit 47. The secret key of the RSA cryptosystem generated in this manner is such that anyone can be convinced that only the owner of this personal portable device 34 can use this secret key, and that the value of this secret key itself cannot be known by anyone including the owner of this personal portable device 34. In other words, according to this third arrangement, it is possible to utilize the authentication function for the purpose of confirming a legitimate user, and even a user who purchased the digital copyrighted data cannot make illegal copies. Moreover, the secret key used in the personal portable device 34 can be generated without requiring a use of a specialized device for writing the secret key into the personal portable device 34. Note that, in practice, the personal portable device 34 can be provided easily in a form of a standardized IC card or PC card (PCMCIA). As for the method for actually utilizing the contents deciphered at the receiving side, those disclosed in Japanese Patent Application No. 6-298702 (1994) and Japanese Patent Application No. 6-299940 (1994) are available. It is also to be noted that the key generation command unit 41 and the plaintext/ciphertext/signature input unit 42 may be provided on the user terminal 33 side into which the personal portable device 34 is to be inserted, or the user terminal 33 and the personal portable device 34 may be integrally provided, if desired. In this personal portable device 34 of Fig. 8, the key generation is carried out by a procedure according to the flow chart of Fig. 9 as follows. First, the owner of the personal portable device 34 commands the key generation start (step S21). Upon this command, the key generation command unit 41 generates a seed for a random number (step S22), and the random number generation unit 43 generates a random number by using this seed (step S23). Then, the key generation program is activated at the cipher key generation program unit 44 (step S24) to generate the keys. Among the generated keys, the public key must be distributed to the communication target parties, so that the public key is outputted from the personal portable device 34 via the cipher processing unit 47 (step S25) while being stored in the public key storage unit 45. The outputted public key is then received by the owner of the personal portable device 34 (step S26), and if necessary, registered at the certification issuing organization and distributed to the communicating target parties after it is approved by the certification issuing organization. On the other hand, the generated secret key is stored in the secret key storage unit 46 of the personal portable device 34 (step S27), and the key generation is completed. Also, in this personal portable device 34 of Fig. 8, the secret key deletion is carried out by a procedure according to the flow chart of Fig. 10 as follows. Here, suppose that there is a person who tries to attack the personal portable device 34 in order to take out the secret information stored inside the personal portable device 34, where this person may be the owner of this personal portable device 34. In this case, the first thing this person might consider is to somehow take out some secret information from an interface between the personal portable device 34 and the user terminal 33. However, no secret information can be obtained in this manner for an obvious reason that only information which can be publicly disclosed will be outputted from the personal portable device 34. When this person is still not discouraged by this result, next this person might tries to forcefully open the personal portable device 34 in an attempt to take out the secret information. Whenever there is an attempt to forcefully open the device case (step S31), the opening detection unit 48 detects this opening of the device (step S32), and the deletion command unit 49 activates the secret key deletion program (step S33) so that the secret key is deleted from the secret key storage unit 46 (step S34). In addition, when the personal portable device 34 is forcefully opened (step S35), the major chip elements implemented in the interior of the personal portable device 34 are destroyed (step S36), so that it becomes impossible to take out any information. In this manner, it is totally impossible for anyone to take out any secret information from the personal portable device 34 of the third arrangement. Thus according to this third arrangement, it is possible to provide a method and a system for generation and management of a secret key of the public key cryptosystem, in which the secret key of the public key cryptosystem can be generated and managed within a personal portable device, without requiring a specialized device for writing the secret key into a personal portable device. By using the personal portable device of this third arrangement, in a case of handling the digital data as commercial goods on networks, it becomes possible to prove that the user is the only one who expressed the intention to pay, and that the user cannot copy the digital data without a permission from the information provider. Referring now to Fig. 11 to Fig. 12, an embodiment of a method for generation and management of a secret key of the public key cryptosystem according to the present invention will be described in detail. In this sixth embodiment, the secret key to be used for signing is generated and managed according to the procedure shown in the flow chart of Fig. 11 as follows. First, the user himself generates the secret key of the public key cryptosystem (step 811), and the generated secret key is strictly managed under the user's own responsibility (step (812). On the other hand, the public key is sent to the certification issuing center trusted by all the entities which shares interests with the user, and registered at the certification issuing center (step 813). On the certification issuing center side, when the public key sent from the user is received (step 814), and the user's public key is signed by using the secret key of the certification issuing center (step 815). Then, this signed public key is disclosed to the public as this user's certification (step 816). In this manner, it becomes possible to prove that only the user is capable of signing by using the secret key, while it becomes impossible for the user to evade the responsibility for the signature signed by using this secret key. On the other hand, in order to make it possible for the user to use the purchased digital data, without allowing an illegal copy of the purchased digital data to anyone, the secret key of the public key cryptosystem to be used for deciphering the purchased digital data is generated and managed according to the procedure shown in the flow chart of Fig. 12 as follows. Note that this public key cryptosystem for deciphering is to be separately provided from the public key cryptosystem for signing described above. First, the secret key of the pubic key cryptosystem for deciphering the purchased digital data is generated by the copyright owner of this digital data (step 821), and the generated secret key is strictly managed inside the personal portable device such that this secret key for deciphering can be used only inside the personal portable device and cannot be read out to the external (step 822). Then, the personal portable device storing the secret key for deciphering therein and the public key are sent to the user (step 823). On the user side, when the personal portable device storing the secret key for deciphering therein and the public key are received (step 824), the user can decipher the purchased digital data inside the personal portable device by using the secret key for deciphering stored therein. Note that in this procedure of Fig. 12, the copyright owner generates the secret key of the public key cryptosystem to be used only for deciphering the digital data and confines this secret key for deciphering inside the personal portable device, so that only the copyright owner can make copies of the enciphered digital data, and therefore it is possible to prevent the illegal copy of the copyrighted digital data. By using two different public key cryptosystems for signing and deciphering in the above described manner according to this embodiment, in a case of handling the digital data as commercial goods on networks, it becomes possible to prove that the user is the only one who expressed the intention to pay, and that the user cannot copy the digital data without a permission from the information provider. It is to be noted that, in this embodiment, the secret key of the public key cryptosystem for deciphering and the secret key of the public key cryptosystem for signing may be stored in the same personal portable device, or may be stored in separate devices. It is also to be noted that, besides those already mentioned above, many modifications and variations of the above embodiments may be made without departing from the novel and advantageous features of the present invention which are defined in the appended claims.

Claims: A method for handling digital data using public key cryptosystems, comprising the steps of: (a) generating (811) at a user's side a public key and a first secret key of a first public key cryptosystem for signing; (b) registering (814) the public key of the first public key cryptosystem at a certification issuing center; and (c) signing (815) the public key of the first public key cryptosystem by using the first secret key of the first public key cryptosystem at the certification issuing center, and disclosing (816) the signed public key as a user's certification; (d) generating (821) at a copyright owner's side a public key and a second secret key of a second public key cryptosystem for deciphering digital data, and storing (822) the second secret key of the second public key cryptosystem into a storage region in a tamper resistant personal portable device from which the second secret key of the second public key cryptosystem cannot be read out of the tamper resistant personal portable device; (e) providing (824) the tamper resistant personal portable device and the public key of the second public key cryptosystem to the user's side, such that the user's side can utilize the digital data provided by the copyright owner's side by carrying out deciphering processing using the second secret key of the second public key cryptosystem and signing processing using the first secret key of the first public key cryptosystem within the tamper resistant personal portable device.

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