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 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 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. 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 secret key inside a tamper resistant personal portable device; (b) storing the secret key generated at the step (a) 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; and characterized by (c) detecting an.opening of a cover of the tamper resistant personal portable device; and (d) deleting the secret key in the storage region and destroying elements implemented inside the tamper resistant personal portable device when a said opening is detected. According to another aspect of the present invention there is provided a tamper resistant personal portable device for generating and managing a secret key of a public key cryptosystem, comprising: first means for generating a secret key inside the tamper resistant personal portable device; second means for storing the secret key generated by the first means into a storage region from which the secret key cannot be read out of the tamper resistant personal portable device; and characterized by third means for detecting an opening of a cover of the tamper resistant personal portable device; and fourth means for deleting the secret key in the storage region and destroying elements implemented inside the personal portable device, when the third means detects a said opening. 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 diagram of a conceptual configuration of a system in an embodiment of the present invention. Fig. 2 is a block diagram of a personal portable device in the embodiment of the present invention. Fig. 3 is a flow chart for a key generation procedure in the embodiment of the present invention. Fig. 4 is a flow chart for a secret key deletion procedure 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, 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 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 a personal portable device, so that no specialized device for writing the secret key is required. Fig. 1 shows a conceptual configuration of a system in this fourth embodiment, 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. 2, 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. 2, 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. 2 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 embodiment, 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. 2, the key generation is carried out by a procedure according to the flow chart of Fig. 3 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. 2, the secret key deletion is carried out by a procedure according to the flow chart of Fig. 4 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 embodiment. Thus according to this embodiment, 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 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 also 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 which are 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 (S24) a secret key inside a tamper resistant personal portable device (34A); (b) storing (S27) the secret key generated at the step (a) into a storage region (46) in the tamper resistant personal portable device from which the secret key cannot be read out of the tamper resistant personal portable device; and characterized by (c) detecting (S32) an opening of a cover of the tamper resistant personal portable device; and (d) deleting (S34) the secret key in the storage region (46) and destroying (S36) elements implemented inside the tamper resistant personal portable device (34A) when a said opening is detected. The method of claim 1, further comprising the step of: (e) using the secret key stored at the step (b) for deciphering processing and signing processing only within the tamper resistant personal portable device (34A). The method of claim 1, wherein the step (a) includes the steps of: (a1) generating (S23) a random number; and (a2) generating (S24) a public key of the public key cryptosystem and the secret key from the random number generated at the step (a1). The method of claim 1, wherein the step of destroying the elements implemented inside the tamper resistant personal portable device is such as to make the tamper resistant personal portable device unusable when the opening of the cover of the tamper resistant personal portable device is detected at the step (c). A tamper resistant personal portable device for generating and managing a secret key of a public key cryptosystem, comprising: first means (44) for generating a secret key inside the tamper resistant personal portable device (34A); second means (46) for storing the secret key generated by the first means into a storage region from which the secret key cannot be read out of the tamper resistant personal portable device (34A); and characterized by third means (48) for detecting an opening of a cover of the tamper resistant personal portable device (34A); and fourth means (49) for deleting the secret key in the storage region (46) and destroying elements implemented inside the personal portable device (34A), when the third means detects a said opening. The device of claim 5, further comprising: a processor (47) for carrying out deciphering processing and signing processing by using the secret key stored in the storage region only within the tamper resistant personal portable device. The device of claim 5, wherein the first means includes: means (43) for generating a random number; and means (44) for generating a public key of the public key cryptosystem and the secret key from the random number. The device of claim 5, wherein the means for destroying the elements implemented inside the tamper resistant personal portable device serves to make the tamper resistant personal portable device unusable.

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