Key management system and key management method
The key management system addresses security and cost issues in common key cryptosystems by generating and distributing a master key embedded in a client device, encrypting work keys, and managing them securely across multiple devices, ensuring efficient and cost-effective encryption and decryption operations.
Patent Information
- Application Number
- JP2023104531
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-26
- Publication Date
- 2025-01-15
AI Technical Summary
Existing common key cryptosystems face security risks due to the need for delivering encryption keys, and existing solutions like hardware security modules are costly and not always feasible.
A key management system using a server device and client devices that generate and distribute a master key embedded in a key management client, ensuring secure encryption and decryption operations without the need for hardware security modules, by encrypting work keys with the master key and managing them efficiently across multiple client devices.
This approach enables secure, cost-effective key management without hardware security modules, protecting work keys from leakage and unauthorized use, enhancing information security and streamlining management processes.
Smart Images

Figure 2025004683000001_ABST
Abstract
Description
[Technical field]
[0001] The invention disclosed in this application relates to a technology for managing encryption keys used for encrypting and decrypting important data. [Background technology]
[0002] Cryptographic technology has become indispensable in our daily lives and in the economic activities of companies. When sending and receiving important data between senders and receivers, it is common to encrypt the important data with a cryptographic key.
[0003] The main encryption methods used to encrypt important data are public key encryption and symmetric key encryption. This application is an invention related to symmetric key encryption. The advantage of symmetric key encryption is that the cost of encryption processing is lower than that of public key encryption, making it advantageous when encrypting large amounts of data. On the other hand, the disadvantage of symmetric key encryption is that it requires the distribution of an encryption key used in symmetric key encryption, and the distribution of the encryption key poses security problems.
[0004] In order to reduce the risk of leakage of an encryption key used in a symmetric key cryptosystem, a method is sometimes used in which the encryption key used in the symmetric key cryptosystem is divided into multiple parts and distributed. However, with this method, even though the encryption key is divided and distributed, the plaintext of the encryption key is still distributed. To solve this problem, the invention disclosed in Patent Document 1 generates a key used for distribution by calculating the exclusive OR of the encryption key and an ID (parameter) unique to each sender and receiver.
[0005] In order to further reduce the risk of leakage of encryption keys used in the common key cryptosystem, encryption keys used in the common key cryptosystem are generated using a tamper-resistant device that is tamper-resistant against attacks related to decryption of encryption keys. The tamper-resistant device is also called a hardware security module. The tamper-resistant device secretly stores a master key used to generate the encryption key, and generates an encryption key based on the seed information by encrypting seed information (initial information) with the master key. In the invention disclosed in Patent Document 2, an encryption key unique to each piece of identification information is generated by masking identification information (e.g., a user ID) with mask information and encrypting the result with the master key.
[0006] Also, a server device located on a network may be used to generate a user's encryption key. In the invention disclosed in Patent Document 3, the server device generates seed information (initial value data) for each user using ID information unique to each user and a secret random number, and delivers the seed information to the user. The user inputs the ID information of the other party with whom he / she wishes to communicate and this seed information into a user algorithm common to each user, and generates an encryption key for the other party with whom he / she wishes to communicate. [Prior art documents] [Patent documents]
[0007] [Patent Document 1] JP 2007-089100 A [Patent Document 2] JP 2005-204128 A [Patent Document 3] Japanese Patent Application Publication No. 11-163850 Summary of the Invention [Problem to be solved by the invention]
[0008] Depending on the important data exchanged between senders and receivers, there are cases where it is not necessary to introduce a hardware security module for managing encryption keys. In such cases, a simple and inexpensive key management is required. Therefore, this application provides a method for performing a simple and inexpensive key management. [Means for solving the problem]
[0009] A first invention for solving the above-mentioned problems is a key management system including a server device and a client device connected to the server device via a network. In order to solve the above-mentioned problems, the server device has a function of generating a master key shared among the client devices when receiving a download request for a key management client, and distributing the key management client with the master key embedded therein to each of the client devices specified when receiving the download request for the key management client. In order to solve the above-mentioned problems, the client device has a function of downloading and installing the key management client distributed by the server device, and the key management client distributed by the server device has a function of generating a work key that is individual to the client device, and storing the work key encrypted by the master key. In the first invention, it is preferable that a random value be included in the download request from the key management client so that the master key changes each time it is generated, and that the server device generate the master key using the random value. Furthermore, in the first invention, it is preferable that the key management client has a function of performing cryptographic calculations using the work key decrypted by the master key so that a user does not directly handle the plaintext of the work key.
[0010] A second invention for solving the above-mentioned problems is a key management method including a step a, in which a server device, upon receiving a download request for a key management client, generates a master key to be shared among multiple client devices, and distributes the key management client with the master key embedded therein to each of the multiple client devices specified when the download request for the key management client was received; a step b, in which a client device downloads and installs the key management client distributed by the server device; and a step c, in which the key management client generates a work key that is individual to the client device, and stores the work key encrypted with the master key. In the second aspect of the invention, in step a, it is preferable that the download request from the key management client includes a random number value, and that the server device generates the master key using the random number value. Furthermore, in the second aspect of the invention, it is preferable to include a step d in which the key management client performs an encryption operation using the work key decrypted by the master key. Effect of the Invention
[0011] In the invention disclosed in this application, key management can be efficiently performed without incurring costs for key management. By distributing a key management client with an embedded master key to multiple client devices, the same master key can be shared among multiple client devices without placing a burden on the users of the client devices, and the management of the master key becomes easier. In addition, by encrypting a work key generated individually for each client device with the master key and storing it in the client device, it is possible to prevent leakage of the work key and unauthorized use of the work key. The above effects are expected to improve information security and make management more efficient. [Brief description of the drawings]
[0012] [Figure 1] FIG. 1 is a diagram showing the configuration of a key management system according to an embodiment of the present invention. [Diagram 2] Diagram showing the steps performed in a key management system. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0013] Hereinafter, an embodiment of the present invention will be described. The embodiment is for facilitating understanding of the present invention, and the present invention is not limited to the embodiment. Furthermore, unless otherwise specified, the drawings are schematic diagrams drawn for facilitating understanding of the present invention.
[0014] 1 shows the configuration of a key management system 1 according to this embodiment. The key management system 1 shown in Fig. 1 includes a server device 2 and a plurality of client devices 3 connected to the server device 2 via a network 7.
[0015] The key management system 1 uses two encryption keys. One encryption key is a master key 5, and the other encryption key is a work key 6. The work key 6 is an encryption key used to encrypt important data transmitted between client devices 3. The master key 5 is an encryption key used to encrypt and decrypt the work key 6. The master key 5 is generated by the server device 2, and is shared by multiple client devices 3 so that the ciphertext of the work key 6 can be decrypted.
[0016] If the plaintext of the work key 6 is leaked from the client device 3, there is a risk that important data will be leaked even if it is encrypted with the work key 6. Therefore, in the key management system 1, the key management client 4, which is software having a function of generating the work key 6 and performing cryptographic calculations using the work key 6, is installed in each client device 3, so that the generation of the work key 6 and the cryptographic calculation processing using the work key 6 can be completed by one piece of software.
[0017] The work key 6 becomes data transmitted and received between client devices 3. Naturally, when the plaintext of the work key 6 is transmitted and received between client devices 3, the plaintext of the work key 6 will be leaked. Therefore, the key management client 4 encrypts the work key 6 using the master key 5 and stores it in the client device 3. When encrypting and decrypting important data, the key management client 4 decrypts and uses the ciphertext of the work key 6.
[0018] In the key management system 1, the server device 2 is a device that generates the master key 5 shared by multiple client devices 3. If the plaintext of the master key 5 is distributed to each of the client devices 3, the plaintext of the master key 5 will be leaked. Furthermore, if the master key 5 is encrypted with another encryption key and distributed to each of the client devices 3, it will be necessary to distribute the encryption key used to encrypt the master key 5. Therefore, in this embodiment, the server device 2 distributes the key management client 4 in which the master key 5 is embedded to each of the client devices 3, and stores the master key 5 in each of the client devices 3 while it is embedded in the key management client 4.
[0019] As described above, in the key management system 1 according to this embodiment, the work key 6 used for encrypting and decrypting important data is stored in the client device 3 while being protected (encrypted) by the master key 5 generated by the server device 2, so that the work key 6 can be securely exchanged between the client devices 3. In the invention disclosed in this application, the security relating to the management of the work key 6 is lower than that of a hardware security module, but by embedding the master key 5 in the key management client 4, in cases where it is not necessary to introduce a hardware security module, the work key 6 can be securely managed without incurring costs.
[0020] The key management system 1 according to this embodiment will be described in more detail.
[0021] The server device 2 is a device realized by one or more servers. If the master key 5 generated by the server device 2 is leaked to the outside, the possibility of the work key 6 transmitted between the server device 2 and the client device 3 being leaked increases. For this reason, the server device 2 needs security measures to prevent unauthorized access from the outside.
[0022] In this embodiment, the server device 2 generates the master key 5 when receiving a download request for the key management client 4 from the client device 3. In order to accept the download request for the key management client 4 from the client device 3, the server device 2 according to this embodiment has a download page, which is a web page that accepts the download request for the key management client 4. In order to increase the security related to the generation of the master key 5, it is preferable that the server device 2 performs access management (e.g., user authentication) to the download page.
[0023] The download request for the key management client 4 received from the client device 3 includes a random number used to generate the master key 5 and the address of the client device 3 to which the key management client 4 with the master key 5 embedded is to be distributed. In order to make the client device 3 generate the random number, the download page that receives the download request for the key generation client includes a script that makes the client device 3 generate the random number. The address of the client device 3 includes a global IP address and a computer name.
[0024] The server device 2 generates the master key 5 by mixing a hash value derived from a random number value included in the download request of the key management client 4. For example, the master key 5 can be generated by mixing a hash value of the random number value included in the download request into a random number value generated by the server device 2. Mixing a hash value means including a hash value in the master key 5. The hash value itself may be included in the master key 5, or fragments of the hash value divided into 1-byte units may be scattered in the master key 5. By using a random number value to generate the master key 5, the master key 5 generated by the server device 2 can be changed every time. Furthermore, by mixing a random number value included in the download request into the master key 5, security related to the generation of the master key 5 is improved.
[0025] The key length varies depending on the encryption algorithm. Also, there are several key lengths that can be used with the same encryption algorithm. For example, in the case of AES (Advanced Encryption Standard), which is one of the representative common key encryption methods, three key lengths are available: 128 bits, 192 bits, and 256 bits. Therefore, it is desirable that the encryption algorithm that uses the master key 5 and the key length of the master key 5 can be specified on the download page that accepts the download request from the key management client 4. In this case, the server device 2 generates the master key 5 of the specified key length using an encryption key for the specified encryption algorithm.
[0026] The master key 5 generated by the server device 2 is embedded in the key management client 4. In this embodiment, hard coding is used to embed the master key 5. By using hard coding to embed the master key 5, the master key 5 is written in the execution code (binary code) of the key management client 4, so that even if the execution code of the key management client 4 is viewed, it becomes difficult to identify the value of the master key 5.
[0027] In order to embed the master key 5 in the key management client 4 by hard coding, the server device 2 stores the source code of the key management client 4. The server device 2 converts the source code in which the master key 5 generated by the server device 2 is directly written into an execution code, and generates a key management client 4 in which the master key 5 is embedded by hard coding. When the server device 2 transmits the key generation client in which the master key 5 is embedded to the client device 3 indicated in the download request of the key management client 4, the server device 2 erases the master key 5 from the server device 2 to prevent leakage of the master key 5.
[0028] The client device 3 is a device provided for each user belonging to a user group. A user group is a group including multiple users. For example, a user group may be a group of employees participating in a project, a group of attendees attending a conference, or a business operator involved in a product supply chain. The client device 3 may be realized by a server, a personal computer, a tablet computer, or the like. As with the server device 2, the client device 3 also requires security measures to prevent unauthorized access from outside.
[0029] The client device 3 has a browser function for accessing a download page for making a download request for the key management client 4. The client device 3 also has a function for downloading the key management client 4 distributed by the server device 2 and installing it in the client device 3.
[0030] As described above, the key management system 1 according to this embodiment requires a mechanism in which the server device 2 distributes the key management client 4, in which the master key 5 is embedded, to the client device 3, and the client device 3 installs the key management client 4. To realize this mechanism, the server device 2 requires a computer program for distributing software, and the client device 3 requires a computer program for installing the software distributed by the server device 2. The server device 2 distributes the key management client 4 to the client device 3 in the form of a package that includes information required for installation. The client device 3 checks the software that the server device 2 has distributed to itself, and if the software is available, downloads and automatically installs the software.
[0031] The key management client 4 will now be described. The key management client 4 is software that the client device 3 downloads from the server device 2. The key management client 4 includes, as data, the master key 5 generated by the server device 2. As described above, the master key 5 is hard-coded in the key management client 4. In addition, the key management client 4 includes a program that uses the master key 5 embedded in the key management client 4.
[0032] As functions realized by a program using the master key 5 embedded in the key management client 4, the key management client 4 has a work key generation function for generating a work key 6 that is individual to the client device 3, and a cryptographic calculation function for performing encryption and decryption using the work key 6.
[0033] The work key generation function of the key management client 4 will be described. The work key 6 is an encryption key of a common key cryptosystem that is individual for each client device 3, i.e., for each user. In order to generate a work key 6 that is individual for each client device 3, a key generation algorithm that uses the master key 5 is implemented in the key management client 4. As with the server device 2, it is desirable that when the key management client 4 generates the work key 6, it is possible to specify the encryption algorithm and key length that use the work key 6.
[0034] In the invention disclosed in this application, an AES key generation algorithm using AES can be used as an algorithm for generating the work key 6. When generating the work key 6 using the AES key generation algorithm, the master key 5 is used as an AES encryption key, and information specific to each client device 3 (e.g., the ID of the user corresponding to the client device 3 and the computer name of the client device 3) is encrypted to generate the work key 6. In order to prevent leakage of the work key 6, when the key management client 4 generates the work key 6, it stores in the client device 3 a key file 6a including the ciphertext of the work key 6 encrypted by the master key 5, rather than the work key 6 itself.
[0035] The cryptographic calculation function of the key management client 4 will be described. The cryptographic calculation function of the key management client 4 is a function that executes a cryptographic calculation using a key file 6a stored in the client device 3. A cryptographic calculation means encryption of plaintext or decryption of ciphertext. The cryptographic calculation function of the key management client 4 includes a function that allows a user to select a key file 6a, a function that allows a user to select a type of cryptographic calculation (encryption or decryption), and a function that allows a user to select data to be the target of the cryptographic calculation. When executing a cryptographic calculation, the cryptographic calculation function of the key management client 4 decrypts the key file 6a selected by the user with the master key 5, and executes the cryptographic calculation of the type selected by the user using the data selected by the user as an input value.
[0036] The functions of the key management client 4 are not limited to those described above. For example, the key management client 4 may be provided with a function for storing and managing the key file 6a, a function for transmitting the key file 6a generated by the key management client 4 to another client device 3, and the like.
[0037] Next, a description will be given of the procedure executed by the key management system 1. Fig. 2 shows the procedure executed by the key management system 1. This description also includes a description of the key management method disclosed in the present application.
[0038] When generating a master key 5 to be used in a user group, first, a key user in the user group operates a client device 3 to access a download page published by the server device 2, and makes a download request for the key management client 4 to the server device 2 (step S1). The download request for the key management client 4 includes a random value generated by the client device 3, and the address of the client device 3 corresponding to the user belonging to the user group. The client devices 3 corresponding to the users belonging to the user group include the client device 3 of the user making the download request for the key management client 4, and the client devices 3 of other users belonging to the user group.
[0039] When the server device 2 receives a download request for the key management client 4 from the client device 3, it calculates a hash value of the random number included in the download request for the key management client 4 and generates a master key 5 by mixing this hash value (step S2). After generating the master key 5, the server device 2 converts the source code of the key management client 4 in which the master key 5 is directly written into execution code, thereby generating a key management client 4 in which the master key 5 is embedded by hard coding (step S3).
[0040] The server device 2 distributes the key management client 4, in which the master key 5 is embedded by hard coding, to the client device 3 (step S4). The client device 3 to which the server device 2 distributes the key management client 4 is the client device 3 specified in the download request for the key management client 4. In order to facilitate the installation of the key management client 4, the server device 2 distributes the key management client 4 to the client device 3 in the form of a package that includes, in addition to the key management client 4, information required for installation of the key management client 4.
[0041] When the key management client 4 is distributed from the server device 2 to the client device 3, the client device 3 downloads the key management client 4 from the server device 2 and installs it (step S5). By installing the key management client 4, the client device 3 is provided with the key management client 4.
[0042] In order to transmit and receive important data encrypted using the work key 6, it is necessary to generate an individual work key 6 in the client device 3. The user activates a work key generation function of the key management client 4 installed in the client device 3, and the key management client 4 generates the work key 6 using the master key 5 embedded in the key management client 4 (step S6). After generating the work key 6, the key management client 4 encrypts the work key 6 using the master key 5 (step S7), and stores in the client device 3 a key file 6a including the ciphertext of the work key 6 encrypted using the master key 5 (step S8). After storing the key file 6a in the client device 3, the key management client 4 erases the plaintext of the work key 6 from the client device 3.
[0043] After storing in the client device 3 the key file 6a including the ciphertext of the work key 6 encrypted using the master key 5, the key management client 4 performs encryption calculations on the important data using the work key 6 as an encryption key (step S9). When encrypting the important data, the key management client 4 encrypts the important data using the work key 6 obtained by decrypting the key file 6a using the master key 5. When decrypting the ciphertext of the important data, the key management client 4 decrypts, with the master key 5, the key file 6a obtained from the client device 3 that transmitted the ciphertext of the important data. Then, the key management client 4 decrypts the ciphertext of the important data using the work key 6 obtained from the decrypted key file 6a.
[0044] The above is a description of the embodiment of the invention disclosed in the present application. In the invention disclosed in the present application, the key management client 4 is application layer software. In the invention disclosed in the present application, the work key 6 is encrypted in the application layer. Therefore, even if encryption in the network layer such as IPsec-VPN or SSL-VPN is broken, the work key 6 can be protected. In the invention disclosed in the present application, there is no need to divide and hold the work key 6 or to store the work key 6 in a hardware security module, so the management cost of the work key 6 can be kept to a minimum. [Explanation of symbols]
[0045] 1. Key Management System 2. Server equipment 3 Client Device 4 Key Management Clients 5 Master Keys 6 Work Key
Claims
1. A server device and a client device connected to the server device via a network, the server device has a function of generating a master key shared among a plurality of the client devices when receiving a download request for the key management client, and distributing the key management client having the master key embedded therein to each of the client devices specified when receiving the download request for the key management client; the client device has a function of downloading and installing the key management client distributed by the server device; A key management system in which the key management client distributed by the server device has a function of generating a work key that is individual to the client device and storing the work key encrypted with the master key.
2. 2. The key management system according to claim 1, wherein the download request from the key management client includes a random value, and the server device generates the master key using the random value.
3. 3. The key management system according to claim 1, wherein the key management client has a function of performing cryptographic operations using the work key decrypted by the master key.
4. a step a) of generating a master key shared among a plurality of client devices when a server device receives a download request for the key management client, and distributing the key management client having the master key embedded therein to each of the plurality of client devices specified when the download request for the key management client is received; A step b in which a client device downloads and installs the key management client distributed by the server device; a step c) of the key management client generating a work key that is individual to the client device and storing the work key encrypted by the master key; A key management method including:
5. 5. The key management method according to claim 4, wherein in said step a, the download request from said key management client includes a random number value, and said server device generates said master key using said random number value.
6. 6. The key management method according to claim 4, further comprising a step d of said key management client performing an encryption operation using said work key decrypted by said master key.
Citation Information
Patent Citations
Generating system for encryption key, its generator and encryption key generating recording medium
JP1999163850A
Individual key generating apparatus and program
JP2005204128A
Delivery system of encryption key
JP2007089100A