Program, information processing device, and method
The program simplifies digital signature verification by using encrypted hash values and public keys, reducing data traffic and errors in signature verification.
Patent Information
- Application Number
- JP2023209692
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-12-12
- Publication Date
- 2025-12-04
- Estimated Expiration
- 2041-06-30
AI Technical Summary
Conventional digital signature verification methods require users to manually download and verify digital signatures on their devices, leading to increased data traffic, inconvenience, and potential mistakes in signature verification, especially when multiple signatures are involved.
A program that operates on a computer to receive and verify an encrypted hash value using a user's private key and public key, allowing easy verification of electronic signatures on documents without the need for users to download or manually manage public key certificates.
Enables users to easily verify electronic signatures directly on documents stored on a server, reducing data traffic and minimizing verification errors.
Smart Images

Figure 0007780498000001 
Figure 0007780498000002 
Figure 0007780498000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, an information processing device, and a method. [Background technology]
[0002] Conventionally, there are techniques for verifying a digital signature attached to a digital contract. Patent Document 1 describes an authentication system in which a signer's digital signature generation device generates a digital signature for a digital document to be distributed, and a user's digital signature verification device verifies the authenticity of the digital document using the digital signature, wherein the digital signature generation device is provided with: signature generation means for encrypting digest information for checking tampering of the digital document with the signer's private key to generate a digital signature; and packaging means for packaging at least the digital document, a public key certificate including a public key corresponding to the private key, the digital signature created by the signature generation means, image information visually expressing the digital signature, and position information for displaying the image information on the digital document into a single electronic file; and the digital signature verification device is provided with: package extraction means for extracting the digital document, public key certificate, digital signature, image information, and position information from the packaged electronic file; signature verification means for verifying the digital signature using the public key certificate extracted by the package extraction means; digital document display means for displaying a digital document according to the verification result of the signature verification means; and image compositing means for compositing the image information extracted by the package extraction means at a specified position within the digital document. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Japanese Patent Application Laid-Open No. 2004-064151 Summary of the Invention [Problem to be solved by the invention]
[0004] However, with conventional technology, users must verify digital signatures digitally signed on documents such as contracts on their own devices. Downloading digital signatures from the cloud to a user's device increases the amount of data traffic depending on the size of the document. Furthermore, the user must download the digital signatures themselves, which is inconvenient for the user. Furthermore, if multiple digital signatures are downloaded, the user may mistake one digital signature for another and verify the wrong one.
[0005] Even if the user did not make a mistake, the conventional technology required the user to prepare verification software and a terminal capable of using the software. Furthermore, when verifying a digital signature, the user had to perform a complex procedure of importing the public key certificate of a CA (certification authority) into the software and then verifying the digital signature.
[0006] Therefore, the present disclosure provides a technique that allows a user to easily verify a digital signature attached to a document. [Means for solving the problem]
[0007] The program disclosed herein is a program for operating a computer that has a processor and that performs at least one of creating and managing documents intended to express or notify a user's intentions, and the program causes the processor to execute the following steps: receiving an encrypted hash value obtained by encrypting a hash value of the document using the user's private key, and a public key corresponding to the private key, from a first terminal operated by the user; verifying whether the encrypted hash value is valid as the user's electronic signature for the contract based on the hash value of the document calculated in advance, the encrypted hash value, and the public key; and presenting the verification result to the user or a user of the other terminal by sending the verification result to the first terminal or another terminal. [Effects of the Invention]
[0008] According to the present disclosure, a user can easily verify an electronic signature attached to a document. [Brief explanation of the drawings]
[0009] [Figure 1] 1 is a diagram showing the overall configuration of an information processing system 1. FIG. [Figure 2] 1 is a diagram illustrating a configuration of an information processing device 10. FIG. [Figure 3] FIG. 1 is a diagram illustrating a functional configuration of an information processing device 10. [Figure 4] FIG. 2 is a diagram illustrating an example of the data structure of a document DB. [Figure 5] FIG. 2 is a diagram illustrating a functional configuration of a first terminal. [Figure 6] FIG. 10 is a diagram illustrating an example of a document confirmation screen. [Figure 7] FIG. 10 is a diagram illustrating an example of a document confirmation screen. [Figure 8] FIG. 10 is a diagram illustrating an example of a completion screen. [Figure 9] FIG. 10 is a diagram illustrating an example of a verification result display screen. [Figure 10] FIG. 10 is a diagram illustrating an example of a verification result display screen. [Figure 11] 10 is a flowchart showing a process in which the information processing device 10 assigns a digital signature. [Figure 12] 10 is a flowchart showing a process in which the first terminal 20 assigns a digital signature. [Figure 13] 10 is a flowchart showing a verification process performed by the information processing device 10. DETAILED DESCRIPTION OF THE INVENTION
[0010] Hereinafter, embodiments of the present disclosure will be described with reference to the drawings. In the following description, the same components are denoted by the same reference numerals. The names and functions of the components are also the same. Therefore, detailed descriptions thereof will not be repeated.
[0011] <Summary of this disclosure> The present disclosure describes a program, an information processing device, and a method for adding an electronic signature to a document in an information processing system that creates and / or manages documents intended to express or notify a user. The present disclosure also describes a program, etc. for verifying an electronic signature added to a document in an information processing system that creates and / or manages documents intended to express or notify a user.
[0012] <1. Configuration of Information Processing System 1> An information processing system 1 according to the present disclosure will be described with reference to Fig. 1. The information processing system 1 according to the present disclosure manages documents intended to express or notify a user's intention, and affixes a digital signature to the document. The information processing system 1 also verifies the digital signature affixed to the document.
[0013] 1 is a diagram showing the configuration of an information processing system 1. The information processing system 1 includes an information processing device 10, a first terminal 20, a tamper-resistant device 30, a second terminal 40, a CA 50, and a network 60.
[0014] The information processing device 10 creates and manages documents intended to express or notify the user's intentions, as will be described in detail later.
[0015] The first terminal 20 is a terminal operated by a user, and will be described in detail later.
[0016] The tamper-resistant device 30 is a card-type device including an IC chip. Examples of the tamper-resistant device 30 include a My Number card and a transportation IC card. The IC chip stores a user's private key, public key, public key certificate, etc. in advance. The IC chip is tamper-resistant. The IC chip also has a function of transmitting the result of encrypting received data using the private key. The tamper-resistant device 30 also has a function of transmitting the public key corresponding to the private key and the public key certificate.
[0017] The second terminal 40 is a terminal operated by a user or a third party. The second terminal 40 is, for example, a computer such as a laptop computer, a desktop computer, a smartphone, or a tablet terminal. The CA 50 is a certification authority.
[0018] The first terminal 20, the second terminal 40, and the CA 50 are configured to be able to communicate with each other via a network 60. The first terminal 20 and the tamper-resistant device 30 are also configured to be able to communicate with each other by contact communication, short-range wireless communication, or the like.
[0019] <1.1. Configuration of information processing device 10> 2 and 3, the information processing device 10 will be described. The information processing device 10 is, for example, a laptop computer or a rack-mounted or tower computer. The information processing device 10 may be configured with a plurality of information processing devices 10. The method of allocating the plurality of functions required to realize the information processing system 1 can be determined appropriately in consideration of the processing capacity of each piece of hardware, the specifications required for the information processing system 1, etc.
[0020] 2 is a diagram showing the configuration of the information processing device 10. The information processing device 10 includes a processor 11, a memory 12, a storage 13, a communication IF 14, and an input / output IF 15.
[0021] The processor 11 is hardware for executing an instruction set written in a program, and is composed of an arithmetic unit, a register, a peripheral circuit, and the like.
[0022] The memory 12 is for temporarily storing programs and data to be processed by the programs, and is a volatile memory such as a DRAM (Dynamic Random Access Memory).
[0023] The storage 13 is a storage device for saving data, such as a flash memory, a hard disc drive (HDD), or a solid state drive (SSD).
[0024] The communication IF 14 is an interface for inputting and outputting signals so that the information processing device 10 can communicate with external devices. The communication IF 14 is connected to a network 60 such as the Internet or a wide area Ethernet by wire or wirelessly.
[0025] The input / output IF 15 functions as an interface with an input device (for example, a pointing device such as a mouse, a keyboard) for receiving an input operation, and an output device (for example, a display, a speaker, etc.) for presenting information.
[0026] 3 is a block diagram showing the functional configuration of the information processing device 10. As shown in FIG.
[0027] The communication unit 110 performs processing for the information processing device 10 to communicate with external devices.
[0028] The storage unit 120 stores data and programs used by the information processing device 10. The storage unit 120 stores a document DB 121 and the like.
[0029] The document DB 121 is a database that stores information about user documents. Fig. 4 is a diagram showing an example of the data structure of the document DB 121. As shown in Fig. 4, the document DB 121 includes an item "document ID", an item "document name", an item "sender / receiver", an item "hash value", an item "digital signature", an item "public key certificate / expiration date", an item "digital signature verification result", etc.
[0030] The item "Document ID" is information for identifying a document. The document disclosed herein is a document that contains the information necessary for a user to express an intention, notify an intention, or notify an idea. The document may relate to, for example, an application form in an administrative procedure, a unilateral act such as a will, a joint act by multiple users, a contract with a counterparty, etc. The document may also be a document concluded by electronic contract. If the document is digitized, it may be text data or image data.
[0031] The item "document name" is the name of the document. The document name is given by, for example, the user.
[0032] The item "sender / receiver" is information that identifies the person who sent the document to the information processing device 10 and the person who received the document from the information processing device 10. The sender is, for example, the user who created the document. When the user sends the document to the information processing device 10 and the document is managed by the information processing device 10, the user ID of the user is stored in the sender. The recipient is, for example, a party, agent, participant, etc. to a contract, joint act, etc. regarding the document. The recipient is set in advance by the sender.
[0033] The "hash value" item is the hash value of the document. Specifically, the hash value is a value calculated using the document, a random number, and a specified hash function. Note that the hash value may also be another digest value (for example, a digest value obtained by MD5).
[0034] The item "electronic signature" is the electronic signature given to the document.
[0035] The item "Public Key Certificate / Expiration Date" is the certificate of the public key corresponding to the private key used in the electronic signature attached to the document and its expiration date.
[0036] The item "digital signature verification result" is the result of verifying the digital signature.
[0037] The control unit 130 performs the functions shown in the reception control unit 131, transmission control unit 132, calculation unit 133, signature unit 134, viewing unit 135, verification unit 136, and presentation unit 137 by the processor 11 of the information processing device 10 performing processing according to a program.
[0038] The reception control unit 131 controls the process in which the information processing device 10 receives a signal from an external device in accordance with a communication protocol.
[0039] The transmission control unit 132 controls the process in which the information processing device 10 transmits a signal to an external device in accordance with a communication protocol.
[0040] The calculation unit 133 calculates a hash value of the document. Specifically, the calculation unit 133 calculates the hash value of the document using a predetermined hash function. The calculation unit 133 causes the transmission control unit 132 to transmit the calculated hash value to the first terminal 20.
[0041] The signature unit 134 assigns the encrypted hash value received from the first terminal to the document as the user's digital signature. Specifically, the signature unit 134 acquires the encrypted hash value, which the reception control unit 131 has received from the first terminal and which is obtained by encrypting the hash value of the document with the private key used for the user's signature, and the public key corresponding to the private key.
[0042] Next, signature unit 134 verifies the validity of the encrypted hash value based on the hash value of the document, the encrypted hash value, and the public key corresponding to the private key. More specifically, signature unit 134 verifies the validity by comparing a decrypted hash value obtained by decrypting the encrypted hash value using the public key with the hash value of the document calculated by calculation unit 133. If the decrypted hash value matches the hash value of the document, signature unit 134 determines that the encrypted hash value is valid. Note that signature unit 134 may be configured to receive a public key certificate from first terminal 20 and verify the validity of the public key together with the expiration date of the public key. In this case, signature unit 134 may be configured to perform the verification using verification unit 136, which will be described later.
[0043] If the authenticity of the encrypted hash value is recognized, signing unit 134 assigns the encrypted hash value to the document as the user's digital signature. Furthermore, signing unit 134 causes transmission control unit 132 to transmit the result of the digital signature assignment to first terminal 20.
[0044] In response to receiving a request for a document from a requesting terminal, viewing unit 135 allows the requesting terminal to view the document to which the electronic signature has been affixed. Specifically, viewing unit 135 accepts a request for a document from the requesting terminal. In response to the request, viewing unit 135 allows the requesting terminal to temporarily save the document to the memory of the terminal if an application for viewing the document to which the electronic signature has been affixed is running. However, viewing unit 135 does not allow the document to be saved to the memory of the requesting terminal if the application is not running.
[0045] More specifically, the viewing unit 135 first accepts a request for a document, such as a request to view a document, from a requesting terminal by the reception control unit 131. The requesting terminal is, for example, the first terminal 20, the second terminal 40, etc. The viewing unit 135 performs authentication or the like on the requesting terminal to confirm whether the requesting terminal has authority for the requested document.
[0046] If the requesting terminal has the authority, the viewing unit 135 transmits viewing data for the electronically signed document to the requesting terminal, thereby allowing the requesting terminal to view the document. At this time, the viewing unit 135 allows the requesting terminal to view the electronically signed document but does not allow the document to be saved. The requesting terminal displays the viewing data for the document using a specific application. The viewing data can be displayed in the specific application, but cannot be downloaded or edited in the specific application. The functionality of such an application can be realized, for example, by a mechanism for sharing files with only viewing permissions for documents managed on a cloud, or a mechanism for allowing PDF files to be viewed in a browser but not downloaded. To not allow such saving, the viewing unit 135 checks whether the request is made via the specific application when checking whether the requesting terminal has the authority for the requested document. To not allow such saving, the viewing unit 135 may also check whether the specific application is running on the requesting terminal. Note that the viewing unit 135 may be configured to permit viewing of the document even if the specific application is not currently running, if the specific application is in an executable state.
[0047] Furthermore, if an alert indicating that the validity period of the public key, which will be described later, is approaching is set, the viewing unit 135 displays the alert on the terminal that has made the request.
[0048] The verification unit 136 verifies whether the encrypted hash value is valid as the user's digital signature for the document, based on a hash value of the document calculated in advance, an encrypted hash value that is the digital signature assigned to the document, and a public key corresponding to the private key used to encrypt the encrypted hash value. Specifically, the verification unit 136 performs three verifications: (1) verification of the validity of the digital signature, (2) verification of the validity of the public key, and (3) verification of the validity of the public key. The verification unit 136 starts verification, for example, when the reception control unit 131 receives a verification request from a terminal operated by a user requesting verification. The terminal operated by the user requesting verification is, for example, the first terminal 20, the second terminal 40, or the like. The verification request is transmitted from the terminal operated by the user requesting verification to the information processing device 10 by operating a screen for executing verification displayed on the terminal operated by the user requesting verification.
[0049] (1) Verifying the validity of the electronic signature The verification unit 136 verifies the validity of the electronic signature by comparing a pre-calculated hash value of the document with a hash value obtained by decrypting the encrypted hash value using a public key. Specifically, the verification unit 136 obtains, from the document DB 121, an encrypted hash value obtained by encrypting the hash value of the document using the user's private key, and a public key corresponding to the private key. The verification unit 136 also obtains the hash value of the document from the document DB 121. Next, the verification unit 136 decrypts the encrypted hash value using the public key. If the pre-calculated hash value of the document matches the decrypted hash value obtained by decrypting the encrypted hash value, the verification unit 136 determines that the electronic signature is valid. On the other hand, if they do not match, the verification unit 136 determines that the electronic signature is invalid.
[0050] (2) Verifying the validity of the public key The verification unit 136 verifies the validity of a public key. Specifically, the verification unit 136 determines that a public key is valid if the public key certificate for the public key is within its validity period and the public key is not listed in a certificate revocation list (CRL), or if the result of an online certificate revocation check (OCSP: Online Certificate Status Protocol) is valid.
[0051] More specifically, the verification unit 136 obtains the public key certificate stored in association with the digital signature from the document DB 121. The verification unit 136 calculates the remaining period until the expiration date of the public key certificate at the time of verification. If the remaining period is positive, the verification unit 136 determines that the public key certificate for the public key is within its expiration date. If the remaining period is positive and is equal to or less than a predetermined threshold, the verification unit 136 sets an alert to the user who signed the digital signature, indicating that the expiration date of the public key is approaching. The threshold can be any value, such as 30 days, 60 days, or 6 months.
[0052] The verification unit 136 also obtains a pre-stored certificate revocation list (CRL) from the storage unit 120. The verification unit 136 verifies whether the public key is described by searching the CRL. The verification unit 136 may be configured to obtain the CRL by receiving it from a trusted server that issues the CRL via the network 60. The verification unit 136 may also be configured to periodically obtain the CRL from the trusted server. The verification unit 136 may also be configured to check the revocation status of the certificate online via the network 60. In this case, the verification unit 136 checks the revocation status of the certificate using, for example, OCSP.
[0053] (3) Verifying the validity of the public key The verification unit 136 verifies that the public key of the user who digitally signed the document was issued by a legitimate certificate authority. Specifically, the verification unit 136 obtains a public key for decrypting the digital signature of the public key certificate from the CA 50 included in the public key certificate. The verification unit 136 decrypts the digital signature of the public key certificate using the obtained public key of the CA 50. The verification unit 136 determines the legitimacy of the user's public key by verifying the decrypted digital signature.
[0054] The presentation unit 137 presents the verification result to the user requesting verification by transmitting the verification result to the terminal operated by the user requesting verification. Specifically, the presentation unit 137 presents the verification result to the user requesting verification by transmitting the verification results of (1) verification of the legitimacy of the electronic signature, (2) verification of the validity of the public key, and (3) verification of the legitimacy of the public key by the verification unit 136 to the terminal operated by the user requesting verification. Furthermore, if the above alert is set, the presentation unit 137 presents the verification result together with an alert indicating that the expiration date of the public key is approaching to the user requesting verification.
[0055] <1.2. Configuration of the first terminal 20> The first terminal 20 will be described with reference to Figures 2 and 5. The first terminal 20 is, for example, a computer such as a laptop computer or a desktop computer.
[0056] 2 is a diagram showing the configuration of the first terminal 20. Since the hardware configurations of the first terminal 20 and the information processing device 10 are similar, the same reference numerals are used and the description thereof will be omitted.
[0057] 5 is a block diagram showing the functional configuration of the first terminal 20. As shown in FIG.
[0058] The communication unit 210 performs processing for the first terminal 20 to communicate with an external device.
[0059] The storage unit 220 stores data and programs used by the first terminal 20.
[0060] The control unit 230 performs the functions of a reception control unit 231, a transmission control unit 232, an acquisition unit 233, a signature unit 234, and a display unit 235 by the processor 11 of the first terminal 20 performing processing according to a program.
[0061] The reception control unit 231 controls the process in which the first terminal 20 receives a signal from an external device in accordance with a communication protocol.
[0062] The transmission control unit 232 controls the process in which the first terminal 20 transmits a signal to an external device in accordance with a communication protocol.
[0063] The acquisition unit 233 acquires a hash value of a document from the management server. Specifically, the acquisition unit 233 requests the hash value of the document from the information processing device 10 when, for example, a user who operates the first terminal 20 and requests the assignment of an electronic signature operates a screen for executing the assignment of an electronic signature. In response to the request, the reception control unit 131 receives the hash value of the document from the information processing device 10, and the acquisition unit 233 acquires the hash value.
[0064] The signature unit 234 transmits a digital signature for a document to the information processing device 10, thereby causing the information processing device 10 to assign a digital signature to the document. Specifically, the signature unit 234 first transmits a digital signature assignment request to the information processing device 10, thereby causing the information processing device 10 to transmit a hash value of the document. The signature unit 234 then transmits the acquired hash value of the document to the tamper-resistant device 30. Next, the signature unit 234 receives from the tamper-resistant device 30 an encrypted hash value encrypted using a private key used for the user's digital signature, a public key corresponding to the private key, and a public key certificate for the public key. The signature unit 234 then transmits the encrypted hash value, the public key corresponding to the private key, and the public key certificate for the public key to the information processing device 10, thereby assigning the encrypted hash value to the document as the user's digital signature.
[0065] The display unit 235 presents a screen that displays information about the document to the user. Specifically, the display unit 235 displays screens such as a document confirmation screen, a completion screen, and a verification result display screen to the user.
[0066] The document confirmation screen is a screen that displays documents to the user so that the user can view the documents. FIGS. 6 and 7 are diagrams showing examples of the document confirmation screen. Screens 300 and 310 are document confirmation screens. Screen 300 is a screen for managing unsigned documents for a certain user. Unsigned documents are documents with a counterparty and are registered by being sent by the user to the information processing device 10. When a contract is concluded with the counterparty's consent, etc., the document is displayed on screen 310. Screen 300 includes a view button 301.
[0067] The view button 301 is a button for viewing the document. When the view button 301 is pressed, the display unit 235 transmits a request to view the document to the information processing device 10. The display unit 235 receives document data from the information processing device 10 and transitions to screen 320 or screen 321, which displays the document data, as shown in FIG. 7. If the document is not digitally signed, the display unit 235 transitions to screen 320, and if the document is digitally signed, the display unit 235 transitions to screen 321. The contents of the document are displayed on screens 320 and 321. Here, the document cannot be downloaded on screens 320 and 321. Screen 320 includes a signature button 312. Screen 321 includes a verification button 313. The signature button 312 and verification button 313 will be described later.
[0068] Screen 310 is a screen for managing concluded documents for a certain user. The concluded documents include not only contract documents but also documents intended as an expression of intent or notification by one or more people. Screen 310 includes a view button 301, a signature button 312, a verify button 313, etc.
[0069] Signature button 312 is a button for attaching an electronic signature to a document. Signature button 312 is displayed on screen 310 in the field for a document that has not yet been electronically signed. When signature button 312 is pressed, an electronic signature start command is sent to acquisition unit 233, and processing for attaching an electronic signature is executed by acquisition unit 233 and signature unit 234. When an electronic signature has been attached, display unit 235 transitions to screen 330 of FIG. 8.
[0070] The verification button 313 is a button for verifying the digital signature affixed to the document. The verification button 313 is displayed on the screen 310 in the item of the document to which the digital signature has been affixed. When the verification button 313 is pressed, the display unit 235 transmits a verification request to the information processing device 10. When the verification request is transmitted, the information processing device 10 executes verification of the digital signature. When verification is executed, the display unit 235 transitions to a screen 340 of FIG. 8.
[0071] The completion screen is a screen that displays that the electronic signature or verification has been completed. 8 is a diagram showing an example of a completion screen. Screen 330 is an example of an electronic signature completion screen, and screen 340 is an example of a verification completion screen. Specifically, the display unit 235 displays a dialog indicating that the electronic signature or verification has been completed on screens 330 and 340. Screen 330 includes dialog 331. When the OK button on dialog 331 is pressed, the display unit 235 transitions to screen 310. For example, when an electronic signature is added to contract001.file on screen 310, the result of adding the electronic signature is reflected, such as the electronic signature being displayed as "Electronic Signature Completed" and the button changing to verification button 313.
[0072] Furthermore, screen 340 includes a dialog 341. When the OK button on dialog 341 is pressed, display unit 235 transitions to screen 342 shown in FIG. 9. FIG. 9 is a diagram showing an example of a verification result display screen. Screen 342 is a screen for presenting the verification results to the user who requests the verification. Screen 342 displays the results of verifications (1) to (3) for the parties to the document. Furthermore, screen 342 displays a details button 343 associated with each verification item. When details button 343 is pressed, display unit 235 displays the details of the verification to the user.
[0073] Furthermore, if an alert is set, the display unit 235 displays the alert on the verification result display screen. Fig. 10 is a diagram showing an example of the verification result display screen. As shown in Fig. 10, the display unit 235 displays an alert to the user requesting verification by, for example, displaying alert 344 on screen 342. If the user requesting verification is the one who signed the digital signature, this becomes an opportunity to update the public key and digital signature.
[0074] <2. Operation> The processing in the information processing system 1 will be described below with reference to the drawings.
[0075] <2.1. Electronic Signature Processing> 11 is a flowchart showing an example of the flow of digital signature processing by the information processing device 10. The information processing device 10 executes this processing when it receives a digital signature attachment request from the first terminal 20.
[0076] In step S101, the reception control unit 131 receives a request for attaching a digital signature from the first terminal 20.
[0077] In step S102, the calculation unit 133 calculates a hash value of the document.
[0078] In step S103, the transmission control unit 132 transmits the hash value to the first terminal 20.
[0079] In step S104, the reception control unit 131 receives the encrypted hash value, the public key, and the public key certificate from the first terminal 20.
[0080] In step S105, the signature unit 134 verifies the validity of the encrypted hash value based on the hash value of the document, the encrypted hash value, and the public key corresponding to the private key.
[0081] In step S106, the signature unit 134 determines whether the validity of the encrypted hash value is recognized.
[0082] If the validity of the encrypted hash value is confirmed (Y in step S106 above), in step S107, the signature unit 134 assigns the encrypted hash value to the document as the user's digital signature.
[0083] On the other hand, if the validity of the encrypted hash value is not recognized (N in step S106 above), the signature unit 134 does not attach a digital signature to the document, and the process proceeds to step S108.
[0084] In step S108, the transmission control unit 132 transmits the result of the digital signature assignment to the first terminal 20, and the process ends. <2.2. Electronic Signature Processing> 12 is a flowchart showing an example of the flow of digital signature processing by the first terminal 20. The first terminal 20 executes this processing when the signature button 312 is pressed, for example.
[0085] In step S111, the transmission control unit 232 transmits a request to the information processing device 10 to attach a digital signature.
[0086] In step S112, the reception control unit 231 receives the hash value of the document from the information processing device 10.
[0087] In step S113, the signature unit 234 performs authentication for communicating with the tamper resistant device 30.
[0088] In step S114, the signature unit 234 transmits the hash value of the document to the tamper-resistant device 30.
[0089] In step S115, the signature unit 234 receives the encrypted hash value, the public key, and the public key certificate from the tamper-resistant device 30.
[0090] In step S116, the transmission control unit 232 transmits the encrypted hash value, the public key, and the public key certificate to the information processing device 10.
[0091] In step S117, the reception control unit 131 receives the digital signature assignment result from the information processing device 10, and ends the process. <2.3. Verification process> 13 is a flowchart showing an example of the flow of verification processing performed by the information processing device 10. The information processing device 10 executes this processing when, for example, a verification request is received from a terminal operated by a user requesting verification.
[0092] In step S121, the reception control unit 131 receives a verification request from a terminal operated by a user requesting verification.
[0093] In step S122, the verification unit 136 verifies the validity of the digital signature by comparing a hash value of the document calculated in advance with a hash value obtained by decrypting the encrypted hash value using the public key.
[0094] In step S123, the verification unit 136 verifies that the public key of the user who digitally signed the document has been issued by a legitimate certificate authority.
[0095] In step S124, the verification unit 136 verifies the validity of the public key.
[0096] In step S125, the verification unit 136 determines whether the remaining time until the expiration date of the public key certificate is equal to or less than a predetermined threshold.
[0097] If the value is equal to or less than the predetermined threshold (Y in step S125 above), then in step S126 the verification unit 136 sets an alert indicating that the validity period of the public key is approaching.
[0098] On the other hand, if it is not equal to or less than the predetermined threshold (N in the above step S125), the verification unit 136 proceeds to step S127.
[0099] In step S127, the transmission control unit 132 transmits the verification result to the terminal operated by the user who requested the verification, and ends the process.
[0100] <3.Summary> As described above, according to the present disclosure, there is provided a program for operating a computer that has a processor and that performs at least one of creating and managing documents intended to express or notify a user's intentions, the program causing the processor to execute the following steps: calculating a hash value of the document; transmitting the hash value of the document to a first terminal operated by the user; receiving, from the first terminal, an encrypted hash value obtained by encrypting the hash value of the document with a private key used for the user's electronic signature, by the management server; and assigning, to the document, the encrypted hash value as the user's electronic signature, in response to receiving a request for the document from the requesting terminal, allowing the requesting terminal to view the document to which the electronic signature has been assigned, but not allowing the document to be saved. This allows a user to assign an electronic signature directly to a document to be electronically signed that is stored on a server.
[0101] Furthermore, according to the present disclosure, there is provided a program for operating a computer that has a processor and that performs at least one of creating and managing documents intended to express or notify a user's intention, the program causing the processor to execute the following steps: obtaining an encrypted hash value obtained by encrypting a hash value of the document to be verified using the private key of the user who applied the electronic signature, and a public key corresponding to the private key; verifying whether the encrypted hash value is valid as the user's electronic signature for the document, based on the hash value of the document calculated in advance, the encrypted hash value, and the public key; and presenting the verification result to the user who requests the verification by transmitting the verification result to a terminal operated by the user who requests the verification, thereby enabling a user to easily verify an electronic signature affixed to a document.
[0102] <Other variations> Although the embodiments of the disclosure have been described above, they can be implemented in various other forms and can be implemented with various omissions, substitutions, and modifications. These embodiments and modifications, as well as those with omissions, substitutions, and modifications, are included in the technical scope of the claims and their equivalents.
[0103] For example, the functions of the information processing device 10 may be configured in another device. For example, the storage unit 120 may be configured as an external database.
[0104] In the above embodiment, the IC chip is mounted on a card-type device, but the present invention is not limited to this. For example, the IC chip may be built into a terminal such as a smartphone or a personal computer.
[0105] Furthermore, the information processing device 10 may be configured to send an alert to the user for whom the alert has been set by email, SMS, or the like.
[0106] Furthermore, the verification process may be configured to return the verification results to a terminal operated by a user who does not have the authority to view the document but has the authority to execute the verification process. For example, in an in-camera trial, only the judge has the authority to view the document. In this case, even if a party, attorney, or intervenor requests to view the document, they may not be granted permission. However, the verification process may be granted to the party, attorney, or intervenor, allowing them to view the verification results. Although a document is confidential to anyone other than the document owner and the judge, the party, attorney, or intervenor can still proceed with evidence collection and brief preparation even if they can only view the verification results of the electronic signature on the document. For example, when a party's attorney determines the legitimacy of an electronic document, they can verify the validity of the electronic signature even if they cannot view the entire document and the electronic signature information, thereby eliminating the need to dispute the validity of the electronic signature. With this configuration, this variant eliminates wasteful judicial defenses, ensures swift litigation, and reduces litigation costs.
[0107] <Additional Notes> The matters described in the above embodiments will be supplemented below. (Supplementary Note 1) A program for operating a computer (e.g., information processing device 10) that has a processor (11) and that performs at least one of creating and managing documents intended to express or notify a user's intention, the program causing the processor to execute the steps of: obtaining an encrypted hash value obtained by encrypting a hash value of the document to be verified using the private key of a user who applied an electronic signature, and a public key corresponding to the private key (S121); verifying whether the encrypted hash value is valid as the user's electronic signature for the document, based on the hash value of the document calculated in advance, the encrypted hash value, and the public key (S122); and presenting the verification result to the user who requested the verification by transmitting the verification result to a terminal operated by the user who requested the verification (S127).
[0108] (Appendix 2) The verifying step includes a step (S122) of verifying the legitimacy of the electronic signature by comparing the pre-calculated hash value of the document with a hash value obtained by decrypting the encrypted hash value using the public key, a step (S124) of verifying the validity of the public key, and a step (S123) of verifying that the public key is issued by a legitimate certification authority, and in the presenting step, the results of the verification performed by the steps of verifying the legitimacy of the electronic signature, verifying the validity, and verifying that the public key is issued by a legitimate certification authority are sent to a terminal operated by a user requesting the verification, thereby presenting the results of the verification to the user (Appendix 1).
[0109] (Appendix 3) A program described in (Appendix 1) or (Appendix 2) that executes a step (S121) of receiving a verification request sent from a terminal operated by a user requesting the verification when the terminal operated by the user requesting the verification operates a screen for performing the verification displayed on the terminal operated by the user requesting the verification, and the verifying step verifies the validity of the electronic signature in response to receiving the verification request.
[0110] (Appendix 4) A program described in any of (Appendix 1) to (Appendix 3), which executes a step (S126) of setting an alert to the user indicating that the expiration date of the public key is approaching if the remaining time until the expiration date of the public key is less than a predetermined threshold, and in the presenting step, presents the alert together with the verification result to the user requesting the verification.
[0111] (Supplementary Note 5) An information processing device (10) having a processor (11) and performing at least one of creating and managing documents intended to express or notify a user's intention, the information processing device executing the steps of: obtaining an encrypted hash value obtained by encrypting a hash value of the document to be verified using a private key of a user who has digitally signed the document, and a public key corresponding to the private key (S121); verifying whether the encrypted hash value is valid as the user's digital signature for the document based on a hash value of the document calculated in advance, the encrypted hash value, and the public key (S122); and presenting the verification result to the user who requests the verification by transmitting the verification result to a terminal operated by the user who requests the verification (S127).
[0112] (Appendix 6) A method in which a computer (e.g., an information processing device 10) having a processor (11) and performing at least one of creating and managing documents intended to express or notify a user's intentions executes the following steps: (S121) obtaining an encrypted hash value obtained by encrypting a hash value of the document to be verified using the private key of the user who applied the electronic signature, and a public key corresponding to the private key; (S122) verifying whether the encrypted hash value is valid as the user's electronic signature for the document, based on the hash value of the document calculated in advance, the encrypted hash value, and the public key; and (S127) presenting the verification result to the user who requests the verification by transmitting the verification result to a terminal operated by the user who requests the verification.
[0113] (Appendix 7) A system (1) including a server (10) that creates and / or manages documents intended to express or notify a user's intentions, and a terminal operated by a user requesting verification, and executes the following steps: a step (S121) in which the server obtains an encrypted hash value obtained by encrypting a hash value of the document to be verified using the private key of the user who signed the electronic signature, and a public key corresponding to the private key; a step (S122) in which the server verifies whether the encrypted hash value is valid as the user's electronic signature for the document, based on the hash value of the document calculated in advance, the encrypted hash value, and the public key; and a step (S127) in which the server presents the verification result to the user requesting verification by transmitting the verification result to the terminal operated by the user requesting verification. [Explanation of symbols]
[0114] 1 Information processing system, 10 Information processing device, 11 Processor, 12 Memory, 13 Storage, 14 Communication IF, 15 Input / output IF, 20 First terminal, 30 Anti-tamper device, 40 Second terminal, 60 Network, 110 Communication unit, 120 Memory unit, 121 Document DB, 130 Control unit, 131 Reception control unit, 132 Transmission control unit, 133 Calculation unit, 134 Signature unit, 135 Viewing unit, 136 Verification unit, 137 Presentation unit, 210 Communication unit, 220 Memory unit, 230 Control unit, 231 Reception control unit, 232 Transmission control unit, 233 Acquisition unit, 234 Signature unit, 235 Display unit, 300 Screen, 301 View button, 310 Screen, 312 Signature button, 313 Verification button, 320 Screen, 321 Screen, 330 screen, 331 dialog, 340 screen, 341 dialog, 342 screen, 343 details button, 344 alert.
Claims
1. A program for operating a computer that includes a processor and that performs at least one of creating and managing documents intended to express or notify a user's intention, the program being a step of obtaining a signed hash value obtained by signing a hash value of the document to be verified with a private key of a user who digitally signed the document, and a public key corresponding to the private key; receiving, from a terminal operated by a user requesting verification, a verification request transmitted by the terminal operated by the user requesting verification in response to an operation on a screen for executing verification displayed on the terminal operated by the user requesting verification; a step of verifying whether the signed hash value is valid as the user's digital signature for the document based on a hash value of the document calculated in advance, the signed hash value, and the public key; presenting the verification result to the user requesting the verification by transmitting the verification result to a terminal operated by the user requesting the verification; Execute the processor applies a digital signature of a user of a first terminal to the document; a public key certificate of a public key corresponding to the private key of the user of the first terminal is stored in a first terminal operated by the user; the computer does not store in advance in a storage unit of the computer a public key certificate of a public key corresponding to the private key of the user of the first terminal prior to attaching an electronic signature to the document; When adding an electronic signature of a user of a first terminal to the document, the document is transmitted to the first terminal, a signed hash value obtained by signing the document with the private key, the public key, and a public key certificate of the public key are received from the first terminal, and the signed hash value is added to the document as an electronic signature using the received signed hash value, the public key, and the public key certificate of the public key; the first terminal includes an IC chip that is a tamper-resistant device; the signed hash value is signed by the first terminal using the IC chip that stores the private key, the public key, and the public key certificate in advance and transmits the result of signing received data using the private key; the first terminal transmits the signed hash value, the public key of the IC chip, and the public key certificate to the computer, whereby the computer receives the signed hash value, the public key, and the public key certificate of the public key from the first terminal; The verifying step verifies the validity of the electronic signature in response to receiving the verification request.
2. The verifying step includes: verifying the authenticity of the electronic signature by comparing the pre-calculated hash value of the document with a hash value obtained by decrypting the signed hash value using the public key; verifying the validity of the public key; verifying that the public key was issued by a legitimate certificate authority; Including, In the presenting step, the results of the verification performed by the step of verifying the legitimacy of the electronic signature, the step of verifying the validity, and the step of verifying that the electronic signature has been issued by the legitimate certificate authority are transmitted to a terminal operated by a user requesting the verification, thereby presenting the results of the verification to the user. The program according to claim 1.
3. if the time remaining until the expiration of the public key is equal to or less than a predetermined threshold, setting an alert to the user indicating that the public key is about to expire; Execute In the step of presenting, the alert is presented together with the verified result to the user who requests the verification.
3. The program according to claim 1 or 2.
4. An information processing device that includes a processor and that performs at least one of creating and managing documents intended to express or notify a user's intention, the processor comprising: a step of obtaining a signed hash value obtained by signing a hash value of the document to be verified with a private key of a user who digitally signed the document, and a public key corresponding to the private key; receiving, from a terminal operated by a user requesting verification, a verification request transmitted by the terminal operated by the user requesting verification in response to an operation on a screen for executing verification displayed on the terminal operated by the user requesting verification; a step of verifying whether the signed hash value is valid as the user's digital signature for the document based on a hash value of the document calculated in advance, the signed hash value, and the public key; presenting the verification result to the user requesting the verification by transmitting the verification result to a terminal operated by the user requesting the verification; Run the processor applies a digital signature of a user of a first terminal to the document; a public key certificate of a public key corresponding to the private key of the user of the first terminal is stored in a first terminal operated by the user; the information processing device does not store in advance in a storage unit of the information processing device a public key certificate of a public key corresponding to the private key of the user of the first terminal prior to attaching an electronic signature to the document; When adding an electronic signature of a user of a first terminal to the document, the document is transmitted to the first terminal, a signed hash value obtained by signing the document with the private key, the public key, and a public key certificate of the public key are received from the first terminal, and the signed hash value is added to the document as an electronic signature using the received signed hash value, the public key, and the public key certificate of the public key; the first terminal includes an IC chip that is a tamper-resistant device; the signed hash value is signed by the first terminal using the IC chip that stores the private key, the public key, and the public key certificate in advance and transmits the result of signing received data using the private key; the first terminal transmits the signed hash value, the public key of the IC chip, and the public key certificate to the information processing device, whereby the information processing device receives the signed hash value, the public key, and the public key certificate of the public key from the first terminal; The information processing device, in the verifying step, verifies the validity of the electronic signature in response to receiving the verification request.
5. A computer having a processor and performing at least one of creating and managing documents for the purpose of expressing or notifying a user's intention, a step of obtaining a signed hash value obtained by signing a hash value of the document to be verified with a private key of a user who digitally signed the document, and a public key corresponding to the private key; receiving, from a terminal operated by a user requesting verification, a verification request transmitted by the terminal operated by the user requesting verification in response to an operation on a screen for executing verification displayed on the terminal operated by the user requesting verification; a step of verifying whether the signed hash value is valid as the user's digital signature for the document based on a hash value of the document calculated in advance, the signed hash value, and the public key; presenting the verification result to the user requesting the verification by transmitting the verification result to a terminal operated by the user requesting the verification; Run the processor applies a digital signature of a user of a first terminal to the document; a public key certificate of a public key corresponding to the private key of the user of the first terminal is stored in a first terminal operated by the user; the computer does not store in advance in a storage unit of the computer a public key certificate of a public key corresponding to the private key of the user of the first terminal prior to attaching an electronic signature to the document; When adding an electronic signature of a user of a first terminal to the document, the document is transmitted to the first terminal, a signed hash value obtained by signing the document with the private key, the public key, and a public key certificate of the public key are received from the first terminal, and the signed hash value is added to the document as an electronic signature using the received signed hash value, the public key, and the public key certificate of the public key; the first terminal includes an IC chip that is a tamper-resistant device; the signed hash value is signed by the first terminal using the IC chip that stores the private key, the public key, and the public key certificate in advance and transmits the result of signing received data using the private key; the first terminal transmits the signed hash value, the public key of the IC chip, and the public key certificate to the computer, whereby the computer receives the signed hash value, the public key, and the public key certificate of the public key from the first terminal; The method, wherein the verifying step verifies the validity of the electronic signature in response to receiving the verification request.
6. The system includes a server that creates and / or manages documents for the purpose of expressing or notifying a user's intention, and a terminal operated by a user who requests verification, wherein a processor of the server: a step of obtaining a signed hash value obtained by signing a hash value of the document to be verified with a private key of a user who digitally signed the document, and a public key corresponding to the private key; receiving, from a terminal operated by a user requesting verification, a verification request transmitted by the terminal operated by the user requesting verification in response to an operation on a screen for executing verification displayed on the terminal operated by the user requesting verification; a step of verifying whether the signed hash value is valid as the user's digital signature for the document based on a hash value of the document calculated in advance, the signed hash value, and the public key; presenting the verification result to the user requesting the verification by transmitting the verification result to a terminal operated by the user requesting the verification; Run the processor applies a digital signature of a user of a first terminal to the document; a public key certificate of a public key corresponding to the private key of the user of the first terminal is stored in a first terminal operated by the user; the server does not store in advance in a storage unit of the server a public key certificate of a public key corresponding to the private key of the user of the first terminal prior to attaching an electronic signature to the document; When adding an electronic signature of a user of a first terminal to the document, the document is transmitted to the first terminal, a signed hash value obtained by signing the document with the private key, the public key, and a public key certificate of the public key are received from the first terminal, and the signed hash value is added to the document as an electronic signature using the received signed hash value, the public key, and the public key certificate of the public key; the first terminal includes an IC chip that is a tamper-resistant device; the signed hash value is signed by the first terminal using the IC chip that stores the private key, the public key, and the public key certificate in advance and transmits the result of signing received data using the private key; the first terminal transmits the signed hash value, the public key of the IC chip, and the public key certificate to the server, whereby the server receives the signed hash value, the public key, and the public key certificate of the public key from the first terminal; The verifying step verifies the validity of the electronic signature in response to receiving the verification request.
Citation Information
Patent Citations
Electronic sealing system
JP2002139997A
Digital authentication management method, digital authentication issue server, digital authentication transmission client, and digital authentication management program and recording medium therefor
JP2003273855A
Authentication system, electronic signature preparation apparatus, and electronic signature verification apparatus
JP2004064151A
Program, computer, and data processing method
JP2005328198A
Electronic mail communication device
JP2006221252A