Key management server, computer program, key management system, and key management method
The key management server system addresses the challenge of time information protection and access record tampering by using token verification and timestamp integration, enabling secure and reliable access record generation.
Patent Information
- Application Number
- JP2023104229
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-06-26
- Publication Date
- 2025-01-15
AI Technical Summary
Key management servers without internal reliable time information and unable to establish a reliable communication path with a timestamp server face challenges in protecting time information and access records from tampering.
A key management server system that includes a control unit to transmit challenges for token verification, receive time stamps from a timestamp server, and generate access records, even without internal reliable time information or a secure communication path.
Enables the inclusion and linkage of time information in access records, ensuring secure recording and verification of key data usage.
Smart Images

Figure 2025004504000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a key management server, a computer program, a key management system, and a key management method. [Background technology]
[0002] In recent years, when managing key data, in addition to storing the key data in a secure environment such as a tamper-resistant key management server, it is required to also record an access record, which is a history of using the key data, in the secure environment. It is also required that the access record includes time information at the time the key data was used.
[0003] Patent Document 1 discloses a method in which a client device transmits signed hash data to a timestamp server, requests a timestamp, and returns the timestamped hash data to the client device, with the timestamp added by the timestamp server. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] JP 2006-2620594 A Summary of the Invention [Problem to be solved by the invention]
[0005] In order to include reliable time information in the access record, it is necessary to protect the time information and the access record from tampering. When exchanging time information with a time stamp server as in the method disclosed in Patent Document 1, it is desirable to establish a reliable communication path with the time stamp server in order to prevent tampering with the time information. However, when using a device such as a secure element or an IC card as a key management server to realize a secure environment, it is not realistic in terms of processing power, supported communication protocols, etc.
[0006] The present invention has been made in consideration of the above circumstances, and aims to provide a key management server, a computer program, a key management system, and a key management method that can include time information in access records even in a key management server that does not have reliable time information internally and cannot establish a reliable communication path with a timestamp server. [Means for solving the problem]
[0007] The present application includes multiple means for solving the above-mentioned problems, and to cite one example, a key management server is equipped with a control unit, which transmits a challenge held for token verification to a key-using device, and based on a timestamp grant request from the key-using device to a timestamp server including the challenge, receives a token including time information and the challenge sent by the timestamp server and a key data usage request from the key-using device, and generates an access record including the time information and recording access to key data based on the key data usage request. Effect of the Invention
[0008] According to the present invention, time information can be included in the access record and recorded, making it possible to link the access record with the time stamp. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates an example of a configuration of a key management system. [Diagram 2] FIG. 11 illustrates a first example of a processing procedure for key management. [Diagram 3] FIG. 13 is a diagram illustrating an example of a token generated by a time stamp server. [Figure 4] FIG. 13 is a diagram illustrating an example of a cryptographic processing request command. [Diagram 5] FIG. 13 is a diagram illustrating an example of a format of an access log. [Figure 6] FIG. 11 illustrates a second example of a processing procedure for key management. [Figure 7] 13A and 13B are diagrams showing an example of a processing result and a receipt. [Figure 8] FIG. 11 illustrates a third example of a processing procedure for key management. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0010] The present invention will be described below with reference to the drawings showing the embodiments. FIG. 1 is a diagram showing an example of the configuration of a key management system. The key management system includes a key management server 50 and a key using device 20. The key using device 20 is a device used by a user when performing required processing using key data, and is configured, for example, as a personal computer (PC), a workstation, a smartphone, or a tablet terminal. The key management server 50 can be configured, for example, as a medium such as an IC card that can be detachably connected to the key using device 20, a device equipped with a secure element, a network storage, an extension board that can be incorporated into the key using device 20, and the like (collectively referred to as "devices" in this specification). The key using device 20 and the key management server 50 can be connected to each other by wireless communication or wired communication. The key using device 20 is connected to a time stamp server 10 via a communication network 1.
[0011] The time stamp server 10 has a time stamp generation function 11. The time stamp server 10 is connected to a reliable time information source and has a function of providing a time stamp.
[0012] The key using device 20 includes a control unit 21 that controls the entire device, a communication unit 22, a memory 23, an interface unit 24, and a storage unit 25.
[0013] The control unit 21 may be configured by incorporating a required number of central processing units (CPUs), micro-processing units (MPUs), graphics processing units (GPUs), etc. The control unit 21 may also be configured by combining digital signal processors (DSPs), field-programmable gate arrays (FPGAs), etc.
[0014] The communication unit 22 includes a communication module and has a function of communicating with the time stamp server 10. The communication unit 22 may establish a secret communication path on the communication network between the key using device 20 and the time stamp server 10.
[0015] The interface unit 24 provides an interface function with the key management server 50. The key using device 20 can send and receive information to and from the key management server 50 via the interface unit 24.
[0016] The storage unit 25 can be configured, for example, with a hard disk or a semiconductor memory, and stores a computer program 26 (program product) and required information.
[0017] The memory 23 can be configured with semiconductor memory such as a static random access memory (SRAM), a dynamic random access memory (DRAM), a flash memory, etc. A computer program 26 can be loaded into the memory 23, and the control unit 21 can execute the computer program 26. The control unit 21 executes, for example, a mutual authentication function with the key management server 50, a transaction initialization request function to the key management server 50, an encryption processing request function, a time stamp assignment request function to the time stamp server 10, etc.
[0018] The key management server 50 comprises a control unit 51 that controls the entire server, a tamper-resistant memory 52, an authentication function 53, a challenge generation function 54, a verification function 55, a key management function 56, a log generation / recording function 57, and an encryption processing function 58.
[0019] The key management server 50 may be, for example, a device that does not have reliable internal time information and cannot establish a reliable communication path with the time stamp server 10.
[0020] The control unit 51 includes a CPU, a cryptographic processor, a ROM, a RAM, etc. The control unit 51 has, for example, a computer program in the ROM, and can realize an authentication function 53, a challenge generation function 54, a verification function 55, a key management function 56, a log generation / recording function 57, and an encryption processing function 58 by executing the computer program. Note that the authentication function 53, the challenge generation function 54, the verification function 55, the key management function 56, the log generation / recording function 57, and the encryption processing function 58 may be executed by hardware or a combination of hardware and software.
[0021] The tamper-resistant memory 52 stores one or more pieces of key data. The key data is a key value, and can be identified (specified) by a key data specifier.
[0022] The authentication function 53 performs mutual authentication with the key using device 20 .
[0023] The challenge generation function 54 generates a challenge (token challenge) used for token verification. The challenge functions as an identifier for a transaction between the key using device 20 and the key management server 50. The challenge generation function 54 generates a random number or a pseudo-random number, and can use the generated random number or pseudo-random number as the challenge. The challenge is generated so that the value is not the same each time it is generated. The challenge may also include data other than the random number or pseudo-random number, such as an identifier of the key management server 50 or an identifier of the key using device 20.
[0024] The verification function 55 verifies the token. Specifically, the verification function 55 verifies the electronic signature included in the token and the challenge included in the token. The details of the token verification will be described later.
[0025] The key management function 56 manages the key data stored in the tamper-resistant memory 52. Specifically, the key management function 56 determines whether to permit or not to permit access to the key data depending on the result of the verification by the verification function 55. If access to the key data is permitted, the key management function 56 passes the key data to the encryption processing function 58.
[0026] The log generating and recording function 57 generates and records an access log to the key data. The access log is recorded in the tamper-resistant memory 52.
[0027] The cryptographic processing function 58 performs processes using key data (eg, encryption and decryption).
[0028] Next, a key management method by the key management system will be described.
[0029] Fig. 2 is a diagram showing a first example of a processing procedure for key management. The first example shown in Fig. 2 shows a case where the token verification is successful. The key using device 20 and the key management server 50 each perform mutual authentication (S11). After that, it is assumed that the mutual authentication is successful and communication between the key using device 20 and the key management server 50 is performed on a protected and reliable communication path.
[0030] The key using device 20 transmits a transaction initialization request to the key management server 50 (S12). The key management server 50 generates a challenge (token challenge) to be used for token verification, and stores the generated challenge within the key management server 50 (S13). The key management server 50 transmits the generated challenge to the key using device 20 (S14).
[0031] As described above, the control unit 51 performs authentication with the key using device 20, and if the authentication is successful, it can transmit the retained challenge to the key using device 20. This makes it possible to prevent the challenge from being transmitted to an unauthorized key using device.
[0032] The control unit 51 may generate a challenge as a transaction identifier between the key using device 20 and the key management server 50, and may hold the generated challenge. This allows transactions between the key management server 50 and the key using device 20 to be identified by using a different challenge for each transaction.
[0033] The key using device 20 sends a time stamp assignment request including the received challenge and signature request to the time stamp server 10 (S15). The time stamp server 10 assigns a time stamp based on reliable time information (S16) and generates a token (S17).
[0034] 3 is a diagram showing an example of a token generated by the time stamp server 10. The token includes a challenge, time information, and an electronic signature for the challenge and the time information. The challenge is a challenge received from the key using device 20. The time information is reliable time information to which a timestamp is attached. The electronic signature is a signature for the challenge and the time information, which is generated using a timestamp private key held by the timestamp server 10. The key management server 50 holds a timestamp public key that corresponds to the timestamp private key.
[0035] The time stamp server 10 transmits the generated token to the key using device 20 (S18). The key using device 20 receives the token from the time stamp server 10 and transmits an encryption processing request command to the key management server 50 (S19).
[0036] FIG. 4 is a diagram showing an example of an encryption processing request command. The encryption processing request command has a header and a data field. The header stores a command identifier that identifies the type of command. The data field stores a key data usage request and a token. The key data usage request has a key data specifier and processing target data. The key data specifier identifies the key data to be used by the command identified by the command identifier. The processing target data is data to be processed by the command. For example, if the command is a command to perform encryption processing, the processing target data is data to be encrypted. The token is a token received from the time stamp server 10. In this way, the key data usage request includes a key data specifier that specifies key data and processing target data that is to be processed using the key data.
[0037] The key management server 50 receives the encryption processing request command and verifies the token included in the encryption processing request command (S20). In this embodiment, the token is assumed to be verified by verifying an electronic certificate according to the PKI (Public Key Infrastructure) system. That is, the validity of the public key certificate of the time stamp server 10 is verified based on the root CA certificate held by the key management server 50, and then the electronic signature in the token is verified using the time stamp public key. Next, the challenge in the token (the received challenge) is compared with the challenge held by the key management server 50. If the electronic signature verification is successful and the challenge verification is successful, it can be determined that the token verification is successful. If the electronic signature verification or the challenge verification is not successful, it can be determined that the token verification is unsuccessful.
[0038] As described above, the token transmitted by the time stamp server 10 includes the time information and the digital signature for the challenge. The control unit 51 can verify the digital signature by using the public key of the time stamp server 10. This allows the control unit 51 to verify the validity of the token.
[0039] Furthermore, as described above, the control unit 51 can verify the validity of the token by comparing the challenge contained in the token received from the timestamp server 10 via the key using device 20 with a challenge that has been generated and stored in advance.
[0040] In addition, the validity of the token may be verified by comparing the expiration date included in the certificate in the key management server 50 with the time information included in the token, depending on whether the time information included in the token is within the expiration date.
[0041] 2 shows a case where the verification of the token is successful. That is, the key management server 50 determines that the verification of the token is successful (S21). The key management server 50 permits the encryption processing function 58 to access the key data (S22). Specifically, the key management function 56 determines whether to permit or not permit access to the key data depending on the result of the token verification by the verification function 55. If access to the key data is permitted, the key management function 56 passes the key data to the encryption processing function 58.
[0042] The key management server 50 generates a record of access to the key data, and stores (stores) the generated access record in the tamper-resistant memory 52 (S23).
[0043] FIG. 5 is a diagram showing an example of an access log format. FIG. 5 illustrates access logs A to D. The symbols A to D are symbols for distinguishing the formats. Access log A has a format including a key data specifier and time information. Access log B has a format including time information and an electronic signature (electronic signature in a token). Access log C has a format including a key data specifier and a token. In this way, the key management server 50 can generate an access record based on all or part of the token included in the encryption processing request command.
[0044] The access log D has a format including a key data specifier, a token, and transaction information. The transaction information may include, for example, an identifier of a shared key used for mutual authentication between the key management server 50 and the key using device 20, a sequence counter during mutual authentication, and the elapsed time from transaction initialization to generation of an access record, but is not limited to these. Note that if there is only one type of key data, the key data specifier is not necessary.
[0045] As described above, the access record may include all or part of the information included in the token received from the time stamp server 10. The access record may also include part of the information included in the challenge held by the key management server 50 (e.g., an identifier of the key management server 50, an identifier of the key using device 20, etc.).
[0046] The key management server 50 executes encryption processing corresponding to the command on the data to be processed (S24), and transmits the processing result to the key using device 20 as a response to the encryption processing request command (S25). This ends the processing. The processing result includes the target data after encryption processing. The order of the processing of steps S20 to S24 is not limited to the example of FIG. 2, and may be any order. For example, if the "generate and store access record" processing of step S23 is performed before the "verify token" processing of step S20, this provides a certain measure against attacks that disrupt log recording by inflicting a disturbance such as a power cut when token verification fails.
[0047] Fig. 6 is a diagram showing a second example of the processing procedure for key management. The second example shown in Fig. 6 shows a case where the token verification is successful and an access record is returned as a receipt. Steps S31 to S42 in Fig. 6 are similar to steps S11 to S22 in Fig. 2, and therefore a description thereof will be omitted. The key management server 50 generates an access record to the key data (S43), and executes encryption processing corresponding to the command on the data to be processed (S44). The key management server 50 generates a receipt (S45), and transmits the processing result and the receipt to the key using device 20 as a response to the encryption processing request command (S46). This ends the processing.
[0048] FIG. 7 shows an example of the processing result and a receipt. The processing result is data after encryption processing, similar to the first example in FIG. 2. The receipt includes an access log (access record) and a digital signature for the access log. The digital signature can be generated using a private key for the key management server. A status word (such as a code indicating normal completion) may also be returned along with the processing result.
[0049] Fig. 8 is a diagram showing a third example of the processing procedure for key management. The third example shown in Fig. 8 shows a case where token verification has failed. Steps S51 to S60 in Fig. 8 are similar to steps S11 to S20 in Fig. 2, and therefore a description thereof will be omitted. The third example shown in Fig. 8 shows a case where token verification has failed. That is, the key management server 50 determines that token verification has been unsuccessful (S61).
[0050] The key management server 50 does not permit (denies) access to the key data (S62) and generates an access record (S63). Here, the generated access record may be in the format of the access log shown in Fig. 5 with a code indicating that access to the key data has been denied, or may contain only the code indicating that access to the key data has been denied. The key management server 50 transmits a denial response to the key using device 20 as a response to the encryption processing request command (S64). This ends the processing.
[0051] As described above, the control unit 51 transmits the challenge held for token verification to the key using device 20, and based on a timestamp grant request from the key using device 20 to the timestamp server 10 including the challenge, receives a token including the time information and challenge sent by the timestamp server 10, and a key data usage request from the key using device 20, and generates an access record including the time information and recording access to the key data based on the key data usage request.
[0052] With the above-described configuration, even if the key management server 50 is a device that does not have reliable time information internally and cannot establish a reliable communication path with the time stamp server 10, it is possible to include time information in the access record, making it possible to link the access record with the time stamp.
[0053] As described above, the control unit 51 may generate an access record according to the result of the token verification. For example, if the token verification is successful, the control unit 51 may transmit all or part of the access record to the key using device 20 as a receipt. This allows the key using device 20 to grasp the access record.
[0054] (Supplementary Note 1) The key management server has a control unit, which transmits a challenge held for token verification to a key-using device, and receives a token including time information and the challenge sent by the timestamp server and a key data usage request from the key-using device based on a timestamp grant request including the challenge from the key-using device to a timestamp server, and generates an access record including the time information and recording access to key data based on the key data usage request.
[0055] (Supplementary Note 2) In the key management server of Supplementary Note 1, the token sent by the time stamp server includes time information and an electronic signature for a challenge, and the control unit verifies the electronic signature using the public key of the time stamp server.
[0056] (Supplementary Note 3) In the key management server according to Supplementary Note 1 or 2, the control unit verifies the token by comparing a challenge included in the received token with the retained challenge.
[0057] (Supplementary Note 4) In the key management server according to any one of Supplementary Note 1 to Supplementary Note 3, the control unit determines whether to permit or not permit access to the key data depending on a result of verification of the token.
[0058] (Supplementary Note 5) In the key management server according to any one of Supplementary Note 1 to Supplementary Note 4, the control unit generates an access record according to a result of verification of the token.
[0059] (Supplementary Note 6) In the key management server according to any one of Supplementary Note 1 to Supplementary Note 5, when the control unit successfully verifies the token, it transmits all or a part of the access record to the key using device.
[0060] (Supplementary Note 7) In the key management server according to any one of Supplementary Note 1 to Supplementary Note 6, the control unit generates a challenge as a transaction identifier between the key using device and the key management server, and holds the generated challenge.
[0061] (Supplementary Note 8) In the key management server according to any one of Supplementary Note 1 to Supplementary Note 7, the key data use request includes a key data specifier that specifies key data and target data for processing using the key data.
[0062] (Supplementary Note 9) In the key management server of any one of Supplementary Notes 1 to 8, the control unit performs authentication with the key using device, and if the authentication is successful, transmits the retained challenge to the key using device.
[0063] (Supplementary Note 10) In the key management server according to any one of Supplementary Note 1 to Supplementary Note 9, the access record includes all or part of the information contained in the received token.
[0064] (Supplementary Note 11) In the key management server according to any one of Supplementary Note 1 to Supplementary Note 10, the access record includes a portion of the information contained in the retained challenge.
[0065] (Supplementary Note 12) In any one of Supplementary Note 1 to Supplementary Note 11, the key management server is composed of a secure element.
[0066] (Supplementary Note 13) The computer program causes a computer to execute a process of sending a challenge held for token verification to a key-using device, receiving a token including time information and the challenge sent by the time stamp server based on a time stamp grant request from the key-using device to a time stamp server including the challenge, and a key data usage request from the key-using device, and generating an access record including the time information and recording access to key data based on the key data usage request.
[0067] (Appendix 14) A key management system includes a key management server and a key using device, wherein the key management server transmits a challenge held for token verification to the key using device, the key using device transmits a timestamp grant request including the challenge to a timestamp server and receives a token including time information and the challenge transmitted by the timestamp server, and the key management server receives a key data usage request including the token transmitted by the key using device and generates an access record including the time information and recording access to key data based on the key data usage request.
[0068] (Appendix 15) A key management method includes transmitting a challenge held for token verification to a key-using device, receiving a token including time information and the challenge sent by the timestamp server and a key data usage request from the key-using device based on a timestamp grant request from the key-using device to a timestamp server including the challenge, and generating an access record including the time information and recording access to key data based on the key data usage request.
[0069] The matters described in each embodiment can be combined with each other. In addition, the independent claims and dependent claims described in the claims can be combined with each other in any and all combinations regardless of the citation format. Furthermore, the claims use a format in which a claim cites two or more other claims (multiple claim format), but this is not limited to this. A multiple claim (multi-multi claim) that cites at least one multiple claim may also be used. [Explanation of symbols]
[0070] 1. Communication Network 10 Timestamp Server 11 Timestamp generation function 20 Key usage device 21 Control section 22 Communications Department 23 Memory 24 Interface section 25 Memory section 26 Computer Programs 50 Key Management Server 51 Control section 52 Tamper-resistant memory 53 Authentication Function 54 Challenge generation function 55 Verification Function 56 Key management function 57 Log generation and recording function 58 Encryption processing function
Claims
1. A control unit is provided, The control unit is Sending the challenge stored for verifying the token to the key-using device; receiving a token including time information and a challenge transmitted by the time stamp server based on a time stamp grant request including the challenge from the key using device to a time stamp server, and a key data usage request from the key using device; generating an access record including the time information and recording an access to the key data based on the key data use request; Key management server.
2. The token transmitted by the time stamp server includes time information and a digital signature for the challenge, The control unit is verifying the digital signature using the public key of the timestamp server; The key management server of claim 1 .
3. The control unit is verifying the received token by comparing a challenge contained in the received token with the stored challenge; The key management server of claim 1 .
4. The control unit is determining whether to permit or deny access to the key data depending on a result of the verification of the token; The key management server according to claim 3.
5. The control unit is generating an access record responsive to a verification result of the token; The key management server according to claim 3.
6. The control unit is if the token is successfully verified, transmitting all or a portion of the access record to the key-using device; The key management server according to claim 3.
7. The control unit is generating a challenge as a transaction identifier between the key utilizing device and the key utilizing device; Hold the generated challenge, The key management server according to any one of claims 1 to 6.
8. The key data use request is A key data specifier that specifies key data and data to be processed using the key data. The key management server according to any one of claims 1 to 6.
9. The control unit is performing authentication between the key utilizing device and the key utilizing device; If the authentication is successful, transmitting the retained challenge to the key-using device. The key management server according to any one of claims 1 to 6.
10. The access record includes: Contains all or part of the information contained in the received token, The key management server according to any one of claims 1 to 6.
11. The access record includes: a portion of the information contained in the retained challenge; The key management server according to any one of claims 1 to 6.
12. It is made up of a secure element, The key management server according to any one of claims 1 to 6.
13. On the computer, Sending the challenge stored for verifying the token to the key-using device; receiving a token including time information and a challenge transmitted by the time stamp server based on a time stamp grant request including the challenge from the key using device to a time stamp server, and a key data usage request from the key using device; generating an access record including the time information and recording an access to the key data based on the key data use request; A computer program that executes a process.
14. A key management server and a key using device are provided, The key management server includes: Sending a challenge to the key-using device for token verification; The key using device: Sending a time stamp request including the challenge to a time stamp server; receiving a token including time information and a challenge transmitted by the time stamp server; The key management server includes: receiving a key data usage request including the token transmitted by the key using device; generating an access record including the time information and recording an access to the key data based on the key data use request; Key management system.
15. Sending the challenge stored for verifying the token to the key-using device; receiving a token including time information and a challenge transmitted by the time stamp server based on a time stamp grant request including the challenge from the key using device to a time stamp server, and a key data usage request from the key using device; generating an access record including the time information and recording an access to the key data based on the key data use request; Key management method.
Citation Information
Patent Citations
JP2006-2620594A