Issuing system and certificate issuing server
The issuing system automates digital certificate reissuance using a pre-shared key and timestamp server, reducing user burden by eliminating password authentication.
Patent Information
- Application Number
- JP2024556947
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-11-10
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2042-11-10
AI Technical Summary
Reissuing digital certificates places a heavy burden on users due to password authentication requirements.
An issuing system that includes an information processing device and a certificate issuing server, utilizing a pre-shared key and timestamp server to generate and verify signatures within the digital certificate's validity period, allowing automatic issuance without password authentication.
Reduces user burden by eliminating the need for password entry during digital certificate reissuance.
Smart Images

Figure 0007752786000001 
Figure 0007752786000002 
Figure 0007752786000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to an issuing system and a certificate issuing server. [Background technology]
[0002] When performing client authentication in SSL (Secure Sockets Layer) / TLS (Transport Layer Security) communication, a client certificate, which is an electronic certificate of the client device, is used. An expiration date is set for the client certificate. If the expiration date is exceeded, the client certificate becomes invalid. If the client certificate becomes invalid, it must be reissued. Furthermore, if the expiration date is still within the expiration date, the client certificate's expiration date can be renewed based on the SSL / TLS mechanism. However, if the expiration date has passed, the client certificate's expiration date cannot be renewed based on the SSL / TLS mechanism.
[0003] Here, a technology related to digital certificates has been proposed (see Patent Document 1). The device in Patent Document 1 decrypts the encrypted second certificate after the expiration date and time of the first certificate. The first certificate and the second certificate are digital certificates that certify the device. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 6907111 Summary of the Invention [Problem to be solved by the invention]
[0005] When a digital certificate is reissued, password authentication is performed to authenticate the device. In password authentication, the user must enter a password. Therefore, reissuing a digital certificate places a heavy burden on the user.
[0006] The purpose of the present disclosure is to reduce the burden on users. [Means for solving the problem]
[0007] According to one aspect of the present disclosure, there is provided an issuing system. The issuing system includes an information processing device that communicates with a timestamp server and stores a digital certificate, a private key associated with the digital certificate, and a pre-shared key, and a certificate issuing server that stores the pre-shared key. The information processing device generates a signature based on the private key and the pre-shared key within the validity period of the digital certificate, sends a timestamp generation instruction to the timestamp server, receives the timestamp from the timestamp server, and, after the validity period has expired, sends the signature and the timestamp to the certificate issuing server. The certificate issuing server verifies the signature and the timestamp using a public key corresponding to the private key. If it is proven that the pre-shared key was stored in the information processing device and that the signature was generated within the validity period, it issues a digital certificate and sends the issued digital certificate to the information processing device. [Effects of the Invention]
[0008] According to the present disclosure, the burden on the user can be reduced. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a diagram illustrating an issuing system according to a first embodiment. [Figure 2] FIG. 2 is a diagram illustrating hardware included in a client device according to the first embodiment. [Figure 3] 1 is a sequence diagram (part 1) illustrating an example of processing executed in the issuing system of the first embodiment. [Figure 4] FIG. 2 is a sequence diagram (part 2) illustrating an example of processing executed in the issuing system according to the first embodiment. [Figure 5] FIG. 10 is a diagram illustrating an issuing system according to a second embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments will be described with reference to the drawings. The following embodiments are merely examples, and various modifications are possible within the scope of the present disclosure.
[0011] Embodiment 1 1 is a diagram showing an issuing system according to embodiment 1. The issuing system includes a client device 100, a certificate issuing server 200, and a timestamp server 300. The client device 100, the certificate issuing server 200, and the timestamp server 300 communicate with each other via a network 10.
[0012] The client device 100 may be expressed as an information processing device. The client device 100 may be located in a remote location geographically separated from the certificate issuing server 200. FIG. 1 shows a case where one client device is connected to one certificate issuing server. The certificate issuing server 200 may be connected to multiple client devices. There is no particular restriction on the structure of the network between the multiple client devices and the certificate issuing server 200.
[0013] The certificate issuing server 200 is a server that issues client certificates. Above the digital certificate, there may be a CA certificate and a root certificate signed by an external third-party server.
[0014] The timestamp server 300 is a server that generates timestamps.
[0015] Next, the hardware included in the client device 100 will be described. 2 is a diagram showing hardware included in the client device according to Embodiment 1. The client device 100 includes a processor 101, a volatile storage device 102, and a non-volatile storage device 103.
[0016] The processor 101 controls the entire client device 100. For example, the processor 101 is a central processing unit (CPU) or a field programmable gate array (FPGA). The processor 101 may be a multiprocessor. The client device 100 may also include a processing circuit.
[0017] The volatile storage device 102 is a main storage device of the client device 100. For example, the volatile storage device 102 is a random access memory (RAM). The nonvolatile storage device 103 is a secondary storage device of the client device 100. For example, the nonvolatile storage device 103 is a hard disk drive (HDD) or a solid state drive (SSD).
[0018] The certificate issuing server 200 and the timestamp server 300 include a processor, a volatile storage device, and a non-volatile storage device, similar to the client device 100. The certificate issuing server 200 and the timestamp server 300 may include a processing circuit.
[0019] Returning to FIG. 1, the functions of the client device 100, the certificate issuing server 200, and the timestamp server 300 will be described. The client device 100 includes a storage unit 110 , an acquisition unit 120 , a generation unit 130 , a communication unit 140 , a verification unit 150 , and a combination unit 160 .
[0020] The storage unit 110 may be realized as a storage area secured in the volatile storage device 102 or the non-volatile storage device 103 . Some or all of the acquiring unit 120, generating unit 130, communicating unit 140, verifying unit 150, and combining unit 160 may be realized by a processing circuit. Also, some or all of the acquiring unit 120, generating unit 130, communicating unit 140, verifying unit 150, and combining unit 160 may be realized as program modules executed by the processor 101.
[0021] The storage unit 110 includes a key storage unit 111, a certificate storage unit 112, a timestamp storage unit 113, and a data set storage unit 114. The key storage unit 111 stores a client private key. The information stored in the certificate storage unit 112, the timestamp storage unit 113, and the data set storage unit 114 will be described later. The functions of the acquisition unit 120, the generation unit 130, the communication unit 140, the verification unit 150, and the combination unit 160 will be described in detail later.
[0022] The certificate issuing server 200 includes a storage unit 210 , a communication unit 220 , a verification unit 230 , and an issuing unit 240 . The storage unit 210 may be realized as a storage area secured in a volatile storage device or a non-volatile storage device that the certificate issuing server 200 has. Some or all of the communication unit 220, the verification unit 230, and the issuance unit 240 may be realized by a processing circuit included in the certificate issuing server 200. Furthermore, some or all of the communication unit 220, the verification unit 230, and the issuance unit 240 may be realized as program modules executed by a processor included in the certificate issuing server 200. The information stored in the storage unit 210 will be explained later. The functions of the communication unit 220, the verification unit 230, and the issuance unit 240 will be explained in detail later.
[0023] The timestamp server 300 includes a storage unit 310 and a generation unit 320 . The storage unit 310 may be realized as a storage area secured in a volatile storage device or a non-volatile storage device that the timestamp server 300 has. A part or all of the generating unit 320 may be realized by a processing circuit included in the timestamp server 300. Also, a part or all of the generating unit 320 may be realized as a program module executed by a processor included in the timestamp server 300. The private key may be stored in the storage unit 310. The function of the generation unit 320 will be described in detail later.
[0024] Next, the processing executed in the issuing system will be described using a sequence diagram. FIG. 3 is a sequence diagram (part 1) illustrating an example of processing executed in the issuing system according to the first embodiment.
[0025] The key storage unit 111 of the client device 100 and the storage unit 210 of the certificate issuing server 200 store the same private key. For example, when the client device 100 is shipped, the private key is stored in the key storage unit 111 and the storage unit 210. In this way, the private key is stored in the client device 100 and the certificate issuing server 200 before subsequent processing is performed. For this reason, the private key is called a pre-shared key (PSK). The private key may also be stored in a storage device such as a dongle.
[0026] Furthermore, the certificate storage unit 112 stores client certificates that are within their expiration dates. That is, the certificate storage unit 112 stores client certificates that have not yet expired. The client certificates may be stored in a storage device such as a dongle.
[0027] (Step ST101) The acquisition unit 120 of the client device 100 acquires a PSK as data to be signed. (Step ST102) The generation unit 130 of the client device 100 generates a signature based on the client private key and the data to be signed. Specifically, the generation unit 130 calculates a hash value using the data to be signed and a hash function. The generation unit 130 encrypts the hash value using the client private key. As a result, the encrypted hash value is generated as a signature. Here, the client private key may be expressed as a private key related to the client certificate. The validity of the signature can be confirmed using the client public key corresponding to the client private key.
[0028] (Step ST103) The communication unit 140 of the client device 100 transmits a timestamp generation instruction to the timestamp server 300. When transmitting the generation instruction, the communication unit 140 also transmits the hash value or the signature to the timestamp server 300. (Step ST104) The generation unit 320 of the timestamp server 300 generates a timestamp based on the generation instruction. For example, the generation unit 320 generates a timestamp based on time information and the hash value or the signature. (Step ST105) The timestamp server 300 transmits the timestamp to the client device 100.
[0029] (Step ST106) Communication unit 140 of client device 100 receives the timestamp from timestamp server 300. The verification unit 150 of the client device 100 verifies the validity of the timestamp. For example, the verification unit 150 compares the hash value corresponding to the timestamp with the hash value calculated in step ST102. If the hash values match, the validity of the timestamp is confirmed. If the validity is confirmed, the verification unit 150 stores the timestamp in the timestamp storage unit 113. Note that the timestamp may also be expressed as information that certifies the timing at which the signature was generated.
[0030] If the validity is confirmed, the verification unit 150 deletes the PSK. In this way, the client device 100 deletes the PSK by itself, thereby reducing the risk of the PSK being leaked. Also, the management costs of the issuing system are reduced.
[0031] (Step ST107) The acquisition unit 120 of the client device 100 acquires data to be combined. The data to be combined is data that can be made public. For example, the data to be combined is time information. (Step ST108) The combining unit 160 of the client device 100 combines the data to be combined with the signature. As a result, the client device 100 can obtain one set including the data to be combined and the signature. The combining unit 160 stores the set in the data set storage unit 114.
[0032] The client device 100 and the timestamp server 300 repeat steps ST102 to 108. The data to be signed used in step ST102, which is executed after step ST108, is the data to be combined acquired in step ST107. Steps ST101 to 108 are executed within the validity period of the client certificate.
[0033] This allows the client device 100 to obtain multiple combinations (i.e., multiple sets) and multiple timestamps. In other words, the client device 100 can obtain multiple combinations of data to be combined and multiple signatures, and multiple timestamps.
[0034] FIG. 4 is a sequence diagram (part 2) illustrating an example of processing executed in the issuing system according to the first embodiment. (Step ST111) After the validity period of the client certificate has expired, the generation unit 130 of the client device 100 generates a CSR (Certificate Signing Request). (Step ST112) The communication unit 140 of the client device 100 transmits the CSR, a plurality of combinations (that is, a plurality of sets), and a plurality of timestamps to the certificate issuing server 200. (Step ST113) The communication unit 220 of the certificate issuing server 200 receives the CSR, the multiple combinations, and the multiple timestamps.
[0035] (Step ST114) The verification unit 230 of the certificate issuing server 200 verifies the multiple signatures included in the multiple combinations. The verification will be explained in detail. First, the verification of the first generated signature will be explained. The verification unit 230 calculates a hash value using the PSK stored in the storage unit 210 and a hash function. The verification unit 230 decrypts the signature using the client public key. This allows the certificate issuing server 200 to obtain the hash value. The verification unit 230 compares the calculated hash value with the hash value obtained by decryption. If the hash values match, the authenticity is confirmed.
[0036] The client public key is a public key corresponding to the client private key. The client public key may be stored in the storage unit 210. The client public key may be stored in an external device. If the client public key is stored in the external device, the verification unit 230 obtains the client public key from the external device and uses the client public key.
[0037] Next, signatures other than the first one generated are verified using the following method. The verification unit 230 calculates a hash value using the combination target data associated with the verified signature and a hash function. The verification unit 230 decrypts the signature generated after the verified signature using the client public key. This allows the certificate issuing server 200 to obtain the hash value. The verification unit 230 compares the calculated hash value with the hash value obtained by decryption. If the hash values match, the authenticity is confirmed.
[0038] This allows the verification unit 230 to verify multiple signatures. Here, verification of the signature generated first proves that the same PSK as the PSK stored in the certificate issuing server 200 was stored in the client device 100. In addition, a client private key is used for the signature. The signature is generated within the validity period of the client certificate. Therefore, it is proven that the client private key corresponding to the valid client certificate was stored in the client device 100 during the period for which the signature was generated.
[0039] The verification unit 230 verifies multiple timestamps for the expiration date. The method of verifying the timestamps is the same as that in step ST106. Therefore, a description thereof will be omitted. In this way, verification of the timestamps proves that the signature was generated within the expiration date.
[0040] In simple terms, the verification performed by the verification unit 230 is to confirm the identity of the client device 100 to which the client certificate is issued, as will be described later.
[0041] (Step ST115) If it is proven that the PSK was stored in the client device 100 and that the signature was generated within the validity period, the issuing unit 240 of the certificate issuing server 200 issues a client certificate with a signature. Note that the signature is generated using the server private key stored in the storage unit 210. (Step ST116) The communication unit 220 of the certificate issuing server 200 transmits the signed client certificate to the client device 100. (Step ST117) The verification unit 150 of the client device 100 verifies the signature using the server public key. When the verification is complete, the verification unit 150 stores the client certificate in the certificate storage unit 112. In addition, the verification unit 150 deletes the old client certificate.
[0042] Furthermore, before performing verification, the certificate issuing server 200 may determine whether the validity period of the client certificate has expired, and if the validity period has expired, the certificate issuing server 200 performs verification.
[0043] In step ST112, a case has been described in which a CSR, multiple combinations, and multiple timestamps are transmitted. Depending on the timing, steps ST101 to ST108 may not be repeated. If no repetition occurs, communication unit 140 of client device 100 transmits a CSR, one combination (i.e., one set), and one timestamp to certificate issuing server 200.
[0044] In step ST112, the case where the CSR or the like is transmitted after the validity period of the client certificate has expired has been described. However, the communication unit 140 of the client device 100 may transmit the CSR or the like before the validity period expires.
[0045] In step ST115, a case where a client certificate with a signature is issued has been described. A client certificate without a signature may also be issued.
[0046] According to the first embodiment, when a digital certificate is reissued, the issuing system automatically issues a digital certificate. That is, the issuing system does not perform password authentication. Therefore, the user does not need to enter a password. Therefore, the issuing system can reduce the burden on the user.
[0047] Embodiment 2 Next, a description will be given of embodiment 2. In embodiment 2, differences from embodiment 1 will be mainly described. Furthermore, in embodiment 2, description of matters common to embodiment 1 will be omitted.
[0048] In the first embodiment, multiple timestamps are stored in the client device 100. The client device 100 then transmits all of the timestamps to the certificate issuing server 200. Since all of the timestamps are transmitted in this manner, the amount of data transmitted is large. Furthermore, since all of the timestamps are transmitted, the load of the timestamp verification process performed by the certificate issuing server 200 is large. Therefore, in the second embodiment, the number of timestamps is reduced.
[0049] FIG. 5 is a diagram illustrating an issuing system according to the second embodiment. The client device 100 further includes a deletion unit 170. A part or all of the deletion unit 170 may be realized by a processing circuit. Alternatively, a part or all of the deletion unit 170 may be realized as a module of a program executed by the processor 101.
[0050] The deletion unit 170 reduces the number of timestamps stored in the timestamp storage unit 113. For example, the deletion unit 170 reduces the number of timestamps when a deletion instruction is received through a user input operation. Furthermore, the deletion unit 170 deletes a predetermined number of timestamps when the number of timestamps exceeds a predetermined threshold. Furthermore, for example, the deletion unit 170 deletes all timestamps except for the timestamp generated at the earliest time and the timestamp generated at the latest time among the multiple timestamps stored in the timestamp storage unit 113. In this way, the number of timestamps is reduced.
[0051] In step ST112, communication unit 140 of client device 100 transmits the CSR, the multiple combinations (i.e., multiple sets), and all the timestamps stored in timestamp storage unit 113 to certificate issuing server 200. In other words, communication unit 140 of client device 100 transmits the CSR, all the sets stored in data set storage unit 114, and all the timestamps stored in timestamp storage unit 113 to certificate issuing server 200.
[0052] In step ST113, the verification unit 230 of the certificate issuing server 200 verifies the signature. If there is no timestamp corresponding to the signature, the verification process for the expiration date of the client certificate is skipped.
[0053] Furthermore, in verifying timestamps, the verification unit 230 may exclude timestamps whose expiration dates have significantly passed from the verification target.
[0054] According to the second embodiment, the number of timestamps is reduced, which reduces the amount of data transmitted to the certificate issuing server 200. Also, the load of the timestamp verification process on the certificate issuing server 200 is reduced.
[0055] The features of the above-described embodiments can be combined with each other as appropriate.
[0056] The above describes the case where a client certificate is issued. The first and second embodiments can be applied to the case where a server certificate is issued. When a server certificate is issued, the client device 100 is replaced with a server. The server is also called an information processing device. [Explanation of symbols]
[0057] 10 network, 100 client device, 101 processor, 102 volatile storage device, 103 non-volatile storage device, 110 storage unit, 111 key storage unit, 112 certificate storage unit, 113 timestamp storage unit, 114 dataset storage unit, 120 acquisition unit, 130 generation unit, 140 communication unit, 150 verification unit, 160 combination unit, 170 deletion unit, 200 certificate issuing server, 210 storage unit, 220 communication unit, 230 verification unit, 240 issuing unit, 300 certificate issuing server, 310 storage unit, 320 generation unit.
Claims
1. an information processing device that communicates with a timestamp server and stores a digital certificate, a private key associated with the digital certificate, and a pre-shared key; a certificate issuing server that stores the pre-shared key; Including, The information processing device includes: generating a signature based on the private key and the pre-shared key within the validity period of the digital certificate, sending an instruction to generate a timestamp to the timestamp server, and receiving the timestamp from the timestamp server; After the expiration date has passed, sending the signature and the timestamp to the certificate issuing server; The certificate issuing server verifying the signature and verifying the timestamp using a public key corresponding to the private key; if it is proven that the pre-shared key was stored in the information processing device and that the signature was generated within the expiration date, an electronic certificate is issued and the issued electronic certificate is transmitted to the information processing device; Issuance system.
2. The information processing device includes: deleting the pre-shared key after the signature is generated; The issuing system of claim 1 .
3. The information processing device includes: After the signature is generated, generating signatures is repeated based on the private key and the data, and each time the signature is generated, an instruction to generate a timestamp is sent to the timestamp server, thereby receiving a plurality of timestamps; Reduce the number of timestamps, After the expiration date has passed, all of the generated signatures, the data used to generate the signatures, and all of the timestamps stored in the information processing device are transmitted to the certificate issuing server. The issuing system according to claim 1 or 2.
4. a certificate issuing server that communicates with an information processing device that stores a digital certificate, a private key related to the digital certificate, and a pre-shared key; a storage unit that stores the pre-shared key; a communication unit that receives the signature and timestamp transmitted by the information processing device; a verification unit that verifies the signature and the timestamp using a public key corresponding to the private key; an issuing unit that issues a digital certificate when it is proven that the pre-shared key was stored in the information processing device and that the signature was generated within the validity period of the digital certificate; and the signature is generated based on the private key and the pre-shared key within the expiration date; The timestamp is information that proves the timing at which the signature was generated, When a digital certificate is issued, the communication unit transmits the issued digital certificate to the information processing device. Certificate issuing server.
Citation Information
Patent Citations
Communication system
JP2008042753A
Information processor and data transfer method for it
JP2008226146A
Timestamp server, verification device, time stamp expiration date extension program, and verification program
JP2018129563A
Digital certificate management system and digital certificate management method
JP6907111B2