Program, information processing device, and method
The program allows secure and efficient digital signing of server-stored documents by encrypting hash values with private keys, addressing traffic and alteration issues in conventional methods.
Patent Information
- Application Number
- JP2023209699
- 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 technologies require users to download documents from the cloud to their devices, leading to increased communication traffic, potential document alteration, and the risk of signing the wrong document, especially for documents in formats like PDF.
A program that allows users to apply a digital signature directly to documents stored on a server by calculating a hash value, encrypting it with a private key, and assigning it as an electronic signature, while only allowing viewing and not saving the document.
Enables secure and efficient digital signing of server-stored documents, reducing communication traffic and minimizing document alteration risks, with verification capabilities for electronic signatures.
Smart Images

Figure 0007780499000001 
Figure 0007780499000002 
Figure 0007780499000003
Abstract
Description
[Technical Field]
[0001] The present disclosure relates to a program, an information processing device, and a method. [Background technology]
[0002] There has been a technology for adding a digital signature to a contract in an electronic contract for some time. Patent Document 1 describes that "the user sets authentication information that the user himself / herself has arrived at for his / her own signature key stored in the tamper-resistant device (5) via the terminal device (2). When signing an electronic document, the user sends his / her own authentication information to the tamper-resistant device (5) via the terminal device (2) to request permission to use the signature key. The tamper-resistant device (5) verifies the entered authentication information, and permits the signature and performs the electronic signature only if the entered authentication information is correct." [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent Publication No. 2021-90114 Summary of the Invention [Problem to be solved by the invention]
[0004] However, conventional technologies require users to digitally sign documents such as contracts on their own devices, meaning that even documents stored on the cloud must be downloaded to the user's device. Problems arise when documents subject to digital signatures are moved, copied, or otherwise altered. For example, the identity of a document before and after digital signature cannot be guaranteed, necessitating verification of the identity. Even documents in Portable Document Format (PDF) can be edited using specific software. For this reason, downloading contracts and other documents may not be permitted.
[0005] Furthermore, for example, when a document to be electronically signed is downloaded from the cloud to a user's device, the amount of communication traffic increases depending on the amount of data in the document. Furthermore, the user must download the document once, which is inconvenient for the user. Furthermore, if there are multiple documents downloaded, the user may mistakenly sign the wrong document.
[0006] Therefore, the present disclosure provides a technique that allows a user to directly apply a digital signature to a document that is stored in a server and is to be digitally signed. [Means for solving the problem]
[0007] The program according to the present disclosure is a program for operating a computer having a processor 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; sending 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; assigning the encrypted hash value to the document as the user's electronic signature; and, in response to receiving a request for the document from a requesting terminal, allowing the requesting terminal to view the document with the assigned electronic signature but not allowing the document to be saved. [Effects of the Invention]
[0008] According to the present disclosure, a user can directly apply a digital signature to a document that is stored in a server and is to be digitally signed. [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 manages documents intended to express or notify a user's intention. The present disclosure also describes a program, etc. that verifies an electronic signature added to a document in an information processing system that creates and manages documents intended to express or notify a user's intention.
[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 at least 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: calculating a hash value of the document (S102); transmitting the hash value of the document to a first terminal operated by a user (S103); 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 (S104); and assigning the encrypted hash value to the document as the user's electronic signature (S107); and in response to receiving a request for the document from a 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.
[0108] (Appendix 2) In the step of not allowing, in response to receiving a request for the document from the requesting terminal, the program allows the requesting terminal to temporarily store the document in its memory if an application for viewing the document to which an electronic signature has been attached is running, but does not allow the document to be stored in its memory if the application is not running (Appendix 1).
[0109] (Appendix 3) The program described in (Appendix 1) or (Appendix 2), wherein the encrypted hash value is encrypted using an IC chip in which the first terminal pre-stores the private key and transmits the result of encrypting received data using the private key.
[0110] (Appendix 4) The program according to (Appendix 3), wherein the IC chip is built into a contactless card or the first terminal.
[0111] (Appendix 5) The program described in any of (Appendix 1) to (Appendix 4), further comprising: a step (S105) of verifying the legitimacy of the encrypted hash value based on the hash value of the document, the encrypted hash value, and a public key corresponding to the private key; in the receiving step, receiving the encrypted hash value and the public key from the first terminal; and in the assigning step, if the legitimacy of the encrypted hash value is recognized by the verifying step, assigning the encrypted hash value to the document as the user's electronic signature.
[0112] (Appendix 6) An information processing device (10) having a processor (11) and performing at least one of creating and managing a document intended to express or notify a user's intention, the information processing device executes the steps of: calculating a hash value of the document (S102); transmitting the hash value of the document to a first terminal operated by the user (S103); receiving an encrypted hash value from the first terminal obtained by encrypting the hash value of the document with a private key used for the user's electronic signature (S104); assigning the encrypted hash value to the document as the user's electronic signature (S107); and, in response to receiving a request for the document from a 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.
[0113] (Appendix 7) A method in which a computer (e.g., 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: calculating a hash value of the document (S102); transmitting the hash value of the document to a first terminal operated by a user (S103); 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 (S104); assigning the encrypted hash value to the document as the user's electronic signature (S107); and, in response to receiving a request for the document from a 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.
[0114] (Appendix 8) A system including a first terminal (20) operated by a user and a server (10) that creates and / or manages a document intended to express or notify the user's intention, the system comprising: a step (S102) in which the server calculates a hash value of the document; a step (S103) in which the server transmits the hash value of the document to the first terminal; a step (S112) in which the first terminal acquires the hash value of the document from the server; a step (S114) in which the first terminal transmits the hash value of the document to an IC chip that stores in advance a private key used for the user's electronic signature and transmits the result of encrypting received data using the private key; and A system (1) that executes the steps of: receiving from the IC chip an encrypted hash value obtained by encrypting the hash value of the document using the private key (S115); the first terminal transmitting the encrypted hash value to the server (S116); the server receiving the encrypted hash value from the first terminal (S104); the server assigning the encrypted hash value to the document as the user's electronic signature (S107); and, in response to receiving a request for the document from the requesting terminal, the server allowing the requesting terminal to view the document to which the electronic signature has been assigned, but not allowing the document to be saved. [Explanation of symbols]
[0115] 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 having a processor and performing at least one of creating and managing documents intended to express or notify a user's intention, the program including: computing a hash value of the document; transmitting a hash value of the document to a first terminal operated by a user; receiving, from the first terminal, a signed hash value obtained by signing the hash value of the document with the private key used for the user's digital signature; applying the signed hash value to the document as the user's digital signature; In response to receiving a request for the document from a requesting terminal, permitting the requesting terminal to view the document to which the digital signature has been applied, but not permitting the requesting terminal to store the document; Execute In the step of not permitting, in response to receiving a request for the document from a requesting terminal, confirming whether the requesting terminal has the right to view the requested document without having to receive from the requesting terminal an electronic signature generated by signing the hash value of the document with the private key of the requesting terminal, and at this time, checking whether the request has been made via a specific application or whether a specific application is running on the requesting terminal, and determining that the requesting terminal has the right to view the document if the request has been made via a specific application or if a specific application is running on the requesting terminal; A program that, when the requesting terminal has the viewing authority, allows the requesting terminal to view the document to which the electronic signature has been added using the specific application, but does not allow the requesting terminal to save the document.
2. a public key certificate of a public key corresponding to the private key of a user of the first terminal is stored in the first terminal; 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; receiving the signed hash value, the public key, and a public key certificate for the public key from the first terminal; In the step of adding, the signed hash value is added to the document as a digital signature using the received signed hash value, the public key, and a public key certificate of the public key. The program according to claim 1.
3. 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, and in the receiving step, the signed hash value, the public key, and the public key certificate of the public key are received from the first terminal; The program according to claim 2.
4. The IC chip is built into a contactless card or the first terminal. The program according to claim 3.
5. verifying the authenticity of the signed hash value based on the hash value of the document, the signed hash value, and a public key corresponding to the private key; Further execute In the receiving step, the signed hash value and the public key are received from the first terminal; In the attaching step, if the legitimacy of the signed hash value is recognized in the verifying step, the signed hash value is attached to the document as the user's digital signature. The program according to claim 1.
6. 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: computing a hash value of the document; transmitting a hash value of the document to a first terminal operated by a user; receiving, from the first terminal, a signed hash value obtained by signing the hash value of the document with the private key used for the user's digital signature; applying the signed hash value to the document as the user's digital signature; In response to receiving a request for the document from a requesting terminal, permitting the requesting terminal to view the document to which the digital signature has been applied, but not permitting the requesting terminal to store the document; Run In the step of not permitting, in response to receiving a request for the document from a requesting terminal, confirming whether the requesting terminal has the right to view the requested document without having to receive from the requesting terminal an electronic signature generated by signing the hash value of the document with the private key of the requesting terminal, and at this time, checking whether the request has been made via a specific application or whether a specific application is running on the requesting terminal, and determining that the requesting terminal has the right to view the document if the request has been made via a specific application or if a specific application is running on the requesting terminal; When the requesting terminal has the viewing authority, the information processing device allows the requesting terminal to view the document to which the electronic signature has been added using the specific application, but does not allow the requesting terminal to save the document.
7. The computer includes a processor, and the processor performs at least one of creating and managing documents for the purpose of expressing or notifying a user's intention, computing a hash value of the document; transmitting a hash value of the document to a first terminal operated by a user; receiving, from the first terminal, a signed hash value obtained by signing the hash value of the document with the private key used for the user's digital signature; applying the signed hash value to the document as the user's digital signature; In response to receiving a request for the document from a requesting terminal, permitting the requesting terminal to view the document to which the digital signature has been applied, but not permitting the requesting terminal to store the document; Run In the step of not permitting, in response to receiving a request for the document from a requesting terminal, confirming whether the requesting terminal has the right to view the requested document without having to receive from the requesting terminal an electronic signature generated by signing the hash value of the document with the private key of the requesting terminal, and at this time, checking whether the request has been made via a specific application or whether a specific application is running on the requesting terminal, and determining that the requesting terminal has the right to view the document if the request has been made via a specific application or if a specific application is running on the requesting terminal; When the requesting terminal has the viewing authority, the method allows the requesting terminal to view the document to which the electronic signature has been affixed in the specific application, but does not allow the requesting terminal to save the document.
8. a first terminal operated by a user, and a management server that performs at least one of creating and managing documents intended to express or notify the user's intention; a processor of the management server calculating a hash value of the document; a processor of the management server transmitting a hash value of the document to the first terminal; The first terminal acquires a hash value of the document from the management server; a step in which the first terminal transmits a hash value of the document to an IC chip that stores in advance a private key used for the user's electronic signature and transmits the result of signing received data using the private key; a step of receiving, from the IC chip, a signed hash value obtained by signing the hash value of the document with the private key by the first terminal; the first terminal transmitting the signed hash value to the management server; a processor of the management server receiving the signed hash value from the first terminal; a processor of the management server attaching the signed hash value to the document as the user's digital signature; a processor of the management server, in response to receiving a request for the document from a requesting terminal, permitting the requesting terminal to view the document to which the digital signature has been affixed, but not permitting the requesting terminal to save the document; Run In the step of not permitting, in response to receiving a request for the document from a requesting terminal, confirming whether the requesting terminal has the right to view the requested document without having to receive from the requesting terminal an electronic signature generated by signing the hash value of the document with the private key of the requesting terminal, and at this time, checking whether the request has been made via a specific application or whether a specific application is running on the requesting terminal, and determining that the requesting terminal has the right to view the document if the request has been made via a specific application or if a specific application is running on the requesting terminal; If the requesting terminal has the viewing authority, the system allows the requesting terminal to view the document to which the electronic signature has been affixed in the specific application, but does not allow the document to be saved.
Citation Information
Patent Citations
Electronic sealing system
JP2002139997A
Electronic document circulation system, program, and storage medium
JP2005173656A
Program, computer, and data processing method
JP2005328198A
System and method for restricting user access to network document
JP2006164268A
Method and system for verifying documents
JP2007523396A