Key management system, key management method, and program

The key management system addresses vulnerabilities in blockchain services by securely generating, encrypting, and managing private keys using a common key stored in a secure element, enhancing transaction security.

JP2025163938APending Publication Date: 2025-10-30TOPPAN HOLDINGS INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2024067591
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-18
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing blockchain services face vulnerabilities in managing private keys due to potential leaks during transmission or storage, whether managed by users or services, with existing encryption technologies failing to secure the common keys used for encryption and decryption.

Method used

A key management system that generates a private key and a common key, encrypts the private key using the common key, stores the common key in a secure element, decrypts the private key using the common key from the secure element, and deletes the keys after use, ensuring secure management and tamper-resistance.

Benefits of technology

The system securely manages common keys and private keys, preventing unauthorized access and ensuring secure encryption and decryption processes, thus enhancing the safety of blockchain transactions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025163938000001_ABST
    Figure 2025163938000001_ABST
Patent Text Reader

Abstract

To provide a key management system, a key management method, and a program capable of safely managing a common key used for encryption and decryption of a private key.SOLUTION: A key management system includes a key generation unit, a key management unit, and a processing unit. The key generation unit generates a private key and a common key. The key management unit encrypts the private key by using the common key. The key generation unit stores the common key in a secure element. The key management unit decrypts the encrypted private key by using the common key obtained from the secure element, and deletes the common key obtained from the secure element. The processing unit executes a process using the decrypted private key, and deletes the private key used in the process.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a key management system, a key management method, and a program. [Background technology]

[0002] In services that use blockchain technology, a unique private key is issued to each user and used for various processes. Since the leakage of a private key is equivalent to the leakage of assets held by the user in the blockchain node, it is necessary to manage the private key securely.

[0003] Patent Documents 1 to 3 describe that keys used for encryption are managed in an encrypted state, and the keys are decrypted when they are used. [Prior art documents] [Patent documents]

[0004] [Patent Document 1] Patent No. 3516591 [Patent Document 2] Patent No. 5112812 [Patent Document 3] Patent No. 6787952 Summary of the Invention [Problem to be solved by the invention]

[0005] In many blockchain services, each user or service manages their own private key. When each user manages their own private key, the private key moves from the environment managed by the user to the blockchain service when a process using the private key is executed. If an attack is carried out targeting the communication path along which the private key moves, the private key may be leaked. On the other hand, when the service manages the private key, the private key is often stored in plaintext within the system. If the service is attacked from outside, the private key may be leaked.

[0006] By applying the technologies described in Patent Documents 1 to 3 to blockchain technology, it is possible to manage private keys in an encrypted state. However, no consideration is given to the common key used to encrypt and decrypt the private key.

[0007] An object of the present invention is to provide a key management system, a key management method, and a program that can safely manage a common key used for encryption and decryption of a private key. [Means for solving the problem]

[0008] The present invention is a key management system having a key generation unit that generates a private key and a common key, a key management unit, and a processing unit, wherein the key management unit encrypts the private key by using the common key, the key generation unit stores the common key in a secure element, the key management unit decrypts the encrypted private key by using the common key obtained from the secure element and deletes the common key obtained from the secure element, and the processing unit executes a process that uses the decrypted private key and deletes the private key used in the process.

[0009] The present invention is a key management method comprising the steps of: a key generation unit generating a private key and a common key; a key management unit encrypting the private key by using the common key; the key generation unit storing the common key in a secure element; the key management unit decrypting the encrypted private key by using the common key obtained from the secure element; the key management unit deleting the common key obtained from the secure element; a processing unit executing a process using the decrypted private key; and the processing unit deleting the private key used in the process.

[0010] The present invention is a program for causing a computer to execute the steps of generating a private key and a common key, encrypting the private key by using the common key, storing the common key in a secure element, decrypting the encrypted private key by using the common key obtained from the secure element, deleting the common key obtained from the secure element, performing a process using the decrypted private key, and deleting the private key used in the process. [Effects of the Invention]

[0011] According to the present invention, the key management system, key management method, and program are capable of safely managing a common key used for encrypting and decrypting a private key. [Brief explanation of the drawings]

[0012] [Figure 1] 1 is a block diagram illustrating an example of the configuration of a key management system according to an embodiment of the present invention. [Figure 2] 10 is a flowchart illustrating an example of processing executed by a key generation unit of the key management system according to an embodiment of the present invention. [Figure 3] 10 is a flowchart illustrating an example of processing executed by a condition setting unit of the key management system according to an embodiment of the present invention. [Figure 4] 10 is a flowchart illustrating an example of processing executed by a key management unit of the key management system according to an embodiment of the present invention. [Figure 5] 10 is a flowchart illustrating an example of processing executed by a processing unit of the key management system according to an embodiment of the present invention. [Figure 6] 4 is a flowchart illustrating an example of a process performed by a secure element of a key management system according to an embodiment of the present invention. [Figure 7] FIG. 3 is a sequence diagram illustrating an example of the operation of a key management system according to an embodiment of the present invention. [Figure 8]FIG. 3 is a sequence diagram illustrating an example of the operation of a key management system according to an embodiment of the present invention. DETAILED DESCRIPTION OF THE INVENTION

[0013] 1 shows the configuration of a key management system 1 according to an embodiment of the present invention. The key management system 1 includes a key management device 10 and a secure element 20.

[0014] The key management device 10 is a computer system, such as a key management system for a blockchain node. The key management device 10 includes a key generation unit 11, a condition setting unit 12, an operation unit 13, a key management unit 14, a processing unit 15, and a storage unit 16.

[0015] The key generation unit 11 generates a private key and a common key. The common key is stored in the storage unit 22 of the secure element 20. The condition setting unit 12 sets user authentication execution conditions that indicate the conditions for user authentication executed by the authentication unit 21 of the secure element 20. The condition setting unit 12 also sets a user authentication method that indicates the method of user authentication. When the processing unit 15 executes a process that uses the private key, the condition setting unit 12 verifies whether the user authentication execution conditions are satisfied. The operation unit 13 accepts an operation from a user and generates information according to the operation.

[0016] The key management unit 14 is tamper-resistant. For example, the key management unit 14 is a KMS (Key Management Service) or an HSM (Hardware Security Module). The key management unit 14 has a cryptographic processing unit 17 and a memory unit 18. The cryptographic processing unit 17 encrypts a private key by using a common key. The memory unit 18 stores the encrypted private key. The memory unit 18 may be part of the memory unit 16. When the processing unit 15 executes a process that uses the private key, the cryptographic processing unit 17 decrypts the encrypted private key by using the common key obtained from the secure element 20. After the private key is decrypted, the cryptographic processing unit 17 deletes the common key.

[0017] The processing unit 15 executes a process using the decrypted private key. The following describes an example in which the processing unit 15 executes a contract for remittance, but the process in which the processing unit 15 uses the private key is not limited to a contract. After the contract is executed, the processing unit 15 deletes the private key. The storage unit 16 stores the user authentication execution conditions and user authentication method set by the condition setting unit 12.

[0018] At least one of the key generation unit 11, the condition setting unit 12, the key management unit 14, and the processing unit 15 may be realized by a processor such as a CPU (Central Processing Unit) executing a program recorded on a computer-readable recording medium. At least one of the key generation unit 11, the condition setting unit 12, the key management unit 14, and the processing unit 15 may be realized by hardware (circuitry) such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field-Programmable Gate Array). At least one of the key generation unit 11, the condition setting unit 12, the key management unit 14, and the processing unit 15 may be realized by a combination of software and hardware.

[0019] The computer-readable recording medium may be a portable medium such as a flexible disk, a magneto-optical disk, a ROM, or a CD-ROM, or a storage unit such as a hard disk built into a computer system. The above-mentioned program may be a differential file (differential program). At least one function of the key generation unit 11, the condition setting unit 12, the key management unit 14, and the processing unit 15 may be realized by combining a program already stored in the computer with a differential program.

[0020] The secure element 20 is a tamper-resistant secure IC chip, etc. The secure element 20 includes an authentication unit 21 and a storage unit 22.

[0021] The authentication unit 21 performs user authentication. The storage unit 22 stores the private key generated by the key generation unit 11.

[0022] The common key used to encrypt and decrypt the private key is stored in the secure element 20, and the common key is retrieved from the secure element 20 only when the encrypted private key is to be decrypted. The common key is stored in the secure element 20, which has high resistance to unauthorized access and tampering, and therefore the common key is managed securely. Furthermore, the encrypted private key is stored in the key management unit 14, which has high resistance to unauthorized access and tampering, and therefore the private key is managed securely.

[0023] The common key and the private key are stored in different storage units. By storing the common key and the private key in a distributed manner, high security against external attacks is ensured.

[0024] The key management unit 14 may generate the private key or the common key, or the secure element 20 may generate the private key.

[0025] The following describes an example in which the key management system 1 is applied to a blockchain system. The key management system 1 is not limited to blockchain systems and can be applied to various systems that encrypt and decrypt private keys.

[0026] The operation of the key generation unit 11 will be described with reference to Fig. 2. Fig. 2 shows the processing executed by the key generation unit 11.

[0027] (Step S100) When a blockchain node is started, the key generation unit 11 generates a private key and a common key.

[0028] (Step S105) After step S100, the key generating unit 11 transmits a condition setting request to the condition setting unit 12 to request the setting of a user authentication execution condition.

[0029] (Step S110) After step S105, the key generation unit 11 transmits the private key and the common key generated in step S100 to the key management unit .

[0030] (Step S115) After step S110, the key generation unit 11 stores the common key generated in step S100 in the secure element 20.

[0031] (Step S120) After step S115, the key generation unit 11 deletes the private key and the common key generated in step S100.

[0032] (Step S125) After step S120, the key generation unit 11 receives a private key decryption request transmitted from the condition setting unit 12 when the contract is executed.

[0033] (Step S130) After step S125, the key generation unit 11 transmits a common key acquisition request to the secure element 20 to request acquisition of a common key. If the private key decryption request includes an instruction to perform user authentication and a user authentication method, the key generation unit 11 transmits the common key acquisition request including the instruction to perform user authentication and the user authentication method to the secure element 20. If the private key decryption request does not include an instruction to perform user authentication, the key generation unit 11 transmits the common key acquisition request not including the instruction to perform user authentication and the user authentication method to the secure element 20.

[0034] (Step S135) After step S130, the key generation unit 11 receives the common key transmitted from the secure element 20.

[0035] (Step S140) After step S135, the key generation unit 11 transmits the common key received from the secure element 20 to the key management unit .

[0036] The operation of the condition setting unit 12 will be described with reference to Fig. 3. Fig. 3 shows the processing executed by the condition setting unit 12.

[0037] (Step S200) The condition setting unit 12 receives a condition setting request sent from the key generation unit 11 when the blockchain node is started up.

[0038] (Step S205) After step S200, the condition setting unit 12 sets a user authentication execution condition and a user authentication method based on information output from the operation unit 13. The condition setting unit 12 stores the user authentication execution condition and the user authentication method in the storage unit 16.

[0039] For example, the user authentication execution condition indicates the remittance amount in the contract. If the remittance amount in the contract executed by the processing unit 15 is equal to or greater than the remittance amount registered as the user authentication execution condition, user authentication is executed. If the remittance amount in the contract is less than the remittance amount registered as the user authentication execution condition, user authentication is not executed.

[0040] The user authentication execution condition may indicate how often user authentication is performed. For example, a contract may be executed without user authentication for a certain period of time. For a remittance counterparty of a contract that is executed frequently, user authentication may not be performed for a certain period of time.

[0041] (Step S210) After step S205, the condition setting unit 12 receives a verification execution request transmitted from the processing unit 15 when the contract is executed.

[0042] (Step S215) After step S210, the condition setting unit 12 obtains the user authentication execution conditions from the storage unit 16 and verifies the user authentication execution conditions. The verification execution request received from the processing unit 15 includes information necessary for verifying the user authentication execution conditions. For example, the verification execution request includes information on the address of the remittance recipient in the contract or the remittance amount in the contract. The condition setting unit 12 verifies the user authentication execution conditions by comparing the information included in the verification execution request with the user authentication execution conditions.

[0043] (Step S220) After step S215, the condition setting unit 12 determines whether the user authentication execution condition is satisfied. For example, if the remittance amount included in the verification execution request is equal to or greater than the remittance amount included in the user authentication execution condition, the condition setting unit 12 determines that the user authentication execution condition is satisfied. If the remittance amount included in the verification execution request is less than the remittance amount included in the user authentication execution condition, the condition setting unit 12 determines that the user authentication execution condition is not satisfied.

[0044] (Step S225) If the user authentication execution condition is satisfied, the condition setting unit 12 transmits to the key generating unit 11 a private key decryption request including an instruction to execute user authentication and a user authentication method.

[0045] (Step S230) If the user authentication execution condition is not satisfied, the condition setting unit 12 transmits to the key generating unit 11 a private key decryption request that does not include an instruction to execute user authentication and a user authentication method.

[0046] The operation of the key management unit 14 will be described with reference to Fig. 4. Fig. 4 shows the processing executed by the key management unit 14.

[0047] (Step S300) The cryptographic processing unit 17 receives the private key and the common key sent from the key generation unit 11 when the blockchain node is started up.

[0048] (Step S305) After step S300, the encryption processing unit 17 encrypts the private key by using the common key, and stores the encrypted private key in the storage unit 18.

[0049] (Step S310) After step S305, the encryption processing unit 17 deletes the common key used to encrypt the private key.

[0050] (Step S315) After step S310, the cryptographic processing unit 17 receives the common key transmitted from the key generation unit 11 when the contract is executed.

[0051] (Step S320) After step S315, the encryption processing unit 17 obtains the encrypted private key from the storage unit 18 and decrypts the private key by using the common key.

[0052] (Step S325) After step S320, the encryption processing unit 17 transmits the decrypted private key to the processing unit 15.

[0053] (Step S330) After step S325, the encryption processing unit 17 deletes the common key used to decrypt the private key.

[0054] The operation of the processing unit 15 will be described with reference to Fig. 5. Fig. 5 shows the processing executed by the processing unit 15.

[0055] (Step S400) When the contract is executed, the processing unit 15 transmits a verification execution request to the condition setting unit 12 to request the execution of verification of the user authentication execution condition.

[0056] (Step S405) After step S400, the processing unit 15 receives the private key transmitted from the key management unit .

[0057] (Step S410) After step S405, the processing unit 15 executes the contract by using the private key. For example, the processing unit 15 encrypts data by using the private key.

[0058] (Step S415) After step S410, the processing unit 15 deletes the private key used in the contract.

[0059] The operation of the secure element 20 will be described with reference to Fig. 6. Fig. 6 shows the processing executed by the secure element 20.

[0060] (Step S500) The authentication unit 21 receives the common key transmitted from the key generation unit 11 when the blockchain node is started up, and stores the received common key in the storage unit 22.

[0061] (Step S505) After step S500, the authentication unit 21 receives a common key acquisition request transmitted from the key generation unit 11 when the contract is executed.

[0062] (Step S510) After step S505, the authentication unit 21 determines whether or not an instruction to perform user authentication has been issued by determining whether or not the common key acquisition request includes an instruction to perform user authentication. If the common key acquisition request includes an instruction to perform user authentication, the authentication unit 21 determines that an instruction to perform user authentication has been issued. If the common key acquisition request does not include an instruction to perform user authentication, the authentication unit 21 determines that an instruction to perform user authentication has not been issued.

[0063] (Step S515) When an instruction to perform user authentication is issued, the authentication unit 21 performs user authentication using a method indicated by the user authentication method included in the common key acquisition request. For example, the user authentication method indicates biometric authentication or password authentication. The authentication unit 21 performs user authentication by comparing the biometric information or password entered by the user with biometric information or passwords registered in advance in the storage unit 22.

[0064] (Step S520) After step S515, the authentication unit 21 determines whether the identity of the user has been confirmed. For example, if the biometric information or password entered by the user matches the biometric information or password pre-registered in the storage unit 22, the authentication unit 21 determines that the identity of the user has been confirmed. If the biometric information or password entered by the user does not match the biometric information or password pre-registered in the storage unit 22, the authentication unit 21 determines that the identity of the user has not been confirmed.

[0065] (Step S525) If the identity of the user is confirmed or if execution of user authentication is not instructed, the authentication unit 21 acquires the common key from the storage unit 22 and transmits the acquired common key to the key generation unit 11. If the identity of the user is not confirmed, the authentication unit 21 does not transmit the common key to the key generation unit 11.

[0066] Fig. 7 shows an example of the operation of the key management system 1 when a blockchain node is started. Using Fig. 7, the operation of the key management system 1 when a blockchain node is started will be described.

[0067] The key generation unit 11 generates a private key and a common key (step S100). After the private key and common key are generated, the key generation unit 11 transmits a condition setting request to the condition setting unit 12 (step S105). The condition setting unit 12 receives the condition setting request transmitted from the key generation unit 11 (step S200). The condition setting unit 12 sets a user authentication execution condition and a user authentication method based on information output from the operation unit 13. The condition setting unit 12 stores the user authentication execution condition and the user authentication method in the storage unit 16 (step S205).

[0068] After the condition setting request is transmitted, the key generation unit 11 transmits the private key and the common key to the key management unit 14 (step S110). The encryption processing unit 17 of the key management unit 14 receives the private key and the common key transmitted from the key generation unit 11 (step S300). The encryption processing unit 17 encrypts the private key by using the common key. The encryption processing unit 17 stores the encrypted private key in the storage unit 18 (step S305). After the private key is encrypted, the encryption processing unit 17 deletes the common key used to encrypt the private key (step S310).

[0069] After the private key and the common key are transmitted to the key management unit 14, the key generation unit 11 stores the common key in the secure element 20 (step S115). The authentication unit 21 of the secure element 20 receives the common key transmitted from the key generation unit 11 and stores the received common key in the storage unit 22 (step S500). The key generation unit 11 deletes the private key and the common key (step S120).

[0070] Fig. 8 shows an example of the operation of the key management system 1 when a contract is executed. Using Fig. 8, the operation of the key management system 1 when a contract is executed will be described.

[0071] The processing unit 15 transmits a verification execution request to the condition setting unit 12 (step S400). The condition setting unit 12 receives the verification execution request transmitted from the processing unit 15 (step S210). The condition setting unit 12 acquires the user authentication execution condition from the storage unit 16 and verifies the user authentication execution condition (step S215). If the user authentication execution condition is satisfied, the condition setting unit 12 transmits a private key decryption request including an instruction to perform user authentication and a user authentication method to the key generation unit 11 (step S225).

[0072] The key generation unit 11 receives the private key decryption request transmitted from the condition setting unit 12 (step S125). After receiving the private key decryption request, the key generation unit 11 transmits a common key acquisition request to the secure element 20. Because the private key decryption request includes an instruction to perform user authentication and a user authentication method, the key generation unit 11 transmits a common key acquisition request including the instruction to perform user authentication and the user authentication method to the secure element 20 (step S130).

[0073] The authentication unit 21 of the secure element 20 receives the common key acquisition request sent from the key generation unit 11 (step S505). Because the common key acquisition request includes an instruction to perform user authentication, the authentication unit 21 performs user authentication using the method indicated by the user authentication method included in the common key acquisition request (step S515). If the identity of the user is confirmed, the authentication unit 21 acquires the common key from the storage unit 22 and transmits the acquired common key to the key generation unit 11 (step S525).

[0074] The key generation unit 11 receives the common key transmitted from the secure element 20 (step S135). After receiving the common key, the key generation unit 11 transmits the common key to the key management unit 14 (step S140).

[0075] The encryption processing unit 17 of the key management unit 14 receives the common key transmitted from the key generation unit 11 (step S315). The encryption processing unit 17 obtains the encrypted private key from the storage unit 18 and decrypts the private key by using the common key (step S320). After the private key is decrypted, the encryption processing unit 17 transmits the decrypted private key to the processing unit 15 (step S325). After the private key is transmitted, the encryption processing unit 17 deletes the common key used to decrypt the private key (step S330).

[0076] The processing unit 15 receives the private key transmitted from the key management unit 14 (step S405). After the private key is received, the processing unit 15 executes the contract by using the private key (step S410). After the contract is executed, the processing unit 15 deletes the private key used in the contract (step S415).

[0077] Instead of the user authentication execution condition, the condition setting unit 12 may set a contract execution condition indicating a condition for permitting or denying execution of the contract. For example, the contract execution condition indicates the address of the remittance recipient (destination address) or the remittance amount in the contract. If an address prohibited as a destination address in the contract executed by the processing unit 15 is registered as a user authentication execution condition and the destination address does not match the address registered as a user authentication execution condition, a private key decryption request is sent to the key generation unit 11. If the two addresses match, the private key decryption request is not sent to the key generation unit 11.

[0078] Alternatively, if an address permitted as a destination address is registered as a contract execution condition and the destination address matches the address registered as a contract execution condition, a private key decryption request is sent to the key generation unit 11. If the two addresses do not match, the private key decryption request is not sent to the key generation unit 11.

[0079] Alternatively, if the remittance amount in the contract executed by the processing unit 15 is less than the remittance amount registered as the contract execution condition, a private key decryption request is sent to the key generation unit 11. If the remittance amount in the contract is equal to or greater than the remittance amount registered as the contract execution condition, a private key decryption request is not sent to the key generation unit 11.

[0080] As described above, the key generation unit 11 generates a private key and a common key. The key management unit 14 encrypts the private key by using the common key. The key generation unit 11 stores the common key in the secure element 20. The key management unit 14 decrypts the encrypted private key by using the common key obtained from the secure element 20, and deletes the common key obtained from the secure element 20. The processing unit 15 executes a process that uses the decrypted private key, and deletes the private key used in that process.

[0081] The common key used to encrypt the private key is stored in the secure element 20. Therefore, the key management device 10 can prevent users from directly accessing the common key and can safely manage the common key. When the processing unit 15 executes processing, the key management unit 14 decrypts the private key, and the processing unit 15 deletes the private key after the processing is executed. Therefore, the key management device 10 can prevent the private key from remaining in plain text. Furthermore, because the key management unit 14 deletes the common key, the key management device 10 can prevent users from accessing the common key.

[0082] The key management unit 14 is tamper-resistant and holds an encrypted private key. When the processing unit 15 executes a process, the key management unit 14 decrypts the private key and transmits the decrypted private key to the processing unit 15. The tamper-resistant key management unit 14 holds the encrypted private key and decrypts the private key when the processing unit 15 executes a process. For example, the key management unit 14 is a KMS or an HSM. Therefore, the key management device 10 can safely manage the private key by preventing users from directly accessing the private key.

[0083] The key generation unit 11 deletes the generated private key after transmitting the private key to the key management unit 14. Furthermore, the key generation unit 11 deletes the generated common key after storing the common key in the secure element 20. Therefore, the key management device 10 can shorten the time that the private key and the common key are held in the key generation unit 11, and prevent users from accessing the private key and the common key.

[0084] Because the destination address entered when executing a contract is long and complicated, users may not notice an error even if they visually check the destination address. Furthermore, blockchain services for node operation generally do not have a function to check the content of various input information. Even if the input information is incorrect, the contract will be executed in the same way as if it were executed correctly, making it difficult to determine whether an incorrect contract was executed.

[0085] As described above, when the preset user authentication execution conditions are satisfied, the authentication unit 21 executes user authentication. When the user's identity is confirmed in the user authentication, the key management unit 14 decrypts the private key. When the user authentication execution conditions are satisfied and the user's identity is confirmed, the key management unit 14 decrypts the private key. When the user authentication execution conditions are not satisfied or the user's identity is not confirmed, the key management unit 14 does not decrypt the private key. Therefore, the key management device 10 can avoid contracts based on incorrect input information and can prevent contracts from being executed by users other than the intended user.

[0086] The condition setting unit 12 sets user authentication execution conditions in advance. When the processing unit 15 executes processing, the condition setting unit 12 verifies whether the user authentication execution conditions are met. A user can set the user authentication execution conditions. User authentication is executed when the user-set user authentication execution conditions are met, so the key management device 10 can avoid the execution of contracts based on incorrect input information and malicious contracts.

[0087] The condition setting unit 12 sets in advance a user authentication method that indicates a method of user authentication. The authentication unit 21 executes user authentication in the method indicated by the user authentication method. The user can set the user authentication method.

[0088] The authentication unit 21 is included in the secure element 20. Since the secure element 20, which has high resistance to unauthorized access and tampering, performs user authentication, the key management device 10 can avoid the execution of unauthorized user authentication.

[0089] The above has described in detail an embodiment of the present invention with reference to the drawings, but the specific configuration is not limited to the above embodiment, and design changes and the like are also included within the scope that does not deviate from the gist of the present invention. [Explanation of symbols]

[0090] 1 key management system, 10 key management device, 11 key generation unit, 12 condition setting unit, 13 operation unit, 14 key management unit, 15 processing unit, 16, 18, 22 storage unit, 17 encryption processing unit, 20 secure element, 21 authentication unit

Claims

1. a key generation unit that generates a private key and a common key; A key management unit; a processing unit; and the key management unit encrypts the private key by using the common key; The key generation unit stores the common key in a secure element, the key management unit decrypts the encrypted private key by using the common key obtained from the secure element, and deletes the common key obtained from the secure element; The processing unit executes a process using the decrypted private key and deletes the private key used in the process. Key management system.

2. the key management unit is tamper-resistant and holds the encrypted private key; When the processing unit executes the process, the key management unit decrypts the private key and transmits the decrypted private key to the processing unit. The key management system of claim 1 .

3. The key management unit is a KMS (Key Management Service) or an HSM (Hardware Security Module). The key management system according to claim 1 or 2.

4. The key generation unit transmits the private key to the key management unit, then deletes the generated private key, and stores the common key in the secure element, then deletes the generated common key. The key management system according to claim 1 or 2.

5. an authentication unit that executes user authentication when a preset user authentication execution condition is satisfied; If the user's identity is confirmed in the user authentication, the key management unit decrypts the private key. The key management system according to claim 1 or 2.

6. a condition setting unit that sets the user authentication execution condition in advance and verifies whether the user authentication execution condition is satisfied when the processing unit executes the process; The key management system of claim 5 .

7. the condition setting unit pre-sets a user authentication method indicating a method of the user authentication; The authentication unit performs the user authentication in a manner indicated by the user authentication method. The key management system of claim 6 .

8. The authentication unit is included in the secure element. The key management system of claim 5 .

9. a step in which a key generation unit generates a private key and a common key; a key management unit encrypting the private key by using the common key; the key generation unit storing the common key in a secure element; the key management unit decrypting the encrypted private key by using the common key obtained from the secure element; a step of the key management unit deleting the common key acquired from the secure element; a processing unit performing a process using the decrypted private key; the processing unit deleting the private key used in the processing; A key management method comprising:

10. generating a private key and a common key; encrypting the private key using the common key; storing the common key in a secure element; decrypting the encrypted private key by using the common key obtained from the secure element; deleting the common key obtained from the secure element; performing a process using the decrypted private key; deleting the private key used in the processing; A program that causes a computer to execute the following.

Citation Information

Patent Citations

  • Kuratsudogatakojundosekieibono renzokuseizohoho

    JP1976012812A

  • Data storage method and system, and recording medium for data storage processing

    JP3516591B2

  • Data security using keys supplied on demand

    JP6787952B2